commit:     9fe92e88ca28ae64afd09611e92f6a21700a1ac8
Author:     Marty E. Plummer <hanetzer <AT> startmail <DOT> com>
AuthorDate: Sun Jan 20 19:52:51 2019 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jan 20 21:02:37 2019 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=9fe92e88

sys-kernel/dracut: version bump to 048

Package-Manager: Portage-2.3.56, Repoman-2.3.12
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-kernel/dracut/Manifest                         |   1 +
 sys-kernel/dracut/dracut-048-r1.ebuild             | 154 +++++++++++++++++++++
 ...dracut-install-simplify-ldd-parsing-logic.patch |  41 ++++++
 3 files changed, 196 insertions(+)

diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest
index 71ff6ad..4de5b6f 100644
--- a/sys-kernel/dracut/Manifest
+++ b/sys-kernel/dracut/Manifest
@@ -1,3 +1,4 @@
 DIST dracut-045.tar.xz 292652 BLAKE2B 
0e7c57ddca6757d59823afdc4ff23dcb06cc9cec317ece8cca14c5b6dfd2a7984fb8e857f5f48ad61922ba11b4b68944b366bddb02552efb52375f6e12802de7
 SHA512 
b57aab1f6fbdd5ad52a13a0eb99937b1abcd11507a2a3e6ec9bcb94e578cc32edc01a814ea2cef93158c27c17e3e40bcdd32a66457a20363f8136b8b546bbb4a
 DIST dracut-046.tar.xz 299520 BLAKE2B 
1e2d848aa0db0e90734d8c60610a60b1f0ff67f8c4d4f9933bec0bc1290071b1b1ee3cdb6c3da5b82d8f6d4cc7561ee17d38685659a4a6ee48a9085e388dfced
 SHA512 
75cefc184960024ef32f7bb5a0fe060e9c7d82dbfd0fe247d54b585e2ebbf0f8af5d5dc1be7e5e8cf2c3bc27b3293842c6361ae62d047289d0c59d7d40b09122
 DIST dracut-047.tar.xz 305836 BLAKE2B 
18333ae1e24cfbbb6a152bf9ba2c48884821f6a506344259ba56c581a9f3efac7b4c88e8ca149ef1f83347a5e4d59acba61e42b8e0ab3a9e9beb8684d5db28b0
 SHA512 
03369726b6c2b682d0c9dead7b7dbd1c3989aaf2b4a561015634d33a94e5230d03cb634c3890191b19dd8c1c83389533ae1a46d45d2024ba885e0d2d46c5d035
+DIST dracut-048.tar.xz 308484 BLAKE2B 
b19c8122034a8b40cbc9d09245730900b59691c336f1d231e768786ad64068e0a8daf57ae9a4182ab50d9e1c683c9b7dcac354eb26d8a60f061db78121bc11c7
 SHA512 
97fcfd5d314ef40687c245d95d2f1d0f3f9ff0472e66b6e6324bf9bd6b98186104f9d71fd9af344126d6ea9fa47b744d52831a374225633225f6f17fb15c04e0

diff --git a/sys-kernel/dracut/dracut-048-r1.ebuild 
b/sys-kernel/dracut/dracut-048-r1.ebuild
new file mode 100644
index 0000000..b3796a7
--- /dev/null
+++ b/sys-kernel/dracut/dracut-048-r1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org";
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug selinux"
+
+# Tests need root privileges, bug #298014
+RESTRICT="test"
+
+COMMON_DEPEND=">=sys-apps/kmod-23[tools]
+       virtual/pkgconfig
+       virtual/udev
+       "
+RDEPEND="${COMMON_DEPEND}
+       app-arch/cpio
+       >=app-shells/bash-4.0:0
+       sys-apps/coreutils[xattr(-)]
+       || (
+               >=sys-apps/sysvinit-2.87-r3
+               sys-apps/systemd[sysv-utils]
+       )
+       >=sys-apps/util-linux-2.21
+
+       debug? ( dev-util/strace )
+       elibc_musl? ( sys-libs/fts-standalone )
+       selinux? (
+               sec-policy/selinux-dracut
+               sys-libs/libselinux
+               sys-libs/libsepol
+       )
+       "
+DEPEND="${COMMON_DEPEND}
+       app-text/asciidoc
+       app-text/docbook-xml-dtd:4.5
+       >=app-text/docbook-xsl-stylesheets-1.75.2
+       >=dev-libs/libxslt-1.1.26
+       "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+       README.testsuite TODO )
+
+QA_MULTILIB_PATHS="usr/lib/dracut/.*"
+
+PATCHES=(
+       "${FILESDIR}"/048-dracut-install-simplify-ldd-parsing-logic.patch
+       "${FILESDIR}"/${PN}-047-libfts.patch
+)
+
+src_configure() {
+       local myconf=(
+               --prefix="${EPREFIX}/usr"
+               --sysconfdir="${EPREFIX}/etc"
+               --bashcompletiondir="$(get_bashcompdir)"
+               --systemdsystemunitdir="$(systemd_get_systemunitdir)"
+       )
+
+       tc-export CC PKG_CONFIG
+
+       echo ./configure "${myconf[@]}"
+       ./configure "${myconf[@]}" || die
+}
+
+src_install() {
+       default
+
+       local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
+       if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
+               # Preserve lib -> lib64 symlinks in initramfs
+               libdirs+=( /lib /usr/lib )
+       fi
+
+       einfo "Setting libdirs to \"${libdirs[*]}\" ..."
+       echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
+       insinto "/usr/lib/dracut/dracut.conf.d"
+       doins "${T}/gentoo.conf"
+
+       insinto /etc/logrotate.d
+       newins dracut.logrotate dracut
+
+       docinto html
+       dodoc dracut.html
+}
+
+pkg_postinst() {
+       if linux-info_get_any_version && linux_config_exists; then
+               ewarn ""
+               ewarn "If the following test report contains a missing kernel"
+               ewarn "configuration option, you should reconfigure and rebuild 
your"
+               ewarn "kernel before booting image generated with this Dracut 
version."
+               ewarn ""
+
+               local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+               # Kernel configuration options descriptions:
+               local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs 
filesystem to mount at /dev" '
+               ERROR_DEVTMPFS+='is missing and REQUIRED'
+               local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM 
filesystem and RAM disk '
+               ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing 
and REQUIRED'
+
+               check_extra_config
+               echo
+       else
+               ewarn ""
+               ewarn "Your kernel configuration couldn't be checked."
+               ewarn "Please check manually if following options are enabled:"
+               ewarn ""
+               ewarn "  CONFIG_BLK_DEV_INITRD"
+               ewarn "  CONFIG_DEVTMPFS"
+               ewarn ""
+       fi
+
+       elog "To get additional features, a number of optional runtime"
+       elog "dependencies may be installed:"
+       elog ""
+       optfeature "Networking support"  net-misc/curl "net-misc/dhcp[client]" \
+               sys-apps/iproute2 "net-misc/iputils[arping]"
+       optfeature \
+               "Measure performance of the boot process for later 
visualisation" \
+               app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+       optfeature "Scan for Btrfs on block devices"  sys-fs/btrfs-progs
+       optfeature "Load kernel modules and drop this privilege for real init" \
+               sys-libs/libcap
+       optfeature "Support CIFS" net-fs/cifs-utils
+       optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+               "sys-fs/cryptsetup[-static-libs]"
+       optfeature "Support for GPG-encrypted keys for crypt module" \
+               app-crypt/gnupg
+       optfeature \
+               "Allows use of dash instead of default bash (on your own risk)" 
\
+               app-shells/dash
+       optfeature "Support iSCSI" sys-block/open-iscsi
+       optfeature "Support Logical Volume Manager" sys-fs/lvm2
+       optfeature "Support MD devices, also known as software RAID devices" \
+               sys-fs/mdadm
+       optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+       optfeature "Plymouth boot splash"  '>=sys-boot/plymouth-0.8.5-r5'
+       optfeature "Support network block devices" sys-block/nbd
+       optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+       optfeature \
+               "Install ssh and scp along with config files and specified 
keys" \
+               net-misc/openssh
+       optfeature "Enable logging with syslog-ng or rsyslog" 
app-admin/syslog-ng \
+               app-admin/rsyslog
+}

diff --git 
a/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch 
b/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch
new file mode 100644
index 0000000..aa9c543
--- /dev/null
+++ 
b/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch
@@ -0,0 +1,41 @@
+From 6d886bb74d1608e4565d926aa259ea5afc9df7b9 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <[email protected]>
+Date: Thu, 4 Oct 2018 16:45:47 -0400
+Subject: [PATCH] dracut-install: simplify ldd parsing logic
+
+The previous logic would not handle absolute paths on the left side of
+the "=>" properly. For example, on Gentoo ARM64, ldd outputs this:
+
+       /lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1
+
+At runtime, the kernel tries to load the file from /lib, and fails if we
+only provide it in /lib64.
+
+Instead of looking for the first slash after the "=>", just look for the
+first slash, period. This would fail if we somehow had a relative path
+on the left side (foo/libbar.so), but I'm not aware of any binaries that
+would contain such an entry in DT_NEEDED.
+
+Bug: https://bugs.gentoo.org/667752
+Signed-off-by: Mike Gilbert <[email protected]>
+---
+ install/dracut-install.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/install/dracut-install.c b/install/dracut-install.c
+index 88bca1d44..5f352b360 100644
+--- a/install/dracut-install.c
++++ b/install/dracut-install.c
+@@ -479,11 +479,7 @@ static int resolve_deps(const char *src)
+                 if (strstr(buf, destrootdir))
+                         break;
+ 
+-                p = strstr(buf, "=>");
+-                if (!p)
+-                        p = buf;
+-
+-                p = strchr(p, '/');
++                p = strchr(buf, '/');
+                 if (p) {
+                         char *q;
+ 

Reply via email to