-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
It's from Gentoo commit 182d0bcc12df904e8ab40dcb902c555a1aed34e5.
- Loading branch information
Showing
4 changed files
with
180 additions
and
10 deletions.
There are no files selected for viewing
1 change: 1 addition & 0 deletions
1
sdk_container/src/third_party/portage-stable/sys-apps/kmod/Manifest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST kmod-32.tar.xz 511988 BLAKE2B 5b5dac4639406549b23bb1da44bedd86a42885304ef4c7c67344dc8fd70b9e0ca3f83d033c6b80f6e00371d7188e205f4b68fadc56a9ddbf9d6a9d28e9b1e9a4 SHA512 29162135aabd025dff178a4147a754b5da5964855dbeee65ca867dec3b84437f35c1c97f0f027e974a021d3ee9a4940309a716859cc3cfe93c7ed0aada338f24 | ||
DIST kmod-33.tar.xz 514428 BLAKE2B 5fb4ea9d96217f8c94cba752b07a1b53228c6ae79dbaa605030cd84e3c6ca8d9c1a703a0253cea1d6c78a78f1507e2a1d9c6215d28dcb01b9e7f8b98a9fde425 SHA512 32d79d0bb7e89012f18458d4e88325f8e19a7dba6e1d5cff01aec3e618d1757b0f7c119735bf38d02e0d056a14273fd7522fca7c61a4d12a3ea5854bb662fff8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
157 changes: 157 additions & 0 deletions
157
sdk_container/src/third_party/portage-stable/sys-apps/kmod/kmod-33.ebuild
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
# Copyright 1999-2024 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
inherit autotools libtool bash-completion-r1 | ||
|
||
DESCRIPTION="Library and tools for managing linux kernel modules" | ||
HOMEPAGE="https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git" | ||
|
||
if [[ ${PV} == 9999* ]]; then | ||
EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/kernel/${PN}/${PN}.git" | ||
inherit git-r3 | ||
else | ||
SRC_URI="https://mirrors.edge.kernel.org/pub/linux/utils/kernel/kmod/${P}.tar.xz" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" | ||
fi | ||
|
||
LICENSE="LGPL-2" | ||
SLOT="0" | ||
IUSE="debug doc +lzma pkcs7 static-libs +tools +zlib +zstd" | ||
|
||
# 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" | ||
|
||
# - >=zlib-1.2.6 required because of bug #427130 | ||
# - Block systemd below 217 for -static-nodes-indicate-that-creation-of-static-nodes-.patch | ||
# - >=zstd-1.5.2-r1 required for bug #771078 | ||
RDEPEND=" | ||
!sys-apps/module-init-tools | ||
!sys-apps/modutils | ||
!<sys-apps/openrc-0.13.8 | ||
!<sys-apps/systemd-216-r3 | ||
lzma? ( >=app-arch/xz-utils-5.0.4-r1 ) | ||
pkcs7? ( >=dev-libs/openssl-1.1.0:= ) | ||
zlib? ( >=sys-libs/zlib-1.2.6 ) | ||
zstd? ( >=app-arch/zstd-1.5.2-r1:= ) | ||
" | ||
DEPEND="${RDEPEND}" | ||
BDEPEND=" | ||
doc? ( | ||
dev-util/gtk-doc | ||
dev-build/gtk-doc-am | ||
) | ||
lzma? ( virtual/pkgconfig ) | ||
zlib? ( virtual/pkgconfig ) | ||
" | ||
if [[ ${PV} == 9999* ]]; then | ||
BDEPEND+=" app-text/scdoc" | ||
fi | ||
|
||
src_prepare() { | ||
default | ||
|
||
if [[ ! -e configure ]] || use doc ; then | ||
if use doc; then | ||
cp "${BROOT}"/usr/share/aclocal/gtk-doc.m4 m4 || die | ||
gtkdocize --copy --docdir libkmod/docs || die | ||
else | ||
touch libkmod/docs/gtk-doc.make | ||
fi | ||
eautoreconf | ||
else | ||
elibtoolize | ||
fi | ||
|
||
# Restore possibility of running --enable-static, bug #472608 | ||
sed -i \ | ||
-e '/--enable-static is not supported by kmod/s:as_fn_error:echo:' \ | ||
configure || die | ||
} | ||
|
||
src_configure() { | ||
# TODO: >=33 enables decompressing without libraries being built in | ||
# as kmod defers to the kernel. How should the ebuild be adapted? | ||
local myeconfargs=( | ||
--bindir="${EPREFIX}/bin" | ||
--sbindir="${EPREFIX}/sbin" | ||
--enable-shared | ||
--with-bashcompletiondir="$(get_bashcompdir)" | ||
$(use_enable debug) | ||
$(usev doc '--enable-gtk-doc') | ||
$(use_enable static-libs static) | ||
$(use_enable tools) | ||
$(use_with lzma xz) | ||
$(use_with pkcs7 openssl) | ||
$(use_with zlib) | ||
$(use_with zstd) | ||
) | ||
|
||
if [[ ${PV} != 9999 ]] ; then | ||
# See src_install | ||
myeconfargs+=( --disable-manpages ) | ||
fi | ||
|
||
econf "${myeconfargs[@]}" | ||
} | ||
|
||
src_install() { | ||
default | ||
|
||
if [[ ${PV} != 9999 ]] ; then | ||
# The dist logic is broken but the files are in there (bug #937942) | ||
emake -C man DESTDIR="${D}" install | ||
fi | ||
|
||
find "${ED}" -type f -name "*.la" -delete || die | ||
|
||
if use tools; then | ||
local cmd | ||
for cmd in depmod insmod modprobe rmmod; do | ||
rm "${ED}"/bin/${cmd} || die | ||
dosym ../bin/kmod /sbin/${cmd} | ||
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 | ||
# bug #260139 | ||
doins "${T}"/usb-load-ehci-first.conf | ||
|
||
newinitd "${FILESDIR}"/kmod-static-nodes-r1 kmod-static-nodes | ||
} | ||
|
||
pkg_postinst() { | ||
if [[ -L ${EROOT}/etc/runlevels/boot/static-nodes ]]; then | ||
ewarn "Removing old conflicting static-nodes init script from the boot runlevel" | ||
rm -f "${EROOT}"/etc/runlevels/boot/static-nodes | ||
fi | ||
|
||
# Add kmod to the runlevel automatically if this is the first install of this package. | ||
if [[ -z ${REPLACING_VERSIONS} ]]; then | ||
if [[ ! -d ${EROOT}/etc/runlevels/sysinit ]]; then | ||
mkdir -p "${EROOT}"/etc/runlevels/sysinit | ||
fi | ||
if [[ -x ${EROOT}/etc/init.d/kmod-static-nodes ]]; then | ||
ln -s /etc/init.d/kmod-static-nodes "${EROOT}"/etc/runlevels/sysinit/kmod-static-nodes | ||
fi | ||
fi | ||
|
||
if [[ -e ${EROOT}/etc/runlevels/sysinit ]]; then | ||
if ! has_version sys-apps/systemd && [[ ! -e ${EROOT}/etc/runlevels/sysinit/kmod-static-nodes ]]; then | ||
ewarn | ||
ewarn "You need to add kmod-static-nodes to the sysinit runlevel for" | ||
ewarn "kernel modules to have required static nodes!" | ||
ewarn "Run this command:" | ||
ewarn "\trc-update add kmod-static-nodes sysinit" | ||
fi | ||
fi | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters