public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Thomas Deutschmann" <whissi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/
Date: Wed, 26 Aug 2020 22:54:15 +0000 (UTC)	[thread overview]
Message-ID: <1598478397.f492c407747e2c266c71ea9f19193f8fecd3bd8f.whissi@gentoo> (raw)

commit:     f492c407747e2c266c71ea9f19193f8fecd3bd8f
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 26 21:33:28 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Wed Aug 26 21:46:37 2020 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f492c407

eudev: Enable kmod support

This will allow us to use (e)udev to load required kernel modules.

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 defaults/software.sh   | 13 ++++++++++---
 gkbuilds/eudev.gkbuild |  4 +---
 gkbuilds/kmod.gkbuild  | 24 +++++++++++++++++++-----
 gkbuilds/xz.gkbuild    | 19 +++++++++++++++++++
 4 files changed, 49 insertions(+), 11 deletions(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index d8dbfc9..619b026 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -74,7 +74,7 @@ GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPB
 
 GKPKG_EUDEV_PN="eudev"
 GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-VERSION_EUDEV}"
-GKPKG_EUDEV_DEPS="util-linux"
+GKPKG_EUDEV_DEPS="util-linux zlib xz kmod"
 GKPKG_EUDEV_SRCTAR="${GKPKG_EUDEV_SRCTAR:-${DISTDIR}/eudev-${GKPKG_EUDEV_PV}.tar.gz}"
 GKPKG_EUDEV_SRCDIR="${GKPKG_EUDEV_SRCDIR:-eudev-${GKPKG_EUDEV_PV}}"
 GKPKG_EUDEV_BINPKG="${GKPKG_EUDEV_BINPKG:-%%CACHE%%/eudev-${GKPKG_EUDEV_PV}-%%ARCH%%.tar.xz}"
@@ -116,7 +116,7 @@ GKPKG_HWIDS_BINPKG="${GKPKG_HWIDS_BINPKG:-%%CACHE%%/hwids-${GKPKG_HWIDS_PV}-%%AR
 
 GKPKG_ISCSI_PN="open-iscsi"
 GKPKG_ISCSI_PV="${GKPKG_ISCSI_PV:-VERSION_ISCSI}"
-GKPKG_ISCSI_DEPS="kmod zlib util-linux"
+GKPKG_ISCSI_DEPS="util-linux zlib xz kmod"
 GKPKG_ISCSI_SRCTAR="${GKPKG_ISCSI_SRCTAR:-${DISTDIR}/open-iscsi-${GKPKG_ISCSI_PV}.tar.gz}"
 GKPKG_ISCSI_SRCDIR="${GKPKG_ISCSI_SRCDIR:-open-iscsi-${GKPKG_ISCSI_PV}}"
 GKPKG_ISCSI_BINPKG="${GKPKG_ISCSI_BINPKG:-%%CACHE%%/iscsi-${GKPKG_ISCSI_PV}-%%ARCH%%.tar.xz}"
@@ -130,7 +130,7 @@ GKPKG_JSON_C_BINPKG="${GKPKG_JSON_C_BINPKG:-%%CACHE%%/json-c-${GKPKG_JSON_C_PV}-
 
 GKPKG_KMOD_PN="kmod"
 GKPKG_KMOD_PV="${GKPKG_KMOD_PV:-VERSION_KMOD}"
-GKPKG_KMOD_DEPS="zlib"
+GKPKG_KMOD_DEPS="zlib xz"
 GKPKG_KMOD_SRCTAR="${GKPKG_KMOD_SRCTAR:-${DISTDIR}/kmod-${GKPKG_KMOD_PV}.tar.xz}"
 GKPKG_KMOD_SRCDIR="${GKPKG_KMOD_SRCDIR:-kmod-${GKPKG_KMOD_PV}}"
 GKPKG_KMOD_BINPKG="${GKPKG_KMOD_BINPKG:-%%CACHE%%/kmod-${GKPKG_KMOD_PV}-%%ARCH%%.tar.xz}"
@@ -219,6 +219,13 @@ GKPKG_XFSPROGS_SRCTAR="${GKPKG_XFSPROGS_SRCTAR:-${DISTDIR}/xfsprogs-${GKPKG_XFSP
 GKPKG_XFSPROGS_SRCDIR="${GKPKG_XFSPROGS_SRCDIR:-xfsprogs-${GKPKG_XFSPROGS_PV}}"
 GKPKG_XFSPROGS_BINPKG="${GKPKG_XFSPROGS_BINPKG:-%%CACHE%%/xfsprogs-${GKPKG_XFSPROGS_PV}-%%ARCH%%.tar.xz}"
 
+GKPKG_XZ_PN="xz"
+GKPKG_XZ_PV="${GKPKG_XZ_PV:-VERSION_XZ}"
+GKPKG_XZ_DEPS=""
+GKPKG_XZ_SRCTAR="${GKPKG_XZ_SRCTAR:-${DISTDIR}/xz-${GKPKG_XZ_PV}.tar.gz}"
+GKPKG_XZ_SRCDIR="${GKPKG_XZ_SRCDIR:-xz-${GKPKG_XZ_PV}}"
+GKPKG_XZ_BINPKG="${GKPKG_XZ_BINPKG:-%%CACHE%%/xz-${GKPKG_XZ_PV}-%%ARCH%%.tar.xz}"
+
 GKPKG_ZLIB_PN="zlib"
 GKPKG_ZLIB_PV="${GKPKG_ZLIB_PV:-VERSION_ZLIB}"
 GKPKG_ZLIB_DEPS=""

diff --git a/gkbuilds/eudev.gkbuild b/gkbuilds/eudev.gkbuild
index 54f2c0d..0677f0e 100644
--- a/gkbuilds/eudev.gkbuild
+++ b/gkbuilds/eudev.gkbuild
@@ -10,11 +10,9 @@ src_configure() {
 		--disable-selinux
 		--disable-rule-generator
 		--disable-hwdb
+		--enable-kmod
 	)
 
-	# Cannot link against static kmod, https://lists.freedesktop.org/archives/systemd-devel/2013-June/011173.html
-	myconf+=( --disable-kmod )
-
 	gkconf "${myconf[@]}"
 }
 

diff --git a/gkbuilds/kmod.gkbuild b/gkbuilds/kmod.gkbuild
index 44a2df3..bf0f355 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/
 }

diff --git a/gkbuilds/xz.gkbuild b/gkbuilds/xz.gkbuild
new file mode 100644
index 0000000..8d2e6f5
--- /dev/null
+++ b/gkbuilds/xz.gkbuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+src_configure() {
+	local myconf=(
+		--enable-threads
+		--enable-static
+		--disable-nls
+		--disable-xz
+		--disable-xzdec
+		--disable-lzmadec
+		--disable-lzmainfo
+		--disable-lzma-links
+		--disable-scripts
+		--disable-doc
+	)
+
+	gkconf "${myconf[@]}"
+}


             reply	other threads:[~2020-08-26 22:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-26 22:54 Thomas Deutschmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-07-27 10:42 [gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/ Sam James
2021-07-06  0:25 Thomas Deutschmann
2021-03-13 15:42 Thomas Deutschmann
2020-07-23 23:57 Thomas Deutschmann
2020-07-23 23:57 Thomas Deutschmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1598478397.f492c407747e2c266c71ea9f19193f8fecd3bd8f.whissi@gentoo \
    --to=whissi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox