Skip to content

Commit

Permalink
Merge pull request #2287 from flatcar/krnowak/new-profile
Browse files Browse the repository at this point in the history
Switch to 23.0 profiles
  • Loading branch information
krnowak authored Oct 2, 2024
2 parents 00549ba + 089aeab commit 0f9c68d
Show file tree
Hide file tree
Showing 20 changed files with 188 additions and 59 deletions.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
portage-stable:default/linux/amd64/17.1/no-multilib/hardened
portage-stable:default/linux/amd64/23.0/no-multilib/hardened/systemd
:coreos/base
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
portage-stable:default/linux/arm64/17.0/hardened
portage-stable:default/linux/arm64/23.0/hardened
portage-stable:targets/systemd
:coreos/base
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@ net-misc/curl ssl openssl curl_ssl_openssl
# that cause the build in stage1 to fail. Pulling in asm too, as it is
# required by cpudetection.
dev-libs/gmp cpudetection asm

# Disable gentoo-only bits.
sys-apps/systemd vanilla

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,3 @@ python_single_target_python3_13
# We don't care about i10n, takes too much space, pulls in too many
# extra dependencies.
nls

# We don't have a separate /{bin,lib} and /usr/{bin,lib}. But the base
# profile in portage-stable forces split-usr, so in use.force we
# unforce it and here we mask it.
#
# TODO: Drop it when we move to
# default/linux/{amd64,arm64}/23.0/hardened/selinux/systemd profile
split-usr

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

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
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ if [[ ${PV} == 9999* ]]; then
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"
KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi

LICENSE="LGPL-2"
SLOT="0"
IUSE="debug doc +lzma pkcs7 split-usr static-libs +tools +zlib +zstd"
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.
Expand Down Expand Up @@ -79,6 +79,8 @@ src_prepare() {

src_configure() {
local myeconfargs=(
--bindir="${EPREFIX}/bin"
--sbindir="${EPREFIX}/sbin"
--enable-shared
--with-bashcompletiondir="$(get_bashcompdir)"
$(use_enable debug)
Expand All @@ -99,10 +101,12 @@ src_install() {

find "${ED}" -type f -name "*.la" -delete || die

if use tools && use split-usr; then
# Move modprobe to /sbin to match CONFIG_MODPROBE_PATH from kernel
rm "${ED}/usr/bin/modprobe" || die
dosym ../usr/bin/kmod /sbin/modprobe
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
Expand Down
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 ~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
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then
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"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi

LICENSE="LGPL-2"
Expand Down Expand Up @@ -49,13 +49,9 @@ BDEPEND="
zlib? ( virtual/pkgconfig )
"
if [[ ${PV} == 9999* ]]; then
BDEPEND+=" dev-libs/libxslt"
BDEPEND+=" app-text/scdoc"
fi

PATCHES=(
"${FILESDIR}"/${PN}-31-musl-basename.patch
)

src_prepare() {
default

Expand All @@ -78,6 +74,8 @@ src_prepare() {
}

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"
Expand All @@ -93,12 +91,22 @@ src_configure() {
$(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
Expand Down

0 comments on commit 0f9c68d

Please sign in to comment.