From 534ff3e8a1734bc83c093af1a5c3e3644d93713a Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 26 2023 22:17:32 +0000 Subject: [PATCH 1/14] [linux-libre-vanilla]: upgrade to v6.5.8 --- diff --git a/libre/linux-libre-vanilla/PKGBUILD b/libre/linux-libre-vanilla/PKGBUILD index bc11749..8156474 100644 --- a/libre/linux-libre-vanilla/PKGBUILD +++ b/libre/linux-libre-vanilla/PKGBUILD @@ -27,7 +27,7 @@ pkgbase=linux-libre-vanilla -pkgver=6.5.7 +pkgver=6.5.8 _minor_ver=$(sed 's|\([0-9]\+\.[0-9]\+\).*|\1|' <<<${pkgver}) # eg: 6.1 _upstream_minor_ver=${_minor_ver}-gnu # eg: 6.1-gnu _upstream_ver=${pkgver}-gnu # eg: 6.1.5-gnu @@ -76,7 +76,7 @@ sha512sums=('45c8beef2e529df41f21819583ac8bdc37f6cf34434d94ae5ef08586b2d82721e3c 'SKIP' '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' 'SKIP') -(( _is_patch_release )) && sha512sums+=('4e7aadcad26cb43f9b798c2fe6f39793f7e3aebeb86a442b3588faaa268c2333704fd74eb36ff87bd8db9e5399e41f86736f8fdf16ae555d3c86f194f3d1da87' +(( _is_patch_release )) && sha512sums+=('9eaa0ffebe5628b8d1f67795b72a5a76f4e5ffa9d73963123e33e26380f37ce81277d6088323ff41a308ab2dea191b959a6b05e6d85d318ccba8c383ab2ff605' 'SKIP') sha512sums_armv7h=('47d16ffc94510d4a8773146a46cfb35aca8cfdae38d17283334cd62d92de36250fbec90e9892357033398ecc7d970127b1a41b703a8372972422ca4af7c90c70' 'f10af02f0cb2d31259d9633e1ba845f555f525789f750fc2ddc51bd18c5ff64fcdd242dae801623887f5ce5cdb5528bce890459f0fab9fd31a28868bb7f6bba5' From d59b6abb6515270eb1a11beaacc8313223a0e3c4 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 26 2023 22:18:09 +0000 Subject: [PATCH 2/14] [linux-libre-vanilla]: emergency replacement for 'linux-libre' (BR #3539) the previous emergency 'linux-libre' was missing the FSDG provides/conflicts/replaces and the VCS omitted the renamed .install and .preset files --- diff --git a/libre/linux-libre-vanilla/PKGBUILD b/libre/linux-libre-vanilla/PKGBUILD index 8156474..4bc0208 100644 --- a/libre/linux-libre-vanilla/PKGBUILD +++ b/libre/linux-libre-vanilla/PKGBUILD @@ -26,13 +26,13 @@ # - linux-libre-docs: extra/systeroid requires linux-docs -pkgbase=linux-libre-vanilla +pkgbase=linux-libre # FIXME: 'linux-libre' fails to load modules with 'kmod' v31 pkgver=6.5.8 _minor_ver=$(sed 's|\([0-9]\+\.[0-9]\+\).*|\1|' <<<${pkgver}) # eg: 6.1 _upstream_minor_ver=${_minor_ver}-gnu # eg: 6.1-gnu _upstream_ver=${pkgver}-gnu # eg: 6.1.5-gnu _is_patch_release=$( [[ ${_upstream_minor_ver} != ${_upstream_ver} ]] ; echo $((!$?)) ; ) -pkgrel=1 +pkgrel=1.vanilla1 # FIXME: 'linux-libre' fails to load modules with 'kmod' v31 pkgdesc="Linux-libre (pristine upstream release)" url=https://linux-libre.fsfla.org/ arch=(armv7h i686 x86_64) @@ -90,6 +90,15 @@ validpgpkeys=('474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78') # David P. +# FIXME: 'linux-libre' fails to load modules with 'kmod' v31 +_replacesarchkernel=('linux%') # '%' gets replaced with kernel suffix +_replacesoldkernels=() # '%' gets replaced with kernel suffix +_replacesoldmodules=() # '%' gets replaced with kernel suffix +_replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}") +_replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}") +_replacesoldmodules=("${_replacesoldmodules[@]/\%/${pkgbase#linux-libre}}") + + # per-arch KARCH case "$CARCH" in i686|x86_64) KARCH=x86;; @@ -179,6 +188,11 @@ _package() { backup=("etc/mkinitcpio.d/${pkgbase}.preset") if [[ "$CARCH" == armv7h ]] ; then install=${pkgname}-armv7h.install ; fi ; # BR #3520 + # FIXME: 'linux-libre' fails to load modules with 'kmod' v31 + provides+=("${_replacesarchkernel[@]/%/=$pkgver}" "LINUX-ABI_VERSION=$pkgver") + conflicts+=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") + replaces+=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") + cd $_srcname local modulesdir="$pkgdir/usr/lib/modules/$( /dev/null ${_kernel_dest} || + mv ${kver} ${_kernel_dest} || + cp usr/lib/modules/${kver}/vmlinuz ${_kernel_dest} +} + +post_install() { _install $1 ; } + +post_upgrade() { _install $1 ; } + +post_remove() +{ + [[ -f boot/initramfs-${_pkgbase}.img ]] || + [[ -f boot/vmlinuz-${_pkgbase} ]] || ! echo "nothing to do" || return 0 + + rm -f boot/initramfs-${_pkgbase}.img + rm -f boot/vmlinuz-${_pkgbase} +} diff --git a/libre/linux-libre-vanilla/linux-libre-armv7h.preset b/libre/linux-libre-vanilla/linux-libre-armv7h.preset new file mode 100644 index 0000000..ca3832f --- /dev/null +++ b/libre/linux-libre-vanilla/linux-libre-armv7h.preset @@ -0,0 +1,10 @@ +# mkinitcpio preset file for the '%PKGBASE%' package + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="%KERNVER%" + +PRESETS=('default') + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-%PKGBASE%.img" +#default_options="" diff --git a/libre/linux-libre-vanilla/linux-libre-chromebook.install b/libre/linux-libre-vanilla/linux-libre-chromebook.install new file mode 100644 index 0000000..f6ca022 --- /dev/null +++ b/libre/linux-libre-vanilla/linux-libre-chromebook.install @@ -0,0 +1,30 @@ +flash_kernel() { + if mountpoint -q /boot; then + major=$(mountpoint -d /boot | cut -f 1 -d ':') + minor=$(mountpoint -d /boot | cut -f 2 -d ':') + else + major=$(mountpoint -d / | cut -f 1 -d ':') + minor=$(mountpoint -d / | cut -f 2 -d ':') + fi + device=$(cat /proc/partitions | awk {'if ($1 == "'${major}'" && $2 == "'${minor}'") print $4 '}) + device="/dev/${device/%2/1}" + + echo "A new kernel version needs to be flashed onto ${device}." + echo "Do you want to do this now? [y|N]" + read -r shouldwe + if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then + dd if=/boot/vmlinux.kpart of=${device} + sync + else + echo "You can do this later by running:" + echo "# dd if=/boot/vmlinux.kpart of=${device}" + fi +} + +post_install () { + flash_kernel +} + +post_upgrade() { + flash_kernel +} diff --git a/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.install b/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.install deleted file mode 100644 index 75fceb8..0000000 --- a/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.install +++ /dev/null @@ -1,30 +0,0 @@ -# armv7h mkinitcpio and install hooks do not manage the /boot dir properly (BR #3520) - -_pkgbase=linux-libre-vanilla -_variant=${_pkgbase#linux-libre} -_kernel_dest=boot/vmlinuz-${_pkgbase} - -_install() -{ - local pkgver=${1%-*} - local kver=${pkgver}-gnu-[0-9]${_variant} - - [[ ! -f "${_kernel_dest}" ]] || ! echo "nothing to do" || return 0 - -# mv ${kver} 2> /dev/null ${_kernel_dest} || - mv ${kver} ${_kernel_dest} || - cp usr/lib/modules/${kver}/vmlinuz ${_kernel_dest} -} - -post_install() { _install $1 ; } - -post_upgrade() { _install $1 ; } - -post_remove() -{ - [[ -f boot/initramfs-${_pkgbase}.img ]] || - [[ -f boot/vmlinuz-${_pkgbase} ]] || ! echo "nothing to do" || return 0 - - rm -f boot/initramfs-${_pkgbase}.img - rm -f boot/vmlinuz-${_pkgbase} -} diff --git a/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.preset b/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.preset deleted file mode 100644 index ca3832f..0000000 --- a/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.preset +++ /dev/null @@ -1,10 +0,0 @@ -# mkinitcpio preset file for the '%PKGBASE%' package - -ALL_config="/etc/mkinitcpio.conf" -ALL_kver="%KERNVER%" - -PRESETS=('default') - -#default_config="/etc/mkinitcpio.conf" -default_image="/boot/initramfs-%PKGBASE%.img" -#default_options="" diff --git a/libre/linux-libre-vanilla/linux-libre-vanilla-chromebook.install b/libre/linux-libre-vanilla/linux-libre-vanilla-chromebook.install deleted file mode 100644 index f6ca022..0000000 --- a/libre/linux-libre-vanilla/linux-libre-vanilla-chromebook.install +++ /dev/null @@ -1,30 +0,0 @@ -flash_kernel() { - if mountpoint -q /boot; then - major=$(mountpoint -d /boot | cut -f 1 -d ':') - minor=$(mountpoint -d /boot | cut -f 2 -d ':') - else - major=$(mountpoint -d / | cut -f 1 -d ':') - minor=$(mountpoint -d / | cut -f 2 -d ':') - fi - device=$(cat /proc/partitions | awk {'if ($1 == "'${major}'" && $2 == "'${minor}'") print $4 '}) - device="/dev/${device/%2/1}" - - echo "A new kernel version needs to be flashed onto ${device}." - echo "Do you want to do this now? [y|N]" - read -r shouldwe - if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then - dd if=/boot/vmlinux.kpart of=${device} - sync - else - echo "You can do this later by running:" - echo "# dd if=/boot/vmlinux.kpart of=${device}" - fi -} - -post_install () { - flash_kernel -} - -post_upgrade() { - flash_kernel -} From 2ab2298d8f5b7062abc32529ecc8da022ce5443a Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 26 2023 22:19:19 +0000 Subject: [PATCH 3/14] [linux-libre-vanilla] revert pkgbase --- diff --git a/libre/linux-libre-vanilla/PKGBUILD b/libre/linux-libre-vanilla/PKGBUILD index 4bc0208..8156474 100644 --- a/libre/linux-libre-vanilla/PKGBUILD +++ b/libre/linux-libre-vanilla/PKGBUILD @@ -26,13 +26,13 @@ # - linux-libre-docs: extra/systeroid requires linux-docs -pkgbase=linux-libre # FIXME: 'linux-libre' fails to load modules with 'kmod' v31 +pkgbase=linux-libre-vanilla pkgver=6.5.8 _minor_ver=$(sed 's|\([0-9]\+\.[0-9]\+\).*|\1|' <<<${pkgver}) # eg: 6.1 _upstream_minor_ver=${_minor_ver}-gnu # eg: 6.1-gnu _upstream_ver=${pkgver}-gnu # eg: 6.1.5-gnu _is_patch_release=$( [[ ${_upstream_minor_ver} != ${_upstream_ver} ]] ; echo $((!$?)) ; ) -pkgrel=1.vanilla1 # FIXME: 'linux-libre' fails to load modules with 'kmod' v31 +pkgrel=1 pkgdesc="Linux-libre (pristine upstream release)" url=https://linux-libre.fsfla.org/ arch=(armv7h i686 x86_64) @@ -90,15 +90,6 @@ validpgpkeys=('474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78') # David P. -# FIXME: 'linux-libre' fails to load modules with 'kmod' v31 -_replacesarchkernel=('linux%') # '%' gets replaced with kernel suffix -_replacesoldkernels=() # '%' gets replaced with kernel suffix -_replacesoldmodules=() # '%' gets replaced with kernel suffix -_replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}") -_replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}") -_replacesoldmodules=("${_replacesoldmodules[@]/\%/${pkgbase#linux-libre}}") - - # per-arch KARCH case "$CARCH" in i686|x86_64) KARCH=x86;; @@ -188,11 +179,6 @@ _package() { backup=("etc/mkinitcpio.d/${pkgbase}.preset") if [[ "$CARCH" == armv7h ]] ; then install=${pkgname}-armv7h.install ; fi ; # BR #3520 - # FIXME: 'linux-libre' fails to load modules with 'kmod' v31 - provides+=("${_replacesarchkernel[@]/%/=$pkgver}" "LINUX-ABI_VERSION=$pkgver") - conflicts+=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") - replaces+=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") - cd $_srcname local modulesdir="$pkgdir/usr/lib/modules/$( /dev/null ${_kernel_dest} || - mv ${kver} ${_kernel_dest} || - cp usr/lib/modules/${kver}/vmlinuz ${_kernel_dest} -} - -post_install() { _install $1 ; } - -post_upgrade() { _install $1 ; } - -post_remove() -{ - [[ -f boot/initramfs-${_pkgbase}.img ]] || - [[ -f boot/vmlinuz-${_pkgbase} ]] || ! echo "nothing to do" || return 0 - - rm -f boot/initramfs-${_pkgbase}.img - rm -f boot/vmlinuz-${_pkgbase} -} diff --git a/libre/linux-libre-vanilla/linux-libre-armv7h.preset b/libre/linux-libre-vanilla/linux-libre-armv7h.preset deleted file mode 100644 index ca3832f..0000000 --- a/libre/linux-libre-vanilla/linux-libre-armv7h.preset +++ /dev/null @@ -1,10 +0,0 @@ -# mkinitcpio preset file for the '%PKGBASE%' package - -ALL_config="/etc/mkinitcpio.conf" -ALL_kver="%KERNVER%" - -PRESETS=('default') - -#default_config="/etc/mkinitcpio.conf" -default_image="/boot/initramfs-%PKGBASE%.img" -#default_options="" diff --git a/libre/linux-libre-vanilla/linux-libre-chromebook.install b/libre/linux-libre-vanilla/linux-libre-chromebook.install deleted file mode 100644 index f6ca022..0000000 --- a/libre/linux-libre-vanilla/linux-libre-chromebook.install +++ /dev/null @@ -1,30 +0,0 @@ -flash_kernel() { - if mountpoint -q /boot; then - major=$(mountpoint -d /boot | cut -f 1 -d ':') - minor=$(mountpoint -d /boot | cut -f 2 -d ':') - else - major=$(mountpoint -d / | cut -f 1 -d ':') - minor=$(mountpoint -d / | cut -f 2 -d ':') - fi - device=$(cat /proc/partitions | awk {'if ($1 == "'${major}'" && $2 == "'${minor}'") print $4 '}) - device="/dev/${device/%2/1}" - - echo "A new kernel version needs to be flashed onto ${device}." - echo "Do you want to do this now? [y|N]" - read -r shouldwe - if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then - dd if=/boot/vmlinux.kpart of=${device} - sync - else - echo "You can do this later by running:" - echo "# dd if=/boot/vmlinux.kpart of=${device}" - fi -} - -post_install () { - flash_kernel -} - -post_upgrade() { - flash_kernel -} diff --git a/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.install b/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.install new file mode 100644 index 0000000..75fceb8 --- /dev/null +++ b/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.install @@ -0,0 +1,30 @@ +# armv7h mkinitcpio and install hooks do not manage the /boot dir properly (BR #3520) + +_pkgbase=linux-libre-vanilla +_variant=${_pkgbase#linux-libre} +_kernel_dest=boot/vmlinuz-${_pkgbase} + +_install() +{ + local pkgver=${1%-*} + local kver=${pkgver}-gnu-[0-9]${_variant} + + [[ ! -f "${_kernel_dest}" ]] || ! echo "nothing to do" || return 0 + +# mv ${kver} 2> /dev/null ${_kernel_dest} || + mv ${kver} ${_kernel_dest} || + cp usr/lib/modules/${kver}/vmlinuz ${_kernel_dest} +} + +post_install() { _install $1 ; } + +post_upgrade() { _install $1 ; } + +post_remove() +{ + [[ -f boot/initramfs-${_pkgbase}.img ]] || + [[ -f boot/vmlinuz-${_pkgbase} ]] || ! echo "nothing to do" || return 0 + + rm -f boot/initramfs-${_pkgbase}.img + rm -f boot/vmlinuz-${_pkgbase} +} diff --git a/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.preset b/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.preset new file mode 100644 index 0000000..ca3832f --- /dev/null +++ b/libre/linux-libre-vanilla/linux-libre-vanilla-armv7h.preset @@ -0,0 +1,10 @@ +# mkinitcpio preset file for the '%PKGBASE%' package + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="%KERNVER%" + +PRESETS=('default') + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-%PKGBASE%.img" +#default_options="" diff --git a/libre/linux-libre-vanilla/linux-libre-vanilla-chromebook.install b/libre/linux-libre-vanilla/linux-libre-vanilla-chromebook.install new file mode 100644 index 0000000..f6ca022 --- /dev/null +++ b/libre/linux-libre-vanilla/linux-libre-vanilla-chromebook.install @@ -0,0 +1,30 @@ +flash_kernel() { + if mountpoint -q /boot; then + major=$(mountpoint -d /boot | cut -f 1 -d ':') + minor=$(mountpoint -d /boot | cut -f 2 -d ':') + else + major=$(mountpoint -d / | cut -f 1 -d ':') + minor=$(mountpoint -d / | cut -f 2 -d ':') + fi + device=$(cat /proc/partitions | awk {'if ($1 == "'${major}'" && $2 == "'${minor}'") print $4 '}) + device="/dev/${device/%2/1}" + + echo "A new kernel version needs to be flashed onto ${device}." + echo "Do you want to do this now? [y|N]" + read -r shouldwe + if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then + dd if=/boot/vmlinux.kpart of=${device} + sync + else + echo "You can do this later by running:" + echo "# dd if=/boot/vmlinux.kpart of=${device}" + fi +} + +post_install () { + flash_kernel +} + +post_upgrade() { + flash_kernel +} From 720999f1f6cd213db20e33eddfb8f2dd91776c99 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 26 2023 22:19:31 +0000 Subject: [PATCH 4/14] [xtables-addons]: rebuild against latest kernel --- diff --git a/pcr/xtables-addons/PKGBUILD b/pcr/xtables-addons/PKGBUILD index 749bfd2..033c9bd 100644 --- a/pcr/xtables-addons/PKGBUILD +++ b/pcr/xtables-addons/PKGBUILD @@ -14,10 +14,15 @@ depends=('iptables' 'glibc' 'linux') makedepends=('linux-api-headers' 'linux-headers' 'libtool' 'gcc' 'pkg-config') source=("https://inai.de/files/${pkgname}/${pkgname}-${pkgver}.tar.xz") sha256sums=('3e823f71720519ced31c4c7d2bfaf7120d9c01c59a0843dfcbe93c95c64d81c1') -_kernel=6.5.5 +depends=( ${depends[*]/iptables/} ) # 'base' +depends=( ${depends[*]/glibc/} ) # 'base' +makedepends=( ${makedepends[*]/gcc/} ) # 'base-devel' +makedepends=( ${makedepends[*]/libtool/} ) # 'base-devel' +makedepends=( ${makedepends[*]/pkg-config/} ) # 'base-devel' +_kernel=6.5.8 _kernver=/usr/lib/modules/${_kernel}-*/ -depends=( ${depends[*]/linux/linux-libre=${_kernel}} ) # minimize diff -makedepends=( ${makedepends[*]/linux-headers/linux-libre-headers=${_kernel}} ) # minimize diff +depends=( ${depends[*]/linux/linux-libre=${_kernel}} ) +makedepends=( ${makedepends[*]/linux-headers/linux-libre-headers=${_kernel}} ) prepare() { cd "${pkgname}-${pkgver}" @@ -47,5 +52,5 @@ package() { libtool --finish "${pkgdir}/usr/lib" mv -f "${pkgdir}"/lib/* "${pkgdir}/usr/lib" rmdir "${pkgdir}/lib" - rm ${pkgdir}${_kernver}modules.* + rm -f ${pkgdir}${_kernver}modules.* } From 18e23e2cc3d1557fc3622d52efac30d168aaa416 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 26 2023 23:05:56 +0000 Subject: [PATCH 5/14] [scripts/package-all-acpi_call-tp_smapi]: modify PKGBUILDs - commit to VCS - skip unsupported arches --- diff --git a/libre/acpi_call-dkms/PKGBUILD b/libre/acpi_call-dkms/PKGBUILD index 92cabba..bba40fd 100644 --- a/libre/acpi_call-dkms/PKGBUILD +++ b/libre/acpi_call-dkms/PKGBUILD @@ -14,9 +14,11 @@ # linux-libre-headers <- acpi_call # tp_smapi # -# these packages may be built as a batch, with the helper script: +# These packages may be built as a batch, with the helper script: # 'scripts/package-all-acpi_call-tp_smapi' -# simply edit '_basekernel' in each # TODO: automate that too +# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script. +# It will build only those which the PKGBUILD '_basekernel' differs, +# update '_basekernel', and commit the changes to VCS, if successful. _basekernel=6.1.5 diff --git a/libre/acpi_call-lts/PKGBUILD b/libre/acpi_call-lts/PKGBUILD index 3eb8782..b4e2239 100644 --- a/libre/acpi_call-lts/PKGBUILD +++ b/libre/acpi_call-lts/PKGBUILD @@ -14,9 +14,11 @@ # linux-libre-headers <- acpi_call # tp_smapi # -# these packages may be built as a batch, with the helper script: +# These packages may be built as a batch, with the helper script: # 'scripts/package-all-acpi_call-tp_smapi' -# simply edit '_basekernel' in each # TODO: automate that too +# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script. +# It will build only those which the PKGBUILD '_basekernel' differs, +# update '_basekernel', and commit the changes to VCS, if successful. _basekernel=5.15.88 diff --git a/libre/acpi_call/PKGBUILD b/libre/acpi_call/PKGBUILD index 664e90b..be7ff6e 100644 --- a/libre/acpi_call/PKGBUILD +++ b/libre/acpi_call/PKGBUILD @@ -14,9 +14,11 @@ # linux-libre-headers <- acpi_call # tp_smapi # -# these packages may be built as a batch, with the helper script: -# $ scripts/package-all-acpi_call-tp_smapi -# simply edit '_basekernel' in each # TODO: automate that too +# These packages may be built as a batch, with the helper script: +# 'scripts/package-all-acpi_call-tp_smapi' +# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script. +# It will build only those which the PKGBUILD '_basekernel' differs, +# update '_basekernel', and commit the changes to VCS, if successful. _basekernel=6.1.5 diff --git a/libre/tp_smapi-lts/PKGBUILD b/libre/tp_smapi-lts/PKGBUILD index 75714f8..234ae40 100644 --- a/libre/tp_smapi-lts/PKGBUILD +++ b/libre/tp_smapi-lts/PKGBUILD @@ -19,9 +19,11 @@ # linux-libre-headers <- acpi_call # tp_smapi # -# these packages may be built as a batch, with the helper script: +# These packages may be built as a batch, with the helper script: # 'scripts/package-all-acpi_call-tp_smapi' -# simply edit '_basekernel' in each # TODO: automate that too +# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script. +# It will build only those which the PKGBUILD '_basekernel' differs, +# update '_basekernel', and commit the changes to VCS, if successful. _basekernel=5.15.88 diff --git a/libre/tp_smapi/PKGBUILD b/libre/tp_smapi/PKGBUILD index ce2ef46..abc79ca 100644 --- a/libre/tp_smapi/PKGBUILD +++ b/libre/tp_smapi/PKGBUILD @@ -19,9 +19,11 @@ # linux-libre-headers <- acpi_call # tp_smapi # -# these packages may be built as a batch, with the helper script: +# These packages may be built as a batch, with the helper script: # 'scripts/package-all-acpi_call-tp_smapi' -# simply edit '_basekernel' in each # TODO: automate that too +# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script. +# It will build only those which the PKGBUILD '_basekernel' differs, +# update '_basekernel', and commit the changes to VCS, if successful. _basekernel=6.1.5 diff --git a/scripts/package-all-acpi_call-tp_smapi b/scripts/package-all-acpi_call-tp_smapi index 6575fdb..8ff5f8a 100755 --- a/scripts/package-all-acpi_call-tp_smapi +++ b/scripts/package-all-acpi_call-tp_smapi @@ -1,45 +1,70 @@ #!/bin/bash -# TODO: inject the appropriate values of '_basekernel' into the PKGBUILDs, -# and commit to VCS -# $ _commit_msg='[acpi_call][acpi_call-dkms][acpi_call-lts][tp_smapi][tp_smapi-lts]: rebuild against latest kernels' -# $ git commit -m "${_commit_msg}" "${PKGBUILDS[@]}" - -readonly KERNEL_VER=6.1.5 +readonly KERNEL_VER=6.5.8 readonly KERNEL_LTS_VER=5.15.88 -readonly CHROOT_NAME_x86_64=x86_64 -readonly CHROOT_NAME_i686=i686 -readonly CHROOT_NAME_armv7h=armv7h -readonly CHROOT_NAMES=( $CHROOT_NAME_x86_64 $CHROOT_NAME_i686 $CHROOT_NAME_armv7h ) -readonly ABS_ROOT=/var/lib/archbuild/packages/abslibre -readonly PKG_DIRS=( $ABS_ROOT/libre/acpi_call{-dkms,,-lts} # NOTE: -dkms first - $ABS_ROOT/libre/tp_smapi{,-lts} ) # no trailing slashes +readonly CHROOT_NAMES=( armv7h i686 x86_64 ) +readonly ABS_ROOT=/var/lib/archbuild/abslibre # no spaces +readonly PKG_DIRS=( ${ABS_ROOT}/libre/acpi_call{-dkms,,-lts} # -dkms first + ${ABS_ROOT}/libre/tp_smapi{,-lts} ) # no trailing slashes +readonly PKGBUILDS=( ${PKG_DIRS[*]/%/\/PKGBUILD} ) Main() { - local arch pkg_dir kver + local chroot pkg_dir kver pkgname pkgver pkgrel arches chroot_dir arch + local pkgs=() + local all_pkgs=() + local commit_msg='' - for arch in ${CHROOT_NAMES[*]} - do sudo librechroot -n $arch update || exit 1 + for chroot in ${CHROOT_NAMES[*]} + do sudo librechroot -n ${chroot} update || exit 1 done for pkg_dir in ${PKG_DIRS[*]} - do kver=$( [[ $pkg_dir =~ -lts$ ]] && echo ${KERNEL_LTS_VER} || echo ${KERNEL_VER} ) + do kver=$( [[ "${pkg_dir}" =~ -lts$ ]] && echo ${KERNEL_LTS_VER} || echo ${KERNEL_VER} ) + pkgs=() + + [[ -d "${pkg_dir}" && -f "${pkg_dir}"/PKGBUILD ]] || + ! echo "${pkg_dir} - no such PKGBUILD" || continue + + cd ${pkg_dir}/ ; git checkout HEAD PKGBUILD &> /dev/null ; + + pkgname=$(source PKGBUILD ; echo ${pkgname} ;) + pkgver=$( source PKGBUILD ; echo ${pkgver} ;) + pkgrel=$( source PKGBUILD ; echo ${pkgrel} ;) + arches="$(source PKGBUILD ; echo ${arch[*]} ;)" + ! [[ "${pkgrel}" =~ \.basekernel${kver}$ ]] || + ! echo "${pkg_dir} - skipping PKGBUILD" || continue - cd $pkg_dir/ + sed -i "s|^_basekernel=.*|_basekernel=${kver}|" PKGBUILD + pkgrel=$( source PKGBUILD ; echo ${pkgrel} ;) + [[ "${pkgrel}" =~ \.basekernel${kver}$ ]] || + ! echo "ERROR: ${pkg_dir} - PKGBUILD not modified" || continue - sed -i "s|_basekernel=.*|_basekernel=${kver}|" PKGBUILD + for chroot in ${CHROOT_NAMES[*]} + do chroot_dir=$(librechroot -n ${chroot} |& grep -E 'copydir +: ' | cut -d: -f2) + arch=$(source ${chroot_dir}/etc/os-release ; sed 's|-.*||' <<<${VARIANT_ID}) + [[ -n "${arch}" && " ${arches} " =~ " ${arch} " ]] || continue - for arch in ${CHROOT_NAMES[*]} - do sed "s|/$|| ; s|.*/\(.*\)|\1 ($arch)|" <<<$pkg_dir + echo "building pkgname: ${pkgname} in chroot: ${chroot}" + sudo libremakepkg -n ${chroot} - sudo libremakepkg -n $arch || break + pkgs+=( $(ls ${pkgname}-${pkgver}-${pkgrel}-${arch}.pkg.tar.zst 2> /dev/null) ) done + + if (( ${#pkgs[*]} )) + then all_pkgs+=( ${pkgs[*]} ) + commit_msg+="[$(basename ${pkg_dir})]" + else echo "ERROR: ${pkg_dir} - no packages generated" + fi done - echo DONE ; printf "%s/*.pkg.tar.* " "${PKG_DIRS[@]}" ; - ls $ABS_ROOT/libre/acpi_call{-dkms,,-lts}/*.pkg.tar.* \ - $ABS_ROOT/libre/tp_smapi{,-lts}/*.pkg.tar.* -} ; Main ; + if (( ${#all_pkgs[*]} )) + then git commit -m "${commit_msg}: rebuild against latest kernels" ${PKGBUILDS[*]} + fi + echo "(${#all_pkgs[*]}) packages generated" ; printf "%s\n" ${all_pkgs[*]} ; +} + + +Main From 6425992cb01af44d5553de2950f981b6c71ff7ed Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 26 2023 23:30:49 +0000 Subject: [PATCH 6/14] [tp_smapi][tp_smapi-lts]: upgrade to v0.44 --- diff --git a/libre/tp_smapi-lts/PKGBUILD b/libre/tp_smapi-lts/PKGBUILD index 234ae40..c426652 100644 --- a/libre/tp_smapi-lts/PKGBUILD +++ b/libre/tp_smapi-lts/PKGBUILD @@ -9,6 +9,13 @@ # Contributor: André Silva # Contributor: Márcio Silva # Maintainer: Omar Vega Ramos +# Contributor: bill-auger + + +# parabola changes and rationale: +# - re-package for linux-libre +# - build from versioned source-ball rather than VCS +# - pin to kernel versions # build order: @@ -28,28 +35,23 @@ _basekernel=5.15.88 -pkgname=tp_smapi-lts -pkgver=0.43 -pkgrel=207 +pkgname=tp_smapi +pkgver=0.44 +pkgrel=15 pkgrel+=.parabola1.basekernel${_basekernel} pkgdesc="Modules for ThinkPad's SMAPI functionality" -pkgdesc+=" (for linux-libre-lts)" +pkgdesc+=" (for 'linux-libre-lts')" arch=('x86_64') arch+=('i686') url='https://github.com/evgeni/tp_smapi' -license=('GPL') -makedepends=(linux-libre-lts-headers=${_basekernel} 'git' libelf) -_commit=a63729ab30d85430048f65c37f29188ab484cd52 # tags/tp-smapi/0.43 -source=("git+https://github.com/evgeni/tp_smapi#commit=$_commit") -sha256sums=('SKIP') +license=(GPL) +makedepends=(linux-libre-lts-headers=${_basekernel}) +source=(${pkgname}-${pkgver}.tar.gz::https://github.com/linux-thinkpad/${pkgname}/archive/refs/tags/${pkgname/_/-}/${pkgver}.tar.gz) +sha256sums=('ccc317157c71df621ef92e0213c3a813de4a792fa1dce16a1784944edfcb9ea4') -pkgver() { - cd tp_smapi - git describe --tags | sed 's/^tp-smapi\///;s/-/+/g' -} build() { - cd tp_smapi + cd ${pkgname}-${pkgname/_/-}-${pkgver} # https://bugs.archlinux.org/task/54975 (kernel has no _GLOBAL_OFFSET_TABLE_): # Clear EXTRA_CFLAGS since it defaults to injecting CFLAGS and -fno-plt breaks the modules @@ -61,12 +63,10 @@ package() { depends=(linux-libre-lts=${_basekernel}) local extradir=/usr/lib/modules/$( # Contributor: Márcio Silva # Maintainer: Omar Vega Ramos +# Contributor: bill-auger + + +# parabola changes and rationale: +# - re-package for linux-libre +# - build from versioned source-ball rather than VCS +# - pin to kernel versions # build order: @@ -26,30 +33,25 @@ # update '_basekernel', and commit the changes to VCS, if successful. -_basekernel=6.1.5 +_basekernel=6.5.8 pkgname=tp_smapi -pkgver=0.43 -pkgrel=364 +pkgver=0.44 +pkgrel=15 pkgrel+=.parabola1.basekernel${_basekernel} pkgdesc="Modules for ThinkPad's SMAPI functionality" -pkgdesc+=" (for linux-libre)" +pkgdesc+=" (for 'linux-libre')" arch=('x86_64') arch+=('i686') url='https://github.com/evgeni/tp_smapi' -license=('GPL') -makedepends=(linux-libre-headers=${_basekernel} git libelf) -_commit=a63729ab30d85430048f65c37f29188ab484cd52 # tags/tp-smapi/0.43 -source=("git+https://github.com/evgeni/tp_smapi#commit=$_commit") -sha256sums=('SKIP') +license=(GPL) +makedepends=(linux-libre-headers=${_basekernel}) +source=(${pkgname}-${pkgver}.tar.gz::https://github.com/linux-thinkpad/${pkgname}/archive/refs/tags/${pkgname/_/-}/${pkgver}.tar.gz) +sha256sums=('ccc317157c71df621ef92e0213c3a813de4a792fa1dce16a1784944edfcb9ea4') -pkgver() { - cd $pkgname - git describe --tags | sed 's/^tp-smapi\///;s/-/+/g' -} build() { - cd $pkgname + cd ${pkgname}-${pkgname/_/-}-${pkgver} # https://bugs.archlinux.org/task/54975 (kernel has no _GLOBAL_OFFSET_TABLE_): # Clear EXTRA_CFLAGS since it defaults to injecting CFLAGS and -fno-plt breaks the modules @@ -61,7 +63,7 @@ package() { depends=(linux-libre=${_basekernel}) local extradir=/usr/lib/modules/$( Date: Oct 26 2023 23:31:01 +0000 Subject: [PATCH 7/14] [acpi_call][acpi_call-dkms][acpi_call-lts]: rebuild for latest kernel --- diff --git a/libre/acpi_call-dkms/PKGBUILD b/libre/acpi_call-dkms/PKGBUILD index bba40fd..ac07ff1 100644 --- a/libre/acpi_call-dkms/PKGBUILD +++ b/libre/acpi_call-dkms/PKGBUILD @@ -6,6 +6,11 @@ # Maintainer: Omar Vega Ramos +# parabola changes and rationale: +# - no significant change - re-package for linux-libre +# - pin to kernel versions + + # build order: # acpi_call-dkms <- acpi_call-lts # acpi_call @@ -21,7 +26,7 @@ # update '_basekernel', and commit the changes to VCS, if successful. -_basekernel=6.1.5 +_basekernel=6.5.8 pkgname=acpi_call-dkms _tag='9f1c0b5d046bdfdec769809435257647fd475473' # git rev-parse v${_tag_name} @@ -29,7 +34,7 @@ pkgver=1.2.2 pkgrel=1 pkgrel+=.parabola1.basekernel${_basekernel} pkgdesc='A linux kernel module that enables calls to ACPI methods through /proc/acpi/call - module sources' -pkgdesc+=' (for linux-libre)' +pkgdesc+=" (for 'linux-libre')" url='https://github.com/nix-community/acpi_call' arch=('any') arch=('armv7h' 'i686' 'x86_64') # just to simplify the package-all-acpi_call-tp_smapi script diff --git a/libre/acpi_call-lts/PKGBUILD b/libre/acpi_call-lts/PKGBUILD index b4e2239..acf6229 100644 --- a/libre/acpi_call-lts/PKGBUILD +++ b/libre/acpi_call-lts/PKGBUILD @@ -6,6 +6,11 @@ # Maintainer: Omar Vega Ramos +# parabola changes and rationale: +# - no significant change - re-package for linux-libre +# - pin to kernel versions + + # build order: # acpi_call-dkms <- acpi_call-lts # acpi_call @@ -28,7 +33,7 @@ pkgver=1.2.2 pkgrel=11 pkgrel+=.parabola1.basekernel${_basekernel} pkgdesc='A linux kernel module that enables calls to ACPI methods through /proc/acpi/call' -pkgdesc+=' (for linux-libre-lts)' +pkgdesc+=" (for 'linux-libre-lts')" url='https://github.com/mkottman/acpi_call' arch=('x86_64') arch+=('armv7h' 'i686') diff --git a/libre/acpi_call/PKGBUILD b/libre/acpi_call/PKGBUILD index be7ff6e..197887f 100644 --- a/libre/acpi_call/PKGBUILD +++ b/libre/acpi_call/PKGBUILD @@ -6,6 +6,11 @@ # Maintainer: Omar Vega Ramos +# parabola changes and rationale: +# - no significant change - re-package for linux-libre +# - pin to kernel versions + + # build order: # acpi_call-dkms <- acpi_call-lts # acpi_call @@ -21,14 +26,14 @@ # update '_basekernel', and commit the changes to VCS, if successful. -_basekernel=6.1.5 +_basekernel=6.5.8 pkgname=acpi_call pkgver=1.2.2 pkgrel=40 pkgrel+=.parabola1.basekernel${_basekernel} pkgdesc='A linux kernel module that enables calls to ACPI methods through /proc/acpi/call' -pkgdesc+=' (for linux-libre)' +pkgdesc+=" (for 'linux-libre')" url='https://github.com/mkottman/acpi_call' arch=('x86_64') arch+=('armv7h' 'i686') From 2164c9b48f884d2da3036a628b53b0973a696df3 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 26 2023 23:31:14 +0000 Subject: [PATCH 8/14] [privoxy-openrc] adopt package --- diff --git a/nonsystemd/privoxy-openrc/PKGBUILD b/nonsystemd/privoxy-openrc/PKGBUILD new file mode 100644 index 0000000..c36f515 --- /dev/null +++ b/nonsystemd/privoxy-openrc/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer (artix): Nathan Owens +# Contributor: Rafli Akmal +# Contributor: artoo +# Contributor: Oscar Campos +# Maintainer: Parabola Hackers + +pkgname=privoxy-openrc +pkgver=20210505 +pkgrel=1 +pkgdesc="OpenRC privoxy init script" +arch=('any') +url="https://gitea.artixlinux.org/artixlinux/packages-openrc" +license=('GPL2') +groups=('openrc-galaxy') +depends=('openrc' 'privoxy') +provides=('init-privoxy') +conflicts=('init-privoxy') +source=("privoxy.initd") +sha256sums=('e40431d539b9a1738c77dbeebea7c7b02e6b8e8952d5fa6d2a28415dc8ab7e47') + +package() { + install -Dm755 "$srcdir/privoxy.initd" "$pkgdir/etc/init.d/privoxy" +} diff --git a/nonsystemd/privoxy-openrc/privoxy.initd b/nonsystemd/privoxy-openrc/privoxy.initd new file mode 100644 index 0000000..79eb617 --- /dev/null +++ b/nonsystemd/privoxy-openrc/privoxy.initd @@ -0,0 +1,13 @@ +#!/usr/bin/openrc-run +# Copyright by Artix Linux team under GPLv2 + +supervisor=supervise-daemon +command=/usr/bin/privoxy +command_args="--no-daemon /etc/privoxy/config" +command_user="privoxy:privoxy" +required_files="/etc/privoxy/config" + +depend() { + use net +} + From acd84279cd95156aa0ba34c23856763fbfd5b6fb Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 26 2023 23:31:26 +0000 Subject: [PATCH 9/14] [kio5]: upgrade to v5.111.0 --- diff --git a/nonprism/kio5/PKGBUILD b/nonprism/kio5/PKGBUILD index 45826fd..da41557 100644 --- a/nonprism/kio5/PKGBUILD +++ b/nonprism/kio5/PKGBUILD @@ -16,17 +16,18 @@ _name=kio pkgname=${_name}5 -pkgver=5.110.0 -pkgrel=2 +pkgver=5.111.0 +pkgrel=1 pkgrel+=.parabola1 -_pkgver_i686=5.105.0 -_pkgrel_i686=1.0.parabola2 +_pkgver_i686=5.105.0 # n/a i686 +_pkgrel_i686=1.0.parabola2 # n/a i686 eval "[[ -v _pkgver_${CARCH} ]] && pkgver=\$_pkgver_${CARCH}" # our different arches do not eval "[[ -v _pkgrel_${CARCH} ]] && pkgrel=\$_pkgrel_${CARCH}" # always roll at the same speed pkgdesc='Resource and network access abstraction' pkgdesc+=', with privacy-respecting search engines only' arch=(x86_64) -arch+=(armv7h i686) +#arch+=(armv7h i686) # n/a i686 +arch+=(armv7h) # n/a i686 url='https://community.kde.org/Frameworks' license=(LGPL) depends=(solid5 kjobwidgets5 kbookmarks5 libxslt kwallet5 ktextwidgets5 kded5) @@ -38,10 +39,8 @@ optdepends=('kio-extras: extra protocols support (sftp, fish and more)' 'switcheroo-control: hybrid GPU support') conflicts=("$_name<5.111") replaces=("$_name<5.111") -provides=($_name=$pkgver) groups=(kf5) -source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_name-$pkgver.tar.xz{,.sig} - https://invent.kde.org/frameworks/kio/-/commit/48322f44.patch) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$_name-$pkgver.tar.xz{,.sig}) source+=(duckduckgo_html.desktop duckduckgo_lite.desktop gnupg-keys.desktop @@ -50,9 +49,8 @@ source+=(duckduckgo_html.desktop parabola-wiki.desktop searx.desktop yacy.desktop) -sha256sums=('228f9abcdfce1b23deacca97e9dd68d019e6b20607ddfe2295050333e90fc96b' - 'SKIP' - 'bff9696fc152c06fee2c4f21f1dc8a06c42745dbfe7fe88d47596bfb03d38220') +sha256sums=('51bfd270942bcd80d8c3bfb72ee299d4d04a257f496b1843d9335d0db9afd045' + 'SKIP') sha256sums+=('31910ab7393e67609f15e04a57f6406f63e6dae58b01bce0787741bc5958f292' '40466a9dad7075f2525e9e024720da7d7b49a22892b6fca8b81cc0e6408d2f7d' '57ded4375e1ddfe747bc55e3c52f4f39d1688f583c6af77da3479f544d262b71' @@ -61,14 +59,12 @@ sha256sums+=('31910ab7393e67609f15e04a57f6406f63e6dae58b01bce0787741bc5958f292' '45af1a8588246c64c2e306237ef605406c5289c2ff53b5f459315c40c8e5099b' '0264268855ac59872fe6bde4ce5c7d5f4a9b4d6936f3c2f870fc9a34de323c54' '0a494a6bd652533b2ac1ea6a139e8b7295da29f840e5d0d7b2aa7e18886887ef') -_sha256sum_i686='1f971115d3cc488973f74222c9ae3722ac630fa8c02c00d4ba22eb03ceb8677d' +#_sha256sum_i686='1f971115d3cc488973f74222c9ae3722ac630fa8c02c00d4ba22eb03ceb8677d' # n/a i686 eval "[[ -v _sha256sum_${CARCH} ]] && sha256sums[0]=\$_sha256sum_${CARCH}" # upstream source-ball validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB) # David Faure prepare() { - patch -d $_name-$pkgver -p1 < 48322f44.patch # Fix crashes - cd "${srcdir}"/${_name}-${pkgver}/ # replace default search engines From 2959980b509c4907dd738b2b52d1b090e7513f41 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Oct 27 2023 02:55:41 +0000 Subject: [PATCH 10/14] [icecat][icewesel]: minimize diffs across PKGBUILDs --- diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD index a765746..dc8c906 100644 --- a/libre/icecat/PKGBUILD +++ b/libre/icecat/PKGBUILD @@ -131,7 +131,6 @@ source+=( vendor.js.in zstandard-0.21.0.diff ) -source_armv7h=(build-arm-libopus.patch) source_i686=( avoid-libxul-OOM-python-check.patch rust-static-disable-network-test-on-static-libraries.patch @@ -147,7 +146,6 @@ sha256sums+=('e00dbf01803cdd36fd9e1c0c018c19bb6f97e43016ea87062e6134bdc172bc7d' '33dd309eeb99ec730c97ba844bf6ce6c7840f7d27da19c82389cdefee8c20208' '8e113fd2730be3fd11b2a24918dd62e8741513cf4dce9819d8eae358c5411adc' 'aa663d899e924f4979114584cad671dad3b93dd9b0dfe28bb1cf11ddf92e6d47') # zstandard-0.21.0.diff -sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9') sha256sums_i686=('2f0c81a38c4578f68f5456b618fe84a78974072821488173eb55e0e72287e353' '10c5276eab2e87f400a6ec15d7ffbef3b0407ee888dea36f1128927ca55b9041' 'ed3bb281697af7c4353a34067ffb4b18a971d40757bef2d6af3c8bf2d28d42d1' @@ -157,15 +155,25 @@ sha256sums_i686=('2f0c81a38c4578f68f5456b618fe84a78974072821488173eb55e0e72287e3 ## compiler and optimization tweaks ## -# disable PGO for 32-bit arches, 64-bit optionally -# try '1' if the build hangs indefinitely - known past causes: +# disable PGO +# try this if the build hangs indefinitely - known past causes: # * resource exhaustion # * a test which misbehaves in environments without networking -readonly _SHOULD_SKIP_PGO=$(case "${CARCH}" in armv7h|i686) echo 1 ;; *) echo 0 ;; esac) +readonly _SKIP_PGO=$(case "${CARCH}" in armv7h|i686) echo 1 ;; *) echo 0 ;; esac) -# use GCC vs LLVM for 32-bit arches, 64-bit optionally -# trying one or the other, may resolve rolling compiler/linker discrepancies -readonly _SHOULD_USE_GCC=$(case "${CARCH}" in armv7h) echo 1 ;; *) echo 0 ;; esac) +# use GCC vs LLVM +# trying one or the other, may resolve sporadic compiler/linker discrepancies +readonly _USE_ALT_COMPILER=$(case "${CARCH}" in armv7h) echo 1 ;; *) echo 0 ;; esac) + +# use 'bfd' linker vs 'lld' +# most significantly, this also disables LTO and debugging +# try this if the build freezes or crashes due to resource exhaustion +# FIXME: x86_64 FTBS with LTO due to resource exhaustion +# luke added a swapfile to beefcake, because this build crashed the server +# apparently, a measly 32GB RAM is no longer sufficient to contain this beast +# the system no longer crashes now; but the build process gets killed instead +# > clang-15: error: unable to execute command: Killed +readonly _USE_ALT_LINKER=$(case "${CARCH}" in i686|x86_64) echo 1 ;; *) echo 0 ;; esac) ## dependency tweaks ## @@ -173,16 +181,14 @@ readonly _SHOULD_USE_GCC=$(case "${CARCH}" in armv7h) echo 1 ;; *) echo 0 ;; esa case "${CARCH}" in armv7h) makedepends=( ${makedepends[*]/wasi-*/} ) # armv7h has no wasi compiler + + depends+=( libicudata.so libicui18n.so libicuuc.so ) # --with-system-icu ;; i686) # checking for nodejs... /usr/bin/node: error while loading shared libraries: libicui18n.so.72 makedepends+=( icu72 ) - # wasm-ld: error: cannot open /usr/lib/clang/15.0.7/lib/wasi/libclang_rt.builtins-wasm32.a: No such file or directory - makedepends=( ${makedepends[*]/wasi-*/} ) - makedepends+=( 'wasi-libc++>=15' 'wasi-libc++<16' ) # dustbin - makedepends+=( 'wasi-libc++abi>=15' 'wasi-libc++abi<16' ) # dustbin - makedepends+=( 'wasi-compiler-rt>=15' 'wasi-compiler-rt<16' ) # dustbin + makedepends=( ${makedepends[*]/wasi-compiler-rt/wasi-compiler-rt=15.0.7} ) # dustbin ;; esac @@ -262,7 +268,20 @@ prepare() { sed -i "s|# 'LIBYUV_DISABLE_NEON',|'LIBYUV_DISABLE_NEON',|" media/libyuv/libyuv/libyuv.gyp ! grep "# 'LIBYUV_DISABLE_NEON'," media/libyuv/libyuv/libyuv.gyp || ! echo "error patching media/libyuv/libyuv/libyuv.gyp" || exit 1 - patch -p1 -i ../build-arm-libopus.patch + # FIXME: armv7h FTBS + # ld.lld: error: undefined hidden symbol: I422ToARGBRow_Any_NEON + # also: I422ToARGBRow_NEON I444ToARGBRow_Any_NEON I444ToARGBRow_NEON + # referenced by Unified_cpp_gfx_ycbcr0.cpp + # toolkit/library/build/../../../gfx/ycbcr/Unified_cpp_gfx_ycbcr0.o:(YUVBuferIter_Init) + # ld.lld: error: undefined hidden symbol: ScaleARGBCols_NEON + # also: InterpolateRow_NEON ScaleARGBFilterCols_NEON ScaleARGBRowDownEven_NEON + # ScaleARGBCols_Any_NEON InterpolateRow_Any_NEON ScaleARGBFilterCols_Any_NEON + # ScaleARGBRowDown2_Any_NEON ScaleARGBRowDownEvenBox_NEON + # ScaleARGBRowDownEven_Any_NEON ScaleARGBRowDown2Box_NEON + # ScaleARGBRowDownEvenBox_Any_NEON ScaleARGBRowDown2_NEON + # ScaleARGBRowDown2Box_Any_NEON ScaleARGBRowDown2Linear_Any_NEON + # ScaleARGBRowDown2Linear_NEON + # obj/toolkit/library/build/../../../gfx/ycbcr/Unified_cpp_gfx_ycbcr0.o:(YUVToARGBScale) ;; i686) # readelf: Error: Unable to seek to 0x801db328 for section headers @@ -353,18 +372,31 @@ END ## [ARCH-SPECIFIC CONFIG] ## - case ${CARCH} in - aarch64|armv7h) - # experimental/version-specific hacks # - - (( ! _SHOULD_USE_GCC )) || - cat >> ../mozconfig <> ../mozconfig <> ../mozconfig <