aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-08-26 23:33:28 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-08-26 23:46:37 +0200
commitf492c407747e2c266c71ea9f19193f8fecd3bd8f (patch)
tree4d674cc1c2d330b1aa80a8eee23d5fead24aa5c7 /gkbuilds/kmod.gkbuild
parentgkbuilds/open-iscsi: Use 'pkg-config --static' (diff)
downloadgenkernel-f492c407747e2c266c71ea9f19193f8fecd3bd8f.tar.gz
genkernel-f492c407747e2c266c71ea9f19193f8fecd3bd8f.tar.bz2
genkernel-f492c407747e2c266c71ea9f19193f8fecd3bd8f.zip
eudev: Enable kmod support
This will allow us to use (e)udev to load required kernel modules. Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'gkbuilds/kmod.gkbuild')
-rw-r--r--gkbuilds/kmod.gkbuild24
1 files changed, 19 insertions, 5 deletions
diff --git a/gkbuilds/kmod.gkbuild b/gkbuilds/kmod.gkbuild
index 44a2df3c..bf0f3558 100644
--- a/gkbuilds/kmod.gkbuild
+++ b/gkbuilds/kmod.gkbuild
@@ -7,16 +7,24 @@ src_prepare() {
sed -i \
-e '/--enable-static is not supported by kmod/s:as_fn_error:echo:' \
configure || die "Failed to re-enable static support"
+
+ # List of symbols which are clashing with (e)udev
+ cat <<-EOF >> kmod.syms
+ mkdir_p _kmod_mkdir_p
+ mkdir_parents _kmod_mkdir_parents
+ path_is_absolute _kmod_path_is_absolute
+ path_make_absolute_cwd _kmod_path_make_absolute_cwd
+ EOF
}
src_configure() {
local myconf=(
- --without-xz
- --with-zlib
- --without-openssl
+ --enable-static
--disable-python
--disable-tools
- --enable-static
+ --with-xz
+ --with-zlib
+ --without-openssl
)
gkconf "${myconf[@]}"
@@ -27,10 +35,16 @@ src_install() {
# remove hardcoded $BROOT
sed -i \
- -e 's/-L\/[^ ]*/-L${libdir}/' \
+ -e 's/-L\/[^ ]*/-L${libdir}/g' \
"${D}"/usr/lib*/pkgconfig/*.pc \
|| die
+ # rename internal symbols to avoid clashing with (e)udev
+ $(tc-getOBJCOPY) \
+ --redefine-syms=kmod.syms \
+ "${D}"/usr/lib*/libkmod.a \
+ || die
+
rm -rf \
"${D}"/usr/share/
}