index : packages | |
Archlinux32 package modifications | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | core/linux/PKGBUILD | 104 |
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/}) |