diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2013-07-23 10:31:20 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2013-07-23 10:31:20 +0000 |
commit | 665184a33d628744620f83b2e0e815c5e7802c1f (patch) | |
tree | 9b673277384b1e07c20c6120e2049519a351c62e /sys-apps/kmod | |
parent | patch to correct AR use wrt Bug #477676 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/kmod/files/static-nodes | 18 | ||||
-rw-r--r-- | sys-apps/kmod/kmod-14-r1.ebuild | 132 | ||||
-rw-r--r-- | sys-apps/kmod/kmod-9999.ebuild | 26 | ||||
-rw-r--r-- | sys-apps/kmod/metadata.xml | 2 |
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> |