aboutsummaryrefslogtreecommitdiffstats
path: root/community/linux-edge/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/linux-edge/APKBUILD')
-rw-r--r--community/linux-edge/APKBUILD148
1 files changed, 93 insertions, 55 deletions
diff --git a/community/linux-edge/APKBUILD b/community/linux-edge/APKBUILD
index 1a89f2bd32d..dde1cf2a15e 100644
--- a/community/linux-edge/APKBUILD
+++ b/community/linux-edge/APKBUILD
@@ -4,7 +4,7 @@ _flavor=edge
pkgname=linux-${_flavor}
# NOTE: this kernel is intended for testing
# please resist urge to upgrade it blindly
-pkgver=5.15.5
+pkgver=6.8.6
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=$pkgver;;
@@ -12,15 +12,15 @@ esac
pkgrel=0
pkgdesc="Linux latest stable kernel"
url="https://www.kernel.org"
-depends="mkinitfs"
-_depends_dev="perl gmp-dev elfutils-dev bash flex bison"
+depends="initramfs-generator"
+_depends_dev="perl gmp-dev elfutils-dev flex bison"
makedepends="$_depends_dev sed installkernel bc linux-headers linux-firmware-any
- openssl1.1-compat-dev diffutils findutils xz"
+ openssl-dev diffutils findutils xz"
options="!strip !check" # no tests
_config=${config:-config-edge.${CARCH}}
install=
-subpackages="$pkgname-dev:_dev:$CBUILD_ARCH"
+subpackages="$pkgname-dev:_dev:$CBUILD_ARCH $pkgname-doc:_doc"
source="https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar.xz"
case $pkgver in
*.*.0) source="$source";;
@@ -28,17 +28,14 @@ case $pkgver in
https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/patch-$pkgver.xz" ;;
esac
- source="$source
+source="$source
config-edge.aarch64
config-edge.armv7
config-edge.x86_64
config-edge.riscv64
- config-edge4virt.aarch64
- config-edge4virt.armv7
- config-edge4virt.x86_64
- config-edge4virt.riscv64
"
+builddir="$srcdir/linux-${_kernver}"
arch="armv7 aarch64 x86_64 riscv64"
license="GPL-2.0"
@@ -65,7 +62,7 @@ esac
prepare() {
local _patch_failed=
- cd "$srcdir"/linux-$_kernver
+ cd $builddir
case $pkgver in
*.*.0);;
*)
@@ -100,14 +97,13 @@ prepare() {
oldconfig() {
for i in $_flavors; do
local _config=config-$i.${CARCH}
- local _builddir="$srcdir"/build-$i.$CARCH
- mkdir -p "$_builddir"
- echo "-$pkgrel-$i" > "$_builddir"/localversion-alpine \
+ mkdir -p "$builddir"
+ echo "-$pkgrel-$i" > "$builddir"/localversion-alpine \
|| return 1
- cp "$srcdir"/$_config "$_builddir"/.config
- make -C "$srcdir"/linux-$_kernver \
- O="$_builddir" \
+ cp "$srcdir"/$_config "$builddir"/.config
+ make -C $builddir \
+ O="$builddir" \
ARCH="$_carch" \
listnewconfig oldconfig
done
@@ -117,8 +113,8 @@ build() {
unset LDFLAGS
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
for i in $_flavors; do
- cd "$srcdir"/build-$i.$CARCH
- make ARCH="$_carch" CC="${CC:-gcc}" \
+ cd "$builddir"
+ make ARCH="$_carch" DTC_FLAGS="-@" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
done
}
@@ -128,7 +124,7 @@ _package() {
local _abi_release=${pkgver}-${pkgrel}-${_buildflavor}
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
- cd "$srcdir"/build-$_buildflavor.$CARCH
+ cd "$builddir"
# modules_install seems to regenerate a defect Modules.symvers on s390x. Work
# around it by backing it up and restore it after modules_install
cp Module.symvers Module.symvers.backup
@@ -165,11 +161,6 @@ package() {
_package edge "$pkgdir"
}
-# subflavors install in $subpkgdir
-edge4virt() {
- _package edge4virt "$subpkgdir"
-}
-
_dev() {
local _flavor=$(echo $subpkgname | sed -E 's/(^linux-|-dev$)//g')
local _abi_release=${pkgver}-${pkgrel}-$_flavor
@@ -190,47 +181,94 @@ _dev() {
mkdir -p "$dir"
cp "$srcdir"/config-$_flavor.${CARCH} "$dir"/.config
echo "-$pkgrel-$_flavor" > "$dir"/localversion-alpine
+ cd $builddir
+
+ echo "Installing headers..."
+ case "$_carch" in
+ x86_64)
+ _carch="x86"
+ install -Dt "${dir}/tools/objtool" $builddir/tools/objtool/objtool
+ ;;
+ esac
+ cp -t "$dir" -a $builddir/include
- make -j1 -C "$srcdir"/linux-$_kernver O="$dir" ARCH="$_carch" \
- syncconfig prepare modules_prepare scripts
+ install -Dt "${dir}" -m644 $builddir/Makefile
+ install -Dt "${dir}" -m644 $builddir/Module.symvers
+ install -Dt "${dir}" -m644 $builddir/System.map
+ cp -t "$dir" -a $builddir/scripts
- # remove the stuff that points to real sources. we want 3rd party
- # modules to believe this is the soruces
- rm "$dir"/Makefile "$dir"/source
+ install -Dt "${dir}/arch/${_carch}" -m644 $builddir/arch/${_carch}/Makefile
+ install -Dt "${dir}/arch/${_carch}/kernel" -m644 $builddir/arch/${_carch}/kernel/asm-offsets.s
+ cp -t "${dir}/arch/${_carch}" -a $builddir/arch/${_carch}/include
- # copy the needed stuff from real sources
- #
- # this is taken from ubuntu kernel build script
- # http://kernel.ubuntu.com/git/ubuntu/ubuntu-zesty.git/tree/debian/rules.d/3-binary-indep.mk
- cd "$srcdir"/linux-$_kernver
- 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 "$dir"
+ install -Dt "$dir/drivers/md" -m644 drivers/md/*.h
+ install -Dt "$dir/net/mac80211" -m644 net/mac80211/*.h
- cp -a scripts include "$dir"
+ # https://bugs.archlinux.org/task/13146
+ install -Dt "$dir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
- find $(find arch -name include -type d -print) -type f \
- | cpio -pdm "$dir"
+ # https://bugs.archlinux.org/task/20402
+ install -Dt "$dir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
+ install -Dt "$dir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
+ install -Dt "$dir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
- install -Dm644 "$srcdir"/build-$_flavor.$CARCH/Module.symvers \
- "$dir"/Module.symvers
+ # https://bugs.archlinux.org/task/71392
+ install -Dt "$dir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
+ echo "Installing KConfig files..."
+ find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
+
+ echo "Removing unneeded architectures..."
+ local arch
+ for arch in "$dir"/arch/*/; do
+ case $(basename "$arch") in $_carch) continue ;; esac
+ echo "Removing $(basename "$arch")"
+ rm -r "$arch"
+ done
+
+ echo "Removing broken symlinks..."
+ find -L "$builddir" -type l -printf 'Removing %P\n' -delete
+
+ echo "Removing loose objects..."
+ find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
+
+ echo "Stripping build tools..."
+ local file
+ while read -rd '' file; do
+ case "$(file -bi "$file")" in
+ application/x-sharedlib\;*) # Libraries (.so)
+ strip -v $STRIP_SHARED "$file" ;;
+ application/x-archive\;*) # Libraries (.a)
+ strip -v $STRIP_STATIC "$file" ;;
+ application/x-executable\;*) # Binaries
+ strip -v $STRIP_BINARIES "$file" ;;
+ application/x-pie-executable\;*) # Relocatable binaries
+ strip -v $STRIP_SHARED "$file" ;;
+ 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 "$subpkgdir"/lib/modules/${_abi_release}
ln -sf /usr/src/linux-headers-${_abi_release} \
"$subpkgdir"/lib/modules/${_abi_release}/build
}
+_doc() {
+ pkgdesc="documentation for $_flavor kernel"
+ mkdir -p "$subpkgdir"/usr/share/doc/linux-edge-doc
+ cp -r "$builddir"/Documentation \
+ "$subpkgdir"/usr/share/doc/linux-edge-doc/
+
+}
+
sha512sums="
-d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a linux-5.15.tar.xz
-995d19fc4a98844ffcc3d6cfaabedc2151efecac2904a7a12befa98a2ff0c6adcfbc3916496cc2a139ddeddcd74bd49995501e53f2b906a8c2c390d4a6e26b80 patch-5.15.5.xz
-25b303c937fadb80e1bb0d1dd2a38863ae9082462a8e967026764a09f50ba56d62ff03a3fb254d3a438fae8aeafb219e0cc0c050a6142d8b8ca477283bca0532 config-edge.aarch64
-628f274a32ea024bb38e0a93aaece20af5cb84fc3ce55ee8b9c6e0f3457619bd45bb752d3f547892682bbce4c26062b29e3ccc28b6953e64487b4ef58aa95431 config-edge.armv7
-edecde7697a2cb6e42c472360704eeca4e2e061b678af1379874dd0c877f792a12d11e87a8c5754f8f06fbbe52df9280119344470c0ea6ddb1df2db2897ddfab config-edge.x86_64
-7bdf6ba7bf6c5feb26a731f8dd5b42ba75c913d71317885c7c014097816f1f81dfae790fd9053362b2771b45c2126f98473eab8d82cfdc148970442c324b4488 config-edge.riscv64
-d93edaab66643bea52000dd359a09e51fb1469567217d97ca2c3be1ccd7c8c159e0606c76ebb50f1950fe1944b0ccdbb9d211741ec3b0e7c0942c97804c60329 config-edge4virt.aarch64
-41dfd591fc2a62c5f2596e6692cb76bb521d764b9241dc1e16a78d81b452f5340a4d33b8fe002f2bc9782b6e19445ecb0d24f65b616bd82e14a8af298785d764 config-edge4virt.armv7
-45579b80362e5ebfb6bee139f253c9b2940965b3d69a7a2b4af811d5114e23087d8be6c4d87ffbef8303af395e1caa4b4fe98807def014a8e4000f15f0752dfd config-edge4virt.x86_64
-16e3d39cddaeea32bfc84d7721601c07a6bd9a9784cde97c84d8e093e1c6441935a41a01374eaba7da96cfe4728a394560812724d8d247613ff8753f1d04be00 config-edge4virt.riscv64
+5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 linux-6.8.tar.xz
+92ce796b5c66c532072d000e9b01882ed1729b0f29dc5587029505cbdd6f398dad71023aaa8ab1d6e268431868d93230a5a5532621ce00296d9567ad744c0d77 patch-6.8.6.xz
+cebf11a76ffe41b3cfb10a8bc9716165aedfc20394668da13b3ede1a409ebdf488f6949469883cda510365b82982143ba9a8f964a5840365e23e6adcd4faa4dc config-edge.aarch64
+71f07a19eab9e0997385546b2eb1e6fcbced770db316a6a053b0f683ae57d4e698a8f5bb7d2c4c9a1e7cdb8453bfe7eb7ea4ce829819fa3bd626383e3010caa1 config-edge.armv7
+2211c95463c2f761634635bbc5fcb658f20c89739b2075e316aedb1363fa18b02a52fb18ab60ea24638e706acd2e8dd8ba213271ca289cf1f81bb351ad600d51 config-edge.x86_64
+cd3cf86c4ef6e5fdb7710dbe706afef61e7a5af36db55681b1230b167f36a7e08341ff3b7cb131e86ea4a503115ba09c91c7d10dba7f436b0c045bed37d89b8b config-edge.riscv64
"