diff options
author | 2018-03-09 17:55:47 -0800 | |
---|---|---|
committer | 2018-03-09 17:55:47 -0800 | |
commit | 2f21704fb2fad7531d40504637c23bf30232e935 (patch) | |
tree | 996867338f562a537dbaf3b4ecb5047811ff22c7 | |
parent | media-libs/mesa: adress bug #635040 (diff) | |
download | musl-2f21704f.tar.gz musl-2f21704f.tar.bz2 musl-2f21704f.zip |
sys-kernel/dracut: version bump to 047
-rw-r--r-- | sys-kernel/dracut/Manifest | 1 | ||||
-rw-r--r-- | sys-kernel/dracut/dracut-046-r1.ebuild | 2 | ||||
-rw-r--r-- | sys-kernel/dracut/dracut-047.ebuild | 153 | ||||
-rw-r--r-- | sys-kernel/dracut/files/dracut-047-libfts.patch | 87 |
4 files changed, 242 insertions, 1 deletions
diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest index 29e51488..71ff6ad6 100644 --- a/sys-kernel/dracut/Manifest +++ b/sys-kernel/dracut/Manifest @@ -1,2 +1,3 @@ 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 diff --git a/sys-kernel/dracut/dracut-046-r1.ebuild b/sys-kernel/dracut/dracut-046-r1.ebuild index 75ecc579..db583018 100644 --- a/sys-kernel/dracut/dracut-046-r1.ebuild +++ b/sys-kernel/dracut/dracut-046-r1.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://dracut.wiki.kernel.org" SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~ia64 ~mips ~ppc ~sparc ~x86" +KEYWORDS="amd64 ~arm ia64 ~mips ~ppc sparc x86" IUSE="debug selinux" RESTRICT="test" diff --git a/sys-kernel/dracut/dracut-047.ebuild b/sys-kernel/dracut/dracut-047.ebuild new file mode 100644 index 00000000..977b3ce6 --- /dev/null +++ b/sys-kernel/dracut/dracut-047.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit bash-completion-r1 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="~amd64 ~arm ~ia64 ~mips ~ppc ~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 dracut.html ) + +QA_MULTILIB_PATHS="usr/lib/dracut/.*" + +PATCHES=( + "${FILESDIR}/045-systemdutildir.patch" + "${FILESDIR}"/${P}-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 +} + +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 "Framebuffer splash (media-gfx/splashutils)" \ + media-gfx/splashutils + 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/dracut-047-libfts.patch b/sys-kernel/dracut/files/dracut-047-libfts.patch new file mode 100644 index 00000000..4d67f12f --- /dev/null +++ b/sys-kernel/dracut/files/dracut-047-libfts.patch @@ -0,0 +1,87 @@ +diff -Naur dracut-047.orig/Makefile dracut-047/Makefile +--- dracut-047.orig/Makefile 2018-03-09 17:50:16.951255993 -0800 ++++ dracut-047/Makefile 2018-03-09 17:50:21.034255919 -0800 +@@ -13,7 +13,7 @@ + bindir ?= ${prefix}/bin + mandir ?= ${prefix}/share/man + CFLAGS ?= -O2 -g -Wall +-CFLAGS += -std=gnu99 -D_FILE_OFFSET_BITS=64 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 $(KMOD_CFLAGS) ++CFLAGS += -std=gnu99 -D_FILE_OFFSET_BITS=64 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 $(KMOD_CFLAGS) $(FTS_CFLAGS) + bashcompletiondir ?= ${datadir}/bash-completion/completions + pkgconfigdatadir ?= $(datadir)/pkgconfig + +@@ -61,7 +61,7 @@ + install/strv.o: install/strv.c install/strv.h install/util.h install/macro.h install/log.h + + install/dracut-install: $(DRACUT_INSTALL_OBJECTS) +- $(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) $(KMOD_LIBS) ++ $(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) $(KMOD_LIBS) $(FTS_LIBS) + + dracut-install: install/dracut-install + ln -fs $< $@ +diff -Naur dracut-047.orig/configure dracut-047/configure +--- dracut-047.orig/configure 2018-03-09 17:50:16.951255993 -0800 ++++ dracut-047/configure 2018-03-09 17:51:16.447254927 -0800 +@@ -7,6 +7,7 @@ + + enable_documentation=yes + ++CC="${CC:-gcc}" + PKG_CONFIG="${PKG_CONFIG:-pkg-config}" + + # Little helper function for reading args from the commandline. +@@ -52,10 +53,40 @@ + shift + done + ++printf "checking for libkmod... " + if ! ${PKG_CONFIG} --exists --print-errors " libkmod >= 23 "; then ++ printf "no\n" + echo "dracut needs pkg-config and libkmod >= 23." >&2 + exit 1 + fi ++printf "yes\n" ++ ++tmpc="./conftest.c" ++ ++printf "checking whether we have fts available from libc... " ++echo '#if !defined(__x86_64__)' > "$tmpc" ++echo '#undef _FILE_OFFSET_BITS' >> "$tmpc" ++echo '#define _FILE_OFFSET_BITS 32' >> "$tmpc" ++echo '#endif' >> "$tmpc" ++echo '#include <fts.h>' >> "$tmpc" ++echo 'int main() { FTS* fts = 0; return fts_close(fts); return 0; }' >> "$tmpc" ++if $CC -o /dev/null "$tmpc" >/dev/null 2>&1 ; then ++printf "yes\n" ++fts_library=false ++else ++printf "no\n" ++printf "checking whether we have fts available from libfts... " ++if $CC -lfts -o /dev/null "$tmpc" >/dev/null 2>&1 ; then ++printf "yes\n" ++fts_library=true ++else ++printf "no\n" ++echo "fts not in libc and libfts not found." ++exit 1 ++fi ++fi ++ ++rm $tmpc + + cat > Makefile.inc.$$ <<EOF + prefix ?= ${prefix} +@@ -70,6 +101,13 @@ + KMOD_LIBS ?= $(${PKG_CONFIG} --libs " libkmod >= 23 ") + EOF + ++if $fts_library ; then ++cat >> Makefile.inc.$$ <<EOF ++FTS_CFLAGS ?= $(${PKG_CONFIG} --cflags " fts-standalone ") ++FTS_LIBS ?= $(${PKG_CONFIG} --libs " fts-standalone ") ++EOF ++fi ++ + { + [[ $programprefix ]] && echo "programprefix ?= ${programprefix}" + [[ $execprefix ]] && echo "execprefix ?= ${execprefix}" |