dracut.spec: fixed URL
[dracut.git] / dracut.spec
blob89bebb73d4b2ac81d4caf85e11a6282419ce5887
1 # Variables must be defined
2 %define with_nbd 1
4 # nbd in Fedora only
5 %if 0%{?rhel} >= 6
6 %define with_nbd 0
7 %endif
9 %if %{defined gittag}
10 %define rdist .git%{gittag}%{?dist}
11 %define dashgittag -%{gittag}
12 %else
13 %define rdist %{?dist}
14 %endif
16 Name: dracut
17 Version: 009
18 %define release_prefix 0%{?rdist}
19 Release: %{release_prefix}
21 Summary: Initramfs generator using udev
22 %if 0%{?fedora}
23 Group: System Environment/Base
24 %endif
25 %if 0%{?suse_version}
26 Group: System/Base
27 %endif
28 License: GPLv2+
29 URL: https://dracut.wiki.kernel.org/
30 # Source can be generated by
31 # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{?dashgittag};sf=tgz
32 Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}%{?dashgittag}.tar.bz2
34 BuildArch: noarch
36 %if 0%{?fedora}
37 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
38 %endif
39 %if 0%{?suse_version}
40 BuildRoot: %{_tmppath}/%{name}-%{version}-build
41 %endif
43 %if 0%{?fedora}
44 BuildRequires: docbook-style-xsl docbook-dtds libxslt
45 %endif
47 %if 0%{?suse_version}
48 BuildRequires: docbook-xsl-stylesheets libxslt
49 %endif
51 %if 0%{?fedora} > 12 || 0%{?rhel} >= 6
52 # no "provides", because dracut does not offer
53 # all functionality of the obsoleted packages
54 Obsoletes: mkinitrd <= 6.0.93
55 Obsoletes: mkinitrd-devel <= 6.0.93
56 Obsoletes: nash <= 6.0.93
57 Obsoletes: libbdevid-python <= 6.0.93
58 %endif
60 %if 0%{?suse_version} > 9999
61 Obsoletes: mkinitrd < 2.6.1
62 Provides: mkinitrd = 2.6.1
63 %endif
65 Obsoletes: dracut-kernel < 005
66 Provides: dracut-kernel = %{version}-%{release}
68 Requires: bash
69 Requires: bzip2
70 Requires: coreutils
71 Requires: cpio
72 Requires: dash
73 Requires: filesystem >= 2.1.0
74 Requires: findutils
75 Requires: grep
76 Requires: gzip
77 Requires: kbd
78 Requires: mktemp >= 1.5-5
79 Requires: module-init-tools >= 3.7-9
80 Requires: sed
81 Requires: tar
82 Requires: udev
84 %if 0%{?fedora}
85 Requires: util-linux >= 2.16
86 Requires: initscripts >= 8.63-1
87 Requires: plymouth >= 0.8.0-0.2009.29.09.19.1
88 %endif
90 %if 0%{?suse_version}
91 Requires: util-linux >= 2.16
92 %endif
95 %description
96 Dracut contains tools to create a bootable initramfs for 2.6 Linux kernels.
97 Unlike existing implementations, dracut does hard-code as little as possible
98 into the initramfs. Dracut contains various modules which are driven by the
99 event-based udev. Having root on MD, DM, LVM2, LUKS is supported as well as
100 NFS, iSCSI, NBD, FCoE with the dracut-network package.
102 %package network
103 Summary: Dracut modules to build a dracut initramfs with network support
104 Requires: %{name} = %{version}-%{release}
105 Requires: rpcbind
106 %if %{with_nbd}
107 Requires: nbd
108 %endif
109 Requires: net-tools iproute
110 Requires: bridge-utils
112 %if 0%{?fedora}
113 Requires: iscsi-initiator-utils
114 Requires: nfs-utils
115 Requires: dhclient
116 %endif
118 %if 0%{?suse_version}
119 Requires: dhcp-client
120 Requires: nfs-client
121 Requires: vlan
122 %endif
123 Obsoletes: dracut-generic < 008
124 Provides: dracut-generic = %{version}-%{release}
126 %description network
127 This package requires everything which is needed to build a generic
128 all purpose initramfs with network support with dracut.
130 %if 0%{?fedora}
131 %package fips
132 Summary: Dracut modules to build a dracut initramfs with an integrity check
133 Requires: %{name} = %{version}-%{release}
134 Requires: hmaccalc
135 %if 0%{?rhel} > 5
136 # For Alpha 3, we want nss instead of nss-softokn
137 Requires: nss
138 %else
139 Requires: nss-softokn
140 %endif
141 Requires: nss-softokn-freebl
143 %description fips
144 This package requires everything which is needed to build an
145 all purpose initramfs with dracut, which does an integrity check.
146 %endif
148 %package caps
149 Summary: Dracut modules to build a dracut initramfs which drops capabilities
150 Requires: %{name} = %{version}-%{release}
151 Requires: libcap
153 %description caps
154 This package requires everything which is needed to build an
155 all purpose initramfs with dracut, which drops capabilities.
157 %package tools
158 Summary: Dracut tools to build the local initramfs
159 Requires: %{name} = %{version}-%{release}
161 %description tools
162 This package contains tools to assemble the local initrd and host configuration.
164 %prep
165 %setup -q -n %{name}-%{version}%{?dashgittag}
167 %build
168 make WITH_SWITCH_ROOT=0%{?with_switch_root}
170 %install
171 %if 0%{?fedora}
172 rm -rf $RPM_BUILD_ROOT
173 %endif
174 make install DESTDIR=$RPM_BUILD_ROOT sbindir=/sbin \
175 sysconfdir=/etc mandir=%{_mandir} WITH_SWITCH_ROOT=0%{?with_switch_root}
177 echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{_datadir}/dracut/modules.d/10rpmversion/dracut-version
179 %if 0%{?fedora} == 0
180 rm -fr $RPM_BUILD_ROOT/%{_datadir}/dracut/modules.d/01fips
181 %endif
183 # remove gentoo specific modules
184 rm -fr $RPM_BUILD_ROOT/%{_datadir}/dracut/modules.d/50gensplash
186 mkdir -p $RPM_BUILD_ROOT/boot/dracut
187 mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay
188 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log
189 touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log
190 mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs
192 %if 0%{?fedora}
193 install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf
194 install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/40-fips.conf
195 %endif
197 %if 0%{?suse_version}
198 install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf
199 %endif
201 %if 0%{?fedora} <= 12 && 0%{?rhel} < 6 && 0%{?suse_version} <= 9999
202 rm $RPM_BUILD_ROOT/sbin/mkinitrd
203 rm $RPM_BUILD_ROOT/sbin/lsinitrd
204 %endif
206 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d/dracut
207 install -m 0644 dracut.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/dracut
209 %clean
210 rm -rf $RPM_BUILD_ROOT
212 %files
213 %defattr(-,root,root,0755)
214 %doc README HACKING TODO COPYING AUTHORS NEWS dracut.html dracut.png dracut.svg
215 /sbin/dracut
216 %if 0%{?with_switch_root}
217 /sbin/switch_root
218 %endif
219 %if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
220 /sbin/mkinitrd
221 /sbin/lsinitrd
222 %endif
223 %dir %{_datadir}/dracut
224 %dir %{_datadir}/dracut/modules.d
225 %{_datadir}/dracut/dracut-functions
226 %{_datadir}/dracut/dracut-logger
227 %config(noreplace) /etc/dracut.conf
228 %if 0%{?fedora} || 0%{?suse_version}
229 %config(noreplace) /etc/dracut.conf.d/01-dist.conf
230 %endif
231 %dir /etc/dracut.conf.d
232 %config(noreplace) /etc/logrotate.d/dracut
233 %{_mandir}/man8/dracut.8*
234 %{_mandir}/man7/dracut.kernel.7*
235 %{_mandir}/man5/dracut.conf.5*
236 %{_datadir}/dracut/modules.d/00bootchart
237 %{_datadir}/dracut/modules.d/00dash
238 %{_datadir}/dracut/modules.d/05busybox
239 %{_datadir}/dracut/modules.d/10i18n
240 %{_datadir}/dracut/modules.d/10rpmversion
241 %{_datadir}/dracut/modules.d/50plymouth
242 %{_datadir}/dracut/modules.d/60xen
243 %{_datadir}/dracut/modules.d/90btrfs
244 %{_datadir}/dracut/modules.d/90crypt
245 %{_datadir}/dracut/modules.d/90dm
246 %{_datadir}/dracut/modules.d/90dmraid
247 %{_datadir}/dracut/modules.d/90dmsquash-live
248 %{_datadir}/dracut/modules.d/90kernel-modules
249 %{_datadir}/dracut/modules.d/90lvm
250 %{_datadir}/dracut/modules.d/90mdraid
251 %{_datadir}/dracut/modules.d/90multipath
252 %{_datadir}/dracut/modules.d/95debug
253 %{_datadir}/dracut/modules.d/95resume
254 %{_datadir}/dracut/modules.d/95rootfs-block
255 %{_datadir}/dracut/modules.d/95dasd
256 %{_datadir}/dracut/modules.d/95dasd_mod
257 %{_datadir}/dracut/modules.d/95fstab-sys
258 %{_datadir}/dracut/modules.d/95zfcp
259 %{_datadir}/dracut/modules.d/95terminfo
260 %{_datadir}/dracut/modules.d/95udev-rules
261 %{_datadir}/dracut/modules.d/97biosdevname
262 %{_datadir}/dracut/modules.d/98selinux
263 %{_datadir}/dracut/modules.d/98syslog
264 %{_datadir}/dracut/modules.d/99base
265 # logfile needs no logrotate, because it gets overwritten
266 # for every dracut run
267 %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
268 %dir %{_sharedstatedir}/initramfs
270 %files network
271 %defattr(-,root,root,0755)
272 %{_datadir}/dracut/modules.d/40network
273 %{_datadir}/dracut/modules.d/95fcoe
274 %{_datadir}/dracut/modules.d/95iscsi
275 %{_datadir}/dracut/modules.d/95nbd
276 %{_datadir}/dracut/modules.d/95nfs
277 %{_datadir}/dracut/modules.d/45ifcfg
278 %{_datadir}/dracut/modules.d/95znet
280 %if 0%{?fedora}
281 %files fips
282 %defattr(-,root,root,0755)
283 %{_datadir}/dracut/modules.d/01fips
284 %config(noreplace) /etc/dracut.conf.d/40-fips.conf
285 %endif
287 %files caps
288 %defattr(-,root,root,0755)
289 %{_datadir}/dracut/modules.d/02caps
291 %files tools
292 %defattr(-,root,root,0755)
293 %{_mandir}/man8/dracut-gencmdline.8*
294 %{_mandir}/man8/dracut-catimages.8*
295 /sbin/dracut-gencmdline
296 /sbin/dracut-catimages
297 %dir /boot/dracut
298 %dir /var/lib/dracut
299 %dir /var/lib/dracut/overlay
301 %changelog