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