From 82684bb769d3ad5aeb90730520b81c9d067da4e6 Mon Sep 17 00:00:00 2001 From: Alex Denes Date: Sun, 1 Aug 2021 00:36:16 +0000 Subject: [PATCH] Fix -dev and clean up pkgs --- kernel/{linux => linux-lts}/APKBUILD | 205 +++++++++++------- .../{linux => linux-lts}/config-full.aarch64 | 0 kernel/{linux => linux-lts}/config-full.armv7 | 0 .../{linux => linux-lts}/config-full.mips64 | 0 .../{linux => linux-lts}/config-full.ppc64le | 0 kernel/{linux => linux-lts}/config-full.x86 | 0 .../{linux => linux-lts}/config-full.x86_64 | 0 .../{linux => linux-lts}/config-virt.aarch64 | 0 kernel/{linux => linux-lts}/config-virt.armv7 | 0 .../{linux => linux-lts}/config-virt.ppc64le | 0 kernel/{linux => linux-lts}/config-virt.s390x | 0 kernel/{linux => linux-lts}/config-virt.x86 | 0 .../{linux => linux-lts}/config-virt.x86_64 | 0 13 files changed, 131 insertions(+), 74 deletions(-) rename kernel/{linux => linux-lts}/APKBUILD (62%) rename kernel/{linux => linux-lts}/config-full.aarch64 (100%) rename kernel/{linux => linux-lts}/config-full.armv7 (100%) rename kernel/{linux => linux-lts}/config-full.mips64 (100%) rename kernel/{linux => linux-lts}/config-full.ppc64le (100%) rename kernel/{linux => linux-lts}/config-full.x86 (100%) rename kernel/{linux => linux-lts}/config-full.x86_64 (100%) rename kernel/{linux => linux-lts}/config-virt.aarch64 (100%) rename kernel/{linux => linux-lts}/config-virt.armv7 (100%) rename kernel/{linux => linux-lts}/config-virt.ppc64le (100%) rename kernel/{linux => linux-lts}/config-virt.s390x (100%) rename kernel/{linux => linux-lts}/config-virt.x86 (100%) rename kernel/{linux => linux-lts}/config-virt.x86_64 (100%) diff --git a/kernel/linux/APKBUILD b/kernel/linux-lts/APKBUILD similarity index 62% rename from kernel/linux/APKBUILD rename to kernel/linux-lts/APKBUILD index 6364ae4..e47cfd0 100644 --- a/kernel/linux/APKBUILD +++ b/kernel/linux-lts/APKBUILD @@ -2,16 +2,12 @@ # Contributor: Alex Denes # Maintainer: Alex Denes -_kernver=5.10 -_kernpatch=52 - -pkgname=linux -pkgver=$_kernver.$_kernpatch -pkgrel=0 -arch="noarch" -subpackages=" - $pkgname-headers:_headerspkg:$CBUILD_ARCH -" + pkgname=linux + _kver=5.10 + _kpatch=55 + _ksupport=lts + pkgver=$_kver.$_kpatch + pkgrel=0 _configs=" config-full.aarch64 @@ -34,23 +30,13 @@ source=" $_configs " -_archflavors() { - for i in $_configs; do - local _nocfg="${i#config-}" - local _arch="${_nocfg#*.}" - local _flavour="${_nocfg%.*}" - [ "$_arch" == "$CARCH" ] && echo "$_flavour" - done -} - -for i in $(_archflavors); do - subpackages=" - $subpackages - $pkgname-$i:_flavorpkg:$CBUILD_ARCH - $pkgname-$i-dev:_devpkg:$CBUILD_ARCH - " -done +_kabi= _klocalver= _kconfig= _kbdmain= _kbddev= _kflavor= +_kdir_src="$srcdir/linux-$pkgver" +arch="noarch" +subpackages=" + $pkgname-$_ksupport-headers:_pkg_header:$CBUILD_ARCH +" _depends_dev=" perl gmp-dev @@ -59,7 +45,6 @@ _depends_dev=" flex bison " - makedepends=" $_depends_dev sed @@ -76,7 +61,7 @@ pkgdesc="Linux Kernel - Metapackage" url="https://www.kernel.org" license="GPL-2.0" options="!strip" -builddir="$srcdir/" +builddir="$_kdir_src" _carch=${CARCH} # abuild to kernel arch mapping case "$_carch" in @@ -86,53 +71,94 @@ case "$_carch" in ppc*) _carch="powerpc" ;; s390*) _carch="s390" ;; esac + +_archflavors() { + for i in $_configs; do + local _nocfg="${i#config-}" + local _arch="${_nocfg#*.}" + local _flavour="${_nocfg%.*}" + [ "$_arch" == "$CARCH" ] && echo "$_flavour" + done +} + +_bvars() { + _kconfig="config-$_kflavor.$CARCH" + _kdir_main="$srcdir/build-$_kflavor.$CARCH" + _kdir_dev="$srcdir/build-$_kflavor-dev.$CARCH" + + _ksaf="$_ksupport-$_kflavor" + _kabi="$pkgver-$pkgrel-$_ksaf" + _klocalver="-$pkgrel-$_ksaf" +} + +_spvars() { + _kflavor="$(echo $subpkgname | cut -d- -f3)" +} + +for _kflavor in $(_archflavors); do + + _bvars + + subpackages=" + $subpackages + $pkgname-$_ksaf:_pkg_kernel:$CBUILD_ARCH + $pkgname-$_ksaf-dev:_pkg_extmod:$CBUILD_ARCH + " +done + export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { default_prepare - for i in $(_archflavors); do - local _builddir= - local _config="config-$i.$CARCH" - for _builddir in "$srcdir/build-$i.$CARCH" "$srcdir/build-$i-dev.$CARCH"; do - mkdir -p "$_builddir" - echo "-$pkgrel-$i" > "$_builddir"/localversion-alpine \ + + for _kflavor in $(_archflavors); do + + _bvars + + for _kbuilddir in "$_kdir_main" "$_kdir_dev"; do + + mkdir -p "$_kbuilddir" + echo "$_klocalver" > "$_kbuilddir"/localversion-alpine \ || return 1 - cp "$srcdir"/"$_config" "$_builddir"/.config - make -C "$srcdir"/"linux-$pkgver" \ - O="$_builddir" \ + cp "$srcdir"/"$_kconfig" "$_kbuilddir"/.config + + make -C "$_kdir_src" \ + O="$_kbuilddir" \ ARCH="$_carch" \ listnewconfig oldconfig + done done } build() { unset LDFLAGS - for i in $(_archflavors); do + + for _kflavor in $(_archflavors); do + + _bvars + # Build kernel and modules - msg "Building $i for $CARCH" - cd "$srcdir"/"build-$i.$CARCH" + msg "Building $_kflavor for $CARCH" + cd "$_kdir_main" make \ ARCH="$_carch" \ CC="${CC:-gcc}" \ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine" # Build out-of-tree builder - msg "Building $i=dev for $CARCH" - cd "$srcdir"/"build-$i-dev.$CARCH" + msg "Building $_kflavor-dev for $CARCH" + cd "$_kdir_dev" make syncconfig \ - O="$_outdir" \ ARCH="$_carch" make prepare \ - O="$_outdir" \ ARCH="$_carch" make modules_prepare \ - O="$_outdir" \ ARCH="$_carch" make scripts \ - O="$_outdir" \ ARCH="$_carch" + done } @@ -140,72 +166,103 @@ package() { mkdir -p "$pkgdir" } -_flavorpkg() { - local _buildflavor="${subpkgname##$pkgname-}" _outdir="$subpkgdir" - local _abi_release="$pkgver-$pkgrel-$_buildflavor" +_pkg_kernel() { - cd "$srcdir"/"build-$_buildflavor.$CARCH" + _spvars + _bvars - mkdir -p "$_outdir"/boot "$_outdir"/lib/modules - - local _install + local _install= case "$CARCH" in arm*|aarch64) _install="zinstall dtbs_install";; *) _install=install;; esac - # Install kernel - make "$_install" \ - ARCH="$_carch" \ - INSTALL_PATH="$_outdir"/boot \ - INSTALL_DTBS_PATH="$_outdir/boot/dtbs-$_buildflavor" + local _outdir="$subpkgdir" + mkdir -p "$_outdir"/boot "$_outdir"/lib/modules + cd "$_kdir_main" # Install modules make modules_install \ ARCH="$_carch" \ INSTALL_MOD_PATH="$_outdir" + # Install kernel + make "$_install" \ + ARCH="$_carch" \ + INSTALL_PATH="$_outdir"/boot \ + INSTALL_DTBS_PATH="$_outdir/boot/dtbs-$_ksaf" + # Remove incorrect build-time symlinks - rm -f "$_outdir"/lib/modules/"$_abi_release"/build \ - "$_outdir"/lib/modules/"$_abi_release"/source + rm -f "$_outdir"/lib/modules/"$_kabi"/build \ + "$_outdir"/lib/modules/"$_kabi"/source rm -rf "$_outdir"/lib/firmware + # Install release file install -D -m644 include/config/kernel.release \ - "$_outdir"/usr/share/kernel/"$_buildflavor"/kernel.release + "$_outdir"/usr/share/kernel/"$_kflavor"/kernel.release } -_devpkg() { +_pkg_extmod() { + + _spvars + _bvars + depends="$_depends_dev" - local _pkgnodev="${subpkgname%-dev}" - local _buildflavor="${_pkgnodev##$pkgname-}" - local _config="config-$_buildflavor.$CARCH" _abi_release="$pkgver-$pkgrel-$_buildflavor" - local _outdir="$subpkgdir/usr/src/linux-headers-$_abi_release" _builddir="$subpkgdir/lib/modules/$_abi_release" - + local _outdir="$subpkgdir/usr/src/linux-headers-$_kabi" _builddir="$subpkgdir/lib/modules/$_kabi" mkdir -p "$_outdir" - cd "$srcdir"/"build-$_buildflavor-dev.$CARCH" - cp -a . "$_outdir" + + cd "$_kdir_dev" + msg "Copying kernel out-of-tree build files" + rm Makefile source + cp -t "$_outdir" -a . + + cd "$_kdir_src" + msg "Copying kernel out-of-tree build tree" + cp -t "$_outdir" -a scripts include + find . \ + -path './include/*' -prune -o \ + -path './scripts/*' -prune -o \ + -type f \( \ + -name 'Makefile*' -o \ + -name 'Kconfig*' -o \ + -name 'Kbuild*' -o \ + -name '*.sh' -o \ + -name '*.pl' -o \ + -name '*.lds' -o \ + -name 'Platform' \ + \) -print | \ + cpio -pdm "$_outdir" + find ./arch \ + -path './arch/*/include/*' \ + -type f -print | \ + cpio -pdm "$_outdir" mkdir -p "$_builddir" - ln -sf "$_outdir" "$_builddir"/build + ln -sf "/usr/src/linux-headers-$_kabi" "$_builddir"/build } -_headerspkg() { +_pkg_header() { + + provides="linux-headers=$pkgver-r$pkgrel" + _spvars + _bvars + local _outdir="$subpkgdir/usr" - cd "$srcdir"/"linux-$pkgver" mkdir -p "$_outdir" + cd "$_kdir_src" make headers_install \ ARCH="$_carch" \ INSTALL_HDR_PATH="$_outdir" rm -f **/.install **/install.cmd - rm -rf "$subpkgdir/usr/include/drm" # provided by libdrm-dev + rm -rf "$_outdir/include/drm" # provided by libdrm-dev } sha512sums=" -37262e3793ed433ee619e7b08c0ab64d34bbc66e29229025ada498edf45ab2c870569c0a3b17f026379c67153f277e90e1b301c95711638645bde025230201ef linux-5.10.52.tar.xz +53b80d1027c6df6a4f13237a21a3ea69bfe51ba12dd4bf4e984da29150e457fea6fdc493542e4b86a04a9ba1481ae0db866bd883767f7107c323b41fb9fe022c linux-5.10.55.tar.xz 7ae670f2dbbdec616becce3944fe190a797a19346b4fa266deae71d4c1ccd7b0e60e400bde47d32261cb15c1b2f1579a2848adace3397d82552c52bff1421f0a config-full.aarch64 84aaad1001be4e55c5885dcf27a4647028319123bf54195f8c1233287bec9c890dbb131920976e950136d5eacc7ff153fc9ad305cfd0ca28fd0194a263e8be4f config-full.armv7 0caf98dec1162b1ba4e4bb4e198d0a34e59ac022532d562961cf9b22cbdb930675ff3a845bb17ddff83b91a84ad61df9d607f175c34133916e0a3cdbb4c13786 config-full.mips64 diff --git a/kernel/linux/config-full.aarch64 b/kernel/linux-lts/config-full.aarch64 similarity index 100% rename from kernel/linux/config-full.aarch64 rename to kernel/linux-lts/config-full.aarch64 diff --git a/kernel/linux/config-full.armv7 b/kernel/linux-lts/config-full.armv7 similarity index 100% rename from kernel/linux/config-full.armv7 rename to kernel/linux-lts/config-full.armv7 diff --git a/kernel/linux/config-full.mips64 b/kernel/linux-lts/config-full.mips64 similarity index 100% rename from kernel/linux/config-full.mips64 rename to kernel/linux-lts/config-full.mips64 diff --git a/kernel/linux/config-full.ppc64le b/kernel/linux-lts/config-full.ppc64le similarity index 100% rename from kernel/linux/config-full.ppc64le rename to kernel/linux-lts/config-full.ppc64le diff --git a/kernel/linux/config-full.x86 b/kernel/linux-lts/config-full.x86 similarity index 100% rename from kernel/linux/config-full.x86 rename to kernel/linux-lts/config-full.x86 diff --git a/kernel/linux/config-full.x86_64 b/kernel/linux-lts/config-full.x86_64 similarity index 100% rename from kernel/linux/config-full.x86_64 rename to kernel/linux-lts/config-full.x86_64 diff --git a/kernel/linux/config-virt.aarch64 b/kernel/linux-lts/config-virt.aarch64 similarity index 100% rename from kernel/linux/config-virt.aarch64 rename to kernel/linux-lts/config-virt.aarch64 diff --git a/kernel/linux/config-virt.armv7 b/kernel/linux-lts/config-virt.armv7 similarity index 100% rename from kernel/linux/config-virt.armv7 rename to kernel/linux-lts/config-virt.armv7 diff --git a/kernel/linux/config-virt.ppc64le b/kernel/linux-lts/config-virt.ppc64le similarity index 100% rename from kernel/linux/config-virt.ppc64le rename to kernel/linux-lts/config-virt.ppc64le diff --git a/kernel/linux/config-virt.s390x b/kernel/linux-lts/config-virt.s390x similarity index 100% rename from kernel/linux/config-virt.s390x rename to kernel/linux-lts/config-virt.s390x diff --git a/kernel/linux/config-virt.x86 b/kernel/linux-lts/config-virt.x86 similarity index 100% rename from kernel/linux/config-virt.x86 rename to kernel/linux-lts/config-virt.x86 diff --git a/kernel/linux/config-virt.x86_64 b/kernel/linux-lts/config-virt.x86_64 similarity index 100% rename from kernel/linux/config-virt.x86_64 rename to kernel/linux-lts/config-virt.x86_64