diff options
author | archdevlab | 2024-10-10 22:30:02 -0400 |
---|---|---|
committer | archdevlab | 2024-10-10 22:30:02 -0400 |
commit | 24a5389478392e531f3f4cb7cd8a76fb4afbbc81 (patch) | |
tree | 866e7eb4e3383c85a254b4fd570e37002f91efb7 | |
parent | 2c433d8e6389d29659333aa4e408a42fce3faf3c (diff) | |
download | aur-linux-llvm.tar.gz |
update to 6.11
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch | 22 | ||||
-rw-r--r-- | 0002-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch (renamed from 0003-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch) | 6 | ||||
-rw-r--r-- | 0002-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch | 89 | ||||
-rw-r--r-- | 0003-x86-apic-Remove-logical-destination-mode-for-64-bit.patch (renamed from 0004-x86-apic-Remove-logical-destination-mode-for-64-bit.patch) | 6 | ||||
-rw-r--r-- | 0005-btrfs-only-run-the-extent-map-shrinker-from-kswapd-t.patch | 140 | ||||
-rw-r--r-- | PKGBUILD | 30 |
7 files changed, 45 insertions, 275 deletions
@@ -1,5 +1,5 @@ pkgbase = linux-llvm - pkgver = 6.10.5 + pkgver = 6.11.0 pkgrel = 1 url = https://www.kernel.org/ arch = x86_64 @@ -11,6 +11,9 @@ pkgbase = linux-llvm makedepends = pahole makedepends = perl makedepends = python + makedepends = rust + makedepends = rust-bindgen + makedepends = rust-src makedepends = tar makedepends = xz makedepends = kmod @@ -38,20 +41,16 @@ pkgbase = linux-llvm makedepends = python options = !debug options = !strip - source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.10.5.tar.xz - source = https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/335b711f590650ef037442bf876f3551e5af0669/config + source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.11.tar.xz + source = https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/14fad3df4488776debb20a3abdd9ae98efaa9df5/config source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - source = 0002-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch - source = 0003-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch - source = 0004-x86-apic-Remove-logical-destination-mode-for-64-bit.patch - source = 0005-btrfs-only-run-the-extent-map-shrinker-from-kswapd-t.patch - sha256sums = 30909eb2e0434dce97a93cd97ed0dfab7688a124bc3ebc3ecf6c776de09ccc0b - sha256sums = 09bc22332affedcdf96cfa7b4ff3dcf1d087d1bde818b9929f5ad1102bc4f775 - sha256sums = d2d673e130d2a8006aeca9892238db432fe6de628327e6999b3567c0e40a01ae - sha256sums = 2bd0cd7ea72b0330006a5159e8016fdf391cbd3e222b263c6603670d90383d05 - sha256sums = 6759cdb5efcacc56b071dddb85f2dd6a54485a046f61f40f9854246c1480603c - sha256sums = 74d12e96b8ce056a5f1b4fd10cf3f4b671eb3d50d4124cd8fa7a81c83b55ae1e - sha256sums = 994514f16122c25e6b8debf79aab539f92ad3f25f94729197912f250eaf75a11 + source = 0002-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch + source = 0003-x86-apic-Remove-logical-destination-mode-for-64-bit.patch + sha256sums = 55d2c6c025ebc27810c748d66325dd5bc601e8d32f8581d9e77673529bdacb2e + sha256sums = bb5b077af2b1b01440835eec1ac4443fdd483a21505d2eb91d58254b2b49784b + sha256sums = 59d3f843f0255119a6439bc6047969fb58d568f2aab205a048253f4c93735452 + sha256sums = 86bccfe078176856647b9ece9af7ec2dee5b53ea51b172454de1358c0419947b + sha256sums = 0bec5e038b49428c5e2176043adc895f6b6c2ba94f4208b51d426a859e7dbcbd pkgname = linux-llvm pkgdesc = The Linux kernel and modules - Build with LLVM/CLANG diff --git a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index dcfd88efb929..cac7ea34a9a0 100644 --- a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,7 +1,7 @@ -From 14af815489d7512b6fa1eea8a259a67ad96f6034 Mon Sep 17 00:00:00 2001 +From dd778eae3f9cfea84eae2777b1bd76bbf28d96dc Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Mon, 16 Sep 2019 04:53:20 +0200 -Subject: [PATCH 1/5] ZEN: Add sysctl and CONFIG to disallow unprivileged +Subject: [PATCH 1/3] ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. @@ -36,10 +36,10 @@ index 6030a8235..60b7fe5fa 100644 { return &init_user_ns; diff --git a/init/Kconfig b/init/Kconfig -index febdea2af..e5ae14b4a 100644 +index 5783a0b87..5ea911147 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1251,6 +1251,22 @@ config USER_NS +@@ -1265,6 +1265,22 @@ config USER_NS If unsure, say N. @@ -63,10 +63,10 @@ index febdea2af..e5ae14b4a 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index 99076dbe2..18750b83c 100644 +index cc760491f..238695afc 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -104,6 +104,10 @@ +@@ -105,6 +105,10 @@ #include <uapi/linux/pidfd.h> #include <linux/pidfs.h> @@ -77,7 +77,7 @@ index 99076dbe2..18750b83c 100644 #include <asm/pgalloc.h> #include <linux/uaccess.h> #include <asm/mmu_context.h> -@@ -2154,6 +2158,10 @@ __latent_entropy struct task_struct *copy_process( +@@ -2138,6 +2142,10 @@ __latent_entropy struct task_struct *copy_process( if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) return ERR_PTR(-EINVAL); @@ -88,7 +88,7 @@ index 99076dbe2..18750b83c 100644 /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -3301,6 +3309,12 @@ int ksys_unshare(unsigned long unshare_flags) +@@ -3287,6 +3295,12 @@ int ksys_unshare(unsigned long unshare_flags) if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; @@ -102,7 +102,7 @@ index 99076dbe2..18750b83c 100644 if (err) goto bad_unshare_out; diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index e0b917328..e70ae9c11 100644 +index 79e6cb1d5..676e89dc3 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -80,6 +80,9 @@ @@ -115,7 +115,7 @@ index e0b917328..e70ae9c11 100644 /* shared constants to be used in various sysctls */ const int sysctl_vals[] = { 0, 1, 2, 3, 4, 100, 200, 1000, 3000, INT_MAX, 65535, -1 }; -@@ -1623,6 +1626,15 @@ static struct ctl_table kern_table[] = { +@@ -1618,6 +1621,15 @@ static struct ctl_table kern_table[] = { .mode = 0644, .proc_handler = proc_dointvec, }, @@ -150,5 +150,5 @@ index 0b0b95418..c4b835b91 100644 static DEFINE_MUTEX(userns_state_mutex); -- -2.46.0 +2.46.1 diff --git a/0003-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch b/0002-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch index 0fc9cc66f6a7..7455b2fcb5ac 100644 --- a/0003-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch +++ b/0002-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch @@ -1,7 +1,7 @@ -From 73ddd305e812717ccf37db68a71657e35907d600 Mon Sep 17 00:00:00 2001 +From e181bca5cc92a93beba1bece5d1edb394a0824a3 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org> Date: Sat, 13 Jan 2024 15:29:25 +0100 -Subject: [PATCH 3/5] arch/Kconfig: Default to maximum amount of ASLR bits +Subject: [PATCH 2/3] arch/Kconfig: Default to maximum amount of ASLR bits To mitigate https://zolutal.github.io/aslrnt/; do this with a patch to avoid having to enable `CONFIG_EXPERT`. @@ -32,5 +32,5 @@ index 975dd22a2..de69b8f5b 100644 help This value can be used to select the number of bits to use to -- -2.46.0 +2.46.1 diff --git a/0002-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch b/0002-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch deleted file mode 100644 index 04675fa1110d..000000000000 --- a/0002-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 6ec4de9fb86044f41d2fe58d9e5ed610c09643a9 Mon Sep 17 00:00:00 2001 -From: Javier Martinez Canillas <javierm@redhat.com> -Date: Thu, 19 May 2022 14:40:07 +0200 -Subject: [PATCH 2/5] drivers/firmware: skip simpledrm if nvidia-drm.modeset=1 - is set - -The Nvidia proprietary driver has some bugs that leads to issues if used -with the simpledrm driver. The most noticeable is that does not register -an emulated fbdev device. - -It just relies on a fbdev to be registered by another driver, that could -be that could be attached to the framebuffer console. On UEFI machines, -this is the efifb driver. - -This means that disabling the efifb driver will cause virtual consoles to -not be present in the system when using the Nvidia driver. Legacy BIOS is -not affected just because fbcon is not used there, but instead vgacon. - -Unless a VGA mode is specified using the vga= kernel command line option, -in that case the vesafb driver is used instead and its fbdev attached to -the fbcon. - -This is a problem because with CONFIG_SYSFB_SIMPLEFB=y, the sysfb platform -code attempts to register a "simple-framebuffer" platform device (that is -matched against simpledrm) and only registers either an "efi-framebuffer" -or "vesa-framebuffer" if this fails to be registered due the video modes -not being compatible. - -The Nvidia driver relying on another driver to register the fbdev is quite -fragile, since it can't really assume those will stick around. For example -there are patches posted to remove the EFI and VESA platform devices once -a real DRM or fbdev driver probes. - -But in any case, moving to a simpledrm + emulated fbdev only breaks this -assumption and causes users to not have VT if the Nvidia driver is used. - -So to prevent this, let's add a workaround and make the sysfb to skip the -"simple-framebuffer" registration when nvidia-drm.modeset=1 option is set. - -This is quite horrible, but honestly I can't think of any other approach. - -For this to work, the CONFIG_FB_EFI and CONFIG_FB_VESA config options must -be enabled besides CONFIG_DRM_SIMPLEDRM. - -Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> -Cherry-picked-for: https://bugs.archlinux.org/task/73720 ---- - drivers/firmware/sysfb.c | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/drivers/firmware/sysfb.c b/drivers/firmware/sysfb.c -index 921f61507..f9705d078 100644 ---- a/drivers/firmware/sysfb.c -+++ b/drivers/firmware/sysfb.c -@@ -35,6 +35,22 @@ - #include <linux/screen_info.h> - #include <linux/sysfb.h> - -+static int skip_simpledrm; -+ -+static int __init simpledrm_disable(char *opt) -+{ -+ if (!opt) -+ return -EINVAL; -+ -+ get_option(&opt, &skip_simpledrm); -+ -+ if (skip_simpledrm) -+ pr_info("The simpledrm driver will not be probed\n"); -+ -+ return 0; -+} -+early_param("nvidia-drm.modeset", simpledrm_disable); -+ - static struct platform_device *pd; - static DEFINE_MUTEX(disable_lock); - static bool disabled; -@@ -136,7 +152,7 @@ static __init int sysfb_init(void) - - /* try to create a simple-framebuffer device */ - compatible = sysfb_parse_mode(si, &mode); -- if (compatible) { -+ if (compatible && !skip_simpledrm) { - pd = sysfb_create_simplefb(si, &mode, parent); - if (!IS_ERR(pd)) - goto put_device; --- -2.46.0 - diff --git a/0004-x86-apic-Remove-logical-destination-mode-for-64-bit.patch b/0003-x86-apic-Remove-logical-destination-mode-for-64-bit.patch index 9e49c52177c1..af7e006e7def 100644 --- a/0004-x86-apic-Remove-logical-destination-mode-for-64-bit.patch +++ b/0003-x86-apic-Remove-logical-destination-mode-for-64-bit.patch @@ -1,7 +1,7 @@ -From ba3a74dda07d02801951939103ad6d814386c0ca Mon Sep 17 00:00:00 2001 +From de4bb6bc2729865f3823ccf456ebd09675ebd39c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 28 Jul 2024 13:06:10 +0200 -Subject: [PATCH 4/5] x86/apic: Remove logical destination mode for 64-bit +Subject: [PATCH 3/3] x86/apic: Remove logical destination mode for 64-bit Logical destination mode of the local APIC is used for systems with up to 8 CPUs. It has an advantage over physical destination mode as it allows to @@ -215,5 +215,5 @@ index f37ad3392..e0308d8c4 100644 +struct apic *apic __ro_after_init = &apic_physflat; +EXPORT_SYMBOL_GPL(apic); -- -2.46.0 +2.46.1 diff --git a/0005-btrfs-only-run-the-extent-map-shrinker-from-kswapd-t.patch b/0005-btrfs-only-run-the-extent-map-shrinker-from-kswapd-t.patch deleted file mode 100644 index 5a5586fc4b40..000000000000 --- a/0005-btrfs-only-run-the-extent-map-shrinker-from-kswapd-t.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 9566896326ec76d00c98a08cdc0d450d09b88b89 Mon Sep 17 00:00:00 2001 -From: Filipe Manana <fdmanana@suse.com> -Date: Sun, 11 Aug 2024 16:31:06 +0100 -Subject: [PATCH 5/5] btrfs: only run the extent map shrinker from kswapd tasks - -Currently the extent map shrinker can be run by any task when attempting -to allocate memory and there's enough memory pressure to trigger it. - -To avoid too much latency we stop iterating over extent maps and removing -them once the task needs to reschudle. This logic was introduced in commit -b3ebb9b7e92a ("btrfs: stop extent map shrinker if reschedule is needed"). - -While that solved high latency problems for some use cases, it's still -not enough because with a too high number of tasks entering the extent map -shrinker code, either due to memory allocations or because they are a -kswapd task, we end up having a very high level of contention on some -spin locks, namely: - -1) The fs_info->fs_roots_radix_lock spin lock, which we need to find - roots to iterate over their inodes; - -2) The spin lock of the xarray used to track open inodes for a root - (struct btrfs_root::inodes) - on 6.10 kernels and below, it used to - be a red black tree and the spin lock was root->inode_lock; - -3) The fs_info->delayed_iput_lock spin lock since the shrinker adds - delayed iputs (calls btrfs_add_delayed_iput()). - -Instead of allowing the extent map shrinker to be run by any task, make -it run only by kswapd tasks. This still solves the problem of running -into OOM situations due to an unbounded extent map creation, which is -simple to trigger by direct IO writes, as described in the changelog -of commit 956a17d9d050 ("btrfs: add a shrinker for extent maps"), and -by a similar case when doing buffered IO on files with a very large -number of holes (keeping the file open and creating many holes, whose -extent maps are only released when the file is closed). - -Reported-by: kzd <kzd@56709.net> -Link: https://bugzilla.kernel.org/show_bug.cgi?id=219121 -Reported-by: Octavia Togami <octavia.togami@gmail.com> -Link: https://lore.kernel.org/linux-btrfs/CAHPNGSSt-a4ZZWrtJdVyYnJFscFjP9S7rMcvEMaNSpR556DdLA@mail.gmail.com/ -Fixes: 956a17d9d050 ("btrfs: add a shrinker for extent maps") -CC: stable@vger.kernel.org # 6.10+ -Tested-by: kzd <kzd@56709.net> -Tested-by: Octavia Togami <octavia.togami@gmail.com> -Signed-off-by: Filipe Manana <fdmanana@suse.com> -Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/70 ---- - fs/btrfs/extent_map.c | 22 ++++++---------------- - fs/btrfs/super.c | 10 ++++++++++ - 2 files changed, 16 insertions(+), 16 deletions(-) - -diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c -index b4c9a6aa1..6853f043c 100644 ---- a/fs/btrfs/extent_map.c -+++ b/fs/btrfs/extent_map.c -@@ -1065,8 +1065,7 @@ static long btrfs_scan_inode(struct btrfs_inode *inode, struct btrfs_em_shrink_c - return 0; - - /* -- * We want to be fast because we can be called from any path trying to -- * allocate memory, so if the lock is busy we don't want to spend time -+ * We want to be fast so if the lock is busy we don't want to spend time - * waiting for it - either some task is about to do IO for the inode or - * we may have another task shrinking extent maps, here in this code, so - * skip this inode. -@@ -1109,9 +1108,7 @@ static long btrfs_scan_inode(struct btrfs_inode *inode, struct btrfs_em_shrink_c - /* - * Stop if we need to reschedule or there's contention on the - * lock. This is to avoid slowing other tasks trying to take the -- * lock and because the shrinker might be called during a memory -- * allocation path and we want to avoid taking a very long time -- * and slowing down all sorts of tasks. -+ * lock. - */ - if (need_resched() || rwlock_needbreak(&tree->lock)) - break; -@@ -1139,12 +1136,7 @@ static long btrfs_scan_root(struct btrfs_root *root, struct btrfs_em_shrink_ctx - if (ctx->scanned >= ctx->nr_to_scan) - break; - -- /* -- * We may be called from memory allocation paths, so we don't -- * want to take too much time and slowdown tasks. -- */ -- if (need_resched()) -- break; -+ cond_resched(); - - inode = btrfs_find_first_inode(root, min_ino); - } -@@ -1202,14 +1194,12 @@ long btrfs_free_extent_maps(struct btrfs_fs_info *fs_info, long nr_to_scan) - ctx.last_ino); - } - -- /* -- * We may be called from memory allocation paths, so we don't want to -- * take too much time and slowdown tasks, so stop if we need reschedule. -- */ -- while (ctx.scanned < ctx.nr_to_scan && !need_resched()) { -+ while (ctx.scanned < ctx.nr_to_scan) { - struct btrfs_root *root; - unsigned long count; - -+ cond_resched(); -+ - spin_lock(&fs_info->fs_roots_radix_lock); - count = radix_tree_gang_lookup(&fs_info->fs_roots_radix, - (void **)&root, -diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c -index f05cce7c8..11faf5e98 100644 ---- a/fs/btrfs/super.c -+++ b/fs/btrfs/super.c -@@ -28,6 +28,7 @@ - #include <linux/btrfs.h> - #include <linux/security.h> - #include <linux/fs_parser.h> -+#include <linux/swap.h> - #include "messages.h" - #include "delayed-inode.h" - #include "ctree.h" -@@ -2394,6 +2395,15 @@ static long btrfs_free_cached_objects(struct super_block *sb, struct shrink_cont - const long nr_to_scan = min_t(unsigned long, LONG_MAX, sc->nr_to_scan); - struct btrfs_fs_info *fs_info = btrfs_sb(sb); - -+ /* -+ * We may be called from any task trying to allocate memory and we don't -+ * want to slow it down with scanning and dropping extent maps. It would -+ * also cause heavy lock contention if many tasks concurrently enter -+ * here. Therefore only allow kswapd tasks to scan and drop extent maps. -+ */ -+ if (!current_is_kswapd()) -+ return 0; -+ - return btrfs_free_extent_maps(fs_info, nr_to_scan); - } - --- -2.46.0 - @@ -19,11 +19,11 @@ BUILD_FLAGS=(CC=clang CXX=clang++ HOSTCC=clang HOSTCXX=clang++ LD=ld.lld LLVM=1 ################################################################################### pkgbase=linux-llvm -pkgver=6.10.5 -_pkgver=6.10.5 +pkgver=6.11.0 +_pkgver=6.11 pkgrel=1 -major=6.10 -commit=335b711f590650ef037442bf876f3551e5af0669 +major=6.11 +commit=14fad3df4488776debb20a3abdd9ae98efaa9df5 arch=(x86_64) url='https://www.kernel.org/' license=(GPL-2.0-only) @@ -35,6 +35,9 @@ makedepends=( pahole perl python + rust + rust-bindgen + rust-src tar xz kmod @@ -74,10 +77,8 @@ source=(https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$_pkgver.tar.xz ${archlinuxpath}/config # Arch patches 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - 0002-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch - 0003-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch - 0004-x86-apic-Remove-logical-destination-mode-for-64-bit.patch - 0005-btrfs-only-run-the-extent-map-shrinker-from-kswapd-t.patch) + 0002-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch + 0003-x86-apic-Remove-logical-destination-mode-for-64-bit.patch) export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase @@ -249,6 +250,7 @@ _package-headers(){ install -Dt "$builddir/kernel" -m644 kernel/Makefile install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile cp -t "$builddir" -a scripts + ln -srt "$builddir" "$builddir/scripts/gdb/vmlinux-gdb.py" # required when STACK_VALIDATION is enabled install -Dt "$builddir/tools/objtool" tools/objtool/objtool @@ -320,13 +322,11 @@ _package-headers(){ ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" } -sha256sums=('30909eb2e0434dce97a93cd97ed0dfab7688a124bc3ebc3ecf6c776de09ccc0b' - '09bc22332affedcdf96cfa7b4ff3dcf1d087d1bde818b9929f5ad1102bc4f775' - 'd2d673e130d2a8006aeca9892238db432fe6de628327e6999b3567c0e40a01ae' - '2bd0cd7ea72b0330006a5159e8016fdf391cbd3e222b263c6603670d90383d05' - '6759cdb5efcacc56b071dddb85f2dd6a54485a046f61f40f9854246c1480603c' - '74d12e96b8ce056a5f1b4fd10cf3f4b671eb3d50d4124cd8fa7a81c83b55ae1e' - '994514f16122c25e6b8debf79aab539f92ad3f25f94729197912f250eaf75a11') +sha256sums=('55d2c6c025ebc27810c748d66325dd5bc601e8d32f8581d9e77673529bdacb2e' + 'bb5b077af2b1b01440835eec1ac4443fdd483a21505d2eb91d58254b2b49784b' + '59d3f843f0255119a6439bc6047969fb58d568f2aab205a048253f4c93735452' + '86bccfe078176856647b9ece9af7ec2dee5b53ea51b172454de1358c0419947b' + '0bec5e038b49428c5e2176043adc895f6b6c2ba94f4208b51d426a859e7dbcbd') pkgname=($pkgbase $pkgbase-headers) for _p in "${pkgname[@]}"; do |