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