summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorBjörn Bidar2022-06-25 18:17:38 +0300
committerBjörn Bidar2022-07-02 05:12:36 +0300
commite4896888137548d5ce479c6f3fac5f96a70ea14b (patch)
treea21713e56f6771822cc38935a3128d0545b569c2 /PKGBUILD
parent657059c03d46120dea746abb196d9d622e21fe5f (diff)
downloadaur-e4896888137548d5ce479c6f3fac5f96a70ea14b.tar.gz
Update to 5.18.6.p2-2
- Move optimisation specific files from headers and tools to the -headers-variant package. Fixes to #5 Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD225
1 files changed, 136 insertions, 89 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 813442d27ce8..2ed45fe256a9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -81,9 +81,10 @@ _CPUSUFFIXES_KBUILD=(
GENERIC_CPU2 GENERIC_CPU3 GENERIC_CPU4)
pkgname=('linux-pf')
pkgdesc="Linux with the pf-kernel patch (uksm, ZSTD, FSGSBASE and more)"
-pkgname=('linux-pf' 'linux-pf-headers' 'linux-pf-preset-default')
+pkgname=('linux-pf' 'linux-pf-headers-variant'
+ 'linux-pf-headers' 'linux-pf-preset-default')
pkgver=${_basekernel}.${_unpatched_sublevel}.${_kernelname}${_pfrel}
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="https://gitlab.com/post-factum/pf-kernel/wikis/README"
license=('GPL2')
@@ -659,192 +660,178 @@ build() {
make all
}
-_package() {
- pkgdesc="The $pkgdesc kernel and modules"
- depends=('coreutils' 'kmod>=9-2' 'mkinitcpio>=0.7' 'linux-pf-preset')
- optdepends=('wireless-regdb: to set the correct wireless channels of your country'
- 'nvidia-pf: NVIDIA drivers for linux-pf'
- 'uksmd: Userspace KSM helper daemon'
- 'linux-firmware: firmware images needed for some devices'
- 'modprobed-db: Keeps track of EVERY kernel module that has ever been probed. Useful for make localmodconfig.')
- provides=('linux-tomoyo'
- VIRTUALBOX-GUEST-MODULES
- WIREGUARD-MODULE
- KSMBD-MODULE
- NTFS3-MODULE
- UKSMD-BUILTIN
- V4L2LOOPBACK-MODULE
- VHBA-MODULE)
- replaces=('kernel26-pf')
- cd "${srcdir}/linux-${_basekernel}"
+_set_variant_appendix()
+{
+ local _pkg="$1"
+ shift
if [[ "$_PKGOPT" = "y" ]]; then # package naming according to optimization
case $CPU in
MK8)
- pkgname="${pkgbase}-k8"
+ pkgname="${_pkg}-k8"
pkgdesc="${pkgdesc} AMD K8 optimized."
- ;;
+ ;;
MK10)
- pkgname="${pkgbase}-k10"
- pkgdesc="§{pkgdesc} AMD K10 optimized"
+ pkgname="${_pkg}-k10"
+ pkgdesc="§{pkgdesc} AMD K10 optimized"
;;
MBARCELONA)
- pkgname="${pkgbase}-barcelona"
+ pkgname="${_pkg}-barcelona"
pkgdesc="${pkgdesc} AMD Barcelona optimized."
- ;;
+ ;;
MBOBCAT)
- pkgname="${pkgbase}-bobcat"
- pkgdesc="${pkgdesc} AMD Bobcat optimized."
- ;;
+ pkgname="${_pkg}-bobcat"
+ pkgdesc="${pkgdesc} AMD Bobcat optimized."
+ ;;
MBULLDOZER)
- pkgname="${pkgbase}-bulldozer"
- pkgdesc="${pkgdesc} AMD Bulldozer optimized."
- ;;
+ pkgname="${_pkg}-bulldozer"
+ pkgdesc="${pkgdesc} AMD Bulldozer optimized."
+ ;;
MPILEDRIVER)
- pkgname="${pkgbase}-piledriver"
- pkgdesc="${pkgdesc} AMD Piledriver optimized."
- ;;
+ pkgname="${_pkg}-piledriver"
+ pkgdesc="${pkgdesc} AMD Piledriver optimized."
+ ;;
MSTEAMROLLER)
- pkgname="${pkgbase}-steamroller"
- pkgdesc="${pkgdesc} AMD Steamroller optimized."
+ pkgname="${_pkg}-steamroller"
+ pkgdesc="${pkgdesc} AMD Steamroller optimized."
;;
MEXCAVATOR)
- pkgname="${pkgbase}-excavator"
- pkgdesc="${pkgdesc} AMD Excavator optimized."
+ pkgname="${_pkg}-excavator"
+ pkgdesc="${pkgdesc} AMD Excavator optimized."
;;
MZEN)
- pkgname="${pkgbase}-zen"
- pkgdesc="${pkgdesc} AMD Zen optimized".
+ pkgname="${_pkg}-zen"
+ pkgdesc="${pkgdesc} AMD Zen optimized".
;;
MZEN2)
- pkgname="${pkgbase}-zen2"
- pkgdesc="${pkgdesc} AMD Zen3 optimized."
+ pkgname="${_pkg}-zen2"
+ pkgdesc="${pkgdesc} AMD Zen3 optimized."
;;
MZEN3)
- pkgname="${pkgbase}-zen3"
- pkgdesc="${pkgdesc} AMD Zen3 optimized."
+ pkgname="${_pkg}-zen3"
+ pkgdesc="${pkgdesc} AMD Zen3 optimized."
;;
MCORE2)
- pkgname="${pkgbase}-core2"
+ pkgname="${_pkg}-core2"
pkgdesc="${pkgdesc} Intel Core2 optimized."
;;
MMPSC)
- pkgname="${pkgbase}-psc"
+ pkgname="${_pkg}-psc"
pkgdesc="${pkgdesc} Intel Pentium4/D/Xeon optimized."
;;
MATOM)
- pkgname="${pkgbase}-atom"
+ pkgname="${_pkg}-atom"
pkgdesc="${pkgdesc} Intel Atom optimized."
;;
MPENTIUMII)
- pkgname="${pkgbase}-p2"
+ pkgname="${_pkg}-p2"
pkgdesc="${pkgdesc} Intel Pentium2 optimized."
;;
MPENTIUMIII)
- pkgname="${pkgbase}-p3"
+ pkgname="${_pkg}-p3"
pkgdesc="${pkgdesc} Intel Pentium3 optimized."
;;
MPENTIUMM)
- pkgname="${pkgbase}-pm"
+ pkgname="${_pkg}-pm"
pkgdesc="${pkgdesc} Intel Pentium-M optimized."
;;
MPENTIUM4)
- pkgname="${pkgbase}-p4"
+ pkgname="${_pkg}-p4"
pkgdesc="${pkgdesc} Intel Pentium4 optimized."
;;
MNEHALEM)
- pkgname="${pkgbase}-nehalem"
+ pkgname="${_pkg}-nehalem"
pkgdesc="${pkgdesc} Intel Core Nehalem optimized."
- ;;
+ ;;
MSANDYBRIDGE)
- pkgname="${pkgbase}-sandybridge"
+ pkgname="${_pkg}-sandybridge"
pkgdesc="${pkgdesc} Intel Sandy Bridge optimized."
- ;;
+ ;;
MIVYBRIDGE)
- pkgname="${pkgbase}-ivybridge"
+ pkgname="${_pkg}-ivybridge"
pkgdesc="${pkgdesc} Intel Ivy Bridge optimized."
- ;;
+ ;;
MHASWELL)
- pkgname="${pkgbase}-haswell"
+ pkgname="${_pkg}-haswell"
pkgdesc="${pkgdesc} Intel Haswell optimized."
- ;;
+ ;;
MBROADWELL)
- pkgname="${pkgbase}-broadwell"
+ pkgname="${_pkg}-broadwell"
pkgdesc="${pkgdesc} Intel Broadwell optimized."
- ;;
+ ;;
MSILVERMONT)
- pkgname="${pkgbase}-silvermont"
+ pkgname="${_pkg}-silvermont"
pkgdesc="${pkgdesc} Intel Silvermont optimized."
- ;;
+ ;;
MSKYLAKE)
- pkgname="${pkgbase}-skylake"
+ pkgname="${_pkg}-skylake"
pkgdesc="${pkgdesc} Intel Skylake optimized."
;;
MSKYLAKEX)
- pkgname="${pkgbase}-skylakex"
+ pkgname="${_pkg}-skylakex"
pkgdesc="${pkgdesc} Intel Skylake-X optimized."
;;
MCASCADELAKE)
- pkgname="${pkgbase}-cascadelake"
+ pkgname="${_pkg}-cascadelake"
pkgdesc="${pkgdesc} Intel Cascadelake optimized."
;;
MCANNONLAKE)
- pkgname="${pkgbase}-cannonlake"
+ pkgname="${_pkg}-cannonlake"
pkgdesc="${pkgdesc} Intel Cannonlake optimized."
;;
MICELAKE)
- pkgname="${pkgbase}-icelake"
+ pkgname="${_pkg}-icelake"
pkgdesc="${pkgdesc} Intel Icelake optimized."
;;
MCASCADELAKE)
- pkgname="${pkgbase}-cascadelake"
+ pkgname="${_pkg}-cascadelake"
pkgdesc="${pkgdesc} Intel optimized."
;;
MCOOPERLAKE)
- pkgname="${pkgbase}-cooperlake"
+ pkgname="${_pkg}-cooperlake"
pkgdesc="${pkgdesc} Intel Cooperlake optimized."
;;
MTIGERLAKE)
- pkgname="${pkgbase}-tigerlake"
+ pkgname="${_pkg}-tigerlake"
pkgdesc="${pkgdesc} Intel Tigerlake optimized."
;;
MSAPPHIRERAPIDS)
- pkgname="${pkgbase}-sapphirerapids"
+ pkgname="${_pkg}-sapphirerapids"
pkgdesc="${pkgdesc} Intel Sapphirerapids optimized."
;;
MROCKETLAKE)
- pkgname="${pkgbase}-rocketlake"
+ pkgname="${_pkg}-rocketlake"
pkgdesc="${pkgdesc} Intel Rocketlake optimized."
;;
MALDERLAKE)
- pkgname="${pkgbase}-alderlake"
+ pkgname="${_pkg}-alderlake"
pkgdesc="${pkgdesc} Intel Alderlake optimized."
;;
GENERIC_CPU2)
- pkgname="${pkgbase}-generic-v2"
+ pkgname="${_pkg}-generic-v2"
pkgdesc="${pkgdesc} Generic-x86-64-v2 optimized."
;;
GENERIC_CPU3)
- pkgname="${pkgbase}-generic-v3"
+ pkgname="${_pkg}-generic-v3"
pkgdesc="${pkgdesc} Generic-x86-64-v3 optimized."
;;
GENERIC_CPU4)
- pkgname="${pkgbase}-generic-v4"
+ pkgname="${_pkg}-generic-v4"
pkgdesc="${pkgdesc} Generic-x86-64-v4 optimized."
;;
*)
# Workaround against mksrcinfo getting the $pkdesc wrong
- pkgname="${pkgbase}"
+ pkgname="${_pkg}"
pkgdesc="${pkgdesc}"
;;
esac
- if [[ "$pkgname" != "$pkgbase" ]]; then
- # If optimized build, conflict with generi
- conflicts=('linux-pf')
- provides+=(${pkgbase}=$pkgver)
+ if [[ "$pkgname" != "${_pkg}" ]]; then
+ # If optimized build, conflict with generic
+ conflicts=("$_pkg")
+ provides+=(${_pkg}=$pkgver)
fi
fi
@@ -854,6 +841,29 @@ _package() {
msg "${pkgdesc}"
echo " ========================================"
echo
+}
+
+_package() {
+ pkgdesc="The $pkgdesc kernel and modules"
+ depends=('coreutils' 'kmod>=9-2' 'mkinitcpio>=0.7' 'linux-pf-preset')
+ optdepends=('wireless-regdb: to set the correct wireless channels of your country'
+ 'nvidia-pf: NVIDIA drivers for linux-pf'
+ 'uksmd: Userspace KSM helper daemon'
+ 'linux-firmware: firmware images needed for some devices'
+ 'modprobed-db: Keeps track of EVERY kernel module that has ever been probed. Useful for make localmodconfig.')
+ provides=('linux-tomoyo'
+ VIRTUALBOX-GUEST-MODULES
+ WIREGUARD-MODULE
+ KSMBD-MODULE
+ NTFS3-MODULE
+ UKSMD-BUILTIN
+ V4L2LOOPBACK-MODULE
+ VHBA-MODULE)
+ replaces=('kernel26-pf')
+
+ cd "${srcdir}/linux-${_basekernel}"
+
+ _set_variant_appendix "${pkgbase}"
### package_linux-pf
@@ -884,11 +894,36 @@ _package() {
# remove build and source links
rm "$modulesdir"/{source,build}
# end c/p
+}
+
+_package-headers-variant() {
+ pkgname=${pkgbase}-headers-variant
+ pkgdesc="Variant specific headers and scripts for building modules for the $pkgdesc kernel"
+ _set_variant_appendix "$pkgname"
+
+ cd "${srcdir}/${_srcname}"
+ local _builddir="${pkgdir}/usr/lib/modules/$(<version)/build"
# Install here so each kernel optimized flavour can ship it's own System.map,
# since bpf symbols can differ bepending on the cflags used during build.
# Re: #5
- install -D -m644 System.map "$modulesdir"/build/System.map
+ install -D -m644 scripts/mod/devicetable-offsets.s \
+ "$_builddir"/scripts/mod/devicetable-offsets.s
+ install -D -m644 scripts/mod/.devicetable-offsets.s.cmd \
+ "$_builddir"/scripts/mod/.devicetable-offsets.s.cmd
+ install -D -m644 scripts/mod/.empty.o.cmd \
+ "$_builddir"/scripts/mod/.empty.o.cmd
+ install -D -m644 include/config/auto.conf \
+ "$_builddir"/include/config/auto.conf
+ install -D -m644 include/generated/autoconf.h \
+ "$_builddir"/include/generated/autoconf.h
+ install -Dt "$_builddir" -m644 \
+ vmlinux \
+ .config \
+ System.map
+
+ echo "Stripping vmlinux..."
+ strip -v $STRIP_STATIC "$_builddir"/vmlinux
}
### package_linux-pf-headers
@@ -896,6 +931,8 @@ _package-headers() {
pkgname=${pkgbase}-headers
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
depends=('pahole')
+ # Depend on variant specific tools and headers for external modules
+ depends=('linux-pf-headers-variant')
cd "${srcdir}/${_srcname}"
local _builddir="${pkgdir}/usr/lib/modules/$(<version)/build"
@@ -914,8 +951,8 @@ _package-headers() {
msg2 "Installing build files..."
install -dm755 "${_builddir}"
- install -Dt "${_builddir}" -m644 Makefile .config Module.symvers version \
- vmlinux localversion.*
+ install -Dt "${_builddir}" -m644 Makefile Module.symvers version \
+ localversion.*
install -Dt "${_builddir}/kernel" -m644 kernel/Makefile
@@ -928,12 +965,19 @@ _package-headers() {
# copy files necessary for later builds, like nvidia and vmware
cp -a scripts "${_builddir}"
+ # Moved to main package, see earlier in _package()
+ rm "${_builddir}"/scripts/mod/devicetable-offsets.s \
+ "${_builddir}"/scripts/mod/.devicetable-offsets.s.cmd \
+ "${_builddir}"/scripts/mod/.empty.o.cmd
msg2 "Installing headers..."
cp -t "$_builddir" -a include
# copy arch includes for external modules
cp -t "$_builddir/arch/x86" -a arch/x86/include
+ # Moved to main package, see earlier in _package()
+ rm "${_builddir}"/include/config/auto.conf \
+ "${_builddir}"/include/generated/autoconf.h
# fix permissions on scripts dir
chmod og-w -R "${_builddir}/scripts"
@@ -1000,9 +1044,6 @@ _package-headers() {
esac
done < <(find "${_builddir}" -type f -perm -u+x ! -name vmlinux -print0)
- echo "Stripping vmlinux..."
- strip -v $STRIP_STATIC "${_builddir}/vmlinux"
-
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/src"
ln -sr "${_builddir}" "$pkgdir/usr/src/$pkgbase"
@@ -1072,6 +1113,12 @@ eval "package_linux-pf${LCPU+-$LCPU}() {
_package
}"
+pkgname[1]=linux-pf-headers-variant${LCPU+-}${LCPU}
+
+eval "package_linux-pf-headers-variant${LCPU+-$LCPU}() {
+ $(declare -f "_package-headers-variant")
+ _package-headers-variant
+ }"
sha256sums=('51f3f1684a896e797182a0907299cc1f0ff5e5b51dd9a55478ae63a409855cee'
'5770ad7cc2d34367193cfbeb2a8a37e46c73470b3f6ec7ad63a1cadab4245fbc'