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