Compare commits

...

2 Commits

4 changed files with 320 additions and 0 deletions

View File

@ -4,6 +4,8 @@ DIST genpatches-5.15-98.base.tar.xz 4003192 BLAKE2B 79d4fb60a5192137571109ffaefd
DIST genpatches-5.15-98.extras.tar.xz 3932 BLAKE2B 4e5dd4f8ba6d14764a6546cf7e64dffb3ddcc77678b7d96d2498917f30561792c904c635b0fce7191b7c0c65549fa769e89befffbea5e53a3cef64c673937c20 SHA512 337d95159432cba3b85511cf80c350a8a2f67c65b72a90b26ddc98c01d2d8de70d9b6067e0573c5c339a5bf64973d10c06b42001ee19a7add3d672e4577d0622 DIST genpatches-5.15-98.extras.tar.xz 3932 BLAKE2B 4e5dd4f8ba6d14764a6546cf7e64dffb3ddcc77678b7d96d2498917f30561792c904c635b0fce7191b7c0c65549fa769e89befffbea5e53a3cef64c673937c20 SHA512 337d95159432cba3b85511cf80c350a8a2f67c65b72a90b26ddc98c01d2d8de70d9b6067e0573c5c339a5bf64973d10c06b42001ee19a7add3d672e4577d0622
DIST genpatches-6.1-14.base.tar.xz 774040 BLAKE2B 8e0866c762e2711b766cc75630d66c7c46221bdc47357a903c7e8506ad122b7b5ba84d102b19743d236ac5579b44d24f77b9f52f3c23695ab6a279cf7875e735 SHA512 6a753146013baf0b94d83abd690118517679d4d7dcf6e9f86cf8de35e24f80a792e9c0692f237098671c316d046d6f65f8d3512255e572daf6a8ca81853beca0 DIST genpatches-6.1-14.base.tar.xz 774040 BLAKE2B 8e0866c762e2711b766cc75630d66c7c46221bdc47357a903c7e8506ad122b7b5ba84d102b19743d236ac5579b44d24f77b9f52f3c23695ab6a279cf7875e735 SHA512 6a753146013baf0b94d83abd690118517679d4d7dcf6e9f86cf8de35e24f80a792e9c0692f237098671c316d046d6f65f8d3512255e572daf6a8ca81853beca0
DIST genpatches-6.1-14.extras.tar.xz 3804 BLAKE2B 7f016579b130c9a4f7a8ec946254dbd682f22e5654ae777d11b265dafe2b177a4c40c5a979a760a5bd6ed3dac057b90a3120c60b958f6b748ea4731b9a5f1ea6 SHA512 2807d359459dd11b9d3356fcac609dbfb8487e8c924cc543ef37698667b1c8b74cff7b015839ca0677cf1f96b566e0b5018c057b517275886ab500cd2ca49653 DIST genpatches-6.1-14.extras.tar.xz 3804 BLAKE2B 7f016579b130c9a4f7a8ec946254dbd682f22e5654ae777d11b265dafe2b177a4c40c5a979a760a5bd6ed3dac057b90a3120c60b958f6b748ea4731b9a5f1ea6 SHA512 2807d359459dd11b9d3356fcac609dbfb8487e8c924cc543ef37698667b1c8b74cff7b015839ca0677cf1f96b566e0b5018c057b517275886ab500cd2ca49653
DIST genpatches-6.1-21.base.tar.xz 1052684 BLAKE2B 8ceb101f650a74dee8401a4a08cb052e821daa4f04b2a9c82e1cb40f0589aef8e6974fd5355922b19868558b373d1751bce7c5db5923c49433955dcd1863b1c5 SHA512 9db8c2413e56f7684bf4414ecdce3fc21984c69851125971e9dde372a6f8fd04c9f5159273d67815d96565062a221d8325664dd8762d353bd24f9afc02eeed11
DIST genpatches-6.1-21.extras.tar.xz 3808 BLAKE2B 9d1bf513bea67b8ca4df1124b4c81857292b44f8e8c339b7295fee60cb04d323eef5de4f8a92714f641a68c3229a8b60b673760f7373ce54112f6f7231b18f4c SHA512 4439ead755188488e6f7c18210386121a78a30abcd8d56ca87d0069b7244ae87cf1ba312f033db49acf017ef6c581b58e0228baecf42df50e0d1d978fb4c5461
DIST gentoo-kernel-config-g6.tar.gz 4562 BLAKE2B ad9e1b28f84916f12cd8b21feb2f4396d3d63f4cfae3e6b6fe93f919c98b0b4523b205711ab7acafa7121360f696eecb63b9f162dd12950e56dab1429cc13633 SHA512 d180122eb00d40126ea7d79224559904eb0ea574314f9a8d6be6b10f0f6a49f526eba1366ae8cd0a4fe23cd8ff5e292c8cab7e856a2c915d4162b75a03f8076b DIST gentoo-kernel-config-g6.tar.gz 4562 BLAKE2B ad9e1b28f84916f12cd8b21feb2f4396d3d63f4cfae3e6b6fe93f919c98b0b4523b205711ab7acafa7121360f696eecb63b9f162dd12950e56dab1429cc13633 SHA512 d180122eb00d40126ea7d79224559904eb0ea574314f9a8d6be6b10f0f6a49f526eba1366ae8cd0a4fe23cd8ff5e292c8cab7e856a2c915d4162b75a03f8076b
DIST gentoo-kernel-config-g7.tar.gz 4625 BLAKE2B 72ba0d038ee34ca5eb26d43bd373735aef3a50d02b414993ea05485e49d83d46df98a6cb0f6f3170a8ec0c99b557432fd9a11cbb92ff7c2837625a7f4469831e SHA512 2d74a8ca9f5402b4290ed93cd3ddba04a7f2ff42c8d8d3f2cbbe22fc20daa0fca119368daa8af39b7a26b1b99e4e3187c3c5d95886a651675ad94ff98d686628 DIST gentoo-kernel-config-g7.tar.gz 4625 BLAKE2B 72ba0d038ee34ca5eb26d43bd373735aef3a50d02b414993ea05485e49d83d46df98a6cb0f6f3170a8ec0c99b557432fd9a11cbb92ff7c2837625a7f4469831e SHA512 2d74a8ca9f5402b4290ed93cd3ddba04a7f2ff42c8d8d3f2cbbe22fc20daa0fca119368daa8af39b7a26b1b99e4e3187c3c5d95886a651675ad94ff98d686628
DIST kernel-x86_64-fedora.config.5.15.19 223286 BLAKE2B 239995703c01dcb6d179133dd115bc0a57872c07d7a08afaf4d92cf6d78f0c17b19487b5b399ac7fdde5d460fa7931628147817a569fef2c3a62951c96054bdf SHA512 9bee4aff7e5ef4ada57bee7496aaf47b8fdd5c936c4c9b580660d130db0678eaecdebdbcab0dfcaf5c17a71f6419069840db10f5886806b6fc810f8a3619554f DIST kernel-x86_64-fedora.config.5.15.19 223286 BLAKE2B 239995703c01dcb6d179133dd115bc0a57872c07d7a08afaf4d92cf6d78f0c17b19487b5b399ac7fdde5d460fa7931628147817a569fef2c3a62951c96054bdf SHA512 9bee4aff7e5ef4ada57bee7496aaf47b8fdd5c936c4c9b580660d130db0678eaecdebdbcab0dfcaf5c17a71f6419069840db10f5886806b6fc810f8a3619554f
@ -14,3 +16,5 @@ DIST linux-libre-5.15.94-gnu.tar.xz 119739516 BLAKE2B 6d7c7d624991b79a021a5aa8c3
DIST linux-libre-5.15.94-gnu.tar.xz.sign 195 BLAKE2B 84e3688cb26f529785a02a9104aa9f6dd059ff266e550340f09c7c4b916fedfbd63b80c4f634ab97c2ee6b88f864cf0a022d61eb2d30cf9b9201daee65ad5bca SHA512 35282cf99ffef053a1b05126371f70d0b24c16c95e579111f4118e4b2b1c72cbabd1393d2b8d092b62517f7c1c05ab997c2ec51ad0159701d03e715c190095c2 DIST linux-libre-5.15.94-gnu.tar.xz.sign 195 BLAKE2B 84e3688cb26f529785a02a9104aa9f6dd059ff266e550340f09c7c4b916fedfbd63b80c4f634ab97c2ee6b88f864cf0a022d61eb2d30cf9b9201daee65ad5bca SHA512 35282cf99ffef053a1b05126371f70d0b24c16c95e579111f4118e4b2b1c72cbabd1393d2b8d092b62517f7c1c05ab997c2ec51ad0159701d03e715c190095c2
DIST linux-libre-6.1.12-gnu.tar.xz 127116060 BLAKE2B 2d8f457e23d954a1d2bd1c312369ca2ab6fa2c03b1758e78c82d5cc40eec8c5c3b5cb79c6fb168dca44a4ea6837801bb47a91e6b4b437ab6087adbb1b38914d1 SHA512 27c8f3e12e5f95681ef17f8fc698b7a319c69c734154c62437e43f997565f7f0fb3ccce9dd114bc23ccaa4580833a201d45ea744d568bf473b8ef76f6f91c988 DIST linux-libre-6.1.12-gnu.tar.xz 127116060 BLAKE2B 2d8f457e23d954a1d2bd1c312369ca2ab6fa2c03b1758e78c82d5cc40eec8c5c3b5cb79c6fb168dca44a4ea6837801bb47a91e6b4b437ab6087adbb1b38914d1 SHA512 27c8f3e12e5f95681ef17f8fc698b7a319c69c734154c62437e43f997565f7f0fb3ccce9dd114bc23ccaa4580833a201d45ea744d568bf473b8ef76f6f91c988
DIST linux-libre-6.1.12-gnu.tar.xz.sign 195 BLAKE2B 769d8c66fda4fc3da616d9ed44c37ee110c0d28dbbeed64a9b724da468ac296edc131b104eaab294798313388d6f6ce4338bd8b1f14f03e900f2f817a0fa2a53 SHA512 6b77ef90f6b3c3da21542125c2ca96c79613a16dd7edf8d855d4aa3d7e601084111a1751dceec60f6337119f016dfef19f2c81e66cdd657e69583a5c60d1d64f DIST linux-libre-6.1.12-gnu.tar.xz.sign 195 BLAKE2B 769d8c66fda4fc3da616d9ed44c37ee110c0d28dbbeed64a9b724da468ac296edc131b104eaab294798313388d6f6ce4338bd8b1f14f03e900f2f817a0fa2a53 SHA512 6b77ef90f6b3c3da21542125c2ca96c79613a16dd7edf8d855d4aa3d7e601084111a1751dceec60f6337119f016dfef19f2c81e66cdd657e69583a5c60d1d64f
DIST linux-libre-6.1.19-gnu.tar.xz 127193128 BLAKE2B 9f0aa053b7425064d1c0634911beb63d8015caa4de80fb0f241cc7d04148cdbe065498f925f2af29976349fe20c25d9988a5f2905d677ca66f013552f3114b71 SHA512 21ea759cbe4d0c657cd724d40f67d5da32531e94495ea9509f8cdfb475a52a24a340bbcae5d5238cfa80bdb5f4b7c8d814b9a422eb0fe67fc0d21ceef6ceb830
DIST linux-libre-6.1.19-gnu.tar.xz.sign 195 BLAKE2B 76168997141cfafce0e6e5dbf8b5afdfd271ee988a4ffa473fa3dc4a86cab087f294be65497c97c3dcca3de8992beff57cf053be6785f92af797c23cf0b3bd25 SHA512 2267bedf4c51d5c60be216e27e3b1eb8ee31f088ad371963dbd598ae6386c66872b81827ad503cd22bac17babadf11022af4be9841edfb4cb10c85e1ad791180

View File

@ -0,0 +1,148 @@
# Copyright 2020-2023 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit kernel-build verify-sig
BASE_VER="$(ver_cut 1).$(ver_cut 2).$(ver_cut 3)"
RESTRICT="mirror"
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 5 ))
CONFIG_VER=5.15.19
CONFIG_HASH=ec69da7a42b5b7c3da91572ef22097b069ddbd01
GENTOO_CONFIG_VER=g7
DESCRIPTION="GNU Linux-libre kernel built from upstream sources"
HOMEPAGE="https://www.fsfla.org/ikiwiki/selibre/linux-libre/"
SRC_URI+="
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz
https://dev.gentoo.org/~alicef/dist/genpatches/${GENPATCHES_P}.base.tar.xz
https://dev.gentoo.org/~alicef/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
-> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
verify-sig? (
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz.sign
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz.sign
)
amd64? (
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
-> kernel-x86_64-fedora.config.${CONFIG_VER}
)
"
# Workdir is named linux-PV.
MY_P=linux-${PV}
S=${WORKDIR}/${MY_P}
LICENSE="GPL-2"
KEYWORDS="amd64"
IUSE="debug +gentoo"
BDEPEND="
debug? ( dev-util/pahole )
verify-sig? ( sec-keys/openpgp-keys-linux-libre )
"
PDEPEND="
>=virtual/dist-kernel-${PV}
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linux-libre.asc
pkg_pretend() {
if has_version -d sys-kernel/linux-firmware[redistributable]; then
ewarn "sys-kernel/linux-firmware was found installed on your system,"
ewarn "but it is configured to install non-Free firmware files."
ewarn "The non-Free firmware files may be required for some hardware"
ewarn "work. The Linux-libre kernel cannot load non-Free firmware."
ewarn "To install only the Free firmware, set the -redistributable"
ewarn "USE flag on sys-kernel/linux-firmware."
if use initramfs; then
elog
elog "If you decide to change or remove linux-firmware later, you"
elog "can rebuild the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
else
if ! has_version -d sys-kernel/linux-firmware; then
ewarn "sys-kernel/linux-firmware[-redistributable] not found installed"
ewarn "on your system. This package provides various firmware files that"
ewarn "may be needed for your hardware to work. If in doubt, it is recommended"
ewarn "to pause or abort the build process and install it before"
ewarn "resuming."
if use initramfs; then
elog
elog "If you decide to install linux-firmware later, you can rebuild"
elog "the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
fi
fi
}
src_unpack() {
if use verify-sig; then
FILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz
SIGFILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz.sign
verify-sig_verify_detached $FILE $SIGFILE
fi
default
}
src_prepare() {
local PATCHES
if use gentoo; then
# Fiters out the kernel incremenetal version upgrade patches,
# leaving only the Gentoo bug fix/functionality changes. The
# regex removes any patches starting with 10XX to 14XX.
MY_PATCHES=$(find "${WORKDIR}"/*.patch -printf "%f\n" | grep -v -E -e '^1[01234][[:digit:]][[:digit:]]_.+.patch')
PATCHES=$(echo "$MY_PATCHES" | sed 's|^|'"${WORKDIR}/"'|g')
else
# If no patches are to be applied, apply only the config changes
# for a Gentoo installation, as this does not change any actual
# Kernel functionality.
PATCHES="${WORKDIR}/4567_distro-Gentoo-Kconfig.patch"
fi
default
local biendian=false
# prepare the default config
case ${ARCH} in
amd64)
cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
;;
*)
die "Unsupported arch ${ARCH}"
;;
esac
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || \
die 'could not remove EXTRAVERSION'
local myversion="-gnu-dist"
echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
local merge_configs=(
"${T}"/version.config
"${dist_conf_path}"/base.config
)
use debug || merge_configs+=(
"${dist_conf_path}"/no-debug.config
)
# this covers ppc64 and aarch64_be only for now
if [[ ${biendian} == true && $(tc-endian) == big ]]; then
merge_configs+=( "${dist_conf_path}/big-endian.config" )
fi
kernel-build_merge_configs "${merge_configs[@]}"
}

View File

@ -0,0 +1,148 @@
# Copyright 2020-2023 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit kernel-build verify-sig
BASE_VER="$(ver_cut 1).$(ver_cut 2).$(ver_cut 3)"
RESTRICT="mirror"
# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 2 ))
CONFIG_VER=6.1.7-gentoo
GENTOO_CONFIG_VER=g6
DESCRIPTION="GNU Linux-libre kernel built from upstream sources"
HOMEPAGE="https://www.fsfla.org/ikiwiki/selibre/linux-libre/"
SRC_URI+="
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
-> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
verify-sig? (
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz.sign
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz.sign
)
amd64? (
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
-> kernel-x86_64-fedora.config.${CONFIG_VER}
)
"
# Workdir is named linux-PV.
MY_P=linux-${PV}
S=${WORKDIR}/${MY_P}
LICENSE="GPL-2"
KEYWORDS="amd64"
IUSE="debug +gentoo"
BDEPEND="
debug? ( dev-util/pahole )
verify-sig? ( sec-keys/openpgp-keys-linux-libre )
"
PDEPEND="
>=virtual/dist-kernel-${PV}
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linux-libre.asc
pkg_pretend() {
if has_version -d sys-kernel/linux-firmware[redistributable]; then
ewarn "sys-kernel/linux-firmware was found installed on your system,"
ewarn "but it is configured to install non-Free firmware files."
ewarn "The non-Free firmware files may be required for some hardware"
ewarn "work. The Linux-libre kernel cannot load non-Free firmware."
ewarn "To install only the Free firmware, set the -redistributable"
ewarn "USE flag on sys-kernel/linux-firmware."
if use initramfs; then
elog
elog "If you decide to change or remove linux-firmware later, you"
elog "can rebuild the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
else
if ! has_version -d sys-kernel/linux-firmware; then
ewarn "sys-kernel/linux-firmware[-redistributable] not found installed"
ewarn "on your system. This package provides various firmware files that"
ewarn "may be needed for your hardware to work. If in doubt, it is recommended"
ewarn "to pause or abort the build process and install it before"
ewarn "resuming."
if use initramfs; then
elog
elog "If you decide to install linux-firmware later, you can rebuild"
elog "the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
fi
fi
}
src_unpack() {
if use verify-sig; then
FILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz
SIGFILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz.sign
verify-sig_verify_detached $FILE $SIGFILE
fi
default
}
src_prepare() {
local PATCHES
if use gentoo; then
# Fiters out the kernel incremenetal version upgrade patches,
# leaving only the Gentoo bug fix/functionality changes. The
# regex removes any patches starting with 10XX to 14XX.
MY_PATCHES=$(find "${WORKDIR}"/*.patch -printf "%f\n" | grep -v -E -e '^1[01234][[:digit:]][[:digit:]]_.+.patch')
PATCHES=$(echo "$MY_PATCHES" | sed 's|^|'"${WORKDIR}/"'|g')
else
# If no patches are to be applied, apply only the config changes
# for a Gentoo installation, as this does not change any actual
# Kernel functionality.
PATCHES="${WORKDIR}/4567_distro-Gentoo-Kconfig.patch"
fi
default
local biendian=false
# prepare the default config
case ${ARCH} in
amd64)
cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
;;
*)
die "Unsupported arch ${ARCH}"
;;
esac
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || \
die 'could not remove EXTRAVERSION'
local myversion="-gnu-dist"
echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
local merge_configs=(
"${T}"/version.config
"${dist_conf_path}"/base.config
)
use debug || merge_configs+=(
"${dist_conf_path}"/no-debug.config
)
# this covers ppc64 and aarch64_be only for now
if [[ ${biendian} == true && $(tc-endian) == big ]]; then
merge_configs+=( "${dist_conf_path}/big-endian.config" )
fi
kernel-build_merge_configs "${merge_configs[@]}"
}

View File

@ -0,0 +1,20 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Virtual to depend on any Distribution Kernel"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv x86"
RDEPEND="
|| (
~sys-kernel/gentoo-kernel-${PV}
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)"