parent
2854a798be
commit
841707b42b
5 changed files with 0 additions and 24664 deletions
|
@ -1,169 +0,0 @@
|
|||
_flavor=postmarketos-mainline
|
||||
_config="config-${_flavor}.${CARCH}"
|
||||
|
||||
pkgname=linux-${_flavor}
|
||||
|
||||
pkgver=5.4_rc1
|
||||
_pkgver=${pkgver/_/-}
|
||||
_kernver=${pkgver%_rc*}
|
||||
_mainver=${_kernver%.*}
|
||||
_patchlevel=${_kernver/$_mainver./}
|
||||
_basever=${_mainver}.$((_patchlevel-1))
|
||||
pkgrel=0
|
||||
|
||||
arch="x86_64 armhf armv7 aarch64"
|
||||
pkgdesc="Linux for pmOS supported chipsets (mainline, more bleeding-edge than stable)"
|
||||
url="https://kernel.org/"
|
||||
depends=""
|
||||
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev openssl-dev file bison flex"
|
||||
options="!strip !check !tracedeps"
|
||||
install=
|
||||
source="
|
||||
https://cdn.kernel.org/pub/linux/kernel/v$_mainver.x/linux-$_basever.tar.xz
|
||||
linux-v$_basever-v$_pkgver.patch::https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/rawdiff/?id=v$_pkgver&id2=v$_basever
|
||||
config-${_flavor}.armhf
|
||||
config-${_flavor}.armv7
|
||||
config-${_flavor}.aarch64
|
||||
config-${_flavor}.x86_64
|
||||
"
|
||||
|
||||
subpackages="$pkgname-dev"
|
||||
|
||||
license="GPL2"
|
||||
_abi_release=$_pkgver
|
||||
_carch=${CARCH}
|
||||
case "$_carch" in
|
||||
aarch64*) _carch="arm64" ;;
|
||||
arm*) _carch="arm" ;;
|
||||
ppc*) _carch="powerpc" ;;
|
||||
s390*) _carch="s390" ;;
|
||||
esac
|
||||
|
||||
HOSTCC="${CC:-gcc}"
|
||||
HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
|
||||
|
||||
builddir="$srcdir/linux-$_basever"
|
||||
|
||||
prepare() {
|
||||
local _patch_failed=
|
||||
cd "$builddir"
|
||||
# first apply patches in specified order
|
||||
for i in $source; do
|
||||
case $i in
|
||||
*.patch|*.patch::*)
|
||||
_patch=${i%::*}
|
||||
msg "Applying $_patch..."
|
||||
if ! patch -s -p1 -N -i "$srcdir"/$_patch; then
|
||||
echo $_patch >>failed
|
||||
_patch_failed=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if ! [ -z "$_patch_failed" ]; then
|
||||
error "The following patches failed:"
|
||||
cat failed
|
||||
return 1
|
||||
fi
|
||||
|
||||
mkdir -p "$srcdir"/build
|
||||
cp -v "$srcdir"/$_config "$srcdir"/build/.config
|
||||
make -C "$builddir" O="$srcdir"/build ARCH="$_carch" HOSTCC="$HOSTCC" \
|
||||
olddefconfig
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir"/build
|
||||
unset LDFLAGS
|
||||
make ARCH="$_carch" CC="${CC:-gcc}" \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-${_flavor}" \
|
||||
CFLAGS_MODULE=-fno-pic
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/build/arch/${_carch}/boot"
|
||||
|
||||
if [ "$CARCH" == "aarch64" ]; then
|
||||
install -Dm644 "$srcdir/build/arch/${_carch}/boot/Image" \
|
||||
"$pkgdir/boot/vmlinuz-$_flavor"
|
||||
else
|
||||
install -Dm644 "$srcdir/build/arch/${_carch}/boot/"*zImage \
|
||||
"$pkgdir/boot/vmlinuz-$_flavor"
|
||||
fi
|
||||
|
||||
install -D "$srcdir/build/include/config/kernel.release" \
|
||||
"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
|
||||
|
||||
cd "$srcdir"/build
|
||||
|
||||
local _install
|
||||
case "$CARCH" in
|
||||
aarch64*|arm*) _install="modules_install dtbs_install" ;;
|
||||
*) _install="modules_install" ;;
|
||||
esac
|
||||
|
||||
make -j1 $_install \
|
||||
ARCH="$_carch" \
|
||||
INSTALL_MOD_PATH="$pkgdir" \
|
||||
INSTALL_DTBS_PATH="$pkgdir/usr/share/dtb"
|
||||
}
|
||||
|
||||
|
||||
dev() {
|
||||
# copy the only the parts that we really need for build 3rd party
|
||||
# kernel modules and install those as /usr/src/linux-headers,
|
||||
# similar to what ubuntu does
|
||||
#
|
||||
# this way you don't need to install the 300-400 kernel sources to
|
||||
# build a tiny kernel module
|
||||
#
|
||||
pkgdesc="Headers and script for third party modules for postmarketos kernel"
|
||||
depends="gmp-dev bash perl"
|
||||
local dir="$subpkgdir"/usr/src/linux-headers-${_abi_release}
|
||||
|
||||
# first we import config, run prepare to set up for building
|
||||
# external modules, and create the scripts
|
||||
mkdir -p "$dir"
|
||||
cp "$srcdir"/$_config "$dir"/.config
|
||||
make -j1 -C "$builddir" O="$dir" ARCH="$_carch" HOSTCC="$HOSTCC" \
|
||||
olddefconfig prepare modules_prepare scripts
|
||||
|
||||
# needed for 3rd party modules
|
||||
# https://bugzilla.kernel.org/show_bug.cgi?id=11143
|
||||
case "$CARCH" in
|
||||
ppc*) (cd "$dir" && make arch/powerpc/lib/crtsavres.o);;
|
||||
esac
|
||||
|
||||
# remove the stuff that points to real sources. we want 3rd party
|
||||
# modules to believe this is the sources
|
||||
rm "$dir"/Makefile "$dir"/source
|
||||
|
||||
# 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 "$builddir"
|
||||
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' \) \
|
||||
-print | cpio -pdm "$dir"
|
||||
cp -a scripts include "$dir"
|
||||
find $(find arch -name include -type d -print) -type f \
|
||||
| cpio -pdm "$dir"
|
||||
|
||||
install -Dm644 "$srcdir"/build/Module.symvers \
|
||||
"$dir"/Module.symvers
|
||||
|
||||
mkdir -p "$subpkgdir"/lib/modules/${_abi_release}
|
||||
ln -sf /usr/src/linux-headers-${_abi_release} \
|
||||
"$subpkgdir"/lib/modules/${_abi_release}/build
|
||||
}
|
||||
sha512sums="6b5edef47c319a3fa7f6c20a3e0903a5acd89ec75e32dc5f99adcb60c9fe118ea312722d9c3d27e2e3900afa2455afb86e83a8b6bb131009bc79ddbe6fb0595d linux-5.3.tar.xz
|
||||
f9771a13b3179033cd015bfa243ce13acce6d62ace8cc3184182d72933afe6c2928c85cba325b75040e03948b8bdde494ca5bb2b54edc0bc08345ef3470b3d3f linux-v5.3-v5.4-rc1.patch
|
||||
148e0d9d72cea10765b79d32a6cfe0cd25bfa76825ea36b50adbbea001ae0c2ee2b4b9e1d621c8aff505cac2750df6eac0e0a927c94fa7efb46010b8a198fe85 config-postmarketos-mainline.armhf
|
||||
5e622cdf8e931bde115026e1b1ff09639268100642a48dedaa345836c032a00e144cb78a114bf4d4e3f9523bd137a6a3b2b2375defd0e7cbd00731c16e54ab54 config-postmarketos-mainline.armv7
|
||||
5cb59d838e3cc40e3ba76cb86b9af7b6167e5d5e7bf76fc579674a40eba7d877ca707bfc4f4260972fbdc2b9c94c87c17f85a817ba69c735aa4184bca4d41673 config-postmarketos-mainline.aarch64
|
||||
1546592d9b788cf977404fefcb9f85c5f37baf91013429f40082274f1b98224af4dc196b63445ce59c9f9ac5dd1159aa92a551a7c95dc9e931caa4f70036fccf config-postmarketos-mainline.x86_64"
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue