sys-kernel/genkernel: add 4.3.16

Signed-off-by: Ben Kohler <bkohler@gentoo.org>
This commit is contained in:
Ben Kohler
2024-06-11 13:40:21 -05:00
parent ce715d7fa7
commit 2887f40009
2 changed files with 281 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ DIST genkernel-4.3.11.tar.xz 462644 BLAKE2B beb36fc021ecbc44ae206fdcbac2f10c3ecb
DIST genkernel-4.3.12.tar.xz 463308 BLAKE2B 81bcc841110db63940f6bdbaf15016a877ee3099398dd983a8562e602eb0adbb03eebc8d6da7dd25da3549ff28d9cbbed00d569a00c63452ceaa9cdaf914ec5e SHA512 6b77aeede76c2e51f34d2ec0407215b27b32e268d8dac26ab4889be1891d1787d48cf804c1fe8c3cef5407442754078fec0af18ef7850c02d9306656715fca82
DIST genkernel-4.3.14.tar.xz 469672 BLAKE2B 8ccc7b4b1ccda0771b4e701610e7be32980b6ee8348013ebc670a596a566463b848c4089b596ba1d0e7412abc0f854e05178b9a71227d947ad5a4baf2d3a65d6 SHA512 80cd67e62dc135baa6d3a947cdacef9261ce83003c94946708d924a5b0ee31f3bb5ccd54af48b7a8f4ca1cb525c5753e4aca56bc23844fb46a0a80d66a03acee
DIST genkernel-4.3.15.tar.xz 470256 BLAKE2B 12ab3308e8ae8a4cf55d27c0b346ced820320a544e64ba4cb5ba49bb03f6a16dc0c3c0323aa0cc13cc1f296132be55059cb66e30df3d72d31eb22ee35d9d05f3 SHA512 ae7a9cb2e0b54f9878f6079f217754c395f2a15e2d19f74c4e53207bc60b1f3328ae563beaa7d67a6274f394f84802eb598b069a6833bd1f4f790a5bb646f30b
DIST genkernel-4.3.16.tar.xz 470516 BLAKE2B 87e62f7c97268bd567e9e7bb34914abb6a518215b364fe9fd1aa01db4015ff6a47e5d53479239181176867f626dab3f5a1d2af3036e6af1b684ade87b01b0faa SHA512 87d6bd335e2610dadb56fc3f0775927fc642b200c9dfd7f7a823a544a17f25fbc007a7fc4b04fefadfd31d172bf58cebd8958ebec6deea91cdf101bbb7f8792d
DIST gnupg-1.4.23.tar.bz2 3749353 BLAKE2B ec5e6bef0c7bb2a65813d7852cebeaa24c4855f9d9d9e802070da50b89fff56b747682933aa766dd130f849efcfe28f7aa74f3153405429bcf3845ef29c6dd6e SHA512 78dc52a2010202a4afc8814b29fda657a6c9fe230d5e7db11ae040edd2b0ca819e1baa4dbd6c0d04d36cd353df484e83f52d17759d2891c2cf7025c0b5d36612
DIST hwids-20210613.tar.gz 3867741 BLAKE2B 64c4b0a83058a2052f7b132241008a3cc75452e93a9a57a9159c357c23fd09ee256abc2b94e700b5d8e8bd4e231ae12932d2c2f32fb03853207739cb3387047d SHA512 4568f6b8c0ca80ec772bd2785d4dc169d1d13a721472a15399158d9a7f31abbe414c5c8cfdf1a3b81cce4e33742a4b6e005e97e3e907643d0afdc8e953624fea
DIST json-c-0.13.1.tar.gz 639425 BLAKE2B 1da310309f9ce03306a9fd4a161670e460cf0b2222348df7c006902390f74a4cf100aab1ce6ac8a361a278dd917c114a278de5b3445817f3a40ae287478add46 SHA512 e984db2a42b9c95b52c798b2e8dd1b79951a8dcba27370af30c43b9549fbb00008dbcf052a535c528209aaee38e6d1f760168b706905ae72f3e704ed20f8a1a1

View File

@@ -0,0 +1,280 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# genkernel-9999 -> latest Git branch "master"
# genkernel-VERSION -> normal genkernel release
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 python-single-r1
# Whenever you bump a GKPKG, check if you have to move
# or add new patches!
VERSION_BCACHE_TOOLS="1.1_p20230217"
# boost-1.84.0 needs dev-build/b2 packaged
VERSION_BOOST="1.79.0"
VERSION_BTRFS_PROGS="6.7.1"
VERSION_BUSYBOX="1.36.1"
VERSION_COREUTILS="9.4"
VERSION_CRYPTSETUP="2.6.1"
VERSION_DMRAID="1.0.0.rc16-3"
VERSION_DROPBEAR="2022.83"
VERSION_EUDEV="3.2.10"
VERSION_EXPAT="2.5.0"
VERSION_E2FSPROGS="1.47.0"
VERSION_FUSE="2.9.9"
# gnupg-2.x needs several new deps packaged
VERSION_GPG="1.4.23"
VERSION_HWIDS="20210613"
# open-iscsi-2.1.9 static build not working yet
VERSION_ISCSI="2.1.8"
# json-c-0.17 needs gkbuild ported to meson
VERSION_JSON_C="0.17"
VERSION_KMOD="31"
VERSION_LIBAIO="0.3.113"
VERSION_LIBGCRYPT="1.10.3"
VERSION_LIBGPGERROR="1.47"
VERSION_LIBXCRYPT="4.4.36"
VERSION_LVM="2.03.22"
VERSION_LZO="2.10"
VERSION_MDADM="4.2"
VERSION_POPT="1.19"
VERSION_STRACE="6.7"
VERSION_THIN_PROVISIONING_TOOLS="0.9.0"
# unionfs-fuse-3.4 needs fuse:3
VERSION_UNIONFS_FUSE="2.0"
VERSION_USERSPACE_RCU="0.14.0"
VERSION_UTIL_LINUX="2.39.3"
VERSION_XFSPROGS="6.4.0"
VERSION_XZ="5.4.2"
VERSION_ZLIB="1.3.1"
VERSION_ZSTD="1.5.5"
VERSION_KEYUTILS="1.6.3"
COMMON_URI="
https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git/snapshot/a5e3753516bd39c431def86c8dfec8a9cea1ddd4.tar.gz -> bcache-tools-${VERSION_BCACHE_TOOLS}.tar.gz
https://boostorg.jfrog.io/artifactory/main/release/${VERSION_BOOST}/source/boost_${VERSION_BOOST//./_}.tar.bz2
https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${VERSION_BTRFS_PROGS}.tar.xz
https://www.busybox.net/downloads/busybox-${VERSION_BUSYBOX}.tar.bz2
mirror://gnu/coreutils/coreutils-${VERSION_COREUTILS}.tar.xz
https://www.kernel.org/pub/linux/utils/cryptsetup/v$(ver_cut 1-2 ${VERSION_CRYPTSETUP})/cryptsetup-${VERSION_CRYPTSETUP}.tar.xz
https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-${VERSION_DMRAID}.tar.bz2
https://matt.ucc.asn.au/dropbear/releases/dropbear-${VERSION_DROPBEAR}.tar.bz2
https://dev.gentoo.org/~blueness/eudev/eudev-${VERSION_EUDEV}.tar.gz
https://github.com/libexpat/libexpat/releases/download/R_${VERSION_EXPAT//\./_}/expat-${VERSION_EXPAT}.tar.xz
https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${VERSION_E2FSPROGS}/e2fsprogs-${VERSION_E2FSPROGS}.tar.xz
https://github.com/libfuse/libfuse/releases/download/fuse-${VERSION_FUSE}/fuse-${VERSION_FUSE}.tar.gz
mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2
https://github.com/gentoo/hwids/archive/hwids-${VERSION_HWIDS}.tar.gz
https://github.com/open-iscsi/open-iscsi/archive/${VERSION_ISCSI}.tar.gz -> open-iscsi-${VERSION_ISCSI}.tar.gz
https://s3.amazonaws.com/json-c_releases/releases/json-c-${VERSION_JSON_C}.tar.gz
https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-${VERSION_KMOD}.tar.xz
https://releases.pagure.org/libaio/libaio-${VERSION_LIBAIO}.tar.gz
mirror://gnupg/libgcrypt/libgcrypt-${VERSION_LIBGCRYPT}.tar.bz2
mirror://gnupg/libgpg-error/libgpg-error-${VERSION_LIBGPGERROR}.tar.bz2
https://github.com/besser82/libxcrypt/releases/download/v${VERSION_LIBXCRYPT}/libxcrypt-${VERSION_LIBXCRYPT}.tar.xz
https://mirrors.kernel.org/sourceware/lvm2/LVM2.${VERSION_LVM}.tgz
https://www.oberhumer.com/opensource/lzo/download/lzo-${VERSION_LZO}.tar.gz
https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
http://ftp.rpm.org/popt/releases/popt-1.x/popt-${VERSION_POPT}.tar.gz
https://github.com/strace/strace/releases/download/v${VERSION_STRACE}/strace-${VERSION_STRACE}.tar.xz
https://github.com/jthornber/thin-provisioning-tools/archive/v${VERSION_THIN_PROVISIONING_TOOLS}.tar.gz -> thin-provisioning-tools-${VERSION_THIN_PROVISIONING_TOOLS}.tar.gz
https://github.com/rpodgorny/unionfs-fuse/archive/v${VERSION_UNIONFS_FUSE}.tar.gz -> unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.gz
https://lttng.org/files/urcu/userspace-rcu-${VERSION_USERSPACE_RCU}.tar.bz2
https://www.kernel.org/pub/linux/utils/util-linux/v${VERSION_UTIL_LINUX:0:4}/util-linux-${VERSION_UTIL_LINUX}.tar.xz
https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-${VERSION_XFSPROGS}.tar.xz
https://tukaani.org/xz/xz-${VERSION_XZ}.tar.gz
https://zlib.net/zlib-${VERSION_ZLIB}.tar.gz
https://github.com/facebook/zstd/archive/v${VERSION_ZSTD}.tar.gz -> zstd-${VERSION_ZSTD}.tar.gz
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/keyutils-${VERSION_KEYUTILS}.tar.gz
"
if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
inherit git-r3
S="${WORKDIR}/${P}"
SRC_URI="${COMMON_URI}"
else
SRC_URI="https://dev.gentoo.org/~bkohler/dist/${P}.tar.xz
${COMMON_URI}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
DESCRIPTION="Gentoo automatic kernel building scripts"
HOMEPAGE="https://wiki.gentoo.org/wiki/Genkernel https://gitweb.gentoo.org/proj/genkernel.git/"
LICENSE="GPL-2"
SLOT="0"
IUSE="ibm +firmware"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
# Note:
# We need sys-devel/* deps like autoconf or automake at _runtime_
# because genkernel will usually build things like LVM2, cryptsetup,
# mdadm... during initramfs generation which will require these
# things.
DEPEND="
app-text/asciidoc
"
RDEPEND="${PYTHON_DEPS}
app-alternatives/cpio
>=app-misc/pax-utils-1.2.2
app-portage/elt-patches
app-portage/portage-utils
dev-util/gperf
sys-apps/sandbox
dev-build/autoconf
dev-build/autoconf-archive
dev-build/automake
app-alternatives/bc
app-alternatives/yacc
app-alternatives/lex
dev-build/libtool
virtual/pkgconfig
elibc_glibc? ( sys-libs/glibc[static-libs(+)] )
firmware? ( sys-kernel/linux-firmware )
"
PATCHES=(
)
src_unpack() {
if [[ ${PV} == 9999* ]]; then
git-r3_src_unpack
else
local gk_src_file
for gk_src_file in ${A} ; do
if [[ ${gk_src_file} == genkernel-* ]] ; then
unpack "${gk_src_file}"
fi
done
fi
}
src_prepare() {
default
if [[ ${PV} == 9999* ]] ; then
einfo "Updating version tag"
GK_V="$(git describe --tags | sed 's:^v::')-git"
sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
einfo "Producing ChangeLog from Git history..."
pushd "${S}/.git" >/dev/null || die
git log > "${S}"/ChangeLog || die
popd >/dev/null || die
fi
# Export all the versions that may be used by genkernel build.
for v in $(set |awk -F= '/^VERSION_/{print $1}') ; do
export ${v}
done
if use ibm ; then
cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
else
cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
fi
}
src_compile() {
emake PREFIX=/usr
}
src_install() {
emake DESTDIR="${D}" PREFIX=/usr install
dodoc AUTHORS ChangeLog README TODO
python_fix_shebang "${ED}"/usr/share/genkernel/path_expander.py
newbashcomp "${FILESDIR}"/genkernel-4.bash "${PN}"
insinto /etc
doins "${FILESDIR}"/initramfs.mounts
pushd "${DISTDIR}" &>/dev/null || die
insinto /usr/share/genkernel/distfiles
doins ${A/${P}.tar.xz/}
popd &>/dev/null || die
}
pkg_postinst() {
# Wiki is out of date
#echo
#elog 'Documentation is available in the genkernel manual page'
#elog 'as well as the following URL:'
#echo
#elog 'https://wiki.gentoo.org/wiki/Genkernel'
#echo
local replacing_version
for replacing_version in ${REPLACING_VERSIONS} ; do
if ver_test "${replacing_version}" -lt 4 ; then
# This is an upgrade which requires user review
ewarn ""
ewarn "Genkernel v4.x is a new major release which touches"
ewarn "nearly everything. Be careful, read updated manpage"
ewarn "and pay special attention to program output regarding"
ewarn "changed kernel command-line parameters!"
# Show this elog only once
break
fi
done
if [[ $(find /boot -name 'kernel-genkernel-*' 2>/dev/null | wc -l) -gt 0 ]] ; then
ewarn ''
ewarn 'Default kernel filename was changed from "kernel-genkernel-<ARCH>-<KV>"'
ewarn 'to "vmlinuz-<KV>". Please be aware that due to lexical ordering the'
ewarn '*default* boot entry in your boot manager could still point to last kernel'
ewarn 'built with genkernel before that name change, resulting in booting old'
ewarn 'kernel when not paying attention on boot.'
fi
# Show special warning for users depending on remote unlock capabilities
local gk_config="${EROOT}/etc/genkernel.conf"
if [[ -f "${gk_config}" ]] ; then
if grep -q -E "^SSH=[\"\']?yes" "${gk_config}" 2>/dev/null ; then
if ! grep -q dosshd /proc/cmdline 2>/dev/null ; then
ewarn ""
ewarn "IMPORTANT: SSH is currently enabled in your genkernel config"
ewarn "file (${gk_config}). However, 'dosshd' is missing from current"
ewarn "kernel command-line. You MUST add 'dosshd' to keep sshd enabled"
ewarn "in genkernel v4+ initramfs!"
fi
fi
if grep -q -E "^CMD_CALLBACK=.*emerge.*@module-rebuild" "${gk_config}" 2>/dev/null ; then
elog ""
elog "Please remove 'emerge @module-rebuild' from genkernel config"
elog "file (${gk_config}) and make use of new MODULEREBUILD option"
elog "instead."
fi
fi
local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l)
if [[ ${n_root_args} -gt 1 ]] ; then
ewarn "WARNING: Multiple root arguments (root=) on kernel command-line detected!"
ewarn "If you are appending non-persistent device names to kernel command-line,"
ewarn "next reboot could fail in case running system and initramfs do not agree"
ewarn "on detected root device name!"
fi
if [[ -d /run ]] ; then
local permission_run_expected="drwxr-xr-x"
local permission_run=$(stat -c "%A" /run)
if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
ewarn "Found the following problematic permissions:"
ewarn ""
ewarn " ${permission_run} /run"
ewarn ""
ewarn "Expected:"
ewarn ""
ewarn " ${permission_run_expected} /run"
ewarn ""
ewarn "This is known to be causing problems for any UDEV-enabled service."
fi
fi
}