summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2013-07-23 10:31:20 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2013-07-23 10:31:20 +0000
commit665184a33d628744620f83b2e0e815c5e7802c1f (patch)
tree9b673277384b1e07c20c6120e2049519a351c62e /sys-apps/kmod
parentpatch to correct AR use wrt Bug #477676 (diff)
downloadgentoo-2-665184a33d628744620f83b2e0e815c5e7802c1f.tar.gz
gentoo-2-665184a33d628744620f83b2e0e815c5e7802c1f.tar.bz2
gentoo-2-665184a33d628744620f83b2e0e815c5e7802c1f.zip
Import support for kmod tmpfiles.d static device node creation wrt #477856 by Alexander Vershilov
(Portage version: 2.2.0_alpha188/cvs/Linux x86_64, signed Manifest commit with key 4868F14D)
Diffstat (limited to 'sys-apps/kmod')
-rw-r--r--sys-apps/kmod/ChangeLog9
-rw-r--r--sys-apps/kmod/files/static-nodes18
-rw-r--r--sys-apps/kmod/kmod-14-r1.ebuild132
-rw-r--r--sys-apps/kmod/kmod-9999.ebuild26
-rw-r--r--sys-apps/kmod/metadata.xml2
5 files changed, 183 insertions, 4 deletions
diff --git a/sys-apps/kmod/ChangeLog b/sys-apps/kmod/ChangeLog
index 4f16d07c851b..9fa86c9ce3e3 100644
--- a/sys-apps/kmod/ChangeLog
+++ b/sys-apps/kmod/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-apps/kmod
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/kmod/ChangeLog,v 1.98 2013/07/04 18:52:39 williamh Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/kmod/ChangeLog,v 1.99 2013/07/23 10:31:20 ssuominen Exp $
+
+*kmod-14-r1 (23 Jul 2013)
+
+ 23 Jul 2013; Samuli Suominen <ssuominen@gentoo.org> +kmod-14-r1.ebuild,
+ kmod-9999.ebuild, metadata.xml, +files/static-nodes:
+ Import support for kmod tmpfiles.d static device node creation wrt #477856 by
+ Alexander Vershilov
04 Jul 2013; William Hubbs <williamh@gentoo.org> -kmod-13.ebuild:
remove old version
diff --git a/sys-apps/kmod/files/static-nodes b/sys-apps/kmod/files/static-nodes
new file mode 100644
index 000000000000..5df7a501e90f
--- /dev/null
+++ b/sys-apps/kmod/files/static-nodes
@@ -0,0 +1,18 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/kmod/files/static-nodes,v 1.1 2013/07/23 10:31:20 ssuominen Exp $
+
+description="Create list of required static device nodes for the current kernel"
+
+depend() {
+ need localmount
+ before tmpdfiles-setup
+}
+
+start() {
+ ebegin "Creating list of required static device nodes for the current kernel"
+ checkpath -q -d /run/tmpfiles.d
+ kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
+ eend $?
+}
diff --git a/sys-apps/kmod/kmod-14-r1.ebuild b/sys-apps/kmod/kmod-14-r1.ebuild
new file mode 100644
index 000000000000..cf4596c2c203
--- /dev/null
+++ b/sys-apps/kmod/kmod-14-r1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/kmod/kmod-14-r1.ebuild,v 1.1 2013/07/23 10:31:20 ssuominen Exp $
+
+EAPI=5
+
+VIRTUAL_MODUTILS=1
+
+inherit autotools eutils libtool multilib linux-mod
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/kernel/${PN}/${PN}.git"
+ inherit git-2
+else
+ SRC_URI="mirror://kernel/linux/utils/kernel/kmod/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="library and tools for managing linux kernel modules"
+HOMEPAGE="http://git.kernel.org/?p=utils/kernel/kmod/kmod.git"
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="debug doc lzma +openrc static-libs +tools zlib"
+
+# Upstream does not support running the test suite with custom configure flags.
+# I was also told that the test suite is intended for kmod developers.
+# So we have to restrict it.
+# See bug #408915.
+RESTRICT="test"
+
+RDEPEND="!sys-apps/module-init-tools
+ !sys-apps/modutils
+ lzma? ( >=app-arch/xz-utils-5.0.4-r1 )
+ zlib? ( >=sys-libs/zlib-1.2.6 )" #427130
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ doc? ( dev-util/gtk-doc )
+ lzma? ( virtual/pkgconfig )
+ zlib? ( virtual/pkgconfig )"
+
+pkg_setup() {
+ CONFIG_CHECK="~MODULES ~MODULE_UNLOAD"
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ if [ ! -e configure ]; then
+ if use doc; then
+ gtkdocize --copy --docdir libkmod/docs || die
+ else
+ touch libkmod/docs/gtk-doc.make
+ fi
+ eautoreconf
+ else
+ elibtoolize
+ fi
+
+ # Restore possibility of running --enable-static wrt #472608
+ sed -i \
+ -e '/--enable-static is not supported by kmod/s:as_fn_error:echo:' \
+ configure || die
+}
+
+src_configure() {
+ econf \
+ --bindir=/bin \
+ --with-rootlibdir=/$(get_libdir) \
+ --enable-shared \
+ $(use_enable static-libs static) \
+ $(use_enable tools) \
+ $(use_enable debug) \
+ $(use_enable doc gtk-doc) \
+ $(use_with lzma xz) \
+ $(use_with zlib)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+
+ if use tools; then
+ local bincmd sbincmd
+ for sbincmd in depmod insmod lsmod modinfo modprobe rmmod; do
+ dosym /bin/kmod /sbin/${sbincmd}
+ done
+
+ # These are also usable as normal user
+ for bincmd in lsmod modinfo; do
+ dosym kmod /bin/${bincmd}
+ done
+ fi
+
+ cat <<-EOF > "${T}"/usb-load-ehci-first.conf
+ softdep uhci_hcd pre: ehci_hcd
+ softdep ohci_hcd pre: ehci_hcd
+ EOF
+
+ insinto /lib/modprobe.d
+ doins "${T}"/usb-load-ehci-first.conf #260139
+
+ use openrc && doinitd "${FILESDIR}"/static-nodes
+}
+
+pkg_postinst() {
+ # Upgrade path from sys-apps/module-init-tools
+ if [[ -d ${ROOT}/lib/modules/${KV_FULL} ]]; then
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ update_depmod
+ fi
+ fi
+
+ if use openrc; then
+ # Add kmod to the boot runlevel automatically if this is the first install of this package.
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if [[ -x "${ROOT}"etc/init.d/static-nodes && -d "${ROOT}"etc/runlevels/boot ]]; then
+ ln -s /etc/init.d/static-nodes "${ROOT}"/etc/runlevels/boot/static-nodes
+ fi
+ fi
+
+ if [[ -e "${ROOT}"etc/runlevels/sysinit ]]; then
+ if [[ ! -e "${ROOT}"etc/runlevels/boot/static-nodes ]]; then
+ ewarn
+ ewarn "You need to add static-nodes to the boot runlevel."
+ ewarn "If you do not do this,"
+ ewarn "your system will not necessarily have the required static nodes!"
+ ewarn "Run this command:"
+ ewarn "\trc-update add static-nodes boot"
+ fi
+ fi
+ fi
+}
diff --git a/sys-apps/kmod/kmod-9999.ebuild b/sys-apps/kmod/kmod-9999.ebuild
index 1ed034145337..0944b2f11c36 100644
--- a/sys-apps/kmod/kmod-9999.ebuild
+++ b/sys-apps/kmod/kmod-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/kmod/kmod-9999.ebuild,v 1.56 2013/07/04 17:03:31 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/kmod/kmod-9999.ebuild,v 1.57 2013/07/23 10:31:20 ssuominen Exp $
EAPI=5
@@ -21,7 +21,7 @@ HOMEPAGE="http://git.kernel.org/?p=utils/kernel/kmod/kmod.git"
LICENSE="LGPL-2"
SLOT="0"
-IUSE="debug doc lzma static-libs +tools zlib"
+IUSE="debug doc lzma +openrc static-libs +tools zlib"
# Upstream does not support running the test suite with custom configure flags.
# I was also told that the test suite is intended for kmod developers.
@@ -98,6 +98,8 @@ src_install() {
insinto /lib/modprobe.d
doins "${T}"/usb-load-ehci-first.conf #260139
+
+ use openrc && doinitd "${FILESDIR}"/static-nodes
}
pkg_postinst() {
@@ -107,4 +109,24 @@ pkg_postinst() {
update_depmod
fi
fi
+
+ if use openrc; then
+ # Add kmod to the boot runlevel automatically if this is the first install of this package.
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if [[ -x "${ROOT}"etc/init.d/static-nodes && -d "${ROOT}"etc/runlevels/boot ]]; then
+ ln -s /etc/init.d/static-nodes "${ROOT}"/etc/runlevels/boot/static-nodes
+ fi
+ fi
+
+ if [[ -e "${ROOT}"etc/runlevels/sysinit ]]; then
+ if [[ ! -e "${ROOT}"etc/runlevels/boot/static-nodes ]]; then
+ ewarn
+ ewarn "You need to add static-nodes to the boot runlevel."
+ ewarn "If you do not do this,"
+ ewarn "your system will not necessarily have the required static nodes!"
+ ewarn "Run this command:"
+ ewarn "\trc-update add static-nodes boot"
+ fi
+ fi
+ fi
}
diff --git a/sys-apps/kmod/metadata.xml b/sys-apps/kmod/metadata.xml
index 8d5b0e9dc0ce..97fc7c560d6f 100644
--- a/sys-apps/kmod/metadata.xml
+++ b/sys-apps/kmod/metadata.xml
@@ -5,8 +5,8 @@
<maintainer>
<email>udev-bugs@gentoo.org</email>
</maintainer>
-
<use>
+ <flag name='openrc'>Install the OpenRC init scripts</flag>
<flag name='tools'>Install module loading/unloading tools.</flag>
</use>
</pkgmetadata>