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