aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/aaudit/APKBUILD2
-rw-r--r--main/abi-compliance-checker/APKBUILD14
-rw-r--r--main/abuild/APKBUILD18
-rw-r--r--main/abuild/mr127-doas.patch42
-rw-r--r--main/abuild/mr128-newapkbuild-fetch-rust-deps-in-prepare.patch110
-rw-r--r--main/abuild/mr131-newapkbuild-change-cmake-build-type.patch33
-rw-r--r--main/abuild/mr134-modcacherw.patch23
-rw-r--r--main/abuild/mr60-newapkbuild-use-abuild-meson.patch34
-rw-r--r--main/acl/APKBUILD6
-rw-r--r--main/alpine-base/APKBUILD2
-rw-r--r--main/alpine-baselayout/APKBUILD17
-rw-r--r--main/alpine-baselayout/alpine-baselayout.pre-upgrade4
-rw-r--r--main/alpine-baselayout/mkmntdirs.c67
-rw-r--r--main/alpine-conf/APKBUILD4
-rw-r--r--main/alpine-git-mirror-syncd/APKBUILD5
-rw-r--r--main/alsa-lib/APKBUILD5
-rw-r--r--main/alsa-ucm-conf/APKBUILD20
-rw-r--r--main/alsa-utils/APKBUILD8
-rw-r--r--main/aom/APKBUILD70
-rw-r--r--main/aom/fix-stack-size-e53da0b.patch78
-rw-r--r--main/apache-mod-auth-ntlm-winbind/APKBUILD14
-rw-r--r--main/apache-mod-auth-radius/APKBUILD3
-rw-r--r--main/apache2-mod-wsgi/APKBUILD4
-rw-r--r--main/apache2/APKBUILD19
-rw-r--r--main/api-sanity-checker/APKBUILD2
-rw-r--r--main/apk-tools/APKBUILD8
-rw-r--r--main/apk-tools/_apk4
-rw-r--r--main/apr-util/APKBUILD6
-rw-r--r--main/apr/APKBUILD8
-rw-r--r--main/apr/CVE-2021-35940.patch53
-rw-r--r--main/argon2/APKBUILD2
-rw-r--r--main/argp-standalone/APKBUILD2
-rw-r--r--main/arm-trusted-firmware/APKBUILD16
-rw-r--r--main/aspell-fr/APKBUILD13
-rw-r--r--main/aspell-ru/APKBUILD6
-rw-r--r--main/aspell-uk/APKBUILD6
-rw-r--r--main/asterisk/APKBUILD8
-rw-r--r--main/at-spi2-atk/APKBUILD30
-rw-r--r--main/at-spi2-core/APKBUILD48
-rw-r--r--main/atk/APKBUILD31
-rw-r--r--main/audit/APKBUILD10
-rw-r--r--main/audit/musl.patch11
-rw-r--r--main/audit/usr-paths.patch (renamed from main/audit/0004-fix-path-in-au-remote-conf.patch)14
-rw-r--r--main/augeas/APKBUILD2
-rw-r--r--main/awall/APKBUILD4
-rw-r--r--main/axel/APKBUILD4
-rw-r--r--main/bacula/APKBUILD6
-rw-r--r--main/batctl/APKBUILD6
-rw-r--r--main/bats/APKBUILD4
-rw-r--r--main/bc/APKBUILD6
-rw-r--r--main/bctoolbox/APKBUILD6
-rw-r--r--main/bdftopcf/APKBUILD6
-rw-r--r--main/bind/APKBUILD10
-rw-r--r--main/bind/named.initd6
-rw-r--r--main/binutils/APKBUILD6
-rw-r--r--main/binutils/binutils-clang-dwarf-5.patch1226
-rw-r--r--main/binutils/binutils-ppc64le-assertion.patch32
-rw-r--r--main/bison/APKBUILD9
-rw-r--r--main/bluez/APKBUILD4
-rw-r--r--main/boost1.78/bjam-no-skip-install.patch73
-rw-r--r--main/boost1.78/boost-1.78.0-interprocess-musl-include.patch23
-rw-r--r--main/boost1.79/0001-revert-cease-dependence-on-range.patch (renamed from main/boost1.78/0001-revert-cease-dependence-on-range.patch)0
-rw-r--r--main/boost1.79/APKBUILD194
-rw-r--r--main/boost1.79/boost-1.57.0-python-abi_letters.patch (renamed from main/boost1.78/boost-1.57.0-python-abi_letters.patch)0
-rw-r--r--main/boost1.79/boost-1.57.0-python-libpython_dep.patch (renamed from main/boost1.78/boost-1.57.0-python-libpython_dep.patch)0
-rw-r--r--main/boost1.79/boost-1.79.0-fix-segfault-in-array-erase.patch50
-rw-r--r--main/boost1.80/0001-revert-cease-dependence-on-range.patch49
-rw-r--r--main/boost1.80/APKBUILD (renamed from main/boost1.78/APKBUILD)23
-rw-r--r--main/boost1.80/boost-1.57.0-python-abi_letters.patch62
-rw-r--r--main/boost1.80/boost-1.57.0-python-libpython_dep.patch13
-rw-r--r--main/boost1.80/boost-1.80-filesystem-fix-weakly-canonical-long-paths.patch171
-rw-r--r--main/boost1.80/boost-1.80-filesystem-win-fix-dir-it-net-share.patch31
-rw-r--r--main/botan/APKBUILD7
-rw-r--r--main/bridge/APKBUILD11
-rw-r--r--main/brotli/APKBUILD2
-rw-r--r--main/btrfs-progs/APKBUILD4
-rw-r--r--main/build-base/APKBUILD4
-rw-r--r--main/busybox-initscripts/APKBUILD34
-rw-r--r--main/busybox-initscripts/dvbdev18
-rw-r--r--main/busybox-initscripts/mdev.conf141
-rw-r--r--main/busybox-initscripts/persistent-storage68
-rwxr-xr-xmain/busybox-initscripts/ptpdev15
-rw-r--r--main/busybox-initscripts/ptpdev.bats49
-rwxr-xr-xmain/busybox-initscripts/usbdev25
-rw-r--r--main/busybox/0001-avoid-redefined-warnings-when-building-with-utmps.patch93
-rw-r--r--main/busybox/0017-ash-Fix-use-after-free-on-idx-variable.patch94
-rw-r--r--main/busybox/APKBUILD72
-rw-r--r--main/busybox/CVE-2022-30065.patch63
-rw-r--r--main/busybox/busybox-extras.post-install2
-rw-r--r--main/busybox/busybox.post-install2
-rw-r--r--main/busybox/busybox.post-upgrade2
-rw-r--r--main/busybox/busyboxconfig-extras4
-rw-r--r--main/bzip2/APKBUILD2
-rw-r--r--main/ca-certificates/APKBUILD16
-rw-r--r--main/cairo/APKBUILD4
-rw-r--r--main/ccache/APKBUILD5
-rw-r--r--main/ccache/gcc12.patch12
-rw-r--r--main/cgit/APKBUILD4
-rw-r--r--main/charybdis/APKBUILD4
-rw-r--r--main/checkbashisms/APKBUILD8
-rw-r--r--main/chrpath/APKBUILD5
-rw-r--r--main/cifs-utils/APKBUILD5
-rw-r--r--main/ckbcomp/APKBUILD8
-rw-r--r--main/clang/10-add-musl-triples.patch38
-rw-r--r--main/clang/30-Enable-stack-protector-by-default-for-Alpine-Linux.patch63
-rw-r--r--main/clang/APKBUILD88
-rw-r--r--main/clang/llvm-hello.patch63
-rw-r--r--main/cloog/APKBUILD2
-rw-r--r--main/clucene/APKBUILD2
-rw-r--r--main/cmake/APKBUILD4
-rw-r--r--main/cmph/APKBUILD5
-rw-r--r--main/command-not-found/APKBUILD2
-rw-r--r--main/compat-pvgrub/APKBUILD15
-rw-r--r--main/compiler-rt/APKBUILD27
-rw-r--r--main/compiler-rt/aarch64-ucontext.patch13
-rw-r--r--main/compiler-rt/link-execinfo.patch11
-rw-r--r--main/compiler-rt/sanitizer-ppc64-musl.patch14
-rw-r--r--main/compiler-rt/sanitizer-supported-arch.patch15
-rw-r--r--main/confuse/APKBUILD6
-rw-r--r--main/conntrack-tools/APKBUILD10
-rw-r--r--main/conntrack-tools/conntrackd.initd35
-rw-r--r--main/cppunit/APKBUILD2
-rw-r--r--main/cramfs/APKBUILD12
-rw-r--r--main/cryptsetup/APKBUILD22
-rw-r--r--main/ctags/APKBUILD4
-rw-r--r--main/cunit/APKBUILD6
-rw-r--r--main/curl/APKBUILD19
-rw-r--r--main/curl/easy_lock.patch53
-rw-r--r--main/cutter/APKBUILD6
-rw-r--r--main/cyrus-sasl/APKBUILD12
-rw-r--r--main/cython/APKBUILD6
-rw-r--r--main/dahdi-linux-lts/APKBUILD2
-rw-r--r--main/dansguardian/APKBUILD42
-rw-r--r--main/dansguardian/cstring.patch12
-rw-r--r--main/dansguardian/gcc11.patch222
-rw-r--r--main/dav1d/APKBUILD43
-rw-r--r--main/dav1d/fix-asmcheck.patch63
-rw-r--r--main/db/APKBUILD19
-rw-r--r--main/debootstrap/APKBUILD6
-rw-r--r--main/dejagnu/APKBUILD6
-rw-r--r--main/dhcpcd/APKBUILD4
-rw-r--r--main/dhcpcd/dhcpcd.initd4
-rw-r--r--main/dialog/APKBUILD4
-rw-r--r--main/djbdns/APKBUILD26
-rw-r--r--main/dkimproxy/APKBUILD7
-rw-r--r--main/dmidecode/APKBUILD8
-rw-r--r--main/dns-root-hints/APKBUILD95
-rw-r--r--main/dns-root-hints/dns-root-hints.crond2
-rw-r--r--main/dns-root-hints/named.root6
-rw-r--r--main/dns-root-hints/named.root.sigbin72 -> 72 bytes
-rwxr-xr-xmain/dns-root-hints/update-dns-root-hints58
-rw-r--r--main/dnsmasq/0000-underflow.patch (renamed from main/dnsmasq/0000-fix-heap-overflow-in-dns-replies.patch)0
-rw-r--r--main/dnsmasq/0013-Fix-coverity-issues-detected-in-domain-match.c.patch3
-rw-r--r--main/dnsmasq/0020-Fix-crash-after-re-reading-empty-resolv.conf.patch38
-rw-r--r--main/dnsmasq/0020-fix-domain-match-local.patch276
-rw-r--r--main/dnsmasq/0021-build_server_array.patch70
-rw-r--r--main/dnsmasq/0022-Fix-problems-with-upper-case-in-domain-match.patch84
-rw-r--r--main/dnsmasq/0023-Optimize-inserting-records-into-server-list.patch69
-rw-r--r--main/dnsmasq/0024-Fix-massive-confusion-on-server-reload.patch238
-rw-r--r--main/dnsmasq/0025-reuse-server.patch87
-rw-r--r--main/dnsmasq/APKBUILD58
-rw-r--r--main/dnsmasq/dnsmasq.confd5
-rw-r--r--main/dnsmasq/dnsmasq.initd7
-rw-r--r--main/dnssec-root/APKBUILD2
-rw-r--r--main/doas/APKBUILD7
-rw-r--r--main/doas/change-PATH.patch19
-rw-r--r--main/docbook-xml/APKBUILD15
-rw-r--r--main/docbook2x/APKBUILD24
-rw-r--r--main/docs/APKBUILD6
-rw-r--r--main/dovecot/APKBUILD34
-rw-r--r--main/dpkg/APKBUILD4
-rw-r--r--main/drbd-utils/APKBUILD4
-rw-r--r--main/dropbear/APKBUILD8
-rw-r--r--main/dropbear/dropbear-fix-utmp.patch157
-rw-r--r--main/dtc/APKBUILD2
-rw-r--r--main/e2fsprogs/APKBUILD35
-rw-r--r--main/efibootmgr/APKBUILD10
-rw-r--r--main/efibootmgr/efivar.patch14
-rw-r--r--main/efitools/APKBUILD4
-rw-r--r--main/efivar/APKBUILD9
-rw-r--r--main/efivar/fix-build-riscv64.patch12
-rw-r--r--main/eggdrop/APKBUILD59
-rw-r--r--main/eggdrop/eggdrop.post-install6
-rw-r--r--main/eggdrop/gseen.mod.patch5133
-rw-r--r--main/eggdrop/logs2html.mod.patch3417
-rw-r--r--main/elfutils/APKBUILD6
-rw-r--r--main/elfutils/musl-macros.patch77
-rw-r--r--main/elfutils/musl-strndupa.patch18
-rw-r--r--main/elinks/APKBUILD12
-rw-r--r--main/ell/APKBUILD4
-rw-r--r--main/email/APKBUILD6
-rw-r--r--main/encfs/APKBUILD4
-rw-r--r--main/encodings/APKBUILD11
-rw-r--r--main/ethtool/APKBUILD4
-rw-r--r--main/eudev/APKBUILD6
-rw-r--r--main/eudev/setup-udev28
-rw-r--r--main/execline/APKBUILD8
-rw-r--r--main/expat/APKBUILD9
-rw-r--r--main/ez-ipupdate/APKBUILD21
-rw-r--r--main/fakeroot/APKBUILD22
-rw-r--r--main/fakeroot/do-not-redefine-id_t.patch21
-rw-r--r--main/fakeroot/fakeroot-skip-ipc-sanity-check.patch29
-rw-r--r--main/fakeroot/fix-format.patch25
-rw-r--r--main/file/APKBUILD4
-rw-r--r--main/fish/APKBUILD16
-rw-r--r--main/flashcache-utils/APKBUILD6
-rw-r--r--main/flex/APKBUILD6
-rw-r--r--main/flite/APKBUILD4
-rw-r--r--main/font-adobe-100dpi/APKBUILD15
-rw-r--r--main/font-adobe-75dpi/APKBUILD15
-rw-r--r--main/font-adobe-utopia-100dpi/APKBUILD15
-rw-r--r--main/font-adobe-utopia-75dpi/APKBUILD15
-rw-r--r--main/font-adobe-utopia-type1/APKBUILD15
-rw-r--r--main/font-arabic-misc/APKBUILD15
-rw-r--r--main/font-bh-100dpi/APKBUILD15
-rw-r--r--main/font-bh-75dpi/APKBUILD15
-rw-r--r--main/font-bh-lucidatypewriter-100dpi/APKBUILD15
-rw-r--r--main/font-bh-lucidatypewriter-75dpi/APKBUILD15
-rw-r--r--main/font-bh-type1/APKBUILD15
-rw-r--r--main/font-bitstream-100dpi/APKBUILD15
-rw-r--r--main/font-bitstream-75dpi/APKBUILD15
-rw-r--r--main/font-bitstream-speedo/APKBUILD17
-rw-r--r--main/font-bitstream-type1/APKBUILD15
-rw-r--r--main/font-cronyx-cyrillic/APKBUILD15
-rw-r--r--main/font-cursor-misc/APKBUILD6
-rw-r--r--main/font-daewoo-misc/APKBUILD15
-rw-r--r--main/font-dec-misc/APKBUILD15
-rw-r--r--main/font-ibm-type1/APKBUILD15
-rw-r--r--main/font-isas-misc/APKBUILD13
-rw-r--r--main/font-jis-misc/APKBUILD15
-rw-r--r--main/font-liberation/APKBUILD4
-rw-r--r--main/font-micro-misc/APKBUILD15
-rw-r--r--main/font-misc-cyrillic/APKBUILD15
-rw-r--r--main/font-misc-meltho/APKBUILD17
-rw-r--r--main/font-misc-misc/APKBUILD6
-rw-r--r--main/font-mutt-misc/APKBUILD29
-rw-r--r--main/font-schumacher-misc/APKBUILD15
-rw-r--r--main/font-screen-cyrillic/APKBUILD15
-rw-r--r--main/font-sony-misc/APKBUILD6
-rw-r--r--main/font-sun-misc/APKBUILD15
-rw-r--r--main/font-util/APKBUILD11
-rw-r--r--main/font-vollkorn/APKBUILD6
-rw-r--r--main/font-winitzki-cyrillic/APKBUILD15
-rw-r--r--main/font-xfree86-type1/APKBUILD15
-rw-r--r--main/fprobe-ulog/APKBUILD22
-rw-r--r--main/fprobe/APKBUILD20
-rw-r--r--main/freeradius/APKBUILD8
-rw-r--r--main/freeradius/remove-eap-from-default-mods.patch2
-rw-r--r--main/freeswitch-sounds-en-us-callie-32000/APKBUILD16
-rw-r--r--main/freeswitch-sounds-en-us-callie-8000/APKBUILD16
-rw-r--r--main/freeswitch-sounds-es-mx-maria-44100/APKBUILD16
-rw-r--r--main/freeswitch-sounds-fr-ca-june-8000/APKBUILD14
-rw-r--r--main/freeswitch-sounds-fr-fr-sibylle-8000/APKBUILD17
-rw-r--r--main/freeswitch-sounds-music-32000/APKBUILD16
-rw-r--r--main/freeswitch-sounds-music-8000/APKBUILD16
-rw-r--r--main/freeswitch-sounds-pt-br-karina-8000/APKBUILD13
-rw-r--r--main/freeswitch-sounds-ru-RU-elena-32000/APKBUILD14
-rw-r--r--main/freeswitch-sounds-ru-RU-elena-8000/APKBUILD14
-rw-r--r--main/freeswitch/APKBUILD11
-rw-r--r--main/freeswitch/openssl3.patch25
-rw-r--r--main/freetds/APKBUILD8
-rw-r--r--main/freetype/APKBUILD2
-rw-r--r--main/fts/APKBUILD15
-rw-r--r--main/fuse3/APKBUILD3
-rw-r--r--main/gcc/0001-posix_memalign.patch7
-rw-r--r--main/gcc/0002-gcc-poison-system-directories.patch55
-rw-r--r--main/gcc/0003-specs-turn-on-Wl-z-now-by-default.patch21
-rw-r--r--main/gcc/0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch23
-rw-r--r--main/gcc/0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch53
-rw-r--r--main/gcc/0006-Enable-Wformat-and-Wformat-security-by-default.patch11
-rw-r--r--main/gcc/0007-Enable-Wtrampolines-by-default.patch11
-rw-r--r--main/gcc/0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch23
-rw-r--r--main/gcc/0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch11
-rw-r--r--main/gcc/0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch7
-rw-r--r--main/gcc/0011-libiberty-copy-PIC-objects-during-build-process.patch9
-rw-r--r--main/gcc/0012-libitm-disable-FORTIFY.patch7
-rw-r--r--main/gcc/0013-libgcc_s.patch31
-rw-r--r--main/gcc/0014-nopie.patch13
-rw-r--r--main/gcc/0015-dlang-use-libucontext-on-mips64.patch (renamed from main/gcc/0017-dlang-use-libucontext-on-mips64.patch)7
-rw-r--r--main/gcc/0015-libffi-use-__linux__-instead-of-__gnu_linux__-for-mu.patch25
-rw-r--r--main/gcc/0016-ada-fix-shared-linking.patch (renamed from main/gcc/0019-ada-fix-shared-linking.patch)7
-rw-r--r--main/gcc/0016-dlang-update-zlib-binding.patch425
-rw-r--r--main/gcc/0017-build-fix-CXXFLAGS_FOR_BUILD-passing.patch (renamed from main/gcc/0020-build-fix-CXXFLAGS_FOR_BUILD-passing.patch)9
-rw-r--r--main/gcc/0018-add-fortify-headers-paths.patch (renamed from main/gcc/0021-add-fortify-headers-paths.patch)9
-rw-r--r--main/gcc/0018-dlang-libdruntime-define-fcntl.h-constants-for-mips6.patch38
-rw-r--r--main/gcc/0019-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch (renamed from main/gcc/0022-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch)17
-rw-r--r--main/gcc/0020-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch (renamed from main/gcc/0023-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch)23
-rw-r--r--main/gcc/0021-mips64-disable-multilib-support.patch (renamed from main/gcc/0024-mips64-disable-multilib-support.patch)11
-rw-r--r--main/gcc/0022-aarch64-disable-multilib-support.patch (renamed from main/gcc/0025-aarch64-disable-multilib-support.patch)7
-rw-r--r--main/gcc/0023-s390x-disable-multilib-support.patch (renamed from main/gcc/0026-s390x-disable-multilib-support.patch)5
-rw-r--r--main/gcc/0024-ppc64-le-disable-multilib-support.patch (renamed from main/gcc/0027-ppc64-le-disable-multilib-support.patch)11
-rw-r--r--main/gcc/0025-x86_64-disable-multilib-support.patch (renamed from main/gcc/0028-x86_64-disable-multilib-support.patch)7
-rw-r--r--main/gcc/0026-riscv-disable-multilib-support.patch (renamed from main/gcc/0029-riscv-disable-multilib-support.patch)7
-rw-r--r--main/gcc/0027-always-build-libgcc_eh.a.patch (renamed from main/gcc/0030-always-build-libgcc_eh.a.patch)7
-rw-r--r--main/gcc/0028-ada-libgnarl-compatibility-for-musl.patch (renamed from main/gcc/0031-ada-libgnarl-compatibility-for-musl.patch)13
-rw-r--r--main/gcc/0029-ada-musl-support-fixes.patch (renamed from main/gcc/0032-ada-musl-support-fixes.patch)33
-rw-r--r--main/gcc/0030-gcc-go-Fix-handling-of-signal-34-on-musl.patch (renamed from main/gcc/0033-gcc-go-Fix-handling-of-signal-34-on-musl.patch)27
-rw-r--r--main/gcc/0031-There-are-more-than-one-st_-a-m-c-tim-fields-in-stru.patch (renamed from main/gcc/0034-There-are-more-than-one-st_-a-m-c-tim-fields-in-stru.patch)5
-rw-r--r--main/gcc/0032-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch (renamed from main/gcc/0036-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch)7
-rw-r--r--main/gcc/0033-gcc-go-link-to-libucontext.patch (renamed from main/gcc/0037-gcc-go-link-to-libucontext.patch)9
-rw-r--r--main/gcc/0034-Use-generic-errstr.go-implementation-on-musl.patch (renamed from main/gcc/0038-Use-generic-errstr.go-implementation-on-musl.patch)5
-rw-r--r--main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch (renamed from main/gcc/0039-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch)66
-rw-r--r--main/gcc/0035-gcc-go-signal-34-is-special-on-musl-libc.patch29
-rw-r--r--main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch (renamed from main/gcc/0040-configure-fix-detection-of-atomic-builtins-in-libato.patch)7
-rw-r--r--main/gcc/0037-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch (renamed from main/gcc/0041-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch)11
-rw-r--r--main/gcc/0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch (renamed from main/gcc/0044-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch)5
-rw-r--r--main/gcc/0040-libgo-include-asm-ptrace.h-for-pt_regs-definition-on.patch (renamed from main/gcc/0045-libgo-include-asm-ptrace.h-for-pt_regs-definition-on.patch)7
-rw-r--r--main/gcc/0041-go-gospec-forcibly-disable-fsplit-stack-support.patch (renamed from main/gcc/0051-go-gospec-forcibly-disable-fsplit-stack-support.patch)15
-rw-r--r--main/gcc/0042-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch80
-rw-r--r--main/gcc/0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch31
-rw-r--r--main/gcc/0043-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch24
-rw-r--r--main/gcc/0043-stddef.h-add-support-for-musl-typedef-macro-guards.patch106
-rw-r--r--main/gcc/0044-gdc-unconditionally-link-libgphobos-against-libucont.patch (renamed from main/gcc/0048-gdc-unconditionally-link-libgphobos-against-libucont.patch)9
-rw-r--r--main/gcc/0045-druntime-link-against-libucontext-on-all-platforms.patch51
-rw-r--r--main/gcc/0046-Disable-fsplit-stack-support-on-non-glibc-targets.patch115
-rw-r--r--main/gcc/0046-c-avoid-memory-poisoning-on-musl-PR106102.patch107
-rw-r--r--main/gcc/0047-jit-avoid-calloc-poisoning-on-musl-PR106102.patch117
-rw-r--r--main/gcc/0047-x86-Properly-disable-fsplit-stack-support-on-non-gli.patch94
-rw-r--r--main/gcc/0049-libgo-adjust-name-of-union-in-sigevent-struct.patch28
-rw-r--r--main/gcc/0049-properly-disable-fsplit-stack-on-non-glibc-targets-P.patch298
-rw-r--r--main/gcc/0050-libphobos-don-t-define-__mode_t-twice-on-musl-target.patch75
-rw-r--r--main/gcc/0050-x86-Fix-fsplit-stack-feature-detection-via-TARGET_CA.patch75
-rw-r--r--main/gcc/0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch36
-rw-r--r--main/gcc/0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch22
-rw-r--r--main/gcc/0053-libgo-make-match.sh-POSIX-shell-compatible.patch28
-rw-r--r--main/gcc/APKBUILD220
-rw-r--r--main/gcc/libgo-musl-1.2.3.patch13
-rw-r--r--main/gd/APKBUILD18
-rw-r--r--main/gengetopt/APKBUILD6
-rw-r--r--main/gettext/APKBUILD4
-rw-r--r--main/giflib/APKBUILD9
-rw-r--r--main/git/APKBUILD10
-rw-r--r--main/glib/APKBUILD6
-rw-r--r--main/glib/glib.trigger2
-rw-r--r--main/glslang/APKBUILD15
-rw-r--r--main/gnu-efi/APKBUILD4
-rw-r--r--main/gnupg/APKBUILD12
-rw-r--r--main/gnutls/APKBUILD6
-rw-r--r--main/goaccess/APKBUILD4
-rw-r--r--main/gperf/APKBUILD13
-rw-r--r--main/gptfdisk/0001-Fix-failure-crash-of-sgdisk-when-compiled-with-lates.patch57
-rw-r--r--main/gptfdisk/0002-Updated-guid.cc-to-deal-with-minor-change-in-libuuid.patch39
-rw-r--r--main/gptfdisk/0003-Fix-NULL-dereference-when-duplicating-string-argumen.patch38
-rw-r--r--main/gptfdisk/APKBUILD13
-rw-r--r--main/graphviz/0001-clone-nameclash.patch87
-rw-r--r--main/graphviz/APKBUILD10
-rw-r--r--main/grub/0010-riscv-binutils-2.38.patch39
-rw-r--r--main/grub/0011-mkconfig-ignore-apk-new-files.patch30
-rw-r--r--main/grub/0012-remove-udevadm-usage.patch137
-rw-r--r--main/grub/APKBUILD29
-rw-r--r--main/gst-plugins-base/APKBUILD4
-rw-r--r--main/gstreamer/APKBUILD4
-rw-r--r--main/gtest/APKBUILD16
-rw-r--r--main/gtk+/APKBUILD22
-rw-r--r--main/gtk+2.0/APKBUILD6
-rw-r--r--main/gtk+2.0/gtk+2.0.post-install5
-rw-r--r--main/gtk+3.0/APKBUILD7
-rw-r--r--main/gtk+3.0/gtk+3.0.post-install5
-rw-r--r--main/gtk-doc/APKBUILD8
-rw-r--r--main/guile/APKBUILD24
-rw-r--r--main/guile/failing-encoding-test.patch26
-rw-r--r--main/gvpe/APKBUILD4
-rw-r--r--main/haproxy/APKBUILD8
-rw-r--r--main/harfbuzz/APKBUILD47
-rw-r--r--main/harfbuzz/fix-char-signed.patch29
-rw-r--r--main/hdparm/APKBUILD4
-rw-r--r--main/heimdal/APKBUILD4
-rw-r--r--main/hicolor-icon-theme/APKBUILD4
-rw-r--r--main/highlight/APKBUILD2
-rw-r--r--main/hiredis/APKBUILD14
-rw-r--r--main/hostapd/APKBUILD4
-rw-r--r--main/htop/APKBUILD6
-rw-r--r--main/hylafaxplus/APKBUILD6
-rw-r--r--main/icecast/APKBUILD4
-rw-r--r--main/icu/APKBUILD2
-rw-r--r--main/ilbc/APKBUILD29
-rw-r--r--main/imake/APKBUILD4
-rw-r--r--main/imap/APKBUILD4
-rw-r--r--main/imlib2/APKBUILD6
-rw-r--r--main/inih/APKBUILD4
-rw-r--r--main/iniparser/APKBUILD9
-rw-r--r--main/inotify-tools/APKBUILD6
-rw-r--r--main/intel-ucode/APKBUILD6
-rw-r--r--main/intltool/APKBUILD6
-rw-r--r--main/iproute2-qos/APKBUILD7
-rw-r--r--main/iproute2/APKBUILD20
-rw-r--r--main/iproute2/min.patch13
-rw-r--r--main/iptables/APKBUILD4
-rw-r--r--main/ipvsadm/APKBUILD2
-rw-r--r--main/irqbalance/APKBUILD20
-rw-r--r--main/irqbalance/aarch64-sigsegv.patch11
-rw-r--r--main/irssi/APKBUILD10
-rw-r--r--main/isl/APKBUILD2
-rw-r--r--main/isl22/APKBUILD20
-rw-r--r--main/isl24/APKBUILD53
-rw-r--r--main/iso-codes/APKBUILD4
-rw-r--r--main/ivykis/APKBUILD2
-rw-r--r--main/iw/APKBUILD24
-rw-r--r--main/jemalloc/APKBUILD46
-rw-r--r--main/jemalloc/jemalloc-no-pprof.patch11
-rw-r--r--main/joe/APKBUILD8
-rw-r--r--main/jpeg/APKBUILD4
-rw-r--r--main/jwhois/APKBUILD20
-rw-r--r--main/kamailio/APKBUILD10
-rw-r--r--main/kamailio/kamailio.initd31
-rw-r--r--main/kbd/APKBUILD14
-rw-r--r--main/kmod/APKBUILD17
-rw-r--r--main/knock/APKBUILD4
-rw-r--r--main/knot/APKBUILD4
-rw-r--r--main/krb5/APKBUILD6
-rw-r--r--main/kyua/APKBUILD13
-rw-r--r--main/lame/APKBUILD10
-rw-r--r--main/ldapvi/APKBUILD4
-rw-r--r--main/ldb/APKBUILD4
-rw-r--r--main/lddtree/APKBUILD11
-rw-r--r--main/ldns/APKBUILD4
-rw-r--r--main/ldoc/APKBUILD6
-rw-r--r--main/lftp/APKBUILD4
-rw-r--r--main/libarchive/APKBUILD4
-rw-r--r--main/libart-lgpl/APKBUILD2
-rw-r--r--main/libasr/APKBUILD4
-rw-r--r--main/libavif/APKBUILD58
-rw-r--r--main/libcap/APKBUILD28
-rw-r--r--main/libdbi/APKBUILD2
-rw-r--r--main/libdnet/APKBUILD6
-rw-r--r--main/libdrm/APKBUILD4
-rw-r--r--main/libestr/APKBUILD4
-rw-r--r--main/libevent/APKBUILD4
-rw-r--r--main/libexecinfo/10-execinfo.patch64
-rw-r--r--main/libexecinfo/20-define-gnu-source.patch24
-rw-r--r--main/libexecinfo/30-linux-makefile.patch44
-rw-r--r--main/libexecinfo/APKBUILD50
-rw-r--r--main/libfido2/APKBUILD4
-rw-r--r--main/libfontenc/APKBUILD5
-rw-r--r--main/libical/APKBUILD9
-rw-r--r--main/libice/APKBUILD3
-rw-r--r--main/libid3tag/APKBUILD29
-rw-r--r--main/libidn/APKBUILD4
-rw-r--r--main/libidn2/APKBUILD6
-rw-r--r--main/libimagequant/APKBUILD41
-rw-r--r--main/libks/APKBUILD4
-rw-r--r--main/liblognorm/APKBUILD5
-rw-r--r--main/libmemcached/APKBUILD2
-rw-r--r--main/libnftnl/APKBUILD4
-rw-r--r--main/libnl/APKBUILD8
-rw-r--r--main/libnl3/APKBUILD8
-rw-r--r--main/libnl3/fix-tests.patch46
-rw-r--r--main/libpciaccess/APKBUILD4
-rw-r--r--main/libpng/APKBUILD27
-rw-r--r--main/libpri/APKBUILD2
-rw-r--r--main/librelp/APKBUILD4
-rw-r--r--main/libretls/APKBUILD6
-rw-r--r--main/libsamplerate/APKBUILD25
-rw-r--r--main/libseccomp/APKBUILD8
-rw-r--r--main/libseccomp/tests-11-basic-errors-support-older-kernels.patch108
-rw-r--r--main/libshout/APKBUILD4
-rw-r--r--main/libsm/APKBUILD6
-rw-r--r--main/libsndfile/APKBUILD23
-rw-r--r--main/libsodium/APKBUILD15
-rw-r--r--main/libsrtp/APKBUILD4
-rw-r--r--main/libssh2/APKBUILD4
-rw-r--r--main/libtirpc/APKBUILD10
-rw-r--r--main/libtirpc/CVE-2021-46828.patch181
-rw-r--r--main/libtxc_dxtn/APKBUILD16
-rw-r--r--main/liburing/APKBUILD8
-rw-r--r--main/liburing/busybox-mktemp.patch54
-rw-r--r--main/libutempter/APKBUILD2
-rw-r--r--main/libuv/APKBUILD4
-rw-r--r--main/libva/APKBUILD4
-rw-r--r--main/libverto/APKBUILD6
-rw-r--r--main/libwebp/APKBUILD9
-rw-r--r--main/libwebsockets/APKBUILD8
-rw-r--r--main/libx11/APKBUILD9
-rw-r--r--main/libxau/APKBUILD9
-rw-r--r--main/libxcomposite/APKBUILD4
-rw-r--r--main/libxcursor/APKBUILD4
-rw-r--r--main/libxdmcp/APKBUILD3
-rw-r--r--main/libxext/APKBUILD5
-rw-r--r--main/libxfont/APKBUILD5
-rw-r--r--main/libxinerama/APKBUILD6
-rw-r--r--main/libxkbcommon/APKBUILD1
-rw-r--r--main/libxkbfile/APKBUILD10
-rw-r--r--main/libxml2/APKBUILD3
-rw-r--r--main/libxmu/APKBUILD7
-rw-r--r--main/libxpm/APKBUILD3
-rw-r--r--main/libxrender/APKBUILD7
-rw-r--r--main/libxslt/APKBUILD2
-rw-r--r--main/libxtst/APKBUILD6
-rw-r--r--main/libxv/APKBUILD11
-rw-r--r--main/libxxf86vm/APKBUILD10
-rw-r--r--main/lighttpd/APKBUILD9
-rw-r--r--main/lighttpd/lighttpd.initd2
-rw-r--r--main/linenoise/APKBUILD7
-rw-r--r--main/links/APKBUILD8
-rw-r--r--main/linux-firmware/APKBUILD32
-rw-r--r--main/linux-firmware/WHENCE-Correct-dangling-symlinks.patch37
-rw-r--r--main/linux-lts/APKBUILD32
-rw-r--r--main/linux-lts/lts.aarch64.config18
-rw-r--r--main/linux-lts/lts.armv7.config2
-rw-r--r--main/linux-lts/lts.ppc64le.config2
-rw-r--r--main/linux-lts/lts.s390x.config3
-rw-r--r--main/linux-lts/lts.x86.config3
-rw-r--r--main/linux-lts/lts.x86_64.config3
-rw-r--r--main/linux-lts/ppc-export_mmu_feature_keys_as_non-GPL.patch42
-rw-r--r--main/linux-lts/virt.aarch64.config4
-rw-r--r--main/linux-lts/virt.armv7.config3
-rw-r--r--main/linux-lts/virt.ppc64le.config3
-rw-r--r--main/linux-lts/virt.x86.config3
-rw-r--r--main/linux-lts/virt.x86_64.config3
-rw-r--r--main/linux-octeon/APKBUILD6
-rw-r--r--main/linux-pam/APKBUILD4
-rw-r--r--main/linux-pam/base-session.pamd1
-rw-r--r--main/linux-rpi/APKBUILD14
-rw-r--r--main/llvm13/APKBUILD8
-rw-r--r--main/llvm14/0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch22
-rw-r--r--main/llvm14/APKBUILD309
-rw-r--r--main/llvm14/fix-memory-mf_exec-on-aarch64.patch25
-rw-r--r--main/llvm14/install-prefix.patch30
-rw-r--r--main/lm-sensors/APKBUILD4
-rw-r--r--main/logcheck/APKBUILD11
-rw-r--r--main/logrotate/APKBUILD26
-rw-r--r--main/logrotate/logrotate.post-upgrade12
-rw-r--r--main/logrotate/syslog1
-rw-r--r--main/lsyncd/APKBUILD16
-rw-r--r--main/ltrace/APKBUILD2
-rw-r--r--main/lttng-ust/APKBUILD4
-rw-r--r--main/lua-asn1/APKBUILD24
-rw-r--r--main/lua-cmsgpack/APKBUILD2
-rw-r--r--main/lua-cqueues/APKBUILD4
-rw-r--r--main/lua-dns/APKBUILD4
-rw-r--r--main/lua-evdev/APKBUILD12
-rw-r--r--main/lua-ldbus/APKBUILD58
-rw-r--r--main/lua-mqtt-publish/APKBUILD14
-rw-r--r--main/lua-mqtt-publish/restore-sigpipe-handler.patch23
-rw-r--r--main/lua-ossl/APKBUILD12
-rw-r--r--main/lua-ossl/openssl3.patch933
-rw-r--r--main/lua-penlight/APKBUILD12
-rw-r--r--main/lua-sec/APKBUILD8
-rw-r--r--main/lua-soap/APKBUILD26
-rw-r--r--main/lua5.2/APKBUILD9
-rw-r--r--main/lua5.3/APKBUILD9
-rw-r--r--main/lua5.4/APKBUILD3
-rw-r--r--main/luajit/APKBUILD4
-rw-r--r--main/lxc/APKBUILD4
-rw-r--r--main/lynx/APKBUILD4
-rw-r--r--main/makedepend/APKBUILD5
-rw-r--r--main/mandoc/APKBUILD10
-rw-r--r--main/mandoc/mandoc-apropos.post-deinstall (renamed from main/mandoc/mandoc.post-deinstall)0
-rw-r--r--main/mariadb-connector-c/APKBUILD9
-rw-r--r--main/mariadb/APKBUILD25
-rw-r--r--main/mbedtls/APKBUILD6
-rw-r--r--main/mdadm/APKBUILD4
-rw-r--r--main/mdev-conf/APKBUILD28
-rw-r--r--main/mdevd/APKBUILD8
-rw-r--r--main/memcached/APKBUILD8
-rw-r--r--main/mesa/0001-freedreno-Enable-A619.patch37
-rw-r--r--main/mesa/APKBUILD179
-rw-r--r--main/mesa/add-use-elf-tls.patch29
-rw-r--r--main/mesa/musl-fix-includes.patch13
-rw-r--r--main/meson/APKBUILD8
-rwxr-xr-x[-rw-r--r--]main/meson/abuild-meson52
-rw-r--r--main/mg/APKBUILD7
-rw-r--r--main/mini_httpd/APKBUILD4
-rw-r--r--main/mkfontscale/APKBUILD4
-rw-r--r--main/mkinitfs/0001-mkinitfs.in-ensure-when-run-in-chroot-that-correct-k.patch39
-rw-r--r--main/mkinitfs/APKBUILD11
-rw-r--r--main/mkinitfs/mkinitfs.trigger8
-rw-r--r--main/mlmmj/APKBUILD8
-rw-r--r--main/monit/APKBUILD4
-rw-r--r--main/mosh/APKBUILD4
-rw-r--r--main/mosquitto/APKBUILD4
-rw-r--r--main/mpg123/APKBUILD6
-rw-r--r--main/mqtt-exec/APKBUILD6
-rw-r--r--main/mqtt-exec/mqtt-exec.confd23
-rw-r--r--main/mqtt-exec/mqtt-exec.initd3
-rw-r--r--main/mtd-utils/APKBUILD8
-rw-r--r--main/mtools/APKBUILD8
-rw-r--r--main/mtx/APKBUILD35
-rw-r--r--main/multipath-tools/APKBUILD6
-rw-r--r--main/musl/APKBUILD4
-rw-r--r--main/nagios-plugins/APKBUILD4
-rw-r--r--main/nagios/APKBUILD13
-rw-r--r--main/nagios/cgi-pairlist-truncation-fix.patch14
-rw-r--r--main/nano/APKBUILD8
-rw-r--r--main/ncdu/APKBUILD4
-rw-r--r--main/ncurses/APKBUILD134
-rw-r--r--main/ndisc6/APKBUILD6
-rw-r--r--main/ndisc6/rdnssd-fix-merge-hook-regex.patch17
-rw-r--r--main/neon/APKBUILD6
-rw-r--r--main/net-snmp/0001-snmpd-always-exit-after-displaying-usage.patch50
-rw-r--r--main/net-snmp/APKBUILD20
-rw-r--r--main/netcf/APKBUILD19
-rw-r--r--main/nettle/APKBUILD4
-rw-r--r--main/newt/APKBUILD2
-rw-r--r--main/nftables/APKBUILD8
-rw-r--r--main/nftables/examples-include-path.patch33
-rw-r--r--main/nghttp2/APKBUILD10
-rw-r--r--main/nghttp2/remove-mruby-tests.patch119
-rw-r--r--main/nginx/APKBUILD33
-rw-r--r--main/ngircd/APKBUILD4
-rw-r--r--main/nload/APKBUILD16
-rw-r--r--main/nmap/APKBUILD6
-rw-r--r--main/nodejs/APKBUILD21
-rw-r--r--main/nrpe/APKBUILD23
-rw-r--r--main/nsd/APKBUILD8
-rw-r--r--main/nspr/APKBUILD6
-rw-r--r--main/ntfs-3g/APKBUILD13
-rw-r--r--main/obex-data-server/APKBUILD2
-rw-r--r--main/one-context/APKBUILD6
-rw-r--r--main/open-iscsi/APKBUILD4
-rw-r--r--main/open-isns/APKBUILD4
-rw-r--r--main/openldap/APKBUILD12
-rw-r--r--main/openldap/tests-make-add-missing-dependency.patch13
-rw-r--r--main/openntpd/APKBUILD4
-rw-r--r--main/openntpd/openntpd.confd3
-rw-r--r--main/openrc/0001-call-sbin-mkmntdirs-in-localmount-OpenRC-service.patch111
-rw-r--r--main/openrc/0003-rc-pull-in-sysinit-and-boot-as-stacked-levels-when-n.patch4
-rw-r--r--main/openrc/0009-fix-bootmisc-mv-error.patch27
-rw-r--r--main/openrc/0010-noexec-devfs.patch14
-rw-r--r--main/openrc/APKBUILD26
-rw-r--r--main/openrc/openrc.post-upgrade30
-rw-r--r--main/openrc/seedrng.patch640
-rw-r--r--main/openresolv/APKBUILD17
-rw-r--r--main/openresolv/detect_init-remove-irrelevant.patch87
-rw-r--r--main/opensmtpd/APKBUILD4
-rw-r--r--main/openssh/APKBUILD17
-rw-r--r--main/openssh/default-internal-sftp.patch14
-rw-r--r--main/openssh/fix-utmp.patch29
-rw-r--r--main/openssl/APKBUILD58
-rw-r--r--main/openssl/man-section.patch51
-rw-r--r--main/openssl1.1-compat/APKBUILD (renamed from main/openssl3/APKBUILD)66
-rw-r--r--main/openssl1.1-compat/man-section.patch54
-rw-r--r--main/openssl1.1-compat/ppc64.patch (renamed from main/openssl/ppc64.patch)0
-rw-r--r--main/openssl3/man-section.patch31
-rw-r--r--main/openvpn-ad-check/APKBUILD33
-rw-r--r--main/openvpn/APKBUILD8
-rw-r--r--main/opusfile/APKBUILD4
-rw-r--r--main/orc/APKBUILD3
-rw-r--r--main/ortp/APKBUILD6
-rw-r--r--main/pam-pgsql/APKBUILD9
-rw-r--r--main/pango/APKBUILD4
-rw-r--r--main/parallel/APKBUILD13
-rw-r--r--main/partimage/APKBUILD51
-rw-r--r--main/partimage/Use-SSLv3-by-default.patch80
-rw-r--r--main/partimage/musl-1.2.3-fix.patch35
-rw-r--r--main/partimage/openssl-1.1.patch13
-rw-r--r--main/partimage/partimage-0.6.9-common.patch10
-rw-r--r--main/partimage/partimage-0.6.9-zlib-1.2.6.patch35
-rw-r--r--main/partimage/partimage-include-sysmacros.patch10
-rw-r--r--main/pciutils/APKBUILD11
-rw-r--r--main/pcmciautils/APKBUILD15
-rw-r--r--main/pcre2/APKBUILD9
-rw-r--r--main/pcsc-lite/APKBUILD6
-rw-r--r--main/perdition/APKBUILD4
-rw-r--r--main/perl-b-cow/APKBUILD2
-rw-r--r--main/perl-clone/APKBUILD2
-rw-r--r--main/perl-compress-raw-bzip2/APKBUILD4
-rw-r--r--main/perl-compress-raw-zlib/APKBUILD8
-rw-r--r--main/perl-convert-color/APKBUILD8
-rw-r--r--main/perl-convert-uulib/APKBUILD2
-rw-r--r--main/perl-cpanel-json-xs/APKBUILD4
-rw-r--r--main/perl-crypt-des/APKBUILD2
-rw-r--r--main/perl-crypt-eksblowfish/APKBUILD2
-rw-r--r--main/perl-crypt-openssl-random/APKBUILD4
-rw-r--r--main/perl-crypt-openssl-rsa/APKBUILD12
-rw-r--r--main/perl-crypt-openssl-rsa/no-sslv23-padding.patch15
-rw-r--r--main/perl-crypt-rijndael/APKBUILD2
-rw-r--r--main/perl-crypt-ssleay/APKBUILD4
-rw-r--r--main/perl-css-minifier-xs/APKBUILD2
-rw-r--r--main/perl-data-uuid/APKBUILD2
-rw-r--r--main/perl-datetime-format-w3cdtf/APKBUILD17
-rw-r--r--main/perl-datetime/APKBUILD2
-rw-r--r--main/perl-dbd-mysql/APKBUILD2
-rw-r--r--main/perl-dbd-odbc/APKBUILD2
-rw-r--r--main/perl-dbd-pg/APKBUILD2
-rw-r--r--main/perl-dbd-sqlite/APKBUILD2
-rw-r--r--main/perl-dbi/APKBUILD2
-rw-r--r--main/perl-device-serialport/APKBUILD2
-rw-r--r--main/perl-digest-md5/APKBUILD2
-rw-r--r--main/perl-digest-sha1/APKBUILD2
-rw-r--r--main/perl-encode-hanextra/APKBUILD2
-rw-r--r--main/perl-encode/APKBUILD4
-rw-r--r--main/perl-fcgi/APKBUILD2
-rw-r--r--main/perl-file-listing/APKBUILD7
-rw-r--r--main/perl-file-remove/APKBUILD6
-rw-r--r--main/perl-file-rsync/APKBUILD2
-rw-r--r--main/perl-file-sharedir-install/APKBUILD8
-rw-r--r--main/perl-gd/APKBUILD2
-rw-r--r--main/perl-html-parser/APKBUILD2
-rw-r--r--main/perl-http-message/APKBUILD11
-rw-r--r--main/perl-io-async/APKBUILD37
-rw-r--r--main/perl-io-tty/APKBUILD8
-rw-r--r--main/perl-io/APKBUILD2
-rw-r--r--main/perl-ipc-sharelite/APKBUILD2
-rw-r--r--main/perl-javascript-minifier-xs/APKBUILD2
-rw-r--r--main/perl-json/APKBUILD4
-rw-r--r--main/perl-ldap/APKBUILD8
-rw-r--r--main/perl-libwww/APKBUILD4
-rw-r--r--main/perl-list-moreutils-xs/APKBUILD2
-rw-r--r--main/perl-list-someutils-xs/APKBUILD2
-rw-r--r--main/perl-list-utilsby/APKBUILD8
-rw-r--r--main/perl-lwp-protocol-https/APKBUILD7
-rw-r--r--main/perl-mail-dkim/APKBUILD8
-rw-r--r--main/perl-mime-base64/APKBUILD2
-rw-r--r--main/perl-mime-tools/APKBUILD8
-rw-r--r--main/perl-module-refresh/APKBUILD10
-rw-r--r--main/perl-net-async-http/APKBUILD36
-rw-r--r--main/perl-net-dns/APKBUILD4
-rw-r--r--main/perl-net-libidn/APKBUILD2
-rw-r--r--main/perl-net-ssleay/APKBUILD4
-rw-r--r--main/perl-netaddr-ip/APKBUILD2
-rw-r--r--main/perl-package-anon/APKBUILD2
-rw-r--r--main/perl-package-stash-xs/APKBUILD10
-rw-r--r--main/perl-params-classify/APKBUILD2
-rw-r--r--main/perl-params-util/APKBUILD2
-rw-r--r--main/perl-params-validate/APKBUILD2
-rw-r--r--main/perl-pathtools/APKBUILD2
-rw-r--r--main/perl-pod-parser/APKBUILD8
-rw-r--r--main/perl-proc-wait3/APKBUILD2
-rw-r--r--main/perl-scalar-list-utils/APKBUILD2
-rw-r--r--main/perl-scope-upper/APKBUILD2
-rw-r--r--main/perl-socket/APKBUILD6
-rw-r--r--main/perl-socket6/APKBUILD2
-rw-r--r--main/perl-specio/APKBUILD7
-rw-r--r--main/perl-sub-identify/APKBUILD2
-rw-r--r--main/perl-sub-name/APKBUILD2
-rw-r--r--main/perl-sys-mmap/APKBUILD2
-rw-r--r--main/perl-term-readkey/APKBUILD2
-rw-r--r--main/perl-test-deep/APKBUILD8
-rw-r--r--main/perl-test-leaktrace/APKBUILD2
-rw-r--r--main/perl-test-simple/APKBUILD6
-rw-r--r--main/perl-test-taint/APKBUILD2
-rw-r--r--main/perl-text-csv/APKBUILD4
-rw-r--r--main/perl-text-soundex/APKBUILD2
-rw-r--r--main/perl-time-hires/APKBUILD2
-rw-r--r--main/perl-tk/APKBUILD2
-rw-r--r--main/perl-type-tiny/APKBUILD4
-rw-r--r--main/perl-unix-syslog/APKBUILD2
-rw-r--r--main/perl-uri/APKBUILD6
-rw-r--r--main/perl-variable-magic/APKBUILD2
-rw-r--r--main/perl-want/APKBUILD2
-rw-r--r--main/perl-xml-parser/APKBUILD2
-rw-r--r--main/perl-xml-xpath/APKBUILD11
-rw-r--r--main/perl-yaml-libyaml/APKBUILD2
-rw-r--r--main/perl-yaml-syck/APKBUILD2
-rw-r--r--main/perl/APKBUILD16
-rw-r--r--main/perl/zlib-no-zsolo.patch11
-rw-r--r--main/perl/zlib-test.patch80
-rw-r--r--main/pgpool/APKBUILD4
-rw-r--r--main/pgtcl/APKBUILD78
-rw-r--r--main/pgtcl/pgtcl-tests.patch91
-rw-r--r--main/pinentry/APKBUILD9
-rw-r--r--main/pinentry/pinentry-curses-ss.post-deinstall12
-rw-r--r--main/pingu/APKBUILD13
-rw-r--r--main/pjproject/APKBUILD25
-rw-r--r--main/pkgconf/APKBUILD18
-rw-r--r--main/pkgconf/fix-cflags-include.patch16
-rw-r--r--main/po4a/APKBUILD4
-rw-r--r--main/policyd-spf-fs/APKBUILD9
-rw-r--r--main/poppler/APKBUILD23
-rw-r--r--main/postfix-policyd-spf-perl/APKBUILD8
-rw-r--r--main/postfix/APKBUILD22
-rw-r--r--main/postfix/dict_redis.c250
-rw-r--r--main/postfix/dict_redis.h39
-rw-r--r--main/postfix/postfix-redis.patch136
-rw-r--r--main/postgresql-common/APKBUILD22
-rw-r--r--main/postgresql-common/postgresql.confd16
-rw-r--r--main/postgresql-common/postgresql.initd21
-rw-r--r--main/postgresql13/APKBUILD20
-rw-r--r--main/postgresql13/dont-use-locale-a-on-musl.patch31
-rw-r--r--main/postgresql13/fix-test-temp-schema-cleanup.patch14
-rw-r--r--main/postgresql13/icu-collations-hack.patch893
-rw-r--r--main/postgresql13/plperl-5.36-new-warnings-category.patch38
-rw-r--r--main/postgresql14/APKBUILD15
-rw-r--r--main/postgresql14/dont-use-locale-a-on-musl.patch31
-rw-r--r--main/postgresql14/icu-collations-hack.patch893
-rw-r--r--main/pound/APKBUILD6
-rw-r--r--main/pound/openssl1.1-cli.patch17
-rw-r--r--main/ppp/APKBUILD14
-rw-r--r--main/ppp/drop-ipx.patch395
-rw-r--r--main/pptpd/APKBUILD22
-rw-r--r--main/protobuf-c/APKBUILD4
-rw-r--r--main/protobuf/APKBUILD6
-rw-r--r--main/pspg/APKBUILD4
-rw-r--r--main/pstree/APKBUILD24
-rw-r--r--main/putty/APKBUILD19
-rw-r--r--main/py3-appdirs/APKBUILD2
-rw-r--r--main/py3-atomicwrites/APKBUILD14
-rw-r--r--main/py3-bcrypt/APKBUILD4
-rw-r--r--main/py3-build/APKBUILD31
-rw-r--r--main/py3-cffi/APKBUILD8
-rw-r--r--main/py3-cffi/musl-compat.patch65
-rw-r--r--main/py3-charset-normalizer/APKBUILD14
-rw-r--r--main/py3-dbus/APKBUILD2
-rw-r--r--main/py3-distlib/APKBUILD2
-rw-r--r--main/py3-elementpath/APKBUILD4
-rw-r--r--main/py3-exceptiongroup/APKBUILD41
-rw-r--r--main/py3-exceptiongroup/use-flit-core.patch38
-rw-r--r--main/py3-filelock/APKBUILD11
-rw-r--r--main/py3-fixtures/APKBUILD4
-rw-r--r--main/py3-flit-core/APKBUILD36
-rw-r--r--main/py3-gpep517/APKBUILD25
-rw-r--r--main/py3-hypothesis/APKBUILD6
-rw-r--r--main/py3-imagesize/APKBUILD4
-rw-r--r--main/py3-iniconfig/APKBUILD4
-rw-r--r--main/py3-jinja2/APKBUILD8
-rw-r--r--main/py3-lxc/APKBUILD2
-rw-r--r--main/py3-lxml/APKBUILD4
-rw-r--r--main/py3-mako/APKBUILD4
-rw-r--r--main/py3-markupsafe/APKBUILD4
-rw-r--r--main/py3-mimeparse/APKBUILD6
-rw-r--r--main/py3-mock/APKBUILD4
-rw-r--r--main/py3-ordered-set/APKBUILD4
-rw-r--r--main/py3-packaging/APKBUILD4
-rw-r--r--main/py3-parsing/APKBUILD32
-rw-r--r--main/py3-pep517/APKBUILD32
-rw-r--r--main/py3-pexpect/APKBUILD2
-rw-r--r--main/py3-ply/APKBUILD2
-rw-r--r--main/py3-pretend/APKBUILD2
-rw-r--r--main/py3-ptyprocess/APKBUILD2
-rw-r--r--main/py3-pynacl/APKBUILD4
-rw-r--r--main/py3-pytest/APKBUILD3
-rw-r--r--main/py3-requests/APKBUILD4
-rw-r--r--main/py3-six/APKBUILD2
-rw-r--r--main/py3-sphinx_rtd_theme/APKBUILD6
-rw-r--r--main/py3-sphinxcontrib-applehelp/APKBUILD2
-rw-r--r--main/py3-sphinxcontrib-devhelp/APKBUILD2
-rw-r--r--main/py3-sphinxcontrib-htmlhelp/APKBUILD2
-rw-r--r--main/py3-sphinxcontrib-jsmath/APKBUILD2
-rw-r--r--main/py3-sphinxcontrib-qthelp/APKBUILD2
-rw-r--r--main/py3-sphinxcontrib-serializinghtml/APKBUILD2
-rw-r--r--main/py3-sphinxcontrib-websupport/APKBUILD2
-rw-r--r--main/py3-toml/APKBUILD2
-rw-r--r--main/py3-urllib3/APKBUILD4
-rw-r--r--main/py3-xmlschema/APKBUILD4
-rw-r--r--main/python3/APKBUILD29
-rw-r--r--main/rabbitmq-c/APKBUILD7
-rw-r--r--main/rarian/APKBUILD5
-rw-r--r--main/razor/APKBUILD2
-rw-r--r--main/re2c/APKBUILD10
-rw-r--r--main/redis/APKBUILD12
-rw-r--r--main/rhash/APKBUILD14
-rw-r--r--main/rlog/APKBUILD4
-rw-r--r--main/rng-tools/APKBUILD4
-rw-r--r--main/rrdcollect/APKBUILD5
-rw-r--r--main/rrdtool/APKBUILD2
-rw-r--r--main/rsync/APKBUILD8
-rw-r--r--main/rsync/CVE-2022-29154.patch384
-rw-r--r--main/rsyslog/APKBUILD4
-rw-r--r--main/rtapd/APKBUILD2
-rw-r--r--main/rtnppd/APKBUILD10
-rw-r--r--main/ruby-bundler/APKBUILD4
-rw-r--r--main/ruby-bundler/manpages.patch19
-rw-r--r--main/ruby-minitest/APKBUILD6
-rw-r--r--main/ruby-typeprof/APKBUILD6
-rw-r--r--main/ruby-typeprof/gemspec.patch5
-rw-r--r--main/ruby/APKBUILD4
-rw-r--r--main/s390-tools/0009-link-libexecinfo.patch12
-rw-r--r--main/s390-tools/APKBUILD11
-rw-r--r--main/s390-tools/no-execinfo.patch56
-rw-r--r--main/s6-dns/APKBUILD6
-rw-r--r--main/s6-linux-init/APKBUILD6
-rw-r--r--main/s6-linux-utils/APKBUILD6
-rw-r--r--main/s6-networking/APKBUILD6
-rw-r--r--main/s6-portable-utils/APKBUILD6
-rw-r--r--main/s6-rc/APKBUILD6
-rw-r--r--main/s6/APKBUILD6
-rw-r--r--main/samba/APKBUILD21
-rw-r--r--main/samba/netdb-defines.patch10
-rw-r--r--main/samba/netgroup.patch15
-rw-r--r--main/samurai/APKBUILD3
-rw-r--r--main/sbsigntool/APKBUILD12
-rw-r--r--main/sbsigntool/sbsigntools-openssl3.patch12
-rw-r--r--main/sc/APKBUILD4
-rw-r--r--main/scons/APKBUILD11
-rw-r--r--main/scons/broken-tests.patch9
-rw-r--r--main/scstadmin/APKBUILD20
-rw-r--r--main/secureboot-hook/APKBUILD4
-rw-r--r--main/sed/APKBUILD16
-rw-r--r--main/sed/fix-test-canonicalize-lgpl.patch23
-rw-r--r--main/sendpage/APKBUILD29
-rw-r--r--main/ser2net/APKBUILD8
-rw-r--r--main/serf/APKBUILD12
-rw-r--r--main/serf/openssl3.patch14
-rw-r--r--main/setup-box/APKBUILD38
-rw-r--r--main/sfic/APKBUILD19
-rw-r--r--main/sipp/APKBUILD4
-rw-r--r--main/sipsak/APKBUILD4
-rw-r--r--main/skalibs/APKBUILD4
-rw-r--r--main/slang/APKBUILD12
-rw-r--r--main/slang/disable-rpath.patch14
-rw-r--r--main/slang/fix-slarray-32bit.patch19
-rw-r--r--main/smokeping/APKBUILD4
-rw-r--r--main/socat/APKBUILD4
-rw-r--r--main/sofia-sip/APKBUILD8
-rw-r--r--main/source-highlight/APKBUILD2
-rw-r--r--main/spandsp/APKBUILD5
-rw-r--r--main/speedtest-cli/APKBUILD2
-rw-r--r--main/speex/APKBUILD24
-rw-r--r--main/speexdsp/APKBUILD20
-rw-r--r--main/spice/APKBUILD6
-rw-r--r--main/spice/python-module-check.patch37
-rw-r--r--main/spirv-headers/APKBUILD11
-rw-r--r--main/spirv-tools/APKBUILD18
-rw-r--r--main/sqlite-tcl/APKBUILD4
-rw-r--r--main/sqlite/APKBUILD4
-rw-r--r--main/squashfs-tools/APKBUILD12
-rw-r--r--main/squid/APKBUILD10
-rw-r--r--main/squid/squid-5.2-openssl3.patch185
-rw-r--r--main/ssh-getkey-ldap/APKBUILD9
-rw-r--r--main/ssmtp/APKBUILD4
-rw-r--r--main/statserial/APKBUILD22
-rw-r--r--main/stfl/APKBUILD4
-rw-r--r--main/strace/APKBUILD4
-rw-r--r--main/strongswan/1001-charon-add-optional-source-and-remote-overrides-for-.patch547
-rw-r--r--main/strongswan/APKBUILD15
-rw-r--r--main/su-exec/APKBUILD4
-rw-r--r--main/subversion/APKBUILD2
-rw-r--r--main/swig/APKBUILD2
-rw-r--r--main/syslinux/APKBUILD4
-rw-r--r--main/syslog-ng/APKBUILD4
-rw-r--r--main/talloc/APKBUILD6
-rw-r--r--main/tar/APKBUILD4
-rw-r--r--main/tarsnap/APKBUILD4
-rw-r--r--main/tcl-tls/APKBUILD4
-rw-r--r--main/tcl/APKBUILD7
-rw-r--r--main/tcl/restore-fp-control-word.patch106
-rw-r--r--main/tcpdump/APKBUILD4
-rw-r--r--main/tcpflow/APKBUILD4
-rw-r--r--main/tdb/APKBUILD4
-rw-r--r--main/tevent/APKBUILD2
-rw-r--r--main/texinfo/APKBUILD2
-rw-r--r--main/thin-provisioning-tools/APKBUILD2
-rw-r--r--main/tiff/APKBUILD37
-rw-r--r--main/tiff/CVE-2018-12900.patch29
-rw-r--r--main/tiff/CVE-2022-0561.patch29
-rw-r--r--main/tiff/CVE-2022-0562.patch27
-rw-r--r--main/tiff/CVE-2022-0865.patch34
-rw-r--r--main/tiff/CVE-2022-0891.patch214
-rw-r--r--main/tiff/CVE-2022-0907.patch89
-rw-r--r--main/tiff/CVE-2022-0908.patch29
-rw-r--r--main/tiff/CVE-2022-0909.patch32
-rw-r--r--main/tiff/CVE-2022-0924.patch53
-rw-r--r--main/tiff/CVE-2022-22844.patch40
-rw-r--r--main/tig/APKBUILD16
-rw-r--r--main/tinc/APKBUILD4
-rw-r--r--main/tiny-cloud/APKBUILD31
-rw-r--r--main/tiny-cloud/tiny-cloud-aws.post-install5
-rw-r--r--main/tiny-cloud/tiny-cloud-azure.post-install5
-rw-r--r--main/tiny-cloud/tiny-cloud-gcp.post-install5
-rw-r--r--main/tiny-cloud/tiny-cloud-nocloud.post-install5
-rw-r--r--main/tiny-cloud/tiny-cloud-oci.post-install5
-rw-r--r--main/tinyproxy/APKBUILD8
-rw-r--r--main/tmux/APKBUILD4
-rw-r--r--main/ttf-dejavu/APKBUILD6
-rw-r--r--main/tzdata/APKBUILD18
-rw-r--r--main/u-boot/APKBUILD10
-rw-r--r--main/udns/APKBUILD22
-rw-r--r--main/ulogd/APKBUILD4
-rw-r--r--main/umix/APKBUILD17
-rw-r--r--main/umurmur/APKBUILD4
-rw-r--r--main/unbound/APKBUILD66
-rw-r--r--main/unifont/APKBUILD4
-rw-r--r--main/unionfs-fuse/APKBUILD19
-rw-r--r--main/unionfs-fuse/test-exepath.patch33
-rw-r--r--main/unzip/APKBUILD4
-rw-r--r--main/unzip/large-symlinks.patch38
-rw-r--r--main/util-linux/APKBUILD118
-rw-r--r--main/util-linux/util-linux-misc.post-upgrade14
-rw-r--r--main/utmps/APKBUILD2
-rw-r--r--main/uwsgi/APKBUILD3
-rw-r--r--main/v86d/APKBUILD16
-rw-r--r--main/vala/APKBUILD4
-rw-r--r--main/vanessa_socket/APKBUILD8
-rw-r--r--main/varnish/APKBUILD4
-rw-r--r--main/vde2/APKBUILD6
-rw-r--r--main/vim/APKBUILD48
-rw-r--r--main/wayland-protocols/APKBUILD6
-rw-r--r--main/wayland/APKBUILD6
-rw-r--r--main/wget/APKBUILD4
-rw-r--r--main/wipe/APKBUILD19
-rw-r--r--main/wireless-regdb/APKBUILD4
-rw-r--r--main/wireless-tools/APKBUILD10
-rw-r--r--main/wpa_supplicant/APKBUILD4
-rw-r--r--main/xen/APKBUILD74
-rw-r--r--main/xen/xsa401-4.16-1.patch170
-rw-r--r--main/xen/xsa401-4.16-2.patch191
-rw-r--r--main/xen/xsa402-4.16-1.patch43
-rw-r--r--main/xen/xsa402-4.16-2.patch213
-rw-r--r--main/xen/xsa402-4.16-3.patch284
-rw-r--r--main/xen/xsa402-4.16-4.patch83
-rw-r--r--main/xen/xsa402-4.16-5.patch148
-rw-r--r--main/xen/xsa403-4.16-1.patch56
-rw-r--r--main/xen/xsa404-4.16-1.patch239
-rw-r--r--main/xen/xsa404-4.16-2.patch85
-rw-r--r--main/xen/xsa404-4.16-3.patch177
-rw-r--r--main/xen/xsa407-4.16-00.patch823
-rw-r--r--main/xen/xsa407-4.16-1.patch153
-rw-r--r--main/xen/xsa407-4.16-2.patch99
-rw-r--r--main/xen/xsa407-4.16-3.patch86
-rw-r--r--main/xen/xsa407-4.16-4.patch96
-rw-r--r--main/xen/xsa407-4.16-5.patch285
-rw-r--r--main/xen/xsa407-4.16-6.patch93
-rw-r--r--main/xen/xsa407-4.16-7.patch94
-rw-r--r--main/xen/xsa407-4.16-8.patch293
-rw-r--r--main/xen/xsa408.patch36
-rw-r--r--main/xfsprogs/APKBUILD6
-rw-r--r--main/xkeyboard-config/APKBUILD14
-rw-r--r--main/xkeyboard-config/fix-syntax-error.patch58
-rw-r--r--main/xmlrpc-c/APKBUILD33
-rw-r--r--main/xmlto/APKBUILD5
-rw-r--r--main/xtables-addons-lts/APKBUILD6
-rw-r--r--main/xtables-addons/APKBUILD4
-rw-r--r--main/xtrans/APKBUILD5
-rw-r--r--main/xz/APKBUILD10
-rw-r--r--main/xz/xzgrep-ZDI-CAN-16587.patch94
-rw-r--r--main/yajl/APKBUILD5
-rw-r--r--main/yasm/APKBUILD2
-rw-r--r--main/zd1211-firmware/APKBUILD24
-rw-r--r--main/zfs-lts/4900-ppc-get-user-workaround.patch60
-rw-r--r--main/zfs-lts/APKBUILD12
-rw-r--r--main/zfs-rpi/APKBUILD8
-rw-r--r--main/zfs/APKBUILD10
-rw-r--r--main/zlib/APKBUILD8
-rw-r--r--main/zsh/APKBUILD12
-rw-r--r--main/zsh/skip-test-failing-on-musl.patch25
-rw-r--r--main/zstd/APKBUILD47
-rw-r--r--main/zstd/disable-valgrind-test.patch11
1028 files changed, 19205 insertions, 18526 deletions
diff --git a/main/aaudit/APKBUILD b/main/aaudit/APKBUILD
index a7b44e9e95..c8e187921f 100644
--- a/main/aaudit/APKBUILD
+++ b/main/aaudit/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=aaudit
pkgver=0.7.2
-pkgrel=2
+pkgrel=3
pkgdesc="Alpine Auditor"
url="https://alpinelinux.org"
arch="noarch"
diff --git a/main/abi-compliance-checker/APKBUILD b/main/abi-compliance-checker/APKBUILD
index cdb13ccc66..f46a7dd9a0 100644
--- a/main/abi-compliance-checker/APKBUILD
+++ b/main/abi-compliance-checker/APKBUILD
@@ -2,27 +2,17 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=abi-compliance-checker
pkgver=2.3
-pkgrel=0
+pkgrel=1
pkgdesc="A tool for checking backward compatibility of a C/C++ library"
url="https://github.com/lvc/abi-compliance-checker"
arch="noarch"
license="LGPL-2.0-or-later"
depends="perl build-base"
-depends_dev=""
-makedepends="$depends_dev perl-dev"
+makedepends="perl-dev"
options="!check"
-install=""
-subpackages=""
source="$pkgname-$pkgver.tar.gz::https://github.com/lvc/abi-compliance-checker/archive/$pkgver.tar.gz"
-builddir="${srcdir}"/$pkgname-$pkgver
-
-build() {
- return 0
-}
-
package() {
- cd "$builddir"
mkdir -p "$pkgdir"/usr
perl Makefile.pl -install --prefix=/usr --destdir="$pkgdir"
}
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD
index 38663e269b..b9f23eaa09 100644
--- a/main/abuild/APKBUILD
+++ b/main/abuild/APKBUILD
@@ -2,18 +2,18 @@
pkgname=abuild
pkgver=3.9.0
_ver=${pkgver%_git*}
-pkgrel=0
+pkgrel=5
pkgdesc="Script to build Alpine Packages"
url="https://git.alpinelinux.org/cgit/abuild/"
arch="all"
license="GPL-2.0-only"
-depends="fakeroot scanelf openssl apk-tools>=2.0.7-r1 libc-utils
+depends="fakeroot scanelf openssl>3 apk-tools>=2.0.7-r1 libc-utils
attr tar pkgconf patch lzip"
if [ "$CBUILD" = "$CHOST" ]; then
depends="$depends curl"
fi
makedepends_build="pkgconfig scdoc"
-makedepends_host="openssl1.1-compat-dev zlib-dev"
+makedepends_host="openssl-dev>3 zlib-dev"
makedepends="$makedepends_host $makedepends_build"
checkdepends="bats"
install="$pkgname.pre-install $pkgname.pre-upgrade"
@@ -27,6 +27,11 @@ subpackages="
options="suid"
pkggroups="abuild"
source="https://gitlab.alpinelinux.org/alpine/abuild/-/archive/$pkgver/abuild-$pkgver.tar.gz
+ mr60-newapkbuild-use-abuild-meson.patch
+ mr128-newapkbuild-fetch-rust-deps-in-prepare.patch
+ mr131-newapkbuild-change-cmake-build-type.patch
+ mr134-modcacherw.patch
+ mr127-doas.patch
"
builddir="$srcdir"/abuild-$pkgver
@@ -79,10 +84,15 @@ pypi() {
_rootbld() {
pkgdesc="Build packages in chroot"
- depends="abuild bubblewrap gettext git"
+ depends="abuild bubblewrap cmd:envsubst git"
mkdir -p "$subpkgdir"
}
sha512sums="
a3075b18d4a085ca796d1c2df703c3e7c80e682623175eb0822479f3a6d96ffba571f283bdec8ae3db832e296f9e58bdd0f58097b86b503a91fbb40148084a68 abuild-3.9.0.tar.gz
+a52fa7978d61f1636dbe3d120fee4e3fab6fae018a91f662c082f4eab37e6fd63d74c55124fd50fa3a676a8af71ba858cebf93f3ca21f95b03d3478fa1e55e6b mr60-newapkbuild-use-abuild-meson.patch
+f8d5c131cefb1c10d34962994ee3158fd8155acf68616fe471a7d07ce15e04d184bdfa3c181ec19bd1ca95e0f5acf1664f14a52b29451b2760aa580222e75f73 mr128-newapkbuild-fetch-rust-deps-in-prepare.patch
+56b71c3feff5a17d9550e1947fe316b7c7aa397f9e365532410e492ea992b8bfcfbb97041ddc2128c7bb9772e9e03584a9f5d5f5bcced00a1082e7374f02801a mr131-newapkbuild-change-cmake-build-type.patch
+9a8697819a3c94a968be33eb014a8f59ea15cefd46046b7fb6ef58fcfde37d5a4243f0aaafe51ab6f43766c94775332ea88d4d07cccc3bd0d9443c26651aef21 mr134-modcacherw.patch
+41e68d43db29823305b0496cd35908951a169a7cf4715fb29a6b23c148fc9275cee019e88a7cded45e9ac2d48bdab574f61207d9cdff181efce29a97228e3e29 mr127-doas.patch
"
diff --git a/main/abuild/mr127-doas.patch b/main/abuild/mr127-doas.patch
new file mode 100644
index 0000000000..9a6594cc56
--- /dev/null
+++ b/main/abuild/mr127-doas.patch
@@ -0,0 +1,42 @@
+From 4dbf8e3756188748d3fff9dce81f93b21085d123 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 22 Jun 2022 16:38:55 +0200
+Subject: [PATCH] abuild-keygen: use doas instead of sudo
+
+fallback to sudo if doas was not found
+---
+ abuild-keygen.in | 7 ++++---
+ tests/abuild_keygen_test | 21 ++++++++++++++++++++-
+ 2 files changed, 24 insertions(+), 4 deletions(-)
+
+diff --git a/abuild-keygen.in b/abuild-keygen.in
+index 299d86c..d9ac0bc 100644
+--- a/abuild-keygen.in
++++ b/abuild-keygen.in
+@@ -8,7 +8,7 @@
+
+ program_version=@VERSION@
+ sharedir=${ABUILD_SHAREDIR:-@sharedir@}
+-SUDO="${SUDO-sudo}"
++SUDO="${SUDO-$(command -v doas || command -v sudo || echo doas)}"
+
+ if ! [ -f "$sharedir/functions.sh" ]; then
+ echo "$sharedir/functions.sh: not found" >&2
+@@ -98,14 +98,15 @@ usage() {
+ -a, --append Set PACKAGER_PRIVKEY=<generated key> in
+ $ABUILD_USERCONF
+
+- -i, --install Install public key into /etc/apk/keys using sudo
++ -i, --install Install public key into /etc/apk/keys using doas
+ -n Non-interactive. Use defaults
+ -b, --numbits [BITS] The size of the private key to generate in bits.
+ -q, --quiet
+ -h, --help Show this help
+
+ The SUDO variable can be set to pick which tool can be used to
+- elevate privileges, if it is not set it defaults to sudo.
++ elevate privileges, if it is not set it defaults to doas or sudo if doas
++ is not found.
+
+ __EOF__
+ }
diff --git a/main/abuild/mr128-newapkbuild-fetch-rust-deps-in-prepare.patch b/main/abuild/mr128-newapkbuild-fetch-rust-deps-in-prepare.patch
new file mode 100644
index 0000000000..298f717e3b
--- /dev/null
+++ b/main/abuild/mr128-newapkbuild-fetch-rust-deps-in-prepare.patch
@@ -0,0 +1,110 @@
+Patch-Source: https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/128
+--
+From 29611f3a6929b4edecd89506e666f963fa25ae52 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Thu, 16 Dec 2021 00:19:07 +0100
+Subject: [PATCH 1/2] newapkbuild: fetch rust dependencies in prepare phase
+
+Fetch all dependencies in the prepare phase and do not access network
+in the following phases.
+---
+ newapkbuild.in | 27 ++++++++++++++++++++++++---
+ 1 file changed, 24 insertions(+), 3 deletions(-)
+
+diff --git a/newapkbuild.in b/newapkbuild.in
+index c58d519..0182ad2 100644
+--- a/newapkbuild.in
++++ b/newapkbuild.in
+@@ -30,6 +30,12 @@ is_github_url() {
+ return 1
+ }
+
++prepare_rust() {
++ cat >>APKBUILD<<__EOF__
++ cargo fetch --locked
++__EOF__
++}
++
+ # Build sections
+ build_make() {
+ cat >>APKBUILD<<__EOF__
+@@ -104,7 +110,7 @@ __EOF__
+
+ build_rust() {
+ cat >>APKBUILD<<__EOF__
+- cargo build --release --locked
++ cargo build --frozen --release
+ __EOF__
+ }
+
+@@ -150,7 +156,7 @@ __EOF__
+
+ check_rust() {
+ cat >>APKBUILD<<__EOF__
+- cargo test --release --locked
++ cargo test --frozen --release
+ __EOF__
+ }
+
+@@ -199,7 +205,7 @@ __EOF__
+
+ package_rust() {
+ cat >>APKBUILD<<__EOF__
+- cargo install --locked --path . --root="\$pkgdir/usr"
++ cargo install --frozen --offline --path . --root="\$pkgdir/usr"
+ rm "\$pkgdir"/usr/.crates*
+ __EOF__
+ }
+@@ -333,6 +339,21 @@ __EOF__
+ fi
+ fi
+
++ case "$buildtype" in
++ rust)
++ cat >>APKBUILD<<__EOF__
++prepare() {
++ default_prepare
++
++__EOF__
++ prepare_rust
++ cat >>APKBUILD<<__EOF__
++}
++
++__EOF__
++ ;;
++ esac
++
+ # Create build() function
+ cat >>APKBUILD<<__EOF__
+ build() {
+--
+GitLab
+
+
+From 0a9374e4ffa8202ba011497ea39fb5443d7ef9a5 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Thu, 16 Dec 2021 00:23:48 +0100
+Subject: [PATCH 2/2] newapkbuild: do not run cargo test with --release
+
+It takes a longer time to compile and, most importantly, it may cause
+unnecessary rebuild of everything in the package phase (installation).
+---
+ newapkbuild.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/newapkbuild.in b/newapkbuild.in
+index 0182ad2..9e8643d 100644
+--- a/newapkbuild.in
++++ b/newapkbuild.in
+@@ -156,7 +156,7 @@ __EOF__
+
+ check_rust() {
+ cat >>APKBUILD<<__EOF__
+- cargo test --frozen --release
++ cargo test --frozen
+ __EOF__
+ }
+
+--
+GitLab
+
diff --git a/main/abuild/mr131-newapkbuild-change-cmake-build-type.patch b/main/abuild/mr131-newapkbuild-change-cmake-build-type.patch
new file mode 100644
index 0000000000..5b98b499a4
--- /dev/null
+++ b/main/abuild/mr131-newapkbuild-change-cmake-build-type.patch
@@ -0,0 +1,33 @@
+Patch-Source: https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/131
+--
+From 6c43d67a053be0476384fcf8252c07fa2a235a87 Mon Sep 17 00:00:00 2001
+From: psykose <alice@ayaya.dev>
+Date: Thu, 30 Dec 2021 21:48:50 +0000
+Subject: [PATCH] newapkbuild: refine default cmake format
+
+MinSizeRel is a better recommended default- of course it can still be
+overriden.
+the dot is redundant- we already specify -B and so the dot is implicitly
+cwd.
+---
+ newapkbuild.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/newapkbuild.in b/newapkbuild.in
+index c58d519..63b387d 100644
+--- a/newapkbuild.in
++++ b/newapkbuild.in
+@@ -65,8 +65,8 @@ build_cmake() {
+ -DCMAKE_INSTALL_PREFIX=/usr \\
+ -DCMAKE_INSTALL_LIBDIR=lib \\
+ -DBUILD_SHARED_LIBS=True \\
+- -DCMAKE_BUILD_TYPE=None \\
+- \$CMAKE_CROSSOPTS .
++ -DCMAKE_BUILD_TYPE=MinSizeRel \\
++ \$CMAKE_CROSSOPTS
+ cmake --build build
+ __EOF__
+ }
+--
+GitLab
+
diff --git a/main/abuild/mr134-modcacherw.patch b/main/abuild/mr134-modcacherw.patch
new file mode 100644
index 0000000000..ceffe6df39
--- /dev/null
+++ b/main/abuild/mr134-modcacherw.patch
@@ -0,0 +1,23 @@
+the commit puts it into default config- we put it here to activate it immediately
+diff --git a/abuild.in b/abuild.in
+index 76cd77b..bd38003 100644
+--- a/abuild.in
++++ b/abuild.in
+@@ -462,7 +462,7 @@ initdcheck() {
+ local i line
+ for i in $source; do
+ case $i in
+- *.initd)
++ *.initd)
+ line=$(head -n 1 "$srcdir"/"$(filename_from_uri $i)")
+ ;;
+ *) continue ;;
+@@ -2793,6 +2793,8 @@ fi
+ # for recursive action
+ export REPODEST SRCDEST
+
++export GOFLAGS="$GOFLAGS -modcacherw"
++
+ # add dbg subpackage if its enabled globally
+ if [ -n "$DEFAULT_DBG" ] && ! subpackage_types_has "dbg" && ! options_has "!dbg" && [ "$arch" != "noarch" ]; then
+ subpackages="$pkgname-dbg $subpackages"
diff --git a/main/abuild/mr60-newapkbuild-use-abuild-meson.patch b/main/abuild/mr60-newapkbuild-use-abuild-meson.patch
new file mode 100644
index 0000000000..44aefd46bf
--- /dev/null
+++ b/main/abuild/mr60-newapkbuild-use-abuild-meson.patch
@@ -0,0 +1,34 @@
+Patch-Source: https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/60
+--
+From 55b66b3ad702ba673384126d98026043cdf949ef Mon Sep 17 00:00:00 2001
+From: Leo <thinkabit.ukim@gmail.com>
+Date: Tue, 7 Jul 2020 13:37:31 -0300
+Subject: [PATCH] newapkbuild: use meson-abuild helper instead of meson
+
+abuild-meson is a shellscript that wraps around meson and passes options
+meant for packaging software that uses meson, for Alpine Linux.
+---
+ newapkbuild.in | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/newapkbuild.in b/newapkbuild.in
+index c58d519..d7a2eb5 100644
+--- a/newapkbuild.in
++++ b/newapkbuild.in
+@@ -78,12 +78,7 @@ build_meson() {
+ # TODO For cross compilation a cross_file needs to be created.
+
+ cat >>APKBUILD<<__EOF__
+- meson \\
+- --prefix=/usr \\
+- --sysconfdir=/etc \\
+- --mandir=/usr/share/man \\
+- --localstatedir=/var \\
+- --buildtype=plain \\
++ abuild-meson \\
+ . output
+ meson compile \${JOBS:+-j \${JOBS}} -C output
+ __EOF__
+--
+GitLab
+
diff --git a/main/acl/APKBUILD b/main/acl/APKBUILD
index 367c811b86..6dbbc28557 100644
--- a/main/acl/APKBUILD
+++ b/main/acl/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=acl
pkgver=2.3.1
-pkgrel=0
+pkgrel=1
pkgdesc="Access control list utilities"
url="https://savannah.nongnu.org/projects/acl"
arch="all"
@@ -29,6 +29,10 @@ build() {
package() {
cd "$builddir"
DESTDIR="$pkgdir" make install
+
+ # fix install path of pkgconf files
+ mkdir -p "$pkgdir"/usr/lib/
+ mv "$pkgdir"/lib/pkgconfig "$pkgdir"/usr/lib/
}
libacl() {
diff --git a/main/alpine-base/APKBUILD b/main/alpine-base/APKBUILD
index 08c293d04b..b220989cb6 100644
--- a/main/alpine-base/APKBUILD
+++ b/main/alpine-base/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alpine-base
-pkgver=3.16.0
+pkgver=3.17_alpha20220809
pkgrel=0
pkgdesc="Meta package for minimal alpine base"
url="https://alpinelinux.org"
diff --git a/main/alpine-baselayout/APKBUILD b/main/alpine-baselayout/APKBUILD
index f1d07345a1..58434ab806 100644
--- a/main/alpine-baselayout/APKBUILD
+++ b/main/alpine-baselayout/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alpine-baselayout
-pkgver=3.2.0
-pkgrel=20
+pkgver=3.3.0
+pkgrel=0
pkgdesc="Alpine base dir structure and init scripts"
url="https://git.alpinelinux.org/cgit/aports/tree/main/alpine-baselayout"
-arch="all"
+arch="noarch"
license="GPL-2.0-only"
pkggroups="shadow"
options="!fhs !check"
@@ -14,8 +14,7 @@ subpackages="$pkgname-data"
install="$pkgname.pre-install $pkgname.pre-upgrade $pkgname.post-upgrade
$pkgname.post-install"
_nbver=6.2
-source="mkmntdirs.c
- crontab
+source="crontab
color_prompt.sh.disabled
locale.sh
@@ -41,9 +40,6 @@ prepare() {
}
build() {
- ${CC:-${CROSS_COMPILE}gcc} $CPPFLAGS $CFLAGS $LDFLAGS \
- "$srcdir"/mkmntdirs.c -o "$builddir"/mkmntdirs
-
# generate shadow
awk -F: '{
pw = ":!:"
@@ -54,6 +50,7 @@ build() {
data() {
replaces="alpine-baselayout"
+ depends=
amove etc/fstab
amove etc/group
@@ -137,7 +134,6 @@ package() {
install -d -m 0555 var/empty
install -d -m 0700 "$pkgdir"/root
install -d -m 1777 "$pkgdir"/tmp "$pkgdir"/var/tmp
- install -m755 "$builddir"/mkmntdirs "$pkgdir"/sbin/mkmntdirs
install -m600 "$srcdir"/crontab "$pkgdir"/etc/crontabs/root
install -m644 \
@@ -170,7 +166,7 @@ package() {
The Alpine Wiki contains a large amount of how-to guides and general
information about administrating Alpine systems.
- See <http://wiki.alpinelinux.org/>.
+ See <https://wiki.alpinelinux.org/>.
You can setup the system with the command: setup-alpine
@@ -254,7 +250,6 @@ package() {
}
sha512sums="
-199a34716b1f029407b08679fed4fda58384a1ccefbbec9abe1c64f4a3f7ad2a89bc7c02fc19a7f791f7c6bb87f9f0c708cb3f18c027cb7f54f25976eba4b839 mkmntdirs.c
6e169c0975a1ad1ad871a863e8ee83f053de9ad0b58d94952efa4c28a8c221445d9e9732ad8b52832a50919c2f39aa965a929b3d5b3f9e62f169e2b2e0813d82 crontab
558071efdce2fe92afe4277006235b1a6368b070337c7567e5632a1a3fe531f87ca692eb36f3dda498d4d29d1f834fc8f7139f2985669ae3400b6d103d6f4c5e color_prompt.sh.disabled
b2fc9b72846a43a45ba9a8749e581cef34d1915836833b51b7919dfbf4e275b7d55fec4dea7b23df3796380910971a41331e53e8cf0d304834e3da02cc135e5a locale.sh
diff --git a/main/alpine-baselayout/alpine-baselayout.pre-upgrade b/main/alpine-baselayout/alpine-baselayout.pre-upgrade
index 2fcbe17943..6f7b23d5aa 100644
--- a/main/alpine-baselayout/alpine-baselayout.pre-upgrade
+++ b/main/alpine-baselayout/alpine-baselayout.pre-upgrade
@@ -15,14 +15,14 @@ for i in /etc/modprobe.d/*; do
done
# migrate /var/run directory to /run
-if [ -d /var/run ]; then
+if [ -d /var/run ] && [ ! -L /var/run ]; then
cp -a /var/run/* /run 2>/dev/null
rm -rf /var/run
ln -s ../run /var/run
fi
# migrate /var/spool/mail directory to /var/mail
-if [ -d /var/spool/mail ]; then
+if [ -d /var/spool/mail ] && [ ! -L /var/spool/mail ]; then
mkdir -p /var/mail
cp -a /var/spool/mail/* /var/mail/ 2>/dev/null
rm -rf /var/spool/mail
diff --git a/main/alpine-baselayout/mkmntdirs.c b/main/alpine-baselayout/mkmntdirs.c
deleted file mode 100644
index eaeae7321e..0000000000
--- a/main/alpine-baselayout/mkmntdirs.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Create mount directories in fstab
- *
- * Copyright(c) 2008 Natanael Copa <natanael.copa@gmail.com>
- * May be distributed under the terms of GPL-2
- *
- * usage: mkmntdirs [fstab]
- *
- */
-
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <err.h>
-#include <mntent.h>
-#include <stdio.h>
-#include <string.h>
-
-
-#ifdef DEBUG
-#define mkdir_recursive(p) puts((p))
-#else
-static void mkdir_recursive(char *path)
-{
- char *s = path;
- while (1) {
- int c = '\0';
- while (*s) {
- if (*s == '/') {
- do {
- ++s;
- } while (*s == '/');
- c = *s; /* Save the current char */
- *s = '\0'; /* and replace it with nul. */
- break;
- }
- ++s;
- }
- mkdir(path, 0755);
- if (c == '\0')
- return;
- *s = c;
- }
-}
-#endif
-
-int main(int argc, const char *argv[])
-{
- const char *filename = "/etc/fstab";
- FILE *f;
- struct mntent *ent;
- if (argc == 2)
- filename = argv[1];
-
- f = setmntent(filename, "r");
- if (f == NULL)
- err(1, "%s", filename);
-
- while ((ent = getmntent(f)) != NULL) {
- if (strcmp(ent->mnt_dir, "none") != 0)
- mkdir_recursive(ent->mnt_dir);
- }
-
- endmntent(f);
- return 0;
-}
-
diff --git a/main/alpine-conf/APKBUILD b/main/alpine-conf/APKBUILD
index 9c22ea0a01..c02db806b6 100644
--- a/main/alpine-conf/APKBUILD
+++ b/main/alpine-conf/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alpine-conf
-pkgver=3.14.2
+pkgver=3.14.6
pkgrel=0
pkgdesc="Alpine configuration management scripts"
url="https://git.alpinelinux.org/alpine-conf/about"
@@ -30,5 +30,5 @@ check() {
}
sha512sums="
-beb1e283db82cda8ce892c1a209d15011ad0ac5f061a5040d8ef0dddf7668c31a6dd7568451078e4b44f519744ea5488f973e9d00735e925568f8d6e710d6f6b alpine-conf-3.14.2.tar.gz
+d8f59adfce6ff3aa2e6c986c073fc48e1eab52eadd5264db909abd8b7c9cfdb888efa896a928b6c25b8b4ea5a9e66b42c67dbe348cad29432bf68d446c654d97 alpine-conf-3.14.6.tar.gz
"
diff --git a/main/alpine-git-mirror-syncd/APKBUILD b/main/alpine-git-mirror-syncd/APKBUILD
index d465f2e700..13d981d32f 100644
--- a/main/alpine-git-mirror-syncd/APKBUILD
+++ b/main/alpine-git-mirror-syncd/APKBUILD
@@ -3,14 +3,13 @@
pkgname=alpine-git-mirror-syncd
_shortname=git-mirror-syncd
pkgver=0.3.1
-pkgrel=0
+pkgrel=1
pkgdesc="Lua script that listens on MQTT and synchronizes Git mirrors when notified about changes"
url="https://github.com/jirutka/alpine-git-mirror-syncd"
arch="noarch"
license="MIT"
depends="ca-certificates git lua5.1 lua5.1-cjson lua5.1-mosquitto"
source="https://github.com/jirutka/$pkgname/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
options="!check" # upstream does not provide any tests yet
prepare() {
@@ -20,8 +19,6 @@ prepare() {
}
package() {
- cd "$builddir"
-
install -D -m 755 $_shortname.lua "$pkgdir"/usr/bin/$_shortname
install -D -m 644 config.lua.example "$pkgdir"/etc/$_shortname/config.lua
install -D -m 755 etc/init.d/$_shortname "$pkgdir"/etc/init.d/$_shortname
diff --git a/main/alsa-lib/APKBUILD b/main/alsa-lib/APKBUILD
index 496426969d..cba8d72c15 100644
--- a/main/alsa-lib/APKBUILD
+++ b/main/alsa-lib/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alsa-lib
-pkgver=1.2.6.1
+pkgver=1.2.7.2
pkgrel=0
pkgdesc="Advanced Linux Sound Architecture (ALSA) library"
url="https://alsa-project.org/"
@@ -35,10 +35,11 @@ check() {
package() {
make -j1 DESTDIR="$pkgdir" install
+ install -d -m755 "$pkgdir"/etc/alsa/conf.d
}
sha512sums="
-70e539cf092b5d43e00e4134d8a3e184f0dc34312823e4b58a574320cbf06cb7369bc3251ecb1858033756a7a8c35d36faa8da48d49f6efe0cec905784adbd45 alsa-lib-1.2.6.1.tar.bz2
+79e5920384e570a1acd8ecd1eb8812879333c3cedb1d15780080afc40125b97df893c33f4163d9dd863871b628bc6026265f8ace2c8634fc1af5b52b62ac9cfe alsa-lib-1.2.7.2.tar.bz2
e15318431fe2d5bd1e42ef793f223e3e5995890d7befe6daa3d7456ccf5cb2f51eb79171539cecae13032a9b8a798ea35e04c89b27c7ef9567e2c03fb8db4512 remove-test.patch
f980d153c2f179e2f8fd90180d19250e5a5e12388f31d86a233d89be72ae7e96b944a8f435f0a11c6140378ac38eaa937175e1c100395ec4f635a9a6a4b1ae25 fix-PATH_MAX-on-ppc64le.patch
"
diff --git a/main/alsa-ucm-conf/APKBUILD b/main/alsa-ucm-conf/APKBUILD
new file mode 100644
index 0000000000..438c2609a6
--- /dev/null
+++ b/main/alsa-ucm-conf/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Minecrell <minecrell@minecrell.net>
+# Maintainer: Minecrell <minecrell@minecrell.net>
+pkgname=alsa-ucm-conf
+pkgver=1.2.7.2
+pkgrel=0
+pkgdesc="ALSA Use Case Manager configuration"
+url="https://alsa-project.org"
+arch="noarch"
+license="BSD-3-Clause"
+source="https://alsa-project.org/files/pub/lib/alsa-ucm-conf-$pkgver.tar.bz2"
+options="!check" # no tests
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/alsa
+ cp -r ucm2 "$pkgdir"/usr/share/alsa
+}
+
+sha512sums="
+b6866f1ca6a3f4d69d7923bc1107a64b49944a3a8756f129f39034e5390e08db1c295669e54dfe1437ca934cc11abf407f60fc8319f5cba3f021966e8654c2db alsa-ucm-conf-1.2.7.2.tar.bz2
+"
diff --git a/main/alsa-utils/APKBUILD b/main/alsa-utils/APKBUILD
index e83ac12060..cb4ca08ede 100644
--- a/main/alsa-utils/APKBUILD
+++ b/main/alsa-utils/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alsa-utils
-pkgver=1.2.6
-pkgrel=0
+pkgver=1.2.7
+pkgrel=1
pkgdesc="Advanced Linux Sound Architecture (ALSA) utilities"
url="https://alsa-project.org/"
arch="all"
options="!check" # No test suite, applets use ncurses / don't have --version
license="GPL-2.0-or-later"
makedepends="alsa-lib-dev fftw-dev ncurses-dev pciutils-dev xmlto"
-depends="dialog"
+depends="dialog alsa-ucm-conf"
subpackages="$pkgname-dbg alsaconf::noarch $pkgname-doc $pkgname-openrc"
source="https://alsa-project.org/files/pub/utils/alsa-utils-$pkgver.tar.bz2
alsaconf.patch
@@ -41,7 +41,7 @@ alsaconf() {
}
sha512sums="
-6842f0f4c2f7cc5ac3ba94736ee259d9988b5d3e0d2b522f858d712e16938d2845fa9ef64f4aa60222b8ef6738e053f9113a5ea24a197f2c0d6c4dbd70030f5e alsa-utils-1.2.6.tar.bz2
+1be8f617315193e6033653ac96a14bd1c3272cd9d8f3776cdb1357f35f5353652acd5975cfc5bd16278cd496f5bf409bb60432818a526282edad9a4c718a97c9 alsa-utils-1.2.7.tar.bz2
f04155e1e391c7f36d44422c8e769bf9370117f6bbea6c0664e9858f7a676cc958e4260e4b4d226e71d0716f6be4e6fdd60f1d07cb7e9922fff378ceec01c47d alsaconf.patch
c66959a4a1a24a727c9c91a455caa5fa093c523d17a563b56ec2449a02ff30c83683db555006954b1fe571446cf4a117cc41de8c8b869a6e875d386595b3cc1f alsa.initd
d7e212e9f624b09168117b46c66289204a23915adf0d1b0c9ae258049430397b8f2d86d3b5f7e3087151948a031c4eab863e8195a6c7b1276704e9cba9c2d2a7 alsa.confd
diff --git a/main/aom/APKBUILD b/main/aom/APKBUILD
new file mode 100644
index 0000000000..7985463181
--- /dev/null
+++ b/main/aom/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=aom
+pkgver=3.4.0
+pkgrel=0
+pkgdesc="Alliance for Open Media (AOM) AV1 codec SDK"
+url="https://aomedia.org/"
+arch="all"
+license="custom"
+options="net !check" # tests require a lot of time
+makedepends="cmake perl python3 yasm samurai"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="$pkgname-$pkgver.tar.gz::https://aomedia.googlesource.com/aom/+archive/v$pkgver.tar.gz
+ fix-stack-size-e53da0b.patch"
+
+case "$CARCH" in
+ ppc64le) makedepends="$makedepends linux-headers" ;;
+esac
+
+# secfixes:
+# 3.1.1-r0:
+# - CVE-2021-30473
+# - CVE-2021-30474
+# - CVE-2021-30475
+
+build() {
+ local _neon_opt=
+ case "$CARCH" in
+ armhf) _neon_opt="-DENABLE_NEON=OFF" ;;
+ armv7) _neon_opt="-DAOM_NEON_INTRIN_FLAG=-mfpu=neon" ;;
+ esac
+
+ cmake -B build -G Ninja \
+ $_neon_opt \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS"
+ ninja -C build
+}
+
+check() {
+ local _testdata="$builddir"/test_data
+ mkdir -p $_testdata
+ export LIBAOM_TEST_DATA_PATH=$_testdata
+ ninja -C build testdata
+ ninja -C build runtests
+}
+
+package() {
+ DESTDIR="$pkgdir" ninja -C build install
+
+ install -Dm 644 -t "$pkgdir"/usr/share/doc/"$pkgname"/ README.md
+ install -Dm 644 -t "$pkgdir"/usr/share/doc/"$pkgname"/ LICENSE
+ install -Dm 644 -t "$pkgdir"/usr/share/doc/"$pkgname"/ PATENTS
+}
+
+unpack() {
+ mkdir -p "$builddir"
+
+ tar -xf "$srcdir/$pkgname-$pkgver.tar.gz" \
+ -C "$builddir" > /dev/null
+}
+
+sha512sums="
+cb375445410319aac4149baad5f7b8f2e863a0fc47247b55b640edf8e650a766276bcebe107f2fbe9828990ab3b725fbf553f97f74b5e2d291dd12626a205287 aom-3.4.0.tar.gz
+573a6c9cd1e9c71a0612f750fb1b69ee65ab86364d3aa78ef51b8fb20633c69b97026d0685dedeabb51f31d0dab7c651d1fe5c72e0dc9f14b8ed2704584934a9 fix-stack-size-e53da0b.patch
+"
diff --git a/main/aom/fix-stack-size-e53da0b.patch b/main/aom/fix-stack-size-e53da0b.patch
new file mode 100644
index 0000000000..d8206e8d05
--- /dev/null
+++ b/main/aom/fix-stack-size-e53da0b.patch
@@ -0,0 +1,78 @@
+From e53da0b1bf2652896bed7b65929a1d8d0729d922 Mon Sep 17 00:00:00 2001
+From: Wan-Teh Chang <wtc@google.com>
+Date: Thu, 27 Aug 2020 20:49:03 -0700
+Subject: [PATCH] Ensure thread stack size is at least 256 KB
+
+BUG=aomedia:2754
+
+Change-Id: Ia6e211f9b87bc2efe376e7b9f4adb11741850b18
+---
+
+diff --git a/aom_util/aom_thread.c b/aom_util/aom_thread.c
+index a749a22..8411569 100644
+--- a/aom_util/aom_thread.c
++++ b/aom_util/aom_thread.c
+@@ -133,16 +133,39 @@
+ goto Error;
+ }
+ if (pthread_cond_init(&worker->impl_->condition_, NULL)) {
+- pthread_mutex_destroy(&worker->impl_->mutex_);
+- goto Error;
++ goto Error1;
+ }
++ pthread_attr_t *attr = NULL;
++#if HAVE_PTHREAD_H
++ pthread_attr_t thread_attributes;
++ attr = &thread_attributes;
++ if (pthread_attr_init(attr)) {
++ goto Error2;
++ }
++ size_t stack_size;
++ if (pthread_attr_getstacksize(attr, &stack_size)) {
++ pthread_attr_destroy(attr);
++ goto Error2;
++ }
++ const size_t kMinStackSize = 256 * 1024;
++ if (stack_size < kMinStackSize &&
++ pthread_attr_setstacksize(attr, kMinStackSize)) {
++ pthread_attr_destroy(attr);
++ goto Error2;
++ }
++#endif // HAVE_PTHREAD_H
+ pthread_mutex_lock(&worker->impl_->mutex_);
+- ok = !pthread_create(&worker->impl_->thread_, NULL, thread_loop, worker);
++ ok = !pthread_create(&worker->impl_->thread_, attr, thread_loop, worker);
+ if (ok) worker->status_ = OK;
+ pthread_mutex_unlock(&worker->impl_->mutex_);
++#if HAVE_PTHREAD_H
++ pthread_attr_destroy(attr);
++#endif
+ if (!ok) {
+- pthread_mutex_destroy(&worker->impl_->mutex_);
++ Error2:
+ pthread_cond_destroy(&worker->impl_->condition_);
++ Error1:
++ pthread_mutex_destroy(&worker->impl_->mutex_);
+ Error:
+ aom_free(worker->impl_);
+ worker->impl_ = NULL;
+diff --git a/aom_util/aom_thread.h b/aom_util/aom_thread.h
+index 8d04312..efbed78 100644
+--- a/aom_util/aom_thread.h
++++ b/aom_util/aom_thread.h
+@@ -32,6 +32,7 @@
+ #include <process.h> // NOLINT
+ #include <windows.h> // NOLINT
+ typedef HANDLE pthread_t;
++typedef int pthread_attr_t;
+ typedef CRITICAL_SECTION pthread_mutex_t;
+
+ #if _WIN32_WINNT < 0x0600
+@@ -147,6 +148,7 @@
+ #include <sys/builtin.h> // NOLINT
+
+ #define pthread_t TID
++#define pthread_attr_t int
+ #define pthread_mutex_t HMTX
+
+ typedef struct {
diff --git a/main/apache-mod-auth-ntlm-winbind/APKBUILD b/main/apache-mod-auth-ntlm-winbind/APKBUILD
index 8685a24c3a..43b7f304f0 100644
--- a/main/apache-mod-auth-ntlm-winbind/APKBUILD
+++ b/main/apache-mod-auth-ntlm-winbind/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <natanael.copa@gmail.com>
pkgname=apache-mod-auth-ntlm-winbind
pkgver=0.1
-pkgrel=6
+pkgrel=7
pkgdesc="Authentication module for Apache using NTLM protocol with winbind helper"
url="http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/"
arch="all"
@@ -10,19 +10,19 @@ license="Apache-2.0"
depends="apache2 samba samba-winbind"
makedepends="autoconf apache2-dev apr-util-dev apr-dev"
source="http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/mod_auth_ntlm_winbind.c
-http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/configure.in
-http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/Makefile.in
-mod-auth-ntlm-winbind.conf"
+ http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/configure.in
+ http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/Makefile.in
+ mod-auth-ntlm-winbind.conf
+ "
+builddir="$srcdir"
build() {
- cd "$srcdir"
autoconf
./configure
- make DESTDIR="$pkgdir" || return 1
+ make DESTDIR="$pkgdir"
}
package() {
- cd "$srcdir"
mkdir -p "$pkgdir"/etc/apache2/conf.d
mkdir -p "$pkgdir"/usr/lib/apache2
install mod-auth-ntlm-winbind.conf "$pkgdir"/etc/apache2/conf.d/mod-auth-ntlm-winbind.conf
diff --git a/main/apache-mod-auth-radius/APKBUILD b/main/apache-mod-auth-radius/APKBUILD
index a0e2a4c6cb..4cd0bafa39 100644
--- a/main/apache-mod-auth-radius/APKBUILD
+++ b/main/apache-mod-auth-radius/APKBUILD
@@ -3,14 +3,13 @@
pkgname=apache-mod-auth-radius
_pkgname=mod_auth_radius
pkgver=1.6.0
-pkgrel=0
+pkgrel=1
pkgdesc="Apache authentication module to become RADIUS client for AAA requests"
url="http://freeradius.org/mod_auth_radius/"
arch="all"
license="BSD"
depends="apache2"
makedepends="apache2-dev freeradius-dev"
-install=""
options="!check"
source="$pkgname_$pkgver.tar.gz::https://github.com/FreeRADIUS/mod_auth_radius/archive/v$pkgver.tar.gz
mod-auth-radius.conf"
diff --git a/main/apache2-mod-wsgi/APKBUILD b/main/apache2-mod-wsgi/APKBUILD
index bba5063a27..9be36d92d2 100644
--- a/main/apache2-mod-wsgi/APKBUILD
+++ b/main/apache2-mod-wsgi/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Matt Smith <mcs@darkregion.net>
pkgname=apache2-mod-wsgi
_realname=mod_wsgi
-pkgver=4.9.0
+pkgver=4.9.3
pkgrel=0
pkgdesc="Python WSGI Module for Apache2"
url="https://github.com/GrahamDumpleton/mod_wsgi"
@@ -33,6 +33,6 @@ package() {
}
sha512sums="
-9dc34d431171321094a9713444895d9754eff4e69ad1e86c8d3cd77bc1ca0a4c10b697e7f8cf14902d6bfaf205c8842e62fa944bb38f66f1c54fd36af95a09d6 apache2-mod-wsgi-4.9.0.tar.gz
+75061bee9a7d6b787c822cf396ce5e8c2c51d616648e6795f1ba170a9d771817df365115f633d3112330d800151697974863f1a0242408c511a233434fc3e2ec apache2-mod-wsgi-4.9.3.tar.gz
5b36a458bd3539e58ea61ec405c4f5c5e0001a644263b0e1f8421a5c7fc7884b6df1355674a9d9b610780b5e9db6ce66d0ae1bbc0e512ecb027c3757209152c8 apache2-mod-wsgi.apache2.conf
"
diff --git a/main/apache2/APKBUILD b/main/apache2/APKBUILD
index fb91851365..0637780fc3 100644
--- a/main/apache2/APKBUILD
+++ b/main/apache2/APKBUILD
@@ -2,8 +2,8 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
pkgname=apache2
_pkgreal=httpd
-pkgver=2.4.53
-pkgrel=0
+pkgver=2.4.54
+pkgrel=1
pkgdesc="A high performance Unix-based HTTP server"
url="https://httpd.apache.org/"
arch="all"
@@ -12,7 +12,7 @@ install="$pkgname.pre-install $pkgname.pre-upgrade"
pkgusers="apache"
pkggroups="apache"
makedepends="apr-dev apr-util-dev autoconf automake brotli-dev libxml2-dev
- lua-dev nghttp2-dev openssl1.1-compat-dev pcre-dev sed zlib-dev"
+ lua-dev nghttp2-dev openssl-dev>3 pcre-dev sed zlib-dev"
subpackages="$pkgname-ctl
$pkgname-error:_error:noarch
$pkgname-dev
@@ -52,6 +52,15 @@ options="suid"
builddir="$srcdir"/$_pkgreal-$pkgver
# secfixes:
+# 2.4.54-r0:
+# - CVE-2022-26377
+# - CVE-2022-28330
+# - CVE-2022-28614
+# - CVE-2022-28615
+# - CVE-2022-29404
+# - CVE-2022-30522
+# - CVE-2022-30556
+# - CVE-2022-31813
# 2.4.53-r0:
# - CVE-2022-22719
# - CVE-2022-22720
@@ -324,7 +333,7 @@ ctl() {
ssl() {
pkgdesc="SSL/TLS module for the Apache HTTP Server"
install="apache2-ssl.post-install"
- depends="apache2 openssl"
+ depends="apache2 openssl>3"
install -d "$subpkgdir"/usr/lib/apache2
mv "$pkgdir"/usr/lib/apache2/mod_ssl.so \
@@ -387,7 +396,7 @@ _lua() {
_load_mods
}
sha512sums="
-07ef59594251a30a864cc9cc9a58ab788c2d006cef85b728f29533243927c63cb063e0867f2a306f37324c3adb9cf7dcb2402f3516b05c2c6f32469d475dd756 httpd-2.4.53.tar.bz2
+228493b2ff32c4142c6e484d304f2ea12e467498605fe12adce2b61388d8efe7b2e96ae2fd0abd1dc88a5f12d625e007d8da0ae5628cff2a5272806754f41e18 httpd-2.4.54.tar.bz2
8e62b101f90c67babe864bcb74f711656180b011df3fd4b541dc766b980b72aa409e86debf3559a55be359471c1cad81b8779ef3a55add8d368229fc7e9544fc apache2.confd
18e8859c7d99c4483792a5fd20127873aad8fa396cafbdb6f2c4253451ffe7a1093a3859ce719375e0769739c93704c88897bd087c63e1ef585e26dcc1f5dd9b apache2.logrotate
81a2d2a297d8049ba1b021b879ec863767149e056d9bdb2ac8acf63572b254935ec96c2e1580eba86639ea56433eec5c41341e4f1501f9072745dccdb3602701 apache2.initd
diff --git a/main/api-sanity-checker/APKBUILD b/main/api-sanity-checker/APKBUILD
index dbdee62a9c..9753867e55 100644
--- a/main/api-sanity-checker/APKBUILD
+++ b/main/api-sanity-checker/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=api-sanity-checker
pkgver=1.98.7
-pkgrel=1
+pkgrel=2
pkgdesc="A tool for creating automated test suites from any set of C sources"
url="https://lvc.github.io/api-sanity-checker/"
arch="noarch"
diff --git a/main/apk-tools/APKBUILD b/main/apk-tools/APKBUILD
index 32c4b716e0..582d65029c 100644
--- a/main/apk-tools/APKBUILD
+++ b/main/apk-tools/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apk-tools
pkgver=2.12.9
-pkgrel=3
+pkgrel=6
pkgdesc="Alpine Package Keeper - package manager for alpine"
arch="all"
url="https://gitlab.alpinelinux.org/alpine/apk-tools"
@@ -10,8 +10,8 @@ subpackages="$pkgname-dbg $pkgname-dev $pkgname-static $pkgname-doc $pkgname-zsh
# Musl 1.2 introduced new ABI for time64 => upgrading apk-tools
# while staying on musl <1.2 causes missing symbols
depends="musl>=1.2"
-makedepends_build="openssl lua5.3 lua5.3-lzlib scdoc"
-makedepends_host="zlib-dev openssl1.1-compat-dev zlib-static openssl1.1-compat-libs-static linux-headers"
+makedepends_build="openssl>3 lua5.3 lua5.3-lzlib scdoc"
+makedepends_host="zlib-dev openssl-dev zlib-static openssl-libs-static linux-headers"
makedepends="$makedepends_build $makedepends_host"
_lua="no"
if [ "$CBUILD" = "$CHOST" ]; then
@@ -87,5 +87,5 @@ luaapk() {
sha512sums="
2e299e50c5ca8733f04fad971247146ff4bebb697c3589e4692c9a940ede89432dd9fea48004dc947cb493db1206a336ac0ad1e876b02683183d69b4a127d1c6 apk-tools-v2.12.9.tar.gz
-ba5a35b118ac17ea90e2b4d981e10c29c2c1bb11d5dbec573005b4709dc21e99c808839fa40c8e55cfdb32a0a305e091a46a109e50197fadb4a8ce71b48b0000 _apk
+7870676720f5007eee9482786e02246f8e3474afb90e76c9c83aebe914747a8e007b5d2eed6441933f4922024b3f0664db270f21981ad6c2db877a110b0cd79e _apk
"
diff --git a/main/apk-tools/_apk b/main/apk-tools/_apk
index 60ed159418..4b4a238fc6 100644
--- a/main/apk-tools/_apk
+++ b/main/apk-tools/_apk
@@ -62,7 +62,7 @@ function _apk {
zstyle ":completion:${curcontext}:" cache-policy _ccache_apk_avail
local IFS=$'\n'
if _cache_invalid apk_index_packages_available || ! _retrieve_cache apk_index_packages_available; then
- _apk_available_packs=(${${$(/sbin/apk list -a 2>/dev/null)%% *}%%-[[:digit:].]##([[:alpha:]]#)#(*[[:alpha:]]#[[:digit:]])#(-r[[:digit:]]##)#})
+ _apk_available_packs=(${${$(/sbin/apk list -a 2>/dev/null)%% *}%-*-r[[:digit:]]*})
_store_cache apk_index_packages_available _apk_available_packs
fi
_describe 'available packages' _apk_available_packs
@@ -73,7 +73,7 @@ function _apk {
zstyle ":completion:${curcontext}:" cache-policy _ccache_apk_world
local IFS=$'\n'
if _cache_invalid apk_index_packages_installed || ! _retrieve_cache apk_index_packages_installed; then
- _apk_installed_packs=(${${$(/sbin/apk list -I 2>/dev/null)%% *}%%-[[:digit:].]##([[:alpha:]]#)#(*[[:alpha:]]#[[:digit:]])#(-r[[:digit:]]##)#})
+ _apk_installed_packs=(${${$(/sbin/apk list -I 2>/dev/null)%% *}%-*-r[[:digit:]]*})
_store_cache apk_index_packages_installed _apk_installed_packs
fi
_describe 'installed packages' _apk_installed_packs
diff --git a/main/apr-util/APKBUILD b/main/apr-util/APKBUILD
index f3fe4bec27..3b92fa5588 100644
--- a/main/apr-util/APKBUILD
+++ b/main/apr-util/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apr-util
pkgver=1.6.1
-pkgrel=12
+pkgrel=13
pkgdesc="The Apache Portable Runtime Utility Library"
url="https://apr.apache.org/"
arch="all"
@@ -9,8 +9,8 @@ license="Apache-2.0"
subpackages="$pkgname-dev $pkgname-dbd_pgsql $pkgname-dbd_mysql
$pkgname-dbd_sqlite3 $pkgname-ldap"
depends_dev="expat-dev openldap-dev sqlite-dev libpq-dev
- openssl1.1-compat-dev mariadb-dev"
-makedepends="$depends_dev apr-dev bash chrpath openssl"
+ openssl-dev>3 mariadb-dev"
+makedepends="$depends_dev apr-dev bash chrpath openssl>3"
source="https://www.apache.org/dist/apr/apr-util-$pkgver.tar.bz2
musl-fix-testsuite.patch"
diff --git a/main/apr/APKBUILD b/main/apr/APKBUILD
index 2d34189e0b..431eb17f36 100644
--- a/main/apr/APKBUILD
+++ b/main/apr/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apr
pkgver=1.7.0
-pkgrel=1
+pkgrel=2
pkgdesc="The Apache Portable Runtime"
url="https://apr.apache.org/"
arch="all"
@@ -12,8 +12,13 @@ subpackages="$pkgname-dev"
source="https://www.apache.org/dist/apr/apr-$pkgver.tar.bz2
apr-1.6.2-dont-test-dlclose.patch
semtimedop-s390x.patch
+ CVE-2021-35940.patch
"
+# secfixes:
+# 1.7.0-r2:
+# - CVE-2021-35940.patch
+
build() {
./configure \
--build=$CBUILD \
@@ -47,4 +52,5 @@ sha512sums="
3dc42d5caf17aab16f5c154080f020d5aed761e22db4c5f6506917f6bfd2bf8becfb40af919042bd4ce1077d5de74aa666f5edfba7f275efba78e8893c115148 apr-1.7.0.tar.bz2
9fb931e45f30fbe68af56849dfca148c09cdf85e300af14fb259cbd43470113288680bdb21189d4cf13f5ce95f8d28666822535e017e64ace5324339ab50cbef apr-1.6.2-dont-test-dlclose.patch
5d1afa9419d0481e7c3369724e8b4c1e199cbfd5d031bd9d9fc4f46ee0d3819353ff03c3b2c508d5b939f66ef4549953bbf9cdae7ff934002b9a01d824c843e8 semtimedop-s390x.patch
+33c072ad4e27afee4b93df5b1076a8d858c6f4ef57df4e2dd1bf750f8b0390cb130744aa3bf67c4de359b35a558da07e479b10e0028ec935aa9a1ea4820c995e CVE-2021-35940.patch
"
diff --git a/main/apr/CVE-2021-35940.patch b/main/apr/CVE-2021-35940.patch
new file mode 100644
index 0000000000..0b72ab964c
--- /dev/null
+++ b/main/apr/CVE-2021-35940.patch
@@ -0,0 +1,53 @@
+Patch-Source: https://dist.apache.org/repos/dist/release/apr/patches/apr-1.7.0-CVE-2021-35940.patch
+SECURITY: CVE-2021-35940 (cve.mitre.org)
+
+Restore fix for CVE-2017-12613 which was missing in 1.7.x branch, though
+was addressed in 1.6.x in 1.6.3 and later via r1807976.
+
+The fix was merged back to 1.7.x in r1891198.
+
+Since this was a regression in 1.7.0, a new CVE name has been assigned
+to track this, CVE-2021-35940.
+
+Thanks to Iveta Cesalova <icesalov redhat.com> for reporting this issue.
+
+https://svn.apache.org/viewvc?view=revision&revision=1891198
+
+Index: time/unix/time.c
+===================================================================
+--- a/time/unix/time.c (revision 1891197)
++++ b/time/unix/time.c (revision 1891198)
+@@ -142,6 +142,9 @@
+ static const int dayoffset[12] =
+ {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275};
+
++ if (xt->tm_mon < 0 || xt->tm_mon >= 12)
++ return APR_EBADDATE;
++
+ /* shift new year to 1st March in order to make leap year calc easy */
+
+ if (xt->tm_mon < 2)
+Index: time/win32/time.c
+===================================================================
+--- a/time/win32/time.c (revision 1891197)
++++ b/time/win32/time.c (revision 1891198)
+@@ -54,6 +54,9 @@
+ static const int dayoffset[12] =
+ {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
+
++ if (tm->wMonth < 1 || tm->wMonth > 12)
++ return APR_EBADDATE;
++
+ /* Note; the caller is responsible for filling in detailed tm_usec,
+ * tm_gmtoff and tm_isdst data when applicable.
+ */
+@@ -228,6 +231,9 @@
+ static const int dayoffset[12] =
+ {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275};
+
++ if (xt->tm_mon < 0 || xt->tm_mon >= 12)
++ return APR_EBADDATE;
++
+ /* shift new year to 1st March in order to make leap year calc easy */
+
+ if (xt->tm_mon < 2)
diff --git a/main/argon2/APKBUILD b/main/argon2/APKBUILD
index b3eb0b1e8a..40d1211f54 100644
--- a/main/argon2/APKBUILD
+++ b/main/argon2/APKBUILD
@@ -4,7 +4,7 @@
pkgname=argon2
_pkgname=phc-winner-argon2
pkgver=20190702
-pkgrel=1
+pkgrel=2
pkgdesc="The password hash Argon2, winner of PHC"
url="https://github.com/P-H-C/phc-winner-argon2"
arch="all"
diff --git a/main/argp-standalone/APKBUILD b/main/argp-standalone/APKBUILD
index 5799c19d1f..bf4b0af1f1 100644
--- a/main/argp-standalone/APKBUILD
+++ b/main/argp-standalone/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=argp-standalone
pkgver=1.3
-pkgrel=4
+pkgrel=5
pkgdesc="Hierarchial argument parsing library broken out from glibc"
url="http://www.lysator.liu.se/~nisse/misc/"
arch="all"
diff --git a/main/arm-trusted-firmware/APKBUILD b/main/arm-trusted-firmware/APKBUILD
index aff371ab3e..f8e3ed6691 100644
--- a/main/arm-trusted-firmware/APKBUILD
+++ b/main/arm-trusted-firmware/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Maxim Karasev <begs@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=arm-trusted-firmware
-pkgver=2.6
+pkgver=2.7.0
pkgrel=1
pkgdesc="ARM Trusted Firmware-A (TF-A)"
url="https://github.com/ARM-software/arm-trusted-firmware"
@@ -21,8 +21,16 @@ _plats="
build() {
unset LDFLAGS
for plat in $_plats; do
- msg "Building ATF for $plat"
- make PLAT=$plat bl31
+ local opts=""
+
+ case "$plat" in
+ sun50i_a64)
+ opts="SUNXI_SETUP_REGULATORS=0 SUNXI_AMEND_DTB=1"
+ ;;
+ esac
+
+ msg "Building ATF for $plat (opts='$opts')"
+ make PLAT=$plat bl31 $opts
done
}
@@ -34,5 +42,5 @@ package() {
}
sha512sums="
-8b20964b1b672898268e27424984af0ef9e95b38f426370ed4b802f67fc204db5f467886707dce77e4560548e01777a6c36d4eb801842c7d1f2ff6ca5d9b7dd1 arm-trusted-firmware-v2.6.tar.gz
+3e1e09bcc69a0f080f91b94d9c8da6dd0b27b86292599c280438d7b6f594017a896af7cfc58d9d22053f77b5daa2faecd51a59505c755eac8493e4e0fd1e9203 arm-trusted-firmware-v2.7.0.tar.gz
"
diff --git a/main/aspell-fr/APKBUILD b/main/aspell-fr/APKBUILD
index 458c2065e1..ac95afb3cc 100644
--- a/main/aspell-fr/APKBUILD
+++ b/main/aspell-fr/APKBUILD
@@ -2,25 +2,22 @@
pkgname=aspell-fr
pkgver=0.50_p3
_ver=${pkgver/_p/-}
-pkgrel=1
+pkgrel=2
pkgdesc="French dictionary for aspell"
url="http://aspell.net/"
arch="noarch"
license="GPL-2.0"
-depends=""
makedepends="aspell-dev"
source="https://ftp.gnu.org/gnu/aspell/dict/fr/aspell-fr-$_ver.tar.bz2"
+builddir="$srcdir"/aspell-fr-$_ver
-_builddir="$srcdir"/aspell-fr-$_ver
build () {
- cd "$_builddir"
- ./configure || return 1
- make || return 1
+ ./configure
+ make
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
}
sha512sums="bb5d1faada9283521096a19a8f5abada2a19cc02717f6dde57846ef46a4df253113b10a2bb72d2b0e32e4a3ab24b541a5acd9f4595b908d2f6cd2fc448d8bc3b aspell-fr-0.50-3.tar.bz2"
diff --git a/main/aspell-ru/APKBUILD b/main/aspell-ru/APKBUILD
index d6e6636d43..35b743514b 100644
--- a/main/aspell-ru/APKBUILD
+++ b/main/aspell-ru/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=aspell-ru
pkgver=0.99f7
-pkgrel=0
+pkgrel=1
_lang=${pkgname##*-}
_name=${pkgname%%-*}6-$_lang-$pkgver-1
pkgdesc="Russian dictionary for aspell"
@@ -15,15 +15,13 @@ source="https://ftp.gnu.org/gnu/aspell/dict/$_lang/$_name.tar.bz2"
builddir="$srcdir"/$_name
build () {
- cd "$builddir"
./configure
make
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -D -m644 Copyright "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 Copyright "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
sha512sums="789fe15f5502b54008a41f2afb5635dcb7bb0a36e61b300ee48b2429c339793f5c4808d6063f13f1f8455ce251912433890e7d01ca59d8b0924ecd2987ceb430 aspell6-ru-0.99f7-1.tar.bz2"
diff --git a/main/aspell-uk/APKBUILD b/main/aspell-uk/APKBUILD
index 4755219613..910d6380d2 100644
--- a/main/aspell-uk/APKBUILD
+++ b/main/aspell-uk/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=aspell-uk
pkgver=1.4.0
-pkgrel=1
+pkgrel=2
_lang=${pkgname##*-}
_name=${pkgname%%-*}6-$_lang-$pkgver-0
pkgdesc="Ukrainian dictionary for aspell"
@@ -14,15 +14,13 @@ source="https://ftp.gnu.org/gnu/aspell/dict/$_lang/$_name.tar.bz2"
builddir="$srcdir"/$_name
build () {
- cd "$builddir"
./configure
make
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -D -m644 Copyright "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 Copyright "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
sha512sums="2e66465d17695dd3147241f13d611571f8a80a15886c69728d2f34019fb4834e56e4c0834d9e898927522b54d75f78a32dd3435b2c16eb86cf9cfa11070f0799 aspell6-uk-1.4.0-0.tar.bz2"
diff --git a/main/asterisk/APKBUILD b/main/asterisk/APKBUILD
index f19a684766..1642f028b4 100644
--- a/main/asterisk/APKBUILD
+++ b/main/asterisk/APKBUILD
@@ -3,8 +3,8 @@
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=asterisk
-pkgver=18.11.2
-pkgrel=0
+pkgver=18.13.0
+pkgrel=1
pkgdesc="Modular Open Source PBX System"
pkgusers="asterisk"
pkggroups="asterisk"
@@ -34,7 +34,7 @@ makedepends="
mariadb-connector-c-dev
ncurses-dev
newt-dev
- openssl1.1-compat-dev
+ openssl-dev>3
opus-dev
opusfile-dev
pjproject-dev
@@ -240,7 +240,7 @@ sound_en() {
}
sha512sums="
-6b33949edb26b8dec5c4c79fe07f4fe3c82a83014944b142ffe5cdf9e626a7240e65c31f9215136ab964b14e077829c4ae99e1b0c2067e8b8ac016f628281e06 asterisk-18.11.2.tar.gz
+085dfcf15f99d7d96b49a720156678c4de5a88b55375257a9a1234f9dd83f21eed1685d4177dae5978272608e690582367c6c34fdef91bbad54299594d0ce9df asterisk-18.13.0.tar.gz
aacef3f4796fb1abd33266998b53909cb4b36e7cc5ad2f7bac68bdc43e9a9072d9a4e2e7e681bddfa31f3d04575eb248afe6ea95da780c67e4829c1e22adfe1b asterisk-addon-mp3-r201.patch.gz
69d82b878728f99b7bf7e862025cbc01aa5b6b9332a5372059ea89a788c66fd351f1103989b3573a7a4ba9ff533f3ee2ff5d88de938440e05d6246e41a882306 asterisk-13.7-90e8780faccc79e68c07775c6ab2fe1ffaccfa08.tar.gz
771237ba6d42ab62d914f2702234b23fd0bc8c22f2aa33b0e745c9170163c8046f6d48ecb299faab3d6fb397f1aa046421083c3cc88510c9779861c522f357dd 10-musl-mutex-init.patch
diff --git a/main/at-spi2-atk/APKBUILD b/main/at-spi2-atk/APKBUILD
deleted file mode 100644
index 480186c24d..0000000000
--- a/main/at-spi2-atk/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
-pkgname=at-spi2-atk
-pkgver=2.38.0
-pkgrel=0
-pkgdesc="A GTK+ module that bridges ATK to D-Bus at-spi"
-url="https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/"
-arch="all"
-options="!check" # Requires dbus daemon running.
-license="LGPL-2.0-or-later"
-depends_dev="atk-dev"
-makedepends="$depends_dev dbus-dev glib-dev at-spi2-core-dev meson libxml2-dev"
-checkdepends="dbus"
-subpackages="$pkgname-dev"
-source="https://download.gnome.org/sources/at-spi2-atk/${pkgver%.*}/at-spi2-atk-$pkgver.tar.xz"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="2f40ecbc55b0fbaa57ade952a75583bc8fbfde234cce9248489e9ae06e0597d98c2f4c77d8279758dec29da97e06cde5708d30a1238d91bebd023b2320f38528 at-spi2-atk-2.38.0.tar.xz"
diff --git a/main/at-spi2-core/APKBUILD b/main/at-spi2-core/APKBUILD
index 6e7e7a26fb..2ce67c1ca8 100644
--- a/main/at-spi2-core/APKBUILD
+++ b/main/at-spi2-core/APKBUILD
@@ -1,17 +1,35 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=at-spi2-core
-pkgver=2.44.1
-pkgrel=0
+pkgver=2.45.1
+pkgrel=1
pkgdesc="Protocol definitions and daemon for D-Bus at-spi"
url="https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/"
arch="all"
options="!check" # Requires running dbus daemon.
license="LGPL-2.0-or-later"
-makedepends="libxtst-dev dbus-dev glib-dev gobject-introspection-dev gtk-doc meson"
-subpackages="$pkgname-dbg $pkgname-dev $pkgname-lang $pkgname-doc"
+makedepends="
+ dbus-dev
+ glib-dev
+ gobject-introspection-dev
+ gtk-doc
+ libxml2-dev
+ libxtst-dev
+ meson
+ "
+subpackages="
+ $pkgname-dbg
+ $pkgname-dev
+ $pkgname-lang
+ $pkgname-doc
+ libatk-1.0:libatk
+ libatk-bridge-2.0:libatk_bridge
+ "
source="https://download.gnome.org/sources/at-spi2-core/${pkgver%.*}/at-spi2-core-$pkgver.tar.xz"
+# both were merged into this
+replaces="atk at-spi2-atk"
+
build() {
abuild-meson \
-Dx11=yes \
@@ -27,6 +45,26 @@ package() {
rm -rf "$pkgdir"/usr/lib/systemd
}
+dev() {
+ default_dev
+ replaces="atk-dev at-spi2-atk-dev"
+}
+
+libatk() {
+ pkgdesc="ATK library accessibility interfaces (1.0)"
+ amove \
+ usr/lib/libatk-1.0* \
+ usr/lib/girepository-1.0/Atk-1.0.typelib
+}
+
+libatk_bridge() {
+ pkgdesc="GTK+2.0 module that bridges ATK to D-Bus at-spi"
+ amove \
+ usr/lib/gnome-settings-daemon-3.0 \
+ usr/lib/gtk-2.0 \
+ usr/lib/libatk-bridge-2.0*
+}
+
sha512sums="
-8d85df75f886c4a19d829d14e5a9412b607b9cbe2d1b7ecb95b4082602f0624e90747fe955f96d378c3a52bc0e732074b97008bb34e6acc2722c7056b2c0504e at-spi2-core-2.44.1.tar.xz
+989d696aec54b5148f938614c96fbc6c04f72af6ed863ab076b945954c5bf7ce205a41b2739b68968e18c1c014f18273c95bb8967e1cdc853440fffd7a441a77 at-spi2-core-2.45.1.tar.xz
"
diff --git a/main/atk/APKBUILD b/main/atk/APKBUILD
deleted file mode 100644
index dd8c681811..0000000000
--- a/main/atk/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
-pkgname=atk
-pkgver=2.38.0
-pkgrel=0
-pkgdesc="A library providing a set of interfaces for accessibility"
-url="https://www.gtk.org/"
-arch="all"
-license="LGPL-2.0-or-later"
-makedepends="glib-dev gobject-introspection-dev musl-utils meson gtk-doc"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.gnome.org/sources/atk/${pkgver%.*}/atk-$pkgver.tar.xz"
-
-build() {
- abuild-meson \
- -Ddocs=true \
- output .
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-dffd0a0814a9183027c38a985d86cb6544858e9e7d655843e153440467957d6bc1abd9c9479a57078aea018053410438a30a9befb7414dc79020b223cd2c774b atk-2.38.0.tar.xz
-"
diff --git a/main/audit/APKBUILD b/main/audit/APKBUILD
index 81154c9eb1..d706e91a99 100644
--- a/main/audit/APKBUILD
+++ b/main/audit/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dermot Bradley <dermot_bradley@yahoo.com>
# Maintainer: Tycho Andersen <tycho@docker.com>
pkgname=audit
-pkgver=3.0.7
+pkgver=3.0.8
pkgrel=0
pkgdesc="User space tools for kernel auditing"
url="https://people.redhat.com/sgrubb/audit/"
@@ -13,7 +13,8 @@ install="$pkgname.pre-install"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs $pkgname-openrc"
source="https://people.redhat.com/sgrubb/audit/audit-$pkgver.tar.gz
0003-all-get-rid-of-strndupa.patch
- 0004-fix-path-in-au-remote-conf.patch
+ usr-paths.patch
+ musl.patch
auditd.initd
auditd.confd"
@@ -49,9 +50,10 @@ static() {
}
sha512sums="
-b5662b32082fc2ac54e247aa0db5442d76afa30134ebba1d624a17004e9ccf6856bb75344af4ce9d9a0a66c03e1c6f18b7d45658d7df13ea71af0c8362e08d70 audit-3.0.7.tar.gz
+8379bf425d68381d182300e628e42de8460d2f3e15b2395e10880f94b9989656852a50a9bece75b632ec8a04c40c9e666ff4c9d6b25ace3a8f50d2011506afab audit-3.0.8.tar.gz
f3f2c4ee745e99877c981d889c5cbb0379d073a9b7634c1480ae603a21a13045f9978b51f8cb53c8d0ba414d249bb859af7bca7e302c464b3fc3c6463ecca762 0003-all-get-rid-of-strndupa.patch
-6a0e1fb81d7defe6ad84da447a55e1e0b90299fcbd1ca679934a1dfa1a211986ea4642a1c69abe0619120b64b16546a41fa028f55f27c79819d896178aac6df7 0004-fix-path-in-au-remote-conf.patch
+90c7d213a0b4ef27bf643e046dd2b3c5909706c62fba24ef34ecb32ff07b73fda13ed04c616a7cf8148115fc977aa1096b61e717abd5bd32f72f7bb4ac07999f usr-paths.patch
+a347c45cb1cd3c93ece5352218f1e7bc38938f3cbaf060158e4df40e9f027afbc3c6a3651f25e26e45ab9f2c96af2181d2638b09ed747a4348d0fc88af798798 musl.patch
b3d7ceba02b6b4406222c3b142fcfdf2b612dc52eebc490cfd121d696e4ef7c6cc5e27813d67937c464ed4c3cd283de9ccfcb75e63405a447523fa4641e79da3 auditd.initd
69d8777772ded7a8c0db2bcf84961b121bb355fa0d4ba0e14e311f8a8bfe665cbd2b7ac632d73477f9dfa9a6eec357a7ed458fe9b3e7b5ede75b166f3f092ab7 auditd.confd
"
diff --git a/main/audit/musl.patch b/main/audit/musl.patch
new file mode 100644
index 0000000000..c96ce65350
--- /dev/null
+++ b/main/audit/musl.patch
@@ -0,0 +1,11 @@
+--- a/auparse/auparse.h
++++ b/auparse/auparse.h
+@@ -51,7 +51,7 @@
+ void auparse_destroy(auparse_state_t *au);
+ void auparse_destroy_ext(auparse_state_t *au, auparse_destroy_what_t what);
+ auparse_state_t *auparse_init(ausource_t source, const void *b)
+- __attribute_malloc__ __attr_dealloc (auparse_destroy, 1);
++ __attribute__((__malloc__)) __attr_dealloc (auparse_destroy, 1);
+ int auparse_new_buffer(auparse_state_t *au, const char *data, size_t data_len)
+ __attr_access ((__read_only__, 2, 3));
+ int auparse_feed(auparse_state_t *au, const char *data, size_t data_len)
diff --git a/main/audit/0004-fix-path-in-au-remote-conf.patch b/main/audit/usr-paths.patch
index c3d1efd846..8e1c2b67d9 100644
--- a/main/audit/0004-fix-path-in-au-remote-conf.patch
+++ b/main/audit/usr-paths.patch
@@ -1,7 +1,8 @@
From: Dermot Bradley <dermot_bradley@yahoo.com>
Date: Fri, 29 May 2020 19:55:23 +0100
+Updated: Mon, 30 May 2022 23:42:39 +0000
-Fix the path to the audisp-remote binary.
+correct paths in plugins
--- a/audisp/plugins/remote/au-remote.conf
+++ b/audisp/plugins/remote/au-remote.conf
@@ -14,3 +15,14 @@ Fix the path to the audisp-remote binary.
type = always
#args =
format = string
+--- a/audisp/plugins/syslog/syslog.conf
++++ b/audisp/plugins/syslog/syslog.conf
+@@ -8,7 +8,7 @@
+
+ active = no
+ direction = out
+-path = /sbin/audisp-syslog
++path = /usr/sbin/audisp-syslog
+ type = always
+ args = LOG_INFO
+ format = string
diff --git a/main/augeas/APKBUILD b/main/augeas/APKBUILD
index 85803b7803..b8cdd567ec 100644
--- a/main/augeas/APKBUILD
+++ b/main/augeas/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=augeas
pkgver=1.12.0
-pkgrel=0
+pkgrel=1
pkgdesc="A configuration editing tool"
url="http://augeas.net"
arch="all"
diff --git a/main/awall/APKBUILD b/main/awall/APKBUILD
index 8a45fd4e48..5503262464 100644
--- a/main/awall/APKBUILD
+++ b/main/awall/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kaarle Ritvanen <kunkku@alpinelinux.org>
# Maintainer: Kaarle Ritvanen <kunkku@alpinelinux.org>
pkgname=awall
-pkgver=1.11.1
+pkgver=1.12.0
pkgrel=0
pkgdesc="Alpine Wall"
url="https://gitlab.alpinelinux.org/alpine/awall"
@@ -51,7 +51,7 @@ policies() {
}
sha512sums="
-5f23bbe324e5f0618b92b1658487d925ff92624914295e8bb46a757c554f963643f611c5362c15d8feb05da7745de934def3b00aa68fe396a868541a8943dfce awall-v1.11.1.tar.bz2
+1e5b2bb3a64229c79959bd44dfa02c3b6230135eb0368bdc83ee5f0ce97ff9c02259442a3e8f9ae4eb62aaab97186537de15e5a548c720c7bed1aac8ecf30aa2 awall-v1.12.0.tar.bz2
e83ea3281c298092530e45fa5b62f6f85b9e5109b11e109799465ea832608294c7d9c4c3f5b0f321dfc0e82040daf3a17d066e9dea65cb0dbae2c453ea9e62cd awall-init
1cd4b7fa5fc6c9ac6667dff5cc00d96a3cc42aaccafe3c5562d3dcfd9f22ddec9cfe5a9339fee8001b67ccb8e8b81c9417f39a461e5052af9bf74a2753559bf7 setup-firewall
"
diff --git a/main/axel/APKBUILD b/main/axel/APKBUILD
index 46a783dc03..799cba03c7 100644
--- a/main/axel/APKBUILD
+++ b/main/axel/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=axel
pkgver=2.17.11
-pkgrel=0
+pkgrel=1
pkgdesc="A multiple-connection concurrent downloader"
url="https://github.com/axel-download-accelerator/axel"
arch="all"
options="!check" # has no checks
license="GPL-2.0-or-later WITH OpenSSL-Exception"
-makedepends="openssl1.1-compat-dev"
+makedepends="openssl-dev>3"
subpackages="$pkgname-doc"
source="$url/releases/download/v$pkgver/axel-$pkgver.tar.xz"
diff --git a/main/bacula/APKBUILD b/main/bacula/APKBUILD
index 947154bd0d..e72777775b 100644
--- a/main/bacula/APKBUILD
+++ b/main/bacula/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=bacula
-pkgver=11.0.6
+pkgver=13.0.0
pkgrel=1
pkgdesc="Enterprise ready, network based backup program"
url="https://www.bacula.org"
arch="all"
license="AGPL-3.0-or-later WITH OpenSSL-Exception"
-makedepends="autoconf automake libtool mariadb-connector-c-dev ncurses-dev openssl1.1-compat-dev libpq-dev
+makedepends="autoconf automake libtool mariadb-connector-c-dev ncurses-dev openssl-dev>3 libpq-dev
sqlite-dev zlib-dev lzo-dev acl-dev"
install="$pkgname.pre-install $pkgname.post-upgrade"
subpackages="$pkgname-doc $pkgname-mysql $pkgname-pgsql $pkgname-sqlite
@@ -157,7 +157,7 @@ client() {
}
sha512sums="
-44abc9e3598f3d3beea3e85cca0867e4b9b77c4e7a17cb1902a5e952b049fb2b15f8f6319436fce1dd92ad52d26f04d7225dd052372ecc30aa55fb668a639149 bacula-11.0.6.tar.gz
+4049771f0a0a6c9302d73bd9870c0508d339e919077ac7cfabd4df83a24bb734dcaa8b1c655fb2ad44b04ce616cd566c2ff6dbb7567ae5904efb255ad2b7c0be bacula-13.0.0.tar.gz
bb954bb94bffa68ba80872046782a73012487291f019fb8d7ff77fc7f4325e25bee88612b3279b4db7d3c2002ac7448ffabcda62da7bab54642a7413904abc91 bacula-dir.initd
0505b9a74520af6982d5df4390525976f8e009e641d0acfe8f24b2ec9f155166a65eecbabee9ff70ffe188d523effa64f958acd8f657410b1c002a6d736e8aee bacula-sd.initd
91a53cb566cfd91b42a319bd6ff9947047cae187c6ec198767853d1a0253667d6c2c58f0e72ed43a7b9f40b76e705cafde7a1d6ac86577fa0f64f44b031dec11 bacula-fd.initd
diff --git a/main/batctl/APKBUILD b/main/batctl/APKBUILD
index d09134295d..8c52d16a38 100644
--- a/main/batctl/APKBUILD
+++ b/main/batctl/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=batctl
-pkgver=2022.0
-pkgrel=1
+pkgver=2022.1
+pkgrel=0
pkgdesc="B.A.T.M.A.N. advanced control and management tool"
url="https://www.open-mesh.org/"
arch="all"
@@ -21,5 +21,5 @@ package() {
}
sha512sums="
-4e839119914c471818dcdc6ee0850802f0141dade8303be92fd0fc6f4cf492e37e482401f4e519d815f3928c84b247a5d5e0000128eb958702b8a99ff6f4975e batctl-2022.0.tar.gz
+4e268b5ec7cb07fed08b8688e10c603b788ccbe3cc3c84e536ba27cf2e54e306b49d86a9f9c657627c673a48029834d0454db53c0fa46d7fad5e2095823828f5 batctl-2022.1.tar.gz
"
diff --git a/main/bats/APKBUILD b/main/bats/APKBUILD
index 6f8285b511..94132766fd 100644
--- a/main/bats/APKBUILD
+++ b/main/bats/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Jose-Luis Rivas <ghostbar@riseup.net>
pkgname=bats
-pkgver=1.6.0
+pkgver=1.7.0
pkgrel=0
pkgdesc="Bash Automated Testing System"
options="!check" # Test passes CI/locally, fails on builders
@@ -20,5 +20,5 @@ package() {
./install.sh "$pkgdir"/usr
}
sha512sums="
-c76a219c0d6e8016bac90229b842c0666c1a63ae4c063c644a1cb2c78234e5b2685576889ca2c71cd1a6adfd3281be4c01e907b183873777e58e0d749e07d23c bats-1.6.0.zip
+557ba2984a21c02ce5d9d819839866390b190905bb87298e3117e4b41484f5eba8b4f471062d7b647b65f750cc1c774db5d7d33d35a47fe163a7d9e54c591e12 bats-1.7.0.zip
"
diff --git a/main/bc/APKBUILD b/main/bc/APKBUILD
index d311816fbf..4235a1b5b7 100644
--- a/main/bc/APKBUILD
+++ b/main/bc/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bc
pkgver=1.07.1
-pkgrel=1
+pkgrel=2
pkgdesc="An arbitrary precision numeric processing language (calculator)"
url="https://www.gnu.org/software/bc/bc.html"
arch="all"
@@ -10,10 +10,8 @@ license="GPL-2.0-or-later"
makedepends="ed flex bison readline-dev texinfo"
subpackages="$pkgname-doc"
source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,12 +24,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
diff --git a/main/bctoolbox/APKBUILD b/main/bctoolbox/APKBUILD
index 6fdcbce64e..7a220d8cf3 100644
--- a/main/bctoolbox/APKBUILD
+++ b/main/bctoolbox/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=bctoolbox
-pkgver=5.1.17
-pkgrel=1
+pkgver=5.1.45
+pkgrel=0
pkgdesc="Utilities library used by Belledonne Communications softwares like belle-sip, mediastreamer2 and linphone"
url="https://github.com/BelledonneCommunications/bctoolbox"
arch="all"
@@ -46,5 +46,5 @@ dev() {
}
sha512sums="
-abcf055c8d9059550528e3308b6399d0c95118ef5bef077d4f58d179522e0da99459b6a05de86558e49b78fd82a2130399d9ad06b0e1a08286139e53fcfa43d3 bctoolbox-5.1.17.tar.gz
+488d296f3d0328858692d865ce4c315bd9f2baa9fbe9577a1fd214735d8bbe83005f082239c277607d8561682d220e0da0f30b695911780b1a7ec27cfea1c247 bctoolbox-5.1.45.tar.gz
"
diff --git a/main/bdftopcf/APKBUILD b/main/bdftopcf/APKBUILD
index 5bc7092580..0b54eb32c3 100644
--- a/main/bdftopcf/APKBUILD
+++ b/main/bdftopcf/APKBUILD
@@ -1,20 +1,17 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bdftopcf
pkgver=1.1
-pkgrel=0
+pkgrel=1
pkgdesc="X.Org font utility"
url="http://xorg.freedesktop.org"
arch="all"
license="MIT"
options="!check" # No test suite.
-depends=""
makedepends="libxfont-dev util-macros"
-install=""
subpackages="$pkgname-doc"
source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,7 +23,6 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
diff --git a/main/bind/APKBUILD b/main/bind/APKBUILD
index 6d28b00cfb..f8bbf37a04 100644
--- a/main/bind/APKBUILD
+++ b/main/bind/APKBUILD
@@ -5,12 +5,12 @@
# Contributor: ungleich <alpinelinux@ungleich.ch>
# Maintainer:
pkgname=bind
-pkgver=9.18.3
+pkgver=9.18.5
_ver=${pkgver%_p*}
_p=${pkgver#*_p}
_major=${pkgver%%.*}
[ "$_p" != "$pkgver" ] && _ver="$_ver-P$_p"
-pkgrel=1
+pkgrel=0
pkgdesc="The ISC DNS server"
url="https://www.isc.org/"
arch="all"
@@ -33,7 +33,7 @@ makedepends="
linux-headers
nghttp2-dev
openldap-dev
- openssl1.1-compat-dev
+ openssl-dev>3
perl
protobuf-c-dev
$_depends_root_keys
@@ -265,8 +265,8 @@ _gpgfingerprints="
"
sha512sums="
-eeb2c376172469cd9d788a48487dec026ef28f6a82c474c546464a6caf510ff8f005c780ad85de9a096f4201f41e7db3b6ddfdb8c31c10d62b727f160d918d94 bind-9.18.3.tar.xz
-53db80f7ee4902f42fb1d0bc959242bcb6f20d95256bda99ce2c206af8b4703c7f72bb26d026c633f70451b84a37c3946b210951e34dd5d6620b181cd0183de4 named.initd
+41149e2a225125af0923ac597a31975b0a09eba64c0c4fe2ac6e6d6ae54ef8a72ff95db44d3b516af965871b6bde1b5e20489dd483c120e6f938744f56ab39c3 bind-9.18.5.tar.xz
+3d1d3e954aaee5e125f6b6f3cb660b51fc91d803df4cad43c47dbe97f19789cef20b5ca2834624668f0d761a5b81ac72db8959745d6eb293ca1154a1b390a007 named.initd
127bdcc0b5079961f0951344bc3fad547450c81aee2149eac8c41a8c0c973ea0ffe3f956684c6fcb735a29c43d2ff48c153b6a71a0f15757819a72c492488ddf named.confd
d2f61d02d7829af51faf14fbe2bafe8bc90087e6b6697c6275a269ebbddcaa14a234fff5c41da793e945e8ff1de3de0858a40334e0d24289eab98df4bb721ac5 named.conf.authoritative
3aba9763cfaf0880a89fd01202f41406b465547296ce91373eb999ea7719040bc1ac4e47b0de025a8060f693d3d88774a20d09a43fa7ac6aa43989b58b5ee8fe named.conf.recursive
diff --git a/main/bind/named.initd b/main/bind/named.initd
index cad932c68d..c7a8bb1a87 100644
--- a/main/bind/named.initd
+++ b/main/bind/named.initd
@@ -13,7 +13,7 @@ depend() {
_get_pidfile() {
[ -n "${PIDFILE}" ] || PIDFILE=$(\
- /usr/sbin/named-checkconf -p ${NAMED_CONF} | grep 'pid-file' | cut -d\" -f2)
+ /usr/bin/named-checkconf -p ${NAMED_CONF} | grep 'pid-file' | cut -d\" -f2)
[ -z "${PIDFILE}" ] && PIDFILE=/var/run/named/named.pid
}
@@ -25,7 +25,7 @@ checkconfig() {
return 1
fi
- /usr/sbin/named-checkconf ${NAMED_CONF} || {
+ /usr/bin/named-checkconf ${NAMED_CONF} || {
eerror "named-checkconf failed! Please fix your config first."
return 1
}
@@ -35,7 +35,7 @@ checkconfig() {
checkzones() {
ebegin "Checking named configuration and zones"
- /usr/sbin/named-checkconf -z -j ${NAMED_CONF}
+ /usr/bin/named-checkconf -z -j ${NAMED_CONF}
eend $?
}
diff --git a/main/binutils/APKBUILD b/main/binutils/APKBUILD
index dc97c7854c..311aa78aa5 100644
--- a/main/binutils/APKBUILD
+++ b/main/binutils/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=binutils
pkgver=2.38
-pkgrel=2
+pkgrel=4
pkgdesc="Tools necessary to build programs"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
@@ -20,6 +20,8 @@ source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
binutils-ppc-fix-machine-options.patch
binutils-s390x-1.patch
binutils-s390x-2.patch
+ binutils-ppc64le-assertion.patch
+ binutils-clang-dwarf-5.patch
"
builddir="$srcdir/$pkgname-$pkgver"
@@ -144,4 +146,6 @@ f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488
27ea91e0e406e2ed464fd692cf92a07e338781789f2d968c8b95d9d5545985056a6f7f500df3952e5ab42165db28b741aa33d6b717e880b11a2e41fe406b13c4 binutils-ppc-fix-machine-options.patch
a9efe2689624865f0ff33d4776a5bd295bcad6484bdd38d0ca490fea43691c4933ab33d17478851998eef12922dbf83d6c3225bb1f8faf92a1367d086390f7d3 binutils-s390x-1.patch
0e291df80ad279005265634014d0935d2c115a5ed708d25407094b7ad4ddf267d1fb7fcbcb2d9ad73bd305b4e3974628b820bd1f249f56c095e4896872434cc9 binutils-s390x-2.patch
+63e58f45df3570279cb1ee5215ba3de77de012cac20da9cdd23f86a93890056e1efa397521559cfd0716d5239604607c440d8f4d089d83c98b8fbc1b5c5305f8 binutils-ppc64le-assertion.patch
+d76e998cdb68e6beb56ebb5856b1617acb09478596f7a114257e0d027d72be7e408468f83ea023d8cc93e400d9b4e7da0a21b046db70b76fdfeffd4b020a386d binutils-clang-dwarf-5.patch
"
diff --git a/main/binutils/binutils-clang-dwarf-5.patch b/main/binutils/binutils-clang-dwarf-5.patch
new file mode 100644
index 0000000000..760f6a2993
--- /dev/null
+++ b/main/binutils/binutils-clang-dwarf-5.patch
@@ -0,0 +1,1226 @@
+Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=19c26da69d68d5d863f37c06ad73ab6292d02ffa
+changelog/nonexistent test file trimmed
+---
+From 19c26da69d68d5d863f37c06ad73ab6292d02ffa Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Wed, 6 Apr 2022 14:43:37 +0100
+Subject: [PATCH] Add code to display the contents of .debug_loclists sections
+ which contain offset entry tables.
+
+ PR 28981
+ * dwarf.c (fetch_indexed_value): Rename to fecth_indexed_addr and
+ return the address, rather than a string.
+ (fetch_indexed_value): New function - returns a value indexed by a
+ DW_FORM_loclistx or DW_FORM_rnglistx form.
+ (read_and_display_attr_value): Add support for DW_FORM_loclistx
+ and DW_FORM_rnglistx.
+ (process_debug_info): Load the loclists and rnglists sections.
+ (display_loclists_list): Add support for DW_LLE_base_addressx,
+ DW_LLE_startx_endx, DW_LLE_startx_length and
+ DW_LLE_default_location.
+ (display_offset_entry_loclists): New function. Displays a
+ .debug_loclists section that contains offset entry tables.
+ (display_debug_loc): Call the new function.
+ (display_debug_rnglists_list): Add support for
+ DW_RLE_base_addressx, DW_RLE_startx_endx and DW_RLE_startx_length.
+ (display_debug_ranges): Display the contents of the section's
+ header.
+ * dwarf.h (struct debug_info): Add loclists_base field.
+ * testsuite/binutils-all/dw5.W: Update expected output.
+ * testsuite/binutils-all/x86-64/pr26808.dump: Likewise.
+---
+ binutils/ChangeLog | 24 +
+ binutils/dwarf.c | 513 +++++++++++++++---
+ binutils/dwarf.h | 4 +
+ binutils/testsuite/binutils-all/dw5.W | 2 +-
+ .../binutils-all/x86-64/pr26808.dump | 82 +--
+ gas/ChangeLog | 5 +
+ gas/testsuite/gas/elf/dwarf-5-irp.d | 2 +-
+ 7 files changed, 517 insertions(+), 115 deletions(-)
+
+diff --git a/binutils/dwarf.c b/binutils/dwarf.c
+index 15b3c81a138..bc862f77c04 100644
+--- a/binutils/dwarf.c
++++ b/binutils/dwarf.c
+@@ -243,7 +243,7 @@ static const char *
+ dwarf_vmatoa_1 (const char *fmtch, dwarf_vma value, unsigned num_bytes)
+ {
+ /* As dwarf_vmatoa is used more then once in a printf call
+- for output, we are cycling through an fixed array of pointers
++ for output, we are cycling through a fixed array of pointers
+ for return address. */
+ static int buf_pos = 0;
+ static struct dwarf_vmatoa_buf
+@@ -799,24 +799,70 @@ fetch_indexed_string (dwarf_vma idx, struct cu_tu_set *this_set,
+ return ret;
+ }
+
+-static const char *
+-fetch_indexed_value (dwarf_vma offset, dwarf_vma bytes)
++static dwarf_vma
++fetch_indexed_addr (dwarf_vma offset, uint32_t num_bytes)
+ {
+ struct dwarf_section *section = &debug_displays [debug_addr].section;
+
+ if (section->start == NULL)
+- return (_("<no .debug_addr section>"));
++ {
++ warn (_("<no .debug_addr section>"));
++ return 0;
++ }
+
+- if (offset + bytes > section->size)
++ if (offset + num_bytes > section->size)
+ {
+ warn (_("Offset into section %s too big: 0x%s\n"),
+ section->name, dwarf_vmatoa ("x", offset));
+- return "<offset too big>";
++ return 0;
+ }
+
+- return dwarf_vmatoa ("x", byte_get (section->start + offset, bytes));
++ return byte_get (section->start + offset, num_bytes);
+ }
+
++/* Fetch a value from a debug section that has been indexed by
++ something in another section (eg DW_FORM_loclistx).
++ Returns 0 if the value could not be found. */
++
++static dwarf_vma
++fetch_indexed_value (dwarf_vma index,
++ enum dwarf_section_display_enum sec_enum)
++{
++ struct dwarf_section *section = &debug_displays [sec_enum].section;
++
++ if (section->start == NULL)
++ {
++ warn (_("Unable to locate %s section\n"), section->uncompressed_name);
++ return 0;
++ }
++
++ uint32_t pointer_size, bias;
++
++ if (byte_get (section->start, 4) == 0xffffffff)
++ {
++ pointer_size = 8;
++ bias = 20;
++ }
++ else
++ {
++ pointer_size = 4;
++ bias = 12;
++ }
++
++ dwarf_vma offset = index * pointer_size;
++
++ /* Offsets are biased by the size of the section header. */
++ offset += bias;
++
++ if (offset + pointer_size > section->size)
++ {
++ warn (_("Offset into section %s too big: 0x%s\n"),
++ section->name, dwarf_vmatoa ("x", offset));
++ return 0;
++ }
++
++ return byte_get (section->start + offset, pointer_size);
++}
+
+ /* FIXME: There are better and more efficient ways to handle
+ these structures. For now though, I just want something that
+@@ -2002,6 +2048,8 @@ skip_attr_bytes (unsigned long form,
+ case DW_FORM_strx:
+ case DW_FORM_GNU_addr_index:
+ case DW_FORM_addrx:
++ case DW_FORM_loclistx:
++ case DW_FORM_rnglistx:
+ READ_ULEB (uvalue, data, end);
+ break;
+
+@@ -2413,9 +2461,6 @@ read_and_display_attr_value (unsigned long attribute,
+
+ switch (form)
+ {
+- default:
+- break;
+-
+ case DW_FORM_ref_addr:
+ if (dwarf_version == 2)
+ SAFE_BYTE_GET_AND_INC (uvalue, data, pointer_size, end);
+@@ -2499,6 +2544,8 @@ read_and_display_attr_value (unsigned long attribute,
+ case DW_FORM_udata:
+ case DW_FORM_GNU_addr_index:
+ case DW_FORM_addrx:
++ case DW_FORM_loclistx:
++ case DW_FORM_rnglistx:
+ READ_ULEB (uvalue, data, end);
+ break;
+
+@@ -2518,6 +2565,9 @@ read_and_display_attr_value (unsigned long attribute,
+ case DW_FORM_implicit_const:
+ uvalue = implicit_const;
+ break;
++
++ default:
++ break;
+ }
+
+ switch (form)
+@@ -2713,6 +2763,8 @@ read_and_display_attr_value (unsigned long attribute,
+ case DW_FORM_addrx2:
+ case DW_FORM_addrx3:
+ case DW_FORM_addrx4:
++ case DW_FORM_loclistx:
++ case DW_FORM_rnglistx:
+ if (!do_loc)
+ {
+ dwarf_vma base;
+@@ -2731,11 +2783,11 @@ read_and_display_attr_value (unsigned long attribute,
+ /* We have already displayed the form name. */
+ printf (_("%c(index: 0x%s): %s"), delimiter,
+ dwarf_vmatoa ("x", uvalue),
+- fetch_indexed_value (offset, pointer_size));
++ dwarf_vmatoa ("x", fetch_indexed_addr (offset, pointer_size)));
+ else
+ printf (_("%c(addr_index: 0x%s): %s"), delimiter,
+ dwarf_vmatoa ("x", uvalue),
+- fetch_indexed_value (offset, pointer_size));
++ dwarf_vmatoa ("x", fetch_indexed_addr (offset, pointer_size)));
+ }
+ break;
+
+@@ -2757,6 +2809,13 @@ read_and_display_attr_value (unsigned long attribute,
+ {
+ switch (attribute)
+ {
++ case DW_AT_loclists_base:
++ if (debug_info_p->loclists_base)
++ warn (_("CU @ 0x%s has multiple loclists_base values"),
++ dwarf_vmatoa ("x", debug_info_p->cu_offset));
++ debug_info_p->loclists_base = uvalue;
++ break;
++
+ case DW_AT_frame_base:
+ have_frame_base = 1;
+ /* Fall through. */
+@@ -2779,7 +2838,8 @@ read_and_display_attr_value (unsigned long attribute,
+ case DW_AT_GNU_call_site_target_clobbered:
+ if ((dwarf_version < 4
+ && (form == DW_FORM_data4 || form == DW_FORM_data8))
+- || form == DW_FORM_sec_offset)
++ || form == DW_FORM_sec_offset
++ || form == DW_FORM_loclistx)
+ {
+ /* Process location list. */
+ unsigned int lmax = debug_info_p->max_loc_offsets;
+@@ -2799,11 +2859,17 @@ read_and_display_attr_value (unsigned long attribute,
+ lmax, sizeof (*debug_info_p->have_frame_base));
+ debug_info_p->max_loc_offsets = lmax;
+ }
+- if (this_set != NULL)
++
++ if (form == DW_FORM_loclistx)
++ uvalue = fetch_indexed_value (uvalue, loclists);
++ else if (this_set != NULL)
+ uvalue += this_set->section_offsets [DW_SECT_LOC];
++
+ debug_info_p->have_frame_base [num] = have_frame_base;
+ if (attribute != DW_AT_GNU_locviews)
+ {
++ uvalue += debug_info_p->loclists_base;
++
+ /* Corrupt DWARF info can produce more offsets than views.
+ See PR 23062 for an example. */
+ if (debug_info_p->num_loc_offsets
+@@ -2847,7 +2913,8 @@ read_and_display_attr_value (unsigned long attribute,
+ case DW_AT_ranges:
+ if ((dwarf_version < 4
+ && (form == DW_FORM_data4 || form == DW_FORM_data8))
+- || form == DW_FORM_sec_offset)
++ || form == DW_FORM_sec_offset
++ || form == DW_FORM_rnglistx)
+ {
+ /* Process range list. */
+ unsigned int lmax = debug_info_p->max_range_lists;
+@@ -2861,6 +2928,10 @@ read_and_display_attr_value (unsigned long attribute,
+ lmax, sizeof (*debug_info_p->range_lists));
+ debug_info_p->max_range_lists = lmax;
+ }
++
++ if (form == DW_FORM_rnglistx)
++ uvalue = fetch_indexed_value (uvalue, rnglists);
++
+ debug_info_p->range_lists [num] = uvalue;
+ debug_info_p->num_range_lists++;
+ }
+@@ -3234,6 +3305,7 @@ read_and_display_attr_value (unsigned long attribute,
+ have_frame_base = 1;
+ /* Fall through. */
+ case DW_AT_location:
++ case DW_AT_loclists_base:
+ case DW_AT_string_length:
+ case DW_AT_return_addr:
+ case DW_AT_data_member_location:
+@@ -3251,7 +3323,8 @@ read_and_display_attr_value (unsigned long attribute,
+ case DW_AT_GNU_call_site_target_clobbered:
+ if ((dwarf_version < 4
+ && (form == DW_FORM_data4 || form == DW_FORM_data8))
+- || form == DW_FORM_sec_offset)
++ || form == DW_FORM_sec_offset
++ || form == DW_FORM_loclistx)
+ printf (_(" (location list)"));
+ /* Fall through. */
+ case DW_AT_allocated:
+@@ -3520,6 +3593,9 @@ process_debug_info (struct dwarf_section * section,
+ }
+
+ load_debug_section_with_follow (abbrev_sec, file);
++ load_debug_section_with_follow (loclists, file);
++ load_debug_section_with_follow (rnglists, file);
++
+ if (debug_displays [abbrev_sec].section.start == NULL)
+ {
+ warn (_("Unable to locate %s section!\n"),
+@@ -3732,6 +3808,7 @@ process_debug_info (struct dwarf_section * section,
+ debug_information [unit].have_frame_base = NULL;
+ debug_information [unit].max_loc_offsets = 0;
+ debug_information [unit].num_loc_offsets = 0;
++ debug_information [unit].loclists_base = 0;
+ debug_information [unit].range_lists = NULL;
+ debug_information [unit].max_range_lists= 0;
+ debug_information [unit].num_range_lists = 0;
+@@ -6468,20 +6545,21 @@ display_loc_list (struct dwarf_section *section,
+ /* Display a location list from a normal (ie, non-dwo) .debug_loclists section. */
+
+ static void
+-display_loclists_list (struct dwarf_section *section,
+- unsigned char **start_ptr,
+- unsigned int debug_info_entry,
+- dwarf_vma offset,
+- dwarf_vma base_address,
+- unsigned char **vstart_ptr,
+- int has_frame_base)
+-{
+- unsigned char *start = *start_ptr, *vstart = *vstart_ptr;
+- unsigned char *section_end = section->start + section->size;
+- dwarf_vma cu_offset;
+- unsigned int pointer_size;
+- unsigned int offset_size;
+- int dwarf_version;
++display_loclists_list (struct dwarf_section * section,
++ unsigned char ** start_ptr,
++ unsigned int debug_info_entry,
++ dwarf_vma offset,
++ dwarf_vma base_address,
++ unsigned char ** vstart_ptr,
++ int has_frame_base)
++{
++ unsigned char * start = *start_ptr;
++ unsigned char * vstart = *vstart_ptr;
++ unsigned char * section_end = section->start + section->size;
++ dwarf_vma cu_offset;
++ unsigned int pointer_size;
++ unsigned int offset_size;
++ unsigned int dwarf_version;
+
+ /* Initialize it due to a false compiler warning. */
+ dwarf_vma begin = -1, vbegin = -1;
+@@ -6547,27 +6625,59 @@ display_loclists_list (struct dwarf_section *section,
+ case DW_LLE_end_of_list:
+ printf (_("<End of list>\n"));
+ break;
++
++ case DW_LLE_base_addressx:
++ READ_ULEB (base_address, start, section_end);
++ print_dwarf_vma (base_address, pointer_size);
++ printf (_("(index into .debug_addr) "));
++ base_address = fetch_indexed_addr (base_address, pointer_size);
++ print_dwarf_vma (base_address, pointer_size);
++ printf (_("(base address)\n"));
++ break;
++
++ case DW_LLE_startx_endx:
++ READ_ULEB (begin, start, section_end);
++ begin = fetch_indexed_addr (begin, pointer_size);
++ READ_ULEB (end, start, section_end);
++ end = fetch_indexed_addr (end, pointer_size);
++ break;
++
++ case DW_LLE_startx_length:
++ READ_ULEB (begin, start, section_end);
++ begin = fetch_indexed_addr (begin, pointer_size);
++ READ_ULEB (end, start, section_end);
++ end += begin;
++ break;
++
++ case DW_LLE_default_location:
++ begin = end = 0;
++ break;
++
+ case DW_LLE_offset_pair:
+ READ_ULEB (begin, start, section_end);
+ begin += base_address;
+ READ_ULEB (end, start, section_end);
+ end += base_address;
+ break;
++
++ case DW_LLE_base_address:
++ SAFE_BYTE_GET_AND_INC (base_address, start, pointer_size,
++ section_end);
++ print_dwarf_vma (base_address, pointer_size);
++ printf (_("(base address)\n"));
++ break;
++
+ case DW_LLE_start_end:
+ SAFE_BYTE_GET_AND_INC (begin, start, pointer_size, section_end);
+ SAFE_BYTE_GET_AND_INC (end, start, pointer_size, section_end);
+ break;
++
+ case DW_LLE_start_length:
+ SAFE_BYTE_GET_AND_INC (begin, start, pointer_size, section_end);
+ READ_ULEB (end, start, section_end);
+ end += begin;
+ break;
+- case DW_LLE_base_address:
+- SAFE_BYTE_GET_AND_INC (base_address, start, pointer_size,
+- section_end);
+- print_dwarf_vma (base_address, pointer_size);
+- printf (_("(base address)\n"));
+- break;
++
+ #ifdef DW_LLE_view_pair
+ case DW_LLE_view_pair:
+ if (vstart)
+@@ -6581,15 +6691,17 @@ display_loclists_list (struct dwarf_section *section,
+ printf (_("views for:\n"));
+ continue;
+ #endif
++
+ default:
+ error (_("Invalid location list entry type %d\n"), llet);
+ return;
+ }
++
+ if (llet == DW_LLE_end_of_list)
+ break;
+- if (llet != DW_LLE_offset_pair
+- && llet != DW_LLE_start_end
+- && llet != DW_LLE_start_length)
++
++ if (llet == DW_LLE_base_address
++ || llet == DW_LLE_base_addressx)
+ continue;
+
+ if (start == section_end)
+@@ -6830,6 +6942,218 @@ loc_offsets_compar (const void *ap, const void *bp)
+ return ret;
+ }
+
++static int
++display_offset_entry_loclists (struct dwarf_section *section)
++{
++ unsigned char * start = section->start;
++ unsigned char * const end = start + section->size;
++
++ introduce (section, false);
++
++ do
++ {
++ dwarf_vma length;
++ unsigned short version;
++ unsigned char address_size;
++ unsigned char segment_selector_size;
++ uint32_t offset_entry_count;
++ uint32_t i;
++ bool is_64bit;
++
++ printf (_("Table at Offset 0x%lx\n"), (long)(start - section->start));
++
++ SAFE_BYTE_GET_AND_INC (length, start, 4, end);
++ if (length == 0xffffffff)
++ {
++ is_64bit = true;
++ SAFE_BYTE_GET_AND_INC (length, start, 8, end);
++ }
++ else
++ is_64bit = false;
++
++ SAFE_BYTE_GET_AND_INC (version, start, 2, end);
++ SAFE_BYTE_GET_AND_INC (address_size, start, 1, end);
++ SAFE_BYTE_GET_AND_INC (segment_selector_size, start, 1, end);
++ SAFE_BYTE_GET_AND_INC (offset_entry_count, start, 4, end);
++
++ printf (_(" Length: 0x%s\n"), dwarf_vmatoa ("x", length));
++ printf (_(" DWARF version: %u\n"), version);
++ printf (_(" Address size: %u\n"), address_size);
++ printf (_(" Segment size: %u\n"), segment_selector_size);
++ printf (_(" Offset entries: %u\n"), offset_entry_count);
++
++ if (version < 5)
++ {
++ warn (_("The %s section contains a corrupt or "
++ "unsupported version number: %d.\n"),
++ section->name, version);
++ return 0;
++ }
++
++ if (segment_selector_size != 0)
++ {
++ warn (_("The %s section contains an "
++ "unsupported segment selector size: %d.\n"),
++ section->name, segment_selector_size);
++ return 0;
++ }
++
++ if (offset_entry_count == 0)
++ {
++ warn (_("The %s section contains a table without offset\n"),
++ section->name);
++ return 0;
++ }
++
++ printf (_("\n Offset Entries starting at 0x%lx:\n"),
++ (long)(start - section->start));
++
++ if (is_64bit)
++ {
++ for (i = 0; i < offset_entry_count; i++)
++ {
++ dwarf_vma entry;
++
++ SAFE_BYTE_GET_AND_INC (entry, start, 8, end);
++ printf (_(" [%6u] 0x%s\n"), i, dwarf_vmatoa ("x", entry));
++ }
++ }
++ else
++ {
++ for (i = 0; i < offset_entry_count; i++)
++ {
++ uint32_t entry;
++
++ SAFE_BYTE_GET_AND_INC (entry, start, 4, end);
++ printf (_(" [%6u] 0x%x\n"), i, entry);
++ }
++ }
++
++ putchar ('\n');
++
++ uint32_t j;
++
++ for (j = 1, i = 0; i < offset_entry_count;)
++ {
++ unsigned char lle;
++ dwarf_vma base_address = 0;
++ dwarf_vma begin;
++ dwarf_vma finish;
++ dwarf_vma off = start - section->start;
++
++ if (j != i)
++ {
++ printf (_(" Offset Entry %u\n"), i);
++ j = i;
++ }
++
++ printf (" ");
++ print_dwarf_vma (off, 4);
++
++ SAFE_BYTE_GET_AND_INC (lle, start, 1, end);
++
++ switch (lle)
++ {
++ case DW_LLE_end_of_list:
++ printf (_("<End of list>\n\n"));
++ i ++;
++ continue;
++
++ case DW_LLE_base_addressx:
++ READ_ULEB (base_address, start, end);
++ print_dwarf_vma (base_address, address_size);
++ printf (_("(index into .debug_addr) "));
++ base_address = fetch_indexed_addr (base_address, address_size);
++ print_dwarf_vma (base_address, address_size);
++ printf (_("(base address)\n"));
++ continue;
++
++ case DW_LLE_startx_endx:
++ READ_ULEB (begin, start, end);
++ begin = fetch_indexed_addr (begin, address_size);
++ READ_ULEB (finish, start, end);
++ finish = fetch_indexed_addr (finish, address_size);
++ break;
++
++ case DW_LLE_startx_length:
++ READ_ULEB (begin, start, end);
++ begin = fetch_indexed_addr (begin, address_size);
++ READ_ULEB (finish, start, end);
++ finish += begin;
++ break;
++
++ case DW_LLE_offset_pair:
++ READ_ULEB (begin, start, end);
++ begin += base_address;
++ READ_ULEB (finish, start, end);
++ finish += base_address;
++ break;
++
++ case DW_LLE_default_location:
++ begin = finish = 0;
++ break;
++
++ case DW_LLE_base_address:
++ SAFE_BYTE_GET_AND_INC (base_address, start, address_size, end);
++ print_dwarf_vma (base_address, address_size);
++ printf (_("(base address)\n"));
++ continue;
++
++ case DW_LLE_start_end:
++ SAFE_BYTE_GET_AND_INC (begin, start, address_size, end);
++ SAFE_BYTE_GET_AND_INC (finish, start, address_size, end);
++ break;
++
++ case DW_LLE_start_length:
++ SAFE_BYTE_GET_AND_INC (begin, start, address_size, end);
++ READ_ULEB (finish, start, end);
++ finish += begin;
++ break;
++
++ default:
++ error (_("Invalid location list entry type %d\n"), lle);
++ return 0;
++ }
++
++ if (start == end)
++ {
++ warn (_("Location list starting at offset 0x%lx is not terminated.\n"),
++ (unsigned long) off);
++ break;
++ }
++
++ print_dwarf_vma (begin, address_size);
++ print_dwarf_vma (finish, address_size);
++
++ if (begin == finish)
++ fputs (_(" (start == end)"), stdout);
++ else if (begin > finish)
++ fputs (_(" (start > end)"), stdout);
++
++ /* Read the counted location descriptions. */
++ READ_ULEB (length, start, end);
++
++ if (length > (size_t) (end - start))
++ {
++ warn (_("Location list starting at offset 0x%lx is not terminated.\n"),
++ (unsigned long) off);
++ break;
++ }
++
++ putchar (' ');
++ (void) decode_location_expression (start, address_size, address_size,
++ version, length, 0, section);
++ start += length;
++ putchar ('\n');
++ }
++
++ putchar ('\n');
++ }
++ while (start < end);
++
++ return 1;
++}
++
+ static int
+ display_debug_loc (struct dwarf_section *section, void *file)
+ {
+@@ -6896,13 +7220,9 @@ display_debug_loc (struct dwarf_section *section, void *file)
+ }
+
+ SAFE_BYTE_GET_AND_INC (offset_entry_count, hdrptr, 4, end);
++
+ if (offset_entry_count != 0)
+- {
+- warn (_("The %s section contains "
+- "unsupported offset entry count: %d.\n"),
+- section->name, offset_entry_count);
+- return 0;
+- }
++ return display_offset_entry_loclists (section);
+
+ expected_start = hdrptr - section_begin;
+ }
+@@ -6962,9 +7282,10 @@ display_debug_loc (struct dwarf_section *section, void *file)
+ if (debug_information [first].num_loc_offsets > 0
+ && debug_information [first].loc_offsets [0] != expected_start
+ && debug_information [first].loc_views [0] != expected_start)
+- warn (_("Location lists in %s section start at 0x%s\n"),
++ warn (_("Location lists in %s section start at 0x%s rather than 0x%s\n"),
+ section->name,
+- dwarf_vmatoa ("x", debug_information [first].loc_offsets [0]));
++ dwarf_vmatoa ("x", debug_information [first].loc_offsets [0]),
++ dwarf_vmatoa ("x", expected_start));
+
+ if (!locs_sorted)
+ array = (unsigned int *) xcmalloc (num_loc_list, sizeof (unsigned int));
+@@ -7642,24 +7963,44 @@ display_debug_rnglists_list (unsigned char * start,
+ case DW_RLE_end_of_list:
+ printf (_("<End of list>\n"));
+ break;
+- case DW_RLE_base_address:
+- SAFE_BYTE_GET_AND_INC (base_address, start, pointer_size, finish);
++ case DW_RLE_base_addressx:
++ READ_ULEB (base_address, start, finish);
++ print_dwarf_vma (base_address, pointer_size);
++ printf (_("(base address index) "));
++ base_address = fetch_indexed_addr (base_address, pointer_size);
+ print_dwarf_vma (base_address, pointer_size);
+ printf (_("(base address)\n"));
+ break;
+- case DW_RLE_start_length:
+- SAFE_BYTE_GET_AND_INC (begin, start, pointer_size, finish);
++ case DW_RLE_startx_endx:
++ READ_ULEB (begin, start, finish);
++ READ_ULEB (end, start, finish);
++ begin = fetch_indexed_addr (begin, pointer_size);
++ end = fetch_indexed_addr (begin, pointer_size);
++ break;
++ case DW_RLE_startx_length:
++ READ_ULEB (begin, start, finish);
+ READ_ULEB (length, start, finish);
++ begin = fetch_indexed_addr (begin, pointer_size);
+ end = begin + length;
+ break;
+ case DW_RLE_offset_pair:
+ READ_ULEB (begin, start, finish);
+ READ_ULEB (end, start, finish);
+ break;
++ case DW_RLE_base_address:
++ SAFE_BYTE_GET_AND_INC (base_address, start, pointer_size, finish);
++ print_dwarf_vma (base_address, pointer_size);
++ printf (_("(base address)\n"));
++ break;
+ case DW_RLE_start_end:
+ SAFE_BYTE_GET_AND_INC (begin, start, pointer_size, finish);
+ SAFE_BYTE_GET_AND_INC (end, start, pointer_size, finish);
+ break;
++ case DW_RLE_start_length:
++ SAFE_BYTE_GET_AND_INC (begin, start, pointer_size, finish);
++ READ_ULEB (length, start, finish);
++ end = begin + length;
++ break;
+ default:
+ error (_("Invalid range list entry type %d\n"), rlet);
+ rlet = DW_RLE_end_of_list;
+@@ -7667,7 +8008,7 @@ display_debug_rnglists_list (unsigned char * start,
+ }
+ if (rlet == DW_RLE_end_of_list)
+ break;
+- if (rlet == DW_RLE_base_address)
++ if (rlet == DW_RLE_base_address || rlet == DW_RLE_base_addressx)
+ continue;
+
+ /* Only a DW_RLE_offset_pair needs the base address added. */
+@@ -7712,6 +8053,8 @@ display_debug_ranges (struct dwarf_section *section,
+ return 0;
+ }
+
++ introduce (section, false);
++
+ if (is_rnglists)
+ {
+ dwarf_vma initial_length;
+@@ -7748,19 +8091,19 @@ display_debug_ranges (struct dwarf_section *section,
+ }
+ }
+
+- /* Get and check the version number. */
++ /* Get the other fields in the header. */
+ SAFE_BYTE_GET_AND_INC (version, start, 2, finish);
+-
+- if (version != 5)
+- {
+- warn (_("Only DWARF version 5 debug_rnglists info "
+- "is currently supported.\n"));
+- return 0;
+- }
+-
+ SAFE_BYTE_GET_AND_INC (address_size, start, 1, finish);
+-
+ SAFE_BYTE_GET_AND_INC (segment_selector_size, start, 1, finish);
++ SAFE_BYTE_GET_AND_INC (offset_entry_count, start, 4, finish);
++
++ printf (_(" Length: 0x%s\n"), dwarf_vmatoa ("x", initial_length));
++ printf (_(" DWARF version: %u\n"), version);
++ printf (_(" Address size: %u\n"), address_size);
++ printf (_(" Segment size: %u\n"), segment_selector_size);
++ printf (_(" Offset entries: %u\n"), offset_entry_count);
++
++ /* Check the fields. */
+ if (segment_selector_size != 0)
+ {
+ warn (_("The %s section contains "
+@@ -7769,16 +8112,39 @@ display_debug_ranges (struct dwarf_section *section,
+ return 0;
+ }
+
+- SAFE_BYTE_GET_AND_INC (offset_entry_count, start, 4, finish);
+- if (offset_entry_count != 0)
++ if (version < 5)
+ {
+- warn (_("The %s section contains "
+- "unsupported offset entry count: %u.\n"),
+- section->name, offset_entry_count);
++ warn (_("Only DWARF version 5+ debug_rnglists info "
++ "is currently supported.\n"));
+ return 0;
+ }
+- }
+
++ if (offset_entry_count != 0)
++ {
++ printf (_("\n Offsets starting at 0x%lx:\n"), (long)(start - section->start));
++ if (offset_size == 8)
++ {
++ for (i = 0; i < offset_entry_count; i++)
++ {
++ dwarf_vma entry;
++
++ SAFE_BYTE_GET_AND_INC (entry, start, 8, finish);
++ printf (_(" [%6u] 0x%s\n"), i, dwarf_vmatoa ("x", entry));
++ }
++ }
++ else
++ {
++ for (i = 0; i < offset_entry_count; i++)
++ {
++ uint32_t entry;
++
++ SAFE_BYTE_GET_AND_INC (entry, start, 4, finish);
++ printf (_(" [%6u] 0x%x\n"), i, entry);
++ }
++ }
++ }
++ }
++
+ if (load_debug_info (file) == 0)
+ {
+ warn (_("Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"),
+@@ -7837,8 +8203,7 @@ display_debug_ranges (struct dwarf_section *section,
+ warn (_("Range lists in %s section start at 0x%lx\n"),
+ section->name, (unsigned long) range_entries[0].ranges_offset);
+
+- introduce (section, false);
+-
++ putchar ('\n');
+ printf (_(" Offset Begin End\n"));
+
+ for (i = 0; i < num_range_list; i++)
+@@ -7898,8 +8263,12 @@ display_debug_ranges (struct dwarf_section *section,
+ start = next;
+ last_start = next;
+
+- (is_rnglists ? display_debug_rnglists_list : display_debug_ranges_list)
+- (start, finish, pointer_size, offset, base_address);
++ if (is_rnglists)
++ display_debug_rnglists_list
++ (start, finish, pointer_size, offset, base_address);
++ else
++ display_debug_ranges_list
++ (start, finish, pointer_size, offset, base_address);
+ }
+ putchar ('\n');
+
+diff --git a/binutils/dwarf.h b/binutils/dwarf.h
+index 4fc62abfa4c..ccce2461c81 100644
+--- a/binutils/dwarf.h
++++ b/binutils/dwarf.h
+@@ -181,9 +181,13 @@ typedef struct
+ /* This is an array of offsets to the location view table. */
+ dwarf_vma * loc_views;
+ int * have_frame_base;
++
++ /* Information for associating location lists with CUs. */
+ unsigned int num_loc_offsets;
+ unsigned int max_loc_offsets;
+ unsigned int num_loc_views;
++ dwarf_vma loclists_base;
++
+ /* List of .debug_ranges offsets seen in this .debug_info. */
+ dwarf_vma * range_lists;
+ unsigned int num_range_lists;
+diff --git a/binutils/testsuite/binutils-all/dw5.W b/binutils/testsuite/binutils-all/dw5.W
+index ebab8b7d3b0..bfcdac175ba 100644
+--- a/binutils/testsuite/binutils-all/dw5.W
++++ b/binutils/testsuite/binutils-all/dw5.W
+@@ -281,7 +281,7 @@ Contents of the .debug_loclists section:
+ 00000039 <End of list>
+
+ Contents of the .debug_rnglists section:
+-
++#...
+ Offset Begin End
+ 0000000c 0000000000001234 0000000000001236
+ 00000016 0000000000001234 0000000000001239
+diff --git a/binutils/testsuite/binutils-all/x86-64/pr26808.dump b/binutils/testsuite/binutils-all/x86-64/pr26808.dump
+index f64f9d008f9..7ef73b24dc9 100644
+--- a/binutils/testsuite/binutils-all/x86-64/pr26808.dump
++++ b/binutils/testsuite/binutils-all/x86-64/pr26808.dump
+@@ -30,13 +30,13 @@ Contents of the .debug_info.dwo section:
+ <a5> DW_AT_decl_file : 1
+ <a6> DW_AT_decl_line : 30
+ <a7> DW_AT_type : <0x90>
+- <ab> DW_AT_low_pc : (addr_index: 0x0): <no .debug_addr section>
++ <ab> DW_AT_low_pc : (addr_index: 0x0): 0
+ <ac> DW_AT_high_pc : 0x304
+ <b4> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <b6> DW_AT_GNU_all_tail_call_sites: 1
+ <b6> DW_AT_sibling : <0x11b>
+ <2><ba>: Abbrev Number: 14 (DW_TAG_lexical_block)
+- <bb> DW_AT_low_pc : (addr_index: 0x1): <no .debug_addr section>
++ <bb> DW_AT_low_pc : (addr_index: 0x1): 0
+ <bc> DW_AT_high_pc : 0x2fa
+ <3><c4>: Abbrev Number: 15 (DW_TAG_variable)
+ <c5> DW_AT_name : c1
+@@ -56,7 +56,7 @@ Contents of the .debug_info.dwo section:
+ <ff> DW_AT_artificial : 1
+ <ff> DW_AT_location : 2 byte block: fb 2 (DW_OP_GNU_addr_index <0x2>)
+ <3><102>: Abbrev Number: 14 (DW_TAG_lexical_block)
+- <103> DW_AT_low_pc : (addr_index: 0x3): <no .debug_addr section>
++ <103> DW_AT_low_pc : (addr_index: 0x3): 0
+ <104> DW_AT_high_pc : 0x2f
+ <4><10c>: Abbrev Number: 17 (DW_TAG_variable)
+ <10d> DW_AT_name : i
+@@ -274,7 +274,7 @@ Contents of the .debug_info.dwo section:
+ <2dd> DW_AT_decl_file : 1
+ <2de> DW_AT_decl_line : 70
+ <2df> DW_AT_linkage_name: _Z4f13iv
+- <2e8> DW_AT_low_pc : (addr_index: 0x0): <no .debug_addr section>
++ <2e8> DW_AT_low_pc : (addr_index: 0x0): 0
+ <2e9> DW_AT_high_pc : 0x6
+ <2f1> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <2f3> DW_AT_GNU_all_call_sites: 1
+@@ -282,7 +282,7 @@ Contents of the .debug_info.dwo section:
+ <2f4> DW_AT_specification: <0x219>
+ <2f8> DW_AT_decl_file : 2
+ <2f9> DW_AT_decl_line : 30
+- <2fa> DW_AT_low_pc : (addr_index: 0x1): <no .debug_addr section>
++ <2fa> DW_AT_low_pc : (addr_index: 0x1): 0
+ <2fb> DW_AT_high_pc : 0x20
+ <303> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <305> DW_AT_object_pointer: <0x30d>
+@@ -300,7 +300,7 @@ Contents of the .debug_info.dwo section:
+ <31d> DW_AT_specification: <0x223>
+ <321> DW_AT_decl_file : 2
+ <322> DW_AT_decl_line : 38
+- <323> DW_AT_low_pc : (addr_index: 0x2): <no .debug_addr section>
++ <323> DW_AT_low_pc : (addr_index: 0x2): 0
+ <324> DW_AT_high_pc : 0x18
+ <32c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <32e> DW_AT_object_pointer: <0x336>
+@@ -316,7 +316,7 @@ Contents of the .debug_info.dwo section:
+ <341> DW_AT_specification: <0x22d>
+ <345> DW_AT_decl_file : 2
+ <346> DW_AT_decl_line : 46
+- <347> DW_AT_low_pc : (addr_index: 0x3): <no .debug_addr section>
++ <347> DW_AT_low_pc : (addr_index: 0x3): 0
+ <348> DW_AT_high_pc : 0x18
+ <350> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <352> DW_AT_object_pointer: <0x35a>
+@@ -332,7 +332,7 @@ Contents of the .debug_info.dwo section:
+ <365> DW_AT_specification: <0x237>
+ <369> DW_AT_decl_file : 2
+ <36a> DW_AT_decl_line : 54
+- <36b> DW_AT_low_pc : (addr_index: 0x4): <no .debug_addr section>
++ <36b> DW_AT_low_pc : (addr_index: 0x4): 0
+ <36c> DW_AT_high_pc : 0x16
+ <374> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <376> DW_AT_object_pointer: <0x37e>
+@@ -348,7 +348,7 @@ Contents of the .debug_info.dwo section:
+ <389> DW_AT_specification: <0x26b>
+ <38d> DW_AT_decl_file : 2
+ <38e> DW_AT_decl_line : 62
+- <38f> DW_AT_low_pc : (addr_index: 0x5): <no .debug_addr section>
++ <38f> DW_AT_low_pc : (addr_index: 0x5): 0
+ <390> DW_AT_high_pc : 0x16
+ <398> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <39a> DW_AT_object_pointer: <0x3a2>
+@@ -366,7 +366,7 @@ Contents of the .debug_info.dwo section:
+ <3b2> DW_AT_specification: <0x275>
+ <3b6> DW_AT_decl_file : 2
+ <3b7> DW_AT_decl_line : 72
+- <3b8> DW_AT_low_pc : (addr_index: 0x6): <no .debug_addr section>
++ <3b8> DW_AT_low_pc : (addr_index: 0x6): 0
+ <3b9> DW_AT_high_pc : 0x1b
+ <3c1> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <3c3> DW_AT_object_pointer: <0x3cb>
+@@ -382,7 +382,7 @@ Contents of the .debug_info.dwo section:
+ <3d6> DW_AT_specification: <0x27f>
+ <3da> DW_AT_decl_file : 2
+ <3db> DW_AT_decl_line : 82
+- <3dc> DW_AT_low_pc : (addr_index: 0x7): <no .debug_addr section>
++ <3dc> DW_AT_low_pc : (addr_index: 0x7): 0
+ <3dd> DW_AT_high_pc : 0x1b
+ <3e5> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <3e7> DW_AT_object_pointer: <0x3ef>
+@@ -398,7 +398,7 @@ Contents of the .debug_info.dwo section:
+ <3fa> DW_AT_specification: <0x289>
+ <3fe> DW_AT_decl_file : 2
+ <3ff> DW_AT_decl_line : 92
+- <400> DW_AT_low_pc : (addr_index: 0x8): <no .debug_addr section>
++ <400> DW_AT_low_pc : (addr_index: 0x8): 0
+ <401> DW_AT_high_pc : 0x19
+ <409> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <40b> DW_AT_object_pointer: <0x413>
+@@ -414,7 +414,7 @@ Contents of the .debug_info.dwo section:
+ <41e> DW_AT_specification: <0x2ae>
+ <422> DW_AT_decl_file : 2
+ <423> DW_AT_decl_line : 102
+- <424> DW_AT_low_pc : (addr_index: 0x9): <no .debug_addr section>
++ <424> DW_AT_low_pc : (addr_index: 0x9): 0
+ <425> DW_AT_high_pc : 0x19
+ <42d> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <42f> DW_AT_object_pointer: <0x437>
+@@ -432,7 +432,7 @@ Contents of the .debug_info.dwo section:
+ <447> DW_AT_specification: <0x2b8>
+ <44b> DW_AT_decl_file : 2
+ <44c> DW_AT_decl_line : 112
+- <44d> DW_AT_low_pc : (addr_index: 0xa): <no .debug_addr section>
++ <44d> DW_AT_low_pc : (addr_index: 0xa): 0
+ <44e> DW_AT_high_pc : 0x1f
+ <456> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <458> DW_AT_object_pointer: <0x460>
+@@ -451,7 +451,7 @@ Contents of the .debug_info.dwo section:
+ <471> DW_AT_decl_line : 120
+ <472> DW_AT_linkage_name: _Z4f11av
+ <47b> DW_AT_type : <0x242>
+- <47f> DW_AT_low_pc : (addr_index: 0xb): <no .debug_addr section>
++ <47f> DW_AT_low_pc : (addr_index: 0xb): 0
+ <480> DW_AT_high_pc : 0xb
+ <488> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <48a> DW_AT_GNU_all_call_sites: 1
+@@ -459,7 +459,7 @@ Contents of the .debug_info.dwo section:
+ <48b> DW_AT_specification: <0x2c2>
+ <48f> DW_AT_decl_file : 2
+ <490> DW_AT_decl_line : 126
+- <491> DW_AT_low_pc : (addr_index: 0xc): <no .debug_addr section>
++ <491> DW_AT_low_pc : (addr_index: 0xc): 0
+ <492> DW_AT_high_pc : 0x20
+ <49a> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <49c> DW_AT_object_pointer: <0x4a4>
+@@ -478,7 +478,7 @@ Contents of the .debug_info.dwo section:
+ <4b4> DW_AT_decl_line : 134
+ <4b5> DW_AT_linkage_name: _Z3t12v
+ <4bd> DW_AT_type : <0x249>
+- <4c1> DW_AT_low_pc : (addr_index: 0xd): <no .debug_addr section>
++ <4c1> DW_AT_low_pc : (addr_index: 0xd): 0
+ <4c2> DW_AT_high_pc : 0x19
+ <4ca> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <4cc> DW_AT_GNU_all_tail_call_sites: 1
+@@ -489,7 +489,7 @@ Contents of the .debug_info.dwo section:
+ <4d2> DW_AT_decl_line : 142
+ <4d3> DW_AT_linkage_name: _Z3t13v
+ <4db> DW_AT_type : <0x249>
+- <4df> DW_AT_low_pc : (addr_index: 0xe): <no .debug_addr section>
++ <4df> DW_AT_low_pc : (addr_index: 0xe): 0
+ <4e0> DW_AT_high_pc : 0x14
+ <4e8> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <4ea> DW_AT_GNU_all_tail_call_sites: 1
+@@ -500,13 +500,13 @@ Contents of the .debug_info.dwo section:
+ <4f0> DW_AT_decl_line : 150
+ <4f1> DW_AT_linkage_name: _Z3t14v
+ <4f9> DW_AT_type : <0x249>
+- <4fd> DW_AT_low_pc : (addr_index: 0xf): <no .debug_addr section>
++ <4fd> DW_AT_low_pc : (addr_index: 0xf): 0
+ <4fe> DW_AT_high_pc : 0x61
+ <506> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <508> DW_AT_GNU_all_tail_call_sites: 1
+ <508> DW_AT_sibling : <0x532>
+ <2><50c>: Abbrev Number: 24 (DW_TAG_lexical_block)
+- <50d> DW_AT_low_pc : (addr_index: 0x10): <no .debug_addr section>
++ <50d> DW_AT_low_pc : (addr_index: 0x10): 0
+ <50e> DW_AT_high_pc : 0x57
+ <3><516>: Abbrev Number: 25 (DW_TAG_variable)
+ <517> DW_AT_name : s1
+@@ -538,13 +538,13 @@ Contents of the .debug_info.dwo section:
+ <54b> DW_AT_decl_line : 163
+ <54c> DW_AT_linkage_name: _Z3t15v
+ <554> DW_AT_type : <0x249>
+- <558> DW_AT_low_pc : (addr_index: 0x11): <no .debug_addr section>
++ <558> DW_AT_low_pc : (addr_index: 0x11): 0
+ <559> DW_AT_high_pc : 0x5d
+ <561> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <563> DW_AT_GNU_all_tail_call_sites: 1
+ <563> DW_AT_sibling : <0x58d>
+ <2><567>: Abbrev Number: 24 (DW_TAG_lexical_block)
+- <568> DW_AT_low_pc : (addr_index: 0x12): <no .debug_addr section>
++ <568> DW_AT_low_pc : (addr_index: 0x12): 0
+ <569> DW_AT_high_pc : 0x53
+ <3><571>: Abbrev Number: 25 (DW_TAG_variable)
+ <572> DW_AT_name : s1
+@@ -576,7 +576,7 @@ Contents of the .debug_info.dwo section:
+ <5a9> DW_AT_decl_line : 176
+ <5aa> DW_AT_linkage_name: _Z3t16v
+ <5b2> DW_AT_type : <0x249>
+- <5b6> DW_AT_low_pc : (addr_index: 0x13): <no .debug_addr section>
++ <5b6> DW_AT_low_pc : (addr_index: 0x13): 0
+ <5b7> DW_AT_high_pc : 0x13
+ <5bf> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <5c1> DW_AT_GNU_all_tail_call_sites: 1
+@@ -587,13 +587,13 @@ Contents of the .debug_info.dwo section:
+ <5c7> DW_AT_decl_line : 184
+ <5c8> DW_AT_linkage_name: _Z3t17v
+ <5d0> DW_AT_type : <0x249>
+- <5d4> DW_AT_low_pc : (addr_index: 0x14): <no .debug_addr section>
++ <5d4> DW_AT_low_pc : (addr_index: 0x14): 0
+ <5d5> DW_AT_high_pc : 0x5f
+ <5dd> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <5df> DW_AT_GNU_all_call_sites: 1
+ <5df> DW_AT_sibling : <0x612>
+ <2><5e3>: Abbrev Number: 24 (DW_TAG_lexical_block)
+- <5e4> DW_AT_low_pc : (addr_index: 0x15): <no .debug_addr section>
++ <5e4> DW_AT_low_pc : (addr_index: 0x15): 0
+ <5e5> DW_AT_high_pc : 0x59
+ <3><5ed>: Abbrev Number: 25 (DW_TAG_variable)
+ <5ee> DW_AT_name : c
+@@ -602,7 +602,7 @@ Contents of the .debug_info.dwo section:
+ <5f2> DW_AT_type : <0x53d>
+ <5f6> DW_AT_location : 2 byte block: 91 6f (DW_OP_fbreg: -17)
+ <3><5f9>: Abbrev Number: 24 (DW_TAG_lexical_block)
+- <5fa> DW_AT_low_pc : (addr_index: 0x16): <no .debug_addr section>
++ <5fa> DW_AT_low_pc : (addr_index: 0x16): 0
+ <5fb> DW_AT_high_pc : 0x50
+ <4><603>: Abbrev Number: 25 (DW_TAG_variable)
+ <604> DW_AT_name : i
+@@ -620,13 +620,13 @@ Contents of the .debug_info.dwo section:
+ <618> DW_AT_decl_line : 199
+ <619> DW_AT_linkage_name: _Z3t18v
+ <621> DW_AT_type : <0x249>
+- <625> DW_AT_low_pc : (addr_index: 0x17): <no .debug_addr section>
++ <625> DW_AT_low_pc : (addr_index: 0x17): 0
+ <626> DW_AT_high_pc : 0x5f
+ <62e> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <630> DW_AT_GNU_all_tail_call_sites: 1
+ <630> DW_AT_sibling : <0x67a>
+ <2><634>: Abbrev Number: 24 (DW_TAG_lexical_block)
+- <635> DW_AT_low_pc : (addr_index: 0x18): <no .debug_addr section>
++ <635> DW_AT_low_pc : (addr_index: 0x18): 0
+ <636> DW_AT_high_pc : 0x55
+ <3><63e>: Abbrev Number: 25 (DW_TAG_variable)
+ <63f> DW_AT_name : c
+@@ -635,7 +635,7 @@ Contents of the .debug_info.dwo section:
+ <643> DW_AT_type : <0x53d>
+ <647> DW_AT_location : 2 byte block: 91 6f (DW_OP_fbreg: -17)
+ <3><64a>: Abbrev Number: 24 (DW_TAG_lexical_block)
+- <64b> DW_AT_low_pc : (addr_index: 0x19): <no .debug_addr section>
++ <64b> DW_AT_low_pc : (addr_index: 0x19): 0
+ <64c> DW_AT_high_pc : 0x4c
+ <4><654>: Abbrev Number: 25 (DW_TAG_variable)
+ <655> DW_AT_name : i
+@@ -644,7 +644,7 @@ Contents of the .debug_info.dwo section:
+ <659> DW_AT_type : <0x242>
+ <65d> DW_AT_location : 2 byte block: 91 68 (DW_OP_fbreg: -24)
+ <4><660>: Abbrev Number: 24 (DW_TAG_lexical_block)
+- <661> DW_AT_low_pc : (addr_index: 0x1a): <no .debug_addr section>
++ <661> DW_AT_low_pc : (addr_index: 0x1a): 0
+ <662> DW_AT_high_pc : 0x34
+ <5><66a>: Abbrev Number: 25 (DW_TAG_variable)
+ <66b> DW_AT_name : s
+@@ -786,7 +786,7 @@ Contents of the .debug_info.dwo section:
+ <7d3> DW_AT_decl_line : 32
+ <7d4> DW_AT_linkage_name: _Z4t16av
+ <7dd> DW_AT_type : <0x7c4>
+- <7e1> DW_AT_low_pc : (addr_index: 0x0): <no .debug_addr section>
++ <7e1> DW_AT_low_pc : (addr_index: 0x0): 0
+ <7e2> DW_AT_high_pc : 0x13
+ <7ea> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <7ec> DW_AT_GNU_all_tail_call_sites: 1
+@@ -878,14 +878,14 @@ Contents of the .debug_info.dwo section:
+ <908> DW_AT_decl_file : 1
+ <909> DW_AT_decl_line : 70
+ <90a> DW_AT_linkage_name: _Z4f13iv
+- <913> DW_AT_low_pc : (addr_index: 0x0): <no .debug_addr section>
++ <913> DW_AT_low_pc : (addr_index: 0x0): 0
+ <914> DW_AT_high_pc : 0x6
+ <91c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <91e> DW_AT_GNU_all_call_sites: 1
+ <1><91e>: Abbrev Number: 17 (DW_TAG_subprogram)
+ <91f> DW_AT_specification: <0x8a8>
+ <923> DW_AT_decl_file : 2
+- <924> DW_AT_low_pc : (addr_index: 0x1): <no .debug_addr section>
++ <924> DW_AT_low_pc : (addr_index: 0x1): 0
+ <925> DW_AT_high_pc : 0xf
+ <92d> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <92f> DW_AT_object_pointer: <0x937>
+@@ -903,7 +903,7 @@ Contents of the .debug_info.dwo section:
+ <94b> DW_AT_specification: <0x89b>
+ <94f> DW_AT_decl_file : 2
+ <950> DW_AT_decl_line : 36
+- <951> DW_AT_low_pc : (addr_index: 0x2): <no .debug_addr section>
++ <951> DW_AT_low_pc : (addr_index: 0x2): 0
+ <952> DW_AT_high_pc : 0x20
+ <95a> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <95c> DW_AT_object_pointer: <0x964>
+@@ -922,7 +922,7 @@ Contents of the .debug_info.dwo section:
+ <978> DW_AT_decl_line : 72
+ <979> DW_AT_linkage_name: _Z3f10v
+ <981> DW_AT_type : <0x8b7>
+- <985> DW_AT_low_pc : (addr_index: 0x3): <no .debug_addr section>
++ <985> DW_AT_low_pc : (addr_index: 0x3): 0
+ <986> DW_AT_high_pc : 0xb
+ <98e> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <990> DW_AT_GNU_all_call_sites: 1
+@@ -933,7 +933,7 @@ Contents of the .debug_info.dwo section:
+ <997> DW_AT_decl_line : 80
+ <998> DW_AT_linkage_name: _Z4f11bPFivE
+ <9a5> DW_AT_type : <0x8b7>
+- <9a9> DW_AT_low_pc : (addr_index: 0x4): <no .debug_addr section>
++ <9a9> DW_AT_low_pc : (addr_index: 0x4): 0
+ <9aa> DW_AT_high_pc : 0x14
+ <9b2> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <9b4> DW_AT_GNU_all_tail_call_sites: 1
+@@ -954,7 +954,7 @@ Contents of the .debug_info.dwo section:
+ <9d3> DW_AT_specification: <0x8e0>
+ <9d7> DW_AT_decl_file : 2
+ <9d8> DW_AT_decl_line : 88
+- <9d9> DW_AT_low_pc : (addr_index: 0x5): <no .debug_addr section>
++ <9d9> DW_AT_low_pc : (addr_index: 0x5): 0
+ <9da> DW_AT_high_pc : 0xf
+ <9e2> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <9e4> DW_AT_object_pointer: <0x9ec>
+@@ -976,7 +976,7 @@ Contents of the .debug_info.dwo section:
+ <a06> DW_AT_decl_line : 96
+ <a07> DW_AT_linkage_name: _Z3f13v
+ <a0f> DW_AT_type : <0xa1e>
+- <a13> DW_AT_low_pc : (addr_index: 0x6): <no .debug_addr section>
++ <a13> DW_AT_low_pc : (addr_index: 0x6): 0
+ <a14> DW_AT_high_pc : 0xb
+ <a1c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <a1e> DW_AT_GNU_all_call_sites: 1
+@@ -990,7 +990,7 @@ Contents of the .debug_info.dwo section:
+ <a2a> DW_AT_decl_line : 104
+ <a2b> DW_AT_linkage_name: _Z3f14v
+ <a33> DW_AT_type : <0xa42>
+- <a37> DW_AT_low_pc : (addr_index: 0x7): <no .debug_addr section>
++ <a37> DW_AT_low_pc : (addr_index: 0x7): 0
+ <a38> DW_AT_high_pc : 0xb
+ <a40> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <a42> DW_AT_GNU_all_call_sites: 1
+@@ -1010,7 +1010,7 @@ Contents of the .debug_info.dwo section:
+ <a5b> DW_AT_decl_line : 112
+ <a5c> DW_AT_linkage_name: _Z3f15v
+ <a64> DW_AT_type : <0xa73>
+- <a68> DW_AT_low_pc : (addr_index: 0x8): <no .debug_addr section>
++ <a68> DW_AT_low_pc : (addr_index: 0x8): 0
+ <a69> DW_AT_high_pc : 0xb
+ <a71> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <a73> DW_AT_GNU_all_call_sites: 1
+@@ -1030,7 +1030,7 @@ Contents of the .debug_info.dwo section:
+ <a8f> DW_AT_decl_line : 127
+ <a90> DW_AT_linkage_name: _Z3f18i
+ <a98> DW_AT_type : <0xa42>
+- <a9c> DW_AT_low_pc : (addr_index: 0x9): <no .debug_addr section>
++ <a9c> DW_AT_low_pc : (addr_index: 0x9): 0
+ <a9d> DW_AT_high_pc : 0x44
+ <aa5> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
+ <aa7> DW_AT_GNU_all_call_sites: 1
+--
+2.31.1
+
diff --git a/main/binutils/binutils-ppc64le-assertion.patch b/main/binutils/binutils-ppc64le-assertion.patch
new file mode 100644
index 0000000000..cd6113e6f8
--- /dev/null
+++ b/main/binutils/binutils-ppc64le-assertion.patch
@@ -0,0 +1,32 @@
+From 97dd8079feb35456d7b387a594b5e00f7654b3b8 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Thu, 23 Jun 2022 17:50:30 +0930
+Subject: [PATCH] PowerPC64: fix assertion in ppc_build_one_stub with -Os code
+
+save_res stubs aren't written in ppc_build_one_stub, their offsets
+(which are zero) should not be checked.
+
+ * elf64-ppc.c (ppc_build_one_stub): Don't check save_res offsets.
+
+(cherry picked from commit 570e911f4e533fad33ad5e4e1102929cf7e80bd7)
+---
+ bfd/elf64-ppc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
+index cb12ed476d8..df503341fe9 100644
+--- a/bfd/elf64-ppc.c
++++ b/bfd/elf64-ppc.c
+@@ -11700,7 +11700,8 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg)
+ if (htab == NULL)
+ return false;
+
+- BFD_ASSERT (stub_entry->stub_offset >= stub_entry->group->stub_sec->size);
++ BFD_ASSERT (stub_entry->stub_offset >= stub_entry->group->stub_sec->size
++ || stub_entry->type.main == ppc_stub_save_res);
+ loc = stub_entry->group->stub_sec->contents + stub_entry->stub_offset;
+
+ htab->stub_count[stub_entry->type.main - 1] += 1;
+--
+2.31.1
+
diff --git a/main/bison/APKBUILD b/main/bison/APKBUILD
index fab20a4ab1..fbd78f98e1 100644
--- a/main/bison/APKBUILD
+++ b/main/bison/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bison
-pkgver=3.7.6
+pkgver=3.8.2
pkgrel=0
pkgdesc="The GNU general-purpose parser generator"
arch="all"
@@ -21,6 +21,9 @@ subpackages="$pkgname-doc"
# - CVE-2020-24980
build() {
+ # work around temporary failure for armhf
+ CFLAGS="$CFLAGS -O2" \
+ CXXFLAGS="$CXXFLAGS -O2" \
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -41,4 +44,6 @@ package() {
rmdir -p "$pkgdir"/usr/lib 2>/dev/null || true
}
-sha512sums="6c1c9b825fbd2c94b8903f03a7e68e6832599f7bbd8d3c49864537c11b038c45a15de02fd36128d662af314334c83515bbc132df84e9acc6c651e98649c65bad bison-3.7.6.tar.xz"
+sha512sums="
+d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444 bison-3.8.2.tar.xz
+"
diff --git a/main/bluez/APKBUILD b/main/bluez/APKBUILD
index 43a6073005..3f90d683c0 100644
--- a/main/bluez/APKBUILD
+++ b/main/bluez/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bluez
-pkgver=5.64
+pkgver=5.65
pkgrel=0
pkgdesc="Tools for the Bluetooth protocol stack"
url="http://www.bluez.org/"
@@ -187,7 +187,7 @@ openrc() {
}
sha512sums="
-f11f9974b29c5c6fce3890d7e42425c1cb02e42c1b8f49c5cc4b249234e67b64317d0e5e82721e2fbf1b53269c8569a9c869d59ce42b5e927f6622f0753e53cd bluez-5.64.tar.xz
+c20c09a1a75053c77d73b3ce15ac7fd321eb6df5ca1646d57c6848b87c0c9957908bc17dd928da4ef2aacfc8667877cbc7511c1ba43db839bfa9bf1fb8269907 bluez-5.65.tar.xz
e1d64fac673cceb657684b1bc5c36ff6d05f7cc5832d940863129adacd5b8ade1315b14df039a61f061950ac99e155266530efe2d2d35ea3c145b0469698a726 bluetooth.initd
8d7b7c8938a2316ce0a855e9bdf1ef8fcdf33d23f4011df828270a088b88b140a19c432e83fef15355d0829e3c86be05b63e7718fef88563254ea239b8dc12ac rfcomm.initd
a70aa0dbbabe7e29ee81540a6f98bf191a850da55a28f678975635caf34b363cf4d461a801b3484120ee28fdd21240bd456a4f5d706262700924bd2e9a0972fb rfcomm.confd
diff --git a/main/boost1.78/bjam-no-skip-install.patch b/main/boost1.78/bjam-no-skip-install.patch
deleted file mode 100644
index bf63081f52..0000000000
--- a/main/boost1.78/bjam-no-skip-install.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Patch-Source: https://github.com/bfgroup/b2/commit/78fd284a42caabe8815cb0870b46e5567872e75b
-From 78fd284a42caabe8815cb0870b46e5567872e75b Mon Sep 17 00:00:00 2001
-From: Dmitry <grisumbras@gmail.com>
-Date: Sat, 11 Dec 2021 16:58:23 +0300
-Subject: [PATCH] Don't skip install targets if there's <build>no in ureqs
- (#113)
-
----
- src/tools/stage.jam | 4 ++++
- test/install_build_no.py | 26 ++++++++++++++++++++++++++
- test/test_all.py | 1 +
- 3 files changed, 31 insertions(+)
- create mode 100755 test/install_build_no.py
-
-diff --git a/src/tools/stage.jam b/src/tools/stage.jam
-index c5f02e3ba4..325129dc81 100644
---- a/tools/build/src/tools/stage.jam
-+++ b/tools/build/src/tools/stage.jam
-@@ -478,6 +478,10 @@ class install-target-class : basic-target
- return [ sequence.unique $(result2) ] ;
- }
-
-+ rule skip-from-usage-requirements ( )
-+ {
-+ }
-+
- # Returns true iff 'type' is subtype of some element of 'types-to-include'.
- #
- local rule include-type ( type : types-to-include * )
-diff --git a/test/install_build_no.py b/test/install_build_no.py
-new file mode 100755
-index 0000000000..0ccf3c5cc6
---- /dev/null
-+++ b/tools/build/test/install_build_no.py
-@@ -0,0 +1,26 @@
-+#!/usr/bin/python
-+
-+# Copyright 2021 Dmitry Arkhipov (grisumbras@gmail.com)
-+# Distributed under the Boost Software License, Version 1.0.
-+# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
-+
-+# Check that <build>no in usage-requirements of dependencies does not affect
-+# install rule, i.e. a skipped installed target does not affect insallation of
-+# other targets.
-+
-+import BoostBuild
-+
-+t = BoostBuild.Tester()
-+
-+t.write("a.cpp", "int main() {}\n")
-+
-+t.write("jamroot.jam", """
-+make x : : maker : <build>no ;
-+exe a : a.cpp ;
-+install install : x a ;
-+""")
-+
-+t.run_build_system()
-+t.expect_addition("install/a.exe")
-+
-+t.cleanup()
-diff --git a/test/test_all.py b/test/test_all.py
-index b7ef5ad701..9ed729d017 100644
---- a/tools/build/test/test_all.py
-+++ b/tools/build/test/test_all.py
-@@ -250,6 +250,7 @@ def reorder_tests(tests, first_test):
- "inherit_toolset",
- "inherited_dependency",
- "inline",
-+ "install_build_no",
- "libjpeg",
- "liblzma",
- "libpng",
diff --git a/main/boost1.78/boost-1.78.0-interprocess-musl-include.patch b/main/boost1.78/boost-1.78.0-interprocess-musl-include.patch
deleted file mode 100644
index 5a6f8a97c5..0000000000
--- a/main/boost1.78/boost-1.78.0-interprocess-musl-include.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Patch-Source: https://github.com/boostorg/interprocess/commit/d002a0d929ecb031843d806c2bda69e013442e13
-From: Leonardo Neumann <leonardo@neumann.dev.br>
-Date: Mon, 13 Dec 2021 01:07:20 -0300
-Subject: [PATCH] Fix missing sys/stat.h include on musl-based systems
-
-Boost 1.78.0 fails to build on musl-based systems because musl does
-not include sys/stat.h by default.
-
-Fixes #161 ("Boost compiler error")
---- a/boost/interprocess/permissions.hpp
-+++ b/boost/interprocess/permissions.hpp
-@@ -29,6 +29,10 @@
-
- #include <boost/interprocess/detail/win32_api.hpp>
-
-+#else
-+
-+#include <sys/stat.h>
-+
- #endif
-
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
diff --git a/main/boost1.78/0001-revert-cease-dependence-on-range.patch b/main/boost1.79/0001-revert-cease-dependence-on-range.patch
index a6002074ab..a6002074ab 100644
--- a/main/boost1.78/0001-revert-cease-dependence-on-range.patch
+++ b/main/boost1.79/0001-revert-cease-dependence-on-range.patch
diff --git a/main/boost1.79/APKBUILD b/main/boost1.79/APKBUILD
new file mode 100644
index 0000000000..d3798166a7
--- /dev/null
+++ b/main/boost1.79/APKBUILD
@@ -0,0 +1,194 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=boost1.79
+pkgver=1.79.0
+_pkgver="${pkgver//./_}"
+pkgrel=2
+pkgdesc="Free peer-reviewed portable C++ source libraries"
+url="https://www.boost.org/"
+arch="all"
+license="BSL-1.0"
+depends="$pkgname-libs"
+depends_dev="$pkgname linux-headers bzip2-dev icu-dev xz-dev zlib-dev"
+makedepends="$depends_dev python3-dev>=3.8 flex bison"
+subpackages="
+ $pkgname-static
+ $pkgname-dev
+ $pkgname-doc
+ "
+source="https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/boost_$_pkgver.tar.bz2
+ boost-1.57.0-python-abi_letters.patch
+ boost-1.57.0-python-libpython_dep.patch
+ 0001-revert-cease-dependence-on-range.patch
+ boost-1.79.0-fix-segfault-in-array-erase.patch
+ "
+builddir="$srcdir/boost_$_pkgver"
+
+_enginedir="tools/build/src/engine"
+_bjam="$builddir"/$_enginedir/b2
+
+_libs="
+ atomic
+ chrono
+ container
+ context
+ contract
+ coroutine
+ date_time
+ fiber
+ filesystem
+ graph
+ iostreams
+ locale
+ log_setup
+ log
+ math
+ prg_exec_monitor
+ program_options
+ python3
+ random
+ regex
+ serialization
+ stacktrace_basic
+ stacktrace_noop
+ system
+ thread
+ timer
+ type_erasure
+ unit_test_framework
+ wave
+ wserialization
+ json
+ nowide
+ "
+for _lib in $_libs; do
+ subpackages="$subpackages $pkgname-${_lib}:_boostlib"
+done; unset -v _lib
+subpackages="$subpackages $pkgname-libs"
+
+_set_options() {
+ local _python="$(_pyversion python3)"
+ export PY3_VERSION="$_python"
+ export BOOST_ROOT="$builddir"
+
+ _options="
+ --user-config=\"$builddir/user-config.jam\"
+ --prefix=\"$pkgdir/usr\"
+ variant=release
+ python=$PY3_VERSION
+ toolset=gcc
+ debug-symbols=off
+ threading=multi
+ runtime-link=shared
+ link=shared,static
+ cflags=-fno-strict-aliasing
+ --layout=system
+ -q
+ -j${JOBS:-2}
+ "
+}
+
+prepare() {
+ default_prepare
+ _set_options
+
+ local abiflags="$(python3-config --abiflags)"
+
+ # create user-config.jam
+ cat > user-config.jam <<-__EOF__
+
+ using gcc : : $CC : <cxxflags>"$CXXFLAGS" <linkflags>"$LDFLAGS" ;
+ using python : $PY3_VERSION : /usr/bin/python3 : /usr/include/python${PY3_VERSION}$abiflags : : : : $abiflags ;
+
+ __EOF__
+}
+
+build() {
+ _set_options
+
+ msg "Building bjam"
+ cd "$builddir"/$_enginedir
+ CC= ./build.sh gcc
+
+ msg "Building bcp"
+ cd "$builddir"/tools/bcp
+ "$_bjam" -j${JOBS:-2}
+
+ msg "Building boost"
+ cd "$builddir"
+
+ "$_bjam" $_options
+}
+
+check() {
+ cd "$builddir"/tools/build/test
+
+ PATH="${_bjam%/*}:$PATH" python3 test_all.py --default-bjam
+}
+
+package() {
+ _set_options
+
+ install -Dm755 "$_bjam" \
+ "$pkgdir"/usr/bin/b2
+ ln -s b2 "$pkgdir"/usr/bin/bjam # old name for b2 binary
+
+ install -Dm755 dist/bin/bcp "$pkgdir"/usr/bin/bcp
+
+ install -Dm644 LICENSE_1_0.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE_1_0.txt
+
+ "$pkgdir"/usr/bin/bjam $_options \
+ --includedir="$pkgdir"/usr/include \
+ --libdir="$pkgdir"/usr/lib \
+ install
+}
+
+static() {
+ pkgdesc="Boost static libraries"
+ depends="$depends_static"
+
+ amove usr/lib/lib*.a
+}
+
+_boostlib() {
+ local name="${subpkgname#$pkgname-}"
+ pkgdesc="Boost $name shared library"
+ depends="$depends__boostlib"
+
+ amove usr/lib/libboost_$name*.so.[0-9]*
+}
+
+libs() {
+ default_libs
+
+ pkgdesc="Boost shared libraries"
+ depends="$depends_libs"
+ local _pkg; for _pkg in $origsubpackages; do
+ case "$_pkg" in
+ *:_boostlib) depends="$depends ${_pkg%%:*}" ;;
+ esac
+ done
+
+ mkdir -p "$subpkgdir"
+ rmdir "$pkgdir"/usr/lib >/dev/null 2>&1 || :
+}
+
+dev() {
+ # Claim the unversioned name, this must be removed once we switch our
+ # boost to a new version. Replace previous boost version for clean -dev
+ # upgrade
+ default_dev
+ replaces="boost1.78-dev"
+}
+
+_pyversion() {
+ "$1" -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))'
+}
+
+sha512sums="
+70909e0561c213d10a1fdd692f9ae7b293d3cdc63e925bdc207da9e9bba6e86474341100e7ee5de6d94f9561196b1a3a1597055a7b7382babf8931131170a312 boost_1_79_0.tar.bz2
+d96d4d37394a31764ed817d0bc4a99cffa68a75ff1ecfd4417b9e1e5ae2c31a96ed24f948c6f2758ffdac01328d2402c4cf0d33a37107e4f5f721e636daebd66 boost-1.57.0-python-abi_letters.patch
+132c4b62815d605c2d3c9038427fa4f422612a33711d47b2862f2311516af8a371d6b75bf078a7bffe20be863f8d21fb9fe74dc1a1bac3a10d061e9768ec3e02 boost-1.57.0-python-libpython_dep.patch
+9b53d2fe2dddd592e43db03c26fadd6c07d4c45a980ae4c775b7a914346a3914f6e0c3ef42dad5e2ea4568afb86c9967e09444ff609cfba1e1d39f4980b22ad6 0001-revert-cease-dependence-on-range.patch
+17db69e7b41665b2fae5630aa5edf15f0b8d00aa04e8597b198eb4f530793e8227d0234ceb9c8a9859fac3a4ceb5b9eb51721329b91497a422d4ff579739b964 boost-1.79.0-fix-segfault-in-array-erase.patch
+"
diff --git a/main/boost1.78/boost-1.57.0-python-abi_letters.patch b/main/boost1.79/boost-1.57.0-python-abi_letters.patch
index 7df3ee7047..7df3ee7047 100644
--- a/main/boost1.78/boost-1.57.0-python-abi_letters.patch
+++ b/main/boost1.79/boost-1.57.0-python-abi_letters.patch
diff --git a/main/boost1.78/boost-1.57.0-python-libpython_dep.patch b/main/boost1.79/boost-1.57.0-python-libpython_dep.patch
index 57bfc26774..57bfc26774 100644
--- a/main/boost1.78/boost-1.57.0-python-libpython_dep.patch
+++ b/main/boost1.79/boost-1.57.0-python-libpython_dep.patch
diff --git a/main/boost1.79/boost-1.79.0-fix-segfault-in-array-erase.patch b/main/boost1.79/boost-1.79.0-fix-segfault-in-array-erase.patch
new file mode 100644
index 0000000000..f853bc25dd
--- /dev/null
+++ b/main/boost1.79/boost-1.79.0-fix-segfault-in-array-erase.patch
@@ -0,0 +1,50 @@
+Patch-Source: https://www.boost.org/users/history/version_1_79_0.html , known-issues
+diff -ur boost_1_79_0/boost/json/impl/array.ipp boost_1_79_0/boost/json/impl/array.ipp
+--- boost_1_79_0/boost/json/impl/array.ipp 2022-04-06 17:02:43.000000000 -0400
++++ boost_1_79_0/boost/json/impl/array.ipp 2022-04-13 20:55:20.464359478 -0400
+@@ -491,8 +491,11 @@
+ auto const p = &(*t_)[0] +
+ (pos - &(*t_)[0]);
+ destroy(p, p + 1);
+- relocate(p, p + 1, 1);
+ --t_->size;
++ if(t_->size > 0)
++ relocate(p, p + 1,
++ t_->size - (p -
++ &(*t_)[0]));
+ return p;
+ }
+
+diff -ur boost_1_79_0/libs/json/test/array.cpp boost_1_79_0/libs/json/test/array.cpp
+--- boost_1_79_0/libs/json/test/array.cpp 2022-04-06 17:02:43.000000000 -0400
++++ boost_1_79_0/libs/json/test/array.cpp 2022-04-13 20:53:32.671782680 -0400
+@@ -1270,6 +1270,21 @@
+ }
+
+ void
++ testIssue692()
++ {
++ array a;
++ object obj;
++ obj["test1"] = "hello";
++ a.push_back(obj);
++ a.push_back(obj);
++ a.push_back(obj);
++ a.push_back(obj);
++ a.push_back(obj);
++ while(a.size())
++ a.erase(a.begin());
++ }
++
++ void
+ run()
+ {
+ testDestroy();
+@@ -1283,6 +1298,7 @@
+ testExceptions();
+ testEquality();
+ testHash();
++ testIssue692();
+ }
+ };
+
diff --git a/main/boost1.80/0001-revert-cease-dependence-on-range.patch b/main/boost1.80/0001-revert-cease-dependence-on-range.patch
new file mode 100644
index 0000000000..a6002074ab
--- /dev/null
+++ b/main/boost1.80/0001-revert-cease-dependence-on-range.patch
@@ -0,0 +1,49 @@
+From 436e1dbe6fcd31523d261d18ad011392f1d6fbbc Mon Sep 17 00:00:00 2001
+From: Oliver Kowalke <oliver.kowalke@gmail.com>
+Date: Sun, 1 Dec 2019 20:40:28 +0100
+Subject: [PATCH] Revert "Cease dependence on Range"
+
+This reverts commit 0c556bb59241e682bbcd3f572815149c5a9b17db.
+
+see #44 (One test fails to compile after boostorg/coroutine submodule updated)
+---
+ boost/coroutine/asymmetric_coroutine.hpp | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/boost/coroutine/asymmetric_coroutine.hpp b/boost/coroutine/asymmetric_coroutine.hpp
+index ea96981..640896f 100644
+--- a/boost/coroutine/asymmetric_coroutine.hpp
++++ b/boost/coroutine/asymmetric_coroutine.hpp
+@@ -14,6 +14,7 @@
+ #include <boost/assert.hpp>
+ #include <boost/config.hpp>
+ #include <boost/move/move.hpp>
++#include <boost/range.hpp>
+ #include <boost/throw_exception.hpp>
+ #include <boost/utility/explicit_operator_bool.hpp>
+
+@@ -2354,19 +2355,12 @@ end( push_coroutine< R > & c)
+
+ }
+
+-// forward declaration of Boost.Range traits to break dependency on it
+-template<typename C, typename Enabler>
+-struct range_mutable_iterator;
+-
+-template<typename C, typename Enabler>
+-struct range_const_iterator;
+-
+ template< typename Arg >
+-struct range_mutable_iterator< coroutines::push_coroutine< Arg >, void >
++struct range_mutable_iterator< coroutines::push_coroutine< Arg > >
+ { typedef typename coroutines::push_coroutine< Arg >::iterator type; };
+
+ template< typename R >
+-struct range_mutable_iterator< coroutines::pull_coroutine< R >, void >
++struct range_mutable_iterator< coroutines::pull_coroutine< R > >
+ { typedef typename coroutines::pull_coroutine< R >::iterator type; };
+
+ }
+--
+2.24.1
+
diff --git a/main/boost1.78/APKBUILD b/main/boost1.80/APKBUILD
index 1a97aad532..32e72f9305 100644
--- a/main/boost1.78/APKBUILD
+++ b/main/boost1.80/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=boost1.78
-pkgver=1.78.0
+pkgname=boost1.80
+pkgver=1.80.0
_pkgver="${pkgver//./_}"
-pkgrel=1
+pkgrel=0
pkgdesc="Free peer-reviewed portable C++ source libraries"
url="https://www.boost.org/"
arch="all"
@@ -20,8 +20,8 @@ source="https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/boost_
boost-1.57.0-python-abi_letters.patch
boost-1.57.0-python-libpython_dep.patch
0001-revert-cease-dependence-on-range.patch
- bjam-no-skip-install.patch
- boost-1.78.0-interprocess-musl-include.patch
+ boost-1.80-filesystem-win-fix-dir-it-net-share.patch
+ boost-1.80-filesystem-fix-weakly-canonical-long-paths.patch
"
builddir="$srcdir/boost_$_pkgver"
@@ -70,7 +70,7 @@ subpackages="$subpackages $pkgname-libs"
# Claim the unversioned name, this must be removed once we switch our
# boost to a new version
provides="boost=$pkgver-r$pkgrel"
-replaces="boost"
+replaces="boost boost1.79"
_set_options() {
local _python="$(_pyversion python3)"
@@ -196,8 +196,11 @@ libs() {
}
dev() {
+ # Claim the unversioned name, this must be removed once we switch our
+ # boost to a new version. Replace previous boost version for clean -dev
+ # upgrade
default_dev
- replaces="boost1.77-dev"
+ replaces="boost1.79-dev"
}
_dev() {
@@ -220,10 +223,10 @@ _pyversion() {
}
sha512sums="
-9c34a387a203b99aa773eb0c59f5abac7a99ba10e4623653e793c1d5b29b99b88e0e4e0d4e2e4ca5d497c42f2e46e23bab66417722433a457dc818d7670bcbbf boost_1_78_0.tar.bz2
+829a95b463473d69ff79ea41799c68429bb79d3b2321fbdb71df079af237ab01de9ad7e9612d8783d925730acada010068d2d1aa856c34244ee5c0ece16f208f boost_1_80_0.tar.bz2
d96d4d37394a31764ed817d0bc4a99cffa68a75ff1ecfd4417b9e1e5ae2c31a96ed24f948c6f2758ffdac01328d2402c4cf0d33a37107e4f5f721e636daebd66 boost-1.57.0-python-abi_letters.patch
132c4b62815d605c2d3c9038427fa4f422612a33711d47b2862f2311516af8a371d6b75bf078a7bffe20be863f8d21fb9fe74dc1a1bac3a10d061e9768ec3e02 boost-1.57.0-python-libpython_dep.patch
9b53d2fe2dddd592e43db03c26fadd6c07d4c45a980ae4c775b7a914346a3914f6e0c3ef42dad5e2ea4568afb86c9967e09444ff609cfba1e1d39f4980b22ad6 0001-revert-cease-dependence-on-range.patch
-3e6679ce66b5fb5e89ba9500c7fdc94f0f7ede0c821cd89d488a618ecd7e6f2edd80b4a1928402a569f6e33fdefbd709bd16868b3d703a070c6117a65ac4761c bjam-no-skip-install.patch
-18d3944abd74a8f3b4dc53f39f47b4138a03b50f49f7a2cb7ccc49528d9a6c547d29b5589c620e02e0a6080c417fb33cd2b4d5a67644815d520091463771ed87 boost-1.78.0-interprocess-musl-include.patch
+bfc055c63191379b6db91a5c862cea3ce9e0856d6b8efdb31869a4b684a30319880f7033cd90f9c5493d9fd69765e62f858a0710e1cf5364777061d6eace1f78 boost-1.80-filesystem-win-fix-dir-it-net-share.patch
+0fe46226870bede3bd5a90a137e6ea406d217aa7de0582e6b08223bd0634b3640b93dfd6f7f6054f25edd42d815f313c20268e8f10fd3d520a287ac90b27d789 boost-1.80-filesystem-fix-weakly-canonical-long-paths.patch
"
diff --git a/main/boost1.80/boost-1.57.0-python-abi_letters.patch b/main/boost1.80/boost-1.57.0-python-abi_letters.patch
new file mode 100644
index 0000000000..7df3ee7047
--- /dev/null
+++ b/main/boost1.80/boost-1.57.0-python-abi_letters.patch
@@ -0,0 +1,62 @@
+--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200
++++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200
+@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti
+ # using python : 2.3 : /usr/local/bin/python ;
+ #
+ rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
+- : condition * : extension-suffix ? )
++ : condition * : extension-suffix ? : abi-letters ? )
+ {
+ project.push-current $(.project) ;
+
+@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ?
+ }
+ }
+
+- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ;
++ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ;
+
+ project.pop-current ;
+ }
+@@ -653,7 +653,7 @@ local rule system-library-dependencies (
+
+ # Declare a target to represent Python's library.
+ #
+-local rule declare-libpython-target ( version ? : requirements * )
++local rule declare-libpython-target ( version ? : requirements * : abi-letters ? )
+ {
+ # Compute the representation of Python version in the name of Python's
+ # library file.
+@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
+ }
+
+ # Declare it.
+- lib python.lib : : <name>python$(lib-version) $(requirements) ;
++ lib python.lib : : <name>python$(lib-version)$(abi-letters) $(requirements) ;
+ }
+
+
+ # Implementation of init.
+ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
+- condition * : extension-suffix ? )
++ condition * : extension-suffix ? : abi-letters ? )
+ {
+ local prefix ;
+ local exec-prefix ;
+@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o
+ extension-suffix ?= _d ;
+ }
+ extension-suffix ?= "" ;
++ abi-letters ?= "" ;
+
+ # Normalize and dissect any version number.
+ local major-minor ;
+@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
+ }
+ else
+ {
+- declare-libpython-target $(version) : $(target-requirements) ;
++ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ;
+
+ # This is an evil hack. On, Windows, when Python is embedded, nothing
+ # seems to set up sys.path to include Python's standard library
diff --git a/main/boost1.80/boost-1.57.0-python-libpython_dep.patch b/main/boost1.80/boost-1.57.0-python-libpython_dep.patch
new file mode 100644
index 0000000000..57bfc26774
--- /dev/null
+++ b/main/boost1.80/boost-1.57.0-python-libpython_dep.patch
@@ -0,0 +1,13 @@
+Index: boost_1_57_0/tools/build/src/tools/python.jam
+===================================================================
+--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406)
++++ boost_1_57_0/tools/build/src/tools/python.jam (working copy)
+@@ -994,7 +994,7 @@
+ else
+ {
+ alias python_for_extensions
+- :
++ : python
+ : $(target-requirements)
+ :
+ : $(usage-requirements)
diff --git a/main/boost1.80/boost-1.80-filesystem-fix-weakly-canonical-long-paths.patch b/main/boost1.80/boost-1.80-filesystem-fix-weakly-canonical-long-paths.patch
new file mode 100644
index 0000000000..9312059a60
--- /dev/null
+++ b/main/boost1.80/boost-1.80-filesystem-fix-weakly-canonical-long-paths.patch
@@ -0,0 +1,171 @@
+commit 476ca7b6c1d37a5d796f8525813a9a64c9e54ffc
+Author: Andrey Semashev <andrey.semashev@gmail.com>
+Date: Wed Aug 10 04:57:21 2022 +0300
+
+ Fix weakly_canonical on Windows with long paths prefix.
+
+ During its operation, weakly_canonical would call status() on the path
+ consisting only from the root name of the input path. This would fail
+ with ERROR_INVALID_FUNCTION if the root name starts with the "\\?\" prefix,
+ as the root name path is not absolute.
+
+ To fix this, we don't check the status of the root name path (which is
+ not the correct check anyways as it tests the current directory on the
+ corresponding drive for existence, which is not what we want). Additionally,
+ avoid calling status() on the paths containing dot and dot-dot elements
+ during the weakly_canonical execution for the same reason - the "\\?\"
+ prefix disables most of the path processing in Windows APIs, including
+ dot and dot-dot elements resolution.
+
+ Fixes https://github.com/boostorg/filesystem/issues/247.
+
+diff --git a/libs/filesystem/src/operations.cpp b/libs/filesystem/src/operations.cpp
+index dd636e9..ca2fff3 100644
+--- a/libs/filesystem/src/operations.cpp
++++ b/libs/filesystem/src/operations.cpp
+@@ -4434,7 +4434,7 @@ path weakly_canonical(path const& p, path const& base, system::error_code* ec)
+ path head(p);
+ for (; !head.empty(); --itr)
+ {
+- file_status head_status = detail::status_impl(head, &local_ec);
++ file_status head_status(detail::status_impl(head, &local_ec));
+ if (BOOST_UNLIKELY(head_status.type() == fs::status_error))
+ {
+ if (!ec)
+@@ -4450,32 +4450,83 @@ path weakly_canonical(path const& p, path const& base, system::error_code* ec)
+ head.remove_filename();
+ }
+
++ if (head.empty())
++ return p.lexically_normal();
++
++ path const& dot_p = dot_path();
++ path const& dot_dot_p = dot_dot_path();
++
+ #else
+
+- // On Windows, filesystem APIs such as GetFileAttributesW perform lexical path normalization internally.
+- // As a result, a path like "c:\a\.." can be reported as present even if "c:\a" is not. This would break
+- // canonical, as symlink_status that it calls internally would report an error that the file at the intermediate
+- // path does not exist. To avoid this, scan the initial path in the forward direction.
+- // Also, operate on paths with preferred separators. This can be important on Windows since GetFileAttributesW,
+- // which is called in status() may return "file not found" for paths to network shares and mounted cloud
+- // storages that have forward slashes as separators.
++ // On Windows, filesystem APIs such as GetFileAttributesW and CreateFileW perform lexical path normalization
++ // internally. As a result, a path like "c:\a\.." can be reported as present even if "c:\a" is not. This would
++ // break canonical, as symlink_status that it calls internally would report an error that the file at the
++ // intermediate path does not exist. To avoid this, scan the initial path in the forward direction.
++ // Also, operate on paths with preferred separators. This can be important on Windows since GetFileAttributesW
++ // or CreateFileW, which is called in status() may return "file not found" for paths to network shares and
++ // mounted cloud storages that have forward slashes as separators.
++ // Also, avoid querying status of the root name such as \\?\c: as CreateFileW returns ERROR_INVALID_FUNCTION for
++ // such path. Querying the status of a root name such as c: is also not right as this path refers to the current
++ // directory on drive C:, which is not what we want to test for existence anyway.
+ path::iterator itr(p.begin());
+ path head;
+- for (; itr != p_end; ++itr)
++ if (p.has_root_name())
+ {
+- path const& p_elem = *itr;
+- if (p_elem.size() == 1u && detail::is_directory_separator(p_elem.native()[0]))
++ BOOST_ASSERT(itr != p_end);
++ head = *itr;
++ ++itr;
++ }
++
++ if (p.has_root_directory())
++ {
++ BOOST_ASSERT(itr != p_end);
++ // Convert generic separator returned by the iterator for the root directory to
++ // the preferred separator.
++ head += path::preferred_separator;
++ ++itr;
++ }
++
++ if (!head.empty())
++ {
++ file_status head_status(detail::status_impl(head, &local_ec));
++ if (BOOST_UNLIKELY(head_status.type() == fs::status_error))
+ {
+- // Convert generic separator returned by the iterator for the root directory to
+- // the preferred separator.
+- head += path::preferred_separator;
++ if (!ec)
++ BOOST_FILESYSTEM_THROW(filesystem_error("boost::filesystem::weakly_canonical", head, local_ec));
++
++ *ec = local_ec;
++ return path();
+ }
+- else
++
++ if (head_status.type() == fs::file_not_found)
++ {
++ // If the root path does not exist then no path element exists
++ return p.lexically_normal();
++ }
++ }
++
++ path const& dot_p = dot_path();
++ path const& dot_dot_p = dot_dot_path();
++ for (; itr != p_end; ++itr)
++ {
++ path const& p_elem = *itr;
++
++ // Avoid querying status of paths containing dot and dot-dot elements, as this will break
++ // if the root name starts with "\\?\".
++ if (p_elem == dot_p)
++ continue;
++
++ if (p_elem == dot_dot_p)
+ {
+- head /= p_elem;
++ if (head.has_relative_path())
++ head.remove_filename();
++
++ continue;
+ }
+
+- file_status head_status = detail::status_impl(head, &local_ec);
++ head /= p_elem;
++
++ file_status head_status(detail::status_impl(head, &local_ec));
+ if (BOOST_UNLIKELY(head_status.type() == fs::status_error))
+ {
+ if (!ec)
+@@ -4492,33 +4543,22 @@ path weakly_canonical(path const& p, path const& base, system::error_code* ec)
+ }
+ }
+
++ if (head.empty())
++ return p.lexically_normal();
++
+ #endif
+
+- path const& dot_p = dot_path();
+- path const& dot_dot_p = dot_dot_path();
+ path tail;
+ bool tail_has_dots = false;
+ for (; itr != p_end; ++itr)
+ {
+ path const& tail_elem = *itr;
+-#if defined(BOOST_WINDOWS_API)
+- if (tail_elem.size() == 1u && detail::is_directory_separator(tail_elem.native()[0]))
+- {
+- // Convert generic separator returned by the iterator for the root directory to
+- // the preferred separator.
+- tail += path::preferred_separator;
+- continue;
+- }
+-#endif
+ tail /= tail_elem;
+ // for a later optimization, track if any dot or dot-dot elements are present
+ if (!tail_has_dots && (tail_elem == dot_p || tail_elem == dot_dot_p))
+ tail_has_dots = true;
+ }
+
+- if (head.empty())
+- return p.lexically_normal();
+-
+ head = detail::canonical(head, base, &local_ec);
+ if (BOOST_UNLIKELY(!!local_ec))
+ {
diff --git a/main/boost1.80/boost-1.80-filesystem-win-fix-dir-it-net-share.patch b/main/boost1.80/boost-1.80-filesystem-win-fix-dir-it-net-share.patch
new file mode 100644
index 0000000000..0d28b86bb6
--- /dev/null
+++ b/main/boost1.80/boost-1.80-filesystem-win-fix-dir-it-net-share.patch
@@ -0,0 +1,31 @@
+commit 9c9d127bddc2b72187c57f4933c49666255d7a4f
+Author: Olavo Belloc <obelloc@think-cell.com>
+Date: Mon Aug 8 10:54:02 2022 +0200
+
+ Limit the buffer size for compatibility with previous versions of Windows
+
+ The reported error was reproduced on Windows 7 and 8.1, but not on an early
+ version of Windows 10 (2004).
+
+ Closes https://github.com/boostorg/filesystem/pull/246.
+ Likely fixes https://github.com/boostorg/filesystem/issues/245.
+
+diff --git a/libs/filesystem/src/directory.cpp b/libs/filesystem/src/directory.cpp
+index 6a3e1dc..9334893 100644
+--- a/libs/filesystem/src/directory.cpp
++++ b/libs/filesystem/src/directory.cpp
+@@ -599,9 +599,12 @@ extra_data_format g_extra_data_format = file_directory_information_format;
+ * \brief Extra buffer size for GetFileInformationByHandleEx-based or NtQueryDirectoryFile-based directory iterator.
+ *
+ * Must be large enough to accommodate at least one FILE_DIRECTORY_INFORMATION or *_DIR_INFO struct and one filename.
+- * NTFS, VFAT, exFAT support filenames up to 255 UTF-16/UCS-2 characters. ReFS supports filenames up to 32768 UTF-16 characters.
++ * NTFS, VFAT, exFAT and ReFS support filenames up to 255 UTF-16/UCS-2 characters. (For ReFS, there is no information
++ * on the on-disk format, and it is possible that it supports longer filenames, up to 32768 UTF-16/UCS-2 characters.)
++ * The buffer cannot be larger than 64k, because up to Windows 8.1, NtQueryDirectoryFile and GetFileInformationByHandleEx
++ * fail with ERROR_INVALID_PARAMETER when trying to retrieve the filenames from a network share.
+ */
+-BOOST_CONSTEXPR_OR_CONST std::size_t dir_itr_extra_size = sizeof(file_id_extd_dir_info) + 65536u;
++BOOST_CONSTEXPR_OR_CONST std::size_t dir_itr_extra_size = 65536u;
+
+ inline system::error_code dir_itr_close(dir_itr_imp& imp) BOOST_NOEXCEPT
+ {
diff --git a/main/botan/APKBUILD b/main/botan/APKBUILD
index fac21689b8..2786b3b25c 100644
--- a/main/botan/APKBUILD
+++ b/main/botan/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: tcely <tcely@users.noreply.github.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=botan
-pkgver=2.19.1
+pkgver=2.19.2
pkgrel=1
pkgdesc="Crypto and TLS for C++11"
url="https://botan.randombit.net/"
arch="all"
license="BSD-2-Clause"
-depends_dev="boost-dev bzip2-dev openssl1.1-compat-dev sqlite-dev xz-dev zlib-dev"
+depends_dev="boost-dev bzip2-dev sqlite-dev xz-dev zlib-dev"
makedepends="$depends_dev python3"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="https://botan.randombit.net/releases/Botan-$pkgver.tar.xz"
@@ -41,7 +41,6 @@ build() {
--with-bzip2 \
--with-lzma \
--with-openmp \
- --with-openssl \
--with-sqlite3 \
--with-zlib \
--with-os-feature=getrandom \
@@ -60,5 +59,5 @@ package() {
}
sha512sums="
-e604be0e7e82da89e3e1949d3035a87dc63314bd9854d5fe5129ccb3ed5bc78edb0406c7f8ad1a152b59a63b6d98ba207a0851a08428c3452cce794614b5eef5 Botan-2.19.1.tar.xz
+52b9c80a240457e46a299480338472f7d0c0b56df7b1709fdef52c5be3afca5b474fe143801c9a332ae884eaf033e60461c9d3e0b2f7b069f4fe8b4c45932abf Botan-2.19.2.tar.xz
"
diff --git a/main/bridge/APKBUILD b/main/bridge/APKBUILD
index 950862e6f9..71dd7f0e95 100644
--- a/main/bridge/APKBUILD
+++ b/main/bridge/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bridge
pkgver=1.5
-pkgrel=4
+pkgrel=5
pkgdesc="Scripts for configuring network bridge interfaces"
url="https://wiki.alpinelinux.org/wiki/Bridge"
arch="noarch"
@@ -11,8 +11,15 @@ source="bridge.pre-up"
builddir="$srcdir"
+# secfixes:
+# 0:
+# - CVE-2021-42533
+# - CVE-2021-42719
+# - CVE-2021-42720
+# - CVE-2021-42722
+# - CVE-2021-42725
+
package() {
- cd "$builddir"
install -Dm755 "$srcdir"/bridge.pre-up \
"$pkgdir"/etc/network/if-pre-up.d/bridge
install -d "$pkgdir"/etc/network/if-post-down.d
diff --git a/main/brotli/APKBUILD b/main/brotli/APKBUILD
index d371e0f7bc..53f6a763ef 100644
--- a/main/brotli/APKBUILD
+++ b/main/brotli/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: prspkt <prspkt@protonmail.com>
pkgname=brotli
pkgver=1.0.9
-pkgrel=6
+pkgrel=7
pkgdesc="Generic lossless compressor"
url="https://github.com/google/brotli"
arch="all"
diff --git a/main/btrfs-progs/APKBUILD b/main/btrfs-progs/APKBUILD
index 3a0233bd79..078b06c4b2 100644
--- a/main/btrfs-progs/APKBUILD
+++ b/main/btrfs-progs/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=btrfs-progs
-pkgver=5.18
+pkgver=5.18.1
pkgrel=0
pkgdesc="BTRFS filesystem utilities"
url="https://btrfs.wiki.kernel.org"
@@ -89,5 +89,5 @@ extra() {
}
sha512sums="
-142d9c133a41c0843ab8442018a6caf5186757d6c8d73f9a69a2245f62590d93a448dae6fdde2ebc5f091cc39da9a79ad0e8c94e1873d75e6c723dcc79d74309 btrfs-progs-v5.18.tar.xz
+265a03b0db00a231ad51bb75fb161dee0a7a51cd120a696ca0524f08ef635b18afe43b391fa9889a4a79734ccc3931e4374bd950eb26dc47ddc8482368efed0e btrfs-progs-v5.18.1.tar.xz
"
diff --git a/main/build-base/APKBUILD b/main/build-base/APKBUILD
index 7dff94e7ec..709b5eec6b 100644
--- a/main/build-base/APKBUILD
+++ b/main/build-base/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=build-base
pkgver=0.5
-pkgrel=2
+pkgrel=3
url=http://dev.alpinelinux.org/cgit
pkgdesc="Meta package for build base"
depends="binutils file gcc g++ make libc-dev fortify-headers patch"
@@ -11,7 +11,7 @@ if [ "$CHOST" != "$CTARGET" ]; then
depends="binutils-$CTARGET_ARCH gcc-$CTARGET_ARCH g++-$CTARGET_ARCH $depends"
fi
arch="noarch"
-license=none
+license="MIT"
options="!check"
build() {
diff --git a/main/busybox-initscripts/APKBUILD b/main/busybox-initscripts/APKBUILD
index c4513926f3..418b61ad74 100644
--- a/main/busybox-initscripts/APKBUILD
+++ b/main/busybox-initscripts/APKBUILD
@@ -1,37 +1,27 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=busybox-initscripts
-pkgver=4.1
-pkgrel=0
+pkgver=4.2
+pkgrel=1
pkgdesc="Init scripts for busybox daemons"
url="https://git.alpinelinux.org/aports/tree/main/busybox-initscripts"
arch="noarch"
license="GPL-2.0-only"
-depends="busybox openrc>=0.24.1-r6 mdev-conf=$pkgver-r$pkgrel"
+depends="busybox openrc>=0.24.1-r6 mdev-conf"
makedepends=""
install="$pkgname.post-install $pkgname.post-upgrade"
-subpackages="mdev-conf:_mdev_conf"
-checkdepends="bats"
replaces="alpine-baselayout openntpd"
source="acpid.initd crond.initd dnsd.initd httpd.initd inetd.initd klogd.initd
mdev.initd ntpd.initd rdate.initd syslog.initd udhcpd.initd loadkmap.initd
watchdog.initd crond.confd klogd.confd ntpd.confd rdate.confd syslog.confd
- watchdog.confd loadkmap.confd mdev.conf dvbdev usbdev persistent-storage
- ptpdev
- ptpdev.bats
+ watchdog.confd loadkmap.confd
"
-check() {
- cd "$srcdir"
- msg "running tests"
- bats *.bats
-}
-
package() {
local i
cd "$srcdir"
- mkdir -p "$pkgdir"/etc/conf.d "$pkgdir"/etc/init.d "$pkgdir"/lib/mdev\
+ mkdir -p "$pkgdir"/etc/conf.d "$pkgdir"/etc/init.d \
"$pkgdir"/etc/acpi/PWRF
for i in *.initd; do
install -m755 "$srcdir"/$i "$pkgdir"/etc/init.d/${i%.*} || return 1
@@ -39,9 +29,6 @@ package() {
for i in *.confd; do
install -m644 "$srcdir"/$i "$pkgdir"/etc/conf.d/${i%.*} || return 1
done
- install -m644 mdev.conf "$pkgdir"/etc
- install -m755 dvbdev persistent-storage ptpdev usbdev \
- "$pkgdir"/lib/mdev/
# poweroff script for acpid
cat >"$pkgdir"/etc/acpi/PWRF/00000080 <<EOF
@@ -51,11 +38,6 @@ EOF
chmod +x "$pkgdir"/etc/acpi/PWRF/00000080
}
-_mdev_conf() {
- pkgdesc="Configuration files for mdev and mdevd"
- amove etc/mdev.conf lib/mdev
-}
-
sha512sums="
dd548670114a92404b8e35fb915fdbe5994498b05b0a418583271c3dd72fb7800950e42c095c902a014eb198c046b8a346d43dccd8e7a158048ae33767c572ed acpid.initd
c9d0fb0f8cc27d661d3b4e58c56eb598ca368890576e18ffffd42efdf68ba35537656be9be319b2e2818aa0152d3ca8611bece2433512fbfcd4eed7988765549 crond.initd
@@ -77,10 +59,4 @@ b0ba67585f39d83320ed6de183d7463a0e163807b9f3dc6f0baa212236056f22aeb2c5399dfdcd54
bf8173ee33a5d2b61cbdbc1b070e599a17a21e5433a0d8aa9beef71e4ac831304076af8e7e58dc594cdee61562329793afdc57af91e5496bf5fffb9b734a3d9c syslog.confd
359af0a4a1841dd6557eaf3e71d39f0d7a2687bad6a8fc6ef436eccf72a40f85c6400a3b7880c7f64d8e460b6af8a0ff3dd5ffc3a4b1aa8eb0d8f7eaf99ee3e4 watchdog.confd
acbba3385fb2c416362eb9176f24146b617a2e394ee0e00b9eff89350f82468a5ab8396f4f52b0aaf03d341ac6150c73182e808fa3f29a2dc71c69271cdfb811 loadkmap.confd
-b5c299d5dcd854eb23717aab6938e2e1c9572d10ed667595b4a98f9cddca9f81c3f8f7ae508b62db5fe203c45c696d3c2a9ce62761aa329b2bcfcc5e5a3a9224 mdev.conf
-ebd82f935da2ca89097234dd8a8f47e179a423652c151123a1f3343f3e1e7bfaba2b8800380e988d4e8f4294545d3a9ab6708ae2e77c5b108b5f091bbce8f94a dvbdev
-b2dcf0ded9264334d79fbbb05dd12d649dc3119a060db5893f0e8aeca2141323961c3ba4c822a0ffb00dba848742d5cb374dc77e776b57cecde352a3e8e30f8a usbdev
-0f54666072a8ee32965cc1b5205a6d35bc2ba6655f298c37ba9ccd72949fa7c41b1e540ec91f41b11f4b261ace614cdcc42dccf390bf0a22698d0ba499feae39 persistent-storage
-46b9379a5def08ce0afffae546693c19be158ca4fa4ce3c619ec81e0adbaa087ea5dd6df10abbfcd59bfdaf351d7170a7d24c2b403eceeb80f4f04f090630227 ptpdev
-5e1f6fabd7845f9cd6f90477f10a0b428b4414caed18a6dfe8e86e2ce3d373521d593aa6a9ee475b138a18b15c7a403a2bb0e1987b1dbdb6d465ebd7d5836a86 ptpdev.bats
"
diff --git a/main/busybox-initscripts/dvbdev b/main/busybox-initscripts/dvbdev
deleted file mode 100644
index f0186c176c..0000000000
--- a/main/busybox-initscripts/dvbdev
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# MDEV=dvb0.demux1 -> ADAPTER=dvb0 -> N=0
-ADAPTER=${MDEV%.*}
-N=${ADAPTER#dvb}
-# MDEV=dvb0.demux1 -> DEVB_DEV=demux1
-DVB_DEV=${MDEV#*.}
-
-case "$ACTION" in
- add|"")
- mkdir -p dvb/adapter${N}
- mv ${MDEV} dvb/adapter${N}/${DVB_DEV}
- ;;
- remove)
- rm -f dvb/adapter${N}/${DVB_DEV}
- rmdir dvb/adapter${N} 2>/dev/null
- rmdir dvb/ 2>/dev/null
-esac
diff --git a/main/busybox-initscripts/mdev.conf b/main/busybox-initscripts/mdev.conf
deleted file mode 100644
index 0857942cab..0000000000
--- a/main/busybox-initscripts/mdev.conf
+++ /dev/null
@@ -1,141 +0,0 @@
-#
-# This is a sample mdev.conf.
-#
-
-# Devices:
-# Syntax: %s %d:%d %s
-# devices user:group mode
-
-$MODALIAS=.* root:root 0660 @modprobe -q -b "$MODALIAS"
-
-# null does already exist; therefore ownership has to be changed with command
-null root:root 0666 @chmod 666 $MDEV
-zero root:root 0666
-grsec root:root 0660
-full root:root 0666
-
-random root:root 0666
-urandom root:root 0444
-hwrandom root:root 0660
-
-console root:tty 0600
-
-# load frambuffer console when first frambuffer is found
-fb0 root:video 0660 @modprobe -q -b fbcon
-vchiq root:video 0660
-
-fd0 root:floppy 0660
-kmem root:root 0640
-mem root:root 0640
-port root:root 0640
-ptmx root:tty 0666
-
-# Kernel-based Virtual Machine.
-kvm root:kvm 660
-
-# ram.*
-ram([0-9]*) root:disk 0660 >rd/%1
-loop([0-9]+) root:disk 0660 >loop/%1
-
-# persistent storage
-dasd.* root:disk 0660 */lib/mdev/persistent-storage
-mmcblk.* root:disk 0660 */lib/mdev/persistent-storage
-nbd.* root:disk 0660 */lib/mdev/persistent-storage
-nvme.* root:disk 0660 */lib/mdev/persistent-storage
-sd[a-z].* root:disk 0660 */lib/mdev/persistent-storage
-sr[0-9]+ root:cdrom 0660 */lib/mdev/persistent-storage
-vd[a-z].* root:disk 0660 */lib/mdev/persistent-storage
-xvd[a-z].* root:disk 0660 */lib/mdev/persistent-storage
-
-md[0-9] root:disk 0660
-
-tty root:tty 0666
-tty[0-9] root:root 0600
-tty[0-9][0-9] root:tty 0660
-ttyS[0-9]* root:uucp 0660
-pty.* root:tty 0660
-vcs[0-9]* root:tty 0660
-vcsa[0-9]* root:tty 0660
-
-# rpi bluetooth
-#ttyAMA0 root:tty 660 @btattach -B /dev/$MDEV -P bcm -S 115200 -N &
-
-ttyACM[0-9] root:dialout 0660 @ln -sf $MDEV modem
-ttyUSB[0-9] root:dialout 0660 @ln -sf $MDEV modem
-ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem
-ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem
-slamr root:dialout 0660 @ln -sf $MDEV slamr0
-slusb root:dialout 0660 @ln -sf $MDEV slusb0
-fuse root:root 0666
-
-# dri device
-dri/.* root:video 0660
-card[0-9] root:video 0660 =dri/
-
-# alsa sound devices and audio stuff
-pcm.* root:audio 0660 =snd/
-control.* root:audio 0660 =snd/
-midi.* root:audio 0660 =snd/
-seq root:audio 0660 =snd/
-timer root:audio 0660 =snd/
-
-adsp root:audio 0660 >sound/
-audio root:audio 0660 >sound/
-dsp root:audio 0660 >sound/
-mixer root:audio 0660 >sound/
-sequencer.* root:audio 0660 >sound/
-
-SUBSYSTEM=sound;.* root:audio 0660
-
-# PTP devices
-ptp[0-9] root:root 0660 */lib/mdev/ptpdev
-
-# virtio-ports
-SUBSYSTEM=virtio-ports;vport.* root:root 0600 @mkdir -p virtio-ports; ln -sf ../$MDEV virtio-ports/$(cat /sys/class/virtio-ports/$MDEV/name)
-
-# misc stuff
-agpgart root:root 0660 >misc/
-psaux root:root 0660 >misc/
-rtc root:root 0664 >misc/
-
-# input stuff
-event[0-9]+ root:input 0640 =input/
-mice root:input 0640 =input/
-mouse[0-9] root:input 0640 =input/
-js[0-9] root:input 0640 =input/
-ts[0-9] root:input 0600 =input/
-
-# v4l stuff
-vbi[0-9] root:video 0660 >v4l/
-video[0-9]+ root:video 0660 >v4l/
-
-# dvb stuff
-dvb.* root:video 0660 */lib/mdev/dvbdev
-
-# load drivers for usb devices
-usb[0-9]+ root:root 0660 */lib/mdev/usbdev
-
-# net devices
-# 666 is fine: https://www.kernel.org/doc/Documentation/networking/tuntap.txt
-net/tun[0-9]* root:netdev 0666
-net/tap[0-9]* root:netdev 0666
-
-# zaptel devices
-zap(.*) root:dialout 0660 =zap/%1
-dahdi!(.*) root:dialout 0660 =dahdi/%1
-dahdi/(.*) root:dialout 0660 =dahdi/%1
-
-# raid controllers
-cciss!(.*) root:disk 0660 =cciss/%1
-cciss/(.*) root:disk 0660 =cciss/%1
-ida!(.*) root:disk 0660 =ida/%1
-ida/(.*) root:disk 0660 =ida/%1
-rd!(.*) root:disk 0660 =rd/%1
-rd/(.*) root:disk 0660 =rd/%1
-
-# tape devices
-nst[0-9]+.* root:tape 0660
-st[0-9]+.* root:tape 0660
-
-# fallback for any!device -> any/device
-(.*)!(.*) root:root 0660 =%1/%2
diff --git a/main/busybox-initscripts/persistent-storage b/main/busybox-initscripts/persistent-storage
deleted file mode 100644
index ea68948294..0000000000
--- a/main/busybox-initscripts/persistent-storage
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-
-symlink_action() {
- case "$ACTION" in
- add) ln -sf "$1" "$2";;
- remove) rm -f "$2";;
- esac
-}
-
-# cdrom symlink
-case "$MDEV" in
- sr*|xvd*)
- caps="$(cat /sys/block/$MDEV/capability 2>/dev/null)"
- if [ $(( 0x${caps:-0} & 8 )) -gt 0 ]; then
- symlink_action $MDEV cdrom
- fi
-esac
-
-# by-id symlinks
-mkdir -p disk/by-id
-
-partition=$(cat /sys/class/block/$MDEV/partition 2>/dev/null)
-case "$partition" in
- [0-9]*) partsuffix="-part$partition";;
-esac
-
-wwid=$(cat /sys/class/block/$MDEV/wwid 2>/dev/null)
-: ${wwid:=$(cat /sys/class/block/$MDEV/device/wwid 2>/dev/null)}
-
-if [ -n "$wwid" ]; then
- case "$MDEV" in
- nvme*) symlink_action ../../$MDEV disk/by-id/nvme-${wwid}${partsuffix};;
- esac
- case "$wwid" in
- naa.*) symlink_action ../../$MDEV disk/by-id/wwn-0x${wwid#naa.};;
- esac
-fi
-
-serial=$(sed -E -e 's/^\s+//' -e 's/\s+$//' -e 's/ /_/g' \
- /sys/class/block/$MDEV/device/serial 2>/dev/null)
-
-model=$(sed -E -e 's/^\s+//' -e 's/\s+$//' -e 's/ /_/g' \
- /sys/class/block/$MDEV/device/model 2>/dev/null)
-
-if [ -n "$serial" ] && [ -n "$model" ]; then
- case "$MDEV" in
- nvme*) symlink_action ../../$MDEV disk/by-id/nvme-${model}_${serial}${partsuffix};;
- esac
-fi
-
-# virtio-blk
-if [ -n "$serial" ]; then
- case "$MDEV" in
- vd*) symlink_action ../../$MDEV disk/by-id/virtio-${serial}${partsuffix};;
- esac
-fi
-
-# by-uuid, by-partuuid
-eval $(blkid /dev/$MDEV | cut -d: -f2-)
-if [ -n "$UUID" ]; then
- mkdir -p disk/by-uuid
- symlink_action ../../$MDEV disk/by-uuid/$UUID
-fi
-if [ -n "$PARTUUID" ]; then
- mkdir -p disk/by-partuuid
- symlink_action ../../$MDEV disk/by-partuuid/$PARTUUID
-fi
-
diff --git a/main/busybox-initscripts/ptpdev b/main/busybox-initscripts/ptpdev
deleted file mode 100755
index 56757fba28..0000000000
--- a/main/busybox-initscripts/ptpdev
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-symlink_action() {
- case "$ACTION" in
- add) ln -sf "$1" "$2";;
- remove) rm -f "$2";;
- esac
-}
-
-clock_name=$(cat ${SYSFS:-/sys}/class/ptp/$MDEV/clock_name 2>/dev/null | sed -e 's/ /_/g')
-case "$clock_name" in
- KVM_virtual_PTP) symlink_action $MDEV ptp_kvm ;;
- ptp_vmw) symlink_action $MDEV ptp_vmw ;;
- hyperv) symlink_action $MDEV ptp_hyperv ;;
-esac
diff --git a/main/busybox-initscripts/ptpdev.bats b/main/busybox-initscripts/ptpdev.bats
deleted file mode 100644
index 7c43c482d0..0000000000
--- a/main/busybox-initscripts/ptpdev.bats
+++ /dev/null
@@ -1,49 +0,0 @@
-setup() {
- mdevscript=${BATS_TEST_FILENAME%.bats}
- root="$BATS_FILE_TMPDIR"
- mkdir -p "$root"/dev "$root"/sys "$root"/bin
- PATH="$root/bin:$PATH"
- export SYSFS="$root/sys"
-
- mkdir -p "$root"/sys/class/ptp/ptp0 \
- "$root"/sys/class/ptp/ptp1 \
- "$root"/sys/class/ptp/ptp2
-
- echo "KVM virtual PTP" > "$root"/sys/class/ptp/ptp0/clock_name
- echo "ptp vmw" > "$root"/sys/class/ptp/ptp1/clock_name
- echo hyperv > "$root"/sys/class/ptp/ptp2/clock_name
-
- cd "$root"/dev
-}
-
-teardown() {
- rm -r "$root"
-}
-
-@test "ptpdev kvm" {
- MDEV=ptp0 ACTION=add sh $mdevscript
- [ $(readlink ptp_kvm) = ptp0 ]
-
- MDEV=ptp0 ACTION=remove sh $mdevscript
- run readlink ptp_kvm
- [ "$status" -ne 0 ]
-}
-
-@test "ptpdev vmw" {
- MDEV=ptp1 ACTION=add sh $mdevscript
- [ $(readlink ptp_vmw) = ptp1 ]
-
- MDEV=ptp1 ACTION=remove sh $mdevscript
- run readlink ptp_vmw
- [ "$status" -ne 0 ]
-}
-
-@test "ptpdev hyperv" {
- MDEV=ptp2 ACTION=add sh $mdevscript
- run readlink ptp_hyperv
- [ $(readlink ptp_hyperv) = ptp2 ]
-
- MDEV=ptp2 ACTION=remove sh $mdevscript
- run readlink ptp_hyperv
- [ "$status" -ne 0 ]
-}
diff --git a/main/busybox-initscripts/usbdev b/main/busybox-initscripts/usbdev
deleted file mode 100755
index c811736dda..0000000000
--- a/main/busybox-initscripts/usbdev
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-# mdev -s will not set SUBSYSTEM or DEVNAME so we trigger a hotplug event
-if [ "$SUBSYSTEM" != "usb" ] || [ "$DEVTYPE" != "usb_device" ]; then
- uev=/sys/bus/usb/devices/$MDEV/uevent
- [ -e "$uev" ] && echo "add" > "$uev"
- exit
-fi
-
-[ -n "$DEVNAME" ] || exit
-
-case "$ACTION" in
-add)
- mkdir -p "${DEVNAME%/*}"
- mv $MDEV $DEVNAME
- # autoload driver
- for i in /sys/$DEVPATH/*/modalias; do
- [ -e "$i" ] && echo $i
- done | xargs sort -u | xargs modprobe -a 2>/dev/null
- ;;
-remove)
- rm $DEVNAME
- ;;
-esac
-
diff --git a/main/busybox/0001-avoid-redefined-warnings-when-building-with-utmps.patch b/main/busybox/0001-avoid-redefined-warnings-when-building-with-utmps.patch
index 246e9b079c..1ce06f8c36 100644
--- a/main/busybox/0001-avoid-redefined-warnings-when-building-with-utmps.patch
+++ b/main/busybox/0001-avoid-redefined-warnings-when-building-with-utmps.patch
@@ -1,16 +1,93 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Mon, 06 Sep 2021 23:13:05 +0200
-Subject: [PATCH] Avoid redefined warnings when building with utmps
+From 711de34e8fa42bd9ec704cc922db937edada84d8 Mon Sep 17 00:00:00 2001
+From: Laurent Bercot <ska-devel@skarnet.org>
+Date: Fri, 22 Jul 2022 01:35:14 +0200
+Subject: [PATCH] Avoid redefined warnings when buiding with utmps
+Do not use _PATH_UTMP or _PATH_WTMP, and do not touch
+the files directly.
+---
+ include/libbb.h | 8 +++-----
+ libbb/messages.c | 4 ++--
+ libbb/utmp.c | 8 ++++----
+ util-linux/last_fancy.c | 2 +-
+ 4 files changed, 10 insertions(+), 12 deletions(-)
+
+diff --git a/include/libbb.h b/include/libbb.h
+index abbc9ac59..405108b17 100644
--- a/include/libbb.h
+++ b/include/libbb.h
-@@ -107,6 +107,9 @@
+@@ -107,14 +107,12 @@
# define _PATH_UTMPX _PATH_UTMP
# else
# if !defined(__FreeBSD__)
-+/* _PATH_UTMP and _PATH_WTMP are defined both in paths.h and utmps/utmp.h. */
-+# undef _PATH_UTMP
-+# undef _PATH_WTMP
- # include <utmp.h>
+-# include <utmp.h>
++# include <utmpx.h>
++# define _CORRECT_PATH_UTMPX "/run/utmps/utmp"
++# define _CORRECT_PATH_WTMP "/var/log/wtmp"
# else
# define _PATH_UTMPX "/var/run/utx.active"
+ # endif
+-# include <utmpx.h>
+-# if defined _PATH_UTMP && !defined _PATH_UTMPX
+-# define _PATH_UTMPX _PATH_UTMP
+-# endif
+ # endif
+ #endif
+ #if ENABLE_LOCALE_SUPPORT
+diff --git a/libbb/messages.c b/libbb/messages.c
+index 6914d5701..689dd0c6d 100644
+--- a/libbb/messages.c
++++ b/libbb/messages.c
+@@ -42,8 +42,8 @@ const int const_int_0 = 0;
+ #if ENABLE_FEATURE_WTMP
+ /* This is usually something like "/var/adm/wtmp" or "/var/log/wtmp" */
+ const char bb_path_wtmp_file[] ALIGN1 =
+-# if defined _PATH_WTMP
+- _PATH_WTMP;
++# if defined _CORRECT_PATH_WTMP
++ _CORRECT_PATH_WTMP;
+ # elif defined WTMP_FILE
+ WTMP_FILE;
+ # else
+diff --git a/libbb/utmp.c b/libbb/utmp.c
+index bd07670db..463ee1317 100644
+--- a/libbb/utmp.c
++++ b/libbb/utmp.c
+@@ -45,8 +45,8 @@ void FAST_FUNC write_new_utmp(pid_t pid, int new_type, const char *tty_name, con
+ tty_name += 3;
+ strncpy(id, tty_name, width);
+
+- touch(_PATH_UTMPX);
+- //utmpxname(_PATH_UTMPX);
++ //touch(_CORRECT_PATH_UTMPX);
++ //utmpxname(_CORRECT_PATH_UTMPX);
+ setutxent();
+ /* Append new one (hopefully, unless we collide on ut_id) */
+ pututxline(&utent);
+@@ -67,8 +67,8 @@ void FAST_FUNC update_utmp(pid_t pid, int new_type, const char *tty_name, const
+ struct utmpx utent;
+ struct utmpx *utp;
+
+- touch(_PATH_UTMPX);
+- //utmpxname(_PATH_UTMPX);
++ //touch(_CORRECT_PATH_UTMPX);
++ //utmpxname(_CORRECT_PATH_UTMPX);
+ setutxent();
+
+ /* Did init/getty/telnetd/sshd/... create an entry for us?
+diff --git a/util-linux/last_fancy.c b/util-linux/last_fancy.c
+index 648236229..aa7a62bbe 100644
+--- a/util-linux/last_fancy.c
++++ b/util-linux/last_fancy.c
+@@ -159,7 +159,7 @@ int last_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int last_main(int argc UNUSED_PARAM, char **argv)
+ {
+ struct utmpx ut;
+- const char *filename = _PATH_WTMP;
++ const char *filename = _CORRECT_PATH_WTMP;
+ llist_t *zlist;
+ off_t pos;
+ time_t start_time;
+--
+2.37.1
+
diff --git a/main/busybox/0017-ash-Fix-use-after-free-on-idx-variable.patch b/main/busybox/0017-ash-Fix-use-after-free-on-idx-variable.patch
new file mode 100644
index 0000000000..22a2578e39
--- /dev/null
+++ b/main/busybox/0017-ash-Fix-use-after-free-on-idx-variable.patch
@@ -0,0 +1,94 @@
+From 3813e89e3622b034b0e51acae496493a717555cc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Wed, 1 Jun 2022 11:51:40 +0200
+Subject: [PATCH] ash: Fix use-after-free on idx variable
+
+Consider the following code from ash.c:
+
+ STPUTC(*idx, expdest);
+ if (quotes && (unsigned char)*idx == CTLESC) {
+
+The idx variable points to a value in the stack string (as managed
+by STPUTC). STPUTC may resize this stack string via realloc(3). If
+this happens, the idx pointer needs to be updated. Otherwise,
+dereferencing idx may result in a use-after free.
+
+The valgrind output for this edge case looks as follows:
+
+ Invalid read of size 1
+ at 0x113AD7: subevalvar (ash.c:7326)
+ by 0x112EC7: evalvar (ash.c:7674)
+ by 0x113219: argstr (ash.c:6891)
+ by 0x113D10: expandarg (ash.c:8098)
+ by 0x118989: evalcommand (ash.c:10377)
+ by 0x116744: evaltree (ash.c:9373)
+ by 0x1170DC: cmdloop (ash.c:13577)
+ by 0x1191E4: ash_main (ash.c:14756)
+ by 0x10CB3B: run_applet_no_and_exit (appletlib.c:967)
+ by 0x10CBCA: run_applet_and_exit (appletlib.c:986)
+ by 0x10CBCA: main (appletlib.c:1126)
+ Address 0x48b4099 is 857 bytes inside a block of size 2,736 free'd
+ at 0x48A6FC9: realloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
+ by 0x125B03: xrealloc (xfuncs_printf.c:61)
+ by 0x10F9D2: growstackblock (ash.c:1736)
+ by 0x10FA4E: growstackstr (ash.c:1775)
+ by 0x10FA71: _STPUTC (ash.c:1816)
+ by 0x113A94: subevalvar (ash.c:7325)
+ by 0x112EC7: evalvar (ash.c:7674)
+ by 0x113219: argstr (ash.c:6891)
+ by 0x113D10: expandarg (ash.c:8098)
+ by 0x118989: evalcommand (ash.c:10377)
+ by 0x116744: evaltree (ash.c:9373)
+ by 0x1170DC: cmdloop (ash.c:13577)
+ Block was alloc'd at
+ at 0x48A26D5: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
+ by 0x125AE9: xmalloc (xfuncs_printf.c:50)
+ by 0x10ED56: stalloc (ash.c:1622)
+ by 0x10F9FF: growstackblock (ash.c:1746)
+ by 0x10FB2A: growstackto (ash.c:1783)
+ by 0x10FB47: makestrspace (ash.c:1795)
+ by 0x10FDE7: memtodest (ash.c:6390)
+ by 0x10FE91: strtodest (ash.c:6417)
+ by 0x112CC5: varvalue (ash.c:7558)
+ by 0x112D80: evalvar (ash.c:7603)
+ by 0x113219: argstr (ash.c:6891)
+ by 0x113D10: expandarg (ash.c:8098)
+
+This patch fixes this issue by updating the pointers again via
+the restart label if STPUTC re-sized the stack. This issue
+has been reported to us at Alpine Linux downstream.
+
+Also: Move the second realloc-check inside the if statement
+that follows so it isn't done twice if the condition evaluates
+to false.
+
+See also:
+
+* https://gitlab.alpinelinux.org/alpine/aports/-/issues/13900
+* http://lists.busybox.net/pipermail/busybox/2022-April/089655.html
+---
+ shell/ash.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/shell/ash.c b/shell/ash.c
+index ef4a47afe..cbc50eefe 100644
+--- a/shell/ash.c
++++ b/shell/ash.c
+@@ -7323,13 +7323,15 @@ subevalvar(char *start, char *str, int strloc,
+ if (idx >= end)
+ break;
+ STPUTC(*idx, expdest);
++ if (stackblock() != restart_detect)
++ goto restart;
+ if (quotes && (unsigned char)*idx == CTLESC) {
+ idx++;
+ len++;
+ STPUTC(*idx, expdest);
++ if (stackblock() != restart_detect)
++ goto restart;
+ }
+- if (stackblock() != restart_detect)
+- goto restart;
+ idx++;
+ len++;
+ rmesc++;
diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD
index 2bc69230ad..1c2571e560 100644
--- a/main/busybox/APKBUILD
+++ b/main/busybox/APKBUILD
@@ -5,22 +5,29 @@
# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
pkgname=busybox
pkgver=1.35.0
-pkgrel=13
+pkgrel=22
pkgdesc="Size optimized toolbox of many common UNIX utilities"
url="https://busybox.net/"
arch="all"
license="GPL-2.0-only"
makedepends_build="perl"
-makedepends_host="linux-headers openssl-dev"
-# Only build with UTMPS support if we are not bootstraping.
+makedepends_host="linux-headers openssl-dev>3"
+# Only build with utmps support if we are not bootstraping.
# skalibs-static is needed for utmps-static
[ -z "$BOOTSTRAP" ] && makedepends_host="$makedepends_host utmps-dev utmps-static skalibs-static"
makedepends="$makedepends_build $makedepends_host"
checkdepends="zip"
-provides="/bin/sh"
install="$pkgname.post-install $pkgname.post-upgrade
$pkgname-extras.post-install $pkgname-extras.pre-deinstall"
-subpackages="$pkgname-static $pkgname-doc $pkgname-suid $pkgname-extras ssl_client $pkgname-ifupdown"
+subpackages="
+ $pkgname-static
+ $pkgname-doc
+ $pkgname-suid
+ $pkgname-extras
+ ssl_client
+ $pkgname-ifupdown
+ $pkgname-binsh
+ "
options="suid net" # net needed for check()
replaces="busybox-initscripts" # move of default.script
triggers="busybox.trigger=/bin:/usr/bin:/sbin:/usr/sbin:/lib/modules/*"
@@ -43,6 +50,7 @@ source="https://busybox.net/downloads/busybox-$pkgver.tar.bz2
0014-ash-fix-use-after-free-in-bash-pattern-substitution.patch
0015-ed-don-t-use-memcpy-with-overlapping-memory-regions.patch
0016-ash-don-t-read-past-end-of-var-in-subvareval-for-bas.patch
+ 0017-ash-Fix-use-after-free-on-idx-variable.patch
0001-ash-add-built-in-BB_ASH_VERSION-variable.patch
@@ -55,6 +63,7 @@ source="https://busybox.net/downloads/busybox-$pkgver.tar.bz2
0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch
0002-nslookup-sanitize-all-printed-strings-with-printable.patch
0001-modinfo-add-k-option-for-kernel-version.patch
+ CVE-2022-30065.patch
acpid.logrotate
busyboxconfig
@@ -66,6 +75,8 @@ source="https://busybox.net/downloads/busybox-$pkgver.tar.bz2
"
# secfixes:
+# 1.35.0-r17:
+# - CVE-2022-30065
# 1.35.0-r7:
# - ALPINE-13661
# - CVE-2022-28391
@@ -114,6 +125,12 @@ prepare() {
}
build() {
+ local _extra_cflags= _extra_libs=
+ if [ -z "$BOOTSTRAP" ] ; then
+ _extra_cflags="$(pkg-config --cflags --static utmps)"
+ _extra_libs="$(pkg-config --libs --static utmps)"
+ fi
+
# build bbsuid
msg "Building bbsuid"
${CC:-${CROSS_COMPILE}gcc} ${CPPFLAGS} ${CFLAGS} \
@@ -133,14 +150,6 @@ build() {
-e "s/CONFIG_EXTRA_COMPAT=y/CONFIG_EXTRA_COMPAT=n/" \
.config
make -C "$builddir" O="$PWD" silentoldconfig
-
- local _extra_cflags="" _extra_libs=""
- if [ -z "$BOOTSTRAP" ]; then
- _extra_cflags="$(pkg-config --cflags --static utmps)"
- _extra_libs="$(pkg-config --libs --static utmps)"
- fi
-
- # NOTE: Defining CONFIG_EXTRA_LDLIBS in .config doesn't work, the second -l is ignored.
make CONFIG_EXTRA_CFLAGS="$_extra_cflags" CONFIG_EXTRA_LDLIBS="$_extra_libs"
# build dynamic (extras)
@@ -151,7 +160,10 @@ build() {
-e "s/CONFIG_EXTRA_COMPAT=y/CONFIG_EXTRA_COMPAT=n/" \
.config
make -C "$builddir" O="$PWD" silentoldconfig
- make
+ make CONFIG_EXTRA_CFLAGS="$_extra_cflags" CONFIG_EXTRA_LDLIBS="$_extra_libs"
+ # Yes, the above command line is verbose, but it needs to be duplicated verbatim
+ # for every build. Because the busybox build system is extremely brittle and
+ # breaks on *any* attempt to factorize it.
# build static
cd "$_staticdir"
@@ -166,19 +178,25 @@ build() {
-e "s/CONFIG_EXTRA_COMPAT=y/CONFIG_EXTRA_COMPAT=n/" \
.config
make -C "$builddir" O="$PWD" silentoldconfig
- make
+ make CONFIG_EXTRA_CFLAGS="$_extra_cflags" CONFIG_EXTRA_LDLIBS="$_extra_libs"
mv busybox busybox.static
}
check() {
+ local _extra_cflags= _extra_libs=
+ if [ -z "$BOOTSTRAP" ] ; then
+ _extra_cflags="$(pkg-config --cflags --static utmps)"
+ _extra_libs="$(pkg-config --libs --static utmps)"
+ fi
+
# Set VERBOSE to see expected outcome of each test (runtest -v flag).
# Set DEBUG to enable command trace (see testsuite/testing.sh).
cd "$_dyndir"
- SKIP_KNOWN_BUGS=1 make -C "$builddir" O="$PWD" V=1 check
+ SKIP_KNOWN_BUGS=1 make -C "$builddir" O="$PWD" V=1 check CONFIG_EXTRA_CFLAGS="$_extra_cflags" CONFIG_EXTRA_LDLIBS="$_extra_libs"
cd "$_dyndir_extras"
- SKIP_KNOWN_BUGS=1 make -C "$builddir" O="$PWD" V=1 check
+ SKIP_KNOWN_BUGS=1 make -C "$builddir" O="$PWD" V=1 check CONFIG_EXTRA_CFLAGS="$_extra_cflags" CONFIG_EXTRA_LDLIBS="$_extra_libs"
}
package() {
@@ -188,8 +206,6 @@ package() {
"$pkgdir"/usr/share/man/man1
chmod 1777 "$pkgdir"/tmp
install -m755 busybox "$pkgdir"/bin/busybox
- # we need /bin/sh to be able to execute post-install
- ln -s /bin/busybox "$pkgdir"/bin/sh
install -m 644 docs/busybox.1 "$pkgdir"/usr/share/man/man1/busybox.1
@@ -261,7 +277,7 @@ ssl_client() {
pkgdesc="EXternal ssl_client for busybox wget"
local _sslver=$(pkg-config --modversion libssl)
# automatically pull in if both busybox and libssl is installed
- install_if="$pkgname=$pkgver-r$pkgrel libssl${_sslver%.*}"
+ install_if="$pkgname=$pkgver-r$pkgrel libssl${_sslver%%.*}"
mkdir -p "$subpkgdir"/usr/bin
install -m755 "$_dyndir"/ssl_client \
"$subpkgdir"/usr/bin/ssl_client
@@ -274,6 +290,16 @@ ifupdown() {
mkdir -p "$subpkgdir"
}
+binsh() {
+ pkgdesc="busybox ash /bin/sh"
+ provides="/bin/sh"
+ provider_priority=100
+
+ mkdir -p "$subpkgdir"/bin
+
+ ln -s /bin/busybox "$subpkgdir"/bin/sh
+}
+
sha512sums="
62b2e718b6669271380445ed6db249618d777a4e8d5e6d879fa39ffee43887b6a2e93ceef874c615c565ad492deb772b03a19b7475c403202741579fb151e16a busybox-1.35.0.tar.bz2
ead3403578c071c2216de17ab0543984c1f1509c12c062f03af49141547c3ea21356f3e8f0f0695550f05a41a1379dd73fc3cc18dcd78addbb411f247351e353 0001-nologin-Install-applet-to-sbin-instead-of-usr-sbin.patch
@@ -294,17 +320,19 @@ ecbe5c890d966f09280c7eb534109f785c68e292765f17ed7ff62fcc61d20f61443c4155add0a1eb
3eb7609054fa8e03d7e366f7debc5cb0630ff65d521a91be84803bdef3854f81e29d26a9567c501a121e94a55d3a3477894e774508f80def775f2ecc812805e7 0014-ash-fix-use-after-free-in-bash-pattern-substitution.patch
0040800382a6e3adcc6a8094b821488c7e297fc80304afba23a4fca43b7b26ac699378dfbd930ebbf9985336b3e431301f7ca93e2d041a071902a48740d263ef 0015-ed-don-t-use-memcpy-with-overlapping-memory-regions.patch
4c95dc4bf6aff9018bfb52b400f6d8375a1d22493b44ea516cb12dba6556f12797a3cba55768d2e59ff57c0f3247ec1ff95edb8f17561f3d37ec18d83ca47eb0 0016-ash-don-t-read-past-end-of-var-in-subvareval-for-bas.patch
+ccdf098fb15eaa316708181469a1193d6eec7067131e7b7645e0219bf03cfd07f4f79e8f62c1e560f6146dcc38186a29bdee08aaa39f290e11d020b8f07d2f65 0017-ash-Fix-use-after-free-on-idx-variable.patch
6d100fe44da2b97c2cbdda253d0504b487212d195144d9315cddbe8c51d18fae3745701923b170b40e35f54b592f94f02cadbffd9cb716661c12a7f1da022763 0001-ash-add-built-in-BB_ASH_VERSION-variable.patch
e33dbc27d77c4636f4852d5d5216ef60a9a4343484e4559e391c13c813bf65c782b889914eff2e1f038d74cf02cb0d23824ebbb1044b5f8c86260d5a1bbc4e4d 0001-pgrep-add-support-for-matching-against-UID-and-RUID.patch
-2640698e5108434991a8491fcc508bd991d2111b14bb6957385393a36603e1d81fdf826ad7b150d487d2a924630ee54c0fc4f979214e90feca9ba7d2fd96a865 0001-avoid-redefined-warnings-when-building-with-utmps.patch
+7608fbb9deddc9268ba53bc5b762a00fa16744d595f6f8a2f5a857339e754ea0c3da084a1e48269c8281553e9171d2bb29b8530fbe85e6a934f97c3cfcdbe31b 0001-avoid-redefined-warnings-when-building-with-utmps.patch
9b66151ef51293292b3829adaf721e5453c0710b1d151ab7e959aff0ffae2ec704e686161909cbbfc09c700e23e7200f5e14539ccc5583bccaa11193ea0cffce test-fix-tarball-creation.patch
f65052adc4df305c22f79cc2819d7750b528ad66289512fc15c442c4347ebd6bc14340e60f2c5209d2e7d2e7feb7d19f372e02dca2451dd36787c5f6908c21d8 test-timezone-workaround.patch
b52050678e79e4da856956906d07fcb620cbf35f2ef6b5a8ee3b8d244ea63b4b98eef505451184d5b4937740d91eef154ed748c30d329ac485be51b37626f251 0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch
ead4ad65d270d8659e1898fa16f76b6cbcf567d8aba238eacccda3764edb4362240d9359d6389873bedc126d405f805fc6dfce653a7181618ebcc67c94bd08d2 0002-nslookup-sanitize-all-printed-strings-with-printable.patch
4f6ddd59d6096943f617b0938fca428114190b8b37732d6783faab291451a2c30c452ed39299db22d1d9679d007022f87d43e93b38a4f6ced64a8659e9233773 0001-modinfo-add-k-option-for-kernel-version.patch
+22e2fa8f7a6105fd9990f93b71c235980fd4eab62269939a0e3a920fe517ee4f913c6bd0148a554b67fe01d1660bf0fd76a80e9dcac290b4b8b2c304ef6080a9 CVE-2022-30065.patch
aa93095e20de88730f526c6f463cef711b290b9582cdbd8c1ba2bd290019150cbeaa7007c2e15f0362d5b9315dd63f60511878f0ea05e893f4fdfb4a54af3fb1 acpid.logrotate
20ad8edb3741ffffa99bdb4c00603ddfc76564c869cb46736f878eba01cc3d3f611dd8049625a66ad7f018ce485a9d9592ec133fc8fe7f13da3d69daa6c545ec busyboxconfig
-9dc49c5ff0750cd713f49ee566a19e705e6b68e360a82e2c99b15a5271c7e8a5c47aaf399a03828befbe4e9ccbebb3de766cc0cfc1672848a939b5ae97b44aa1 busyboxconfig-extras
+53e6ba22ac89ccd733ad02f1553b351669abff1a2f1f233c92940770bb1b14d91b052ef81a2d4ef0cb087318e4f3972cc0735951a214b47d00b22e8b8f1db787 busyboxconfig-extras
0becc2186d6c32fb0c401cf7bc0e46268b38ce8892db33be1daf40273024c1c02d518283f44086a313a2ccef34230a1d945ec148cc173f26e6aa9d88a7426e54 bbsuid.c
6321c1d96d8938a3b5eab21731de289ede136fff550f98127c509452bfb17769ccf94b118491f7b81d3c60e1bbb3e80bb07186e4ce07e29724a52f0daba9b218 dad.if-up
26eac967d6cfe13b7dc973112de145543ac0bdda9e9dd3a69bbd8c133ae6a20387abe9377917efb770b191130d3a6385ff5738abc84a8216d7b86ae88b159260 ssl_client.c
diff --git a/main/busybox/CVE-2022-30065.patch b/main/busybox/CVE-2022-30065.patch
new file mode 100644
index 0000000000..4a9cd67c98
--- /dev/null
+++ b/main/busybox/CVE-2022-30065.patch
@@ -0,0 +1,63 @@
+From 3c284dcb726ff6599d3b87fb366fb04411cf5595 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Fri, 17 Jun 2022 09:52:11 +0000
+Subject: [PATCH 1/2] awk: fix use after free (CVE-2022-30065)
+
+fixes https://bugs.busybox.net/show_bug.cgi?id=14781
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ editors/awk.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/editors/awk.c b/editors/awk.c
+index 079d0bde5..728ee8685 100644
+--- a/editors/awk.c
++++ b/editors/awk.c
+@@ -3128,6 +3128,9 @@ static var *evaluate(node *op, var *res)
+
+ case XC( OC_MOVE ):
+ debug_printf_eval("MOVE\n");
++ /* make sure that we never return a temp var */
++ if (L.v == TMPVAR0)
++ L.v = res;
+ /* if source is a temporary string, jusk relink it to dest */
+ if (R.v == TMPVAR1
+ && !(R.v->type & VF_NUMBER)
+--
+2.36.1
+
+
+From 30c8f8e69230ef27f116a2c10ca2e4a6cc343dad Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 16 Jun 2022 21:54:48 +0200
+Subject: [PATCH 2/2] awk: add tests for CVE-2022-30065
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ testsuite/awk.tests | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/testsuite/awk.tests b/testsuite/awk.tests
+index 93e25d8c1..6c3a03c37 100755
+--- a/testsuite/awk.tests
++++ b/testsuite/awk.tests
+@@ -479,4 +479,15 @@ testing 'awk backslash+newline eaten with no trace' \
+ "Hello world\n" \
+ '' ''
+
++testing 'awk use-after-free (CVE-2022-30065)' \
++ "awk '\$3i\$3in\$9=\$r||\$9=i6/6-9f'" \
++ "" \
++ "" \
++ ""
++
++testing 'awk assign while test' \
++ "awk '\$1==\$1=\"foo\" {print \$1}'" \
++ "foo\n" \
++ "" \
++ "foo"
+ exit $FAILCOUNT
+--
+2.36.1
+
diff --git a/main/busybox/busybox-extras.post-install b/main/busybox/busybox-extras.post-install
index a0327a6910..dc663a554f 100644
--- a/main/busybox/busybox-extras.post-install
+++ b/main/busybox/busybox-extras.post-install
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/busybox sh
# Create all symlinks
exec /bin/busybox-extras --install -s
diff --git a/main/busybox/busybox.post-install b/main/busybox/busybox.post-install
index 30c436115c..fa265421dd 100644
--- a/main/busybox/busybox.post-install
+++ b/main/busybox/busybox.post-install
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/busybox sh
# We need the symlinks early
/bin/busybox mkdir -p "/bin" "/sbin" "/usr/bin" "/usr/sbin"
diff --git a/main/busybox/busybox.post-upgrade b/main/busybox/busybox.post-upgrade
index b478cbe0cb..9587dd89cb 100644
--- a/main/busybox/busybox.post-upgrade
+++ b/main/busybox/busybox.post-upgrade
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/busybox sh
# remove links that has been relocated or removed
# - generate a list of all symlinks in bin dirs and a list with all busybox
diff --git a/main/busybox/busyboxconfig-extras b/main/busybox/busyboxconfig-extras
index 34ed93e6ae..2d531b94f3 100644
--- a/main/busybox/busyboxconfig-extras
+++ b/main/busybox/busyboxconfig-extras
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.35.0
-# Wed Dec 29 18:19:30 2021
+# Wed Jul 6 13:33:15 2022
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -747,7 +747,7 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-# CONFIG_CONSPY is not set
+CONFIG_CONSPY=y
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
diff --git a/main/bzip2/APKBUILD b/main/bzip2/APKBUILD
index 4b0d4da080..1628eb8d0e 100644
--- a/main/bzip2/APKBUILD
+++ b/main/bzip2/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bzip2
pkgver=1.0.8
-pkgrel=1
+pkgrel=2
pkgdesc="A high-quality data compression program"
url="http://sources.redhat.com/bzip2"
arch="all"
diff --git a/main/ca-certificates/APKBUILD b/main/ca-certificates/APKBUILD
index 9d6e2cbcf7..8c8a06b336 100644
--- a/main/ca-certificates/APKBUILD
+++ b/main/ca-certificates/APKBUILD
@@ -1,18 +1,17 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ca-certificates
-pkgver=20211220
-pkgrel=0
+pkgver=20220614
+pkgrel=2
pkgdesc="Common CA certificates PEM files from Mozilla"
url="https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/"
arch="all"
# There is a GPL-2.0-or-later script inside the source but it is not shipped
license="MPL-2.0 AND MIT"
makedepends_build="perl"
-makedepends_host="openssl1.1-compat-dev"
+makedepends_host="openssl-dev>3"
subpackages="$pkgname-doc $pkgname-bundle"
-# c_rehash is either in libcrypto1.0 or openssl depending on package, grr. replace both of them
-replaces="libcrypto1.0 openssl openssl1.0"
+replaces="openssl"
options="!fhs !check"
triggers="ca-certificates.trigger=/usr/share/ca-certificates:/usr/local/share/ca-certificates:/etc/ssl/certs:/etc/ca-certificates/update.d"
install="$pkgname.post-deinstall"
@@ -62,8 +61,13 @@ bundle() {
"$subpkgdir"/etc/ssl/certs/
ln -s certs/ca-certificates.crt \
"$subpkgdir"/etc/ssl/cert.pem
+
+ # Symlinks for OpenSSL 1.1 compatibility
+ mkdir -p "$subpkgdir"/etc/ssl1.1/
+ ln -s /etc/ssl/certs "$subpkgdir"/etc/ssl1.1/
+ ln -s /etc/ssl/cert.pem "$subpkgdir"/etc/ssl1.1/
}
sha512sums="
-6b486384c80b29632939a28524acfeeedc60f5df44da86bc16ce79f3cf2ff464455e963ebeb410c3072829b9083215961b32c18673ff77b211652d4c1e870799 ca-certificates-20211220.tar.bz2
+8e20d3021222bb3b470a935d34ffe23e7857bf0b7fedda5284049155aab01bc88ab54ae939376968fb7fbff41e6b06bd32e34405210a8e74faadb68ffa6d9dd4 ca-certificates-20220614.tar.bz2
"
diff --git a/main/cairo/APKBUILD b/main/cairo/APKBUILD
index 06d6b203e6..5b075754c3 100644
--- a/main/cairo/APKBUILD
+++ b/main/cairo/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cairo
pkgver=1.17.6
-pkgrel=1
+pkgrel=2
pkgdesc="A vector graphics library"
url="https://cairographics.org/"
arch="all"
@@ -25,12 +25,12 @@ makedepends="$depends_dev
zlib-dev
"
subpackages="
+ $pkgname-dbg
$pkgname-static
$pkgname-dev
$pkgname-doc
$pkgname-gobject
$pkgname-tools
- $pkgname-dbg
"
source="https://gitlab.freedesktop.org/cairo/cairo/-/archive/$pkgver/cairo-$pkgver.tar.bz2
musl-stacksize.patch
diff --git a/main/ccache/APKBUILD b/main/ccache/APKBUILD
index 2a1642b305..a126d2afba 100644
--- a/main/ccache/APKBUILD
+++ b/main/ccache/APKBUILD
@@ -19,7 +19,9 @@ makedepends="
checkdepends="bash util-linux-misc python3 redis"
subpackages="$pkgname-doc"
source="https://github.com/ccache/ccache/releases/download/v$pkgver/ccache-$pkgver.tar.xz
- ioctl.patch"
+ ioctl.patch
+ gcc12.patch
+ "
# XXX: https://github.com/ccache/ccache/issues/1014
case "$CARCH" in
@@ -57,4 +59,5 @@ package() {
sha512sums="
361427ccecd74e8c25ca6a98ef3d3c125d81862196767eb383f6f8159fed8e1695cd5bc8731cb591c23c55352f0114a088b32a673717711efbfbb178a6c08c82 ccache-4.6.1.tar.xz
785ce34305a3bb6c24117341157356c2bd2272eca9d58fa20acd14a023abe6f784c88d9c55656d2f37320392bb73a61c52cd8b6bd9ac7c5316c8ed187dd6f5fb ioctl.patch
+418f5a7ccf1fe7a9ea360fc33085f8b63390612f39db1e3b25ad089829b94f44c80485cbf3d5f2eb530a7a455dd9ee8e48a796f51dd82c388391cf39b040a94f gcc12.patch
"
diff --git a/main/ccache/gcc12.patch b/main/ccache/gcc12.patch
new file mode 100644
index 0000000000..96edc1066e
--- /dev/null
+++ b/main/ccache/gcc12.patch
@@ -0,0 +1,12 @@
+diff --git a/src/core/Statistics.hpp b/src/core/Statistics.hpp
+index 3e9ed81..0017f20 100644
+--- a/src/core/Statistics.hpp
++++ b/src/core/Statistics.hpp
+@@ -20,6 +20,7 @@
+
+ #include <core/StatisticsCounters.hpp>
+
++#include <ctime>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
diff --git a/main/cgit/APKBUILD b/main/cgit/APKBUILD
index 930ead579d..e14c09a8b3 100644
--- a/main/cgit/APKBUILD
+++ b/main/cgit/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cgit
pkgver=1.2.3
-pkgrel=2
+pkgrel=3
_gitver=2.25.1
pkgdesc="A fast webinterface for git"
url="https://git.zx2c4.com/cgit/"
arch="all"
license="GPL-2.0-only"
-makedepends="openssl1.1-compat-dev zlib-dev lua5.3-dev asciidoc"
+makedepends="openssl-dev>3 zlib-dev lua5.3-dev asciidoc"
subpackages="$pkgname-doc"
source="http://git.zx2c4.com/cgit/snapshot/cgit-$pkgver.tar.xz
https://www.kernel.org/pub/software/scm/git/git-$_gitver.tar.gz
diff --git a/main/charybdis/APKBUILD b/main/charybdis/APKBUILD
index 1e1d7284ab..ae93356f43 100644
--- a/main/charybdis/APKBUILD
+++ b/main/charybdis/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=charybdis
pkgver=4.1.2
-pkgrel=4
+pkgrel=5
pkgdesc="A highly-scalable IRCv3-compliant IRC daemon"
url="https://github.com/charybdis-ircd/charybdis"
arch="all"
license="GPL-2.0-or-later"
pkgusers="ircd"
makedepends="automake autoconf libtool
- bison flex openssl1.1-compat-dev zlib-dev file
+ bison flex openssl-dev>3 zlib-dev file
sqlite-dev libltdl"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc"
diff --git a/main/checkbashisms/APKBUILD b/main/checkbashisms/APKBUILD
index 1be57cb006..9f3a1a0b74 100644
--- a/main/checkbashisms/APKBUILD
+++ b/main/checkbashisms/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=checkbashisms
-pkgver=2.22.1
+pkgver=2.22.2
pkgrel=0
pkgdesc="Check shell scripts for POXIX compliance"
url="https://tracker.debian.org/pkg/devscripts"
@@ -8,8 +8,8 @@ arch="noarch"
license="GPL-2.0-or-later"
depends="perl"
subpackages="$pkgname-doc $pkgname-bash-completion"
-source="https://ftp.debian.org/debian/pool/main/d/devscripts/devscripts_$pkgver.tar.xz"
-builddir="$srcdir/devscripts-$pkgver/scripts"
+source="https://salsa.debian.org/debian/devscripts/-/archive/v$pkgver/devscripts-v$pkgver.tar.gz"
+builddir="$srcdir/devscripts-v$pkgver/scripts"
check() {
printf '#!/bin/sh\necho "hello world"\n' > ./testfile
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
-260603e1a655035c5aca3c9734db1bc6aa7e9aa017ece7e9158c57e06a1ee548922ec2defdd9dcb4560743d78aef08d30695b1bc833bd4d77fe1c7497d157c45 devscripts_2.22.1.tar.xz
+9c08b7f2d4e386bafdab12443ba621204e2ee543f660bd574ad5f8dbfe33c889157dfa6fdf0616528f0735ee79885f67af5cea2da6e3aea6858ce945735251aa devscripts-v2.22.2.tar.gz
"
diff --git a/main/chrpath/APKBUILD b/main/chrpath/APKBUILD
index f2bc440be4..0c77afca66 100644
--- a/main/chrpath/APKBUILD
+++ b/main/chrpath/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=chrpath
pkgver=0.16
-pkgrel=2
+pkgrel=3
pkgdesc="Modify rpath of compiled programs"
url="https://tracker.debian.org/pkg/chrpath"
arch="all"
@@ -15,7 +15,6 @@ prepare() {
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -28,12 +27,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" docdir=/usr/share/doc/$pkgname-$pkgver \
install
}
diff --git a/main/cifs-utils/APKBUILD b/main/cifs-utils/APKBUILD
index 7ae6bfef24..03ccae8f85 100644
--- a/main/cifs-utils/APKBUILD
+++ b/main/cifs-utils/APKBUILD
@@ -17,6 +17,11 @@ source="https://ftp.samba.org/pub/linux-cifs/cifs-utils/cifs-utils-$pkgver.tar.b
options="suid"
# secfixes:
+# 6.15-r0:
+# - CVE-2022-27239
+# - CVE-2022-29869
+# 6.13-r0:
+# - CVE-2021-20208
# 0:
# - CVE-2020-14342 # requires --with-systemd
diff --git a/main/ckbcomp/APKBUILD b/main/ckbcomp/APKBUILD
index 1cb70d4bd6..45013c01a0 100644
--- a/main/ckbcomp/APKBUILD
+++ b/main/ckbcomp/APKBUILD
@@ -1,15 +1,15 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ckbcomp
-pkgver=1.207
+pkgver=1.209
pkgrel=0
pkgdesc="Compile a XKB keyboard description to a keymap"
-url="https://packages.debian.org/sid/console-setup"
+url="https://salsa.debian.org/installer-team/console-setup"
arch="noarch"
license="GPL-2.0-or-later"
depends="perl"
options="!check"
subpackages="$pkgname-doc"
-source="https://deb.debian.org/debian/pool/main/c/console-setup/console-setup_$pkgver.tar.xz"
+source="https://salsa.debian.org/installer-team/console-setup/-/archive/$pkgver/console-setup-$pkgver.tar.gz"
builddir="$srcdir"/console-setup-$pkgver
package() {
@@ -18,5 +18,5 @@ package() {
}
sha512sums="
-0652b43c2488246e5bf7fac7ad5dc7986ba0ae832ae2179d2ade14da0412639f9055216e6a5e73a7a7c682d4e606441bf3a24dd5dbce0c3b0aff8416571587e5 console-setup_1.207.tar.xz
+4297da451b3efab1b29f83095c1e57e5094f37759581cea9e51d1974f138b9b1700bca9f05a27434345c238e32cea8b8d0f143b79b91059b41b44b87b036eafb console-setup-1.209.tar.gz
"
diff --git a/main/clang/10-add-musl-triples.patch b/main/clang/10-add-musl-triples.patch
index b11ca84978..0ed9c81675 100644
--- a/main/clang/10-add-musl-triples.patch
+++ b/main/clang/10-add-musl-triples.patch
@@ -1,34 +1,38 @@
--- a/lib/Driver/ToolChains/Gnu.cpp
+++ b/lib/Driver/ToolChains/Gnu.cpp
-@@ -2077,6 +2077,7 @@
+@@ -2073,7 +2073,7 @@
static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
static const char *const AArch64Triples[] = {
"aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux",
-+ "aarch64-linux-musl",
- "aarch64-suse-linux", "aarch64-linux-android"};
+- "aarch64-suse-linux"};
++ "aarch64-suse-linux", "aarch64-linux-musl"};
static const char *const AArch64beLibDirs[] = {"/lib"};
static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
-@@ -2086,6 +2087,8 @@
- static const char *const ARMTriples[] = {"arm-linux-gnueabi",
- "arm-linux-androideabi"};
- static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
-+ "arm-linux-musleabihf",
-+ "armv7l-linux-musleabihf",
+ "aarch64_be-linux-gnu"};
+@@ -2085,7 +2085,9 @@
+ "armv7l-linux-musleabihf",
"armv7hl-redhat-linux-gnueabi",
"armv6hl-suse-linux-gnueabi",
- "armv7hl-suse-linux-gnueabi"};
-@@ -2105,6 +2108,7 @@
+- "armv7hl-suse-linux-gnueabi"};
++ "armv7hl-suse-linux-gnueabi",
++ "arm-linux-musleabihf",
++ "armv7l-linux-musleabihf"};
+ static const char *const ARMebLibDirs[] = {"/lib"};
+ static const char *const ARMebTriples[] = {"armeb-linux-gnueabi"};
+ static const char *const ARMebHFTriples[] = {
+@@ -2101,7 +2103,7 @@
"x86_64-redhat-linux", "x86_64-suse-linux",
"x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
"x86_64-slackware-linux", "x86_64-unknown-linux",
-+ "x86_64-linux-musl",
- "x86_64-amazon-linux", "x86_64-linux-android"};
+- "x86_64-amazon-linux"};
++ "x86_64-amazon-linux", "x86_64-linux-musl"};
static const char *const X32Triples[] = {"x86_64-linux-gnux32",
"x86_64-pc-linux-gnux32"};
-@@ -2116,6 +2120,7 @@
- "i686-redhat-linux", "i386-redhat-linux",
- "i586-suse-linux", "i686-montavista-linux",
- "i686-linux-android", "i686-gnu",
+ static const char *const X32LibDirs[] = {"/libx32", "/lib"};
+@@ -2110,6 +2112,7 @@
+ "i586-linux-gnu", "i686-linux-gnu", "i686-pc-linux-gnu",
+ "i386-redhat-linux6E", "i686-redhat-linux", "i386-redhat-linux",
+ "i586-suse-linux", "i686-montavista-linux", "i686-gnu",
+ "i686-linux-musl",
};
diff --git a/main/clang/30-Enable-stack-protector-by-default-for-Alpine-Linux.patch b/main/clang/30-Enable-stack-protector-by-default-for-Alpine-Linux.patch
index f2895ce76b..bae4532c16 100644
--- a/main/clang/30-Enable-stack-protector-by-default-for-Alpine-Linux.patch
+++ b/main/clang/30-Enable-stack-protector-by-default-for-Alpine-Linux.patch
@@ -1,8 +1,3 @@
-Based on original patchset from Jakub Jirutka <jakub@jirutka.cz>
-Updated by Eric Molitor <eric@molitor.org>
-Updated by Natanael Copa <ncopa@alpinelinux.org>
-Updated by omni <omni+alpine@hack.org>
-
--- a/lib/Driver/ToolChains/Linux.h
+++ b/lib/Driver/ToolChains/Linux.h
@@ -11,6 +11,7 @@
@@ -13,28 +8,25 @@ Updated by omni <omni+alpine@hack.org>
namespace clang {
namespace driver {
-@@ -38,6 +39,18 @@
- CXXStdlibType GetDefaultCXXStdlibType() const override;
- bool isPIEDefault() const override;
- bool isNoExecStackDefault() const override;
+@@ -60,6 +61,15 @@
+ llvm::DenormalMode getDefaultDenormalModeForType(
+ const llvm::opt::ArgList &DriverArgs, const JobAction &JA,
+ const llvm::fltSemantics *FPType = nullptr) const override;
+
+ LangOptions::StackProtectorMode
+ GetDefaultStackProtectorLevel(bool KernelOrKext) const override {
-+ StringRef VendorName = Linux::getTriple().getVendorName();
-+ if (VendorName.compare("alpine") == 0)
-+ return LangOptions::SSPStrong;
++ StringRef VendorName = Linux::getTriple().getVendorName();
++ if (VendorName.compare("alpine") == 0)
++ return LangOptions::SSPStrong;
+
-+ return LangOptions::SSPOff;
++ return LangOptions::SSPOff;
+ }
-+
-+
-+
- bool IsMathErrnoDefault() const override;
- SanitizerMask getSupportedSanitizers() const override;
- void addProfileRTLibs(const llvm::opt::ArgList &Args,
+
+ protected:
+ Tool *buildAssembler() const override;
--- a/test/Driver/fsanitize.c
+++ b/test/Driver/fsanitize.c
-@@ -667,18 +667,17 @@
+@@ -666,12 +666,12 @@
// RUN: %clang -fno-sanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NOSP
// NOSP-NOT: "-fsanitize=safe-stack"
@@ -50,18 +42,14 @@ Updated by omni <omni+alpine@hack.org>
// RUN: %clang -target i386-contiki-unknown -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
// NO-SP-NOT: stack-protector
// NO-SP: "-fsanitize=safe-stack"
- // SP-ASAN: error: invalid argument '-fsanitize=safe-stack' not allowed with '-fsanitize=address'
- // SP: "-fsanitize=safe-stack"
--// SP: -stack-protector
- // NO-SP-NOT: stack-protector
-
- // RUN: %clang -target powerpc64-unknown-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s -check-prefix=CHECK-SANM
--- a/test/Driver/stack-protector.c
+++ b/test/Driver/stack-protector.c
-@@ -35,6 +35,20 @@
-
- // Test default stack protector values for Darwin platforms
+@@ -33,6 +33,22 @@
+ // SSP-PS4-BUF: "-stack-protector" "2"
+ // SSP-PS4-BUF: "-stack-protector-buffer-size" "16"
++// Test default stack protector values for Alpine
++
+// RUN: %clang -target x86_64-alpine-linux-musl -### %s 2>&1 | FileCheck %s -check-prefix=ALPINE
+// ALPINE: "-stack-protector" "2"
+
@@ -76,6 +64,19 @@ Updated by omni <omni+alpine@hack.org>
+// ALPINE_NOSSP-NOT: "-stack-protector"
+// ALPINE_NOSSP-NOT: "-stack-protector-buffer-size"
+
+ // Test default stack protector values for Darwin platforms
+
// RUN: %clang -target armv7k-apple-watchos2.0 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_WATCHOS
- // RUN: %clang -ffreestanding -target armv7k-apple-watchos2.0 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_WATCHOS
- // SSP_WATCHOS: "-stack-protector" "1"
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -563,6 +563,10 @@
+ // The profile runtime also needs access to system libraries.
+ getToolChain().addProfileRTLibs(Args, CmdArgs);
+
++ if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles, options::OPT_nodefaultlibs)) {
++ CmdArgs.push_back("-lssp_nonshared");
++ }
++
+ if (D.CCCIsCXX() &&
+ !Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs,
+ options::OPT_r)) {
diff --git a/main/clang/APKBUILD b/main/clang/APKBUILD
index 199f9c75b3..323a03bb87 100644
--- a/main/clang/APKBUILD
+++ b/main/clang/APKBUILD
@@ -5,7 +5,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=clang
# Note: Update together with llvm.
-pkgver=13.0.1
+pkgver=14.0.6
pkgrel=1
_llvmver=${pkgver%%.*}
pkgdesc="A C language family front-end for LLVM"
@@ -21,8 +21,9 @@ makedepends="
llvm$_llvmver-static
llvm$_llvmver-test-utils
samurai
- python3
py3-sphinx
+ python3
+ pythonispython3
"
checkdepends="diffutils bash gtest-dev"
depends_dev="$pkgname=$pkgver-r$pkgrel $pkgname-extra-tools=$pkgver-r$pkgrel"
@@ -36,50 +37,40 @@ source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/c
https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/clang-tools-extra-$pkgver.src.tar.xz
10-add-musl-triples.patch
30-Enable-stack-protector-by-default-for-Alpine-Linux.patch
+ llvm-hello.patch
"
builddir="$srcdir/clang-$pkgver.src"
prepare() {
mv "$srcdir/clang-tools-extra-$pkgver.src" "$builddir/tools/extra"
- # Substitute python hashbangs with python3.
- # Some scripts do not have a *.py postfix, thus iterate over all files.
- grep -l -R "^#!/usr/bin/env python$" . | while read -r f; do
- sed -i "$f" -e 's|^#!/usr/bin/env python$|&3|'
- done
default_prepare
}
build() {
- mkdir -p "$builddir"/build
- cd "$builddir"/build
-
python_version=$(python3 -V | sed 's/.*\([0-9]\{1,\}\.[0-9]\{1,\}\)\..*/\1/')
# NOTE: DO NOT change CMAKE_BUILD_TYPE! Buildmodes like None will enable
# debug assertions for LLVM!
- cmake .. -G Ninja -Wno-dev \
+ cmake -B build -G Ninja -Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS_RELEASE_INIT="$CFLAGS -O2" \
- -DCMAKE_CXX_FLAGS_RELEASE_INIT="$CXXFLAGS" \
- -DCMAKE_EXE_LINKER_FLAGS_RELEASE_INIT="$LDFLAGS -Wl,-z,stack-size=2097152" \
+ -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -Wl,-z,stack-size=2097152" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_VERBOSE_MAKEFILE=OFF \
-DCLANG_VENDOR=Alpine \
- -DLLVM_EXTERNAL_LIT=/usr/bin/lit \
-DCLANG_BUILD_EXAMPLES=OFF \
-DCLANG_INCLUDE_DOCS=ON \
-DCLANG_PYTHON_BINDINGS_VERSIONS="$python_version" \
-DLLVM_BUILD_DOCS=ON \
- -DLLVM_ENABLE_SPHINX=ON \
+ -DLLVM_ENABLE_SPHINX=OFF \
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
- -DCLANG_INCLUDE_TESTS=ON \
+ -DCLANG_INCLUDE_TESTS="$(want_check && echo ON || echo OFF)" \
-DCLANG_PLUGIN_SUPPORT=ON \
-DLIBCLANG_BUILD_STATIC=ON \
-DLLVM_ENABLE_EH=ON \
- -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_RTTI=ON \
+ -DCLANG_BUILT_STANDALONE=ON
- ninja clang-tblgen
- ninja
+ ninja -C build clang-tblgen
+ ninja -C build
}
check() {
@@ -88,14 +79,7 @@ check() {
package() {
DESTDIR="$pkgdir" ninja -C build install
- install -m 644 build/lib/libclang.a "$pkgdir"/usr/lib
-}
-
-static() {
- pkgdesc="Static libraries for clang"
-
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
+ install -Dm644 build/lib/libclang.a -t "$pkgdir"/usr/lib/
}
dev() {
@@ -110,22 +94,15 @@ analyzer() {
pkgdesc="Clang source code analysis framework"
depends="$pkgname=$pkgver-r$pkgrel perl python3"
- cd "$pkgdir"
-
- install -dm0755 \
- "$subpkgdir"/usr/bin \
- "$subpkgdir"/usr/lib \
- "$subpkgdir"/usr/libexec \
- "$subpkgdir"/usr/share
-
- mv usr/bin/scan-* "$subpkgdir"/usr/bin/
- mv usr/bin/analyze-build "$subpkgdir"/usr/bin/
- mv usr/bin/intercept-build "$subpkgdir"/usr/bin/
- mv usr/libexec/*-analyzer "$subpkgdir"/usr/libexec/
- mv usr/libexec/analyze-* "$subpkgdir"/usr/libexec/
- mv usr/libexec/intercept-* "$subpkgdir"/usr/libexec/
- mv usr/share/scan-* "$subpkgdir"/usr/share/
- mv usr/lib/libear "$subpkgdir"/usr/lib
+ amove \
+ usr/bin/scan* \
+ usr/bin/analyze-build \
+ usr/bin/intercept-build \
+ usr/libexec/*-analyzer \
+ usr/libexec/analyze-* \
+ usr/libexec/intercept-* \
+ usr/share/scan-* \
+ usr/lib/libear
}
extra() {
@@ -134,12 +111,11 @@ extra() {
cd "$pkgdir"
install -dm0755 \
- "$subpkgdir"/usr/bin \
- "$subpkgdir"/usr/share/clang \
"$subpkgdir"/usr/share/emacs/site-lisp
# FIXME: Make sure this is the right list of binaries for -extra-tools
- mv usr/bin/clang-apply-replacements \
+ amove \
+ usr/bin/clang-apply-replacements \
usr/bin/clang-change-namespace \
usr/bin/clang-check \
usr/bin/clang-doc \
@@ -165,12 +141,11 @@ extra() {
usr/bin/modularize \
usr/bin/pp-trace \
usr/bin/run-clang-tidy \
- "$subpkgdir"/usr/bin
- mv usr/share/clang/clang-include-fixer* \
+ usr/share/clang/clang-include-fixer* \
usr/share/clang/clang-format*.py \
usr/share/clang/*clang-tidy* \
- usr/share/clang/run-find-all-symbols.py \
- "$subpkgdir"/usr/share/clang
+ usr/share/clang/run-find-all-symbols.py
+
mv usr/share/clang/clang-*.el \
"$subpkgdir"/usr/share/emacs/site-lisp
}
@@ -188,8 +163,9 @@ python() {
}
sha512sums="
-10abb601ce33ec0ec1e966221d958dd6206cfd5b178f8af0850408ed6adf2a9e193afb87a6449d65bb636e70a4debc3818035ab7bfcddf35a54a603851779d57 clang-13.0.1.src.tar.xz
-a7875a2556a0e51a2620b89d060087a6d2dc3c09c11aec18f6953abbce1ece4eafe1caeafa8f0dfe92f0b721d505abbbedb42236c2db9c5f17f0df078ed81d1d clang-tools-extra-13.0.1.src.tar.xz
-4d372fb7d88e584bb23aefd0cb2a72106c030b068654e57fb4f8d108e3a9af261c0c82a39ec308ab902820b00acdf6c2abc9f379344b2c4df1c29e34e140a0c7 10-add-musl-triples.patch
-264dc8fd9f5d8675427ec984e1e381ff6a235f70006e8385430efc92d528914cb39a81eac79a75713ea8d7abfb83529e5935cb7fa275db469cc490c5fe5c7876 30-Enable-stack-protector-by-default-for-Alpine-Linux.patch
+5f5497b57dd116225e90f321902f1015beb50c0b1bb90d0fc6c026f13aa748feabe44f98eb75e86f98f3b1785ad5e850210732f3eae75b942ecd520527dcd30b clang-14.0.6.src.tar.xz
+b55fd9872e52a27599e27fa665cf39af3d172814c0e7246ea0e57286e9eea42bf816f8b6d350334f3fe5e2fae35a8e59d59e71a3a5de330ecb0622ef7655e63f clang-tools-extra-14.0.6.src.tar.xz
+5809d931656cac13b91bc91aac63df072b0403708ac718bf01546d9d520ff2c4163ee11411439dce5bb683a3bfa044b62443b6f66a1419c9086d20e79a018071 10-add-musl-triples.patch
+b9b5529bcf460767796ddbc6f7d8c479b62d63c74d39297b3c7c79a2f6898272ac52a2f2d1ea2bd601e869cecf23c0cd69fbcd613b8c6299b14a1be8203fd089 30-Enable-stack-protector-by-default-for-Alpine-Linux.patch
+e49ac24ebbd2922374c8f0562ef5ba40f481bfc9531303ff391c43d1e0306df360f1bc0e94093521d278ed33662defacf6e7ce644482fb0150259b20f44bba77 llvm-hello.patch
"
diff --git a/main/clang/llvm-hello.patch b/main/clang/llvm-hello.patch
new file mode 100644
index 0000000000..b5cd37a3ed
--- /dev/null
+++ b/main/clang/llvm-hello.patch
@@ -0,0 +1,63 @@
+Taken from https://reviews.llvm.org/D120301
+
+diff --git a/tools/extra/test/CMakeLists.txt b/tools/extra/test/CMakeLists.txt
+--- a/tools/extra/test/CMakeLists.txt
++++ b/tools/extra/test/CMakeLists.txt
+@@ -15,10 +15,15 @@
+
+ string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+
++if (TARGET LLVMHello)
++ set (LLVM_HAS_LLVM_HELLO 1)
++endif()
++
+ llvm_canonicalize_cmake_booleans(
+ CLANG_TIDY_ENABLE_STATIC_ANALYZER
+ CLANG_PLUGIN_SUPPORT
+ LLVM_INSTALL_TOOLCHAIN_ONLY
++ LLVM_HAS_LLVM_HELLO
+ )
+
+ configure_lit_site_cfg(
+@@ -97,7 +102,10 @@
+ endif()
+
+ if(TARGET CTTestTidyModule)
+- list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule LLVMHello)
++ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
++ if (TARGET LLVMHello)
++ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
++ endif()
+ target_include_directories(CTTestTidyModule PUBLIC BEFORE "${CLANG_TOOLS_SOURCE_DIR}")
+ if(CLANG_PLUGIN_SUPPORT AND (WIN32 OR CYGWIN))
+ set(LLVM_LINK_COMPONENTS
+diff --git a/tools/extra/test/clang-tidy/CTTestTidyModule.cpp b/tools/extra/test/clang-tidy/CTTestTidyModule.cpp
+--- a/tools/extra/test/clang-tidy/CTTestTidyModule.cpp
++++ b/tools/extra/test/clang-tidy/CTTestTidyModule.cpp
+@@ -1,4 +1,4 @@
+-// REQUIRES: plugins
++// REQUIRES: plugins, llvm-hello
+ // RUN: clang-tidy -checks='-*,mytest*' --list-checks -load %llvmshlibdir/CTTestTidyModule%pluginext -load %llvmshlibdir/LLVMHello%pluginext | FileCheck --check-prefix=CHECK-LIST %s
+ // CHECK-LIST: Enabled checks:
+ // CHECK-LIST-NEXT: mytest1
+diff --git a/tools/extra/test/lit.cfg.py b/tools/extra/test/lit.cfg.py
+--- a/tools/extra/test/lit.cfg.py
++++ b/tools/extra/test/lit.cfg.py
+@@ -155,3 +155,6 @@
+ # Plugins (loadable modules)
+ if config.has_plugins and config.llvm_plugin_ext:
+ config.available_features.add('plugins')
++
++if config.has_llvm_hello:
++ config.available_features.add("llvm-hello")
+diff --git a/tools/extra/test/lit.site.cfg.py.in b/tools/extra/test/lit.site.cfg.py.in
+--- a/tools/extra/test/lit.site.cfg.py.in
++++ b/tools/extra/test/lit.site.cfg.py.in
+@@ -13,6 +13,7 @@
+ config.target_triple = "@TARGET_TRIPLE@"
+ config.clang_tidy_staticanalyzer = @CLANG_TIDY_ENABLE_STATIC_ANALYZER@
+ config.has_plugins = @CLANG_PLUGIN_SUPPORT@ & ~@LLVM_INSTALL_TOOLCHAIN_ONLY@
++config.has_llvm_hello = @LLVM_HAS_LLVM_HELLO@
+
+ # Support substitution of the tools and libs dirs with user parameters. This is
+ # used when we can't determine the tool dir at configuration time.
diff --git a/main/cloog/APKBUILD b/main/cloog/APKBUILD
index 75f6ec4cdc..60193f0459 100644
--- a/main/cloog/APKBUILD
+++ b/main/cloog/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cloog
pkgver=0.20.0
-pkgrel=1
+pkgrel=2
pkgdesc="The Chunky Loop Generator"
url="http://www.cloog.org/"
arch="all"
diff --git a/main/clucene/APKBUILD b/main/clucene/APKBUILD
index e5c27f42a5..d591737c3e 100644
--- a/main/clucene/APKBUILD
+++ b/main/clucene/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=clucene
pkgver=2.3.3.4
-pkgrel=13
+pkgrel=15
pkgdesc="A C++ port of Lucene"
url="https://www.sourceforge.net/projects/clucene"
arch="all"
diff --git a/main/cmake/APKBUILD b/main/cmake/APKBUILD
index 85266e1268..523db5a03d 100644
--- a/main/cmake/APKBUILD
+++ b/main/cmake/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cmake
-pkgver=3.23.2
+pkgver=3.24.0
pkgrel=0
pkgdesc="Cross-platform, open-source make system"
url="https://www.cmake.org/"
@@ -57,5 +57,5 @@ package() {
make DESTDIR="$pkgdir" install
}
sha512sums="
-0925adf973d642fd76d4089b61b3882babb0a85050c4c57d5f5f3bd6b17564a9feb0beed236cd636e25f69072fa30b67ea3f80932380b6b6576f2dd78b8e6931 cmake-3.23.2.tar.gz
+91507fc0643f2de20e37cd8d6a539d8cb38a80b604bf77de8e88c8446b6d7b6d02b7329d58966dc2412c6c75edcb9dfbdae02fe84965fefeb7ca47f87631fe17 cmake-3.24.0.tar.gz
"
diff --git a/main/cmph/APKBUILD b/main/cmph/APKBUILD
index 74a20752f7..202affe42d 100644
--- a/main/cmph/APKBUILD
+++ b/main/cmph/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=cmph
pkgver=2.0.2
-pkgrel=0
+pkgrel=1
pkgdesc="A minimal hash C library - utility application"
url="http://cmph.sourceforge.net/"
arch="all"
@@ -10,7 +10,6 @@ subpackages="$pkgname-dev $pkgname-doc libcmph:lib"
source="https://downloads.sourceforge.net/cmph/cmph-$pkgver.tar.gz"
build() {
- cd "$builddir"
./configure \
--disable-static \
--build=$CBUILD \
@@ -23,12 +22,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
diff --git a/main/command-not-found/APKBUILD b/main/command-not-found/APKBUILD
index 137947fdc5..da8e136add 100644
--- a/main/command-not-found/APKBUILD
+++ b/main/command-not-found/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=command-not-found
pkgver=0.3
-pkgrel=0
+pkgrel=1
pkgdesc="friendly command not found handling"
url="https://github.com/kaniini/command-not-found"
arch="noarch"
diff --git a/main/compat-pvgrub/APKBUILD b/main/compat-pvgrub/APKBUILD
index 0b46906f38..899028120c 100644
--- a/main/compat-pvgrub/APKBUILD
+++ b/main/compat-pvgrub/APKBUILD
@@ -1,25 +1,18 @@
-# Contributor:
-# Maintainer:
+# Contributor:
+# Maintainer:
pkgname=compat-pvgrub
pkgver=1
-pkgrel=1
+pkgrel=2
pkgdesc="compatibility support for PV-GRUB 1.x"
url="https://www.alpinelinux.org/"
arch="noarch"
license="ISC"
-depends=""
-depends_dev=""
makedepends="$depends_dev"
triggers="compat-pvgrub.trigger=/boot"
-install=""
-subpackages=""
source="update-pvgrub"
-
-_builddir="$srcdir"
+builddir="$srcdir"
package() {
- cd "$_builddir"
-
mkdir -p "$pkgdir"/boot/grub "$pkgdir"/sbin
touch "$pkgdir"/boot/grub/.keep-compat-pvgrub
diff --git a/main/compiler-rt/APKBUILD b/main/compiler-rt/APKBUILD
index aff2d9f2c1..3efbba44e0 100644
--- a/main/compiler-rt/APKBUILD
+++ b/main/compiler-rt/APKBUILD
@@ -4,8 +4,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=compiler-rt
# Note: Update together with llvm.
-pkgver=13.0.1
-pkgrel=0
+pkgver=14.0.6
+pkgrel=1
_llvmver=${pkgver%%.*}
pkgdesc="LLVM compiler-rt runtime libraries"
arch="all"
@@ -14,7 +14,6 @@ license="Apache-2.0"
makedepends="
clang
cmake
- libexecinfo-dev
linux-headers
llvm-dev~$_llvmver
llvm-static~$_llvmver
@@ -28,9 +27,7 @@ source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/c
https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-$pkgver.src.tar.xz
xray-ppc64-musl.patch
- link-execinfo.patch
sanitizer-supported-arch.patch
- aarch64-ucontext.patch
sanitizer-ppc64-musl.patch
"
builddir="$srcdir/$pkgname-$pkgver.src"
@@ -48,12 +45,18 @@ prepare() {
sed -i 's|/usr/bin/env python$|/usr/bin/python3|' \
lib/hwasan/scripts/hwasan_symbolize
+
+ cd "$srcdir"
+
+ # monorepo layout
+ ln -sfv llvm-$pkgver.src llvm
}
build() {
# compiler-rt uses llvm intrinsic types for testing
# and therefore requires clang
# It also needs LLVM source for testing purposes
+ # GWP asan is broken
cmake -G Ninja -B build -Wno-dev \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
@@ -63,8 +66,8 @@ build() {
-DCOMPILER_RT_BUILD_SANITIZERS=$_build_sanitizers \
-DCOMPILER_RT_BUILD_XRAY=ON \
-DCOMPILER_RT_INSTALL_PATH="/usr/lib/clang/$pkgver" \
- -DLLVM_EXTERNAL_LIT="/usr/bin/lit" \
- -DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+ -DCOMPILER_RT_BUILD_GWP_ASAN=OFF \
+ -DLLVM_EXTERNAL_LIT="/usr/bin/lit"
cmake --build build
}
@@ -77,11 +80,9 @@ package() {
}
sha512sums="
-2cdc3d5cfe5fcf7eba497912ccaadcf33dbd2dd029840fbd54c861b24927e5f4dd494b1ecee1c6c8abbd21e1adf08c217448f408d75346147bac15000fe9ec29 compiler-rt-13.0.1.src.tar.xz
-05fbe8708ac3d0dfef3a9135ee88185a95ed492095429a97d33b8aadb0187e59ad42d1a7184f02b5c84fdd31f3d7227c65bd292ed0aa039b29522e59cf90a965 llvm-13.0.1.src.tar.xz
+c0e63071cb99bca837b83fd0e3597cf45cc635f73ab88a1ec48e863a1633f42bd402ea7c5130e8fa0f550b9574c1ecac1799b92b789565e4ead955cf60060907 compiler-rt-14.0.6.src.tar.xz
+6461bdde27aac17fa44c3e99a85ec47ffb181d0d4e5c3ef1c4286a59583e3b0c51af3c8081a300f45b99524340773a3011380059e3b3a571c3b0a8733e96fc1d llvm-14.0.6.src.tar.xz
8ed6746474f135ebf77a0888957126ef3a5ded97551632198cf15659104d792487920324b74569dfc46140d26f0a268e2378d6f8878c1c9013b8e6f199eeb3b7 xray-ppc64-musl.patch
-50c68838f79c948b3a0bff6cb120f8c68cac9ad2254d6409b1cddf79cc8a776d1142b29678445d92b62fadc66f353fe89e14dac7aa6c3b4f08d883a06615d7e3 link-execinfo.patch
-014951fa69792814f41cc5b3b412c2d3dcd9d1396d98a2b44eb304b13f238246fad94eb7ecd7c159788b7d3e4a1119f25a4dc2c33bc9330dd8800c6e1a586b43 sanitizer-supported-arch.patch
-cc109c684f30842043a2e4991ef0bea626bd0ea8108bbe41cd3fc8610fec70e2ae0b17763a7ba1868c97fe2b1d32d6042ed19a833a3444908d601f0c26cedb67 aarch64-ucontext.patch
-24064718e4bd48e2b57c9de94c2fe975f4ec9ae9bd635d542c06bc5d4c59e25a9bdaabbaf5cb5a5f3c9819d01c7a15b2e70aa7679d5bc1e7a52033e6f0bb107e sanitizer-ppc64-musl.patch
+9aaac8aa9217509cf377b44e20a8c8294b9972e03e9d4f7c1b0ac7c22bcdac6f6a0888ab16b7542e1d6b89a5ac9054c5d8ef8acd1ae1002cca2d0b3df86136a6 sanitizer-supported-arch.patch
+aed5efa8a9c4f3bcb3b377d3c69c3fef387ef73d712bb58d60622d02d09f42b827cd810cd0648ca2a0ed6cca794f98a6176522e528488caf2f9ce08e0138c931 sanitizer-ppc64-musl.patch
"
diff --git a/main/compiler-rt/aarch64-ucontext.patch b/main/compiler-rt/aarch64-ucontext.patch
deleted file mode 100644
index 8db80675e8..0000000000
--- a/main/compiler-rt/aarch64-ucontext.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Patch-Source: https://github.com/void-linux/void-packages/blob/c907a54de30ad0b19fbf9f37d5b67cabe5c7744d/srcpkgs/llvm12/patches/compiler-rt-aarch64-ucontext.patch
-
---- a/lib/sanitizer_common/sanitizer_linux.cpp
-+++ b/lib/sanitizer_common/sanitizer_linux.cpp
-@@ -1799,7 +1799,7 @@
-
- static bool Aarch64GetESR(ucontext_t *ucontext, u64 *esr) {
- static const u32 kEsrMagic = 0x45535201;
-- u8 *aux = ucontext->uc_mcontext.__reserved;
-+ u8 *aux = reinterpret_cast<u8 *>(ucontext->uc_mcontext.__reserved);
- while (true) {
- _aarch64_ctx *ctx = (_aarch64_ctx *)aux;
- if (ctx->size == 0) break;
diff --git a/main/compiler-rt/link-execinfo.patch b/main/compiler-rt/link-execinfo.patch
deleted file mode 100644
index 8da49fb38b..0000000000
--- a/main/compiler-rt/link-execinfo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/scudo/standalone/CMakeLists.txt
-+++ b/lib/scudo/standalone/CMakeLists.txt
-@@ -137,6 +137,8 @@
-
- append_list_if(FUCHSIA zircon SCUDO_LINK_LIBS)
-
-+list(APPEND SCUDO_LINK_LIBS execinfo)
-+
- if(COMPILER_RT_HAS_SCUDO_STANDALONE)
- add_compiler_rt_object_libraries(RTScudoStandalone
- ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH}
diff --git a/main/compiler-rt/sanitizer-ppc64-musl.patch b/main/compiler-rt/sanitizer-ppc64-musl.patch
index a4d1d38ed7..b6f3e0050a 100644
--- a/main/compiler-rt/sanitizer-ppc64-musl.patch
+++ b/main/compiler-rt/sanitizer-ppc64-musl.patch
@@ -1,5 +1,7 @@
Patch-Source: https://github.com/void-linux/void-packages/blob/c907a54de30ad0b19fbf9f37d5b67cabe5c7744d/srcpkgs/llvm12/patches/compiler-rt-sanitizer-ppc64-musl.patch
+Updated to llvm14
+
--- a/lib/sanitizer_common/sanitizer_linux.cpp
+++ b/lib/sanitizer_common/sanitizer_linux.cpp
@@ -74,6 +74,10 @@
@@ -18,11 +20,11 @@ Patch-Source: https://github.com/void-linux/void-packages/blob/c907a54de30ad0b19
@@ -92,7 +92,7 @@
# include <utime.h>
# include <sys/ptrace.h>
- #if defined(__mips64) || defined(__aarch64__) || defined(__arm__) || \
-- SANITIZER_RISCV64
-+ defined(__powerpc__) || SANITIZER_RISCV64
- # include <asm/ptrace.h>
- # ifdef __arm__
+ # if defined(__mips64) || defined(__aarch64__) || defined(__arm__) || \
+- defined(__hexagon__) || SANITIZER_RISCV64
++ defined(__hexagon__) || SANITIZER_RISCV64 || defined(__powerpc__)
+ # include <asm/ptrace.h>
+ # ifdef __arm__
typedef struct user_fpregs elf_fpregset_t;
--- a/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
+++ b/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
@@ -31,7 +33,7 @@ Patch-Source: https://github.com/void-linux/void-packages/blob/c907a54de30ad0b19
#include <sys/uio.h> // for iovec
#include <elf.h> // for NT_PRSTATUS
-#if (defined(__aarch64__) || SANITIZER_RISCV64) && !SANITIZER_ANDROID
-+#if (defined(__aarch64__) || defined(__powerpc__) || SANITIZER_RISCV64) && !SANITIZER_ANDROID
++#if (defined(__aarch64__) || SANITIZER_RISCV64 || defined(__powerpc__)) && !SANITIZER_ANDROID
// GLIBC 2.20+ sys/user does not include asm/ptrace.h
# include <asm/ptrace.h>
#endif
diff --git a/main/compiler-rt/sanitizer-supported-arch.patch b/main/compiler-rt/sanitizer-supported-arch.patch
index bbb51c4781..05db295a80 100644
--- a/main/compiler-rt/sanitizer-supported-arch.patch
+++ b/main/compiler-rt/sanitizer-supported-arch.patch
@@ -1,15 +1,16 @@
Sanitizer code is broken on armhf, armv7, s390x, x86, and probably riscv64,
i.e. enable it only on x86_64, aarch64, and ppc64le.
---- a/cmake/config-ix.cmake
-+++ b/cmake/config-ix.cmake
-@@ -295,8 +295,7 @@
+--- a/cmake/Modules/AllSupportedArchDefs.cmake
++++ b/cmake/Modules/AllSupportedArchDefs.cmake
+@@ -22,9 +22,7 @@
set(X86_64 x86_64 x86_64h)
endif()
-set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${RISCV64}
-- ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9})
-+set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86_64} ${PPC64} ${ARM64})
+- ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9}
+- ${HEXAGON})
++set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86_64} ${ARM64} ${MIPS32})
set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
- ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9})
- set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV32} ${RISCV64} ${VE})
+ ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON})
+ set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC32}
diff --git a/main/confuse/APKBUILD b/main/confuse/APKBUILD
index 102d162034..d188ed069e 100644
--- a/main/confuse/APKBUILD
+++ b/main/confuse/APKBUILD
@@ -1,14 +1,14 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=confuse
pkgver=3.3
-pkgrel=0
+pkgrel=1
pkgdesc="C library for parsing configuration files"
-url="https://github.com/martinh/libconfuse"
+url="https://github.com/libconfuse/libconfuse"
arch="all"
license="ISC"
makedepends="flex bison"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/martinh/libconfuse/releases/download/v$pkgver/confuse-$pkgver.tar.xz"
+source="https://github.com/libconfuse/libconfuse/releases/download/v$pkgver/confuse-$pkgver.tar.xz"
# secfixes:
diff --git a/main/conntrack-tools/APKBUILD b/main/conntrack-tools/APKBUILD
index e1ad0fa20c..6ee991ade9 100644
--- a/main/conntrack-tools/APKBUILD
+++ b/main/conntrack-tools/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=conntrack-tools
pkgver=1.4.6
-pkgrel=1
+pkgrel=2
pkgdesc="Connection tracking userspace tools"
url="https://www.netfilter.org/projects/conntrack-tools/"
arch="all"
@@ -47,7 +47,9 @@ package() {
"$pkgdir"/etc/logrotate.d/conntrackd
}
-sha512sums="a48260308a12b11b584fcf4658ec2c4c1adb2801c9cf9a73fc259e5c30d2fbe401aca21e931972413f03e415f98fbf9bd678d2126faa6c6d5748e8a652e58f1a conntrack-tools-1.4.6.tar.bz2
-1d8e6d6eec79233b276d12e78c5d184d356df85ede299bfa9f6967ace30987f3b2f8c8077a1e2f9123a817f2805fdb9bf8fa9ec441882a112d83cabf84932e16 conntrackd.initd
+sha512sums="
+a48260308a12b11b584fcf4658ec2c4c1adb2801c9cf9a73fc259e5c30d2fbe401aca21e931972413f03e415f98fbf9bd678d2126faa6c6d5748e8a652e58f1a conntrack-tools-1.4.6.tar.bz2
+f1d96a8107ff1f95b626d592121b59104a3a013970cad8112fde237db2db514d1383e520adf46bf1384831d8d91ec943838a9391b32c3d1ce2bf6aa83c86e18d conntrackd.initd
fd8cfab207867844db6671a8395efadca792d6085c3436381e574dc52f3b4e41d9526b3db6114dd98e534a5419ca19f291d21c091f8cf0426024d73d18133e6f conntrackd.confd
-1e4e6414bbf4210fab83d1a8cd7198bf11f2638d378abd674b1b66bd6ab6bdc048fc4052c3e263bd02dfc8085d007f3092f24e818f8579a940aa3b5af19c1766 conntrackd.logrotate"
+1e4e6414bbf4210fab83d1a8cd7198bf11f2638d378abd674b1b66bd6ab6bdc048fc4052c3e263bd02dfc8085d007f3092f24e818f8579a940aa3b5af19c1766 conntrackd.logrotate
+"
diff --git a/main/conntrack-tools/conntrackd.initd b/main/conntrack-tools/conntrackd.initd
index ba4d0a680c..fae89c6d8d 100644
--- a/main/conntrack-tools/conntrackd.initd
+++ b/main/conntrack-tools/conntrackd.initd
@@ -2,10 +2,15 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-CONNTRACKD_BIN="/usr/sbin/conntrackd"
CONNTRACKD_CFG=${CONNTRACKD_CFG:-/etc/conntrackd/conntrackd.conf}
CONNTRACKD_LOCK=${CONNTRACKD_LOCK:-/var/lock/conntrack.lock}
+command="/usr/sbin/conntrackd"
+command_args="-C ${CONNTRACKD_CFG} ${CONNTRACKD_OPTS}"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+required_files="$CONNTRACKD_CFG"
+
depend() {
use logger
need net
@@ -61,13 +66,11 @@ checkconfig() {
eerror
return 1
fi
- # check for config file
- if [ ! -e "${CONNTRACKD_CFG}" ]; then
- eerror
- eerror "The conntrackd config file (${CONNTRACKD_CFG})"
- eerror "is missing!"
- eerror
- return 1
+}
+
+start_pre() {
+ if [ "${RC_CMD}" != "restart" ] ; then
+ checkconfig || return $?
fi
# check for leftover lockfile
if [ -f "${CONNTRACKD_LOCK}" ]; then
@@ -85,16 +88,8 @@ checkconfig() {
fi
}
-start() {
- checkconfig || return 1
- ebegin "Starting conntrackd"
- start-stop-daemon --start --exec "${CONNTRACKD_BIN}" \
- -- -d -C "${CONNTRACKD_CFG}" ${CONNTRACKD_OPTS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping conntrackd"
- start-stop-daemon --stop --exec "${CONNTRACKD_BIN}"
- eend $?
+stop_pre() {
+ if [ "${RC_CMD}" = "restart" ] ; then
+ checkconfig || return $?
+ fi
}
diff --git a/main/cppunit/APKBUILD b/main/cppunit/APKBUILD
index d5e483ac4c..9fc4a574b9 100644
--- a/main/cppunit/APKBUILD
+++ b/main/cppunit/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cppunit
pkgver=1.15.1
-pkgrel=0
+pkgrel=1
pkgdesc="C++ unit testing framework"
url="http://www.freedesktop.org/wiki/Software/cppunit/"
arch="all"
diff --git a/main/cramfs/APKBUILD b/main/cramfs/APKBUILD
index 854df0ecf0..b51a935730 100644
--- a/main/cramfs/APKBUILD
+++ b/main/cramfs/APKBUILD
@@ -1,25 +1,21 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cramfs
pkgver=1.1
-pkgrel=3
+pkgrel=4
pkgdesc="Linux filesystem designed to be simple, small, and to compress things well"
arch="all"
url="https://sourceforge.net/projects/cramfs/"
-license='GPL'
-depends=
+license="GPL"
makedepends="zlib-dev linux-headers"
source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
mkcramfs-include-sysmacros.patch"
build() {
- cd "$srcdir/$pkgname-$pkgver"
- make CFLAGS="$CFLAGS -D_GNU_SOURCE" || return 1
+ make CFLAGS="$CFLAGS -D_GNU_SOURCE"
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
- install -d "$pkgdir"/sbin
- install mkcramfs cramfsck "$pkgdir"/sbin
+ install -Dm755 mkcramfs cramfsck "$pkgdir"/sbin
}
sha512sums="6c18dbe32df57f7d132fb2a59a917ad381156ca1f720c1ad0997ca81c62e82fd43ebb0339c5a66d5b144a72ce5c7ae93596522fe2698259f2b68c31db26e3b63 cramfs-1.1.tar.gz
diff --git a/main/cryptsetup/APKBUILD b/main/cryptsetup/APKBUILD
index 4a0dbb4d23..03672d7a8e 100644
--- a/main/cryptsetup/APKBUILD
+++ b/main/cryptsetup/APKBUILD
@@ -1,15 +1,21 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cryptsetup
-pkgver=2.4.3
-pkgrel=0
+pkgver=2.5.0
+pkgrel=1
pkgdesc="Userspace setup tool for transparent encryption of block devices using the Linux 2.6 cryptoapi"
url="https://gitlab.com/cryptsetup/cryptsetup"
arch="all"
license="GPL-2.0-or-later WITH OpenSSL-Exception"
-makedepends_build="bash coreutils"
-makedepends_host="lvm2-dev openssl1.1-compat-dev popt-dev util-linux-dev
- json-c-dev argon2-dev"
+makedepends_build="asciidoctor bash coreutils"
+makedepends_host="
+ argon2-dev
+ json-c-dev
+ lvm2-dev
+ openssl-dev>3
+ popt-dev
+ util-linux-dev
+ "
makedepends="$makedepends_build $makedepends_host"
checkdepends="device-mapper which sharutils"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-openrc"
@@ -57,8 +63,8 @@ package() {
install -Dm755 "$srcdir"/dmcrypt.initd "$pkgdir"/etc/init.d/dmcrypt
mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
- install -m644 README.md FAQ docs/v$pkgver-ReleaseNotes \
- "$pkgdir"/usr/share/doc/$pkgname/
+ install -m644 README.md FAQ.md docs/v$pkgver-ReleaseNotes \
+ -t "$pkgdir"/usr/share/doc/$pkgname/
}
libs() {
@@ -68,7 +74,7 @@ libs() {
}
sha512sums="
-a6c8a33e62853fd5757239b5ec3529bd7d994c6d70db65188b7bd121ee59347a89b57f72d5ebdf521027f5a00951db2fb8acfcbbf1902e8697b006c4fe13c9f2 cryptsetup-2.4.3.tar.gz
+f457168292ae9fadc34d709494818aee3f18b56bdf5fcff0b2a5ae0b554031ce888d01cd126ca7aa915fcdcb00de6afed2fdb25bbbd690aa8bfcaafa516ade93 cryptsetup-2.5.0.tar.gz
a3ca3e648749136ee724692b61488cd855f118eb93435942c2b04964a34fe49d0f0da4ef64cd2531c1c0f650e77808cf5d802789fd7664398248ead668bb35e5 dmcrypt.initd
74422d5e1614b43af894ea01da1ea80d805ec7f77981cbb80a6b1a4becad737a8825d7269812499095a7f50d39fa7da5bf4e4edae63529b1fe87b9176943a733 dmcrypt.confd
529187851def5fbc08e995eba90d3f013f1cf8469dcb9344f83d1e3c73c71467ca4ed62c8282ec27ebfa30ccc33653fdd1aea8d1d80e1ac4293d51865c9a6200 flush-stdout.patch
diff --git a/main/ctags/APKBUILD b/main/ctags/APKBUILD
index 0d8d0e8458..0530265fa7 100644
--- a/main/ctags/APKBUILD
+++ b/main/ctags/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=ctags
-pkgver=5.9.20220327.0
+pkgver=5.9.20220703.0
_realver="p$pkgver"
pkgrel=0
pkgdesc="Generator of tags for all types of C/C++ languages"
@@ -51,6 +51,6 @@ package() {
}
sha512sums="
-34a21f1297d6b6803a6a5a7beb9c39e338ba0cbfe7e69260f965f13307a88f8bab2bdad5b2d528d5bb78b64dd165fa6f2fef5df78d6df0d38597caf1e28f7d77 ctags-5.9.20220327.0.tar.gz
+076723b7081add840bb7af26b833a32d225b008e439ff3ccc576ed762ab0bd9c22bc89b7297338df597b35b1ee1eb26ff643e30e94fa42e7eefa6123d9b62633 ctags-5.9.20220703.0.tar.gz
185b0647ddaba90ae386c40d75cd8cf8613a89b4d1d0d0905eb78ba3afad57cf273ab2d826053e49d22278f9d3cec97780c8f15aef13c7582658ca24708abf14 disable-check-genfile.patch
"
diff --git a/main/cunit/APKBUILD b/main/cunit/APKBUILD
index ae369ebcb6..0e218e765c 100644
--- a/main/cunit/APKBUILD
+++ b/main/cunit/APKBUILD
@@ -4,7 +4,7 @@ pkgname=cunit
_pkgname=CUnit
pkgver=2.1.3
_pkgver=${pkgver%.*}-${pkgver##*.}
-pkgrel=2
+pkgrel=3
pkgdesc="Automated testing framework for C"
url="http://cunit.sourceforge.net/"
arch="all"
@@ -17,7 +17,6 @@ builddir="$srcdir/$_pkgname-$_pkgver"
prepare() {
default_prepare
- cd "$builddir"
libtoolize --force --copy
aclocal
autoheader
@@ -28,7 +27,6 @@ prepare() {
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -46,12 +44,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
diff --git a/main/curl/APKBUILD b/main/curl/APKBUILD
index dae9b77f61..ca1289dc34 100644
--- a/main/curl/APKBUILD
+++ b/main/curl/APKBUILD
@@ -8,14 +8,14 @@
# this aport from arch=all WILL be reverted.
pkgname=curl
-pkgver=7.83.1
-pkgrel=1
+pkgver=7.84.0
+pkgrel=2
pkgdesc="URL retrival utility and library"
url="https://curl.se/"
arch="all"
license="curl"
depends="ca-certificates"
-depends_dev="openssl1.1-compat-dev nghttp2-dev zlib-dev brotli-dev"
+depends_dev="openssl-dev>3 nghttp2-dev zlib-dev brotli-dev"
checkdepends="nghttp2 python3"
makedepends_host="$depends_dev"
makedepends_build="autoconf automake groff libtool perl"
@@ -23,11 +23,17 @@ subpackages="$pkgname-dbg $pkgname-static $pkgname-doc $pkgname-dev libcurl"
[ -z "$BOOTSTRAP" ] && subpackages="$subpackages $pkgname-zsh-completion $pkgname-fish-completion"
source="
https://curl.se/download/curl-$pkgver.tar.xz
+ easy_lock.patch
"
options="net" # Required for running tests
[ -n "$BOOTSTRAP" ] && options="$options !check" # remove python3 dependency
# secfixes:
+# 7.84.0-r0:
+# - CVE-2022-32205
+# - CVE-2022-32206
+# - CVE-2022-32207
+# - CVE-2022-32208
# 7.83.1-r0:
# - CVE-2022-27778
# - CVE-2022-27779
@@ -156,7 +162,9 @@ build() {
make
# generation of completions is not supported when cross-compiling.
- [ -z "$BOOTSTRAP" ] && make -C scripts/
+ if [ -z "$BOOTSTRAP" ]; then
+ make -C scripts/
+ fi
}
check() {
@@ -188,5 +196,6 @@ static() {
}
sha512sums="
-2f63327d6d3687ba36fb7b8d5d3d15599eca33ebfb08681613612ea9c4b629d3b6ce4d2742fa1ebd7a997ed332001d3a4c798985f9277c83b9e7a9aecdb1b1ee curl-7.83.1.tar.xz
+86231866a35593a1637fbc0c6af3b6761bdfd99fb35580cc52970c36f19604f93dce59fea67a1d5bb4b455f719307599c7916c77d14f2b661f6bf7fb1ca716ce curl-7.84.0.tar.xz
+f0c9e4744e62818f20634b7fa15b1ccd700b49259a99f151f6dc1067adac83ebb34a9bdd75adb1d8889d23a5d61c86dbfeb2ebad031cd4951a509c6bab9e0986 easy_lock.patch
"
diff --git a/main/curl/easy_lock.patch b/main/curl/easy_lock.patch
new file mode 100644
index 0000000000..17728840b3
--- /dev/null
+++ b/main/curl/easy_lock.patch
@@ -0,0 +1,53 @@
+From 3f6beb669e4edc170e167aa6cca3b4a6ec4501e9 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel@haxx.se>
+Date: Mon, 27 Jun 2022 08:46:21 +0200
+Subject: [PATCH] easy_lock.h: include sched.h if available to fix build
+
+Patched-by: Harry Sintonen
+---
+ lib/easy_lock.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/lib/easy_lock.h b/lib/easy_lock.h
+index 819f50ce815b8..1f54289ceb2d3 100644
+--- a/lib/easy_lock.h
++++ b/lib/easy_lock.h
+@@ -36,6 +36,9 @@
+
+ #elif defined (HAVE_ATOMIC)
+ #include <stdatomic.h>
++#if defined(HAVE_SCHED_YIELD)
++#include <sched.h>
++#endif
+
+ #define curl_simple_lock atomic_bool
+ #define CURL_SIMPLE_LOCK_INIT false
+From 897d72b6c749545ee3d07052f9d1c69fd80b9dab Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel@haxx.se>
+Date: Tue, 28 Jun 2022 09:00:25 +0200
+Subject: [PATCH] easy_lock: switch to using atomic_int instead of bool
+
+To work with more compilers without requiring separate libs to
+link. Like with gcc-12 for RISC-V on Linux.
+
+Reported-by: Adam Sampson
+Fixes #9055
+---
+ lib/easy_lock.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/easy_lock.h b/lib/easy_lock.h
+index 07c85c5ffdd19..9c11bc50c5f20 100644
+--- a/lib/easy_lock.h
++++ b/lib/easy_lock.h
+@@ -40,8 +40,8 @@
+ #include <sched.h>
+ #endif
+
+-#define curl_simple_lock atomic_bool
+-#define CURL_SIMPLE_LOCK_INIT false
++#define curl_simple_lock atomic_int
++#define CURL_SIMPLE_LOCK_INIT 0
+
+ static inline void curl_simple_lock_lock(curl_simple_lock *lock)
+ {
diff --git a/main/cutter/APKBUILD b/main/cutter/APKBUILD
index 8d2a310b4e..bcf88fc4cd 100644
--- a/main/cutter/APKBUILD
+++ b/main/cutter/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Michael Mason <ms13sp@gmail.com>
pkgname=cutter
pkgver=1.04
-pkgrel=1
+pkgrel=2
pkgdesc="A program that allows firewall administrators to abort TCP/IP connections"
url="http://www.digitage.co.uk/digitage/software/linux-security/cutter"
arch="all"
@@ -12,15 +12,11 @@ options="!check"
source="http://www.digitage.co.uk/digitage/files/cutter/$pkgname-$pkgver.tgz
musl-fix.patch"
-builddir="$srcdir/$pkgname-$pkgver"
-
build() {
- cd "$builddir"
make
}
package() {
- cd "$builddir"
install -m755 -D $pkgname "$pkgdir"/usr/sbin/$pkgname
}
diff --git a/main/cyrus-sasl/APKBUILD b/main/cyrus-sasl/APKBUILD
index 560775e1c8..fa40d31ddb 100644
--- a/main/cyrus-sasl/APKBUILD
+++ b/main/cyrus-sasl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cyrus-sasl
pkgver=2.1.28
-pkgrel=0
+pkgrel=2
pkgdesc="Cyrus Simple Authentication Service Layer (SASL)"
url="https://www.cyrusimap.org/sasl/"
arch="all"
@@ -21,11 +21,12 @@ subpackages="
$pkgname-crammd5:_plugin
$pkgname-digestmd5:_plugin
$pkgname-login:_plugin
+ $pkgname-sql:_plugin
"
# use heimdal to avoid circular dep: cyrus-sasl -> krb5 -> openldap -> cyrus-sasl
makedepends="
gdbm-dev
- openssl1.1-compat-dev
+ openssl-dev>3
heimdal-dev
py3-sphinx
sqlite-dev
@@ -65,7 +66,6 @@ build() {
--mandir=/usr/share/man \
--enable-static \
--enable-shared \
- --disable-java \
--with-plugindir=/usr/lib/sasl2 \
--with-configdir=/etc/sasl2 \
--with-dbpath=/etc/sasl2/sasldb2 \
@@ -77,7 +77,11 @@ build() {
--with-saslauthd=/run/saslauthd \
--without-pwcheck \
--with-devrandom=/dev/urandom \
- --with-sqlite \
+ --enable-sql \
+ --without-mysql \
+ --without-pgsql \
+ --without-sqlite \
+ --with-sqlite3=/usr/lib \
--enable-anon \
--enable-cram \
--enable-digest \
diff --git a/main/cython/APKBUILD b/main/cython/APKBUILD
index 8fdabff4f0..424ff4a2fc 100644
--- a/main/cython/APKBUILD
+++ b/main/cython/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=cython
pkgver=0.29.24
-pkgrel=1
+pkgrel=2
pkgdesc="Cython is an optimising static compiler for both the Python & the extended Cython programming languages."
url="https://cython.org/"
arch="all"
@@ -14,10 +14,6 @@ subpackages="cython-doc"
source="cython-$pkgver.tar.gz::https://github.com/cython/cython/archive/$pkgver.tar.gz
cython-test-fix.patch"
-# compatible fix for removing dev subpkg from apkbuild
-# cython is not a library but a compiler and does not need a dev subpackage
-provides=cython-dev
-
build() {
python3 setup.py build
}
diff --git a/main/dahdi-linux-lts/APKBUILD b/main/dahdi-linux-lts/APKBUILD
index 3f5d1ab6f5..6620e97689 100644
--- a/main/dahdi-linux-lts/APKBUILD
+++ b/main/dahdi-linux-lts/APKBUILD
@@ -9,7 +9,7 @@ _rel=0
_flavor=${FLAVOR:-lts}
_kpkg=linux-$_flavor
-_kver=5.15.43
+_kver=5.15.59
_krel=0
_kpkgver="$_kver-r$_krel"
diff --git a/main/dansguardian/APKBUILD b/main/dansguardian/APKBUILD
index 294bd96d80..af88e93999 100644
--- a/main/dansguardian/APKBUILD
+++ b/main/dansguardian/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dansguardian
pkgver=2.12.0.3
-pkgrel=4
+pkgrel=6
pkgdesc="Web content filter"
url="http://dansguardian.org"
arch="all"
@@ -10,7 +10,7 @@ license="GPL"
depends="logrotate"
makedepends="zlib-dev pcre-dev"
install="$pkgname.pre-install"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-openrc"
pkgusers="dansguar"
pkggroups="dansguar"
source="https://downloads.sourceforge.net/project/dansguardian/dansguardian-$pkgver.tar.bz2
@@ -19,29 +19,23 @@ source="https://downloads.sourceforge.net/project/dansguardian/dansguardian-$pkg
ftp-credential.patch
dansguardian-2.10.1.1-pcre830.patch
fix-includes.patch
- gcc11.patch
+ cstring.patch
"
-_builddir="$srcdir"/dansguardian-$pkgver
prepare() {
- cd "$_builddir"
- update_config_sub || return 1
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
+ default_prepare
+ update_config_sub
+
# do not block "microsoft...clustimg=..." and similar
- sed -i -e 's:\.\*:.{1,10}:g' configs/lists/bannedregexpurllist \
- || return 1
+ sed -i -e 's:\.\*:.{1,10}:g' configs/lists/bannedregexpurllist
# bind to 127.0.0.1 by default
sed -i -e 's:^filterip =.*:filterip = 127.0.0.1:' \
- configs/dansguardian.conf.in || return 1
+ configs/dansguardian.conf.in
}
build() {
- cd "$_builddir"
+ CXXFLAGS="$CXXFLAGS -std=gnu++11" \
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -53,18 +47,16 @@ build() {
--with-proxygroup=dansguar \
--with-logdir=/var/log/dansguardian \
--with-piddir=/var/run/ \
- --enable-ntlm \
- || return 1
- make || return 1
+ --enable-ntlm
+ make
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
- install -D -m 755 "$srcdir"/dansguardian.initd \
- "$pkgdir"/etc/init.d/dansguardian || return 1
- install -D -m 644 "$srcdir"/dansguardian.logrotate \
- "$pkgdir"/etc/logrotate.d/dansguardian || return 1
+ make DESTDIR="$pkgdir" install
+ install -Dm755 "$srcdir"/dansguardian.initd \
+ "$pkgdir"/etc/init.d/dansguardian
+ install -Dm644 "$srcdir"/dansguardian.logrotate \
+ "$pkgdir"/etc/logrotate.d/dansguardian
install -d -o dansguar -g dansguar "$pkgdir"/var/log/dansguardian
}
@@ -75,5 +67,5 @@ cc23178755365a3cceff08d9eb5c26dd440648b22af15377a30d2032f71cf0bd8ed3ab59c8a671f2
07b62441363534f39a1400389c702bbd5a53317526a18b3fc929f00bd854706c56b891d7fecb4151e200448f8ba012729e712e9cfdbbd683a3d2634fdc095bd1 ftp-credential.patch
d3d9af038ff5a91d1f9dc6cf4175b0da2a791386ca624f4a639338ed189a274eba720e9771986e7ded517e2623185e8b61ef3689414197c47a6ae3220be99d57 dansguardian-2.10.1.1-pcre830.patch
2eb17ef01a0b7d626f50197e0ddd160ae4ed17a813af00ceb9f6c54610d84b03b5c819bc2d8799f683e68dc16a65cbac5a8e36f0c43737d8ea82c7354e852d78 fix-includes.patch
-7ff0232e185e09b561a73496bb68a5fad11d97c02dde4436c993af454e5cfba5124c20b54c18bc864a21818df170fa8306a67419752ca75ea8a3cc797e88c1fe gcc11.patch
+77257cd290bfa91a6af7aaf6e58a4280e75a1a7ea5dc7e89fd418cd7509263533e4133f447f02f77410da1533502c9011921288d05b5d4cf33aac1e66467eaa6 cstring.patch
"
diff --git a/main/dansguardian/cstring.patch b/main/dansguardian/cstring.patch
new file mode 100644
index 0000000000..53c48fcd70
--- /dev/null
+++ b/main/dansguardian/cstring.patch
@@ -0,0 +1,12 @@
+diff --git a/src/UDSocket.cpp b/src/UDSocket.cpp
+index 3d33ff6..db4de8c 100644
+--- a/src/UDSocket.cpp
++++ b/src/UDSocket.cpp
+@@ -13,6 +13,7 @@
+ #include "UDSocket.hpp"
+
+ #include <syslog.h>
++#include <cstring>
+ #include <csignal>
+ #include <fcntl.h>
+ #include <sys/time.h>
diff --git a/main/dansguardian/gcc11.patch b/main/dansguardian/gcc11.patch
deleted file mode 100644
index b7a11a746e..0000000000
--- a/main/dansguardian/gcc11.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-diff --git a/src/BaseSocket.cpp b/src/BaseSocket.cpp
-index 18c8030..4992647 100644
---- a/src/BaseSocket.cpp
-+++ b/src/BaseSocket.cpp
-@@ -210,7 +210,7 @@ bool BaseSocket::checkForInput()
- }
-
- // blocking check for waiting data - blocks for up to given timeout, can be told to break on signal-triggered config reloads
--void BaseSocket::checkForInput(int timeout, bool honour_reloadconfig) throw(std::exception)
-+void BaseSocket::checkForInput(int timeout, bool honour_reloadconfig) noexcept(false)
- {
- #ifdef DGDEBUG
- std::cout << "BaseSocket::checkForInput: starting for sck:" << sck << std::endl;
-@@ -249,7 +249,7 @@ bool BaseSocket::readyForOutput()
- }
-
- // blocking equivalent of above, can be told to break on signal-triggered reloads
--void BaseSocket::readyForOutput(int timeout, bool honour_reloadconfig) throw(std::exception)
-+void BaseSocket::readyForOutput(int timeout, bool honour_reloadconfig) noexcept(false)
- {
- // blocks if socket blocking
- // until timeout
-@@ -266,7 +266,7 @@ void BaseSocket::readyForOutput(int timeout, bool honour_reloadconfig) throw(std
- }
-
- // read a line from the socket, can be told to break on config reloads
--int BaseSocket::getLine(char *buff, int size, int timeout, bool honour_reloadconfig, bool *chopped, bool *truncated) throw(std::exception)
-+int BaseSocket::getLine(char *buff, int size, int timeout, bool honour_reloadconfig, bool *chopped, bool *truncated) noexcept(false)
- {
- // first, return what's left from the previous buffer read, if anything
- int i = 0;
-@@ -347,7 +347,7 @@ int BaseSocket::getLine(char *buff, int size, int timeout, bool honour_reloadcon
- }
-
- // write line to socket
--void BaseSocket::writeString(const char *line) throw(std::exception)
-+void BaseSocket::writeString(const char *line) noexcept(false)
- {
- int l = strlen(line);
- if (!writeToSocket(line, l, 0, timeout)) {
-@@ -356,7 +356,7 @@ void BaseSocket::writeString(const char *line) throw(std::exception)
- }
-
- // write data to socket - throws exception on failure, can be told to break on config reloads
--void BaseSocket::writeToSockete(const char *buff, int len, unsigned int flags, int timeout, bool honour_reloadconfig) throw(std::exception)
-+void BaseSocket::writeToSockete(const char *buff, int len, unsigned int flags, int timeout, bool honour_reloadconfig) noexcept(false)
- {
- if (!writeToSocket(buff, len, flags, timeout, honour_reloadconfig)) {
- throw std::runtime_error(std::string("Can't write to socket: ") + strerror(errno));
-diff --git a/src/BaseSocket.hpp b/src/BaseSocket.hpp
-index cffcf7d..bbbeac2 100644
---- a/src/BaseSocket.hpp
-+++ b/src/BaseSocket.hpp
-@@ -48,17 +48,17 @@ public:
- // non-blocking check for input data
- bool checkForInput();
- // blocking check for data, can be told to break on signal triggered config reloads (-r)
-- void checkForInput(int timeout, bool honour_reloadconfig = false) throw(std::exception);
-+ void checkForInput(int timeout, bool honour_reloadconfig = false) noexcept(false);
- // non-blocking check for writable socket
- bool readyForOutput();
- // blocking check, can break on config reloads
-- void readyForOutput(int timeout, bool honour_reloadconfig = false) throw(std::exception);
-+ void readyForOutput(int timeout, bool honour_reloadconfig = false) noexcept(false);
-
- // get a line from the socket - can break on config reloads
-- int getLine(char *buff, int size, int timeout, bool honour_reloadconfig = false, bool *chopped = NULL, bool *truncated = NULL) throw(std::exception);
-+ int getLine(char *buff, int size, int timeout, bool honour_reloadconfig = false, bool *chopped = NULL, bool *truncated = NULL) noexcept(false);
-
- // write buffer to string - throws std::exception on error
-- void writeString(const char *line) throw(std::exception);
-+ void writeString(const char *line) noexcept(false);
- // write buffer to string - can be told not to do an initial readyForOutput, and told to break on -r
- bool writeToSocket(const char *buff, int len, unsigned int flags, int timeout, bool check_first = true, bool honour_reloadconfig = false);
- // read from socket, returning number of bytes read
-@@ -66,7 +66,7 @@ public:
- // read from socket, returning error status - can be told to skip initial checkForInput, and to break on -r
- int readFromSocket(char *buff, int len, unsigned int flags, int timeout, bool check_first = true, bool honour_reloadconfig = false);
- // write to socket, throwing std::exception on error - can be told to break on -r
-- void writeToSockete(const char *buff, int len, unsigned int flags, int timeout, bool honour_reloadconfig = false) throw(std::exception);
-+ void writeToSockete(const char *buff, int len, unsigned int flags, int timeout, bool honour_reloadconfig = false) noexcept(false);
-
- protected:
- // socket-wide timeout (is this actually used?)
-diff --git a/src/DataBuffer.cpp b/src/DataBuffer.cpp
-index 3bb8349..0fc1da7 100644
---- a/src/DataBuffer.cpp
-+++ b/src/DataBuffer.cpp
-@@ -236,7 +236,7 @@ bool DataBuffer::in(Socket * sock, Socket * peersock, HTTPHeader * requestheader
- }
-
- // send the request body to the client after having been handled by a DM plugin
--void DataBuffer::out(Socket * sock) throw(std::exception)
-+void DataBuffer::out(Socket * sock) noexcept(false)
- {
- if (dontsendbody) {
- #ifdef DGDEBUG
-diff --git a/src/DataBuffer.hpp b/src/DataBuffer.hpp
-index dd0b8fc..e8f16aa 100644
---- a/src/DataBuffer.hpp
-+++ b/src/DataBuffer.hpp
-@@ -40,7 +40,7 @@ public:
- // gives true if it pauses due to too much data
- bool in(Socket * sock, Socket * peersock, class HTTPHeader * requestheader, class HTTPHeader * docheader, bool runav, int *headersent);
- // send body to client
-- void out(Socket * sock) throw(std::exception);
-+ void out(Socket * sock) noexcept(false);
-
- void setTimeout(int t) { timeout = t; };
- void setDecompress(String d) { decompress = d; };
-diff --git a/src/HTTPHeader.cpp b/src/HTTPHeader.cpp
-index 383a7e5..5ffcc45 100644
---- a/src/HTTPHeader.cpp
-+++ b/src/HTTPHeader.cpp
-@@ -1602,7 +1602,7 @@ int HTTPHeader::decode1b64(char c)
- // - this allows us to re-open the proxy connection on pconns if squid's end has
- // timed out but the client's end hasn't. not much use with NTLM, since squid
- // will throw a 407 and restart negotiation, but works well with basic & others.
--void HTTPHeader::out(Socket * peersock, Socket * sock, int sendflag, bool reconnect) throw(std::exception)
-+void HTTPHeader::out(Socket * peersock, Socket * sock, int sendflag, bool reconnect) noexcept(false)
- {
- String l; // for amalgamating to avoid conflict with the Nagel algorithm
-
-diff --git a/src/HTTPHeader.hpp b/src/HTTPHeader.hpp
-index ce30779..c237463 100644
---- a/src/HTTPHeader.hpp
-+++ b/src/HTTPHeader.hpp
-@@ -45,7 +45,7 @@ public:
- // - this allows us to re-open the proxy connection on pconns if squid's end has
- // timed out but the client's end hasn't. not much use with NTLM, since squid
- // will throw a 407 and restart negotiation, but works well with basic & others.
-- void out(Socket *peersock, Socket *sock, int sendflag, bool reconnect = false) throw(std::exception);
-+ void out(Socket *peersock, Socket *sock, int sendflag, bool reconnect = false) noexcept(false);
-
- // discard remainder of POST data
- // amount to discard can be passed in, or will default to contentLength()
-diff --git a/src/Socket.cpp b/src/Socket.cpp
-index 990f30f..8212622 100644
---- a/src/Socket.cpp
-+++ b/src/Socket.cpp
-@@ -654,7 +654,7 @@ bool Socket::checkForInput()
- }
-
- // blocking check for waiting data - blocks for up to given timeout, can be told to break on signal-triggered config reloads
--void Socket::checkForInput(int timeout, bool honour_reloadconfig) throw(std::exception)
-+void Socket::checkForInput(int timeout, bool honour_reloadconfig) noexcept(false)
- {
- if (!isssl){
- BaseSocket::checkForInput(timeout, honour_reloadconfig);
-@@ -676,7 +676,7 @@ bool Socket::readyForOutput()
- return true;
- }
-
--void Socket::readyForOutput(int timeout, bool honour_reloadconfig) throw(std::exception)
-+void Socket::readyForOutput(int timeout, bool honour_reloadconfig) noexcept(false)
- {
- if (!isssl){
- BaseSocket::readyForOutput(timeout,honour_reloadconfig);
-@@ -689,7 +689,7 @@ void Socket::readyForOutput(int timeout, bool honour_reloadconfig) throw(std::ex
- }
-
- // read a line from the socket, can be told to break on config reloads
--int Socket::getLine(char *buff, int size, int timeout, bool honour_reloadconfig, bool *chopped, bool *truncated) throw(std::exception)
-+int Socket::getLine(char *buff, int size, int timeout, bool honour_reloadconfig, bool *chopped, bool *truncated) noexcept(false)
- {
- if (!isssl){
- return BaseSocket::getLine(buff, size,timeout, honour_reloadconfig, chopped, truncated);
-@@ -765,7 +765,7 @@ int Socket::getLine(char *buff, int size, int timeout, bool honour_reloadconfig,
- }
-
- // write line to socket
--void Socket::writeString(const char *line) throw(std::exception)
-+void Socket::writeString(const char *line) noexcept(false)
- {
- int l = strlen(line);
- if (!writeToSocket(line, l, 0, timeout)) {
-@@ -774,7 +774,7 @@ void Socket::writeString(const char *line) throw(std::exception)
- }
-
- // write data to socket - throws exception on failure, can be told to break on config reloads
--void Socket::writeToSockete(const char *buff, int len, unsigned int flags, int timeout, bool honour_reloadconfig) throw(std::exception)
-+void Socket::writeToSockete(const char *buff, int len, unsigned int flags, int timeout, bool honour_reloadconfig) noexcept(false)
- {
- if (!writeToSocket(buff, len, flags, timeout, honour_reloadconfig)) {
- throw std::runtime_error(std::string("Can't write to socket: ") + strerror(errno));
-diff --git a/src/Socket.hpp b/src/Socket.hpp
-index 0917cbf..e78ae9b 100644
---- a/src/Socket.hpp
-+++ b/src/Socket.hpp
-@@ -82,19 +82,19 @@ public:
- // non-blocking check for writable socket
- bool readyForOutput();
- // blocking check, can break on config reloads
-- void readyForOutput(int timeout, bool honour_reloadconfig = false) throw(std::exception);
-+ void readyForOutput(int timeout, bool honour_reloadconfig = false) noexcept(false);
-
- // non-blocking check for input data
- bool checkForInput();
-
- // blocking check for data, can be told to break on signal triggered config reloads (-r)
-- void checkForInput(int timeout, bool honour_reloadconfig = false) throw(std::exception);
-+ void checkForInput(int timeout, bool honour_reloadconfig = false) noexcept(false);
-
- // get a line from the socket - can break on config reloads
-- int getLine(char *buff, int size, int timeout, bool honour_reloadconfig = false, bool *chopped = NULL, bool *truncated = NULL) throw(std::exception);
-+ int getLine(char *buff, int size, int timeout, bool honour_reloadconfig = false, bool *chopped = NULL, bool *truncated = NULL) noexcept(false);
-
- // write buffer to string - throws std::exception on error
-- void writeString(const char *line) throw(std::exception);
-+ void writeString(const char *line) noexcept(false);
- // write buffer to string - can be told not to do an initial readyForOutput, and told to break on -r
- bool writeToSocket(const char *buff, int len, unsigned int flags, int timeout, bool check_first = true, bool honour_reloadconfig = false);
- // read from socket, returning number of bytes read
-@@ -102,7 +102,7 @@ public:
- // read from socket, returning error status - can be told to skip initial checkForInput, and to break on -r
- int readFromSocket(char *buff, int len, unsigned int flags, int timeout, bool check_first = true, bool honour_reloadconfig = false);
- // write to socket, throwing std::exception on error - can be told to break on -r
-- void writeToSockete(const char *buff, int len, unsigned int flags, int timeout, bool honour_reloadconfig = false) throw(std::exception);
-+ void writeToSockete(const char *buff, int len, unsigned int flags, int timeout, bool honour_reloadconfig = false) noexcept(false);
- #endif //__SSLMITM
-
-
diff --git a/main/dav1d/APKBUILD b/main/dav1d/APKBUILD
new file mode 100644
index 0000000000..2316f80810
--- /dev/null
+++ b/main/dav1d/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Leo <thinkabit.ukim@gmail.com>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=dav1d
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="small and fast AV1 Decoder"
+url="https://code.videolan.org/videolan/dav1d"
+arch="all"
+license="BSD-2-Clause"
+makedepends="nasm meson"
+subpackages="$pkgname-dev lib$pkgname:libs"
+source="https://code.videolan.org/videolan/dav1d/-/archive/$pkgver/dav1d-$pkgver.tar.bz2
+ fix-asmcheck.patch
+ "
+
+build() {
+ case "$CARCH" in
+ armhf*) meson_opts="-Denable_asm=false" ;;
+ *) meson_opts="-Denable_asm=true" ;;
+ esac
+
+ abuild-meson \
+ -Denable_tests=true \
+ -Denable_tools=true \
+ -Dfuzzing_engine=none \
+ -Dtestdata_tests=false \
+ $meson_opts \
+ build
+ meson compile ${JOBS:+-j ${JOBS}} -C build
+}
+
+check() {
+ meson test --no-rebuild -v -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C build
+}
+
+sha512sums="
+86c6481e787fb6b8c28521e1efb1876d1be99f5fa5332cddab1111059b44775e05203cfc5c80a1b404ee00f35a1f5e1099e21b1f0851d77fb0101567e8b1a892 dav1d-1.0.0.tar.bz2
+6635e139a601fd8455ea0979e6e070fa2635cbe1c185050f8d4145e8eb9e4aace066657411f4c92696b2528564a9f2c7fc751be47eaa4273f50cd11f4b4d3ccc fix-asmcheck.patch
+"
diff --git a/main/dav1d/fix-asmcheck.patch b/main/dav1d/fix-asmcheck.patch
new file mode 100644
index 0000000000..922db6e641
--- /dev/null
+++ b/main/dav1d/fix-asmcheck.patch
@@ -0,0 +1,63 @@
+Patch-Source: https://code.videolan.org/videolan/dav1d/-/merge_requests/1406
+From 87f9a81cd770e49394a45deca7a3df41243de00b Mon Sep 17 00:00:00 2001
+From: Henrik Gramner <gramner@twoorioles.com>
+Date: Sat, 19 Mar 2022 03:09:31 +0100
+Subject: [PATCH] checkasm: Fix alignment of stack buffers in the film grain
+ tests
+
+---
+ tests/checkasm/filmgrain.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/tests/checkasm/filmgrain.c b/tests/checkasm/filmgrain.c
+index ff7ffc36..9aa4f269 100644
+--- a/tests/checkasm/filmgrain.c
++++ b/tests/checkasm/filmgrain.c
+@@ -83,9 +83,9 @@ static void check_gen_grny(const Dav1dFilmGrainDSPContext *const dsp) {
+ }
+
+ static void check_gen_grnuv(const Dav1dFilmGrainDSPContext *const dsp) {
+- entry grain_lut_y[GRAIN_HEIGHT + 1][GRAIN_WIDTH];
+- entry grain_lut_c[GRAIN_HEIGHT][GRAIN_WIDTH];
+- entry grain_lut_a[GRAIN_HEIGHT + 1][GRAIN_WIDTH];
++ ALIGN_STK_16(entry, grain_lut_y, GRAIN_HEIGHT + 1,[GRAIN_WIDTH]);
++ ALIGN_STK_16(entry, grain_lut_c, GRAIN_HEIGHT, [GRAIN_WIDTH]);
++ ALIGN_STK_16(entry, grain_lut_a, GRAIN_HEIGHT + 1,[GRAIN_WIDTH]);
+
+ declare_func(void, entry grain_lut[][GRAIN_WIDTH],
+ const entry grain_lut_y[][GRAIN_WIDTH],
+@@ -155,6 +155,7 @@ static void check_fgy_sbrow(const Dav1dFilmGrainDSPContext *const dsp) {
+
+ if (check_func(dsp->fgy_32x32xn, "fgy_32x32xn_%dbpc", BITDEPTH)) {
+ ALIGN_STK_16(Dav1dFilmGrainData, fg_data, 16,);
++ ALIGN_STK_16(entry, grain_lut, GRAIN_HEIGHT + 1,[GRAIN_WIDTH]);
+ ALIGN_STK_64(uint8_t, scaling, SCALING_SIZE,);
+ fg_data[0].seed = rnd() & 0xFFFF;
+
+@@ -164,7 +165,6 @@ static void check_fgy_sbrow(const Dav1dFilmGrainDSPContext *const dsp) {
+ const int bitdepth_max = 0xff;
+ #endif
+
+- entry grain_lut[GRAIN_HEIGHT + 1][GRAIN_WIDTH];
+ fg_data[0].grain_scale_shift = rnd() & 3;
+ fg_data[0].ar_coeff_shift = (rnd() & 3) + 6;
+ fg_data[0].ar_coeff_lag = rnd() & 3;
+@@ -267,6 +267,7 @@ static void check_fguv_sbrow(const Dav1dFilmGrainDSPContext *const dsp) {
+ BITDEPTH, ss_name[layout_idx], csfl))
+ {
+ ALIGN_STK_16(Dav1dFilmGrainData, fg_data, 1,);
++ ALIGN_STK_16(entry, grain_lut, 2,[GRAIN_HEIGHT + 1][GRAIN_WIDTH]);
+ ALIGN_STK_64(uint8_t, scaling, SCALING_SIZE,);
+
+ fg_data[0].seed = rnd() & 0xFFFF;
+@@ -279,7 +280,6 @@ static void check_fguv_sbrow(const Dav1dFilmGrainDSPContext *const dsp) {
+ const int uv_pl = rnd() & 1;
+ const int is_identity = rnd() & 1;
+
+- entry grain_lut[2][GRAIN_HEIGHT + 1][GRAIN_WIDTH];
+ fg_data[0].grain_scale_shift = rnd() & 3;
+ fg_data[0].ar_coeff_shift = (rnd() & 3) + 6;
+ fg_data[0].ar_coeff_lag = rnd() & 3;
+--
+GitLab
+
diff --git a/main/db/APKBUILD b/main/db/APKBUILD
index ce746403ad..6b091ce518 100644
--- a/main/db/APKBUILD
+++ b/main/db/APKBUILD
@@ -1,29 +1,23 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=db
pkgver=5.3.28
-_ver=${pkgver}
-pkgrel=1
+pkgrel=2
pkgdesc="The Berkeley DB embedded database system"
url="https://www.oracle.com/technology/software/products/berkeley-db/index.html"
arch="all"
license="custom"
options="!check" # "check target not available"
-depends=
-makedepends=
subpackages="$pkgname-dev $pkgname-doc $pkgname-utils $pkgname-c++:cxx"
source="https://download.oracle.com/berkeley-db/db-$pkgver.tar.gz
atomic.patch
"
-builddir="$srcdir/db-$_ver"
prepare() {
- cd "$builddir"
default_prepare
update_config_sub
}
build () {
- cd "$builddir"
cd build_unix
../dist/configure \
--build=$CBUILD \
@@ -38,13 +32,12 @@ build () {
}
package() {
- cd "$builddir"/build_unix
- make DESTDIR="$pkgdir" install
+ make -C build_unix DESTDIR="$pkgdir" install
mkdir -p "$pkgdir"/usr/share/doc
mv "$pkgdir"/usr/docs "$pkgdir"/usr/share/doc/$pkgname
- install -D -m644 "$srcdir"/db-$_ver/LICENSE \
+ install -Dm644 LICENSE \
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
@@ -61,5 +54,7 @@ cxx() {
mv "$pkgdir"/usr/lib/libdb_cxx*.so "$subpkgdir"/usr/lib/
}
-sha512sums="e91bbe550fc147a8be7e69ade86fdb7066453814971b2b0223f7d17712bd029a8eff5b2b6b238042ff6ec1ffa6879d44cb95c5645a922fee305c26c3eeaee090 db-5.3.28.tar.gz
-e9fedc5b870b95fe772a8121fca8b3642327d960441fe40a1090375efd37eec397a508e6e9100c2817c02bb4380421eb8ea400aeb060fe46a8bdac83a1abfbeb atomic.patch"
+sha512sums="
+e91bbe550fc147a8be7e69ade86fdb7066453814971b2b0223f7d17712bd029a8eff5b2b6b238042ff6ec1ffa6879d44cb95c5645a922fee305c26c3eeaee090 db-5.3.28.tar.gz
+e9fedc5b870b95fe772a8121fca8b3642327d960441fe40a1090375efd37eec397a508e6e9100c2817c02bb4380421eb8ea400aeb060fe46a8bdac83a1abfbeb atomic.patch
+"
diff --git a/main/debootstrap/APKBUILD b/main/debootstrap/APKBUILD
index a11e79d530..a0f56be37b 100644
--- a/main/debootstrap/APKBUILD
+++ b/main/debootstrap/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=debootstrap
-pkgver=1.0.126
-pkgrel=2
+pkgver=1.0.127
+pkgrel=0
pkgdesc="Debian/Ubuntu bootstrap scripts"
url="https://packages.qa.debian.org/d/debootstrap.html"
arch="noarch"
@@ -20,6 +20,6 @@ package() {
}
sha512sums="
-4851be46698c4e63c4c29d19a4d4e636fbb4c9aa46d1da04524d95a889b5062e216506bb33ef06875a5c5743bac115bd5323daf236783b85b066b2dc11d9b3ca debootstrap-1.0.126.tar.bz2
+4fc5dc23c9a2ab7255d19df74f413e8e17302b57468291da88f5980d48c8a2959e3318829d6eb4cbaf5441d326cbe01ef212d2d1c1f3f41659fbb21861eec904 debootstrap-1.0.127.tar.bz2
a349d9d8f5fe9e4ccb67d7206d5e87174722c0e0ee07405557662e94fb3c330a922f9cfe12bbd096103cbbe2146262ea300d9e1854f7fef77f4f1949984f5591 auto-detect-arch.patch
"
diff --git a/main/dejagnu/APKBUILD b/main/dejagnu/APKBUILD
index b974176acb..54ad23a79c 100644
--- a/main/dejagnu/APKBUILD
+++ b/main/dejagnu/APKBUILD
@@ -1,9 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer:
-
pkgname=dejagnu
pkgver=1.6.2
-pkgrel=0
+pkgrel=1
pkgdesc="A framework for testing other programs"
url="https://www.gnu.org/software/dejagnu/"
arch="noarch"
@@ -14,7 +13,6 @@ subpackages="$pkgname-dev $pkgname-doc"
source="https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,12 +24,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
diff --git a/main/dhcpcd/APKBUILD b/main/dhcpcd/APKBUILD
index 269a068ca9..0a76dd8655 100644
--- a/main/dhcpcd/APKBUILD
+++ b/main/dhcpcd/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dhcpcd
pkgver=9.4.1
-pkgrel=0
+pkgrel=1
pkgdesc="RFC2131 compliant DHCP client"
url="https://roy.marples.name/projects/dhcpcd"
arch="all"
@@ -47,5 +47,5 @@ sha512sums="
530e6a5bddab4f91bd66f8d47ccd8d6cac4bc2998ddd36da7e257c83270b558016e9e1fc2f815fb99c0d86ed4bbc2a3a1b78788e69fe151fddaf94428a47fa45 dhcpcd-9.4.1.tar.xz
692b2c8c75166fabd512a7cc69c650f9391e0f682ce9cbe1771bfa44e82dcf09e322c46493c45ca75000f479d3cddde306754ba31d28a798a15e2b79a56045f0 busybox-logger.patch
1c19eed0f7a008ee96ea392beb327169ff8c83fc27fed20f65f05c9125f60629ebe3474c5e6a7cf4aeeea448fde4264c9b84916efacd67d47ab908c47b1fc3a5 fix-chrony-conf-location.patch
-dc3b30295dbe5310526443736e60ccc53621d465d512639e8ea20efe598037ff33730e46964e4e7bc32d4ce88aaecf3b9bb9a4ceab892d8bff3423e0374ccae1 dhcpcd.initd
+f2c9878449ba8a8d7415c31c7e955bcfc3e1dc7cc84d06de39a3584bb9cae42e214176dd3a91f4d998d94e098be3d9fa990b7277b4763e292b8f32e45dc6f7e5 dhcpcd.initd
"
diff --git a/main/dhcpcd/dhcpcd.initd b/main/dhcpcd/dhcpcd.initd
index aab118242e..7daa07b94e 100644
--- a/main/dhcpcd/dhcpcd.initd
+++ b/main/dhcpcd/dhcpcd.initd
@@ -3,8 +3,8 @@
description="DHCP Client Daemon"
command="/sbin/dhcpcd"
-command_args="-q ${command_args:-}"
-command_args_foreground="-B"
+command_args="-q -B ${command_args:-}"
+command_background="true"
pidfile="/run/dhcpcd.pid"
depend() {
diff --git a/main/dialog/APKBUILD b/main/dialog/APKBUILD
index cdfd464dd8..c2469a4920 100644
--- a/main/dialog/APKBUILD
+++ b/main/dialog/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dialog
-pkgver=1.3.20220414
+pkgver=1.3.20220728
_pkgver=${pkgver%.*}-${pkgver##*.}
pkgrel=0
pkgdesc="Script interpreter providing curses widgets"
@@ -39,5 +39,5 @@ static() {
}
sha512sums="
-53b7bc64bb6406c5828f2d023e7db457eee970ade2077bc64860ef12f06c254b4a13706eee068ffe44055ec6b0576ecfe33153438660a5a54f78ea1be00091ee dialog-1.3-20220414.tgz
+dddceaf00bfec4b53f2cf67e51d4c54841d9db337536657c21bc8f324a0eb9c6d621f00e09bfb741bd263f171dde38cfea87568f86daf04a9e88575a0ed61218 dialog-1.3-20220728.tgz
"
diff --git a/main/djbdns/APKBUILD b/main/djbdns/APKBUILD
index e0ee5b2618..8680b4e4b3 100644
--- a/main/djbdns/APKBUILD
+++ b/main/djbdns/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=djbdns
pkgver=1.05
-pkgrel=47
+pkgrel=48
pkgdesc="Excellent high-performance DNS services"
url="http://cr.yp.to/djbdns.html"
arch="all"
@@ -23,32 +23,26 @@ https://www.fefe.de/dns/djbdns-1.05-test25.diff.bz2
dnscache.monthly
"
-builddir="$srcdir"/$pkgname-$pkgver
prepare() {
default_prepare
- cd "$builddir"
# remove all the generated headers. they came with the jumbo patch and should
# never have been there...
sed -n 's/^\([a-z0-9]\+\.h\):.*/\1/gp' Makefile Makefile.sig | xargs rm -f
}
build() {
- cd "$builddir"
- echo "${CC:-"gcc"} ${CFLAGS}" > conf-cc
- echo "${CC:-"gcc"} ${LDFLAGS}" > conf-ld
+ echo "${CC:-"gcc"} $CFLAGS" > conf-cc
+ echo "${CC:-"gcc"} $LDFLAGS" > conf-ld
echo "/usr" > conf-home
make -j1
}
package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/etc/
- cp dnsroots.global "$pkgdir"/etc/
- mkdir -p "$pkgdir"/usr/bin
- cp *-conf dnscache tinydns walldns rbldns pickdns axfrdns \
+ install -Dm644 dnsroots.global -t "$pkgdir"/etc/
+ install -Dm755 *-conf dnscache tinydns walldns rbldns pickdns axfrdns \
*-get *-data *-edit dnsip dnsipq dnsname dnstxt dnsmx \
dnsfilter random-ip dnsqr dnsq dnstrace dnstracesort \
- "$pkgdir"/usr/bin/
+ -t "$pkgdir"/usr/bin/
mkdir -p "$pkgdir"/usr/share/doc/djbdns
}
@@ -56,18 +50,16 @@ common() {
pkgdesc="Base utilities of djbdns"
replaces="djbdns"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/dnsqr "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/dnsip "$subpkgdir"/usr/bin
+ amove usr/bin/dnsqr usr/bin/dnsip
}
tinydns() {
pkgdesc="A small and secure DNS server"
install=tinydns.pre-install
- mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/etc/tinydns \
+ amove usr/bin/tinydns*
+ mkdir -p "$subpkgdir"/etc/tinydns \
"$subpkgdir"/var/cache/tinydns
- mv "$pkgdir"/usr/bin/tinydns* "$subpkgdir"/usr/bin
install -D -m755 "$srcdir"/tinydns.initd \
"$subpkgdir"/etc/init.d/tinydns
install -D -m644 "$srcdir"/tinydns.confd \
diff --git a/main/dkimproxy/APKBUILD b/main/dkimproxy/APKBUILD
index dbec8b06a1..8b4f2cd791 100644
--- a/main/dkimproxy/APKBUILD
+++ b/main/dkimproxy/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=dkimproxy
pkgver=1.4.1
-pkgrel=5
+pkgrel=6
pkgdesc="SMTP-proxy that signs and/or verifies emails, using the Mail::DKIM module"
url="http://dkimproxy.sourceforge.net/"
arch="noarch"
@@ -17,11 +17,8 @@ source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
dkimproxy.in.confd
dkimproxy.out.confd
"
-builddir="$srcdir/$pkgname-$pkgver"
build() {
- cd "$builddir"
-
local vendorlib=$(perl -V:vendorlib | sed -En "s|vendorlib='([^']+)';|\1|p")
perllibdir="$vendorlib" ./configure --prefix=/usr \
@@ -33,8 +30,6 @@ build() {
}
package() {
- cd "$builddir"
-
make DESTDIR="$pkgdir" install
cd "$pkgdir"
diff --git a/main/dmidecode/APKBUILD b/main/dmidecode/APKBUILD
index 7f2d9db9ca..85ee6c67dd 100644
--- a/main/dmidecode/APKBUILD
+++ b/main/dmidecode/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Nathan Angelacos <nangel@alpinelinux.org>
pkgname=dmidecode
-pkgver=3.3
-pkgrel=1
+pkgver=3.4
+pkgrel=0
pkgdesc="A utility for reporting system hardware as described by BIOS"
url="https://nongnu.org/dmidecode"
arch="all"
@@ -13,7 +13,7 @@ source="https://download.savannah.gnu.org/releases/dmidecode/dmidecode-$pkgver.t
prepare() {
default_prepare
- sed -e '/^PROGRAMS !=/d' -e 's/-O2/-Os/' -i Makefile
+ sed -e '/^PROGRAMS !=/d' -i Makefile
}
build() {
@@ -25,5 +25,5 @@ package() {
}
sha512sums="
-dc77f40a7898011cea1b747d4677be2fbe8f52ec6ac460a5656de2f3389eca83bc416d6494acbe759971b5afce37b78f21ab55c34d62b1105b800e31566d1d22 dmidecode-3.3.tar.xz
+62990b6159e5a7c8688d37e44957e7948391d2c6afeabaa4514ba9dad2d08b020297676e2dbbfcb6471efc6fb6f3682750422931a953f78f358bb3dd3745e95b dmidecode-3.4.tar.xz
"
diff --git a/main/dns-root-hints/APKBUILD b/main/dns-root-hints/APKBUILD
index 2cc6385db3..3a6e75d343 100644
--- a/main/dns-root-hints/APKBUILD
+++ b/main/dns-root-hints/APKBUILD
@@ -1,38 +1,47 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=dns-root-hints
-pkgver=2019073000
-pkgrel=3
+pkgver=2022062901
+pkgrel=0
pkgdesc="The DNS root hint(s)"
url="https://www.internic.net/domain"
arch="noarch"
license="Public-Domain"
-depends="curl gpg"
-makedepends="curl"
-source="verisign-grs-nstld-key.asc named.root named.root.sig
+depends="curl gpgv"
+makedepends="gpg"
+source="verisign-grs-nstld-key.asc
+ named.root
+ named.root.sig
update-$pkgname
$pkgname.crond
"
+builddir="$srcdir"
+
+prepare() {
+ default_prepare
+
+ # Convert the key to the GPG keyring that can be used with gpgv.
+ gpg --dearmor -o verisign-grs-nstld-key.gpg verisign-grs-nstld-key.asc
+}
package() {
- install -D -m 644 -o root -g root "$srcdir"/named.root \
- "$pkgdir"/usr/share/$pkgname/named.root
- install -D -m 644 -o root -g root "$srcdir"/named.root.sig \
- "$pkgdir"/usr/share/$pkgname/named.root.sig
- install -D -m 644 -o root -g root "$srcdir"/verisign-grs-nstld-key.asc \
- "$pkgdir"/usr/share/$pkgname/verisign-grs-nstld-key.asc
- install -D -m 755 -o root -g root "$srcdir"/update-$pkgname \
- "$pkgdir"/usr/bin/update-$pkgname
- install -D -m 755 -o root -g root "$srcdir"/$pkgname.crond \
- "$pkgdir"/etc/periodic/monthly/$pkgname
+ install -D -m 644 -t "$pkgdir"/usr/share/$pkgname \
+ named.root \
+ named.root.sig \
+ verisign-grs-nstld-key.asc \
+ verisign-grs-nstld-key.gpg
+
+ install -D -m 755 -t "$pkgdir"/usr/bin/ update-$pkgname
+
+ install -D -m 755 $pkgname.crond "$pkgdir"/etc/periodic/monthly/$pkgname
# compatibility links
- cd "$pkgdir/usr/share/$pkgname"
+ cd "$pkgdir"/usr/share/$pkgname
ln -s named.root named.cache
ln -s named.root db.cache
}
check() {
- local _awkprog='
+ local awkprog='
/related version of root zone:/ {
rootver=$NF;
if (pkgver != rootver) {
@@ -43,44 +52,34 @@ check() {
printf "OK: %s\n", rootver;
quit;
}'
- awk -v pkgver="$pkgver" "$_awkprog" "$srcdir"/named.root
+ awk -v pkgver="$pkgver" "$awkprog" "$srcdir"/named.root
}
# check new versions of root hints and commit
snapshot() {
- # use a temporary dir for new files
- export _tmp=$(mktemp -d -p .)
- for file in named.root named.root.sig; do
- curl -sLR "${url}/${file}" -o "${_tmp}/${file}"
- done
-
- # compare new and current versions
- local _drh_new_ver=$(grep "related version of root zone:" ${_tmp}/named.root | egrep -o '[0-9]{10}')
- local _drh_current_ver=$(grep "related version of root zone:" named.root | egrep -o '[0-9]{10}')
+ local new_ver
- # commit if new version is found
- if [ "$_drh_new_ver" != "$_drh_current_ver" ]; then
- _check_sig
- mv ${_tmp}/named.root named.root
- mv ${_tmp}/named.root.sig named.root.sig
- git add named.root named.root.sig
- abump $pkgname-$_drh_new_ver
+ if ! [ -f "$srcdir"/verisign-grs-nstld-key.gpg ]; then
+ abuild unpack
+ abuild prepare
fi
- # cleanup
- rm "${_tmp}"/* 2>/dev/null || true
- rmdir "${_tmp}"
-}
+ DNS_ROOT_HINTS_DIR="$srcdir" ./update-dns-root-hints
-_check_sig() {
- local GNUPGHOME="$builddir/.gpg"
- install -d -m 0700 "$GNUPGHOME"
- gpg --import < verisign-grs-nstld-key.asc
- gpg --verify "${_tmp}/named.root.sig" "${_tmp}/named.root"
+ # commit if new version was found
+ if ! cmp -s named.root "$srcdir"/named.root; then
+ cp "$srcdir"/named.root* .
+ git add named.root named.root.sig
+
+ new_ver=$(sed -En 's/.*related version of root zone:\s*([0-9]{10}).*/\1/p' named.root)
+ abump $pkgname-$new_ver
+ fi
}
-sha512sums="3ecf5d66e506526ad98ea0b371202f0763b987322bd4407b40fcd95415202bddb18fd06c82eb397566b393e214dc88cb17ec94f3908328e8a55f5f68cc730993 verisign-grs-nstld-key.asc
-0491784a0d0722113120bae4dd42c7671cb05b4b76d4dd4773718ee4c7777d7fb7b039f76b8a30179d5dfa8f3142182bf0b0d809f9d6e1ef581d08482e06d250 named.root
-b1d76a8040c534f2a5ffc54b92aa3a465ddd01b345e2a7eade258359017c623d5a847a270b259cd58ba3d8550a3519b0921f9f62dc6e98a0acdd3873b2556359 named.root.sig
-7e640e997dd0eae47fb1e609f73d5206e09684eada15d3b6043fc23e639859af743b99cbd868e98269c2af25e7c3eeea307f52f2fb7d4a6f3e00f8b14a289322 update-dns-root-hints
-67a7ef07ee9086ce584a8b316b15cd05214968f89bbc363fb2d5932ebf47ed962c0862fe254082e68f27574acb62f3672137dd23c40d7d2047c969ee449827f8 dns-root-hints.crond"
+sha512sums="
+3ecf5d66e506526ad98ea0b371202f0763b987322bd4407b40fcd95415202bddb18fd06c82eb397566b393e214dc88cb17ec94f3908328e8a55f5f68cc730993 verisign-grs-nstld-key.asc
+9c838b409e8fc184cc33588eae5834e51f4632b6bde285b6b57b9db98e217481e1ae549de075ab883ae67e393fb0b73809f1703e1e13c4a521cc93137de22850 named.root
+28e3b3b3b3b0a93ed5a6cba615a0f7f99f5b6b236c2f58013946ae7ecc008c2158bc253b5b251ee0e483e2cff5cc008fdd7c15af6a3d6b05ba35e0217023b9d1 named.root.sig
+ba5663675e5b4cb0f670c570a4cef1fde8282185c5cc505af8beb7f32756a41ff511024f45c57c7204d03a88b8d2cc86ed31943ed19b71d30cee040d634a8208 update-dns-root-hints
+68a743ee7b0f60eeb21cecbb916c3d7051ebbb86143621aafe5ef654df0953a274a2ffa2f3fe42fb3c143fd7b29ab4c5b17407c73b560a1c19afa1584fc43d8a dns-root-hints.crond
+"
diff --git a/main/dns-root-hints/dns-root-hints.crond b/main/dns-root-hints/dns-root-hints.crond
index bf3882476c..833334a9a0 100644
--- a/main/dns-root-hints/dns-root-hints.crond
+++ b/main/dns-root-hints/dns-root-hints.crond
@@ -1,3 +1,3 @@
#!/bin/sh
-/usr/bin/update-dns-root-hints &>/dev/null
+/usr/bin/update-dns-root-hints >/dev/null 2>&1
diff --git a/main/dns-root-hints/named.root b/main/dns-root-hints/named.root
index dba9ed9eae..bca11577d2 100644
--- a/main/dns-root-hints/named.root
+++ b/main/dns-root-hints/named.root
@@ -8,9 +8,9 @@
; file /domain/named.cache
; on server FTP.INTERNIC.NET
; -OR- RS.INTERNIC.NET
-;
-; last update: July 30, 2019
-; related version of root zone: 2019073000
+;
+; last update: June 29, 2022
+; related version of root zone: 2022062901
;
; FORMERLY NS.INTERNIC.NET
;
diff --git a/main/dns-root-hints/named.root.sig b/main/dns-root-hints/named.root.sig
index a030b225a0..42f06ed4dd 100644
--- a/main/dns-root-hints/named.root.sig
+++ b/main/dns-root-hints/named.root.sig
Binary files differ
diff --git a/main/dns-root-hints/update-dns-root-hints b/main/dns-root-hints/update-dns-root-hints
index 55f3dc77f9..0ec6db4c46 100755
--- a/main/dns-root-hints/update-dns-root-hints
+++ b/main/dns-root-hints/update-dns-root-hints
@@ -1,43 +1,45 @@
#!/bin/sh
+set -eu
-url=https://www.internic.net/domain
-base_dir=/usr/share/dns-root-hints
-_tmp=$(mktemp -d -p .)
+BASE_URL='https://www.internic.net/domain'
+destdir=${DNS_ROOT_HINTS_DIR:-"/usr/share/dns-root-hints"}
-if [ $(id -u) != "0" ]; then
- echo "Needs to run as root."
+if ! [ -w "$destdir" ]; then
+ echo 'Needs to run as root.' >&2
exit 1
fi
-_check_sig() {
- local GNUPGHOME="$HOME/.gpg"
- install -d -m 0700 "$GNUPGHOME"
- gpg --import < $base_dir/verisign-grs-nstld-key.asc
- gpg --verify "${_tmp}/named.root.sig" "${_tmp}/named.root"
+tmpdir=$(mktemp -d)
+
+cleanup() {
+ rm "$tmpdir"/* 2>/dev/null || true
+ rmdir "$tmpdir" || true
}
+trap cleanup EXIT HUP INT TERM
-for file in named.root named.root.sig; do
- curl -sLR ${url}/${file} -o "${_tmp}/${file}" || exit 1
+for f in named.root named.root.sig; do
+ curl -sLR "$BASE_URL/$f" -o "$tmpdir/$f"
done
+read_version() {
+ sed -En 's/.*related version of root zone:\s*([0-9]{10}).*/\1/p' "$1"
+}
# compare new and current versions
-_drh_new_ver=$(grep "related version of root zone:" ${_tmp}/named.root | egrep -o '[0-9]{10}')
-_drh_current_ver=$(grep "related version of root zone:" $base_dir/named.root | egrep -o '[0-9]{10}')
+new_ver=$(read_version "$tmpdir"/named.root)
+cur_ver=$(read_version "$destdir"/named.root)
+
+echo "Version $cur_ver <- Installed"
+echo "Version $new_ver <- Downloaded"
# update to new version if needed
-echo "Version $_drh_current_ver <- Installed"
-echo "Version $_drh_new_ver <- Downloaded"
-
-if [ "$_drh_new_ver" != "$_drh_current_ver" ]; then
- _check_sig || exit 1
- mv ${_tmp}/named.root $base_dir/named.root || exit 1
- mv ${_tmp}/named.root.sig $base_dir/named.root.sig || exit 1
- echo -e "\nZone file updated.\n"
-else
- echo -e "\nZone file already up-to-date.\n"
-fi
+if [ "$new_ver" != "$cur_ver" ]; then
+ gpgv --keyring "$destdir"/verisign-grs-nstld-key.gpg \
+ "$tmpdir"/named.root.sig "$tmpdir"/named.root || exit 10
-# cleanup
-rm "${_tmp}"/* 2>/dev/null || true
-rmdir "${_tmp}" 2>/dev/null || true
+ mv "$tmpdir"/named.root "$destdir"/named.root
+ mv "$tmpdir"/named.root.sig "$destdir"/named.root.sig
+ printf '\nZone file updated.\n\n'
+else
+ printf '\nZone file already up-to-date.\n\n'
+fi
diff --git a/main/dnsmasq/0000-fix-heap-overflow-in-dns-replies.patch b/main/dnsmasq/0000-underflow.patch
index ab15361f18..ab15361f18 100644
--- a/main/dnsmasq/0000-fix-heap-overflow-in-dns-replies.patch
+++ b/main/dnsmasq/0000-underflow.patch
diff --git a/main/dnsmasq/0013-Fix-coverity-issues-detected-in-domain-match.c.patch b/main/dnsmasq/0013-Fix-coverity-issues-detected-in-domain-match.c.patch
index 7b8db66ae0..869fab74d3 100644
--- a/main/dnsmasq/0013-Fix-coverity-issues-detected-in-domain-match.c.patch
+++ b/main/dnsmasq/0013-Fix-coverity-issues-detected-in-domain-match.c.patch
@@ -29,13 +29,14 @@ index f8e4796..7124c18 100644
log_query((flags | F_CONFIG | F_FORWARD) & ~F_IPV4, name, (union all_addr *)&addr, NULL);
}
-@@ -609,9 +611,11 @@ int add_update_server(int flags,
+@@ -609,9 +611,12 @@ int add_update_server(int flags,
if (*domain == 0)
alloc_domain = whine_malloc(1);
- else if (!(alloc_domain = canonicalise((char *)domain, NULL)))
+ else
+ alloc_domain = canonicalise((char *)domain, NULL);
++
+ if (!alloc_domain)
return 0;
-
diff --git a/main/dnsmasq/0020-Fix-crash-after-re-reading-empty-resolv.conf.patch b/main/dnsmasq/0020-Fix-crash-after-re-reading-empty-resolv.conf.patch
deleted file mode 100644
index 169897e0a0..0000000000
--- a/main/dnsmasq/0020-Fix-crash-after-re-reading-empty-resolv.conf.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Patch-Source: https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=d290630d31f4517ab26392d00753d1397f9a4114 (upstream)
---
-From d290630d31f4517ab26392d00753d1397f9a4114 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 6 Oct 2021 22:31:06 +0100
-Subject: [PATCH] Fix crash after re-reading an empty resolv.conf file.
-
-If dnsmasq re-reads a resolv file, and it's empty, it will
-retry after a delay. In the meantime, the old servers from the
-resolv file have been deleted, but the servers_array doesn't
-get updated, leading to dangling pointers and crashes.
-
-Thanks to Brad Jorsch for finding and analysing this bug.
-
-This problem was introduced in 2.86.
----
- src/dnsmasq.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index c7fa024..9516680 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -1682,6 +1682,11 @@ static void poll_resolv(int force, int do_reload, time_t now)
- }
- else
- {
-+ /* If we're delaying things, we don't call check_servers(), but
-+ reload_servers() may have deleted some servers, rendering the server_array
-+ invalid, so just rebuild that here. Once reload_servers() succeeds,
-+ we call check_servers() above, which calls build_server_array itself. */
-+ build_server_array();
- latest->mtime = 0;
- if (!warned)
- {
---
-2.20.1
-
diff --git a/main/dnsmasq/0020-fix-domain-match-local.patch b/main/dnsmasq/0020-fix-domain-match-local.patch
new file mode 100644
index 0000000000..120f90ec68
--- /dev/null
+++ b/main/dnsmasq/0020-fix-domain-match-local.patch
@@ -0,0 +1,276 @@
+Patch-Source: https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=patch;h=de372d6914ae20a1f9997815f258efbf3b14c39b (modified)
+--
+From de372d6914ae20a1f9997815f258efbf3b14c39b Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sat, 18 Sep 2021 23:01:12 +0100
+Subject: [PATCH 1/1] Fix confusion is server=/domain/# combined with
+ server|address=/domain/....
+
+The 2.86 domain matching rewrite failed to take into account the possibilty that
+
+server=/example.com/#
+
+could be combined with, for example
+
+address=/example.com/1.2.3.4
+
+resulting in the struct server datastructure for the former getting passed
+to forward_query(), rapidly followed by a SEGV.
+
+This fix makes server=/example.com/# a fully fledged member of the
+priority list, which is now IPv6 addr, IPv4 addr, all zero return,
+resolvconf servers, upstream servers, no-data return
+
+Thanks to dl6er@dl6er.de for finding and characterising the bug.
+---
+ src/dnsmasq.h | 34 +++++++-------
+ src/domain-match.c | 113 +++++++++++++++++++++++----------------------
+ 2 files changed, 75 insertions(+), 72 deletions(-)
+
+diff --git a/src/dnsmasq.h b/src/dnsmasq.h
+index 56a3f1d..327ad65 100644
+--- a/src/dnsmasq.h
++++ b/src/dnsmasq.h
+@@ -530,23 +530,23 @@ union mysockaddr {
+
+
+ /* The actual values here matter, since we sort on them to get records in the order
+- IPv6 addr, IPv4 addr, all zero return, no-data return, send upstream. */
+-#define SERV_LITERAL_ADDRESS 1 /* addr is the answer, or NoDATA is the answer, depending on the next three flags */
+-#define SERV_ALL_ZEROS 2 /* return all zeros for A and AAAA */
+-#define SERV_4ADDR 4 /* addr is IPv4 */
+-#define SERV_6ADDR 8 /* addr is IPv6 */
+-#define SERV_HAS_SOURCE 16 /* source address defined */
+-#define SERV_FOR_NODOTS 32 /* server for names with no domain part only */
+-#define SERV_WARNED_RECURSIVE 64 /* avoid warning spam */
+-#define SERV_FROM_DBUS 128 /* 1 if source is DBus */
+-#define SERV_MARK 256 /* for mark-and-delete and log code */
+-#define SERV_WILDCARD 512 /* domain has leading '*' */
+-#define SERV_USE_RESOLV 1024 /* forward this domain in the normal way */
+-#define SERV_FROM_RESOLV 2048 /* 1 for servers from resolv, 0 for command line. */
+-#define SERV_FROM_FILE 4096 /* read from --servers-file */
+-#define SERV_LOOP 8192 /* server causes forwarding loop */
+-#define SERV_DO_DNSSEC 16384 /* Validate DNSSEC when using this server */
+-#define SERV_GOT_TCP 32768 /* Got some data from the TCP connection */
++ IPv6 addr, IPv4 addr, all zero return, resolvconf servers, upstream server, no-data return */
++#define SERV_LITERAL_ADDRESS 1 /* addr is the answer, or NoDATA is the answer, depending on the next four flags */
++#define SERV_USE_RESOLV 2 /* forward this domain in the normal way */
++#define SERV_ALL_ZEROS 4 /* return all zeros for A and AAAA */
++#define SERV_4ADDR 8 /* addr is IPv4 */
++#define SERV_6ADDR 16 /* addr is IPv6 */
++#define SERV_HAS_SOURCE 32 /* source address defined */
++#define SERV_FOR_NODOTS 64 /* server for names with no domain part only */
++#define SERV_WARNED_RECURSIVE 128 /* avoid warning spam */
++#define SERV_FROM_DBUS 256 /* 1 if source is DBus */
++#define SERV_MARK 512 /* for mark-and-delete and log code */
++#define SERV_WILDCARD 1024 /* domain has leading '*' */
++#define SERV_FROM_RESOLV 2048 /* 1 for servers from resolv, 0 for command line. */
++#define SERV_FROM_FILE 4096 /* read from --servers-file */
++#define SERV_LOOP 8192 /* server causes forwarding loop */
++#define SERV_DO_DNSSEC 16384 /* Validate DNSSEC when using this server */
++#define SERV_GOT_TCP 32768 /* Got some data from the TCP connection */
+
+ struct serverfd {
+ int fd;
+diff --git a/src/domain-match.c b/src/domain-match.c
+index b22948c..8f29621 100644
+--- a/src/domain-match.c
++++ b/src/domain-match.c
+@@ -207,16 +207,16 @@ int lookup_domain(char *domain, int flags, int *lowout, int *highout)
+ }
+ }
+
+- if (found)
++ if (found && filter_servers(try, flags, &nlow, &nhigh))
++ /* We have a match, but it may only be (say) an IPv6 address, and
++ if the query wasn't for an AAAA record, it's no good, and we need
++ to continue generalising */
+ {
+ /* We've matched a setting which says to use servers without a domain.
+ Continue the search with empty query */
+- if (daemon->serverarray[try]->flags & SERV_USE_RESOLV)
++ if (daemon->serverarray[nlow]->flags & SERV_USE_RESOLV)
+ crop_query = qlen;
+- else if (filter_servers(try, flags, &nlow, &nhigh))
+- /* We have a match, but it may only be (say) an IPv6 address, and
+- if the query wasn't for an AAAA record, it's no good, and we need
+- to continue generalising */
++ else
+ break;
+ }
+ }
+@@ -273,7 +273,7 @@ int filter_servers(int seed, int flags, int *lowout, int *highout)
+ nlow--;
+
+ while (nhigh < daemon->serverarraysz-1 && order_servers(daemon->serverarray[nhigh], daemon->serverarray[nhigh+1]) == 0)
+- nhigh++;
++ nhigh++;
+
+ nhigh++;
+
+@@ -293,10 +293,10 @@ int filter_servers(int seed, int flags, int *lowout, int *highout)
+ else
+ {
+ /* Now the servers are on order between low and high, in the order
+- IPv6 addr, IPv4 addr, return zero for both, send upstream, no-data return.
++ IPv6 addr, IPv4 addr, return zero for both, resolvconf servers, send upstream, no-data return.
+
+ See which of those match our query in that priority order and narrow (low, high) */
+-
++
+ for (i = nlow; i < nhigh && (daemon->serverarray[i]->flags & SERV_6ADDR); i++);
+
+ if (i != nlow && (flags & F_IPV6))
+@@ -321,32 +321,40 @@ int filter_servers(int seed, int flags, int *lowout, int *highout)
+ {
+ nlow = i;
+
+- /* now look for a server */
+- for (i = nlow; i < nhigh && !(daemon->serverarray[i]->flags & SERV_LITERAL_ADDRESS); i++);
+-
++ /* Short to resolv.conf servers */
++ for (i = nlow; i < nhigh && (daemon->serverarray[i]->flags & SERV_USE_RESOLV); i++);
++
+ if (i != nlow)
+- {
+- /* If we want a server that can do DNSSEC, and this one can't,
+- return nothing, similarly if were looking only for a server
+- for a particular domain. */
+- if ((flags & F_DNSSECOK) && !(daemon->serverarray[nlow]->flags & SERV_DO_DNSSEC))
+- nlow = nhigh;
+- else if ((flags & F_DOMAINSRV) && daemon->serverarray[nlow]->domain_len == 0)
+- nlow = nhigh;
+- else
+- nhigh = i;
+- }
++ nhigh = i;
+ else
+ {
+- /* --local=/domain/, only return if we don't need a server. */
+- if (flags & (F_DNSSECOK | F_DOMAINSRV | F_SERVER))
+- nhigh = i;
++ /* now look for a server */
++ for (i = nlow; i < nhigh && !(daemon->serverarray[i]->flags & SERV_LITERAL_ADDRESS); i++);
++
++ if (i != nlow)
++ {
++ /* If we want a server that can do DNSSEC, and this one can't,
++ return nothing, similarly if were looking only for a server
++ for a particular domain. */
++ if ((flags & F_DNSSECOK) && !(daemon->serverarray[nlow]->flags & SERV_DO_DNSSEC))
++ nlow = nhigh;
++ else if ((flags & F_DOMAINSRV) && daemon->serverarray[nlow]->domain_len == 0)
++ nlow = nhigh;
++ else
++ nhigh = i;
++ }
++ else
++ {
++ /* --local=/domain/, only return if we don't need a server. */
++ if (flags & (F_DNSSECOK | F_DOMAINSRV | F_SERVER))
++ nhigh = i;
++ }
+ }
+ }
+ }
+ }
+ }
+-
++
+ *lowout = nlow;
+ *highout = nhigh;
+
+@@ -522,10 +530,10 @@ static int order_qsort(const void *a, const void *b)
+ /* Sort all literal NODATA and local IPV4 or IPV6 responses together,
+ in a very specific order. We flip the SERV_LITERAL_ADDRESS bit
+ so the order is IPv6 literal, IPv4 literal, all-zero literal,
+- upstream server, NXDOMAIN literal. */
++ unqualified servers, upstream server, NXDOMAIN literal. */
+ if (rc == 0)
+- rc = ((s2->flags & (SERV_LITERAL_ADDRESS | SERV_4ADDR | SERV_6ADDR | SERV_ALL_ZEROS)) ^ SERV_LITERAL_ADDRESS) -
+- ((s1->flags & (SERV_LITERAL_ADDRESS | SERV_4ADDR | SERV_6ADDR | SERV_ALL_ZEROS)) ^ SERV_LITERAL_ADDRESS);
++ rc = ((s2->flags & (SERV_LITERAL_ADDRESS | SERV_4ADDR | SERV_6ADDR | SERV_USE_RESOLV | SERV_ALL_ZEROS)) ^ SERV_LITERAL_ADDRESS) -
++ ((s1->flags & (SERV_LITERAL_ADDRESS | SERV_4ADDR | SERV_6ADDR | SERV_USE_RESOLV | SERV_ALL_ZEROS)) ^ SERV_LITERAL_ADDRESS);
+
+ /* Finally, order by appearance in /etc/resolv.conf etc, for --strict-order */
+ if (rc == 0)
+@@ -635,7 +643,7 @@ int add_update_server(int flags,
+ {
+ size_t size;
+
+- if (flags & SERV_LITERAL_ADDRESS)
++ if (flags & SERV_IS_LOCAL)
+ {
+ if (flags & SERV_6ADDR)
+ size = sizeof(struct serv_addr6);
+@@ -657,10 +665,19 @@ int add_update_server(int flags,
+ {
+ serv->next = daemon->local_domains;
+ daemon->local_domains = serv;
++
++ if (flags & SERV_4ADDR)
++ ((struct serv_addr4*)serv)->addr = local_addr->addr4;
++
++ if (flags & SERV_6ADDR)
++ ((struct serv_addr6*)serv)->addr = local_addr->addr6;
+ }
+ else
+ {
+ struct server *s;
++
++ memset(serv, 0, sizeof(struct server));
++
+ /* Add to the end of the chain, for order */
+ if (!daemon->servers)
+ daemon->servers = serv;
+@@ -670,37 +687,23 @@ int add_update_server(int flags,
+ s->next = serv;
+ }
+
+- serv->next = NULL;
++#ifdef HAVE_LOOP
++ serv->uid = rand32();
++#endif
++
++ if (interface)
++ safe_strncpy(serv->interface, interface, sizeof(serv->interface));
++ if (addr)
++ serv->addr = *addr;
++ if (source_addr)
++ serv->source_addr = *source_addr;
+ }
+ }
+
+- if (!(flags & SERV_IS_LOCAL))
+- memset(serv, 0, sizeof(struct server));
+-
+ serv->flags = flags;
+ serv->domain = alloc_domain;
+ serv->domain_len = strlen(alloc_domain);
+
+- if (flags & SERV_4ADDR)
+- ((struct serv_addr4*)serv)->addr = local_addr->addr4;
+-
+- if (flags & SERV_6ADDR)
+- ((struct serv_addr6*)serv)->addr = local_addr->addr6;
+-
+- if (!(flags & SERV_IS_LOCAL))
+- {
+-#ifdef HAVE_LOOP
+- serv->uid = rand32();
+-#endif
+-
+- if (interface)
+- safe_strncpy(serv->interface, interface, sizeof(serv->interface));
+- if (addr)
+- serv->addr = *addr;
+- if (source_addr)
+- serv->source_addr = *source_addr;
+- }
+-
+ return 1;
+ }
+
+--
+2.20.1
+
diff --git a/main/dnsmasq/0021-build_server_array.patch b/main/dnsmasq/0021-build_server_array.patch
new file mode 100644
index 0000000000..2c70418dc9
--- /dev/null
+++ b/main/dnsmasq/0021-build_server_array.patch
@@ -0,0 +1,70 @@
+Patch-Source: https://src.fedoraproject.org/rpms/dnsmasq/blob/f36/f/dnsmasq-2.86-build_server_array.patch
+This patch replaces/enhances http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=d290630d31f4517ab26392d00753d1397f9a4114
+--
+From 068e849c713fa5e95eeb210792c061b7e212eab5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
+Date: Wed, 13 Oct 2021 16:58:39 +0200
+Subject: [PATCH] Ensure serverarray is rebuilt once server can be removed
+
+Because cleanup_servers is called from each place which can remove
+server, use that function to refresh serverarray after changes. Make it
+static, since it does not have to be called from other places.
+---
+ src/dnsmasq.h | 1 -
+ src/domain-match.c | 8 +++++++-
+ src/network.c | 1 -
+ 3 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/src/dnsmasq.h b/src/dnsmasq.h
+index 08f2785..3f82412 100644
+--- a/src/dnsmasq.h
++++ b/src/dnsmasq.h
+@@ -1757,7 +1757,6 @@ void dump_packet(int mask, void *packet, size_t len, union mysockaddr *src, unio
+ #endif
+
+ /* domain-match.c */
+-void build_server_array(void);
+ int lookup_domain(char *qdomain, int flags, int *lowout, int *highout);
+ int filter_servers(int seed, int flags, int *lowout, int *highout);
+ int is_local_answer(time_t now, int first, char *name);
+diff --git a/src/domain-match.c b/src/domain-match.c
+index 45528c1..e5b409e 100644
+--- a/src/domain-match.c
++++ b/src/domain-match.c
+@@ -23,7 +23,7 @@ static int order_servers(struct server *s, struct server *s2);
+ /* If the server is USE_RESOLV or LITERAL_ADDRES, it lives on the local_domains chain. */
+ #define SERV_IS_LOCAL (SERV_USE_RESOLV | SERV_LITERAL_ADDRESS)
+
+-void build_server_array(void)
++static void build_server_array(void)
+ {
+ struct server *serv;
+ int count = 0;
+@@ -592,6 +592,12 @@ void cleanup_servers(void)
+ else
+ up = &serv->next;
+ }
++
++ /* If we're delaying things, we don't call check_servers(), but
++ reload_servers() may have deleted some servers, rendering the server_array
++ invalid, so just rebuild that here. Once reload_servers() succeeds,
++ we call check_servers() above, which calls build_server_array itself. */
++ build_server_array();
+ }
+
+ int add_update_server(int flags,
+diff --git a/src/network.c b/src/network.c
+index 3fc179d..0b68866 100644
+--- a/src/network.c
++++ b/src/network.c
+@@ -1653,7 +1653,6 @@ void check_servers(int no_loop_check)
+ }
+
+ cleanup_servers(); /* remove servers we just deleted. */
+- build_server_array();
+ }
+
+ /* Return zero if no servers found, in that case we keep polling.
+--
+2.31.1
+
diff --git a/main/dnsmasq/0022-Fix-problems-with-upper-case-in-domain-match.patch b/main/dnsmasq/0022-Fix-problems-with-upper-case-in-domain-match.patch
new file mode 100644
index 0000000000..2fa5337822
--- /dev/null
+++ b/main/dnsmasq/0022-Fix-problems-with-upper-case-in-domain-match.patch
@@ -0,0 +1,84 @@
+Patch-Source: https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=e3093b532c34a8d95c8c751bdd9cabf552f5bf05 (modified)
+--
+From e3093b532c34a8d95c8c751bdd9cabf552f5bf05 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sun, 28 Nov 2021 18:39:42 +0000
+Subject: [PATCH 1/1] Fix problems with upper-case in domain-match.
+
+The domain-match rewrite didn't take into account
+that domain names are case-insensitive, so things like
+
+--address=/Example.com/.....
+
+didn't work correctly.
+---
+ src/dnsmasq.h | 1 +
+ src/domain-match.c | 2 +-
+ src/forward.c | 2 +-
+ src/util.c | 16 ++++++++++++----
+ 4 files changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/src/dnsmasq.h b/src/dnsmasq.h
+index bf7685d..05c1743 100644
+--- a/src/dnsmasq.h
++++ b/src/dnsmasq.h
+@@ -1366,6 +1366,7 @@ void safe_pipe(int *fd, int read_noblock);
+ void *whine_malloc(size_t size);
+ int sa_len(union mysockaddr *addr);
+ int sockaddr_isequal(const union mysockaddr *s1, const union mysockaddr *s2);
++int hostname_order(const char *a, const char *b);
+ int hostname_isequal(const char *a, const char *b);
+ int hostname_issubdomain(char *a, char *b);
+ time_t dnsmasq_time(void);
+diff --git a/src/domain-match.c b/src/domain-match.c
+index 6f59566..b457f5b 100644
+--- a/src/domain-match.c
++++ b/src/domain-match.c
+@@ -495,7 +495,7 @@ static int order(char *qdomain, size_t qlen, struct server *serv)
+ if (qlen > dlen)
+ return -1;
+
+- return strcmp(qdomain, serv->domain);
++ return hostname_order(qdomain, serv->domain);
+ }
+
+ static int order_servers(struct server *s1, struct server *s2)
+diff --git a/src/util.c b/src/util.c
+index 7bef630..f2adac1 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -352,7 +352,7 @@ int sa_len(union mysockaddr *addr)
+ }
+
+ /* don't use strcasecmp and friends here - they may be messed up by LOCALE */
+-int hostname_isequal(const char *a, const char *b)
++int hostname_order(const char *a, const char *b)
+ {
+ unsigned int c1, c2;
+
+@@ -365,11 +365,19 @@ int hostname_isequal(const char *a, const char *b)
+ if (c2 >= 'A' && c2 <= 'Z')
+ c2 += 'a' - 'A';
+
+- if (c1 != c2)
+- return 0;
++ if (c1 < c2)
++ return -1;
++ else if (c1 > c2)
++ return 1;
++
+ } while (c1);
+
+- return 1;
++ return 0;
++}
++
++int hostname_isequal(const char *a, const char *b)
++{
++ return hostname_order(a, b) == 0;
+ }
+
+ /* is b equal to or a subdomain of a return 2 for equal, 1 for subdomain */
+--
+2.20.1
+
diff --git a/main/dnsmasq/0023-Optimize-inserting-records-into-server-list.patch b/main/dnsmasq/0023-Optimize-inserting-records-into-server-list.patch
new file mode 100644
index 0000000000..c9b8b2b7c6
--- /dev/null
+++ b/main/dnsmasq/0023-Optimize-inserting-records-into-server-list.patch
@@ -0,0 +1,69 @@
+Patch-Source: https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=eb88eed1fc8ed246e9355531c2715fa2f7738afc
+This patch is needed for 0024-Fix-massive-confusion-on-server-reload.patch.
+--
+From eb88eed1fc8ed246e9355531c2715fa2f7738afc Mon Sep 17 00:00:00 2001
+From: hev <r@hev.cc>
+Date: Sun, 19 Sep 2021 18:56:08 +0800
+Subject: [PATCH 1/1] Optimize inserting records into server list.
+
+Signed-off-by: hev <r@hev.cc>
+---
+ src/dnsmasq.h | 2 +-
+ src/domain-match.c | 17 ++++++++---------
+ 2 files changed, 9 insertions(+), 10 deletions(-)
+
+diff --git a/src/dnsmasq.h b/src/dnsmasq.h
+index 327ad65..639c568 100644
+--- a/src/dnsmasq.h
++++ b/src/dnsmasq.h
+@@ -1105,7 +1105,7 @@ extern struct daemon {
+ char *lease_change_command;
+ struct iname *if_names, *if_addrs, *if_except, *dhcp_except, *auth_peers, *tftp_interfaces;
+ struct bogus_addr *bogus_addr, *ignore_addr;
+- struct server *servers, *local_domains, **serverarray, *no_rebind;
++ struct server *servers, *servers_tail, *local_domains, **serverarray, *no_rebind;
+ int server_has_wildcard;
+ int serverarraysz, serverarrayhwm;
+ struct ipsets *ipsets;
+diff --git a/src/domain-match.c b/src/domain-match.c
+index 8f29621..3f1cc74 100644
+--- a/src/domain-match.c
++++ b/src/domain-match.c
+@@ -576,7 +576,10 @@ void cleanup_servers(void)
+ free(serv);
+ }
+ else
+- up = &serv->next;
++ {
++ up = &serv->next;
++ daemon->servers_tail = serv;
++ }
+ }
+
+ for (serv = daemon->local_domains, up = &daemon->local_domains; serv; serv = tmp)
+@@ -673,18 +676,14 @@ int add_update_server(int flags,
+ }
+ else
+ {
+- struct server *s;
+-
+ memset(serv, 0, sizeof(struct server));
+
+ /* Add to the end of the chain, for order */
+- if (!daemon->servers)
+- daemon->servers = serv;
++ if (daemon->servers_tail)
++ daemon->servers_tail->next = serv;
+ else
+- {
+- for (s = daemon->servers; s->next; s = s->next);
+- s->next = serv;
+- }
++ daemon->servers = serv;
++ daemon->servers_tail = serv;
+
+ #ifdef HAVE_LOOP
+ serv->uid = rand32();
+--
+2.20.1
+
diff --git a/main/dnsmasq/0024-Fix-massive-confusion-on-server-reload.patch b/main/dnsmasq/0024-Fix-massive-confusion-on-server-reload.patch
new file mode 100644
index 0000000000..1c2ae0deff
--- /dev/null
+++ b/main/dnsmasq/0024-Fix-massive-confusion-on-server-reload.patch
@@ -0,0 +1,238 @@
+Patch-Source: https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=553c4c99cca173e9964d0edbd0676ed96c30f62b (modified)
+--
+From 553c4c99cca173e9964d0edbd0676ed96c30f62b Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Mon, 3 Jan 2022 23:32:30 +0000
+Subject: [PATCH 1/1] Fix massive confusion on server reload.
+
+The 2.86 upstream server rewrite severely broke re-reading
+of server configuration. It would get everyting right the first
+time, but on re-reading /etc/resolv.conf or --servers-file
+or setting things with DBUS, the results were just wrong.
+
+This should put things right again.
+---
+ src/domain-match.c | 157 +++++++++++++++++++++++++--------------------
+ 1 file changed, 88 insertions(+), 69 deletions(-)
+
+diff --git a/src/domain-match.c b/src/domain-match.c
+index b457f5b..4e01092 100644
+--- a/src/domain-match.c
++++ b/src/domain-match.c
+@@ -543,22 +542,39 @@ static int order_qsort(const void *a, const void *b)
+ return rc;
+ }
+
++/* Must be called before add_update_server() to set daemon->servers_tail */
+ void mark_servers(int flag)
+ {
+- struct server *serv;
++ struct server *serv, **up;
+
++ daemon->servers_tail = NULL;
++
+ /* mark everything with argument flag */
+ for (serv = daemon->servers; serv; serv = serv->next)
+- if (serv->flags & flag)
+- serv->flags |= SERV_MARK;
+- else
+- serv->flags &= ~SERV_MARK;
++ {
++ if (serv->flags & flag)
++ serv->flags |= SERV_MARK;
++ else
++ serv->flags &= ~SERV_MARK;
+
+- for (serv = daemon->local_domains; serv; serv = serv->next)
+- if (serv->flags & flag)
+- serv->flags |= SERV_MARK;
+- else
+- serv->flags &= ~SERV_MARK;
++ daemon->servers_tail = serv;
++ }
++
++ /* --address etc is different: since they are expected to be
++ 1) numerous and 2) not reloaded often. We just delete
++ and recreate. */
++ if (flag)
++ for (serv = daemon->local_domains, up = &daemon->local_domains; serv; serv = serv->next)
++ {
++ if (serv->flags & flag)
++ {
++ *up = serv->next;
++ free(serv->domain);
++ free(serv);
++ }
++ else
++ up = &serv->next;
++ }
+ }
+
+ void cleanup_servers(void)
+@@ -566,7 +583,7 @@ void cleanup_servers(void)
+ struct server *serv, *tmp, **up;
+
+ /* unlink and free anything still marked. */
+- for (serv = daemon->servers, up = &daemon->servers; serv; serv = tmp)
++ for (serv = daemon->servers, up = &daemon->servers, daemon->servers_tail = NULL; serv; serv = tmp)
+ {
+ tmp = serv->next;
+ if (serv->flags & SERV_MARK)
+@@ -582,19 +599,6 @@ void cleanup_servers(void)
+ daemon->servers_tail = serv;
+ }
+ }
+-
+- for (serv = daemon->local_domains, up = &daemon->local_domains; serv; serv = tmp)
+- {
+- tmp = serv->next;
+- if (serv->flags & SERV_MARK)
+- {
+- *up = serv->next;
+- free(serv->domain);
+- free(serv);
+- }
+- else
+- up = &serv->next;
+- }
+
+ /* If we're delaying things, we don't call check_servers(), but
+ reload_servers() may have deleted some servers, rendering the server_array
+@@ -634,35 +640,16 @@ int add_update_server(int flags,
+ if (!alloc_domain)
+ return 0;
+
+- /* See if there is a suitable candidate, and unmark
+- only do this for forwarding servers, not
+- address or local, to avoid delays on large numbers. */
+ if (flags & SERV_IS_LOCAL)
+- for (serv = daemon->servers; serv; serv = serv->next)
+- if ((serv->flags & SERV_MARK) &&
+- hostname_isequal(alloc_domain, serv->domain))
+- break;
+-
+- if (serv)
+ {
+- free(alloc_domain);
+- alloc_domain = serv->domain;
+- }
+- else
+- {
+ size_t size;
+-
+- if (flags & SERV_IS_LOCAL)
+- {
+- if (flags & SERV_6ADDR)
+- size = sizeof(struct serv_addr6);
+- else if (flags & SERV_4ADDR)
+- size = sizeof(struct serv_addr4);
+- else
+- size = sizeof(struct serv_local);
+- }
++
++ if (flags & SERV_6ADDR)
++ size = sizeof(struct serv_addr6);
++ else if (flags & SERV_4ADDR)
++ size = sizeof(struct serv_addr4);
+ else
+- size = sizeof(struct server);
++ size = sizeof(struct serv_local);
+
+ if (!(serv = whine_malloc(size)))
+ {
+@@ -670,19 +655,53 @@ int add_update_server(int flags,
+ return 0;
+ }
+
+- if (flags & SERV_IS_LOCAL)
++ serv->next = daemon->local_domains;
++ daemon->local_domains = serv;
++
++ if (flags & SERV_4ADDR)
++ ((struct serv_addr4*)serv)->addr = local_addr->addr4;
++
++ if (flags & SERV_6ADDR)
++ ((struct serv_addr6*)serv)->addr = local_addr->addr6;
++ }
++ else
++ {
++ /* Upstream servers. See if there is a suitable candidate, if so unmark
++ and move to the end of the list, for order. The entry found may already
++ be at the end. */
++ struct server **up, *tmp;
++
++ for (serv = daemon->servers, up = &daemon->servers; serv; serv = tmp)
+ {
+- serv->next = daemon->local_domains;
+- daemon->local_domains = serv;
++ tmp = serv->next;
++ if ((serv->flags & SERV_MARK) &&
++ hostname_isequal(alloc_domain, serv->domain))
++ {
++ /* Need to move down? */
++ if (serv->next)
++ {
++ *up = serv->next;
++ daemon->servers_tail->next = serv;
++ daemon->servers_tail = serv;
++ serv->next = NULL;
++ }
++ break;
++ }
++ }
+
+- if (flags & SERV_4ADDR)
+- ((struct serv_addr4*)serv)->addr = local_addr->addr4;
+-
+- if (flags & SERV_6ADDR)
+- ((struct serv_addr6*)serv)->addr = local_addr->addr6;
++ if (serv)
++ {
++ free(alloc_domain);
++ alloc_domain = serv->domain;
+ }
+ else
+ {
++ if (!(serv = whine_malloc(sizeof(struct server))))
++ {
++ free(alloc_domain);
++ return 0;
++ }
++
+ memset(serv, 0, sizeof(struct server));
+
+ /* Add to the end of the chain, for order */
+@@ -691,20 +710,20 @@ int add_update_server(int flags,
+ else
+ daemon->servers = serv;
+ daemon->servers_tail = serv;
+-
++ }
++
+ #ifdef HAVE_LOOP
+- serv->uid = rand32();
++ serv->uid = rand32();
+ #endif
+
+- if (interface)
+- safe_strncpy(serv->interface, interface, sizeof(serv->interface));
+- if (addr)
+- serv->addr = *addr;
+- if (source_addr)
+- serv->source_addr = *source_addr;
+- }
++ if (interface)
++ safe_strncpy(serv->interface, interface, sizeof(serv->interface));
++ if (addr)
++ serv->addr = *addr;
++ if (source_addr)
++ serv->source_addr = *source_addr;
+ }
+-
++
+ serv->flags = flags;
+ serv->domain = alloc_domain;
+ serv->domain_len = strlen(alloc_domain);
+--
+2.20.1
+
diff --git a/main/dnsmasq/0025-reuse-server.patch b/main/dnsmasq/0025-reuse-server.patch
new file mode 100644
index 0000000000..c6264bf27b
--- /dev/null
+++ b/main/dnsmasq/0025-reuse-server.patch
@@ -0,0 +1,87 @@
+Patch-Source: https://src.fedoraproject.org/rpms/dnsmasq/blob/f36/f/dnsmasq-2.87-reuse-server.patch (modified)
+--
+From f0d061c9977d6c9bc2ddd4e6cf6ffe1ed9cd285a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
+Date: Fri, 17 Jun 2022 11:40:56 +0200
+Subject: [PATCH] Correct add_update_server losing first unmarked entries
+
+Beginning of servers list were updated when first server(s) record is
+not marked. That was a mistake, which forgot updating also up pointer to
+correct value. Move that loop to separate reuse_server function, which
+is close to similar loop in cleanup_servers. Makes it easier to compare
+and do correct. Removed tmp variable, because this code does not
+invalidate previous serv pointer.
+
+Modified for 2.86
+---
+ src/domain-match.c | 52 ++++++++++++++++++++++++++--------------------
+ 1 file changed, 29 insertions(+), 23 deletions(-)
+
+diff --git a/src/domain-match.c b/src/domain-match.c
+index f4fd093..8409c4d 100644
+--- a/src/domain-match.c
++++ b/src/domain-match.c
+@@ -607,6 +607,33 @@
+ build_server_array();
+ }
+
++/* Upstream servers. See if there is a suitable candidate, if so unmark
++ and move to the end of the list, for order. The entry found may already
++ be at the end. */
++static struct server *reuse_server(char *alloc_domain)
++{
++ struct server **up, *serv;
++
++ for (serv = daemon->servers, up = &daemon->servers; serv; serv = serv->next)
++ {
++ if ((serv->flags & SERV_MARK) &&
++ hostname_isequal(alloc_domain, serv->domain))
++ {
++ /* Need to move down? */
++ if (serv->next)
++ {
++ *up = serv->next;
++ daemon->servers_tail->next = serv;
++ daemon->servers_tail = serv;
++ serv->next = NULL;
++ }
++ return serv;
++ }
++ up = &serv->next;
++ }
++ return NULL;
++}
++
+ int add_update_server(int flags,
+ union mysockaddr *addr,
+ union mysockaddr *source_addr,
+@@ -666,28 +693,7 @@
+ }
+ else
+ {
+- /* Upstream servers. See if there is a suitable candidate, if so unmark
+- and move to the end of the list, for order. The entry found may already
+- be at the end. */
+- struct server **up, *tmp;
+-
+- for (serv = daemon->servers, up = &daemon->servers; serv; serv = tmp)
+- {
+- tmp = serv->next;
+- if ((serv->flags & SERV_MARK) &&
+- hostname_isequal(alloc_domain, serv->domain))
+- {
+- /* Need to move down? */
+- if (serv->next)
+- {
+- *up = serv->next;
+- daemon->servers_tail->next = serv;
+- daemon->servers_tail = serv;
+- serv->next = NULL;
+- }
+- break;
+- }
+- }
++ serv = reuse_server(alloc_domain);
+
+ if (serv)
+ {
diff --git a/main/dnsmasq/APKBUILD b/main/dnsmasq/APKBUILD
index e8dd0c2fd0..be89d141df 100644
--- a/main/dnsmasq/APKBUILD
+++ b/main/dnsmasq/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
pkgname=dnsmasq
pkgver=2.86
-pkgrel=2
+pkgrel=5
pkgdesc="A lightweight DNS, DHCP, RA, TFTP and PXE server"
url="https://www.thekelleys.org.uk/dnsmasq/"
arch="all"
@@ -10,6 +10,7 @@ license="GPL-2.0-only OR GPL-3.0-only"
depends="$pkgname-common=$pkgver-r$pkgrel"
makedepends="
coreutils
+ dbus-dev
linux-headers
nettle-dev
"
@@ -22,11 +23,12 @@ install="
subpackages="
$pkgname-doc
$pkgname-dnssec
+ $pkgname-dnssec-dbus
$pkgname-openrc
$pkgname-common::noarch
"
source="https://www.thekelleys.org.uk/dnsmasq/dnsmasq-$pkgver.tar.xz
- 0000-fix-heap-overflow-in-dns-replies.patch
+ 0000-underflow.patch
0001-Retry-on-interrupted-error-in-tftp.patch
0002-Add-safety-checks-to-places-pointed-by-Coverity.patch
0003-Small-safeguard-to-unexpected-data.patch
@@ -42,7 +44,12 @@ source="https://www.thekelleys.org.uk/dnsmasq/dnsmasq-$pkgver.tar.xz
0013-Fix-coverity-issues-detected-in-domain-match.c.patch
0014-Fix-coverity-detected-issues-in-dnsmasq.c.patch
0015-Fix-coverity-issues-in-dnssec.c.patch
- 0020-Fix-crash-after-re-reading-empty-resolv.conf.patch
+ 0020-fix-domain-match-local.patch
+ 0021-build_server_array.patch
+ 0022-Fix-problems-with-upper-case-in-domain-match.patch
+ 0023-Optimize-inserting-records-into-server-list.patch
+ 0024-Fix-massive-confusion-on-server-reload.patch
+ 0025-reuse-server.patch
CVE-2022-0934.patch
config.h.patch
@@ -81,6 +88,9 @@ build() {
make CFLAGS="$CFLAGS" COPTS="-DHAVE_DNSSEC" all
mv src/dnsmasq src/dnsmasq~dnssec
+ make CFLAGS="$CFLAGS" COPTS="-DHAVE_DNSSEC -DHAVE_DBUS" all
+ mv src/dnsmasq src/dnsmasq~dbus
+
make CFLAGS="$CFLAGS" clean all
}
@@ -91,7 +101,7 @@ check() {
}
package() {
- provider_priority=100 # highest (other provider is dnsmasq-dnssec)
+ provider_priority=100 # highest (other providers are dnsmasq-dnssec, dnsmasq-dnssec-dbus)
make PREFIX=/usr DESTDIR="$pkgdir" install
@@ -102,22 +112,35 @@ package() {
dnssec() {
pkgdesc="$pkgdesc with DNSSEC support"
provides="$pkgname=$pkgver-r$pkgrel"
- provider_priority=10 # lowest (other provider is dnsmasq)
+ provider_priority=20 # middle (other providers are dnsmasq, dnsmasq-dnssec-dbus)
- cd "$builddir"
+ install -D -m 755 "$builddir"/src/dnsmasq~dnssec "$subpkgdir"/usr/sbin/dnsmasq
+}
- install -D -m 755 src/dnsmasq~dnssec "$subpkgdir"/usr/sbin/dnsmasq
- install -D -m 644 trust-anchors.conf \
- "$subpkgdir"/usr/share/$pkgname/trust-anchors.conf
+dbus() {
+ pkgdesc="$pkgdesc with DNSSEC and D-Bus support"
+ provides="
+ $pkgname=$pkgver-r$pkgrel
+ $pkgname-dbus=$pkgver-r$pkgrel
+ $pkgname-dnssec=$pkgver-r$pkgrel
+ "
+ provider_priority=10 # lowest (other providers are dnsmasq, dnsmasq-dnssec)
+
+ cd "$builddir"
+ install -D -m755 src/dnsmasq~dbus "$subpkgdir"/usr/sbin/dnsmasq
+ install -D -m644 dbus/dnsmasq.conf -t "$subpkgdir"/usr/share/dbus-1/system.d/
}
common() {
pkgdesc="$pkgdesc (common files)"
depends=""
- replaces="$pkgname<2.86-r1 $pkgname-dnssec<2.86-r1"
+ replaces="$pkgname<2.86-r1 $pkgname-dnssec<2.86-r3"
install -D -m644 "$builddir"/dnsmasq.conf.example "$subpkgdir"/etc/dnsmasq.conf
install -d -m755 "$subpkgdir"/etc/dnsmasq.d
+
+ install -D -m644 "$builddir"/trust-anchors.conf \
+ "$subpkgdir"/usr/share/$pkgname/trust-anchors.conf
}
openrc() {
@@ -127,7 +150,7 @@ openrc() {
sha512sums="
487eae0afbc8bb3d5282a729ffb0cb2c9bdc7d8e46e2e8aa114cd7c5d82e0fd66f49926e7fa4028577548d6f57e8a865aca17f33963a589874584d608ab2deaf dnsmasq-2.86.tar.xz
-bae115897d25aa1eec1d7e60f7faa6c1c50685fce7f7decc2296256c2d26cb3cd104935b81bbfc58536ee6c44ae4ba350b022d0f9ea2798b0dc391a498258063 0000-fix-heap-overflow-in-dns-replies.patch
+bae115897d25aa1eec1d7e60f7faa6c1c50685fce7f7decc2296256c2d26cb3cd104935b81bbfc58536ee6c44ae4ba350b022d0f9ea2798b0dc391a498258063 0000-underflow.patch
da45c81c475666936895a582d957495fb16034ee7d474d6f1b5751edc1f2f581eda020401a938aafa70bfd239a551d6acaf545e9c79674b9a6841d2c7f827df0 0001-Retry-on-interrupted-error-in-tftp.patch
9e82f19b808954211c1deb1b2e648236c161fc7b9c8a6796c5ecf3a37e7b13a76b83fe13a2bf5a20f62d78ac789102cae96925c1e40bd13ec2968831805ff9c6 0002-Add-safety-checks-to-places-pointed-by-Coverity.patch
e3d40e71e93b417429c15a6a7d15b9dd7441e8235651f457e66ff509a3fc1144b53ba3e3425b97d909301c38c15091e942ef822e53ab81900472d20ecee30e75 0003-Small-safeguard-to-unexpected-data.patch
@@ -140,13 +163,18 @@ ccace656e7abbc97f6709a642e9fb7875bb220f3e8ff89a601e703ac5143401ccb0a365971c7effb
462996c6f0f278fad95156f5bae059f34384849f5602af674d073f29b889d2cbf993717641dc6ab02de4e0195fb22d8b440495272271c4969011151068888cf2 0010-Fix-coverity-detected-issues-in-option.c.patch
09167fa3ee06d7686f83639a70fd97d3b50d8ccb8bcef57a99905536fd9f53f00b3019a29b96715bab19ec0129babdc4ebe360d5439f5902f4cddff0a6fc4c54 0011-Fix-coverity-detected-issue-in-radv.c.patch
a60d537ab2f89cff05fbbf02c0b7167b823b0e024b70b80d69828bf111875ea8c238448ffad4ef8f67a1be5cd2be5751ab5a8b489ba34f57f3d3074d5832001e 0012-Fix-coverity-detected-issues-in-cache.c.patch
-8ebc56f8e3959daac6c74114705e4b3e54972046ccf885595200a786d2437f3b2cc6c85c2e86ae1257c249d1ae3aa45b8205710c268d1ddf9437f3fb24d291bf 0013-Fix-coverity-issues-detected-in-domain-match.c.patch
+edc4cbec2b506a995ed454903972aed130577c8dd04c218999023e6c1830ed8ba4b77926b60c7f19a7b03550eed3ba18f4ce68ec4760650ccbbcedfa1f3ea0c7 0013-Fix-coverity-issues-detected-in-domain-match.c.patch
6383a7a4ec6f11468bd416b9b96ecc35fd291f439a80230aa773186aa31894a898d776c651ab68dd8f3517bceebee81536c3523c648d6a795b1207555992deb7 0014-Fix-coverity-detected-issues-in-dnsmasq.c.patch
7af46affcff002361d3412f0448d428b37299e6fda1c335bae4947a9ea29e1709a041df21e5376a474946a6b46ff00994abd2d56fdc4946facb93daffcac42ba 0015-Fix-coverity-issues-in-dnssec.c.patch
-df5bd54211fd814333c2bd55a6b6d442d0b4ab561f9cc3a9ca8d951fe3988377c60e109b2622b507c4b2c4decb2ea07329d94dee11e343ce47b5dec9e6a65767 0020-Fix-crash-after-re-reading-empty-resolv.conf.patch
+dcd8bac303c8988a5096996d395b6ffd1a98ba5e5b48591dac3250bdb95eef7f3e9fe5800150ea49877abb76b588c409db3d4db2f04f28a359a1dd069b2d6c7a 0020-fix-domain-match-local.patch
+f511a279c776e125530747c9df3e92b93af39cdfc1861e0ad53ddf7c41e091f09b51aba56ce3dcb06a2e4d60962aee81288d6157d0f4355cc6586f0ef67f6c4f 0021-build_server_array.patch
+2b639d3355221eedd462b59a79535b9ce1787be08d88e7f30dc7e7d77d50e5652378acaa297d63dd793cc46d5cf8de6529c9fe9c694ff6edc67358165a6b117b 0022-Fix-problems-with-upper-case-in-domain-match.patch
+7a5bbdd0bf8b9ab188f46d3ef4c5aaa860256e48b5e3363bbc4639d1b279d4209490ae54317a1d33e1d238482796e8cc6181fcf80365ce6dfad394eab47c5558 0023-Optimize-inserting-records-into-server-list.patch
+6cfd44add1214d4f9d9504edacb2a0ce3ece371b2a44966cda0446884386a70234cafc5aee52ddc15be8252439e3aab15780eb21c48f85ed73d9e858c37aa76f 0024-Fix-massive-confusion-on-server-reload.patch
+41e36c721d47799711cd5f8fc6099a3fd53534ce052b59d58d40f457561ab5759ee443d0b043fcb105e0ca1ad0a241fd0a689560ed675a3d586cab4d38c38fc3 0025-reuse-server.patch
b04ad7a5019a64feb9e4237e5fbc4f2dc1b1ae12c092222a5e14099566022f17aa4eb9139f69a5a778166c6a096e311ab5ec6ce44fff8409f7df5f5ab86bdd60 CVE-2022-0934.patch
d0274417019af84911f3f4a850e785797bdc77732fd93504fe21db7317a874d2ab54bf7a211d000a751cdc43e225a30be4c1a315ab2383fc3fcc619e436aed97 config.h.patch
41679e0e889607896dcf7fdeb179b9b7a79095c9f86aebda131ac09c12e3ef2a94cece0018ab33ea08d3e6f6bbae44379e9d6fb8987fae29e68ecad952ccdd45 dnsmasq.conf.patch
-4dd0bd627702e68511945925376f9186e4efc8ee4832ecc00ccf019353ac5d411c0794470b1f1d173083dccb1318e8ed1b484ba96cec79f7b6aaebdf4a94f616 dnsmasq.initd
-b60331fe8093ffda3518a488bb8652213232b3d657c4dbbde9fbe8ae2a5ca28c59c58604e950c0d0b8bbb3c35c933a34b552d9787fcff0857fa1720610e04325 dnsmasq.confd
+0c609a55ca0140d8f31f8f6eb4cb96eca7bc76385d48739998bea926b409f3d72cbfdffc30ad3f9e3a62db4ea3280f7fe6a60a12fc091164814a7cdf6a14b307 dnsmasq.initd
+c6ecec498f07916cd3c5ff183ff2a2ec478cf95ee43c0082d164b548d72b13fc9ba7cfbca9fb50e919e146708b5ce7f3b3a6565b36223c4efe1481172214ad93 dnsmasq.confd
"
diff --git a/main/dnsmasq/dnsmasq.confd b/main/dnsmasq/dnsmasq.confd
index 564a25db03..7a6d43bae0 100644
--- a/main/dnsmasq/dnsmasq.confd
+++ b/main/dnsmasq/dnsmasq.confd
@@ -10,6 +10,11 @@
# a symlink with suffix (e.g. /etc/init.d/dnsmasq.br0).
#setup_bridge=yes
+# Additional setup command (runs before starting dnsmasq)
+# This can be an external command or a function defined here.
+# Service will not start if this command fails.
+#setup_command=
+
# User and group to change to after startup.
#user="dnsmasq"
#group="dnsmasq"
diff --git a/main/dnsmasq/dnsmasq.initd b/main/dnsmasq/dnsmasq.initd
index be09548d5d..85a3b42db8 100644
--- a/main/dnsmasq/dnsmasq.initd
+++ b/main/dnsmasq/dnsmasq.initd
@@ -14,6 +14,7 @@ description_reload="Clear cache and reload hosts files"
: ${user:="dnsmasq"}
: ${group:="dnsmasq"}
: ${setup_bridge:="yes"}
+: ${setup_command:=""}
command="/usr/sbin/dnsmasq"
# Tell dnsmasq to not create pidfile, that's responsibility of init system.
@@ -36,7 +37,7 @@ fi
depend() {
provide dns
need localmount net
- after bootmisc
+ after bootmisc dbus
use logger
}
@@ -108,6 +109,10 @@ start_pre() {
command_args="$command_args --strict-order --bind-interfaces --except-interface=lo --interface=$BRIDGE"
command_args="$command_args --dhcp-range $BRIDGE_DHCP_RANGE --dhcp-lease-max=$BRIDGE_DHCP_MAX --dhcp-no-override --dhcp-leasefile=$leasefile --dhcp-authoritative"
fi
+
+ if command -v "$setup_command" >/dev/null; then
+ $setup_command || return 1
+ fi
}
stop_post() {
diff --git a/main/dnssec-root/APKBUILD b/main/dnssec-root/APKBUILD
index c868c7a171..a9d4f889a3 100644
--- a/main/dnssec-root/APKBUILD
+++ b/main/dnssec-root/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dnssec-root
pkgver=20190225
-pkgrel=1
+pkgrel=2
_commit=67c11662510f5e2db6e6517228e80b794950c43f
pkgdesc="The DNSSEC root key(s)"
url="https://www.iana.org/dnssec/"
diff --git a/main/doas/APKBUILD b/main/doas/APKBUILD
index 7f6383bca1..0db35ca88d 100644
--- a/main/doas/APKBUILD
+++ b/main/doas/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=doas
pkgver=6.8.2
-pkgrel=2
+pkgrel=3
pkgdesc="OpenBSD's temporary privilege escalation tool"
url="https://github.com/Duncaen/OpenDoas"
arch="all"
@@ -11,7 +11,9 @@ subpackages="$pkgname-doc"
install="$pkgname.post-install $pkgname.post-upgrade"
source="$pkgname-$pkgver.tar.gz::https://github.com/Duncaen/OpenDoas/archive/v$pkgver.tar.gz
configuration-directory.patch
- manpage-example-path.patch"
+ manpage-example-path.patch
+ change-PATH.patch
+ "
builddir="$srcdir/OpenDoas-$pkgver"
options="$options suid"
@@ -48,4 +50,5 @@ sha512sums="
4a93ff477413c859ba2702e688fa4f83248fff85e61e12336838a1e9aa1a8d9963a9782e4bc5e58e8d04b86c2c8ceb6b235ae9d3b32b3e548a2514a43653137d doas-6.8.2.tar.gz
1d30ebab975aa51717a46ca4f5c7ed66cb333931587e4cf57ac25c111a62821709e71bfef829d90f6aca04498480965e8d05d0e102e7197b5197e8f8c19a5591 configuration-directory.patch
60efd196595bda2c4f036cd0080a8825a85fedcc7524c917304b342373863213b3c557b4336f1dab760f167fd8cc2a59b2e744d8a47ff8a8acebbe74b1328f4f manpage-example-path.patch
+31a87aced097ea1189c2162172788cd27b82af318db3476e1c143d3c87d99e2aa6350f63b81361d0a54482ba8dd0cfd10928ff6074a4c66248a1ec815a274f68 change-PATH.patch
"
diff --git a/main/doas/change-PATH.patch b/main/doas/change-PATH.patch
new file mode 100644
index 0000000000..c0fb7a51ba
--- /dev/null
+++ b/main/doas/change-PATH.patch
@@ -0,0 +1,19 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Tue, 28 Jun 2022 22:36:16 +0200
+Subject: [PATCH] Change default PATH to the Alpine's default
+
+Use the same PATH as in openssh, sudo and our /etc/profile.
+
+--- a/doas.c
++++ b/doas.c
+@@ -238,8 +238,8 @@
+ int
+ main(int argc, char **argv)
+ {
+- const char *safepath = "/bin:/sbin:/usr/bin:/usr/sbin:"
+- "/usr/local/bin:/usr/local/sbin";
++ const char *safepath = "/usr/local/sbin:/usr/local/bin:"
++ "/usr/sbin:/usr/bin:/sbin:/bin";
+ const char *confpath = NULL;
+ char *shargv[] = { NULL, NULL };
+ char *sh;
diff --git a/main/docbook-xml/APKBUILD b/main/docbook-xml/APKBUILD
index 5ece603158..7ba2a3d0c6 100644
--- a/main/docbook-xml/APKBUILD
+++ b/main/docbook-xml/APKBUILD
@@ -1,13 +1,12 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=docbook-xml
pkgver=4.5
-pkgrel=6
+pkgrel=7
pkgdesc="A widely used XML scheme for writing documentation and help"
url="http://scrollkeeper.sourceforge.net/docbook.shtml"
arch="noarch"
license="MIT"
depends="libxml2-utils"
-makedepends=
options="!check"
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall"
source="https://www.docbook.org/xml/$pkgver/$pkgname-$pkgver.zip
@@ -25,9 +24,9 @@ unpack() {
4.1.2) _filename=docbkx412.zip;;
*) _filename=docbook-xml-$ver.zip;;
esac
- mkdir -p "$srcdir"/docbook-xml-${ver}
- cd "$srcdir"/docbook-xml-${ver}
- msg "extracting ${_filename}"
+ mkdir -p "$srcdir"/docbook-xml-$ver
+ cd "$srcdir"/docbook-xml-$ver
+ msg "extracting $_filename"
unzip "$srcdir"/$_filename
done
}
@@ -35,9 +34,9 @@ unpack() {
package () {
local ver
for ver in $_versions; do
- cd "$srcdir"/docbook-xml-${ver}
- mkdir -p "$pkgdir"/usr/share/xml/docbook/xml-dtd-${ver}
- cp -af docbook.cat *.dtd ent/ *.mod "$pkgdir"/usr/share/xml/docbook/xml-dtd-${ver}/
+ cd "$srcdir"/docbook-xml-$ver
+ mkdir -p "$pkgdir"/usr/share/xml/docbook/xml-dtd-$ver
+ cp -af docbook.cat *.dtd ent/ *.mod "$pkgdir"/usr/share/xml/docbook/xml-dtd-$ver/
done
chmod 755 "$pkgdir"/usr/share/xml/docbook/xml-dtd-*/ent
diff --git a/main/docbook2x/APKBUILD b/main/docbook2x/APKBUILD
index e0024ccc30..7f02b7ce35 100644
--- a/main/docbook2x/APKBUILD
+++ b/main/docbook2x/APKBUILD
@@ -2,15 +2,13 @@
# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
pkgname=docbook2x
pkgver=0.8.8
-pkgrel=6
+pkgrel=7
pkgdesc="DocBook converter to UNIX manpage and GNU Texinfo format"
url="http://docbook2x.sourceforge.net"
arch="all"
license="MIT"
depends="texinfo openjade docbook-xml docbook-xsl perl-xml-sax libxslt"
-depends_dev=""
makedepends="autoconf automake"
-install=""
subpackages="$pkgname-doc"
source="https://downloads.sourceforge.net/$pkgname/docbook2X-$pkgver.tar.gz
01_fix_static_datadir_evaluation.patch
@@ -20,19 +18,9 @@ source="https://downloads.sourceforge.net/$pkgname/docbook2X-$pkgver.tar.gz
05_fix_439214_error_on_missing_refentry.patch
06_fix_man_typo.patch"
-_builddir="$srcdir"/docbook2X-$pkgver
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1 ;;
- esac
- done
-}
+builddir="$srcdir"/docbook2X-$pkgver
build() {
- cd "$_builddir"
autoreconf --install
./configure \
--build=$CBUILD \
@@ -42,14 +30,12 @@ build() {
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
- --program-transform-name 's/docbook2/docbook2x-/' \
- || return 1
- make || return 1
+ --program-transform-name 's/docbook2/docbook2x-/'
+ make
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
}
sha512sums="cc336017ad734fc62d96d289105e8ea154c418a03a37f3e21b0b3520063f8b466b4aae5a5aec2e0b83f6324c6c79b5557247a93338d0a9882a94a44112f6b65c docbook2X-0.8.8.tar.gz
diff --git a/main/docs/APKBUILD b/main/docs/APKBUILD
index a46f5297a0..3f6c2defa9 100644
--- a/main/docs/APKBUILD
+++ b/main/docs/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=docs
pkgver=0.2
-pkgrel=3
+pkgrel=6
pkgdesc="Meta package for pulling in all documentation"
url="https://alpinelinux.org"
-arch="all"
+arch="noarch"
license="MIT"
-depends="mandoc" # It was previously called man
+depends="doc-provider man-pages"
package() {
mkdir -p "$pkgdir"
diff --git a/main/dovecot/APKBUILD b/main/dovecot/APKBUILD
index f18b558e9c..18f73091e5 100644
--- a/main/dovecot/APKBUILD
+++ b/main/dovecot/APKBUILD
@@ -2,21 +2,22 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Michael Mason <ms13sp@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Contributor: Martin Uddén <martin.udden@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dovecot
-pkgver=2.3.19
+pkgver=2.3.19.1
case "$pkgver" in
*.*.*.*) _pkgverminor=${pkgver%.*.*};;
*.*.*) _pkgverminor=${pkgver%.*};;
esac
-pkgrel=2
+pkgrel=3
_pigeonholever=0.5.19
pkgdesc="IMAP and POP3 server"
url="https://www.dovecot.org/"
arch="all"
options="libtool"
license="LGPL-2.0-or-later"
-depends="openssl"
+depends="openssl>3"
pkgusers="dovecot dovenull"
pkggroups="dovecot dovenull"
makedepends="
@@ -33,9 +34,10 @@ makedepends="
libsodium-dev
libtool
linux-headers
+ lua5.3-dev
mariadb-connector-c-dev
openldap-dev
- openssl1.1-compat-dev
+ openssl-dev>3
sqlite-dev
zlib-dev
"
@@ -55,11 +57,12 @@ subpackages="
$pkgname-sqlite
$pkgname-gssapi
$pkgname-ldap
+ $pkgname-lua
$pkgname-fts-solr:_fts_solr
$pkgname-fts-lucene:_fts_lucene
"
source="https://www.dovecot.org/releases/$_pkgverminor/dovecot-$pkgver.tar.gz
- https://pigeonhole.dovecot.org/releases/$_pkgverminor/dovecot-$_pkgverminor-pigeonhole-$_pigeonholever.tar.gz
+ $pkgname-pigeonhole-$_pigeonholever.tar.gz::https://pigeonhole.dovecot.org/releases/$_pkgverminor/dovecot-$_pkgverminor-pigeonhole-$_pigeonholever.tar.gz
skip-iconv-check.patch
split-protocols.patch
default-config.patch
@@ -131,6 +134,7 @@ build() {
--with-gssapi=plugin \
--with-ldap=plugin \
--with-sql=plugin \
+ --with-lua=plugin \
--with-mysql \
--with-sqlite \
--with-pgsql \
@@ -262,6 +266,22 @@ pgsql() {
_find usr/lib/dovecot _pgsql
}
+lua() {
+ pkgdesc="Lua plugins for Dovecot"
+ depends="$pkgname-lua=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+ _submv usr/lib/dovecot/auth/libauthdb_lua.so
+ _submv usr/lib/dovecot/lib01_mail_lua_plugin.so
+ _submv usr/lib/dovecot/lib22_push_notification_lua_plugin.so
+ _submv usr/lib/dovecot/libdovecot-lua.so
+ _submv usr/lib/dovecot/libdovecot-lua.so.0
+ _submv usr/lib/dovecot/libdovecot-lua.so.0.0.0
+ _submv usr/lib/dovecot/libdovecot-storage-lua.so
+ _submv usr/lib/dovecot/libdovecot-storage-lua.so.0
+ _submv usr/lib/dovecot/libdovecot-storage-lua.so.0.0.0
+}
+
mysql() {
pkgdesc="MySQL driver for Dovecot"
depends="$pkgname-sql=$pkgver-r$pkgrel"
@@ -337,8 +357,8 @@ _submv() {
}
sha512sums="
-a61ce88b53c4f24faddf4951f16cb75dfe52aa7057d072c727566a7c9a683cc487d26cea9a83ad8aca161a053949d2f2196ba6a58015e3d33be897094aabf887 dovecot-2.3.19.tar.gz
-5b0a61c7711232ea3651b818a970b500b05bd340a04bcd5a5f0ea0529eda65f498912a845c8f3b3b80196d010bc22bd4a380e1f682cb42f62b80d2d43a94993a dovecot-2.3-pigeonhole-0.5.19.tar.gz
+ceb87a5f76b6352d28fd030aae5ad2165a133e9a8a6309891e793911203fc0ada9fb254dc05d183eaaa7e2b9851d3f1755b33f08fa6ff5b4b415ac4272bfe150 dovecot-2.3.19.1.tar.gz
+07e6a0e638508dddaa3822703ce5c08f479c4e721c0fe7a544776d9a037d557c16bad000fc422a1e83f53781058d3575e67d5264dd04cae763750b0dc40e6c51 dovecot-pigeonhole-0.5.19.tar.gz
fe4fbeaedb377d809f105d9dbaf7c1b961aa99f246b77189a73b491dc1ae0aa9c68678dde90420ec53ec877c08f735b42d23edb13117d7268420e001aa30967a skip-iconv-check.patch
794875dbf0ded1e82c5c3823660cf6996a7920079149cd8eed54231a53580d931b966dfb17185ab65e565e108545ecf6591bae82f935ab1b6ff65bb8ee93d7d5 split-protocols.patch
0d8f89c7ba6f884719b5f9fc89e8b2efbdc3e181de308abf9b1c1b0e42282f4df72c7bf62f574686967c10a8677356560c965713b9d146e2770aab17e95bcc07 default-config.patch
diff --git a/main/dpkg/APKBUILD b/main/dpkg/APKBUILD
index 0d448d834e..445a6de4ba 100644
--- a/main/dpkg/APKBUILD
+++ b/main/dpkg/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dpkg
-pkgver=1.21.8
+pkgver=1.21.9
pkgrel=0
pkgdesc="The Debian Package Manager"
url="https://wiki.debian.org/Teams/Dpkg"
@@ -95,5 +95,5 @@ dev() {
}
sha512sums="
-4fc000ede877fa291f5c2527efe767bfd5d9a73b537e53374bc285e52645a268d070c2d96eb3267f132a890dae17fc5a383475b7d354f3cec6cecd0ca00d2da2 dpkg_1.21.8.tar.xz
+0f0b9b936a025f9d905dc35c030293d9a1bdcbed640187691ae2319d99d04dac954102b1270301b12b633c48f08d6c6af0f6f21df4afb2e34a0f0a37127fd238 dpkg_1.21.9.tar.xz
"
diff --git a/main/drbd-utils/APKBUILD b/main/drbd-utils/APKBUILD
index 9016bc5670..3403cc28b9 100644
--- a/main/drbd-utils/APKBUILD
+++ b/main/drbd-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=drbd-utils
-pkgver=9.21.0
+pkgver=9.21.4
pkgrel=0
pkgdesc="Network-based RAID 1"
url="https://www.drbd.org"
@@ -61,7 +61,7 @@ bashcomp() {
}
sha512sums="
-d9a9462a50eb94f4bf42e6e854db8b9f927e9021e72d51c91cfd21a9a5e27f0c2792d2353ab3b66d84ef065f0d8271b994c7e46fa47c3a6aff5e5bfe3751fbe8 drbd-utils-9.21.0.tar.gz
+78095aeeeb6117ccbaba94bc1135495fc316690f60bd905d7a3b645e567fd04ca775bbaeb98be812a597da84ae3e18cd1899964165a81a42ceef9cd5839964dd drbd-utils-9.21.4.tar.gz
562ae8eee03148666fb6e6e700c1eb9086f6901e176ea6cd007e3ac4e39d1cdaf967064de74dc1ad620155996dc7011bd0e2abd1c9595ff9bf5f4413673726f3 drbdsetup-permissions.patch
dc9d825019803ab5cf66d14b0b67b9d3f42cabac2aee07228176b9ff73dacc74e413f2c9ed0fe22a8217ff502c80b891950d1d4fb51df56d9c8e51e7c1fc1cc6 fix-drbdsetup_events2.c.patch
f61a833dc5eea79000a7dd85e83ae10e284109c76b5d59974ed69f92dbab6c389d6d20f7ea374b7c066519c6d1d816ed27b48dbaee6b91fb9754974acf52f46e drbd.initd
diff --git a/main/dropbear/APKBUILD b/main/dropbear/APKBUILD
index 2cda1f7a8a..7b3b95f836 100644
--- a/main/dropbear/APKBUILD
+++ b/main/dropbear/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dropbear
pkgver=2022.82
-pkgrel=0
+pkgrel=1
pkgdesc="small SSH 2 client/server designed for small memory environments"
url="https://matt.ucc.asn.au/dropbear/dropbear.html"
arch="all"
@@ -20,6 +20,7 @@ source="https://matt.ucc.asn.au/dropbear/releases/dropbear-$pkgver.tar.bz2
dropbear.initd
dropbear.confd
dropbear-options_sftp-server_path.patch
+ dropbear-fix-utmp.patch
"
# secfixes:
@@ -32,7 +33,7 @@ _progs="dropbear dropbearkey dbclient dropbearconvert scp"
build() {
CFLAGS="$CFLAGS $(pkg-config --cflags --static utmps)" \
- LDLIBS="$LDLIBS $(pkg-config --libs --static utmps)" \
+ LIBS="$LDLIBS $(pkg-config --libs --static utmps)" \
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -41,7 +42,9 @@ build() {
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
+ --disable-utmp \
--disable-wtmp \
+ --disable-pututline \
--disable-lastlog
make PROGRAMS="$_progs"
}
@@ -88,4 +91,5 @@ sha512sums="
9c55ab3d8b61955cde1ccc1b8acbd3d2ef123feb9489e92737304c35315d07b7f85fad8a12ac7b0ec2c1dcee3d76b8bc4aa18518f4ddd963917805db33e48826 dropbear.initd
83f2c1eaf7687917a4b2bae7d599d4378c4bd64f9126ba42fc5d235f2b3c9a474d1b3168d70ed64bb4101cc251d30bc9ae20604da9b5d819fcd635ee4d0ebb0f dropbear.confd
df3fa2c64665b669257ec511afa2e04107eb6b0a2a4238ad9b33db3d322b90854b00506e14a09b648fe2d716dc6c140212cc1739f7cd03088f9b7b9781aaa499 dropbear-options_sftp-server_path.patch
+e143b8b2083c96fdf425fbe179aa43892e44b95734686a57ae5d5612778f1bd7e78a725d8413c1701d37dcf1b24986b1faa7365eb039789e2204320272fed7a3 dropbear-fix-utmp.patch
"
diff --git a/main/dropbear/dropbear-fix-utmp.patch b/main/dropbear/dropbear-fix-utmp.patch
new file mode 100644
index 0000000000..c4e79c725f
--- /dev/null
+++ b/main/dropbear/dropbear-fix-utmp.patch
@@ -0,0 +1,157 @@
+diff --git a/loginrec.c b/loginrec.c
+index af10d95..9e5c3aa 100644
+--- a/loginrec.c
++++ b/loginrec.c
+@@ -239,6 +239,13 @@ logininfo *login_alloc_entry(int pid, const char *username,
+
+ newli = (struct logininfo *) m_malloc (sizeof(*newli));
+ (void)login_init_entry(newli, pid, username, hostname, line);
++#ifdef HAVE_STRUCT_SOCKADDR_IN6
++ if (inet_pton(AF_INET6, hostname, newli->hostaddr.sa_in6.sin6_addr.s6_addr) > 0)
++ newli->hostaddr.sa_in6.sin6_family = AF_INET6;
++ else
++#endif
++ if (inet_pton(AF_INET, hostname, &newli->hostaddr.sa_in.sin_addr.s_addr) > 0)
++ newli->hostaddr.sa_in.sin_family = AF_INET;
+ return newli;
+ }
+
+@@ -473,9 +480,6 @@ void
+ construct_utmp(struct logininfo *li,
+ struct utmp *ut)
+ {
+-# ifdef HAVE_ADDR_V6_IN_UTMP
+- struct sockaddr_in6 *sa6;
+-# endif
+ memset(ut, '\0', sizeof(*ut));
+
+ /* First fill out fields used for both logins and logouts */
+@@ -528,12 +532,11 @@ construct_utmp(struct logininfo *li,
+ if (li->hostaddr.sa.sa_family == AF_INET)
+ ut->ut_addr = li->hostaddr.sa_in.sin_addr.s_addr;
+ # endif
+-# ifdef HAVE_ADDR_V6_IN_UTMP
++# if defined(HAVE_STRUCT_UTMP_UT_ADDR_V6) && defined(HAVE_STRUCT_SOCKADDR_IN6)
+ /* this is just a 128-bit IPv6 address */
+ if (li->hostaddr.sa.sa_family == AF_INET6) {
+- sa6 = ((struct sockaddr_in6 *)&li->hostaddr.sa);
+- memcpy(ut->ut_addr_v6, sa6->sin6_addr.s6_addr, 16);
+- if (IN6_IS_ADDR_V4MAPPED(&sa6->sin6_addr)) {
++ memcpy(ut->ut_addr_v6, li->hostaddr.sa_in6.sin6_addr.s6_addr, 16);
++ if (IN6_IS_ADDR_V4MAPPED(&li->hostaddr.sa_in6.sin6_addr)) {
+ ut->ut_addr_v6[0] = ut->ut_addr_v6[3];
+ ut->ut_addr_v6[1] = 0;
+ ut->ut_addr_v6[2] = 0;
+@@ -569,9 +572,6 @@ set_utmpx_time(struct logininfo *li, struct utmpx *utx)
+ void
+ construct_utmpx(struct logininfo *li, struct utmpx *utx)
+ {
+-# ifdef HAVE_ADDR_V6_IN_UTMP
+- struct sockaddr_in6 *sa6;
+-# endif
+ memset(utx, '\0', sizeof(*utx));
+ # ifdef HAVE_STRUCT_UTMPX_UT_ID
+ line_abbrevname(utx->ut_id, li->line, sizeof(utx->ut_id));
+@@ -589,8 +589,6 @@ construct_utmpx(struct logininfo *li, struct utmpx *utx)
+ line_stripname(utx->ut_line, li->line, sizeof(utx->ut_line));
+ set_utmpx_time(li, utx);
+ utx->ut_pid = li->pid;
+- /* strncpy(): Don't necessarily want null termination */
+- strncpy(utx->ut_name, li->username, MIN_SIZEOF(utx->ut_name, li->username));
+
+ if (li->type == LTYPE_LOGOUT)
+ return;
+@@ -600,6 +598,9 @@ construct_utmpx(struct logininfo *li, struct utmpx *utx)
+ * for logouts.
+ */
+
++ /* strncpy(): Don't necessarily want null termination */
++ strncpy(utx->ut_name, li->username, MIN_SIZEOF(utx->ut_name, li->username));
++
+ # ifdef HAVE_STRUCT_UTMPX_UT_HOST
+ strncpy(utx->ut_host, li->hostname, MIN_SIZEOF(utx->ut_host, li->hostname));
+ # endif
+@@ -608,16 +609,15 @@ construct_utmpx(struct logininfo *li, struct utmpx *utx)
+ if (li->hostaddr.sa.sa_family == AF_INET)
+ utx->ut_addr = li->hostaddr.sa_in.sin_addr.s_addr;
+ # endif
+-# ifdef HAVE_ADDR_V6_IN_UTMP
++# if defined(HAVE_STRUCT_UTMPX_UT_ADDR_V6) && defined(HAVE_STRUCT_SOCKADDR_IN6)
+ /* this is just a 128-bit IPv6 address */
+ if (li->hostaddr.sa.sa_family == AF_INET6) {
+- sa6 = ((struct sockaddr_in6 *)&li->hostaddr.sa);
+- memcpy(ut->ut_addr_v6, sa6->sin6_addr.s6_addr, 16);
+- if (IN6_IS_ADDR_V4MAPPED(&sa6->sin6_addr)) {
+- ut->ut_addr_v6[0] = ut->ut_addr_v6[3];
+- ut->ut_addr_v6[1] = 0;
+- ut->ut_addr_v6[2] = 0;
+- ut->ut_addr_v6[3] = 0;
++ memcpy(utx->ut_addr_v6, li->hostaddr.sa_in6.sin6_addr.s6_addr, 16);
++ if (IN6_IS_ADDR_V4MAPPED(&li->hostaddr.sa_in6.sin6_addr)) {
++ utx->ut_addr_v6[0] = utx->ut_addr_v6[3];
++ utx->ut_addr_v6[1] = 0;
++ utx->ut_addr_v6[2] = 0;
++ utx->ut_addr_v6[3] = 0;
+ }
+ }
+ # endif
+@@ -1047,30 +1047,12 @@ wtmp_get_entry(struct logininfo *li)
+ **/
+
+ #ifdef USE_WTMPX
+-/* write a wtmpx entry direct to the end of the file */
+-/* This is a slight modification of code in OpenBSD's logwtmp.c */
++/* write a wtmpx entry via updwtmpx() */
+ static int
+ wtmpx_write(struct logininfo *li, struct utmpx *utx)
+ {
+- struct stat buf;
+- int fd, ret = 1;
+-
+- if ((fd = open(WTMPX_FILE, O_WRONLY|O_APPEND, 0)) < 0) {
+- dropbear_log(LOG_WARNING, "wtmpx_write: problem opening %s: %s",
+- WTMPX_FILE, strerror(errno));
+- return 0;
+- }
+-
+- if (fstat(fd, &buf) == 0)
+- if (atomicio(vwrite, fd, utx, sizeof(*utx)) != sizeof(*utx)) {
+- ftruncate(fd, buf.st_size);
+- dropbear_log(LOG_WARNING, "wtmpx_write: problem writing %s: %s",
+- WTMPX_FILE, strerror(errno));
+- ret = 0;
+- }
+- (void)close(fd);
+-
+- return ret;
++ updwtmpx(WTMPX_FILE, utx);
++ return 1;
+ }
+
+
+diff --git a/loginrec.h b/loginrec.h
+index b2e3778..f594ad7 100644
+--- a/loginrec.h
++++ b/loginrec.h
+@@ -105,6 +105,9 @@
+ union login_netinfo {
+ struct sockaddr sa;
+ struct sockaddr_in sa_in;
++#ifdef HAVE_STRUCT_SOCKADDR_IN6
++ struct sockaddr_in6 sa_in6;
++#endif
+ #ifdef HAVE_STRUCT_SOCKADDR_STORAGE
+ struct sockaddr_storage sa_storage;
+ #endif
+diff --git a/svr-chansession.c b/svr-chansession.c
+index 656a968..bb4536c 100644
+--- a/svr-chansession.c
++++ b/svr-chansession.c
+@@ -850,6 +850,7 @@ static int ptycommand(struct Channel *channel, struct ChanSess *chansess) {
+ * terminal used for stdout with the dup2 above, otherwise
+ * the wtmp login will not be recorded */
+ li = chansess_login_alloc(chansess);
++ li->pid = getpid();
+ login_login(li);
+ login_free_entry(li);
+
diff --git a/main/dtc/APKBUILD b/main/dtc/APKBUILD
index a5ac44f1fe..b4b441d0af 100644
--- a/main/dtc/APKBUILD
+++ b/main/dtc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dtc
pkgver=1.6.1
-pkgrel=1
+pkgrel=2
pkgdesc="Device Tree Compiler"
url="https://git.kernel.org/pub/scm/utils/dtc/dtc.git/"
arch="all"
diff --git a/main/e2fsprogs/APKBUILD b/main/e2fsprogs/APKBUILD
index 97e4130203..9cdce5119d 100644
--- a/main/e2fsprogs/APKBUILD
+++ b/main/e2fsprogs/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=e2fsprogs
pkgver=1.46.5
-pkgrel=0
+pkgrel=2
pkgdesc="Standard Ext2/3/4 filesystem utilities"
-url="http://e2fsprogs.sourceforge.net"
+url="http://e2fsprogs.sourceforge.net/"
arch="all"
license="GPL-2.0-or-later AND LGPL-2.0-or-later AND BSD-3-Clause AND MIT"
depends_dev="util-linux-dev gawk"
@@ -36,6 +36,7 @@ build() {
--host=$CHOST \
--mandir=/usr/share/man \
--enable-elf-shlibs \
+ --enable-lto \
--enable-symlink-install \
--disable-fsck \
--disable-uuidd \
@@ -71,33 +72,27 @@ package() {
dev() {
default_dev
- mkdir -p "$subpkgdir"/usr/bin
- mkdir -p "$subpkgdir"/usr/share
- mv "$pkgdir"/usr/bin/compile_et "$pkgdir"/usr/bin/mk_cmds \
- "$subpkgdir"/usr/bin/
- mv "$pkgdir"/usr/share/et "$pkgdir"/usr/share/ss \
- "$subpkgdir"/usr/share
+
+ amove \
+ usr/bin/compile_et \
+ usr/bin/mk_cmds \
+ usr/share/et \
+ usr/share/ss
}
libcom_err() {
pkgdesc="Common error description library"
- mkdir -p "$subpkgdir"/lib
- mv "$pkgdir"/lib/libcom_err* "$subpkgdir"/lib/
+
+ amove lib/libcom_err*
}
extra() {
- depends="$pkgname"
+ depends="$pkgname=$pkgver-r$pkgrel"
pkgdesc="Ext2/3/4 filesystem extra utilities"
- mkdir -p "$subpkgdir"
- rmdir "$pkgdir"/lib
- mv "$pkgdir"/usr "$subpkgdir"/
-}
-static() {
- depends=""
- pkgdesc="$pkgdesc (static libraries)"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib
+ mkdir -p "$subpkgdir"
+ amove usr
+ rmdir "$pkgdir"/lib || true
}
sha512sums="
diff --git a/main/efibootmgr/APKBUILD b/main/efibootmgr/APKBUILD
index be7ff431c4..2e70de93eb 100644
--- a/main/efibootmgr/APKBUILD
+++ b/main/efibootmgr/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
pkgname=efibootmgr
-pkgver=17
+pkgver=18
pkgrel=0
pkgdesc="Linux user-space application to modify the Intel Extensible Firmware Interface"
url="https://github.com/rhboot/efibootmgr"
@@ -12,8 +12,7 @@ makedepends="efivar-dev linux-headers popt-dev gettext-dev"
install=""
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/rhboot/$pkgname/archive/$pkgver.tar.gz
- musl-gettext.patch
- efivar.patch"
+ musl-gettext.patch"
builddir="$srcdir/efibootmgr-$pkgver"
build() {
@@ -31,6 +30,7 @@ check() {
"$builddir"/src/efibootmgr --help > /dev/null
}
-sha512sums="10c7ad9a79f23dcd4708dc4f42701196af7aa11f5e9a6468ea51f7013d4caeba6c92527ba1304f6e3b2ef3b51b3b69ea1a30f81bb099a8aea49eeb30eb631e1d efibootmgr-17.tar.gz
+sha512sums="
+04e40a705cb82440fd823043b598ef9fd1acc2ceda3e8d043a93e49d43ea9481b7386cad0f46de9862beff19b8a5480d79e7d6522ae584aff6655472f967764d efibootmgr-18.tar.gz
3ed49c6d267e6f14bf43207fecb55ebc984f6fbd15d77cd1b8f466c8d0a4c3ab9bb276e8ed183b5ab0129fde5c06ffcd0450ffb7dad0edfa18b4c472e481373b musl-gettext.patch
-a8f4b37e9c0c55a3b2d20f733606653add0219066b9a46b0878885023480747936ad015a52363ceece481ae4d8b702aaa710d9fde2334aae48f97f650416e129 efivar.patch"
+"
diff --git a/main/efibootmgr/efivar.patch b/main/efibootmgr/efivar.patch
deleted file mode 100644
index 614195f3c9..0000000000
--- a/main/efibootmgr/efivar.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/efibootmgr.c b/src/efibootmgr.c
-index de38f01..4e1a680 100644
---- a/src/efibootmgr.c
-+++ b/src/efibootmgr.c
-@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv)
- "invalid numeric value %s\n",
- optarg);
- }
-- /* XXX efivar-36 accidentally doesn't have a public
-- * header for this */
-- extern int efi_set_verbose(int verbosity, FILE *errlog);
- efi_set_verbose(opts.verbose - 2, stderr);
- break;
- case 'V':
diff --git a/main/efitools/APKBUILD b/main/efitools/APKBUILD
index d2ff29fcea..88ac914873 100644
--- a/main/efitools/APKBUILD
+++ b/main/efitools/APKBUILD
@@ -3,14 +3,14 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=efitools
pkgver=1.9.2
-pkgrel=4
+pkgrel=5
pkgdesc="EFI tools"
url="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git"
# riscv64: fails to build
# others: limited by sbsigntool
arch="all !armhf !s390x !ppc64le !mips !mips64 !riscv64"
license="(GPL-2.0-only AND LGPL-2.1-or-later) WITH OpenSSL-Exception"
-makedepends="gnu-efi-dev openssl1.1-compat-dev perl-file-slurp help2man sbsigntool"
+makedepends="gnu-efi-dev openssl-dev>3 perl-file-slurp help2man sbsigntool"
subpackages="$pkgname-doc"
source="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git/snapshot/efitools-$pkgver.tar.gz
001-datatypes.patch
diff --git a/main/efivar/APKBUILD b/main/efivar/APKBUILD
index c445a77453..8c0e8ade15 100644
--- a/main/efivar/APKBUILD
+++ b/main/efivar/APKBUILD
@@ -2,16 +2,18 @@
# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
pkgname=efivar
pkgver=38
-pkgrel=0
+pkgrel=1
pkgdesc="Tools and library to manipulate EFI variables"
url="https://github.com/rhboot/efivar"
-arch="x86 x86_64 armhf armv7 aarch64 ppc64le"
+arch="all !s390x"
license="LGPL-2.1"
makedepends="popt-dev linux-headers mandoc"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="https://github.com/rhboot/efivar/releases/download/$pkgver/efivar-$pkgver.tar.bz2
musl-compat.patch
- ppc64le-compat.patch"
+ ppc64le-compat.patch
+ fix-build-riscv64.patch
+ "
builddir="$srcdir/efivar-$pkgver"
prepare() {
@@ -37,4 +39,5 @@ sha512sums="
c2f17297c863ece134a9dd758d237fd2df8c8d072f87af1d0bf2bcf9acfc7a53c25597f03fd4fb8cc664b205743d4ffa0ef1b068d0f73c58fa573d40993f3155 efivar-38.tar.bz2
1a1dfd66a5b613167eeedafe3f2728a0e644cb89860c3dad5955cbaba254ecde617e05d969eeac50be443d090136cbfec626f878f49eea2458b6b8ca17287bd4 musl-compat.patch
77e04d2df6797faef478bde4f591dc728a90ad27a55f4a26bb3b0f427a2dd31de0b97272a176e79880125fdc2cdd1eff184c9c80c4fedb40c4304f633691d13b ppc64le-compat.patch
+042dfb79b05032cbc9baad94a9ebf7e61e1bc5976e728287f96b426229a28e1c8dea2392ed262b2753ecac1b5146d6814cb2ecf44fdfa1e63e8e968c521f33ec fix-build-riscv64.patch
"
diff --git a/main/efivar/fix-build-riscv64.patch b/main/efivar/fix-build-riscv64.patch
new file mode 100644
index 0000000000..d433a9f9ee
--- /dev/null
+++ b/main/efivar/fix-build-riscv64.patch
@@ -0,0 +1,12 @@
+--- a/src/include/defaults.mk 2022-05-30 17:18:56.805985253 +0000
++++ b/src/include/defaults.mk 2022-05-30 17:18:16.272463577 +0000
+@@ -81,6 +81,9 @@
+ else
+ HOST_MARCH=
+ endif
++ifeq ($(HOST_ARCH),riscv64)
++ HOST_MARCH=
++endif
+ HOST_CPPFLAGS ?= $(CPPFLAGS)
+ override _HOST_CPPFLAGS := $(HOST_CPPFLAGS)
+ override HOST_CPPFLAGS = $(_HOST_CPPFLAGS) \
diff --git a/main/eggdrop/APKBUILD b/main/eggdrop/APKBUILD
index 6d63c4fd8c..d27fffb0cd 100644
--- a/main/eggdrop/APKBUILD
+++ b/main/eggdrop/APKBUILD
@@ -1,18 +1,16 @@
# Maintainer: Carlo Landmeter <clandmeter@alpinelinux.org>
pkgname=eggdrop
-pkgver=1.8.4
-pkgrel=4
+pkgver=1.9.3
+pkgrel=0
pkgdesc="World's most popular Open Source IRC bot"
url="https://eggheads.org/"
arch="all"
license='GPL-2.0-or-later'
options="!check" # No test suite
-makedepends="openssl1.1-compat-dev tcl-dev !bind-libs"
-subpackages="$pkgname-doc $pkgname-logs2html $pkgname-gseen"
-source="$pkgname-$pkgver.tar.gz::https://github.com/eggheads/eggdrop/archive/v$pkgver.tar.gz
+makedepends="openssl-dev>3 tcl-dev"
+subpackages="$pkgname-doc"
+source="https://github.com/eggheads/eggdrop/releases/download/v$pkgver/eggdrop-$pkgver.tar.gz
eggdrop-langdir.patch
- logs2html.mod.patch
- gseen.mod.patch
utf8.patch
"
@@ -30,7 +28,6 @@ build() {
package() {
# workaround for borked Makefile
mkdir -p "$pkgdir"/usr/share/eggdrop/doc \
- "$pkgdir"/usr/share/eggdrop/scripts \
"$pkgdir"/usr/share/eggdrop/help/set/
make DEST="$pkgdir"/usr/share/eggdrop install
@@ -61,54 +58,16 @@ package() {
mkdir -p "$pkgdir"/usr/share/doc/eggdrop
cp -a \
- COPYING FEATURES NEWS README doc/Changes1.8 eggdrop.conf \
+ COPYING FEATURES NEWS README doc/Changes1.9 eggdrop.conf \
doc/ABOUT doc/BANS doc/BOTNET doc/BUG-REPORT doc/FIRST-SCRIPT \
- doc/MODULES doc/PARTYLINE doc/TEXT-SUBSTITUTIONS doc/TRICKS \
- doc/USERS doc/WEIRD-MESSAGES doc/tcl-commands.doc doc/settings \
+ doc/MODULES doc/PARTYLINE doc/TRICKS \
+ doc/USERS doc/tcl-commands.doc doc/settings \
doc/html \
"$pkgdir"/usr/share/doc/eggdrop
}
-logs2html() {
- pkgdesc="logs2html module for eggdrop"
- install=""
- cd "$builddir"
-
- for dir in language help; do
- mkdir -p "$subpkgdir"/usr/share/eggdrop/$dir
- mv "$pkgdir"/usr/share/eggdrop/$dir/logs2html.* "$subpkgdir"/usr/share/eggdrop/$dir/
- done
-
- mkdir -p "$subpkgdir"/usr/lib/eggdrop
- mv "$pkgdir"/usr/lib/eggdrop/logs2html.so \
- "$subpkgdir"/usr/lib/eggdrop/
-
- mkdir -p "$subpkgdir"/usr/share/eggdrop/log2html
-
- for files in logs2html.conf user.css readme.txt; do
- cp src/mod/logs2html.mod/$files "$subpkgdir"/usr/share/eggdrop/log2html/
- done
-}
-
-gseen() {
- pkgdesc="gseen module for eggdrop"
- install=""
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/share/eggdrop/language
- mv "$pkgdir"/usr/share/eggdrop/language/gseen.* \
- "$subpkgdir"/usr/share/eggdrop/language/
- mkdir -p "$subpkgdir"/usr/lib/eggdrop
- mv "$pkgdir"/usr/lib/eggdrop/gseen.so \
- "$subpkgdir"/usr/lib/eggdrop/
- mkdir -p "$subpkgdir"/usr/share/eggdrop/gseen
- cp src/mod/gseen.mod/gseen.conf "$subpkgdir"/usr/share/eggdrop/gseen/
- cp src/mod/gseen.mod/README "$subpkgdir"/usr/share/eggdrop/gseen/
-}
-
sha512sums="
-80239a015f518cadc251bfc5edcf08715b9200a70eb0df7edf0efc113f320a7e407ab1fee96322fc6ec923781aa94f5a947c458e935e8a3714fb86cbcc02cb04 eggdrop-1.8.4.tar.gz
+67d6d0f798222e54e09acb319aa4926181c34b6e4cdc2cbb4fc7a8433915a7d6281904fd190fe2ee92bcc2cb99943e3fb5b9d99831cc0bfd930205e63e33d1a1 eggdrop-1.9.3.tar.gz
d8e8655fed028030bc3cfe28207a289d0efbc412c7e01170a4d0bb31200f7ea93df310f19e83b485013ca5d4264694b4956252663cb3a63c3d5e4cc31346e0fe eggdrop-langdir.patch
-be173d94a953c4dc5b178950d06ce894deda60c3ddb8195c836797d45fbbcc9fba3bc3d3f34c96226464fdd327093a5d15bbc2b7924d18f845738c1a4dd64a3b logs2html.mod.patch
-7879b998880deb1943c41569e243f9f1a50df23982d82d942af6c111e7fac0fb8a8444c84980645ba15b71dd69c8db2dab6f90bcb7a4292306011c7bcfc03d0d gseen.mod.patch
7966d4d42994e44a0e571b89f1c66cb41f672d75e6ced7051d1ece23d8c209059c3565b41de950bf9c907701ce7a5e33a215b637587075ed300a002a58eda503 utf8.patch
"
diff --git a/main/eggdrop/eggdrop.post-install b/main/eggdrop/eggdrop.post-install
deleted file mode 100644
index 44b43cf34e..0000000000
--- a/main/eggdrop/eggdrop.post-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-echo "*"
-echo "* Please run /usr/bin/eggdrop-installer to install your eggdrop bot."
-echo "*"
-exit 0
-
diff --git a/main/eggdrop/gseen.mod.patch b/main/eggdrop/gseen.mod.patch
deleted file mode 100644
index dd49248c65..0000000000
--- a/main/eggdrop/gseen.mod.patch
+++ /dev/null
@@ -1,5133 +0,0 @@
-diff -urpN src-orig/eggdrop-1.8.4/src/mod/gseen.mod/addons/gseen.selectlang.1.0.0.tcl src/eggdrop-1.8.4/src/mod/gseen.mod/addons/gseen.selectlang.1.0.0.tcl
---- ./src/mod/gseen.mod/addons/gseen.selectlang.1.0.0.tcl 1970-01-01 01:00:00.000000000 +0100
-+++ ./src/mod/gseen.mod/addons/gseen.selectlang.1.0.0.tcl 2017-01-02 22:30:47.000000000 +0100
-@@ -0,0 +1,80 @@
-+#####################################################################
-+#
-+# gseen.selectlang v1.0.0
-+#
-+# This is a simple script which selects a language based on the
-+# user's host.
-+#
-+# It only works for /msg commands.
-+#
-+# If the user is in a channel which has a language defined, gseen's
-+# internal functions will override this selection and use the language
-+# of the channel instead.
-+#
-+#####################################################################
-+
-+
-+# Here you can define which language to use for which host.
-+# The first part is the mask for the host, and the second part
-+# is the language which should be used for this host.
-+
-+set tld-langs {
-+ {"*.de" "de"}
-+ {"*.at" "de"}
-+ {"*.ch" "de"}
-+ {"*.t-dialin.net" "de"}
-+ {"*.t-ipconnect.net" "de"}
-+ {"*.pl" "pl"}
-+ {"*.jp" "ja"}
-+}
-+
-+#################################################
-+
-+
-+proc selectlang:getlang {uhost} {
-+ global tld-langs
-+
-+ foreach tld ${tld-langs} {
-+ if {[string match [lindex $tld 0] $uhost]} {
-+ return [lindex $tld 1]
-+ }
-+ }
-+ return ""
-+}
-+
-+proc sl:rebind {oldtarget newtarget} {
-+ foreach binding [binds msg] {
-+ if {[lindex $binding 4] == $oldtarget} {
-+ unbind [lindex $binding 0] [lindex $binding 1] [lindex $binding 2] [lindex $binding 4]
-+ bind [lindex $binding 0] [lindex $binding 1] [lindex $binding 2] $newtarget
-+ }
-+ }
-+}
-+
-+proc sl:msg:trigger {nick uhost hand rest target} {
-+ global default-slang
-+
-+ set lang [selectlang:getlang $uhost]
-+ set old-slang ${default-slang}
-+ if {$lang != ""} {
-+ set default-slang $lang
-+ putlog "using '$lang'..."
-+ }
-+ $target $nick $uhost $hand $rest
-+ set default-slang ${old-slang}
-+}
-+
-+sl:rebind *msg:seen sl:msg:seen
-+proc sl:msg:seen {nick uhost hand rest} {
-+ sl:msg:trigger $nick $uhost $hand $rest *msg:seen
-+}
-+
-+sl:rebind *msg:seenstats sl:msg:seenstats
-+proc sl:msg:seenstats {nick uhost hand rest} {
-+ sl:msg:trigger $nick $uhost $hand $rest *msg:seenstats
-+}
-+
-+sl:rebind *msg:seennick sl:msg:seennick
-+proc sl:msg:seennick {nick uhost hand rest} {
-+ sl:msg:trigger $nick $uhost $hand $rest *msg:seennick
-+}
-\ No newline at end of file
-diff -urpN src-orig/eggdrop-1.8.4/src/mod/gseen.mod/ai.c src/eggdrop-1.8.4/src/mod/gseen.mod/ai.c
---- ./src/mod/gseen.mod/ai.c 1970-01-01 01:00:00.000000000 +0100
-+++ ./src/mod/gseen.mod/ai.c 2017-01-02 22:30:47.000000000 +0100
-@@ -0,0 +1,151 @@
-+/*
-+ * Copyright (C) 2000,2001 Florian Sander
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2
-+ * of the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ */
-+
-+static int quietaiseens(char *chan)
-+{
-+ char buf[121], *b;
-+
-+ Context;
-+ strncpy(buf, quiet_ai_seen, 120);
-+ buf[120] = 0;
-+ b = buf;
-+ while (b[0])
-+ if (!strcasecmp(chan, newsplit(&b)))
-+ return 1;
-+#if EGG_IS_MIN_VER(10503)
-+ if (ngetudef("quietaiseens", chan))
-+ return 1;
-+#endif
-+ return 0;
-+}
-+
-+static int tcl_pubmseen STDVAR
-+{
-+ char *nick, *uhost, *hand, *chan, *text;
-+ char buf[1024];
-+ char *words, *word;
-+ seendat *l;
-+ int i;
-+
-+ Context;
-+ BADARGS(6, 6, " nick uhost hand chan text");
-+ nick = argv[1];
-+ uhost = argv[2];
-+ hand = argv[3];
-+ chan = argv[4];
-+ text = argv[5];
-+ reset_global_vars();
-+ glob_slang = slang_find(coreslangs, slang_chanlang_get(chanlangs, chan));
-+ glob_nick = nick;
-+ for (i = 0; i < strlen(text); i++)
-+ if (strchr("!?.,\"", text[i]))
-+ text[i] = ' ';
-+ strncpy(buf, ignore_words, 1023);
-+ buf[1023] = 0;
-+ words = buf;
-+ while (words[0])
-+ add_ignoredword(newsplit(&words));
-+ strncpy(buf, text, 1023);
-+ buf[1023] = 0;
-+ words = buf;
-+ while (words[0]) {
-+ word = newsplit(&words);
-+ if (word_is_ignored(word))
-+ continue;
-+ l = findseen(word);
-+ if (l) {
-+ if (quietaiseens(chan)) {
-+ set_prefix(SLNOTPREFIX);
-+ dprintf(DP_HELP, "NOTICE %s :%s%s\n", nick, reply_prefix,
-+ do_seen(word, nick, uhost, chan, 0));
-+ } else {
-+ set_prefix(SLPUBPREFIX);
-+ dprintf(DP_HELP, "PRIVMSG %s :%s%s\n", chan, reply_prefix,
-+ do_seen(word, nick, uhost, chan, 0));
-+ }
-+ add_seenreq(word, nick, uhost, chan, now);
-+ free_ignoredwords();
-+ Tcl_AppendResult(irp, "1", NULL);
-+ return TCL_OK;
-+ }
-+ }
-+ free_ignoredwords();
-+ Tcl_AppendResult(irp, "0", NULL);
-+ return TCL_OK;
-+}
-+
-+static tcl_cmds mytcls[] =
-+{
-+ {"*pubm:seen", tcl_pubmseen},
-+ {"*chjn:gseen", gseen_chjn},
-+ {"*chpt:gseen", gseen_chpt},
-+ {0, 0}
-+};
-+
-+static void add_ignoredword(char *word)
-+{
-+ ignoredword *l, *nl;
-+
-+ l = ignoredwords;
-+ while (l && l->next)
-+ l = l->next;
-+ nl = nmalloc(sizeof(ignoredword));
-+ nl->word = nmalloc(strlen(word) + 1);
-+ strcpy(nl->word, word);
-+ nl->next = NULL;
-+ if (ignoredwords)
-+ l->next = nl;
-+ else
-+ ignoredwords = nl;
-+}
-+
-+static void free_ignoredwords()
-+{
-+ ignoredword *l, *ll;
-+
-+ l = ignoredwords;
-+ while (l) {
-+ ll = l->next;
-+ nfree(l->word);
-+ nfree(l);
-+ l = ll;
-+ }
-+ ignoredwords = NULL;
-+}
-+
-+static int expmem_ignoredwords()
-+{
-+ ignoredword *l;
-+ int size = 0;
-+
-+ for (l = ignoredwords; l; l = l->next) {
-+ size += sizeof(ignoredword);
-+ size += strlen(l->word) + 1;
-+ }
-+ return size;
-+}
-+
-+static int word_is_ignored(char *word)
-+{
-+ ignoredword *l;
-+
-+ for (l = ignoredwords; l; l = l->next)
-+ if (!strcasecmp(l->word, word))
-+ return 1;
-+ return 0;
-+}
-diff -urpN src-orig/eggdrop-1.8.4/src/mod/gseen.mod/datahandling.c src/eggdrop-1.8.4/src/mod/gseen.mod/datahandling.c
---- ./src/mod/gseen.mod/datahandling.c 1970-01-01 01:00:00.000000000 +0100
-+++ ./src/mod/gseen.mod/datahandling.c 2017-01-02 22:30:47.000000000 +0100
-@@ -0,0 +1,151 @@
-+/*
-+ * Copyright (C) 2000,2001 Florian Sander
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2
-+ * of the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ */
-+
-+
-+static void write_seens()
-+{
-+ seenreq *r;
-+ seenreq_by *b;
-+ FILE *f;
-+ char s[125];
-+
-+ Context;
-+ /* putlog(LOG_MISC, "*", "Saving seen data..."); */
-+ if (!gseenfile[0])
-+ return;
-+ sprintf(s, "%s~new", gseenfile);
-+ f = fopen(s, "w");
-+ chmod(s, 0600);
-+ if (f == NULL) {
-+ putlog(LOG_MISC, "*", "ERROR writing gseen file.");
-+ return;
-+ }
-+ fprintf(f, "# gseen data file v1.\n");
-+ write_seen_tree_target = f;
-+ btree_getall(&seentree, write_seen_tree);
-+ for (r = requests; r; r = r->next)
-+ for (b = r->by; b; b = b->next)
-+ /* @ nick by host chan when */
-+ fprintf(f, "@ %s %s %s %s %lu\n", r->nick, b->who, b->host, b->chan,
-+ b->when);
-+ fclose(f);
-+ unlink(gseenfile);
-+ movefile(s, gseenfile);
-+ /* putlog(LOG_MISC, "*", "Done."); */
-+ return;
-+}
-+
-+static void read_seens()
-+{
-+ FILE *f;
-+ char buf[512], *s, *type, *nick, *host, *chan, *msg, *by;
-+ time_t when;
-+ int spent, iType, i;
-+
-+ Context;
-+ f = fopen(gseenfile, "r");
-+ if (f == NULL) {
-+ putlog(LOG_MISC, "*", "Can't open gseen file, creating new database...");
-+ return;
-+ }
-+ while (!feof(f)) {
-+ buf[0] = 0;
-+ s = buf;
-+ fgets(s, 511, f);
-+ i = strlen(buf);
-+ if (buf[i - 1] == '\n')
-+ buf[i - 1] = 0;
-+ if ((buf[0] == 0) || (buf[0] == '#'))
-+ continue;
-+ type = newsplit(&s);
-+ if (!strcmp(type, "!")) {
-+ nick = newsplit(&s);
-+ host = newsplit(&s);
-+ chan = newsplit(&s);
-+ iType = atoi(newsplit(&s));
-+ when = (time_t) atoi(newsplit(&s));
-+ spent = atoi(newsplit(&s));
-+ msg = s;
-+ add_seen(iType, nick, host, chan, msg, when, spent);
-+ } else if (!strcmp(type, "@")) {
-+ nick = newsplit(&s);
-+ by = newsplit(&s);
-+ host = newsplit(&s);
-+ chan = newsplit(&s);
-+ when = (time_t) atoi(newsplit(&s));
-+ add_seenreq(nick, by, host, chan, when);
-+ }
-+ }
-+ fclose(f);
-+ Context;
-+ return;
-+}
-+
-+static void purge_seens()
-+{
-+ seenreq *r, *rr;
-+ seenreq_by *b, *bb;
-+
-+ Context;
-+ if (!expire_seens)
-+ return;
-+ btree_getall_expanded(&seentree, purge_seen_tree);
-+ debug0("purge done");
-+ r = requests;
-+ rr = NULL;
-+ while (r) {
-+ b = r->by;
-+ bb = NULL;
-+ while (b) {
-+ if ((now - b->when) > (expire_seens * 86400)) {
-+ debug2("request for %s from %s has expired.", r->nick, b->who);
-+ nfree(b->who);
-+ nfree(b->host);
-+ nfree(b->chan);
-+ if (bb) {
-+ bb->next = b->next;
-+ nfree(b);
-+ b = bb->next;
-+ } else {
-+ r->by = b->next;
-+ nfree(b);
-+ b = r->by;
-+ }
-+ } else {
-+ bb = b;
-+ b = b->next;
-+ }
-+ }
-+ if (!r->by) {
-+ debug1