# Maintainer: jc_gargma # Maintainer (Manjaro): Dan Johansen # Contributor (ArchArm): Kevin Mihelich # # I maintain this because: # Manjaro version patch script does not apply consistently # Manjaro version lacks ath9k regdom patches # Manjaro version is 100 Hz # Manjaro version uses git # Manjaro version lacks cake modules pkgbase=linux-pinebookpro _supver=5 _majver=6 _minver=0 if [ "$_minver" == "0" ]; then pkgver=${_supver}.${_majver} else pkgver=${_supver}.${_majver}.${_minver} fi pkgrel=2 pkgdesc='Linux-PineBookPro' url='https://kernel.org' #url='https://gitlab.manjaro.org/tsys/linux-pinebook-pro' arch=(aarch64) #arch=(x86_64) license=(GPL2) makedepends=( bc kmod libelf dtc uboot-tools ) provides=('linux') conflicts=('linux') options=('!strip') _srcname=linux-${pkgver} _commit=93293259039d6fc3a725961d42b4f11bfc3f5127 # https://gitlab.manjaro.org/tsys/linux-pinebook-pro/-/archive/93293259039d6fc3a725961d42b4f11bfc3f5127/linux-pinebook-pro-93293259039d6fc3a725961d42b4f11bfc3f5127.tar.gz source=( https://www.kernel.org/pub/linux/kernel/v${_supver}.x/${_srcname}.tar.{xz,sign} pinebookpro-$_commit.patch 0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch 0002-raid6-add-Kconfig-option-to-skip-raid6-benchmarking.patch 0008-board-rockpi4-dts-upper-port-host.patch 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-CLONE_NEWUSER.patch ath9k-regdom-hack.patch config # the main kernel config file linux.preset 60-linux.hook 90-linux.hook ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc b2sums=('8dbe02a8ca7fd3dcf512a15c5d8098c1e7f94257e65173fed43fcc45480e4ab790df8cd39bbbb4e2a21dc9a00385bc9bbe98215a31e7f7e1d9c8f21cd8ace69e' 'SKIP' '52e5e6ecf30996340136e9e7299bca2888f511a6bbf8784cd12dfba1c058cb89e214ae41eb72b9dd213a6b25501fa3c9212e8c50293d6ff4df0a6f8aad81221f' '62b160245a0bca5a27ef7afe83d860a48c220645f4fc6e075b7b39a45d668932b21ee86594747fab7a4d4e7a3006284e6683ecb741a0c88e92aa89ed73399f96' '1491b6281ec7b08b37bd543b25c41a2717efc6762dcd65fbc99882177a8b764cfc0bbc0129680bd9da3ec9b96d0b27651bd99155f0f66fa4314edcd7e4718234' 'f8919ab803c7b4b4b5002547895ffa17492af405bc35d95746d2e9453061fe90cdf367cd9c461694c27660f1e174aaf5745aadb592c28f18beefef09588f2d1d' '464e0aa46dc59c59ad322b4e5770c316c5ff2efc95a6ca53bd973d4c872a6397222daa27d803f4d21be717ea974c2b66ad38faa0a77713e1167e3fb16170572b' '2e58bb89b247b1678355368956e67c1de51fcde97a227b2162f6771e30f17fa5520faafe7be4b6816a542e7ae10d05f64c6b6354f352c12746d4b8da632936dd' '1e899c2902325c8b826ff31d451bf24e74ce91fcf09058a3a9b41469ced872cda1290e1bbd29997520a1a9bc52111ff0679f5281475f46d66539aebe24636573' 'f0cb39a8e448dc93cd830f1680303ecfcda6c729030ecf0bbf6dd8c57777a12ab33bbd991da4f735ba5869afb59d39f5cf5c7c725cc9ba6a78c235c2fd00251a' '40e2e0ac9eec9f9c08593875ca5bb8a26f835e33ae42e3718b98e83d76bbbc51a68395215c707fe58269954127261f7f8d12ec47341d28c672de973f3c4e71e8' 'f39994fda3d76407b0af192534ca9931782b3e9de4e438a3adbc7640fc794c261102e5c7bfa1523c291ef8c7256c1106e6dbd40814006329c48d90f51c569e82') export KBUILD_BUILD_HOST=$pkgbase export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { cd $_srcname # add upstream patch # if [ "$_minver" != "0" ]; then # msg2 "Applying upstream patch" # patch -Np1 < ../patch-${_supver}.${_majver}-${pkgver} # fi # Out of tree changes for pinebookpro to function msg2 "Applying pinebookpro patch" patch -p1 -i "${srcdir}/pinebookpro-$_commit.patch" # ALARM patches patch -Np1 -i "${srcdir}/0001-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch" patch -Np1 -i "${srcdir}/0002-raid6-add-Kconfig-option-to-skip-raid6-benchmarking.patch" patch -Np1 -i "${srcdir}/0008-board-rockpi4-dts-upper-port-host.patch" # Hotfixes msg2 "Applying hotfixes" patch -p1 -i "${srcdir}/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-CLONE_NEWUSER.patch" # Ignore ath9k eeprom patch msg2 "Applying ath9k patch" patch -p1 -i "${srcdir}/ath9k-regdom-hack.patch" msg2 "Setting version..." scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname msg2 "Setting config..." # we are in src/linux-x.yy.zz, looking for a config next to the pkgbuild # if [ -f ${SRCDEST}/config.previous ]; then # cp ${SRCDEST}/config.previous .config # else cp ../config .config # fi make olddefconfig # make menuconfig # Remove sublevel when no sublevel exists if [ "$_minver" == "0" ]; then sed -i '/SUBLEVEL = 0/d' Makefile fi make -s kernelrelease > version # workaround for make -s kernelrelease not applying # localversion to version when changed using menuconfig grep -Po '(?<=CONFIG_LOCALVERSION=").*(?=")' .config > ../localversion echo "$pkgver" > ../version.temp cat "localversion.10-pkgrel" >> ../version.temp cat "localversion.20-pkgname" >> ../version.temp cat ../localversion >> ../version.temp cat ../version.temp | tr -d "\n" > version # back up the config # msg2 "Backing up config..." # cp .config ${SRCDEST}/config.previous msg2 "Prepared %s version %s" "$pkgbase" "$(