Gentoo Archives: gentoo-commits

From: "Manuel Rüger" <mrueg@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-kernel/dracut/
Date: Sun, 03 Jan 2016 14:34:29
Message-Id: 1451831642.82f7cfd6b524e908a5087265901aabebc0fcd6b0.mrueg@gentoo
1 commit: 82f7cfd6b524e908a5087265901aabebc0fcd6b0
2 Author: Manuel Rüger <mrueg <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jan 3 14:22:35 2016 +0000
4 Commit: Manuel Rüger <mrueg <AT> gentoo <DOT> org>
5 CommitDate: Sun Jan 3 14:34:02 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82f7cfd6
7
8 sys-kernel/dracut: Version bump
9
10 Gentoo-Bug: 567118
11
12 Package-Manager: portage-2.2.26
13
14 sys-kernel/dracut/Manifest | 1 +
15 sys-kernel/dracut/dracut-044.ebuild | 253 ++++++++++++++++++++++++++++++++++++
16 2 files changed, 254 insertions(+)
17
18 diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest
19 index de96412..0e1c985 100644
20 --- a/sys-kernel/dracut/Manifest
21 +++ b/sys-kernel/dracut/Manifest
22 @@ -3,3 +3,4 @@ DIST dracut-034.tar.bz2 277692 SHA256 48c7fd57e287d4f34dfff5b5ead14a4511926858f1
23 DIST dracut-040.tar.xz 263944 SHA256 b6e743353804b46e350177b9ecb9a8511df7e8c4ff9e0b4f3b4f72bc509c98a3 SHA512 6bc6a714572cc18c4cf9f9c1af4bc787287554ead1e39fbec8a1b8986585cf8c7c7ef476f87fc361f565eb344fe2594d63185ffe02cc5fa7cc3eaa03bcb4b72b WHIRLPOOL d8dbdbf6cb7705a0b7793f82a0323c49b4ac0dc3d61cf0073e3061f34af0b5c92dd21a7dc080f2a8d24d3eef3abc99df91f113675721267352f934f1319c66ba
24 DIST dracut-041.tar.xz 268288 SHA256 8ece6c2240bf0e9283e5f717b65dfcd6830b3ef7f8d1c01b60014052f1063251 SHA512 358444588febfc482627eb5423b8a87b588ed3842ae814b9f88d8c5dfec28419f2aea92cd54c11c4949b9968d60d7e05ba9cfea78d26d2dc6f2a943a38b28dac WHIRLPOOL ab538fe1ffeb3d43185c6222a6e65af8c684b292be571e0571fdd69011f654c3093f3a2256f3003d5dbaf07d0a26f83d82055885bae1868738ad15dc74982e72
25 DIST dracut-043.tar.xz 272744 SHA256 1484b558ed20330125aa04dcccab84da15c5689e19068285aa011f7177889cd1 SHA512 a36271e1ed4c1205a01bece7652095a8bfd722bcf7239a93baeb21e7e0a60fa86dd6657aa69b594241981056c87c6fe9d372f18ac045785122a9cafe8b0c31eb WHIRLPOOL d1efd59e2c41478e489d4707114b141e8bb0501c54209e364edc2060d3ffac7f2e1afd640b0812a452e7fbe7f9134e5e96436f0f1f2a54613d9468f9dca61a0c
26 +DIST dracut-044.tar.xz 280004 SHA256 84b97c9b0120e9fde06c3b9cf2ede1c4632cccd8e085e980b9ec9c788655af05 SHA512 bc788076e425b223d98cf0e0b15ff57d75d423991d7a67fb564a2857c38d5c3a21d846d2ca4523f9d4b0128bb981d09b5c26031435c5fc5e30f53080bca19b3d WHIRLPOOL 684591df596fa902447e671adfaeeb8cdc469c257f756616e42747835b71be7caaac9c72bd4b1a5ba5728ec4332baaba1d265cddb1c30cbfa65cf4dce0690bc0
27
28 diff --git a/sys-kernel/dracut/dracut-044.ebuild b/sys-kernel/dracut/dracut-044.ebuild
29 new file mode 100644
30 index 0000000..8d1e45c
31 --- /dev/null
32 +++ b/sys-kernel/dracut/dracut-044.ebuild
33 @@ -0,0 +1,253 @@
34 +# Copyright 1999-2016 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +# $Id$
37 +
38 +EAPI=5
39 +
40 +inherit bash-completion-r1 eutils linux-info multilib systemd
41 +
42 +DESCRIPTION="Generic initramfs generation tool"
43 +HOMEPAGE="https://dracut.wiki.kernel.org"
44 +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
45 +LICENSE="GPL-2"
46 +SLOT="0"
47 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
48 +IUSE="debug selinux systemd"
49 +
50 +RESTRICT="test"
51 +
52 +CDEPEND="virtual/udev
53 + systemd? ( >=sys-apps/systemd-199 )
54 + "
55 +RDEPEND="${CDEPEND}
56 + app-arch/cpio
57 + >=app-shells/bash-4.0
58 + >sys-apps/kmod-5[tools]
59 + || (
60 + >=sys-apps/sysvinit-2.87-r3
61 + sys-apps/systemd[sysv-utils]
62 + sys-apps/systemd-sysv-utils
63 + )
64 + >=sys-apps/util-linux-2.21
65 +
66 + debug? ( dev-util/strace )
67 + selinux? (
68 + sys-libs/libselinux
69 + sys-libs/libsepol
70 + sec-policy/selinux-dracut
71 + )
72 + "
73 +DEPEND="${CDEPEND}
74 + app-text/asciidoc
75 + >=dev-libs/libxslt-1.1.26
76 + app-text/docbook-xml-dtd:4.5
77 + >=app-text/docbook-xsl-stylesheets-1.75.2
78 + virtual/pkgconfig
79 + "
80 +
81 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
82 + README.testsuite TODO )
83 +MY_LIBDIR=/usr/lib
84 +QA_MULTILIB_PATHS="
85 + usr/lib/dracut/dracut-install
86 + usr/lib/dracut/skipcpio
87 + "
88 +
89 +#
90 +# Helper functions
91 +#
92 +
93 +# Removes module from modules.d.
94 +# $1 = module name
95 +# Module name can be specified without number prefix.
96 +rm_module() {
97 + local force m
98 + [[ $1 = -f ]] && force=-f
99 +
100 + for m in $@; do
101 + if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
102 + rm ${force} --interactive=never -r "${modules_dir}"/$m
103 + else
104 + rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
105 + fi
106 + done
107 +}
108 +
109 +src_prepare() {
110 + local libdirs="/$(get_libdir) /usr/$(get_libdir)"
111 + if [[ ${SYMLINK_LIB} = yes ]]; then
112 + # Preserve lib -> lib64 symlinks in initramfs
113 + [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
114 + fi
115 + einfo "Setting libdirs to \"${libdirs}\" ..."
116 + sed -e "3alibdirs=\"${libdirs}\"" \
117 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
118 +
119 + local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
120 + einfo "Setting udevdir to ${udevdir}..."
121 + sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
122 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
123 +
124 + if use systemd; then
125 + local systemdutildir="$(systemd_get_utildir)"
126 + local systemdsystemunitdir="$(systemd_get_unitdir)"
127 + local systemdsystemconfdir="$("$(tc-getPKG_CONFIG)" systemd \
128 + --variable=systemdsystemconfdir)"
129 + [[ ${systemdsystemconfdir} ]] \
130 + || systemdsystemconfdir=/etc/systemd/system
131 + einfo "Setting systemdutildir to ${systemdutildir} and ..."
132 + sed -e "5asystemdutildir=\"${systemdutildir}\"" \
133 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
134 + einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir} and..."
135 + sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
136 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
137 + einfo "Setting systemdsystemconfdir to ${systemdsystemconfdir}..."
138 + sed -e "7asystemdsystemconfdir=\"${systemdsystemconfdir}\"" \
139 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
140 + else
141 + local systemdutildir="/lib/systemd"
142 + einfo "Setting systemdutildir for standalone udev to" \
143 + "${systemdutildir}..."
144 + sed -e "5asystemdutildir=\"${systemdutildir}\"" \
145 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
146 + fi
147 +
148 + epatch_user
149 +}
150 +
151 +src_configure() {
152 + local myconf="--libdir=${MY_LIBDIR}"
153 + myconf+=" --bashcompletiondir=$(get_bashcompdir)"
154 +
155 + if use systemd; then
156 + myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
157 + fi
158 +
159 + econf ${myconf}
160 +}
161 +
162 +src_compile() {
163 + tc-export CC
164 + emake doc install/dracut-install skipcpio/skipcpio
165 +}
166 +
167 +src_install() {
168 + default
169 +
170 + local my_libdir="${MY_LIBDIR}"
171 + local dracutlibdir="${my_libdir#/}/dracut"
172 +
173 + echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
174 +
175 + insinto "${dracutlibdir}/dracut.conf.d/"
176 + newins dracut.conf.d/gentoo.conf.example gentoo.conf
177 +
178 + insinto /etc/logrotate.d
179 + newins dracut.logrotate dracut
180 +
181 + dodir /var/lib/dracut/overlay
182 +
183 + dohtml dracut.html
184 +
185 + if ! use systemd; then
186 + # Scripts in kernel/install.d are systemd-specific
187 + rm -r "${D%/}/${my_libdir}/kernel" || die
188 + fi
189 +
190 + #
191 + # Modules
192 + #
193 + local module
194 + modules_dir="${D%/}/${dracutlibdir}/modules.d"
195 +
196 + use debug || rm_module 95debug
197 + use selinux || rm_module 98selinux
198 +
199 + if use systemd; then
200 + # With systemd following modules do not make sense
201 + rm_module 96securityfs 97masterkey 98integrity
202 + else
203 + rm_module 00systemd 98dracut-systemd
204 + # Without systemd following modules do not make sense
205 + rm_module 00systemd-bootchart 01systemd-initrd 02systemd-networkd
206 + fi
207 +
208 + # Remove modules which won't work for sure
209 + rm_module 95fcoe # no tools
210 + # fips module depends on masked app-crypt/hmaccalc
211 + rm_module 01fips 02fips-aesni
212 +}
213 +
214 +pkg_postinst() {
215 + if linux-info_get_any_version && linux_config_exists; then
216 + ewarn ""
217 + ewarn "If the following test report contains a missing kernel"
218 + ewarn "configuration option, you should reconfigure and rebuild your"
219 + ewarn "kernel before booting image generated with this Dracut version."
220 + ewarn ""
221 +
222 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
223 +
224 + # Kernel configuration options descriptions:
225 + local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
226 + local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
227 +"(initramfs/initrd) support"
228 +
229 + local opt desc
230 +
231 + # Generate ERROR_* variables for check_extra_config.
232 + for opt in ${CONFIG_CHECK}; do
233 + opt=${opt#\~}
234 + desc=desc_${opt}
235 + eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
236 + "is missing and REQUIRED'"
237 + done
238 +
239 + check_extra_config
240 + echo
241 + else
242 + ewarn ""
243 + ewarn "Your kernel configuration couldn't be checked. Do you have"
244 + ewarn "/usr/src/linux/.config file there? Please check manually if"
245 + ewarn "following options are enabled:"
246 + ewarn ""
247 + ewarn " CONFIG_BLK_DEV_INITRD"
248 + ewarn " CONFIG_DEVTMPFS"
249 + ewarn ""
250 + fi
251 +
252 + elog "To get additional features, a number of optional runtime"
253 + elog "dependencies may be installed:"
254 + elog ""
255 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
256 + sys-apps/iproute2
257 + optfeature \
258 + "Measure performance of the boot process for later visualisation" \
259 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
260 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
261 + optfeature "Load kernel modules and drop this privilege for real init" \
262 + sys-libs/libcap
263 + optfeature "Support CIFS" net-fs/cifs-utils
264 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
265 + "sys-fs/cryptsetup[-static-libs]"
266 + optfeature "Support for GPG-encrypted keys for crypt module" \
267 + app-crypt/gnupg
268 + optfeature \
269 + "Allows use of dash instead of default bash (on your own risk)" \
270 + app-shells/dash
271 + optfeature "Framebuffer splash (media-gfx/splashutils)" \
272 + media-gfx/splashutils
273 + optfeature "Support iSCSI" sys-block/open-iscsi
274 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
275 + optfeature "Support MD devices, also known as software RAID devices" \
276 + sys-fs/mdadm
277 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
278 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
279 + optfeature "Support network block devices" sys-block/nbd
280 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
281 + optfeature \
282 + "Install ssh and scp along with config files and specified keys" \
283 + net-misc/openssh
284 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
285 + app-admin/rsyslog
286 +}