Gentoo Archives: gentoo-commits

From: "Amadeusz Zolnowski (aidecoe)" <aidecoe@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-kernel/dracut: ChangeLog dracut-018.ebuild
Date: Thu, 05 Apr 2012 20:01:24
Message-Id: 20120405200105.2ADEF2004B@flycatcher.gentoo.org
1 aidecoe 12/04/05 20:01:05
2
3 Modified: ChangeLog
4 Added: dracut-018.ebuild
5 Log:
6 sys-kernel/dracut: Version bump to 018. Fixes btw bug #408669.
7
8 Build time dependencies are no longer required, because man pages and html doc
9 are already built. Therefore compile phase in empty.
10
11 NEWS
12 ~~~~
13 (Taken from NEWS file. Lines which don't apply to Gentoo package are removed.)
14
15 - lvm: ignore lvm mirrors
16 - lsinitrd: handle LZMA images
17 - iscsi: add rd.iscsi.param
18 - iscsi: add iscsi interface binding
19 - fixed fstab.sys handling
20 - new dracut option "--tmpdir"
21 - new dracut option "--no-hostonly"
22 - nbd: name based nbd connects
23 - write-ifcfg fixes and cleanups
24 - ifup is now done in the initqueue
25 - netroot cleanup
26 - initqueue/online is now for hooks, which require network
27 - no more /tmp/root.info
28 - 98pollcdrom: factored out the ugly cdrom polling in the main loop
29 - simplified rd.luks.uuid testing
30 - removed "egrep" and "ls" calls
31 - speedup kernel module installation
32 - lots of bugfixes
33
34 (Portage version: 2.1.10.54/cvs/Linux x86_64)
35
36 Revision Changes Path
37 1.57 sys-kernel/dracut/ChangeLog
38
39 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/ChangeLog?rev=1.57&view=markup
40 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/ChangeLog?rev=1.57&content-type=text/plain
41 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/ChangeLog?r1=1.56&r2=1.57
42
43 Index: ChangeLog
44 ===================================================================
45 RCS file: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v
46 retrieving revision 1.56
47 retrieving revision 1.57
48 diff -u -r1.56 -r1.57
49 --- ChangeLog 27 Mar 2012 16:00:43 -0000 1.56
50 +++ ChangeLog 5 Apr 2012 20:01:05 -0000 1.57
51 @@ -1,6 +1,39 @@
52 # ChangeLog for sys-kernel/dracut
53 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
54 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.56 2012/03/27 16:00:43 aidecoe Exp $
55 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.57 2012/04/05 20:01:05 aidecoe Exp $
56 +
57 +*dracut-018 (05 Apr 2012)
58 +
59 + 05 Apr 2012; Amadeusz Żołnowski <aidecoe@g.o> +dracut-018.ebuild,
60 + +files/dracut-018-multipath-udev-rules.patch:
61 + Version bump. Fixes btw bug #408669.
62 +
63 + Build time dependencies are no longer required, because man pages and html
64 + doc are already built. Therefore compile phase in empty.
65 +
66 + NEWS
67 + ~~~~
68 + (Taken from NEWS file. Lines which don't apply to Gentoo package are
69 + removed.)
70 +
71 + - lvm: ignore lvm mirrors
72 + - lsinitrd: handle LZMA images
73 + - iscsi: add rd.iscsi.param
74 + - iscsi: add iscsi interface binding
75 + - fixed fstab.sys handling
76 + - new dracut option "--tmpdir"
77 + - new dracut option "--no-hostonly"
78 + - nbd: name based nbd connects
79 + - write-ifcfg fixes and cleanups
80 + - ifup is now done in the initqueue
81 + - netroot cleanup
82 + - initqueue/online is now for hooks, which require network
83 + - no more /tmp/root.info
84 + - 98pollcdrom: factored out the ugly cdrom polling in the main loop
85 + - simplified rd.luks.uuid testing
86 + - removed "egrep" and "ls" calls
87 + - speedup kernel module installation
88 + - lots of bugfixes
89
90 *dracut-017-r3 (27 Mar 2012)
91
92
93
94
95 1.1 sys-kernel/dracut/dracut-018.ebuild
96
97 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/dracut-018.ebuild?rev=1.1&view=markup
98 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/dracut-018.ebuild?rev=1.1&content-type=text/plain
99
100 Index: dracut-018.ebuild
101 ===================================================================
102 # Copyright 1999-2012 Gentoo Foundation
103 # Distributed under the terms of the GNU General Public License v2
104 # $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-018.ebuild,v 1.1 2012/04/05 20:01:05 aidecoe Exp $
105
106 EAPI=4
107
108 inherit eutils linux-info
109
110 add_req_use_for() {
111 local dep="$1"; shift
112 local f
113
114 for f in "$@"; do
115 REQUIRED_USE+="${f}? ( ${dep} )
116 "
117 done
118 }
119
120 DESCRIPTION="Generic initramfs generation tool"
121 HOMEPAGE="http://dracut.wiki.kernel.org"
122 SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.bz2"
123 LICENSE="GPL-2"
124 SLOT="0"
125 KEYWORDS="~amd64 ~x86"
126
127 REQUIRED_USE="dracut_modules_crypt-gpg? ( dracut_modules_crypt )
128 dracut_modules_livenet? ( dracut_modules_dmsquash-live )
129 "
130 COMMON_MODULES="
131 dracut_modules_biosdevname
132 dracut_modules_btrfs
133 dracut_modules_caps
134 dracut_modules_crypt-gpg
135 dracut_modules_gensplash
136 dracut_modules_mdraid
137 dracut_modules_multipath
138 dracut_modules_plymouth
139 dracut_modules_syslog
140 "
141 DM_MODULES="
142 dracut_modules_crypt
143 dracut_modules_dmraid
144 dracut_modules_dmsquash-live
145 dracut_modules_livenet
146 dracut_modules_lvm
147 "
148 NETWORK_MODULES="
149 dracut_modules_iscsi
150 dracut_modules_livenet
151 dracut_modules_nbd
152 dracut_modules_nfs
153 dracut_modules_ssh-client
154 "
155 add_req_use_for device-mapper ${DM_MODULES}
156 add_req_use_for net ${NETWORK_MODULES}
157 IUSE_DRACUT_MODULES="${COMMON_MODULES} ${DM_MODULES} ${NETWORK_MODULES}"
158 IUSE="debug device-mapper net selinux ${IUSE_DRACUT_MODULES}"
159
160 RESTRICT="test"
161
162 RDEPEND="
163 >=app-shells/bash-4.0
164 >=app-shells/dash-0.5.4.11
165 >=sys-apps/baselayout-1.12.14-r1
166 >=sys-apps/sysvinit-2.87-r3
167 >=sys-apps/util-linux-2.20
168 >=sys-fs/udev-164
169 app-arch/cpio
170 || ( >=sys-apps/module-init-tools-3.8 >sys-apps/kmod-5[tools] )
171
172 debug? ( dev-util/strace )
173 device-mapper? ( || ( sys-fs/device-mapper >=sys-fs/lvm2-2.02.33 ) )
174 net? ( net-misc/curl >=net-misc/dhcp-4.2.1-r1 sys-apps/iproute2 )
175 selinux? ( sys-libs/libselinux sys-libs/libsepol )
176 dracut_modules_biosdevname? ( sys-apps/biosdevname )
177 dracut_modules_btrfs? ( sys-fs/btrfs-progs )
178 dracut_modules_caps? ( sys-libs/libcap )
179 dracut_modules_crypt? ( sys-fs/cryptsetup )
180 dracut_modules_crypt-gpg? ( app-crypt/gnupg )
181 dracut_modules_dmraid? ( sys-fs/dmraid sys-fs/multipath-tools )
182 dracut_modules_gensplash? ( media-gfx/splashutils )
183 dracut_modules_iscsi? ( >=sys-block/open-iscsi-2.0.871.3 )
184 dracut_modules_lvm? ( >=sys-fs/lvm2-2.02.33 )
185 dracut_modules_mdraid? ( sys-fs/mdadm )
186 dracut_modules_multipath? ( sys-fs/multipath-tools )
187 dracut_modules_nbd? ( sys-block/nbd )
188 dracut_modules_nfs? ( net-fs/nfs-utils net-nds/rpcbind )
189 dracut_modules_plymouth? ( >=sys-boot/plymouth-0.8.3-r1 )
190 dracut_modules_ssh-client? ( dev-libs/openssl )
191 dracut_modules_syslog? ( || ( app-admin/syslog-ng app-admin/rsyslog ) )
192 "
193 DEPEND=""
194
195 #
196 # Helper functions
197 #
198
199 # Returns true if any of specified modules is enabled by USE flag and false
200 # otherwise.
201 # $1 = list of modules (which have corresponding USE flags of the same name)
202 any_module() {
203 local m modules=" $@ "
204
205 for m in ${modules}; do
206 ! use $m && modules=${modules/ $m / }
207 done
208
209 shopt -s extglob
210 modules=${modules%%+( )}
211 shopt -u extglob
212
213 [[ ${modules} ]]
214 }
215
216 # Removes module from modules.d.
217 # $1 = module name
218 # Module name can be specified without number prefix.
219 rm_module() {
220 local force m
221 [[ $1 = -f ]] && force=-f
222
223 for m in $@; do
224 if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
225 rm ${force} --interactive=never -r "${modules_dir}"/$m
226 else
227 rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
228 fi
229 done
230 }
231
232 # Displays Gentoo Base System major release number
233 base_sys_maj_ver() {
234 local line
235
236 read line < /etc/gentoo-release
237 line=${line##* }
238 echo "${line%%.*}"
239 }
240
241 #
242 # ebuild functions
243 #
244
245 src_prepare() {
246 epatch "${FILESDIR}/${P}-multipath-udev-rules.patch"
247 }
248
249 src_compile() {
250 return
251 }
252
253 src_install() {
254 emake WITH_SWITCH_ROOT=0 \
255 prefix=/usr sysconfdir=/etc DESTDIR="${D}" \
256 install
257
258 local gen2conf
259
260 dodir /var/lib/dracut/overlay
261 dodoc HACKING TODO AUTHORS NEWS README*
262
263 case "$(base_sys_maj_ver)" in
264 1) gen2conf=gentoo.conf ;;
265 2) gen2conf=gentoo-openrc.conf ;;
266 *) die "Expected ver. 1 or 2 of Gentoo Base System (/etc/gentoo-release)."
267 esac
268
269 insinto /etc/dracut.conf.d
270 newins dracut.conf.d/${gen2conf}.example ${gen2conf}
271
272 insinto /etc/logrotate.d
273 newins dracut.logrotate dracut
274
275 dohtml dracut.html
276
277 #
278 # Modules
279 #
280 local module
281 modules_dir="${D}/usr/lib/dracut/modules.d"
282
283 echo "${PF}" > "${modules_dir}"/10rpmversion/dracut-version \
284 || die 'dracut-version failed'
285
286 # Remove modules not enabled by USE flags
287 for module in ${IUSE_DRACUT_MODULES} ; do
288 ! use ${module} && rm_module -f ${module#dracut_modules_}
289 done
290
291 # Those flags are specific, and even are corresponding to modules, they need
292 # to be declared as regular USE flags.
293 use debug || rm_module 95debug
294 use selinux || rm_module 98selinux
295
296 # Following flags define set of helper modules which are base dependencies
297 # for others and as so have no practical use, so remove these modules.
298 use device-mapper || rm_module 90dm
299 use net || rm_module 40network 45ifcfg 45url-lib
300
301 # Remove S/390 modules which are not tested at all
302 rm_module 80cms 95dasd 95dasd_mod 95zfcp 95znet
303
304 # Remove modules which won't work for sure
305 rm_module 95fcoe # no tools
306 # fips module depends on masked app-crypt/hmaccalc
307 rm_module 01fips 02fips-aesni
308
309 # Remove extra modules which go to future dracut-extras
310 rm_module 00bootchart 05busybox 97masterkey 98ecryptfs 98integrity
311 }
312
313 pkg_postinst() {
314 if linux-info_get_any_version && linux_config_src_exists; then
315 echo
316 ewarn "If the following test report contains a missing kernel"
317 ewarn "configuration option, you should reconfigure and rebuild your"
318 ewarn "kernel before booting image generated with this Dracut version."
319 echo
320
321 local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS ~MODULES"
322
323 # Kernel configuration options descriptions:
324 local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
325 local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
326 "(initramfs/initrd) support"
327 local desc_MODULES="Enable loadable module support"
328
329 local opt desc
330
331 # Generate ERROR_* variables for check_extra_config.
332 for opt in ${CONFIG_CHECK}; do
333 opt=${opt#\~}
334 desc=desc_${opt}
335 eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
336 "is missing and REQUIRED'"
337 done
338
339 check_extra_config
340 echo
341 else
342 echo
343 ewarn "Your kernel configuration couldn't be checked. Do you have"
344 ewarn "/usr/src/linux/.config file there? Please check manually if"
345 ewarn "following options are enabled:"
346 ewarn ""
347 ewarn " CONFIG_BLK_DEV_INITRD"
348 ewarn " CONFIG_DEVTMPFS"
349 ewarn " CONFIG_MODULES"
350 echo
351 fi
352
353 elog 'To generate the initramfs:'
354 elog ' # mount /boot (if necessary)'
355 elog ' # dracut "" <kernel-version>'
356 elog ''
357 elog 'For command line documentation see dracut.kernel(7).'
358 elog ''
359 elog 'Simple example to select root and resume partition:'
360 elog ' root=/dev/sda1 resume=/dev/sda2'
361 elog ''
362 elog 'To include only dracut modules and kernel drivers for this system,'
363 elog 'use the "-H" option. Some modules need to be explicitly added with'
364 elog '"-a" option even if required tools are installed.'
365 }