]>
Commit | Line | Data |
---|---|---|
c5a65990 HH |
1 | %define dracutlibdir %{_prefix}/lib/dracut |
2 | ||
dc5bb506 | 3 | # Variables must be defined |
3592d868 | 4 | %define with_nbd 1 |
641eae0f | 5 | |
dc5bb506 WT |
6 | # nbd in Fedora only |
7 | %if 0%{?rhel} >= 6 | |
8 | %define with_nbd 0 | |
0aaa523c HH |
9 | %endif |
10 | ||
0aaa523c | 11 | Name: dracut |
0e6a94b3 HH |
12 | Version: xxx |
13 | Release: xxx | |
228694e5 | 14 | |
38672ee8 | 15 | Summary: Initramfs generator using udev |
b019d405 | 16 | %if 0%{?fedora} || 0%{?rhel} |
3b403b32 | 17 | Group: System Environment/Base |
228694e5 | 18 | %endif |
5ce6642f | 19 | %if 0%{?suse_version} |
228694e5 HH |
20 | Group: System/Base |
21 | %endif | |
f4031e8a HH |
22 | |
23 | # The entire source code is GPLv2+ | |
24 | # except install/* which is LGPLv2.1+ | |
25 | License: GPLv2+ and LGPLv2.1+ | |
26 | ||
82794b4b | 27 | URL: https://dracut.wiki.kernel.org/ |
f4031e8a | 28 | |
3b403b32 | 29 | # Source can be generated by |
0e6a94b3 HH |
30 | # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz |
31 | Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.bz2 | |
82794b4b | 32 | |
85cda6ae | 33 | BuildRequires: dash bash git |
4cfd24d1 | 34 | |
b019d405 | 35 | %if 0%{?fedora} || 0%{?rhel} |
38672ee8 | 36 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) |
228694e5 | 37 | %endif |
5ce6642f | 38 | %if 0%{?suse_version} |
228694e5 HH |
39 | BuildRoot: %{_tmppath}/%{name}-%{version}-build |
40 | %endif | |
d9416c0d | 41 | |
b019d405 | 42 | %if 0%{?fedora} || 0%{?rhel} |
d9416c0d HH |
43 | BuildRequires: docbook-style-xsl docbook-dtds libxslt |
44 | %endif | |
45 | ||
5ce6642f | 46 | %if 0%{?suse_version} |
4ce3a1b1 | 47 | -BuildRequires: docbook-xsl-stylesheets libxslt |
d9416c0d | 48 | %endif |
5c554bd2 | 49 | |
4ce3a1b1 HH |
50 | BuildRequires: asciidoc |
51 | ||
b019d405 | 52 | %if 0%{?fedora} > 12 || 0%{?rhel} |
0bc4ef1c HH |
53 | # no "provides", because dracut does not offer |
54 | # all functionality of the obsoleted packages | |
5c554bd2 HH |
55 | Obsoletes: mkinitrd <= 6.0.93 |
56 | Obsoletes: mkinitrd-devel <= 6.0.93 | |
57 | Obsoletes: nash <= 6.0.93 | |
0bc4ef1c | 58 | Obsoletes: libbdevid-python <= 6.0.93 |
1b3bdcc1 | 59 | %endif |
228694e5 | 60 | |
4cfd24d1 HH |
61 | %if 0%{?fedora} > 16 || 0%{?rhel} > 6 |
62 | BuildRequires: systemd-units | |
63 | %endif | |
64 | ||
228694e5 HH |
65 | %if 0%{?suse_version} > 9999 |
66 | Obsoletes: mkinitrd < 2.6.1 | |
67 | Provides: mkinitrd = 2.6.1 | |
68 | %endif | |
69 | ||
8ef5ade7 HH |
70 | Obsoletes: dracut-kernel < 005 |
71 | Provides: dracut-kernel = %{version}-%{release} | |
5c554bd2 | 72 | |
7e33fa5b | 73 | Requires: bash |
38672ee8 | 74 | Requires: coreutils |
7e33fa5b | 75 | Requires: cpio |
7e33fa5b | 76 | Requires: filesystem >= 2.1.0 |
38672ee8 JK |
77 | Requires: findutils |
78 | Requires: grep | |
7a5f1ee4 | 79 | Requires: hardlink |
50bc2253 | 80 | Requires: gzip xz |
7e33fa5b | 81 | Requires: module-init-tools >= 3.7-9 |
7e33fa5b | 82 | Requires: sed |
f6a58604 | 83 | Requires: file |
abbb76fe | 84 | Requires: udev > 166 |
b019d405 | 85 | %if 0%{?fedora} || 0%{?rhel} > 6 |
abbb76fe | 86 | Requires: util-linux >= 2.21 |
c008b0ce | 87 | Conflicts: systemd < 187 |
b019d405 | 88 | %else |
abbb76fe | 89 | Requires: util-linux-ng >= 2.21 |
b019d405 | 90 | %endif |
d9416c0d | 91 | |
82dfee99 | 92 | %if 0%{?fedora} || 0%{?rhel} > 6 |
828feae4 HH |
93 | Conflicts: initscripts < 8.63-1 |
94 | Conflicts: plymouth < 0.8.0-0.2009.29.09.19.1 | |
d9416c0d HH |
95 | %endif |
96 | ||
38672ee8 | 97 | %description |
3b403b32 HH |
98 | Dracut contains tools to create a bootable initramfs for 2.6 Linux kernels. |
99 | Unlike existing implementations, dracut does hard-code as little as possible | |
100 | into the initramfs. Dracut contains various modules which are driven by the | |
101 | event-based udev. Having root on MD, DM, LVM2, LUKS is supported as well as | |
c55b2080 | 102 | NFS, iSCSI, NBD, FCoE with the dracut-network package. |
38672ee8 | 103 | |
ec74fa87 | 104 | %package network |
8ec6bfcb | 105 | Summary: Dracut modules to build a dracut initramfs with network support |
78cd7629 | 106 | Requires: %{name} = %{version}-%{release} |
353ef760 HH |
107 | Obsoletes: dracut-generic < 008 |
108 | Provides: dracut-generic = %{version}-%{release} | |
ec74fa87 HH |
109 | |
110 | %description network | |
111 | This package requires everything which is needed to build a generic | |
112 | all purpose initramfs with network support with dracut. | |
113 | ||
7a1f355f | 114 | %if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version} |
4d1661d3 | 115 | %package fips |
c55b2080 | 116 | Summary: Dracut modules to build a dracut initramfs with an integrity check |
4d1661d3 HH |
117 | Requires: %{name} = %{version}-%{release} |
118 | Requires: hmaccalc | |
119 | %if 0%{?rhel} > 5 | |
120 | # For Alpha 3, we want nss instead of nss-softokn | |
121 | Requires: nss | |
122 | %else | |
123 | Requires: nss-softokn | |
124 | %endif | |
125 | Requires: nss-softokn-freebl | |
126 | ||
127 | %description fips | |
128 | This package requires everything which is needed to build an | |
129 | all purpose initramfs with dracut, which does an integrity check. | |
228694e5 | 130 | %endif |
33ee031c | 131 | |
2e1b9171 HH |
132 | %package fips-aesni |
133 | Summary: Dracut modules to build a dracut initramfs with an integrity check with aesni-intel | |
134 | Requires: %{name}-fips = %{version}-%{release} | |
135 | ||
136 | %description fips-aesni | |
137 | This package requires everything which is needed to build an | |
b019d405 | 138 | all purpose initramfs with dracut, which does an integrity check |
2e1b9171 HH |
139 | and adds the aesni-intel kernel module. |
140 | ||
52881470 HH |
141 | %package caps |
142 | Summary: Dracut modules to build a dracut initramfs which drops capabilities | |
143 | Requires: %{name} = %{version}-%{release} | |
144 | Requires: libcap | |
145 | ||
146 | %description caps | |
147 | This package requires everything which is needed to build an | |
148 | all purpose initramfs with dracut, which drops capabilities. | |
149 | ||
21007cb6 | 150 | %package tools |
8ec6bfcb | 151 | Summary: Dracut tools to build the local initramfs |
a0af4fa5 | 152 | Requires: %{name} = %{version}-%{release} |
21007cb6 HH |
153 | |
154 | %description tools | |
155 | This package contains tools to assemble the local initrd and host configuration. | |
156 | ||
38672ee8 | 157 | %prep |
0e6a94b3 | 158 | %setup -q -n %{name}-%{version} |
76bba2a1 HH |
159 | |
160 | %if %{defined PATCH1} | |
85cda6ae HH |
161 | git init |
162 | git config user.email "dracut-maint@redhat.com" | |
163 | git config user.name "Fedora dracut team" | |
164 | git add . | |
165 | git commit -a -q -m "%{version} baseline." | |
166 | ||
167 | # Apply all the patches. | |
168 | git am -p1 %{patches} | |
76bba2a1 | 169 | %endif |
38672ee8 JK |
170 | |
171 | %build | |
4ce3a1b1 | 172 | make all |
38672ee8 | 173 | |
38672ee8 | 174 | %install |
b019d405 | 175 | %if 0%{?fedora} || 0%{?rhel} |
38672ee8 | 176 | rm -rf $RPM_BUILD_ROOT |
228694e5 | 177 | %endif |
c5a65990 HH |
178 | make install DESTDIR=$RPM_BUILD_ROOT \ |
179 | libdir=%{_prefix}/lib \ | |
ed919de0 | 180 | bindir=%{_bindir} \ |
b019d405 HH |
181 | %if %{defined _unitdir} |
182 | systemdsystemunitdir=%{_unitdir} \ | |
183 | %endif | |
184 | sysconfdir=/etc mandir=%{_mandir} | |
38672ee8 | 185 | |
982d59af | 186 | echo "DRACUT_VERSION=%{version}-%{release}" > $RPM_BUILD_ROOT/%{dracutlibdir}/dracut-version.sh |
228694e5 | 187 | |
7a1f355f | 188 | %if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} == 0 |
c5a65990 HH |
189 | rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips |
190 | rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni | |
228694e5 HH |
191 | %endif |
192 | ||
d96c3254 HH |
193 | # we do not support dash in the initramfs |
194 | rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00dash | |
195 | ||
783721b3 | 196 | # remove gentoo specific modules |
c5a65990 | 197 | rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash |
95cf0a88 | 198 | |
04ab68a4 HH |
199 | %if %{defined _unitdir} |
200 | # with systemd IMA and selinux modules do not make sense | |
201 | rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/96securityfs | |
202 | rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey | |
203 | rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity | |
204 | rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98selinux | |
205 | %endif | |
206 | ||
21007cb6 HH |
207 | mkdir -p $RPM_BUILD_ROOT/boot/dracut |
208 | mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay | |
837a5a60 HH |
209 | mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log |
210 | touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log | |
41f90cbe | 211 | mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs |
21007cb6 | 212 | |
7a1f355f | 213 | %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} |
d9416c0d | 214 | install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf |
b151c3b1 | 215 | install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/40-fips.conf |
d9416c0d HH |
216 | %endif |
217 | ||
5ce6642f | 218 | %if 0%{?suse_version} |
d9416c0d HH |
219 | install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf |
220 | %endif | |
221 | ||
228694e5 | 222 | %if 0%{?fedora} <= 12 && 0%{?rhel} < 6 && 0%{?suse_version} <= 9999 |
ed919de0 HH |
223 | rm $RPM_BUILD_ROOT%{_bindir}/mkinitrd |
224 | rm $RPM_BUILD_ROOT%{_bindir}/lsinitrd | |
1b3bdcc1 HH |
225 | %endif |
226 | ||
d8bf119d HH |
227 | mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d |
228 | install -m 0644 dracut.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/dracut_log | |
62d0c4e7 | 229 | |
e4d85a77 HH |
230 | # create compat symlink |
231 | mkdir -p $RPM_BUILD_ROOT/sbin | |
232 | ln -s /usr/bin/dracut $RPM_BUILD_ROOT/sbin/dracut | |
4cbc0c79 | 233 | |
38672ee8 JK |
234 | %clean |
235 | rm -rf $RPM_BUILD_ROOT | |
236 | ||
38672ee8 | 237 | %files |
78cd7629 | 238 | %defattr(-,root,root,0755) |
7c6eb152 | 239 | %doc README HACKING TODO COPYING AUTHORS NEWS dracut.html dracut.png dracut.svg |
ed919de0 | 240 | %{_bindir}/dracut |
e4d85a77 HH |
241 | # compat symlink |
242 | /sbin/dracut | |
228694e5 | 243 | %if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999 |
ed919de0 HH |
244 | %{_bindir}/mkinitrd |
245 | %{_bindir}/lsinitrd | |
1b3bdcc1 | 246 | %endif |
c5a65990 HH |
247 | %dir %{dracutlibdir} |
248 | %dir %{dracutlibdir}/modules.d | |
552ecca6 | 249 | %{dracutlibdir}/dracut-functions.sh |
a6b63f91 | 250 | %{dracutlibdir}/dracut-functions |
dbf8f6ba | 251 | %{dracutlibdir}/dracut-version.sh |
552ecca6 | 252 | %{dracutlibdir}/dracut-logger.sh |
fb67e4aa | 253 | %{dracutlibdir}/dracut-initramfs-restore |
f4031e8a | 254 | %{dracutlibdir}/dracut-install |
4579f5a8 | 255 | %config(noreplace) /etc/dracut.conf |
b019d405 | 256 | %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} |
8e702c3d | 257 | %config /etc/dracut.conf.d/01-dist.conf |
d9416c0d | 258 | %endif |
2c2c4580 | 259 | %dir /etc/dracut.conf.d |
00f0a6e7 | 260 | %{_mandir}/man8/dracut.8* |
13f77e9f | 261 | %{_mandir}/man8/*service.8* |
7a1f355f | 262 | %if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999 |
0e14946a | 263 | %{_mandir}/man8/mkinitrd.8* |
7a1f355f HH |
264 | %{_mandir}/man1/lsinitrd.1* |
265 | %endif | |
0d866147 | 266 | %{_mandir}/man7/dracut.kernel.7* |
45abddb0 | 267 | %{_mandir}/man7/dracut.cmdline.7* |
6cc96b35 | 268 | %{_mandir}/man5/dracut.conf.5* |
c5a65990 | 269 | %{dracutlibdir}/modules.d/00bootchart |
ef914f7d | 270 | %{dracutlibdir}/modules.d/04watchdog |
c5a65990 HH |
271 | %{dracutlibdir}/modules.d/05busybox |
272 | %{dracutlibdir}/modules.d/10i18n | |
437cecb9 | 273 | %{dracutlibdir}/modules.d/30convertfs |
5c4bb360 | 274 | %{dracutlibdir}/modules.d/45url-lib |
c5a65990 | 275 | %{dracutlibdir}/modules.d/50plymouth |
b80078af | 276 | %{dracutlibdir}/modules.d/80cms |
c5a65990 HH |
277 | %{dracutlibdir}/modules.d/90btrfs |
278 | %{dracutlibdir}/modules.d/90crypt | |
279 | %{dracutlibdir}/modules.d/90dm | |
280 | %{dracutlibdir}/modules.d/90dmraid | |
281 | %{dracutlibdir}/modules.d/90dmsquash-live | |
282 | %{dracutlibdir}/modules.d/90kernel-modules | |
283 | %{dracutlibdir}/modules.d/90lvm | |
284 | %{dracutlibdir}/modules.d/90mdraid | |
285 | %{dracutlibdir}/modules.d/90multipath | |
1488a9b3 | 286 | %{dracutlibdir}/modules.d/90qemu |
c5a65990 HH |
287 | %{dracutlibdir}/modules.d/91crypt-gpg |
288 | %{dracutlibdir}/modules.d/95debug | |
289 | %{dracutlibdir}/modules.d/95resume | |
290 | %{dracutlibdir}/modules.d/95rootfs-block | |
291 | %{dracutlibdir}/modules.d/95dasd | |
292 | %{dracutlibdir}/modules.d/95dasd_mod | |
293 | %{dracutlibdir}/modules.d/95fstab-sys | |
294 | %{dracutlibdir}/modules.d/95zfcp | |
295 | %{dracutlibdir}/modules.d/95terminfo | |
296 | %{dracutlibdir}/modules.d/95udev-rules | |
a7c9cbe1 | 297 | %{dracutlibdir}/modules.d/95virtfs |
04ab68a4 | 298 | %if %{undefined _unitdir} |
c5a65990 | 299 | %{dracutlibdir}/modules.d/96securityfs |
c5a65990 | 300 | %{dracutlibdir}/modules.d/97masterkey |
04ab68a4 | 301 | %{dracutlibdir}/modules.d/98selinux |
c5a65990 | 302 | %{dracutlibdir}/modules.d/98integrity |
04ab68a4 HH |
303 | %endif |
304 | %{dracutlibdir}/modules.d/97biosdevname | |
305 | %{dracutlibdir}/modules.d/98ecryptfs | |
d33d6077 | 306 | %{dracutlibdir}/modules.d/98pollcdrom |
c5a65990 | 307 | %{dracutlibdir}/modules.d/98syslog |
6e26f9b4 | 308 | %{dracutlibdir}/modules.d/98systemd |
c5a65990 HH |
309 | %{dracutlibdir}/modules.d/98usrmount |
310 | %{dracutlibdir}/modules.d/99base | |
311 | %{dracutlibdir}/modules.d/99fs-lib | |
5c4bb360 | 312 | %{dracutlibdir}/modules.d/99img-lib |
c5a65990 | 313 | %{dracutlibdir}/modules.d/99shutdown |
d8bf119d | 314 | %config(noreplace) /etc/logrotate.d/dracut_log |
837a5a60 | 315 | %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log |
41f90cbe | 316 | %dir %{_sharedstatedir}/initramfs |
b019d405 | 317 | %if %{defined _unitdir} |
2023d8eb HH |
318 | %{_unitdir}/dracut-shutdown.service |
319 | %{_unitdir}/shutdown.target.wants/dracut-shutdown.service | |
4cfd24d1 | 320 | %endif |
ec74fa87 HH |
321 | |
322 | %files network | |
78cd7629 | 323 | %defattr(-,root,root,0755) |
c5a65990 HH |
324 | %{dracutlibdir}/modules.d/40network |
325 | %{dracutlibdir}/modules.d/95fcoe | |
326 | %{dracutlibdir}/modules.d/95iscsi | |
327 | %{dracutlibdir}/modules.d/90livenet | |
1488a9b3 | 328 | %{dracutlibdir}/modules.d/90qemu-net |
c5a65990 HH |
329 | %{dracutlibdir}/modules.d/95nbd |
330 | %{dracutlibdir}/modules.d/95nfs | |
a29cf54c | 331 | %{dracutlibdir}/modules.d/95ssh-client |
c5a65990 HH |
332 | %{dracutlibdir}/modules.d/45ifcfg |
333 | %{dracutlibdir}/modules.d/95znet | |
78cd7629 | 334 | |
7a1f355f | 335 | %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} |
4d1661d3 HH |
336 | %files fips |
337 | %defattr(-,root,root,0755) | |
c5a65990 | 338 | %{dracutlibdir}/modules.d/01fips |
b151c3b1 | 339 | %config(noreplace) /etc/dracut.conf.d/40-fips.conf |
228694e5 | 340 | %endif |
ec74fa87 | 341 | |
2e1b9171 HH |
342 | %files fips-aesni |
343 | %defattr(-,root,root,0755) | |
344 | %doc COPYING | |
c5a65990 | 345 | %{dracutlibdir}/modules.d/02fips-aesni |
2e1b9171 | 346 | |
52881470 HH |
347 | %files caps |
348 | %defattr(-,root,root,0755) | |
c5a65990 | 349 | %{dracutlibdir}/modules.d/02caps |
52881470 | 350 | |
3b403b32 | 351 | %files tools |
21007cb6 | 352 | %defattr(-,root,root,0755) |
66e45737 | 353 | %{_mandir}/man8/dracut-catimages.8* |
ed919de0 | 354 | %{_bindir}/dracut-catimages |
21007cb6 HH |
355 | %dir /boot/dracut |
356 | %dir /var/lib/dracut | |
357 | %dir /var/lib/dracut/overlay | |
358 | ||
38672ee8 | 359 | %changelog |