Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-kernel/dracut/files/, sys-kernel/dracut/
Date: Mon, 21 Jan 2019 14:23:52
Message-Id: 1548080595.3a5005c33678f26a1477a49e791f89a8480c523a.floppym@gentoo
1 commit: 3a5005c33678f26a1477a49e791f89a8480c523a
2 Author: Alexander Tsoy <alexander <AT> tsoy <DOT> me>
3 AuthorDate: Fri Jan 11 18:40:03 2019 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 21 14:23:15 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a5005c3
7
8 sys-kernel/dracut: version bump to 049
9
10 Bug: https://bugs.gentoo.org/602122
11 Bug: https://bugs.gentoo.org/670450
12 Closes: https://github.com/gentoo/gentoo/pull/10808
13 Package-Manager: Portage-2.3.51, Repoman-2.3.11
14 Signed-off-by: Alexander Tsoy <alexander <AT> tsoy.me>
15 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
16
17 sys-kernel/dracut/Manifest | 1 +
18 sys-kernel/dracut/dracut-049.ebuild | 158 +++++++++++++++++++++
19 ...etwork-Don-t-include-40network-by-default.patch | 34 +++++
20 ...49-remove-bashism-in-various-boot-scripts.patch | 89 ++++++++++++
21 4 files changed, 282 insertions(+)
22
23 diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest
24 index cac868159ce..7b97320d25d 100644
25 --- a/sys-kernel/dracut/Manifest
26 +++ b/sys-kernel/dracut/Manifest
27 @@ -3,3 +3,4 @@ DIST dracut-045.tar.xz 292652 BLAKE2B 0e7c57ddca6757d59823afdc4ff23dcb06cc9cec31
28 DIST dracut-046.tar.xz 299520 BLAKE2B 1e2d848aa0db0e90734d8c60610a60b1f0ff67f8c4d4f9933bec0bc1290071b1b1ee3cdb6c3da5b82d8f6d4cc7561ee17d38685659a4a6ee48a9085e388dfced SHA512 75cefc184960024ef32f7bb5a0fe060e9c7d82dbfd0fe247d54b585e2ebbf0f8af5d5dc1be7e5e8cf2c3bc27b3293842c6361ae62d047289d0c59d7d40b09122
29 DIST dracut-047.tar.xz 305836 BLAKE2B 18333ae1e24cfbbb6a152bf9ba2c48884821f6a506344259ba56c581a9f3efac7b4c88e8ca149ef1f83347a5e4d59acba61e42b8e0ab3a9e9beb8684d5db28b0 SHA512 03369726b6c2b682d0c9dead7b7dbd1c3989aaf2b4a561015634d33a94e5230d03cb634c3890191b19dd8c1c83389533ae1a46d45d2024ba885e0d2d46c5d035
30 DIST dracut-048.tar.xz 308484 BLAKE2B b19c8122034a8b40cbc9d09245730900b59691c336f1d231e768786ad64068e0a8daf57ae9a4182ab50d9e1c683c9b7dcac354eb26d8a60f061db78121bc11c7 SHA512 97fcfd5d314ef40687c245d95d2f1d0f3f9ff0472e66b6e6324bf9bd6b98186104f9d71fd9af344126d6ea9fa47b744d52831a374225633225f6f17fb15c04e0
31 +DIST dracut-049.tar.gz 376857 BLAKE2B e50084164e26aae6de812345cc76782435ec84951b44eea454355d0c65fe84fdd0858733de534bdf018bdfd92922f0be30b74d74be329a918e55d96c5e4d4fb6 SHA512 51489570856538588868a66c7bcc8a3728574592529905484526c523398dc1b8f1416e6b264780303acd08d818417a9668b76f1d64d3194432b5af79dc15c9f7
32
33 diff --git a/sys-kernel/dracut/dracut-049.ebuild b/sys-kernel/dracut/dracut-049.ebuild
34 new file mode 100644
35 index 00000000000..dda60561bf7
36 --- /dev/null
37 +++ b/sys-kernel/dracut/dracut-049.ebuild
38 @@ -0,0 +1,158 @@
39 +# Copyright 1999-2019 Gentoo Authors
40 +# Distributed under the terms of the GNU General Public License v2
41 +
42 +EAPI=7
43 +
44 +inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
45 +
46 +DESCRIPTION="Generic initramfs generation tool"
47 +HOMEPAGE="https://dracut.wiki.kernel.org"
48 +SRC_URI="https://github.com/dracutdevs/dracut/archive/${PV}.tar.gz -> ${P}.tar.gz"
49 +
50 +LICENSE="GPL-2"
51 +SLOT="0"
52 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
53 +IUSE="selinux"
54 +
55 +# Tests need root privileges, bug #298014
56 +RESTRICT="test"
57 +
58 +RDEPEND="
59 + app-arch/cpio
60 + >=app-shells/bash-4.0:0
61 + sys-apps/coreutils[xattr(-)]
62 + >=sys-apps/kmod-23[tools]
63 + || (
64 + >=sys-apps/sysvinit-2.87-r3
65 + sys-apps/systemd[sysv-utils]
66 + )
67 + >=sys-apps/util-linux-2.21
68 + virtual/pkgconfig
69 + virtual/udev
70 +
71 + selinux? (
72 + sec-policy/selinux-dracut
73 + sys-libs/libselinux
74 + sys-libs/libsepol
75 + )
76 + "
77 +DEPEND=">=sys-apps/kmod-23"
78 +
79 +BDEPEND="
80 + app-text/asciidoc
81 + app-text/docbook-xml-dtd:4.5
82 + >=app-text/docbook-xsl-stylesheets-1.75.2
83 + >=dev-libs/libxslt-1.1.26
84 + virtual/pkgconfig
85 + "
86 +
87 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
88 + README.testsuite TODO )
89 +
90 +QA_MULTILIB_PATHS="usr/lib/dracut/.*"
91 +
92 +PATCHES=(
93 + "${FILESDIR}"/048-dracut-install-simplify-ldd-parsing-logic.patch
94 + "${FILESDIR}"/049-40network-Don-t-include-40network-by-default.patch
95 + "${FILESDIR}"/049-remove-bashism-in-various-boot-scripts.patch
96 +)
97 +
98 +src_configure() {
99 + local myconf=(
100 + --prefix="${EPREFIX}/usr"
101 + --sysconfdir="${EPREFIX}/etc"
102 + --bashcompletiondir="$(get_bashcompdir)"
103 + --systemdsystemunitdir="$(systemd_get_systemunitdir)"
104 + )
105 +
106 + tc-export CC PKG_CONFIG
107 +
108 + echo ./configure "${myconf[@]}"
109 + ./configure "${myconf[@]}" || die
110 +
111 + # Source tarball from github doesn't include this file
112 + echo "DRACUT_VERSION=${PV}" > dracut-version.sh || die
113 +}
114 +
115 +src_install() {
116 + default
117 +
118 + local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
119 + if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
120 + # Preserve lib -> lib64 symlinks in initramfs
121 + libdirs+=( /lib /usr/lib )
122 + fi
123 +
124 + einfo "Setting libdirs to \"${libdirs[*]}\" ..."
125 + echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
126 + insinto "/usr/lib/dracut/dracut.conf.d"
127 + doins "${T}/gentoo.conf"
128 +
129 + insinto /etc/logrotate.d
130 + newins dracut.logrotate dracut
131 +
132 + docinto html
133 + dodoc dracut.html
134 +}
135 +
136 +pkg_postinst() {
137 + if linux-info_get_any_version && linux_config_exists; then
138 + ewarn ""
139 + ewarn "If the following test report contains a missing kernel"
140 + ewarn "configuration option, you should reconfigure and rebuild your"
141 + ewarn "kernel before booting image generated with this Dracut version."
142 + ewarn ""
143 +
144 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
145 +
146 + # Kernel configuration options descriptions:
147 + local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
148 + ERROR_DEVTMPFS+='is missing and REQUIRED'
149 + local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
150 + ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
151 +
152 + check_extra_config
153 + echo
154 + else
155 + ewarn ""
156 + ewarn "Your kernel configuration couldn't be checked."
157 + ewarn "Please check manually if following options are enabled:"
158 + ewarn ""
159 + ewarn " CONFIG_BLK_DEV_INITRD"
160 + ewarn " CONFIG_DEVTMPFS"
161 + ewarn ""
162 + fi
163 +
164 + elog "To get additional features, a number of optional runtime"
165 + elog "dependencies may be installed:"
166 + elog ""
167 + optfeature "Networking support" net-misc/networkmanager
168 + optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \
169 + sys-apps/iproute2 "net-misc/iputils[arping]"
170 + optfeature \
171 + "Measure performance of the boot process for later visualisation" \
172 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
173 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
174 + optfeature "Load kernel modules and drop this privilege for real init" \
175 + sys-libs/libcap
176 + optfeature "Support CIFS" net-fs/cifs-utils
177 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
178 + "sys-fs/cryptsetup[-static-libs]"
179 + optfeature "Support for GPG-encrypted keys for crypt module" \
180 + app-crypt/gnupg
181 + optfeature \
182 + "Allows use of dash instead of default bash (on your own risk)" \
183 + app-shells/dash
184 + optfeature "Support iSCSI" sys-block/open-iscsi
185 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
186 + optfeature "Support MD devices, also known as software RAID devices" \
187 + sys-fs/mdadm
188 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
189 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
190 + optfeature "Support network block devices" sys-block/nbd
191 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
192 + optfeature \
193 + "Install ssh and scp along with config files and specified keys" \
194 + net-misc/openssh
195 + optfeature "Enable logging with rsyslog" app-admin/rsyslog
196 +}
197
198 diff --git a/sys-kernel/dracut/files/049-40network-Don-t-include-40network-by-default.patch b/sys-kernel/dracut/files/049-40network-Don-t-include-40network-by-default.patch
199 new file mode 100644
200 index 00000000000..0d537941f1d
201 --- /dev/null
202 +++ b/sys-kernel/dracut/files/049-40network-Don-t-include-40network-by-default.patch
203 @@ -0,0 +1,34 @@
204 +From 83cbc06ab91288e2d931b4f36935bfdb79a99b0e Mon Sep 17 00:00:00 2001
205 +From: Kairui Song <kasong@××××××.com>
206 +Date: Fri, 12 Oct 2018 13:07:13 +0800
207 +Subject: [PATCH] 40network: Don't include 40network by default
208 +To: <initramfs@×××××××××××.org>
209 +
210 +commit 7347391 ('network-legacy: split off from network module')
211 +splitted network function to network-legacy and removed check() function
212 +of 40network. This caused 40network to be included even if network is
213 +not needed.
214 +
215 +Signed-off-by: Kairui Song <kasong@××××××.com>
216 +---
217 + modules.d/40network/module-setup.sh | 5 +++++
218 + 1 file changed, 5 insertions(+)
219 +
220 +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
221 +index 57c0a45e..e8541636 100755
222 +--- a/modules.d/40network/module-setup.sh
223 ++++ b/modules.d/40network/module-setup.sh
224 +@@ -1,5 +1,10 @@
225 + #!/bin/bash
226 +
227 ++# called by dracut
228 ++check() {
229 ++ return 255
230 ++}
231 ++
232 + # called by dracut
233 + depends() {
234 + echo -n "kernel-network-modules "
235 +--
236 +2.19.2
237 +
238
239 diff --git a/sys-kernel/dracut/files/049-remove-bashism-in-various-boot-scripts.patch b/sys-kernel/dracut/files/049-remove-bashism-in-various-boot-scripts.patch
240 new file mode 100644
241 index 00000000000..93e3ed5bed8
242 --- /dev/null
243 +++ b/sys-kernel/dracut/files/049-remove-bashism-in-various-boot-scripts.patch
244 @@ -0,0 +1,89 @@
245 +From 09d2a1605b1b2663e3c25f1d9950b23a2bf4ad89 Mon Sep 17 00:00:00 2001
246 +From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
247 + <congdanhqx@×××××.com>
248 +Date: Sun, 6 Jan 2019 11:48:02 +0700
249 +Subject: [PATCH] remove bashism in various boot scripts
250 +MIME-Version: 1.0
251 +Content-Type: text/plain; charset=UTF-8
252 +Content-Transfer-Encoding: 8bit
253 +To: <initramfs@×××××××××××.org>
254 +
255 +When using dash as initramfs shell, the boot process is broken.
256 +
257 +Signed-off-by: Đoàn Trần Công Danh <congdanhqx@×××××.com>
258 +---
259 + modules.d/90crypt/crypt-lib.sh | 2 +-
260 + modules.d/90crypt/parse-keydev.sh | 2 +-
261 + modules.d/91crypt-gpg/crypt-gpg-lib.sh | 2 +-
262 + modules.d/95dcssblk/parse-dcssblk.sh | 2 +-
263 + modules.d/98syslog/rsyslogd-start.sh | 2 +-
264 + 5 files changed, 5 insertions(+), 5 deletions(-)
265 +
266 +diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
267 +index bbf485e0..688ea251 100755
268 +--- a/modules.d/90crypt/crypt-lib.sh
269 ++++ b/modules.d/90crypt/crypt-lib.sh
270 +@@ -191,7 +191,7 @@ readkey() {
271 + local device="$3"
272 +
273 + # No mounting needed if the keyfile resides inside the initrd
274 +- if [ "/" == "$keydev" ]; then
275 ++ if [ "/" = "$keydev" ]; then
276 + local mntp=/
277 + else
278 + # This creates a unique single mountpoint for *, or several for explicitly
279 +diff --git a/modules.d/90crypt/parse-keydev.sh b/modules.d/90crypt/parse-keydev.sh
280 +index a45b2fb5..04813414 100755
281 +--- a/modules.d/90crypt/parse-keydev.sh
282 ++++ b/modules.d/90crypt/parse-keydev.sh
283 +@@ -18,7 +18,7 @@ if getargbool 1 rd.luks -n rd_NO_LUKS && \
284 + fi
285 +
286 + # A keydev of '/' is treated as the initrd itself
287 +- if [ "/" == "$keydev" ]; then
288 ++ if [ "/" = "$keydev" ]; then
289 + [ -z "$luksdev" ] && luksdev='*'
290 + echo "$luksdev:$keydev:$keypath" >> /tmp/luks.keys
291 + continue
292 +diff --git a/modules.d/91crypt-gpg/crypt-gpg-lib.sh b/modules.d/91crypt-gpg/crypt-gpg-lib.sh
293 +index b85ed2b8..c051b430 100755
294 +--- a/modules.d/91crypt-gpg/crypt-gpg-lib.sh
295 ++++ b/modules.d/91crypt-gpg/crypt-gpg-lib.sh
296 +@@ -53,7 +53,7 @@ gpg_decrypt() {
297 + --tries 3 --tty-echo-off
298 +
299 + # Clean up the smartcard gpg-agent
300 +- if [ "${useSmartcard}" == "1" ]; then
301 ++ if [ "${useSmartcard}" = "1" ]; then
302 + GNUPGHOME="$gpghome" gpg-connect-agent 1>/dev/null killagent /bye
303 + fi
304 +
305 +diff --git a/modules.d/95dcssblk/parse-dcssblk.sh b/modules.d/95dcssblk/parse-dcssblk.sh
306 +index 8f174408..27ac1d8d 100644
307 +--- a/modules.d/95dcssblk/parse-dcssblk.sh
308 ++++ b/modules.d/95dcssblk/parse-dcssblk.sh
309 +@@ -2,7 +2,7 @@
310 + # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
311 + # ex: ts=8 sw=4 sts=4 et filetype=sh
312 + dcssblk_arg=$(getarg rd.dcssblk=)
313 +-if [ $? == 0 ];then
314 ++if [ $? = 0 ];then
315 + info "Loading dcssblk segments=$dcssblk_arg"
316 + modprobe dcssblk segments=$dcssblk_arg
317 + fi
318 +diff --git a/modules.d/98syslog/rsyslogd-start.sh b/modules.d/98syslog/rsyslogd-start.sh
319 +index c64f2121..86ad50ea 100755
320 +--- a/modules.d/98syslog/rsyslogd-start.sh
321 ++++ b/modules.d/98syslog/rsyslogd-start.sh
322 +@@ -38,7 +38,7 @@ rsyslog_config() {
323 + [ -f /tmp/syslog.conf ] && read conf < /tmp/syslog.conf
324 + [ -z "$conf" ] && conf="/etc/rsyslog.conf" && echo "$conf" > /tmp/syslog.conf
325 +
326 +-if [ $type == "rsyslogd" ]; then
327 ++if [ $type = "rsyslogd" ]; then
328 + template=/etc/templates/rsyslog.conf
329 + if [ -n "$server" ]; then
330 + rsyslog_config "$server" "$template" "$filters" > $conf
331 +--
332 +2.19.2
333 +