aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAric Belsito <lluixhi@gmail.com>2018-03-09 17:55:47 -0800
committerAric Belsito <lluixhi@gmail.com>2018-03-09 17:55:47 -0800
commit2f21704fb2fad7531d40504637c23bf30232e935 (patch)
tree996867338f562a537dbaf3b4ecb5047811ff22c7
parentmedia-libs/mesa: adress bug #635040 (diff)
downloadmusl-2f21704f.tar.gz
musl-2f21704f.tar.bz2
musl-2f21704f.zip
sys-kernel/dracut: version bump to 047
-rw-r--r--sys-kernel/dracut/Manifest1
-rw-r--r--sys-kernel/dracut/dracut-046-r1.ebuild2
-rw-r--r--sys-kernel/dracut/dracut-047.ebuild153
-rw-r--r--sys-kernel/dracut/files/dracut-047-libfts.patch87
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}"