diff options
Diffstat (limited to 'main')
1071 files changed, 17387 insertions, 20993 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/acf-kamailio/APKBUILD b/main/acf-kamailio/APKBUILD index 548151f844..a4a094ec77 100644 --- a/main/acf-kamailio/APKBUILD +++ b/main/acf-kamailio/APKBUILD @@ -9,7 +9,6 @@ arch="noarch" license="GPL-2.0-only" options="!check" # no test suite depends="acf-core kamailio acf-db-lib" -makedepends="acf-db-lib" source="https://gitlab.alpinelinux.org/acf/acf-kamailio/-/archive/v$pkgver/acf-kamailio-v$pkgver.tar.gz" builddir="$srcdir/$pkgname-v$pkgver" diff --git a/main/acf-mariadb/APKBUILD b/main/acf-mariadb/APKBUILD index 99e5ef1382..4d0777a36d 100644 --- a/main/acf-mariadb/APKBUILD +++ b/main/acf-mariadb/APKBUILD @@ -9,7 +9,6 @@ arch="noarch" license="GPL-2.0-only" options="!check" # no test suite depends="acf-core mariadb mariadb-client lua-sql-mysql acf-db-lib" -makedepends="acf-db-lib" replaces="acf-mysql" source="https://gitlab.alpinelinux.org/acf/acf-mariadb/-/archive/v$pkgver/acf-mariadb-v$pkgver.tar.gz" builddir="$srcdir/$pkgname-v$pkgver" diff --git a/main/acf-postgresql/APKBUILD b/main/acf-postgresql/APKBUILD index e90e5aad21..0db960e41f 100644 --- a/main/acf-postgresql/APKBUILD +++ b/main/acf-postgresql/APKBUILD @@ -9,7 +9,6 @@ arch="noarch" license="GPL-2.0-only" options="!check" # no test suite depends="acf-core postgresql acf-db-lib lua-sql-postgres" -makedepends="acf-db-lib" source="https://gitlab.alpinelinux.org/acf/acf-postgresql/-/archive/v$pkgver/acf-postgresql-v$pkgver.tar.gz" builddir="$srcdir/$pkgname-v$pkgver" 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 9dcde2d7f4..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.1 +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=" -bc12a679cdf5032c7c8097fc822fed7aad6a7295a0b2b0570d5b851ee146e80cbaa20522bf7122b39957c1a05c0e2a866910b7590f69efa1f7cfd8427dab368d alpine-conf-3.14.1.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/001-throw-in-funcdef.patch b/main/argp-standalone/001-throw-in-funcdef.patch deleted file mode 100644 index 4a90751e1e..0000000000 --- a/main/argp-standalone/001-throw-in-funcdef.patch +++ /dev/null @@ -1,79 +0,0 @@ -# --- T2-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# T2 SDE: package/.../rng-tools/throw-in-funcdef.patch.argp-standalone -# Copyright (C) 2006 The T2 SDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or 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. -# --- T2-COPYRIGHT-NOTE-END --- - - -No __THROW in function implementation. - --jsaw - ---- argp-standalone-1.4-test2/argp.h.orig 2006-01-06 02:29:59.000000000 +0100 -+++ argp-standalone-1.4-test2/argp.h 2006-01-06 02:41:10.000000000 +0100 -@@ -560,17 +560,17 @@ - # endif - - # ifndef ARGP_EI --# define ARGP_EI extern __inline__ -+# define ARGP_EI extern inline - # endif - - ARGP_EI void --__argp_usage (__const struct argp_state *__state) __THROW -+__argp_usage (__const struct argp_state *__state) - { - __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); - } - - ARGP_EI int --__option_is_short (__const struct argp_option *__opt) __THROW -+__option_is_short (__const struct argp_option *__opt) - { - if (__opt->flags & OPTION_DOC) - return 0; -@@ -582,7 +582,7 @@ - } - - ARGP_EI int --__option_is_end (__const struct argp_option *__opt) __THROW -+__option_is_end (__const struct argp_option *__opt) - { - return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; - } ---- argp-standalone-1.4-test2/argp-parse.c.orig 2006-01-06 02:47:48.000000000 +0100 -+++ argp-standalone-1.4-test2/argp-parse.c 2006-01-06 02:48:16.000000000 +0100 -@@ -1290,13 +1290,13 @@ - /* Defined here, in case a user is not inlining the definitions in - * argp.h */ - void --__argp_usage (__const struct argp_state *__state) __THROW -+__argp_usage (__const struct argp_state *__state) - { - __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); - } - - int --__option_is_short (__const struct argp_option *__opt) __THROW -+__option_is_short (__const struct argp_option *__opt) - { - if (__opt->flags & OPTION_DOC) - return 0; -@@ -1310,7 +1310,7 @@ - } - - int --__option_is_end (__const struct argp_option *__opt) __THROW -+__option_is_end (__const struct argp_option *__opt) - { - return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; - } diff --git a/main/argp-standalone/APKBUILD b/main/argp-standalone/APKBUILD index 5799c19d1f..e08b84006d 100644 --- a/main/argp-standalone/APKBUILD +++ b/main/argp-standalone/APKBUILD @@ -1,17 +1,15 @@ # Contributor: Francesco Colista <fcolista@alpinelinux.org> # Maintainer: Francesco Colista <fcolista@alpinelinux.org> pkgname=argp-standalone -pkgver=1.3 -pkgrel=4 +pkgver=1.5.0 +pkgrel=0 pkgdesc="Hierarchial argument parsing library broken out from glibc" url="http://www.lysator.liu.se/~nisse/misc/" arch="all" license="GPL-2.0-or-later" makedepends="libtool automake autoconf" -source="http://www.lysator.liu.se/~nisse/misc/argp-standalone-$pkgver.tar.gz - 001-throw-in-funcdef.patch - gnu89-inline.patch - " +source="$pkgname-$pkgver.tar.gz::https://github.com/argp-standalone/argp-standalone/archive/refs/tags/$pkgver.tar.gz + gnu89-inline.patch" prepare() { default_prepare @@ -39,6 +37,7 @@ package() { install -D -m755 libargp.a "$pkgdir"/usr/lib/libargp.a } -sha512sums="58c3feb8852b90248fff39e49b5019bd0dcf646790c3eaf70c3262eb81dda31a61dc0a45963c7b4a010e80fc14b37288dcb3b3ef48d02f2d33dd72c1c62e62d9 argp-standalone-1.3.tar.gz -5e4cdeeb16e6a4fb46a00ab95f3da9276ee554eec00bb2a05da7467961234ba3f9a630aafa7ceb5feb429a84ece8bf03b869fa996b86468f4716935a914c79a4 001-throw-in-funcdef.patch -69f1d8a4fcd542346f98bc1fb7151db748483fc2f331c8c35114e0891d867b41c603ddaa5f3130aaaf1c640e02c51ac71cee71b62c09301b146812e9059e9ade gnu89-inline.patch" +sha512sums=" +fa2eb61ea00f7a13385e5c1e579dd88471d6ba3a13b6353e924fe71914b90b40688b42a9f1789bc246e03417fee1788b1990753cda8c8d4a544e85f26b63f9e2 argp-standalone-1.5.0.tar.gz +42b2072b68d9287cfde2f5023af0a6c24bc34a7af6df036a313d5c4fa2762688b12476c688caf010176c069184305325f3134756f0c4e19aa4b06278e3f233e0 gnu89-inline.patch +" diff --git a/main/argp-standalone/gnu89-inline.patch b/main/argp-standalone/gnu89-inline.patch index 71978eba58..bcb15d8d55 100644 --- a/main/argp-standalone/gnu89-inline.patch +++ b/main/argp-standalone/gnu89-inline.patch @@ -1,12 +1,11 @@ diff --git a/configure.ac b/configure.ac -index 4658839..09f0267 100644 +index 932b9da..b4f85bb 100644 --- a/configure.ac +++ b/configure.ac -@@ -79,16 +79,10 @@ AC_CHECK_DECLS([program_invocation_name, program_invocation_short_name], - +@@ -80,15 +80,10 @@ AC_CHECK_DECLS([program_invocation_name, program_invocation_short_name], # Set these flags *last*, or else the test programs won't compile if test x$GCC = xyes ; then -- # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core + # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core - if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then - true - else 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/asciidoc/APKBUILD b/main/asciidoc/APKBUILD index 9aafab2c19..328529f3e5 100644 --- a/main/asciidoc/APKBUILD +++ b/main/asciidoc/APKBUILD @@ -1,45 +1,34 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=asciidoc -pkgver=9.1.1 +pkgver=10.2.0 pkgrel=0 pkgdesc="Text based documentation" url="https://asciidoc.org/" arch="noarch" -license="GPL-2.0-or-later and GPL-1.0-or-later" -depends="python3 libxml2-utils docbook-xsl source-highlight" -makedepends="autoconf automake" +license="GPL-2.0-or-later AND GPL-1.0-or-later" +depends="python3 libxml2-utils docbook-xsl" +makedepends="py3-setuptools" +checkdepends="py3-pytest py3-pytest-mock" subpackages="$pkgname-doc" -# There is a upstream-created tarball but it has depth=1 which unpacks -# everything into $srcdir instead of $srcdir/$pkgname-$pkgver -source="$pkgname-$pkgver.tar.gz::https://github.com/asciidoc/asciidoc-py3/archive/$pkgver.tar.gz" -builddir="$srcdir/asciidoc-py-$pkgver" +source="https://github.com/asciidoc-py/asciidoc-py/releases/download/$pkgver/asciidoc-$pkgver.tar.gz" +options="!check" # py3-pytest-mock replaces="$pkgname-vim" -prepare() { - default_prepare - autoreconf -fi -} - build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info - make + python3 setup.py build } check() { - make test + pytest } package() { - make DESTDIR="$pkgdir" install + python3 setup.py install --skip-build --root="$pkgdir" + install -Dm644 doc/*.1 -t "$pkgdir"/usr/share/man/man1/ + install -Dm644 asciidoc/api.py -t "$pkgdir"/usr/lib/python3*/site-packages/asciidoc/ } sha512sums=" -444de69e3b87af984327873d5be1162157db5f7fb353e1fbbd24b4938ce0238fd474a67c9d3461fb7b069e7b029c63fbaf1ba8dd9cf7b91fbfa81e5429db404c asciidoc-9.1.1.tar.gz +e8f97559a169504bd2b47a5a4108268d08dbeb98e304486e64761c2603963f4610a0f96c443fdbb8ea289586f015d066681c8ad2946610864662d6df5d7ba9d6 asciidoc-10.2.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/automake/APKBUILD b/main/automake/APKBUILD index 31ab53d03c..62f4606eb3 100644 --- a/main/automake/APKBUILD +++ b/main/automake/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=automake pkgver=1.16.5 -pkgrel=0 +pkgrel=1 pkgdesc="GNU tool for automatically creating Makefiles" url="https://www.gnu.org/software/automake" arch="noarch" @@ -10,6 +10,7 @@ depends="perl" makedepends="autoconf" subpackages="$pkgname-doc" source="https://ftp.gnu.org/gnu/automake/automake-$pkgver.tar.xz + $pkgname-python3.10.patch::https://github.com/autotools-mirror/automake/commit/930a9a73f4bb776ec334eff4cf6e182802841daa.patch " # many tests have bashisms @@ -33,4 +34,5 @@ package() { sha512sums=" 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88 automake-1.16.5.tar.xz +cd22baa12751be72b35a926127c85d793d1ccf69c48d4d0911b2cbd2b9f1249d6eecae4f90be60847a7880861abf59cc10b8846367885e1c6aadc4dd2d0219a0 automake-python3.10.patch " 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..7f3693937c 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.55 +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 +8dc47d8094f2ce0152b4acce7d320c62196abd6d96f87e7006cd8c67042f1640e4c45618d3e18edfa3b081a991a7d0b43409e20bae965472e7c65299d537258a bctoolbox-5.1.55.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 e3d37b9391..f8bbf37a04 100644 --- a/main/bind/APKBUILD +++ b/main/bind/APKBUILD @@ -5,7 +5,7 @@ # Contributor: ungleich <alpinelinux@ungleich.ch> # Maintainer: pkgname=bind -pkgver=9.16.29 +pkgver=9.18.5 _ver=${pkgver%_p*} _p=${pkgver#*_p} _major=${pkgver%%.*} @@ -15,6 +15,7 @@ pkgdesc="The ISC DNS server" url="https://www.isc.org/" arch="all" license="MPL-2.0" +options="!check" # requires bind server pkgusers="named" pkggroups="named" depends="dns-root-hints bind-tools" @@ -22,23 +23,19 @@ depends_dev="$pkgname $pkgname-plugins $pkgname-tools" _depends_plugins="$pkgname" _root_keys_upstream="dnssec-root" _depends_root_keys="$_root_keys_upstream" -_py3deps="py3-ply python3" makedepends=" bash - bsd-compat-headers fstrm-dev - json-c-dev krb5-dev libcap-dev libuv-dev libxml2-dev linux-headers + nghttp2-dev openldap-dev - openssl1.1-compat-dev + openssl-dev>3 perl protobuf-c-dev - $_py3deps - python3-dev $_depends_root_keys " install="$pkgname.pre-install $pkgname.post-install" @@ -49,15 +46,12 @@ subpackages=" $pkgname-libs $pkgname-openrc $pkgname-${_root_keys_upstream}:root_keys:noarch - py3-$pkgname:_py3 $pkgname-dnssec-tools:_dnssec_tools $pkgname-plugins $pkgname-tools " source=" https://downloads.isc.org/isc/bind$_major/$_ver/bind-$_ver.tar.xz - bind.plugindir.patch - bind.so_bsdcompat.patch named.initd named.confd named.conf.authoritative @@ -135,7 +129,6 @@ prepare() { -e 's:/etc/rndc.key:/etc/bind/rndc.key:g' \ "$i" done - update_config_sub } build() { @@ -150,28 +143,19 @@ build() { --localstatedir=/var \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ - --with-dlopen=yes \ - --with-dlz-filesystem=yes \ - --with-dlz-ldap=yes \ - --with-dlz-stub=yes \ - --with-gssapi=/usr \ - --with-libjson \ - --with-libtool \ + --with-gssapi=yes \ --with-libxml2 \ - --with-openssl=/usr \ - --with-python=python3 \ + --with-openssl=yes \ --enable-dnstap \ --enable-largefile \ --enable-linux-caps \ --enable-shared \ - --enable-static \ - --disable-isc-spnego \ - --disable-backtrace + --disable-static make } check() { - ./bin/named/named -V + make test } package() { @@ -203,21 +187,13 @@ package() { ln -s named.ca root.cache } -_py3() { - pkgdesc="A module allowing rndc commands to be sent from Python programs" - depends="$_py3deps" - mkdir -p "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib/ -} - _dnssec_tools() { pkgdesc="Utilities for DNSSEC keys and DNS zone files management" - depends="py3-$pkgname=$pkgver-r$pkgrel" - mkdir -p "$subpkgdir"/usr/sbin + mkdir -p "$subpkgdir"/usr/bin mv \ - "$pkgdir"/usr/sbin/nsec3hash \ - "$pkgdir"/usr/sbin/dnssec* \ - "$subpkgdir"/usr/sbin/ + "$pkgdir"/usr/bin/nsec3hash \ + "$pkgdir"/usr/bin/dnssec* \ + "$subpkgdir"/usr/bin/ } @@ -233,14 +209,18 @@ tools() { pkgdesc="The ISC DNS tools" depends="$depends_tools" - mkdir -p "$subpkgdir"/usr - mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ + mkdir -p "$subpkgdir"/usr/bin + for i in "$pkgdir"/usr/bin/*; do + case "${i##*/}" in + named-checkconf) ;; + *) mv "$i" "$subpkgdir"/usr/bin ;; + esac + done mkdir -p "$subpkgdir"/usr/sbin for i in "$pkgdir"/usr/sbin/*; do - file "$i" | grep 'Python script' >/dev/null 2>&1 && continue || : case "${i##*/}" in - named|named-checkconf|rndc) ;; + named|rndc) ;; *) mv "$i" "$subpkgdir"/usr/sbin ;; esac done @@ -285,10 +265,8 @@ _gpgfingerprints=" " sha512sums=" -b4acbafed370438ac53e73468ccb5ea5745a1c8f764dd96f9c9a027594a3b7ce0d486e7f01138b39795b456265e0e6116cd76e44f5a3329687cd718550ca79fb bind-9.16.29.tar.xz -2b32d1e7f62cd1e01bb4fdd92d15460bc14761b933d5acc463a91f5ecd4773d7477c757c5dd2738e8e433693592cf3f623ffc142241861c91848f01aa84640d6 bind.plugindir.patch -7167dccdb2833643dfdb92994373d2cc087e52ba23b51bd68bd322ff9aca6744f01fa9d8a4b9cd8c4ce471755a85c03ec956ec0d8a1d4fae02124ddbed6841f6 bind.so_bsdcompat.patch -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/bind.plugindir.patch b/main/bind/bind.plugindir.patch deleted file mode 100644 index bcef2dbdec..0000000000 --- a/main/bind/bind.plugindir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/make/rules.in b/make/rules.in -index 8039856..bd29891 100644 ---- a/make/rules.in -+++ b/make/rules.in -@@ -28,7 +28,7 @@ localstatedir = @localstatedir@ - mandir = @mandir@ - datarootdir = @datarootdir@ - --plugindir = ${libdir}/named -+plugindir = ${libdir}/bind - - DESTDIR = - diff --git a/main/bind/bind.so_bsdcompat.patch b/main/bind/bind.so_bsdcompat.patch deleted file mode 100644 index 69751e13b3..0000000000 --- a/main/bind/bind.so_bsdcompat.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/lib/isc/unix/socket.c.orig 2005-11-03 17:08:42.000000000 -0600 -+++ b/lib/isc/unix/socket.c 2006-02-18 13:09:15.000000000 -0600 -@@ -245,6 +245,8 @@ - - #define SOCK_DEAD(s) ((s)->references == 0) - -+#undef SO_BSDCOMPAT -+ - static void - manager_log(isc_socketmgr_t *sockmgr, - isc_logcategory_t *category, isc_logmodule_t *module, int level, 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..01a4003ccd 100644 --- a/main/binutils/APKBUILD +++ b/main/binutils/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Ariadne Conill <ariadne@dereferenced.org> pkgname=binutils -pkgver=2.38 -pkgrel=2 +pkgver=2.39 +pkgrel=1 pkgdesc="Tools necessary to build programs" url="https://www.gnu.org/software/binutils/" makedepends_build="bison flex texinfo" @@ -17,9 +17,6 @@ source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz ld-bfd-mips.patch 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch binutils-mips-disable-assert.patch - binutils-ppc-fix-machine-options.patch - binutils-s390x-1.patch - binutils-s390x-2.patch " builddir="$srcdir/$pkgname-$pkgver" @@ -84,12 +81,14 @@ build() { --mandir=/usr/share/man \ --infodir=/usr/share/info \ --disable-multilib \ + --disable-gprofng \ --enable-ld=default \ $_gold_configure \ --enable-64-bit-bfd \ $_plugin_configure \ --enable-relro \ --enable-deterministic-archives \ + --enable-default-execstack=no \ $_cross_configure \ $_arch_configure \ $_hash_style_configure \ @@ -135,13 +134,10 @@ gold() { } sha512sums=" -8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d binutils-2.38.tar.xz +68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 binutils-2.39.tar.xz ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch 314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch 70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch 609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch -27ea91e0e406e2ed464fd692cf92a07e338781789f2d968c8b95d9d5545985056a6f7f500df3952e5ab42165db28b741aa33d6b717e880b11a2e41fe406b13c4 binutils-ppc-fix-machine-options.patch -a9efe2689624865f0ff33d4776a5bd295bcad6484bdd38d0ca490fea43691c4933ab33d17478851998eef12922dbf83d6c3225bb1f8faf92a1367d086390f7d3 binutils-s390x-1.patch -0e291df80ad279005265634014d0935d2c115a5ed708d25407094b7ad4ddf267d1fb7fcbcb2d9ad73bd305b4e3974628b820bd1f249f56c095e4896872434cc9 binutils-s390x-2.patch " diff --git a/main/binutils/binutils-ppc-fix-machine-options.patch b/main/binutils/binutils-ppc-fix-machine-options.patch deleted file mode 100644 index 703ecf98a3..0000000000 --- a/main/binutils/binutils-ppc-fix-machine-options.patch +++ /dev/null @@ -1,41 +0,0 @@ -Fix for DARN opcode error during ppc64le compilation of rng-tools which -occurs with binutils 2.38 but not with binutils 2.37.. - -https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=cebc89b9328;hp=9cbed90ee623d75e31994e7943960c997ba565f2 - - -diff -aur a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c ---- a/gas/config/tc-ppc.c -+++ b/gas/config/tc-ppc.c -@@ -5965,7 +5965,30 @@ - options do not count as a new machine, instead they add - to currently selected opcodes. */ - ppc_cpu_t machine_sticky = 0; -- new_cpu = ppc_parse_cpu (ppc_cpu, &machine_sticky, cpu_string); -+ /* Unfortunately, some versions of gcc emit a .machine -+ directive very near the start of the compiler's assembly -+ output file. This is bad because it overrides user -Wa -+ cpu selection. Worse, there are versions of gcc that -+ emit the *wrong* cpu, not even respecting the -mcpu given -+ to gcc. See gcc pr101393. And to compound the problem, -+ as of 20220222 gcc doesn't pass the correct cpu option to -+ gas on the command line. See gcc pr59828. Hack around -+ this by keeping sticky options for an early .machine. */ -+ asection *sec; -+ for (sec = stdoutput->sections; sec != NULL; sec = sec->next) -+ { -+ segment_info_type *info = seg_info (sec); -+ /* Are the frags for this section perturbed from their -+ initial state? Even .align will count here. */ -+ if (info != NULL -+ && (info->frchainP->frch_root != info->frchainP->frch_last -+ || info->frchainP->frch_root->fr_type != rs_fill -+ || info->frchainP->frch_root->fr_fix != 0)) -+ break; -+ } -+ new_cpu = ppc_parse_cpu (ppc_cpu, -+ sec == NULL ? &sticky : &machine_sticky, -+ cpu_string); - if (new_cpu != 0) - ppc_cpu = new_cpu; - else diff --git a/main/binutils/binutils-s390x-1.patch b/main/binutils/binutils-s390x-1.patch deleted file mode 100644 index fab51a2fad..0000000000 --- a/main/binutils/binutils-s390x-1.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 82a5bb730a16f8c7962568030268e784b4fb42c8 Mon Sep 17 00:00:00 2001 -From: Stefan Liebler <stli@linux.ibm.com> -Date: Thu, 28 Apr 2022 14:29:58 +0200 -Subject: [PATCH] s390: Avoid dynamic TLS relocs in PIE - -No dynamic relocs are needed for TLS defined in an executable, the -TP relative offset is known at link time. - -Fixes -FAIL: Build pr22263-1 - -bfd/ - PR ld/22263 - * elf64-s390.c (elf_s390_tls_transition): Use bfd_link_dll - instead of bfd_link_pic for TLS. - (elf_s390_check_relocs): Likewise. - (allocate_dynrelocs): Likewise. - (elf_s390_relocate_section): Likewise. - -(cherry picked from commit 26b1426577b5dcb32d149c64cca3e603b81948a9) ---- - bfd/elf64-s390.c | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c -index e780efa7181..00ee386baab 100644 ---- a/bfd/elf64-s390.c -+++ b/bfd/elf64-s390.c -@@ -774,7 +774,7 @@ elf_s390_tls_transition (struct bfd_link_info *info, - int r_type, - int is_local) - { -- if (bfd_link_pic (info)) -+ if (bfd_link_dll (info)) - return r_type; - - switch (r_type) -@@ -1026,7 +1026,7 @@ elf_s390_check_relocs (bfd *abfd, - case R_390_TLS_GOTIE20: - case R_390_TLS_GOTIE64: - case R_390_TLS_IEENT: -- if (bfd_link_pic (info)) -+ if (bfd_link_dll (info)) - info->flags |= DF_STATIC_TLS; - /* Fall through */ - -@@ -1107,7 +1107,7 @@ elf_s390_check_relocs (bfd *abfd, - if (r_type == R_390_TLS_LE64 && bfd_link_pie (info)) - break; - -- if (!bfd_link_pic (info)) -+ if (!bfd_link_dll (info)) - break; - info->flags |= DF_STATIC_TLS; - /* Fall through */ -@@ -1571,7 +1571,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, - to R_390_TLS_LE64 requiring no TLS entry. For GOTIE12 and IEENT - we can save the dynamic TLS relocation. */ - if (h->got.refcount > 0 -- && !bfd_link_pic (info) -+ && !bfd_link_dll (info) - && h->dynindx == -1 - && elf_s390_hash_entry(h)->tls_type >= GOT_TLS_IE) - { -@@ -2662,7 +2662,7 @@ elf_s390_relocate_section (bfd *output_bfd, - - /* Relocations for tls literal pool entries. */ - case R_390_TLS_IE64: -- if (bfd_link_pic (info)) -+ if (bfd_link_dll (info)) - { - Elf_Internal_Rela outrel; - asection *sreloc; -@@ -2690,7 +2690,7 @@ elf_s390_relocate_section (bfd *output_bfd, - else if (h != NULL) - { - tls_type = elf_s390_hash_entry(h)->tls_type; -- if (!bfd_link_pic (info) && h->dynindx == -1 && tls_type >= GOT_TLS_IE) -+ if (!bfd_link_dll (info) && h->dynindx == -1 && tls_type >= GOT_TLS_IE) - r_type = R_390_TLS_LE64; - } - if (r_type == R_390_TLS_GD64 && tls_type >= GOT_TLS_IE) -@@ -2801,14 +2801,14 @@ elf_s390_relocate_section (bfd *output_bfd, - if (local_got_offsets == NULL) - abort(); - off = local_got_offsets[r_symndx]; -- if (bfd_link_pic (info)) -+ if (bfd_link_dll (info)) - goto emit_tls_relocs; - } - else - { - off = h->got.offset; - tls_type = elf_s390_hash_entry(h)->tls_type; -- if (bfd_link_pic (info) || h->dynindx != -1 || tls_type < GOT_TLS_IE) -+ if (bfd_link_dll (info) || h->dynindx != -1 || tls_type < GOT_TLS_IE) - goto emit_tls_relocs; - } - -@@ -2825,7 +2825,7 @@ elf_s390_relocate_section (bfd *output_bfd, - break; - - case R_390_TLS_LDM64: -- if (! bfd_link_pic (info)) -+ if (! bfd_link_dll (info)) - /* The literal pool entry this relocation refers to gets ignored - by the optimized code of the local exec model. Do nothing - and the value will turn out zero. */ -@@ -2900,7 +2900,7 @@ elf_s390_relocate_section (bfd *output_bfd, - continue; - - case R_390_TLS_LDO64: -- if (bfd_link_pic (info) || (input_section->flags & SEC_DEBUGGING)) -+ if (bfd_link_dll (info) || (input_section->flags & SEC_DEBUGGING)) - relocation -= dtpoff_base (info); - else - /* When converting LDO to LE, we must negate. */ -@@ -2922,7 +2922,7 @@ elf_s390_relocate_section (bfd *output_bfd, - - if (r_type == R_390_TLS_LOAD) - { -- if (!bfd_link_pic (info) && (h == NULL || h->dynindx == -1)) -+ if (!bfd_link_dll (info) && (h == NULL || h->dynindx == -1)) - { - /* IE->LE transition. Four valid cases: - lg %rx,(0,%ry) -> sllg %rx,%ry,0 -@@ -2972,7 +2972,7 @@ elf_s390_relocate_section (bfd *output_bfd, - invalid_tls_insn (input_bfd, input_section, rel); - return false; - } -- if (!bfd_link_pic (info) && (h == NULL || h->dynindx == -1)) -+ if (!bfd_link_dll (info) && (h == NULL || h->dynindx == -1)) - { - /* GD->LE transition. - brasl %r14,__tls_get_addr@plt -> brcl 0,. */ -@@ -2991,7 +2991,7 @@ elf_s390_relocate_section (bfd *output_bfd, - } - else if (r_type == R_390_TLS_LDCALL) - { -- if (!bfd_link_pic (info)) -+ if (!bfd_link_dll (info)) - { - unsigned int insn0, insn1; - --- -2.27.0 - diff --git a/main/binutils/binutils-s390x-2.patch b/main/binutils/binutils-s390x-2.patch deleted file mode 100644 index 75d7a931a3..0000000000 --- a/main/binutils/binutils-s390x-2.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 9a01457e02e7bb594ff9a9ac62a38c909e2e3083 Mon Sep 17 00:00:00 2001 -From: Stefan Liebler <stli@linux.ibm.com> -Date: Thu, 28 Apr 2022 14:30:55 +0200 -Subject: [PATCH] s390: Add DT_JMPREL pointing to .rela.[i]plt with static-pie - -In static-pie case, there are IRELATIVE-relocs in -.rela.iplt (htab->irelplt), which will later be grouped -to .rela.plt. On s390, the IRELATIVE relocations are -always located in .rela.iplt - even for non-static case. -Ensure that DT_JMPREL, DT_PLTRELA, DT_PLTRELASZ is added -to the dynamic section even if htab->srelplt->size == 0. -See _bfd_elf_add_dynamic_tags in bfd/elflink.c. - -bfd/ - elf64-s390.c (elf_s390_size_dynamic_sections): - Enforce DT_JMPREL via htab->elf.dt_jmprel_required. - -(cherry picked from commit d942d8db12adf4c9e5c7d9ed6496a779ece7149e) ---- - bfd/elf64-s390.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c -index 00ee386baab..0b851f7ac0e 100644 ---- a/bfd/elf64-s390.c -+++ b/bfd/elf64-s390.c -@@ -1876,7 +1876,20 @@ elf_s390_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, - else if (startswith (bfd_section_name (s), ".rela")) - { - if (s->size != 0 && s != htab->elf.srelplt) -- relocs = true; -+ { -+ relocs = true; -+ if (s == htab->elf.irelplt) -+ { -+ /* In static-pie case, there are IRELATIVE-relocs in -+ .rela.iplt (htab->irelplt), which will later be grouped -+ to .rela.plt. On s390, the IRELATIVE relocations are -+ always located in .rela.iplt - even for non-static case. -+ Ensure that DT_JMPREL, DT_PLTRELA, DT_PLTRELASZ is added -+ to the dynamic section even if htab->srelplt->size == 0. -+ See _bfd_elf_add_dynamic_tags in bfd/elflink.c. */ -+ htab->elf.dt_jmprel_required = true; -+ } -+ } - - /* We use the reloc_count field as a counter if we need - to copy relocs into the output file. */ --- -2.27.0 - 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.77/boost-1.77-geometry.patch b/main/boost1.77/boost-1.77-geometry.patch deleted file mode 100644 index 70f1831d42..0000000000 --- a/main/boost1.77/boost-1.77-geometry.patch +++ /dev/null @@ -1,1320 +0,0 @@ -Patch-Source: https://github.com/boostorg/geometry/commit/5110ec7daea0fef72ebdbd41c7f3392502c55945.patch -Patch-Source: https://github.com/boostorg/geometry/commit/3dbd2247b63613f68ed4feebb5f5ba390d021b39.patch - -From 5110ec7daea0fef72ebdbd41c7f3392502c55945 Mon Sep 17 00:00:00 2001 -From: Adam Wulkiewicz <adam.wulkiewicz@gmail.com> -Date: Fri, 13 Aug 2021 00:54:38 +0200 -Subject: [PATCH] Add missing headers to satisfy Boost header policy. - ---- - include/boost/geometry/algorithms/azimuth.hpp | 2 + - .../index/detail/algorithms/bounds.hpp | 9 +++- - .../comparable_distance_centroid.hpp | 7 +++ - .../algorithms/comparable_distance_far.hpp | 7 +++ - .../algorithms/comparable_distance_near.hpp | 7 +++ - .../index/detail/algorithms/content.hpp | 9 +++- - .../algorithms/intersection_content.hpp | 7 ++- - .../index/detail/algorithms/is_valid.hpp | 5 ++- - .../index/detail/algorithms/margin.hpp | 9 +++- - .../detail/algorithms/path_intersection.hpp | 5 ++- - .../algorithms/segment_intersection.hpp | 9 +++- - .../index/detail/distance_predicates.hpp | 6 +-- - .../geometry/index/detail/predicates.hpp | 21 +++++---- - .../geometry/index/detail/rtree/adaptors.hpp | 8 +++- - .../geometry/index/detail/rtree/iterators.hpp | 8 ++++ - .../index/detail/rtree/kmeans/kmeans.hpp | 6 ++- - .../index/detail/rtree/kmeans/split.hpp | 45 +++++++++++++------ - .../index/detail/rtree/node/node_elements.hpp | 5 +++ - .../detail/rtree/node/scoped_deallocator.hpp | 6 +++ - .../detail/rtree/node/variant_dynamic.hpp | 13 +++++- - .../detail/rtree/node/variant_static.hpp | 7 +++ - .../index/detail/rtree/node/weak_dynamic.hpp | 35 ++++++++++++++- - .../index/detail/rtree/node/weak_static.hpp | 7 +++ - .../index/detail/rtree/node/weak_visitor.hpp | 6 +++ - .../index/detail/rtree/pack_create.hpp | 11 +++-- - .../index/detail/rtree/query_iterators.hpp | 8 +++- - .../detail/rtree/rstar/choose_next_node.hpp | 6 ++- - .../index/detail/rtree/rstar/insert.hpp | 5 +++ - .../index/detail/rtree/utilities/gl_draw.hpp | 13 +++++- - .../index/detail/rtree/utilities/print.hpp | 8 +++- - .../detail/rtree/visitors/distance_query.hpp | 6 +++ - .../index/detail/rtree/visitors/insert.hpp | 10 +++-- - .../index/detail/rtree/visitors/iterator.hpp | 7 +++ - .../index/detail/rtree/visitors/remove.hpp | 10 +++-- - .../detail/rtree/visitors/spatial_query.hpp | 4 ++ - .../geometry/index/detail/serialization.hpp | 22 ++++++++- - .../geometry/index/detail/translator.hpp | 6 ++- - include/boost/geometry/index/parameters.hpp | 6 +-- - .../strategies/distance/comparable.hpp | 2 + - .../geometry/strategies/distance/services.hpp | 2 + - .../geographic/buffer_point_circle.hpp | 10 ++--- - .../strategies/intersection_result.hpp | 6 +-- - .../geometry/strategies/relate/geographic.hpp | 1 + - .../strategies/simplify/spherical.hpp | 1 + - 44 files changed, 314 insertions(+), 79 deletions(-) - -diff --git a/boost/geometry/algorithms/azimuth.hpp b/boost/geometry/algorithms/azimuth.hpp -index 28e5491e7a..26c9a55307 100644 ---- a/boost/geometry/algorithms/azimuth.hpp -+++ b/boost/geometry/algorithms/azimuth.hpp -@@ -23,6 +23,8 @@ - #include <boost/geometry/core/tag.hpp> - #include <boost/geometry/core/tags.hpp> - -+#include <boost/geometry/geometries/concepts/check.hpp> -+ - #include <boost/geometry/strategies/default_strategy.hpp> - #include <boost/geometry/strategies/azimuth/cartesian.hpp> - #include <boost/geometry/strategies/azimuth/geographic.hpp> -diff --git a/boost/geometry/index/detail/algorithms/bounds.hpp b/boost/geometry/index/detail/algorithms/bounds.hpp -index 1828a24674..999246d9c9 100644 ---- a/boost/geometry/index/detail/algorithms/bounds.hpp -+++ b/boost/geometry/index/detail/algorithms/bounds.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019-2020. --// Modifications copyright (c) 2019-2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,6 +15,11 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_BOUNDS_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_BOUNDS_HPP - -+#include <boost/geometry/algorithms/convert.hpp> -+#include <boost/geometry/algorithms/detail/covered_by/interface.hpp> -+#include <boost/geometry/algorithms/detail/envelope/interface.hpp> -+#include <boost/geometry/algorithms/detail/expand/interface.hpp> -+ - #include <boost/geometry/index/detail/bounded_view.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail -diff --git a/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp b/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp -index c4e44cae18..6afe03eeca 100644 ---- a/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp -+++ b/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,9 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_COMPARABLE_DISTANCE_CENTROID_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_COMPARABLE_DISTANCE_CENTROID_HPP - -+#include <boost/geometry/algorithms/detail/comparable_distance/interface.hpp> -+#include <boost/geometry/core/access.hpp> -+ - #include <boost/geometry/index/detail/algorithms/sum_for_indexable.hpp> - #include <boost/geometry/index/detail/algorithms/diff_abs.hpp> - -diff --git a/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp b/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp -index 214fbf6aaf..102ac545e5 100644 ---- a/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp -+++ b/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,9 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_COMPARABLE_DISTANCE_FAR_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_COMPARABLE_DISTANCE_FAR_HPP - -+#include <boost/geometry/algorithms/detail/comparable_distance/interface.hpp> -+#include <boost/geometry/core/access.hpp> -+ - #include <boost/geometry/index/detail/algorithms/diff_abs.hpp> - #include <boost/geometry/index/detail/algorithms/sum_for_indexable.hpp> - -diff --git a/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp b/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp -index 15368a7d24..4f2905f3a1 100644 ---- a/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp -+++ b/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,9 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_COMPARABLE_DISTANCE_NEAR_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_COMPARABLE_DISTANCE_NEAR_HPP - -+#include <boost/geometry/algorithms/detail/comparable_distance/interface.hpp> -+#include <boost/geometry/core/access.hpp> -+ - #include <boost/geometry/index/detail/algorithms/sum_for_indexable.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail { -diff --git a/boost/geometry/index/detail/algorithms/content.hpp b/boost/geometry/index/detail/algorithms/content.hpp -index 7833ae3776..d698a3208e 100644 ---- a/boost/geometry/index/detail/algorithms/content.hpp -+++ b/boost/geometry/index/detail/algorithms/content.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2020. --// Modifications copyright (c) 2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2020-2021. -+// Modifications copyright (c) 2020-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,7 +15,12 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_CONTENT_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_CONTENT_HPP - -+#include <boost/geometry/core/coordinate_dimension.hpp> -+#include <boost/geometry/core/coordinate_type.hpp> - #include <boost/geometry/core/static_assert.hpp> -+#include <boost/geometry/core/tag.hpp> -+#include <boost/geometry/core/tags.hpp> -+#include <boost/geometry/util/select_most_precise.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail { - -diff --git a/boost/geometry/index/detail/algorithms/intersection_content.hpp b/boost/geometry/index/detail/algorithms/intersection_content.hpp -index 880540bc08..1a2cd28bc0 100644 ---- a/boost/geometry/index/detail/algorithms/intersection_content.hpp -+++ b/boost/geometry/index/detail/algorithms/intersection_content.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2018 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019-2020. --// Modifications copyright (c) 2019-2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -20,6 +20,9 @@ - - #include <boost/geometry/index/detail/algorithms/content.hpp> - -+#include <boost/geometry/strategies/default_strategy.hpp> -+#include <boost/geometry/strategies/disjoint.hpp> -+ - namespace boost { namespace geometry { namespace index { namespace detail { - - // Util to distinguish between default and non-default index strategy -diff --git a/boost/geometry/index/detail/algorithms/is_valid.hpp b/boost/geometry/index/detail/algorithms/is_valid.hpp -index 0d57ed57e8..5cd241c29a 100644 ---- a/boost/geometry/index/detail/algorithms/is_valid.hpp -+++ b/boost/geometry/index/detail/algorithms/is_valid.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2020. --// Modifications copyright (c) 2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2020-2021. -+// Modifications copyright (c) 2020-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -18,6 +18,7 @@ - #include <cstddef> - - #include <boost/geometry/core/access.hpp> -+#include <boost/geometry/core/coordinate_dimension.hpp> - #include <boost/geometry/core/static_assert.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail { -diff --git a/boost/geometry/index/detail/algorithms/margin.hpp b/boost/geometry/index/detail/algorithms/margin.hpp -index 2033f4a531..5a05d3c020 100644 ---- a/boost/geometry/index/detail/algorithms/margin.hpp -+++ b/boost/geometry/index/detail/algorithms/margin.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2020. --// Modifications copyright (c) 2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2020-2021. -+// Modifications copyright (c) 2020-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,7 +15,12 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_MARGIN_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_MARGIN_HPP - -+#include <boost/geometry/core/coordinate_dimension.hpp> -+#include <boost/geometry/core/coordinate_type.hpp> - #include <boost/geometry/core/static_assert.hpp> -+#include <boost/geometry/core/tag.hpp> -+#include <boost/geometry/core/tags.hpp> -+#include <boost/geometry/util/select_most_precise.hpp> - - // WARNING! comparable_margin() will work only if the same Geometries are compared - // so it shouldn't be used in the case of Variants! -diff --git a/boost/geometry/index/detail/algorithms/path_intersection.hpp b/boost/geometry/index/detail/algorithms/path_intersection.hpp -index 4803f59142..ab0860349e 100644 ---- a/boost/geometry/index/detail/algorithms/path_intersection.hpp -+++ b/boost/geometry/index/detail/algorithms/path_intersection.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2017 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2020. --// Modifications copyright (c) 2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2020-2021. -+// Modifications copyright (c) 2020-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -20,6 +20,7 @@ - - #include <boost/geometry/index/detail/algorithms/segment_intersection.hpp> - -+#include <boost/geometry/strategies/default_distance_result.hpp> - #include <boost/geometry/strategies/default_length_result.hpp> - - -diff --git a/boost/geometry/index/detail/algorithms/segment_intersection.hpp b/boost/geometry/index/detail/algorithms/segment_intersection.hpp -index a2717d26ee..674d9f5f89 100644 ---- a/boost/geometry/index/detail/algorithms/segment_intersection.hpp -+++ b/boost/geometry/index/detail/algorithms/segment_intersection.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2020. --// Modifications copyright (c) 2020, Oracle and/or its affiliates. -+// This file was modified by Oracle on 2020-2021. -+// Modifications copyright (c) 2020-2021, Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,9 +15,14 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_SEGMENT_INTERSECTION_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_SEGMENT_INTERSECTION_HPP - -+#include <limits> - #include <type_traits> - -+#include <boost/geometry/core/access.hpp> -+#include <boost/geometry/core/coordinate_dimension.hpp> - #include <boost/geometry/core/static_assert.hpp> -+#include <boost/geometry/core/tag.hpp> -+#include <boost/geometry/core/tags.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail { - -diff --git a/boost/geometry/index/detail/distance_predicates.hpp b/boost/geometry/index/detail/distance_predicates.hpp -index dcd8d12433..69ce456333 100644 ---- a/boost/geometry/index/detail/distance_predicates.hpp -+++ b/boost/geometry/index/detail/distance_predicates.hpp -@@ -5,8 +5,8 @@ - // - // Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019-2020. --// Modifications copyright (c) 2019-2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -22,7 +22,7 @@ - #include <boost/geometry/index/detail/algorithms/comparable_distance_far.hpp> - #include <boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp> - #include <boost/geometry/index/detail/algorithms/path_intersection.hpp> -- -+#include <boost/geometry/index/detail/predicates.hpp> - #include <boost/geometry/index/detail/tags.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail { -diff --git a/boost/geometry/index/detail/predicates.hpp b/boost/geometry/index/detail/predicates.hpp -index 0ae8defe8d..c1a8b73c45 100644 ---- a/boost/geometry/index/detail/predicates.hpp -+++ b/boost/geometry/index/detail/predicates.hpp -@@ -20,9 +20,13 @@ - //#include <utility> - - #include <boost/geometry/core/static_assert.hpp> -+#include <boost/geometry/core/tag.hpp> -+#include <boost/geometry/core/tags.hpp> - - #include <boost/geometry/index/detail/tags.hpp> - -+#include <boost/geometry/strategies/default_strategy.hpp> -+ - namespace boost { namespace geometry { namespace index { namespace detail { - - namespace predicates { -@@ -31,10 +35,10 @@ namespace predicates { - // predicates - // ------------------------------------------------------------------ // - --template <typename Fun, bool IsFunction> -+template <typename Fun, bool IsFunction = std::is_function<Fun>::value> - struct satisfies_impl - { -- satisfies_impl() : fun(NULL) {} -+ satisfies_impl() : fun(nullptr) {} - satisfies_impl(Fun f) : fun(f) {} - Fun * fun; - }; -@@ -42,20 +46,19 @@ struct satisfies_impl - template <typename Fun> - struct satisfies_impl<Fun, false> - { -- satisfies_impl() {} -+ satisfies_impl() = default; - satisfies_impl(Fun const& f) : fun(f) {} - Fun fun; - }; - - template <typename Fun, bool Negated> --struct satisfies -- : satisfies_impl<Fun, ::boost::is_function<Fun>::value> -+struct satisfies : satisfies_impl<Fun> - { -- typedef satisfies_impl<Fun, ::boost::is_function<Fun>::value> base; -+ using base_t = satisfies_impl<Fun>; - -- satisfies() {} -- satisfies(Fun const& f) : base(f) {} -- satisfies(base const& b) : base(b) {} -+ satisfies() = default; -+ satisfies(Fun const& f) : base_t(f) {} -+ satisfies(base_t const& b) : base_t(b) {} - }; - - // ------------------------------------------------------------------ // -diff --git a/boost/geometry/index/detail/rtree/adaptors.hpp b/boost/geometry/index/detail/rtree/adaptors.hpp -index 4e0eb9ba0a..4da3d7b944 100644 ---- a/boost/geometry/index/detail/rtree/adaptors.hpp -+++ b/boost/geometry/index/detail/rtree/adaptors.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,13 +15,13 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_ADAPTORS_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_ADAPTORS_HPP - --#include <deque> --#include <boost/static_assert.hpp> -+#include <vector> - - #include <boost/geometry/index/adaptors/query.hpp> - - namespace boost { namespace geometry { namespace index { - -+// Forward declaration - template <typename Value, typename Options, typename IndexableGetter, typename EqualTo, typename Allocator> - class rtree; - -diff --git a/boost/geometry/index/detail/rtree/iterators.hpp b/boost/geometry/index/detail/rtree/iterators.hpp -index a47dd7ea43..1d5cd1a23c 100644 ---- a/boost/geometry/index/detail/rtree/iterators.hpp -+++ b/boost/geometry/index/detail/rtree/iterators.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,10 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_ITERATORS_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_ITERATORS_HPP - -+#include <iterator> -+ -+#include <boost/geometry/index/detail/rtree/visitors/iterator.hpp> -+ - namespace boost { namespace geometry { namespace index { namespace detail { namespace rtree { namespace iterators { - - template <typename Value, typename Allocators> -diff --git a/boost/geometry/index/detail/rtree/kmeans/kmeans.hpp b/boost/geometry/index/detail/rtree/kmeans/kmeans.hpp -index 3f61482b27..34edcfa7c0 100644 ---- a/boost/geometry/index/detail/rtree/kmeans/kmeans.hpp -+++ b/boost/geometry/index/detail/rtree/kmeans/kmeans.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,6 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_KMEANS_KMEANS_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_KMEANS_KMEANS_HPP - --#include <boost/geometry/index/rtree/kmeans/split.hpp> -+#include <boost/geometry/index/detail/rtree/kmeans/split.hpp> - - #endif // BOOST_GEOMETRY_INDEX_DETAIL_RTREE_KMEANS_KMEANS_HPP -diff --git a/boost/geometry/index/detail/rtree/kmeans/split.hpp b/boost/geometry/index/detail/rtree/kmeans/split.hpp -index f19654972e..aa9dfbba49 100644 ---- a/boost/geometry/index/detail/rtree/kmeans/split.hpp -+++ b/boost/geometry/index/detail/rtree/kmeans/split.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,13 +15,17 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_KMEANS_SPLIT_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_KMEANS_SPLIT_HPP - --#include <boost/geometry/index/rtree/node/node.hpp> --#include <boost/geometry/index/rtree/visitors/insert.hpp> -+#include <boost/geometry/index/detail/rtree/node/concept.hpp> -+#include <boost/geometry/index/detail/rtree/visitors/insert.hpp> - - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { - -+// TODO: This should be defined in options.hpp -+// For now it's defined here to satisfy Boost header policy -+struct split_kmeans_tag {}; -+ - namespace kmeans { - - // some details -@@ -56,25 +64,34 @@ namespace kmeans { - // 4. Pamietac o parametryzacji kontenera z nadmiarowymi elementami - // PS. Z R* reinsertami moze byc masakra - --template <typename Value, typename Options, typename Translator, typename Box, typename Allocators> --class split<Value, Options, Translator, Box, Allocators, split_kmeans_tag> -+template <typename MembersHolder> -+class split<MembersHolder, split_kmeans_tag> - { - protected: -- typedef typename rtree::node<Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type node; -- typedef typename rtree::internal_node<Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type internal_node; -- typedef typename rtree::leaf<Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type leaf; -+ typedef typename MembersHolder::parameters_type parameters_type; -+ typedef typename MembersHolder::box_type box_type; -+ typedef typename MembersHolder::translator_type translator_type; -+ typedef typename MembersHolder::allocators_type allocators_type; -+ typedef typename MembersHolder::size_type size_type; - -- typedef typename Options::parameters_type parameters_type; -+ typedef typename MembersHolder::node node; -+ typedef typename MembersHolder::internal_node internal_node; -+ typedef typename MembersHolder::leaf leaf; - - public: -+ typedef index::detail::varray -+ < -+ typename rtree::elements_type<internal_node>::type::value_type, -+ 1 -+ > nodes_container_type; -+ - template <typename Node> -- static inline void apply(node* & root_node, -- size_t & leafs_level, -+ static inline void apply(nodes_container_type & additional_nodes, - Node & n, -- internal_node *parent_node, -- size_t current_child_index, -- Translator const& tr, -- Allocators & allocators) -+ box_type & n_box, -+ parameters_type const& parameters, -+ translator_type const& translator, -+ allocators_type & allocators) - { - - } -diff --git a/boost/geometry/index/detail/rtree/node/node_elements.hpp b/boost/geometry/index/detail/rtree/node/node_elements.hpp -index 0e5848987e..ca034a8d71 100644 ---- a/boost/geometry/index/detail/rtree/node/node_elements.hpp -+++ b/boost/geometry/index/detail/rtree/node/node_elements.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -15,6 +19,7 @@ - #include <boost/geometry/algorithms/detail/expand_by_epsilon.hpp> - #include <boost/geometry/index/detail/varray.hpp> - #include <boost/geometry/index/detail/rtree/node/pairs.hpp> -+#include <boost/geometry/index/detail/translator.hpp> - - namespace boost { namespace geometry { namespace index { - -diff --git a/boost/geometry/index/detail/rtree/node/scoped_deallocator.hpp b/boost/geometry/index/detail/rtree/node/scoped_deallocator.hpp -index 0062402d45..a63aad8841 100644 ---- a/boost/geometry/index/detail/rtree/node/scoped_deallocator.hpp -+++ b/boost/geometry/index/detail/rtree/node/scoped_deallocator.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2018 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,8 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_SCOPED_DEALLOCATOR_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_SCOPED_DEALLOCATOR_HPP - -+#include <boost/container/allocator_traits.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { -diff --git a/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp b/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp -index 52b253ccf6..95c7096168 100644 ---- a/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp -+++ b/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2018 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,7 +15,14 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_VARIANT_DYNAMIC_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_VARIANT_DYNAMIC_HPP - --#include <boost/core/pointer_traits.hpp> -+#include <boost/container/allocator_traits.hpp> -+#include <boost/container/vector.hpp> -+#include <boost/variant/static_visitor.hpp> -+#include <boost/variant/variant.hpp> -+ -+#include <boost/geometry/index/detail/rtree/options.hpp> -+#include <boost/geometry/index/detail/rtree/node/concept.hpp> -+#include <boost/geometry/index/detail/rtree/node/pairs.hpp> - - namespace boost { namespace geometry { namespace index { - -diff --git a/boost/geometry/index/detail/rtree/node/variant_static.hpp b/boost/geometry/index/detail/rtree/node/variant_static.hpp -index c30998d683..624ce472e4 100644 ---- a/boost/geometry/index/detail/rtree/node/variant_static.hpp -+++ b/boost/geometry/index/detail/rtree/node/variant_static.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2018 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,9 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_VARIANT_STATIC_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_VARIANT_STATIC_HPP - -+#include <boost/geometry/index/detail/rtree/node/variant_dynamic.hpp> -+#include <boost/geometry/index/detail/varray.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { -diff --git a/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp b/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp -index eadda62a9d..1e96ed9180 100644 ---- a/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp -+++ b/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2018 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,10 +15,23 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_WEAK_DYNAMIC_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_WEAK_DYNAMIC_HPP - -+#include <boost/container/allocator_traits.hpp> -+#include <boost/container/vector.hpp> -+ -+#include <boost/geometry/index/detail/rtree/options.hpp> -+#include <boost/geometry/index/detail/rtree/node/concept.hpp> -+#include <boost/geometry/index/detail/rtree/node/pairs.hpp> -+#include <boost/geometry/index/detail/rtree/node/weak_visitor.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { - -+// TODO: This should be defined in options.hpp -+// For now it's defined here to satisfy Boost header policy -+struct node_weak_dynamic_tag {}; -+struct node_weak_static_tag {}; -+ - template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag> - struct weak_internal_node - : public weak_node<Value, Parameters, Box, Allocators, Tag> -@@ -87,7 +104,7 @@ struct visitor<Value, Parameters, Box, Allocators, node_weak_dynamic_tag, IsVisi - template <typename Allocator, typename Value, typename Parameters, typename Box, typename Tag> - struct internal_node_alloc - { -- typedef typename internal_nod -+ typedef typename internal_node - < - Value, Parameters, Box, - allocators<Allocator, Value, Parameters, Box, Tag>, -@@ -116,6 +133,22 @@ struct leaf_alloc - >::template rebind_alloc<node_type> type; - }; - -+template <typename Allocator, typename Value, typename Parameters, typename Box, typename Tag> -+struct node_alloc -+{ -+ typedef typename weak_node -+ < -+ Value, Parameters, Box, -+ allocators<Allocator, Value, Parameters, Box, Tag>, -+ Tag -+ >::type node_type; -+ -+ typedef typename ::boost::container::allocator_traits -+ < -+ Allocator -+ >::template rebind_alloc<node_type> type; -+}; -+ - template <typename Allocator, typename Value, typename Parameters, typename Box> - class allocators<Allocator, Value, Parameters, Box, node_weak_dynamic_tag> - : public internal_node_alloc<Allocator, Value, Parameters, Box, node_weak_dynamic_tag>::type -diff --git a/boost/geometry/index/detail/rtree/node/weak_static.hpp b/boost/geometry/index/detail/rtree/node/weak_static.hpp -index ac9e69cecc..65b80266d4 100644 ---- a/boost/geometry/index/detail/rtree/node/weak_static.hpp -+++ b/boost/geometry/index/detail/rtree/node/weak_static.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2018 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,9 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_WEAK_STATIC_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_WEAK_STATIC_HPP - -+#include <boost/geometry/index/detail/rtree/node/weak_dynamic.hpp> -+#include <boost/geometry/index/detail/varray.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { -diff --git a/boost/geometry/index/detail/rtree/node/weak_visitor.hpp b/boost/geometry/index/detail/rtree/node/weak_visitor.hpp -index 08d84778e6..a6beaf0905 100644 ---- a/boost/geometry/index/detail/rtree/node/weak_visitor.hpp -+++ b/boost/geometry/index/detail/rtree/node/weak_visitor.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,8 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_WEAK_VISITOR_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_WEAK_VISITOR_HPP - -+#include <boost/geometry/index/detail/assert.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { -diff --git a/boost/geometry/index/detail/rtree/pack_create.hpp b/boost/geometry/index/detail/rtree/pack_create.hpp -index 4cfd39669d..6a8ffe6aae 100644 ---- a/boost/geometry/index/detail/rtree/pack_create.hpp -+++ b/boost/geometry/index/detail/rtree/pack_create.hpp -@@ -5,8 +5,8 @@ - // Copyright (c) 2011-2017 Adam Wulkiewicz, Lodz, Poland. - // Copyright (c) 2020 Caian Benedicto, Campinas, Brazil. - // --// This file was modified by Oracle on 2019. --// Modifications copyright (c) 2019 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -18,12 +18,15 @@ - - #include <boost/core/ignore_unused.hpp> - -+#include <boost/geometry/algorithms/detail/expand_by_epsilon.hpp> - #include <boost/geometry/algorithms/expand.hpp> -+ -+#include <boost/geometry/index/detail/algorithms/content.hpp> - #include <boost/geometry/index/detail/algorithms/bounds.hpp> - #include <boost/geometry/index/detail/algorithms/nth_element.hpp> -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> - #include <boost/geometry/index/detail/rtree/node/subtree_destroyer.hpp> -- --#include <boost/geometry/algorithms/detail/expand_by_epsilon.hpp> -+#include <boost/geometry/index/parameters.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail { namespace rtree { - -diff --git a/boost/geometry/index/detail/rtree/query_iterators.hpp b/boost/geometry/index/detail/rtree/query_iterators.hpp -index 8822bcf04f..3ca0bafdf4 100644 ---- a/boost/geometry/index/detail/rtree/query_iterators.hpp -+++ b/boost/geometry/index/detail/rtree/query_iterators.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019. --// Modifications copyright (c) 2019 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -17,6 +17,10 @@ - - #include <boost/scoped_ptr.hpp> - -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> -+#include <boost/geometry/index/detail/rtree/visitors/distance_query.hpp> -+#include <boost/geometry/index/detail/rtree/visitors/spatial_query.hpp> -+ - //#define BOOST_GEOMETRY_INDEX_DETAIL_QUERY_ITERATORS_USE_MOVE - - namespace boost { namespace geometry { namespace index { namespace detail { namespace rtree { namespace iterators { -diff --git a/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp b/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp -index 7ba5f0f996..4ea9060f83 100644 ---- a/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp -+++ b/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2019 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019. --// Modifications copyright (c) 2019 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -27,6 +27,8 @@ - #include <boost/geometry/index/detail/algorithms/union_content.hpp> - - #include <boost/geometry/index/detail/rtree/node/node.hpp> -+#include <boost/geometry/index/detail/rtree/options.hpp> -+#include <boost/geometry/index/detail/rtree/visitors/insert.hpp> - #include <boost/geometry/index/detail/rtree/visitors/is_leaf.hpp> - - namespace boost { namespace geometry { namespace index { -diff --git a/boost/geometry/index/detail/rtree/rstar/insert.hpp b/boost/geometry/index/detail/rtree/rstar/insert.hpp -index 8517b7f1b0..ce830007ac 100644 ---- a/boost/geometry/index/detail/rtree/rstar/insert.hpp -+++ b/boost/geometry/index/detail/rtree/rstar/insert.hpp -@@ -19,7 +19,12 @@ - - #include <boost/core/ignore_unused.hpp> - -+#include <boost/geometry/algorithms/detail/comparable_distance/interface.hpp> -+ - #include <boost/geometry/index/detail/algorithms/content.hpp> -+#include <boost/geometry/index/detail/rtree/node/concept.hpp> -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> -+#include <boost/geometry/index/detail/rtree/visitors/insert.hpp> - - namespace boost { namespace geometry { namespace index { - -diff --git a/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp b/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp -index bdabebf225..44933dac49 100644 ---- a/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp -+++ b/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019-2020. --// Modifications copyright (c) 2019-2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,7 +15,16 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_UTILITIES_GL_DRAW_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_UTILITIES_GL_DRAW_HPP - -+#include <limits> -+ -+#include <boost/geometry/core/access.hpp> -+#include <boost/geometry/core/coordinate_dimension.hpp> -+#include <boost/geometry/core/coordinate_type.hpp> - #include <boost/geometry/core/static_assert.hpp> -+#include <boost/geometry/core/tag.hpp> -+#include <boost/geometry/core/tags.hpp> -+ -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail { - -diff --git a/boost/geometry/index/detail/rtree/utilities/print.hpp b/boost/geometry/index/detail/rtree/utilities/print.hpp -index 2ed71a6b85..15d618eb6f 100644 ---- a/boost/geometry/index/detail/rtree/utilities/print.hpp -+++ b/boost/geometry/index/detail/rtree/utilities/print.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019-2020. --// Modifications copyright (c) 2019-2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -17,7 +17,11 @@ - - #include <iostream> - -+#include <boost/geometry/core/access.hpp> -+#include <boost/geometry/core/coordinate_dimension.hpp> - #include <boost/geometry/core/static_assert.hpp> -+#include <boost/geometry/core/tag.hpp> -+#include <boost/geometry/core/tags.hpp> - - namespace boost { namespace geometry { namespace index { namespace detail { - -diff --git a/boost/geometry/index/detail/rtree/visitors/distance_query.hpp b/boost/geometry/index/detail/rtree/visitors/distance_query.hpp -index a40dbfe842..ede7b346ee 100644 ---- a/boost/geometry/index/detail/rtree/visitors/distance_query.hpp -+++ b/boost/geometry/index/detail/rtree/visitors/distance_query.hpp -@@ -15,6 +15,12 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_VISITORS_DISTANCE_QUERY_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_VISITORS_DISTANCE_QUERY_HPP - -+#include <boost/geometry/index/detail/distance_predicates.hpp> -+#include <boost/geometry/index/detail/predicates.hpp> -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> -+#include <boost/geometry/index/detail/translator.hpp> -+#include <boost/geometry/index/parameters.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { namespace visitors { -diff --git a/boost/geometry/index/detail/rtree/visitors/insert.hpp b/boost/geometry/index/detail/rtree/visitors/insert.hpp -index 8b32c81763..5d158bc7d2 100644 ---- a/boost/geometry/index/detail/rtree/visitors/insert.hpp -+++ b/boost/geometry/index/detail/rtree/visitors/insert.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019-2020. --// Modifications copyright (c) 2019-2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -21,12 +21,14 @@ - - #include <boost/geometry/algorithms/detail/expand_by_epsilon.hpp> - #include <boost/geometry/core/static_assert.hpp> --#include <boost/geometry/util/condition.hpp> - - #include <boost/geometry/index/detail/algorithms/bounds.hpp> - #include <boost/geometry/index/detail/algorithms/content.hpp> -- -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> - #include <boost/geometry/index/detail/rtree/node/subtree_destroyer.hpp> -+#include <boost/geometry/index/detail/rtree/options.hpp> -+ -+#include <boost/geometry/util/condition.hpp> - - namespace boost { namespace geometry { namespace index { - -diff --git a/boost/geometry/index/detail/rtree/visitors/iterator.hpp b/boost/geometry/index/detail/rtree/visitors/iterator.hpp -index 621231ae9a..71127dcbe2 100644 ---- a/boost/geometry/index/detail/rtree/visitors/iterator.hpp -+++ b/boost/geometry/index/detail/rtree/visitors/iterator.hpp -@@ -4,6 +4,10 @@ - // - // Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -11,6 +15,9 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_VISITORS_ITERATOR_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_VISITORS_ITERATOR_HPP - -+#include <boost/geometry/index/detail/rtree/node/concept.hpp> -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { namespace visitors { -diff --git a/boost/geometry/index/detail/rtree/visitors/remove.hpp b/boost/geometry/index/detail/rtree/visitors/remove.hpp -index 59f486163d..7cdbb0344b 100644 ---- a/boost/geometry/index/detail/rtree/visitors/remove.hpp -+++ b/boost/geometry/index/detail/rtree/visitors/remove.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2017 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019. --// Modifications copyright (c) 2019 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,11 +15,13 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_VISITORS_REMOVE_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_VISITORS_REMOVE_HPP - -+#include <boost/geometry/algorithms/detail/covered_by/interface.hpp> -+ -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> -+#include <boost/geometry/index/detail/rtree/node/subtree_destroyer.hpp> - #include <boost/geometry/index/detail/rtree/visitors/destroy.hpp> - #include <boost/geometry/index/detail/rtree/visitors/is_leaf.hpp> - --#include <boost/geometry/algorithms/detail/covered_by/interface.hpp> -- - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { namespace visitors { -diff --git a/boost/geometry/index/detail/rtree/visitors/spatial_query.hpp b/boost/geometry/index/detail/rtree/visitors/spatial_query.hpp -index f0d30162ce..5f2c07ea29 100644 ---- a/boost/geometry/index/detail/rtree/visitors/spatial_query.hpp -+++ b/boost/geometry/index/detail/rtree/visitors/spatial_query.hpp -@@ -15,6 +15,10 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_VISITORS_SPATIAL_QUERY_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_VISITORS_SPATIAL_QUERY_HPP - -+#include <boost/geometry/index/detail/rtree/node/node_elements.hpp> -+#include <boost/geometry/index/detail/predicates.hpp> -+#include <boost/geometry/index/parameters.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { namespace rtree { namespace visitors { -diff --git a/boost/geometry/index/detail/serialization.hpp b/boost/geometry/index/detail/serialization.hpp -index 71902d19f7..909c38e3c8 100644 ---- a/boost/geometry/index/detail/serialization.hpp -+++ b/boost/geometry/index/detail/serialization.hpp -@@ -2,6 +2,10 @@ - // - // Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. - // -+// This file was modified by Oracle on 2021. -+// Modifications copyright (c) 2021 Oracle and/or its affiliates. -+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -+// - // Use, modification and distribution is subject to the Boost Software License, - // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) -@@ -9,11 +13,21 @@ - #ifndef BOOST_GEOMETRY_INDEX_DETAIL_SERIALIZATION_HPP - #define BOOST_GEOMETRY_INDEX_DETAIL_SERIALIZATION_HPP - -+#include <boost/type_traits/alignment_of.hpp> -+#include <boost/type_traits/aligned_storage.hpp> -+ - //#include <boost/serialization/serialization.hpp> - #include <boost/serialization/split_member.hpp> - #include <boost/serialization/version.hpp> - //#include <boost/serialization/nvp.hpp> - -+#include <boost/geometry/geometries/point.hpp> -+#include <boost/geometry/geometries/box.hpp> -+ -+#include <boost/geometry/index/parameters.hpp> -+#include <boost/geometry/index/detail/rtree/node/concept.hpp> -+#include <boost/geometry/index/detail/rtree/node/subtree_destroyer.hpp> -+ - // TODO - // how about using the unsigned type capable of storing Max in compile-time versions? - -@@ -26,7 +40,13 @@ - // each geometry save without this info - - // TODO - move to index/detail/serialization.hpp --namespace boost { namespace geometry { namespace index { namespace detail { -+namespace boost { namespace geometry { namespace index { -+ -+// Forward declaration -+template <typename Value, typename Options, typename IndexableGetter, typename EqualTo, typename Allocator> -+class rtree; -+ -+namespace detail { - - // TODO - use boost::move? - template<typename T> -diff --git a/boost/geometry/index/detail/translator.hpp b/boost/geometry/index/detail/translator.hpp -index 34960d2268..900be6e73d 100644 ---- a/boost/geometry/index/detail/translator.hpp -+++ b/boost/geometry/index/detail/translator.hpp -@@ -2,8 +2,8 @@ - // - // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019-2020. --// Modifications copyright (c) 2019-2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,6 +15,8 @@ - - #include <type_traits> - -+#include <boost/geometry/strategies/default_strategy.hpp> -+ - namespace boost { namespace geometry { namespace index { - - namespace detail { -diff --git a/boost/geometry/index/parameters.hpp b/boost/geometry/index/parameters.hpp -index fdaef9284b..477518866e 100644 ---- a/boost/geometry/index/parameters.hpp -+++ b/boost/geometry/index/parameters.hpp -@@ -4,8 +4,8 @@ - // - // Copyright (c) 2011-2017 Adam Wulkiewicz, Lodz, Poland. - // --// This file was modified by Oracle on 2019-2020. --// Modifications copyright (c) 2019-2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2019-2021. -+// Modifications copyright (c) 2019-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - // - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,13 +15,13 @@ - #ifndef BOOST_GEOMETRY_INDEX_PARAMETERS_HPP - #define BOOST_GEOMETRY_INDEX_PARAMETERS_HPP - -- - #include <limits> - - #include <boost/geometry/core/static_assert.hpp> - - #include <boost/geometry/index/detail/exception.hpp> - -+#include <boost/geometry/strategies/default_strategy.hpp> - - namespace boost { namespace geometry { namespace index { - -diff --git a/boost/geometry/strategies/distance/comparable.hpp b/boost/geometry/strategies/distance/comparable.hpp -index 34a828cfe2..3a6d8300be 100644 ---- a/boost/geometry/strategies/distance/comparable.hpp -+++ b/boost/geometry/strategies/distance/comparable.hpp -@@ -14,6 +14,8 @@ - #include <boost/geometry/core/cs.hpp> - #include <boost/geometry/core/static_assert.hpp> - -+#include <boost/geometry/strategies/distance.hpp> -+ - - namespace boost { namespace geometry - { -diff --git a/boost/geometry/strategies/distance/services.hpp b/boost/geometry/strategies/distance/services.hpp -index 4ac35c6dd2..5ce3cd98ba 100644 ---- a/boost/geometry/strategies/distance/services.hpp -+++ b/boost/geometry/strategies/distance/services.hpp -@@ -14,6 +14,8 @@ - #include <boost/geometry/core/cs.hpp> - #include <boost/geometry/core/static_assert.hpp> - -+#include <boost/geometry/strategies/detail.hpp> -+ - - namespace boost { namespace geometry - { -diff --git a/boost/geometry/strategies/geographic/buffer_point_circle.hpp b/boost/geometry/strategies/geographic/buffer_point_circle.hpp -index 8d6643d73d..d9efba917d 100644 ---- a/boost/geometry/strategies/geographic/buffer_point_circle.hpp -+++ b/boost/geometry/strategies/geographic/buffer_point_circle.hpp -@@ -2,8 +2,8 @@ - - // Copyright (c) 2018-2019 Barend Gehrels, Amsterdam, the Netherlands. - --// This file was modified by Oracle on 2020. --// Modifications copyright (c) 2020 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2020-2021. -+// Modifications copyright (c) 2020-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - - // Use, modification and distribution is subject to the Boost Software License, -@@ -17,12 +17,12 @@ - - #include <boost/range/value_type.hpp> - -+#include <boost/geometry/srs/spheroid.hpp> -+#include <boost/geometry/strategies/buffer.hpp> -+#include <boost/geometry/strategies/geographic/parameters.hpp> - #include <boost/geometry/util/math.hpp> - #include <boost/geometry/util/select_calculation_type.hpp> - --#include <boost/geometry/strategies/buffer.hpp> -- -- - namespace boost { namespace geometry - { - -diff --git a/boost/geometry/strategies/intersection_result.hpp b/boost/geometry/strategies/intersection_result.hpp -index 4b5aa1c46b..94aae51d8e 100644 ---- a/boost/geometry/strategies/intersection_result.hpp -+++ b/boost/geometry/strategies/intersection_result.hpp -@@ -2,8 +2,8 @@ - - // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. - --// This file was modified by Oracle on 2015, 2016. --// Modifications copyright (c) 2015-2016 Oracle and/or its affiliates. -+// This file was modified by Oracle on 2015-2021. -+// Modifications copyright (c) 2015-2021 Oracle and/or its affiliates. - // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - - // Use, modification and distribution is subject to the Boost Software License, -@@ -15,9 +15,9 @@ - - #include <cstddef> - -+#include <boost/geometry/core/coordinate_type.hpp> - #include <boost/geometry/policies/robustness/segment_ratio.hpp> - -- - namespace boost { namespace geometry - { - -diff --git a/boost/geometry/strategies/relate/geographic.hpp b/boost/geometry/strategies/relate/geographic.hpp -index 60c6b9e585..4f556e953b 100644 ---- a/boost/geometry/strategies/relate/geographic.hpp -+++ b/boost/geometry/strategies/relate/geographic.hpp -@@ -13,6 +13,7 @@ - - // TEMP - move to strategy - #include <boost/geometry/strategies/agnostic/point_in_box_by_side.hpp> -+#include <boost/geometry/strategies/cartesian/box_in_box.hpp> - #include <boost/geometry/strategies/geographic/intersection.hpp> - #include <boost/geometry/strategies/geographic/point_in_poly_winding.hpp> - #include <boost/geometry/strategies/spherical/point_in_point.hpp> -diff --git a/boost/geometry/strategies/simplify/spherical.hpp b/boost/geometry/strategies/simplify/spherical.hpp -index 0858087f38..4ff51b38cb 100644 ---- a/boost/geometry/strategies/simplify/spherical.hpp -+++ b/boost/geometry/strategies/simplify/spherical.hpp -@@ -12,6 +12,7 @@ - - - #include <boost/geometry/strategies/detail.hpp> -+#include <boost/geometry/strategies/distance/comparable.hpp> - #include <boost/geometry/strategies/distance/detail.hpp> - #include <boost/geometry/strategies/simplify/services.hpp> - -From 3dbd2247b63613f68ed4feebb5f5ba390d021b39 Mon Sep 17 00:00:00 2001 -From: Adam Wulkiewicz <adam.wulkiewicz@gmail.com> -Date: Mon, 23 Aug 2021 00:32:03 +0200 -Subject: [PATCH] [index] Add missing includes. - ---- - .../boost/geometry/index/detail/rtree/node/variant_dynamic.hpp | 1 + - include/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp b/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp -index 95c7096168..e871e6f192 100644 ---- a/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp -+++ b/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp -@@ -17,6 +17,7 @@ - - #include <boost/container/allocator_traits.hpp> - #include <boost/container/vector.hpp> -+#include <boost/core/pointer_traits.hpp> - #include <boost/variant/static_visitor.hpp> - #include <boost/variant/variant.hpp> - -diff --git a/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp b/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp -index 1e96ed9180..9a3220183f 100644 ---- a/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp -+++ b/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp -@@ -17,6 +17,7 @@ - - #include <boost/container/allocator_traits.hpp> - #include <boost/container/vector.hpp> -+#include <boost/core/pointer_traits.hpp> - - #include <boost/geometry/index/detail/rtree/options.hpp> - #include <boost/geometry/index/detail/rtree/node/concept.hpp> diff --git a/main/boost1.77/boost-1.77-math-deprecated-include.patch b/main/boost1.77/boost-1.77-math-deprecated-include.patch deleted file mode 100644 index dfb8bb9133..0000000000 --- a/main/boost1.77/boost-1.77-math-deprecated-include.patch +++ /dev/null @@ -1,40 +0,0 @@ -Patch-Source: https://github.com/boostorg/math/commit/720536a08e4e33639869e1b7a99d9ec923409c0b -https://github.com/boostorg/math/issues/675 -https://github.com/boostorg/math/pull/676 - -From 720536a08e4e33639869e1b7a99d9ec923409c0b Mon Sep 17 00:00:00 2001 -From: Matt Borland <matt@mattborland.com> -Date: Mon, 23 Aug 2021 17:48:28 +0300 -Subject: [PATCH] Fix for issue 675 (#676) - ---- a/boost/math/tools/header_deprecated.hpp -+++ a/boost/math/tools/header_deprecated.hpp -@@ -6,12 +6,22 @@ - #ifndef BOOST_MATH_TOOLS_HEADER_DEPRECATED - #define BOOST_MATH_TOOLS_HEADER_DEPRECATED - --#ifdef _MSC_VER --// Expands to "This header is deprecated; use expr instead." --#define BOOST_MATH_HEADER_DEPRECATED(expr) __pragma("This header is deprecated; use " expr " instead.") --#else // GNU, Clang, Intel, IBM, etc. -+#ifndef BOOST_MATH_STANDALONE -+ -+# include <boost/config/header_deprecated.hpp> -+# define BOOST_MATH_HEADER_DEPRECATED(expr) BOOST_HEADER_DEPRECATED(expr) -+ -+#else -+ -+# ifdef _MSC_VER - // Expands to "This header is deprecated; use expr instead." --#define BOOST_MATH_HEADER_DEPRECATED(expr) _Pragma("This header is deprecated; use " expr " instead.") --#endif -+# define BOOST_MATH_HEADER_DEPRECATED(expr) __pragma("This header is deprecated; use " expr " instead.") -+# else // GNU, Clang, Intel, IBM, etc. -+// Expands to "This header is deprecated use expr instead" -+# define BOOST_MATH_HEADER_DEPRECATED_MESSAGE(expr) _Pragma(#expr) -+# define BOOST_MATH_HEADER_DEPRECATED(expr) BOOST_MATH_HEADER_DEPRECATED_MESSAGE(message "This header is deprecated use " expr " instead") -+# endif -+ -+#endif // BOOST_MATH_STANDALONE - - #endif // BOOST_MATH_TOOLS_HEADER_DEPRECATED diff --git a/main/boost1.77/python-3.10.patch b/main/boost1.77/python-3.10.patch deleted file mode 100644 index 2e1d5e3431..0000000000 --- a/main/boost1.77/python-3.10.patch +++ /dev/null @@ -1,49 +0,0 @@ -From e193f080c7d209516ac9b712fa0c50bb08026fa2 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <martin.jansa@lge.com> -Date: Tue, 19 Oct 2021 12:24:31 +0000 -Subject: [PATCH] BoostConfig.cmake: allow searching for python310 - -* accept double digits in Python3_VERSION_MINOR - -* if someone is using e.g.: - find_package(Python3 REQUIRED) - find_package(Boost REQUIRED python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}) - - with python-3.10 then it currently fails with: - - -- Found PythonLibs: /usr/lib/libpython3.10.so (found version "3.10.0") - -- Found Python3: -native/usr/bin/python3-native/python3 (found version "3.10.0") found components: Interpreter - CMake Error at /usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:141 (find_package): - Could not find a package configuration file provided by "boost_python310" - (requested version 1.77.0) with any of the following names: - - boost_python310Config.cmake - boost_python310-config.cmake - - Add the installation prefix of "boost_python310" to CMAKE_PREFIX_PATH or - set "boost_python310_DIR" to a directory containing one of the above files. - If "boost_python310" provides a separate development package or SDK, be - sure it has been installed. - Call Stack (most recent call first): - /usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:258 (boost_find_component) - /usr/share/cmake-3.21/Modules/FindBoost.cmake:594 (find_package) - CMakeLists.txt:18 (find_package) - -Signed-off-by: Martin Jansa <martin.jansa@lge.com> ---- - BoostConfig.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/BoostConfig.cmake b/BoostConfig.cmake -index fd17821..5dffa58 100644 ---- a/tools/boost_install/BoostConfig.cmake -+++ b/tools/boost_install/BoostConfig.cmake -@@ -113,7 +113,7 @@ macro(boost_find_component comp required quiet) - set(_BOOST_REQUIRED REQUIRED) - endif() - -- if("${comp}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9])$") -+ if("${comp}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9][0-9]?)$") - - # handle pythonXY and numpyXY versioned components for compatibility - 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.77/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.77/0001-revert-cease-dependence-on-range.patch +++ b/main/boost1.79/0001-revert-cease-dependence-on-range.patch diff --git a/main/boost1.77/APKBUILD b/main/boost1.79/APKBUILD index d4bdaa1852..d3798166a7 100644 --- a/main/boost1.77/APKBUILD +++ b/main/boost1.79/APKBUILD @@ -1,8 +1,8 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> -pkgname=boost1.77 -pkgver=1.77.0 +pkgname=boost1.79 +pkgver=1.79.0 _pkgver="${pkgver//./_}" -pkgrel=7 +pkgrel=2 pkgdesc="Free peer-reviewed portable C++ source libraries" url="https://www.boost.org/" arch="all" @@ -19,9 +19,7 @@ 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 - python-3.10.patch - boost-1.77-math-deprecated-include.patch - boost-1.77-geometry.patch + boost-1.79.0-fix-segfault-in-array-erase.patch " builddir="$srcdir/boost_$_pkgver" @@ -68,16 +66,15 @@ done; unset -v _lib subpackages="$subpackages $pkgname-libs" _set_options() { - [ -n "$PY3_VERSION" ] || PY3_VERSION="$(_pyversion python3)" - - local _options_python="${PY2_VERSION:+$PY2_VERSION,}$PY3_VERSION" - [ -z "$_options_python" ] || _options_python="python=$_options_python" + local _python="$(_pyversion python3)" + export PY3_VERSION="$_python" + export BOOST_ROOT="$builddir" _options=" --user-config=\"$builddir/user-config.jam\" --prefix=\"$pkgdir/usr\" - release - $_options_python + variant=release + python=$PY3_VERSION toolset=gcc debug-symbols=off threading=multi @@ -87,27 +84,26 @@ _set_options() { --layout=system -q -j${JOBS:-2} - $_options_carch " } 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:+$PY3_VERSION }: /usr/bin/python3 : ${PY3_VERSION:+/usr/include/python${PY3_VERSION}$abiflags }: : : : ${abiflags:+$abiflags }; + using python : $PY3_VERSION : /usr/bin/python3 : /usr/include/python${PY3_VERSION}$abiflags : : : : $abiflags ; __EOF__ } build() { - export BOOST_ROOT="$builddir" + _set_options msg "Building bjam" cd "$builddir"/$_enginedir @@ -119,7 +115,7 @@ build() { msg "Building boost" cd "$builddir" - _set_options + "$_bjam" $_options } @@ -130,7 +126,6 @@ check() { } package() { - export BOOST_ROOT="$builddir" _set_options install -Dm755 "$_bjam" \ @@ -152,8 +147,7 @@ static() { pkgdesc="Boost static libraries" depends="$depends_static" - mkdir -p "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/lib*.a "$subpkgdir"/usr/lib/ + amove usr/lib/lib*.a } _boostlib() { @@ -161,8 +155,7 @@ _boostlib() { pkgdesc="Boost $name shared library" depends="$depends__boostlib" - mkdir -p "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libboost_$name*.so.[0-9]* "$subpkgdir"/usr/lib/ + amove usr/lib/libboost_$name*.so.[0-9]* } libs() { @@ -180,16 +173,22 @@ libs() { 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=" -39b45c9b60bc5a2a4c669a4463d1272c1e093376b2fb374d7f20a84ea10a3e23bb04b335a735a83a04575731f874d9bff77e89acd947524b3fbbae1b26ae1f2f boost_1_77_0.tar.bz2 +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 -1d84ee5fecd7a8c2491b997fa1b9031195642c8d4946bb391f5a52c84f1fefd2cf4bb64a90601cbbd4fa1795d7a86f8cf78f4124fdbb1619b07ed31aa20e00bf python-3.10.patch -1bd75f21cfb3647051a72342d70a6334fd56ac04006fa9fb88b54fdc123da95389de5f2aaa707d0efa8167e049da5706784f3b1d6f79e927ebf989decaecfdf5 boost-1.77-math-deprecated-include.patch -a40fe0e727559175a76bb81f122cfec3090b5205638a851e6346e440b6a1aa84175d52003e766673b13c143d45d3dad9aa36a5e5ca89448217b43a145347244d boost-1.77-geometry.patch +17db69e7b41665b2fae5630aa5edf15f0b8d00aa04e8597b198eb4f530793e8227d0234ceb9c8a9859fac3a4ceb5b9eb51721329b91497a422d4ff579739b964 boost-1.79.0-fix-segfault-in-array-erase.patch " diff --git a/main/boost1.77/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.77/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.77/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.77/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.78/0001-revert-cease-dependence-on-range.patch b/main/boost1.80/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.80/0001-revert-cease-dependence-on-range.patch 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.78/boost-1.57.0-python-abi_letters.patch b/main/boost1.80/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.80/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.80/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.80/boost-1.57.0-python-libpython_dep.patch 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 69402d852f..3c9015ea97 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.17 +pkgver=5.19 pkgrel=0 pkgdesc="BTRFS filesystem utilities" url="https://btrfs.wiki.kernel.org" @@ -75,19 +75,16 @@ py3() { provides="py-btrfs-progs=$pkgver-r$pkgrel" # for backward compatibility replaces="py-btrfs-progs" # for backward compatibility - mkdir -p "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/ + amove usr/lib/python* } extra() { depends="$pkgname" pkgdesc="BTRFS filesystem extra utilities" - mkdir -p "$subpkgdir" - mv "$pkgdir"/usr "$subpkgdir"/ - rmdir "$subpkgdir"/usr/lib + amove usr/sbin } sha512sums=" -4c2bfafe0fcae47f01bad41910c2e2b3d48a12b88ca1891a9ea63ac1e65699c2e22f481492c7dd11fbea546647ab78718ab9b6997bb257fc29d1482fde9b08d1 btrfs-progs-v5.17.tar.xz +c585e7027255d5a9721fb688ec353e24f0828322df4adea6eef6a7fe8d0bbd1bfb225d28480dcb3d47a78f3295479a723e4d4a72bfc64e6bf73a71c7d989fcb6 btrfs-progs-v5.19.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..0618751fb1 100644 --- a/main/cifs-utils/APKBUILD +++ b/main/cifs-utils/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Francesco Colista <fcolista@alpinelinux.org> # Maintainer: Francesco Colista <fcolista@alpinelinux.org> pkgname=cifs-utils -pkgver=6.15 +pkgver=7.0 pkgrel=0 pkgdesc="CIFS filesystem user-space tools" url="https://wiki.samba.org/index.php/LinuxCIFS_utils" @@ -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 @@ -45,7 +50,7 @@ package() { } sha512sums=" -eedb8066563db584595a8ba7cb7a603e6b763ac2c1261430d605c327fcc5a831acd48b58ea55dd243af778dfdc827ab8c6daf4015764ff550dcffc2182773510 cifs-utils-6.15.tar.bz2 +4c57741af0c4567a78f352c73caca998881666a5ed36536275cfa775efd66ff1a44ebe539a8ed96c409c5b08a1378266964ce667a27e9fc7f2d43999c63dd0eb cifs-utils-7.0.tar.bz2 99a2fab05bc2f14a600f89526ae0ed2c183cfa179fe386cb327075f710aee3aed5ae823f7c2f51913d1217c2371990d6d4609fdb8d80288bd3a6139df3c8aebe musl-fix-includes.patch 2a9366ec1ddb0389c535d2fa889f63287cb8374535a47232de102c7e50b6874f67a3d5ef3318df23733300fd8459c7ec4b11f3211508aca7800b756119308e98 xattr_size_max.patch " 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 b0991da60e..835edfd93e 100644 --- a/main/cmake/APKBUILD +++ b/main/cmake/APKBUILD @@ -1,35 +1,36 @@ # Contributor: Valery Kartel <valery.kartel@gmail.com> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=cmake -pkgver=3.23.1 -pkgrel=0 +pkgver=3.24.1 +pkgrel=1 pkgdesc="Cross-platform, open-source make system" url="https://www.cmake.org/" arch="all" license="BSD-3-Clause" -makedepends="bzip2-dev curl-dev expat-dev libarchive-dev linux-headers - libuv-dev ncurses-dev rhash-dev xz-dev zlib-dev py3-sphinx" -options="!check" +makedepends=" + bzip2-dev + curl-dev + expat-dev + libarchive-dev + libuv-dev + linux-headers + ncurses-dev + py3-sphinx + rhash-dev + xz-dev + zlib-dev + " checkdepends="file musl-utils" -subpackages="$pkgname-doc $pkgname-bash-completion +subpackages=" + $pkgname-doc + $pkgname-bash-completion " case $pkgver in *.*.*.*) _v=v${pkgver%.*.*};; *.*.*) _v=v${pkgver%.*};; esac - -source="https://www.cmake.org/files/$_v/cmake-$pkgver.tar.gz - " - -_parallel_opt() { - local i n - for i in $MAKEOPTS; do - case "$i" in - -j*) n=${i#-j};; - esac; - done - [ -n "$n" ] && echo "--parallel $n" -} +source="https://www.cmake.org/files/$_v/cmake-$pkgver.tar.gz" +options="!check" build() { # jsoncpp needs cmake to build so to avoid recursive build @@ -44,7 +45,7 @@ build() { --sphinx-man \ --system-libs \ --no-system-jsoncpp \ - $(_parallel_opt) + --parallel="${JOBS:-2}" make } @@ -53,9 +54,9 @@ check() { } package() { - cd $startdir/src/$pkgname-$pkgver make DESTDIR="$pkgdir" install } + sha512sums=" -94893f888c0cbfc58e54a0bd65d6c0697fe4a0e95c678b7cb35e7dc8854d57eb360bfc952750f97983348817f847f6df85903f21a5857b1a3880b2a7eb6cc029 cmake-3.23.1.tar.gz +67bfafcf9ceba617d7ebbb0ac88b689a2d90ab51fea4a83bd073ee082fb55de8962ce7fb283f3db5f455d286f2199843ffa595a1de207d4fa3e4472d951eb289 cmake-3.24.1.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/cups/APKBUILD b/main/cups/APKBUILD index 709a2cf3d2..7578be4ab4 100644 --- a/main/cups/APKBUILD +++ b/main/cups/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=cups -pkgver=2.4.1 -pkgrel=1 +pkgver=2.4.2 +pkgrel=0 pkgdesc="The CUPS Printing System" url="https://github.com/OpenPrinting/cups/" arch="all" @@ -24,6 +24,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/OpenPrinting/cups/archive/v$ " # secfixes: +# 2.4.2-r0: +# - CVE-2022-26691 # 2.3.3-r0: # - CVE-2020-3898 # - CVE-2019-8842 @@ -142,7 +144,7 @@ _mv() { } sha512sums=" -56008458717f7e5185433136ef8c0be5400519caf8dfb37bad623230102c9708e74b2f628a6e3521c1c0e7fca82dc3fd71d77cb75496297ee04e30f7e9845f5d cups-2.4.1.tar.gz +1942a677a78df0dcfaaae4b93cf7bf4ba59865d270d89d893831cb47a02f6b7e581c56bbb9264d39504b46d81c3b17ba89f7c5e21f20628f12ddf7161ac6a574 cups-2.4.2.tar.gz cf64211da59e79285f99d437c02fdd7db462855fb2920ec9563ba47bd8a9e5cbd10555094940ceedeb41ac805c4f0ddb9147481470112a11a76220d0298aef79 cups.logrotate 2c2683f755a220166b3a1653fdd1a6daa9718c8f0bbdff2e2d5e61d1133306260d63a83d3ff41619b5cf84c4913fae5822b79553e2822858f38fa3613f4c7082 cupsd.initd 148eb01f0861e1cd0861a174a5c5262c49b079b27b972b4e90656b9b9357ec710e861604c30e897818f550e9c1cdcefcd8c8bc955ba4a333902a74cdd8dfb5a6 cups-no-export-ssllibs.patch 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..732970dde2 100644 --- a/main/cython/APKBUILD +++ b/main/cython/APKBUILD @@ -2,8 +2,8 @@ # Contributor: Oleg Titov <oleg.titov@gmail.com> # Maintainer: Stuart Cardall <developer@it-offshore.co.uk> pkgname=cython -pkgver=0.29.24 -pkgrel=1 +pkgver=0.29.32 +pkgrel=0 pkgdesc="Cython is an optimising static compiler for both the Python & the extended Cython programming languages." url="https://cython.org/" arch="all" @@ -11,12 +11,14 @@ license="Apache-2.0" makedepends="py3-setuptools python3-dev" depends="python3" subpackages="cython-doc" -source="cython-$pkgver.tar.gz::https://github.com/cython/cython/archive/$pkgver.tar.gz -cython-test-fix.patch" +source="cython-$pkgver.tar.gz::https://github.com/cython/cython/archive/$pkgver.tar.gz" -# 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 +case "$CARCH" in +arm*) + # hang forever + options="$options !check" + ;; +esac build() { python3 setup.py build @@ -34,6 +36,5 @@ package() { } sha512sums=" -387a827f3cb7428248019744e3ed606a133d98ac882b83624d24ae0fdf8a8f2334978555d7d84e5cc4adaf715c541fef64e45bcbdda85ca33473c21f99360be8 cython-0.29.24.tar.gz -6a924351d54636edf5c65309c285a7298a6b25d28a81812c636fd16901471b4d9522f271ec28c2e03c0a48fa926aa52bfbe60bf4cb80073d7837b81828a7220c cython-test-fix.patch +55462792fa70d8edf60aa470627ab494918d7297fd7d282a7a54da76ee5a180233108404a1c8f3d79f6408f19b6e4f46b36e59fd47c38ede24f061f374437b6f cython-0.29.32.tar.gz " diff --git a/main/cython/cython-test-fix.patch b/main/cython/cython-test-fix.patch deleted file mode 100644 index 58ddce13c3..0000000000 --- a/main/cython/cython-test-fix.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 9bc0abecb3a08ea13313200a51f1ee26a65e5be3 Mon Sep 17 00:00:00 2001 -From: Stefan Behnel <stefan_ml@behnel.de> -Date: Sat, 3 Apr 2021 08:23:44 +0200 -Subject: [PATCH] Make a helper function in a C++ test correctly propagate - exceptions so that it won't have to spit out compiler warnings. - ---- - tests/run/cpp_stl_conversion.pyx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/run/cpp_stl_conversion.pyx b/tests/run/cpp_stl_conversion.pyx -index 5278c677ae..ccebc700ee 100644 ---- a/tests/run/cpp_stl_conversion.pyx -+++ b/tests/run/cpp_stl_conversion.pyx -@@ -15,7 +15,7 @@ py_set = set - py_xrange = xrange - py_unicode = unicode - --cdef string add_strings(string a, string b): -+cdef string add_strings(string a, string b) except *: - return a + b - - def normalize(bytes b): diff --git a/main/dahdi-linux-lts/APKBUILD b/main/dahdi-linux-lts/APKBUILD index e670d2f2d0..03722e5745 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.41 +_kver=5.15.61 _krel=0 _kpkgver="$_kver-r$_krel" @@ -41,7 +41,7 @@ builddir="$srcdir/$_name-$_ver" prepare() { default_prepare # verify the kernel version - local _kapkbuild=../../main/linux-$_flavor/APKBUILD + local _kapkbuild="$startdir"/../../main/linux-$_flavor/APKBUILD if [ -f $_kapkbuild ]; then ( . $_kapkbuild pkgname=$_name-$_flavor 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/diffutils/APKBUILD b/main/diffutils/APKBUILD index fe0cfc392c..a08b08f853 100644 --- a/main/diffutils/APKBUILD +++ b/main/diffutils/APKBUILD @@ -1,22 +1,17 @@ # Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> pkgname=diffutils pkgver=3.8 -pkgrel=0 +pkgrel=1 pkgdesc="Show differences among files" subpackages="$pkgname-doc" url="https://www.gnu.org/software/diffutils/" arch="all" license="GPL-3.0-or-later" -checkdepends="coreutils perl" -# cyclic dependency during bootstrap: -# m4 -> diffutils -> coreutils -> bash -> flex -> bison -> m4 -[ -n "$BOOTSTRAP" ] && options="$options !check" +checkdepends="perl" source="https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.xz skip-test-presue-output-tty.patch " -builddir=$srcdir/$pkgname-$pkgver - build() { ./configure \ --build=$CBUILD \ 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 Binary files differindex a030b225a0..42f06ed4dd 100644 --- a/main/dns-root-hints/named.root.sig +++ b/main/dns-root-hints/named.root.sig 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() { |