Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/
Date: Wed, 26 Aug 2020 22:54:18
Message-Id: 1598478397.f492c407747e2c266c71ea9f19193f8fecd3bd8f.whissi@gentoo
1 commit: f492c407747e2c266c71ea9f19193f8fecd3bd8f
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 26 21:33:28 2020 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 26 21:46:37 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f492c407
7
8 eudev: Enable kmod support
9
10 This will allow us to use (e)udev to load required kernel modules.
11
12 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
13
14 defaults/software.sh | 13 ++++++++++---
15 gkbuilds/eudev.gkbuild | 4 +---
16 gkbuilds/kmod.gkbuild | 24 +++++++++++++++++++-----
17 gkbuilds/xz.gkbuild | 19 +++++++++++++++++++
18 4 files changed, 49 insertions(+), 11 deletions(-)
19
20 diff --git a/defaults/software.sh b/defaults/software.sh
21 index d8dbfc9..619b026 100644
22 --- a/defaults/software.sh
23 +++ b/defaults/software.sh
24 @@ -74,7 +74,7 @@ GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPB
25
26 GKPKG_EUDEV_PN="eudev"
27 GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-VERSION_EUDEV}"
28 -GKPKG_EUDEV_DEPS="util-linux"
29 +GKPKG_EUDEV_DEPS="util-linux zlib xz kmod"
30 GKPKG_EUDEV_SRCTAR="${GKPKG_EUDEV_SRCTAR:-${DISTDIR}/eudev-${GKPKG_EUDEV_PV}.tar.gz}"
31 GKPKG_EUDEV_SRCDIR="${GKPKG_EUDEV_SRCDIR:-eudev-${GKPKG_EUDEV_PV}}"
32 GKPKG_EUDEV_BINPKG="${GKPKG_EUDEV_BINPKG:-%%CACHE%%/eudev-${GKPKG_EUDEV_PV}-%%ARCH%%.tar.xz}"
33 @@ -116,7 +116,7 @@ GKPKG_HWIDS_BINPKG="${GKPKG_HWIDS_BINPKG:-%%CACHE%%/hwids-${GKPKG_HWIDS_PV}-%%AR
34
35 GKPKG_ISCSI_PN="open-iscsi"
36 GKPKG_ISCSI_PV="${GKPKG_ISCSI_PV:-VERSION_ISCSI}"
37 -GKPKG_ISCSI_DEPS="kmod zlib util-linux"
38 +GKPKG_ISCSI_DEPS="util-linux zlib xz kmod"
39 GKPKG_ISCSI_SRCTAR="${GKPKG_ISCSI_SRCTAR:-${DISTDIR}/open-iscsi-${GKPKG_ISCSI_PV}.tar.gz}"
40 GKPKG_ISCSI_SRCDIR="${GKPKG_ISCSI_SRCDIR:-open-iscsi-${GKPKG_ISCSI_PV}}"
41 GKPKG_ISCSI_BINPKG="${GKPKG_ISCSI_BINPKG:-%%CACHE%%/iscsi-${GKPKG_ISCSI_PV}-%%ARCH%%.tar.xz}"
42 @@ -130,7 +130,7 @@ GKPKG_JSON_C_BINPKG="${GKPKG_JSON_C_BINPKG:-%%CACHE%%/json-c-${GKPKG_JSON_C_PV}-
43
44 GKPKG_KMOD_PN="kmod"
45 GKPKG_KMOD_PV="${GKPKG_KMOD_PV:-VERSION_KMOD}"
46 -GKPKG_KMOD_DEPS="zlib"
47 +GKPKG_KMOD_DEPS="zlib xz"
48 GKPKG_KMOD_SRCTAR="${GKPKG_KMOD_SRCTAR:-${DISTDIR}/kmod-${GKPKG_KMOD_PV}.tar.xz}"
49 GKPKG_KMOD_SRCDIR="${GKPKG_KMOD_SRCDIR:-kmod-${GKPKG_KMOD_PV}}"
50 GKPKG_KMOD_BINPKG="${GKPKG_KMOD_BINPKG:-%%CACHE%%/kmod-${GKPKG_KMOD_PV}-%%ARCH%%.tar.xz}"
51 @@ -219,6 +219,13 @@ GKPKG_XFSPROGS_SRCTAR="${GKPKG_XFSPROGS_SRCTAR:-${DISTDIR}/xfsprogs-${GKPKG_XFSP
52 GKPKG_XFSPROGS_SRCDIR="${GKPKG_XFSPROGS_SRCDIR:-xfsprogs-${GKPKG_XFSPROGS_PV}}"
53 GKPKG_XFSPROGS_BINPKG="${GKPKG_XFSPROGS_BINPKG:-%%CACHE%%/xfsprogs-${GKPKG_XFSPROGS_PV}-%%ARCH%%.tar.xz}"
54
55 +GKPKG_XZ_PN="xz"
56 +GKPKG_XZ_PV="${GKPKG_XZ_PV:-VERSION_XZ}"
57 +GKPKG_XZ_DEPS=""
58 +GKPKG_XZ_SRCTAR="${GKPKG_XZ_SRCTAR:-${DISTDIR}/xz-${GKPKG_XZ_PV}.tar.gz}"
59 +GKPKG_XZ_SRCDIR="${GKPKG_XZ_SRCDIR:-xz-${GKPKG_XZ_PV}}"
60 +GKPKG_XZ_BINPKG="${GKPKG_XZ_BINPKG:-%%CACHE%%/xz-${GKPKG_XZ_PV}-%%ARCH%%.tar.xz}"
61 +
62 GKPKG_ZLIB_PN="zlib"
63 GKPKG_ZLIB_PV="${GKPKG_ZLIB_PV:-VERSION_ZLIB}"
64 GKPKG_ZLIB_DEPS=""
65
66 diff --git a/gkbuilds/eudev.gkbuild b/gkbuilds/eudev.gkbuild
67 index 54f2c0d..0677f0e 100644
68 --- a/gkbuilds/eudev.gkbuild
69 +++ b/gkbuilds/eudev.gkbuild
70 @@ -10,11 +10,9 @@ src_configure() {
71 --disable-selinux
72 --disable-rule-generator
73 --disable-hwdb
74 + --enable-kmod
75 )
76
77 - # Cannot link against static kmod, https://lists.freedesktop.org/archives/systemd-devel/2013-June/011173.html
78 - myconf+=( --disable-kmod )
79 -
80 gkconf "${myconf[@]}"
81 }
82
83
84 diff --git a/gkbuilds/kmod.gkbuild b/gkbuilds/kmod.gkbuild
85 index 44a2df3..bf0f355 100644
86 --- a/gkbuilds/kmod.gkbuild
87 +++ b/gkbuilds/kmod.gkbuild
88 @@ -7,16 +7,24 @@ src_prepare() {
89 sed -i \
90 -e '/--enable-static is not supported by kmod/s:as_fn_error:echo:' \
91 configure || die "Failed to re-enable static support"
92 +
93 + # List of symbols which are clashing with (e)udev
94 + cat <<-EOF >> kmod.syms
95 + mkdir_p _kmod_mkdir_p
96 + mkdir_parents _kmod_mkdir_parents
97 + path_is_absolute _kmod_path_is_absolute
98 + path_make_absolute_cwd _kmod_path_make_absolute_cwd
99 + EOF
100 }
101
102 src_configure() {
103 local myconf=(
104 - --without-xz
105 - --with-zlib
106 - --without-openssl
107 + --enable-static
108 --disable-python
109 --disable-tools
110 - --enable-static
111 + --with-xz
112 + --with-zlib
113 + --without-openssl
114 )
115
116 gkconf "${myconf[@]}"
117 @@ -27,10 +35,16 @@ src_install() {
118
119 # remove hardcoded $BROOT
120 sed -i \
121 - -e 's/-L\/[^ ]*/-L${libdir}/' \
122 + -e 's/-L\/[^ ]*/-L${libdir}/g' \
123 "${D}"/usr/lib*/pkgconfig/*.pc \
124 || die
125
126 + # rename internal symbols to avoid clashing with (e)udev
127 + $(tc-getOBJCOPY) \
128 + --redefine-syms=kmod.syms \
129 + "${D}"/usr/lib*/libkmod.a \
130 + || die
131 +
132 rm -rf \
133 "${D}"/usr/share/
134 }
135
136 diff --git a/gkbuilds/xz.gkbuild b/gkbuilds/xz.gkbuild
137 new file mode 100644
138 index 0000000..8d2e6f5
139 --- /dev/null
140 +++ b/gkbuilds/xz.gkbuild
141 @@ -0,0 +1,19 @@
142 +# Copyright 1999-2020 Gentoo Authors
143 +# Distributed under the terms of the GNU General Public License v2
144 +
145 +src_configure() {
146 + local myconf=(
147 + --enable-threads
148 + --enable-static
149 + --disable-nls
150 + --disable-xz
151 + --disable-xzdec
152 + --disable-lzmadec
153 + --disable-lzmainfo
154 + --disable-lzma-links
155 + --disable-scripts
156 + --disable-doc
157 + )
158 +
159 + gkconf "${myconf[@]}"
160 +}