diff options
author | Björn Bidar | 2022-06-25 18:17:38 +0300 |
---|---|---|
committer | Björn Bidar | 2022-07-02 05:12:36 +0300 |
commit | e4896888137548d5ce479c6f3fac5f96a70ea14b (patch) | |
tree | a21713e56f6771822cc38935a3128d0545b569c2 /PKGBUILD | |
parent | 657059c03d46120dea746abb196d9d622e21fe5f (diff) | |
download | aur-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-- | PKGBUILD | 225 |
1 files changed, 136 insertions, 89 deletions
@@ -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' |