Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/core/linux/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'core/linux/PKGBUILD')
-rw-r--r--core/linux/PKGBUILD104
1 files changed, 72 insertions, 32 deletions
diff --git a/core/linux/PKGBUILD b/core/linux/PKGBUILD
index 648fd59b..7ee56472 100644
--- a/core/linux/PKGBUILD
+++ b/core/linux/PKGBUILD
@@ -1,58 +1,63 @@
-# upstream git revision: f259dac06720e1b18311122f3ef4724847d0bc08
+# Don't bother with sha256sums, use blake2 only
+unset sha256sums
source_pentium4=('config.pentium4')
source_i686=('config.i686')
source_i486=('config.i486')
-# fail if upstream's .config changes
-for ((i=0; i<${#sha256sums[@]}; i++)); do
- if [ "${sha256sums[${i}]}" = '36439a90c9d2f860298d90e141f3bf9d897dd8ece9e21cd46508f4ed7b2151bb' ]; then
- sha256sums_pentium4=('f3aca2aa7961a87bdc77ae197cd4a0f4759b7ae79de07b81592993d764d63769')
- sha256sums_i686=('998ee2c0aeb2c2190251a1d18f88939a19f1be3d1ac631b66d484f7e33dd253f')
- sha256sums_i486=('15d5c3a7d5f68a7da9b560a608f6768a45bcfcd43043b58dc01a5d44ad912ca4')
- fi
-done
+b2sums_pentium4=('5aa4f0a095965ae47ace60e90f2e098cd5967a7ba47e2d7fcb8953e126e964797ef0caccc4df151f649346e76595eab63c44f04fb57fc81cb9c5e631f3fa600a')
+b2sums_i686=('f2fad336fa6f90c36c6adfc5aa2cba3ac0fad370ab1ce3b98378808dbcc66e76eec9f441e7d315a10d31fabea3d7f1575d475a80e31496489e6d72a94f75bca9')
+b2sums_i486=('a7aa7e8319c623575e14bb8497f580e0d56030abc68dd8d3662aef62d087aa8c50dcc1f6ba7cfdbf8bfe1c42a4a56e5cdd4503de314957cbabfe8cc7acebe4fa')
-for _rem_i486_dep in graphviz imagemagick; do
- if printf '%s\n' "${makedepends[@]}" | grep -qxF "${_rem_i486_dep}"; then
- makedepends=(${makedepends[@]/${_rem_i486_dep}/})
- makedepends_i686+=("${_rem_i486_dep}")
- makedepends_pentium4=("${makedepends_i686[@]}")
- fi
-done
+# copy architecture specific config file, not default 'config'
eval "$(
- if [ "${CARCH}" = 'i486' ]; then
- declare -f build | \
- sed '
- s/\bhtmldocs\b//
- '
- declare -f package_linux-docs | \
- sed '
- \@/Documentation/@ s/^\s*rm /\0-f /
- '
- fi
declare -f prepare | \
sed '
s,\.\./config,../config.$CARCH,
'
- declare -f package_linux-headers | \
+)"
+
+# patch architecture when copying the kernel Makefile
+eval "$(
+ declare -f package_${pkgbase}-headers | \
sed '
- \,/tools/objtool" ,d
\,arch/x86/Makefile, {
a \
install -t "${builddir}/arch/x86" -m644 arch/x86/Makefile_32.cpu
}
+ $ i depends+=(gcc-libs=$(_get_gcc_version_from_config))
'
)"
+_get_gcc_version_from_config() {
+ if [ -z "$srcdir" ]; then
+ gcc --version \
+ | sed '
+ s@^.* @@
+ 1!d
+ '
+ else
+ for _config_file in "$srcdir/$_srcname/.config" "$srcdir/config" "${srcdir%/*}/config"; do
+ [ -f "$_config_file" ] && break
+ done
+ sed '
+ s/^CONFIG_CC_VERSION_TEXT="gcc (GCC) \([0-9.]\+\)"$/\1/
+ t
+ d
+ ' "$_config_file"
+ fi
+}
+
# use our tarballer instead of cloning from git
for ((i=0; i<${#source[@]}; i++)); do
infos=$(
printf '%s\n' "${source[${i}]}" | \
- sed -n '
- s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)\(?signed\)\?#\(\(tag\|commit\)=\S\+\)$@\3 \2 \4 \5 \6@
- T
- p
+ sed '
+ s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)\(?signed\)\?#\(\(tag\|commit\)=[^?]\+\)$@\3 \2 \4 \5 \6@
+ t
+ s@^\(\([^:]\+\)::\)\?\(git\|hg\)+\([^#?]\+\)#\(\(tag\|commit\)=[^?]\+\)\(?signed\)\?$@\3 \2 \4 \7 \5@
+ t
+ d
'
)
if [ -n "${infos}" ]; then
@@ -103,3 +108,38 @@ for ((i=0; i<${#source[@]}; i++)); do
)
fi
done
+
+# upstream prepare() does already do the *.patch patching
+
+# avoid using zstd compression in ultra mode (exhausts virtual memory)
+source+=('no-ultra-zstd.patch')
+b2sums+=('165ab9dd8cedeaae5327accc1581c19cf0be55f923b03feb889cad3351b74c7c4cd3d3c206938e5152bfe1d947513dea8f630f8f5544099ec13d16d254725c40')
+
+# objtool doesn't exist because we don't have STACK_VALIDATION
+# and resolve_btfids doesn't exist because we disable BTF due to pahole running out of memory
+eval "$(
+ declare -f package_${pkgbase}-headers | \
+ sed '/objtool/d' | \
+ sed '/resolve_btfids/d' | \
+ sed 's@tools/bpf/bpftool/vmlinux.h@@'
+)"
+
+# temporarily disabled documentation due to sphinx_rtd_theme (FS32#163)
+pkgname=(
+ $(
+ printf '%s\n' "${pkgname[@]}" | \
+ grep -v '^\$pkgbase-docs'
+ )
+)
+
+# Also avoid building/running bpftool
+eval "$(
+ declare -f build | \
+ sed '/htmldocs/d' | \
+ sed '/bpftool/d'
+)"
+makedepends=(${makedepends[@]//python-sphinx_rtd_theme/})
+makedepends=(${makedepends[@]//python-sphinx<6.0.0/})
+makedepends=(${makedepends[@]//graphviz/})
+makedepends=(${makedepends[@]//imagemagick/})
+makedepends=(${makedepends[@]//texlive-latexextra/})