commit:     b5cb6c719a24b118865777640682e269b33a6e62
Author:     Aric Belsito <lluixhi <AT> gmail <DOT> com>
AuthorDate: Mon Jul  3 20:35:03 2017 +0000
Commit:     Aric Belsito <lluixhi <AT> gmail <DOT> com>
CommitDate: Mon Jul  3 20:35:50 2017 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=b5cb6c71

sys-kernel/dracut: add 045 (most recent)

Now depends on libfts on musl, so we need a patch in order to detect its
presence.

 sys-kernel/dracut/Manifest                      |   4 +
 sys-kernel/dracut/dracut-045.ebuild             | 168 ++++++++++++++++++++++++
 sys-kernel/dracut/files/dracut-045-libfts.patch |  87 ++++++++++++
 sys-kernel/dracut/metadata.xml                  |  28 ++++
 4 files changed, 287 insertions(+)

diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest
new file mode 100644
index 0000000..481a285
--- /dev/null
+++ b/sys-kernel/dracut/Manifest
@@ -0,0 +1,4 @@
+AUX dracut-045-libfts.patch 2744 SHA256 
49151e4f1f1042f9cdc7caa2388f0785526f27820323ca02dc65f6ed61d7d611 SHA512 
cb94e734471118c414c8f78b1e528fb19712e1eb4ccec6999bb1e9e57c239647a5205b63dff69b4f921c6ac6eddfc3c3c6ffef973bff6acd690365a3fe245d56
 WHIRLPOOL 
1170ee991d4dc6f1066737a2fe46e2bf200b537151c4e5ba8c0ec7f0b92cda834e7779004918df21845a2441bc454874a00d7f5532490aaed4ee758278e75039
+DIST dracut-045.tar.xz 292652 SHA256 
ca9c7ea54d3efc8b57ac1427cc5fa4d66688f6cf9d3088f4c5e7ae7c7e84ebf8 SHA512 
b57aab1f6fbdd5ad52a13a0eb99937b1abcd11507a2a3e6ec9bcb94e578cc32edc01a814ea2cef93158c27c17e3e40bcdd32a66457a20363f8136b8b546bbb4a
 WHIRLPOOL 
d9cdf32e4fb745b2598aa2f0504c943f5a069dddc17d5261d594b2fc33921306196386bc35156d5bf71983cc15be3b0cddd504d1b6a2042b45b5c5ae622b23b9
+EBUILD dracut-045.ebuild 4822 SHA256 
f843b16a682e4d9fca90398c9509e48c26e6d1f3b54b54d7416ef24bffb9c40b SHA512 
f2dd17ecbe36fa64f6c5ab84a7c5777636bb0832a22deb274ea01b5e2bc18fdc66c3e526486fc9e4bf59f53d28d60f6935a0b85ad0db17be333688a89a630ed7
 WHIRLPOOL 
09410575b79ab230cfc3593b78914cb8bc6e7e7549334879b4ab9e14bb22dd0bf5bb04aca97d7c92abc4f3907a909c6ddbcae14beab90e3c4a6af9c29b64809a
+MISC metadata.xml 840 SHA256 
8ef5aab36d95735b3b0b1cdba609ef3cd8e883ac38fb619c957fe5ae1e35bd6d SHA512 
d347acc0a7c8b821804280f198aa28cbd4198a8f2d570c2725584b18b04125a684bed6adb48f5cb71fe1ef0e1c19320ad3dbff612dbf972f741b50b91fc388ba
 WHIRLPOOL 
9edf380512d517d1eb6303a81379e8df8c342c3ab4501b150f2c23078185d09251903b4ea182a65c49caeda51ce21845ba34783875b7c8111883ff3855f0dbac

diff --git a/sys-kernel/dracut/dracut-045.ebuild 
b/sys-kernel/dracut/dracut-045.ebuild
new file mode 100644
index 0000000..20908ce
--- /dev/null
+++ b/sys-kernel/dracut/dracut-045.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 linux-info toolchain-funcs systemd
+
+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 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug selinux"
+
+RESTRICT="test"
+
+CDEPEND="virtual/udev
+       virtual/pkgconfig
+       >=sys-apps/kmod-15[tools]
+       "
+RDEPEND="${CDEPEND}
+       app-arch/cpio
+       >=app-shells/bash-4.0:0
+       || (
+               >=sys-apps/sysvinit-2.87-r3
+               sys-apps/systemd[sysv-utils]
+               sys-apps/systemd-sysv-utils
+       )
+       sys-apps/coreutils[xattr(-)]
+       >=sys-apps/util-linux-2.21
+
+       debug? ( dev-util/strace )
+       elibc_musl? ( sys-libs/fts-standalone )
+       selinux? (
+               sys-libs/libselinux
+               sys-libs/libsepol
+               sec-policy/selinux-dracut
+       )
+       !net-analyzer/arping
+       "
+DEPEND="${CDEPEND}
+       app-text/asciidoc
+       >=dev-libs/libxslt-1.1.26
+       app-text/docbook-xml-dtd:4.5
+       >=app-text/docbook-xsl-stylesheets-1.75.2
+       "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+       README.testsuite TODO )
+
+QA_MULTILIB_PATHS="usr/lib/dracut"
+
+PATCHES=(
+       "${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 dracutlibdir="usr/lib/dracut"
+
+       local libdirs="/$(get_libdir) /usr/$(get_libdir)"
+       if [[ ${SYMLINK_LIB} = yes ]]; then
+               # Preserve lib -> lib64 symlinks in initramfs
+               [[ $libdirs =~ /lib\  ]] || libdirs+=" /lib /usr/lib"
+       fi
+
+       einfo "Setting libdirs to \"${libdirs}\" ..."
+       echo "libdirs=\"${libdirs}\"" > "${T}/gentoo.conf"
+       insinto "${dracutlibdir}/dracut.conf.d"
+       doins "${T}/gentoo.conf"
+
+       insinto /etc/logrotate.d
+       newins dracut.logrotate dracut
+
+       dodir /var/lib/dracut/overlay
+
+       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 desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at 
/dev"
+               local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk 
"\
+"(initramfs/initrd) support"
+
+               local opt desc
+
+               # Generate ERROR_* variables for check_extra_config.
+               for opt in ${CONFIG_CHECK}; do
+                       opt=${opt#\~}
+                       desc=desc_${opt}
+                       eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
+                               "is missing and REQUIRED'"
+               done
+
+               check_extra_config
+               echo
+       else
+               ewarn ""
+               ewarn "Your kernel configuration couldn't be checked.  Do you 
have"
+               ewarn "/usr/src/linux/.config file there?  Please check 
manually if"
+               ewarn "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-045-libfts.patch 
b/sys-kernel/dracut/files/dracut-045-libfts.patch
new file mode 100644
index 0000000..cb35fe5
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-045-libfts.patch
@@ -0,0 +1,87 @@
+diff -Naur dracut-045.orig/Makefile dracut-045/Makefile
+--- dracut-045.orig/Makefile   2017-07-03 12:44:30.407689932 -0700
++++ dracut-045/Makefile        2017-07-03 13:17:10.262396884 -0700
+@@ -12,7 +12,7 @@
+ sysconfdir ?= ${prefix}/etc
+ bindir ?= ${prefix}/bin
+ mandir ?= ${prefix}/share/man
+-CFLAGS ?= -O2 -g -Wall $(KMOD_CFLAGS)
++CFLAGS ?= -O2 -g -Wall $(KMOD_CFLAGS) $(FTS_CFLAGS)
+ CFLAGS += -std=gnu99 -D_FILE_OFFSET_BITS=64 -Wformat -Werror=format-security 
-Wp,-D_FORTIFY_SOURCE=2
+ 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-045.orig/configure dracut-045/configure
+--- dracut-045.orig/configure  2017-07-03 12:44:30.409689958 -0700
++++ dracut-045/configure       2017-07-03 13:29:29.159797981 -0700
+@@ -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 >= 15 "; then
++    printf "no\n"
+     echo "dracut needs pkg-config and libkmod >= 15." >&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 >= 15 ")
+ 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}"

diff --git a/sys-kernel/dracut/metadata.xml b/sys-kernel/dracut/metadata.xml
new file mode 100644
index 0000000..f5d5063
--- /dev/null
+++ b/sys-kernel/dracut/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Patrick McLean</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Alexander Tsoy</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Amadeusz Żołnowski</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Mike Gilbert</name>
+       </maintainer>
+       <use>
+               <flag name="debug">Module installing additional tools like 
strace, file
+                       editor, ssh and more</flag>
+       </use>
+       <longdescription lang="en">
+       Generic, modular initramfs generation tool that can be used across 
various
+       distributions.
+       </longdescription>
+</pkgmetadata>

Reply via email to