diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2013-05-27 15:38:50 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2013-05-27 15:38:50 +0000 |
commit | 95d1a5abd3f2e24969c73655d911a2a5eeba9ca3 (patch) | |
tree | 20c8a6477ae82c42a381730cf8c133dff941e2ec /sys-apps | |
parent | Migrate to EAPI 5. Use mirror:// in SRC_URI. (diff) | |
download | gentoo-2-95d1a5abd3f2e24969c73655d911a2a5eeba9ca3.tar.gz gentoo-2-95d1a5abd3f2e24969c73655d911a2a5eeba9ca3.tar.bz2 gentoo-2-95d1a5abd3f2e24969c73655d911a2a5eeba9ca3.zip |
Avoid calling syscall() with -1 patch from upstream for http://bugs.funtoo.org/browse/FL-534 as requested by lxnay
(Portage version: 2.2.0_alpha174/cvs/Linux x86_64, signed Manifest commit with key 4868F14D)
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/kmod/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/kmod/files/kmod-13-errno_syscall.patch | 31 | ||||
-rw-r--r-- | sys-apps/kmod/kmod-13-r1.ebuild | 109 |
3 files changed, 148 insertions, 1 deletions
diff --git a/sys-apps/kmod/ChangeLog b/sys-apps/kmod/ChangeLog index 1dfe3cd296dd..f4582e0a12b2 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.82 2013/04/10 03:12:15 williamh Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/kmod/ChangeLog,v 1.83 2013/05/27 15:38:49 ssuominen Exp $ + +*kmod-13-r1 (27 May 2013) + + 27 May 2013; Samuli Suominen <ssuominen@gentoo.org> +kmod-13-r1.ebuild, + +files/kmod-13-errno_syscall.patch: + Avoid calling syscall() with -1 patch from upstream for + http://bugs.funtoo.org/browse/FL-534 as requested by lxnay 10 Apr 2013; William Hubbs <williamh@gentoo.org> kmod-13.ebuild, kmod-9999.ebuild: diff --git a/sys-apps/kmod/files/kmod-13-errno_syscall.patch b/sys-apps/kmod/files/kmod-13-errno_syscall.patch new file mode 100644 index 000000000000..8909ef58c295 --- /dev/null +++ b/sys-apps/kmod/files/kmod-13-errno_syscall.patch @@ -0,0 +1,31 @@ +From 5eac795b8b067842caec32f96d55a7554c3c67f9 Mon Sep 17 00:00:00 2001 +From: Jan Luebbe <jlu@pengutronix.de> +Date: Thu, 02 May 2013 14:47:12 +0000 +Subject: libkmod: Avoid calling syscall() with -1 + +At least in qemu 1.4.1 for vexpress/arm-cortexa9, this resulted in an +illegal instruction error. Solve that by returning an error when +__NR_finit_module is -1. +--- +diff --git a/libkmod/missing.h b/libkmod/missing.h +index edb88b9..b45bbe2 100644 +--- a/libkmod/missing.h ++++ b/libkmod/missing.h +@@ -20,8 +20,15 @@ + #endif + + #ifndef HAVE_FINIT_MODULE ++#include <errno.h> ++ + static inline int finit_module(int fd, const char *uargs, int flags) + { ++ if (__NR_finit_module == -1) { ++ errno = ENOSYS; ++ return -1; ++ } ++ + return syscall(__NR_finit_module, fd, uargs, flags); + } + #endif +-- +cgit v0.9.1 diff --git a/sys-apps/kmod/kmod-13-r1.ebuild b/sys-apps/kmod/kmod-13-r1.ebuild new file mode 100644 index 000000000000..e0a3209585c2 --- /dev/null +++ b/sys-apps/kmod/kmod-13-r1.ebuild @@ -0,0 +1,109 @@ +# 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-13-r1.ebuild,v 1.1 2013/05/27 15:38:49 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 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() { + epatch "${FILESDIR}"/${P}-errno_syscall.patch + + 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 +} + +src_configure() +{ + econf \ + --bindir=/bin \ + --with-rootlibdir=/$(get_libdir) \ + $(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 +} + +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 +} |