diff options
371 files changed, 9204 insertions, 3892 deletions
diff --git a/experimental/sbcl/APKBUILD b/experimental/sbcl/APKBUILD new file mode 100644 index 000000000..86f9ab1f5 --- /dev/null +++ b/experimental/sbcl/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Lee Starnes <lee@canned-death.us> +# Maintainer: Lee Starnes <lee@canned-death.us> +pkgname=sbcl +pkgver=2.0.3 +pkgrel=0 +pkgdesc="Steel Bank Common Lisp" +url="http://www.sbcl.org" +arch="all !armv7" +license="BSD-2-Clause AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND MIT" +depends="" +makedepends="clisp clisp-dev" +checkdepends="ed" +subpackages="$pkgname-doc" +# Patch provided by Eric Timmons: https://bugs.launchpad.net/sbcl/+bug/1768368 +source="https://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/$pkgname-$pkgver-source.tar.bz2 + musl-libc.patch" + +prepare() { + default_prepare + + # run-program test is hard-coded to use /bin/ed but it should be /usr/bin/ed + sed -i 's,/bin/ed,/usr/bin/ed,g' tests/run-program.impure.lisp +} + +build() { + ./make.sh --prefix=/usr --with-dlclose-is-noop --xc-host=clisp +} + +check() { + cd tests && sh run-tests.sh +} + +package() { + INSTALL_ROOT="$pkgdir"/usr sh install.sh +} + +sha512sums="c29c115fff0e118e5c05959dd8d73ae876458daeb5ddde67ce485b10e6d1583b1f8a9597b54b45606696ab1b1eea5392dcb09357c83fce31323f2a5a154f2dd1 sbcl-2.0.3-source.tar.bz2 +e6757e4cc623682c501ab5e255a881833ff393efac829ffe9f67fff0a005724c3c03a23352b4c88d58b3d15dbb0cf33c8cc58d72d3795abb2f12a4bca4302165 musl-libc.patch" diff --git a/experimental/sbcl/musl-libc.patch b/experimental/sbcl/musl-libc.patch new file mode 100644 index 000000000..1aa5cb557 --- /dev/null +++ b/experimental/sbcl/musl-libc.patch @@ -0,0 +1,180 @@ +diff --git a/contrib/sb-bsd-sockets/constants.lisp b/contrib/sb-bsd-sockets/constants.lisp +index 88f5bb7c4..23fd87277 100644 +--- a/contrib/sb-bsd-sockets/constants.lisp ++++ b/contrib/sb-bsd-sockets/constants.lisp +@@ -93,8 +93,8 @@ + (:integer EAFNOSUPPORT "EAFNOSUPPORT") + (:integer EINPROGRESS "EINPROGRESS") + +- (:integer NETDB-INTERNAL #+hpux "h_NETDB_INTERNAL" #-hpux "NETDB_INTERNAL" "See errno.") +- (:integer NETDB-SUCCESS #+hpux "h_NETDB_SUCCESS" #-hpux "NETDB_SUCCESS" "No problem.") ++ (:integer-no-check NETDB-INTERNAL #-os-provides-netdb-internal "-1" #+(and os-provides-netdb-internal hpux) "h_NETDB_INTERNAL" #+(and os-provides-netdb-internal (not hpux)) "NETDB_INTERNAL" "See errno.") ++ (:integer-no-check NETDB-SUCCESS #-os-provides-netdb-internal "0" #+(and os-provides-netdb-internal hpux) "h_NETDB_SUCCESS" #+(and os-provides-netdb-internal (not hpux)) "NETDB_SUCCESS" "No problem.") + (:integer HOST-NOT-FOUND "HOST_NOT_FOUND" "Authoritative Answer Host not found.") + (:integer TRY-AGAIN "TRY_AGAIN" "Non-Authoritative Host not found, or SERVERFAIL.") + (:integer NO-RECOVERY "NO_RECOVERY" "Non recoverable errors, FORMERR, REFUSED, NOTIMP.") +diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c +index fa4f5e490..60b5fea4e 100644 +--- a/src/runtime/linux-os.c ++++ b/src/runtime/linux-os.c +@@ -187,8 +187,15 @@ isnptl (void) + if (strstr (buf, "NPTL")) { + return 1; + } ++ else { ++ return 0; ++ } ++ } ++ else { ++ /* If the configuration variable is empty, just assume we have a ++ * good enough thread implementation. */ ++ return 1; + } +- return 0; + } + #endif + +diff --git a/tests/foreign.test.sh b/tests/foreign.test.sh +index 7fb757813..9ba8ed3cf 100755 +--- a/tests/foreign.test.sh ++++ b/tests/foreign.test.sh +@@ -248,16 +248,23 @@ cat > $TEST_FILESTEM.test.lisp <<EOF + (assert (= 13 foo)) + (assert (= 42 (bar))) + (note "/original definitions ok") +- (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b.bak") +- (rename-file "$TEST_FILESTEM-b2.so" "$TEST_FILESTEM-b.so") +- (load-shared-object (truename "$TEST_FILESTEM-b.so")) +- (note "/reloading ok") +- (assert (= 42 foo)) +- (assert (= 13 (bar))) +- (note "/redefined versions ok") +- (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so") +- (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so") +- (note "/renamed back to originals") ++ ;; test late resolution ++ (eval-when (:compile-toplevel :load-toplevel :execute) ++ (setq *features* (union *features* sb-impl:+internal-features+))) ++ #+dlclose-is-noop ++ (note "/skipping reloading tests") ++ #-dlclose-is-noop ++ (progn ++ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b.bak") ++ (rename-file "$TEST_FILESTEM-b2.so" "$TEST_FILESTEM-b.so") ++ (load-shared-object (truename "$TEST_FILESTEM-b.so")) ++ (note "/reloading ok") ++ (assert (= 42 foo)) ++ (assert (= 13 (bar))) ++ (note "/redefined versions ok") ++ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so") ++ (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so") ++ (note "/renamed back to originals")) + + ;; test late resolution + #+linkage-table +@@ -274,13 +278,17 @@ cat > $TEST_FILESTEM.test.lisp <<EOF + (load-shared-object (truename "$TEST_FILESTEM-c.so")) + (assert (= 43 late-foo)) + (assert (= 14 (late-bar))) +- (unload-shared-object (truename "$TEST_FILESTEM-c.so")) +- (multiple-value-bind (val err) (ignore-errors late-foo) +- (assert (not val)) +- (assert (typep err 'undefined-alien-error))) +- (multiple-value-bind (val err) (ignore-errors (late-bar)) +- (assert (not val)) +- (assert (typep err 'undefined-alien-error))) ++ #+dlclose-is-noop ++ (note "/skipping unloading tests") ++ #-dlclose-is-noop ++ (progn ++ (unload-shared-object (truename "$TEST_FILESTEM-c.so")) ++ (multiple-value-bind (val err) (ignore-errors late-foo) ++ (assert (not val)) ++ (assert (typep err 'undefined-alien-error))) ++ (multiple-value-bind (val err) (ignore-errors (late-bar)) ++ (assert (not val)) ++ (assert (typep err 'undefined-alien-error)))) + (note "/linkage table ok")) + + (sb-ext:exit :code $EXIT_LISP_WIN) ; success convention for Lisp program +diff --git a/tools-for-build/Makefile b/tools-for-build/Makefile +index 3f6e4ecf9..39bab2b92 100644 +--- a/tools-for-build/Makefile ++++ b/tools-for-build/Makefile +@@ -16,6 +16,9 @@ LDLIBS:=$(OS_LIBS) + + all: grovel-headers determine-endianness where-is-mcontext + ++dlclose-is-noop-test-helper.so: dlclose-is-noop-test-helper.c ++ @$(CC) $(LDFLAGS) -shared $< -o $@ $(LOADLIBES) $(LDLIBS) ++ + clean: + rm -f *.o grovel-headers determine-endianness where-is-mcontext + rm -f *.exe +diff --git a/tools-for-build/dlclose-is-noop-test-helper.c b/tools-for-build/dlclose-is-noop-test-helper.c +new file mode 100644 +index 000000000..4be7a8e5b +--- /dev/null ++++ b/tools-for-build/dlclose-is-noop-test-helper.c +@@ -0,0 +1 @@ ++int sbcl_dl_close_test = 42; +diff --git a/tools-for-build/dlclose-is-noop-test.c b/tools-for-build/dlclose-is-noop-test.c +new file mode 100644 +index 000000000..f4eab26a5 +--- /dev/null ++++ b/tools-for-build/dlclose-is-noop-test.c +@@ -0,0 +1,19 @@ ++/* test to build and run so that we know if we have a noop dlclose ++ */ ++ ++#include <dlfcn.h> ++#include <stddef.h> ++ ++int main () ++{ ++ void * handle = dlopen("./dlclose-is-noop-test-helper.so", RTLD_NOW | RTLD_GLOBAL); ++ dlclose(handle); ++ ++ handle = dlopen("./dlclose-is-noop-test-helper.so", RTLD_NOW | RTLD_NOLOAD); ++ ++ if (handle != NULL) { ++ return 104; ++ } else { ++ return 0; ++ } ++} +diff --git a/tools-for-build/grovel-features.sh b/tools-for-build/grovel-features.sh +index ffc4307eb..bf1448a6a 100644 +--- a/tools-for-build/grovel-features.sh ++++ b/tools-for-build/grovel-features.sh +@@ -36,3 +36,12 @@ + if [ "$sbcl_arch" = arm ] ; then + featurep arm-softfp + fi ++ ++featurep os-provides-netdb-internal ++ ++# We need a helper shared library to test dlclose-is-noop ++$GNUMAKE dlclose-is-noop-test-helper.so > /dev/null 2>&1 ++ ++featurep dlclose-is-noop ++ ++rm -f dlclose-is-noop-test-helper.so +diff --git a/tools-for-build/os-provides-netdb-internal-test.c b/tools-for-build/os-provides-netdb-internal-test.c +new file mode 100644 +index 000000000..cab08cc41 +--- /dev/null ++++ b/tools-for-build/os-provides-netdb-internal-test.c +@@ -0,0 +1,12 @@ ++#include <netdb.h> ++ ++int main () ++{ ++#if defined NETDB_INTERNAL && defined NETDB_SUCCESS ++ return 104; ++#elif defined h_NETDB_INTERNAL && defined h_NETDB_SUCCESS ++ return 104; ++#else ++ return 0; ++#endif ++} diff --git a/experimental/zfs-utils/APKBUILD b/experimental/zfs-utils/APKBUILD new file mode 100644 index 000000000..dc985302e --- /dev/null +++ b/experimental/zfs-utils/APKBUILD @@ -0,0 +1,49 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# keep these in sync with kernel version +_kflavour="" +_kver="5.4.5-mc0" +_kver2="$_kver-easy" +pkgname=zfs-utils +pkgver=0.8.3 +pkgrel=0 +pkgdesc="User utilities for the ZFS filesystem" +url="https://open-zfs.org" +arch="all" +license="CDDL" +depends="" +makedepends="eudev-dev libtirpc-dev linux-headers openssl-dev zlib-dev" +install="" +subpackages="$pkgname-dev $pkgname-doc zfs-openrc" +source="https://github.com/zfsonlinux/zfs/releases/download/zfs-$pkgver/zfs-$pkgver.tar.gz" +builddir="$srcdir/zfs-$pkgver" + +prepare() { + default_prepare + update_config_sub +} + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --with-linux=/usr/src/linux-$_kver \ + --with-spec=generic \ + --with-config=user + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install + rm -r "$pkgdir/usr/share/zfs/zfs-tests" +} + +sha512sums="aded632e6b04180560d4f2ff283260016e883dadae4e7fda9070b7113dee948099cb7a7b183f1c8139654389a2610fb9cc6f997acdc846040e605125cf016010 zfs-0.8.3.tar.gz" diff --git a/experimental/zfs/APKBUILD b/experimental/zfs/APKBUILD new file mode 100644 index 000000000..31991c44d --- /dev/null +++ b/experimental/zfs/APKBUILD @@ -0,0 +1,68 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# keep these in sync with kernel version +_kflavour="" +_kver="5.4.5-mc0" +_kver2="$_kver-easy" +pkgname="zfs-$_kver" +pkgver=0.8.3 +pkgrel=0 +pkgdesc="Linux support for the ZFS filesystem" +url="https://open-zfs.org" +arch="all" +license="CDDL" +depends="easy-kernel$_kflavour-modules-$_kver zfs-utils" +makedepends="eudev-dev libtirpc-dev linux-headers openssl-dev zlib-dev + easy-kernel$_kflavour-src-$_kver autoconf automake libtool" +install="" +subpackages="$pkgname-dev" +source="https://github.com/zfsonlinux/zfs/releases/download/zfs-$pkgver/zfs-$pkgver.tar.gz + fix-autoconf-redirection-for-dash.patch + Linux-5.6-compat-time_t-2c3a83701dd1.patch + Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch + Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch" +builddir="$srcdir/zfs-$pkgver" + +prepare() { + default_prepare + update_config_sub + ./autogen.sh +} + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --with-linux=/usr/src/linux-$_kver \ + --with-spec=generic \ + --with-config=kernel + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +dev() { + default_dev + mv "$pkgdir/usr/src/spl-$pkgver" "$subpkgdir/usr/src" + cd "$pkgdir/usr/src/zfs-$pkgver" + mv zfs.release.in zfs_config.h.in "$subpkgdir/usr/src/zfs-$pkgver" + cd "$pkgdir/usr/src/zfs-$pkgver/$_kver2" + mv Module.symvers zfs.release spl.release "$subpkgdir/usr/src/zfs-$pkgver/$_kver2" + rm -r "$pkgdir/usr/src" +} + +sha512sums="aded632e6b04180560d4f2ff283260016e883dadae4e7fda9070b7113dee948099cb7a7b183f1c8139654389a2610fb9cc6f997acdc846040e605125cf016010 zfs-0.8.3.tar.gz +47dc563fc1daa4c67096d2316ed2cea6aeaf4ca9e0daa41f2036a4ff3dcb542c88534ac25033a23e8fa97a9b82e56a8933f9fa56bae8a1fa07c1b15eb18f68f8 fix-autoconf-redirection-for-dash.patch +a74bb30ef2e5f28fdc7b0cfe915f2841762ec8f6cd2368d2e4ba8627443e8e0754011a88b743e27519d191464e35e6c923510451f2a86d7e1a4ad3c5b737015f Linux-5.6-compat-time_t-2c3a83701dd1.patch +a791406265a6e1501e743b6f13764736439a14a9dfc1feaabc5fc82e27de1b2adf56b566c162fc42313f311fbf76c3213f7c2c05a518de36f96887e3d462e94a Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch +9c78793a5840bc5fb5bb44a210124c1c8f09ce0ddfe88b91be8dbde5465763912308b89cd87300fd05b898076366528612c34a9c2f834d3b6573aa68eb442ec3 Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch"
\ No newline at end of file diff --git a/experimental/zfs/Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch b/experimental/zfs/Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch new file mode 100644 index 000000000..1b0402d29 --- /dev/null +++ b/experimental/zfs/Linux-5.6-compat-ktime_get_raw_ts64-ff5587d65137.patch @@ -0,0 +1,145 @@ +commit ff5587d651371ab496f7962e85fe2c337fdb8a59 +Author: Brian Behlendorf <behlendorf1@llnl.gov> +Date: Wed Feb 26 12:42:33 2020 -0800 + + Linux 5.6 compat: ktime_get_raw_ts64() + + The getrawmonotonic() and getrawmonotonic64() interfaces have been + fully retired. Update gethrtime() to use the replacement interface + ktime_get_raw_ts64() which was introduced in the 4.18 kernel. + + Reviewed-by: Tony Hutter <hutter2@llnl.gov> + Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> + Closes #10052 + Closes #10064 + +diff --git a/config/kernel-ktime.m4 b/config/kernel-ktime.m4 +new file mode 100644 +index 000000000..64c3b5f90 +--- /dev/null ++++ b/config/kernel-ktime.m4 +@@ -0,0 +1,55 @@ ++dnl # ++dnl # 4.18: ktime_get_coarse_real_ts64() replaces current_kernel_time64(). ++dnl # ++AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64], [ ++ ZFS_LINUX_TEST_SRC([ktime_get_coarse_real_ts64], [ ++ #include <linux/mm.h> ++ ], [ ++ struct timespec64 ts; ++ ktime_get_coarse_real_ts64(&ts); ++ ]) ++]) ++ ++AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [ ++ AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists]) ++ ZFS_LINUX_TEST_RESULT([ktime_get_coarse_real_ts64], [ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1, ++ [ktime_get_coarse_real_ts64() exists]) ++ ], [ ++ AC_MSG_RESULT(no) ++ ]) ++]) ++ ++dnl # ++dnl # 4.18: ktime_get_raw_ts64() replaces getrawmonotonic64(). ++dnl # ++AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_RAW_TS64], [ ++ ZFS_LINUX_TEST_SRC([ktime_get_raw_ts64], [ ++ #include <linux/mm.h> ++ ], [ ++ struct timespec64 ts; ++ ktime_get_raw_ts64(&ts); ++ ]) ++]) ++ ++AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_RAW_TS64], [ ++ AC_MSG_CHECKING([whether ktime_get_raw_ts64() exists]) ++ ZFS_LINUX_TEST_RESULT([ktime_get_raw_ts64], [ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_KTIME_GET_RAW_TS64, 1, ++ [ktime_get_raw_ts64() exists]) ++ ], [ ++ AC_MSG_RESULT(no) ++ ]) ++]) ++ ++AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME], [ ++ ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64 ++ ZFS_AC_KERNEL_SRC_KTIME_GET_RAW_TS64 ++]) ++ ++AC_DEFUN([ZFS_AC_KERNEL_KTIME], [ ++ ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64 ++ ZFS_AC_KERNEL_KTIME_GET_RAW_TS64 ++]) +diff --git a/config/kernel-ktime_get_coarse_real_ts64.m4 b/config/kernel-ktime_get_coarse_real_ts64.m4 +deleted file mode 100644 +index 28492bf04..000000000 +--- a/config/kernel-ktime_get_coarse_real_ts64.m4 ++++ /dev/null +@@ -1,23 +0,0 @@ +-dnl # +-dnl # 4.18: ktime_get_coarse_real_ts64() added. Use it in place of +-dnl # current_kernel_time64(). +-dnl # +-AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64], [ +- ZFS_LINUX_TEST_SRC([ktime_get_coarse_real_ts64], [ +- #include <linux/mm.h> +- ], [ +- struct timespec64 ts; +- ktime_get_coarse_real_ts64(&ts); +- ]) +-]) +- +-AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [ +- AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists]) +- ZFS_LINUX_TEST_RESULT([ktime_get_coarse_real_ts64], [ +- AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1, +- [ktime_get_coarse_real_ts64() exists]) +- ], [ +- AC_MSG_RESULT(no) +- ]) +-]) +diff --git a/config/kernel.m4 b/config/kernel.m4 +index 6bb37937c..a0fa2514e 100644 +--- a/config/kernel.m4 ++++ b/config/kernel.m4 +@@ -114,7 +114,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [ + ZFS_AC_KERNEL_SRC_CURRENT_TIME + ZFS_AC_KERNEL_SRC_USERNS_CAPABILITIES + ZFS_AC_KERNEL_SRC_IN_COMPAT_SYSCALL +- ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64 ++ ZFS_AC_KERNEL_SRC_KTIME + ZFS_AC_KERNEL_SRC_TOTALRAM_PAGES_FUNC + ZFS_AC_KERNEL_SRC_TOTALHIGH_PAGES + ZFS_AC_KERNEL_SRC_KSTRTOUL +@@ -208,7 +208,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [ + ZFS_AC_KERNEL_CURRENT_TIME + ZFS_AC_KERNEL_USERNS_CAPABILITIES + ZFS_AC_KERNEL_IN_COMPAT_SYSCALL +- ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64 ++ ZFS_AC_KERNEL_KTIME + ZFS_AC_KERNEL_TOTALRAM_PAGES_FUNC + ZFS_AC_KERNEL_TOTALHIGH_PAGES + ZFS_AC_KERNEL_KSTRTOUL +diff --git a/include/spl/sys/time.h b/include/spl/sys/time.h +index 312415b7b..56fd725c0 100644 +--- a/include/spl/sys/time.h ++++ b/include/spl/sys/time.h +@@ -105,8 +105,13 @@ gethrestime_sec(void) + static inline hrtime_t + gethrtime(void) + { ++#if defined(HAVE_KTIME_GET_RAW_TS64) ++ struct timespec64 ts; ++ ktime_get_raw_ts64(&ts); ++#else + struct timespec ts; + getrawmonotonic(&ts); ++#endif + return (((hrtime_t)ts.tv_sec * NSEC_PER_SEC) + ts.tv_nsec); + } + diff --git a/experimental/zfs/Linux-5.6-compat-time_t-2c3a83701dd1.patch b/experimental/zfs/Linux-5.6-compat-time_t-2c3a83701dd1.patch new file mode 100644 index 000000000..7a97d968f --- /dev/null +++ b/experimental/zfs/Linux-5.6-compat-time_t-2c3a83701dd1.patch @@ -0,0 +1,110 @@ +commit 2c3a83701dd185cadb30db4556256534e2930c7d +Author: Brian Behlendorf <behlendorf1@llnl.gov> +Date: Wed Feb 26 13:18:07 2020 -0800 + + Linux 5.6 compat: time_t + + As part of the Linux kernel's y2038 changes the time_t type has been + fully retired. Callers are now required to use the time64_t type. + + Rather than move to the new type, I've removed the few remaining + places where a time_t is used in the kernel code. They've been + replaced with a uint64_t which is already how ZFS internally + handled these values. + + Going forward we should work towards updating the remaining user + space time_t consumers to the 64-bit interfaces. + + Reviewed-by: Matthew Macy <mmacy@freebsd.org> + Reviewed-by: Tony Hutter <hutter2@llnl.gov> + Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> + Closes #10052 + Closes #10064 + +diff --git a/include/spl/sys/time.h b/include/spl/sys/time.h +index 56fd725c0..4309c300b 100644 +--- a/include/spl/sys/time.h ++++ b/include/spl/sys/time.h +@@ -85,7 +85,7 @@ gethrestime(inode_timespec_t *ts) + #endif + } + +-static inline time_t ++static inline uint64_t + gethrestime_sec(void) + { + #if defined(HAVE_INODE_TIMESPEC64_TIMES) +diff --git a/include/sys/vdev_impl.h b/include/sys/vdev_impl.h +index 4f63e1ae5..b55871a5d 100644 +--- a/include/sys/vdev_impl.h ++++ b/include/sys/vdev_impl.h +@@ -272,7 +272,7 @@ struct vdev { + range_tree_t *vdev_initialize_tree; /* valid while initializing */ + uint64_t vdev_initialize_bytes_est; + uint64_t vdev_initialize_bytes_done; +- time_t vdev_initialize_action_time; /* start and end time */ ++ uint64_t vdev_initialize_action_time; /* start and end time */ + + /* TRIM related */ + boolean_t vdev_trim_exit_wanted; +@@ -293,7 +293,7 @@ struct vdev { + uint64_t vdev_trim_rate; /* requested rate (bytes/sec) */ + uint64_t vdev_trim_partial; /* requested partial TRIM */ + uint64_t vdev_trim_secure; /* requested secure TRIM */ +- time_t vdev_trim_action_time; /* start and end time */ ++ uint64_t vdev_trim_action_time; /* start and end time */ + + /* for limiting outstanding I/Os (initialize and TRIM) */ + kmutex_t vdev_initialize_io_lock; +diff --git a/lib/libspl/include/sys/time.h b/lib/libspl/include/sys/time.h +index 291f2190a..c9f616504 100644 +--- a/lib/libspl/include/sys/time.h ++++ b/lib/libspl/include/sys/time.h +@@ -88,7 +88,7 @@ gethrestime(inode_timespec_t *ts) + ts->tv_nsec = tv.tv_usec * NSEC_PER_USEC; + } + +-static inline time_t ++static inline uint64_t + gethrestime_sec(void) + { + struct timeval tv; +diff --git a/module/zfs/zfs_debug.c b/module/zfs/zfs_debug.c +index a64971d0a..d98463f1b 100644 +--- a/module/zfs/zfs_debug.c ++++ b/module/zfs/zfs_debug.c +@@ -28,7 +28,7 @@ + + typedef struct zfs_dbgmsg { + procfs_list_node_t zdm_node; +- time_t zdm_timestamp; ++ uint64_t zdm_timestamp; + int zdm_size; + char zdm_msg[1]; /* variable length allocation */ + } zfs_dbgmsg_t; +diff --git a/module/zfs/vdev_initialize.c b/module/zfs/vdev_initialize.c +index 3e691c7f5..5899af9fc 100644 +--- a/module/zfs/vdev_initialize.c ++++ b/module/zfs/vdev_initialize.c +@@ -713,7 +713,7 @@ vdev_initialize_restart(vdev_t *vd) + vd->vdev_leaf_zap, VDEV_LEAF_ZAP_INITIALIZE_ACTION_TIME, + sizeof (timestamp), 1, ×tamp); + ASSERT(err == 0 || err == ENOENT); +- vd->vdev_initialize_action_time = (time_t)timestamp; ++ vd->vdev_initialize_action_time = timestamp; + + if (vd->vdev_initialize_state == VDEV_INITIALIZE_SUSPENDED || + vd->vdev_offline) { +diff --git a/module/zfs/vdev_trim.c b/module/zfs/vdev_trim.c +index c7c429cbd..7dec07e3c 100644 +--- a/module/zfs/vdev_trim.c ++++ b/module/zfs/vdev_trim.c +@@ -1051,7 +1051,7 @@ vdev_trim_restart(vdev_t *vd) + vd->vdev_leaf_zap, VDEV_LEAF_ZAP_TRIM_ACTION_TIME, + sizeof (timestamp), 1, ×tamp); + ASSERT(err == 0 || err == ENOENT); +- vd->vdev_trim_action_time = (time_t)timestamp; ++ vd->vdev_trim_action_time = timestamp; + + if (vd->vdev_trim_state == VDEV_TRIM_SUSPENDED || + vd->vdev_offline) { diff --git a/experimental/zfs/Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch b/experimental/zfs/Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch new file mode 100644 index 000000000..deb81347b --- /dev/null +++ b/experimental/zfs/Linux-5.6-compat-timestamp_truncate-795699a6cc28.patch @@ -0,0 +1,131 @@ +commit 795699a6cc28b8f1059397e03d1a86d576bfc7dc +Author: Brian Behlendorf <behlendorf1@llnl.gov> +Date: Thu Feb 6 12:37:25 2020 -0800 + + Linux 5.6 compat: timestamp_truncate() + + The timestamp_truncate() function was added, it replaces the existing + timespec64_trunc() function. This change renames our wrapper function + to be consistent with the upstream name and updates the compatibility + code for older kernels accordingly. + + Reviewed-by: Tony Hutter <hutter2@llnl.gov> + Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> + Closes #9956 + Closes #9961 + +diff --git a/config/kernel-inode-times.m4 b/config/kernel-inode-times.m4 +index 57e7f31fd..8a79c299e 100644 +--- a/config/kernel-inode-times.m4 ++++ b/config/kernel-inode-times.m4 +@@ -1,8 +1,22 @@ +-dnl # +-dnl # 4.18 API change +-dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64. +-dnl # + AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES], [ ++ ++ dnl # ++ dnl # 5.6 API change ++ dnl # timespec64_trunc() replaced by timestamp_truncate() interface. ++ dnl # ++ ZFS_LINUX_TEST_SRC([timestamp_truncate], [ ++ #include <linux/fs.h> ++ ],[ ++ struct timespec64 ts; ++ struct inode ip; ++ ++ ts = timestamp_truncate(ts, &ip); ++ ]) ++ ++ dnl # ++ dnl # 4.18 API change ++ dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64. ++ dnl # + ZFS_LINUX_TEST_SRC([inode_times], [ + #include <linux/fs.h> + ],[ +@@ -15,6 +29,15 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES], [ + ]) + + AC_DEFUN([ZFS_AC_KERNEL_INODE_TIMES], [ ++ AC_MSG_CHECKING([whether timestamp_truncate() exists]) ++ ZFS_LINUX_TEST_RESULT([timestamp_truncate], [ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_INODE_TIMESTAMP_TRUNCATE, 1, ++ [timestamp_truncate() exists]) ++ ],[ ++ AC_MSG_RESULT(no) ++ ]) ++ + AC_MSG_CHECKING([whether inode->i_*time's are timespec64]) + ZFS_LINUX_TEST_RESULT([inode_times], [ + AC_MSG_RESULT(no) +diff --git a/include/sys/zpl.h b/include/sys/zpl.h +index 20a3dc674..ef5a0b842 100644 +--- a/include/sys/zpl.h ++++ b/include/sys/zpl.h +@@ -170,13 +170,14 @@ zpl_dir_emit_dots(struct file *file, zpl_dir_context_t *ctx) + } + #endif /* HAVE_VFS_ITERATE */ + +-/* +- * Linux 4.18, inode times converted from timespec to timespec64. +- */ +-#if defined(HAVE_INODE_TIMESPEC64_TIMES) +-#define zpl_inode_timespec_trunc(ts, gran) timespec64_trunc(ts, gran) ++#if defined(HAVE_INODE_TIMESTAMP_TRUNCATE) ++#define zpl_inode_timestamp_truncate(ts, ip) timestamp_truncate(ts, ip) ++#elif defined(HAVE_INODE_TIMESPEC64_TIMES) ++#define zpl_inode_timestamp_truncate(ts, ip) \ ++ timespec64_trunc(ts, (ip)->i_sb->s_time_gran) + #else +-#define zpl_inode_timespec_trunc(ts, gran) timespec_trunc(ts, gran) ++#define zpl_inode_timestamp_truncate(ts, ip) \ ++ timespec_trunc(ts, (ip)->i_sb->s_time_gran) + #endif + + #endif /* _SYS_ZPL_H */ +diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c +index ec63dbdeb..406cd7ef2 100644 +--- a/module/zfs/zfs_vnops.c ++++ b/module/zfs/zfs_vnops.c +@@ -3444,8 +3444,8 @@ top: + + if (mask & (ATTR_MTIME | ATTR_SIZE)) { + ZFS_TIME_ENCODE(&vap->va_mtime, mtime); +- ZTOI(zp)->i_mtime = zpl_inode_timespec_trunc(vap->va_mtime, +- ZTOI(zp)->i_sb->s_time_gran); ++ ZTOI(zp)->i_mtime = zpl_inode_timestamp_truncate( ++ vap->va_mtime, ZTOI(zp)); + + SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MTIME(zfsvfs), NULL, + mtime, sizeof (mtime)); +@@ -3453,8 +3453,8 @@ top: + + if (mask & (ATTR_CTIME | ATTR_SIZE)) { + ZFS_TIME_ENCODE(&vap->va_ctime, ctime); +- ZTOI(zp)->i_ctime = zpl_inode_timespec_trunc(vap->va_ctime, +- ZTOI(zp)->i_sb->s_time_gran); ++ ZTOI(zp)->i_ctime = zpl_inode_timestamp_truncate(vap->va_ctime, ++ ZTOI(zp)); + SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CTIME(zfsvfs), NULL, + ctime, sizeof (ctime)); + } +diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c +index e1c6ce7b7..c1b582574 100644 +--- a/module/zfs/zpl_inode.c ++++ b/module/zfs/zpl_inode.c +@@ -382,10 +382,8 @@ zpl_setattr(struct dentry *dentry, struct iattr *ia) + vap->va_mtime = ia->ia_mtime; + vap->va_ctime = ia->ia_ctime; + +- if (vap->va_mask & ATTR_ATIME) { +- ip->i_atime = zpl_inode_timespec_trunc(ia->ia_atime, +- ip->i_sb->s_time_gran); +- } ++ if (vap->va_mask & ATTR_ATIME) ++ ip->i_atime = zpl_inode_timestamp_truncate(ia->ia_atime, ip); + + cookie = spl_fstrans_mark(); + error = -zfs_setattr(ITOZ(ip), vap, 0, cr); diff --git a/experimental/zfs/fix-autoconf-redirection-for-dash.patch b/experimental/zfs/fix-autoconf-redirection-for-dash.patch new file mode 100644 index 000000000..aa6e3becc --- /dev/null +++ b/experimental/zfs/fix-autoconf-redirection-for-dash.patch @@ -0,0 +1,11 @@ +--- a/config/kernel.m4 2020-03-28 09:54:37.851263408 +0000 ++++ b/config/kernel.m4 2020-03-28 09:54:47.004155429 +0000 +@@ -603,7 +603,7 @@ + AC_TRY_COMMAND([ + KBUILD_MODPOST_NOFINAL="$5" KBUILD_MODPOST_WARN="$6" + make modules -k -j$TEST_JOBS -C $LINUX_OBJ $ARCH_UM +- M=$PWD/$1 &>$1/build.log]) ++ M=$PWD/$1 >$1/build.log 2>&1]) + AS_IF([AC_TRY_COMMAND([$2])], [$3], [$4]) + ]) + diff --git a/system/adelie-base/APKBUILD b/system/adelie-base/APKBUILD index 04b100e69..8b06a3699 100644 --- a/system/adelie-base/APKBUILD +++ b/system/adelie-base/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=adelie-base pkgver=0.9.4 -pkgrel=0 +pkgrel=1 pkgdesc="The Adélie Linux Base System" url="https://www.adelielinux.org/" arch="noarch" @@ -13,8 +13,8 @@ _core_depends="apk-tools adelie-keys musl-utils shadow coreutils diffutils findutils util-linux net-tools nvi sed psmisc less tzdata" -depends="adelie-core binutils console-setup debianutils file gettys-openrc - libarchive-tools man-db patch sed sharutils sysklogd zsh" +depends="adelie-core binutils debianutils file gettys-openrc + kbd libarchive-tools man-db patch sed sharutils sysklogd zsh" makedepends="" makedepends_host="$depends" subpackages="adelie-core:core $pkgname-doc $pkgname-posix $pkgname-lsb dev diff --git a/system/asciidoctor/APKBUILD b/system/asciidoctor/APKBUILD index 760f82d81..188751c26 100644 --- a/system/asciidoctor/APKBUILD +++ b/system/asciidoctor/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Seung Soo Mun <hamletmun@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=asciidoctor -pkgver=1.5.8 +pkgver=2.0.10 pkgrel=0 pkgdesc="An implementation of AsciiDoc in Ruby" url="https://rubygems.org/gems/$pkgname" @@ -13,7 +13,7 @@ makedepends="" source="https://rubygems.org/downloads/$pkgname-$pkgver.gem" package() { - local gemdir="$(ruby -e 'puts Gem.default_dir')" + gemdir="$(ruby -e 'puts Gem.default_dir')" gem install \ --local \ @@ -26,7 +26,7 @@ package() { rm -rf "$pkgdir"/$gemdir/cache cd "$pkgdir" - local i; for i in usr/lib/ruby/gems/*/bin/*; do + for i in usr/lib/ruby/gems/*/bin/*; do if [ -e "$i" ]; then mkdir -p "$pkgdir"/usr/bin ln -s /$i "$pkgdir"/usr/bin/ @@ -34,4 +34,4 @@ package() { done } -sha512sums="34ff0df98ff9ebb2d3640629870cd848cf2f4b617564a42e7b30b6cf60c01d1188b4cc695af49550e054c9e833accc1ed5d622b4952ece3da99c8ed98af769ac asciidoctor-1.5.8.gem" +sha512sums="41db1947da60be27079eaef99c76ae7a20797f0291313ac82582466774a569130e995c674f7ef884a05d3d3783d70df3d5ef83b42ded1c722dd9ab7b1a3357ab asciidoctor-2.0.10.gem" diff --git a/system/bc/APKBUILD b/system/bc/APKBUILD index aaa5fc26c..99fb584f3 100644 --- a/system/bc/APKBUILD +++ b/system/bc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=bc -pkgver=2.5.3 +pkgver=2.6.0 pkgrel=0 pkgdesc="An arbitrary precision numeric processing language (calculator)" url="https://github.com/gavinhoward/bc" @@ -25,4 +25,4 @@ package() { make install } -sha512sums="97c0722969c4f2fd907786e0a89f9b403662b1bcdd1aab59418ab3fe140c50584b45eb346008ad94916335418f08433d2634b52b94ae1d7463b665a746f1a608 bc-2.5.3.tar.xz" +sha512sums="809ca124d110bb96ded253fe8799786b48dc5ff8ab540aa97dc8ed43f5a835841d44a71ed082ded17c1df39b6fe5dc2ce7247be0c771b22d7d354aec40434411 bc-2.6.0.tar.xz" diff --git a/system/bison/APKBUILD b/system/bison/APKBUILD index 2c093c6d1..a053dd0b7 100644 --- a/system/bison/APKBUILD +++ b/system/bison/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Łukasz Jendrysik <scadu@yandex.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=bison -pkgver=3.4.2 +pkgver=3.5.3 pkgrel=0 pkgdesc="The GNU general-purpose parser generator" arch="all" @@ -9,7 +9,7 @@ arch="all" license="GPL-3.0+" url="https://www.gnu.org/software/bison/bison.html" depends="m4" -checkdepends="bison flex" +checkdepends="bison flex musl-locales" makedepends="perl" provider_priority=1 subpackages="$pkgname-doc $pkgname-lang" @@ -28,7 +28,7 @@ build() { check() { # Work around for Bison 3.4.x test failure - for _calc in {,lex,mf,rec,rp}calc; do + for _calc in calc lexcalc mfcalc reccalc rpcalc; do make -j1 examples/c/$_calc/$_calc done make check @@ -40,4 +40,4 @@ package() { rmdir -p "$pkgdir"/usr/lib 2>/dev/null || true } -sha512sums="00d2b37187b93100ec4b220ce2752d12ccf68f9d0d39b380d375d36dd8a22aa1d6e60156918f95e4493f9531c5d42d8fad38fd807307b491c1ca7ca4177823d9 bison-3.4.2.tar.xz" +sha512sums="888a1e8d4aeda3ff2d7d0a3a88b63bbfe89bdb718cc64d48c244e05fe6c6cd39526fd88143db379fef3071cf6c2dc2ab2fd69834c24acb23ed5f739584ff6308 bison-3.5.3.tar.xz" diff --git a/system/bubblewrap/APKBUILD b/system/bubblewrap/APKBUILD index c4ae4fa31..866bdb468 100644 --- a/system/bubblewrap/APKBUILD +++ b/system/bubblewrap/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Timo Teräs <timo.teras@iki.fi> # Maintainer: Max Rees <maxcrees@me.com> pkgname=bubblewrap -pkgver=0.3.3 +pkgver=0.4.1 pkgrel=0 pkgdesc="Unprivileged sandboxing tool" url="https://github.com/projectatomic/bubblewrap" @@ -9,21 +9,23 @@ arch="all" options="!check suid" # requires suid to already be set in order to check license="LGPL-2.0+" makedepends="autoconf automake libcap-dev docbook-xsl" -checkdepends="sudo" +checkdepends="python3 sudo" subpackages="$pkgname-nosuid $pkgname-doc $pkgname-bash-completion:bashcomp:noarch" -source="bubblewrap-$pkgver.tar.gz::https://github.com/projectatomic/bubblewrap/archive/v$pkgver.tar.gz +source="bubblewrap-$pkgver.tar.gz::https://github.com/containers/bubblewrap/archive/v$pkgver.tar.gz realpath-workaround.patch - musl-fixes.patch - tests.patch" + tests.patch + " # secfixes: # 0.3.3-r0: -# - CVE-2019-12439 +# - CVE-2019-12439 +# 0.4.1-r0: +# - GHSA-j2qp-rvxj-43vj prepare() { - srcdir= NOCONFIGURE=1 ./autogen.sh default_prepare + NOCONFIGURE=1 ./autogen.sh } build() { @@ -39,14 +41,16 @@ build() { } check() { - # Uses sudo to chown root and setuid $builddir/test-bwrap + # 1. chown root and chmod u+s $builddir/test-bwrap + # 2. Run abuild check (suid test) + # 3. Unset permissions on test-bwrap + # 4. Run abuild check again (nosuid test) # - # As of 0.3.3-r0, all tests pass on ppc64 except those relating - # to bind mounts over symlinks. Those tests fail because musl's - # realpath depends on the availability of /proc, which is not - # available in the middle of the setup procedure since pivot_root - # has been performed at least once. They have been patched to be - # skipped. + # As of 0.4.1, all tests pass except those relating to bind mounts + # over symlinks. Those tests fail because musl's realpath depends on + # the availability of /proc, which is not available in the middle of + # the setup procedure since pivot_root has been performed at least + # once. They have been patched to be skipped. make check } @@ -72,7 +76,6 @@ bashcomp() { mv "$pkgdir"/usr/share/bash-completion/ "$subpkgdir"/usr/share/ } -sha512sums="b1c38fad90ddaa23a5f2dd49f9ec3f9d9af7426af321ae9f7c43dd64f11a448b3502942a42112a1c6ebf8a4dea2e1196b17c31cca9c2f119dc2e0c1674c345ae bubblewrap-0.3.3.tar.gz +sha512sums="83e036e242503e1364b2d0052bba5127175891203c57bd22ba47a1b1e934fdca64ca620cd0e48c903fa2bc7cdcf92339b8a7fcb8716b54c2e28034b6d6f86adc bubblewrap-0.4.1.tar.gz 400a0446670ebf80f16739f1a7a2878aadc3099424f957ba09ec3df780506c23a11368f0578c9e352d7ca6473fa713df826fad7a20c50338aa5f9fa9ac6b84a4 realpath-workaround.patch -f59cda3b09dd99db9ca6d97099a15bb2523e054063d677502317ae3165ba2e32105a0ae8f877afc3827bd28d093c9d9d413270f4c87d9fe5f26f3eee670d916e musl-fixes.patch d572a6296729ab192dd4f04707e0271df600d565897ce089b7f00b9ae6c62e71a087e864b4c4972e0a64aeb222a337ff4ed95560620c200cc44534db1ca79efd tests.patch" diff --git a/system/bubblewrap/musl-fixes.patch b/system/bubblewrap/musl-fixes.patch deleted file mode 100644 index ecf626331..000000000 --- a/system/bubblewrap/musl-fixes.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/config.h.in -+++ b/config.h.in -@@ -102,3 +102,14 @@ - - /* Define to 1 if you need to in order for `stat' and other things to work. */ - #undef _POSIX_SOURCE -+ -+/* taken from glibc unistd.h and fixes musl */ -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ diff --git a/system/check/APKBUILD b/system/check/APKBUILD index 0cba779fa..7c07b68df 100644 --- a/system/check/APKBUILD +++ b/system/check/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Fabian Affolter <fabian@affolter-engineering.ch> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=check -pkgver=0.13.0 +pkgver=0.14.0 pkgrel=0 pkgdesc="A unit test framework for C" url="https://libcheck.github.io/check/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="9e3a3b4b2e1aae02f6481a3d944a5a9216c1f03d85a2bbd63c05d047095fe16b78e5c4094b464fe531650daba24c58d7343f7ec059ce0e127e9aff1ff86213d0 check-0.13.0.tar.gz" +sha512sums="07fc85b5eecffeb407f554c0cb737126ed6d68ba0db3d74c14697505f2b410496ff72311f08bbf43d7af1c971f0475e776966e320bfb3fe00cde1ecbe1d6f367 check-0.14.0.tar.gz" diff --git a/system/console-setup/APKBUILD b/system/console-setup/APKBUILD deleted file mode 100644 index 3a49f1c50..000000000 --- a/system/console-setup/APKBUILD +++ /dev/null @@ -1,48 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=console-setup -pkgver=1.194 -pkgrel=0 -pkgdesc="Tools for configuring the console using X Window System key maps" -url="https://salsa.debian.org/installer-team/console-setup" -arch="noarch" -options="!check" # No test suite. -license="MIT AND GPL-2.0+ AND BSD-3-Clause" -depends="ckbcomp kbd" -makedepends="perl" -subpackages="$pkgname-doc console-fonts:fonts console-keymaps:keymaps - $pkgname-openrc ckbcomp" -source="http://ftp.de.debian.org/debian/pool/main/c/$pkgname/${pkgname}_$pkgver.tar.xz - console-setup.initd - " - -build() { - make build-linux -} - -package() { - make prefix="$pkgdir/usr" etcdir="$pkgdir/etc" xkbdir= install-linux - install -D -m755 "$srcdir"/console-setup.initd "$pkgdir"/etc/init.d/console-setup -} - -fonts() { - pkgdesc="Console fonts for use with $pkgname" - mkdir -p "$subpkgdir"/usr/share - mv "$pkgdir"/usr/share/consolefonts "$subpkgdir"/usr/share/ -} - -keymaps() { - pkgdesc="Keyboard layouts for use with $pkgname" - mkdir -p "$subpkgdir"/etc/console-setup - mv "$pkgdir"/etc/console-setup/ckb "$subpkgdir"/etc/console-setup/ -} - -ckbcomp() { - pkgdesc="XKB keyboard layout translation utility" - depends="perl" - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/ckbcomp "$subpkgdir"/usr/bin/ -} - -sha512sums="fe71480b45e8c88c9e46264f734d0eb21023a6afedfa6412551bb40f7525f14823befe726efc37f152a36d9a8de3aba00cd41f9fe42bcea2780c5cf8764a6b80 console-setup_1.194.tar.xz -3b8e2c9d8551f9a51bcd33e58771a4f55ff2840f8fe392e0070bd2b6a3911cd9ed9377873538f6904fd99836ac4e0280c712be69d275aae9183dd12ff7efddae console-setup.initd" diff --git a/system/console-setup/console-setup.initd b/system/console-setup/console-setup.initd deleted file mode 100644 index bf3479566..000000000 --- a/system/console-setup/console-setup.initd +++ /dev/null @@ -1,32 +0,0 @@ -#!/sbin/openrc-run -# Copyright (c) 2007-2015 The OpenRC Authors. -# See the Authors file at the top-level directory of this distribution and -# https://github.com/OpenRC/openrc/blob/master/AUTHORS -# -# This file is part of OpenRC. It is subject to the license terms in -# the LICENSE file found in the top-level directory of this -# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE -# This file may not be copied, modified, propagated, or distributed -# except according to the terms contained in the LICENSE file. - -description="Applies a keymap and font for the consoles." - -depend() -{ - provide keymaps - need localmount termencoding - after bootmisc - keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu -} - -start() -{ - # Force linux keycodes for PPC. - if [ -f /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes ]; then - echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes - fi - - ebegin "Loading default key mappings / font" - setupcon - eend $? "Error loading key mappings / font" || return $? -} diff --git a/system/coreutils/APKBUILD b/system/coreutils/APKBUILD index 23d96edbd..71c10cca4 100644 --- a/system/coreutils/APKBUILD +++ b/system/coreutils/APKBUILD @@ -2,8 +2,8 @@ # Contributor: Michael Mason <ms13sp@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=coreutils -pkgver=8.31 -pkgrel=4 +pkgver=8.32 +pkgrel=0 pkgdesc="Basic file, shell, and text manipulation utilities" url="https://www.gnu.org/software/coreutils/" arch="all" @@ -15,12 +15,13 @@ subpackages="$pkgname-doc" [ "${CBUILD}" = "${CHOST}" ] && subpackages="$subpackages $pkgname-lang" install="$pkgname.post-deinstall" source="https://ftp.gnu.org/gnu/coreutils/$pkgname-$pkgver.tar.xz - date-debug.patch + cp-dont-delete.patch disable-csplit-io-err-test.patch disable-mbrtowc-test.patch gnulib-tests-dont-require-gpg-passphrase.patch gnulib-test-fixes.patch localename-test-fix.patch + ls-removed-dirs.patch test-df-symlink-bindmount.patch " [ "${CBUILD}" != "${CHOST}" ] && source="$source @@ -68,13 +69,14 @@ package() { done } -sha512sums="ef8941dae845bbf5ae5838bc49e44554a766302930601aada6fa594e8088f0fbad74e481ee392ff89633e68b99e4da3f761fcb5d31ee3b233d540fe2a2d4e1af coreutils-8.31.tar.xz +sha512sums="1c8f3584efd61b4b02e7ac5db8e103b63cfb2063432caaf1e64cb2dcc56d8c657d1133bbf10bd41468d6a1f31142e6caa81d16ae68fa3e6e84075c253613a145 coreutils-8.32.tar.xz +96eecaaea757c0a39136733b6b5a9d97b869c50aa41d2052a293544a59a959de7dfa0412f5613e52ff946da42df5b50403b30c88c0a1a882690219fd4ee2efa9 cp-dont-delete.patch bd8b5cecba59eba30458c8afa895877d39a987b989bc06b70cd6836e0ef684677aaadcb4949b58a713779fe1df1e15e3903e9be14e306671b86b69018b75de8b disable-csplit-io-err-test.patch -532ef8210261437855ba3e2fc72ec57b0e0252b2b0f7817990c9629613ece2cdd86cf30aa049f3cff6fbda12ed3bb9a0db3a3642475378ae44ce319bdf005d9b disable-mbrtowc-test.patch -86944e9ea5493c5b21ab62562a63aa134952738297b21cfb2e8f751db4a695ff25ee1592eb231ed1bb80999bc31f7504c7feffde2e93b4e068c05c44ac83cbdf localename-test-fix.patch +595be7f580f8906467624959c7eddbd6d7007571d92668b6a1ea5543b73764035b44b02ab5f352c67ec6562a368f220af445edd0a0965fb9826bccfd25ddbdba disable-mbrtowc-test.patch fd97fccd661befc558b3afb3e32c82dd2cef511a05e6129d49540599297c1b59ab1f109e63a12f585a2348c26c28fb98330c348829d1fe61cf8149d0dd1c989c gnulib-tests-dont-require-gpg-passphrase.patch 08f6de0e4c1615503a276fb7eb8abb3f1a996d3e9e4c789deb1507e9ac66364e3993591e37ee444d239c64bf3b7d61f909c0da5ead3047b75623cd846e9f868f gnulib-test-fixes.patch -aac3a89b27a7854fbf483e155df9133c3d33a0f36bd55d5606559a7781f9d27d5c17779ea427142311749252767097bf92ec22d4cf86b510568c186da84ff16c date-debug.patch +b1509e5678a05f24d6e764c047546e5e34a7fbd5edb59c7debedb144a0096d8ac247c7e2722a5f68c90751e5280bec743c9a6ed3e1433c1916294d68d7bca109 localename-test-fix.patch +c7e7a03ed074d74fa836eaa6372d170b50d5719914160d9a835db25fb958e1fcfa4530231abd8f9b2323958a510750a8a5f65a5cea56555fa8a39dd8abd6e8cc ls-removed-dirs.patch 0b90b7721dd01bd22eba50f73bc756930dd4a8bc78ec408ce7f155a02b520375023897b9d12872030735d908208b912ea7adfac9e8b4d055e617873d982eef56 test-df-symlink-bindmount.patch" [ "${CBUILD}" != "${CHOST}" ] && sha512sums=" bae804f057252c25452ac178c545dc2c4b4775cbfbdcfd4775edd1a4ed6507882bfac39e2b11ad01b74230ca48d761bf62f11bde5bcbc35a6e5a61cbe4a46e36 051_all_coreutils-mangen.patch diff --git a/system/coreutils/cp-dont-delete.patch b/system/coreutils/cp-dont-delete.patch new file mode 100644 index 000000000..a60608952 --- /dev/null +++ b/system/coreutils/cp-dont-delete.patch @@ -0,0 +1,72 @@ +From 7b5f0fa47cd04c84975250d5b5da7c98e097e99f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com> +Date: Wed, 1 Apr 2020 12:51:34 +0100 +Subject: cp: ensure --attributes-only doesn't remove files + +* src/copy.c (copy_internal): Ensure we don't unlink the destination +unless explicitly requested. +* tests/cp/attr-existing.sh: Add test cases. +Fixes https://bugs.gnu.org/40352 +--- + NEWS | 7 +++++++ + src/copy.c | 9 +++++---- + tests/cp/attr-existing.sh | 21 ++++++++++++++++++--- + 3 files changed, 30 insertions(+), 7 deletions(-) + +diff --git a/src/copy.c b/src/copy.c +index 6e5efc708..54601ce07 100644 +--- a/src/copy.c ++++ b/src/copy.c +@@ -2211,10 +2211,11 @@ copy_internal (char const *src_name, char const *dst_name, + /* Never unlink dst_name when in move mode. */ + && ! x->move_mode + && (x->unlink_dest_before_opening +- || (x->preserve_links && 1 < dst_sb.st_nlink) +- || (x->dereference == DEREF_NEVER +- && ! S_ISREG (src_sb.st_mode)) +- )) ++ || (x->data_copy_required ++ && ((x->preserve_links && 1 < dst_sb.st_nlink) ++ || (x->dereference == DEREF_NEVER ++ && ! S_ISREG (src_sb.st_mode)))) ++ )) + { + if (unlink (dst_name) != 0 && errno != ENOENT) + { +diff --git a/tests/cp/attr-existing.sh b/tests/cp/attr-existing.sh +index 59ce64183..14fc8445c 100755 +--- a/tests/cp/attr-existing.sh ++++ b/tests/cp/attr-existing.sh +@@ -19,11 +19,26 @@ + . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src + print_ver_ cp + +-printf '1' > file1 +-printf '2' > file2 +-printf '2' > file2.exp ++printf '1' > file1 || framework_failure_ ++printf '2' > file2 || framework_failure_ ++printf '2' > file2.exp || framework_failure_ + + cp --attributes-only file1 file2 || fail=1 + cmp file2 file2.exp || fail=1 + ++# coreutils v8.32 and before would remove destination files ++# if hardlinked or the source was not a regular file. ++ln file2 link2 || framework_failure_ ++cp -a --attributes-only file1 file2 || fail=1 ++cmp file2 file2.exp || fail=1 ++ ++ln -s file1 sym1 || framework_failure_ ++returns_ 1 cp -a --attributes-only sym1 file2 || fail=1 ++cmp file2 file2.exp || fail=1 ++ ++# One can still force removal though ++cp -a --remove-destination --attributes-only sym1 file2 || fail=1 ++test -L file2 || fail=1 ++cmp file1 file2 || fail=1 ++ + Exit $fail +-- +cgit v1.2.1 + diff --git a/system/coreutils/date-debug.patch b/system/coreutils/date-debug.patch deleted file mode 100644 index fc4977e72..000000000 --- a/system/coreutils/date-debug.patch +++ /dev/null @@ -1,56 +0,0 @@ ->From 402c3646e19c199130e7a6db5238cf5908e51fb8 Mon Sep 17 00:00:00 2001 -From: Assaf Gordon <assafgordon@gmail.com> -Date: Mon, 13 May 2019 16:37:40 -0600 -Subject: [PATCH] tests: avoid false-positive in date-debug test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When debugging an invalid date due to DST switching, the intermediate -'normalized time' should not be checked - its value can differ between -systems (e.g. glibc vs musl). - -Reported by Niklas Hambüchen in -https://lists.gnu.org/r/coreutils/2019-05/msg00031.html -Analyzed by Rich Felker in -https://lists.gnu.org/r/coreutils/2019-05/msg00039.html - -* tests/misc/date-debug.sh: Replace the exact normalized time -with 'XX:XX:XX' so different values would not trigger test failure. ---- - tests/misc/date-debug.sh | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/tests/misc/date-debug.sh b/tests/misc/date-debug.sh -index aa47f1abb..2ce6f4ce8 100755 ---- a/tests/misc/date-debug.sh -+++ b/tests/misc/date-debug.sh -@@ -71,7 +71,7 @@ date: input timezone: TZ="America/Edmonton" in date string - date: using specified time as starting value: '02:30:00' - date: error: invalid date/time value: - date: user provided time: '(Y-M-D) 2006-04-02 02:30:00' --date: normalized time: '(Y-M-D) 2006-04-02 03:30:00' -+date: normalized time: '(Y-M-D) 2006-04-02 XX:XX:XX' - date: -- - date: possible reasons: - date: non-existing due to daylight-saving time; -@@ -81,7 +81,14 @@ date: invalid date 'TZ="America/Edmonton" 2006-04-02 02:30:00' - EOF - - # date should return 1 (error) for invalid date --returns_ 1 date --debug -d "$in2" >out2 2>&1 || fail=1 -+returns_ 1 date --debug -d "$in2" >out2-t 2>&1 || fail=1 -+ -+# The output line of "normalized time" can differ between systems -+# (e.g. glibc vs musl) and should not be checked. -+# See: https://lists.gnu.org/archive/html/coreutils/2019-05/msg00039.html -+sed '/normalized time:/s/ [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/ XX:XX:XX/' \ -+ out2-t > out2 || framework_failure_ -+ - compare exp2 out2 || fail=1 - - ## --- -2.11.0 - - diff --git a/system/coreutils/disable-mbrtowc-test.patch b/system/coreutils/disable-mbrtowc-test.patch index d338e0324..fb595df0e 100644 --- a/system/coreutils/disable-mbrtowc-test.patch +++ b/system/coreutils/disable-mbrtowc-test.patch @@ -4,7 +4,7 @@ #!/bin/sh -# Test whether the POSIX locale has encoding errors. -LC_ALL=C \ --./test-mbrtowc${EXEEXT} 5 || exit +-${CHECKER} ./test-mbrtowc${EXEEXT} 5 || exit -LC_ALL=POSIX \ --./test-mbrtowc${EXEEXT} 5 +-${CHECKER} ./test-mbrtowc${EXEEXT} 5 +exit 77 diff --git a/system/coreutils/localename-test-fix.patch b/system/coreutils/localename-test-fix.patch index ff89319c7..17aaa226f 100644 --- a/system/coreutils/localename-test-fix.patch +++ b/system/coreutils/localename-test-fix.patch @@ -8,7 +8,7 @@ # if !defined IN_LIBINTL --- coreutils-8.27/gnulib-tests/localename.c.old 2016-12-31 13:54:43.000000000 +0000 +++ coreutils-8.27/gnulib-tests/localename.c 2017-07-30 16:40:47.098541270 +0000 -@@ -2692,16 +2692,19 @@ +@@ -3111,16 +3111,19 @@ locale_t thread_locale = uselocale (NULL); if (thread_locale != LC_GLOBAL_LOCALE) { diff --git a/system/coreutils/ls-removed-dirs.patch b/system/coreutils/ls-removed-dirs.patch new file mode 100644 index 000000000..59808345c --- /dev/null +++ b/system/coreutils/ls-removed-dirs.patch @@ -0,0 +1,99 @@ +From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Thu, 5 Mar 2020 17:25:29 -0800 +Subject: ls: restore 8.31 behavior on removed directories + +* src/ls.c: Do not include <sys/sycall.h> +(print_dir): Don't worry about whether the directory is removed. +* tests/ls/removed-directory.sh: Adjust to match new (i.e., old) +behavior. +--- + NEWS | 6 ++++++ + src/ls.c | 22 ---------------------- + tests/ls/removed-directory.sh | 10 ++-------- + 3 files changed, 8 insertions(+), 30 deletions(-) + +diff --git a/src/ls.c b/src/ls.c +index 24b983287..4acf5f44d 100644 +--- a/src/ls.c ++++ b/src/ls.c +@@ -49,10 +49,6 @@ + # include <sys/ptem.h> + #endif + +-#ifdef __linux__ +-# include <sys/syscall.h> +-#endif +- + #include <stdio.h> + #include <assert.h> + #include <setjmp.h> +@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + struct dirent *next; + uintmax_t total_blocks = 0; + static bool first = true; +- bool found_any_entries = false; + + errno = 0; + dirp = opendir (name); +@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + next = readdir (dirp); + if (next) + { +- found_any_entries = true; + if (! file_ignored (next->d_name)) + { + enum filetype type = unknown; +@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + if (errno != EOVERFLOW) + break; + } +-#ifdef __linux__ +- else if (! found_any_entries) +- { +- /* If readdir finds no directory entries at all, not even "." or +- "..", then double check that the directory exists. */ +- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1 +- && errno != EINVAL) +- { +- /* We exclude EINVAL as that pertains to buffer handling, +- and we've passed NULL as the buffer for simplicity. +- ENOENT is returned if appropriate before buffer handling. */ +- file_failure (command_line_arg, _("reading directory %s"), name); +- } +- break; +- } +-#endif + else + break; + +diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh +index e8c835dab..fe8f929a1 100755 +--- a/tests/ls/removed-directory.sh ++++ b/tests/ls/removed-directory.sh +@@ -26,20 +26,14 @@ case $host_triplet in + *) skip_ 'non linux kernel' ;; + esac + +-LS_FAILURE=2 +- +-cat <<\EOF >exp-err || framework_failure_ +-ls: reading directory '.': No such file or directory +-EOF +- + cwd=$(pwd) + mkdir d || framework_failure_ + cd d || framework_failure_ + rmdir ../d || framework_failure_ + +-returns_ $LS_FAILURE ls >../out 2>../err || fail=1 ++ls >../out 2>../err || fail=1 + cd "$cwd" || framework_failure_ + compare /dev/null out || fail=1 +-compare exp-err err || fail=1 ++compare /dev/null err || fail=1 + + Exit $fail +-- +cgit v1.2.1 + diff --git a/system/e2fsprogs/APKBUILD b/system/e2fsprogs/APKBUILD index c72ff8c63..6ecbc37f4 100644 --- a/system/e2fsprogs/APKBUILD +++ b/system/e2fsprogs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Valery Kartel <valery.kartel@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=e2fsprogs -pkgver=1.45.5 +pkgver=1.45.6 pkgrel=0 pkgdesc="Ext2/3/4 filesystem utilities" url="http://e2fsprogs.sourceforge.net" @@ -59,6 +59,6 @@ libcom_err() { mv "$pkgdir"/lib/libcom_err* "$subpkgdir"/lib/ } -sha512sums="d1a8611b525742387061f390fb24825dfa175997cc7db05decea913fcc7b97a95a3e787091f2920d4a7d4eb1d813568af734a1610229ead09bcbf9f3e262e4ce e2fsprogs-1.45.5.tar.xz +sha512sums="f3abfb6fe7ef632bb81152e2127d601cadd3fa93162178576a1d5ed82c2286627184b207b85a5b2a1793db0addf0885dfc3b9523bb340443224caf9c6d613b84 e2fsprogs-1.45.6.tar.xz 34ca45c64a132bb4b507cd4ffb763c6d1b7979eccfed20f63417e514871b47639d32f2a3ecff090713c21a0f02ac503d5093960c80401d64081c592d01af279d header-fix.patch 5f8ff2f096da4b445edff72dfa03f27dd8bf5b6733e724205f5661e32fd0bae92849a1aa53e20c6b60c026dc5ed68567b7866fade1ecd0187718509f03fe9145 time64.patch" diff --git a/system/easy-kernel/APKBUILD b/system/easy-kernel/APKBUILD index c840c960e..72d4a1c48 100644 --- a/system/easy-kernel/APKBUILD +++ b/system/easy-kernel/APKBUILD @@ -5,7 +5,7 @@ _kflavour="" _patchver=0 _pkgname=easy-kernel$_kflavour pkgver=5.4.5 -pkgrel=2 +pkgrel=3 pkgname=$_pkgname-$pkgver-mc$_patchver pkgdesc="The Linux kernel, packaged for your convenience" url="https://kernel.org/" @@ -134,13 +134,13 @@ src() { sha512sums="9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f linux-5.4.tar.xz 37c85fcec3bd54d586523f74cfb56db6158152cfbb407469f0da12b24e5de01cbe273ad4e59d41df75011c163922dadf2fe5e919cb6b16f74872e80c28bba1b1 linux-5.4-mc0-patches.tar.xz -8278765408dbeb860f2b125207f4e47f52c323d7b1596da426510af8a8acdf36decde26d581a902496042b8b7834f5377c4327458b2038f6a10eb653ce7208df config-ppc64 -89b7e2055586a3a71674ebe41cb3f6302b318cc24d8794a970150a1dfe236df4838c8126d6e43b951bbab2680a83b391b03b74317aa794b0371e91426c198008 config-ppc -072143e5cfb4ba60b2af8de923e5ab8c71224ffee4a97ce6f3a35223afd83e8d86faa15f1d86219d3f8cc4c1b9c2eb4bdc5b0421be7501e5b00916bf63aa0763 config-x86_64 -c699a9499058a2df0692272bd15d7398745459458eb62c99813e0b4de28f359117c6c727be77d75ae08db23cb1824a3bf1f045aaadf88bc53b8267b2c0f6992f config-pmmx -9d5ae66c32060c90074d2e217ade8dc700262bb737a46e5d7242cb24bb98b54c3d27eb19685fcef1875fbb6bd2283f2a8fda8c37940ea49fa58e891524893046 config-aarch64 -67d61164e5cfebb4127ba3ef265339bfce834f9b8bca1f82d4acdd5cefb673fdb456a837c090667fd6659a28fe7a9480dbbfceac6550e24245c260561cdc6070 config-sparc64 -7b240485f3adc7da4f08612d11c3001e40ab7b50cfdf492eb23aed335bcbf742c92afa39aa1764d8f85599d009a07c8dca77a1e19676d4729d232410bdd36905 config-m68k +dcf8bc3638b3234df3d66f5b804938113e859ffd1df4c7b689f476ea5d9c43d5df9c58dbb8b4def61e8f720554d9d11db6d6065ed5ded7482d5bb088d838f23e config-ppc64 +7b251676a1e497f3bad5d93744af9ec181ee792ca90f70207116de82e059c901309273e7ca932ed6b336f67338d33efc20aa91ec563e9acd8c2539520ff70f4e config-ppc +df6ad91d6889bdb5bd0fe8dc8dcddc1d133e290ca900702420160e5a3b8c1edaa3d73cfb7ecbf79e0dd53637d926254859e3cde7d12921f249bee76cb17f38fb config-x86_64 +a0fdd57f57ce52caa83f962a6352c843882ecc9375d9dfa922c389d46f785f358016d5112a2a447475f890727f2a44533dd8e4ebea1e6a48fcc0aad78ea4dd2f config-pmmx +e5f8f07c588ebbaa53166711b9940aa6d14a72e017df50300f3817c34a1abc2931f191431246d313ba85bc691c97f5094e01460ed98f4dbcd6e4780eefec10bc config-aarch64 +4527b7951620953e83e824c41e2dbc5c49e92f13709500fd849813dc157897da33d177b901ce1304b317a51a7c19a561a891a02e463f98236ff9e6957131d65a config-sparc64 +581da20b2e0db48fcb29fe97ce6cf5d2e6a7092cbe2fd1b48cbdaddc1bc15d24e2470e56394624ff61b94b6ccf25035d07a18d9cbc4c16ac7f2865913a13c0d8 config-m68k 4b2cd7dd0010aaec617c756e7587be7fad6ff0ab3dbc1ed038e3dc72c9308fc9e347c6e5296c30711d914e286aa254600586e2ad954a5da226e6e4c1522b75b5 asound-syntax-fix.patch 61dcd633d72876566b7738dd08856b26850c935b4a81ab2364711335fe01c397083160f530b3382bbc239c6a8135be6a032e93039083ec2cefdae2902429a2e0 kernel.h 6f309a18c65c991240265afd200cc79a706f5d9e5d072838a9a641ab3676a5e4c32033f9767fc723ff4c45ee462169a0f77bd7dfe63b547d521dadd073f827a7 uapi-iphdr.patch" diff --git a/system/easy-kernel/config-aarch64 b/system/easy-kernel/config-aarch64 index 4a6a7889b..9241599cd 100644 --- a/system/easy-kernel/config-aarch64 +++ b/system/easy-kernel/config-aarch64 @@ -7014,7 +7014,9 @@ CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DFS_UPCALL is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y diff --git a/system/easy-kernel/config-m68k b/system/easy-kernel/config-m68k index 1b8be2d03..a180ea561 100644 --- a/system/easy-kernel/config-m68k +++ b/system/easy-kernel/config-m68k @@ -2629,7 +2629,9 @@ CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y # CONFIG_CIFS_DFS_UPCALL is not set CONFIG_CODA_FS=m # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y diff --git a/system/easy-kernel/config-pmmx b/system/easy-kernel/config-pmmx index 68358793f..c27e17981 100644 --- a/system/easy-kernel/config-pmmx +++ b/system/easy-kernel/config-pmmx @@ -6680,7 +6680,9 @@ CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DFS_UPCALL is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y diff --git a/system/easy-kernel/config-ppc b/system/easy-kernel/config-ppc index 60dfb0409..816582f7f 100644 --- a/system/easy-kernel/config-ppc +++ b/system/easy-kernel/config-ppc @@ -5262,7 +5262,9 @@ CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DFS_UPCALL is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y diff --git a/system/easy-kernel/config-ppc64 b/system/easy-kernel/config-ppc64 index 1bdb0d81b..c17fb433c 100644 --- a/system/easy-kernel/config-ppc64 +++ b/system/easy-kernel/config-ppc64 @@ -5179,7 +5179,9 @@ CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DFS_UPCALL is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y diff --git a/system/easy-kernel/config-sparc64 b/system/easy-kernel/config-sparc64 index 8230ed3f2..c4e4f71d9 100644 --- a/system/easy-kernel/config-sparc64 +++ b/system/easy-kernel/config-sparc64 @@ -4694,7 +4694,9 @@ CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DFS_UPCALL is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y diff --git a/system/easy-kernel/config-x86_64 b/system/easy-kernel/config-x86_64 index 84397a343..b3df96c68 100644 --- a/system/easy-kernel/config-x86_64 +++ b/system/easy-kernel/config-x86_64 @@ -6842,7 +6842,9 @@ CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DFS_UPCALL is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y diff --git a/system/execline/APKBUILD b/system/execline/APKBUILD index 3e903ee56..bc7328ea3 100644 --- a/system/execline/APKBUILD +++ b/system/execline/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=execline -pkgver=2.5.3.0 +pkgver=2.6.0.2 pkgrel=0 pkgdesc="A small scripting language for non-interactive scripts" url="https://skarnet.org/software/$pkgname/" @@ -20,7 +20,8 @@ build() { --enable-allstatic \ --enable-static-libc \ --libdir=/usr/lib \ - --with-dynlib=/lib + --with-dynlib=/lib \ + --enable-pedantic-posix make } @@ -61,4 +62,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="75b584e2365288bb1d05fd67e390fab1b6ccf48cb0a2ccbfb84a7d22ddf6957c9c591ab165542ed180b2ff1ef9ceb2a16cbae569e69c5dd5f20e52be092cff15 execline-2.5.3.0.tar.gz" +sha512sums="915823af0d557fc7a181e088ce319568e62ea4bf743704e498786422c97b991e6b09447c7cff7d7dda520d391773ef4b2fea68e44479c02766966256719bb4c0 execline-2.6.0.2.tar.gz" diff --git a/system/gettext-tiny/APKBUILD b/system/gettext-tiny/APKBUILD index ce62d5c99..a1d199ecd 100644 --- a/system/gettext-tiny/APKBUILD +++ b/system/gettext-tiny/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gettext-tiny pkgver=0.3.1_git20191130 -pkgrel=2 +pkgrel=3 pkgdesc="An internationalisation and localisation system" url="https://github.com/sabotage-linux/gettext-tiny" arch="all" @@ -16,6 +16,7 @@ source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz line-length.patch respect-cflags.patch stop-doing-macro-crap.patch + msgfmt-exit.patch " build() { @@ -30,4 +31,5 @@ sha512sums="a318135626a0403a30a81fa475f7e1878b8af5a87053b0e00876c73b591508f3cf1e 8efbf9c11429ab26f3c15e00c34258200598833b8f846a23e4c8d95023c2184d9dcf9cbb48d58eec1604442691af76e6f8e904ad7348016c393257aa30eae7cd keyword.patch 0a26a8481bffe2ce8c73f7f500963aea9db8379fb87849142d8efabf1656604b22f6ad345483256f14c388466f2f44e5924b9f65d88f26867a753a96d1529270 line-length.patch b4e7db4e415f6bc31f2214f2044506ad18ea0bd3cae4200d93bbd34aa493c7478a7f953d0a7e08f29f0fd5a5d7b7cbfa2bcfd5692c37e423706a1c193239bf1d respect-cflags.patch -cd4cfc8cc6ea998f1e33ef666e3b9c3de3f3253994bccc942b177773c94f785e3892cb7d5f34bec1102dc7558236c07c5eac90e15d755e12ee06836336373526 stop-doing-macro-crap.patch" +cd4cfc8cc6ea998f1e33ef666e3b9c3de3f3253994bccc942b177773c94f785e3892cb7d5f34bec1102dc7558236c07c5eac90e15d755e12ee06836336373526 stop-doing-macro-crap.patch +0037a1347f9ac2aa6f68160441b83c35ce8128ca140be93f3c508e6cd02161e49edff82034877ed11c127886337455ff4ea941b6a14168c2ca69aa82a7cff8a5 msgfmt-exit.patch" diff --git a/system/gettext-tiny/msgfmt-exit.patch b/system/gettext-tiny/msgfmt-exit.patch new file mode 100644 index 000000000..f5ff3fbb8 --- /dev/null +++ b/system/gettext-tiny/msgfmt-exit.patch @@ -0,0 +1,36 @@ +From 0e62c2588742cfffd3dc81c09ecc8488c0ce25b9 Mon Sep 17 00:00:00 2001 +From: Max Rees <maxcrees@me.com> +Date: Sun, 22 Mar 2020 20:20:15 -0500 +Subject: [PATCH] msgfmt: exit(1) if incorrectly used + +This prevents builds from continuing seemingly fine when they are +actually not using this version of msgfmt correctly. +--- + src/msgfmt.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/msgfmt.c b/src/msgfmt.c +index aa16c5e..3de9a56 100644 +--- a/src/msgfmt.c ++++ b/src/msgfmt.c +@@ -278,7 +278,7 @@ void set_file(int out, char* fn, FILE** dest) { + int main(int argc, char**argv) { + if (argc == 1) { + syntax(); +- return 0; ++ return 1; + } + + int arg = 1; +@@ -376,7 +376,7 @@ int main(int argc, char**argv) { + streq(A+1, "D") + ) { + syntax(); +- return 0; ++ return 1; + } else if (streq(A+1, "l")) { + arg++; + locale = A; +-- +2.25.1 + diff --git a/system/git/APKBUILD b/system/git/APKBUILD index 45d7b033b..04762f7ef 100644 --- a/system/git/APKBUILD +++ b/system/git/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Łukasz Jendrysik <scadu@yandex.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=git -pkgver=2.25.1 +pkgver=2.25.4 pkgrel=0 pkgdesc="Distributed version control system" url="https://www.git-scm.com/" @@ -21,7 +21,6 @@ subpackages="$pkgname-doc $pkgname-daemon $pkgname-gitweb $pkgname-subtree::noarch - $pkgname-subtree-doc:subtree_doc:noarch $pkgname-lang " replaces="git-perl perl-git" @@ -33,20 +32,24 @@ source="https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.xz _gitcoredir=/usr/libexec/git-core # secfixes: -# 2.24.1: -# - CVE-2019-1348 -# - CVE-2019-1349 -# - CVE-2019-1350 -# - CVE-2019-1351 -# - CVE-2019-1352 -# - CVE-2019-1353 -# - CVE-2019-1354 -# - CVE-2019-1387 -# - CVE-2019-19604 -# 2.19.2: -# - CVE-2018-19486 -# 2.14.1: -# - CVE-2017-1000117 +# 2.25.4-r0: +# - CVE-2020-11008 +# 2.25.3-r0: +# - CVE-2020-5260 +# 2.24.1-r0: +# - CVE-2019-1348 +# - CVE-2019-1349 +# - CVE-2019-1350 +# - CVE-2019-1351 +# - CVE-2019-1352 +# - CVE-2019-1353 +# - CVE-2019-1354 +# - CVE-2019-1387 +# - CVE-2019-19604 +# 2.19.2-r0: +# - CVE-2018-19486 +# 2.14.1-r0: +# - CVE-2017-1000117 prepare() { default_prepare @@ -163,17 +166,7 @@ subtree() { make install prefix=/usr DESTDIR="$subpkgdir" } -subtree_doc() { - depends="" - pkgdesc="Split git repository into subtrees (documentation)" - replaces="" - - cd "$builddir"/contrib/subtree - make install-man prefix=/usr DESTDIR="$subpkgdir" - gzip -9 "$subpkgdir"/usr/share/man/man1/git-subtree.1 -} - -sha512sums="15241143acfd8542d85d2709ac3c80dbd6e8d5234438f70c4f33cc71a2bdec3e32938df7f6351e2746d570b021d3bd0b70474ea4beec0c51d1fc45f9c287b344 git-2.25.1.tar.xz +sha512sums="ca2ecc561d06dbb393fe47d445f0d69423d114766d9bcc125ef1d6d37e350ad903c456540cea420c1a51635b750cde3901e4196f29ce95b315fda11270173450 git-2.25.4.tar.xz 0a0935d876024d96156df3aeec06b47fd9e370484d4552786c450cb500ae671a631e64c30994ec39f43a2f313f75d68909688ea92b47327d1af65e365dc77480 dont-test-other-encodings.patch 89528cdd14c51fd568aa61cf6c5eae08ea0844e59f9af9292da5fc6c268261f4166017d002d494400945e248df6b844e2f9f9cd2d9345d516983f5a110e4c42a git-daemon.initd fbf1f425206a76e2a8f82342537ed939ff7e623d644c086ca2ced5f69b36734695f9f80ebda1728f75a94d6cd2fcb71bf845b64239368caab418e4d368c141ec git-daemon.confd" diff --git a/system/help2man/APKBUILD b/system/help2man/APKBUILD index 822ae754e..0bb2530e1 100644 --- a/system/help2man/APKBUILD +++ b/system/help2man/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=help2man -pkgver=1.47.12 +pkgver=1.47.13 pkgrel=0 pkgdesc="Create simple man pages from --help output" url="https://www.gnu.org/software/help2man" @@ -28,4 +28,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="fb71e48e4a7a0f4316148295ea539b667a131149f4467da0f3e283389c9d9f2a5f1e9124ca8d64d6c3250d332a713d4e8de204ca9e7088840e74f316fa5221be help2man-1.47.12.tar.xz" +sha512sums="7bf4c75a42c103dd8413a94505f383c6e2b215f9a4cc506e11935acc7f108caad01a5fa489ee157ebef5fa02299145592f65cc828fc016417af557382975d57a help2man-1.47.13.tar.xz" diff --git a/system/icu/APKBUILD b/system/icu/APKBUILD index 4165246a3..046698316 100644 --- a/system/icu/APKBUILD +++ b/system/icu/APKBUILD @@ -6,7 +6,7 @@ pkgver=65.1 # convert x.y.z to x_y_z _ver=$(printf '%s' "$pkgver" | tr . _) -pkgrel=0 +pkgrel=1 pkgdesc="International Components for Unicode" url="http://site.icu-project.org/" arch="all" @@ -17,6 +17,7 @@ makedepends="" subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs" source="https://github.com/unicode-org/icu/releases/download/release-$(printf '%s' "$pkgver" | tr . -)/${pkgname}4c-$_ver-src.tgz icu-60.2-always-use-utf8.patch + CVE-2020-10531.patch " # secfixes: @@ -27,6 +28,9 @@ source="https://github.com/unicode-org/icu/releases/download/release-$(printf '% # 58.2-r2: # - CVE-2017-7867 # - CVE-2017-7868 +# 65.1-r1: +# - CVE-2020-10531 + builddir="$srcdir"/icu/source prepare() { @@ -73,4 +77,5 @@ static() { } sha512sums="8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139 icu4c-65_1-src.tgz -f86c62422f38f6485c58d4766e629bab69e4b0e00fa910854e40e7db1ace299152eaefa99ae2fbab7465e65d3156cbea7124612defa60680db58ab5c34d6262f icu-60.2-always-use-utf8.patch" +f86c62422f38f6485c58d4766e629bab69e4b0e00fa910854e40e7db1ace299152eaefa99ae2fbab7465e65d3156cbea7124612defa60680db58ab5c34d6262f icu-60.2-always-use-utf8.patch +2901235a24b1973516e495473188b077eb0486714ac47f702f226a3406176e913672159978b67548a1316284ecc716e06158b05c190ddfa83ad576a7a3539d72 CVE-2020-10531.patch" diff --git a/system/icu/CVE-2017-7867-7868.patch b/system/icu/CVE-2017-7867-7868.patch deleted file mode 100644 index df18283c2..000000000 --- a/system/icu/CVE-2017-7867-7868.patch +++ /dev/null @@ -1,155 +0,0 @@ -Index: source/common/utext.cpp
-===================================================================
---- source/common/utext.cpp (revision 39670)
-+++ source/common/utext.cpp (revision 39671)
-@@ -848,7 +848,13 @@
-
- // Chunk size.
--// Must be less than 85, because of byte mapping from UChar indexes to native indexes.
--// Worst case is three native bytes to one UChar. (Supplemenaries are 4 native bytes
--// to two UChars.)
-+// Must be less than 42 (256/6), because of byte mapping from UChar indexes to native indexes.
-+// Worst case there are six UTF-8 bytes per UChar.
-+// obsolete 6 byte form fd + 5 trails maps to fffd
-+// obsolete 5 byte form fc + 4 trails maps to fffd
-+// non-shortest 4 byte forms maps to fffd
-+// normal supplementaries map to a pair of utf-16, two utf8 bytes per utf-16 unit
-+// mapToUChars array size must allow for the worst case, 6.
-+// This could be brought down to 4, by treating fd and fc as pure illegal,
-+// rather than obsolete lead bytes. But that is not compatible with the utf-8 access macros.
- //
- enum { UTF8_TEXT_CHUNK_SIZE=32 };
-@@ -890,5 +896,5 @@
- // one for a supplementary starting in the last normal position,
- // and one for an entry for the buffer limit position.
-- uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*3+6]; // Map native offset from bufNativeStart to
-+ uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*6+6]; // Map native offset from bufNativeStart to
- // correspoding offset in filled part of buf.
- int32_t align;
-@@ -1033,4 +1039,5 @@
- u8b = (UTF8Buf *)ut->p; // the current buffer
- mapIndex = ix - u8b->toUCharsMapStart;
-+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars));
- ut->chunkOffset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx;
- return TRUE;
-@@ -1299,4 +1306,8 @@
- // If index is at the end, there is no character there to look at.
- if (ix != ut->b) {
-+ // Note: this function will only move the index back if it is on a trail byte
-+ // and there is a preceding lead byte and the sequence from the lead
-+ // through this trail could be part of a valid UTF-8 sequence
-+ // Otherwise the index remains unchanged.
- U8_SET_CP_START(s8, 0, ix);
- }
-@@ -1312,5 +1323,8 @@
- uint8_t *mapToNative = u8b->mapToNative;
- uint8_t *mapToUChars = u8b->mapToUChars;
-- int32_t toUCharsMapStart = ix - (UTF8_TEXT_CHUNK_SIZE*3 + 1);
-+ int32_t toUCharsMapStart = ix - sizeof(UTF8Buf::mapToUChars) + 1;
-+ // Note that toUCharsMapStart can be negative. Happens when the remaining
-+ // text from current position to the beginning is less than the buffer size.
-+ // + 1 because mapToUChars must have a slot at the end for the bufNativeLimit entry.
- int32_t destIx = UTF8_TEXT_CHUNK_SIZE+2; // Start in the overflow region
- // at end of buffer to leave room
-@@ -1339,4 +1353,5 @@
- // Special case ASCII range for speed.
- buf[destIx] = (UChar)c;
-+ U_ASSERT(toUCharsMapStart <= srcIx);
- mapToUChars[srcIx - toUCharsMapStart] = (uint8_t)destIx;
- mapToNative[destIx] = (uint8_t)(srcIx - toUCharsMapStart);
-@@ -1368,4 +1383,5 @@
- mapToUChars[sIx-- - toUCharsMapStart] = (uint8_t)destIx;
- } while (sIx >= srcIx);
-+ U_ASSERT(toUCharsMapStart <= (srcIx+1));
-
- // Set native indexing limit to be the current position.
-@@ -1542,4 +1558,5 @@
- U_ASSERT(index<=ut->chunkNativeLimit);
- int32_t mapIndex = index - u8b->toUCharsMapStart;
-+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars));
- int32_t offset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx;
- U_ASSERT(offset>=0 && offset<=ut->chunkLength);
-Index: source/test/intltest/utxttest.cpp
-===================================================================
---- source/test/intltest/utxttest.cpp (revision 39670)
-+++ source/test/intltest/utxttest.cpp (revision 39671)
-@@ -68,4 +68,6 @@
- case 7: name = "Ticket12130";
- if (exec) Ticket12130(); break;
-+ case 8: name = "Ticket12888";
-+ if (exec) Ticket12888(); break;
- default: name = ""; break;
- }
-@@ -1584,2 +1586,62 @@
- utext_close(&ut);
- }
-+
-+// Ticket 12888: bad handling of illegal utf-8 containing many instances of the archaic, now illegal,
-+// six byte utf-8 forms. Original implementation had an assumption that
-+// there would be at most three utf-8 bytes per UTF-16 code unit.
-+// The five and six byte sequences map to a single replacement character.
-+
-+void UTextTest::Ticket12888() {
-+ const char *badString =
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
-+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80";
-+
-+ UErrorCode status = U_ZERO_ERROR;
-+ LocalUTextPointer ut(utext_openUTF8(NULL, badString, -1, &status));
-+ TEST_SUCCESS(status);
-+ for (;;) {
-+ UChar32 c = utext_next32(ut.getAlias());
-+ if (c == U_SENTINEL) {
-+ break;
-+ }
-+ }
-+ int32_t endIdx = utext_getNativeIndex(ut.getAlias());
-+ if (endIdx != (int32_t)strlen(badString)) {
-+ errln("%s:%d expected=%d, actual=%d", __FILE__, __LINE__, strlen(badString), endIdx);
-+ return;
-+ }
-+
-+ for (int32_t prevIndex = endIdx; prevIndex>0;) {
-+ UChar32 c = utext_previous32(ut.getAlias());
-+ int32_t currentIndex = utext_getNativeIndex(ut.getAlias());
-+ if (c != 0xfffd) {
-+ errln("%s:%d (expected, actual, index) = (%d, %d, %d)\n",
-+ __FILE__, __LINE__, 0xfffd, c, currentIndex);
-+ break;
-+ }
-+ if (currentIndex != prevIndex - 6) {
-+ errln("%s:%d: wrong index. Expected, actual = %d, %d",
-+ __FILE__, __LINE__, prevIndex - 6, currentIndex);
-+ break;
-+ }
-+ prevIndex = currentIndex;
-+ }
-+}
-Index: source/test/intltest/utxttest.h
-===================================================================
---- source/test/intltest/utxttest.h (revision 39670)
-+++ source/test/intltest/utxttest.h (revision 39671)
-@@ -39,4 +39,5 @@
- void Ticket10983();
- void Ticket12130();
-+ void Ticket12888();
-
- private:
diff --git a/system/icu/CVE-2020-10531.patch b/system/icu/CVE-2020-10531.patch new file mode 100644 index 000000000..f456b06ec --- /dev/null +++ b/system/icu/CVE-2020-10531.patch @@ -0,0 +1,118 @@ +From b7d08bc04a4296982fcef8b6b8a354a9e4e7afca Mon Sep 17 00:00:00 2001 +From: Frank Tang <ftang@chromium.org> +Date: Sat, 1 Feb 2020 02:39:04 +0000 +Subject: [PATCH] ICU-20958 Prevent SEGV_MAPERR in append + +See #971 +--- + source/common/unistr.cpp | 6 ++- + source/test/intltest/ustrtest.cpp | 62 +++++++++++++++++++++++++ + source/test/intltest/ustrtest.h | 1 + + 3 files changed, 68 insertions(+), 1 deletion(-) + +diff --git source/common/unistr.cpp source/common/unistr.cpp +index 901bb3358ba..077b4d6ef20 100644 +--- source/common/unistr.cpp ++++ source/common/unistr.cpp +@@ -1563,7 +1563,11 @@ UnicodeString::doAppend(const UChar *srcChars, int32_t srcStart, int32_t srcLeng + } + + int32_t oldLength = length(); +- int32_t newLength = oldLength + srcLength; ++ int32_t newLength; ++ if (uprv_add32_overflow(oldLength, srcLength, &newLength)) { ++ setToBogus(); ++ return *this; ++ } + + // Check for append onto ourself + const UChar* oldArray = getArrayStart(); +diff --git source/test/intltest/ustrtest.cpp source/test/intltest/ustrtest.cpp +index b6515ea813c..ad38bdf53a3 100644 +--- source/test/intltest/ustrtest.cpp ++++ source/test/intltest/ustrtest.cpp +@@ -67,6 +67,7 @@ void UnicodeStringTest::runIndexedTest( int32_t index, UBool exec, const char* & + TESTCASE_AUTO(TestWCharPointers); + TESTCASE_AUTO(TestNullPointers); + TESTCASE_AUTO(TestUnicodeStringInsertAppendToSelf); ++ TESTCASE_AUTO(TestLargeAppend); + TESTCASE_AUTO_END; + } + +@@ -2310,3 +2311,64 @@ void UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() { + str.insert(2, sub); + assertEquals("", u"abbcdcde", str); + } ++ ++void UnicodeStringTest::TestLargeAppend() { ++ if(quick) return; ++ ++ IcuTestErrorCode status(*this, "TestLargeAppend"); ++ // Make a large UnicodeString ++ int32_t len = 0xAFFFFFF; ++ UnicodeString str; ++ char16_t *buf = str.getBuffer(len); ++ // A fast way to set buffer to valid Unicode. ++ // 4E4E is a valid unicode character ++ uprv_memset(buf, 0x4e, len * 2); ++ str.releaseBuffer(len); ++ UnicodeString dest; ++ // Append it 16 times ++ // 0xAFFFFFF times 16 is 0xA4FFFFF1, ++ // which is greater than INT32_MAX, which is 0x7FFFFFFF. ++ int64_t total = 0; ++ for (int32_t i = 0; i < 16; i++) { ++ dest.append(str); ++ total += len; ++ if (total <= INT32_MAX) { ++ assertFalse("dest is not bogus", dest.isBogus()); ++ } else { ++ assertTrue("dest should be bogus", dest.isBogus()); ++ } ++ } ++ dest.remove(); ++ total = 0; ++ for (int32_t i = 0; i < 16; i++) { ++ dest.append(str); ++ total += len; ++ if (total + len <= INT32_MAX) { ++ assertFalse("dest is not bogus", dest.isBogus()); ++ } else if (total <= INT32_MAX) { ++ // Check that a string of exactly the maximum size works ++ UnicodeString str2; ++ int32_t remain = INT32_MAX - total; ++ char16_t *buf2 = str2.getBuffer(remain); ++ if (buf2 == nullptr) { ++ // if somehow memory allocation fail, return the test ++ return; ++ } ++ uprv_memset(buf2, 0x4e, remain * 2); ++ str2.releaseBuffer(remain); ++ dest.append(str2); ++ total += remain; ++ assertEquals("When a string of exactly the maximum size works", (int64_t)INT32_MAX, total); ++ assertEquals("When a string of exactly the maximum size works", INT32_MAX, dest.length()); ++ assertFalse("dest is not bogus", dest.isBogus()); ++ ++ // Check that a string size+1 goes bogus ++ str2.truncate(1); ++ dest.append(str2); ++ total++; ++ assertTrue("dest should be bogus", dest.isBogus()); ++ } else { ++ assertTrue("dest should be bogus", dest.isBogus()); ++ } ++ } ++} +diff --git source/test/intltest/ustrtest.h source/test/intltest/ustrtest.h +index 218befdcc68..4a356a92c7a 100644 +--- source/test/intltest/ustrtest.h ++++ source/test/intltest/ustrtest.h +@@ -97,6 +97,7 @@ class UnicodeStringTest: public IntlTest { + void TestWCharPointers(); + void TestNullPointers(); + void TestUnicodeStringInsertAppendToSelf(); ++ void TestLargeAppend(); + }; + + #endif diff --git a/system/kbd/APKBUILD b/system/kbd/APKBUILD index d54e7f29c..deb7fb205 100644 --- a/system/kbd/APKBUILD +++ b/system/kbd/APKBUILD @@ -2,9 +2,9 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kbd pkgver=2.2.0_git20190823 -pkgrel=0 +pkgrel=1 pkgdesc="Console keyboard and font management utilities" -url=" " +url="https://kbd-project.org/" arch="all" options="!check" # padding error on at least ppc64 license="GPL-2.0+" @@ -12,8 +12,13 @@ depends="" checkdepends="check-dev" makedepends="linux-headers linux-pam-dev autoconf automake libtool" subpackages="$pkgname-doc $pkgname-fonts::noarch $pkgname-keymaps::noarch - $pkgname-lang" -source="https://dev.sick.bike/dist/$pkgname-$pkgver.tar.xz" + $pkgname-lang $pkgname-openrc" +source="https://dev.sick.bike/dist/$pkgname-$pkgver.tar.xz + consolefont.confd + consolefont.initd + keymaps.confd + keymaps.initd + " prepare() { default_prepare @@ -37,6 +42,19 @@ check() { package() { make DESTDIR="$pkgdir" install + + for i in consolefont keymaps; do + install -Dm644 "$srcdir"/$i.confd \ + "$pkgdir"/etc/conf.d/$i + install -Dm755 "$srcdir"/$i.initd \ + "$pkgdir"/etc/init.d/$i + done +} + +openrc() { + default_openrc + license="BSD-2-Clause" + replaces="openrc<0.24.1-r10" } fonts() { @@ -52,4 +70,8 @@ keymaps() { mv "$pkgdir"/usr/share/unimaps "$subpkgdir"/usr/share/ } -sha512sums="7f6202aeb17d6224095447a92d999478220457e1e7cadb90a7c40ca7f3b0c5b1f672db1995fb69652ca37558a75df582bfb5fea5772f3b1e040fe39f8f54504e kbd-2.2.0_git20190823.tar.xz" +sha512sums="7f6202aeb17d6224095447a92d999478220457e1e7cadb90a7c40ca7f3b0c5b1f672db1995fb69652ca37558a75df582bfb5fea5772f3b1e040fe39f8f54504e kbd-2.2.0_git20190823.tar.xz +19761fdd2b32c1bbcc9254b89b7893741e144b917a75410af3f274553fe61e2f56cbbd17ff77ac929e9377604663cbbfd9e53c73e7d41e71de6de573730950c7 consolefont.confd +1e67f75f27ec5de8f71489c83f78e53e8fd0925ae2d82dabf516f98905c5aff206a8e943e92b6af413eae5f0ecb9c2240526dfc3c56811a8dc1d19ced561bba3 consolefont.initd +af7d37fc6be1382414ca8245ca6f8d2ee8b82650b8a08eebbd980cf6dd2b92524fce2851ce0b2cd67e915488c12044ab50c5ab1f01c3072af87eed3e058ac268 keymaps.confd +510d7eb582a914fa7cfb868d0c3d55a21ee1519033117d0943a153528b5810d09f6421ddc02d93906c1a66fb7e07e86240f38dad0d38cfb5a8c7e9a6335a937f keymaps.initd" diff --git a/system/kbd/consolefont.confd b/system/kbd/consolefont.confd new file mode 100644 index 000000000..4c41d0633 --- /dev/null +++ b/system/kbd/consolefont.confd @@ -0,0 +1,20 @@ +# The consolefont service is not activated by default. If you need to +# use it, you should run "rc-update add consolefont boot" as root. +# +# consolefont specifies the default font that you'd like Linux to use on the +# console. You will have to install a package such as kbd-fonts or +# terminus-font to have a selection; they will be installed in +# /usr/share/consolefonts. +# +# The following (from terminus-font) is a good font for HiDPI screens. +#consolefont="ter-i32n" + +# consoletranslation is the charset map file to use. Leave commented to use +# the default one. Have a look in /usr/share/consoletrans for a selection of +# map files you can use. +#consoletranslation="8859-1_to_uni" + +# unicodemap is the unicode map file to use. Leave commented to use the +# default one. Have a look in /usr/share/unimaps (from the kbd-keymaps +# package) for a selection of map files you can use. +#unicodemap="iso01" diff --git a/system/kbd/consolefont.initd b/system/kbd/consolefont.initd new file mode 100644 index 000000000..63d8601c5 --- /dev/null +++ b/system/kbd/consolefont.initd @@ -0,0 +1,70 @@ +#!/sbin/openrc-run +# Copyright (c) 2007-2015 The OpenRC Authors. +# See the Authors file at the top-level directory of this distribution and +# https://github.com/OpenRC/openrc/blob/master/AUTHORS +# +# This file is part of OpenRC. It is subject to the license terms in +# the LICENSE file found in the top-level directory of this +# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE +# This file may not be copied, modified, propagated, or distributed +# except according to the terms contained in the LICENSE file. + +description="Sets a font for the consoles." + +depend() +{ + need localmount termencoding + after hotplug bootmisc modules + keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu +} + +start() +{ + ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} + consolefont=${consolefont:-${CONSOLEFONT}} + unicodemap=${unicodemap:-${UNICODEMAP}} + consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}} + + if [ -z "$consolefont" ]; then + ebegin "Using the default console font" + eend 0 + return 0 + fi + + if [ "$ttyn" = 0 ]; then + ebegin "Skipping font setup (rc_tty_number == 0)" + eend 0 + return 0 + fi + + local x= param= sf_param= retval=0 ttydev=/dev/tty + + # Get additional parameters + if [ -n "$consoletranslation" ]; then + param="$param -m $consoletranslation" + fi + if [ -n "${unicodemap}" ]; then + param="$param -u $unicodemap" + fi + + # Set the console font + ebegin "Setting console font [$consolefont]" + [ -d /dev/vc ] && ttydev=/dev/vc/ + x=1 + while [ $x -le $ttyn ]; do + if ! setfont $consolefont $param -C $ttydev$x >/dev/null; then + retval=1 + break + fi + : $(( x += 1 )) + done + eend $retval + + # Store the font so we can use it ASAP on boot + if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then + mkdir -p "$RC_LIBEXECDIR"/console + setfont -O "$RC_LIBEXECDIR"/console/font + fi + + return $retval +} diff --git a/system/kbd/keymaps.confd b/system/kbd/keymaps.confd new file mode 100644 index 000000000..9a2863413 --- /dev/null +++ b/system/kbd/keymaps.confd @@ -0,0 +1,24 @@ +# Use keymap to specify the default console keymap. There is a complete tree +# of keymaps in /usr/share/keymaps to choose from (from the kbd-keymaps +# package). +keymap="us" + +# Should we first load the 'windowkeys' console keymap? Most x86 users will +# say "yes" here. Note that non-x86 users should leave it as "no". +# Loading this keymap will enable VT switching (like ALT+Left/Right) +# using the special windows keys on the linux console. +windowkeys="NO" + +# The maps to load for extended keyboards. Most users will leave this as is. +extended_keymaps="" +#extended_keymaps="backspace keypad euro2" + +# Tell dumpkeys(1) to interpret character action codes to be +# from the specified character set. +# This only matters if you set unicode="yes" in /etc/rc.conf. +# For a list of valid sets, run `dumpkeys --help` +dumpkeys_charset="" + +# Some fonts map AltGr-E to the currency symbol instead of the Euro. +# To fix this, set to "yes" +fix_euro="NO" diff --git a/system/kbd/keymaps.initd b/system/kbd/keymaps.initd new file mode 100644 index 000000000..49e41b0e7 --- /dev/null +++ b/system/kbd/keymaps.initd @@ -0,0 +1,77 @@ +#!/sbin/openrc-run +# Copyright (c) 2007-2015 The OpenRC Authors. +# See the Authors file at the top-level directory of this distribution and +# https://github.com/OpenRC/openrc/blob/master/AUTHORS +# +# This file is part of OpenRC. It is subject to the license terms in +# the LICENSE file found in the top-level directory of this +# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE +# This file may not be copied, modified, propagated, or distributed +# except according to the terms contained in the LICENSE file. + +description="Applies a keymap for the consoles." + +depend() +{ + need localmount termencoding + after bootmisc + keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu +} + +start() +{ + ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} + : ${unicode:=$UNICODE} + : ${keymap:=$KEYMAP} + : ${extended_keymaps:=$EXTENDED_KEYMAPS} + : ${windowkeys:=$SET_WINDOWSKEYS} + : ${fix_euro:=$FIX_EURO} + : ${dumpkeys_charset:=${DUMPKEYS_CHARSET}} + + if [ -z "$keymap" ]; then + eerror "You need to setup keymap in /etc/conf.d/keymaps first" + return 1 + fi + + local ttydev=/dev/tty n= + [ -d /dev/vc ] && ttydev=/dev/vc/ + + # Force linux keycodes for PPC. + if [ -f /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes ]; then + echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes + fi + + local wkeys= kmode="-a" msg="ASCII" + if yesno $unicode; then + kmode="-u" + msg="UTF-8" + fi + yesno $windowkeys && wkeys="windowkeys" + + # Set terminal encoding to either ASCII or UNICODE. + # See utf-8(7) for more information. + ebegin "Setting keyboard mode [$msg]" + n=1 + while [ $n -le $ttyn ]; do + kbd_mode $kmode -C $ttydev$n + : $(( n += 1 )) + done + eend 0 + + ebegin "Loading key mappings [$keymap]" + loadkeys -q $wkeys $keymap $extended_keymaps + eend $? "Error loading key mappings" || return $? + + if yesno $fix_euro; then + ebegin "Fixing font for euro symbol" + # Fix some fonts displaying the Euro, #173528. + echo "altgr keycode 18 = U+20AC" | loadkeys -q - + eend $? + fi + + # Save the keymapping for use immediately at boot + if checkpath -W "$RC_LIBEXECDIR"; then + mkdir -p "$RC_LIBEXECDIR"/console + dumpkeys >"$RC_LIBEXECDIR"/console/keymap + fi +} diff --git a/system/kmod/APKBUILD b/system/kmod/APKBUILD index 748d26def..ad3396c8e 100644 --- a/system/kmod/APKBUILD +++ b/system/kmod/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kmod -pkgver=26 +pkgver=27 pkgrel=0 pkgdesc="Linux kernel module management utilities" url="https://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary" @@ -10,7 +10,7 @@ options="!check" # https://bugs.gentoo.org/408915#c3 license="GPL-2.0+" depends="" makedepends_build="libxslt" -makedepends_host="zlib-dev xz-dev" +makedepends_host="openssl-dev zlib-dev xz-dev" makedepends="$makedepends_build $makedepends_host" triggers="$pkgname.trigger=/lib/modules/*" subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc @@ -29,13 +29,13 @@ build() { --sysconfdir=/etc \ --with-rootlibdir=/lib \ --with-zlib \ - --with-xz + --with-xz \ + --with-openssl make } package() { make DESTDIR="$pkgdir" install - local i mkdir -p "$pkgdir"/sbin for i in lsmod rmmod insmod modinfo modprobe depmod; do ln -sf ../bin/kmod "$pkgdir"/sbin/$i @@ -57,6 +57,6 @@ bashcomp() { } -sha512sums="3ca276c6fc13c2dd2220ec528b8dc4ab4edee5d2b22e16b6f945c552e51f74342c01c33a53740e6af8c893d42bd4d6f629cd8fa6e15ef8bd8da30cb003ef0865 kmod-26.tar.xz +sha512sums="e0513094935333fca1fb4c3e3493b232507a579ab00a6457cc9ed3e928363d05aad80634fb65a8287a336bf9895194c7be8ddc41bb088a6c2cca44fc1bfbdb6c kmod-27.tar.xz f2ea3527bfba182c5e15557c224a5bba8c7e2ea3d21cf604e6eb2277226dcf983c3aeb9ac44a322c7f2b4942b35135da999d63a5b946b829d3f3b09c050a0f17 strndupa.patch 7f0f89fe98167f71b7924f341ba701d001158225463c2f5e39f706a0224b1e952ee901b441f28cb15787563e83bb6e54eb752bf8669ae7c0ffbb11984542f354 kmod-static-nodes.initd" diff --git a/system/libucontext/APKBUILD b/system/libucontext/APKBUILD index 93bc2b252..78b079435 100644 --- a/system/libucontext/APKBUILD +++ b/system/libucontext/APKBUILD @@ -1,17 +1,20 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libucontext -pkgver=0.9.0 +pkgver=0.10 pkgrel=0 pkgdesc="Implementation of software-defined threading" -url="https://code.foxkit.us/adelie/libucontext/" +url=" " arch="all" license="ISC" depends="" makedepends="" subpackages="$pkgname-dev" -source="https://distfiles.adelielinux.org/source/libucontext/libucontext-$pkgver.tar.xz" +source="https://distfiles.dereferenced.org/libucontext/libucontext-$pkgver.tar.xz + git.patch + " case "$CTARGET_ARCH" in +aarch64_be) LIBUCONTEXT_ARCH="aarch64" ;; arm*) LIBUCONTEXT_ARCH="arm" ;; ppc64le) LIBUCONTEXT_ARCH="ppc64" ;; pmmx) LIBUCONTEXT_ARCH="x86" ;; @@ -30,4 +33,5 @@ package() { make ARCH="$LIBUCONTEXT_ARCH" DESTDIR="$pkgdir" install } -sha512sums="47ffa743e0b364d7a5d5ae633f89e83a7e3bbdf62a8a703a06a522c08b187b785548e8b8d58d53fc4fd984575f086794e74c12d40075326c6e88024e841550b6 libucontext-0.9.0.tar.xz" +sha512sums="ef04485f66edd94711a15681953aed12652ea3821036e6a5b10d1ba3c0371ffabd689c85ee2403bc6a94544932e64855d8f5412f46b50d8b5a934f70a771fcb1 libucontext-0.10.tar.xz +f3f5da2f76302fb3aeba8cca6e3485f264714ad12160e83ef92785a5f2a318cb4cea88e350df71dd6c976d075525361f36e67467ffb82b30fed6acee11be8095 git.patch" diff --git a/system/libucontext/git.patch b/system/libucontext/git.patch new file mode 100644 index 000000000..d42ee0803 --- /dev/null +++ b/system/libucontext/git.patch @@ -0,0 +1,115 @@ +From d7688a41df4cbe51e52bfebbab7d411548ed7738 Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Mon, 30 Mar 2020 02:22:43 -0500 +Subject: [PATCH 1/3] README: Remove support section + +This is no longer a member of the gcompat family of projects; +remove the mention of that and the gcompat mailing list link. +--- + README.md | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/README.md b/README.md +index 97a03b6..1db0516 100644 +--- a/README.md ++++ b/README.md +@@ -38,8 +38,3 @@ $ make ARCH=x86_64 check + $ make ARCH=x86_64 DESTDIR=out install + ``` + +- +-## support +- +-`libucontext` is offered as part of the `gcompat` project. Accordingly, please address all questions +-and bug reports to gcompat@lists.adelielinux.org. + +From e2178de76a7d3f41fed7cc5bef3e68eea623a72a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 30 Mar 2020 08:21:20 +0000 +Subject: [PATCH 2/3] Makefile: Add LIBDIR variable + +This ensures that it can be installed into custom location and also + +Upstream-Status: Submitted +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index a8dedc2..74ebdbf 100644 +--- a/Makefile ++++ b/Makefile +@@ -3,6 +3,7 @@ ifeq ($(ARCH),$(filter $(ARCH),i386 i686)) + override ARCH = x86 + endif + ++LIBDIR := /lib + CFLAGS = -ggdb3 -O2 -Wall -Iarch/${ARCH} -Iarch/common + + LIBUCONTEXT_C_SRC = $(wildcard arch/${ARCH}/*.c) +@@ -13,8 +14,8 @@ LIBUCONTEXT_SOVERSION = 0 + LIBUCONTEXT_NAME = libucontext.so + LIBUCONTEXT_STATIC_NAME = libucontext.a + LIBUCONTEXT_SONAME = libucontext.so.${LIBUCONTEXT_SOVERSION} +-LIBUCONTEXT_PATH = /lib/${LIBUCONTEXT_SONAME} +-LIBUCONTEXT_STATIC_PATH = /lib/${LIBUCONTEXT_STATIC_NAME} ++LIBUCONTEXT_PATH = ${LIBDIR}/${LIBUCONTEXT_SONAME} ++LIBUCONTEXT_STATIC_PATH = ${LIBDIR}/${LIBUCONTEXT_STATIC_NAME} + + all: ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_STATIC_NAME} + +@@ -39,9 +40,9 @@ clean: + ${LIBUCONTEXT_OBJ} test_libucontext + + install: all +- install -D -m755 ${LIBUCONTEXT_NAME} ${DESTDIR}/${LIBUCONTEXT_PATH} +- install -D -m664 ${LIBUCONTEXT_STATIC_NAME} ${DESTDIR}/${LIBUCONTEXT_STATIC_PATH} +- ln -sf ${LIBUCONTEXT_SONAME} ${DESTDIR}/lib/${LIBUCONTEXT_NAME} ++ install -D -m755 ${LIBUCONTEXT_NAME} ${DESTDIR}${LIBUCONTEXT_PATH} ++ install -D -m664 ${LIBUCONTEXT_STATIC_NAME} ${DESTDIR}${LIBUCONTEXT_STATIC_PATH} ++ ln -sf ${LIBUCONTEXT_SONAME} ${DESTDIR}${LIBDIR}/${LIBUCONTEXT_NAME} + + check: test_libucontext ${LIBUCONTEXT_SONAME} + env LD_LIBRARY_PATH=$(shell pwd) ./test_libucontext + +From 467ee2916d0eacbd32af10ead14e5d86e365fa2b Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Mon, 30 Mar 2020 17:25:30 -0500 +Subject: [PATCH 3/3] x86: Update copyright statement +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit d0ccf2f96f12bfa040cc056f7dc26b3fd25c168d contains the makecontext +fix from Adélie commit aaeb73ea701388e55b7640e32509a5f6a57f6350[1], as +seen at AdelieLinux/libucontext@aaeb73ea – but it didn't include the +addition of my author line. + +The full commit text, for future documentation/reference, was: + +``` +x86: Write link pointer at correct stack offset + +It must come *after* the parameters, not *before*. +``` + +Fixes: d0ccf2f96f12 ("x86: modernize") +Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com> + +[1]: https://code.foxkit.us/adelie/libucontext/commit/aaeb73ea701388e55b7640e32509a5f6a57f6350 +--- + arch/x86/makecontext.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/x86/makecontext.c b/arch/x86/makecontext.c +index ee9c2e2..bc8163c 100644 +--- a/arch/x86/makecontext.c ++++ b/arch/x86/makecontext.c +@@ -1,5 +1,6 @@ + /* + * Copyright (c) 2018 Ariadne Conill <ariadne@dereferenced.org> ++ * Copyright (c) 2019 A. Wilcox <awilfox@adelielinux.org> + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above diff --git a/system/libucontext/powerpc.patch b/system/libucontext/powerpc.patch deleted file mode 100644 index ed7604d7b..000000000 --- a/system/libucontext/powerpc.patch +++ /dev/null @@ -1,1121 +0,0 @@ -From 94216c60c43a30e39fbc4f347450768699c6c77c Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Mon, 1 Apr 2019 23:02:12 -0500 -Subject: [PATCH] test ability to pass 10 args through makecontext - ---- - test_libucontext.c | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -diff --git a/test_libucontext.c b/test_libucontext.c -index 121cc3e..e5eac83 100644 ---- a/test_libucontext.c -+++ b/test_libucontext.c -@@ -6,13 +6,32 @@ - #include <stdio.h> - #include <ucontext.h> - #include <stdint.h> -+#include <stdlib.h> - #include <string.h> - - - static ucontext_t ctx[3]; - - --static void f1 (void) { -+static void check_arg(int actual, int expected) { -+ if (actual == expected) return; -+ fprintf(stderr, "argument has wrong value. got %d, expected %d.\n", actual, expected); -+ abort(); -+} -+ -+ -+static void f1 (int a, int b, int c, int d, int e, int f, int g, int h, int i, int j) { -+ check_arg(a, 1); -+ check_arg(b, 2); -+ check_arg(c, 3); -+ check_arg(d, 4); -+ check_arg(e, 5); -+ check_arg(f, 6); -+ check_arg(g, 7); -+ check_arg(h, 8); -+ check_arg(i, 9); -+ check_arg(j, 10); -+ - printf("start f1\n"); - swapcontext(&ctx[1], &ctx[2]); - printf("finish f1\n"); -@@ -40,7 +59,7 @@ int main (int argc, const char *argv[]) { - ctx[1].uc_stack.ss_sp = st1; - ctx[1].uc_stack.ss_size = sizeof st1; - ctx[1].uc_link = &ctx[0]; -- makecontext(&ctx[1], f1, 0); -+ makecontext(&ctx[1], f1, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - - - getcontext(&ctx[2]); -From cb59e7ee957b389578a3f973484ae3198f6cfed1 Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Mon, 1 Apr 2019 23:03:21 -0500 -Subject: [PATCH] test calls to getcontext without makecontext - ---- - test_libucontext.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/test_libucontext.c b/test_libucontext.c -index e5eac83..a4a9b4c 100644 ---- a/test_libucontext.c -+++ b/test_libucontext.c -@@ -48,6 +48,7 @@ static void f2 (void) { - int main (int argc, const char *argv[]) { - char st1[8192]; - char st2[8192]; -+ volatile int done = 0; - - - /* poison each coroutine's stack memory for debugging purposes */ -@@ -70,5 +71,16 @@ int main (int argc, const char *argv[]) { - - - swapcontext(&ctx[0], &ctx[2]); -+ -+ -+ /* test ability to use getcontext/setcontext without makecontext */ -+ getcontext(&ctx[1]); -+ printf("done = %d\n", done); -+ if (done++ == 0) setcontext(&ctx[1]); -+ if (done != 2) { -+ fprintf(stderr, "wrong value for done. got %d, expected 2\n", done); -+ abort(); -+ } -+ - return 0; - } -From b6a9b5e279123f16569e0fd9f8ff14ff04bed7a3 Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 13:32:03 -0500 -Subject: [PATCH] ppc32: fix stack alignment - -The stack should be 16-byte aligned, not 8 mod 16. ---- - arch/ppc/makecontext.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c -index c562ea5..1b9efdf 100644 ---- a/arch/ppc/makecontext.c -+++ b/arch/ppc/makecontext.c -@@ -37,7 +37,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - - sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); - sp -= (uc_link + 1); -- sp = (greg_t *) (((uintptr_t) sp & -16L) - 8); -+ sp = (greg_t *) ((uintptr_t) sp & -16L); - - ucp->uc_mcontext.gregs[REG_NIP] = (uintptr_t) func; - ucp->uc_mcontext.gregs[REG_LNK] = (uintptr_t) &__start_context; -From b9bd4045fb34f060d6cf37fc7da7ab13b91462de Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 13:35:00 -0500 -Subject: [PATCH] ppc32/64: fix back chain pointer - -The ABI states that sp[0] should point to the previous stack frame, or be -zero if there is no previous stack frame. makecontext previously set this -slot to point to the __start_context function, rather than to a valid -stack frame. ---- - arch/ppc/makecontext.c | 2 +- - arch/ppc64/makecontext.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c -index 1b9efdf..729f465 100644 ---- a/arch/ppc/makecontext.c -+++ b/arch/ppc/makecontext.c -@@ -44,7 +44,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - ucp->uc_mcontext.gregs[REG_R31] = (uintptr_t) ucp->uc_link; - ucp->uc_mcontext.gregs[REG_SP] = (uintptr_t) sp; - -- sp[0] = (uintptr_t) &__start_context; -+ sp[0] = 0; - sp[uc_link] = (uintptr_t) ucp->uc_link; - argp = &sp[2]; - -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index 9d6b998..91fb579 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -45,7 +45,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - ucp->uc_mcontext.gp_regs[REG_ENTRY] = (uintptr_t) func; - ucp->uc_mcontext.gp_regs[REG_R31] = (uintptr_t) ucp->uc_link; - -- sp[0] = (uintptr_t) &__start_context; -+ sp[0] = 0; - sp[uc_link] = (uintptr_t) ucp->uc_link; - argp = &sp[2]; - -From b500b054c7cf412a6042496afa08b4302f7ed929 Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 13:38:36 -0500 -Subject: [PATCH] ppc32/64: don't store uc_link on the stack - -This was previously stored either in the CR (ppc64) or LR (ppc32) save -area of the stack, or to one of the parameter save slots. - -In either case, the saved value was unused. This value is also passed -to __start_context via r31, so there's no need to pass it on the stack. ---- - arch/ppc/makecontext.c | 6 ++---- - arch/ppc64/makecontext.c | 6 ++---- - 2 files changed, 4 insertions(+), 8 deletions(-) - -diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c -index 729f465..2b7ea67 100644 ---- a/arch/ppc/makecontext.c -+++ b/arch/ppc/makecontext.c -@@ -30,13 +30,12 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - greg_t *sp, *argp; - va_list va; - int i; -- unsigned int uc_link, stack_args; -+ unsigned int stack_args; - - stack_args = argc > 8 ? argc - 8 : 0; -- uc_link = stack_args + 1; - - sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); -- sp -= (uc_link + 1); -+ sp -= stack_args + 2; - sp = (greg_t *) ((uintptr_t) sp & -16L); - - ucp->uc_mcontext.gregs[REG_NIP] = (uintptr_t) func; -@@ -45,7 +44,6 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - ucp->uc_mcontext.gregs[REG_SP] = (uintptr_t) sp; - - sp[0] = 0; -- sp[uc_link] = (uintptr_t) ucp->uc_link; - argp = &sp[2]; - - va_start(va, argc); -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index 91fb579..b060371 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -30,13 +30,12 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - greg_t *sp, *argp; - va_list va; - int i; -- unsigned int uc_link, stack_args; -+ unsigned int stack_args; - - stack_args = argc > 8 ? argc - 8 : 0; -- uc_link = stack_args + 1; - - sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); -- sp -= (uc_link + 1); -+ sp -= stack_args + 2; - sp = (greg_t *) (((uintptr_t) sp & -16L)); - - ucp->uc_mcontext.gp_regs[REG_NIP] = (uintptr_t) func; -@@ -46,7 +45,6 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - ucp->uc_mcontext.gp_regs[REG_R31] = (uintptr_t) ucp->uc_link; - - sp[0] = 0; -- sp[uc_link] = (uintptr_t) ucp->uc_link; - argp = &sp[2]; - - va_start(va, argc); -From 55168fcb1809dde45c99450f1f3be27716c473db Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 13:57:53 -0500 -Subject: [PATCH] ppc32/64: simplify storage of stack parameters - -The switch statement is simpler as an if/else, and removing the argp -variable makes the code more symmetric between the register and stack -parameter cases. ---- - arch/ppc/makecontext.c | 24 ++++++------------------ - arch/ppc64/makecontext.c | 24 ++++++------------------ - 2 files changed, 12 insertions(+), 36 deletions(-) - -diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c -index 2b7ea67..4a404a4 100644 ---- a/arch/ppc/makecontext.c -+++ b/arch/ppc/makecontext.c -@@ -27,7 +27,7 @@ extern void __start_context(void); - void - __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - { -- greg_t *sp, *argp; -+ greg_t *sp; - va_list va; - int i; - unsigned int stack_args; -@@ -44,27 +44,15 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - ucp->uc_mcontext.gregs[REG_SP] = (uintptr_t) sp; - - sp[0] = 0; -- argp = &sp[2]; - - va_start(va, argc); - -- for (i = 0; i < argc; i++) -- switch (i) -- { -- case 0: -- case 1: -- case 2: -- case 3: -- case 4: -- case 5: -- case 6: -- case 7: -+ for (i = 0; i < argc; i++) { -+ if (i < 8) - ucp->uc_mcontext.gregs[i + 3] = va_arg (va, greg_t); -- break; -- default: -- *argp++ = va_arg (va, greg_t); -- break; -- } -+ else -+ sp[i-8 + 2] = va_arg (va, greg_t); -+ } - - va_end(va); - } -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index b060371..962f98a 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -27,7 +27,7 @@ extern void __start_context(void); - void - __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - { -- greg_t *sp, *argp; -+ greg_t *sp; - va_list va; - int i; - unsigned int stack_args; -@@ -45,27 +45,15 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - ucp->uc_mcontext.gp_regs[REG_R31] = (uintptr_t) ucp->uc_link; - - sp[0] = 0; -- argp = &sp[2]; - - va_start(va, argc); - -- for (i = 0; i < argc; i++) -- switch (i) -- { -- case 0: -- case 1: -- case 2: -- case 3: -- case 4: -- case 5: -- case 6: -- case 7: -+ for (i = 0; i < argc; i++) { -+ if (i < 8) - ucp->uc_mcontext.gp_regs[i + 3] = va_arg (va, greg_t); -- break; -- default: -- *argp++ = va_arg (va, greg_t); -- break; -- } -+ else -+ sp[i-8 + 2] = va_arg (va, greg_t); -+ } - - va_end(va); - } -From 8ea5f548b9146ffeea2074a33a06bbbd07a74402 Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 14:01:10 -0500 -Subject: [PATCH] ppc64: fix makecontext with more than 8 parameters - -The ELFv2 ABI used on PPC64 differs from the ELFv1 ABI used on PPC32 here. -On PPC64, once there are any parameters that need to be passed on the -stack, space needs to be reserved on the stack to pass all parameters. -Parameters 0-7 are still only passed by register, but if the callee needs -to spill them, it can use the stack space reserved for the corresponding -parameter to do so. ---- - arch/ppc64/makecontext.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index 962f98a..ea980e9 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -32,7 +32,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - int i; - unsigned int stack_args; - -- stack_args = argc > 8 ? argc - 8 : 0; -+ stack_args = argc > 8 ? argc : 0; - - sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); - sp -= stack_args + 2; -@@ -52,7 +52,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - if (i < 8) - ucp->uc_mcontext.gp_regs[i + 3] = va_arg (va, greg_t); - else -- sp[i-8 + 2] = va_arg (va, greg_t); -+ sp[i + 2] = va_arg (va, greg_t); - } - - va_end(va); -From a00a05ce2950ca3b306f8ccc3e817ea8cd675015 Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 14:03:47 -0500 -Subject: [PATCH] ppc64: fix incorrect position of parameters within stack - frame - -On PPC64, there are 4 register-sized stack slots below the parameter save -area, which is different from the 2 stack slots on PPC32. ---- - arch/ppc64/makecontext.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index ea980e9..a4c1bf9 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -35,7 +35,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - stack_args = argc > 8 ? argc : 0; - - sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); -- sp -= stack_args + 2; -+ sp -= stack_args + 4; - sp = (greg_t *) (((uintptr_t) sp & -16L)); - - ucp->uc_mcontext.gp_regs[REG_NIP] = (uintptr_t) func; -@@ -52,7 +52,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) - if (i < 8) - ucp->uc_mcontext.gp_regs[i + 3] = va_arg (va, greg_t); - else -- sp[i + 2] = va_arg (va, greg_t); -+ sp[i + 4] = va_arg (va, greg_t); - } - - va_end(va); -From 40d07758a5677e8869d7a62a499236bb6ed01897 Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 14:09:25 -0500 -Subject: [PATCH] ppc32/64: correct signature of function parameter to - makecontext - -Because makecontext can pass a set of integer arguments to the provided -function, it is incorrect to require that this function accept no -parameters. ---- - arch/ppc/makecontext.c | 2 +- - arch/ppc64/makecontext.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c -index 4a404a4..0633c0f 100644 ---- a/arch/ppc/makecontext.c -+++ b/arch/ppc/makecontext.c -@@ -25,7 +25,7 @@ extern void __start_context(void); - - - void --__makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) -+__makecontext(ucontext_t *ucp, void (*func)(), int argc, ...) - { - greg_t *sp; - va_list va; -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index a4c1bf9..8a293b5 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -25,7 +25,7 @@ extern void __start_context(void); - - - void --__makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...) -+__makecontext(ucontext_t *ucp, void (*func)(), int argc, ...) - { - greg_t *sp; - va_list va; -From edf69879eadaec0c72ba7ef5e7d2389946c6644b Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 14:09:39 -0500 -Subject: [PATCH] ppc64: remove unnecessary parentheses - ---- - arch/ppc64/makecontext.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index 8a293b5..84d390a 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -36,7 +36,7 @@ __makecontext(ucontext_t *ucp, void (*func)(), int argc, ...) - - sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); - sp -= stack_args + 4; -- sp = (greg_t *) (((uintptr_t) sp & -16L)); -+ sp = (greg_t *) ((uintptr_t) sp & -16L); - - ucp->uc_mcontext.gp_regs[REG_NIP] = (uintptr_t) func; - ucp->uc_mcontext.gp_regs[REG_LNK] = (uintptr_t) &__start_context; -From 29eac4259adfd85e0f4946a1080bb9e3f8c0cc2e Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 14:10:28 -0500 -Subject: [PATCH] ppc32/64: remove unused includes - ---- - arch/ppc/makecontext.c | 2 -- - arch/ppc64/makecontext.c | 2 -- - 2 files changed, 4 deletions(-) - -diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c -index 0633c0f..7214a40 100644 ---- a/arch/ppc/makecontext.c -+++ b/arch/ppc/makecontext.c -@@ -11,10 +11,8 @@ - */ - - #define _GNU_SOURCE --#include <stddef.h> - #include <stdarg.h> - #include <signal.h> --#include <string.h> - #include <stdint.h> - - -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index 84d390a..2650f56 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -11,10 +11,8 @@ - */ - - #define _GNU_SOURCE --#include <stddef.h> - #include <stdarg.h> - #include <signal.h> --#include <string.h> - #include <stdint.h> - - -From 90ff6330e62c8f836016668c9f769af365b257cb Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Fri, 5 Apr 2019 14:11:21 -0500 -Subject: [PATCH] ppc32/64: update copyright - ---- - arch/ppc/makecontext.c | 1 + - arch/ppc64/makecontext.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c -index 7214a40..51c492f 100644 ---- a/arch/ppc/makecontext.c -+++ b/arch/ppc/makecontext.c -@@ -1,5 +1,6 @@ - /* - * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org> -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above -diff --git a/arch/ppc64/makecontext.c b/arch/ppc64/makecontext.c -index 2650f56..43da557 100644 ---- a/arch/ppc64/makecontext.c -+++ b/arch/ppc64/makecontext.c -@@ -1,5 +1,6 @@ - /* - * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org> -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above -From 2610c7faa7b9c4114d53bb659264a6be238cd2a3 Mon Sep 17 00:00:00 2001 -From: Bobby Bingham <koorogi@koorogi.info> -Date: Sat, 23 Feb 2019 17:12:37 -0600 -Subject: [PATCH] ppc32/64: rewrite get/set/swapcontext in assembly - -getcontext cannot be correctly implemented in C. - -If this calls another function, as it does to call syscall, it needs to -first spill its return address to the stack. If, after getcontext returns, -its caller then calls other functions, this saved return address can be -clobbered. When the context saved by getcontext is later restored, the -(now clobbered) return address will be reloaded from the stack, and the -second return from getcontext will return to the wrong location. - -Because the powerpc swapcontext syscall allows either the old context or -new context pointers to be null, it is usable for implementing all of -get/set/swapcontext. - -We therefore rewrite swapcontext in assembly, and get/setcontext as simple -assembly function wrappers around swapcontext. - -The one piece we keep in C is the code to check the return value of the -system call and to set errno. This code was actually unnecessary before -- -libc does this within syscall. However, now that the system call is made -directly in assembly, bypassing libc, it is truly necessary. Because errno -is thread-local and the details of how to set it can vary by libc, this -code remains written in C. ---- - Makefile | 10 +---- - README.md | 2 +- - arch/ppc/getcontext.S | 20 +++++++++ - arch/ppc/{getcontext.c => retfromsyscall.c} | 30 +++---------- - arch/ppc/setcontext.S | 21 +++++++++ - arch/ppc/setcontext.c | 45 ------------------- - arch/ppc/swapcontext.S | 23 ++++++++++ - arch/ppc/swapcontext.c | 45 ------------------- - arch/ppc64/getcontext.S | 25 +++++++++++ - arch/ppc64/{getcontext.c => retfromsyscall.c} | 30 +++---------- - arch/ppc64/setcontext.S | 26 +++++++++++ - arch/ppc64/setcontext.c | 45 ------------------- - arch/ppc64/swapcontext.S | 28 ++++++++++++ - arch/ppc64/swapcontext.c | 45 ------------------- - 14 files changed, 156 insertions(+), 239 deletions(-) - create mode 100644 arch/ppc/getcontext.S - rename arch/ppc/{getcontext.c => retfromsyscall.c} (53%) - create mode 100644 arch/ppc/setcontext.S - delete mode 100644 arch/ppc/setcontext.c - create mode 100644 arch/ppc/swapcontext.S - delete mode 100644 arch/ppc/swapcontext.c - create mode 100644 arch/ppc64/getcontext.S - rename arch/ppc64/{getcontext.c => retfromsyscall.c} (53%) - create mode 100644 arch/ppc64/setcontext.S - delete mode 100644 arch/ppc64/setcontext.c - create mode 100644 arch/ppc64/swapcontext.S - delete mode 100644 arch/ppc64/swapcontext.c - -diff --git a/Makefile b/Makefile -index 51365a3..d6ff1b0 100644 ---- a/Makefile -+++ b/Makefile -@@ -2,14 +2,8 @@ ARCH := $(shell uname -m) - - CFLAGS = -ggdb3 -O2 -Wall -Iarch/${ARCH} - --LIBUCONTEXT_C_SRC = \ -- arch/${ARCH}/makecontext.c -- --LIBUCONTEXT_S_SRC = \ -- arch/${ARCH}/getcontext.S \ -- arch/${ARCH}/setcontext.S \ -- arch/${ARCH}/swapcontext.S \ -- arch/${ARCH}/startcontext.S -+LIBUCONTEXT_C_SRC = $(wildcard arch/${ARCH}/*.c) -+LIBUCONTEXT_S_SRC = $(wildcard arch/${ARCH}/*.S) - - LIBUCONTEXT_OBJ = ${LIBUCONTEXT_C_SRC:.c=.o} ${LIBUCONTEXT_S_SRC:.S=.o} - LIBUCONTEXT_SOVERSION = 0 -diff --git a/README.md b/README.md -index 6bd4493..27d3d0b 100644 ---- a/README.md -+++ b/README.md -@@ -19,7 +19,7 @@ Right now these archs are supported and should work on bare metal: - * aarch64 - * s390x - --These archs require kernel assistance and use a syscall (the only assembly is the trampoline): -+These archs require kernel assistance and use a syscall: - - * ppc - * ppc64 (ELFv2 ABI spec only, ELFv1 not supported) -diff --git a/arch/ppc/getcontext.S b/arch/ppc/getcontext.S -new file mode 100644 -index 0000000..beffaf5 ---- /dev/null -+++ b/arch/ppc/getcontext.S -@@ -0,0 +1,20 @@ -+/* -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * This software is provided 'as is' and without any warranty, express or -+ * implied. In no event shall the authors be liable for any damages arising -+ * from the use of this software. -+ */ -+ -+.global __getcontext -+.hidden __swapcontext -+__getcontext: -+ li 4, 0 -+ b __swapcontext@local -+ -+.weak getcontext -+getcontext = __getcontext -diff --git a/arch/ppc/getcontext.c b/arch/ppc/retfromsyscall.c -similarity index 53% -rename from arch/ppc/getcontext.c -rename to arch/ppc/retfromsyscall.c -index 5da9dfb..3ad43c0 100644 ---- a/arch/ppc/getcontext.c -+++ b/arch/ppc/retfromsyscall.c -@@ -1,5 +1,6 @@ - /* - * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org> -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above -@@ -10,36 +11,15 @@ - * from the use of this software. - */ - --#define _GNU_SOURCE --#include <stddef.h> --#include <stdarg.h> --#include <signal.h> --#include <string.h> --#include <stdint.h> - #include <errno.h> --#include <unistd.h> --#include <sys/syscall.h> - -- --int --__getcontext(ucontext_t *ucp) -+__attribute__ ((visibility ("hidden"))) -+int __retfromsyscall(long retval) - { --#ifdef SYS_swapcontext -- int r; -- -- r = syscall(SYS_swapcontext, ucp, NULL, sizeof(ucontext_t)); -- if (r < 0) -- { -- errno = -r; -+ if (retval < 0) { -+ errno = -retval; - return -1; - } -- - return 0; --#else -- errno = ENOSYS; -- return -1; --#endif - } - -- --extern __typeof(__getcontext) getcontext __attribute__((weak, __alias__("__getcontext"))); -diff --git a/arch/ppc/setcontext.S b/arch/ppc/setcontext.S -new file mode 100644 -index 0000000..89e6de0 ---- /dev/null -+++ b/arch/ppc/setcontext.S -@@ -0,0 +1,21 @@ -+/* -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * This software is provided 'as is' and without any warranty, express or -+ * implied. In no event shall the authors be liable for any damages arising -+ * from the use of this software. -+ */ -+ -+.global __setcontext -+.hidden __swapcontext -+__setcontext: -+ mr 4, 3 -+ li 3, 0 -+ b __swapcontext@local -+ -+.weak setcontext -+setcontext = __setcontext -diff --git a/arch/ppc/setcontext.c b/arch/ppc/setcontext.c -deleted file mode 100644 -index 59c65b4..0000000 ---- a/arch/ppc/setcontext.c -+++ /dev/null -@@ -1,45 +0,0 @@ --/* -- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org> -- * -- * Permission to use, copy, modify, and/or distribute this software for any -- * purpose with or without fee is hereby granted, provided that the above -- * copyright notice and this permission notice appear in all copies. -- * -- * This software is provided 'as is' and without any warranty, express or -- * implied. In no event shall the authors be liable for any damages arising -- * from the use of this software. -- */ -- --#define _GNU_SOURCE --#include <stddef.h> --#include <stdarg.h> --#include <signal.h> --#include <string.h> --#include <stdint.h> --#include <errno.h> --#include <unistd.h> --#include <sys/syscall.h> -- -- --int --__setcontext(const ucontext_t *ucp) --{ --#ifdef SYS_swapcontext -- int r; -- -- r = syscall(SYS_swapcontext, NULL, (void *) ucp, sizeof(ucontext_t)); -- if (r < 0) -- { -- errno = -r; -- return -1; -- } -- -- return r; --#else -- errno = ENOSYS; -- return -1; --#endif --} -- -- --extern __typeof(__setcontext) setcontext __attribute__((weak, __alias__("__setcontext"))); -diff --git a/arch/ppc/swapcontext.S b/arch/ppc/swapcontext.S -new file mode 100644 -index 0000000..24b6655 ---- /dev/null -+++ b/arch/ppc/swapcontext.S -@@ -0,0 +1,23 @@ -+/* -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * This software is provided 'as is' and without any warranty, express or -+ * implied. In no event shall the authors be liable for any damages arising -+ * from the use of this software. -+ */ -+ -+.global __swapcontext -+__swapcontext: -+ li 0, 249 # SYS_swapcontext -+ li 5, 1184 # sizeof(ucontext_t) -+ sc -+ -+.hidden __retfromsyscall -+ b __retfromsyscall@local -+ -+.weak swapcontext -+swapcontext = __swapcontext -diff --git a/arch/ppc/swapcontext.c b/arch/ppc/swapcontext.c -deleted file mode 100644 -index af14bc2..0000000 ---- a/arch/ppc/swapcontext.c -+++ /dev/null -@@ -1,45 +0,0 @@ --/* -- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org> -- * -- * Permission to use, copy, modify, and/or distribute this software for any -- * purpose with or without fee is hereby granted, provided that the above -- * copyright notice and this permission notice appear in all copies. -- * -- * This software is provided 'as is' and without any warranty, express or -- * implied. In no event shall the authors be liable for any damages arising -- * from the use of this software. -- */ -- --#define _GNU_SOURCE --#include <stddef.h> --#include <stdarg.h> --#include <signal.h> --#include <string.h> --#include <stdint.h> --#include <errno.h> --#include <unistd.h> --#include <sys/syscall.h> -- -- --int --__swapcontext(ucontext_t *oucp, const ucontext_t *ucp) --{ --#ifdef SYS_swapcontext -- int r; -- -- r = syscall(SYS_swapcontext, oucp, ucp, sizeof(ucontext_t)); -- if (r < 0) -- { -- errno = -r; -- return -1; -- } -- -- return r; --#else -- errno = ENOSYS; -- return -1; --#endif --} -- -- --extern __typeof(__swapcontext) swapcontext __attribute__((weak, __alias__("__swapcontext"))); -diff --git a/arch/ppc64/getcontext.S b/arch/ppc64/getcontext.S -new file mode 100644 -index 0000000..935edd2 ---- /dev/null -+++ b/arch/ppc64/getcontext.S -@@ -0,0 +1,25 @@ -+/* -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * This software is provided 'as is' and without any warranty, express or -+ * implied. In no event shall the authors be liable for any damages arising -+ * from the use of this software. -+ */ -+ -+.global __getcontext -+.hidden __swapcontext -+__getcontext: -+ addis 2, 12, .TOC.-__getcontext@ha -+ addi 2, 12, .TOC.-__getcontext@l -+ -+ .localentry __getcontext,.-__getcontext -+ -+ li 4, 0 -+ b __swapcontext -+ -+.weak getcontext -+getcontext = __getcontext -diff --git a/arch/ppc64/getcontext.c b/arch/ppc64/retfromsyscall.c -similarity index 53% -rename from arch/ppc64/getcontext.c -rename to arch/ppc64/retfromsyscall.c -index 5da9dfb..3ad43c0 100644 ---- a/arch/ppc64/getcontext.c -+++ b/arch/ppc64/retfromsyscall.c -@@ -1,5 +1,6 @@ - /* - * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org> -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above -@@ -10,36 +11,15 @@ - * from the use of this software. - */ - --#define _GNU_SOURCE --#include <stddef.h> --#include <stdarg.h> --#include <signal.h> --#include <string.h> --#include <stdint.h> - #include <errno.h> --#include <unistd.h> --#include <sys/syscall.h> - -- --int --__getcontext(ucontext_t *ucp) -+__attribute__ ((visibility ("hidden"))) -+int __retfromsyscall(long retval) - { --#ifdef SYS_swapcontext -- int r; -- -- r = syscall(SYS_swapcontext, ucp, NULL, sizeof(ucontext_t)); -- if (r < 0) -- { -- errno = -r; -+ if (retval < 0) { -+ errno = -retval; - return -1; - } -- - return 0; --#else -- errno = ENOSYS; -- return -1; --#endif - } - -- --extern __typeof(__getcontext) getcontext __attribute__((weak, __alias__("__getcontext"))); -diff --git a/arch/ppc64/setcontext.S b/arch/ppc64/setcontext.S -new file mode 100644 -index 0000000..5a0cde3 ---- /dev/null -+++ b/arch/ppc64/setcontext.S -@@ -0,0 +1,26 @@ -+/* -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * This software is provided 'as is' and without any warranty, express or -+ * implied. In no event shall the authors be liable for any damages arising -+ * from the use of this software. -+ */ -+ -+.global __setcontext -+.hidden __swapcontext -+__setcontext: -+ addis 2, 12, .TOC.-__setcontext@ha -+ addi 2, 12, .TOC.-__setcontext@l -+ -+ .localentry __setcontext,.-__setcontext -+ -+ mr 4, 3 -+ li 3, 0 -+ b __swapcontext -+ -+.weak setcontext -+setcontext = __setcontext -diff --git a/arch/ppc64/setcontext.c b/arch/ppc64/setcontext.c -deleted file mode 100644 -index 59c65b4..0000000 ---- a/arch/ppc64/setcontext.c -+++ /dev/null -@@ -1,45 +0,0 @@ --/* -- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org> -- * -- * Permission to use, copy, modify, and/or distribute this software for any -- * purpose with or without fee is hereby granted, provided that the above -- * copyright notice and this permission notice appear in all copies. -- * -- * This software is provided 'as is' and without any warranty, express or -- * implied. In no event shall the authors be liable for any damages arising -- * from the use of this software. -- */ -- --#define _GNU_SOURCE --#include <stddef.h> --#include <stdarg.h> --#include <signal.h> --#include <string.h> --#include <stdint.h> --#include <errno.h> --#include <unistd.h> --#include <sys/syscall.h> -- -- --int --__setcontext(const ucontext_t *ucp) --{ --#ifdef SYS_swapcontext -- int r; -- -- r = syscall(SYS_swapcontext, NULL, (void *) ucp, sizeof(ucontext_t)); -- if (r < 0) -- { -- errno = -r; -- return -1; -- } -- -- return r; --#else -- errno = ENOSYS; -- return -1; --#endif --} -- -- --extern __typeof(__setcontext) setcontext __attribute__((weak, __alias__("__setcontext"))); -diff --git a/arch/ppc64/swapcontext.S b/arch/ppc64/swapcontext.S -new file mode 100644 -index 0000000..982537a ---- /dev/null -+++ b/arch/ppc64/swapcontext.S -@@ -0,0 +1,28 @@ -+/* -+ * Copyright (c) 2019 Bobby Bingham <koorogi@koorogi.info> -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * This software is provided 'as is' and without any warranty, express or -+ * implied. In no event shall the authors be liable for any damages arising -+ * from the use of this software. -+ */ -+ -+.global __swapcontext -+__swapcontext: -+ addis 2, 12, .TOC.-__swapcontext@ha -+ addi 2, 12, .TOC.-__swapcontext@l -+ -+ .localentry __swapcontext,.-__swapcontext -+ -+ li 0, 249 # SYS_swapcontext -+ li 5, 1696 # sizeof(ucontext_t) -+ sc -+ -+.hidden __retfromsyscall -+ b __retfromsyscall -+ -+.weak swapcontext -+swapcontext = __swapcontext -diff --git a/arch/ppc64/swapcontext.c b/arch/ppc64/swapcontext.c -deleted file mode 100644 -index af14bc2..0000000 ---- a/arch/ppc64/swapcontext.c -+++ /dev/null -@@ -1,45 +0,0 @@ --/* -- * Copyright (c) 2018 William Pitcock <nenolod@dereferenced.org> -- * -- * Permission to use, copy, modify, and/or distribute this software for any -- * purpose with or without fee is hereby granted, provided that the above -- * copyright notice and this permission notice appear in all copies. -- * -- * This software is provided 'as is' and without any warranty, express or -- * implied. In no event shall the authors be liable for any damages arising -- * from the use of this software. -- */ -- --#define _GNU_SOURCE --#include <stddef.h> --#include <stdarg.h> --#include <signal.h> --#include <string.h> --#include <stdint.h> --#include <errno.h> --#include <unistd.h> --#include <sys/syscall.h> -- -- --int --__swapcontext(ucontext_t *oucp, const ucontext_t *ucp) --{ --#ifdef SYS_swapcontext -- int r; -- -- r = syscall(SYS_swapcontext, oucp, ucp, sizeof(ucontext_t)); -- if (r < 0) -- { -- errno = -r; -- return -1; -- } -- -- return r; --#else -- errno = ENOSYS; -- return -1; --#endif --} -- -- --extern __typeof(__swapcontext) swapcontext __attribute__((weak, __alias__("__swapcontext"))); diff --git a/system/libucontext/static.patch b/system/libucontext/static.patch deleted file mode 100644 index a51e55f64..000000000 --- a/system/libucontext/static.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 9cc1a2c0e62c75dc7afd20d5e337953f44693b70 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Gabriel=20Iva=C8=99cu?= <givascu@bitdefender.com> -Date: Tue, 9 Apr 2019 16:07:39 +0300 -Subject: [PATCH] Build static library too - ---- - Makefile | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index d6ff1b0..d81153c 100644 ---- a/Makefile -+++ b/Makefile -@@ -8,10 +8,14 @@ LIBUCONTEXT_S_SRC = $(wildcard arch/${ARCH}/*.S) - LIBUCONTEXT_OBJ = ${LIBUCONTEXT_C_SRC:.c=.o} ${LIBUCONTEXT_S_SRC:.S=.o} - LIBUCONTEXT_SOVERSION = 0 - LIBUCONTEXT_NAME = libucontext.so -+LIBUCONTEXT_STATIC_NAME = libucontext.a - LIBUCONTEXT_SONAME = libucontext.so.${LIBUCONTEXT_SOVERSION} - LIBUCONTEXT_PATH = /lib/${LIBUCONTEXT_SONAME} - --all: ${LIBUCONTEXT_SONAME} -+all: ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_STATIC_NAME} -+ -+${LIBUCONTEXT_STATIC_NAME}: ${LIBUCONTEXT_OBJ} -+ $(AR) rcs ${LIBUCONTEXT_STATIC_NAME} ${LIBUCONTEXT_OBJ} - - ${LIBUCONTEXT_NAME}: ${LIBUCONTEXT_OBJ} - $(CC) -o ${LIBUCONTEXT_NAME} -Wl,-soname,${LIBUCONTEXT_SONAME} \ -From 2e15b383272fafbbb92882990b8f339e2c6888d2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Gabriel=20Iva=C8=99cu?= <givascu@bitdefender.com> -Date: Fri, 12 Apr 2019 10:48:24 +0300 -Subject: [PATCH] Makefile: Handle static library at clean/install - ---- - .gitignore | 1 + - Makefile | 5 ++++- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/.gitignore b/.gitignore -index 4fb95ca..d2e350f 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -34,5 +34,6 @@ Makefile.in - - *.o - test_libucontext -+libucontext.a - libucontext.so - libucontext.so.* -diff --git a/Makefile b/Makefile -index d81153c..8a605fd 100644 ---- a/Makefile -+++ b/Makefile -@@ -11,6 +11,7 @@ LIBUCONTEXT_NAME = libucontext.so - LIBUCONTEXT_STATIC_NAME = libucontext.a - LIBUCONTEXT_SONAME = libucontext.so.${LIBUCONTEXT_SOVERSION} - LIBUCONTEXT_PATH = /lib/${LIBUCONTEXT_SONAME} -+LIBUCONTEXT_STATIC_PATH = /lib/${LIBUCONTEXT_STATIC_NAME} - - all: ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_STATIC_NAME} - -@@ -31,10 +32,12 @@ ${LIBUCONTEXT_SONAME}: ${LIBUCONTEXT_NAME} - $(CC) -fPIC -DPIC ${CFLAGS} ${CPPFLAGS} -c -o $@ $< - - clean: -- rm -f ${LIBUCONTEXT_NAME} ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_OBJ} test_libucontext -+ rm -f ${LIBUCONTEXT_NAME} ${LIBUCONTEXT_SONAME} ${LIBUCONTEXT_STATIC_NAME} \ -+ ${LIBUCONTEXT_OBJ} test_libucontext - - install: all - install -D -m755 ${LIBUCONTEXT_NAME} ${DESTDIR}/${LIBUCONTEXT_PATH} -+ install -D -m664 ${LIBUCONTEXT_STATIC_NAME} ${DESTDIR}/${LIBUCONTEXT_STATIC_PATH} - ln -sf ${LIBUCONTEXT_SONAME} ${DESTDIR}/lib/${LIBUCONTEXT_NAME} - - check: test_libucontext ${LIBUCONTEXT_SONAME} diff --git a/system/lvm2/APKBUILD b/system/lvm2/APKBUILD index 4bb0d5d0c..3baea9c09 100644 --- a/system/lvm2/APKBUILD +++ b/system/lvm2/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=lvm2 pkgver=2.03.08 -pkgrel=0 +pkgrel=1 pkgdesc="Logical Volume Manager 2 utilities" url="https://sourceware.org/lvm2/" arch="all" @@ -88,7 +88,7 @@ udev() { sha512sums="411c76de2acd8d7d707b60a4aab3f846004a1fbdc7b1d3f34d21af8ed45716adc0516b11491a26261580da7396d13a506e3994b32f5d1cefdf49c97e5d62d2e3 LVM2.2.03.08.tgz -62dd89e626adc86d1f9d7c575517b4454a362868e2fd3399813b61c1cc407316156456348cd4e8148542ee26124739d6c0e72f3dddee66662a40ca86f1bc3abd fix-stdio-usage.patch +bc4473c2f48ff6cab121f92211cd1b67589a6abadd8e32ffa366fed6ddbf9c87be695aa54a6e97b5b79203bf1a7d22cdb5974da84d38b4977592ef7a061612e7 fix-stdio-usage.patch 9272ec8c5184ef5dc776ead8f74132e072b7563b5119a3a38b712f00d92a1e3878c9b3a54eb2b01dcba038110c686b39d4c17ecd0eb258537e9217d7ed03c408 mallinfo.patch d190c40a137b006d7b63298069c93ff08d2804b990e85d44739cd7c48beec9a569903b98f0d940895fc7365723ba886acd7ef0e08f1f65a1a391d1c448ce080e mlockall-default-config.patch a853078660fd2fd943538924f56e81dc5793294e26b8f61d93e6188893f15f4a438d33792b341c1865d61e03f4a371b7c7ee0db5f4130ef7cb7aeaeb9290086a lvm.initd diff --git a/system/lvm2/fix-stdio-usage.patch b/system/lvm2/fix-stdio-usage.patch index d5cc43f65..6b7ee0eaa 100644 --- a/system/lvm2/fix-stdio-usage.patch +++ b/system/lvm2/fix-stdio-usage.patch @@ -1,6 +1,6 @@ ---- ./tools/lvmcmdline.c -+++ ./tools/lvmcmdline.c -@@ -1252,7 +1252,7 @@ +--- LVM2.2.03.08/tools/lvmcmdline.c 2020-02-11 03:59:27.000000000 -0600 ++++ LVM2.2.03.08/tools/lvmcmdline.c 2020-03-22 16:17:35.470100377 -0500 +@@ -3233,7 +3233,7 @@ static int _check_standard_fds(void) int err = is_valid_fd(STDERR_FILENO); if (!is_valid_fd(STDIN_FILENO) && @@ -9,7 +9,7 @@ if (err) perror("stdin stream open"); else -@@ -1262,7 +1262,7 @@ +@@ -3243,7 +3243,7 @@ static int _check_standard_fds(void) } if (!is_valid_fd(STDOUT_FILENO) && @@ -18,7 +18,7 @@ if (err) perror("stdout stream open"); /* else no stdout */ -@@ -1270,7 +1270,7 @@ +@@ -3251,7 +3251,7 @@ static int _check_standard_fds(void) } if (!is_valid_fd(STDERR_FILENO) && @@ -27,3 +27,23 @@ printf("stderr stream open: %s\n", strerror(errno)); return 0; +--- LVM2.2.03.08/lib/commands/toolcontext.c 2020-02-11 03:59:27.000000000 -0600 ++++ LVM2.2.03.08/lib/commands/toolcontext.c 2020-03-22 16:18:35.130101016 -0500 +@@ -1599,7 +1599,7 @@ struct cmd_context *create_toolcontext(u + /* FIXME Make this configurable? */ + reset_lvm_errno(1); + +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + /* Set in/out stream buffering before glibc */ + if (set_buffering + #ifdef SYS_gettid +@@ -1980,7 +1980,7 @@ void destroy_toolcontext(struct cmd_cont + + if (cmd->pending_delete_mem) + dm_pool_destroy(cmd->pending_delete_mem); +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + if (cmd->linebuffer) { + /* Reset stream buffering to defaults */ + if (is_valid_fd(STDIN_FILENO) && diff --git a/system/make/APKBUILD b/system/make/APKBUILD index 7f8639199..6459c306f 100644 --- a/system/make/APKBUILD +++ b/system/make/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=make -pkgver=4.2.1 -pkgrel=2 +pkgver=4.3 +pkgrel=0 pkgdesc="GNU make utility to maintain groups of programs" url="https://www.gnu.org/software/make" arch="all" @@ -10,15 +10,10 @@ depends="" checkdepends="perl" makedepends="" subpackages="$pkgname-doc $pkgname-lang" -source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2 +source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz fix-atexit-exit.patch " -prepare() { - update_config_sub - default_prepare -} - build() { ./configure \ --build=$CBUILD \ @@ -37,5 +32,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="9cf00869a2f938492554f71d8cb288b5b009b3bd0489ef164f2c8f6532fc37db5c7e20af1dea288536e7c9710ee0bc6e1ddcdfc4928a8540e6e43661741825b8 make-4.2.1.tar.bz2 -a1639d9caf84a24a9f161a30d8b5dcd079b13faf2a5e3d514ff39fa11b13e796c7ff34c46ac2b56656d52129b4d3627c6102b129a4ab011f065076d872ef3992 fix-atexit-exit.patch" +sha512sums="9a1185cc468368f4ec06478b1cfa343bf90b5cd7c92c0536567db0315b0ee909af53ecce3d44cfd93dd137dbca1ed13af5713e8663590c4fdd21ea635d78496b make-4.3.tar.gz +ce638cf5689d384f961a92b186d9f53f34764b6ab55deca8cc284fc2192a981d4d896cf58ab764b032e9b09fe50d238c9b3031712bf94e368428174372307a45 fix-atexit-exit.patch" diff --git a/system/make/fix-atexit-exit.patch b/system/make/fix-atexit-exit.patch index a71d26fb5..bce562f90 100644 --- a/system/make/fix-atexit-exit.patch +++ b/system/make/fix-atexit-exit.patch @@ -4,8 +4,8 @@ POSIX says the behaviour is undefined if atexit callback calls exit(). On glibc it works, but on musl it does not. Call instead _exit() which is guaranteed to work. ---- ./output.c.orig -+++ ./output.c +--- make-4.3/src/output.c ++++ make-4.3/src/output.c @@ -495,7 +495,7 @@ perror_with_name (_("write error: stdout"), ""); else diff --git a/system/man-db/APKBUILD b/system/man-db/APKBUILD index 5ee93c438..136e0720d 100644 --- a/system/man-db/APKBUILD +++ b/system/man-db/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=man-db -pkgver=2.9.0 +pkgver=2.9.1 pkgrel=0 pkgdesc="The man command and related utilities for examining on-line help files" url="https://www.nongnu.org/man-db/" @@ -40,5 +40,5 @@ package() { rm -r "${pkgdir}"/usr/lib/tmpfiles.d # systemd } -sha512sums="7deb4421c7944276c6edf974b1336ee2f6605ee470c98d374544e2fcaa32ec2afe077c5fd020fc1f74df058384a293b8ad5a92d86b1c15a949573af46ba09cda man-db-2.9.0.tar.xz +sha512sums="ae2d1e9f293795c63f5a9a1a765478a9a59cbe5fe6f759647be5057c1ae53f90baee8d5467921f3d0102300f2111a5026eeb25f78401bcb16ce45ad790634977 man-db-2.9.1.tar.xz 0a68260fc48488408dc11855858aa2569efa3aeefd765c425b8fc988e7fee3e1d42e19eb299e518afc9b2ae54c5d37911176127124a43d5041f1137af0457097 man-db-2.8.5-iconv.patch" diff --git a/system/mdevd/APKBUILD b/system/mdevd/APKBUILD index 8d52e5286..c0c9ac011 100644 --- a/system/mdevd/APKBUILD +++ b/system/mdevd/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=mdevd -pkgver=0.1.1.1 +pkgver=0.1.1.2 pkgrel=0 pkgdesc="A small uevent manager daemon" url="https://skarnet.org/software/$pkgname/" @@ -47,7 +47,7 @@ openrc() { ln -s ../../init.d/mdevd "$rldir/mdevd" } -sha512sums="cd7d6dcddc2bca30a3dd4583c2aa800fc54b559d4ca9385d3247eec93ee8500493254a60e47028243f715e6a3517930135407a5249641c8f23efdcaa67a50467 mdevd-0.1.1.1.tar.gz +sha512sums="7d7a25facde1291854f564e805cc2bf7e7e0b06aaa4b631a640cf999007a3ef063ec68e8973559ec69023f40bb6ed24937d4d8510fd697f34a97345a22ede5b5 mdevd-0.1.1.2.tar.gz b237443837c3d76f8964e2b1a48c2278af7b4a4e7f735da6fc861b7598cbf50017e961e5a4fd1f20dd9cb7dd46f4cdf68144539d909b1f245e110b75c2d849db mdev.conf 31231b28d0b980dda634e8b043a2ee31960493d60c2c9aac8a4f3f68ca1d130342569af2acd0bc04d9d8008b8e234ba949b64d9ec3ff1bded64b4e4f0ce3786b mdevd.run f6f9eebf49c2de6abde9cfb7a9d7b3a6b3afdd3e01ba4155f1b95dfa27e522363059b69cec19305881773d776ffeccf6c1106d537d01780468bd3b9846edb2cc mdevd.initd" diff --git a/user/musl-locales/APKBUILD b/system/musl-locales/APKBUILD index 9bbf0c49b..f537430d0 100644 --- a/user/musl-locales/APKBUILD +++ b/system/musl-locales/APKBUILD @@ -1,18 +1,17 @@ # Contributor: Alyx <alyx@leuhta.com> # Maintainer: Alyx <alyx@leuhta.com> pkgname=musl-locales -pkgver=0.20190626 +pkgver=0.20200319 pkgrel=0 pkgdesc="Locale program for musl" url="https://gitlab.com/rilian-la-te/musl-locales" arch="all" options="!check" # No test suite. -license="MIT" +license="LGPL-3.0-only" depends="" makedepends="cmake make gettext-tiny-dev" subpackages="$pkgname-lang" -source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.gz" -builddir="$srcdir/$pkgname" +source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz" build() { cmake \ @@ -25,4 +24,9 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f65381b6eec64e69e649dacd3a3f75e74d9236164a1277bd2493afb3cb469049bee026d590a7207413b4d92675f877d1d8d3b16c58840a6e15a81638a2f731f2 musl-locales-0.20190626.tar.gz" +lang() { + license="MIT" + default_lang +} + +sha512sums="921c5a4dfb45ac12b1eaf284986237bd95420a58705702d0541a46fa2480ff97cd3ac929661108c67304e4e1bfe1efed7bf8edd535b7260d7eb69d72aa294e45 musl-locales-0.20200319.tar.xz" diff --git a/system/nss/APKBUILD b/system/nss/APKBUILD index 0e233e589..944668272 100644 --- a/system/nss/APKBUILD +++ b/system/nss/APKBUILD @@ -1,9 +1,9 @@ # Contributor: Łukasz Jendrysik <scadu@yandex.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=nss -pkgver=3.50 +pkgver=3.51 _ver=$(printf '%s' "$pkgver" | tr . _) -pkgrel=0 +pkgrel=1 pkgdesc="Mozilla Network Security Services" url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS" arch="all" @@ -49,6 +49,17 @@ build() { case "$CARCH" in *64* | s390x) export USE_64=1;; esac + + # This actually enables -mvsx and -mcrypto too, and those can't + # be turned off separately in this case: + # + # altivec-types.h:20:1: error: use of _long long_ in AltiVec + # types is invalid without _-mvsx_ + # + # typedef __vector signed long long vec_s64; + # ^~~~~~~ + export NSS_DISABLE_ALTIVEC=1 + make -j 1 -C nss/coreconf make -j 1 -C nss/lib/dbm make -j 1 -C nss @@ -146,7 +157,7 @@ tools() { mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ } -sha512sums="d6bcaf8ad65b5a97c42cd6cbbc68add5c4b49db74b2debcedb2a007f72511ac0e9bd21fd2dec041bc1975cfc8af26a48450aa0d1b962f755931ab2ac45c795b1 nss-3.50.tar.gz +sha512sums="9c894b1ea41449b000750a7b3a89fcb43dfc3d0d4d6dcc0dc288bc73996f76f1ee1ede927a8aecae6d4a07f9f3d3e3a042c6a60cf06e27e0cdc004fce2e510fd nss-3.51.tar.gz 75dbd648a461940647ff373389cc73bc8ec609139cd46c91bcce866af02be6bcbb0524eb3dfb721fbd5b0bc68c20081ed6f7debf6b24317f2a7ba823e8d3c531 nss.pc.in 0f2efa8563b11da68669d281b4459289a56f5a3a906eb60382126f3adcfe47420cdcedc6ab57727a3afeeffa2bbb4c750b43bef8b5f343a75c968411dfa30e09 nss-util.pc.in 09c69d4cc39ec9deebc88696a80d0f15eb2d8c94d9daa234a2adfec941b63805eb4ce7f2e1943857b938bddcaee1beac246a0ec627b71563d9f846e6119a4a15 nss-softokn.pc.in diff --git a/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch b/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch deleted file mode 100644 index 6c23e2ab0..000000000 --- a/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3d0d2b89745597ea973129eafa3f999cf19d761f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net> -Date: Wed, 17 Aug 2016 17:52:58 +0200 -Subject: [PATCH 7/7] make consolefont service compatible with busyboxs setfont - applet - -Compared to kdbs setfont program it doesn't support -O and -m. ---- - conf.d/consolefont | 11 ++--------- - init.d/consolefont.in | 7 ++----- - 2 files changed, 4 insertions(+), 14 deletions(-) - -diff --git a/conf.d/consolefont b/conf.d/consolefont -index e01ae842..75544b2f 100644 ---- a/conf.d/consolefont -+++ b/conf.d/consolefont -@@ -3,16 +3,9 @@ - # - # consolefont specifies the default font that you'd like Linux to use on the - # console. You can find a good selection of fonts in /usr/share/consolefonts; --# you shouldn't specify the trailing ".psf.gz", just the font name below. --# To use the default console font, comment out the CONSOLEFONT setting below. --consolefont="default8x16" -+consolefont="default8x16.psf.gz" - - # consoletranslation is the charset map file to use. Leave commented to use - # the default one. Have a look in /usr/share/consoletrans for a selection of - # map files you can use. --#consoletranslation="8859-1_to_uni" -- --# unicodemap is the unicode map file to use. Leave commented to use the --# default one. Have a look in /usr/share/unimaps for a selection of map files --# you can use. --#unicodemap="iso01" -+#consoletranslation="8859-1_to_uni.trans" -diff --git a/init.d/consolefont.in b/init.d/consolefont.in -index 9fe95afa..173ed426 100644 ---- a/init.d/consolefont.in -+++ b/init.d/consolefont.in -@@ -22,7 +22,6 @@ start() - { - ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} - consolefont=${consolefont:-${CONSOLEFONT}} -- unicodemap=${unicodemap:-${UNICODEMAP}} - consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}} - - if [ -z "$consolefont" ]; then -@@ -43,9 +42,6 @@ start() - if [ -n "$consoletranslation" ]; then - param="$param -m $consoletranslation" - fi -- if [ -n "${unicodemap}" ]; then -- param="$param -u $unicodemap" -- fi - - # Set the console font - ebegin "Setting console font [$consolefont]" -@@ -63,7 +59,8 @@ start() - # Store the font so we can use it ASAP on boot - if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then - mkdir -p "$RC_LIBEXECDIR"/console -- setfont -O "$RC_LIBEXECDIR"/console/font -+ zcat "/usr/share/consolefonts/$consolefont" \ -+ > "$RC_LIBEXECDIR"/console/font - fi - - return $retval --- -2.11.0 - diff --git a/system/openrc/APKBUILD b/system/openrc/APKBUILD index 2b1c5f520..c2cb32220 100644 --- a/system/openrc/APKBUILD +++ b/system/openrc/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: pkgname=openrc pkgver=0.24.1 -pkgrel=8 +pkgrel=10 pkgdesc="OpenRC manages the services, startup and shutdown of a host" url="https://github.com/OpenRC/openrc" arch="all" @@ -19,7 +19,6 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/OpenRC/openrc/archive/$pkgve 0004-hide-error-when-migrating-var-run-to-run.patch 0005-rc-pull-in-sysinit-and-boot-as-stacked-levels-when-n.patch 0006-mount-efivars-read-only.patch - 0007-make-consolefont-service-compatible-with-busyboxs-se.patch openrc-configuration.patch @@ -69,8 +68,11 @@ package() { rm "$pkgdir"/etc/conf.d/network rm "$pkgdir"/etc/init.d/network - # we use console-setup for keymaps - rm "$pkgdir"/etc/init.d/keymaps + # we ship these in system/kbd + for i in consolefont keymaps; do + rm "$pkgdir"/etc/conf.d/$i + rm "$pkgdir"/etc/init.d/$i + done # we use gettys-openrc for TTY rm "$pkgdir"/etc/init.d/agetty @@ -86,7 +88,6 @@ aedf77f9159fefb4bd5f30a29a33b6aedbc986c9a0f993aa928cc79fbe24aac76bd9e5974dcce52e d54630d40a2d6b10a325cb012d4efcda997a60c008ca953ce5d60059d3f267308a59dabddf93a5fc0d301aa91967137d144effbe5f574394af768ce4ebc48738 0004-hide-error-when-migrating-var-run-to-run.patch 39a35c54ec9112fe84c901ed155a711cec8e194af02d5483ee60b80743dab12391e6fdc7b3da2f86844dd4edcf53e681ff95bd4d6fa1101a89ce54dce2ddbb7c 0005-rc-pull-in-sysinit-and-boot-as-stacked-levels-when-n.patch 7221dd2daccd8844f6f9481b7b5921abc2711c8abd1a4bb72f04db8fd8e734b817f5d0d571daea0e2e05d3bc687f75ee1d8025249996bdee0b3328e18d9da7d3 0006-mount-efivars-read-only.patch -234c4f3cf39df3350dbea25c00b8d584794b28194f44c726767a6a16d91a26fee1b5d2dd16635f19803fc015b4e9d99c52b23128e6b815938b88365feba8cf59 0007-make-consolefont-service-compatible-with-busyboxs-se.patch 2dde266f3176456724e4b0c40476e7061e31986b67744b4a53c71ba0d3896860b4569e3af2ea4777a9d8fe3b6282ff869666570f1daa86cdc410c0e09805c990 openrc-configuration.patch 12bb6354e808fbf47bbab963de55ee7901738b4a912659982c57ef2777fff9a670e867fcb8ec316a76b151032c92dc89a950d7d1d835ef53f753a8f3b41d2cec openrc.logrotate 99b542c0903ad6874b8c308b2e0660a4fe2ff9db962dfec65325cd12c368873a2ae800d5e6d42dc4deff775e1d5c0068869eb72581f7ab16e88d5738afe1d3dd hostname.initd diff --git a/system/openrc/openrc.post-install b/system/openrc/openrc.post-install index 0f6572ef7..9632de2ee 100644 --- a/system/openrc/openrc.post-install +++ b/system/openrc/openrc.post-install @@ -1,6 +1,6 @@ #!/bin/sh -if [ -d /etc/runlevels ]; then +if [ -d /etc/runlevels/sysinit ]; then exit 0 fi diff --git a/system/openssl/APKBUILD b/system/openssl/APKBUILD index 070d3d0e2..dde5f8603 100644 --- a/system/openssl/APKBUILD +++ b/system/openssl/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=openssl -pkgver=1.1.1d +pkgver=1.1.1g pkgrel=0 pkgdesc="Toolkit for SSL and TLS" url="https://www.openssl.org/" @@ -12,7 +12,7 @@ makedepends_build="perl" subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc libcrypto1.1:libcrypto libssl1.1:libssl" source="https://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz - CVE-2019-1551.patch + ppc-auxv.patch ppc64.patch " @@ -58,6 +58,8 @@ source="https://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz # - CVE-2019-1563 # 1.1.1d-r0: # - CVE-2019-1551 +# 1.1.1g-r0: +# - CVE-2020-1967 build() { # openssl will prepend crosscompile always core CC et al @@ -127,6 +129,6 @@ libssl() { done } -sha512sums="2bc9f528c27fe644308eb7603c992bac8740e9f0c3601a130af30c9ffebbf7e0f5c28b76a00bbb478bad40fbe89b4223a58d604001e1713da71ff4b7fe6a08a7 openssl-1.1.1d.tar.gz -11ca61515a89766241fe0fae27f3b39767128915f288ea88840bf93e8b50ac416024cb2153efcdf2658d3e82a8e4250a0c069333dbd7347475f9dafcc45370b5 CVE-2019-1551.patch -66bbb0ae769643c8a0b1501d9c8466f08f0d8b3b2bc4fcc2c0c054ab1971ced85c07aa0e4b8168a4394d0ae407dfbd26066a7a068602ce5b58e459b12ce6d36a ppc64.patch" +sha512sums="01e3d0b1bceeed8fb066f542ef5480862001556e0f612e017442330bbd7e5faee228b2de3513d7fc347446b7f217e27de1003dc9d7214d5833b97593f3ec25ab openssl-1.1.1g.tar.gz +c164dd528d7408b8b2a52a0b181f2066ff00feb635df863bdeb4ce879db9ecdf7dd9033bb14b63ee5239aa814d5d777a86bb99cc37ecedae2d77a6bd86144b88 ppc-auxv.patch +e040f23770d52b988578f7ff84d77563340f37c026db7643db8e4ef18e795e27d10cb42cb8656da4d9c57a28283a2828729d70f940edc950c3422a54fea55509 ppc64.patch" diff --git a/system/openssl/ppc-auxv.patch b/system/openssl/ppc-auxv.patch new file mode 100644 index 000000000..e19d8df1f --- /dev/null +++ b/system/openssl/ppc-auxv.patch @@ -0,0 +1,17 @@ +--- openssl-1.1.1e/crypto/ppccap.c.old 2020-03-17 14:31:17.000000000 +0000 ++++ openssl-1.1.1e/crypto/ppccap.c 2020-03-30 06:32:25.943988524 +0000 +@@ -207,11 +207,9 @@ + return 0; + } + +-#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) +-# if __GLIBC_PREREQ(2, 16) +-# include <sys/auxv.h> +-# define OSSL_IMPLEMENT_GETAUXVAL +-# endif ++#if defined(__linux__) ++# include <sys/auxv.h> ++# define OSSL_IMPLEMENT_GETAUXVAL + #endif + + /* I wish <sys/auxv.h> was universally available */ diff --git a/system/openssl/ppc64.patch b/system/openssl/ppc64.patch index 5f79c4ddc..c75ceedba 100644 --- a/system/openssl/ppc64.patch +++ b/system/openssl/ppc64.patch @@ -78,7 +78,7 @@ diff --git a/Configure b/Configure index 22082deb4c7..e303d98deb3 100755 --- a/Configure +++ b/Configure -@@ -1411,8 +1410,15 @@ +@@ -1402,8 +1402,15 @@ my %predefined_C = compiler_predefined($config{CROSS_COMPILE}.$config{CC}); my %predefined_CXX = $config{CXX} ? compiler_predefined($config{CROSS_COMPILE}.$config{CXX}) diff --git a/system/pcre2/APKBUILD b/system/pcre2/APKBUILD index 7bca0e450..4120d0a7b 100644 --- a/system/pcre2/APKBUILD +++ b/system/pcre2/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: pkgname=pcre2 pkgver=10.33 -pkgrel=0 +pkgrel=1 pkgdesc="Perl-compatible regular expression library" url="https://pcre.org" arch="all" @@ -12,7 +12,13 @@ depends_dev="libedit-dev zlib-dev" makedepends="$depends_dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-tools libpcre2-16:_libpcre libpcre2-32:_libpcre" -source="https://ftp.pcre.org/pub/pcre/$pkgname-$pkgver.tar.gz" +source="https://ftp.pcre.org/pub/pcre/$pkgname-$pkgver.tar.gz + CVE-2019-20454.patch + " + +# secfixes: +# 10.33-r1: +# - CVE-2019-20454 case "$CARCH" in s390x) _enable_jit="";; @@ -62,4 +68,5 @@ tools() { mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ } -sha512sums="649983c7725e2fd2451ba89243b4c08c408fc279b7be3b2d225045cced3b0667ff6da4c9dd37510eb9e5aed6478aff54c2dbd1d92f4d0f1174579df9ec2c1882 pcre2-10.33.tar.gz" +sha512sums="649983c7725e2fd2451ba89243b4c08c408fc279b7be3b2d225045cced3b0667ff6da4c9dd37510eb9e5aed6478aff54c2dbd1d92f4d0f1174579df9ec2c1882 pcre2-10.33.tar.gz +07c43ccf130c1ed2b4f97036671f92e9c1d0100fd32c053b448e5dbdf976543c12f74568e37b661db7fbd603e815f5683a59cb2a9f9c307505dca3cb36db8120 CVE-2019-20454.patch" diff --git a/system/pcre2/CVE-2019-20454.patch b/system/pcre2/CVE-2019-20454.patch new file mode 100644 index 000000000..bdec87294 --- /dev/null +++ b/system/pcre2/CVE-2019-20454.patch @@ -0,0 +1,50 @@ +Revision: 1091 +Author: ph10 +Date: Mon May 13 16:26:17 2019 UTC +URL: https://vcs.pcre.org/pcre2?view=revision&revision=1091 + +Fix crash when \X is used without UTF in JIT. + +--- a/testdata/testinput4 2019/05/11 11:43:39 1090 ++++ b/testdata/testinput4 2019/05/13 16:26:17 1091 +@@ -2480,4 +2480,7 @@ + /^(?'אABC'...)(?&אABC)/utf + 123123123456 + ++/\X*/ ++ \xF3aaa\xE4\xEA\xEB\xFEa ++ + # End of testinput4 +--- a/testdata/testoutput4 2019/05/11 11:43:39 1090 ++++ b/testdata/testoutput4 2019/05/13 16:26:17 1091 +@@ -4012,4 +4012,8 @@ + 0: 123123 + 1: 123 + ++/\X*/ ++ \xF3aaa\xE4\xEA\xEB\xFEa ++ 0: \xf3aaa\xe4\xea\xeb\xfea ++ + # End of testinput4 + +Revision: 1092 +Author: ph10 +Date: Mon May 13 16:38:18 2019 UTC +URL: https://vcs.pcre.org/pcre2?view=revision&revision=1092 + +Forgot this file in previous commit. Fixes JIT non-UTF bug. + +--- a/src/pcre2_jit_compile.c 2019/05/13 16:26:17 1091 ++++ b/src/pcre2_jit_compile.c 2019/05/13 16:38:18 1092 +@@ -8571,7 +8571,10 @@ + PCRE2_SPTR bptr; + uint32_t c; + +-GETCHARINC(c, cc); ++/* Patch by PH */ ++/* GETCHARINC(c, cc); */ ++ ++c = *cc++; + #if PCRE2_CODE_UNIT_WIDTH == 32 + if (c >= 0x110000) + return NULL; diff --git a/system/python3/APKBUILD b/system/python3/APKBUILD index b8c72f3a7..e875d3941 100644 --- a/system/python3/APKBUILD +++ b/system/python3/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=python3 -pkgver=3.6.9 +pkgver=3.6.10 _basever="${pkgver%.*}" pkgrel=2 pkgdesc="A high-level scripting language" @@ -40,8 +40,7 @@ makedepends="expat-dev openssl-dev zlib-dev ncurses-dev bzip2-dev xz-dev source="https://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz musl-find_library.patch fix-xattrs-glibc.patch - CVE-2019-16056.patch - CVE-2019-16935.patch + CVE-2019-18348.patch " builddir="$srcdir/Python-$pkgver" @@ -63,6 +62,8 @@ builddir="$srcdir/Python-$pkgver" # - CVE-2019-16056 # 3.6.9-r2: # - CVE-2019-16935 +# 3.6.10-r0: +# - CVE-2019-18348 prepare() { default_prepare @@ -153,11 +154,14 @@ EOF } package() { + export XDG_CACHE_HOME="$(mktemp -d)" make -j1 DESTDIR="$pkgdir" EXTRA_CFLAGS="$CFLAGS" install maninstall install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE # those are provided by python3-tkinter rm -r "$pkgdir"/usr/bin/idle* "$pkgdir"/usr/lib/python*/idlelib \ "$pkgdir"/usr/lib/python*/tkinter + + rm -rf "$XDG_CACHE_HOME" } dev() { @@ -189,8 +193,7 @@ wininst() { "$subpkgdir"/usr/lib/python$_basever/distutils/command } -sha512sums="05de9c6f44d96a52bfce10ede4312de892573edaf8bece65926d19973a3a800d65eed7a857af945f69efcfb25efa3788e7a54016b03d80b611eb51c3ea074819 Python-3.6.9.tar.xz +sha512sums="26147099e1f1a0ffc85febad26e18e991f019599a150887ea0b925e34663fad8e03b3c2a941e2770c1a63960695e173ef32709572c9361e7f2cb862ccf75b28a Python-3.6.10.tar.xz ab8eaa2858d5109049b1f9f553198d40e0ef8d78211ad6455f7b491af525bffb16738fed60fc84e960c4889568d25753b9e4a1494834fea48291b33f07000ec2 musl-find_library.patch 37b6ee5d0d5de43799316aa111423ba5a666c17dc7f81b04c330f59c1d1565540eac4c585abe2199bbed52ebe7426001edb1c53bd0a17486a2a8e052d0f494ad fix-xattrs-glibc.patch -1f1eb61355eb7832bef8e9c3915895cc3b2966a30c809371430b4416260452cd39c48ba593b2259574867bd1e8fea98efbc45c4b0bd95aeb0690c8514b380ea0 CVE-2019-16056.patch -7f94d887c81f79d90afd4a9621547c13cbdd0232250f62a686b26a63160a4d286a6db9b342d06b9b63af64f994835b489c37bab499a2093c3c2585dc7a04d8a1 CVE-2019-16935.patch" +7a15409165feb60358455b711f978b7b1c4dea9ad53aa7b5be07c1f70262988e592e7a630f83125f37051bbed14d14b66d2acd775234a163ff5b048621b9a59c CVE-2019-18348.patch" diff --git a/system/python3/CVE-2019-16056.patch b/system/python3/CVE-2019-16056.patch deleted file mode 100644 index b2f5ce826..000000000 --- a/system/python3/CVE-2019-16056.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 13a19139b5e76175bc95294d54afc9425e4f36c9 Mon Sep 17 00:00:00 2001 -From: "Miss Islington (bot)" - <31488909+miss-islington@users.noreply.github.com> -Date: Fri, 9 Aug 2019 08:22:19 -0700 -Subject: [PATCH] bpo-34155: Dont parse domains containing @ (GH-13079) - (GH-14826) - -Before: - - >>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses - (Address(display_name='', username='a', domain='malicious.org'),) - - >>> parseaddr('a@malicious.org@important.com') - ('', 'a@malicious.org') - - After: - - >>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses - (Address(display_name='', username='', domain=''),) - - >>> parseaddr('a@malicious.org@important.com') - ('', 'a@') - -https://bugs.python.org/issue34155 -(cherry picked from commit 8cb65d1381b027f0b09ee36bfed7f35bb4dec9a9) - -Co-authored-by: jpic <jpic@users.noreply.github.com> ---- - Lib/email/_header_value_parser.py | 2 ++ - Lib/email/_parseaddr.py | 11 ++++++++++- - Lib/test/test_email/test__header_value_parser.py | 10 ++++++++++ - Lib/test/test_email/test_email.py | 14 ++++++++++++++ - .../2019-05-04-13-33-37.bpo-34155.MJll68.rst | 1 + - 5 files changed, 37 insertions(+), 1 deletion(-) - create mode 100644 Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst - -diff --git a/Lib/email/_header_value_parser.py b/Lib/email/_header_value_parser.py -index 737951e4b1b1..bc9c9b6241d4 100644 ---- a/Lib/email/_header_value_parser.py -+++ b/Lib/email/_header_value_parser.py -@@ -1561,6 +1561,8 @@ def get_domain(value): - token, value = get_dot_atom(value) - except errors.HeaderParseError: - token, value = get_atom(value) -+ if value and value[0] == '@': -+ raise errors.HeaderParseError('Invalid Domain') - if leader is not None: - token[:0] = [leader] - domain.append(token) -diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py -index cdfa3729adc7..41ff6f8c000d 100644 ---- a/Lib/email/_parseaddr.py -+++ b/Lib/email/_parseaddr.py -@@ -379,7 +379,12 @@ def getaddrspec(self): - aslist.append('@') - self.pos += 1 - self.gotonext() -- return EMPTYSTRING.join(aslist) + self.getdomain() -+ domain = self.getdomain() -+ if not domain: -+ # Invalid domain, return an empty address instead of returning a -+ # local part to denote failed parsing. -+ return EMPTYSTRING -+ return EMPTYSTRING.join(aslist) + domain - - def getdomain(self): - """Get the complete domain name from an address.""" -@@ -394,6 +399,10 @@ def getdomain(self): - elif self.field[self.pos] == '.': - self.pos += 1 - sdlist.append('.') -+ elif self.field[self.pos] == '@': -+ # bpo-34155: Don't parse domains with two `@` like -+ # `a@malicious.org@important.com`. -+ return EMPTYSTRING - elif self.field[self.pos] in self.atomends: - break - else: -diff --git a/Lib/test/test_email/test__header_value_parser.py b/Lib/test/test_email/test__header_value_parser.py -index a2c900fa7fd2..02ef3e1006c6 100644 ---- a/Lib/test/test_email/test__header_value_parser.py -+++ b/Lib/test/test_email/test__header_value_parser.py -@@ -1418,6 +1418,16 @@ def test_get_addr_spec_dot_atom(self): - self.assertEqual(addr_spec.domain, 'example.com') - self.assertEqual(addr_spec.addr_spec, 'star.a.star@example.com') - -+ def test_get_addr_spec_multiple_domains(self): -+ with self.assertRaises(errors.HeaderParseError): -+ parser.get_addr_spec('star@a.star@example.com') -+ -+ with self.assertRaises(errors.HeaderParseError): -+ parser.get_addr_spec('star@a@example.com') -+ -+ with self.assertRaises(errors.HeaderParseError): -+ parser.get_addr_spec('star@172.17.0.1@example.com') -+ - # get_obs_route - - def test_get_obs_route_simple(self): -diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py -index f97ccc6711cc..68d052279987 100644 ---- a/Lib/test/test_email/test_email.py -+++ b/Lib/test/test_email/test_email.py -@@ -3035,6 +3035,20 @@ def test_parseaddr_empty(self): - self.assertEqual(utils.parseaddr('<>'), ('', '')) - self.assertEqual(utils.formataddr(utils.parseaddr('<>')), '') - -+ def test_parseaddr_multiple_domains(self): -+ self.assertEqual( -+ utils.parseaddr('a@b@c'), -+ ('', '') -+ ) -+ self.assertEqual( -+ utils.parseaddr('a@b.c@c'), -+ ('', '') -+ ) -+ self.assertEqual( -+ utils.parseaddr('a@172.17.0.1@c'), -+ ('', '') -+ ) -+ - def test_noquote_dump(self): - self.assertEqual( - utils.formataddr(('A Silly Person', 'person@dom.ain')), -diff --git a/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst -new file mode 100644 -index 000000000000..50292e29ed1d ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst -@@ -0,0 +1 @@ -+Fix parsing of invalid email addresses with more than one ``@`` (e.g. a@b@c.com.) to not return the part before 2nd ``@`` as valid email address. Patch by maxking & jpic. diff --git a/system/python3/CVE-2019-16935.patch b/system/python3/CVE-2019-16935.patch deleted file mode 100644 index 567eb90fc..000000000 --- a/system/python3/CVE-2019-16935.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 1698cacfb924d1df452e78d11a4bf81ae7777389 Mon Sep 17 00:00:00 2001 -From: Victor Stinner <vstinner@redhat.com> -Date: Sat, 28 Sep 2019 09:33:00 +0200 -Subject: [PATCH] bpo-38243, xmlrpc.server: Escape the server_title (GH-16373) - (GH-16441) - -Escape the server title of xmlrpc.server.DocXMLRPCServer -when rendering the document page as HTML. - -(cherry picked from commit e8650a4f8c7fb76f570d4ca9c1fbe44e91c8dfaa) ---- - Lib/test/test_docxmlrpc.py | 16 ++++++++++++++++ - Lib/xmlrpc/server.py | 3 ++- - .../2019-09-25-13-21-09.bpo-38243.1pfz24.rst | 3 +++ - 3 files changed, 21 insertions(+), 1 deletion(-) - create mode 100644 Misc/NEWS.d/next/Security/2019-09-25-13-21-09.bpo-38243.1pfz24.rst - -diff --git a/Lib/test/test_docxmlrpc.py b/Lib/test/test_docxmlrpc.py -index 00903337c07c2..d2adb21af0fb3 100644 ---- a/Lib/test/test_docxmlrpc.py -+++ b/Lib/test/test_docxmlrpc.py -@@ -1,5 +1,6 @@ - from xmlrpc.server import DocXMLRPCServer - import http.client -+import re - import sys - from test import support - threading = support.import_module('threading') -@@ -193,6 +194,21 @@ def test_annotations(self): - b'method_annotation</strong></a>(x: bytes)</dt></dl>'), - response.read()) - -+ def test_server_title_escape(self): -+ # bpo-38243: Ensure that the server title and documentation -+ # are escaped for HTML. -+ self.serv.set_server_title('test_title<script>') -+ self.serv.set_server_documentation('test_documentation<script>') -+ self.assertEqual('test_title<script>', self.serv.server_title) -+ self.assertEqual('test_documentation<script>', -+ self.serv.server_documentation) -+ -+ generated = self.serv.generate_html_documentation() -+ title = re.search(r'<title>(.+?)</title>', generated).group() -+ documentation = re.search(r'<p><tt>(.+?)</tt></p>', generated).group() -+ self.assertEqual('<title>Python: test_title<script></title>', title) -+ self.assertEqual('<p><tt>test_documentation<script></tt></p>', documentation) -+ - - if __name__ == '__main__': - unittest.main() -diff --git a/Lib/xmlrpc/server.py b/Lib/xmlrpc/server.py -index 3e0dca027f068..efe593748968c 100644 ---- a/Lib/xmlrpc/server.py -+++ b/Lib/xmlrpc/server.py -@@ -106,6 +106,7 @@ def export_add(self, x, y): - - from xmlrpc.client import Fault, dumps, loads, gzip_encode, gzip_decode - from http.server import BaseHTTPRequestHandler -+import html - import http.server - import socketserver - import sys -@@ -904,7 +905,7 @@ def generate_html_documentation(self): - methods - ) - -- return documenter.page(self.server_title, documentation) -+ return documenter.page(html.escape(self.server_title), documentation) - - class DocXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - """XML-RPC and documentation request handler class. -diff --git a/Misc/NEWS.d/next/Security/2019-09-25-13-21-09.bpo-38243.1pfz24.rst b/Misc/NEWS.d/next/Security/2019-09-25-13-21-09.bpo-38243.1pfz24.rst -new file mode 100644 -index 0000000000000..98d7be129573a ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2019-09-25-13-21-09.bpo-38243.1pfz24.rst -@@ -0,0 +1,3 @@ -+Escape the server title of :class:`xmlrpc.server.DocXMLRPCServer` -+when rendering the document page as HTML. -+(Contributed by Dong-hee Na in :issue:`38243`.) diff --git a/system/python3/CVE-2019-18348.patch b/system/python3/CVE-2019-18348.patch new file mode 100644 index 000000000..9ebb963a8 --- /dev/null +++ b/system/python3/CVE-2019-18348.patch @@ -0,0 +1,147 @@ +From 83fc70159b24f5b11a5ef87c9b05c2cf4c7faeba Mon Sep 17 00:00:00 2001 +From: "Miss Islington (bot)" + <31488909+miss-islington@users.noreply.github.com> +Date: Sat, 14 Mar 2020 15:35:52 -0700 +Subject: [PATCH] bpo-38576: Disallow control characters in hostnames in + http.client (GH-18995) (GH-19002) + +Add host validation for control characters for more CVE-2019-18348 protection. +(cherry picked from commit 9165addc22d05e776a54319a8531ebd0b2fe01ef) + +Co-authored-by: Ashwin Ramaswami <aramaswamis@gmail.com> +--- + Lib/http/client.py | 10 ++++++ + Lib/test/test_httplib.py | 13 ++++++- + Lib/test/test_urllib.py | 36 +++++++++++++++++-- + .../2020-03-14-14-57-44.bpo-38576.OowwQn.rst | 1 + + 4 files changed, 57 insertions(+), 3 deletions(-) + create mode 100644 Misc/NEWS.d/next/Security/2020-03-14-14-57-44.bpo-38576.OowwQn.rst + +diff --git a/Lib/http/client.py b/Lib/http/client.py +index d4821f1a96e07..c0ac7db6f40a0 100644 +--- a/Lib/http/client.py ++++ b/Lib/http/client.py +@@ -858,6 +858,8 @@ def __init__(self, host, port=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + + (self.host, self.port) = self._get_hostport(host, port) + ++ self._validate_host(self.host) ++ + # This is stored as an instance variable to allow unit + # tests to replace it with a suitable mockup + self._create_connection = socket.create_connection +@@ -1215,6 +1217,14 @@ def _validate_path(self, url): + raise InvalidURL(f"URL can't contain control characters. {url!r} " + f"(found at least {match.group()!r})") + ++ def _validate_host(self, host): ++ """Validate a host so it doesn't contain control characters.""" ++ # Prevent CVE-2019-18348. ++ match = _contains_disallowed_url_pchar_re.search(host) ++ if match: ++ raise InvalidURL(f"URL can't contain control characters. {host!r} " ++ f"(found at least {match.group()!r})") ++ + def putheader(self, header, *values): + """Send a request header line to the server. + +diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py +index 14d42d483773c..fcd9231666ede 100644 +--- a/Lib/test/test_httplib.py ++++ b/Lib/test/test_httplib.py +@@ -1132,7 +1132,7 @@ def run_server(): + thread.join() + self.assertEqual(result, b"proxied data\n") + +- def test_putrequest_override_validation(self): ++ def test_putrequest_override_domain_validation(self): + """ + It should be possible to override the default validation + behavior in putrequest (bpo-38216). +@@ -1145,6 +1145,17 @@ def _validate_path(self, url): + conn.sock = FakeSocket('') + conn.putrequest('GET', '/\x00') + ++ def test_putrequest_override_host_validation(self): ++ class UnsafeHTTPConnection(client.HTTPConnection): ++ def _validate_host(self, url): ++ pass ++ ++ conn = UnsafeHTTPConnection('example.com\r\n') ++ conn.sock = FakeSocket('') ++ # set skip_host so a ValueError is not raised upon adding the ++ # invalid URL as the value of the "Host:" header ++ conn.putrequest('GET', '/', skip_host=1) ++ + def test_putrequest_override_encoding(self): + """ + It should be possible to override the default encoding +diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py +index 0061a5297cb35..ddf425fd8d4b5 100644 +--- a/Lib/test/test_urllib.py ++++ b/Lib/test/test_urllib.py +@@ -331,7 +331,7 @@ def test_willclose(self): + self.unfakehttp() + + @unittest.skipUnless(ssl, "ssl module required") +- def test_url_with_control_char_rejected(self): ++ def test_url_path_with_control_char_rejected(self): + for char_no in list(range(0, 0x21)) + [0x7f]: + char = chr(char_no) + schemeless_url = f"//localhost:7777/test{char}/" +@@ -358,7 +358,7 @@ def test_url_with_control_char_rejected(self): + self.unfakehttp() + + @unittest.skipUnless(ssl, "ssl module required") +- def test_url_with_newline_header_injection_rejected(self): ++ def test_url_path_with_newline_header_injection_rejected(self): + self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.") + host = "localhost:7777?a=1 HTTP/1.1\r\nX-injected: header\r\nTEST: 123" + schemeless_url = "//" + host + ":8080/test/?test=a" +@@ -383,6 +383,38 @@ def test_url_with_newline_header_injection_rejected(self): + finally: + self.unfakehttp() + ++ @unittest.skipUnless(ssl, "ssl module required") ++ def test_url_host_with_control_char_rejected(self): ++ for char_no in list(range(0, 0x21)) + [0x7f]: ++ char = chr(char_no) ++ schemeless_url = f"//localhost{char}/test/" ++ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.") ++ try: ++ escaped_char_repr = repr(char).replace('\\', r'\\') ++ InvalidURL = http.client.InvalidURL ++ with self.assertRaisesRegex( ++ InvalidURL, f"contain control.*{escaped_char_repr}"): ++ urlopen(f"http:{schemeless_url}") ++ with self.assertRaisesRegex(InvalidURL, f"contain control.*{escaped_char_repr}"): ++ urlopen(f"https:{schemeless_url}") ++ finally: ++ self.unfakehttp() ++ ++ @unittest.skipUnless(ssl, "ssl module required") ++ def test_url_host_with_newline_header_injection_rejected(self): ++ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.") ++ host = "localhost\r\nX-injected: header\r\n" ++ schemeless_url = "//" + host + ":8080/test/?test=a" ++ try: ++ InvalidURL = http.client.InvalidURL ++ with self.assertRaisesRegex( ++ InvalidURL, r"contain control.*\\r"): ++ urlopen(f"http:{schemeless_url}") ++ with self.assertRaisesRegex(InvalidURL, r"contain control.*\\n"): ++ urlopen(f"https:{schemeless_url}") ++ finally: ++ self.unfakehttp() ++ + def test_read_0_9(self): + # "0.9" response accepted (but not "simple responses" without + # a status line) +diff --git a/Misc/NEWS.d/next/Security/2020-03-14-14-57-44.bpo-38576.OowwQn.rst b/Misc/NEWS.d/next/Security/2020-03-14-14-57-44.bpo-38576.OowwQn.rst +new file mode 100644 +index 0000000000000..34b8af28988fa +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2020-03-14-14-57-44.bpo-38576.OowwQn.rst +@@ -0,0 +1 @@ ++Disallow control characters in hostnames in http.client, addressing CVE-2019-18348. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. +\ No newline at end of file diff --git a/system/ruby/APKBUILD b/system/ruby/APKBUILD index 537c1010a..1f4eeafc2 100644 --- a/system/ruby/APKBUILD +++ b/system/ruby/APKBUILD @@ -38,9 +38,11 @@ # - CVE-2019-16201 # - CVE-2019-16254 # - CVE-2019-16255 +# 2.5.7-r1: +# - CVE-2020-8130 # pkgname=ruby -pkgver=2.5.7 +pkgver=2.7.1 _abiver="${pkgver%.*}.0" pkgrel=0 pkgdesc="An object-oriented language for quick and easy programming" @@ -48,13 +50,12 @@ url="https://www.ruby-lang.org/" arch="all" license="Ruby AND BSD-2-Clause" depends="ca-certificates" -depends_dev="ruby=$pkgver-r$pkgrel gmp-dev" +depends_dev="ruby=$pkgver-r$pkgrel gmp-dev libucontext-dev" makedepends="$depends_dev zlib-dev openssl-dev db-dev libedit-dev libffi-dev coreutils yaml-dev linux-headers autoconf" install="$pkgname.post-upgrade" subpackages="$pkgname-doc $pkgname-dev $pkgname-bigdecimal - $pkgname-did_you_mean::noarch $pkgname-fiddle $pkgname-io-console:io_console $pkgname-irb::noarch @@ -108,6 +109,9 @@ build() { export CFLAGS="$CFLAGS -fno-omit-frame-pointer -fno-strict-aliasing" export CPPFLAGS="$CPPFLAGS -fno-omit-frame-pointer -fno-strict-aliasing" + # Needed for coroutine stuff + export LIBS="-lucontext" + # ruby saves path to install. we want use $PATH export INSTALL=install @@ -144,7 +148,7 @@ package() { rm -R "$pkgdir"$_gemdir/cache/* if [ -d "$pkgdir"/usr/local ]; then - local f="$(cd "$pkgdir" ; find usr/local -type f)" + f="$(cd "$pkgdir" ; find usr/local -type f)" if [ -n "$f" ]; then error "Found files in /usr/local:" echo "$f" @@ -162,14 +166,6 @@ bigdecimal() { _mvgem bigdecimal } -did_you_mean() { - pkgdesc="Did you mean? experience in Ruby" - license="MIT" - depends="$pkgname-libs" - - _mvgem did_you_mean -} - fiddle() { pkgdesc="A libffi wrapper for Ruby" license="BSD-2-Clause" @@ -295,7 +291,7 @@ full() { } _mv() { - local i; for i in "$@"; do + for i in "$@"; do mkdir -p "$subpkgdir"/${i%/*} mv "$pkgdir"/${i} "$subpkgdir"/${i%/*}/ done @@ -303,7 +299,7 @@ _mv() { _mvgem() { cd "$pkgdir" - local path; for path in ./$_rubydir/${1}.rb \ + for path in ./$_rubydir/${1}.rb \ ./$_rubydir/${1} \ ./$_rubydir/$_chost/${1} \ ./$_rubydir/$_chost/${1}.so \ @@ -314,8 +310,8 @@ _mvgem() { done } -sha512sums="63b7c75fab44cd1bd22f22ddec00c740cf379ac7240da0dfafcec54347766695faef47428ce1c433fd77fa96992e976c984697067fa526236d383b12adc9ce75 ruby-2.5.7.tar.xz -20e7e5ee9936a93872fe1ad836dd1fde001fe4a0e7ed54c26727ad83da3ceb0e6247681d9dd4f98a69e1b0250703ed8fc682d44075780d5f47faa1d5f58d2bdb rubygems-avoid-platform-specific-gems.patch +sha512sums="79f98b1ea98e0b10ec79da1883e8fc84d48ffe5c09ae945cbebde94365e35a589d919aac965f74d70ca7e21370ecee631ac5a8f9c4eac61d62f5aa629f27bf31 ruby-2.7.1.tar.xz +a142199140fa711a64717429e9069fd2082319abaf4b129f561db374b3bc16e2a90cc4c849b5d28334505d1c71fed242aef3c44d983da3513d239dcb778673a5 rubygems-avoid-platform-specific-gems.patch 814fe6359505b70d8ff680adf22f20a74b4dbd3fecc9a63a6c2456ee9824257815929917b6df5394ed069a6869511b8c6dce5b95b4acbbb7867c1f3a975a0150 test_insns-lower-recursion-depth.patch -e99b36940fa8fdd445d82738c70b8fc042cab042a4662cab156578aad2dac9673a96da22b6676aa36beac08070e92a7798c60d6f36eeb169216c4c51864ce2fe fix-get_main_stack.patch -6b88fccce164db1d8beb16adeffdd7effd077e9842b7f61deddebeb39afcf9b839192b68a43ce66a1ff0c9aeaacc4f13a0ee56184c22e822cd8b10a07a1c87b2 libedit-compat.patch" +3ffc034c01110ee5531265333ca5ee8d61d08131843fe3004c5b34c88c9c1b32cb4ed89574f393177c8bd526e9c15da61ab344f93adf07b9148c561ee19e2eb5 fix-get_main_stack.patch +6cbeb9d05a3c028e6bd371deaeec6e97fa8ebd03f0dc9d406648a03b569bb44a148e2bd81998a2a973e91ded8a08af141bdebe3e324bdc32df5e74209a42b024 libedit-compat.patch" diff --git a/system/ruby/fix-get_main_stack.patch b/system/ruby/fix-get_main_stack.patch index 4b1a101ab..b56bc114b 100644 --- a/system/ruby/fix-get_main_stack.patch +++ b/system/ruby/fix-get_main_stack.patch @@ -2,7 +2,7 @@ diff --git a/thread_pthread.c b/thread_pthread.c index 951885ffa0..cf90321d1d 100644 --- a/thread_pthread.c +++ b/thread_pthread.c -@@ -552,9 +552,6 @@ hpux_attr_getstackaddr(const pthread_attr_t *attr, void **addr) +@@ -656,9 +656,6 @@ hpux_attr_getstackaddr(const pthread_attr_t *attr, void **addr) # define MAINSTACKADDR_AVAILABLE 0 # endif #endif @@ -12,7 +12,7 @@ index 951885ffa0..cf90321d1d 100644 #ifdef STACKADDR_AVAILABLE /* -@@ -632,6 +629,55 @@ get_stack(void **addr, size_t *size) +@@ -740,6 +737,55 @@ get_stack(void **addr, size_t *size) return 0; #undef CHECK_ERR } diff --git a/system/ruby/libedit-compat.patch b/system/ruby/libedit-compat.patch index 601a9feea..670b16dc8 100644 --- a/system/ruby/libedit-compat.patch +++ b/system/ruby/libedit-compat.patch @@ -1,6 +1,6 @@ --- ruby-2.5.5/ext/readline/readline.c.old 2017-09-30 08:35:23.000000000 +0000 +++ ruby-2.5.5/ext/readline/readline.c 2019-09-09 06:12:00.300098741 +0000 -@@ -571,6 +571,9 @@ +@@ -572,6 +572,9 @@ rb_syserr_fail(save_errno, "fdopen"); } rl_instream = readline_rl_instream = f; @@ -10,7 +10,7 @@ readline_instream = input; } return input; -@@ -607,6 +610,9 @@ +@@ -608,6 +611,9 @@ rb_syserr_fail(save_errno, "fdopen"); } rl_outstream = readline_rl_outstream = f; diff --git a/system/ruby/rubygems-avoid-platform-specific-gems.patch b/system/ruby/rubygems-avoid-platform-specific-gems.patch index da6884d09..4eb26a63f 100644 --- a/system/ruby/rubygems-avoid-platform-specific-gems.patch +++ b/system/ruby/rubygems-avoid-platform-specific-gems.patch @@ -17,7 +17,7 @@ a platform-agnostic (source) gem. Users can override it using --- a/lib/rubygems.rb +++ b/lib/rubygems.rb -@@ -764,7 +764,10 @@ +@@ -759,7 +759,10 @@ def self.platforms @platforms ||= [] if @platforms.empty? diff --git a/system/s6-linux-init/APKBUILD b/system/s6-linux-init/APKBUILD index 58415752b..c3985d7d3 100644 --- a/system/s6-linux-init/APKBUILD +++ b/system/s6-linux-init/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-linux-init -pkgver=1.0.3.1 +pkgver=1.0.4.0 pkgrel=0 pkgdesc="A s6-based init system" url="https://skarnet.org/software/$pkgname/" @@ -119,7 +119,7 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="71b380ff0eaa1d297bf6af5a1c979efdf34d10ec1e440fd1ee3fcab8ddf2c5d7c903d151986ecb5f01a9e0135bedc8021e5fbf82a3fd66abfebcb5e3cbf19242 s6-linux-init-1.0.3.1.tar.gz +sha512sums="791e376911c9217adace72c6048a295d4b486fc51c0a73578a40a0b020a735d9444f58e5f49d613e99a81aadd63d016ae60c8b056c49c1b50693a7b054890926 s6-linux-init-1.0.4.0.tar.gz 756b0cbbe5dabb4631380c3c7ea199cc213224b2e36e50a2d012a61948170078b78bf49b85d886319fecf59843087f937d3d804723b2553ac9f94d088a2f0fd8 rc.init e73c3c32b118831074288d23fadace2158a2b15d5a13ffa73290b92a9e39c2a21c73d3b0eabea29bcbaa5f6381611fd8d0aaa6aa691ec7de91b8ef6ae404b6da runlevel 7bb050248a5c2ab6a56c50c35f87cde724f97ff9882f5e60b0f0f2f14bd93c1df7d99fedc3d81c8519cf1a1ed90e03f1cbb9bf891c7b3618aa9a5f5738d262f4 rc.shutdown diff --git a/system/s6-rc/APKBUILD b/system/s6-rc/APKBUILD index f857861e5..cc7148513 100644 --- a/system/s6-rc/APKBUILD +++ b/system/s6-rc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-rc -pkgver=0.5.1.1 +pkgver=0.5.1.2 pkgrel=0 pkgdesc="skarnet.org's service manager, working on top of s6" url="https://skarnet.org/software/s6-rc/" @@ -66,4 +66,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="88e6ad4f09501eda231e3bbac58e9dafc925ff4b2c2a845c9796f3c1519834901f0126d751705b00ecd71173e208085bd68c5ae221a7074da8254d2b71e8a772 s6-rc-0.5.1.1.tar.gz" +sha512sums="d52b8b22c709f5d8df7d54d70363f06f7b64b841019d046e9ecaf2cb5f1d319ce8995da5eb5aafb9627f993abfe213c4f75ae3ad6cadad2b3a3175271989ac95 s6-rc-0.5.1.2.tar.gz" diff --git a/system/s6/APKBUILD b/system/s6/APKBUILD index e4acf50ef..e2a601690 100644 --- a/system/s6/APKBUILD +++ b/system/s6/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6 -pkgver=2.9.0.1 +pkgver=2.9.1.0 pkgrel=0 pkgdesc="skarnet.org's small & secure supervision software suite" url="https://skarnet.org/software/$pkgname/" @@ -67,4 +67,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="5beb6170e4a457a0a307cbace67369cc35f6fd79d13ece2e82a3ebbdb4b032304eba8124be3e45b4db921863eaa02f51472c1365b0da000eef0868c11514dfff s6-2.9.0.1.tar.gz" +sha512sums="190660ed3af678b304230c688d3364a20dfb8d6e944314506bc27c90fc2ccf1062c7b2931df93620dd3b6f5f794d6119d984f28cb2f4562c1abb8609270b90f5 s6-2.9.1.0.tar.gz" diff --git a/system/skalibs/APKBUILD b/system/skalibs/APKBUILD index 2ec93cd17..129fa7e79 100644 --- a/system/skalibs/APKBUILD +++ b/system/skalibs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=skalibs -pkgver=2.9.1.0 +pkgver=2.9.2.1 pkgrel=0 pkgdesc="A set of general-purpose C programming libraries for skarnet.org software" url="https://skarnet.org/software/skalibs/" @@ -57,4 +57,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="a85a9397cdb10cbc42fd7ef4984a77802cf8c42abeabc8ff18de6d2e11ff97d950418aeda5f2dd66a04bd30004a5c4608e7cc6f4c7e23b91f56ef1ff59f4b6d5 skalibs-2.9.1.0.tar.gz" +sha512sums="bd507faf30f0564fb8d3e5f86de04ab4b39961dab2497ba9f4a81980a57f7ff68cad366b9847b25d555b5b9263460d13f096e1774d080d1d286979f2e7324c54 skalibs-2.9.2.1.tar.gz" diff --git a/system/sqlite/APKBUILD b/system/sqlite/APKBUILD index 0a3e367c1..e8db13ba0 100644 --- a/system/sqlite/APKBUILD +++ b/system/sqlite/APKBUILD @@ -1,20 +1,37 @@ # Contributor: Łukasz Jendrysik <scadu@yandex.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=sqlite -pkgver=3.30.1 +pkgver=3.31.1 _pkgver=${pkgver%.*}0${pkgver#*.*.}00 _pkgver=${_pkgver%.*}${_pkgver#*.} pkgrel=0 pkgdesc="C library that implements an SQL database engine" url="https://sqlite.org/" arch="all" +options="!check" # Test suite requires tcl - circular dependency license="Public-Domain" depends="" makedepends="libedit-dev zlib-dev" -source="https://sqlite.org/2019/$pkgname-autoconf-$_pkgver.tar.gz" +source="https://sqlite.org/2020/$pkgname-autoconf-$_pkgver.tar.gz" subpackages="$pkgname-doc $pkgname-dev $pkgname-libs" builddir="$srcdir/$pkgname-autoconf-$_pkgver" +# secfixes: +# 3.31.1-r0: +# - CVE-2019-19242 +# - CVE-2019-19244 +# - CVE-2019-19317 +# - CVE-2019-19603 +# - CVE-2019-19645 +# - CVE-2019-19646 +# - CVE-2019-19880 +# - CVE-2019-19923 +# - CVE-2019-19924 +# - CVE-2019-19925 +# - CVE-2019-19926 +# - CVE-2019-19959 +# - CVE-2019-20218 + build() { local _amalgamation="-DSQLITE_ENABLE_FTS4 \ -DSQLITE_ENABLE_FTS3 \ @@ -61,4 +78,4 @@ libs() { mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ } -sha512sums="9ec0283c417fb0323b0e43550af2a49e9a63988e4212c27ea62cc9da3534caa6faf5bdc7e051b6772c4ce61560a433b3d3288b68e05e9ba8495f61a3bcebda3e sqlite-autoconf-3300100.tar.gz" +sha512sums="d85250ba5f78f0c918880f663741709aba662192f04888b2324a0df17affdf5b8540e8428c6c7315119806e7adad758ea281c9b403c0ad94ac6a9bd1b93fd617 sqlite-autoconf-3310100.tar.gz" diff --git a/system/unzip/10-unzip-handle-pkware-verify.patch b/system/unzip/10-unzip-handle-pkware-verify.patch deleted file mode 100644 index b373ce07d..000000000 --- a/system/unzip/10-unzip-handle-pkware-verify.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Steven Schweda -Subject: Handle the PKWare verification bit of internal attributes -Bug-Debian: http://bugs.debian.org/630078 -X-Debian-version: 6.0-5 - ---- a/process.c -+++ b/process.c -@@ -1729,6 +1729,13 @@ - else if (uO.L_flag > 1) /* let -LL force lower case for all names */ - G.pInfo->lcflag = 1; - -+ /* Handle the PKWare verification bit, bit 2 (0x0004) of internal -+ attributes. If this is set, then a verification checksum is in the -+ first 3 bytes of the external attributes. In this case all we can use -+ for setting file attributes is the last external attributes byte. */ -+ if (G.crec.internal_file_attributes & 0x0004) -+ G.crec.external_file_attributes &= (ulg)0xff; -+ - /* do Amigas (AMIGA_) also have volume labels? */ - if (IS_VOLID(G.crec.external_file_attributes) && - (G.pInfo->hostnum == FS_FAT_ || G.pInfo->hostnum == FS_HPFS_ || diff --git a/system/unzip/20-unzip-uidgid-fix.patch b/system/unzip/20-unzip-uidgid-fix.patch deleted file mode 100644 index 3a308990e..000000000 --- a/system/unzip/20-unzip-uidgid-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: sms -Subject: Restore uid and gid information when requested -Bug-Debian: http://bugs.debian.org/689212 -X-Debian-version: 6.0-8 - ---- a/process.c -+++ b/process.c -@@ -2904,7 +2904,7 @@ - #ifdef IZ_HAVE_UXUIDGID - if (eb_len >= EB_UX3_MINLEN - && z_uidgid != NULL -- && (*((EB_HEADSIZE + 0) + ef_buf) == 1) -+ && (*((EB_HEADSIZE + 0) + ef_buf) == 1)) - /* only know about version 1 */ - { - uch uid_size; -@@ -2916,10 +2916,10 @@ - flags &= ~0x0ff; /* ignore any previous UNIX field */ - - if ( read_ux3_value((EB_HEADSIZE + 2) + ef_buf, -- uid_size, z_uidgid[0]) -+ uid_size, &z_uidgid[0]) - && - read_ux3_value((EB_HEADSIZE + uid_size + 3) + ef_buf, -- gid_size, z_uidgid[1]) ) -+ gid_size, &z_uidgid[1]) ) - { - flags |= EB_UX2_VALID; /* signal success */ - } diff --git a/system/unzip/APKBUILD b/system/unzip/APKBUILD index e915966a0..ea8f7e6fa 100644 --- a/system/unzip/APKBUILD +++ b/system/unzip/APKBUILD @@ -4,7 +4,8 @@ pkgname=unzip pkgver=6.0 _pkgver=$(printf '%s' "$pkgver" | tr -d .) -pkgrel=3 +_debver=25 +pkgrel=4 pkgdesc="Extract PKZIP-compatible .zip files" url="http://www.info-zip.org/UnZip.html" arch="all" @@ -12,12 +13,30 @@ license="Info-ZIP" subpackages="$pkgname-doc" # normally ftp://ftp.info-zip.org/pub/infozip/src/$pkgname$_pkgver.zip source="$pkgname-$pkgver.tgz::https://distfiles.adelielinux.org/source/$pkgname$_pkgver.tgz - 10-unzip-handle-pkware-verify.patch - 20-unzip-uidgid-fix.patch - unzip-6.0-heap-overflow-infloop.patch + http://deb.debian.org/debian/pool/main/u/unzip/unzip_$pkgver-$_debver.debian.tar.xz " builddir="$srcdir/$pkgname$_pkgver" +# secfixes: +# 6.0-r4: +# - CVE-2014-8139 +# - CVE-2014-8140 +# - CVE-2014-8141 +# - CVE-2014-9636 +# - CVE-2014-9913 +# - CVE-2016-9844 +# - CVE-2018-18384 +# - CVE-2018-1000035 +# - CVE-2019-13232 + +prepare() { + default_prepare + while read -r i; do + msg "$i" + patch -p1 -i "../debian/patches/$i" + done < ../debian/patches/series +} + build() { make -f unix/Makefile \ CC="${CHOST}-gcc" \ @@ -38,6 +57,4 @@ package() { } sha512sums="0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d unzip-6.0.tgz -9d2914f22fb0075a2b6f72825c235f46eafd8d47b6fb6fcc8303fc69336e256b15923c002d2615bb6af733344c2315e4a8504d77bae301e10c11d4736faa2c81 10-unzip-handle-pkware-verify.patch -57699582e9056af0817dcb67f8db67e6a1ff8208c137fbebcf559429e5f12b471b75d7e1ef938e5bbb5416074a51ac7342e4ce8057f4bbdcb0bf079b8d7832af 20-unzip-uidgid-fix.patch -b1e3fac6a787828efaaef8ec7cc52e1573aea27a6f29830af37ec4ba8bcd2a6488c953ab10eee0561c78e82c7401833ef172bebee793405d93632ce788756301 unzip-6.0-heap-overflow-infloop.patch" +13c16db420fa4a34be3090a9acdd79b01320da40ac5aa89a9dfca03e64b914b28eb72aff3882d02a8197457bcb8eeb9473c998cf6920e511883c9289a949fb21 unzip_6.0-25.debian.tar.xz" diff --git a/system/unzip/unzip-6.0-heap-overflow-infloop.patch b/system/unzip/unzip-6.0-heap-overflow-infloop.patch deleted file mode 100644 index 160c512f9..000000000 --- a/system/unzip/unzip-6.0-heap-overflow-infloop.patch +++ /dev/null @@ -1,104 +0,0 @@ -From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001 -From: Petr Stodulka <pstodulk@redhat.com> -Date: Mon, 14 Sep 2015 18:23:17 +0200 -Subject: [PATCH 1/3] upstream fix for heap overflow - -https://bugzilla.redhat.com/attachment.cgi?id=1073002 ---- - crypt.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/crypt.c b/crypt.c -index 784e411..a8975f2 100644 ---- a/crypt.c -+++ b/crypt.c -@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd) - GLOBAL(pInfo->encrypted) = FALSE; - defer_leftover_input(__G); - for (n = 0; n < RAND_HEAD_LEN; n++) { -- b = NEXTBYTE; -+ /* 2012-11-23 SMS. (OUSPG report.) -+ * Quit early if compressed size < HEAD_LEN. The resulting -+ * error message ("unable to get password") could be improved, -+ * but it's better than trying to read nonexistent data, and -+ * then continuing with a negative G.csize. (See -+ * fileio.c:readbyte()). -+ */ -+ if ((b = NEXTBYTE) == (ush)EOF) -+ { -+ return PK_ERR; -+ } - h[n] = (uch)b; - Trace((stdout, " (%02x)", h[n])); - } --- -2.4.6 - - -From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka <kdudka@redhat.com> -Date: Mon, 14 Sep 2015 18:24:56 +0200 -Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data - -Bug: https://sourceforge.net/p/infozip/patches/23/ ---- - extract.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/extract.c b/extract.c -index 7134bfe..29db027 100644 ---- a/extract.c -+++ b/extract.c -@@ -2733,6 +2733,12 @@ __GDEF - int repeated_buf_err; - bz_stream bstrm; - -+ if (G.incnt <= 0 && G.csize <= 0L) { -+ /* avoid an infinite loop */ -+ Trace((stderr, "UZbunzip2() got empty input\n")); -+ return 2; -+ } -+ - #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) - if (G.redirect_slide) - wsize = G.redirect_size, redirSlide = G.redirect_buffer; --- -2.4.6 - - -From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka <kdudka@redhat.com> -Date: Tue, 22 Sep 2015 18:52:23 +0200 -Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input - -Suggested-by: Stefan Cornelius ---- - extract.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/extract.c b/extract.c -index 29db027..b9ae667 100644 ---- a/extract.c -+++ b/extract.c -@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, - if (G.lrec.compression_method == STORED) { - zusz_t csiz_decrypted = G.lrec.csize; - -- if (G.pInfo->encrypted) -+ if (G.pInfo->encrypted) { -+ if (csiz_decrypted <= 12) { -+ /* handle the error now to prevent unsigned overflow */ -+ Info(slide, 0x401, ((char *)slide, -+ LoadFarStringSmall(ErrUnzipNoFile), -+ LoadFarString(InvalidComprData), -+ LoadFarStringSmall2(Inflate))); -+ return PK_ERR; -+ } - csiz_decrypted -= 12; -+ } - if (G.lrec.ucsize != csiz_decrypted) { - Info(slide, 0x401, ((char *)slide, - LoadFarStringSmall2(WrnStorUCSizCSizDiff), --- -2.5.2 - diff --git a/system/utmps/APKBUILD b/system/utmps/APKBUILD index eef50c1d8..b60248950 100644 --- a/system/utmps/APKBUILD +++ b/system/utmps/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=utmps -pkgver=0.0.3.1 +pkgver=0.0.3.2 pkgrel=0 pkgdesc="A secure utmp/wtmp implementation" url="https://skarnet.org/software/$pkgname/" @@ -75,6 +75,6 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="30ad442d3dc4d8961b759361412b32903d6a0c9421d94e8fec2dd529dc63e0e551444be4c9b3a5f9eb8fcc6cbd2950f7c0bb0d6c5eda92b9278598dd2e4264b6 utmps-0.0.3.1.tar.gz +sha512sums="096615bf4ef4bf73af6128fcdebc0473c736a154fb3f1db89f6f2f2301fdaf2ea183b709991d4591e75e6e8c51426ac03ce602e2d8ce9cd4a5c360bc5b44003e utmps-0.0.3.2.tar.gz 0ec30284c64c6ea9f25142c5f4a643bd48b137fe85781b650104f5137ffa4dfc35ca7be3e41e3acd3403ebe1d8c5378073afa4e2f3607d3d794fcd9f98ed51c4 utmpd.run cba4f2ec3b8f5becf3ae57eecf584745d783046ee6cf5d116322421ad5ffd074d2955da22d31d2b5b1d05f906378aae92f221d2ac95ac21b54a361fbdc0566e7 wtmpd.run" diff --git a/system/vim/APKBUILD b/system/vim/APKBUILD index 3d0918d65..cb2f7090f 100644 --- a/system/vim/APKBUILD +++ b/system/vim/APKBUILD @@ -4,7 +4,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=vim -pkgver=8.2.0255 +pkgver=8.2.0529 _pkgver=${pkgver%.*.*}${pkgver#*.} _pkgver=${_pkgver%.*} pkgrel=0 @@ -79,5 +79,5 @@ vimdiff() { mv "$pkgdir"/usr/bin/vimdiff "$subpkgdir"/usr/bin } -sha512sums="347df5903c95753610eb48c85696d47df5fbfe1179544b4220cd3430dd228810d2639466ef4beaacf91b7ebf0ec9f7e029963af1f2a6b69b1d4bbff33d2db1bb vim-8.2.0255.tar.gz +sha512sums="73cd3eb1522189f603c65ef1e80c0d1c860ce7332817967ab289aa8f2fdf376235fc9c30af53a66164cfe83a882b55003b4073b27852061295ca9b5fe203501d vim-8.2.0529.tar.gz 12ee3f96c94d74215159fba379ed61907ec5982a9f1643575dcb7c3d5e30824665d683de95f97b5067718b3f2a1238fb7534a70803bc170614498ad026f352d8 vimrc" diff --git a/user/adwaita-icon-theme/APKBUILD b/user/adwaita-icon-theme/APKBUILD index dbed574fe..4996402cb 100644 --- a/user/adwaita-icon-theme/APKBUILD +++ b/user/adwaita-icon-theme/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=adwaita-icon-theme -pkgver=3.34.3 +pkgver=3.36.0 pkgrel=0 pkgdesc="GNOME system icon set" url="https://www.gnome.org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="77d8fa2cd0a82a7d539b5f9c8c1ed0dc8727de4975a8a770b05f78e4df9dda36aa40232a3ec71f87e24cd1fd6c6a369bcb20c909c1367b89b5327cf3771b48b5 adwaita-icon-theme-3.34.3.tar.xz" +sha512sums="b5414e4e38d9ffdd5ae8e14cb2f467fc449ca833b3ffd888fa8dde8708ba0cd9292bec8d3c0bc9d917c3117a8d21f828d4113a85c3786d5dcadde46367659934 adwaita-icon-theme-3.36.0.tar.xz" diff --git a/user/alsa-lib/APKBUILD b/user/alsa-lib/APKBUILD index 4f854e443..49f14066e 100644 --- a/user/alsa-lib/APKBUILD +++ b/user/alsa-lib/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=alsa-lib -pkgver=1.2.1.2 +pkgver=1.2.2 pkgrel=0 pkgdesc="Linux sound support system" url="https://www.alsa-project.org/wiki/Main_Page" @@ -12,6 +12,7 @@ subpackages="$pkgname-dev $pkgname-dbg" source="ftp://ftp.alsa-project.org/pub/lib/$pkgname-$pkgver.tar.bz2 ucm_add_limits_h.patch remove-test.patch + type_compat.patch " build() { @@ -30,6 +31,7 @@ build() { rm -rf "$builddir"/include/sound mkdir "$builddir"/include/sound printf "all:\ncheck:\ninstall:\n" > "$builddir"/include/sound/Makefile + make } @@ -41,6 +43,7 @@ package() { make -j1 DESTDIR="$pkgdir" install } -sha512sums="e8286fd55f63ee0d95513279d0885c287533de89b7af6c338413dec5d38ba4f5a15da1a4a4ce36e052614e4b730e3778782dab9979d82958283be17b48604913 alsa-lib-1.2.1.2.tar.bz2 +sha512sums="d21adb3ff998918c7d1820f9ce2aaf4202dd45ccb87cb092d49da8b2402b6ddaad06325be0fd59f17393a5d9958e3743bfccb4b14bdb947a42e7d791d73c7033 alsa-lib-1.2.2.tar.bz2 3b37652d50809443b5f8e80f8d447108195b0cd66fd917805bb393fc091584b6f3dad4414f568742b61745617e7a695862058a0a0f93dcc31e4c97177a520352 ucm_add_limits_h.patch -0ce3c2b8a0a70e2dffb6d633b95c4aae74504cd694fe1507cbc409d931b5f733935b22de45e4adcf5a507587c9f80c60a6f0e798aac2ca2fbf0cbcdef0080079 remove-test.patch" +0ce3c2b8a0a70e2dffb6d633b95c4aae74504cd694fe1507cbc409d931b5f733935b22de45e4adcf5a507587c9f80c60a6f0e798aac2ca2fbf0cbcdef0080079 remove-test.patch +bdcfa3d5fcc055fb6732922679e21689fc2ac19462fe7b72d16862c98ef8c995c3dd5becc4987ba417068e6b0e561bec7e6284d5f0a414e2966c8e00ac304fa8 type_compat.patch" diff --git a/user/alsa-lib/type_compat.patch b/user/alsa-lib/type_compat.patch new file mode 100644 index 000000000..4236d11d4 --- /dev/null +++ b/user/alsa-lib/type_compat.patch @@ -0,0 +1,23 @@ +Since we force the use of the uapi headers from linux-headers instead of +using the vendored copy, type_compat.h never gets put in the place it +should be for it to be seen in sound/. + +However, the only reason it was included here anyway was to replace a +definition that was never used: + +https://github.com/alsa-project/alsa-lib/commit/ae564665ec261cf104de499b1cdda3564070fc65#diff-5e0b4d8ecf374a31036ffc7b224d5e7fL21 + + -#define __packed __attribute__((__packed__)) + - + +#include <sound/type_compat.h> + +--- alsa-lib-1.2.2/src/topology/tplg_local.h 2020-02-19 03:35:39.000000000 -0600 ++++ alsa-lib-1.2.2/src/topology/tplg_local.h 2020-03-17 01:26:25.159548858 -0500 +@@ -18,7 +18,6 @@ + #include "list.h" + #include "topology.h" + +-#include <sound/type_compat.h> + #include <sound/asound.h> + #include <sound/asoc.h> + #include <sound/tlv.h> diff --git a/user/alsa-plugins/APKBUILD b/user/alsa-plugins/APKBUILD index 2976ee3f3..ebf39a4cb 100644 --- a/user/alsa-plugins/APKBUILD +++ b/user/alsa-plugins/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Taner Tas <taner76@gmail.com> # Maintainer: Max Rees <maxcrees@me.com> pkgname=alsa-plugins -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=0 pkgdesc="Advanced Linux Sound Architecture (ALSA) plugins" url="https://www.alsa-project.org/main/index.php/Main_Page" @@ -60,4 +60,4 @@ a52() { "$subpkgdir"/usr/share/alsa/alsa.conf.d/ } -sha512sums="a49ef9290b66855112e301a5fd5a0932f13a50254e164f3340f2b342a36469532ee783beabfe5e95870dbf4cd81ca1e8d0415d94c8c7ee963133fb3c343721de alsa-plugins-1.2.1.tar.bz2" +sha512sums="25a7dfaa64be024447d889b5cde668f1308d197f54880548a82d50beb4ac0dbff33b415da1e26dc5229408c934247a9bd38acfb0f82ca388deac0d77ab3cdadb alsa-plugins-1.2.2.tar.bz2" diff --git a/user/alsa-utils/APKBUILD b/user/alsa-utils/APKBUILD index 85811417f..569e8d6a4 100644 --- a/user/alsa-utils/APKBUILD +++ b/user/alsa-utils/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Leonardo Arena <rnalrd@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=alsa-utils -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=0 pkgdesc="Advanced Linux Sound Architecture (ALSA) utilities" url="https://www.alsa-project.org/wiki/Main_Page" @@ -36,7 +36,7 @@ package() { install -Dm644 ../alsa.confd "$pkgdir"/etc/conf.d/alsa } -sha512sums="b7729659cd9809197dc30042f522f5103ff41ddc047f13f9c733c93f7e91a26f90cd864c70e654d12ef7a552b1d9ebe2727a24ec9fad03560cb7cdea906662ec alsa-utils-1.2.1.tar.bz2 +sha512sums="30598c658f3f2ad71a5ce7911b09ae13add54b293bcf3bebb053371d84a91528bd64fd376f167456b2e27e2546a2279019678e099247513e5142b283af756fd9 alsa-utils-1.2.2.tar.bz2 817215be6e9f103a8a187df5b1142c4d2e952f547a64579a9b8cfa58bd762d6a55bde75c0f66f018c0597744d07ccdb08216f7b368db464e36667cecedcc00f3 alsaconf.patch 7bf743024d7c5caed2fbf8af5cee73bcc569a7bab0bd6459541d3704cc6a7456d588b600b690e7406e122deaf0316dd1f67219a267bec4dff3f6c0f120edaae4 alsa.initd 6e716e6230fd3d2c33e3cb2dbf572d632c9ac6452c1768388bea7d3ca22f7c72cf6bcd702580f45cb9089983582011c8b04cbdb4420d14fb988167b1391ea547 alsa.confd" diff --git a/user/apache-httpd/APKBUILD b/user/apache-httpd/APKBUILD index 6488ffa9f..48fcaf26d 100644 --- a/user/apache-httpd/APKBUILD +++ b/user/apache-httpd/APKBUILD @@ -2,8 +2,8 @@ # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=apache-httpd _pkgreal=httpd -pkgver=2.4.41 -pkgrel=1 +pkgver=2.4.43 +pkgrel=0 pkgdesc="Open-source HTTP server" url="https://httpd.apache.org" arch="all" @@ -37,6 +37,9 @@ builddir="$srcdir/$_pkgreal-$pkgver" options="suid !check" # secfixes: http_server +# 2.4.43-r0: +# - CVE-2020-1934 +# - CVE-2020-1927 # 2.4.34-r0: # - CVE-2017-15710 # - CVE-2017-15715 @@ -143,7 +146,7 @@ ldap() { "$subpkgdir"/usr/libexec/apache2 } -sha512sums="02807a576ea29bd93e648c68e3ad853d5e4971177a0881d6a4873e9c4c5afd6d56877454b666429e70732488a258e0333a0f354d9dbbfd89fc3b38f12f0a0dce httpd-2.4.41.tar.gz +sha512sums="d9879b8f8ef7d94dee1024e9c25b56d963a3b072520878a88a044629ad577c109a5456791b39016bf4f6672c04bf4a0e5cfd32381211e9acdc81d4a50b359e5e httpd-2.4.43.tar.gz c8bc2bb06ae51b0956e0ee673e80c444551c9b33dfcbb845106477c46d9e52786a8896022e1f00102264fecdf66e35e47fc6cf0abe9836fa536735cff4e6adf4 adelie.layout 336e81fa0d08f8fbe6243d52bd59b12cf2e925deb49b29d7a22953c5d40a951b6b753f51e5a396752cb0bbaf1cf25b1358902f375fb65639d00e62db7ae55ff2 apache-httpd.confd 5762d53f39ce7ecd730e05ddf6c063ede65cd75b9e7d67217784c80366646491ef9474306e8eb119c8fb5b4358407b07636a4e9cd82325d8df4e3e00dabc3459 apache-httpd.initd diff --git a/user/audacious-plugins/APKBUILD b/user/audacious-plugins/APKBUILD index 6a53e2d56..3b9fca102 100644 --- a/user/audacious-plugins/APKBUILD +++ b/user/audacious-plugins/APKBUILD @@ -1,9 +1,7 @@ -# Contributor: Łukasz Jendrysik <scadu@yandex.com> -# Contributor: William Pitcock <nenolod@dereferenced.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=audacious-plugins -pkgver=3.10.1 -pkgrel=1 +pkgver=4.0.1 +pkgrel=0 pkgdesc="Playlist-oriented media player (plugins)" url="https://audacious-media-player.org/" arch="all" @@ -17,16 +15,10 @@ makedepends="audacious-dev>=${pkgver%.*} autoconf automake libnotify-dev libogg-dev libsamplerate-dev libsndfile-dev libvorbis-dev libxcomposite-dev libxml2-dev mpg123-dev neon-dev pulseaudio-dev qt5-qtmultimedia-dev sdl-dev wavpack-dev" -install_if="audacious=$pkgver" subpackages="$pkgname-lang" +install_if="audacious=$pkgver" source="https://distfiles.audacious-media-player.org/$pkgname-$pkgver.tar.bz2" -prepare() { - default_prepare - msg "Rebuilding configure..." - aclocal -I m4 && autoheader && autoconf -} - build() { ./configure \ --build=$CBUILD \ @@ -44,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="454e9ce4061e92a0ecda40f562d4cc7453fc0019fd76b25dbe9e319319fa37c22f9785cb29563e8074de8a88e6130106aca1e431790297e1b4636dc974fde565 audacious-plugins-3.10.1.tar.bz2" +sha512sums="6611a9204f3f6e70b126ec4712078ba3e5a317b8a41e6d753a24e37e9b19894444ae091654240c6aa0c4d13d53b72d722549edf6077a565ebdd8caf3000823a0 audacious-plugins-4.0.1.tar.bz2" diff --git a/user/audacious/APKBUILD b/user/audacious/APKBUILD index 42e37fd98..473e37ff2 100644 --- a/user/audacious/APKBUILD +++ b/user/audacious/APKBUILD @@ -1,8 +1,6 @@ -# Contributor: Łukasz Jendrysik <scadu@yandex.com> -# Contributor: William Pitcock <nenolod@dereferenced.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=audacious -pkgver=3.10.1 +pkgver=4.0.1 pkgrel=0 pkgdesc="A playlist-oriented media player with multiple interfaces" url="https://audacious-media-player.org/" @@ -11,16 +9,10 @@ options="!check" # No test suite. license="ISC" depends="" depends_dev="qt5-qtbase-dev dbus-glib-dev" -makedepends="$depends_dev libguess-dev>=1.2 libxml2-dev autoconf automake" +makedepends="$depends_dev libguess-dev>=1.2 libxml2-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" source="https://distfiles.audacious-media-player.org/$pkgname-$pkgver.tar.bz2" -prepare() { - default_prepare - msg "Rebuilding configure..." - aclocal -I m4 && autoheader && autoconf -} - build() { ./configure \ --build=$CBUILD \ @@ -37,4 +29,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e88891caaa3897f9b4abf39136e20834aedf1287d0d5eefea392fda89050db8db00c6f363976a68fe250ddbae4e27590f7615916a76370a44ca9235f1fa60b43 audacious-3.10.1.tar.bz2" +sha512sums="bd1387af281e7f533d4a21bf9fdb8ae49d5a406c051bcfa3a509b9d3cf8fdf6faff21dee841fad9ce1c9bf1a24ce1c08d9dc27a7a28b78ade3f0075fa89aad3d audacious-4.0.1.tar.bz2" diff --git a/user/bcnm/APKBUILD b/user/bcnm/APKBUILD new file mode 100644 index 000000000..c1f6e0b04 --- /dev/null +++ b/user/bcnm/APKBUILD @@ -0,0 +1,31 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=bcnm +pkgver=0.0.1.0 +pkgrel=0 +pkgdesc="Client network manager" +url="https://www.skarnet.org/software/bcnm/" +arch="all" +options="!check" # No test suite. +license="ISC" +depends="" +makedepends="skalibs-dev" +subpackages="$pkgname-dev" +source="https://www.skarnet.org/software/bcnm/bcnm-$pkgver.tar.gz" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="abe37c2629baa3c583734c7f783565c52f376ff553c503b5666e081cce042efa2e4d2a219b4911b23ea1c437f1ab0d9d1a928cc5126d8efb65e2981b86b220e1 bcnm-0.0.1.0.tar.gz" diff --git a/user/bluedevil/APKBUILD b/user/bluedevil/APKBUILD index 3c6c4bc9d..be3635ac2 100644 --- a/user/bluedevil/APKBUILD +++ b/user/bluedevil/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=bluedevil -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Bluetooth framework for KDE" url="https://userbase.kde.org/Bluedevil" @@ -15,7 +15,7 @@ makedepends="bluez-qt-dev cmake extra-cmake-modules kauth-dev kcodecs-dev kwindowsystem-dev kxmlgui-dev plasma-framework-dev qt5-qtbase-dev qt5-qtdeclarative-dev solid-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/bluedevil-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/bluedevil-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="b1f00b35b44d14d52ba8eb68d6519af0486cb3db2dba4607860730ca2afa825e473d93383097e733e5e322ba9868415d154c81b1f377dd93ed312329a2d840bb bluedevil-5.18.2.tar.xz" +sha512sums="dbefd648e525b4dc15dad77748e27726bcdd4790d9a12b57cbcb878c45a8bba25d94e49f68fcf28fb77e41e95a26d0bfb00c1c7faf3983197ff500f462ae2c2d bluedevil-5.18.4.1.tar.xz" diff --git a/user/breeze-grub/APKBUILD b/user/breeze-grub/APKBUILD index 2c62f2f6a..a43740724 100644 --- a/user/breeze-grub/APKBUILD +++ b/user/breeze-grub/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=breeze-grub -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE Breeze theme for GRUB boot screen" url="https://www.kde.org/" @@ -12,11 +12,11 @@ depends="grub" makedepends="" subpackages="" install_if="grub breeze" -source="https://download.kde.org/stable/plasma/$pkgver/breeze-grub-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/breeze-grub-$pkgver.tar.xz" package() { mkdir -p "$pkgdir"/usr/share/grub/themes cp -r breeze "$pkgdir"/usr/share/grub/themes/ } -sha512sums="39636bec70735e05dca3e544f541fd4483e90b57394fb514a12f80ec71fa96db7bb29ed5f122499a39fff2a81d7b0c69cbc1e48b3a00b48f0e94a93b51c3ae3f breeze-grub-5.18.2.tar.xz" +sha512sums="1b170cc767f6d2178db4713d4ce68d61d9462ae2deda633b1afb3973e37cb16e156a012c94c98853855ef82d1087b4f95c0f0f0480b7b38a876e8bf3eedc762a breeze-grub-5.18.4.1.tar.xz" diff --git a/user/breeze-gtk/APKBUILD b/user/breeze-gtk/APKBUILD index 8308c281a..07b9fca4e 100644 --- a/user/breeze-gtk/APKBUILD +++ b/user/breeze-gtk/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=breeze-gtk -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="GTK+ style that matches KDE Breeze" url="https://www.kde.org/" @@ -11,7 +11,7 @@ depends="breeze gtk+2.0" makedepends="breeze-dev cmake extra-cmake-modules py3-pycairo qt5-qtbase-dev sassc" # XXX should be installed if breeze and gtk+3.0 are installed, as well install_if="breeze~$pkgver gtk+2.0" -source="https://download.kde.org/stable/plasma/$pkgver/breeze-gtk-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/breeze-gtk-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -36,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="124a55280936a24519bcf1fd17009c7da7dc3b7b96c86101e2fc2fe1628b1740f5aeb04fd019f60a15a73c64f2d035c7d9815a2b40c59d37e6519f5c7c1b491a breeze-gtk-5.18.2.tar.xz" +sha512sums="c04b7b438dd3f23526627b1c416ff9b29d8cb6d8f27370731ffae9aad53c6554251a36663097d84645597b3cc541fbb80988cad093786a5d497958bd5e9ff57b breeze-gtk-5.18.4.1.tar.xz" diff --git a/user/breeze/APKBUILD b/user/breeze/APKBUILD index 6b0122e72..721d99c3f 100644 --- a/user/breeze/APKBUILD +++ b/user/breeze/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=breeze -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Default KDE Plasma 5 style" url="https://www.kde.org/" @@ -13,7 +13,7 @@ makedepends="$depends_dev cmake extra-cmake-modules python3 kcmutils-dev kconfigwidgets-dev kcoreaddons-dev kdecoration-dev kguiaddons-dev ki18n-dev kpackage-dev frameworkintegration-dev kwindowsystem-dev" subpackages="$pkgname-dev $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/breeze-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/breeze-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ebd888aeb2b81043e8d389b5596c44b5da585015d603978509bf0551c0cec145db042b277483061cef71e55ff36eb762fe184f7b7c71094247fcb249f4d19310 breeze-5.18.2.tar.xz" +sha512sums="41c540c0136dafb35da6abcf84f6d0d9be905599c1448c1efa8a8c61a77a1b0903a11bfd821e26691deeb8aa7e5268e198c9d1846ab1d4c6590fbecc83d75342 breeze-5.18.4.1.tar.xz" diff --git a/user/cbindgen/APKBUILD b/user/cbindgen/APKBUILD index 2a735e5ce..8d0a30b7e 100644 --- a/user/cbindgen/APKBUILD +++ b/user/cbindgen/APKBUILD @@ -1,9 +1,9 @@ # Contributor: Leo <thinkabit.ukim@gmail.com> # Contributor: Gentoo Rust Maintainers <rust@gentoo.org> # Contributor: Samuel Holland <samuel@sholland.org> -# Maintainer: Molly Miller <adelie@m-squa.red> +# Maintainer: Molly Miller <sysvinit@adelielinux.org> pkgname=cbindgen -pkgver=0.12.1 +pkgver=0.13.2 pkgrel=0 pkgdesc="Tool to generate C bindings from Rust code" url="https://github.com/eqrion/cbindgen" @@ -102,7 +102,7 @@ package() { } -sha512sums="851f82cfdd4304dc57dab1a145f78a05a6c5f05ad607d27e0ae909920a5d99013ffb7f7e87950541bda98462f73f0c338d9761b94a96c3073f39163c2ddacf08 cbindgen-0.12.1.tar.gz +sha512sums="2e894c6cf2b08321418ef78228fbebb5f504aea1576b8e159b4d8d66442cb65cee4f611f0ce13fa58539c08fe21932358fcfead52acbe5413adc9fdba05faf66 cbindgen-0.13.2.tar.gz a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa ansi_term-0.11.0.tar.gz 4554ca7dedb4c2e8693e5847ef1fe66161ed4cb2c19156bb03f41ce7e7ea21838369dabaf447a60d1468de8bfbb7087438c12934c4569dde63df074f168569ad atty-0.2.13.tar.gz ad89b3798845e23737a620bba581c2ff1ff3e15bac12555c765e201d2c0b90ecea0cdbc5b5b1a3fa9858c385e8e041f8226f5acfae5bbbe9925643fff2bf3f0b bitflags-1.2.1.tar.gz diff --git a/user/checkbashisms/APKBUILD b/user/checkbashisms/APKBUILD index 26345d0ac..b616e4fab 100644 --- a/user/checkbashisms/APKBUILD +++ b/user/checkbashisms/APKBUILD @@ -1,10 +1,10 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=checkbashisms -pkgver=2.19.7 +pkgver=2.20.2 pkgrel=0 pkgdesc="Check shell scripts for POSIX compliance" -url="https://tracker.debian.org/pkg/devscripts" +url="https://salsa.debian.org/debian/devscripts" arch="noarch" license="GPL-2.0+" depends="perl" @@ -37,4 +37,4 @@ bashcomp() { "$subpkgdir/usr/share/bash-completion/completions/$pkgname" } -sha512sums="6e31862bc8f0d43678341f40ec527d76cdccc2e6e50c231eb7c6a1eb442f48b6c62e94126644224e9fdbef583be3166e2c7cc65ea15de4a7c20605089b708eb7 devscripts_2.19.7.tar.xz" +sha512sums="d9147604a718582a19c036a040c62612427163146048dbf9e3665545072e8132d08f51dccfd3f0a01453c0405a0326dad8f83afd10270eec5c69fa0612cb8510 devscripts_2.20.2.tar.xz" diff --git a/user/ckbcomp/APKBUILD b/user/ckbcomp/APKBUILD new file mode 100644 index 000000000..8f4de4ff3 --- /dev/null +++ b/user/ckbcomp/APKBUILD @@ -0,0 +1,22 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=ckbcomp +pkgver=1.195 +pkgrel=0 +pkgdesc="XKB keyboard layout translation utility" +url="https://salsa.debian.org/installer-team/console-setup" +arch="noarch" +options="!check" # No test suite. +license="GPL-2.0+" +depends="perl" +makedepends="" +subpackages="$pkgname-doc" +source="http://ftp.de.debian.org/debian/pool/main/c/console-setup/console-setup_$pkgver.tar.xz" +builddir="$srcdir/console-setup" + +package() { + install -Dm755 -t "$pkgdir"/usr/bin Keyboard/ckbcomp + install -Dm644 -t "$pkgdir"/usr/share/man/man1 man/ckbcomp.1 +} + +sha512sums="f9ee8df45cfb78dea12b1ba3020e32f245dd940bc1d22801849f673f4448853c0ebadb6944a92b462e3e56c59ee13fd6d2130c260a1a406e1bb1c72e9902c04d console-setup_1.195.tar.xz" diff --git a/user/clisp/APKBUILD b/user/clisp/APKBUILD new file mode 100644 index 000000000..e4ce5999d --- /dev/null +++ b/user/clisp/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Soren Tempel <soeren+alpine@soeren-tempel.net> +# Contrubutor: Carlo Landmeter <clandmeter@gmail.com> +# Contributor: Lee Starnes <lee@canned-death.us> +# Maintainer: Lee Starnes <lee@canned-death.us> +pkgname=clisp +pkgver=2.49 +pkgrel=0 +pkgdesc="ANSI Common Lisp interpreter, compiler, and debugger" +url="https://clisp.sourceforge.io" +arch="all" +license="GPL-2.0-only" +depends="" +depends_dev="libsigsegv-dev libffcall-dev ncurses-dev" +makedepends="$depends_dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 + no-page.h.patch" + +prepare() { + default_prepare + update_config_sub +} + +build() { + ./configure \ + --prefix=/usr \ + --with-ffcall \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + "$builddir" + # Parallel builds fail + make -j1 +} + +check() { + make check +} + +package() { + make -j1 DESTDIR="$pkgdir" install +} + +sha512sums="eef66fc85199a2c283b616db61bf67ff103eeb0f19fa907da48994dc790b6f5f8d0c74fb3bd723c6b827c0ff3cfd89fa6ba67934fc669ed5d5249044b5140d81 clisp-2.49.tar.bz2 +86273c5d5d05a8d41ab6311192e0c757d3f7fe4d78546590830aa00f8c2f170fcb08f66ea739ae8834cec00cdf0f6a20824eb6a3d0f6df97be405c26b1cc5d39 no-page.h.patch" diff --git a/user/clisp/no-page.h.patch b/user/clisp/no-page.h.patch new file mode 100644 index 000000000..aafb98a31 --- /dev/null +++ b/user/clisp/no-page.h.patch @@ -0,0 +1,12 @@ +--- a/src/unix.d ++++ b/src/unix.d +@@ -135,9 +135,6 @@ + #ifdef UNIX_AUX + #include <sys/mmu.h> /* for SHMLBA */ + #endif +- #if defined(UNIX_LINUX) && !defined(UNIX_GNU) +- #include <asm/page.h> /* for SHMLBA on Linux 2.0 */ +- #endif + /* <sys/shm.h> declares shmget(), shmat(), shmdt(), shmctl() */ + #endif + /* used by SPVW, STREAM */ diff --git a/user/clutter/APKBUILD b/user/clutter/APKBUILD index 962fcf3e7..ff3469b1e 100644 --- a/user/clutter/APKBUILD +++ b/user/clutter/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=clutter -pkgver=1.26.2 +pkgver=1.26.4 pkgrel=0 pkgdesc="OpenGL-based interactive canvas library" url="https://gnome.org" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c8008a1a1f111313d9abaff8d4415f112ddc32a02e08845f3735d33bb25b72b082f133daba06749bb9595eaf1ba83b308d30a413fbbe8dcdc1afdd7077a30937 clutter-1.26.2.tar.xz" +sha512sums="6d43ac09df7671fa2bda74d1231166e8331f3ef1dbe0d167225033b3ddae7377d1062db81b73fc498c2e9f0db467bf4febb7306a6f40c9ef0266dac2a397f43a clutter-1.26.4.tar.xz" diff --git a/user/cogl/APKBUILD b/user/cogl/APKBUILD index 988e85e8f..81910704b 100644 --- a/user/cogl/APKBUILD +++ b/user/cogl/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=cogl -pkgver=1.22.4 +pkgver=1.22.6 pkgrel=0 pkgdesc="GObject-based GL/GLES abstraction library" url="https://gnome.org" @@ -35,4 +35,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="85f3af49c16dd2e545a3b91c076ac10107a4b9d0dc785cefe489e91eabdd82837f732685f1f0dca1695fc2f8095f42d5f30f145b659eb4295964787f06c1e37a cogl-1.22.4.tar.xz" +sha512sums="b3475fa4fff3b6725f643b0d17d2de242fce1503cd83bd18031d98495501917bf5173152fb1aba7f2614fcf6553029fbb6f26bda5a497f5f12e2849ed301a483 cogl-1.22.6.tar.xz" diff --git a/user/cyrus-sasl/APKBUILD b/user/cyrus-sasl/APKBUILD index be7505b82..b061d41ad 100644 --- a/user/cyrus-sasl/APKBUILD +++ b/user/cyrus-sasl/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: pkgname=cyrus-sasl pkgver=2.1.27 -pkgrel=0 +pkgrel=1 pkgdesc="Cyrus Simple Authentication Service Layer (SASL)" url="https://www.cyrusimap.org/sasl/" arch="all" @@ -15,11 +15,14 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-gssapi $pkgname-gs2 libsasl $pkgname-openrc" source="https://github.com/cyrusimap/$pkgname/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz saslauthd.initd + CVE-2019-19906.patch " # secfixes: # 2.1.26-r7: -# - CVE-2013-4122 +# - CVE-2013-4122 +# 2.1.27-r1: +# - CVE-2019-19906 build() { ./configure \ @@ -76,4 +79,5 @@ libsasl() { } sha512sums="d11549a99b3b06af79fc62d5478dba3305d7e7cc0824f4b91f0d2638daafbe940623eab235f85af9be38dcf5d42fc131db531c177040a85187aee5096b8df63b cyrus-sasl-2.1.27.tar.gz -71a00a22f91f0fb6ba2796acede321a0f071b1d7a99616f0e36c354213777f30575c340b6df392dcbfc103ba7640d046144882f6a7b505f59709bb5c429b44d8 saslauthd.initd" +71a00a22f91f0fb6ba2796acede321a0f071b1d7a99616f0e36c354213777f30575c340b6df392dcbfc103ba7640d046144882f6a7b505f59709bb5c429b44d8 saslauthd.initd +35d2fc8d1ea905898d526af515ee6c1c23f46092d2a034c7fa1b989ec2985ff68f74b7dc26e86525beecb6997562f29aea87a0c945953db1b6a0fac807c294ae CVE-2019-19906.patch" diff --git a/user/cyrus-sasl/CVE-2019-19906.patch b/user/cyrus-sasl/CVE-2019-19906.patch new file mode 100644 index 000000000..acdf68243 --- /dev/null +++ b/user/cyrus-sasl/CVE-2019-19906.patch @@ -0,0 +1,25 @@ +From dcc9f51cbd4ed622cfb0f9b1c141eb2ffe3b12f1 Mon Sep 17 00:00:00 2001 +From: Quanah Gibson-Mount <quanah@symas.com> +Date: Tue, 18 Feb 2020 19:05:12 +0000 +Subject: [PATCH] Fix #587 + +Off by one error in common.c, CVE-2019-19906. + +Thanks to Stephan Zeisberg for reporting +--- + lib/common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/common.c b/lib/common.c +index bc3bf1df..9969d6aa 100644 +--- a/lib/common.c ++++ b/lib/common.c +@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t *alloclen, + + if (add==NULL) add = "(null)"; + +- addlen=strlen(add); /* only compute once */ ++ addlen=strlen(add)+1; /* only compute once */ + if (_buf_alloc(out, alloclen, (*outlen)+addlen)!=SASL_OK) + return SASL_NOMEM; + diff --git a/user/davmail/APKBUILD b/user/davmail/APKBUILD new file mode 100644 index 000000000..b65994cef --- /dev/null +++ b/user/davmail/APKBUILD @@ -0,0 +1,60 @@ +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=davmail +pkgver=5.5.1.3299 +_pkgver=${pkgver%.*}-${pkgver##*.} +pkgrel=0 +pkgdesc="POP/IMAP/SMTP/Caldav/Carddav/LDAP proxy for Exchange/O365 servers" +url="http://davmail.sourceforge.net/" # No HTTPS +arch="noarch" +options="!check" # Requires running mail servers and X11 +license="GPL-2.0+ AND MIT AND (LGPL-2.1+ or Apache-2.0) AND BSD-2-Clause AND Apache-2.0 AND LGPL-2.1 AND BSD-3-Clause AND (CDDL-1.1 OR GPL-2.0 WITH Classpath-exception-2.0)" +depends="/bin/sh openjdk8-jre" +makedepends="ant desktop-file-utils" +subpackages="" +source="https://sourceforge.net/projects/davmail/files/davmail/${pkgver%.*}/davmail-src-$_pkgver.tgz + davmail.sh + " +builddir="$srcdir/$pkgname-src-$_pkgver" + +_ant() { + . /etc/profile.d/java.sh + . /etc/profile.d/ant.sh + ant "$@" +} + +build() { + _ant jar +} + +check() { + _ant test +} + +package() { + _ant prepare-dist + + install -Dm755 "$srcdir"/davmail.sh \ + "$pkgdir"/usr/bin/davmail + + rm -f dist/lib/*growl* \ + dist/lib/*x86*.jar \ + dist/lib/junit-*.jar \ + dist/lib/winrun4j-*.jar + install -Dm644 -t "$pkgdir"/usr/lib/java/davmail/lib \ + dist/lib/* dist/davmail.jar + + desktop-file-install --dir "$pkgdir"/usr/share/applications \ + src/desktop/davmail.desktop + + for _i in 16 32 48 128; do + case $_i in + 16) _fn=src/java/tray.png;; + *) _fn=src/java/tray$_i.png;; + esac + install -Dm644 $_fn \ + "$pkgdir"/usr/share/icons/hicolor/${_i}x${_i}/apps/davmail.png + done +} + +sha512sums="0d3481f0930e09b30ae4341149b443bd92f107872d4e39dcc66e5e6c2fa6a667f9dde2c5a49bc5c96375d9e9b4b824a4211bf90a985a2cc2b1b8aa7613f02b5d davmail-src-5.5.1-3299.tgz +e937f3bdf71cddba4678b768bc6fc87320cd2a76d324f5ef99a0248ddc989d89c25e1f0e291416acb264cb2a1dbfef6d5eeea092c95d9be3f75669d6f68d1fdd davmail.sh" diff --git a/user/davmail/davmail.sh b/user/davmail/davmail.sh new file mode 100755 index 000000000..17c5cd45e --- /dev/null +++ b/user/davmail/davmail.sh @@ -0,0 +1,7 @@ +#!/bin/sh -e +# Usage: davmail [</path/to/davmail.properties>] + +# force GTK2 to avoid crash with OpenJDK 11 +JAVA_OPTS="-Xmx512M -Dsun.net.inetaddr.ttl=60 -Djdk.gtk.version=2.2" +JAVA_CP="/usr/lib/java/davmail/lib/*" +exec java $JAVA_OPTS -cp "$JAVA_CP" davmail.DavGateway "$@" diff --git a/user/dconf/APKBUILD b/user/dconf/APKBUILD index 3495c4f93..98f8bd549 100644 --- a/user/dconf/APKBUILD +++ b/user/dconf/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=dconf -pkgver=0.34.0 +pkgver=0.36.0 pkgrel=0 pkgdesc="Configuration management for the Gnome desktop environment" url="https://gnome.org" @@ -12,9 +12,7 @@ depends="dbus" makedepends="meson ninja bash-completion dbus-dev docbook-xsl libxslt-dev python3-dev vala-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://download.gnome.org/sources/dconf/${pkgver%.*}/dconf-$pkgver.tar.xz - meson.patch - " +source="https://download.gnome.org/sources/dconf/${pkgver%.*}/dconf-$pkgver.tar.xz" build() { meson \ @@ -32,5 +30,4 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="8b28373f31fe36ba3f21f56fca84563681c3648ff595709880cd9ac49fc6b130ac375fb89fd585f1dd62b5a2f728127292ea57d18feca1147b709a93e8c4c743 dconf-0.34.0.tar.xz -be807b17c20c829b307da2df23252893f99f47845825328a0b1880aad9d97f85fe1d66be3903e8c1cc62bb6daa2baf1462bc09daf397c31394e7159ede07d58c meson.patch" +sha512sums="fed0b4ac13dfeff3bbe428a5c25408a0f13610219e561841a3af75cf18f9c630c385989b700c081b79ab53c00bdecf43c7c94979312c047faefbda4b2653d40d dconf-0.36.0.tar.xz" diff --git a/user/dconf/meson.patch b/user/dconf/meson.patch deleted file mode 100644 index 77d980e31..000000000 --- a/user/dconf/meson.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cc32667c5d7d9ff95e65cc21f59905d8f9218394 Mon Sep 17 00:00:00 2001 -From: Diego Escalante Urrelo <diegoe@gnome.org> -Date: Thu, 31 Oct 2019 05:51:22 -0500 -Subject: [PATCH] build: Update use of link_whole for meson-0.52 - -A regression in meson-0.52 caused uses of link_whole to expose scenarios -where duplicate symbols issues could appear. In particular -libdconf_client_dep was being link_whole'd to itself, which recursively -already included libdconf_common which was also a link_whole. - -This change does not modify the available symbols in libdconf.so, and is -compatible with meson-0.52 and 0.51. - -See: https://github.com/mesonbuild/meson/pull/6030 -Fixes: https://gitlab.gnome.org/GNOME/dconf/issues/59 ---- - client/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/client/meson.build b/client/meson.build -index f3b7122..de6387e 100644 ---- a/client/meson.build -+++ b/client/meson.build -@@ -28,7 +28,7 @@ libdconf_client = static_library( - - libdconf_client_dep = declare_dependency( - dependencies: gio_dep, -- link_whole: libdconf_client, -+ link_with: libdconf_client, - ) - - libdconf = shared_library( --- -2.24.1 - diff --git a/user/dev86/APKBUILD b/user/dev86/APKBUILD new file mode 100644 index 000000000..a17deec0f --- /dev/null +++ b/user/dev86/APKBUILD @@ -0,0 +1,29 @@ +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=dev86 +pkgver=0.16.21 +pkgrel=0 +pkgdesc="Standalone 8086 assembler and linker" +url="https://github.com/lkundrak/dev86/" +arch="pmmx x86 x86_64" +options="!check" # Just compiles stuff with bcc which we don't build +license="GPL-2.0 AND LGPL-2.0" +depends="" +makedepends="" +subpackages="$pkgname-doc" +source="$pkgname-$pkgver.tar.gz::https://github.com/lkundrak/dev86/archive/v$pkgver.tar.gz" + +build() { + make -j1 as ld \ + GCCFLAG="$CFLAGS" \ + NATIVE='-DA_OUT_INCL=\"../libc/include/a.out.h\"' +} + +package() { + install -Dm755 as/as86 "$pkgdir"/usr/bin/as86 + install -Dm755 ld/ld86 "$pkgdir"/usr/bin/ld86 + + install -Dm644 man/as86.1 "$pkgdir"/usr/share/man/man1/as86.1 + install -Dm644 man/ld86.1 "$pkgdir"/usr/share/man/man1/ld86.1 +} + +sha512sums="e51d94cecc298f860c1dcbc225d5c77a18769eb7a51f888853ca3bdb3cc6596c07d67cd9b403f7d52155716eb1708396461dc596cd02728d762d0ed5e87d054f dev86-0.16.21.tar.gz" diff --git a/user/dialog/APKBUILD b/user/dialog/APKBUILD index 0c077d307..d00813c2d 100644 --- a/user/dialog/APKBUILD +++ b/user/dialog/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Michael Mason <ms13sp@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=dialog -pkgver=1.3.20191210 +pkgver=1.3.20200327 _realver="${pkgver%.*}-${pkgver##*.}" pkgrel=0 pkgdesc="Script interpreter providing curses widgets" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4196287f26da2aab8376141a1442bccea52bcc6f7003042101df0c6a72aa3e25aa909d9fbcb937b047ab12a2e4349ec4b71b26f6e5cd4ba41cfd5665f732975d dialog-1.3-20191210.tgz" +sha512sums="c8c7ccd86fa189a2b6739320f59f127512e53f908ed257280099f8c45754da98d2095835d0c14090cd071af0ed6e8ff95f9938f5ca8027b0b7001c7fd746fe59 dialog-1.3-20200327.tgz" diff --git a/user/dovecot/APKBUILD b/user/dovecot/APKBUILD new file mode 100644 index 000000000..5af5254e1 --- /dev/null +++ b/user/dovecot/APKBUILD @@ -0,0 +1,286 @@ +# Contributor: Valery Kartel <valery.kartel@gmail.com> +# Contributor: Lukasz Jendrysik <scadu@yandex.com> +# Contributor: Michael Mason <ms13sp@gmail.com> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Lee Starnes <lee@canned-death.us> +pkgname=dovecot +pkgver=2.3.10.1 +_pkgvermajor=2.3 +pkgrel=0 +_pigeonholever=0.5.9 +_pigeonholevermajor=${_pigeonholever%.*} +pkgdesc="IMAP and POP3 server" +url="https://www.dovecot.org/" +arch="all" +options="libtool" +license="LGPL-2.0+" +depends="openssl" +pkgusers="dovecot dovenull" +pkggroups="dovecot dovenull" +makedepends=" + autoconf + automake + bzip2-dev + clucene-dev + expat-dev + krb5-dev + libcap-dev + openssl-dev + libtool + linux-headers + linux-pam-dev + mariadb-dev + openldap-dev + postgresql-dev + sqlite-dev + zlib-dev + libsodium-dev + " +install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade" +subpackages=" + $pkgname-doc + $pkgname-dev + $pkgname-openrc + $pkgname-lmtpd + $pkgname-pop3d + $pkgname-submissiond + $pkgname-pigeonhole-plugin-ldap:_sieve_ldap + $pkgname-pigeonhole-plugin:_sieve + $pkgname-sql + $pkgname-pgsql + $pkgname-mysql + $pkgname-sqlite + $pkgname-gssapi + $pkgname-ldap + $pkgname-fts-solr:_fts_solr + $pkgname-fts-lucene:_fts_lucene + " +source="https://www.dovecot.org/releases/$_pkgvermajor/dovecot-$pkgver.tar.gz + https://pigeonhole.dovecot.org/releases/$_pkgvermajor/$pkgname-$_pkgvermajor-pigeonhole-$_pigeonholever.tar.gz + skip-iconv-check.patch + split-protocols.patch + default-config.patch + ssl-paths.patch + dovecot.logrotate + dovecot.initd + " +_builddir_pigeonhole="$srcdir/$pkgname-$_pkgvermajor-pigeonhole-$_pigeonholever" + +# secfixes: +# 2.3.10.1-r0: +# - CVE-2020-10957 +# - CVE-2020-10958 +# - CVE-2020-10967 + +_configure() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-static \ + "$@" +} + +build() { + _configure \ + --with-gssapi=plugin \ + --with-ldap=plugin \ + --with-sql=plugin \ + --with-pam \ + --with-mysql \ + --with-sqlite \ + --with-pgsql \ + --with-solr \ + --with-lucene \ + --with-ssl=openssl \ + --with-ssldir=/etc/ssl/dovecot \ + --with-rundir=/run/dovecot + make + + # Build pigeonhole plugin + cd "$_builddir_pigeonhole" + _configure \ + --with-dovecot="$builddir" \ + --with-ldap=plugin + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install + + cd "$pkgdir" + + install -d ./etc/ssl/dovecot + install -D -m 755 "$srcdir"/dovecot.initd ./etc/init.d/dovecot + install -D -m 644 "$srcdir"/dovecot.logrotate ./etc/logrotate.d/dovecot + + # default config + rm ./etc/dovecot/* + rm ./usr/share/doc/dovecot/mkcert.sh + mv ./usr/share/doc/dovecot/dovecot-openssl.cnf ./etc/dovecot/ + mv ./usr/share/doc/dovecot/example-config/dovecot* \ + ./usr/share/doc/dovecot/example-config/conf.d \ + ./etc/dovecot/ + rm -fr ./usr/share/doc/dovecot/example-config + + # Installing pigeonhole plugin. + cd "$_builddir_pigeonhole" + make install DESTDIR="$pkgdir" + + # Moving config in the correct place + mv "$pkgdir"/usr/share/doc/dovecot/example-config/conf.d/* \ + "$pkgdir"/etc/dovecot/conf.d + + # Remove libtool archives. abuild doesn't remove them automatically even without options=libtool. + find "$pkgdir" -name '*.la' | xargs rm -f +} + +dev() { + default_dev + mkdir -p "$subpkgdir"/usr/lib/dovecot + mv "$pkgdir"/usr/lib/dovecot/dovecot-config \ + "$subpkgdir"/usr/lib/dovecot/ +} + +lmtpd() { + pkgdesc="$pkgdesc (LMTP server)" + _protocol lmtp +} + +pop3d() { + pkgdesc="$pkgdesc (POP3 daemon)" + _protocol pop3 +} + +submissiond() { + pkgdesc="$pkgdesc (mail submission agent)" + _protocol submission +} + +_protocol() { + depends="$pkgname=$pkgver-r$pkgrel" + _name="$1" + _protocolsd="$subpkgdir/usr/share/dovecot/protocols.d" + + cd "$pkgdir" + _submv usr/libexec/dovecot/$_name* + _submv etc/dovecot/conf.d/*-$_name.conf + + mkdir -p "$_protocolsd" + echo "protocols = \$protocols $_name" \ + > "$_protocolsd"/${subpkgname#$pkgname-}.conf +} + +_sieve() { + pkgdesc="Sieve and managesieve plugin for Dovecot" + depends="$pkgname=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*sieve_extprograms*') + _submv $(find usr/ -name '*sieve_imapsieve*') + _submv $(find usr/ -name '*sieve*') + _submv $(find usr/ -name '*pigeonhole*') + _submv $(find etc/dovecot/ -name '*sieve*') +} + +_sieve_ldap() { + pkgdesc="Sieve and managesieve plugin for Dovecot (LDAP support)" + depends="$pkgname-pigeonhole-plugin=$pkgver-r$pkgrel $pkgname-ldap=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*_sieve_storage_ldap_*') +} + +pgsql() { + pkgdesc="PostgreSQL driver for Dovecot" + depends="$pkgname-sql=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*_pgsql*') +} + +mysql() { + pkgdesc="MySQL driver for Dovecot" + depends="$pkgname-sql=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*_mysql*') +} + +sqlite() { + pkgdesc="SQLite driver for Dovecot" + depends="$pkgname-sql=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*_sqlite*') +} + +gssapi() { + pkgdesc="GSSAPI auth plugin for Dovecot" + depends="$pkgname=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*_gssapi*') +} + +ldap() { + pkgdesc="LDAP auth plugin for Dovecot" + depends="$pkgname=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*[_-]ldap*') + _submv $(find etc/dovecot/ -name '*-ldap.conf*') +} + +sql() { + pkgdesc="SQL plugin for dovecot" + depends="$pkgname=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*-sql.*') + _submv $(find etc/dovecot/ -name '*-sql.conf*') +} + +_fts_solr() { + pkgdesc="FTS-Solr plugin for dovecot" + depends="$pkgname=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*fts*solr*') +} + +_fts_lucene() { + pkgdesc="FTS-Lucene plugin for dovecot" + depends="$pkgname=$pkgver-r$pkgrel" + + cd "$pkgdir" + _submv $(find usr/ -name '*fts*lucene*') +} + +_submv() { + while [ $# -gt 0 ]; do + _dir=${1%/*} + mkdir -p "$subpkgdir"/$_dir + mv "$pkgdir/$1" "$subpkgdir/$_dir/" + [ "$(ls -A $pkgdir/$_dir)" ] || rmdir "$pkgdir"/$_dir + shift + done +} + +sha512sums="5c07436a3e861993f241caa2c60f035c533c5fceb5c8540c1717d31bedd54b82299f7ea11bfee12c72d4d33985d93a7130c4f56877864a7ad21cf7373a29cc06 dovecot-2.3.10.1.tar.gz +1b8d2ac8d3985dde035fc45df519788a924ba971f3e39717f5196ea56a982d4156226586d0a964473525d086967883ea52f2e624e81f7035cb0952b76f2414d8 dovecot-2.3-pigeonhole-0.5.9.tar.gz +fe4fbeaedb377d809f105d9dbaf7c1b961aa99f246b77189a73b491dc1ae0aa9c68678dde90420ec53ec877c08f735b42d23edb13117d7268420e001aa30967a skip-iconv-check.patch +794875dbf0ded1e82c5c3823660cf6996a7920079149cd8eed54231a53580d931b966dfb17185ab65e565e108545ecf6591bae82f935ab1b6ff65bb8ee93d7d5 split-protocols.patch +0d8f89c7ba6f884719b5f9fc89e8b2efbdc3e181de308abf9b1c1b0e42282f4df72c7bf62f574686967c10a8677356560c965713b9d146e2770aab17e95bcc07 default-config.patch +5e68a0042a7c11b3d8c411fc157f5960e2e3305dac11f4b6b880441e2b4105769ddf6c56f67a995af6e1a58f3bfa2c199ea51318a3a0e37c7ef0ae6c4109b13f ssl-paths.patch +9f19698ab45969f1f94dc4bddf6de59317daee93c9421c81f2dbf8a7efe6acf89689f1d30f60f536737bb9526c315215d2bce694db27e7b8d7896036a59c31f0 dovecot.logrotate +d91951b81150d7a3ef6a674c0dc7b012f538164dac4b9d27a6801d31da6813b764995a438f69b6a680463e1b60a3b4f2959654f68e565fe116ea60312d5e5e70 dovecot.initd" diff --git a/user/dovecot/default-config.patch b/user/dovecot/default-config.patch new file mode 100644 index 000000000..0f8a7385a --- /dev/null +++ b/user/dovecot/default-config.patch @@ -0,0 +1,46 @@ +--- a/doc/example-config/conf.d/10-mail.conf ++++ b/doc/example-config/conf.d/10-mail.conf +@@ -208,10 +208,10 @@ + + # UNIX socket path to master authentication server to find users. + # This is used by imap (for shared users) and lda. +-#auth_socket_path = /var/run/dovecot/auth-userdb ++#auth_socket_path = /run/dovecot/auth-userdb + + # Directory where to look up mail plugins. +-#mail_plugin_dir = /usr/lib/dovecot ++#mail_plugin_dir = /usr/lib/dovecot/modules + + # Space separated list of plugins to load for all services. Plugins specific to + # IMAP, LDA, etc. are added to this list in their own .conf files. +@@ -322,6 +322,7 @@ protocol !indexer-worker { + # them simultaneously. + #mbox_read_locks = fcntl + #mbox_write_locks = dotlock fcntl ++mbox_write_locks = fcntl + + # Maximum time to wait for lock (all of them) before aborting. + #mbox_lock_timeout = 5 mins +--- a/doc/example-config/conf.d/10-ssl.conf ++++ b/doc/example-config/conf.d/10-ssl.conf +@@ -3,7 +3,10 @@ + ## + + # SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> +-#ssl = yes ++# Disable plain (unencrypted) POP3 and IMAP, allowed are only POP3+TLS, ++# POP3S, IMAP+TLS and IMAPS. ++# Plain IMAP and POP3 are still allowed for local connections. ++ssl = required + + # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before + # dropping root privileges, so keep the key file unreadable by anyone but +@@ -67,7 +67,7 @@ + #ssl_curve_list = + + # Prefer the server's order of ciphers over client's. +-#ssl_prefer_server_ciphers = no ++ssl_prefer_server_ciphers = yes + + # SSL crypto device to use, for valid values run "openssl engine" + #ssl_crypto_device = diff --git a/user/dovecot/dovecot.initd b/user/dovecot/dovecot.initd new file mode 100644 index 000000000..721f131ad --- /dev/null +++ b/user/dovecot/dovecot.initd @@ -0,0 +1,40 @@ +#!/sbin/openrc-run + +[ "$RC_SVCNAME" != "${RC_SVCNAME##*.}" ] && instance=${RC_SVCNAME##*.} + +description="Secure POP3/IMAP server" + +cfgfile=/etc/dovecot/dovecot${instance:+.$instance}.conf +pidfile=$(doveconf -c $cfgfile -h base_dir 2>/dev/null)/master.pid +command=/usr/sbin/dovecot +command_args=${instance:+-c $cfgfile} +required_files="$cfgfile" +extra_started_commands="reload reopen" +description_reload="Reload configuration" +description_reopen="Reopen log files" + +depend() { + need localmount net + before mta + after bootmisc firewall ldap mysql ntp-client ntpd postgresql saslauthd slapd + use logger +} + +start_pre() { + ebegin + doveconf -c $cfgfile -x >/dev/null 2>&1 && \ + checkpath --directory ${pidfile%/*} + eend $? +} + +reload() { + ebegin "Reloading $RC_SVCNAME configs and restarting auth/login processes" + start_pre && start-stop-daemon --signal HUP --pidfile $pidfile + eend $? +} + +reopen() { + ebegin "Reopening $RC_SVCNAME log files" + start-stop-daemon --signal USR1 --pidfile $pidfile + eend $? +} diff --git a/user/dovecot/dovecot.logrotate b/user/dovecot/dovecot.logrotate new file mode 100644 index 000000000..b1a4087b4 --- /dev/null +++ b/user/dovecot/dovecot.logrotate @@ -0,0 +1,12 @@ +/var/log/dovecot*.log { + daily + missingok + copytruncate + rotate 7 + compress + notifempty + sharedscripts + postrotate + /etc/init.d/dovecot --quiet --ifstarted reopen + endscript +} diff --git a/user/dovecot/dovecot.post-install b/user/dovecot/dovecot.post-install new file mode 100644 index 000000000..eb70cdece --- /dev/null +++ b/user/dovecot/dovecot.post-install @@ -0,0 +1,45 @@ +#!/bin/sh + +# based on doc/mkcert.sh + +# if ssl disabled then lets just exit +doveconf ssl 2>/dev/null | grep -Eq '(yes|required)' || exit 0 +# Generates a self-signed certificate. + +OPENSSL=${OPENSSL-openssl} +SSLDIR=${SSLDIR-/etc/ssl/dovecot} +OPENSSLCONFIG=${OPENSSLCONFIG-/etc/dovecot/dovecot-openssl.cnf} + +CERTDIR=$SSLDIR +KEYDIR=$SSLDIR + +# check if we have ssl_cert and/or key (for dovecot-2.0+) +# try expand the cert/key itself and if found, lets just keep it +[ -n "$(doveconf -x ssl_cert 2>/dev/null)" ] && exit 0 +[ -n "$(doveconf -x ssl_key 2>/dev/null)" ] && exit 0 + +ssl_cert_file=$(doveconf ssl_cert | sed 's/.*= <//') +ssl_key_file=$(doveconf ssl_key | sed 's/.*= <//') + +CERTFILE=${ssl_cert_file:-$CERTDIR/server.pem} +KEYFILE=${ssl_key_file:-$KEYDIR/server.key} + +if [ -e "$CERTFILE" ]; then + echo "Keeping existing $CERTFILE" + exit 0 +fi + +if [ -e "$KEYFILE" ]; then + echo "Keeping existing $KEYFILE" + exit 0 +fi + +if [ ! -c /dev/urandom ] && [ ! -c /dev/random ]; then + echo "No /dev/urandom or /dev/random so ssl cert not created" + exit 1 +fi + +$OPENSSL req -new -x509 -nodes -config $OPENSSLCONFIG -out $CERTFILE -keyout $KEYFILE -days 365 || exit 2 +chmod 0600 $KEYFILE +echo +$OPENSSL x509 -subject -fingerprint -noout -in $CERTFILE || exit 2 diff --git a/user/dovecot/dovecot.post-upgrade b/user/dovecot/dovecot.post-upgrade new file mode 100644 index 000000000..69f4366ed --- /dev/null +++ b/user/dovecot/dovecot.post-upgrade @@ -0,0 +1,7 @@ +#!/bin/sh +if ! grep ^"version_ignore=yes" /etc/dovecot/dovecot.conf; then + printf "dovecot restart required (version_ignore=yes not set)\n" +fi + +exit $? + diff --git a/user/dovecot/dovecot.pre-install b/user/dovecot/dovecot.pre-install new file mode 100644 index 000000000..73a0aa3e3 --- /dev/null +++ b/user/dovecot/dovecot.pre-install @@ -0,0 +1,8 @@ +#!/bin/sh + +groupadd -r dovecot 2>/dev/null +groupadd -r dovenull 2>/dev/null +useradd -r -u 90 -h /dev/null -s /sbin/nologin -g dovecot dovecot 2>/dev/null +useradd -r -u 91 -h /dev/null -s /sbin/nologin -g dovenull dovenull 2>/dev/null + +exit 0 diff --git a/user/dovecot/skip-iconv-check.patch b/user/dovecot/skip-iconv-check.patch new file mode 100644 index 000000000..bb1002c84 --- /dev/null +++ b/user/dovecot/skip-iconv-check.patch @@ -0,0 +1,11 @@ +--- a/src/lib-charset/test-charset.c ++++ b/src/lib-charset/test-charset.c +@@ -159,7 +159,7 @@ + static void (*const test_functions[])(void) = { + test_charset_is_utf8, + test_charset_utf8, +-#ifdef HAVE_ICONV ++#if 0 //def HAVE_ICONV + test_charset_iconv, + test_charset_iconv_crashes, + test_charset_iconv_utf7_state, diff --git a/user/dovecot/split-protocols.patch b/user/dovecot/split-protocols.patch new file mode 100644 index 000000000..b4bed2ccb --- /dev/null +++ b/user/dovecot/split-protocols.patch @@ -0,0 +1,30 @@ +For each protocol $prot, which is moved into subpackage $subname, +is installed file /usr/share/dovecot/protocols.d/$subname.conf with: + + protocols = $protocols $prot + +--- a/doc/example-config/dovecot.conf ++++ b/doc/example-config/dovecot.conf +@@ -20,8 +20,9 @@ + # options. The paths listed here are for configure --prefix=/usr + # --sysconfdir=/etc --localstatedir=/var + +-# Protocols we want to be serving. +-#protocols = imap pop3 lmtp submission ++# Enable installed protocols. ++#protocols = imap ++!include_try /usr/share/dovecot/protocols.d/*.conf + + # A comma separated list of IPs or hosts where to listen in for connections. + # "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces. +--- a/src/master/master-settings.c.orig ++++ b/src/master/master-settings.c +@@ -206,7 +206,7 @@ + .state_dir = PKG_STATEDIR, + .libexec_dir = PKG_LIBEXECDIR, + .instance_name = PACKAGE, +- .protocols = "imap pop3 lmtp", ++ .protocols = "imap", + .listen = "*, ::", + .ssl = "yes:no:required", + .default_internal_user = "dovecot", diff --git a/user/dovecot/ssl-paths.patch b/user/dovecot/ssl-paths.patch new file mode 100644 index 000000000..b354b607e --- /dev/null +++ b/user/dovecot/ssl-paths.patch @@ -0,0 +1,13 @@ +--- dovecot-2.3.10/doc/example-config/conf.d/10-ssl.conf 2020-03-05 14:35:53.000000000 +0000 ++++ dovecot-2.3.10.new/doc/example-config/conf.d/10-ssl.conf 2020-04-26 06:49:45.860000000 +0000 +@@ -9,8 +9,8 @@ + # dropping root privileges, so keep the key file unreadable by anyone but + # root. Included doc/mkcert.sh can be used to easily generate self-signed + # certificate, just make sure to update the domains in dovecot-openssl.cnf +-ssl_cert = </etc/ssl/certs/dovecot.pem +-ssl_key = </etc/ssl/private/dovecot.pem ++ssl_cert = </etc/ssl/dovecot/server.pem ++ssl_key = </etc/ssl/dovecot/server.key + + # If key file is password protected, give the password here. Alternatively + # give it when starting dovecot with -p parameter. Since this file is often diff --git a/user/dracut/APKBUILD b/user/dracut/APKBUILD index fd0988844..40f60f469 100644 --- a/user/dracut/APKBUILD +++ b/user/dracut/APKBUILD @@ -1,8 +1,8 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=dracut -pkgver=048 -pkgrel=4 +pkgver=050 +pkgrel=0 pkgdesc="Event-driven initramfs infrastructure" url="https://dracut.wiki.kernel.org/" arch="all" @@ -13,6 +13,7 @@ makedepends="fts-dev kmod-dev" subpackages="$pkgname-doc $pkgname-bash-completion:bashcomp:noarch $pkgname-crypt::noarch $pkgname-lvm::noarch" source="https://www.kernel.org/pub/linux/utils/boot/$pkgname/$pkgname-$pkgver.tar.xz + fts.patch header-fix.patch mount-run-without-noexec.patch " @@ -67,6 +68,7 @@ lvm() { mkdir -p "$subpkgdir" } -sha512sums="97fcfd5d314ef40687c245d95d2f1d0f3f9ff0472e66b6e6324bf9bd6b98186104f9d71fd9af344126d6ea9fa47b744d52831a374225633225f6f17fb15c04e0 dracut-048.tar.xz +sha512sums="eba046cf1c8013369a398e585e0bff233daa8595d469ce9acc8bbc6a32d55c6a5429d4219db19abbf6001104be05b357f0961f9e66b7f926039a5d3ee7c2b850 dracut-050.tar.xz +ce84e527e441e18494ea9011b4b10cf723ce5981c4717140f43861b6ed3e0f0aa78545be41c111d3338422f2ad158edc8704376c3dca207ae4445c58f54a4574 fts.patch 988f03a3fd2e7ee62409d3c57e8029403513dcec5efb37e64633d989728e4c7b619ce5b8775a04c5a0b654f7f093777d94fe6e4098a99a690c353a94f537e24c header-fix.patch d7aa2b35def975ec2a9620d3e8c94da5fad5be51e81ac913b9f3497b3ca62beefb9d4cf8e4ba3b292f89b936373486d0e3184f65eb1eaed972f38d17424a32b1 mount-run-without-noexec.patch" diff --git a/user/dracut/fts.patch b/user/dracut/fts.patch new file mode 100644 index 000000000..f2bbb03b7 --- /dev/null +++ b/user/dracut/fts.patch @@ -0,0 +1,30 @@ +From 7f6517b7dc3f3d160ae43de43d1184b137c0c96f Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Sun, 5 Apr 2020 04:52:19 -0500 +Subject: [PATCH] configure: Find FTS library with --as-needed + +When LDFLAGS contains ``-Wl,--as-needed``, the FTS library will be +ignored if it is specified before the .c source. + +Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com> +Fixes: 62f27ee6f145 ("configure: find cflags and libs for fts on musl") +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 3f724ef2..aceec138 100755 +--- a/configure ++++ b/configure +@@ -85,7 +85,7 @@ EOF + + found=no + for lib in "-lc" "-lfts"; do +- ${CC} $CFLAGS -Wl,$lib $LDFLAGS conftest.c >/dev/null 2>&1 ++ ${CC} $CFLAGS $LDFLAGS conftest.c -Wl,$lib >/dev/null 2>&1 + ret=$? + if test $ret -eq 0; then + FTS_LIBS="$lib" +-- +2.25.1 + diff --git a/user/drkonqi/APKBUILD b/user/drkonqi/APKBUILD index 7c2089579..3356bc9ce 100644 --- a/user/drkonqi/APKBUILD +++ b/user/drkonqi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=drkonqi -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Crash diagnostic system for KDE" url="https://www.kde.org/" @@ -15,7 +15,7 @@ makedepends="cmake extra-cmake-modules kauth-dev kcodecs-dev kcompletion-dev kwallet-dev kwidgetsaddons-dev kwindowsystem-dev kxmlgui-dev qt5-qtbase-dev qt5-qtx11extras-dev solid-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/drkonqi-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/drkonqi-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c878a9348fe270a84321e5bc3f22063c39acde8ff1378d32c6d3f009f17374bb861cfb71559cdfe2c8046ce60c1198e7946ab181ebfa27a02c6e0aa74c9adb0b drkonqi-5.18.2.tar.xz" +sha512sums="5d9c7dfbe4687d88ffe43e6676d6dbd04c97816acb4819604ff6ea5a1f9b987834b2831e75281f8fbe6837a42c410a6a595d61e6f2a4b8a9bd6c23b2102ee544 drkonqi-5.18.4.1.tar.xz" diff --git a/user/efibootmgr/APKBUILD b/user/efibootmgr/APKBUILD index 5f2149b22..379316b65 100644 --- a/user/efibootmgr/APKBUILD +++ b/user/efibootmgr/APKBUILD @@ -5,7 +5,7 @@ pkgver=16 pkgrel=0 pkgdesc="User-space application to modify the Intel EFI Boot Manager" url="https://github.com/rhboot/efibootmgr" -arch="pmmx x86_64 arm64 ia64" +arch="pmmx x86_64 aarch64 ia64" options="!check" # Dangerous. license="GPL-2.0-only" depends="" diff --git a/user/efivar/APKBUILD b/user/efivar/APKBUILD index 13b1b64bd..c8a8ba600 100644 --- a/user/efivar/APKBUILD +++ b/user/efivar/APKBUILD @@ -5,7 +5,7 @@ pkgver=37 pkgrel=0 pkgdesc="Tools and library to manipulate EFI variables" url="https://github.com/rhboot/efivar" -arch="pmmx x86_64 arm64 ia64" +arch="pmmx x86_64 aarch64 ia64" options="!check" # "WARNING: You should probably not run tests /ever/. This is not a joke." license="LGPL-2.1+" depends="" diff --git a/user/elixir/APKBUILD b/user/elixir/APKBUILD new file mode 100644 index 000000000..e23466f18 --- /dev/null +++ b/user/elixir/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: Daniel Isaksen <d@duniel.no> +# Contributor: Marlus Saraiva <marlus.saraiva@gmail.com> +# Maintainer: Lee Starnes <lee@canned-death.us> +pkgname=elixir +pkgver=1.10.3 +pkgrel=0 +pkgdesc="Dynamic, functional language designed for building scalable and maintainable applications" +url="https://elixir-lang.org/" +arch="noarch" +license="Apache-2.0" +depends="erlang" +makedepends="erlang-dev" +subpackages="$pkgname-doc" +source="$pkgname-$pkgver.tar.gz::https://github.com/elixir-lang/elixir/archive/v$pkgver.tar.gz" + +build() { + make +} + +check() { + make test +} + +package() { + make DESTDIR="$pkgdir" PREFIX=/usr install +} + +sha512sums="66b18b983e5374afbd4d94c43a880c5e46a9aa150fa6f38be74ff7f58a19eaaee00248b202d9ae3f6b78e2495fc8d5cec755de644256a731be367766c3812855 elixir-1.10.3.tar.gz" diff --git a/user/erlang/APKBUILD b/user/erlang/APKBUILD index 733fcae80..32250cbf3 100644 --- a/user/erlang/APKBUILD +++ b/user/erlang/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=erlang -pkgver=22.2.7 +pkgver=22.3 pkgrel=0 pkgdesc="Soft real-time system programming language" url="https://www.erlang.org/" @@ -50,5 +50,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1746acd526eda37c769b70bba1ad0f73ee1e658d05d0cbbe4063f34c11f8061932b2cde04df725537f5c5b81b537897ada2f0f9b6b18b7554b0f7596c492906b erlang-22.2.7.tar.gz +sha512sums="138c4807f1116ad507d5ce2899438aebf3e1d5503d0de1cf81535dfa2d7bf9224dc45adeeabe5e479bb83293002c0d03e7f78be9f93394e9b85f1d83a3381446 erlang-22.3.tar.gz 4331f4b9a8cd0787d79f26304415604118cf2f750cb2e98f3d0bb16dbf9e2b5e230b4b4b15fed4ac207a0ae83a0963adebd3f5e9423b98f0b7f733334669709d fix-wx-linking.patch" diff --git a/user/ethtool/APKBUILD b/user/ethtool/APKBUILD index 0f899072c..984066d58 100644 --- a/user/ethtool/APKBUILD +++ b/user/ethtool/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=ethtool -pkgver=5.3 +pkgver=5.4 pkgrel=0 pkgdesc="Utility for controlling network drivers and hardware" url="https://mirrors.edge.kernel.org/pub/software/network/ethtool/" @@ -40,4 +40,4 @@ bashcomp() { mv "$pkgdir"/usr/share/bash-completion/ "$subpkgdir"/usr/share/ } -sha512sums="ad3651f74850e6773489baec27c51d077e3c080eb1d536a585ae05c618304880caf7598df5c9b1416c47ae9c4eac301032f6ea65fe47650dd9ecb7603c1857b0 ethtool-5.3.tar.xz" +sha512sums="c7bfe7eae2ba207d710716274e9f5ae275c57d0bebc0a9acb95677125e64f1b42ef610032011fb59894aab46973988bad40fddbc5ccc238893e7da66f913255b ethtool-5.4.tar.xz" diff --git a/user/eudev/APKBUILD b/user/eudev/APKBUILD index 16858e1f5..86a8e30f8 100644 --- a/user/eudev/APKBUILD +++ b/user/eudev/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=eudev pkgver=3.2.9 -pkgrel=0 +pkgrel=1 pkgdesc="OpenRC compatible fork of systemd-udev" url="https://wiki.gentoo.org/wiki/Project:Eudev" arch="all" @@ -91,12 +91,16 @@ openrc() { replaces="udev-init-scripts-openrc" default_openrc install -d "$subpkgdir"/usr/share/openrc/runlevels/sysinit + install -d "$subpkgdir"/etc/runlevels/sysinit # https://bts.adelielinux.org/show_bug.cgi?id=51 # if eudev is installed, it should be running in the sysinit runlevel ln -s /etc/init.d/udev \ "$subpkgdir"/usr/share/openrc/runlevels/sysinit/udev + ln -s /etc/init.d/udev "$subpkgdir"/etc/runlevels/sysinit/udev ln -s /etc/init.d/udev-trigger \ "$subpkgdir"/usr/share/openrc/runlevels/sysinit/udev-trigger + ln -s /etc/init.d/udev-trigger \ + "$subpkgdir"/etc/runlevels/sysinit/udev-trigger } sha512sums="09e49fff9848e72507ef14b9d4cfab2d1443f16d5b3d54d2b0e4f6b04c471ca41f09200cb8772e9f850f0dc4a574a7ec7eede7ce11cbabda65e210a89287531f eudev-3.2.9.tar.gz diff --git a/user/evince/APKBUILD b/user/evince/APKBUILD index 6811c1bef..6ddc8cf92 100644 --- a/user/evince/APKBUILD +++ b/user/evince/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=evince -pkgver=3.34.2 +pkgver=3.36.0 pkgrel=0 pkgdesc="GNOME document viewer" url="https://wiki.gnome.org/Apps/Evince" @@ -32,38 +32,6 @@ build() { --disable-nautilus \ --enable-introspection \ --enable-ps - - # our msgfmt(1) can't do --desktop - cp data/org.gnome.Evince.desktop.in data/org.gnome.Evince.desktop - cp data/org.gnome.Evince-previewer.desktop.in \ - data/org.gnome.Evince-previewer.desktop - cp backend/pdf/evince-pdfdocument.metainfo.xml.in \ - backend/pdf/evince-pdfdocument.metainfo.xml - cp backend/pdf/pdfdocument.evince-backend.desktop.in \ - backend/pdf/pdfdocument.evince-backend - cp backend/djvu/evince-djvudocument.metainfo.xml.in \ - backend/djvu/evince-djvudocument.metainfo.xml - cp backend/djvu/djvudocument.evince-backend.desktop.in \ - backend/djvu/djvudocument.evince-backend - cp backend/tiff/evince-tiffdocument.metainfo.xml.in \ - backend/tiff/evince-tiffdocument.metainfo.xml - cp backend/tiff/tiffdocument.evince-backend.desktop.in \ - backend/tiff/tiffdocument.evince-backend - cp backend/comics/evince-comicsdocument.metainfo.xml.in \ - backend/comics/evince-comicsdocument.metainfo.xml - cp backend/comics/comicsdocument.evince-backend.desktop.in \ - backend/comics/comicsdocument.evince-backend - cp backend/xps/evince-xpsdocument.metainfo.xml.in \ - backend/xps/evince-xpsdocument.metainfo.xml - cp backend/xps/xpsdocument.evince-backend.desktop.in \ - backend/xps/xpsdocument.evince-backend - cp backend/ps/evince-psdocument.metainfo.xml.in \ - backend/ps/evince-psdocument.metainfo.xml - cp backend/ps/psdocument.evince-backend.desktop.in \ - backend/ps/psdocument.evince-backend - cp org.gnome.Evince.appdata.xml.in org.gnome.Evince.appdata.xml - - # we now return you to your regularly scheduled build make } @@ -75,4 +43,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="51bfa4671e17a98c536790185ece6f4f77b956062901f840cd298cdc3e42eb7e8cabe9bfa84387f185cdf7462a322ef54bbc463b988a677af68561e55acd9f12 evince-3.34.2.tar.xz" +sha512sums="914c182f0ca71a0df99036339fe18f7c93514bae461ddecd719c5659c1cc67701f825e7a58b1eb203051ec55ccd402371fc70d3a27134ccdf915966e5bad8b7a evince-3.36.0.tar.xz" diff --git a/user/farstream/APKBUILD b/user/farstream/APKBUILD index c5a6f422e..cba6a5fad 100644 --- a/user/farstream/APKBUILD +++ b/user/farstream/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=farstream -pkgver=0.2.8 +pkgver=0.2.9 pkgrel=0 pkgdesc="Audio/Video communications framework" url="https://www.freedesktop.org/wiki/Software/Farstream/" @@ -11,11 +11,14 @@ license="LGPL-2.1+" depends="gst-plugins-base gst-plugins-good" depends_dev="glib-dev" makedepends="$depends_dev gobject-introspection-dev gstreamer-dev - gst-plugins-base-dev libnice-dev" + gst-plugins-base-dev libnice-dev autoconf automake libtool cmd:which" subpackages="$pkgname-dev $pkgname-doc" -source="https://freedesktop.org/software/farstream/releases/farstream/farstream-$pkgver.tar.gz" +source="https://freedesktop.org/software/farstream/releases/farstream/farstream-$pkgver.tar.gz + make43.patch + " build() { + ./autogen.sh --disable-gtk-doc ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -35,4 +38,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7ec5c57f8778f4107cb628dbf411e38b726152cf78920127dff4423239ff7e4980b6b4f938abba2aa21ab984b1e3053e7e648611322a0ce94df0af576df99a7e farstream-0.2.8.tar.gz" +sha512sums="8840725d2f1de59bebc8c49cf68a6712822a4e7b6ba9078713f80e3c35a39135565a1a885edab43a562f895e11b8f5d8d666d57d9b3814dabb661f46498515bd farstream-0.2.9.tar.gz +ea863d7e72e6c0311c1e6f4718721f4f03955e0c9a61066db833cc0b73246b27387067abfe677f594c6a132c7e3836de50cc216903ba12e286638988f41e3bd5 make43.patch" diff --git a/user/farstream/make43.patch b/user/farstream/make43.patch new file mode 100644 index 000000000..7b1ec9a9e --- /dev/null +++ b/user/farstream/make43.patch @@ -0,0 +1,38 @@ +From 54987d445ea714b467d901b7daf8c09ed0644189 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray <debarshir@freedesktop.org> +Date: Thu, 12 Mar 2020 14:07:23 +0100 +Subject: [PATCH] build: Adapt to backwards incompatible change in GNU Make 4.3 + +GNU Make 4.3 has a backwards incompatible change affecting the use of +number signs or hashes (ie., #) inside function invocations. See: +https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html + +In this case, it would expand the '\#' in the '\n\#include \"$(h)\"' +argument to the foreach call to '\#', not '#'. This would lead to +spurious backslashes in front of the '#include' directives in the +generated fs-enumtypes.c file. + +Spotted by Ernestas Kulik. + +https://gitlab.freedesktop.org/farstream/farstream/-/merge_requests/4 +--- + common-modified/gst-glib-gen.mak | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/common-modified/gst-glib-gen.mak b/common-modified/gst-glib-gen.mak +index 14f1ba37c788..2247a41c49ea 100644 +--- a/common-modified/gst-glib-gen.mak ++++ b/common-modified/gst-glib-gen.mak +@@ -6,7 +6,8 @@ + #glib_gen_prefix=gst_color_balance + #glib_gen_basename=colorbalance + +-enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\") ++hash:=\# ++enum_headers=$(foreach h,$(glib_enum_headers),\n$(hash)include \"$(h)\") + + # these are all the rules generating the relevant files + $(glib_gen_basename)-enumtypes.h: $(glib_enum_headers) +-- +2.24.1 + diff --git a/user/featherpad/APKBUILD b/user/featherpad/APKBUILD index 2d9bf4be6..e88d1344e 100644 --- a/user/featherpad/APKBUILD +++ b/user/featherpad/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=featherpad -pkgver=0.12.1 +pkgver=0.13.1 pkgrel=0 pkgdesc="Featureful Qt-based text editor" url="https://github.com/tsujan/FeatherPad" @@ -31,5 +31,5 @@ package() { make INSTALL_ROOT="$pkgdir" PREFIX=/usr install } -sha512sums="fdeb20574e265f5cae36f97b1993b83afc7dfc3c5dc24aa8482adb972e1bd7624e343b15a5996fee31f8fd1815c072f89e8d97910def560e99301586442c67e5 FeatherPad-0.12.1.tar.gz +sha512sums="287a97907baba93a760751f8f28472b12d6c65ebb0855fcf684e126d8635adbc4e00b2fb4703bbabdc182b8a337dd9281b5b2c97add4b571fca976d90ecc7db9 FeatherPad-0.13.1.tar.gz 471714eec9a376b138cc4c6c7b7d1339c9767091309c95b11ef2a8536250c796367b1544dca9610cc10babdbd08ac1436784d71292680b9da90e681dd855aaf0 hunspell-link.patch" diff --git a/user/ffmpeg/APKBUILD b/user/ffmpeg/APKBUILD index b6de0597c..06e68aecb 100644 --- a/user/ffmpeg/APKBUILD +++ b/user/ffmpeg/APKBUILD @@ -4,7 +4,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ffmpeg pkgver=4.2.2 -pkgrel=0 +pkgrel=1 pkgdesc="Record, convert, and stream audio and video" url="https://ffmpeg.org/" arch="all" @@ -21,6 +21,8 @@ makedepends="alsa-lib-dev bzip2-dev freetype-dev gnutls-dev imlib2-dev subpackages="$pkgname-dev $pkgname-doc $pkgname-libs" source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch + CVE-2019-13312.patch + CVE-2020-12284.patch " # secfixes: @@ -37,6 +39,9 @@ source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz # - CVE-2017-14222 # - CVE-2017-14223 # - CVE-2017-14225 +# 4.2.2-r1: +# - CVE-2019-13312 +# - CVE-2020-12284 build() { _asm="" @@ -98,4 +103,6 @@ libs() { } sha512sums="381cd6732fa699eb89000621cf34256920596ed1f9de3c2194dbad35fdf2165269eb7d3a147a0eb75dc18fbb6d601382b5801750e09fc63547766842f84208e3 ffmpeg-4.2.2.tar.xz -1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch" +1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch +0c53680ae480b8f848893d4e5c40ea522bd25a72860e0955e039ec838ee09159ab2bfa0eafc71113009082c7f53981ba70116dcef17053cd3cc3ea59e4da5a5c CVE-2019-13312.patch +910f8da9ed8e0998c311cc451f1725a20c4cc3e9f0c2d1981a1ceea8da5f434519044b4997e71d87424e19fcc45cb203238e49ad178e313696667e6c9bf311c9 CVE-2020-12284.patch" diff --git a/user/ffmpeg/CVE-2019-13312.patch b/user/ffmpeg/CVE-2019-13312.patch new file mode 100644 index 000000000..1ef9d92b4 --- /dev/null +++ b/user/ffmpeg/CVE-2019-13312.patch @@ -0,0 +1,30 @@ +From ea56af88956061d700043c5c4b026ac57834b0c8 Mon Sep 17 00:00:00 2001 +From: Carl Eugen Hoyos <ceffmpeg@gmail.com> +Date: Mon, 1 Jul 2019 01:45:36 +0200 +Subject: [PATCH] lavc/zmbvenc: Do not left-shift negative values. + +Fixes the following ubsan errors with the sample from ticket #7980: +libavcodec/zmbvenc.c:243:29: runtime error: left shift of negative value -4 +libavcodec/zmbvenc.c:244:28: runtime error: left shift of negative value -2 +--- + libavcodec/zmbvenc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libavcodec/zmbvenc.c b/libavcodec/zmbvenc.c +index 4887175..0e22ce6 100644 +--- a/libavcodec/zmbvenc.c ++++ b/libavcodec/zmbvenc.c +@@ -240,8 +240,8 @@ FF_ENABLE_DEPRECATION_WARNINGS + tprev = prev + x * c->bypp; + + zmbv_me(c, tsrc, p->linesize[0], tprev, c->pstride, x, y, &mx, &my, &xored); +- mv[0] = (mx << 1) | !!xored; +- mv[1] = my << 1; ++ mv[0] = (mx * 2) | !!xored; ++ mv[1] = my * 2; + tprev += mx * c->bypp + my * c->pstride; + if(xored){ + for(j = 0; j < bh2; j++){ +-- +2.7.4 + diff --git a/user/ffmpeg/CVE-2020-12284.patch b/user/ffmpeg/CVE-2020-12284.patch new file mode 100644 index 000000000..7360b5870 --- /dev/null +++ b/user/ffmpeg/CVE-2020-12284.patch @@ -0,0 +1,32 @@ +From 1812352d767ccf5431aa440123e2e260a4db2726 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer <michael@niedermayer.cc> +Date: Sat, 7 Mar 2020 15:42:58 +0100 +Subject: [PATCH] avcodec/cbs_jpeg: Check length for SOS + +Fixes: out of array access +Fixes: 19734/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5673507031875584 +Fixes: 19353/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5703944462663680 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg +Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> +--- + libavcodec/cbs_jpeg.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/libavcodec/cbs_jpeg.c b/libavcodec/cbs_jpeg.c +index 6bbce5f..89512a2 100644 +--- a/libavcodec/cbs_jpeg.c ++++ b/libavcodec/cbs_jpeg.c +@@ -197,6 +197,9 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx, + if (marker == JPEG_MARKER_SOS) { + length = AV_RB16(frag->data + start); + ++ if (length > end - start) ++ return AVERROR_INVALIDDATA; ++ + data_ref = NULL; + data = av_malloc(end - start + + AV_INPUT_BUFFER_PADDING_SIZE); +-- +2.7.4 + diff --git a/user/firefox-esr/APKBUILD b/user/firefox-esr/APKBUILD index e4c2a5687..f780d8765 100644 --- a/user/firefox-esr/APKBUILD +++ b/user/firefox-esr/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Molly Miller <adelie@m-squa.red> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=firefox-esr -pkgver=68.5.0 +pkgver=68.9.0 pkgrel=0 pkgdesc="Firefox web browser (extended support release)" url="https://www.mozilla.org/firefox/" @@ -41,7 +41,8 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$_ffxver/source/firefox-$_f mozilla-build-arm.patch ppc32-fix.patch rust-32bit.patch - rust-config.patch + seccomp-musl.patch + seccomp-time64.patch shut-up-warning.patch skia-sucks1.patch skia-sucks2.patch @@ -106,7 +107,30 @@ ldpath="$_mozappdir" # - CVE-2020-6797 # - CVE-2020-6798 # - CVE-2020-6799 - +# 68.6.0-r0: +# - CVE-2019-20503 +# - CVE-2020-6805 +# - CVE-2020-6806 +# - CVE-2020-6807 +# - CVE-2020-6811 +# - CVE-2020-6812 +# - CVE-2020-6814 +# 68.7.0-r0: +# - CVE-2020-6819 +# - CVE-2020-6820 +# - CVE-2020-6821 +# - CVE-2020-6822 +# - CVE-2020-6825 +# 68.8.0-r0: +# - CVE-2020-6831 +# - CVE-2020-12387 +# - CVE-2020-12392 +# - CVE-2020-12395 +# 68.9.0-r0: +# - CVE-2020-12399 +# - CVE-2020-12405 +# - CVE-2020-12406 +# - CVE-2020-12410 unpack() { default_unpack @@ -222,7 +246,7 @@ package() { EOF } -sha512sums="0acf4ecd47bccf062ab330231e36355f5d84e66ab411f653ae3160583613840925bb473c0f7dfa4b15311a543940293c4633516851c9466c4b0133c9271710d3 firefox-68.5.0esr.source.tar.xz +sha512sums="98431800d80f7c680aef9eede29df8217810912a319a7f7f8c2e637c43ecd4f4e29223a417afb2a6315e825f979453ff6e6b5a575649aba5cc63ce5956375bb8 firefox-68.9.0esr.source.tar.xz 16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 Python-2.7.16.tar.xz f82758d279cd12a1b30a9b36ac3c265cfb137df3db7ae185f2c538504e46fa70ace1b051fce847356851062b5cc9cd741a6d33d54f8cd103aa0c8272cb19ccc4 mozconfig ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch @@ -233,7 +257,8 @@ de8e3b15cd7dffb0eca5a729434986e5916234914cdc5fdcdbbc67d8bb439a535ed932293518dd74 e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch 06a3f4ee6d3726adf3460952fcbaaf24bb15ef8d15b3357fdd1766c7a62b00bd53a1e943b5df7f4e1a69f4fae0d44b64fae1e027d7812499c77894975969ea10 ppc32-fix.patch 7c615703dc9b8427eeadd13bc9beda02e1c3d986cac1167feaf48fdfdcc15b7456460d4d58f301054cf459242ee75bbcd76bf67e26c2a443bc5655975d24ca1b rust-32bit.patch -45613d476e85fe333ef8091acce4806803953c1a99de4f03ff577cf20c5a1a3d635d0589e1490da104ef80721f4f1b1d35045af3c6892c1a468fa84095f27ad8 rust-config.patch +efc77a320850e10e8b99e6fb5d3dd28a3044e287fd87efbdf95807de26a6885235b2d994743cb374345d91a0353abd70a5790b829e37b717b77605e24d4f7f98 seccomp-musl.patch +4b20dfa3ef3d470af069a274c53ea35c67d2d123f1b543ee243e7038ed94f5a1a6121f1f67713a9442e246b979c042f11efc7a6c32d0b8d3fd2c448dd1258733 seccomp-time64.patch 39ddb15d1453a8412275c36fc8db3befc69dffd4a362e932d280fb7fd1190db595a2af9b468ee49e0714f5e9df6e48eb5794122a64fa9f30d689de8693acbb15 shut-up-warning.patch e751ffab263f03d4c74feebc617e3af115b1b53cf54fe16c3acc585eec67773f37aa8de4c19599fa6478179b01439025112ef2b759aa9923c9900e7081cb65a9 skia-sucks1.patch 9152bd3e6dc446337e6a2ed602279c620aedecc796ba28e777854c4f41fcf3067f9ebd086a4b63a6b76c2e69ec599ac6435b8eeda4f7488b1c45f69113facba4 skia-sucks2.patch diff --git a/user/firefox-esr/rust-config.patch b/user/firefox-esr/rust-config.patch deleted file mode 100644 index eab72a0e4..000000000 --- a/user/firefox-esr/rust-config.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -urw firefox-68.0-old/build/moz.configure/rust.configure firefox-68.0/build/moz.configure/rust.configure ---- firefox-68.0-old/build/moz.configure/rust.configure 2019-07-07 15:56:29.345963800 +0000 -+++ firefox-68.0/build/moz.configure/rust.configure 2019-07-07 16:19:25.990645334 +0000 -@@ -193,12 +193,16 @@ - ambiguous = set() - per_raw_os = {} - for t in out: -+ if 'fuchsia' in t: continue - t = split_triplet(t, allow_unknown=True) - endianness = t.endianness - if t.cpu.startswith('thumb') and endianness not in ('big', 'little'): - endianness = 'little' - key = (t.cpu, endianness, t.os) - if key in per_os: -+ # hax to allow Adélie toolchains to work -+ if 'foxkit' in per_os[key].alias: -+ continue - previous = per_os[key] - per_raw_os[(previous.cpu, previous.endianness, - previous.raw_os)] = previous diff --git a/user/firefox-esr/seccomp-musl.patch b/user/firefox-esr/seccomp-musl.patch new file mode 100644 index 000000000..edd4a3024 --- /dev/null +++ b/user/firefox-esr/seccomp-musl.patch @@ -0,0 +1,49 @@ +Backport of https://hg.mozilla.org/mozilla-central/rev/a0be746532f437055e4190cc8db802ad1239405e + +diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp +--- a/security/sandbox/linux/SandboxFilter.cpp ++++ b/security/sandbox/linux/SandboxFilter.cpp +@@ -419,16 +419,20 @@ class SandboxPolicyCommon : public Sandb + case __NR_faccessat: + return Trap(AccessAtTrap, mBroker); + CASES_FOR_stat: + return Trap(StatTrap, mBroker); + CASES_FOR_lstat: + return Trap(LStatTrap, mBroker); + CASES_FOR_fstatat: + return Trap(StatAtTrap, mBroker); ++ // Used by new libc and Rust's stdlib, if available. ++ // We don't have broker support yet so claim it does not exist. ++ case __NR_statx: ++ return Error(ENOSYS); + case __NR_chmod: + return Trap(ChmodTrap, mBroker); + case __NR_link: + return Trap(LinkTrap, mBroker); + case __NR_mkdir: + return Trap(MkdirTrap, mBroker); + case __NR_symlink: + return Trap(SymlinkTrap, mBroker); +@@ -538,16 +542,20 @@ class SandboxPolicyCommon : public Sandb + .ElseIf(advice == MADV_HUGEPAGE, Allow()) + .ElseIf(advice == MADV_NOHUGEPAGE, Allow()) + #ifdef MOZ_ASAN + .ElseIf(advice == MADV_DONTDUMP, Allow()) + #endif + .Else(InvalidSyscall()); + } + ++ // musl libc will set this up in pthreads support. ++ case __NR_membarrier: ++ return Allow(); ++ + // Signal handling + #if defined(ANDROID) || defined(MOZ_ASAN) + case __NR_sigaltstack: + #endif + CASES_FOR_sigreturn: + CASES_FOR_sigprocmask: + CASES_FOR_sigaction: + return Allow(); + + diff --git a/user/firefox-esr/seccomp-time64.patch b/user/firefox-esr/seccomp-time64.patch new file mode 100644 index 000000000..72cc28b5d --- /dev/null +++ b/user/firefox-esr/seccomp-time64.patch @@ -0,0 +1,112 @@ +This drops the use of the chromium sandbox syscall headers which were +defining syscall numbers if they were undefined. This masked the time64 +issue initially since while musl renamed several of the time32 syscall +numbers to catch breakage like this, these headers were silently +bringing them back. I did this by comparing the syscall numbers provided +by the chromium and musl headers and redefining the generic names to +their time64 counterparts. + +For gettimeofday and settimeofday there does not appear to be a time64 +counterpart so I have defined them as the time32 versions. For +settimeofday this should not matter (the seccomp filter will block this +by virture of not being on the whitelist - no content process needs to +set the time anyway). + +It is not possible to entirely block the usage of time32 syscalls +because musl uses them internally when it can or in fallback paths. + +I did not check the MIPS headers since we don't currently ship a MIPS +port, so in the future those includes should be examined and dropped +too... + +--- firefox-68.8.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_syscalls.h 2020-04-29 16:49:45.000000000 -0500 ++++ firefox-68.8.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_syscalls.h 2020-05-20 03:09:47.369457646 -0500 +@@ -8,18 +8,7 @@ + + #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_ + #define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_ +- +-#if defined(__x86_64__) +-#include "sandbox/linux/system_headers/x86_64_linux_syscalls.h" +-#endif +- +-#if defined(__i386__) +-#include "sandbox/linux/system_headers/x86_32_linux_syscalls.h" +-#endif +- +-#if defined(__arm__) && defined(__ARM_EABI__) +-#include "sandbox/linux/system_headers/arm_linux_syscalls.h" +-#endif ++#include <sys/syscall.h> + + #if defined(__mips__) && (_MIPS_SIM == _ABIO32) + #include "sandbox/linux/system_headers/mips_linux_syscalls.h" +@@ -33,5 +22,36 @@ + #include "sandbox/linux/system_headers/arm64_linux_syscalls.h" + #endif + ++#if !defined(__NR_clock_getres) && defined(__NR_clock_getres_time64) ++#define __NR_clock_getres __NR_clock_getres_time64 ++#endif ++#if !defined(__NR_clock_gettime) && defined(__NR_clock_gettime64) ++#define __NR_clock_gettime __NR_clock_gettime64 ++#endif ++#if !defined(__NR_clock_nanosleep) && defined(__NR_clock_nanosleep_time64) ++#define __NR_clock_nanosleep __NR_clock_nanosleep_time64 ++#endif ++#if !defined(__NR_clock_settime) && defined(__NR_clock_settime64) ++#define __NR_clock_settime __NR_clock_settime64 ++#endif ++#if !defined(__NR_gettimeofday) && defined(__NR_gettimeofday_time32) ++#define __NR_gettimeofday __NR_gettimeofday_time32 ++#endif ++#if !defined(__NR_settimeofday) && defined(__NR_settimeofday_time32) ++#define __NR_settimeofday __NR_settimeofday_time32 ++#endif ++#if !defined(__NR_timer_gettime) && defined(__NR_timer_gettime64) ++#define __NR_timer_gettime __NR_timer_gettime64 ++#endif ++#if !defined(__NR_timer_settime) && defined(__NR_timer_settime64) ++#define __NR_timer_settime __NR_timer_settime64 ++#endif ++#if !defined(__NR_timerfd_gettime) && defined(__NR_timerfd_gettime64) ++#define __NR_timerfd_gettime __NR_timerfd_gettime64 ++#endif ++#if !defined(__NR_timerfd_settime) && defined(__NR_timerfd_settime64) ++#define __NR_timerfd_settime __NR_timerfd_settime64 ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_ + +--- firefox-68.8.0/security/sandbox/linux/SandboxFilter.cpp 2020-04-29 16:49:45.000000000 -0500 ++++ firefox-68.8.0/security/sandbox/linux/SandboxFilter.cpp 2020-05-19 23:33:27.829642593 -0500 +@@ -478,6 +478,9 @@ class SandboxPolicyCommon : public Sandb + + // Thread synchronization + case __NR_futex: ++#ifdef __NR_futex_time64 ++ case __NR_futex_time64: ++#endif + // FIXME: This could be more restrictive.... + return Allow(); + +@@ -488,6 +491,9 @@ class SandboxPolicyCommon : public Sandb + case __NR_epoll_pwait: + case __NR_epoll_ctl: + case __NR_ppoll: ++#ifdef __NR_ppoll_time64 ++ case __NR_ppoll_time64: ++#endif + case __NR_poll: + return Allow(); + +@@ -1017,6 +1023,9 @@ class ContentSandboxPolicy : public Sand + + CASES_FOR_select: + case __NR_pselect6: ++#ifdef __NR_pselect6_time64 ++ case __NR_pselect6_time64: ++#endif + return Allow(); + + CASES_FOR_getdents: diff --git a/user/fuse3/APKBUILD b/user/fuse3/APKBUILD index 821be29db..14cafec71 100644 --- a/user/fuse3/APKBUILD +++ b/user/fuse3/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=fuse3 _pkgname=fuse -pkgver=3.9.0 +pkgver=3.9.1 pkgrel=0 pkgdesc="The reference implementation of the Linux FUSE (Filesystem in Userspace) interface" url="https://github.com/libfuse/libfuse" @@ -26,18 +26,26 @@ builddir="$srcdir/$_pkgname-$pkgver" # - CVE-2018-10906 build() { + # The examples are required for the tests to work, and aren't + # otherwise installed + meson \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --localstatedir=/var \ --buildtype=release \ - -Dexamples=false \ + -Dexamples=true \ . output ninja -C output } check() { + # Recommended procedure: + # 1. modprobe fuse + # 2. chown root and chmod u+s $builddir/output/util/fusermount3 + # 3. abuild check + cd "$builddir"/output python3 -m pytest test/ } @@ -72,6 +80,6 @@ openrc() { install_if="openrc fuse-common=$pkgver-r$pkgrel" } -sha512sums="0c96df5db4d0ceb7885ddb6f6c05b523ee7e179f8f411ad0614caecb9fa0f5fd682ab9bf4dfdaa3aff9d90c18b8947a122ee376328535e49fa6091d784aa0cb7 fuse-3.9.0.tar.xz +sha512sums="295bb62274264789c977a1fee78c6c122a2f227ae85d750b8519cafbdcf6551499b77cf021d83cc8261831e29761c166d84a4e50bdebb4191c76bcad1d15d329 fuse-3.9.1.tar.xz 1a9e1d1e8a7b0778ffde328e4322c73b5d57ec98d52767c846d755cce861ab27989823a75b6c5f994432ddb77fa351dfa4a8f948c9467c5f7d5f471e4608358b fix-realpath.patch 7f6a503ef23cfa8b809c544375c2d83ad56525269b48ad1a7dff0ce36f4bf2f2a3fafed9dc70a71ff6281b261db5f01829e16c06f041921a5d8c8d715a04a8c1 fuse.initd" diff --git a/user/garcon/APKBUILD b/user/garcon/APKBUILD index 476a1ecf5..0c452a7a9 100644 --- a/user/garcon/APKBUILD +++ b/user/garcon/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=garcon -pkgver=0.6.4 +pkgver=0.7.0 pkgrel=0 pkgdesc="freedesktop.org menu library for the XFCE desktop environment" url="https://xfce.org" @@ -11,7 +11,7 @@ depends="" makedepends="intltool glib-dev libxfce4util-dev gtk+3.0-dev libxfce4util-dev libxfce4ui-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://archive.xfce.org/src/xfce/garcon/0.6/garcon-$pkgver.tar.bz2" +source="https://archive.xfce.org/src/xfce/garcon/${pkgver%.*}/garcon-$pkgver.tar.bz2" build() { LIBS="-lintl" ./configure \ @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="96a99eb163909ba411ca5928c3fc0a569a6d833fba92edcfa845eb90b56abb02e1428a2cbf61fc1c564f1659d51b24ce174e3864fcc987a37158703df0ac2510 garcon-0.6.4.tar.bz2" +sha512sums="e865f68fe595bbc22d023d72ce4663c75e837a6789eb2158747e2cb7420ea2bba06dfd660e1de20675b9f9057cb2a9c1dc24221de8be93882e9b29bffb1fce37 garcon-0.7.0.tar.bz2" diff --git a/legacy/glfw/APKBUILD b/user/glfw/APKBUILD index ab55f9771..ab55f9771 100644 --- a/legacy/glfw/APKBUILD +++ b/user/glfw/APKBUILD diff --git a/user/glibmm/APKBUILD b/user/glibmm/APKBUILD index f499efc9d..e404babdc 100644 --- a/user/glibmm/APKBUILD +++ b/user/glibmm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=glibmm -pkgver=2.62.0 +pkgver=2.64.2 pkgrel=0 pkgdesc="C++ interfaces for glib" url="https://gnome.org" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f26fca5724c17d915480556b6918ae6e4999c14a25e7623cda3d37a59d6965310fc2b2d8a8500a849f1d0f00fd2d326eeddc690207846d38a13ae695ad0805de glibmm-2.62.0.tar.xz" +sha512sums="0130af9a16981a54630150db6f4b1a95458d72d650c5e4781ee97ce624ec98c600b79ebf234d212e025781453fd11d78b9e8273235ffa143397423418fe970cc glibmm-2.64.2.tar.xz" diff --git a/user/gmime/APKBUILD b/user/gmime/APKBUILD index 659a0d1b1..cad989ef8 100644 --- a/user/gmime/APKBUILD +++ b/user/gmime/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Luis Ressel <aranea@aixah.de> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gmime -pkgver=3.2.6 +pkgver=3.2.7 pkgrel=0 pkgdesc="MIME utility library" url="https://developer.gnome.org/gmime/" @@ -42,5 +42,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a60d3f9f1aa8490865c22cd9539544e9c9f3ceb4037b9749cf9e5c279f97aa88fc4cd077bf2aff314ba0db2a1b7bbe76f9b1ca5a17fffcbd6315ecebc5414a3d gmime-3.2.6.tar.xz +sha512sums="2c8fecd6eb74c9e956c419ce111bef6280916ea3756a534b6b800a273f0fff260717cda7fefd4bd4c6ddb27973112ec6e73fa971fa74bb9aa04cfe587d45f10b gmime-3.2.7.tar.xz 443e768e15eb25116368739957ac31a30cd10a921c113b76af1a0baf0c690ca1346463577289d24ce8f46deb014dd014040033bc1f3d02d8a2190c70dd4c2a74 3.2.3-broken-tests.patch" diff --git a/user/gvim/APKBUILD b/user/gvim/APKBUILD index f54b81265..af6b363ae 100644 --- a/user/gvim/APKBUILD +++ b/user/gvim/APKBUILD @@ -5,7 +5,7 @@ # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=gvim _pkgreal=vim -pkgver=8.2.0255 +pkgver=8.2.0529 pkgrel=0 pkgdesc="advanced text editor" url="http://www.vim.org" @@ -71,4 +71,4 @@ package() { ln -s gvim rgvim } -sha512sums="347df5903c95753610eb48c85696d47df5fbfe1179544b4220cd3430dd228810d2639466ef4beaacf91b7ebf0ec9f7e029963af1f2a6b69b1d4bbff33d2db1bb vim-8.2.0255.tar.gz" +sha512sums="73cd3eb1522189f603c65ef1e80c0d1c860ce7332817967ab289aa8f2fdf376235fc9c30af53a66164cfe83a882b55003b4073b27852061295ca9b5fe203501d vim-8.2.0529.tar.gz" diff --git a/user/horizon/APKBUILD b/user/horizon/APKBUILD new file mode 100644 index 000000000..6c3278bc1 --- /dev/null +++ b/user/horizon/APKBUILD @@ -0,0 +1,136 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=horizon +pkgver=0.9.2 +pkgrel=0 +pkgdesc="Installation tools for Adélie Linux" +url="https://horizon.adelielinux.org/" +arch="all" +options="!archcheck !check" # Unpackaged dependency ruby-aruba. +license="AGPL-3.0+" +depends="" +checkdepends="ruby-aruba ruby-rspec valgrind" +# Second group is the Qt5 UI deps. +makedepends="bcnm-dev boost-dev cmake curl-dev eudev-dev libarchive-dev + linux-headers parted-dev skalibs-dev util-linux-dev + + libcap-dev libx11-dev libxkbfile-dev qt5-qtbase-dev" +subpackages="$pkgname-image $pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-qt5 + $pkgname-tools $pkgname-wizard $pkgname-boot" +source="https://distfiles.adelielinux.org/source/horizon-$pkgver.tar.xz" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_TOOLS=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DINSTALL=ON \ + ${CMAKE_CROSSOPTS} \ + -Bbuild + make -C build + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=False \ + -DBUILD_TOOLS=OFF \ + -DBUILD_UI=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DINSTALL=OFF \ + ${CMAKE_CROSSOPTS} \ + -Bbuild-wizard + make -C build-wizard +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE make -C build test +} + +package() { + make DESTDIR="$pkgdir" -C build install +} + +image() { + pkgdesc="Tools for generating images using HorizonScript" + depends="mtools" + mkdir -p "$subpkgdir"/usr/bin + mkdir -p "$subpkgdir"/usr/lib + mkdir -p "$subpkgdir"/usr/share/horizon + + mv "$pkgdir"/usr/bin/hscript-image "$subpkgdir"/usr/bin/ + mv "$pkgdir"/usr/lib/libhi-backends.so "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/horizon/iso "$subpkgdir"/usr/share/horizon/ +} + +qt5() { + pkgdesc="Qt 5 installation wizard for Adélie Linux" + depends="horizon" + mkdir -p "$subpkgdir"/etc/horizon + mkdir -p "$subpkgdir"/usr/bin + mkdir -p "$subpkgdir"/var/log/horizon + + for _bin in horizon-ppc64-detect horizon-qt5 horizon-run-qt5; do + mv "$pkgdir"/usr/bin/$_bin "$subpkgdir"/usr/bin/ + done +} + +tools() { + pkgdesc="Tools for authoring HorizonScript files" + mkdir -p "$subpkgdir"/usr/bin + + for _bin in hscript-fromjson hscript-simulate hscript-validate; do + mv "$pkgdir"/usr/bin/$_bin "$subpkgdir"/usr/bin/ + done +} + +wizard() { + pkgdesc="Wizard to generate a HorizonScript for another computer" + + make DESTDIR="$subpkgdir" -C "$builddir"/build-wizard install + rm -r "$subpkgdir"/usr/include + rm -r "$subpkgdir"/usr/lib + rm -r "$subpkgdir"/usr/share +} + +boot() { + pkgdesc="Boot to Horizon" + depends="horizon-qt5 horizon kwin qt5ct sddm + netsurf partitionmanager xterm" + + mkdir -p "$subpkgdir"/etc/profile.d + mkdir -p "$subpkgdir"/etc/sddm.conf.d + mkdir -p "$subpkgdir"/etc/xdg/qt5ct + mkdir -p "$subpkgdir"/usr/bin + mkdir -p "$subpkgdir"/usr/share/qt5ct/qss + mkdir -p "$subpkgdir"/usr/share/xsessions + + cat >"$subpkgdir"/etc/profile.d/horizon-qt5.sh <<PROFILE +#!/bin/sh +export QT_QUICK_BACKEND=software +export QT_QPA_PLATFORMTHEME=qt5ct +PROFILE + chmod 755 "$subpkgdir"/etc/profile.d/horizon-qt5.sh + + install -D -m644 "$builddir"/boot/horizon.sddm.conf \ + "$subpkgdir"/etc/sddm.conf.d/horizon.conf + + install -D -m755 "$builddir"/boot/start-horizon-qt5 \ + "$subpkgdir"/usr/bin/start-horizon-qt5 + + install -D -m644 "$builddir"/boot/qt5ct.conf \ + "$subpkgdir"/etc/xdg/qt5ct/qt5ct.conf + install -D -m644 "$builddir"/boot/horizon.qss \ + "$subpkgdir"/usr/share/qt5ct/qss/horizon.qss + + install -D -m644 "$builddir"/boot/horizon-session.desktop \ + "$subpkgdir"/usr/share/xsessions/horizon.desktop +} + +sha512sums="ef7ad97508dd70bd8d179e844c8d619ff9802fbb4812bddd677fe5ed945cadad416667995a4a358dfe9b426b9c40f9b847ce5aa11e44357b7952fecbc37184fc horizon-0.9.2.tar.xz" diff --git a/user/horizon/fix-qt-runner.patch b/user/horizon/fix-qt-runner.patch new file mode 100644 index 000000000..39cab1181 --- /dev/null +++ b/user/horizon/fix-qt-runner.patch @@ -0,0 +1,25 @@ +From 9f737dbab8b9ed9fa57bdf15542cc00a8363d98b Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Thu, 4 Jun 2020 21:29:37 -0500 +Subject: [PATCH] Qt UI: Ensure log is opened when built in release modes + +--- + ui/qt5/runner/executepage.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ui/qt5/runner/executepage.cc b/ui/qt5/runner/executepage.cc +index 999731a..d5788df 100644 +--- a/ui/qt5/runner/executepage.cc ++++ b/ui/qt5/runner/executepage.cc +@@ -48,7 +48,7 @@ ExecutePage::ExecutePage(QWidget *parent) : HorizonWizardPage(parent) { + }); + + log.setFileName("/var/log/horizon/executor.log"); +- Q_ASSERT(log.open(QFile::Append)); ++ log.open(QFile::Append); + + this->current = Prepare; + markRunning(this->current); +-- +2.25.4 + diff --git a/user/hwids/APKBUILD b/user/hwids/APKBUILD index 17760d3c6..183bda57d 100644 --- a/user/hwids/APKBUILD +++ b/user/hwids/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=hwids -pkgver=20200204 +pkgver=20200306 pkgrel=0 pkgdesc="Hardware identification databases" url="https://github.com/gentoo/hwids/" @@ -25,7 +25,6 @@ package() { } _mv() { - local _file pkgdesc="$pkgdesc ($1)" shift depends="" @@ -65,4 +64,4 @@ udev() { mv "$pkgdir"/etc "$subpkgdir"/ } -sha512sums="1d2a9baaa7ab64575a3d9b98ae4df9060cb8593ae752365296dd53b18bc5996170bbfe1c5b4b1ffc24b28e3dbaa7c321c4fa333bbf91449a6ca7b187cbe23741 hwids-20200204.tar.gz" +sha512sums="eff1d2783925ca459b387fbaa5cf68a98aa4209ab8509ad92a902b4d02cc7f4a47e5506c2beed4c792d24a8ab636ad77b376a92b59ae4f605d1b5258350ff250 hwids-20200306.tar.gz" diff --git a/user/icewm/APKBUILD b/user/icewm/APKBUILD index 0149ef2d6..51804b714 100644 --- a/user/icewm/APKBUILD +++ b/user/icewm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=icewm -pkgver=1.6.4 +pkgver=1.6.5 pkgrel=0 pkgdesc="A window manager designed for speed, usability, and consistency" url="https://github.com/bbidulock/icewm" @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6a8c3b2e561c4471759b0566a4c5dc390f4abd6f266ab738a80a21445dffe9f45b24eca898507ff7c9b84ea12331262b81967b5a76be0b19e737842a66bcb000 icewm-1.6.4.tar.lz" +sha512sums="7914031fa2df42ed337aa9c65c04f959746210c255dc799361b636042f1614949e1f9a3b9a2357fe39f469f2ed9a75d4c916c7b4c3e61c7b7ab6dc2cf9d3d9be icewm-1.6.5.tar.lz" diff --git a/user/ipmiutil/APKBUILD b/user/ipmiutil/APKBUILD index 56172ac63..914a43491 100644 --- a/user/ipmiutil/APKBUILD +++ b/user/ipmiutil/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=ipmiutil -pkgver=3.1.5 +pkgver=3.1.6 pkgrel=0 pkgdesc="IPMI Management Utilities" url="http://ipmiutil.sourceforge.net/" @@ -40,5 +40,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a9bd4d99d5bcad8a9f64c3636d6774d09e1d4c20927a6803891777ba035ee3c114b06295185cf00fb0c5d4b4b9afd335fd19c06f64298130e42945dc5f6e8010 ipmiutil-3.1.5.tar.gz +sha512sums="9bccfa2e0bba7f30e422d67f93ee6cff50c08cc8bceab5ba5bfd1b0a91e1af8a4a98a2eaa81364e8a1f38e0bd1ce6b99717d86957c6f689aa7329e7013f5b0ef ipmiutil-3.1.6.tar.gz 74e8951bccd004f765b99de87dc5f04834e594b3e14ba885148fb971eaf15164ccac2de880e409f201a38cba5c0948a0fabc04e1e34fb396f50b1ecddb6b305b ipmiutil-3.0.7-fix-sha256.patch" diff --git a/user/kactivitymanagerd/APKBUILD b/user/kactivitymanagerd/APKBUILD index bbcd6f519..ce56755c7 100644 --- a/user/kactivitymanagerd/APKBUILD +++ b/user/kactivitymanagerd/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kactivitymanagerd -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Service to manage KDE Plasma activities" url="https://www.kde.org/" @@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kdbusaddons-dev ki18n-dev boost-dev python3 kconfig-dev kcoreaddons-dev kwindowsystem-dev kio-dev kglobalaccel-dev kxmlgui-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/kactivitymanagerd-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kactivitymanagerd-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -37,4 +37,4 @@ package() { make -C build DESTDIR="$pkgdir" install } -sha512sums="3e387114cb4245357d8c7a042077b9591de1743a89efdeb0199ff354d67670d5021bca69bcb70679ea5f9f61ba95aed209370f98c48ce3c7f051b7f9dd9a55b3 kactivitymanagerd-5.18.2.tar.xz" +sha512sums="b3231305643247fa82f267ac942878136f1710faf1fe3b084efad25e8a3fb124ebbab5cf88251dd54d8e8bbbf3ac31088b25bf8047307adef95b5d40c8175ee0 kactivitymanagerd-5.18.4.1.tar.xz" diff --git a/user/kde-cli-tools/APKBUILD b/user/kde-cli-tools/APKBUILD index 3688e24c9..02419dc38 100644 --- a/user/kde-cli-tools/APKBUILD +++ b/user/kde-cli-tools/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kde-cli-tools -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE command-like utilities" url="https://www.kde.org/" @@ -15,7 +15,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kdeclarative-dev kdesu-dev kdoctools-dev ki18n-dev kiconthemes-dev kinit-dev kio-dev kservice-dev kwindowsystem-dev libkworkspace-dev" subpackages="$pkgname-lang $pkgname-doc" -source="https://download.kde.org/stable/plasma/$pkgver/kde-cli-tools-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kde-cli-tools-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d87cec3a791f2fc17533bac3901a578df842d110afc0c9ce85e02e50d401a909beff4f16d144f3e79c0a7b4e308e2a4ed40359629a833ffe8b7bc179771c0f12 kde-cli-tools-5.18.2.tar.xz" +sha512sums="9cf32f4b87b1cf45f9e034c9929ed38a39de989c36cc0118d4f544fbb9ceb4b9419d2d518165a1c2d0b0dca4ec20f063f771dad4859bb6df1975afaa6388412e kde-cli-tools-5.18.4.1.tar.xz" diff --git a/user/kde-gtk-config/APKBUILD b/user/kde-gtk-config/APKBUILD index be224072d..c6e951067 100644 --- a/user/kde-gtk-config/APKBUILD +++ b/user/kde-gtk-config/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kde-gtk-config -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE System Settings panel for configuring GTK+ application styles" url="https://www.kde.org/" @@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev gtk+2.0-dev gtk+3.0-dev karchive-dev kcmutils-dev kconfigwidgets-dev ki18n-dev kiconthemes-dev kio-dev knewstuff-dev gsettings-desktop-schemas-dev" subpackages="" -source="https://download.kde.org/stable/plasma/$pkgver/kde-gtk-config-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kde-gtk-config-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="950be06b4aee8d51c21b60a9b698426dd3444a63edff92e1dec0fc62269fcd1054cbebb602e5b26e84399959038f26a221590ebf084a6118bb6a84cde78d6083 kde-gtk-config-5.18.2.tar.xz" +sha512sums="9a6ba26c4d0b4936fcdc8a32a8d0e48294757a3315de38bba64bbeaed2d23a0ccf117d54208af502f30e5d5878a4a925a84c061adf23741d5f64db539efa2737 kde-gtk-config-5.18.4.1.tar.xz" diff --git a/user/kdecoration/APKBUILD b/user/kdecoration/APKBUILD index 58585fbdf..6dc6957d9 100644 --- a/user/kdecoration/APKBUILD +++ b/user/kdecoration/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kdecoration -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Window decoration plugin library" url="https://www.kde.org/" @@ -12,7 +12,7 @@ depends="" depends_dev="qt5-qtbase-dev" makedepends="$depends_dev cmake extra-cmake-modules ki18n-dev" subpackages="$pkgname-dev $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/kdecoration-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kdecoration-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="b7408a3c57951d6038c1a603bfe34093a95848b7fa341352a19ead272c8e9241876138321b135c1ee6461b4bdfcc10a8606f2650cf2444733ba2038dae105462 kdecoration-5.18.2.tar.xz" +sha512sums="32ba5c14b8b11a9874131405f0cddcec8eec634afd016cb8454a0247ccef55a8411a718e1d3eccc5f23efedafa0a1d32a62e0dc9b20ce9133a09e23f4c6739e1 kdecoration-5.18.4.1.tar.xz" diff --git a/user/kdeplasma-addons/APKBUILD b/user/kdeplasma-addons/APKBUILD index 87073b883..1d40d7213 100644 --- a/user/kdeplasma-addons/APKBUILD +++ b/user/kdeplasma-addons/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kdeplasma-addons -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Extra applets and toys for KDE Plasma" url="https://www.kde.org/" @@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtdeclarative-dev kross-dev krunner-dev kservice-dev kunitconversion-dev kholidays-dev plasma-framework-dev plasma-workspace-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/kdeplasma-addons-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kdeplasma-addons-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -41,4 +41,4 @@ package() { make -C build DESTDIR="$pkgdir" install } -sha512sums="ae20b08ac7624dbad78d4bc30086a115bcd8d97c59c67452902afa63d3288f896b760ca7ef54e53f06f4cd14edacf5603f33842ebd25517dad775f24389cd8b2 kdeplasma-addons-5.18.2.tar.xz" +sha512sums="1ec38e56b132e1d774973d2a8a758bfc88de01c96a11e95507bfebb4c5fcce35c6f9e446fabf5e9754678232d31ee95d8470340f7d5c861960ceca81b20b45ee kdeplasma-addons-5.18.4.1.tar.xz" diff --git a/user/kdiagram/APKBUILD b/user/kdiagram/APKBUILD index 5c5b7e882..6fbff8e0a 100644 --- a/user/kdiagram/APKBUILD +++ b/user/kdiagram/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kdiagram -pkgver=2.6.1 +pkgver=2.6.2 pkgrel=0 pkgdesc="Charting libraries used by KDE" url="https://www.kde.org/" @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="caa1f6f8bffb4b311224edfed115f189fa9c88e4b9d8bc9d4b7bc963c6b8c896813b438ad89fa9e91e4cde2f55ae822cfc7ba559bbdad517c60a037591dc5128 kdiagram-2.6.1.tar.xz" +sha512sums="008688e76e30b933576523e2204b029ce2a5f5d232002d481c7c49f4ad2955b3f46cbe4b51a046a771130f3584225127b21df30efc042cddc9440f81ea8f495a kdiagram-2.6.2.tar.xz" diff --git a/user/keepassxc/APKBUILD b/user/keepassxc/APKBUILD index 739ee75db..4aa4ecff3 100644 --- a/user/keepassxc/APKBUILD +++ b/user/keepassxc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Max Rees <maxcrees@me.com> # Maintainer: Max Rees <maxcrees@me.com> pkgname=keepassxc -pkgver=2.4.3 +pkgver=2.5.3 pkgrel=0 pkgdesc="A community revival of the KeePassX password manager" url="https://keepassxc.org" @@ -19,6 +19,9 @@ build() { -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=/usr/lib \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DWITH_XC_BROWSER=bool:ON \ + -DWITH_XC_FDOSECRETS=bool:ON \ + -DWITH_XC_SSHAGENT=bool:ON \ -Bbuild make -C build } @@ -31,4 +34,4 @@ package() { make DESTDIR="$pkgdir" -C build install } -sha512sums="893f1d18ab8051143d29c568ba87adcc42a13d28d0c3a7af04396cd91d6724f8a98d76d2e20ca15138c4642ec060d48b9e957857251f3a0df6066af08cd0765d keepassxc-2.4.3-src.tar.xz" +sha512sums="8b1e3360b4ae5de170be6936291f7b309de09b2462fcd5a48f239c22f1c8b6ffe721aca8d1e9b6ae3881f7b16374850d7f4b809733244fd16d45eed6ad4f60c6 keepassxc-2.5.3-src.tar.xz" diff --git a/user/kgamma5/APKBUILD b/user/kgamma5/APKBUILD index 33b326b0a..f033c706a 100644 --- a/user/kgamma5/APKBUILD +++ b/user/kgamma5/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kgamma5 -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Control monitor gamma from KDE 5" url="https://www.KDE.org/" @@ -11,7 +11,7 @@ depends="" makedepends="cmake extra-cmake-modules qt5-qtbase-dev kconfig-dev kconfigwidgets-dev kdoctools-dev ki18n-dev" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/kgamma5-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kgamma5-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -36,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2a5a470f55a0d68c6083725ce157039c9965c0262ceb0b34a67269eca696110191d4c5dce11be16944e86eb03df7b11d2162953b40b682ea55d5fef29091eab2 kgamma5-5.18.2.tar.xz" +sha512sums="5ad1154a84568d0cfa7640f028f9059e5b9f09f1104990ef21d06fb7fdc3d74ba7c6fafcaaff7b4f303682bf521f10db76849b131f9a020a2b8d354b5e1160a5 kgamma5-5.18.4.1.tar.xz" diff --git a/user/khotkeys/APKBUILD b/user/khotkeys/APKBUILD index 0eacef73e..e9aee7205 100644 --- a/user/khotkeys/APKBUILD +++ b/user/khotkeys/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=khotkeys -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Hot key mapping for KDE Plasma 5" url="https://www.KDE.org/" @@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kcmutils-dev libx11-dev kdbusaddons-dev kdelibs4support-dev kglobalaccel-dev ki18n-dev kio-dev kxmlgui-dev libice-dev libkworkspace-dev plasma-framework-dev" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/khotkeys-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/khotkeys-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="5acf66cf3bc7fb3c9ea5bda5e7af9af04883d7e00b82d66357bbc7651d279e9a7f280d94cce7da8427df9377c8161332676333f3ae8d38ef11f0ccf25b2cbb80 khotkeys-5.18.2.tar.xz" +sha512sums="9c290c75caf175e66b69f182cb81348d0926b03dd569533dd6da380c299d416fd42f06d6c18fc6791c913e31f955c9adc98c20215442d7d93561b9bdb278e36d khotkeys-5.18.4.1.tar.xz" diff --git a/user/kinfocenter/APKBUILD b/user/kinfocenter/APKBUILD index c0d3c7dcd..c015c7713 100644 --- a/user/kinfocenter/APKBUILD +++ b/user/kinfocenter/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kinfocenter -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Information about the running computer" url="https://userbase.kde.org/KInfoCenter" @@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kcompletion-dev ki18n-dev kservice-dev solid-dev kwidgetsaddons-dev kxmlgui-dev kdeclarative-dev kpackage-dev libraw1394-dev pciutils-dev" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/kinfocenter-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kinfocenter-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="de8786eba290778af51eed8335a7026f06fac809a913b340321739b0e815e37c19b91b544c86054aedf835d6316d8b897547e9bdd3fa823a5d1e9c5e2439067e kinfocenter-5.18.2.tar.xz" +sha512sums="6b7c5c4c755afdc3c04ca15f6a958cf541d33b03c731fa77a5cf99fa015d0e35a00016ab7f21b6b1f30afd7c423dc4fdde03557645b040d325509a6ae8c44dcb kinfocenter-5.18.4.1.tar.xz" diff --git a/user/kmenuedit/APKBUILD b/user/kmenuedit/APKBUILD index 2e66d85df..0c3734bbb 100644 --- a/user/kmenuedit/APKBUILD +++ b/user/kmenuedit/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kmenuedit -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Menu editor for Plasma 5" url="https://www.KDE.org/" @@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kdbusaddons-dev ki18n-dev kiconthemes-dev kglobalaccel-dev kinit-dev kio-dev kitemviews-dev kxmlgui-dev sonnet-dev kdoctools-dev" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/kmenuedit-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kmenuedit-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2b38ff3ae5a05125d08e27a6591d424035fede907c2cb21b95b4c9f5aa24174367ff00b123d015448d2871a82c95c8bef5d40cf488b779cfb7b2fb4d03aa03a0 kmenuedit-5.18.2.tar.xz" +sha512sums="6a4e45a8c97de0badea82d70ec1085b3b34c06fd11723dd024263e966bbbbae5cfc4c42dfe217f79e59d84723c418f7146f0dee55ace0fbb77645714731f4a49 kmenuedit-5.18.4.1.tar.xz" diff --git a/user/kscreenlocker/APKBUILD b/user/kscreenlocker/APKBUILD index 0f5d0c768..19f6a0c4d 100644 --- a/user/kscreenlocker/APKBUILD +++ b/user/kscreenlocker/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kscreenlocker -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Secure X11 screen locker" url="https://www.kde.org/" @@ -17,7 +17,7 @@ makedepends="$depends_dev cmake extra-cmake-modules python3 libx11-dev ktextwidgets-dev kwayland-dev kwindowsystem-dev kxmlgui-dev solid-dev consolekit2-dev" subpackages="$pkgname-dev $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/kscreenlocker-$pkgver.tar.xz +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kscreenlocker-$pkgver.tar.xz kde.pam kde-np.pam " @@ -47,6 +47,6 @@ package() { install -m644 "$srcdir"/kde-np.pam "$pkgdir"/etc/pam.d/kde-np } -sha512sums="904c6438c8afea186896ffd508fc30020f12456eb3631dd97596096b00a51928654382091c7aca5e0db927c18173ea5b6d60877591b1f4e5eb23a5617cb4f9d4 kscreenlocker-5.18.2.tar.xz +sha512sums="f58e46b6b86ab49f458ca00604655369755d51b54e7f97ad1f640d4fa51bab5d904ee26c0981a2252ee4edff3063a40f5792b860cd39d19f3db8ba93ec9aed5b kscreenlocker-5.18.4.1.tar.xz 56e87d02d75c4a8cc4ed183faed416fb4972e7f223b8759959c0f5da32e11e657907a1df279d62a44a6a174f5aca8b2ac66a5f3325c5deb92011bcf71eed74c3 kde.pam 565265485dd7466b77966d75a56766216b8bcc187c95a997e531e9481cf50ddbe576071eb0e334421202bcab19aa6de6b93e042447ca4797a24bf97e1d053ffd kde-np.pam" diff --git a/user/ksshaskpass/APKBUILD b/user/ksshaskpass/APKBUILD index e1e349f2b..f0c780cd9 100644 --- a/user/ksshaskpass/APKBUILD +++ b/user/ksshaskpass/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=ksshaskpass -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Plasma integration for SSH agents" url="https://www.KDE.org/" @@ -11,7 +11,7 @@ depends="" makedepends="cmake extra-cmake-modules qt5-qtbase-dev kcoreaddons-dev kdoctools-dev ki18n-dev kwallet-dev kwidgetsaddons-dev" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/ksshaskpass-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/ksshaskpass-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -36,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6cf83ddee7273a4dcae9e6a73c204edfe4318c20277c9526af4faf49c28c7dc27d041836e11cd4cf93b5eb15175ad4f88451ff506c209ddd98986e06713975b8 ksshaskpass-5.18.2.tar.xz" +sha512sums="42d3615b631b225a455c939a72a0a1cd1766c7baa7bf9396b4509c880f37784beddaf2596d124362d9720901bad776aaf6b248ccf8b53e0691d74c948272c952 ksshaskpass-5.18.4.1.tar.xz" diff --git a/user/ksysguard/APKBUILD b/user/ksysguard/APKBUILD index 7ae8ab039..11537dc35 100644 --- a/user/ksysguard/APKBUILD +++ b/user/ksysguard/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=ksysguard -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE system monitor utility" url="https://www.kde.org/" @@ -13,7 +13,7 @@ makedepends="qt5-qtbase-dev kconfig-dev kcoreaddons-dev kdbusaddons-dev kio-dev knotifications-dev kwindowsystem-dev libksysguard-dev cmake extra-cmake-modules kdoctools-dev" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/ksysguard-$pkgver.tar.xz +source="https://download.kde.org/stable/plasma/${pkgver%.*}/ksysguard-$pkgver.tar.xz ksysguard-5.6.5-rindex-header.patch " @@ -40,5 +40,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2d1f02fa4ca05b130ebf2bf3ec82ab5d8966451ae078f0c5c5d8807f17d8d2067b3dc028da6f92d69aad89a7818849cb9a8d0b3e0cfa519957592b6e63415595 ksysguard-5.18.2.tar.xz +sha512sums="2c2bb6596987effe558eeafe855a4914186da815a7688b68c75bf44daa29e5153b0cae4b2692f780fe2001042dbb12568e3c708b711c179f93fb7110f50dc696 ksysguard-5.18.4.1.tar.xz 75e07b80c647bc6fdfb092ad3855813ef6bfe91b0ad03562dacfe4e680cfdee201364a2e452db162822045684635c1791ab2392c47d8e5c560c9e617a970cf39 ksysguard-5.6.5-rindex-header.patch" diff --git a/user/kwin/APKBUILD b/user/kwin/APKBUILD index 2487fe332..b9573edc3 100644 --- a/user/kwin/APKBUILD +++ b/user/kwin/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kwin -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Modern, stylish window manager (requires OpenGL)" url="https://www.kde.org/" @@ -24,7 +24,7 @@ makedepends="$depends_dev cmake extra-cmake-modules qt5-qttools-dev python3 kservice-dev ktextwidgets-dev kwayland-dev kwidgetsaddons-dev kxmlgui-dev plasma-framework-dev qt5-qtvirtualkeyboard-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/kwin-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/kwin-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -50,4 +50,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="dab807fd97d501b6dd90cb881a571a9c60be0fc6a7159460d7b025416d10fbfbe152d3cb13c067cd0ac035590e28ed5e72d971b8fd4e10cf2d3883309230b129 kwin-5.18.2.tar.xz" +sha512sums="5e2ef7a8bd2969121d560e6558791298d8506d1af4c67aca8e6d2377af76e10b8e6ee32f116911a85352a74195a1cbd6dd4d40054f1796ff4b54b1e5418a5772 kwin-5.18.4.1.tar.xz" diff --git a/user/lesscpy/APKBUILD b/user/lesscpy/APKBUILD index 00f5933d5..b85dd07b5 100644 --- a/user/lesscpy/APKBUILD +++ b/user/lesscpy/APKBUILD @@ -1,16 +1,18 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=lesscpy -pkgver=0.13.0 +pkgver=0.14.0 pkgrel=0 pkgdesc="LESS language compiler, written in Python" url=" " arch="noarch" +options="!check" # Unpackaged dependencies license="MIT" depends="python3 py3-ply py3-six" +#checkdepends="coverage py3-flake8 py3-nose" makedepends="python3-dev" subpackages="" -source="lesscpy-$pkgver.tar.gz::https://github.com/lesscpy/lesscpy/archive/$pkgver.tar.gz" +source="https://pypi.python.org/packages/source/l/$pkgname/$pkgname-$pkgver.tar.gz" build() { python3 setup.py build @@ -24,4 +26,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="fc540e792dd5b094e284d23257ee48aef7c72cd1733a3d5ffa1ab87821db694c6ab3f2afc0d3b39b82bc5b8a8d52b496e5b413186c4190b6fd59eb687cd38014 lesscpy-0.13.0.tar.gz" +sha512sums="333015e3d4169fafedf0c295d12d5f0eadb8bea2576d147f1461e5854638b0501ea3038a945924efd81629b66dcc7ffcd3fabd12933529cb5fd4b962e87fe2c3 lesscpy-0.14.0.tar.gz" diff --git a/user/libbytesize/APKBUILD b/user/libbytesize/APKBUILD index c013f2953..3c91d3cb2 100644 --- a/user/libbytesize/APKBUILD +++ b/user/libbytesize/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libbytesize -pkgver=2.1 +pkgver=2.2 pkgrel=0 pkgdesc="Library for working with sizes in bytes" url="https://github.com/storaged-project/libbytesize/" @@ -44,5 +44,5 @@ py() { mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/ } -sha512sums="6b93d877e921820c19ed6874a36d9f8b6958112f6230f24980e8e6e30570b39ce74594f0ef126f70dc81b5434899c1f0f3ad0925f3ff7b6a596a9329c8f106c8 libbytesize-2.1.tar.gz +sha512sums="4538ac3499a24023c21fe07f527e400f99509921e377248970ac2da0eaf1655ddb261f432eed46a59ef69a1275ba7d1e5b0cc488d64eeea936b6cfa54c552ac1 libbytesize-2.2.tar.gz 5f8b46c257553672b7c2501bae99ff44594b91bfcf3f1ee209a390a8cdda693616e8207a99cea2e1263093324807a307dac9e643d1482e14f9ba604f51a05d6d no-msgcat.patch" diff --git a/user/libdca/APKBUILD b/user/libdca/APKBUILD index aa4925405..151f517f8 100644 --- a/user/libdca/APKBUILD +++ b/user/libdca/APKBUILD @@ -1,18 +1,19 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libdca -pkgver=0.0.6 +pkgver=0.0.7 pkgrel=0 pkgdesc="Free DTS Coherent Acoustics decoder" url="https://www.videolan.org/developers/libdca.html" arch="all" license="GPL-2.0+" depends="" -makedepends="" +makedepends="autoconf automake libtool" subpackages="$pkgname-dev $pkgname-doc" source="https://download.videolan.org/pub/videolan/libdca/$pkgver/libdca-$pkgver.tar.bz2" build() { + ./bootstrap ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -31,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d264128019e7fd295a35691636311f81960c17802dbbc67764c4e00b2fdf12ebc69b057a4947b57551a130e5cfd1fef3fe3558c7067216ea04a0b6bbb881b4f1 libdca-0.0.6.tar.bz2" +sha512sums="dae15d77d066687c882833d5bed8d65a585c1fc0277b7276563c89ddd5a83b35389ec94cca445f38af28a9b01430b72647e9afd1b08f030959e711de1a08924a libdca-0.0.7.tar.bz2" diff --git a/user/libdrm/APKBUILD b/user/libdrm/APKBUILD index 59c09b360..99534d596 100644 --- a/user/libdrm/APKBUILD +++ b/user/libdrm/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libdrm -pkgver=2.4.100 +pkgver=2.4.101 pkgrel=0 pkgdesc="Userspace interface to kernel DRM services" url="https://dri.freedesktop.org/" @@ -12,39 +12,34 @@ depends="" depends_dev="linux-headers" checkdepends="bash cunit-dev" makedepends="$depends_dev bash eudev-dev libpciaccess-dev libpthread-stubs - xmlto" + meson ninja xmlto" subpackages="$pkgname-dev $pkgname-doc" -source="https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2 - ioctl.patch - " +source="https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.xz" build() { case $CARCH in - arm*|aarch64*) _arch_conf="--enable-omap-experimental-api - --enable-exynos-experimental-api - --enable-tegra-experimental-api" ;; + arm*|aarch64*) _arch_conf="-Domap=true + -Dexynos=true + -Detnaviv=true + -Dtegra=true" ;; esac - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var \ - --enable-udev \ - --disable-valgrind \ - $_arch_conf - make + meson \ + -Dprefix=/usr \ + -Dman-pages=true \ + -Dudev=true \ + -Dvalgrind=false \ + $_arch_conf \ + build + ninja -C build } check() { - make check + ninja -C build test } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" ninja -C build install } -sha512sums="4d3a5556e650872944af52f49de395e0ce8ac9ac58530e39a34413e94dc56c231ee71b8b8de9fb944263515a922b3ebbf7ddfebeaaa91543c2604f9bcf561247 libdrm-2.4.100.tar.bz2 -af52fef51aaa05a4dd17919371cb9d92a77480402730bf53ba223e54df52f3825be05a7f28e6aef8c904db5ee59fe38a6c15bc6aafa7f8d31a719e80399dd51f ioctl.patch" +sha512sums="658cfc6f478b674b77b4613e1af9ce8f4fd2ace8a18e75729de254d14b7c1f5d67d4bfdb58744aea74abca0f6521326225f4156bd5cbeeed79ca3e025f657e8c libdrm-2.4.101.tar.xz" diff --git a/user/libdrm/ioctl.patch b/user/libdrm/ioctl.patch deleted file mode 100644 index 9ffe5f933..000000000 --- a/user/libdrm/ioctl.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libdrm-2.4.83/tests/nouveau/threaded.c -+++ libdrm-2.4.83/tests/nouveau/threaded.c -@@ -40,7 +40,7 @@ - - static int import_fd; - --int ioctl(int fd, unsigned long request, ...) -+int ioctl(int fd, int request, ...) - { - va_list va; - int ret; diff --git a/user/libffcall/APKBUILD b/user/libffcall/APKBUILD new file mode 100644 index 000000000..48b16a78f --- /dev/null +++ b/user/libffcall/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Contributor: Will Sinatra <wpsinatra@gmail.com> +# Contributor: Lee Starnes <lee@canned-death.us> +# Maintainer: Lee Starnes <lee@canned-death.us> +pkgname=libffcall +pkgver=2.2 +pkgrel=0 +pkgdesc="C library for implementing foreign function calls in embedded interpreters" +url="https://www.gnu.org/software/libffcall" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="" +subpackages="$pkgname-dev $pkgname-doc" +source="https://ftp.gnu.org/gnu/libffcall/libffcall-$pkgver.tar.gz + ppc64.patch + " + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var + # Fails to build if building in parallel + make -j1 +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" htmldir=/usr/share/doc/ffcall install + +} + +sha512sums="b9d3ca4c67ab92915a8183d850153e585dcb58ceb2199a104426a7aae363d37017b1226440acd18a2db0cc207e044f71e932857189964261e8eaa6de5cef1731 libffcall-2.2.tar.gz +db7fae1d2f0d95003186671fd89b097b4abf6184d3001e34dd93419640502b9cd5cf32aef4839d6a4208f4aed793c70f9a4367f12adde21372dc131b111238fe ppc64.patch" diff --git a/user/libffcall/ppc64.patch b/user/libffcall/ppc64.patch new file mode 100644 index 000000000..74525987b --- /dev/null +++ b/user/libffcall/ppc64.patch @@ -0,0 +1,1685 @@ +--- libffcall-2.2/avcall/avcall-powerpc64.c.old 2018-09-17 16:47:43.000000000 +0000 ++++ libffcall-2.2/avcall/avcall-powerpc64.c 2020-05-11 23:06:57.534813743 +0000 +@@ -181,111 +181,111 @@ + /* In the ELFv2 ABI, gcc returns structs of size <= 16 in registers. */ + if (l->rsize > 0 && l->rsize <= 16) { + void* raddr = l->raddr; +- #if 0 /* Unoptimized */ ++ #if 1 /* Unoptimized */ + if (l->rsize == 1) { + ((unsigned char *)raddr)[0] = (unsigned char)(iret); + } else + if (l->rsize == 2) { +- ((unsigned char *)raddr)[0] = (unsigned char)(iret); +- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); ++ ((unsigned char *)raddr)[1] = (unsigned char)(iret); ++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>8); + } else + if (l->rsize == 3) { +- ((unsigned char *)raddr)[0] = (unsigned char)(iret); ++ ((unsigned char *)raddr)[2] = (unsigned char)(iret); + ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); +- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); ++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>16); + } else + if (l->rsize == 4) { +- ((unsigned char *)raddr)[0] = (unsigned char)(iret); +- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); +- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); +- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); ++ ((unsigned char *)raddr)[3] = (unsigned char)(iret); ++ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>8); ++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>16); ++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>24); + } else + if (l->rsize == 5) { +- ((unsigned char *)raddr)[0] = (unsigned char)(iret); +- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); ++ ((unsigned char *)raddr)[4] = (unsigned char)(iret); ++ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>8); + ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); +- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); +- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32); ++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>24); ++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>32); + } else + if (l->rsize == 6) { +- ((unsigned char *)raddr)[0] = (unsigned char)(iret); +- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); +- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); +- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); +- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32); +- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40); ++ ((unsigned char *)raddr)[5] = (unsigned char)(iret); ++ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>8); ++ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>16); ++ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>24); ++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>32); ++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>40); + } else + if (l->rsize == 7) { +- ((unsigned char *)raddr)[0] = (unsigned char)(iret); +- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); +- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); ++ ((unsigned char *)raddr)[6] = (unsigned char)(iret); ++ ((unsigned char *)raddr)[5] = (unsigned char)(iret>>8); ++ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>16); + ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); +- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32); +- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40); +- ((unsigned char *)raddr)[6] = (unsigned char)(iret>>48); ++ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>32); ++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>40); ++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>48); + } else + if (l->rsize >= 8 && l->rsize <= 16) { +- ((unsigned char *)raddr)[0] = (unsigned char)(iret); +- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); +- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); +- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); +- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32); +- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40); +- ((unsigned char *)raddr)[6] = (unsigned char)(iret>>48); +- ((unsigned char *)raddr)[7] = (unsigned char)(iret>>56); ++ ((unsigned char *)raddr)[7] = (unsigned char)(iret); ++ ((unsigned char *)raddr)[6] = (unsigned char)(iret>>8); ++ ((unsigned char *)raddr)[5] = (unsigned char)(iret>>16); ++ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>24); ++ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>32); ++ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>40); ++ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>48); ++ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>56); + if (l->rsize == 8) { + } else + if (l->rsize == 9) { +- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); ++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); + } else + if (l->rsize == 10) { +- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); +- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); ++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); ++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); + } else + if (l->rsize == 11) { +- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); +- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); +- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); ++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); ++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); ++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); + } else + if (l->rsize == 12) { +- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); +- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); +- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); +- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); ++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); ++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); ++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); ++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); + } else + if (l->rsize == 13) { +- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); +- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); +- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); +- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); +- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32); ++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); ++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); ++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); ++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); ++ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24); + } else + if (l->rsize == 14) { +- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); +- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); +- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); +- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); +- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32); +- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40); ++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); ++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); ++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); ++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); ++ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24); ++ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16); + } else + if (l->rsize == 15) { +- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); +- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); +- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); +- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); +- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32); +- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40); +- ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>48); ++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); ++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); ++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); ++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); ++ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24); ++ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16); ++ ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>8); + } else + if (l->rsize == 16) { +- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); +- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); +- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); +- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); +- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32); +- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40); +- ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>48); +- ((unsigned char *)raddr)[8+7] = (unsigned char)(iret2>>56); ++ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); ++ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); ++ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); ++ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); ++ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24); ++ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16); ++ ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>8); ++ ((unsigned char *)raddr)[8+7] = (unsigned char)(iret2); + } + } + #else /* Optimized: fewer conditional jumps, fewer memory accesses */ +--- libffcall-2.2/avcall/avcall-powerpc64-elfv2-linux.S.old 2019-08-25 01:03:04.000000000 +0000 ++++ libffcall-2.2/avcall/avcall-powerpc64-elfv2-linux.S 2020-05-11 23:07:17.992574561 +0000 +@@ -1,44 +1,52 @@ + .file "avcall-powerpc64.c" +- .machine power4 + .abiversion 2 +- .section ".toc","aw" + .section ".text" + .align 2 + .p2align 4,,15 + .globl avcall_call + .type avcall_call, @function + avcall_call: +-0: addis 2,12,.TOC.-0b@ha +- addi 2,2,.TOC.-0b@l ++.LFB0: ++ .cfi_startproc ++.LCF0: ++0: addis 2,12,.TOC.-.LCF0@ha ++ addi 2,2,.TOC.-.LCF0@l + .localentry avcall_call,.-avcall_call + mflr 0 + std 30,-16(1) + std 31,-8(1) ++ .cfi_register 65, 0 ++ .cfi_offset 30, -16 ++ .cfi_offset 31, -8 + mr 30,3 + std 0,16(1) +- stdu 1,-112(1) +- ld 3,48(3) +- ld 9,40(30) ++ stdu 1,-128(1) ++ .cfi_def_cfa_offset 128 ++ .cfi_offset 65, 16 + mr 31,1 ++ .cfi_def_cfa_register 31 ++ ld 3,48(3) + ld 10,0(1) ++ ld 9,-28688(13) ++ std 9,104(31) ++ li 9,0 ++ ld 9,40(30) ++ stdu 10,-2048(1) + subf 9,3,9 +- stdu 10,-2064(1) + sradi 9,9,3 + cmpwi 7,9,8 + ble 7,.L6 +- addi 10,9,-9 +- addi 8,1,96 +- addi 9,3,56 +- rldicl 10,10,0,32 +- addi 8,8,-8 +- addi 10,10,8 +- sldi 10,10,3 +- add 10,3,10 ++ addi 8,9,-9 ++ addi 7,1,96 ++ addi 10,3,56 ++ rldic 8,8,3,29 ++ addi 9,7,-8 ++ add 7,7,8 + .p2align 4,,15 + .L5: +- ldu 7,8(9) +- cmpld 7,10,9 +- stdu 7,8(8) ++ ldu 8,8(10) ++ stdu 8,8(9) ++ cmpld 7,7,9 + bne 7,.L5 + .L6: + ld 10,64(30) +@@ -114,191 +122,210 @@ + ld 2,24(1) + lwz 9,24(30) + cmplwi 7,9,1 +- beq 7,.L19 ++ beq 7,.L20 + cmpdi 7,9,0 +- beq 7,.L50 ++ beq 7,.L68 + cmplwi 7,9,2 +- beq 7,.L45 ++ beq 7,.L62 + cmplwi 7,9,3 +- beq 7,.L45 ++ beq 7,.L62 + cmplwi 7,9,4 +- beq 7,.L45 ++ beq 7,.L62 + cmplwi 7,9,5 +- beq 7,.L46 ++ beq 7,.L63 + cmplwi 7,9,6 +- beq 7,.L46 ++ beq 7,.L63 + cmplwi 7,9,7 +- beq 7,.L47 ++ beq 7,.L64 + cmplwi 7,9,8 +- beq 7,.L47 ++ beq 7,.L64 + cmplwi 7,9,9 +- beq 7,.L50 ++ beq 7,.L68 + cmplwi 7,9,10 +- beq 7,.L50 ++ beq 7,.L68 + cmplwi 7,9,11 +- beq 7,.L50 ++ beq 7,.L68 + cmplwi 7,9,12 +- beq 7,.L50 ++ beq 7,.L68 + cmplwi 7,9,13 +- beq 7,.L52 ++ beq 7,.L71 + cmplwi 7,9,14 +- beq 7,.L53 ++ beq 7,.L72 + cmplwi 7,9,15 +- beq 7,.L50 ++ beq 7,.L68 + cmplwi 7,9,16 +- bne 7,.L19 ++ bne 7,.L20 + lwz 9,0(30) +- rldicl. 10,9,55,63 +- beq 0,.L19 ++ andi. 9,9,0x200 ++ beq 0,.L20 + ld 10,32(30) + addi 9,10,-1 + cmpldi 7,9,15 +- bgt 7,.L19 +- ld 8,16(30) +- cmpldi 7,10,8 +- rldicl 9,8,0,61 +- rldicr 8,8,0,60 +- add 10,10,9 +- bgt 7,.L35 ++ bgt 7,.L20 ++ cmpldi 7,10,1 ++ ld 9,16(30) ++ rlwinm 8,3,0,0xff ++ beq 7,.L69 ++ cmpldi 7,10,2 ++ beq 7,.L73 ++ cmpldi 7,10,3 ++ rldicl 8,3,48,56 ++ beq 7,.L74 ++ cmpldi 7,10,4 ++ beq 7,.L75 ++ cmpldi 7,10,5 ++ rldicl 8,3,32,56 ++ beq 7,.L76 ++ cmpldi 7,10,6 ++ rldicl 7,3,24,56 ++ beq 7,.L77 ++ cmpldi 7,10,7 ++ rldicl 6,3,16,56 ++ beq 7,.L78 ++ std 3,0(9) ++ ld 10,32(30) + cmpldi 7,10,8 +- bgt 7,.L36 +- slwi 10,10,3 +- li 7,2 +- ld 6,0(8) +- slwi 9,9,3 +- addi 10,10,-1 +- sld 10,7,10 +- li 7,1 +- sld 7,7,9 +- sld 9,3,9 +- subf 10,7,10 +- xor 9,9,6 +- and 9,10,9 +- xor 9,9,6 +- std 9,0(8) +-.L19: +- addi 1,31,112 ++ beq 7,.L20 ++ cmpldi 7,10,9 ++ beq 7,.L79 ++ cmpldi 7,10,10 ++ beq 7,.L80 ++ cmpldi 7,10,11 ++ beq 7,.L81 ++ cmpldi 7,10,12 ++ beq 7,.L82 ++ cmpldi 7,10,13 ++ beq 7,.L83 ++ cmpldi 7,10,14 ++ beq 7,.L84 ++ cmpldi 7,10,15 ++ beq 7,.L85 ++ cmpldi 7,10,16 ++ bne 7,.L20 ++ std 4,8(9) ++ .p2align 4,,15 ++.L20: ++ ld 9,104(31) ++ ld 10,-28688(13) ++ xor. 9,9,10 ++ li 10,0 + li 3,0 ++ bne 0,.L86 ++ addi 1,31,128 ++ .cfi_remember_state ++ .cfi_def_cfa 1, 0 + ld 0,16(1) + ld 30,-16(1) + ld 31,-8(1) + mtlr 0 ++ .cfi_restore 65 ++ .cfi_restore 31 ++ .cfi_restore 30 + blr + .p2align 4,,15 +-.L50: ++.L68: ++ .cfi_restore_state + ld 9,16(30) + std 3,0(9) +- addi 1,31,112 +- li 3,0 +- ld 0,16(1) +- ld 30,-16(1) +- ld 31,-8(1) +- mtlr 0 +- blr ++ b .L20 + .p2align 4,,15 +-.L45: ++.L62: + ld 9,16(30) + stb 3,0(9) +- addi 1,31,112 +- li 3,0 +- ld 0,16(1) +- ld 30,-16(1) +- ld 31,-8(1) +- mtlr 0 +- blr +-.L46: ++ b .L20 ++.L63: + ld 9,16(30) + sth 3,0(9) +- b .L19 +-.L47: ++ b .L20 ++.L64: + ld 9,16(30) + stw 3,0(9) +- b .L19 +-.L52: ++ b .L20 ++.L71: + ld 9,16(30) + stfs 1,0(9) +- b .L19 +-.L53: ++ b .L20 ++.L72: + ld 9,16(30) + stfd 1,0(9) +- b .L19 +-.L36: +- rldicl 9,9,0,32 +- slwi 10,10,3 +- ld 11,0(8) +- ld 4,8(8) +- li 7,2 +- mulli 6,9,-8 +- addi 10,10,-65 +- slwi 9,9,3 +- sld 10,7,10 +- sld 5,3,9 +- li 7,-1 +- addi 6,6,64 +- addi 10,10,-1 +- sld 7,7,9 +- srad 3,3,6 +- xor 6,5,11 +- xor 9,3,4 +- and 7,7,6 +- and 9,10,9 +- xor 10,7,11 +- xor 9,9,4 +- std 10,0(8) +- std 9,8(8) +- b .L19 +-.L35: +- rldicl 9,9,0,32 +- ld 11,0(8) +- li 6,-1 +- cmpldi 7,10,16 +- slwi 5,9,3 +- sld 7,3,5 +- sld 6,6,5 +- xor 7,7,11 +- and 7,6,7 +- xor 7,7,11 +- std 7,0(8) +- ble 7,.L54 +- mulli 9,9,-8 +- ld 11,16(8) +- slwi 10,10,3 +- li 7,2 +- addi 10,10,-129 +- addi 9,9,64 +- sld 7,7,10 +- srad 6,4,9 +- srad 3,3,9 +- addi 7,7,-1 +- sld 9,4,5 +- xor 10,6,11 +- or 9,3,9 +- and 10,7,10 +- std 9,8(8) +- xor 10,10,11 +- std 10,16(8) +- b .L19 +-.L54: +- mulli 9,9,-4 +- slwi 10,10,3 +- ld 11,8(8) +- sld 4,4,5 +- addi 10,10,-65 +- li 6,2 +- addi 9,9,32 +- sld 10,6,10 +- srad 3,3,9 +- srad 9,3,9 +- or 7,9,4 +- addi 9,10,-1 +- xor 10,7,11 +- and 9,10,9 +- xor 9,9,11 +- std 9,8(8) +- b .L19 ++ b .L20 ++.L86: ++ bl __stack_chk_fail ++ nop ++.L74: ++ sth 3,1(9) ++.L69: ++ stb 8,0(9) ++ b .L20 ++.L85: ++ srdi 7,4,32 ++ sradi 8,4,24 ++ sradi 10,4,16 ++ sradi 4,4,8 ++ stw 7,8(9) ++ stb 8,12(9) ++ stb 10,13(9) ++ stb 4,14(9) ++ b .L20 ++.L76: ++ stw 3,1(9) ++ stb 8,0(9) ++ b .L20 ++.L75: ++ stw 3,0(9) ++ b .L20 ++.L73: ++ sth 3,0(9) ++ b .L20 ++.L84: ++ srdi 8,4,32 ++ sradi 10,4,24 ++ sradi 4,4,16 ++ stw 8,8(9) ++ stb 10,12(9) ++ stb 4,13(9) ++ b .L20 ++.L83: ++ srdi 10,4,32 ++ sradi 4,4,24 ++ stw 10,8(9) ++ stb 4,12(9) ++ b .L20 ++.L82: ++ srdi 4,4,32 ++ stw 4,8(9) ++ b .L20 ++.L81: ++ srdi 10,4,48 ++ sradi 4,4,40 ++ sth 10,8(9) ++ stb 4,10(9) ++ b .L20 ++.L80: ++ srdi 4,4,48 ++ sth 4,8(9) ++ b .L20 ++.L79: ++ sradi 4,4,56 ++ stb 4,8(9) ++ b .L20 ++.L78: ++ stw 3,3(9) ++ stb 8,2(9) ++ stb 7,1(9) ++ stb 6,0(9) ++ b .L20 ++.L77: ++ stw 3,2(9) ++ stb 8,1(9) ++ stb 7,0(9) ++ b .L20 + .long 0 + .byte 0,0,0,1,128,2,0,0 ++ .cfi_endproc ++.LFE0: + .size avcall_call,.-avcall_call ++ .gnu_attribute 4, 9 + #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__ + .section .note.GNU-stack,"",@progbits + #endif +--- libffcall-2.2/vacall/vacall-powerpc64.c.old 2020-05-11 23:11:15.566571148 +0000 ++++ libffcall-2.2/vacall/vacall-powerpc64.c 2020-05-11 23:16:52.489693582 +0000 +@@ -140,111 +140,111 @@ + if (list.flags & __VA_REGISTER_STRUCT_RETURN) { + /* In the ELFv2 ABI, gcc returns structs of size <= 16 in registers. */ + if (list.rsize > 0 && list.rsize <= 16) { +- #if 0 /* Unoptimized */ ++ #if 1 /* Unoptimized */ + if (list.rsize == 1) { + iret = (__vaword)((unsigned char *) list.raddr)[0]; + } else + if (list.rsize == 2) { +- iret = ((__vaword)((unsigned char *) list.raddr)[0]) +- | ((__vaword)((unsigned char *) list.raddr)[1] << 8); ++ iret = ((__vaword)((unsigned char *) list.raddr)[1]) ++ | ((__vaword)((unsigned char *) list.raddr)[0] << 8); + } else + if (list.rsize == 3) { +- iret = ((__vaword)((unsigned char *) list.raddr)[0]) ++ iret = ((__vaword)((unsigned char *) list.raddr)[2]) + | ((__vaword)((unsigned char *) list.raddr)[1] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[2] << 16); ++ | ((__vaword)((unsigned char *) list.raddr)[0] << 16); + } else + if (list.rsize == 4) { +- iret = ((__vaword)((unsigned char *) list.raddr)[0]) +- | ((__vaword)((unsigned char *) list.raddr)[1] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[2] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[3] << 24); ++ iret = ((__vaword)((unsigned char *) list.raddr)[3]) ++ | ((__vaword)((unsigned char *) list.raddr)[2] << 8) ++ | ((__vaword)((unsigned char *) list.raddr)[1] << 16) ++ | ((__vaword)((unsigned char *) list.raddr)[0] << 24); + } else + if (list.rsize == 5) { +- iret = ((__vaword)((unsigned char *) list.raddr)[0]) +- | ((__vaword)((unsigned char *) list.raddr)[1] << 8) ++ iret = ((__vaword)((unsigned char *) list.raddr)[4]) ++ | ((__vaword)((unsigned char *) list.raddr)[3] << 8) + | ((__vaword)((unsigned char *) list.raddr)[2] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[3] << 24) +- | ((__vaword)((unsigned char *) list.raddr)[4] << 32); ++ | ((__vaword)((unsigned char *) list.raddr)[1] << 24) ++ | ((__vaword)((unsigned char *) list.raddr)[0] << 32); + } else + if (list.rsize == 6) { +- iret = ((__vaword)((unsigned char *) list.raddr)[0]) +- | ((__vaword)((unsigned char *) list.raddr)[1] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[2] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[3] << 24) +- | ((__vaword)((unsigned char *) list.raddr)[4] << 32) +- | ((__vaword)((unsigned char *) list.raddr)[5] << 40); ++ iret = ((__vaword)((unsigned char *) list.raddr)[5]) ++ | ((__vaword)((unsigned char *) list.raddr)[4] << 8) ++ | ((__vaword)((unsigned char *) list.raddr)[3] << 16) ++ | ((__vaword)((unsigned char *) list.raddr)[2] << 24) ++ | ((__vaword)((unsigned char *) list.raddr)[1] << 32) ++ | ((__vaword)((unsigned char *) list.raddr)[0] << 40); + } else + if (list.rsize == 7) { +- iret = ((__vaword)((unsigned char *) list.raddr)[0]) +- | ((__vaword)((unsigned char *) list.raddr)[1] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[2] << 16) ++ iret = ((__vaword)((unsigned char *) list.raddr)[6]) ++ | ((__vaword)((unsigned char *) list.raddr)[5] << 8) ++ | ((__vaword)((unsigned char *) list.raddr)[4] << 16) + | ((__vaword)((unsigned char *) list.raddr)[3] << 24) +- | ((__vaword)((unsigned char *) list.raddr)[4] << 32) +- | ((__vaword)((unsigned char *) list.raddr)[5] << 40) +- | ((__vaword)((unsigned char *) list.raddr)[6] << 48); ++ | ((__vaword)((unsigned char *) list.raddr)[2] << 32) ++ | ((__vaword)((unsigned char *) list.raddr)[1] << 40) ++ | ((__vaword)((unsigned char *) list.raddr)[0] << 48); + } else + if (list.rsize >= 8 && list.rsize <= 16) { +- iret = ((__vaword)((unsigned char *) list.raddr)[0]) +- | ((__vaword)((unsigned char *) list.raddr)[1] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[2] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[3] << 24) +- | ((__vaword)((unsigned char *) list.raddr)[4] << 32) +- | ((__vaword)((unsigned char *) list.raddr)[5] << 40) +- | ((__vaword)((unsigned char *) list.raddr)[6] << 48) +- | ((__vaword)((unsigned char *) list.raddr)[7] << 56); ++ iret = ((__vaword)((unsigned char *) list.raddr)[7]) ++ | ((__vaword)((unsigned char *) list.raddr)[6] << 8) ++ | ((__vaword)((unsigned char *) list.raddr)[5] << 16) ++ | ((__vaword)((unsigned char *) list.raddr)[4] << 24) ++ | ((__vaword)((unsigned char *) list.raddr)[3] << 32) ++ | ((__vaword)((unsigned char *) list.raddr)[2] << 40) ++ | ((__vaword)((unsigned char *) list.raddr)[1] << 48) ++ | ((__vaword)((unsigned char *) list.raddr)[0] << 56); + if (list.rsize == 8) { + } else + if (list.rsize == 9) { +- iret2 = (__vaword)((unsigned char *) list.raddr)[8]; ++ iret2 = (__vaword)((unsigned char *) list.raddr)[8] << 56; + } else + if (list.rsize == 10) { +- iret2 = ((__vaword)((unsigned char *) list.raddr)[8]) +- | ((__vaword)((unsigned char *) list.raddr)[9] << 8); ++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56) ++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48); + } else + if (list.rsize == 11) { +- iret2 = ((__vaword)((unsigned char *) list.raddr)[8]) +- | ((__vaword)((unsigned char *) list.raddr)[9] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[10] << 16); ++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56) ++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48) ++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40); + } else + if (list.rsize == 12) { +- iret2 = ((__vaword)((unsigned char *) list.raddr)[8]) +- | ((__vaword)((unsigned char *) list.raddr)[9] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[10] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[11] << 24); ++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56) ++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48) ++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40) ++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32); + } else + if (list.rsize == 13) { +- iret2 = ((__vaword)((unsigned char *) list.raddr)[8]) +- | ((__vaword)((unsigned char *) list.raddr)[9] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[10] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[11] << 24) +- | ((__vaword)((unsigned char *) list.raddr)[12] << 32); ++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56) ++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48) ++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40) ++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32) ++ | ((__vaword)((unsigned char *) list.raddr)[12] << 24); + } else + if (list.rsize == 14) { +- iret2 = ((__vaword)((unsigned char *) list.raddr)[8]) +- | ((__vaword)((unsigned char *) list.raddr)[9] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[10] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[11] << 24) +- | ((__vaword)((unsigned char *) list.raddr)[12] << 32) +- | ((__vaword)((unsigned char *) list.raddr)[13] << 40); ++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56) ++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48) ++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40) ++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32) ++ | ((__vaword)((unsigned char *) list.raddr)[12] << 24) ++ | ((__vaword)((unsigned char *) list.raddr)[13] << 16); + } else + if (list.rsize == 15) { +- iret2 = ((__vaword)((unsigned char *) list.raddr)[8]) +- | ((__vaword)((unsigned char *) list.raddr)[9] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[10] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[11] << 24) +- | ((__vaword)((unsigned char *) list.raddr)[12] << 32) +- | ((__vaword)((unsigned char *) list.raddr)[13] << 40) +- | ((__vaword)((unsigned char *) list.raddr)[14] << 48); ++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56) ++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48) ++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40) ++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32) ++ | ((__vaword)((unsigned char *) list.raddr)[12] << 24) ++ | ((__vaword)((unsigned char *) list.raddr)[13] << 16) ++ | ((__vaword)((unsigned char *) list.raddr)[14] << 8); + } else + if (list.rsize == 16) { +- iret2 = ((__vaword)((unsigned char *) list.raddr)[8]) +- | ((__vaword)((unsigned char *) list.raddr)[9] << 8) +- | ((__vaword)((unsigned char *) list.raddr)[10] << 16) +- | ((__vaword)((unsigned char *) list.raddr)[11] << 24) +- | ((__vaword)((unsigned char *) list.raddr)[12] << 32) +- | ((__vaword)((unsigned char *) list.raddr)[13] << 40) +- | ((__vaword)((unsigned char *) list.raddr)[14] << 48) +- | ((__vaword)((unsigned char *) list.raddr)[15] << 56); ++ iret2 = ((__vaword)((unsigned char *) list.raddr)[8] << 56) ++ | ((__vaword)((unsigned char *) list.raddr)[9] << 48) ++ | ((__vaword)((unsigned char *) list.raddr)[10] << 40) ++ | ((__vaword)((unsigned char *) list.raddr)[11] << 32) ++ | ((__vaword)((unsigned char *) list.raddr)[12] << 24) ++ | ((__vaword)((unsigned char *) list.raddr)[13] << 16) ++ | ((__vaword)((unsigned char *) list.raddr)[14] << 8) ++ | ((__vaword)((unsigned char *) list.raddr)[15]); + } + } + #else /* Optimized: fewer conditional jumps, fewer memory accesses */ +--- libffcall-2.2/vacall/vacall-powerpc64-elfv2-linux.S.old 2019-08-25 01:03:06.000000000 +0000 ++++ libffcall-2.2/vacall/vacall-powerpc64-elfv2-linux.S 2020-05-11 23:18:00.842212129 +0000 +@@ -1,9 +1,8 @@ + .file "vacall-powerpc64.c" +- .machine power4 + .abiversion 2 +- .section ".toc","aw" + .section ".text" + .section ".toc","aw" ++ .align 3 + .LC0: + .quad vacall_function + .section ".text" +@@ -12,40 +11,50 @@ + .globl vacall_receiver + .type vacall_receiver, @function + vacall_receiver: +-0: addis 2,12,.TOC.-0b@ha +- addi 2,2,.TOC.-0b@l ++.LFB0: ++ .cfi_startproc ++.LCF0: ++0: addis 2,12,.TOC.-.LCF0@ha ++ addi 2,2,.TOC.-.LCF0@l + .localentry vacall_receiver,.-vacall_receiver + mflr 0 + std 31,-8(1) ++ std 30,-16(1) + addis 11,2,.LC0@toc@ha +- ld 12,.LC0@toc@l(11) +- li 11,0 + std 0,16(1) + stdu 1,-224(1) +- mr 31,1 +- ld 0,0(12) ++ .cfi_def_cfa_offset 224 ++ .cfi_offset 65, 16 ++ .cfi_offset 31, -8 ++ .cfi_offset 30, -16 ++ li 0,0 ++ ld 12,.LC0@toc@l(11) + std 2,24(1) ++ mr 31,1 ++ .cfi_def_cfa_register 31 ++ addi 11,31,256 ++ ld 30,-28688(13) ++ std 30,200(31) ++ li 30,0 ++ std 6,280(31) ++ ld 6,0(12) + std 9,304(31) + li 9,0 + std 3,256(31) +- addi 3,31,32 + std 4,264(31) ++ stfd 1,96(31) + std 5,272(31) +- mtctr 0 +- stw 9,32(31) +- std 6,280(31) + std 7,288(31) + std 8,296(31) ++ mtctr 6 + std 10,312(31) +- stfd 1,96(31) +- addi 9,31,256 + stfd 2,104(31) + stfd 3,112(31) + stfd 4,120(31) ++ mr 12,6 + stfd 5,128(31) +- mr 12,0 +- std 9,56(31) + stfd 6,136(31) ++ addi 3,31,32 + stfd 7,144(31) + stfd 8,152(31) + stfd 9,160(31) +@@ -53,173 +62,232 @@ + stfd 11,176(31) + stfd 12,184(31) + stfd 13,192(31) +- std 11,64(31) +- stw 11,72(31) +- stw 11,88(31) ++ stw 0,32(31) ++ std 11,56(31) ++ std 9,64(31) ++ stw 9,72(31) ++ stw 9,88(31) + bctrl + ld 2,24(1) + lwz 9,72(31) + cmpdi 7,9,0 + beq 7,.L1 + cmplwi 7,9,1 +- beq 7,.L27 ++ beq 7,.L41 + cmplwi 7,9,2 +- beq 7,.L30 ++ beq 7,.L45 + cmplwi 7,9,3 +- beq 7,.L27 ++ beq 7,.L41 + cmplwi 7,9,4 +- beq 7,.L31 ++ beq 7,.L46 + cmplwi 7,9,5 +- beq 7,.L32 ++ beq 7,.L47 + cmplwi 7,9,6 +- beq 7,.L33 ++ beq 7,.L48 + cmplwi 7,9,7 +- beq 7,.L34 ++ beq 7,.L49 + cmplwi 7,9,8 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,9 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,10 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,11 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,12 +- beq 7,.L35 ++ beq 7,.L50 + cmplwi 7,9,13 +- beq 7,.L36 ++ beq 7,.L51 + cmplwi 7,9,14 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,15 + bne 7,.L1 + lwz 9,32(31) +- rldicl. 10,9,54,63 ++ andi. 9,9,0x400 + beq 0,.L1 +- ld 9,80(31) +- addi 10,9,-1 +- cmpldi 7,10,15 ++ ld 10,80(31) ++ addi 9,10,-1 ++ cmpldi 7,9,15 + bgt 7,.L1 ++ cmpldi 7,10,1 + ld 8,64(31) +- cmpldi 7,9,8 +- rldicl 10,8,0,61 +- rldicr 8,8,0,60 +- add 9,9,10 +- bgt 7,.L17 +- cmpldi 7,9,8 +- slwi 9,9,3 +- bgt 7,.L18 +- ld 7,0(8) +- addi 9,9,-1 +- li 8,2 +- slwi 10,10,3 +- sld 9,8,9 +- addi 9,9,-1 +- and 9,9,7 +- srad 3,9,10 ++ lbz 9,0(8) ++ beq 7,.L52 ++ cmpldi 7,10,2 ++ beq 7,.L53 ++ cmpldi 7,10,3 ++ lbz 7,1(8) ++ lbz 6,2(8) ++ beq 7,.L54 ++ cmpldi 7,10,4 ++ beq 7,.L55 ++ cmpldi 7,10,5 ++ beq 7,.L56 ++ cmpldi 7,10,6 ++ beq 7,.L57 ++ cmpldi 7,10,7 ++ beq 7,.L58 ++ cmpldi 7,10,8 ++ ld 3,0(8) ++ beq 7,.L1 ++ cmpldi 7,10,9 ++ lbz 9,8(8) ++ sldi 9,9,56 ++ beq 7,.L59 ++ lbz 7,9(8) ++ cmpldi 7,10,10 ++ sldi 7,7,48 ++ or 7,7,9 ++ beq 7,.L60 ++ cmpldi 7,10,11 ++ lbz 9,10(8) ++ sldi 9,9,40 ++ beq 7,.L43 ++ cmpldi 7,10,12 ++ lbz 6,11(8) ++ sldi 6,6,32 ++ beq 7,.L61 ++ cmpldi 7,10,13 ++ lbz 5,12(8) ++ sldi 5,5,24 ++ beq 7,.L62 ++ cmpldi 7,10,14 ++ lbz 11,13(8) ++ sldi 11,11,16 ++ beq 7,.L63 ++ cmpldi 7,10,15 ++ beq 7,.L64 ++ ld 4,8(8) ++ .p2align 4,,15 + .L1: ++ ld 9,200(31) ++ ld 10,-28688(13) ++ xor. 9,9,10 ++ li 10,0 ++ bne 0,.L65 + addi 1,31,224 ++ .cfi_remember_state ++ .cfi_def_cfa 1, 0 + ld 0,16(1) ++ ld 30,-16(1) + ld 31,-8(1) + mtlr 0 ++ .cfi_restore 65 ++ .cfi_restore 31 ++ .cfi_restore 30 + blr + .p2align 4,,15 +-.L27: +- addi 1,31,224 ++.L41: ++ .cfi_restore_state + lbz 3,40(31) +- ld 0,16(1) +- ld 31,-8(1) +- mtlr 0 +- blr ++ b .L1 + .p2align 4,,15 +-.L30: +- lbz 9,40(31) +- extsb 3,9 ++.L45: ++ lbz 3,40(31) ++ extsb 3,3 + b .L1 + .p2align 4,,15 +-.L28: +- ld 3,40(31) ++.L48: ++ lwa 3,40(31) + b .L1 + .p2align 4,,15 +-.L31: ++.L46: + lha 3,40(31) + b .L1 + .p2align 4,,15 +-.L32: ++.L47: + lhz 3,40(31) + b .L1 + .p2align 4,,15 +-.L33: +- lwa 3,40(31) +- b .L1 +- .p2align 4,,15 +-.L35: +- lfs 1,40(31) ++.L42: ++ ld 3,40(31) + b .L1 + .p2align 4,,15 +-.L34: ++.L49: + lwz 3,40(31) + b .L1 +-.L36: ++.L50: ++ lfs 1,40(31) ++ b .L1 ++.L51: + lfd 1,40(31) + b .L1 +-.L17: +- cmpldi 7,9,16 +- rldicl 10,10,0,32 +- slwi 9,9,3 +- ble 7,.L37 +- li 7,2 +- addi 9,9,-129 +- ld 11,16(8) +- ld 5,0(8) +- mulli 6,10,-8 +- sld 9,7,9 +- ld 7,8(8) +- addi 8,9,-1 +- slwi 9,10,3 +- addi 6,6,64 +- and 10,8,11 +- srad 8,5,9 +- sld 5,7,6 +- srad 9,7,9 +- sld 10,10,6 +- or 3,8,5 +- or 4,10,9 +- b .L1 +-.L18: +- rldicl 10,10,0,32 +- li 7,2 +- ld 6,8(8) +- ld 8,0(8) +- addi 9,9,-65 +- sld 9,7,9 +- mulli 7,10,-8 +- slwi 10,10,3 +- addi 9,9,-1 +- srad 10,8,10 +- and 9,9,6 +- addi 7,7,64 +- sld 9,9,7 +- or 3,9,10 +- b .L1 +-.L37: +- li 7,2 +- addi 9,9,-65 +- ld 5,8(8) +- ld 6,0(8) +- sld 9,7,9 +- mulli 7,10,-4 +- addi 9,9,-1 +- addi 7,7,32 +- and 8,9,5 +- slwi 9,10,3 +- sld 10,8,7 +- srad 6,6,9 +- srad 4,8,9 +- sld 7,10,7 +- or 3,6,7 ++.L65: ++ bl __stack_chk_fail ++ nop ++.L64: ++ or 4,9,6 ++ lbz 9,14(8) ++ or 4,4,5 ++ sldi 9,9,8 ++ or 4,4,11 ++ or 4,4,9 ++ or 4,4,7 ++ b .L1 ++.L63: ++ or 4,9,6 ++ or 4,4,5 ++ or 4,4,11 ++ or 4,4,7 ++ b .L1 ++.L55: ++ lwz 3,0(8) ++ b .L1 ++.L54: ++ sldi 7,7,8 ++ sldi 9,9,16 ++ or 9,7,9 ++ or 3,9,6 ++ b .L1 ++.L53: ++ lhz 3,0(8) ++ b .L1 ++.L52: ++ mr 3,9 ++ b .L1 ++.L62: ++ or 9,9,6 ++ or 4,9,5 ++ or 4,4,7 ++ b .L1 ++.L61: ++ or 9,9,6 ++.L43: ++ or 4,9,7 ++ b .L1 ++.L60: ++ mr 4,7 ++ b .L1 ++.L59: ++ mr 4,9 ++ b .L1 ++.L58: ++ sldi 6,6,32 ++ sldi 7,7,40 ++ lwz 3,3(8) ++ sldi 9,9,48 ++ or 7,6,7 ++ or 3,7,3 ++ or 3,3,9 ++ b .L1 ++.L57: ++ sldi 7,7,32 ++ sldi 9,9,40 ++ lwz 3,2(8) ++ or 9,7,9 ++ or 3,9,3 ++ b .L1 ++.L56: ++ lwz 3,1(8) ++ sldi 9,9,32 ++ or 3,3,9 + b .L1 + .long 0 +- .byte 0,0,0,1,128,1,0,0 ++ .byte 0,0,0,1,128,2,0,0 ++ .cfi_endproc ++.LFE0: + .size vacall_receiver,.-vacall_receiver ++ .gnu_attribute 4, 9 + #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__ + .section .note.GNU-stack,"",@progbits + #endif +--- libffcall-2.2/callback/vacall_r/vacall-powerpc64-elfv2-linux.S.old 2019-08-25 01:03:08.000000000 +0000 ++++ libffcall-2.2/callback/vacall_r/vacall-powerpc64-elfv2-linux.S 2020-05-11 23:26:54.443785997 +0000 +@@ -1,45 +1,56 @@ + .file "vacall-powerpc64.c" +- .machine power4 + .abiversion 2 +- .section ".toc","aw" + .section ".text" + .align 2 + .p2align 4,,15 + .type callback_receiver, @function + callback_receiver: +-0: addis 2,12,.TOC.-0b@ha +- addi 2,2,.TOC.-0b@l ++.LFB0: ++ .cfi_startproc ++.LCF0: ++0: addis 2,12,.TOC.-.LCF0@ha ++ addi 2,2,.TOC.-.LCF0@l + .localentry callback_receiver,.-callback_receiver + mflr 0 +- std 30,-16(1) ++ std 28,-32(1) ++ std 29,-24(1) + std 31,-8(1) ++ std 30,-16(1) + std 0,16(1) +- stdu 1,-224(1) +- li 0,0 +- ld 30,0(11) ++ stdu 1,-240(1) ++ .cfi_def_cfa_offset 240 ++ .cfi_offset 65, 16 ++ .cfi_offset 28, -32 ++ .cfi_offset 29, -24 ++ .cfi_offset 31, -8 ++ .cfi_offset 30, -16 ++ li 28,0 ++ std 2,24(1) + mr 31,1 +- std 3,256(31) +- std 4,264(31) +- addi 4,31,32 +- ld 3,8(11) +- std 9,304(31) +- mtctr 30 ++ .cfi_def_cfa_register 31 ++ addi 29,31,272 ++ ld 0,-28688(13) ++ std 0,200(31) ++ li 0,0 ++ ld 0,0(11) ++ std 9,320(31) + li 9,0 +- std 5,272(31) +- std 6,280(31) +- std 7,288(31) +- std 8,296(31) +- stw 9,32(31) +- std 10,312(31) + stfd 1,96(31) ++ std 3,272(31) ++ std 4,280(31) ++ std 5,288(31) + stfd 2,104(31) +- mr 12,30 +- addi 9,31,256 ++ mtctr 0 ++ std 6,296(31) ++ std 7,304(31) ++ std 8,312(31) ++ std 10,328(31) + stfd 3,112(31) + stfd 4,120(31) + stfd 5,128(31) + stfd 6,136(31) +- std 9,56(31) ++ mr 12,0 ++ addi 4,31,32 + stfd 7,144(31) + stfd 8,152(31) + stfd 9,160(31) +@@ -47,195 +58,266 @@ + stfd 11,176(31) + stfd 12,184(31) + stfd 13,192(31) +- std 0,64(31) +- stw 0,72(31) +- stw 0,88(31) +- std 2,24(1) ++ ld 3,8(11) ++ stw 28,32(31) ++ std 9,64(31) ++ stw 9,72(31) ++ stw 9,88(31) ++ std 29,56(31) + bctrl + ld 2,24(1) + lwz 9,72(31) + cmpdi 7,9,0 + beq 7,.L1 + cmplwi 7,9,1 +- beq 7,.L27 ++ beq 7,.L41 + cmplwi 7,9,2 +- beq 7,.L30 ++ beq 7,.L45 + cmplwi 7,9,3 +- beq 7,.L27 ++ beq 7,.L41 + cmplwi 7,9,4 +- beq 7,.L31 ++ beq 7,.L46 + cmplwi 7,9,5 +- beq 7,.L32 ++ beq 7,.L47 + cmplwi 7,9,6 +- beq 7,.L33 ++ beq 7,.L48 + cmplwi 7,9,7 +- beq 7,.L34 ++ beq 7,.L49 + cmplwi 7,9,8 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,9 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,10 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,11 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,12 +- beq 7,.L35 ++ beq 7,.L50 + cmplwi 7,9,13 +- beq 7,.L36 ++ beq 7,.L51 + cmplwi 7,9,14 +- beq 7,.L28 ++ beq 7,.L42 + cmplwi 7,9,15 + bne 7,.L1 + lwz 9,32(31) +- rldicl. 10,9,54,63 ++ andi. 9,9,0x400 + beq 0,.L1 +- ld 9,80(31) +- addi 10,9,-1 +- cmpldi 7,10,15 ++ ld 10,80(31) ++ addi 9,10,-1 ++ cmpldi 7,9,15 + bgt 7,.L1 ++ cmpldi 7,10,1 + ld 8,64(31) +- cmpldi 7,9,8 +- rldicl 10,8,0,61 +- rldicr 8,8,0,60 +- add 9,9,10 +- bgt 7,.L17 +- cmpldi 7,9,8 +- slwi 9,9,3 +- bgt 7,.L18 +- ld 7,0(8) +- addi 9,9,-1 +- li 8,2 +- slwi 10,10,3 +- sld 9,8,9 +- addi 9,9,-1 +- and 9,9,7 +- srad 3,9,10 ++ lbz 9,0(8) ++ beq 7,.L52 ++ cmpldi 7,10,2 ++ beq 7,.L53 ++ cmpldi 7,10,3 ++ lbz 7,1(8) ++ lbz 6,2(8) ++ beq 7,.L54 ++ cmpldi 7,10,4 ++ beq 7,.L55 ++ cmpldi 7,10,5 ++ beq 7,.L56 ++ cmpldi 7,10,6 ++ beq 7,.L57 ++ cmpldi 7,10,7 ++ beq 7,.L58 ++ cmpldi 7,10,8 ++ ld 3,0(8) ++ beq 7,.L1 ++ cmpldi 7,10,9 ++ lbz 9,8(8) ++ sldi 9,9,56 ++ beq 7,.L59 ++ lbz 7,9(8) ++ cmpldi 7,10,10 ++ sldi 7,7,48 ++ or 7,7,9 ++ beq 7,.L60 ++ cmpldi 7,10,11 ++ lbz 9,10(8) ++ sldi 9,9,40 ++ beq 7,.L43 ++ cmpldi 7,10,12 ++ lbz 6,11(8) ++ sldi 6,6,32 ++ beq 7,.L61 ++ cmpldi 7,10,13 ++ lbz 5,12(8) ++ sldi 5,5,24 ++ beq 7,.L62 ++ cmpldi 7,10,14 ++ lbz 0,13(8) ++ sldi 0,0,16 ++ beq 7,.L63 ++ cmpldi 7,10,15 ++ beq 7,.L64 ++ ld 4,8(8) ++ .p2align 4,,15 + .L1: +- addi 1,31,224 ++ ld 9,200(31) ++ ld 10,-28688(13) ++ xor. 9,9,10 ++ li 10,0 ++ bne 0,.L65 ++ addi 1,31,240 ++ .cfi_remember_state ++ .cfi_def_cfa 1, 0 + ld 0,16(1) ++ ld 28,-32(1) ++ ld 29,-24(1) + ld 30,-16(1) + ld 31,-8(1) + mtlr 0 ++ .cfi_restore 65 ++ .cfi_restore 31 ++ .cfi_restore 30 ++ .cfi_restore 29 ++ .cfi_restore 28 + blr + .p2align 4,,15 +-.L27: +- addi 1,31,224 ++.L41: ++ .cfi_restore_state + lbz 3,40(31) +- ld 0,16(1) +- ld 30,-16(1) +- ld 31,-8(1) +- mtlr 0 +- blr ++ b .L1 + .p2align 4,,15 +-.L30: +- lbz 9,40(31) +- extsb 3,9 ++.L45: ++ lbz 3,40(31) ++ extsb 3,3 + b .L1 + .p2align 4,,15 +-.L28: +- ld 3,40(31) ++.L48: ++ lwa 3,40(31) + b .L1 + .p2align 4,,15 +-.L31: ++.L46: + lha 3,40(31) + b .L1 + .p2align 4,,15 +-.L32: ++.L47: + lhz 3,40(31) + b .L1 + .p2align 4,,15 +-.L33: +- lwa 3,40(31) +- b .L1 +- .p2align 4,,15 +-.L35: +- lfs 1,40(31) ++.L42: ++ ld 3,40(31) + b .L1 + .p2align 4,,15 +-.L34: ++.L49: + lwz 3,40(31) + b .L1 +-.L36: ++.L50: ++ lfs 1,40(31) ++ b .L1 ++.L51: + lfd 1,40(31) + b .L1 +-.L17: +- cmpldi 7,9,16 +- rldicl 10,10,0,32 +- slwi 9,9,3 +- ble 7,.L37 +- li 7,2 +- addi 9,9,-129 +- ld 0,16(8) +- ld 5,0(8) +- mulli 6,10,-8 +- sld 9,7,9 +- ld 7,8(8) +- addi 8,9,-1 +- slwi 9,10,3 +- addi 6,6,64 +- and 10,8,0 +- srad 8,5,9 +- sld 5,7,6 +- srad 9,7,9 +- sld 10,10,6 +- or 3,8,5 +- or 4,10,9 +- b .L1 +-.L18: +- rldicl 10,10,0,32 +- li 7,2 +- ld 6,8(8) +- ld 8,0(8) +- addi 9,9,-65 +- sld 9,7,9 +- mulli 7,10,-8 +- slwi 10,10,3 +- addi 9,9,-1 +- srad 10,8,10 +- and 9,9,6 +- addi 7,7,64 +- sld 9,9,7 +- or 3,9,10 +- b .L1 +-.L37: +- li 7,2 +- addi 9,9,-65 +- ld 5,8(8) +- ld 6,0(8) +- sld 9,7,9 +- mulli 7,10,-4 +- addi 9,9,-1 +- addi 7,7,32 +- and 8,9,5 +- slwi 9,10,3 +- sld 10,8,7 +- srad 6,6,9 +- srad 4,8,9 +- sld 7,10,7 +- or 3,6,7 ++.L65: ++ bl __stack_chk_fail ++ nop ++.L64: ++ or 4,9,6 ++ lbz 9,14(8) ++ or 4,4,5 ++ sldi 9,9,8 ++ or 4,4,0 ++ or 4,4,9 ++ or 4,4,7 ++ b .L1 ++.L63: ++ or 4,9,6 ++ or 4,4,5 ++ or 4,4,0 ++ or 4,4,7 ++ b .L1 ++.L55: ++ lwz 3,0(8) ++ b .L1 ++.L54: ++ sldi 7,7,8 ++ sldi 9,9,16 ++ or 9,7,9 ++ or 3,9,6 ++ b .L1 ++.L53: ++ lhz 3,0(8) ++ b .L1 ++.L52: ++ mr 3,9 ++ b .L1 ++.L62: ++ or 9,9,6 ++ or 4,9,5 ++ or 4,4,7 ++ b .L1 ++.L61: ++ or 9,9,6 ++.L43: ++ or 4,9,7 ++ b .L1 ++.L60: ++ mr 4,7 ++ b .L1 ++.L59: ++ mr 4,9 ++ b .L1 ++.L58: ++ sldi 6,6,32 ++ sldi 7,7,40 ++ lwz 3,3(8) ++ sldi 9,9,48 ++ or 7,6,7 ++ or 3,7,3 ++ or 3,3,9 ++ b .L1 ++.L57: ++ sldi 7,7,32 ++ sldi 9,9,40 ++ lwz 3,2(8) ++ or 9,7,9 ++ or 3,9,3 ++ b .L1 ++.L56: ++ lwz 3,1(8) ++ sldi 9,9,32 ++ or 3,3,9 + b .L1 + .long 0 +- .byte 0,0,0,1,128,2,0,0 ++ .byte 0,0,0,1,128,4,0,0 ++ .cfi_endproc ++.LFE0: + .size callback_receiver,.-callback_receiver + .align 2 + .p2align 4,,15 + .globl callback_get_receiver + .type callback_get_receiver, @function + callback_get_receiver: +-0: addis 2,12,.TOC.-0b@ha +- addi 2,2,.TOC.-0b@l ++.LFB1: ++ .cfi_startproc ++.LCF1: ++0: addis 2,12,.TOC.-.LCF1@ha ++ addi 2,2,.TOC.-.LCF1@l + .localentry callback_get_receiver,.-callback_get_receiver + std 31,-8(1) + stdu 1,-48(1) ++ .cfi_def_cfa_offset 48 ++ .cfi_offset 31, -8 + addis 3,2,callback_receiver@toc@ha + addi 3,3,callback_receiver@toc@l + mr 31,1 ++ .cfi_def_cfa_register 31 + addi 1,31,48 ++ .cfi_def_cfa 1, 0 + ld 31,-8(1) ++ .cfi_restore 31 + blr + .long 0 + .byte 0,0,0,0,128,1,0,0 ++ .cfi_endproc ++.LFE1: + .size callback_get_receiver,.-callback_get_receiver ++ .gnu_attribute 4, 9 + #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__ + .section .note.GNU-stack,"",@progbits + #endif diff --git a/user/libgd/APKBUILD b/user/libgd/APKBUILD index 2a537dfca..c5da3861e 100644 --- a/user/libgd/APKBUILD +++ b/user/libgd/APKBUILD @@ -1,27 +1,24 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: pkgname=libgd -pkgver=2.2.5 -pkgrel=2 +pkgver=2.3.0 +pkgrel=0 pkgdesc="Library for dynamic image creation" url="http://libgd.github.io/" arch="all" -options="!check" # Upstream bug 201 regression. +options="!check" # Multiple test suite failures. Assumes SSE+ math. license="MIT" depends="" makedepends="autoconf automake bash fontconfig-dev freetype-dev libjpeg-turbo-dev libpng-dev libtool libwebp-dev tiff-dev zlib-dev " +# While the fontconfig/basic test checks for what happens if an empty +# fontlist is passed to gdImageStringFT(), there still needs to be at +# least one font installed on the system... +checkdepends="ttf-liberation" subpackages="$pkgname-dev" replaces="gd" -source="https://github.com/$pkgname/$pkgname/releases/download/gd-$pkgver/$pkgname-$pkgver.tar.xz - CVE-2016-7568.patch - CVE-2018-5711.patch - CVE-2018-14553.patch - CVE-2018-1000222.patch - CVE-2019-6977.patch - CVE-2019-6978.patch - " +source="https://github.com/$pkgname/$pkgname/releases/download/gd-$pkgver/$pkgname-$pkgver.tar.xz" # secfixes: # 2.2.5-r1: @@ -31,11 +28,8 @@ source="https://github.com/$pkgname/$pkgname/releases/download/gd-$pkgver/$pkgna # - CVE-2019-6978 # 2.2.5-r2: # - CVE-2018-14553 - -prepare() { - default_prepare - autoreconf -vif -} +# 2.3.0-r0: +# - CVE-2019-11038 build() { ./configure \ @@ -61,13 +55,8 @@ dev() { default_dev depends="$pkgname perl" replaces="gd-dev" + mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/bdftogd "$subpkgdir"/usr/bin } -sha512sums="e4598e17a277a75e02255402182cab139cb3f2cffcd68ec05cc10bbeaf6bc7aa39162c3445cd4a7efc1a26b72b9152bbedb187351e3ed099ea51767319997a6b libgd-2.2.5.tar.xz -8310d11a2398e8617c9defc4500b9ce3897ac1026002ffa36000f1d1f8df19336005e8c1f6587533f1d787a4a54d7a3a28ad25bddbc966a018aedf4d8704a716 CVE-2016-7568.patch -d6577566814cbe2d93b141a4216b32acdeb2989dc1712eb137565081b913151bbb4c69911c96b2bb7c90695078a85152d368aad183de494d1283fde25021751b CVE-2018-5711.patch -353491fab6c6e0916dca910c9d14f0e0efab6d9d88c48f6f3f2f69e60312489039b25d26980e7c5c2c04ed9e56003b99eae77bd412fbbed1d8eb47d561f7af74 CVE-2018-14553.patch -d12462f1b159d50b9032435e9767a5d76e1797a88be950ed33dda7aa17005b7cb60560d04b9520e46d8111e1669d42ce28cb2c508f9c8825d545ac0335d2a10b CVE-2018-1000222.patch -df84e469515f684d79ebad163e137401627310a984ac1ae6a4d31b739b3dc6d9144f101e9bfc3211af1d7cdbaa827721d21a9fe528e69b9b60a943ec8a7ab74b CVE-2019-6977.patch -3bf31941365a878bef899afa14a89e4ad0fbfb3280d34b2118c8484698e15eff600751ae3ce146a4f006e6c21730cb18899bae3538f6cc2651025274b40cf1ca CVE-2019-6978.patch" +sha512sums="5b201d22560e147a3d5471010b898ad0268c3a2453b870d1267b6ba92e540cf9f75099336c1ab08217e41827ac86fe04525726bf29ad117e5dcbaef9a8d0622a libgd-2.3.0.tar.xz" diff --git a/user/libgd/CVE-2016-7568.patch b/user/libgd/CVE-2016-7568.patch deleted file mode 100644 index 56156411e..000000000 --- a/user/libgd/CVE-2016-7568.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2806adfdc27a94d333199345394d7c302952b95f Mon Sep 17 00:00:00 2001 -From: trylab <trylab@users.noreply.github.com> -Date: Tue, 6 Sep 2016 18:35:32 +0800 -Subject: [PATCH] Fix integer overflow in gdImageWebpCtx - -Integer overflow can be happened in expression gdImageSX(im) * 4 * -gdImageSY(im). It could lead to heap buffer overflow in the following -code. This issue has been reported to the PHP Bug Tracking System. The -proof-of-concept file will be supplied some days later. This issue was -discovered by Ke Liu of Tencent's Xuanwu LAB. ---- - src/gd_webp.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/gd_webp.c b/src/gd_webp.c -index 8eb4dee..9886399 100644 ---- a/src/gd_webp.c -+++ b/src/gd_webp.c -@@ -199,6 +199,14 @@ BGD_DECLARE(void) gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quality) - quality = 80; - } - -+ if (overflow2(gdImageSX(im), 4)) { -+ return; -+ } -+ -+ if (overflow2(gdImageSX(im) * 4, gdImageSY(im))) { -+ return; -+ } -+ - argb = (uint8_t *)gdMalloc(gdImageSX(im) * 4 * gdImageSY(im)); - if (!argb) { - return; diff --git a/user/libgd/CVE-2018-1000222.patch b/user/libgd/CVE-2018-1000222.patch deleted file mode 100644 index 80f9712bf..000000000 --- a/user/libgd/CVE-2018-1000222.patch +++ /dev/null @@ -1,73 +0,0 @@ -From ac16bdf2d41724b5a65255d4c28fb0ec46bc42f5 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier@gentoo.org> -Date: Sat, 14 Jul 2018 13:54:08 -0400 -Subject: [PATCH] bmp: check return value in gdImageBmpPtr - -Closes #447. ---- - src/gd_bmp.c | 17 ++++++++++++++--- - 1 file changed, 14 insertions(+), 3 deletions(-) - -diff --git a/src/gd_bmp.c b/src/gd_bmp.c -index bde0b9d3..78f40d9a 100644 ---- a/src/gd_bmp.c -+++ b/src/gd_bmp.c -@@ -47,6 +47,8 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp - static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp_hdr_t *header); - static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info); - -+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression); -+ - #define BMP_DEBUG(s) - - static int gdBMPPutWord(gdIOCtx *out, int w) -@@ -87,8 +89,10 @@ BGD_DECLARE(void *) gdImageBmpPtr(gdImagePtr im, int *size, int compression) - void *rv; - gdIOCtx *out = gdNewDynamicCtx(2048, NULL); - if (out == NULL) return NULL; -- gdImageBmpCtx(im, out, compression); -- rv = gdDPExtractData(out, size); -+ if (!_gdImageBmpCtx(im, out, compression)) -+ rv = gdDPExtractData(out, size); -+ else -+ rv = NULL; - out->gd_free(out); - return rv; - } -@@ -141,6 +145,11 @@ BGD_DECLARE(void) gdImageBmp(gdImagePtr im, FILE *outFile, int compression) - compression - whether to apply RLE or not. - */ - BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) -+{ -+ _gdImageBmpCtx(im, out, compression); -+} -+ -+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) - { - int bitmap_size = 0, info_size, total_size, padding; - int i, row, xpos, pixel; -@@ -148,6 +157,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) - unsigned char *uncompressed_row = NULL, *uncompressed_row_start = NULL; - FILE *tmpfile_for_compression = NULL; - gdIOCtxPtr out_original = NULL; -+ int ret = 1; - - /* No compression if its true colour or we don't support seek */ - if (im->trueColor) { -@@ -325,6 +335,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) - out_original = NULL; - } - -+ ret = 0; - cleanup: - if (tmpfile_for_compression) { - #ifdef _WIN32 -@@ -338,7 +349,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) - if (out_original) { - out_original->gd_free(out_original); - } -- return; -+ return ret; - } - - static int compress_row(unsigned char *row, int length) diff --git a/user/libgd/CVE-2018-14553.patch b/user/libgd/CVE-2018-14553.patch deleted file mode 100644 index 7510101d1..000000000 --- a/user/libgd/CVE-2018-14553.patch +++ /dev/null @@ -1,99 +0,0 @@ -From a93eac0e843148dc2d631c3ba80af17e9c8c860f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?F=C3=A1bio=20Cabral=20Pacheco?= <fcabralpacheco@gmail.com> -Date: Fri, 20 Dec 2019 12:03:33 -0300 -Subject: [PATCH] Fix potential NULL pointer dereference in gdImageClone() - ---- - src/gd.c | 9 +-------- - tests/gdimageclone/CMakeLists.txt | 1 + - tests/gdimageclone/Makemodule.am | 3 ++- - tests/gdimageclone/style.c | 30 ++++++++++++++++++++++++++++++ - 5 files changed, 35 insertions(+), 9 deletions(-) - create mode 100644 tests/gdimageclone/style.c - -diff --git a/src/gd.c b/src/gd.c -index 592a0286..d564d1f9 100644 ---- a/src/gd.c -+++ b/src/gd.c -@@ -2865,14 +2865,6 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) { - } - } - -- if (src->styleLength > 0) { -- dst->styleLength = src->styleLength; -- dst->stylePos = src->stylePos; -- for (i = 0; i < src->styleLength; i++) { -- dst->style[i] = src->style[i]; -- } -- } -- - dst->interlace = src->interlace; - - dst->alphaBlendingFlag = src->alphaBlendingFlag; -@@ -2907,6 +2899,7 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) { - - if (src->style) { - gdImageSetStyle(dst, src->style, src->styleLength); -+ dst->stylePos = src->stylePos; - } - - for (i = 0; i < gdMaxColors; i++) { -diff --git a/tests/gdimageclone/CMakeLists.txt b/tests/gdimageclone/CMakeLists.txt -index e6ccc318..662f4e96 100644 ---- a/tests/gdimageclone/CMakeLists.txt -+++ b/tests/gdimageclone/CMakeLists.txt -@@ -1,5 +1,6 @@ - LIST(APPEND TESTS_FILES - bug00300 -+ style - ) - - ADD_GD_TESTS() -diff --git a/tests/gdimageclone/Makemodule.am b/tests/gdimageclone/Makemodule.am -index 4b1b54c0..51abf5c1 100644 ---- a/tests/gdimageclone/Makemodule.am -+++ b/tests/gdimageclone/Makemodule.am -@@ -1,5 +1,6 @@ - libgd_test_programs += \ -- gdimageclone/bug00300 -+ gdimageclone/bug00300 \ -+ gdimageclone/style - - EXTRA_DIST += \ - gdimageclone/CMakeLists.txt -diff --git a/tests/gdimageclone/style.c b/tests/gdimageclone/style.c -new file mode 100644 -index 00000000..c2b246ed ---- /dev/null -+++ b/tests/gdimageclone/style.c -@@ -0,0 +1,30 @@ -+/** -+ * Cloning an image should exactly reproduce all style related data -+ */ -+ -+ -+#include <string.h> -+#include "gd.h" -+#include "gdtest.h" -+ -+ -+int main() -+{ -+ gdImagePtr im, clone; -+ int style[] = {0, 0, 0}; -+ -+ im = gdImageCreate(8, 8); -+ gdImageSetStyle(im, style, sizeof(style)/sizeof(style[0])); -+ -+ clone = gdImageClone(im); -+ gdTestAssert(clone != NULL); -+ -+ gdTestAssert(clone->styleLength == im->styleLength); -+ gdTestAssert(clone->stylePos == im->stylePos); -+ gdTestAssert(!memcmp(clone->style, im->style, sizeof(style)/sizeof(style[0]))); -+ -+ gdImageDestroy(clone); -+ gdImageDestroy(im); -+ -+ return gdNumFailures(); -+} diff --git a/user/libgd/CVE-2018-5711.patch b/user/libgd/CVE-2018-5711.patch deleted file mode 100644 index dff2b9ea2..000000000 --- a/user/libgd/CVE-2018-5711.patch +++ /dev/null @@ -1,61 +0,0 @@ -From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001 -From: "Christoph M. Becker" <cmbecker69@gmx.de> -Date: Wed, 29 Nov 2017 19:37:38 +0100 -Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx - -Due to a signedness confusion in `GetCode_` a corrupt GIF file can -trigger an infinite loop. Furthermore we make sure that a GIF without -any palette entries is treated as invalid *after* open palette entries -have been removed. - -CVE-2018-5711 - -See also https://bugs.php.net/bug.php?id=75571. ---- - src/gd_gif_in.c | 12 ++++++------ - tests/gif/.gitignore | 1 + - tests/gif/CMakeLists.txt | 1 + - tests/gif/Makemodule.am | 2 ++ - tests/gif/php_bug_75571.c | 28 ++++++++++++++++++++++++++++ - tests/gif/php_bug_75571.gif | Bin 0 -> 1731 bytes - 6 files changed, 38 insertions(+), 6 deletions(-) - create mode 100644 tests/gif/php_bug_75571.c - create mode 100644 tests/gif/php_bug_75571.gif - -diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c -index daf26e79..0a8bd717 100644 ---- a/src/gd_gif_in.c -+++ b/src/gd_gif_in.c -@@ -335,11 +335,6 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd) - return 0; - } - -- if(!im->colorsTotal) { -- gdImageDestroy(im); -- return 0; -- } -- - /* Check for open colors at the end, so - * we can reduce colorsTotal and ultimately - * BitsPerPixel */ -@@ -351,6 +346,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd) - } - } - -+ if(!im->colorsTotal) { -+ gdImageDestroy(im); -+ return 0; -+ } -+ - return im; - } - -@@ -447,7 +447,7 @@ static int - GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP) - { - int i, j, ret; -- unsigned char count; -+ int count; - - if(flag) { - scd->curbit = 0; diff --git a/user/libgd/CVE-2019-6977.patch b/user/libgd/CVE-2019-6977.patch deleted file mode 100644 index 4cfb9ab98..000000000 --- a/user/libgd/CVE-2019-6977.patch +++ /dev/null @@ -1,21 +0,0 @@ -Bug: https://bts.adelielinux.org/show_bug.cgi?id=159 -Backported-From: http://git.php.net/?p=php-src.git;a=commit;h=7a12dad4dd6c370835b13afae214b240082c7538 -Author: A. Wilcox <awilfox@adelielinux.org> -Bug: https://bugs.php.net/bug.php?id=77270 -Author: Christoph M. Becker <cmbecker69@gmx.de> -Committer: Stanislav Malyshev <stas@php.net> -Upstream-Status: unknown - ---- libgd-2.2.5/src/gd_color_match.c.old 2017-08-30 11:05:54.000000000 +0000 -+++ libgd-2.2.5/src/gd_color_match.c 2019-10-03 16:17:55.842322245 +0000 -@@ -31,8 +31,8 @@ - return -4; /* At least 1 color must be allocated */ - } - -- buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * im2->colorsTotal); -- memset (buf, 0, sizeof(unsigned long) * 5 * im2->colorsTotal ); -+ buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * gdMaxColors); -+ memset( buf, 0, sizeof(unsigned long) * 5 * gdMaxColors ); - - for (x=0; x < im1->sx; x++) { - for( y=0; y<im1->sy; y++ ) { diff --git a/user/libgd/CVE-2019-6978.patch b/user/libgd/CVE-2019-6978.patch deleted file mode 100644 index 0cfdda919..000000000 --- a/user/libgd/CVE-2019-6978.patch +++ /dev/null @@ -1,216 +0,0 @@ -From 553702980ae89c83f2d6e254d62cf82e204956d0 Mon Sep 17 00:00:00 2001 -From: "Christoph M. Becker" <cmbecker69@gmx.de> -Date: Thu, 17 Jan 2019 11:54:55 +0100 -Subject: [PATCH] Fix #492: Potential double-free in gdImage*Ptr() - -Whenever `gdImage*Ptr()` calls `gdImage*Ctx()` and the latter fails, we -must not call `gdDPExtractData()`; otherwise a double-free would -happen. Since `gdImage*Ctx()` are void functions, and we can't change -that for BC reasons, we're introducing static helpers which are used -internally. - -We're adding a regression test for `gdImageJpegPtr()`, but not for -`gdImageGifPtr()` and `gdImageWbmpPtr()` since we don't know how to -trigger failure of the respective `gdImage*Ctx()` calls. - -This potential security issue has been reported by Solmaz Salimi (aka. -Rooney). ---- - src/gd_gif_out.c | 18 +++++++++++++++--- - src/gd_jpeg.c | 20 ++++++++++++++++---- - src/gd_wbmp.c | 21 ++++++++++++++++++--- - tests/jpeg/.gitignore | 1 + - tests/jpeg/CMakeLists.txt | 1 + - tests/jpeg/Makemodule.am | 3 ++- - tests/jpeg/jpeg_ptr_double_free.c | 31 +++++++++++++++++++++++++++++++ - 7 files changed, 84 insertions(+), 11 deletions(-) - create mode 100644 tests/jpeg/jpeg_ptr_double_free.c - -diff --git a/src/gd_gif_out.c b/src/gd_gif_out.c -index 298a5812..d5a95346 100644 ---- a/src/gd_gif_out.c -+++ b/src/gd_gif_out.c -@@ -99,6 +99,7 @@ static void char_init(GifCtx *ctx); - static void char_out(int c, GifCtx *ctx); - static void flush_char(GifCtx *ctx); - -+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out); - - - -@@ -131,8 +132,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size) - void *rv; - gdIOCtx *out = gdNewDynamicCtx(2048, NULL); - if (out == NULL) return NULL; -- gdImageGifCtx(im, out); -- rv = gdDPExtractData(out, size); -+ if (!_gdImageGifCtx(im, out)) { -+ rv = gdDPExtractData(out, size); -+ } else { -+ rv = NULL; -+ } - out->gd_free(out); - return rv; - } -@@ -220,6 +224,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile) - - */ - BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) -+{ -+ _gdImageGifCtx(im, out); -+} -+ -+/* returns 0 on success, 1 on failure */ -+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) - { - gdImagePtr pim = 0, tim = im; - int interlace, BitsPerPixel; -@@ -231,7 +241,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) - based temporary image. */ - pim = gdImageCreatePaletteFromTrueColor(im, 1, 256); - if(!pim) { -- return; -+ return 1; - } - tim = pim; - } -@@ -247,6 +257,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) - /* Destroy palette based temporary image. */ - gdImageDestroy( pim); - } -+ -+ return 0; - } - - -diff --git a/src/gd_jpeg.c b/src/gd_jpeg.c -index fc058420..96ef4302 100644 ---- a/src/gd_jpeg.c -+++ b/src/gd_jpeg.c -@@ -123,6 +123,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo) - exit(99); - } - -+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality); -+ - /* - * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality - * QUALITY. If QUALITY is in the range 0-100, increasing values -@@ -237,8 +239,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality) - void *rv; - gdIOCtx *out = gdNewDynamicCtx(2048, NULL); - if (out == NULL) return NULL; -- gdImageJpegCtx(im, out, quality); -- rv = gdDPExtractData(out, size); -+ if (!_gdImageJpegCtx(im, out, quality)) { -+ rv = gdDPExtractData(out, size); -+ } else { -+ rv = NULL; -+ } - out->gd_free(out); - return rv; - } -@@ -259,6 +264,12 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile); - - */ - BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) -+{ -+ _gdImageJpegCtx(im, outfile, quality); -+} -+ -+/* returns 0 on success, 1 on failure */ -+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) - { - struct jpeg_compress_struct cinfo; - struct jpeg_error_mgr jerr; -@@ -293,7 +304,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) - if(row) { - gdFree(row); - } -- return; -+ return 1; - } - - cinfo.err->emit_message = jpeg_emit_message; -@@ -334,7 +345,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) - if(row == 0) { - gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n"); - jpeg_destroy_compress(&cinfo); -- return; -+ return 1; - } - - rowptr[0] = row; -@@ -411,6 +424,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) - jpeg_finish_compress(&cinfo); - jpeg_destroy_compress(&cinfo); - gdFree(row); -+ return 0; - } - - -diff --git a/src/gd_wbmp.c b/src/gd_wbmp.c -index f19a1c96..a49bdbec 100644 ---- a/src/gd_wbmp.c -+++ b/src/gd_wbmp.c -@@ -88,6 +88,8 @@ int gd_getin(void *in) - return (gdGetC((gdIOCtx *)in)); - } - -+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out); -+ - /* - Function: gdImageWBMPCtx - -@@ -100,6 +102,12 @@ int gd_getin(void *in) - out - the stream where to write - */ - BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) -+{ -+ _gdImageWBMPCtx(image, fg, out); -+} -+ -+/* returns 0 on success, 1 on failure */ -+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) - { - int x, y, pos; - Wbmp *wbmp; -@@ -107,7 +115,7 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) - /* create the WBMP */ - if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) { - gd_error("Could not create WBMP\n"); -- return; -+ return 1; - } - - /* fill up the WBMP structure */ -@@ -123,11 +131,15 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) - - /* write the WBMP to a gd file descriptor */ - if(writewbmp(wbmp, &gd_putout, out)) { -+ freewbmp(wbmp); - gd_error("Could not save WBMP\n"); -+ return 1; - } - - /* des submitted this bugfix: gdFree the memory. */ - freewbmp(wbmp); -+ -+ return 0; - } - - /* -@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg) - void *rv; - gdIOCtx *out = gdNewDynamicCtx(2048, NULL); - if (out == NULL) return NULL; -- gdImageWBMPCtx(im, fg, out); -- rv = gdDPExtractData(out, size); -+ if (!_gdImageWBMPCtx(im, fg, out)) { -+ rv = gdDPExtractData(out, size); -+ } else { -+ rv = NULL; -+ } - out->gd_free(out); - return rv; - } diff --git a/user/libgeoip/APKBUILD b/user/libgeoip/APKBUILD new file mode 100644 index 000000000..db33d2f11 --- /dev/null +++ b/user/libgeoip/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Alyx Wolcott <alyx@leuhta.com> +# Maintainer: Alyx Wolcott <alyx@leuhta.com> +pkgname=libgeoip +pkgver=1.6.12 +pkgrel=0 +pkgdesc="GeoIP legacy C API" +url="https://github.com/maxmind/geoip-api-c" +arch="all" +license="LGPL-2.1-only" +subpackages="$pkgname-dev $pkgname-doc" +source="https://github.com/maxmind/geoip-api-c/releases/download/v$pkgver/GeoIP-$pkgver.tar.gz" +builddir="$srcdir/GeoIP-$pkgver" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="a1c8120692a7ba6de5836550917f86f4797dd236a8b7d71b6f92b5389e4b071d89e57036654f5de1d4b762730a2a5c331c31414eab0c889c9befaa097941fee7 GeoIP-1.6.12.tar.gz" diff --git a/user/libinput/APKBUILD b/user/libinput/APKBUILD index 21aeed83d..1e2c6d670 100644 --- a/user/libinput/APKBUILD +++ b/user/libinput/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libinput -pkgver=1.15.2 +pkgver=1.15.4 pkgrel=0 pkgdesc="Library for handling input devices" url="https://www.freedesktop.org/wiki/Software/libinput/" @@ -32,4 +32,4 @@ package() { DESTDIR="$pkgdir" ninja -C builddir/ install } -sha512sums="f6b50dbdf6ee6b65f88e020c4292c94c3178125d58629f27c2e52f92b658ccd67e0c5604fbf0b303621ff0386637ce1e291daaa991761d4145e8bcda4dd128a2 libinput-1.15.2.tar.xz" +sha512sums="4659818952dc729cd5bdb78ebe21edbbacbf8a66a592b13ba30f3bb4c4e264208ec94440a253cfa4edc8b2ef904954eecea6be0f8d63cf239e3858d3abb64a80 libinput-1.15.4.tar.xz" diff --git a/user/libkscreen/APKBUILD b/user/libkscreen/APKBUILD index 0e4679641..c262c702f 100644 --- a/user/libkscreen/APKBUILD +++ b/user/libkscreen/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=libkscreen -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE Plasma screen management software" url="https://www.kde.org/" @@ -13,7 +13,7 @@ depends_dev="qt5-qtbase-dev" makedepends="$depends_dev cmake extra-cmake-modules qt5-qtx11extras-dev qt5-qttools-dev kwayland-dev doxygen" subpackages="kscreen-doctor:doctor $pkgname-dev $pkgname-doc $pkgname-wayland" -source="https://download.kde.org/stable/plasma/$pkgver/libkscreen-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/libkscreen-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -53,4 +53,4 @@ wayland() { "$subpkgdir"/usr/lib/qt5/plugins/kf5/kscreen/ } -sha512sums="fba933c4b26a32f19a6352738e3704f8a35ad24b268bed6fca173c2c4abe0b899845ce1750ce6473b3b9185239332980384a8bb708081484162ee30ff4b3e29a libkscreen-5.18.2.tar.xz" +sha512sums="73e5d105701d11f1bbe403034614d89a6aab3e4f47d949633e2104c590c62a4e89e7643558056d45d16e43d326c52a950024b84f184dd86fff9cfd57f37efa43 libkscreen-5.18.4.1.tar.xz" diff --git a/user/libksysguard/APKBUILD b/user/libksysguard/APKBUILD index b79e945db..a72a949e6 100644 --- a/user/libksysguard/APKBUILD +++ b/user/libksysguard/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=libksysguard -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE system monitor library" url="https://www.kde.org/" @@ -16,7 +16,7 @@ makedepends="$depends_dev cmake extra-cmake-modules python3 libx11-dev zlib-dev kwindowsystem-dev kwidgetsaddons-dev qt5-qtwebchannel-dev kio-dev kglobalaccel-dev" subpackages="$pkgname-dev $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/libksysguard-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/libksysguard-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="75de2526ffeaabf623163f6fd1f592a8eb3edb0f25b70a1f7c8715d83a01158079addc5ea3cf81baa4650049370a0efefcbece1b3f80edfe511c6942d08ad2a6 libksysguard-5.18.2.tar.xz" +sha512sums="4407bb15ca4e1e70f8c082ba11c25b4855330ca54fea15c900610245e2966bf2eeebbb6d5ea94bc0627df869363837660bfcca0a88fbfec9cc2ca43e0b635cd8 libksysguard-5.18.4.1.tar.xz" diff --git a/user/libkworkspace/APKBUILD b/user/libkworkspace/APKBUILD index 487c573a7..84b7e5e7a 100644 --- a/user/libkworkspace/APKBUILD +++ b/user/libkworkspace/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=libkworkspace -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE Plasma 5 workspace library" url="https://www.kde.org/plasma-desktop" @@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules libice-dev libsm-dev libxau-dev kcoreaddons-dev ki18n-dev kscreenlocker-dev kwin-dev kwindowsystem-dev plasma-framework-dev" subpackages="$pkgname-dev" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-workspace-$pkgver.tar.xz +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-workspace-$pkgver.tar.xz header-generation.patch session.patch standalone.patch @@ -45,7 +45,7 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0fa91451e28b70d7602de79686afb57143eecd86e3856ed9c773bc4f5394610e5a5cf2f13fd03398b7a01624b45ab86d7e12da016980cb91ab23adac41a6793e plasma-workspace-5.18.2.tar.xz +sha512sums="683a97a83361149560d866f3d064448a43783c6ea715e9a5e0764ef9ec6dc8bd26e4c7a49023f913b8a649abef39614e5bd3b9e000477949584921c3f1754ab7 plasma-workspace-5.18.4.1.tar.xz 3f72f33219999bc39c52c143c047df37eb34b4149bf479ec9aee64ce14c78946635cf20cf120858f10a676a2b7c00cef0b95aa696e8e71b7412d936fbdd7e755 header-generation.patch 1c7a23a4bb13030b992b8bde125548f104dbc6db489b60a6c40d91e2b793b208f35f88cca9ad90a9cc116d92b902d5c536b0e643805799b07286fbc82a0dafe8 session.patch -b9dc109c4a2dafddceba194cfa268ef3b34b21826d715d680447c0d3932d16daa16a7cf12c6456f48d6c654beeb7fcb02f30512bd74b80264e9af26871164e4c standalone.patch" +520a29666deed549b9d6bafe9ae6576aae39004616a46383e40d874fc0622710497de85da508cf6299f55e27c2d2681fc140678efef592abb14253b02d0fce59 standalone.patch" diff --git a/user/libkworkspace/standalone.patch b/user/libkworkspace/standalone.patch index 23ccb2de2..27ad62eab 100644 --- a/user/libkworkspace/standalone.patch +++ b/user/libkworkspace/standalone.patch @@ -15,7 +15,7 @@ index 3c4c47870..53bc780b5 100644 +project(libkworkspace) + +if(${CMAKE_SOURCE_DIR} STREQUAL ${libkworkspace_SOURCE_DIR}) -+ set(PROJECT_VERSION "5.18.2") ++ set(PROJECT_VERSION "5.18.4.1") + set(PROJECT_VERSION_MAJOR 5) + + cmake_minimum_required(VERSION 3.0) diff --git a/user/libmaxminddb/APKBUILD b/user/libmaxminddb/APKBUILD new file mode 100644 index 000000000..f1762c4ca --- /dev/null +++ b/user/libmaxminddb/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Alyx Wolcott <alyx@leuhta.com> +# Maintainer: Alyx Wolcott <alyx@leuhta.com> +pkgname=libmaxminddb +pkgver=1.4.2 +pkgrel=0 +pkgdesc="Library for the MaxMind DB file format" +url="http://maxmind.github.io/libmaxminddb/" +arch="all" +license="Apache-2.0" +subpackages="$pkgname-dev $pkgname-doc" +source="https://github.com/maxmind/libmaxminddb/releases/download/$pkgver/$pkgname-$pkgver.tar.gz" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="bc18d2f19a74639888a466483afde1bccfc3a83787011a6f38808b76e5a513c9912ff369ccbf584091d4def657e0574b16b35dc69ab12ae4c439aaaf3669c4c1 libmaxminddb-1.4.2.tar.gz" diff --git a/user/libmbim/APKBUILD b/user/libmbim/APKBUILD index ab32fba1b..360392390 100644 --- a/user/libmbim/APKBUILD +++ b/user/libmbim/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libmbim -pkgver=1.20.4 +pkgver=1.22.0 pkgrel=0 pkgdesc="Library for interfacing with WWAN modems" url="https://www.freedesktop.org/wiki/Software/libmbim/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="246f601ddda48b10e8a7b337d6e996dc65f6300e87f13d5260a5c903f95e9035e8a8d1c88540101c22fb3c44eca242451ab75bbfdb6503cfbce279c6d4cf99c8 libmbim-1.20.4.tar.xz" +sha512sums="ec7ecf1c65dd7b6017cc3e91eadd6700a954065d070640ab97e583b1791cc315133dd6c882f569fff2efe1f56e3766821533c20d814fe7db75aeb0bbcd7ed3ee libmbim-1.22.0.tar.xz" diff --git a/user/libnftnl/APKBUILD b/user/libnftnl/APKBUILD index b634ff0c2..2456f0522 100644 --- a/user/libnftnl/APKBUILD +++ b/user/libnftnl/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Contributor: Luis Ressel <aranea@aixah.de> -# Maintainer: +# Maintainer: Molly Miller <sysvinit@adelielinux.org> pkgname=libnftnl -pkgver=1.1.5 +pkgver=1.1.6 pkgrel=0 pkgdesc="Netfilter library providing interface to the nf_tables subsystem" url="https://netfilter.org/projects/libnftnl" @@ -12,7 +12,6 @@ depends="" makedepends="libmnl-dev" subpackages="$pkgname-dev" source="https://netfilter.org/projects/libnftnl/files/$pkgname-$pkgver.tar.bz2 - nft-flowtable-test.patch " build() { @@ -34,5 +33,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a0495e1a99ea9efcf3994db48e50943023ff3d8101055887574ff4eb6b0df8600cf7db68a9c91ca02bbbcc1f01099b008649f88321bb956897bcc90eb4167ee7 libnftnl-1.1.5.tar.bz2 -0978037a5dec71a96f5713dbc5a4dc8dc30b7b37d79ec7dd6ec8b201740303785c3625c21a2388f8fd5d9d446f8706ac14d0bf5909a48ed3ef3e7417173dd2c8 nft-flowtable-test.patch" +sha512sums="3de13cb667060f0942c8dd9e139ee8c7aff1854c544793774a827c01d06e432a4ce05d54846e1062aa620b5e54533da09daa9588467866c82c9119ef4cfbb57d libnftnl-1.1.6.tar.bz2 +" diff --git a/user/libnftnl/nft-flowtable-test.patch b/user/libnftnl/nft-flowtable-test.patch deleted file mode 100644 index 719c1f2cf..000000000 --- a/user/libnftnl/nft-flowtable-test.patch +++ /dev/null @@ -1,37 +0,0 @@ -From b2388765e0c4405442faa13845419f6a35d0134c Mon Sep 17 00:00:00 2001 -From: Phil Sutter <phil@nwl.cc> -Date: Mon, 2 Dec 2019 18:29:56 +0100 -Subject: tests: flowtable: Don't check NFTNL_FLOWTABLE_SIZE - -Marshalling code around that attribute has been dropped by commit -d1c4b98c733a5 ("flowtable: remove NFTA_FLOWTABLE_SIZE") so it's value is -lost during the test. - -Assuming that NFTNL_FLOWTABLE_SIZE will receive kernel support at a -later point, leave the test code in place but just comment it out. - -Fixes: d1c4b98c733a5 ("flowtable: remove NFTA_FLOWTABLE_SIZE") -Signed-off-by: Phil Sutter <phil@nwl.cc> -Acked-by: Pablo Neira Ayuso <pablo@netfilter.org> ---- - tests/nft-flowtable-test.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/tests/nft-flowtable-test.c b/tests/nft-flowtable-test.c -index 3edb00d..8ab8d4c 100644 ---- a/tests/nft-flowtable-test.c -+++ b/tests/nft-flowtable-test.c -@@ -33,9 +33,11 @@ static void cmp_nftnl_flowtable(struct nftnl_flowtable *a, struct nftnl_flowtabl - if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_USE) != - nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_USE)) - print_err("Flowtable use mismatches"); -+#if 0 - if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_SIZE) != - nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_SIZE)) - print_err("Flowtable size mismatches"); -+#endif - if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_FLAGS) != - nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_FLAGS)) - print_err("Flowtable flags mismatches"); --- -2.24.1 diff --git a/user/libnotify/APKBUILD b/user/libnotify/APKBUILD index ad021ad4f..9e7ded542 100644 --- a/user/libnotify/APKBUILD +++ b/user/libnotify/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libnotify -pkgver=0.7.8 +pkgver=0.7.9 pkgrel=0 pkgdesc="Desktop notification library" url="https://developer.gnome.org/notification-spec/" @@ -9,17 +9,19 @@ options="!check" # Test suite requires running X11 license="LGPL-2.1+" depends="" makedepends="gdk-pixbuf-dev glib-dev gobject-introspection-dev gtk-doc - gtk+3.0-dev meson ninja" + gtk+3.0-dev meson ninja docbook-xsl-ns xmlto" subpackages="$pkgname-dev $pkgname-doc" source="https://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz" build() { - meson --prefix=/usr builddir/ - ninja -C builddir/ + meson \ + -Dprefix=/usr \ + build + ninja -C build } package() { - DESTDIR="$pkgdir" ninja -C builddir/ install + DESTDIR="$pkgdir" ninja -C build install } -sha512sums="9973d7a1af5dd7cfbaa0d0d2c9e72a40df9d814967fde47e95763a69690cc4ed32ecf713d75f91f3dff99a693eff9dab963be124e0530ebf231d517a44e75e94 libnotify-0.7.8.tar.xz" +sha512sums="8a842b50777279efdb7d96a836a546c47decad158a4f03f7ffc818860d1f6276a657619e4f4a19a4e2f5ad55e0371c793420d50d802983700e8c342273b73874 libnotify-0.7.9.tar.xz" diff --git a/user/libpeas/APKBUILD b/user/libpeas/APKBUILD index 9c517e05f..74e405157 100644 --- a/user/libpeas/APKBUILD +++ b/user/libpeas/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=libpeas -pkgver=1.24.1 +pkgver=1.26.0 pkgrel=0 pkgdesc="GObject-based plugin framework" url="https://gnome.org" @@ -13,7 +13,8 @@ depends="" makedepends="glib-dev gobject-introspection-dev gtk+3.0-dev meson ninja py3-pygobject py3-pygobject-dev python3-dev" subpackages="$pkgname-dev $pkgname-lang" -source="https://download.gnome.org/sources/libpeas/${pkgver%.*}/libpeas-$pkgver.tar.xz" +source="https://download.gnome.org/sources/libpeas/${pkgver%.*}/libpeas-$pkgver.tar.xz + use-locale.h.patch" build() { meson -Dprefix=/usr build @@ -28,4 +29,5 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="9e2f2f3e7208baa7e72f6b963ad2bca7bf2789ffb2656151bd913be10d45f3e0d40379d69513d2ecf597cc6d211d157c273cc841dfd445829d0cb57d24275e1b libpeas-1.24.1.tar.xz" +sha512sums="86157da14d17c16df2ef3f44ab48822ea1a8be8aec8f5419bc421bd475113f686cd16f9616ac53cbf3dc6f31f521384ac63eb8e9f1a46ea21b5cda8ba21e855f libpeas-1.26.0.tar.xz +307f198078d3d1b0f8d914011ecffaae500e4d8f71cbc876fef36b5f25c49858fe1c929c572e2c75146097068771524cc50fbb4638cbbbf90cbb3eab29c0964b use-locale.h.patch" diff --git a/user/libpeas/use-locale.h.patch b/user/libpeas/use-locale.h.patch new file mode 100644 index 000000000..97b3a08c0 --- /dev/null +++ b/user/libpeas/use-locale.h.patch @@ -0,0 +1,12 @@ +diff -Nurd libpeas-1.26.0/peas-demo/peas-demo.c libpeas-1.26.0.new/peas-demo/peas-demo.c +--- libpeas-1.26.0/peas-demo/peas-demo.c 2020-03-06 21:12:16.247286600 +0000 ++++ libpeas-1.26.0.new/peas-demo/peas-demo.c 2020-04-08 07:47:04.093350285 +0000 +@@ -23,6 +23,8 @@ + #include <config.h> + #endif + ++#include <locale.h> ++ + #include <girepository.h> + #include <glib/gi18n.h> + #include <gtk/gtk.h> diff --git a/user/libqmi/APKBUILD b/user/libqmi/APKBUILD index f662aa30d..fe44ce40b 100644 --- a/user/libqmi/APKBUILD +++ b/user/libqmi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libqmi -pkgver=1.24.4 +pkgver=1.24.8 pkgrel=0 pkgdesc="Library for interfacing with Qualcomm modems" url="https://www.freedesktop.org/wiki/Software/libqmi/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7850c2754763d3d0addfa6760ed11ba895dd78421a6b3453224b50bd97d09109ccacf16c322d81c8e512321e45fd8e611015796c86a94f30acf8611eb37e8a1a libqmi-1.24.4.tar.xz" +sha512sums="b60ac355792373afbb202b2791c641468b48a1e54e5f34336fe37fa799c24ac566d6070ba4faaaf6b5693ae2bb5cc75c1240c7f2ee04c8e35eeeb66ec2677093 libqmi-1.24.8.tar.xz" diff --git a/user/libsecret/APKBUILD b/user/libsecret/APKBUILD index 828b3ed74..cf4630962 100644 --- a/user/libsecret/APKBUILD +++ b/user/libsecret/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libsecret -pkgver=0.20.1 +pkgver=0.20.2 pkgrel=0 pkgdesc="Library for storing and retrieving passphrases" url="https://wiki.gnome.org/Projects/Libsecret" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d8fca5f4da63427f594e1cb38c91330a98ab706aa945f8e735337f3fd342895bc96ceb36390ba01a4c0b9c5d503c4b544753c3243c444579f46f7b2e7836d1ac libsecret-0.20.1.tar.xz" +sha512sums="89143c8ccc8f6fa0cda2c98baef92e8cbf9b319a984826a09c527125e14712023ee65cada42a2c9232524528da8c1c3d2235ecbcb93e2f06e94121a601c22857 libsecret-0.20.2.tar.xz" diff --git a/user/libsigsegv/APKBUILD b/user/libsigsegv/APKBUILD new file mode 100644 index 000000000..a99ee7075 --- /dev/null +++ b/user/libsigsegv/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Contributor: Lee Starnes <lee@canned-death.us> +# Maintainer: Lee Starnes <lee@canned-death.us> +pkgname=libsigsegv +pkgver=2.12 +pkgrel=0 +pkgdesc="A library for handling page faults in user mode" +url="https://www.gnu.org/software/libsigsegv" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="" +subpackages="$pkgname-dev" +source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz + musl-ppc32.patch + " + +build() { + ./configure \ + --prefix=/usr \ + --build=$CBUILD \ + --host=$CHOST \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --enable-shared + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="27986e8aaf4357ed131032aa7c281a5a28c5759530c62bb76f034aea33959547dcaae805e06347a1f532f0488b72fbbbdac4400f74e8d3f2128511526e8a5913 libsigsegv-2.12.tar.gz +fba3bf8679619d9e363bf42e476960dd73cc9a01915773193d6b6d2ca76ee5240a9284982d00bc40601c6da3210c08eb90e61661404ccaf017144ccc36b25762 musl-ppc32.patch" diff --git a/user/libsigsegv/musl-ppc32.patch b/user/libsigsegv/musl-ppc32.patch new file mode 100644 index 000000000..75e10a45f --- /dev/null +++ b/user/libsigsegv/musl-ppc32.patch @@ -0,0 +1,10 @@ +--- libsigsegv-2.12/src/fault-linux-powerpc.h.old 2017-03-04 15:28:15.000000000 +0000 ++++ libsigsegv-2.12/src/fault-linux-powerpc.h 2020-05-11 21:49:56.190783142 +0000 +@@ -33,6 +33,6 @@ + # if 0 + # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] + # else +-# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gregs[1] + # endif + #endif diff --git a/user/libslirp/APKBUILD b/user/libslirp/APKBUILD new file mode 100644 index 000000000..bd88d3957 --- /dev/null +++ b/user/libslirp/APKBUILD @@ -0,0 +1,39 @@ +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=libslirp +pkgver=4.3.0 +pkgrel=0 +pkgdesc="A general-purpose TCP/IP emulator" +url="https://gitlab.freedesktop.org/slirp/libslirp" +arch="all" +options="!check" # No test suite. +license="BSD-3-Clause AND MIT" +depends="" +makedepends="glib-dev meson" +subpackages="$pkgname-dev" +source="https://elmarco.fedorapeople.org/libslirp-$pkgver.tar.xz + git-describe.patch + static.patch + " + +# secfixes: +# 4.3.0-r0: +# - CVE-2020-1983 + +build() { + meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + . output + ninja -C output +} + +package() { + DESTDIR="$pkgdir" ninja -C output install +} + +sha512sums="656a57878354b893503af69dfb11ab93dcf4728cc68bd0b6aa352073cbcf1b558924a5932e1996011002f72f5bddfb22ddaffc5a88078a61862c630d908e8beb libslirp-4.3.0.tar.xz +fb66abe30c7b36c93bf759960275119c6d34e57861efe0cdc147a606a7a13b2d29f0f77dfe99326539800bd4ded9e39c736abd9d4ca9d6f16df2d50fd70fb7f6 git-describe.patch +bb1bb5443d8083099d2a270b78b7ec74daa26634b2062d2c30460ed118b333942a9a555c96910216bb746311ae021d457f39a304a60fe07a3908a0c315a7c756 static.patch" diff --git a/user/libslirp/git-describe.patch b/user/libslirp/git-describe.patch new file mode 100644 index 000000000..9cc66bbad --- /dev/null +++ b/user/libslirp/git-describe.patch @@ -0,0 +1,24 @@ +Otherwise you might get "-dirty" in the pc: version + +--- libslirp-4.3.0/build-aux/git-version-gen 2020-04-23 06:09:44.166262600 -0500 ++++ libslirp-4.3.0/build-aux/git-version-gen 2020-04-24 15:08:09.450004079 -0500 +@@ -133,19 +133,6 @@ fi + + v=`echo "$v" |sed 's/^v//'` + +-# Don't declare a version "dirty" merely because a time stamp has changed. +-git update-index --refresh > /dev/null 2>&1 +- +-dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +-case "$dirty" in +- '') ;; +- *) # Append the suffix only if there isn't one already. +- case $v in +- *-dirty) ;; +- *) v="$v-dirty" ;; +- esac ;; +-esac +- + # Omit the trailing newline, so that m4_esyscmd can use the result directly. + echo "$v" | tr -d "$nl" + diff --git a/user/libslirp/static.patch b/user/libslirp/static.patch new file mode 100644 index 000000000..46451a168 --- /dev/null +++ b/user/libslirp/static.patch @@ -0,0 +1,14 @@ +library = shared +both_libraries = shared and static (needed by qemu) + +--- libslirp-v4.2.0/meson.build 2020-03-17 10:07:35.000000000 +0000 ++++ libslirp-v4.2.0/meson.build 2020-03-24 20:41:57.030331048 +0000 +@@ -100,7 +100,7 @@ configure_file( + configuration : conf + ) + +-lib = library('slirp', sources, ++lib = both_libraries('slirp', sources, + version : lt_version, + c_args : cargs, + link_args : vflag, diff --git a/user/libsoup/APKBUILD b/user/libsoup/APKBUILD index 2f9ee4358..7992f7d22 100644 --- a/user/libsoup/APKBUILD +++ b/user/libsoup/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=libsoup -pkgver=2.68.3 +pkgver=2.70.0 pkgrel=0 pkgdesc="GObject-based HTTP library" url="https://wiki.gnome.org/Projects/libsoup" @@ -31,4 +31,4 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="4ab7777e8e910a5741628d10a9e22215b7811c03034dc3ccd1fa34bcfa2a643f27e7c005ab048f2931d58af4b161eee71e1f433cb55a74628da5b08ef8b693fd libsoup-2.68.3.tar.xz" +sha512sums="c3e2a963f4b38b2eee5d772b68a325c076fde19c26413bb3ada91824d3c7e108fbc325bfdc49a28141a641233485d3044d18142720c2aebaa7cc820f8718159b libsoup-2.70.0.tar.xz" diff --git a/user/libuninameslist/APKBUILD b/user/libuninameslist/APKBUILD index 66be1f6ef..73d53a4e1 100644 --- a/user/libuninameslist/APKBUILD +++ b/user/libuninameslist/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libuninameslist -pkgver=20190701 +pkgver=20200313 pkgrel=0 pkgdesc="Library of Unicode names and annotation data" url=" " @@ -38,4 +38,4 @@ py3() { python3 setup.py install --prefix=/usr --root="$subpkgdir" } -sha512sums="05cd3cbba195e270e1cb23886d0fa666d47fbe5eb23b89388025683ae7e2380de43ac4137056ec8f386e53fc869218e7417566f29ccfd86f26168bcfe472ee52 libuninameslist-dist-20190701.tar.gz" +sha512sums="7f42d839b251859d94cca44d4f8a789aeed0554ce86bbdba38f25da2c2ce0626d95801679a1ce3c9f691ceb4988960c56f1268478e55175d94744a969e1bd6c3 libuninameslist-dist-20200313.tar.gz" diff --git a/user/libvncserver/APKBUILD b/user/libvncserver/APKBUILD index 2b42311c2..7058ad208 100644 --- a/user/libvncserver/APKBUILD +++ b/user/libvncserver/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libvncserver pkgver=0.9.12 -pkgrel=0 +pkgrel=1 pkgdesc="Library to make writing a vnc server easy" url="https://libvnc.github.io/" arch="all" @@ -15,7 +15,10 @@ depends_dev="libgcrypt-dev libjpeg-turbo-dev gnutls-dev libpng-dev makedepends="$depends_dev cmake" subpackages="$pkgname-dev" source="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$pkgver.tar.gz - CVE-2018-15127.patch" + CVE-2018-15127.patch + CVE-2019-15681.patch + CVE-2019-15690.patch + " builddir="$srcdir"/libvncserver-LibVNCServer-$pkgver # secfixes: @@ -24,6 +27,9 @@ builddir="$srcdir"/libvncserver-LibVNCServer-$pkgver # - CVE-2016-9942 # 0.9.12-r0: # - CVE-2018-15127 +# 0.9.12-r1: +# - CVE-2019-15681 +# - CVE-2019-15690 build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -49,4 +55,6 @@ package() { } sha512sums="60ff1cc93a937d6f8f97449bc58b763095846207112f7b1b3c43eb2d74448b595d6da949903a764bd484ee54e38ff6277e882adbe965dd6d26ba15ef6ff6fcb8 LibVNCServer-0.9.12.tar.gz -8b5b6742e6c3a181c60652484b15ec42cc0a3acc1e82cef38e82b61f43f1de456d09731976f4e5dfab44abf3e551e22aaf4300cb8418cd8e136d705fcb2a7dbe CVE-2018-15127.patch" +8b5b6742e6c3a181c60652484b15ec42cc0a3acc1e82cef38e82b61f43f1de456d09731976f4e5dfab44abf3e551e22aaf4300cb8418cd8e136d705fcb2a7dbe CVE-2018-15127.patch +5ecb5a26813f3f07440ef6c54eebaca4e9b4f7c1cf2ba13375e3b23b950a9b818d068d4eef5532d7ea4d7ae084c4356af7257c45426101ff51afe2b7da338a1f CVE-2019-15681.patch +52f62a65c3e91b7c7a11b5ad6e1432d697e1314bf6c938b5cb0c9cc8bdffbf1c25612c33e05282c11d59c6523e208b882f963fca8bcd34a5c72dd476427e7542 CVE-2019-15690.patch" diff --git a/user/libvncserver/CVE-2019-15681.patch b/user/libvncserver/CVE-2019-15681.patch new file mode 100644 index 000000000..e328d8792 --- /dev/null +++ b/user/libvncserver/CVE-2019-15681.patch @@ -0,0 +1,23 @@ +From d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a Mon Sep 17 00:00:00 2001 +From: Christian Beier <dontmind@freeshell.org> +Date: Mon, 19 Aug 2019 22:32:25 +0200 +Subject: [PATCH] rfbserver: don't leak stack memory to the remote + +Thanks go to Pavel Cheremushkin of Kaspersky for reporting. +--- + libvncserver/rfbserver.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c +index 3bacc891..310e5487 100644 +--- a/libvncserver/rfbserver.c ++++ b/libvncserver/rfbserver.c +@@ -3724,6 +3724,8 @@ rfbSendServerCutText(rfbScreenInfoPtr rfbScreen,char *str, int len) + rfbServerCutTextMsg sct; + rfbClientIteratorPtr iterator; + ++ memset((char *)&sct, 0, sizeof(sct)); ++ + iterator = rfbGetClientIterator(rfbScreen); + while ((cl = rfbClientIteratorNext(iterator)) != NULL) { + sct.type = rfbServerCutText; diff --git a/user/libvncserver/CVE-2019-15690.patch b/user/libvncserver/CVE-2019-15690.patch new file mode 100644 index 000000000..7fe36e454 --- /dev/null +++ b/user/libvncserver/CVE-2019-15690.patch @@ -0,0 +1,36 @@ +From 54220248886b5001fbbb9fa73c4e1a2cb9413fed Mon Sep 17 00:00:00 2001 +From: Christian Beier <dontmind@freeshell.org> +Date: Sun, 17 Nov 2019 17:18:35 +0100 +Subject: [PATCH] libvncclient/cursor: limit width/height input values + +Avoids a possible heap overflow reported by Pavel Cheremushkin +<Pavel.Cheremushkin@kaspersky.com>. + +re #275 +--- + libvncclient/cursor.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libvncclient/cursor.c b/libvncclient/cursor.c +index 67f45726..40ffb3b0 100644 +--- a/libvncclient/cursor.c ++++ b/libvncclient/cursor.c +@@ -28,6 +28,8 @@ + #define OPER_SAVE 0 + #define OPER_RESTORE 1 + ++#define MAX_CURSOR_SIZE 1024 ++ + #define RGB24_TO_PIXEL(bpp,r,g,b) \ + ((((uint##bpp##_t)(r) & 0xFF) * client->format.redMax + 127) / 255 \ + << client->format.redShift | \ +@@ -54,6 +56,9 @@ rfbBool HandleCursorShape(rfbClient* client,int xhot, int yhot, int width, int h + if (width * height == 0) + return TRUE; + ++ if (width >= MAX_CURSOR_SIZE || height >= MAX_CURSOR_SIZE) ++ return FALSE; ++ + /* Allocate memory for pixel data and temporary mask data. */ + if(client->rcSource) + free(client->rcSource); diff --git a/user/libwacom/APKBUILD b/user/libwacom/APKBUILD index 58de8225a..aa80bcae0 100644 --- a/user/libwacom/APKBUILD +++ b/user/libwacom/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Ivan Tham <pickfire@riseup.net> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libwacom -pkgver=1.2 +pkgver=1.3 pkgrel=0 pkgdesc="Tablet description library" url="http://linuxwacom.sourceforge.net/" @@ -31,5 +31,5 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="595c073d8160bce2d6cec13d5c672594c73ae677e37dbba0ac088c9010d6e2f824d442ccdb7f695642bd06cce75c85473d863823c20a46fbe27e966ae3fed147 libwacom-1.2.tar.bz2 -5aebef9f8b224c83fa9f175b2cfec0198aeb0b462b2bb55c02e0cf10ef78f8af66def81f715fc3d95e8d7191f6fb688795f3561eb6850eed76105f865229d3f4 musl-test.patch" +sha512sums="beb92051d1a2be5079518b9f254e5621bf7c13ab92f811d5a1b7d19eb0ecddb28d94db0e1724b379be8970b0de0e7d3eb4d3c15b4aeedacc623357e10740355c libwacom-1.3.tar.bz2 +62b1a137d74e32bd38f807e1dd51150a59f8be105cf1f8a56ec7da8d7139ec5dcd7e4590e12e5cd1e4a81a34d9a50d4c82df933187026760a39f351b4b5d1789 musl-test.patch" diff --git a/user/libwacom/musl-test.patch b/user/libwacom/musl-test.patch index 74625f02b..cc4add634 100644 --- a/user/libwacom/musl-test.patch +++ b/user/libwacom/musl-test.patch @@ -1,6 +1,6 @@ --- libwacom-1.2/meson.build.old 2019-12-22 21:45:06.000000000 +0000 +++ libwacom-1.2/meson.build 2019-12-25 11:43:51.004107631 +0000 -@@ -555,7 +555,7 @@ +@@ -588,7 +588,7 @@ # because of the tricks we use in calling the function and exposing # it to begin with, LTO gets confused and this fails to link. # Let's just disable it here. @@ -12,9 +12,9 @@ --- libwacom-1.2/meson_options.txt.old 2019-11-07 02:25:47.000000000 +0000 +++ libwacom-1.2/meson_options.txt 2019-12-25 11:45:11.585452086 +0000 @@ -10,4 +10,8 @@ - type: 'boolean', - value: true, - description: 'Build the tests [default=true]') + type: 'feature', + value: 'enabled', + description: 'Build the tests [default=enabled]') +option('test_deprecated', + type: 'boolean', + value: true, diff --git a/user/libwnck/APKBUILD b/user/libwnck/APKBUILD index 5eb5e4e81..2a33337a0 100644 --- a/user/libwnck/APKBUILD +++ b/user/libwnck/APKBUILD @@ -1,9 +1,9 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=libwnck -pkgver=3.32.0 +pkgver=3.36.0 _pkgmaj=${pkgver%.*} -pkgrel=1 +pkgrel=0 pkgdesc="Window navigator construction kit library from Gnome" url="https://gnome.org" arch="all" @@ -28,4 +28,4 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="a939b96feda20b0eba2b87556b97a9ba4b9aaea4c82c0e274a23796a3a9b49cb93be582d79e32a52a87b5ca6e35182a9d617cb802802b3c2ba2bff2b028aa3de libwnck-3.32.0.tar.xz" +sha512sums="b7bf5d935327f61634a898594cf20a270e1b403c8df6c74e6ac20e22eea2845ac8c3007b31994728b74953e40c1015373efe10ed64243cf5e85fd210654aecb3 libwnck-3.36.0.tar.xz" diff --git a/user/libzip/APKBUILD b/user/libzip/APKBUILD index 379075ae7..62a55bfba 100644 --- a/user/libzip/APKBUILD +++ b/user/libzip/APKBUILD @@ -3,7 +3,7 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: Max Rees <maxcrees@me.com> pkgname=libzip -pkgver=1.5.2 +pkgver=1.6.1 pkgrel=0 pkgdesc="C library for manipulating ZIP archives" url="https://libzip.org/" @@ -11,7 +11,7 @@ arch="all" license="BSD-3-Clause" depends="" depends_dev="zlib-dev" -makedepends="$depends_dev cmake openssl-dev perl" +makedepends="$depends_dev cmake groff openssl-dev perl" subpackages="$pkgname-dev $pkgname-doc $pkgname-tools" source="https://libzip.org/download/$pkgname-$pkgver.tar.xz" @@ -44,4 +44,4 @@ tools() { mv "$pkgdir"/usr/bin "$subpkgdir"/usr } -sha512sums="1e6d48ddbac4d270f70b314f6ada3c93a3196a8cc3b8d17c6cf5ea8409ff29f36ac351206675f9d81351fcf633b0c15d7b0b5530c30c4140e4fe55e64c602643 libzip-1.5.2.tar.xz" +sha512sums="dcf3790933c95f66bdcbdb276497b36e57776103b0b1064a94479e84eaa0a09df8dd91509cb4ccab3a6724f0650f076ca1e332d73acc94b653e99a3e94a64574 libzip-1.6.1.tar.xz" diff --git a/user/lilo/APKBUILD b/user/lilo/APKBUILD new file mode 100644 index 000000000..606b633b3 --- /dev/null +++ b/user/lilo/APKBUILD @@ -0,0 +1,51 @@ +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=lilo +pkgver=24.2 +pkgrel=0 +pkgdesc="Minimal BIOS bootloader for x86 systems" +url="https://www.joonet.de/lilo/" +arch="pmmx x86 x86_64" +options="!check" # No test suite. +license="BSD-3-Clause AND GPL-2.0+ AND Public-Domain" +depends="perl" +makedepends="dev86 linux-headers lvm2-dev sharutils" +subpackages="$pkgname-doc" +triggers="$pkgname.trigger=/boot" +source="https://www.joonet.de/lilo/ftp/sources/lilo-$pkgver.tar.gz + adelie.patch + cflags.patch + musl.patch + partuuid.patch + lilo.conf.template + " + +build() { + export CFLAGS="$CFLAGS -fno-strict-aliasing" + make +} + +package() { + make DESTDIR="$pkgdir" install + + rm -rf "$pkgdir"/etc/lilo/kernel \ + "$pkgdir"/etc/lilo/initramfs \ + "$pkgdir"/usr/sbin/mkrescue \ + "$pkgdir"/usr/share/man/man8/mkrescue.8 + + mkdir "$pkgdir"/boot/lilo/gfx + mv "$pkgdir"/boot/lilo/*.bmp \ + "$pkgdir"/boot/lilo/*.dat \ + "$pkgdir"/boot/lilo/gfx + + install -Dm644 "$srcdir"/lilo.conf.template \ + "$pkgdir"/etc/lilo/lilo.conf.template + mv "$pkgdir"/etc/lilo/lilo.conf_example \ + "$pkgdir"/etc/lilo/lilo.conf.example +} + +sha512sums="4437cae21345f483194a5dc95f686f3f3cb2beec78faae3fba959db25eae29fe2c56732e055c05f1d101682c5d442cdc9561fae8074f61f5537dde0413204c54 lilo-24.2.tar.gz +cf8dab563e88cc7b280f5740c3b0f25049b9ce27c77a67e7b0c55dc21a158f8b2998f0c7743f11bcc4ae893697e6b6cc56054a40919899bf2d6d79b4e1a59190 adelie.patch +ed1ffb03dbbbf6fe6974d045005f72b3657d470cd3f3556d582e09a38836090c3e75a684a1dcfbe7ade91e5ada3706b712ae7111460df85454518a746c60bde4 cflags.patch +1c1ce61d2d7c88c1ba66e1415b36edb6743f46a50857b5bcd2b6b28a0711e4de3f0a75c352a5997bc9b5d50b0754c49a3f69b736e07a6e389c02da004289c64f musl.patch +3962bf30a866f31fa5263618210d61ac5663117cac1d5a52a5e14f3665ff8edfd628c80807591f3da5f2e6908b8c0af9b19fac32f6ab90e6c4755bf79cb34d5a partuuid.patch +489f57d29ee6607fb7040a33655bc369a510290804ae11686e02ba91d6cd3401175fa93d8d74da6058f03126b924004d28d5145ec5df70be4d04acba112c5729 lilo.conf.template" diff --git a/user/lilo/adelie.patch b/user/lilo/adelie.patch new file mode 100644 index 000000000..29983faff --- /dev/null +++ b/user/lilo/adelie.patch @@ -0,0 +1,400 @@ +Adjust paths so that lilo has its own dir in /etc and /boot. + +--- lilo-24.2/make.vars 2013-06-07 02:50:30.000000000 -0500 ++++ lilo-24.2/make.vars 2020-03-19 15:50:13.710057044 -0500 +@@ -90,8 +90,8 @@ OPT=-Os + # + + SBIN_DIR=/sbin +-CFG_DIR=/etc +-BOOT_DIR=/boot ++CFG_DIR=/etc/lilo ++BOOT_DIR=/boot/lilo + USRSBIN_DIR=/usr/sbin + BUILTIN=1 + +--- lilo-24.2/src/config.h 2011-06-22 02:13:58.000000000 -0500 ++++ lilo-24.2/src/config.h 2020-03-19 15:34:21.320045281 -0500 +@@ -39,8 +39,8 @@ + #define DFL_CHAIN LILO_DIR "/chain.b" /* default chain loader */ + #define DFL_MBR LILO_DIR "/mbr.b" /* default MBR */ + #else +-#define CFG_DIR "/etc" /* location of configuration files */ +-#define BOOT_DIR "/boot" /* location of boot files */ ++#define CFG_DIR "/etc/lilo" /* location of configuration files */ ++#define BOOT_DIR "/boot/lilo" /* location of boot files */ + #define BACKUP_DIR BOOT_DIR /* boot sector and partition table backups */ + #define DFL_CONFIG CFG_DIR "/lilo.conf"/* default configuration file */ + #define DFL_DISKTAB CFG_DIR "/disktab" /* LILO's disk parameter table */ +--- lilo-24.2/sample/lilo.example.conf 2015-11-20 14:50:03.000000000 -0600 ++++ lilo-24.2/sample/lilo.example.conf 2020-03-19 15:53:08.030059197 -0500 +@@ -1,4 +1,4 @@ +-# /etc/lilo.conf - systemwide LILO configuration (LILO 24) ++# /etc/lilo/lilo.conf - systemwide LILO configuration (LILO 24) + # details see in manpages: lilo(8) and lilo.conf(5) + + # +-------------------------------------------------------------+ +@@ -50,7 +50,7 @@ root = /dev/sda1 + # Specifies the location of the map file. Lilo creates the (sector) + # map file of direct sector addresses which are independent of any + # filesystem. +-map = /boot/map ++map = /boot/lilo/map + + # --------------------------------------------------------------- + +@@ -63,7 +63,7 @@ install = menu + # A) Customized boot message for choice 'text'. + # For the simple text menu you can set an extra message in the + # created file. Its text will be displayed before boot prompt. +-#message = /boot/message.txt ++#message = /boot/lilo/message.txt + + # B) Configuration of the scheme for choice 'menu'. + # Use following coding: <text>:<highlight>:<border>:<title> +@@ -83,7 +83,7 @@ menu-scheme = Wb:Yr:Wb:Wb + # with 16 colors: onlyblue, tuxlogo, inside + # with 256 colors: coffee + # for Debian: debianlilo, debian, debian-de +-#bitmap = /boot/tuxlogo.bmp ++#bitmap = /boot/lilo/gfx/tuxlogo.bmp + + # --------------------------------------------------------------- + +--- lilo-24.2/scripts/liloconfig 2015-11-21 18:00:21.000000000 -0600 ++++ lilo-24.2/scripts/liloconfig 2020-03-19 15:23:42.240037388 -0500 +@@ -44,7 +44,7 @@ getopts('hvfu'); + pod2usage(1) if $opt_h; + + #---- other variables +-our $liloconf = "/etc/lilo.conf"; ++our $liloconf = "/etc/lilo/lilo.conf"; + our $conftmp_1 = "/tmp/lilotmp1"; + our $conftmp_2 = "/tmp/lilotmp2"; + our $liloconfold = $liloconf . ".old"; +@@ -54,7 +54,7 @@ our $fstabconf = "/etc/fstab"; + our $idpath = "/dev/disk/by-id"; + our $uuidpath = "/dev/disk/by-uuid"; + our $lblpath = "/dev/disk/by-label"; +-our $template = "/usr/share/doc/lilo/examples/lilo.example.conf.gz"; ++our $template = "/etc/lilo/lilo.conf.template"; + + our $rootpart; # found root part + our $root_dev; # /dev/hdX9, /dev/sdX9, /dev/md/* +@@ -399,8 +401,12 @@ sub copy_template { + + # copy template config + if (-f $template) { +- system("gzip -d -c $template >$conftmp_1") if ($template =~ /\.gz$/); +- system("cat $template >$conftmp_1") if ($template =~ /\.conf$/); ++ if ($template =~ /\.gz$/) { ++ system("gzip -d -c $template >$conftmp_1"); ++ } ++ else { ++ system("cat $template >$conftmp_1"); ++ } + + open(CONFTMP1, "<$conftmp_1") or die "$prog: couldn't open $conftmp_1: $!\n"; + open(CONFTMP2, ">$conftmp_2") or die "$prog: couldn't open $conftmp_2: $!\n"; +@@ -418,7 +418,7 @@ sub copy_template { + } + else { + open(CONFTMP2, ">$conftmp_2") or die "$prog: couldn't open $conftmp_2: $!\n"; +- print CONFTMP2 "# /etc/lilo.conf ++ print CONFTMP2 "# /etc/lilo/lilo.conf + + ### LILO global section ### + +@@ -426,7 +426,7 @@ sub copy_template { + lba32 + boot = /dev/sda + root = /dev/sda1 +-map = /boot/map ++map = /boot/lilo/map + install = menu + menu-scheme = Wb:Yr:Wb:Wb + prompt +@@ -781,7 +781,7 @@ lilo.conf file you find many useful comm + Please pay attention about error messages if liloconfig cannot find + any images (/boot/vmlinuz*) oder image symlinks (/vmlinuz, /vmlinu.old). + Then you need to search for images by ourself and make some changes +-in the '/etc/lilo.conf' file. Otherwise no bootloader can be installed ++in the '/etc/lilo/lilo.conf' file. Otherwise no bootloader can be installed + with '/sbin/lilo'. + + =head1 OPTIONS +@@ -808,7 +808,7 @@ Force overriding/update of boot line in + + =head1 EXAMPLES + +-Lines in the configuration file /etc/lilo.conf: ++Lines in the configuration file /etc/lilo/lilo.conf: + + ### LILO global section ### + +@@ -818,7 +818,7 @@ Lines in the configuration file /etc/lil + boot = /dev/disk/by-id/ata-SAMSUNG_SV1604N_S01FJ10X999999 + #root = /dev/sda1 + root = "UUID=18843936-00f9-4df0-a373-000d05a5dd44" +- map = /boot/map ++ map = /boot/lilo/map + install = menu + menu-scheme = Wb:Yr:Wb:Wb + prompt +--- lilo-24.2/scripts/lilo-uuid-diskid 2014-10-16 16:53:29.000000000 -0500 ++++ lilo-24.2/scripts/lilo-uuid-diskid 2020-03-19 15:28:07.360040662 -0500 +@@ -1,7 +1,7 @@ + #!/usr/bin/perl -w + + # lilo-uuid-diskid - convert boot and root options to diskid +-# and uuid in /etc/lilo.conf ++# and uuid in /etc/lilo/lilo.conf + # + # Copyright 2010-2014 Joachim Wiedorn <joodevel at joonet.de> + # +@@ -41,7 +41,7 @@ getopts('hv'); + pod2usage(1) if $opt_h; + + #---- other variables +-our $liloconf = "/etc/lilo.conf"; ++our $liloconf = "/etc/lilo/lilo.conf"; + our $liloconfold = $liloconf . ".old"; + our $liloconfnew = $liloconf . ".new"; + our $fstabconf = "/etc/fstab"; +@@ -454,7 +454,7 @@ Print verbose messages. + + =head1 EXAMPLES + +-Lines in the configuration file /etc/lilo.conf: ++Lines in the configuration file /etc/lilo/lilo.conf: + + #boot = /dev/sda + boot = /dev/disk/by-id/ata-SAMSUNG_SV1604N_S01FJ10X999999 +--- lilo-24.2/man/keytab-lilo.8 2010-06-28 15:41:18.000000000 -0500 ++++ lilo-24.2/man/keytab-lilo.8 2020-03-19 16:01:06.730065109 -0500 +@@ -37,7 +37,7 @@ to set the keyboard type when booting + [using the + .B keytable + parameter in +-.BR /etc/lilo.conf ]. ++.BR /etc/lilo/lilo.conf ]. + + .I kbd_layout + should be the name of a map file which specifies the desired +@@ -68,7 +68,7 @@ output, so you should redirect it to a s + .B lilo + has no particular restrictions on the name of keyboard translation + files, but the suggested naming convention and location is +-.BI /boot/ mapping .ktl ++.BI /boot/lilo/ mapping .ktl + (where + .B .ktl + stands for "Keyboard Table for Lilo"). +@@ -86,11 +86,11 @@ respectively. + + .SH "EXAMPLES" + .TP +-.B keytab\-lilo dvorak >/boot/dvorak.ktl ++.B keytab\-lilo dvorak >/boot/lilo/dvorak.ktl + + This is the most common form of invocation; it simply compiles the + given map file (in this case dvorak) and puts the result in +-.BR /boot/dvorak.ktl . ++.BR /boot/lilo/dvorak.ktl . + + .SH "AUTHOR" + Werner Almesberger (almesber@bernina.ethz.ch). +--- lilo-24.2/man/lilo-uuid-diskid.8 2015-11-21 17:25:42.000000000 -0600 ++++ lilo-24.2/man/lilo-uuid-diskid.8 2020-03-19 15:59:05.390063610 -0500 +@@ -100,7 +100,7 @@ Print a brief help. + Print verbose messages. + .SH "EXAMPLES" + .IX Header "EXAMPLES" +-Lines in the configuration file /etc/lilo.conf: ++Lines in the configuration file /etc/lilo/lilo.conf: + .PP + .Vb 2 + \& #boot = /dev/sda +--- lilo-24.2/man/lilo.8 2015-11-21 17:25:31.000000000 -0600 ++++ lilo-24.2/man/lilo.8 2020-03-19 16:01:39.580065515 -0500 +@@ -108,7 +108,7 @@ Auxiliary uses: + .SH "DESCRIPTION" + .IX Header "DESCRIPTION" + lilo installs a boot loader that will be activated the next time you boot +-your system. The default configuration file \fI/etc/lilo.conf\fR (see manpage ++your system. The default configuration file \fI/etc/lilo/lilo.conf\fR (see manpage + \&\fIlilo.conf\fR\|(5)) will contain most options, but many, including those which + override the configuration file, may be specified on the command line. + .SH "OPTIONS" +@@ -140,7 +140,7 @@ Speeds up the booting especially from fl + .IP "\fB\-C\fR \fIconfig-file\fR" 4 + .IX Item "-C config-file" + Set another pathname and filename for the configuration file. The default +-configuration file is \fI/etc/lilo.conf\fR. ++configuration file is \fI/etc/lilo/lilo.conf\fR. + .IP "\fB\-d\fR \fIdelay-time\fR" 4 + .IX Item "-d delay-time" + Set the delay time in tenths of a second ('20' = 2 sec) before automatically +@@ -171,7 +171,7 @@ header will be lost. It can be restored + a text-based backup for the \s-1LILO\s0 header information. + .IP "\fB\-f\fR \fIdisk-tab\fR" 4 + .IX Item "-f disk-tab" +-Set another disk geometry parameter file. The default is \fI/etc/disktab\fR. ++Set another disk geometry parameter file. The default is \fI/etc/lilo/disktab\fR. + .IP "\fB\-F\fR" 4 + .IX Item "-F" + Override boot sector check for filesystems (e.g., swap, ext4, xfs ...) which +@@ -204,7 +204,7 @@ addresses, allowing access to all partit + (This is the default geometry). + .IP "\fB\-m\fR \fImap-file\fR" 4 + .IX Item "-m map-file" +-Use another map file instead of the default file /boot/map. ++Use another map file instead of the default file /boot/lilo/map. + .IP "\fB\-M\fR \fImaster-device\fR \fB{mbr|ext}\fR" 4 + .IX Item "-M master-device {mbr|ext}" + Install a Master Boot Record on the device specified as master-device, selecting +@@ -232,7 +232,7 @@ sector. Compare with the '\-F' flag, whi + boot sector. + .Sp + \&\fB<global\-option>\fR allows the passing of any global option which may +-appear in the global section (top) of the configuration file (\fI/etc/lilo.conf\fR). ++appear in the global section (top) of the configuration file (\fI/etc/lilo/lilo.conf\fR). + For instance \fI'\-P nowarn'\fR will pass the 'nowarn' option, just as though 'nowarn' + appeared in the configuration file (same as the '\-w' switch). Similarly + \&\fI'\-P timeout=50'\fR will add or override the 'timeout=' line in the configuration +@@ -241,7 +241,7 @@ line option switches. However, it is not + cause an override of other options; e.g. '\-g' (\-P geometric), '\-L' (\-P lba32). + .IP "\fB\-q\fR" 4 + .IX Item "-q" +-List the currently mapped files. \fBlilo\fR maintains a file, by default \fI/boot/map\fR, ++List the currently mapped files. \fBlilo\fR maintains a file, by default \fI/boot/lilo/map\fR, + containing each name and location of the kernel(s) to boot. This option will list + the names therein. Use with \fB\-v\fR for more detailed information about the + installed boot loader. +@@ -249,7 +249,7 @@ installed boot loader. + .IX Item "-r root-directory" + Before doing anything else, do a \fI'chroot'\fR to the indicated directory. The new + root directory must contain a \fI/dev\fR directory and may need a /boot directory. +-It may also need an \fI/etc/lilo.conf\fR file. ++It may also need an \fI/etc/lilo/lilo.conf\fR file. + .IP "\fB\-R\fR \fIcommand-line\fR" 4 + .IX Item "-R command-line" + This option sets the default command for the boot loader for the next time it +@@ -267,13 +267,13 @@ Refer to \fI\fIlilo.conf\fI\|(5)\fR for + .IP "\fB\-s\fR \fIsave-file\fR" 4 + .IX Item "-s save-file" + When lilo writes a new boot sector, it preserves the former contents of the boot +-sector in a file, named by default /boot/boot.NNNN, where \s-1NNNN\s0 is the hexadecimal ++sector in a file, named by default /boot/lilo/boot.NNNN, where \s-1NNNN\s0 is the hexadecimal + representation of the major and minor device numbers of the drive/partition. + .Sp + This option defines the backup save file in one of three ways: a save directory +-(default is '/boot') using the default filename 'boot.NNNN' in the defined ++(default is '/boot/lilo') using the default filename 'boot.NNNN' in the defined + directory; a pathname template to which '.NNNN' is appended (default would be +-\&'/boot/boot'); or the full pathname of the file, which must include the correct ++\&'/boot/lilo/boot'); or the full pathname of the file, which must include the correct + \&'.NNNN' suffix. When used with the \-u option, the full file pathname must be set. + .IP "\fB\-S\fR \fIsave-file\fR" 4 + .IX Item "-S save-file" +@@ -386,7 +386,7 @@ removed from the command line before it + noted. + .IP "\fBlock\fR" 4 + .IX Item "lock" +-Locks the command line, as though 'lock' had been defined in \fI/etc/lilo.conf\fR. ++Locks the command line, as though 'lock' had been defined in \fI/etc/lilo/lilo.conf\fR. + .IP "\fBmem=###[,K,M,G]\fR" 4 + .IX Item "mem=###[,K,M,G]" + Set the maximum memory in the system in bytes, kilobytes, megabytes or gigabytes. +--- lilo-24.2/man/lilo.conf.5 2013-06-07 14:17:39.000000000 -0500 ++++ lilo-24.2/man/lilo.conf.5 2020-03-19 16:01:57.970065742 -0500 +@@ -25,13 +25,13 @@ lilo.conf \- configuration file for lilo + .SH DESCRIPTION + .LP + This file, by default +-.IR /etc/lilo.conf , ++.IR /etc/lilo/lilo.conf , + is read by the boot loader installer 'lilo' (see lilo(8)). + .LP + It might look as follows: + .IP + .nf +-# /etc/lilo.conf ++# /etc/lilo/lilo.conf + # + # global options: + boot=/dev/hda +@@ -111,7 +111,7 @@ All RAID installations should use only t + multiple backups may be created. The '.NNNN' suffix is the hexadecimal + representation of the major and minor device numbers of the device or + partition. If this option is not specified, the default name of boot sector +-backups is '/boot/boot.NNNN'. If a backup already exists, it will be ++backups is '/boot/lilo/boot.NNNN'. If a backup already exists, it will be + preserved, rather than overwritten. C.f., \fBforce-backup=\fP below. + .TP + .BI "bios-passes-dl=" <option> +@@ -334,7 +334,7 @@ viz., + .BI "disktab=" <disktab-file> + Specifies the name of the disk parameter table. + The map installer looks for +-.I /etc/disktab ++.I /etc/lilo/disktab + if `disktab' is omitted. The use of disktabs is discouraged. + .TP + .BI "el-torito-bootable-CD" +@@ -436,7 +436,7 @@ The per-image password option `mandatory + .TP + .BI "map=" <map-file> + Specifies the location of the map file. If `map' is omitted, the file +-.I /boot/map ++.I /boot/lilo/map + is used. + + On machines with a pre-1998 BIOS, the EDD bios extensions which are required +@@ -812,7 +812,7 @@ requirements of the boot-installer parse + an operator. The kernel command line parser is very much simpler, and + must not see any quotation marks. Simply stated, only use the quotation + marks within +-.IR /etc/lilo.conf . ++.IR /etc/lilo/lilo.conf . + .TP + .BI "vga=" <mode> + This specifies the VGA text mode that should be selected when +@@ -1027,7 +1027,7 @@ at the time the boot loader is installed + the password, it should be specified: \fBpassword=""\fP. + Passwords entered interactively are not required to be entered again if the + boot installer is re-run. They are cached, in hashed form, in a companion +-file to the config-file, default name: \fB/etc/lilo.conf.crc\fP. If the ++file to the config-file, default name: \fB/etc/lilo/lilo.conf.crc\fP. If the + config-file is updated, a warning message + will be issued telling you to re-run \fIlilo \-p\fP to force re-creation of the + password cache file. +--- lilo-24.2/man/liloconfig.8 2015-11-21 17:25:48.000000000 -0600 ++++ lilo-24.2/man/liloconfig.8 2020-03-19 16:02:08.680065874 -0500 +@@ -92,7 +92,7 @@ lilo.conf file you find many useful comm + Please pay attention about error messages if liloconfig cannot find + any images (/boot/vmlinuz*) oder image symlinks (/vmlinuz, /vmlinu.old). + Then you need to search for images by ourself and make some changes +-in the '/etc/lilo.conf' file. Otherwise no bootloader can be installed ++in the '/etc/lilo/lilo.conf' file. Otherwise no bootloader can be installed + with '/sbin/lilo'. + .SH "OPTIONS" + .IX Header "OPTIONS" +@@ -110,7 +110,7 @@ Force overriding existing lilo.conf. + Force overriding/update of boot line in lilo.conf. + .SH "EXAMPLES" + .IX Header "EXAMPLES" +-Lines in the configuration file /etc/lilo.conf: ++Lines in the configuration file /etc/lilo/lilo.conf: + .PP + .Vb 1 + \& ### LILO global section ### +@@ -121,7 +121,7 @@ Lines in the configuration file /etc/lil + \& boot = /dev/disk/by\-id/ata\-SAMSUNG_SV1604N_S01FJ10X999999 + \& #root = /dev/sda1 + \& root = "UUID=18843936\-00f9\-4df0\-a373\-000d05a5dd44" +-\& map = /boot/map ++\& map = /boot/lilo/map + \& install = menu + \& menu\-scheme = Wb:Yr:Wb:Wb + \& prompt diff --git a/user/lilo/cflags.patch b/user/lilo/cflags.patch new file mode 100644 index 000000000..253d77a33 --- /dev/null +++ b/user/lilo/cflags.patch @@ -0,0 +1,13 @@ +Ensure our CFLAGS are being used + +--- lilo-24.2/src/Makefile 2015-11-21 17:50:25.000000000 -0600 ++++ lilo-24.2/src/Makefile 2020-03-19 04:48:25.069499686 -0500 +@@ -22,7 +22,7 @@ LD86=ld86 -0 + NASM=nasm + G=`cat foo1 foo2 | grep version | cut -d " " -f 3` + +-CFLAGS=$(OPT) -Wall $(PCONFIG) ++CFLAGS+=-Wall $(PCONFIG) + LIBS=$(DEVMAPPER) + + OBJS=lilo.o raid.o map.o geometry.o boot.o device.o common.o bsect.o cfg.o \ diff --git a/user/lilo/lilo.conf.template b/user/lilo/lilo.conf.template new file mode 100644 index 000000000..527ecf364 --- /dev/null +++ b/user/lilo/lilo.conf.template @@ -0,0 +1,23 @@ +# /etc/lilo/lilo.conf + +### LILO global section ### + +# Good assumptions for a modern (post-1998) system +compact +large-memory +lba32 + +# Menu configuration +install = bmp +bitmap = /boot/lilo/gfx/tuxlogo.bmp + +# Boot the first entry automatically in 10 seconds +prompt +timeout = 100 + +# These will be configured automatically by liloconfig(8) +boot = "" +root = "" + +### LILO per-image section ### + diff --git a/user/lilo/lilo.trigger b/user/lilo/lilo.trigger new file mode 100644 index 000000000..0f5a802a2 --- /dev/null +++ b/user/lilo/lilo.trigger @@ -0,0 +1,93 @@ +#!/bin/sh -e +conf=/etc/lilo/lilo.conf + +# Check whether LILO is installed +# This function is from /usr/sbin/mkboot from debianutils, with copyright: +# +# Debian GNU/Linux +# Copyright 1996-1997 Guy Maor <maor@debian.org> +# +# Modified for Gentoo for use with the lilo ebuild by: +# Martin Schlemmer <azarah@gentoo.org> (16 Mar 2003) +# +# Modified for Adélie for use with the lilo APKBUILD by: +# Max Rees <maxcrees@me.com> (19 Mar 2020) +lilocheck() { + if ! [ -e "$conf" ]; then + cat >&2 <<-EOF + * + * Could not find '$conf'! + * + EOF + exit 1 + fi + + if grep -q "^[[:space:]]*password[[:space:]]*=[[:space:]]*\"\"" \ + "$conf"; then + cat >&2 <<-EOF + * + * You have requested interactive LILO password setup. + * Run "lilo -p" by hand. + * + EOF + return 1 + fi + + bootpart="$(sed -n "s:^boot[ ]*=[ ]*\(.*\)[ ]*:\1:p" "$conf")" + if ! [ -b "$bootpart" ]; then + cat >&2 <<-EOF + * + * Could not find '$bootpart'! + * + EOF + exit 1 + fi + + if ! dd if="$bootpart" ibs=16 count=1 2>/dev/null | grep -q LILO; then + cat >&2 <<-EOF + * + * No LILO signature found on '$bootpart'. + * You must run 'lilo' yourself. + * + EOF + return 1 + fi +} + +if ! [ -e /etc/fstab ]; then + cat >&2 <<-EOF + * + * You are missing an /etc/fstab file, so liloconfig + * cannot determine the root filesystem. Skipping + * automatic configuration. + * + EOF + exit 0 +fi + +if [ -e "$conf" ] && [ "$conf" -nt "$conf.template" ]; then + cat >&2 <<-EOF + * + * You appear to have manually edited '$conf'. + * LILO configuration will not be automatically regenerated. + * + EOF + exit 0 +fi + +cat >&2 <<-EOF +* +* Running liloconfig... +* +EOF +liloconfig -f "$conf" +touch -r "$conf.template" "$conf" + +if lilocheck; then + cat >&2 <<-EOF + * + * Running lilo... + * + EOF + lilo -C "$conf" +fi diff --git a/user/lilo/musl.patch b/user/lilo/musl.patch new file mode 100644 index 000000000..5b95e717f --- /dev/null +++ b/user/lilo/musl.patch @@ -0,0 +1,81 @@ +Regarding O_NOACCESS: + + > Using a value of 3 as the argument to open is a traditional Linux + > extension for getting an fd that's usable only for ioctls. That's + > reasonable. What's not reasonable or correct is using O_ACCMODE as a + > way to get a 3. + +https://www.openwall.com/lists/musl/2014/07/01/12 + +--- lilo-24.2/src/common.h 2015-11-21 17:50:23.000000000 -0600 ++++ lilo-24.2/src/common.h 2020-03-19 07:32:52.429998369 -0500 +@@ -26,12 +26,8 @@ + # define PAGE_SIZE 4096U + #endif + +-#ifdef O_ACCMODE +-# define O_NOACCESS O_ACCMODE +-#else + /* open a file for "no access" */ +-# define O_NOACCESS 3 +-#endif ++#define O_NOACCESS 3 + + /* special for LILO, bypass the actual open in dev_open( , ,-1) */ + #define O_BYPASS -1 +--- lilo-24.2/src/config.h 2011-06-22 02:13:58.000000000 -0500 ++++ lilo-24.2/src/config.h 2020-03-19 04:43:53.769503552 -0500 +@@ -20,10 +20,6 @@ + #endif + + #if !__MSDOS__ +-#if !defined(__GLIBC__) || (__GLIBC__ < 2) || \ +- !defined(__GLIBC_MINOR__) || (__GLIBC_MINOR__ < 1) +-# warning "glibc version 2.1 or later is recommended" +-#endif /* !__MSDOS__ */ + + #define TMP_DEV "/tmp/dev.%d" /* temporary devices are created here */ + #define MAX_TMP_DEV 50 /* highest temp. device number */ +--- lilo-24.2/src/lilo.c 2015-11-21 17:51:24.000000000 -0600 ++++ lilo-24.2/src/lilo.c 2020-03-19 04:34:43.899511387 -0500 +@@ -182,7 +182,6 @@ extern int has_partitions_beta(dev_t dev + printf("Without"); + #endif + printf(" device-mapper\n"); +- printf("\nglibc version %d.%d\n", __GLIBC__, __GLIBC_MINOR__); + printf("Kernel Headers included from %d.%d.%d\n", + LINUX_VERSION_CODE>>16, + LINUX_VERSION_CODE>>8 & 255, +--- lilo-24.2/src/partition.c 2015-11-21 17:50:20.000000000 -0600 ++++ lilo-24.2/src/partition.c 2020-03-19 04:41:05.339505952 -0500 +@@ -31,30 +31,6 @@ + #include "boot.h" + #include "loader.h" + +-#if __GLIBC__ < 2 || __GLIBC_MINOR__ < 1 +-#if defined(_syscall5) && defined(__NR__llseek) +- +- _syscall5(int, _llseek, unsigned int, fd, unsigned int, hi, +- unsigned int, lo, lloff_t *, res, unsigned int, wh); +- int _llseek(unsigned int fd, unsigned int offset_high, +- unsigned int offset_low, lloff_t * result, unsigned int whence); +- +- lloff_t lseek64(unsigned int fd, lloff_t offs, unsigned int whence) +- { lloff_t res; +- return _llseek(fd, offs>>32, offs, &res, whence) < 0 ? +- (lloff_t)(-1) : res; +- } +- +-#else +-/* last ditch attempt on small disks, and very old systems */ +-# warning "*****************************************" +-# warning "***** no 64 bit lseek is available ******" +-# warning "***** using 23 bit sector addresses *****" +-# warning "*****************************************" +-# define lseek64 lseek +-#endif +-#endif +- + static + int anywhere(unsigned char *buf, char *str) + { diff --git a/user/lilo/partuuid.patch b/user/lilo/partuuid.patch new file mode 100644 index 000000000..a1a4fcc10 --- /dev/null +++ b/user/lilo/partuuid.patch @@ -0,0 +1,65 @@ +Enable usage of PARTUUID if /etc/fstab uses it for the root filesystem. +While we're here, make the generated labels for the kernel choices more +descriptive as well. + +--- lilo-24.2/src/bsect.c 2011-06-22 02:09:44.000000000 -0500 ++++ lilo-24.2/src/bsect.c 2020-03-19 07:59:59.819990912 -0500 +@@ -1098,6 +1098,9 @@ if (image) { /* long section specific to + else if (strlen(root)>5 && !strncmp(root,"UUID=",5)) { + sprintf(strchr(options,0),"root=%s ", root); + } ++ else if (strlen(root)>9 && !strncmp(root,"PARTUUID=",9)) { ++ sprintf(strchr(options,0),"root=%s ", root); ++ } + else { + sprintf(strchr(options,0),"root=%x ",dev_number(root)); + } +--- lilo-24.2/scripts/liloconfig 2015-11-21 18:00:21.000000000 -0600 ++++ lilo-24.2/scripts/liloconfig 2020-03-19 14:36:22.710002318 -0500 +@@ -217,11 +218,12 @@ sub convert_root_device { + $found = 0; + } + } +- elsif ($rootpart =~ /^UUID/ or $rootpart =~ /^LABEL/) { ++ elsif ($rootpart =~ /^(PART)?UUID/ or $rootpart =~ /^LABEL/) { + $root_link = $rootpart; + $root_link =~ s{\"}{}g; + $root_link =~ s{^LABEL=}{/dev/disk/by-label/}; + $root_link =~ s{^UUID=}{/dev/disk/by-uuid/}; ++ $root_link =~ s{^PARTUUID=}{/dev/disk/by-partuuid/}; + + if (-l $root_link) { + $root_id = $rootpart; +@@ -610,6 +610,7 @@ sub write_image_config { + my $initrd2; + my $nr; + my $nr2; ++ my $label; + + # append to new lilo.conf + open(MYFH_NEW, ">> $liloconfnew") or die "Cannot open file: $!"; +@@ -627,18 +628,16 @@ sub write_image_config { + $initrd2 = $initrd; + $initrd2 =~ s/\.img//; + $nr2 = $nr + 1; ++ $label = $image; ++ $label =~ s@/boot/vmlinuz-@@; ++ $label =~ s/-[^-]*$//; ++ $label = substr $label, 0, 15; + + print MYFH_NEW 'image = ' . $image . "\n"; + if($opt_v) { print 'image = ' . $image . "\n"; } + +- if ($nr == 0) { +- print MYFH_NEW "\t" . 'label = "Linux"' . "\n"; +- if($opt_v) { print "\t" . 'label = "Linux"' . "\n"; } +- } +- elsif ($nr == 1) { +- print MYFH_NEW "\t" . 'label = "Linux Old"' . "\n"; +- if($opt_v) { print "\t" . 'label = "Linux Old"' . "\n"; } +- } ++ print MYFH_NEW "\t" . "label = \"$label\"" . "\n"; ++ if($opt_v) { print "\t" . "label = \"$label\"" . "\n"; } + + print MYFH_NEW "\t" . 'read-only' . "\n"; + if($opt_v) { print "\t" . 'read-only' . "\n"; } diff --git a/user/lua-yaml/APKBUILD b/user/lua-yaml/APKBUILD new file mode 100644 index 000000000..f252b3a7b --- /dev/null +++ b/user/lua-yaml/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Alyx Wolcott <alyx@leuhta.com> +# Maintainer: Alyx Wolcott <alyx@leuhta.com> +pkgname=lua-yaml +pkgver=6.2.4 +pkgrel=0 +pkgdesc="LibYAML binding for Lua" +url="https://gvvaughan.github.io/lyaml/" +arch="all" +options="!check" # No tests, sweet. +license="MIT" +depends="lua5.3" +makedepends="lua5.3-dev yaml-dev" +source="$pkgname-$pkgver.tar.gz::https://github.com/gvvaughan/lyaml/archive/v$pkgver.tar.gz" +builddir="$srcdir/lyaml-$pkgver" + +build () { + ./build-aux/luke PREFOX=$pkgdir/usr VERSION="${pkgver}" +} + +package() { + mkdir -p $pkgdir/usr + ./build-aux/luke PREFIX=$pkgdir/usr install +} + +sha512sums="92dea86a3b1d648093d2134ea4c558432b0861942aa141359d1ca9d7bc55f33a62bb38e12fd653d69139e0a6f0ea6202a9e8c57f750a065d35f0dd674eacaf8a lua-yaml-6.2.4.tar.gz" diff --git a/user/mate-backgrounds/APKBUILD b/user/mate-backgrounds/APKBUILD index ff2dd8671..7d781f313 100644 --- a/user/mate-backgrounds/APKBUILD +++ b/user/mate-backgrounds/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=mate-backgrounds -pkgver=1.24.0 +pkgver=1.24.1 pkgrel=0 pkgdesc="Desktop wallpapers provided by the MATE desktop environment" url="https://mate-desktop.org" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="29bb18ad77767593c9428c0bbb28da5b2fccab67b71b7d295784c7ec018692f6d5fcdcbae202549650765bc090932cec99a9ec9066d066dc8b4fc6d7347f5905 mate-backgrounds-1.24.0.tar.xz" +sha512sums="6af6bd1be186da3c4c594687ece1f6b50c3b05fb0619dd0062955e9e09c8007efe76a7625826cba0e4716c8ed61eac4d372b0a3bf2b87f00b7f170bb97709f09 mate-backgrounds-1.24.1.tar.xz" diff --git a/user/mate-common/APKBUILD b/user/mate-common/APKBUILD index 210e68923..2ddf24626 100644 --- a/user/mate-common/APKBUILD +++ b/user/mate-common/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=mate-common -pkgver=1.24.0 +pkgver=1.24.1 pkgrel=0 pkgdesc="Additional development support for the MATE desktop environment" url="https://mate-desktop.org" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="bbeead4b0493e386756670ca31e9f9cca92d9205e84282c87ee73d4a17b77ca258265569dc6f3483566ac04bc4a2de1aa737bcaaecbb01a83c73fb804b18a642 mate-common-1.24.0.tar.xz" +sha512sums="da3e670e5b4f566bf1893692b34b63d94cb5bd993ce94d0d8245a54c12b2cc2c6af7c29edd184b09ce5296566dbe34112bc318e740a8a7910e4767569e64d623 mate-common-1.24.1.tar.xz" diff --git a/user/mate-complete/APKBUILD b/user/mate-complete/APKBUILD index a828fd924..011965eca 100644 --- a/user/mate-complete/APKBUILD +++ b/user/mate-complete/APKBUILD @@ -8,7 +8,7 @@ url="https://mate-desktop.org" arch="noarch" options="!check" # No tests license="Public-Domain" -depends="atril caja caja-dropbox caja-extensions engrampa eom marco +depends="atril caja caja-dropbox caja-extensions consolekit2 engrampa eom marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-icon-theme mate-indicator-applet mate-media mate-menus mate-netbook mate-notification-daemon mate-panel @@ -17,12 +17,16 @@ depends="atril caja caja-dropbox caja-extensions engrampa eom marco mate-terminal mate-user-guide mate-user-share mate-utils mozo pluma" makedepends="" subpackages="" -source="org.adelie-linux.about-mate.desktop" +source="org.adelie-linux.about-mate.desktop + mate.desktop" package() { - mkdir -p "$pkgdir"/usr/share/applications + mkdir -p "$pkgdir"/usr/share/applications "$pkgdir"/usr/share/xsessions install -Dm644 "$srcdir"/org.adelie-linux.about-mate.desktop \ "$pkgdir"/usr/share/applications + install -Dm644 "$srcdir"/mate.desktop \ + "$pkgdir"/usr/share/xsessions } -sha512sums="24fd0524d949a22b22e38c81667f31498bc524302c52128c10d8a5802315720543426ba82245f5e7510832c493389ff59f36be14433f1a6a6c68993f733f329c org.adelie-linux.about-mate.desktop" +sha512sums="24fd0524d949a22b22e38c81667f31498bc524302c52128c10d8a5802315720543426ba82245f5e7510832c493389ff59f36be14433f1a6a6c68993f733f329c org.adelie-linux.about-mate.desktop +bb01b5fa7b30001ad06833d56b4ab5a6054ba09789b1beb3d6b9ed7b70ef4b304daf5a7e69dde58bef65d6ea82bd623d7576f2e1323e01ea29450cc06af8d78b mate.desktop" diff --git a/user/mate-complete/mate.desktop b/user/mate-complete/mate.desktop new file mode 100644 index 000000000..f3c0adda5 --- /dev/null +++ b/user/mate-complete/mate.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=MATE +Comment=This session logs you into MATE +Exec=ck-launch-session --sh-syntax mate-session +TryExec=mate-session +Icon= +Type=Application +DesktopNames=MATE +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=launch;MATE;desktop;session; + diff --git a/user/mate-power-manager/APKBUILD b/user/mate-power-manager/APKBUILD index 3a9c24620..5bc66d5aa 100644 --- a/user/mate-power-manager/APKBUILD +++ b/user/mate-power-manager/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=mate-power-manager -pkgver=1.24.0 +pkgver=1.24.1 pkgrel=0 pkgdesc="Power management utility for the MATE desktop environment" url="https://mate-desktop.org" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6194d1156a004c1006b3b0b5d50a4def5e6d07df5229aafac487843e4e544e144b85e2a9b45ee0b932b8de9a6969aa844f8f61ac607f9f5e6234fd4ff5d8a4d5 mate-power-manager-1.24.0.tar.xz" +sha512sums="57bae519bfa2894bc6923bf0932f823bcabe2dc0de06dc6676597708482b369a24f39bb94558163f0fdcc2d764702b87f58abc1793679a1c7fb7f53be074bae5 mate-power-manager-1.24.1.tar.xz" diff --git a/user/mate-session-manager/APKBUILD b/user/mate-session-manager/APKBUILD index 1947acf5f..2949030fa 100644 --- a/user/mate-session-manager/APKBUILD +++ b/user/mate-session-manager/APKBUILD @@ -29,6 +29,7 @@ check() { package() { make DESTDIR="$pkgdir" install + rm -r "$pkgdir"/usr/share/xsessions } sha512sums="ee519c8ded1f2df26e62a1384439e8929942d19560c258c91010f8d34bcc7518975406fbc0a5b76d4e73e954cdc2ea106d71476e446573d4a77d2704f6cc9e37 mate-session-manager-1.24.0.tar.xz" diff --git a/user/milou/APKBUILD b/user/milou/APKBUILD index 1aed6cff3..68bc29b40 100644 --- a/user/milou/APKBUILD +++ b/user/milou/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=milou -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Search and launch plasmoid" url="https://www.kde.org/" @@ -11,7 +11,7 @@ depends="" makedepends="cmake extra-cmake-modules python3 kcoreaddons-dev kdeclarative-dev ki18n-dev kitemmodels-dev krunner-dev kservice-dev plasma-framework-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/milou-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/milou-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -36,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="5f5cdf1ff5d18413cc747d3c06b542678bc44af6dcc3670d2805c4902b18997ce8af81f26d94dbe59a49b8c2b882ef25556ae54276e89d85a14f023cae5ddb9a milou-5.18.2.tar.xz" +sha512sums="812b1ac049c7af9cf625e1203cbb9ae0e36a99ac3b89781f4e007974dca460cbf9e866b3773a2117261bd845d4a7c65f70860b45e54b6b87124695c011a3e51e milou-5.18.4.1.tar.xz" diff --git a/user/mlt/APKBUILD b/user/mlt/APKBUILD index fcab2635f..dce0dca9f 100644 --- a/user/mlt/APKBUILD +++ b/user/mlt/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: pkgname=mlt -pkgver=6.18.0 +pkgver=6.20.0 pkgrel=0 pkgdesc="MLT multimedia framework" url="https://www.mltframework.org/" @@ -45,5 +45,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="af6042fa554a7bf87060aaab401c51111fd03a1e50037024662fe727a2281c218f62db07f2c44db62d46f2b9ff67d4599f7aaccc2b337e20394383a24e3c5953 mlt-6.18.0.tar.gz +sha512sums="939e837fb07ff0eace308987d83913e979f82c6eb156b40fde784f3f2b031b5f6896ac96dcde1627925cbb6fc76725f3fc4e5b2d0616fae11263648bcdbe82e3 mlt-6.20.0.tar.gz d00f01d50d5c78b1da5b43dc2b0bbfc49d5e383b602169ae9554734d29f6d43b9da8f97546141933c06ff0367bb4c9f0d2161bbcb6f016265bb0aa1dcbfcb3b1 mlt-6.14.0-locale-header.patch" diff --git a/user/modemmanager/APKBUILD b/user/modemmanager/APKBUILD index 62cf584ce..c239f17fc 100644 --- a/user/modemmanager/APKBUILD +++ b/user/modemmanager/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=modemmanager -pkgver=1.12.6 +pkgver=1.12.8 pkgrel=0 pkgdesc="Software to control mobile broadband modems" url="https://www.freedesktop.org/wiki/Software/ModemManager/" @@ -43,6 +43,6 @@ package() { "$srcdir"/01-org.freedesktop.ModemManager.rules } -sha512sums="63c2f874c8ac62ddddf02735cc3dc0dec0c3ea62be39eb7f69cfb899ae04f6d14cfe59d63cd2fa4a5150afa15560d4a6db7a3fdb7c4467f228cd1b4b30fbd1ec ModemManager-1.12.6.tar.xz +sha512sums="9469b6c1e9927d578c79b821fad05ce9ade4d8d62be8b2399e3c892155ff7125ccc03b8a16912ae534bac32e053cef13bd8d0f79435df1e0cd554b320286f7cd ModemManager-1.12.8.tar.xz 78e1c2ef604fb8b204618b9ecdc741ed7087fcc46ee563dbaaf6c9c0185165be58abfc3bf8ba89129fce7570c172cd1ac1e191e6d1200e3029c14a585ff40b83 no-translit.patch 31ded548acc8ccfcca5cd54384819b73ad9ac83556b754fa03a1a9c08aed7f913c7f066000abef0e52310721ef8c00ca8f48f1f762faaa5792420f62b5201881 01-org.freedesktop.ModemManager.rules" diff --git a/user/mosquitto/APKBUILD b/user/mosquitto/APKBUILD index 7e19f62f4..67ec942a1 100644 --- a/user/mosquitto/APKBUILD +++ b/user/mosquitto/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=mosquitto -pkgver=1.6.8 +pkgver=1.6.9 pkgrel=0 pkgdesc="An Open Source MQTT Broker" url="https://mosquitto.org/" @@ -74,7 +74,7 @@ clients() { mv "$pkgdir"/usr/bin/mosquitto_[ps]ub "$subpkgdir"/usr/bin/ } -sha512sums="c15897df4e0979ee29a1e67cc671f56db600a078e9eb0bea376248b3f53b13ceed36616ad3678e2c9e07d6834a6d75e4efca2c40086069c1546e0223be04c071 mosquitto-1.6.8.tar.gz +sha512sums="f78228a1e8305e4d89b34250981ed2c5fe5317636003636dc90f6fa2b1e3ca3c8fadb705ee7301f5252456cb093a6547bd46a255ca3d9fb5cdced697738d6eb7 mosquitto-1.6.9.tar.gz 681fddc737b3ef3e6c052f0c854a730df290352640a18a63e23ef83d14c425558aff87805d1eb95e44de101b5df48872173af9f5414464ffa8cf727ea2c0491e mosquitto.initd 3886171e36f759a717aa6626d5b8dbd392963c737d5de28b4d52b81359008927b99ff7a0ca82f56a0e5deaed4585571759ba9216336a664fd346845837c2bc18 disable-flaky-test.patch b07f9bec2751ab32c43f53e74d8fca18dbf2d7ce7f8fab562dbcf75de19609ba6219d735ac504697404e0ed36613a14074e3a19e735297195877798f778d337a openrc-conf.patch" diff --git a/user/mtools/APKBUILD b/user/mtools/APKBUILD new file mode 100644 index 000000000..34b0b8730 --- /dev/null +++ b/user/mtools/APKBUILD @@ -0,0 +1,32 @@ +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=mtools +pkgver=4.0.24 +pkgrel=0 +pkgdesc="Utilities to access MS-DOS disks without mounting them" +url="https://www.gnu.org/software/mtools/" +arch="all" +options="!check" # No test suite. +license="GPL-3.0+" +depends="" +makedepends="" +subpackages="$pkgname-doc" +source="https://ftp.gnu.org/gnu/mtools/mtools-$pkgver.tar.bz2" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +package() { + make DESTDIR="$pkgdir" install + install -Dm644 -t "$pkgdir"/etc mtools.conf + sed -i -e 's/^SAMPLE FILE$/#&/' "$pkgdir"/etc/mtools.conf +} + +sha512sums="b74becc4f696315cfabc016d1746e744b43e366de73bf1bffeec4fbab1e4815967594de8acb4af01f89d36a925f93672efbac205b89540161bd53ab7edebcf04 mtools-4.0.24.tar.bz2" diff --git a/user/mutt/APKBUILD b/user/mutt/APKBUILD index 505d0c869..09b0f49d3 100644 --- a/user/mutt/APKBUILD +++ b/user/mutt/APKBUILD @@ -3,7 +3,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=mutt -pkgver=1.13.2 +pkgver=1.13.4 pkgrel=0 pkgdesc="Small but very powerful text-mode email client" url="http://www.mutt.org" # No HTTPS @@ -57,4 +57,4 @@ package() { "$pkgdir"/etc/Muttrc.gpg.dist } -sha512sums="af6eb8d2125dc49391392f350ec44203824a0cea2856ca194e7f8f534e598049185c813a56053491fda221042d1508a48cf46b2167e2ebf44af7b69938dcb829 mutt-1.13.2.tar.gz" +sha512sums="59ae13d7cef052818f38f6d52e2cb42251f393ecf622eae113bfa29218b541195471de822efbdb072c6f74a4dc385bb94fe27c37b44c62eac7e2a0a4e0c6adc3 mutt-1.13.4.tar.gz" diff --git a/user/net-snmp/APKBUILD b/user/net-snmp/APKBUILD index 3fc1bceb4..8dea420b2 100644 --- a/user/net-snmp/APKBUILD +++ b/user/net-snmp/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: pkgname=net-snmp pkgver=5.8 -pkgrel=0 +pkgrel=1 pkgdesc="Simple Network Management Protocol" url="http://www.net-snmp.org/" arch="all" @@ -74,7 +74,7 @@ package() { install -m644 -D "$srcdir"/snmpd.confd "$pkgdir"/etc/conf.d/snmpd install -m644 -D "$srcdir"/snmptrapd.confd \ "$pkgdir"/etc/conf.d/snmptrapd - install -m644 -D EXAMPLE.conf "$pkgdir"/etc/snmp/snmpd.conf + install -m600 -D EXAMPLE.conf "$pkgdir"/etc/snmp/snmpd.conf echo "authCommunity log,execute,net public" > "$pkgdir"/etc/snmp/snmptrapd.conf mkdir -p "$pkgdir"/var/lib/net-snmp find "$pkgdir" -name perllocal.pod -delete diff --git a/user/netqmail/0005-CVE-2005-1513.patch b/user/netqmail/0005-CVE-2005-1513.patch new file mode 100644 index 000000000..3b3876cb3 --- /dev/null +++ b/user/netqmail/0005-CVE-2005-1513.patch @@ -0,0 +1,19 @@ +diff -rNU3 netqmail-1.06.old/alloc.c netqmail-1.06/alloc.c +--- netqmail-1.06.old/alloc.c 1998-06-15 10:53:16.000000000 +0000 ++++ netqmail-1.06/alloc.c 2020-05-21 11:33:24.689739728 +0000 +@@ -1,3 +1,4 @@ ++#include <limits.h> + #include "alloc.h" + #include "error.h" + extern char *malloc(); +@@ -15,6 +16,10 @@ + unsigned int n; + { + char *x; ++ if (n >= (INT_MAX >> 3)) { ++ errno = error_nomem; ++ return 0; ++ } + n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */ + if (n <= avail) { avail -= n; return space + avail; } + x = malloc(n); diff --git a/user/netqmail/APKBUILD b/user/netqmail/APKBUILD index 551895f83..45b92dbc8 100644 --- a/user/netqmail/APKBUILD +++ b/user/netqmail/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=netqmail pkgver=1.06 -pkgrel=6 +pkgrel=7 pkgdesc="The qmail mail transfer agent (community version)" url="http://www.netqmail.org/" arch="all" @@ -19,6 +19,7 @@ source="http://www.netqmail.org/$pkgname-$pkgver.tar.gz 0002-qbiffutmpx-20170820.patch 0003-qmailremote-20170716.patch 0004-notifyfd.patch + 0005-CVE-2005-1513.patch qmail.run smtpd.run smtpsd.run @@ -106,6 +107,7 @@ ad126cad5c0d35351919ad87022fd94b910519d91cf82f38c158f423bbfc1b82455844a791ba0c69 b3af9c29e6d46daa2a1b9f677c6f32892d5f8c9b8d5c2bdd6f34b106dd5ad41394c05a5ebe145c6e29b4ced4482f08b2d09e7818fd309123c0d087600500e336 0002-qbiffutmpx-20170820.patch cbebdc72c7cc5c437531c9277534ae552c6d044a83b36e3f3ce60ab5563c55eb814d6c543cc0997abab73075d1b517cc0929dd65674d468d517b0ca38196e2b4 0003-qmailremote-20170716.patch b32a8a36c8ab8872abd4f1a117482f064a6d631a6bb2ba75cafe61743bef09f923d26935d9514eec33a7dec5aeb3d0b517d677e55924859d2db5233bc11f9f11 0004-notifyfd.patch +ac8406c1d16ce2e55e47bc83ca6e095833a54de73cecee222cad3fcececa518386b95a11cb0c9c2dcc6851bae28aa539b11069305aa887a291177bf177ee7b01 0005-CVE-2005-1513.patch 954a905bac5e3bc49f180dc0de7f6ee4c4ae8f94dd400ee4b06d3c944f1ff1cfc44bddccb07ae439f2523ad06fcb89023e57d091737da88f836013757794e931 qmail.run c0cd244af4d8186305c51b0e93960bdb1ea6ce40f1adf20c4f72419aa7498e35649590919ebd16547a0313676bf9171c9efea2ff8ac3a5c773b18473a972a977 smtpd.run 719c4ce5ad93cddeafbb734cffeec3fd959d3f374e44e1f34e9a25d638303dd97df41642d3df5c7a069a8db47d1e31c32a16ecd2d04b72860c4e00bbba0c9fcf smtpsd.run diff --git a/user/networkmanager/APKBUILD b/user/networkmanager/APKBUILD index 19ba6c868..a86436b13 100644 --- a/user/networkmanager/APKBUILD +++ b/user/networkmanager/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=networkmanager -pkgver=1.22.8 +pkgver=1.22.10 pkgrel=0 pkgdesc="Network management daemon" url="https://wiki.gnome.org/Projects/NetworkManager" @@ -90,7 +90,7 @@ openrc() { "$subpkgdir"/etc/NetworkManager/dispatcher.d/ } -sha512sums="3533f6d0cfb2723078aece287101feda0d4f65a1f0160ae17dd77142ca5e126a0f27f5904c2e2c4dcdf9433dacc3990e1bf366f14e67b94fa1cd3006dd6b3a4c NetworkManager-1.22.8.tar.xz +sha512sums="342d0c8db2c94992f8f53b13dc4432fe566637e03e1d65cdc44ebf51a4f70d4ec804ebc48ed9cbe010c61abc665f1bb1be22f9364de991d6e5ffc5212b9efd23 NetworkManager-1.22.10.tar.xz ecd9cb920a125e0e3c4b8c96048ca3ac24490fdd453f0525ecaccf688687692e7a5feaf87eeaf97a2dfb405b2e0db8743114510e30f00f7ae119dc9b9551e7d7 editline.patch b0b85294c19510893ba30cf3d0e1984430c451273d4eb545760de52c69866a5ed0385f9c14a9bc180da01daad7d1c0da221101e7a826bc5be53c2724c9990d95 errno.patch 7b3cfbea8b80f832862d79fce9f89f604b457744324a8ae6b428cf3cb42ec2536d3c5784303d140d50c5a2cd8caf91d04f5096ef420a57a761e412bf2256bd5a musl.patch diff --git a/user/nextcloud-client/APKBUILD b/user/nextcloud-client/APKBUILD index 19b8959ae..b9b3064d6 100644 --- a/user/nextcloud-client/APKBUILD +++ b/user/nextcloud-client/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Leonardo Arena <rnalrd@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=nextcloud-client -pkgver=2.5.3 +pkgver=2.6.3 pkgrel=0 pkgdesc="Nextcloud desktop client" url="https://github.com/nextcloud/desktop" @@ -13,7 +13,7 @@ makedepends="cmake qt5-qttools-dev qtkeychain-dev zlib-dev subpackages="$pkgname-dev" source="$pkgname-$pkgver.tar.gz::https://github.com/nextcloud/desktop/archive/v$pkgver.tar.gz no-webengine.patch - openssl.patch" + test-fix-include.patch" builddir="$srcdir/desktop-$pkgver" build() { @@ -21,11 +21,10 @@ build() { -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_SYSCONFDIR="/etc/$pkgname" \ - -DNO_SHIBBOLETH=1 \ -DWITH_CRASHREPORTER=bool:OFF \ -DUNIT_TESTING=bool:ON \ - -DNO_SHIBBOLETH=bool:ON . + -DNO_SHIBBOLETH=bool:ON \ + -DNO_WEBENGINE=bool:ON . make } @@ -37,8 +36,12 @@ check() { package() { make DESTDIR="$pkgdir" install + cat > "$pkgdir"/etc/Nextcloud/Nextcloud.conf <<-EOF + [General] + skipUpdateCheck=true + EOF } -sha512sums="998e38278472e87e9606fad407ba7b1295594a777845c6fa7413ffb485b3a3b7a26ad8212a1161e1d695d9ecfa066e9090aa633b4ec4af84700c28bc1321b710 nextcloud-client-2.5.3.tar.gz -17e6a8437d33a2bb1305e45405aee4e23f233e00c232669a1f8317355032d88329899d3f7b65d1069cf1612029b589a575b0f64018b9b23d239a73c5f4bed2ce no-webengine.patch -e323a1074f8ac96667a420f076fdfc988e2fd97cdacd05d83ac54b467b567f5adbf635e7c4fb0414af0012b4016cc4c13441cb35ed3976bc970e514e81b65fd4 openssl.patch" +sha512sums="ddeb8a32e0208bc415bf421cb3ce05713adb617fa78c0b5cb4d894c9e8d3499dcc495c115de3ea7abb0c402eef4bc64ede8c59a7f056acda47779096fedc8025 nextcloud-client-2.6.3.tar.gz +38dd89ca2bf67294187bb4d5c59cdf725ec3b502f23bf4a60210e85c66f6a7e00da0e0b41775bc138159bed300dc60a1f179d1d6ad3b7a27e1aadf4f0576f348 no-webengine.patch +c14054e6dc228ca77a659371b3c151e0551477fce3a2678a54da4ba73adbcf972a78114c5649adc3dc813fb01b55bbb812620caac0bc0460519424c2caa6c81f test-fix-include.patch" diff --git a/user/nextcloud-client/no-webengine.patch b/user/nextcloud-client/no-webengine.patch index 762b5092d..cbbfe2a72 100644 --- a/user/nextcloud-client/no-webengine.patch +++ b/user/nextcloud-client/no-webengine.patch @@ -1,6 +1,45 @@ ---- desktop-2.5.2/src/CMakeLists.txt 2019-03-19 01:52:24.000000000 +0000 -+++ desktop-2.5.2/src/CMakeLists.txt 2019-04-22 04:01:31.260028906 +0000 -@@ -4,7 +4,7 @@ +From 61561d454fec726741a938b81149fa0e2d7db4d6 Mon Sep 17 00:00:00 2001 +From: Max Rees <maxcrees@me.com> +Date: Mon, 24 Feb 2020 21:32:58 -0600 +Subject: [PATCH] Add support for compiling without QtWebEngine (webflow / + flow2 support) + +Signed-off-by: Max Rees <maxcrees@me.com> +--- + CMakeLists.txt | 7 +++++++ + src/CMakeLists.txt | 6 +++++- + src/gui/CMakeLists.txt | 25 +++++++++++++++------- + src/gui/accountmanager.cpp | 2 ++ + src/gui/creds/credentialsfactory.cpp | 4 ++++ + src/gui/wizard/owncloudsetuppage.cpp | 4 ++++ + src/gui/wizard/owncloudwizard.cpp | 31 +++++++++++++++++++++++++++- + src/gui/wizard/owncloudwizard.h | 6 ++++++ + src/libsync/networkjobs.cpp | 8 +++++++ + 9 files changed, 83 insertions(+), 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f8e92e250..90719c222 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,6 +167,13 @@ if(NO_SHIBBOLETH) + add_definitions(-DNO_SHIBBOLETH=1) + endif() + ++# Disable webengine-based components ++option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF) ++if(NO_WEBENGINE) ++ message("Compiling without webengine") ++ add_definitions(-DNO_WEBENGINE=1) ++endif() ++ + if(APPLE) + set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" ) + endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9f854b006..881daec8e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -4,11 +4,15 @@ endif() set(synclib_NAME ${APPLICATION_EXECUTABLE}sync) @@ -9,26 +48,35 @@ if (Qt5Core_VERSION VERSION_LESS 5.9.0) message(STATUS "For HTTP/2 support, compile with Qt 5.9 or higher.") endif() ---- desktop-2.5.2/src/gui/CMakeLists.txt 2019-03-19 01:52:24.000000000 +0000 -+++ desktop-2.5.2/src/gui/CMakeLists.txt 2019-04-22 04:15:53.230034980 +0000 -@@ -40,7 +40,6 @@ - wizard/owncloudoauthcredspage.ui - wizard/owncloudsetupnocredspage.ui - wizard/owncloudwizardresultpage.ui -- wizard/webview.ui - ) - set(client_SRCS -@@ -103,8 +102,6 @@ ++if(NOT NO_WEBENGINE) ++ find_package(Qt5 5.6 COMPONENTS WebEngineWidgets WebEngine REQUIRED) ++endif() ++ + if(NOT TOKEN_AUTH_ONLY) + find_package(Qt5Keychain REQUIRED) + endif() +diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt +index 4372a9f23..d62f23d1e 100644 +--- a/src/gui/CMakeLists.txt ++++ b/src/gui/CMakeLists.txt +@@ -108,24 +108,17 @@ set(client_SRCS creds/credentialsfactory.cpp creds/httpcredentialsgui.cpp creds/oauth.cpp +- creds/flow2auth.cpp + creds/keychainchunk.cpp - creds/webflowcredentials.cpp - creds/webflowcredentialsdialog.cpp wizard/postfixlineedit.cpp wizard/abstractcredswizardpage.cpp wizard/owncloudadvancedsetuppage.cpp -@@ -115,8 +112,6 @@ + wizard/owncloudconnectionmethoddialog.cpp + wizard/owncloudhttpcredspage.cpp + wizard/owncloudoauthcredspage.cpp +- wizard/flow2authcredspage.cpp +- wizard/flow2authwidget.cpp + wizard/owncloudsetuppage.cpp wizard/owncloudwizardcommon.cpp wizard/owncloudwizard.cpp wizard/owncloudwizardresultpage.cpp @@ -37,169 +85,291 @@ wizard/slideshow.cpp ) -@@ -295,7 +290,7 @@ +@@ -138,6 +131,18 @@ IF(NOT NO_SHIBBOLETH) + ) + endif() + ++IF(NOT NO_WEBENGINE) ++ list(APPEND client_SRCS ++ creds/flow2auth.cpp ++ creds/webflowcredentials.cpp ++ creds/webflowcredentialsdialog.cpp ++ wizard/flow2authcredspage.cpp ++ wizard/flow2authwidget.cpp ++ wizard/webviewpage.cpp ++ wizard/webview.cpp ++ ) ++endif() ++ + set(updater_SRCS + updater/ocupdater.cpp + updater/updateinfo.cpp +@@ -298,7 +303,11 @@ else() endif() add_library(updater STATIC ${updater_SRCS}) -target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml Qt5::WebEngineWidgets) -+target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml) ++if(NOT NO_WEBENGINE) ++ target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml Qt5::WebEngineWidgets) ++else() ++ target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml) ++endif() target_include_directories(updater PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES ---- desktop-2.5.2/src/gui/accountmanager.cpp 2019-03-19 01:52:24.000000000 +0000 -+++ desktop-2.5.2/src/gui/accountmanager.cpp 2019-04-22 04:17:04.440035482 +0000 -@@ -253,20 +253,6 @@ +diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp +index eec375180..2d7b0bc30 100644 +--- a/src/gui/accountmanager.cpp ++++ b/src/gui/accountmanager.cpp +@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings) acc->setUrl(urlConfig.toUrl()); } -- // Migrate to webflow -- if (authType == QLatin1String("http")) { -- authType = "webflow"; -- settings.setValue(QLatin1String(authTypeC), authType); -- -- foreach(QString key, settings.childKeys()) { -- if (!key.startsWith("http_")) -- continue; -- auto newkey = QString::fromLatin1("webflow_").append(key.mid(5)); -- settings.setValue(newkey, settings.value((key))); -- settings.remove(key); -- } -- } -- ++#ifndef NO_WEBENGINE + // Migrate to webflow + if (authType == QLatin1String("http")) { + authType = "webflow"; +@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings) + settings.remove(key); + } + } ++#endif + qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType; - acc->_serverVersion = settings.value(QLatin1String(serverVersionC)).toString(); ---- desktop-2.5.2/src/gui/creds/credentialsfactory.cpp 2019-03-19 01:52:24.000000000 +0000 -+++ desktop-2.5.2/src/gui/creds/credentialsfactory.cpp 2019-04-22 04:23:19.590038126 +0000 -@@ -21,7 +21,6 @@ +diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp +index 6062f70eb..723196d08 100644 +--- a/src/gui/creds/credentialsfactory.cpp ++++ b/src/gui/creds/credentialsfactory.cpp +@@ -21,7 +21,9 @@ #ifndef NO_SHIBBOLETH #include "creds/shibbolethcredentials.h" #endif --#include "creds/webflowcredentials.h" ++#ifndef NO_WEBENGINE + #include "creds/webflowcredentials.h" ++#endif namespace OCC { -@@ -40,8 +39,6 @@ +@@ -40,8 +42,10 @@ namespace CredentialsFactory { } else if (type == "shibboleth") { return new ShibbolethCredentials; #endif -- } else if (type == "webflow") { -- return new WebFlowCredentials; ++#ifndef NO_WEBENGINE + } else if (type == "webflow") { + return new WebFlowCredentials; ++#endif } else { qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type)); return new DummyCredentials; ---- desktop-2.5.2/src/gui/wizard/owncloudwizard.cpp 2019-03-19 01:52:24.000000000 +0000 -+++ desktop-2.5.2/src/gui/wizard/owncloudwizard.cpp 2019-04-22 04:24:59.360038829 +0000 -@@ -26,7 +26,6 @@ +diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp +index 11b1fc80c..30df7cc7f 100644 +--- a/src/gui/wizard/owncloudsetuppage.cpp ++++ b/src/gui/wizard/owncloudsetuppage.cpp +@@ -144,7 +144,11 @@ void OwncloudSetupPage::slotLogin() + void OwncloudSetupPage::slotGotoProviderList() + { + _ocWizard->setRegistration(true); ++#ifndef NO_WEBENGINE + _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow); ++#else ++ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic); ++#endif + _authTypeKnown = true; + _checking = false; + emit completeChanged(); +diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp +index 2076136ff..8cb91e250 100644 +--- a/src/gui/wizard/owncloudwizard.cpp ++++ b/src/gui/wizard/owncloudwizard.cpp +@@ -27,8 +27,10 @@ #endif #include "wizard/owncloudadvancedsetuppage.h" #include "wizard/owncloudwizardresultpage.h" --#include "wizard/webviewpage.h" ++#ifndef NO_WEBENGINE + #include "wizard/webviewpage.h" + #include "wizard/flow2authcredspage.h" ++#endif #include "QProgressIndicator.h" -@@ -51,7 +50,6 @@ +@@ -47,14 +49,18 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) + , _setupPage(new OwncloudSetupPage(this)) + , _httpCredsPage(new OwncloudHttpCredsPage(this)) + , _browserCredsPage(new OwncloudOAuthCredsPage) ++#ifndef NO_WEBENGINE + , _flow2CredsPage(new Flow2AuthCredsPage) ++#endif + #ifndef NO_SHIBBOLETH + , _shibbolethCredsPage(new OwncloudShibbolethCredsPage) + #endif , _advancedSetupPage(new OwncloudAdvancedSetupPage) , _resultPage(new OwncloudWizardResultPage) , _credentialsPage(nullptr) -- , _webViewPage(new WebViewPage(this)) ++#ifndef NO_WEBENGINE + , _webViewPage(new WebViewPage(this)) ++#endif , _setupLog() , _registration(false) { -@@ -64,7 +62,6 @@ +@@ -62,13 +68,17 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) + setPage(WizardCommon::Page_ServerSetup, _setupPage); + setPage(WizardCommon::Page_HttpCreds, _httpCredsPage); + setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage); ++#ifndef NO_WEBENGINE + setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage); ++#endif + #ifndef NO_SHIBBOLETH + setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage); #endif setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage); setPage(WizardCommon::Page_Result, _resultPage); -- setPage(WizardCommon::Page_WebView, _webViewPage); ++#ifndef NO_WEBENGINE + setPage(WizardCommon::Page_WebView, _webViewPage); ++#endif connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished); -@@ -79,7 +76,6 @@ +@@ -80,11 +90,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) + connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType); + connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); + connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); ++#ifndef NO_WEBENGINE + connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); ++#endif #ifndef NO_SHIBBOLETH connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); #endif -- connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); ++#ifndef NO_WEBENGINE + connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); ++#endif connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders, this, &OwncloudWizard::createLocalAndRemoteFolders); connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration); -@@ -168,10 +164,6 @@ +@@ -106,12 +120,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) + // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching) + connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged); + connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged); ++#ifndef NO_WEBENGINE + connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged); ++#endif + + customizeStyle(); + ++#ifndef NO_WEBENGINE + // allow Flow2 page to poll on window activation + connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow); ++#endif + } + + void OwncloudWizard::setAccount(AccountPtr account) +@@ -180,9 +198,11 @@ void OwncloudWizard::successfulStep() + _browserCredsPage->setConnected(); + break; + ++#ifndef NO_WEBENGINE + case WizardCommon::Page_Flow2AuthCreds: + _flow2CredsPage->setConnected(); + break; ++#endif + + #ifndef NO_SHIBBOLETH + case WizardCommon::Page_ShibbolethCreds: +@@ -190,9 +210,11 @@ void OwncloudWizard::successfulStep() break; #endif -- case WizardCommon::Page_WebView: -- _webViewPage->setConnected(); -- break; -- ++#ifndef NO_WEBENGINE + case WizardCommon::Page_WebView: + _webViewPage->setConnected(); + break; ++#endif + case WizardCommon::Page_AdvancedSetup: _advancedSetupPage->directoriesCreated(); - break; -@@ -195,8 +187,6 @@ +@@ -217,10 +239,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type) #endif if (type == DetermineAuthTypeJob::OAuth) { _credentialsPage = _browserCredsPage; -- } else if (type == DetermineAuthTypeJob::WebViewFlow) { -- _credentialsPage = _webViewPage; ++#ifndef NO_WEBENGINE + } else if (type == DetermineAuthTypeJob::LoginFlowV2) { + _credentialsPage = _flow2CredsPage; + } else if (type == DetermineAuthTypeJob::WebViewFlow) { + _credentialsPage = _webViewPage; ++#endif } else { // try Basic auth even for "Unknown" _credentialsPage = _httpCredsPage; } ---- desktop-2.5.2/src/libsync/networkjobs.h 2019-03-19 01:52:24.000000000 +0000 -+++ desktop-2.5.2/src/libsync/networkjobs.h 2019-04-22 05:21:11.950062594 +0000 -@@ -411,8 +411,7 @@ - enum AuthType { - Basic, // also the catch-all fallback for backwards compatibility reasons - OAuth, -- Shibboleth, -- WebViewFlow -+ Shibboleth - }; - - explicit DetermineAuthTypeJob(AccountPtr account, QObject *parent = nullptr); ---- desktop-2.5.2/src/libsync/networkjobs.cpp 2019-03-19 01:52:24.000000000 +0000 -+++ desktop-2.5.2/src/libsync/networkjobs.cpp 2019-04-22 05:33:28.590067785 +0000 -@@ -922,7 +922,7 @@ - - // WebViewFlow > OAuth > Shib > Basic - if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) { -- result = WebViewFlow; -+ result = Basic; +@@ -245,7 +269,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id) } - qCInfo(lcDetermineAuthTypeJob) << "Auth type for" << _account->davUrl() << "is" << result; ---- desktop-2.5.2/src/gui/wizard/owncloudsetuppage.cpp 2019-03-19 01:52:24.000000000 +0000 -+++ desktop-2.5.2/src/gui/wizard/owncloudsetuppage.cpp 2019-04-22 05:32:01.750067173 +0000 -@@ -143,7 +143,7 @@ - void OwncloudSetupPage::slotGotoProviderList() - { - _ocWizard->setRegistration(true); -- _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow); -+ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic); - _authTypeKnown = true; - _checking = false; - emit completeChanged(); -@@ -260,8 +260,6 @@ - return WizardCommon::Page_OAuthCreds; - case DetermineAuthTypeJob::Shibboleth: - return WizardCommon::Page_ShibbolethCreds; -- case DetermineAuthTypeJob::WebViewFlow: -- return WizardCommon::Page_WebView; - } - return WizardCommon::Page_HttpCreds; - } ---- desktop-2.5.2/src/gui/wizard/owncloudwizard.h 2019-03-18 21:52:24.000000000 -0400 -+++ desktop-2.5.2/src/gui/wizard/owncloudwizard.h 2019-04-22 02:07:03.600081984 -0400 -@@ -39,7 +39,6 @@ + setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup); +- if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) { ++ if (id == WizardCommon::Page_AdvancedSetup ++ && (_credentialsPage == _browserCredsPage ++#ifndef NO_WEBENGINE ++ || _credentialsPage == _flow2CredsPage ++#endif ++ )) { + // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want + // to re-open the browser. + button(QWizard::BackButton)->setEnabled(false); +diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h +index 3cbf89f71..2f398d416 100644 +--- a/src/gui/wizard/owncloudwizard.h ++++ b/src/gui/wizard/owncloudwizard.h +@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage; class OwncloudWizardResultPage; class AbstractCredentials; class AbstractCredentialsWizardPage; --class WebViewPage; ++#ifndef NO_WEBENGINE + class WebViewPage; + class Flow2AuthCredsPage; ++#endif /** * @brief The OwncloudWizard class -@@ -106,7 +105,6 @@ +@@ -114,11 +116,15 @@ private: + #ifndef NO_SHIBBOLETH + OwncloudShibbolethCredsPage *_shibbolethCredsPage; + #endif ++#ifndef NO_WEBENGINE + Flow2AuthCredsPage *_flow2CredsPage; ++#endif OwncloudAdvancedSetupPage *_advancedSetupPage; OwncloudWizardResultPage *_resultPage; AbstractCredentialsWizardPage *_credentialsPage; -- WebViewPage *_webViewPage; ++#ifndef NO_WEBENGINE + WebViewPage *_webViewPage; ++#endif QStringList _setupLog; +diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp +index 76789a8ce..73f0bed0e 100644 +--- a/src/libsync/networkjobs.cpp ++++ b/src/libsync/networkjobs.cpp +@@ -955,12 +955,20 @@ void DetermineAuthTypeJob::checkAllDone() + + // WebViewFlow > OAuth > Shib > Basic + if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) { ++#ifndef NO_WEBENGINE + result = WebViewFlow; ++#else ++ result = Basic; ++#endif + } + + // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic + if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) { ++#ifndef NO_WEBENGINE + result = LoginFlowV2; ++#else ++ result = Basic; ++#endif + } + + // If we determined that we need the webview flow (GS for example) then we switch to that +-- +2.25.0 + diff --git a/user/nextcloud-client/openssl.patch b/user/nextcloud-client/openssl.patch deleted file mode 100644 index 426fa0cfb..000000000 --- a/user/nextcloud-client/openssl.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- desktop-2.5.0-beta2/CMakeLists.txt 2018-08-24 12:54:42.000000000 +0000 -+++ desktop-2.5.0-beta2/CMakeLists.txt 2018-10-03 06:19:15.840263697 +0000 -@@ -183,7 +183,7 @@ if(BUILD_CLIENT) - endif() - find_package(Sphinx) - find_package(PdfLatex) -- find_package(OpenSSL 1.1 REQUIRED ) -+ find_package(OpenSSL 1.0 REQUIRED ) - - find_package(ZLIB REQUIRED) - find_package(GLib2) diff --git a/user/nextcloud-client/test-fix-include.patch b/user/nextcloud-client/test-fix-include.patch new file mode 100644 index 000000000..da8423022 --- /dev/null +++ b/user/nextcloud-client/test-fix-include.patch @@ -0,0 +1,22 @@ +From f9c6449c050cad673cf37971d9815a35e6ffb5dd Mon Sep 17 00:00:00 2001 +From: tuxmaster5000 <837503+tuxmaster5000@users.noreply.github.com> +Date: Fri, 12 Oct 2018 15:56:26 +0200 +Subject: [PATCH] Fix include file + +--- + test/testnextcloudpropagator.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/testnextcloudpropagator.cpp b/test/testnextcloudpropagator.cpp +index 6ad1a6b37..dc2e476ad 100644 +--- a/test/testnextcloudpropagator.cpp ++++ b/test/testnextcloudpropagator.cpp +@@ -8,7 +8,7 @@ + #include <QDebug> + + #include "propagatedownload.h" +-#include "nextcloudpropagator_p.h" ++#include "owncloudpropagator_p.h" + + using namespace OCC; + namespace OCC { diff --git a/user/nftables/APKBUILD b/user/nftables/APKBUILD index 41e356d37..bc96a18f1 100644 --- a/user/nftables/APKBUILD +++ b/user/nftables/APKBUILD @@ -2,9 +2,9 @@ # Contributor: Jakub Jirutka <jakub@jirutka.cz> # Contributor: Francesco Colista <fcolista@alpinelinux.org> # Contributor: Luis Ressel <aranea@aixah.de> -# Maintainer: +# Maintainer: Molly Miller <sysvinit@adelielinux.org> pkgname=nftables -pkgver=0.9.3 +pkgver=0.9.4 pkgrel=0 pkgdesc="Netfilter tables userspace tools" url="https://netfilter.org/projects/nftables" @@ -47,7 +47,7 @@ package() { install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname } -sha512sums="d264f6fc75c95510e29fe7d5b82ae418d502f40437b098ba6117ffb1374d9989d70a7296e2e58c5fb25142145a987bb9c160902637899f892589809f9541db43 nftables-0.9.3.tar.bz2 +sha512sums="cef5b5f26f3a2893a3eb1323f1f0ecfd6e2865e0eb040e9b7da5824e5be2274b888e661abe96e828add9e951f47303e30cb7c9238d267a031c0f99b5f3b6e2c0 nftables-0.9.4.tar.bz2 f7b18945f0ab8be2a8725fa902cb2499de0a886076ae4cc337ebd845b3ae08f05a75b1680b428075d42558e7953014a227405e748741e6ebc3a7ac84bbf4beaa asciidoctor.patch 4eb1adf003dfcaad65c91af6ca88d91b7904c471aefae67e7d3c2f8e053e1ac196d3437a45d1fed5a855b876a0f1fc58a724e381d2acf1164d9120cadee73eef nftables.confd 58daafb012b7cd0248a7db6e10f6a667e683347aaea7eaa78cb88780272f334e00913cea3fd39a22a4a72acc27fabd101944b40916f4b534ddeb509bd0232017 nftables.initd" diff --git a/user/node/APKBUILD b/user/node/APKBUILD index be64aaa46..d60a359af 100644 --- a/user/node/APKBUILD +++ b/user/node/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=node -pkgver=10.18.0 +pkgver=10.19.0 pkgrel=0 pkgdesc="JavaScript runtime" url="https://nodejs.org/" @@ -71,7 +71,7 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8fc9062e150af6f054f1ebebbdf67151b16f14bcca9cbb35338a4c7fcd7fa1c3f05c4a7ace12d4153180cec0007a195cbc94942c4d04c3895384dc18951d2c1c node-v10.18.0.tar.xz +sha512sums="512efc58415ed789938c434af131d76bdd51772cac9f7e380afaa79d83cc9c433a979068fc7272adba6ba6551d195267978e1fc819236926b0d1fd6cf91c5eee node-v10.19.0.tar.xz 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 Python-2.7.15.tar.xz 8f64922d586bce9d82c83042a989739cc55ecc5e015778cdfbda21c257aa50527ddb18740985bcb2068e4a749b71eb8a135d9a8152b374d361589df7f33c9b60 libatomic.patch 6d37794c7c78ef92ebb845852af780e22dc8c14653b63a8609c21ab6860877b9dffc5cf856a8516b7978ec704f312c0627075c6440ace55d039f95bdc4c85add ppc32.patch diff --git a/user/okular/APKBUILD b/user/okular/APKBUILD index f77196bae..4e9567438 100644 --- a/user/okular/APKBUILD +++ b/user/okular/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=okular pkgver=19.12.3 -pkgrel=0 +pkgrel=1 pkgdesc="Universal document reader developed by KDE" url="https://okular.kde.org/" arch="all" @@ -18,8 +18,13 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kconfig-dev subpackages="$pkgname-doc $pkgname-lang" source="https://download.kde.org/stable/release-service/$pkgver/src/okular-$pkgver.tar.xz es-doc-fix.patch + CVE-2020-9359.patch " +# secfixes: +# 19.12.3-r1: +# - CVE-2020-9359 + build() { if [ "$CBUILD" != "$CHOST" ]; then CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" @@ -45,4 +50,5 @@ package() { } sha512sums="ccc3c357fefe04691bba7bc803321789c3a1fdad4cfc610e9c425b2373efd94340fa2ceb2e357569ad14f1c0c69ef0db8079d9bc082a6d5708ccbfb3b65d8b3d okular-19.12.3.tar.xz -de32eabda7ee84c4d894b02c56c7d66d8e2332688c726ad95e1b61c1e730035081ff7721275c7b7a9884aabc268ee0115d9ab8e5f52ae8838e1c09c471c81932 es-doc-fix.patch" +de32eabda7ee84c4d894b02c56c7d66d8e2332688c726ad95e1b61c1e730035081ff7721275c7b7a9884aabc268ee0115d9ab8e5f52ae8838e1c09c471c81932 es-doc-fix.patch +02b27bd206006dbbafbe74e60665ad5159ef6ea32b8bf1526b9c655c046cb6de08630f28d64c9935e73d5707a30d0835f2ab8cd4521740e5236cefc3d3057d29 CVE-2020-9359.patch" diff --git a/user/okular/CVE-2020-9359.patch b/user/okular/CVE-2020-9359.patch new file mode 100644 index 000000000..34ff3e2ce --- /dev/null +++ b/user/okular/CVE-2020-9359.patch @@ -0,0 +1,27 @@ +From 6a93a033b4f9248b3cd4d04689b8391df754e244 Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid <aacid@kde.org> +Date: Tue, 10 Mar 2020 23:07:24 +0100 +Subject: [PATCH] Document::processAction: If the url points to a binary, don't + run it + +--- + core/document.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/core/document.cpp b/core/document.cpp +index 3215a1abc..0aa5b6980 100644 +--- a/core/document.cpp ++++ b/core/document.cpp +@@ -4388,7 +4388,8 @@ void Document::processAction( const Action * action ) + { + const QUrl realUrl = KIO::upUrl(d->m_url).resolved(url); + // KRun autodeletes +- new KRun( realUrl, d->m_widget ); ++ KRun *r = new KRun( realUrl, d->m_widget ); ++ r->setRunExecutables(false); + } + } + } break; +-- +2.25.2 + diff --git a/user/opengfx/APKBUILD b/user/opengfx/APKBUILD index 6393b9717..0e79f2369 100644 --- a/user/opengfx/APKBUILD +++ b/user/opengfx/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=opengfx -pkgver=0.5.5 +pkgver=0.6.0 pkgrel=0 pkgdesc="Graphics files for OpenTTD" url="https://www.openttd.org/en/" @@ -9,11 +9,9 @@ arch="noarch" options="!check" # Requires GIMP license="GPL-2.0-only" depends="" -makedepends="grfcodec nml" +makedepends="grfcodec nml cmd:unix2dos cmd:which" subpackages="" -source="https://binaries.openttd.org/extra/opengfx/$pkgver/$pkgname-$pkgver-source.tar.xz - Makefile.patch - " +source="https://cdn.openttd.org/opengfx-releases/$pkgver/$pkgname-$pkgver-source.tar.xz" builddir="$srcdir/$pkgname-$pkgver-source" build() { @@ -27,5 +25,4 @@ package() { done } -sha512sums="952fb52e19bd790e335a9df0f11fa29b2fc570b49903419904956cc65883adde93d432160b16682366ab8b973b7852d2d30f574f1840f6fbd082e1addbe5bfe8 opengfx-0.5.5-source.tar.xz -a337ab4ade493a87d2687a7aa2fb05dcd5718725645950486975a6df309dd1e6631d4b04fa6dcbf590e869b45b037caa32468ea6f677ce458d61950f77c5a006 Makefile.patch" +sha512sums="275b9040e6938bdd5bee2d39361e0b78f447a8e497cc8ff018c7874dc16a357870f8b560999ebb2f2f0b275644c7c9ce85c964875f5a798e2ec45e62a8bc768f opengfx-0.6.0-source.tar.xz" diff --git a/user/opengfx/Makefile.patch b/user/opengfx/Makefile.patch deleted file mode 100644 index 1e4585311..000000000 --- a/user/opengfx/Makefile.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- opengfx-0.5.3-source/Makefile -+++ opengfx-0.5.3-source/Makefile -@@ -99,8 +99,8 @@ - AWK ?= awk - GREP ?= grep - PYTHON ?= python --UNIX2DOS ?= $(shell which unix2dos) --UNIX2DOS_FLAGS ?= $(shell [ -n $(UNIX2DOS) ] && $(UNIX2DOS) -q --version 2>/dev/null && echo "-q" || echo "") -+UNIX2DOS ?= $(shell which unix2dos 2>/dev/null) -+UNIX2DOS_FLAGS ?= $(shell [ -n $(UNIX2DOS) ] && $(UNIX2DOS) -q --version 2>/dev/null >&2 && echo "-q" || echo "") - - # Graphics processing - GIMP ?= gimp -@@ -719,7 +719,7 @@ - $(_E) - endif - $(_E) "Release:" -- $(_E) "bananas: Upload bundle to BaNaNaS -+ $(_E) "bananas: Upload bundle to BaNaNaS" - $(_E) - $(_E) "Valid command line variables are:" - $(_E) "Helper programmes:" diff --git a/user/openttd/APKBUILD b/user/openttd/APKBUILD index c5cf85a3a..44417d5a2 100644 --- a/user/openttd/APKBUILD +++ b/user/openttd/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=openttd -pkgver=1.9.3 +pkgver=1.10.0 pkgrel=0 pkgdesc="Simulation game based on Transport Tycoon Deluxe" url="https://www.openttd.org/en/" @@ -28,4 +28,4 @@ package() { make install } -sha512sums="e2208f730cf26c2df9b1950e885e20471060217dd47f2483db3f1cc86b40658d71208f27caab38a9fa513cfddb33c791a0972336dfa902a6d110ef246d936a34 openttd-1.9.3-source.tar.xz" +sha512sums="f1727b81a059aa04bea1fb6a9a89ae0619942d6406a77f99e642a60ea9416daa215bbd0cbd183747c2df5f6dea81766b7e04493a52211e55522e8b2642db701a openttd-1.10.0-source.tar.xz" diff --git a/user/openvpn/APKBUILD b/user/openvpn/APKBUILD index 76b5b5c68..e34112fc3 100644 --- a/user/openvpn/APKBUILD +++ b/user/openvpn/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Lee Starnes <lee@canned-death.us> pkgname=openvpn -pkgver=2.4.8 +pkgver=2.4.9 pkgrel=0 pkgdesc="A robust, and highly configurable VPN (Virtual Private Network)" url="https://openvpn.net/" @@ -19,6 +19,10 @@ source="https://swupdate.openvpn.net/community/releases/$pkgname-$pkgver.tar.gz openvpn.down " +# secfixes: +# 2.4.9-r0: +# - CVE-2020-11810 + build() { ./configure \ --build=$CBUILD \ @@ -59,7 +63,7 @@ pam() { "$subpkgdir"/usr/lib/openvpn/plugins/ } -sha512sums="fd559b6fe2323624fce5511f142a005cf62b15cb6c98d29e1aac3785cede6aad53ae9ded46ae1757da79b17820263906d7f7fbc00ea159301c122dd8baabdfad openvpn-2.4.8.tar.gz +sha512sums="a05cbd6c73809f26cd1b68bd491ceb8fb4ddf2cde0407f73f4c16d97477a4853722a1618e6dcf0b111283f73d9499b593b25107bb1441d9b38c80e76d6bcc69b openvpn-2.4.9.tar.gz 3594937d4cc9d7b87ac6a3af433f651ed9695f41586994f9d9789554fbe3f87f054b997b89486eda4ae0b852d816aac9007222168d585910aa9f255073324bd9 openvpn.initd 6b2353aca9df7f43044e4e37990491b4ba077e259ebe13b8f2eb43e35ca7a617c1a65c5bfb8ab05e87cf12c4444184ae064f01f9abbb3c023dbbc07ff3f9c84e openvpn.confd cdb73c9a5b1eb56e9cbd29955d94297ce5a87079419cd626d6a0b6680d88cbf310735a53f794886df02030b687eaea553c7c569a8ea1282a149441add1c65760 openvpn.up diff --git a/user/oxygen/APKBUILD b/user/oxygen/APKBUILD index e85c84980..b7ab67af6 100644 --- a/user/oxygen/APKBUILD +++ b/user/oxygen/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=oxygen -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="'Oxygen' theme for KDE" url="https://www.kde.org/" @@ -13,7 +13,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev libxcb-dev kdecoration-dev kguiaddons-dev ki18n-dev kservice-dev kwidgetsaddons-dev kwindowsystem-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/oxygen-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/oxygen-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="02c840d4e7130da9468c01818d9999f2ac8f8ffba0bac27805614ab8ad5133aa76a9153ff0b63553822a0367341dcfd900498366d98fca1ac60e1730e8e4166e oxygen-5.18.2.tar.xz" +sha512sums="b6804c0ff7b2234603c6e9d0e9957b8eb5b44b663aa427571a841b7ee421c7e95da2213afb4d956390c5a87828a530a13aecf7f86be63c0f56410259771c516d oxygen-5.18.4.1.tar.xz" diff --git a/user/pangomm/APKBUILD b/user/pangomm/APKBUILD index 20787b69f..ae190e40d 100644 --- a/user/pangomm/APKBUILD +++ b/user/pangomm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=pangomm -pkgver=2.42.0 +pkgver=2.42.1 pkgrel=0 pkgdesc="C++ interfaces for Pango" url="https://gnome.org" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2cebf76150414cde96b911eae947a6e1a073352927f01a44ddc276711151dffe0b9d8c54c3df16289d9002f982fa3e3386ddfe002be902f3086b44fff95fdb59 pangomm-2.42.0.tar.xz" +sha512sums="46ba375e61dd32e268397ecb8e69364b642ea3d9a6c4d9e3e52500e1e1c9fa0c6aa822c6d5046f49a2fe4d9a872c6c2b354134d39c17370abcfc6a1d752223b0 pangomm-2.42.1.tar.xz" diff --git a/user/papirus-icons/APKBUILD b/user/papirus-icons/APKBUILD index 6dff3c80d..c3201a64d 100644 --- a/user/papirus-icons/APKBUILD +++ b/user/papirus-icons/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=papirus-icons -pkgver=20200201 +pkgver=20200301 pkgrel=0 pkgdesc="Material, flat style icon theme" url="https://store.kde.org/p/1166289/" @@ -39,4 +39,4 @@ epapirus() { mv "$pkgdir"/usr/share/icons/ePapirus "$subpkgdir"/usr/share/icons/ } -sha512sums="07ed45eb409ed12f57657f058f9a5a03dec77679ed598dc8645536a614ecc5424c60be57f10de20ca72204d2a21152fdd62adadf2637bbfa1266d588c787d7e9 papirus-icons-20200201.tar.gz" +sha512sums="8b9f0a9b0fdb676365d6b30af8ba8dee71ff433a4c4317151899f09614da3fc9764e5e9c48743cdf7c8fde6eea53a1d3ab37eb890f1486fc54ce328e6af9b348 papirus-icons-20200301.tar.gz" diff --git a/user/perl-gd/APKBUILD b/user/perl-gd/APKBUILD index 6ac163fb6..df76050da 100644 --- a/user/perl-gd/APKBUILD +++ b/user/perl-gd/APKBUILD @@ -6,7 +6,7 @@ _author=RURBAN _au=${_author%%"${_author#??}"} _a=${_author%%"${_author#?}"} pkgver=2.71 -pkgrel=0 +pkgrel=1 pkgdesc="Perl module for GD graphics library" url="https://metacpan.org/release/GD" arch="all" diff --git a/user/php7-apcu/APKBUILD b/user/php7-apcu/APKBUILD index e9ad17ae4..94f95e03f 100644 --- a/user/php7-apcu/APKBUILD +++ b/user/php7-apcu/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=php7-apcu _pkgname=${pkgname#php7-} -pkgver=5.1.17 +pkgver=5.1.18 pkgrel=0 pkgdesc="Userland cache for PHP" url="https://pecl.php.net/package/APCu" @@ -34,6 +34,9 @@ check() { package() { # It didn't listen to DESTDIR make INSTALL_ROOT="$pkgdir" install + + install -d "$pkgdir"/etc/php/conf.d/ + echo 'extension=apcu.so' > "$pkgdir"/etc/php/conf.d/00_apcu.ini } -sha512sums="7f6a6cd927ed4ff251497c2c79e8d832d1a44ddd59abdb175886d3c12ea27f26142e6b851ac5bb5acb49a0e3a998e9741ba0ff03310f51b9cd188cdf6cf12793 apcu-5.1.17.tgz" +sha512sums="5e9c5b4540be7abdf2f473d2f8955d8708934a1d6e05cb2c99154cc7ba8a2bbf9afde51769e20f46ef278efd6f60b9172e0864c31e0976b9d3096a337035e7a9 apcu-5.1.18.tgz" diff --git a/user/php7/APKBUILD b/user/php7/APKBUILD index a8ef4976e..c86d41e84 100644 --- a/user/php7/APKBUILD +++ b/user/php7/APKBUILD @@ -8,10 +8,10 @@ # ----------+---------+------------------------+--------- # bcmath | LGPL2 | ext/bcmath/libbcmath | used # date | MIT | ext/date/lib | used -# gd | BSD | ext/gd/libgd | used +# gd | BSD | ext/gd/libgd | not used # file | BSD | ext/fileinfo/libmagic | used # libmbfl | LGPLv2 | ext/mbstring/libmbfl | used -# oniguruma | BSD | ext/mbstring/oniguruma | used +# oniguruma | BSD | ext/mbstring/oniguruma | not used # pcre | BSD | ext/pcre/pcrelib | not used # sqlite3 | Public | ext/sqlite3/libsqlite | not used # libzip | BSD | ext/zip/lib | not used @@ -25,63 +25,68 @@ pkgname=php7 _pkgname=php -pkgver=7.2.21 +pkgver=7.4.4 pkgrel=0 -_apiver=20170718 +_apiver=20190902 +_zendver=20190902 +_pdover=20170320 pkgdesc="The PHP7 language runtime engine" url="https://php.net/" arch="all" license="PHP-3.01 AND Zend-2.0 AND Custom:TSRM AND LGPL-2.1+ AND MIT AND Beerware AND Public-Domain AND BSD-3-Clause AND Apache-1.0 AND PostgreSQL AND BSD-2-Clause AND Zlib AND BSD-4-Clause" depends="" depends_dev="$pkgname=$pkgver-r$pkgrel autoconf icu-dev libedit-dev libxml2-dev - pcre-dev zlib-dev" + pcre2-dev zlib-dev" makedepends="autoconf apache-httpd-dev aspell-dev + automake bison bzip2-dev + cmd:which curl-dev db-dev enchant-dev freetds-dev - freetype-dev gdbm-dev gettext-tiny gmp-dev icu-dev krb5-dev libedit-dev + libgd-dev libical-dev - libjpeg-turbo-dev - libpng-dev openssl-dev - libwebp-dev libxml2-dev - libxpm-dev libxslt-dev libzip-dev net-snmp-dev + oniguruma-dev openldap-dev - pcre-dev + pcre2-dev postgresql-dev re2c sqlite-dev unixodbc-dev - zlib-dev" -subpackages="$pkgname-dev $pkgname-doc $pkgname-apache $pkgname-phpdbg - $pkgname-embed $pkgname-litespeed $pkgname-cgi $pkgname-fpm + zlib-dev + " +subpackages="$pkgname-dev $pkgname-doc $pkgname-phpdbg + $pkgname-embed $pkgname-cgi $pkgname-fpm $pkgname-apache $pkgname-pear::noarch $pkgname-dbg" source="https://www.php.net/distributions/$_pkgname-$pkgver.tar.bz2 $_pkgname-fpm.initd $_pkgname-fpm.logrotate $_pkgname-module.conf disabled-tests.list - install-pear.patch + enchant-2.patch fpm-paths.patch - allow-build-recode-and-imap-together.patch - fix-tests-devserver.patch - pwbuflen.patch - enchant-2.patch" + getsockopt.patch + install-pear.patch + no-max-ent-size.patch + test-fixes.patch + zend_bool.patch + zip-glob-pathc.patch + " builddir="$srcdir/$_pkgname-$pkgver" _libdir="/usr/lib/$_pkgname" _extension_dir="$_libdir/modules" @@ -105,137 +110,133 @@ _extension_confd="/etc/$_pkgname/conf.d" # 7.2.21-r0: # - CVE-2019-11041 # - CVE-2019-11042 - -# Usage: add_ext [with|enable] name [extension dependencies...] [configure options...] -add_ext() { - local ext="$1" +# 7.4.4-r0: +# - CVE-2019-11043 +# - CVE-2019-11045 +# - CVE-2019-11046 +# - CVE-2019-11047 +# - CVE-2019-11050 +# - CVE-2019-13224 +# - CVE-2020-7059 +# - CVE-2020-7060 +# - CVE-2020-7062 +# - CVE-2020-7063 +# - CVE-2020-7064 +# - CVE-2020-7066 + +# Usage: _add_ext [with|enable] name [extension dependencies...] [configure options...] +_add_ext() { + _ext="$1" shift - # add_ext [with|enable] name -> --[with|enable]-name=shared - if [ "$ext" = "with" ] || [ "$ext" = "enable" ]; then - _configure_ext_opts="$_configure_ext_opts --$ext-$1=shared" - ext="$1" + # _add_ext [with|enable] name -> --[with|enable]-name=shared + case "$_ext" in + with|enable) + _configure_ext_opts="$_configure_ext_opts --$_ext-$1=shared" + _ext="$1" shift - fi + ;; + esac - case "$ext" in - phar) subpackages="$subpackages $pkgname-$ext:$ext";; - *) subpackages="$subpackages $pkgname-$ext:_extension";; + case "$_ext" in + phar) subpackages="$subpackages $pkgname-$_ext:$_ext";; + *) subpackages="$subpackages $pkgname-$_ext:_extension";; esac - _extensions="$_extensions $ext" + _extensions="$_extensions $_ext" - local opt - local prev - for opt in $@; do - case "$opt" in + for _opt; do + case "$_opt" in -*) # Add more configure options - _configure_ext_opts="$_configure_ext_opts $opt" + _configure_ext_opts="$_configure_ext_opts $_opt" ;; license:*) # Add custom license - opt="$(printf '%s' "${opt#license:}" | sed 's/:/ AND /g')" - eval "_licenses_$ext='$opt'" + _opt="$(printf '%s' "${_opt#license:}" | sed 's/:/ AND /g')" + eval "_licenses_$_ext='$_opt'" ;; *) # Add dependencies - prev="$(eval echo \$_deps_$ext)" - eval "_deps_$ext='$prev $opt'" + eval "_deps_$_ext=\"\$_deps_$_ext $_opt\"" ;; - esac + esac done } -enable_ext() { add_ext enable $@; } -with_ext() { add_ext with $@; } +_enable_ext() { _add_ext enable "$@"; } +_with_ext() { _add_ext with "$@"; } -enable_ext 'bcmath' \ +_enable_ext bcmath \ license:LGPL-2.0+:PHP-3.01 -with_ext 'bz2' -enable_ext 'calendar' -enable_ext 'ctype' -with_ext 'curl' -enable_ext 'dba' \ +_with_ext bz2 +_enable_ext calendar +_enable_ext ctype +_with_ext curl +_enable_ext dba \ --with-db4 \ --with-dbmaker=shared \ --with-gdbm -enable_ext 'dom' -with_ext 'enchant' -enable_ext 'exif' mbstring -enable_ext 'fileinfo' \ +_enable_ext dom +_with_ext enchant +_enable_ext exif mbstring +_enable_ext fileinfo \ license:PHP-3.0:BSD-2-Clause:BSD-3-Clause:Public-Domain -enable_ext 'ftp' -with_ext 'gd' \ - --with-freetype-dir=/usr \ - --disable-gd-jis-conv \ - --with-jpeg-dir=/usr \ - --with-png-dir=/usr \ - --with-webp-dir=/usr \ - --with-xpm-dir=/usr -with_ext 'gettext' -with_ext 'gmp' -with_ext 'iconv' -# Needs makedepeneds=imap-dev -#with_ext 'imap' \ -# --with-imap-ssl -enable_ext 'intl' -enable_ext 'json' -with_ext 'ldap' \ +_enable_ext ftp +_enable_ext gd \ + --with-external-gd +_with_ext gettext +_with_ext gmp +_with_ext iconv +_enable_ext intl +_enable_ext json +_with_ext ldap \ --with-ldap-sasl -enable_ext 'mbstring' \ +_enable_ext mbstring \ license:PHP-3.01:OLDAP-2.8:BSD-2-Clause:Public-Domain:LGPL-2.0-only:LGPL-2.1-only -add_ext 'mysqli' mysqlnd openssl \ +_add_ext mysqli mysqlnd openssl \ --with-mysqli=shared,mysqlnd \ --with-mysql-sock=/run/mysqld/mysqld.sock -enable_ext 'mysqlnd' openssl -add_ext 'odbc' \ +_enable_ext mysqlnd openssl +_add_ext odbc \ --with-unixODBC=shared,/usr -enable_ext 'opcache' -with_ext 'openssl' \ +_enable_ext opcache +_with_ext openssl \ --with-system-ciphers \ --with-kerberos -enable_ext 'pcntl' -enable_ext 'pdo' -add_ext 'pdo_dblib' pdo \ +_enable_ext pcntl +_enable_ext pdo +_add_ext pdo_dblib pdo \ --with-pdo-dblib=shared -add_ext 'pdo_mysql' pdo mysqlnd \ +_add_ext pdo_mysql pdo mysqlnd \ --with-pdo-mysql=shared,mysqlnd -add_ext 'pdo_odbc' pdo \ +_add_ext pdo_odbc pdo \ license:PHP-3.0 \ --with-pdo-odbc=shared,unixODBC,/usr -add_ext 'pdo_pgsql' pdo \ +_add_ext pdo_pgsql pdo \ --with-pdo-pgsql=shared -add_ext 'pdo_sqlite' pdo \ +_add_ext pdo_sqlite pdo \ --with-pdo-sqlite=shared,/usr -with_ext 'pgsql' -enable_ext 'phar' -enable_ext 'posix' -with_ext 'pspell' -# Needs makedepends=recode-dev -#with_ext 'recode' -enable_ext 'session' -enable_ext 'shmop' -enable_ext 'simplexml' -with_ext 'snmp' -enable_ext 'soap' \ +_with_ext pgsql +_enable_ext phar +_enable_ext posix +_with_ext pspell +_enable_ext session +_enable_ext shmop +_enable_ext simplexml +_with_ext snmp +_enable_ext soap \ license:PHP-3.01:PHP-2.02 -# Needs makedepends=libsodium-dev -#with_ext 'sodium' -enable_ext 'sockets' -add_ext 'sqlite3' \ +_enable_ext sockets +_add_ext sqlite3 \ --with-sqlite3=shared,/usr -enable_ext 'sysvmsg' -enable_ext 'sysvsem' -enable_ext 'sysvshm' -# Needs makedepends=tidyhtml-dev -#with_ext 'tidy' -enable_ext 'tokenizer' -enable_ext 'wddx' xml -enable_ext 'xml' -enable_ext 'xmlreader' dom -with_ext 'xmlrpc' xml -enable_ext 'xmlwriter' -with_ext 'xsl' dom -enable_ext 'zip' \ - --with-libzip=/usr +_enable_ext sysvmsg +_enable_ext sysvsem +_enable_ext sysvshm +_enable_ext tokenizer +_enable_ext xml +_enable_ext xmlreader dom +_with_ext xmlrpc xml +_enable_ext xmlwriter +_with_ext xsl dom +_with_ext zip # secfixes: # 7.2.5-r0: @@ -248,13 +249,23 @@ enable_ext 'zip' \ prepare() { default_prepare - update_config_sub - local vapi="$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h)" - if [ "$vapi" != "$_apiver" ]; then - error "Upstreram API version is now $vapi. Expecting $_apiver" - error "After updating _apiver, all 3rd-party extensions must be rebuilt." - return 1 + _vapi="$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h)" + if [ "$_vapi" != "$_apiver" ]; then + error "Upstream API version $_vapi != $_apiver" + die "All third-party extensions must be rebuilt" + fi + + _zapi="$(sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h)" + if [ "$_zapi" != "$_zendver" ]; then + error "Upstream Zend API version $_zapi != $_zendver" + die "All third-party extensions must be rebuilt" + fi + + _papi="$(sed -n '/#define PDO_DRIVER_API/{s/.*[ ]//;p}' ext/pdo/php_pdo_driver.h)" + if [ "$_papi" != "$_pdover" ]; then + error "Upstream PDO API version $_papi != $_pdover" + die "All third-party extensions must be rebuilt" fi # https://bugs.php.net/63362 - Not needed but installed headers. @@ -271,21 +282,17 @@ prepare() { # Fix some bogus permissions. find . -name '*.[ch]' -exec chmod 644 {} + - # XXX: Delete failing tests. - sed -n '/^[^#]/p' "$srcdir/disabled-tests.list" | while read item; do - rm $item + # XXX: Disable failing tests. + sed -n '/^[^#]/p' "$srcdir/disabled-tests.list" | while read _test; do + mv "$_test" "${_test}d" done autoconf } -# Notes: -# * gd-jis-conv breaks any non-latin font rendering (vakartel). -# * libxml cannot be build as shared. -# * Doesn't work with system-provided onigurama, some tests fail (invalid code -# point); probably because bundled onigurama is version 5.x, but we have 6.x. _build() { - EXTENSION_DIR=$_extension_dir PCRE_INCDIR="/usr/include" ./configure \ + # libxml cannot be build as shared. + EXTENSION_DIR="$_extension_dir" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ @@ -301,56 +308,61 @@ _build() { --with-config-file-path=/etc/$_pkgname \ --with-config-file-scan-dir=$_extension_confd \ --disable-short-tags \ - --with-icu-dir=/usr \ --with-libedit \ --without-readline \ - --enable-libxml \ - --with-libxml-dir=/usr \ - --with-pcre-regex=/ \ + --with-external-pcre \ --with-zlib \ --with-zlib-dir=/usr \ $_configure_ext_opts \ - $@ + "$@" make } build() { - # phpdbg - _build --enable-phpdbg \ - --enable-phpdbg-webhelper \ - --disable-cgi \ - --disable-cli + export CFLAGS="$CFLAGS -fno-strict-aliasing -Wno-pointer-sign" # apache-httpd module - _build --disable-phpdbg \ + _build --disable-fpm \ + --disable-embed \ + --disable-phpdbg \ --disable-cgi \ --disable-cli \ --with-apxs2 mv libs/libphp7.so sapi/apache2handler/mod_php.so - # cgi, cli, fpm, embed, litespeed - _build --disable-phpdbg \ - --enable-fpm \ - --enable-embed \ - --with-litespeed + _build --enable-fpm=yes \ + --enable-embed=yes \ + --enable-phpdbg=yes \ + --enable-phpdbg-webhelper=yes } check() { # PHP is so stupid that it's not able to resolve dependencies # between extensions and load them in correct order, so we must # help it... - # opcache is Zend extension, it's handled specially in Makefile - local php_modules="$(_extensions_by_load_order \ - | grep -vx opcache \ - | xargs -n 1 printf "'$builddir/modules/%s.la' ")" - sed -i "/^PHP_TEST_SHARED_EXTENSIONS/,/extension=/ \ - s|in \$(PHP_MODULES)\"*|in $php_modules|" Makefile + # + # * opcache is Zend extension, it's handled specially in Makefile + # * skip pdo_dblib since it slowly tries to connect to nonexistent + # * ditto snmp + + cat > php-check.ini <<-EOF + extension_dir=$builddir/modules + $(_extensions_by_load_order \ + | grep -vxe opcache -e pdo_dblib -e snmp \ + | sed -e 's/^/extension=/' -e 's/$/.so/') + EOF + + # Note: We use the combination of PHPRC=... and + # PHP_MODULES=(nothing) so we can set the module load order + # correctly. Cf. test-fixes.patch NO_INTERACTION=1 REPORT_EXIT_STATUS=1 \ SKIP_SLOW_TESTS=1 SKIP_ONLINE_TESTS=1 TEST_TIMEOUT=10 \ + TEST_PHP_ARGS="-j$JOBS -W test.log" \ TZ= LANG= LC_ALL= \ - make test + PHPRC="$builddir"/php-check.ini \ + make test PHP_MODULES= echo 'NOTE: We have skipped quite a lot tests, see disabled-tests.list.' } @@ -376,14 +388,13 @@ doc() { cd "$builddir" mkdir -p "$subpkgdir/usr/share/doc/$_pkgname" - cp CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS \ - README* UPGRADING* \ + cp EXTENSIONS LICENSE NEWS README* UPGRADING* \ "$subpkgdir/usr/share/doc/$_pkgname/" } apache() { pkgdesc="PHP7 Module for apache-httpd" - depends="$pkgname apache-httpd" + depends="$pkgname=$pkgver-r$pkgrel apache-httpd" install -D -m 755 "$builddir"/sapi/apache2handler/mod_php.so \ "$subpkgdir"/usr/libexec/apache2/mod_php.so @@ -393,37 +404,26 @@ apache() { phpdbg() { pkgdesc="Interactive PHP7 debugger" - #depends="$pkgname" ? - install -Dm755 "$builddir"/sapi/phpdbg/phpdbg \ - "$subpkgdir"/usr/bin/phpdbg + _mv "$pkgdir"/usr/bin/phpdbg "$subpkgdir"/usr/bin/ } embed() { pkgdesc="PHP7 Embedded Library" - #depends="$pkgname" ? _mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/ } -litespeed() { - pkgdesc="PHP7 LiteSpeed SAPI" - #depends="$pkgname" ? - - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/lsphp "$subpkgdir"/usr/bin -} - cgi() { pkgdesc="PHP7 Common Gateway Interface" - depends="$pkgname" + depends="$pkgname=$pkgver-r$pkgrel" _mv "$pkgdir"/usr/bin/php-cgi "$subpkgdir"/usr/bin/ } fpm() { pkgdesc="PHP7 FastCGI Process Manager" - depends="$pkgname" + depends="$pkgname=$pkgver-r$pkgrel" cd "$pkgdir" _mv var "$subpkgdir"/ @@ -431,9 +431,9 @@ fpm() { _mv usr/sbin "$subpkgdir"/usr/ _mv etc/$_pkgname/php-fpm* "$subpkgdir"/etc/$_pkgname/ - local file; for file in php-fpm.conf php-fpm.d/www.conf; do - mv "$subpkgdir"/etc/$_pkgname/$file.default \ - "$subpkgdir"/etc/$_pkgname/$file + for _file in php-fpm.conf php-fpm.d/www.conf; do + mv "$subpkgdir/etc/$_pkgname/$_file.default" \ + "$subpkgdir/etc/$_pkgname/$_file" done install -D -m 755 "$srcdir"/$_pkgname-fpm.initd \ @@ -447,7 +447,7 @@ fpm() { pear() { pkgdesc="PHP7 Extension and Application Repository" - depends="$pkgname $pkgname-xml" + depends="$pkgname=$pkgver-r$pkgrel $pkgname-xml=$pkgver-r$pkgrel" cd "$pkgdir" # pecl needs xml extension and since we build it as shared, it must be @@ -455,8 +455,8 @@ pear() { sed -i 's/\$INCARG/& -d extension=xml.so/' usr/bin/pecl mkdir -p "$subpkgdir"/usr/bin - local file; for file in pecl pear peardev; do - mv usr/bin/$file "$subpkgdir"/usr/bin/$file + for _file in pecl pear peardev; do + mv "usr/bin/$_file" "$subpkgdir/usr/bin/$_file" done _mv etc/php/pear.conf "$subpkgdir"/etc/php/ @@ -475,73 +475,70 @@ phar() { } _extension() { - local ext="${subpkgname#$pkgname-}" - local extdesc="$(head -n1 "$builddir"/ext/$ext/CREDITS 2>/dev/null ||:)" - depends="$pkgname" - local dep; for dep in $(eval echo \$_deps_$ext); do - depends="$depends $pkgname-$dep" + _ext="${subpkgname#$pkgname-}" + + depends="$pkgname=$pkgver-r$pkgrel" + for _dep in $(eval echo \$_deps_$_ext); do + depends="$depends $pkgname-$_dep=$pkgver-r$pkgrel" done - pkgdesc="PHP7 extension: ${extdesc:-$ext}" - if [ -n "$(eval echo \$_licenses_$ext)" ]; then - license="$(eval echo \$_licenses_$ext)" - fi - local load_order=$(_extension_load_order "$ext") + pkgdesc="$(head -n1 "$builddir/_ext/$_ext/CREDITS" 2>/dev/null ||:)" + pkgdesc="PHP7 extension: ${pkgdesc:-$_ext}" - # extension prefix - local prefix= - [ "$ext" = "opcache" ] && prefix="zend_" + if [ -n "$(eval echo \$_licenses_$_ext)" ]; then + license="$(eval echo \$_licenses_$_ext)" + fi - _mv "$pkgdir"/$_extension_dir/$ext.so \ - "$subpkgdir"/$_extension_dir/ + _mv "$pkgdir/$_extension_dir/$_ext.so" \ + "$subpkgdir/$_extension_dir/" - mkdir -p "$subpkgdir"/$_extension_confd - echo "${prefix}extension=$ext.so" \ - > "$subpkgdir"/$_extension_confd/$(printf %02d $load_order)_$ext.ini + _load_order="$(printf %02d "$(_extension_load_order "$_ext")")" + case "$_ext" in + opcache) _prefix=zend_;; + *) _prefix=;; + esac + mkdir -p "$subpkgdir/$_extension_confd" + cat > "$subpkgdir/$_extension_confd/${_load_order}_$_ext.ini" <<-EOF + ${_prefix}extension=$_ext.so + EOF } # Prints a load order (0-based integer) for the given extension name. Extension # with lower load order should be loaded before exts with higher load order. -# It's based on number of dependencies of the extension (with exception for -# "imap"), which is flawed, but simple and good enough for now. +# It's based on number of dependencies of the extension which is flawed, +# but simple and good enough for now. _extension_load_order() { - local ext="$1" - local deps="$(eval echo \$_deps_$ext)" - - case "$ext" in - # This must be loaded after recode, even though it does - # not depend on it. - imap) echo 1;; - # depends=$pkgname - phar) echo 1;; - *) echo "$deps" | wc -w;; + _ext="$1" + case "$_ext" in + # depends=$pkgname + phar) echo 1;; + *) echo "$(eval echo \$_deps_$_ext)" | wc -w;; esac } # Prints $_extensions sorted by load order and name. _extensions_by_load_order() { - local deps list ext - - for ext in $_extensions; do - list="$list $(_extension_load_order $ext);$ext" - done - printf '%s\n' $list | sort -t ';' -k 1 | sed -E 's/\d+;//' + for _ext in $_extensions; do + printf '%s\n' "$(_extension_load_order $_ext);$_ext" + done | sort -t ';' -k 1 | sed -E 's/[0-9]+;//' } _mv() { - local dest; for dest; do true; done # get last argument - mkdir -p "$dest" - mv $@ + for _dest; do true; done # get last argument + mkdir -p "$_dest" + mv "$@" } -sha512sums="b234305f04bd621d355450ba38b34558a5b08403571749ac3b04ffa60d7639e847750109bef09a14f616110ba175b970d68cbae0d0b671c2dfeac6917f12f21d php-7.2.21.tar.bz2 +sha512sums="5676023858ffbef4997c2ed99ce1689de2b56d09a0925b8fc6527d56e7f6031b380e433e417e44f84196e713d84c16b33212ed6d116b5c347d1d60586288c248 php-7.4.4.tar.bz2 cb3ba48fbd412f12d98ef1f88b509b40bc4ca44a16779a06d43e4db3cb8d24d54404b9e11ca941b5339af8d3281ca9c8ea3ba5ced4339f91fb40608b5ce9a647 php-fpm.initd 01d4ba3ef104ea378eb0e8cbb7bdee3fdf65e4bd6865eb3bc6c0dc4af31c2d52887abdf0150b5ef984b877860285a3b1af84b11ffebb5b8b722ea9faf83edfeb php-fpm.logrotate a7f9ba5e11652fd1cb9e756c3269269a95de083ecb5be936a85c7a09c1396db9088e0251c6a643c40235c0e776fce2a471e5c7f5a033b85c7d3b3110c2b39e48 php-module.conf -b1008eabc86fcff88336fe2961e3229c159c930a05d97359136c381c5c1cc572a33110308a3e5ef5e31c60327f76c9ef02b375cd2ea8ff9caa7deeddc216f4ce disabled-tests.list -f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch +587057aaf93feec2936e2851dbb42ba78310fc012e340d90c58a8912437a8b6a15585895490c31ac31cf36969ea1f2999993c5ca42031c378f31fb83d361fd73 disabled-tests.list +7c8c3cac9efce81d525cb5a70e1402e393881b83ef4c7b5d39d3565803d21cd283daf3d74e9a8b059ecac66cf339756acc63608ffcb83d960dba86583bd45108 enchant-2.patch a77dd3bdf9dc7a0f2c06ff3e7c425d062bbaa29902c17402ce98701dc99499be863ad543aa5e6a7d1c249702d6afb193398dd3199ae58e42b32b95d434fb1883 fpm-paths.patch -f8ecae241a90cbc3e98aa4deb3d5d35ef555f51380e29f4e182a8060dffeb84be74f030a14c6b452668471030d78964f52795ca74275db05543ccad20ef1f2cc allow-build-recode-and-imap-together.patch -f8bb322e56df79dd9f391737fb8737945cc730b14c7dc2ae8688979c565a9b97f5f2a12c9fcd0d8124624a9d09bd10228147d9e999bb94909bbe249f0a50646c fix-tests-devserver.patch -8e538063d872f6770a57cdb844226a771ccda3d387dd1f199bb08c274b94fbe12ec0ef6df75c32071f308cb8f4ab51b91b520c7c2ed687adf96d0d322788e463 pwbuflen.patch -03de56676449ddc1ba1fc9c4fee2b2ed620cd1a8ce52d288c91b42e081182871ade55c8dbbe1c8286bc4eadcd92d497a62ac7b689ea8d6b1bcb5eb25225595c4 enchant-2.patch" +821bf6fde83302e7613429a61066e2bd3ca4e998dcb7c11e39f4ae84829056537501b47a051e1feba752f72d98644b9a214633db9ccb16d137d3242d145acfe0 getsockopt.patch +951fa8445c20513aa48bf7c7d773c6b4012322e7e7592c13d965758e761b9898c484f0dbc5ae565c05787e6ab868769c97c71504624b10c9570e1d4214f75b10 install-pear.patch +5fd358dfd660901c8ffdaffe0bce398ab020f8c1beb89e26ba1b21646212fe132927d52ae088220d0b9c53017cfc67f4c9b88f7602df61d36eba5768ce94e355 no-max-ent-size.patch +9160e5c6b8bf2d87299f38421caf498519eb42243118570754a5764b5e682c546309548e76df6163df49e841ff51fb07e50fadeed1687da5d73dec1810c393ee test-fixes.patch +0cd6b8739533511c0d1edcb1ecff4d8d21a6b51d21f77c382645cf31d1645eeb2ebd80e2720557ceefa58f538385e097402bdc50e613dc7699bd8f033aefa543 zend_bool.patch +1b22dfa547bd1e14e065966f5268adda771c4ad039b83acee30772cd95f0f0b1a320d75fc6ab71a0bc6ca5ce04d58d9f410767c4fae4d5e16537393c78439f21 zip-glob-pathc.patch" diff --git a/user/php7/disabled-tests.list b/user/php7/disabled-tests.list index 10117801e..fc1386e2e 100644 --- a/user/php7/disabled-tests.list +++ b/user/php7/disabled-tests.list @@ -1,18 +1,14 @@ # Dumb failures # Expects permissions on /etc to be 40755 ext/standard/tests/file/006_error.phpt -# session_start() missing - needs session.so -# Test manually using the following: -# test.ini contains "extension=./modules/session.so" -# TEST_PHP_EXECUTABLE=sapi/cli/php sapi/cli/php run-tests.php -c test.ini $f -Zend/tests/unset_cv05.phpt -Zend/tests/unset_cv06.phpt # Tests undefined behavior (integer underflow or overflow) Zend/tests/dval_to_lval_32.phpt Zend/tests/int_underflow_32bit.phpt ext/date/tests/bug53437_var3.phpt ext/date/tests/bug53437_var5.phpt ext/date/tests/bug53437_var6.phpt +ext/exif/tests/bug79046.phpt +ext/exif/tests/float_cast_overflow.phpt # General glibc/musl incompatibility related failures # stdout printed in wrong order @@ -25,10 +21,17 @@ ext/standard/tests/strings/007.phpt ext/standard/tests/file/popen_pclose_error.phpt # "Address in use" instead of "Address already in use" printed for EADDRINUSE sapi/fpm/tests/socket-ipv4-fallback.phpt +# strerror differences +ext/sockets/tests/socket_strerror.phpt +ext/sockets/tests/socket_create_pair-wrongparams.phpt +# socket_addrinfo_explain has unexpected ai_canonname member +ext/sockets/tests/socket_addrinfo_explain.phpt # locale related failures # LC_NUMERIC unsupported ext/standard/tests/strings/sprintf_f_3.phpt +ext/intl/tests/bug67052.phpt +ext/json/tests/bug41403.phpt tests/lang/034.phpt tests/lang/bug30638.phpt # LC_ALL unsupported @@ -43,8 +46,10 @@ ext/standard/tests/strings/htmlentities03.phpt ext/standard/tests/strings/htmlentities04.phpt ext/standard/tests/strings/htmlentities15.phpt ext/standard/tests/strings/strtoupper.phpt +ext/fileinfo/tests/bug74170.phpt # LC_MONETARY unsupported ext/standard/tests/strings/moneyformat.phpt +ext/soap/tests/bugs/bug39815.phpt # locale: command not found ext/standard/tests/strings/setlocale_basic1.phpt ext/standard/tests/strings/setlocale_basic2.phpt @@ -53,6 +58,17 @@ ext/standard/tests/strings/setlocale_variation1.phpt ext/standard/tests/strings/setlocale_variation2.phpt # setlocale allows "en_US.invalid" ext/standard/tests/strings/setlocale_error.phpt +# bind_textdomain_codeset is a stub +ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt +# //IGNORE +ext/iconv/tests/bug48147.phpt +ext/iconv/tests/bug76249.phpt +# //TRANSLIT +ext/iconv/tests/iconv_basic_001.phpt +# misc musl iconv incompatibilities +ext/iconv/tests/bug52211.phpt +ext/iconv/tests/eucjp2iso2022jp.phpt +ext/iconv/tests/iconv_mime_encode.phpt # strftime and strptime related failures # strftime %Z (timezone abbreviation) returns a single space @@ -91,5 +107,64 @@ ext/standard/tests/crypt/des_fallback_invalid_salt.phpt #sapi/fpm/tests/015.phpt # Times out on builders but runs fine manually +ext/zlib/tests/bug67724.phpt ext/zlib/tests/inflate_add_basic.phpt sapi/cli/tests/upload_2G.phpt + +# gd errors more verbose than expected +ext/gd/tests/bug39780_extern.phpt +ext/gd/tests/bug45799.phpt +ext/gd/tests/bug77973.phpt +ext/gd/tests/createfromwbmp2_extern.phpt +ext/gd/tests/libgd00086_extern.phpt + +# no XPM support in system gd +ext/gd/tests/xpm2gd.phpt +ext/gd/tests/xpm2jpg.phpt +ext/gd/tests/xpm2png.phpt + +# misc differences when using system gd +ext/gd/tests/bug43073.phpt +ext/gd/tests/bug48732-mb.phpt +ext/gd/tests/bug48732.phpt +ext/gd/tests/bug48801-mb.phpt +ext/gd/tests/bug48801.phpt +ext/gd/tests/bug53504.phpt +ext/gd/tests/bug65148.phpt +ext/gd/tests/bug73272.phpt +ext/gd/tests/bug73869.phpt +ext/gd/tests/bug79067.phpt +ext/gd/tests/bug79068.phpt + +# requires a default route to be set, which isn't the case during +# network isolation +ext/sockets/tests/bug63000.phpt + +# This should be skipped like long_columns.phpt is but it's missing the +# additional checks +ext/pdo_odbc/tests/max_columns.phpt + +# enchant-2 doesn't support enchant_broker_(get|set)_dict_path +# https://news-web.php.net/php.internals/100882 +ext/enchant/tests/bug53070.phpt + +# Warning: zend_signal: handler was replaced +ext/readline/tests/libedit_callback_handler_install_001.phpt +ext/readline/tests/libedit_callback_handler_remove_001.phpt + +# soap server's sum is not accumulating +ext/soap/tests/server009.phpt + +# "Resource bundle source files are compiled with the genrb tool into a +# binary runtime form (.res files) that is portable among platforms with +# the same charset family (ASCII vs. EBCDIC) and **endianness**." +# +# Therefore these tests which use little-endian .res files will not work +# on our big endian arches... +ext/intl/tests/resourcebundle_arrayaccess.phpt +ext/intl/tests/resourcebundle_countable.phpt +ext/intl/tests/resourcebundle_create.phpt +ext/intl/tests/resourcebundle_individual.phpt +ext/intl/tests/resourcebundle_iterator.phpt +ext/intl/tests/resourcebundle_locales.phpt +ext/intl/tests/resourcebundle_traversable.phpt diff --git a/user/php7/enchant-2.patch b/user/php7/enchant-2.patch index ed048de28..9d421c3bf 100644 --- a/user/php7/enchant-2.patch +++ b/user/php7/enchant-2.patch @@ -1,31 +1,33 @@ -Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enchant-2.patch?h=packages/php - ---- php-7.1.13/ext/enchant/config.m4.orig 2018-01-03 02:32:29.000000000 +0000 -+++ php-7.1.13/ext/enchant/config.m4 2018-01-21 22:10:03.788875780 +0000 -@@ -14,9 +14,9 @@ - ENCHANT_SEARCH_DIRS="/usr/local /usr" - fi - for i in $ENCHANT_SEARCH_DIRS; do -- if test -f $i/include/enchant/enchant.h; then -+ if test -f $i/include/enchant-2/enchant.h; then - ENCHANT_DIR=$i -- ENCHANT_INCDIR=$i/include/enchant -+ ENCHANT_INCDIR=$i/include/enchant-2 - elif test -f $i/include/enchant.h; then - ENCHANT_DIR=$i - ENCHANT_INCDIR=$i/include -@@ -31,7 +31,7 @@ - - AC_DEFINE(HAVE_ENCHANT,1,[ ]) - PHP_SUBST(ENCHANT_SHARED_LIBADD) -- PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD) -+ PHP_ADD_LIBRARY_WITH_PATH(enchant-2, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD) - PHP_ADD_INCLUDE($ENCHANT_INCDIR) - PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param, - [ ---- php-7.2.1/ext/enchant/enchant.c.orig 2018-01-02 22:36:05.000000000 +0000 -+++ php-7.2.1/ext/enchant/enchant.c 2018-01-21 22:34:50.205791491 +0000 -@@ -741,7 +741,7 @@ +--- php-7.4.4/ext/enchant/config.m4 2020-03-17 10:40:22.000000000 +0000 ++++ php-7.4.4/ext/enchant/config.m4 2020-03-27 21:25:27.754470703 +0000 +@@ -4,21 +4,21 @@ PHP_ARG_WITH([enchant], + [Include Enchant support])]) + + if test "$PHP_ENCHANT" != "no"; then +- PKG_CHECK_MODULES([ENCHANT], [enchant]) ++ PKG_CHECK_MODULES([ENCHANT], [enchant-2]) + + PHP_EVAL_INCLINE($ENCHANT_CFLAGS) + PHP_EVAL_LIBLINE($ENCHANT_LIBS, ENCHANT_SHARED_LIBADD) + + AC_DEFINE(HAVE_ENCHANT, 1, [ ]) + +- PHP_CHECK_LIBRARY(enchant, enchant_get_version, ++ PHP_CHECK_LIBRARY(enchant-2, enchant_get_version, + [ + AC_DEFINE(HAVE_ENCHANT_GET_VERSION, 1, [ ]) + ], [ ], [ + $ENCHANT_LIBS + ]) + +- PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param, ++ PHP_CHECK_LIBRARY(enchant-2, enchant_broker_set_param, + [ + AC_DEFINE(HAVE_ENCHANT_BROKER_SET_PARAM, 1, [ ]) + ], [ ], [ +--- a/ext/enchant/enchant.c.orig ++++ b/ext/enchant/enchant.c +@@ -738,7 +738,7 @@ for (i = 0; i < n_sugg; i++) { add_next_index_string(sugg, suggs[i]); } @@ -34,7 +36,7 @@ Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enc } -@@ -798,7 +798,7 @@ +@@ -793,7 +793,7 @@ add_next_index_string(return_value, suggs[i]); } @@ -43,7 +45,7 @@ Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enc } } /* }}} */ -@@ -818,7 +818,7 @@ +@@ -813,7 +813,7 @@ PHP_ENCHANT_GET_DICT; @@ -52,7 +54,7 @@ Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enc } /* }}} */ -@@ -856,7 +856,7 @@ +@@ -851,7 +851,7 @@ PHP_ENCHANT_GET_DICT; @@ -61,3 +63,14 @@ Lifted from Arch: https://git.archlinux.org/svntogit/packages.git/tree/trunk/enc } /* }}} */ +--- php-7.4.4/build/php.m4 2020-03-17 06:40:21.000000000 -0400 ++++ php-7.4.4/build/php.m4 2020-04-05 09:27:14.634620646 -0400 +@@ -1541,7 +1541,7 @@ AC_DEFUN([PHP_CHECK_LIBRARY], [ + ],[ + LDFLAGS=$save_old_LDFLAGS + ext_shared=$save_ext_shared +- unset ac_cv_lib_$1[]_$2 ++ unset ac_cv_lib_[]translit($1, -, _)_$2 + $4 + ])dnl + ]) diff --git a/user/php7/fix-tests-devserver.patch b/user/php7/fix-tests-devserver.patch deleted file mode 100644 index 80a72f0f1..000000000 --- a/user/php7/fix-tests-devserver.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Jakub Jirutka <jakub@jirutka.cz> -Date: Mon, 01 May 2017 01:33:00 +0200 -Subject: [PATCH] Fix tests failing due to extra message from built-in web server - -Remove messages like: - - PHP 7.1.4 Development Server started at Mon May 1 00:42:39 2017 - -from test outputs, because tests do not expect them. I have no clue what -happens here... - ---- a/run-tests.php -+++ b/run-tests.php -@@ -2005,6 +2005,9 @@ - // Does the output match what is expected? - $output = preg_replace("/\r\n/", "\n", trim($out)); - -+ // Remove message from built-in development server. -+ $output = preg_replace("/^PHP [0-9.]+ Development Server started at .*\n\n?/m", "", $output); -+ - /* when using CGI, strip the headers from the output */ - $headers = array(); - diff --git a/user/php7/getsockopt.patch b/user/php7/getsockopt.patch new file mode 100644 index 000000000..81f2bc232 --- /dev/null +++ b/user/php7/getsockopt.patch @@ -0,0 +1,37 @@ +Socket options with level IPPROTO_IP and IPPROTO_IPV6 cannot be handled +in the same switch statement as options with level SOL_SOCKET since +there may be collisions in their numerical values. + +For example, on ppc64: + +* IPV6_MULTICAST_HOPS and SO_RCVTIMEO are both 18 +* IPV6_MULTICAST_LOOP and SO_SNDTIMEO are both 19 + +etc. + +--- php-7.4.4/ext/sockets/sockets.c 2020-03-17 06:40:21.000000000 -0400 ++++ php-7.4.4/ext/sockets/sockets.c 2020-03-29 22:39:57.506751737 -0400 +@@ -2008,6 +2008,7 @@ PHP_FUNCTION(socket_get_option) + } + } + } ++ goto handle_default; + } + #if HAVE_IPV6 + else if (level == IPPROTO_IPV6) { +@@ -2017,6 +2018,7 @@ PHP_FUNCTION(socket_get_option) + } else if (ret == FAILURE) { + RETURN_FALSE; + } /* else continue */ ++ goto handle_default; + } + #endif + +@@ -2063,6 +2065,7 @@ PHP_FUNCTION(socket_get_option) + break; + + default: ++ handle_default: + optlen = sizeof(other_val); + + if (getsockopt(php_sock->bsd_socket, level, optname, (char*)&other_val, &optlen) != 0) { diff --git a/user/php7/install-pear.patch b/user/php7/install-pear.patch index 18747be94..8f5fb3444 100644 --- a/user/php7/install-pear.patch +++ b/user/php7/install-pear.patch @@ -1,7 +1,6 @@ ---- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000 -+++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000 -@@ -2,8 +2,11 @@ - +--- php-7.4.4/pear/Makefile.frag 2020-03-17 10:40:21.000000000 +0000 ++++ php-7.4.4/pear/Makefile.frag 2020-03-25 03:57:55.940744663 +0000 +@@ -1,7 +1,10 @@ peardir=$(PEAR_INSTALLDIR) +# help the built php to find xml extension so we can install pear diff --git a/user/php7/no-max-ent-size.patch b/user/php7/no-max-ent-size.patch new file mode 100644 index 000000000..7f28ba3f1 --- /dev/null +++ b/user/php7/no-max-ent-size.patch @@ -0,0 +1,257 @@ +--- php-7.4.4/ext/posix/posix.c 2020-03-17 10:40:22.000000000 +0000 ++++ php-7.4.4/ext/posix/posix.c 2020-03-27 03:19:13.133440186 +0000 +@@ -1084,8 +1084,11 @@ PHP_FUNCTION(posix_getgrnam) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); + + #if defined(ZTS) && defined(HAVE_GETGRNAM_R) && defined(_SC_GETGR_R_SIZE_MAX) ++ errno = 0; + buflen = sysconf(_SC_GETGR_R_SIZE_MAX); +- if (buflen < 1) { ++ if (buflen == -1 && errno == 0) { ++ buflen = 1024; ++ } else if (buflen < 1) { + RETURN_FALSE; + } + buf = emalloc(buflen); +@@ -1127,9 +1130,7 @@ PHP_FUNCTION(posix_getgrgid) + { + zend_long gid; + #if defined(ZTS) && defined(HAVE_GETGRGID_R) && defined(_SC_GETGR_R_SIZE_MAX) +- int ret; + struct group _g; +- struct group *retgrptr = NULL; + long grbuflen; + char *grbuf; + #endif +@@ -1141,20 +1142,27 @@ PHP_FUNCTION(posix_getgrgid) + + #if defined(ZTS) && defined(HAVE_GETGRGID_R) && defined(_SC_GETGR_R_SIZE_MAX) + ++ errno = 0; + grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX); +- if (grbuflen < 1) { ++ if (grbuflen == -1 && errno == 0) { ++ grbuflen = 1024; ++ } else if (grbuflen < 1) { + RETURN_FALSE; + } +- + grbuf = emalloc(grbuflen); ++try_again: ++ g = &_g; + +- ret = getgrgid_r(gid, &_g, grbuf, grbuflen, &retgrptr); +- if (ret || retgrptr == NULL) { +- POSIX_G(last_error) = ret; ++ if (getgrgid_r(gid, g, grbuf, grbuflen, &g) || g == NULL) { ++ if (errno == ERANGE) { ++ grbuflen *= 2; ++ grbuf = erealloc(grbuf, grbuflen); ++ goto try_again; ++ } ++ POSIX_G(last_error) = errno; + efree(grbuf); + RETURN_FALSE; + } +- g = &_g; + #else + if (NULL == (g = getgrgid(gid))) { + POSIX_G(last_error) = errno; +@@ -1210,14 +1218,23 @@ PHP_FUNCTION(posix_getpwnam) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); + + #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R) ++ errno = 0; + buflen = sysconf(_SC_GETPW_R_SIZE_MAX); +- if (buflen < 1) { ++ if (buflen == -1 && errno == 0) { ++ buflen = 1024; ++ } else if (buflen < 1) { + RETURN_FALSE; + } + buf = emalloc(buflen); ++try_again: + pw = &pwbuf; + + if (getpwnam_r(name, pw, buf, buflen, &pw) || pw == NULL) { ++ if (errno == ERANGE) { ++ buflen *= 2; ++ buf = erealloc(buf, buflen); ++ goto try_again; ++ } + efree(buf); + POSIX_G(last_error) = errno; + RETURN_FALSE; +@@ -1248,10 +1265,8 @@ PHP_FUNCTION(posix_getpwuid) + zend_long uid; + #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R) + struct passwd _pw; +- struct passwd *retpwptr = NULL; + long pwbuflen; + char *pwbuf; +- int ret; + #endif + struct passwd *pw; + +@@ -1260,19 +1275,27 @@ PHP_FUNCTION(posix_getpwuid) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); + + #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R) ++ errno = 0; + pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); +- if (pwbuflen < 1) { ++ if (pwbuflen == -1 && errno == 0) { ++ pwbuflen = 1024; ++ } else if (pwbuflen < 1) { + RETURN_FALSE; + } + pwbuf = emalloc(pwbuflen); ++try_again: ++ pw = &_pw; + +- ret = getpwuid_r(uid, &_pw, pwbuf, pwbuflen, &retpwptr); +- if (ret || retpwptr == NULL) { +- POSIX_G(last_error) = ret; ++ if (getpwuid_r(uid, pw, pwbuf, pwbuflen, &pw) || pw == NULL) { ++ if (errno == ERANGE) { ++ pwbuflen *= 2; ++ pwbuf = erealloc(pwbuf, pwbuflen); ++ goto try_again; ++ } ++ POSIX_G(last_error) = errno; + efree(pwbuf); + RETURN_FALSE; + } +- pw = &_pw; + #else + if (NULL == (pw = getpwuid(uid))) { + POSIX_G(last_error) = errno; +--- php-7.4.4/ext/standard/filestat.c 2020-03-17 10:40:30.000000000 +0000 ++++ php-7.4.4/ext/standard/filestat.c 2020-03-27 04:00:18.333479165 +0000 +@@ -302,15 +302,25 @@ PHPAPI int php_get_gid_by_name(const cha + #if defined(ZTS) && defined(HAVE_GETGRNAM_R) && defined(_SC_GETGR_R_SIZE_MAX) + struct group gr; + struct group *retgrptr; ++ errno = 0; + long grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX); + char *grbuf; + +- if (grbuflen < 1) { ++ if (grbuflen == -1 && errno == 0) { ++ grbuflen = 1024; ++ } else if (grbuflen < 1) { + return FAILURE; + } + + grbuf = emalloc(grbuflen); +- if (getgrnam_r(name, &gr, grbuf, grbuflen, &retgrptr) != 0 || retgrptr == NULL) { ++try_again: ++ retgrptr = &gr; ++ if (getgrnam_r(name, &gr, grbuf, grbuflen, &retgrptr) || retgrptr == NULL) { ++ if (errno == ERANGE) { ++ grbuflen *= 2; ++ grbuf = erealloc(grbuf, grbuflen); ++ goto try_again; ++ } + efree(grbuf); + return FAILURE; + } +@@ -438,15 +448,25 @@ PHPAPI uid_t php_get_uid_by_name(const c + #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R) + struct passwd pw; + struct passwd *retpwptr = NULL; ++ errno = 0; + long pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); + char *pwbuf; + +- if (pwbuflen < 1) { ++ if (pwbuflen == -1 && errno == 0) { ++ pwbuflen = 1024; ++ } else if (pwbuflen < 1) { + return FAILURE; + } + + pwbuf = emalloc(pwbuflen); +- if (getpwnam_r(name, &pw, pwbuf, pwbuflen, &retpwptr) != 0 || retpwptr == NULL) { ++try_again: ++ retpwptr = &pw; ++ if (getpwnam_r(name, &pw, pwbuf, pwbuflen, &retpwptr) || retpwptr == NULL) { ++ if (errno == ERANGE) { ++ pwbuflen *= 2; ++ pwbuf = erealloc(pwbuf, pwbuflen); ++ goto try_again; ++ } + efree(pwbuf); + return FAILURE; + } +--- php-7.4.4/main/fopen_wrappers.c 2020-03-17 10:40:21.000000000 +0000 ++++ php-7.4.4/main/fopen_wrappers.c 2020-03-27 04:08:46.553487201 +0000 +@@ -366,10 +366,13 @@ PHPAPI int php_fopen_primary_script(zend + struct passwd *pw; + #if defined(ZTS) && defined(HAVE_GETPWNAM_R) && defined(_SC_GETPW_R_SIZE_MAX) + struct passwd pwstruc; ++ errno = 0; + long pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); + char *pwbuf; + +- if (pwbuflen < 1) { ++ if (pwbuflen == -1 && errno == 0) { ++ pwbuflen = 1024; ++ } else if (pwbuflen < 1) { + return FAILURE; + } + +@@ -382,7 +385,14 @@ PHPAPI int php_fopen_primary_script(zend + memcpy(user, path_info + 2, length); + user[length] = '\0'; + #if defined(ZTS) && defined(HAVE_GETPWNAM_R) && defined(_SC_GETPW_R_SIZE_MAX) +- if (getpwnam_r(user, &pwstruc, pwbuf, pwbuflen, &pw)) { ++try_again: ++ pw = &pwstruc; ++ if (getpwnam_r(user, pw, pwbuf, pwbuflen, &pw) || pw == NULL) { ++ if (errno == ERANGE) { ++ pwbuflen *= 2; ++ pwbuf = erealloc(pwbuf, pwbuflen); ++ goto try_again; ++ } + efree(pwbuf); + return FAILURE; + } +--- php-7.4.4/main/main.c 2020-03-17 10:40:21.000000000 +0000 ++++ php-7.4.4/main/main.c 2020-03-27 03:33:22.663453619 +0000 +@@ -1487,23 +1487,27 @@ PHPAPI char *php_get_current_user(void) + struct passwd *pwd; + #if defined(ZTS) && defined(HAVE_GETPWUID_R) && defined(_SC_GETPW_R_SIZE_MAX) + struct passwd _pw; +- struct passwd *retpwptr = NULL; ++ errno = 0; + int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); + char *pwbuf; + +- if (pwbuflen < 1) { ++ if (pwbuflen == -1 && errno == 0) { ++ pwbuflen = 1024; ++ } else if (pwbuflen < 1) { + return ""; + } + pwbuf = emalloc(pwbuflen); +- if (getpwuid_r(pstat->st_uid, &_pw, pwbuf, pwbuflen, &retpwptr) != 0) { +- efree(pwbuf); +- return ""; +- } +- if (retpwptr == NULL) { ++try_again: ++ pwd = &_pw; ++ if (getpwuid_r(pstat->st_uid, pwd, pwbuf, pwbuflen, &pwd) || pwd == NULL) { ++ if (errno == ERANGE) { ++ pwbuflen *= 2; ++ pwbuf = erealloc(pwbuf, pwbuflen); ++ goto try_again; ++ } + efree(pwbuf); + return ""; + } +- pwd = &_pw; + #else + if ((pwd=getpwuid(pstat->st_uid))==NULL) { + return ""; diff --git a/user/php7/pwbuflen.patch b/user/php7/pwbuflen.patch deleted file mode 100644 index 7d2685b55..000000000 --- a/user/php7/pwbuflen.patch +++ /dev/null @@ -1,15 +0,0 @@ -sysconf(_SC_GETPW_R_SIZE_MAX) returns -1 on musl and 1024 on glibc. - ---- php-7.2.6/main/main.c 2018-06-04 23:30:18.790089810 -0400 -+++ php-7.2.6/main/main.c 2018-06-04 23:30:14.660089806 -0400 -@@ -1315,7 +1315,9 @@ - int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); - char *pwbuf; - -- if (pwbuflen < 1) { -+ if (pwbuflen == -1) { -+ pwbuflen = 1024; -+ } else if (pwbuflen < 1) { - return ""; - } - pwbuf = emalloc(pwbuflen); diff --git a/user/php7/test-fixes.patch b/user/php7/test-fixes.patch new file mode 100644 index 000000000..976783d77 --- /dev/null +++ b/user/php7/test-fixes.patch @@ -0,0 +1,71 @@ +Don't filter out "extension=" settings from INI files during check() so +we can inject our own module load order. + +--- php-7.4.4/build/Makefile.global 2020-03-17 10:40:21.000000000 +0000 ++++ php-7.4.4/build/Makefile.global 2020-03-27 06:11:09.713603308 +0000 +@@ -83,7 +83,7 @@ PHP_TEST_SHARED_EXTENSIONS = ` \ + . $$i; $(top_srcdir)/build/shtool echo -n -- " -d zend_extension=$(top_builddir)/modules/$$dlname"; \ + done; \ + fi` +-PHP_DEPRECATED_DIRECTIVES_REGEX = '^(magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*=' ++PHP_DEPRECATED_DIRECTIVES_REGEX = '^(magic_quotes_(gpc|runtime|sybase)?)[\t\ ]*=' + + test: all + @if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \ + + + + +Likewise, make sure these settings are honored for these tests. + +--- php-7.4.4/ext/opcache/tests/php_cli_server.inc 2020-03-17 10:40:23.000000000 +0000 ++++ php-7.4.4/ext/opcache/tests/php_cli_server.inc 2020-03-27 22:36:13.054537829 +0000 +@@ -11,7 +11,7 @@ function php_cli_server_start($ini = "") + $ini_array = array_map(function($arg) { + return trim($arg, '\'"'); + }, $ini_array); +- $cmd = [$php_executable, '-t', $doc_root, '-n', ...$ini_array, '-S', PHP_CLI_SERVER_ADDRESS]; ++ $cmd = [$php_executable, '-d', 'extension_dir='.ini_get('extension_dir'), '-t', $doc_root, '-n', ...$ini_array, '-S', PHP_CLI_SERVER_ADDRESS]; + $descriptorspec = array( + 0 => STDIN, + 1 => STDOUT, +--- php-7.4.4/ext/session/tests/session_regenerate_id_cookie.phpt 2020-03-17 10:40:28.000000000 +0000 ++++ php-7.4.4/ext/session/tests/session_regenerate_id_cookie.phpt 2020-03-27 06:43:24.043633893 +0000 +@@ -56,7 +56,7 @@ var_dump(session_destroy()); + ob_end_flush(); + ?>'); + +-var_dump(`$php -n -d session.name=PHPSESSID $file`); ++var_dump(`$php -c php-check.ini -d session.name=PHPSESSID $file`); + + unlink($file); + +--- php-7.4.4/ext/soap/tests/bug73037.phpt 2020-03-17 10:40:24.000000000 +0000 ++++ php-7.4.4/ext/soap/tests/bug73037.phpt 2020-03-27 23:02:05.964562383 +0000 +@@ -63,8 +63,7 @@ function get_data($max) + } + + $router = "bug73037_server.php"; +-$args = substr(PHP_OS, 0, 3) == 'WIN' +- ? ["-d", "extension_dir=" . ini_get("extension_dir"), "-d", "extension=php_soap.dll"] : []; ++$args = ["-d", "extension_dir=" . ini_get("extension_dir"), "-d", "extension=soap.so"]; + $code = <<<'PHP' + $s = new SoapServer(NULL, array('uri' => 'http://here')); + $s->setObject(new stdclass()); + + + +Don't include useless message on startup which will break every test. + +--- php-7.4.4/run-tests.php 2020-03-17 10:40:21.000000000 +0000 ++++ php-7.4.4/run-tests.php 2020-03-25 04:01:26.320747990 +0000 +@@ -2503,6 +2503,9 @@ COMMAND $cmd + // Does the output match what is expected? + $output = preg_replace("/\r\n/", "\n", trim($out)); + ++ // Remove message from built-in development server. ++ $output = preg_replace("/^PHP [0-9.]+ Development Server started at .*\n\n?/m", "", $output); ++ + /* when using CGI, strip the headers from the output */ + $headers = array(); + diff --git a/user/php7/zend_bool.patch b/user/php7/zend_bool.patch new file mode 100644 index 000000000..b2e0b0f8f --- /dev/null +++ b/user/php7/zend_bool.patch @@ -0,0 +1,19 @@ +zend_parse_parameters can't be passed &int if it's expecting zend_bool +("b", unsigned char). + +Ironically, this code (Reflect::export) is scheduled to be removed in +the next 7.4 release[1], so don't bother forwarding. + +[1] https://github.com/php/php-src/pull/5188 + +--- php-7.4.4/ext/reflection/php_reflection.c 2020-03-17 06:40:26.000000000 -0400 ++++ php-7.4.4/ext/reflection/php_reflection.c 2020-03-30 01:00:27.938405046 -0400 +@@ -1304,7 +1304,7 @@ static void _reflection_export(INTERNAL_ + zval *argument_ptr, *argument2_ptr; + zval retval, params[2]; + int result; +- int return_output = 0; ++ zend_bool return_output = 0; + zend_fcall_info fci; + zend_fcall_info_cache fcc; + diff --git a/user/php7/zip-glob-pathc.patch b/user/php7/zip-glob-pathc.patch new file mode 100644 index 000000000..74b81754a --- /dev/null +++ b/user/php7/zip-glob-pathc.patch @@ -0,0 +1,15 @@ +Upstream: https://github.com/php/php-src/pull/5311 + +--- php-7.4.4/ext/zip/php_zip.c 2020-03-17 10:40:30.000000000 +0000 ++++ php-7.4.4/ext/zip/php_zip.c 2020-03-27 15:28:13.259857804 -0500 +@@ -606,8 +606,9 @@ int php_zip_glob(char *pattern, int pattern_len, zend_long flags, zval *return_v + add_next_index_string(return_value, globbuf.gl_pathv[n]+cwd_skip); + } + ++ ret = globbuf.gl_pathc; + globfree(&globbuf); +- return globbuf.gl_pathc; ++ return ret; + #else + zend_throw_error(NULL, "Glob support is not available"); + return 0; diff --git a/user/pixman/APKBUILD b/user/pixman/APKBUILD index d36f5a1ee..50ff4f981 100644 --- a/user/pixman/APKBUILD +++ b/user/pixman/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=pixman pkgver=0.38.4 -pkgrel=0 +pkgrel=1 pkgdesc="Low-level pixel manipulation library" url="https://www.X.Org/" arch="all" @@ -14,11 +14,13 @@ source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.bz2 " build() { + # Static is needed by qemu + ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ - --disable-static \ + --enable-static \ --disable-openmp \ --disable-arm-iwmmxt make diff --git a/user/plasma-browser-integration/APKBUILD b/user/plasma-browser-integration/APKBUILD index 6c898c7d1..833facbb8 100644 --- a/user/plasma-browser-integration/APKBUILD +++ b/user/plasma-browser-integration/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=plasma-browser-integration -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Integrate Web browsers into the KDE Plasma desktop" url="https://www.kde.org/" @@ -10,7 +10,7 @@ license="GPL-3.0+" depends="" makedepends="cmake extra-cmake-modules kactivities-dev kconfig-dev kcrash-dev kdbusaddons-dev kfilemetadata-dev ki18n-dev kio-dev knotifications-dev krunner-dev purpose-dev qt5-qtbase-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-browser-integration-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-browser-integration-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -37,4 +37,4 @@ package() { rm -r "$pkgdir"/etc } -sha512sums="76fc14ccea545f480ffc617bc373a7384dc95b709ac4d880b0249306c6b18e7280267703cb62a0b69e30bc46125e9322b2ce66b5ebc79b2e6a028765134a1e5f plasma-browser-integration-5.18.2.tar.xz" +sha512sums="05fcc78f68a029862daaae816d2c95a14b7b3133c9ea00cfad7cac32337a6b1642b15f23313dec665686c928f0405d18cafa20b06d16afa1ae8ce752d74e9066 plasma-browser-integration-5.18.4.1.tar.xz" diff --git a/user/plasma-desktop/APKBUILD b/user/plasma-desktop/APKBUILD index d74a4a885..b66828fe1 100644 --- a/user/plasma-desktop/APKBUILD +++ b/user/plasma-desktop/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=plasma-desktop -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Modern, functional, integrated libre desktop environment" url="https://www.kde.org/plasma-desktop" @@ -28,7 +28,7 @@ makedepends="cmake qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtx11extras-dev kirigami2-dev libksysguard-dev qt5-qtquickcontrols2-dev qqc2-desktop-style-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-desktop-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-desktop-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -54,4 +54,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3f850eb9ab6f7a7ee86b11d024a0e9c5552fbfb24a17502bca141bd01e52a99a509e64669abd708ec7a2617fcbb5c65eaa401084388a812785573ed1c5f9c097 plasma-desktop-5.18.2.tar.xz" +sha512sums="4cac140ddca8ce57a6e27cfac2946824db40a0adf9f0a9b6fe6079f9b899f4b145941803d4a0f1c575a27a8c76d6a7e889c3218287a126efedd9e722fa9d7089 plasma-desktop-5.18.4.1.tar.xz" diff --git a/user/plasma-integration/APKBUILD b/user/plasma-integration/APKBUILD index c7c199e5d..0f599182e 100644 --- a/user/plasma-integration/APKBUILD +++ b/user/plasma-integration/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=plasma-integration -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Qt platform theme plugin for Plasma" url="https://www.kde.org/" @@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules python3 qt5-qtbase-dev libxcursor-dev kiconthemes-dev knotifications-dev kwayland-dev kwidgetsaddons-dev kwindowsystem-dev breeze-dev qt5-qtquickcontrols2-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-integration-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-integration-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -41,4 +41,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d605bba7e1ac1786bbdceecd38a571cf8f9d71f95b31a9beb66100af85d0d607304ee00d7df135e7f76c295e4832ccd197e666dd2ea3c3842307fb649ff53559 plasma-integration-5.18.2.tar.xz" +sha512sums="ebc6080457d1958e2cccc7db25b30443e21759c95c29dc8f72538ec2945f99019ad0598369253ec552c4a77dc49979ef3e1a46da93362a34793c0af6209c5e3d plasma-integration-5.18.4.1.tar.xz" diff --git a/user/plasma-meta/APKBUILD b/user/plasma-meta/APKBUILD index 929b30f9b..17bc50741 100644 --- a/user/plasma-meta/APKBUILD +++ b/user/plasma-meta/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=plasma-meta -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Metapackage for optional KDE Plasma dependencies" url="https://www.adelielinux.org/" diff --git a/user/plasma-nm/APKBUILD b/user/plasma-nm/APKBUILD index 62133f18f..5ddc6ca52 100644 --- a/user/plasma-nm/APKBUILD +++ b/user/plasma-nm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=plasma-nm -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="NetworkManager integration for KDE Plasma desktop" url="https://www.kde.org/" @@ -18,7 +18,7 @@ makedepends="cmake extra-cmake-modules kauth-dev kcodecs-dev kcompletion-dev subpackages="$pkgname-lang" # We don't want to pull NM into plasma-meta, so we do this as a workaround. install_if="plasma-desktop networkmanager" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-nm-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-nm-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -44,4 +44,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="efb126d690ba1460d6c58cc96fb0f5a533b3846bdd11898ee96be23a311a1bee651f1b9df5ea2a1d24248a12baa80a1d0765d3a5a3d4672b4bfa8fad268432a5 plasma-nm-5.18.2.tar.xz" +sha512sums="7534267b7e9507b5963c5226eb375bfff426291761db4bfaa8a9c60e491d296d5aebb6cb2373e75dd10b321e706ccdcdce036f174cfb6c5fb12df218f112228b plasma-nm-5.18.4.1.tar.xz" diff --git a/user/plasma-pa/APKBUILD b/user/plasma-pa/APKBUILD index 40816cbe2..84ec701be 100644 --- a/user/plasma-pa/APKBUILD +++ b/user/plasma-pa/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=plasma-pa -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="PulseAudio integration for KDE Plasma desktop" url="https://www.kde.org/" @@ -13,7 +13,7 @@ makedepends="cmake extra-cmake-modules glib-dev kcoreaddons-dev kdeclarative-dev libcanberra-dev plasma-framework-dev pulseaudio-dev qt5-qtbase-dev qt5-qtdeclarative-dev" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-pa-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-pa-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="51604dc9310d0ea9314bb04ac54852ae756d2f2c7eb0a3f37abaf707a52afff24fedf3c676e412c198df4cc13716fe539e76cfd9ec2536d7040d595277b94282 plasma-pa-5.18.2.tar.xz" +sha512sums="877a861b7f3811958f911a082f037916697f148969229ed6d96c2ef7238533726157637548798ca318b5b1ee89cd5ed8f9a66fad2e8cb3e9035a5ee311cae7e3 plasma-pa-5.18.4.1.tar.xz" diff --git a/user/plasma-thunderbolt/APKBUILD b/user/plasma-thunderbolt/APKBUILD index ebe1e8cca..a537527de 100644 --- a/user/plasma-thunderbolt/APKBUILD +++ b/user/plasma-thunderbolt/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=plasma-thunderbolt -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Thunderbolt device integration for KDE Plasma desktop" url="https://www.kde.org/" @@ -12,7 +12,7 @@ depends="bolt" makedepends="cmake extra-cmake-modules kcmutils-dev kcoreaddons-dev knotifications-dev qt5-qtbase-dev qt5-qtdeclarative-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-thunderbolt-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-thunderbolt-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e42cdbc6ce4da2a7e38ed3cbeb4f1dec6c6e9a1c9dc160d256b5701b1bf3f4e298f9e6d19c6c5cdf48155f3f792961f2f20e5971e80b80e3670ba5bba86af05e plasma-thunderbolt-5.18.2.tar.xz" +sha512sums="2ae5e65741717f38f343adf3e52de67db29d069b93147236cec6172f03ffcfb64bbbaaed5056987a747feb0c27ec01aaefa954274092f34f709c955f8099b35a plasma-thunderbolt-5.18.4.1.tar.xz" diff --git a/user/plasma-vault/APKBUILD b/user/plasma-vault/APKBUILD index 56af52654..1fdd39903 100644 --- a/user/plasma-vault/APKBUILD +++ b/user/plasma-vault/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=plasma-vault -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Secure storage plugin for KDE Plasma desktop" url="https://www.kde.org/" @@ -13,7 +13,9 @@ makedepends="cmake extra-cmake-modules kactivities-dev kconfig-dev kwidgetsaddons-dev libksysguard-dev plasma-framework-dev qt5-qtbase-dev qt5-qtdeclarative-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-vault-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-vault-$pkgver.tar.xz + fix-crash.patch + " build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -39,4 +41,5 @@ package() { make DESTDIR="$pkgdir" -C build install } -sha512sums="5abeb6adb721b0933217dc0a2cc6fcd07e682b48c17b983d0f7d50c2ea206b06f4fb05dcb58f20009f7f1bf95ce104722cc70f83a09dd752fdb6331c3babdda7 plasma-vault-5.18.2.tar.xz" +sha512sums="c06bb9129e25396c44a9a7155253ebb18eeefe7d44d3f288b79f3308964ae4dbca9375820c1a5c2f389b46e17f2f3a2cee35e73b5d4a0c23051dcad8dfcff6f0 plasma-vault-5.18.4.1.tar.xz +b093d6fa4e82a3342ec75dc0ef9318f38dbce413a38fef1aa08b6bb74d6b3a46c178e10d3551e88937907f9b3946565084726f158f86f97ea5436f072b2e05d7 fix-crash.patch" diff --git a/user/plasma-vault/fix-crash.patch b/user/plasma-vault/fix-crash.patch new file mode 100644 index 000000000..306b7dfe2 --- /dev/null +++ b/user/plasma-vault/fix-crash.patch @@ -0,0 +1,26 @@ +From f6a924b37880b7340e796846a6e5474413ca6533 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= <ivan.cukic@kde.org> +Date: Tue, 17 Mar 2020 14:37:24 +0100 +Subject: Make sure we have saved network state before accessing it + +BUG:418262 +--- + kded/service.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kded/service.cpp b/kded/service.cpp +index 4b5f65a..ff67d43 100644 +--- a/kded/service.cpp ++++ b/kded/service.cpp +@@ -420,7 +420,7 @@ void PlasmaVaultService::openVaultInFileManager(const QString &device) + new KRun(QUrl::fromLocalFile((QString)vault->mountPoint().data()), nullptr); + }, + [this, vault] { +- if (vault->status() != VaultInfo::Opened) { ++ if (vault->status() != VaultInfo::Opened && d->savedNetworkingState) { + auto& devicesInhibittingNetworking = d->savedNetworkingState->devicesInhibittingNetworking; + devicesInhibittingNetworking.removeAll(vault->device().data()); + d->restoreNetworkingState(); +-- +cgit v1.1 + diff --git a/user/plasma-workspace-wallpapers/APKBUILD b/user/plasma-workspace-wallpapers/APKBUILD index f8bcad63e..c531e9954 100644 --- a/user/plasma-workspace-wallpapers/APKBUILD +++ b/user/plasma-workspace-wallpapers/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=plasma-workspace-wallpapers -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Default wallpapers from KDE" url="https://www.KDE.org/" @@ -10,7 +10,7 @@ license="LGPL-3.0-only" depends="" makedepends="cmake extra-cmake-modules" subpackages="" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-workspace-wallpapers-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-workspace-wallpapers-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -35,4 +35,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7901c54a414602a1a0a4bde50b851afb86c505bbd8600dce2fa0979628b180d7adba6f26dd53797082dfc108a87a427e4e55ca7d146f9a9697db5c9a57274a95 plasma-workspace-wallpapers-5.18.2.tar.xz" +sha512sums="e3fe98fd4e3265281bda7c223cb086fdc96031421d735df05fb52acca778dba0fa78110810b1c482706cb6e937bc40160130a525ab104b44ed801042ba6d71ca plasma-workspace-wallpapers-5.18.4.1.tar.xz" diff --git a/user/plasma-workspace/APKBUILD b/user/plasma-workspace/APKBUILD index da67d4b2d..9851b6de5 100644 --- a/user/plasma-workspace/APKBUILD +++ b/user/plasma-workspace/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=plasma-workspace -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE Plasma 5 workspace" url="https://www.kde.org/plasma-desktop" @@ -31,7 +31,7 @@ makedepends="$depends_dev cmake extra-cmake-modules qt5-qtscript-dev plasma-framework-dev prison-dev kactivities-stats-dev kpeople-dev kirigami2-dev kuserfeedback-dev libkscreen-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/plasma-workspace-$pkgver.tar.xz +source="https://download.kde.org/stable/plasma/${pkgver%.*}/plasma-workspace-$pkgver.tar.xz libkworkspace.patch " @@ -59,5 +59,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0fa91451e28b70d7602de79686afb57143eecd86e3856ed9c773bc4f5394610e5a5cf2f13fd03398b7a01624b45ab86d7e12da016980cb91ab23adac41a6793e plasma-workspace-5.18.2.tar.xz +sha512sums="683a97a83361149560d866f3d064448a43783c6ea715e9a5e0764ef9ec6dc8bd26e4c7a49023f913b8a649abef39614e5bd3b9e000477949584921c3f1754ab7 plasma-workspace-5.18.4.1.tar.xz f58b88928fd68518bc0524db35388cb0f0dbc2a55d85fc47e92ce7fcbaf9b155482736e282bd84104ceecc625406845840128c8d0fcd2a4d5a854673964cd94f libkworkspace.patch" diff --git a/user/polkit-kde-agent-1/APKBUILD b/user/polkit-kde-agent-1/APKBUILD index 529ea4116..3ae1768a8 100644 --- a/user/polkit-kde-agent-1/APKBUILD +++ b/user/polkit-kde-agent-1/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=polkit-kde-agent-1 -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="PolKit agent for KDE" url="https://www.kde.org/" @@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules kcoreaddons-dev kcrash-dev kdbusaddons-dev ki18n-dev kiconthemes-dev kwidgetsaddons-dev kwindowsystem-dev polkit-qt-1-dev qt5-qtbase-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/polkit-kde-agent-1-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/polkit-kde-agent-1-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a34515c1173bc439b0659df891ac35830dfc05916b4c3c622045cbaef2ce93f91be000eac31c8c0f669e7064628d09a999251237bdd5c381f74dd34e06a722fe polkit-kde-agent-1-5.18.2.tar.xz" +sha512sums="e83c762fce852fb3835e53db8f4940a8b02f06b505f4347027c23171ce6e4cad512b002a0154459c952305f922b8f881b3c0b51ca7b9553d16a78e668deadfe3 polkit-kde-agent-1-5.18.4.1.tar.xz" diff --git a/user/powerdevil/APKBUILD b/user/powerdevil/APKBUILD index 9f63547a1..be33f6c62 100644 --- a/user/powerdevil/APKBUILD +++ b/user/powerdevil/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=powerdevil -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE Plasma power management utilities" url="https://www.kde.org/" @@ -13,7 +13,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtx11extras-dev ki18n-dev kidletime-dev kio-dev knotifyconfig-dev kdelibs4support-dev kwayland-dev libkscreen-dev libkworkspace-dev solid-dev eudev-dev" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/powerdevil-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/powerdevil-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2c3059566e649e00eee1e34e20dfd08d8070e5d8c2afceded0bbd8e534d3b1128fb28f9ddacbd5318cc56b19328d49991a928f122ab31b440171a7f4566864f1 powerdevil-5.18.2.tar.xz" +sha512sums="b7985f30965cc445cd4426ca9978a721174a3b0c371d69e044cb36edee080a99b3993ad553461e9212158f13a730210a687be2bc1f205722591307cbe87f4c20 powerdevil-5.18.4.1.tar.xz" diff --git a/user/prosody/APKBUILD b/user/prosody/APKBUILD index 02e67676f..a60a1f472 100644 --- a/user/prosody/APKBUILD +++ b/user/prosody/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Francesco Colista <fcolista@alpinelinux.org> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=prosody -pkgver=0.11.4 +pkgver=0.11.5 pkgrel=0 pkgdesc="Lua based Jabber/XMPP server" url="http://prosody.im/" @@ -49,6 +49,6 @@ package() { install -D -m755 "$srcdir"/"$pkgname".initd "$pkgdir"/etc/init.d/"$pkgname" } -sha512sums="0c3aa3373c53f803b88a87dad4ca18b215de7a485d29b0bc4b186d97f7c48262840199a74f62aba6b7b4f1766fdfb37327ed4ff24e877c3a6dfca58764a035c3 prosody-0.11.4.tar.gz +sha512sums="43a9facee8d61b69e277e7e8a9091fbfa60be71d6141195dff991f6020c8afadacce26f356b869cb2d7edd9be285e9ce1bcd822f9628cc845d91757e818a0dff prosody-0.11.5.tar.gz a6ca168fe3d11ee3b05295fb36dfaf8240c60a85507032b2502f9a97d3fd055f7eee38ba6efbb8f79472fc7cdd3556922194d0bd7099f7fb809be01890acc511 prosody.cfg.lua.patch 11b0f5e4fa488e047c26aa5e51c35983100cdbf7ebbf7c8b6d003c8db7f52e797f93e4744d54b3094c82d722d5e4de62b5734376cb5e69a4c6127f8cb07a4347 prosody.initd" diff --git a/user/protobuf/APKBUILD b/user/protobuf/APKBUILD index c94b096e0..382f3cfa3 100644 --- a/user/protobuf/APKBUILD +++ b/user/protobuf/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=protobuf _gemname=google-protobuf -pkgver=3.11.3 +pkgver=3.11.4 _tstver=1.8.1 pkgrel=0 pkgdesc="Library for extensible, efficient structure packing" @@ -111,5 +111,5 @@ vim() { "$subpkgdir"/usr/share/vim/vimfiles/syntax/proto.vim } -sha512sums="beac21d495bfd8e9b40120d1db9fd82251958f954533fc6f76cd0b9c28f92533ac35368a4c298ebb1d8e09047b670ed3bd948bb7da6eb5cca7fdc0c1c44aa39b protobuf-3.11.3.tar.gz +sha512sums="777bbb0e9e2375eaebe6b8c87abd660bac70ee469c9ad00dd25917b82d7fb5bbe33cf87f0d69c90e19d55c07a7285ec20974ba4768623ce9ccfadf147fd5e261 protobuf-3.11.4.tar.gz e6283c667558e1fd6e49fa96e52af0e415a3c8037afe1d28b7ff1ec4c2ef8f49beb70a9327b7fc77eb4052a58c4ccad8b5260ec90e4bceeac7a46ff59c4369d7 googletest-1.8.1.tar.gz" diff --git a/user/py3-pillow/APKBUILD b/user/py3-pillow/APKBUILD index 8012a6fe2..bb4878256 100644 --- a/user/py3-pillow/APKBUILD +++ b/user/py3-pillow/APKBUILD @@ -4,7 +4,7 @@ pkgname=py3-pillow _pkgname=Pillow _p="${_pkgname#?}" _p="${_pkgname%"$_p"}" -pkgver=6.2.1 +pkgver=6.2.2 pkgrel=0 pkgdesc="A Python Imaging Library" url="https://pypi.org/project/Pillow" @@ -20,6 +20,14 @@ source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/ https://dev.sick.bike/dist/$pkgname-scripts-$_scripts_rev.tar.gz" builddir="$srcdir/$_pkgname-$pkgver" +# secfixes: pillow +# 6.2.2-r0: +# - CVE-2019-19911 +# - CVE-2020-5310 +# - CVE-2020-5311 +# - CVE-2020-5312 +# - CVE-2020-5313 + unpack() { default_unpack mv pillow-scripts-*/Scripts "$builddir/Scripts" @@ -49,5 +57,5 @@ doc() { install -Dm644 "$builddir"/LICENSE "$subpkgdir/usr/share/licenses/$pkgname/LICENSE" } -sha512sums="757bfdab2ba418195e96e696d2d111de3b38b6bafe4f6f94012f024f59c9bc8542fdab54f643eaf7b2867a9214db806e72eecbdd636bfceb55b47d3164f643ec py3-pillow-6.2.1.tar.gz +sha512sums="517c971d4fb23a47466a7e8326c8c29291f7832d4521001c1898d6223ea25d4b0a8b7c8f7e78dd706f421229a8261b558b9fbdc43e47a0a2a7b2b4bbc1a21eff py3-pillow-6.2.2.tar.gz c01e83a7cef6653a33f60acbcbc737f0d40ff0dbc792ce0b2ce52f21092d3071845830fa0f64b27a1c5e679c53df57e0ec2e89867ee717f938d4e6f19db77790 py3-pillow-scripts-b24479c.tar.gz" diff --git a/user/py3-pycairo/APKBUILD b/user/py3-pycairo/APKBUILD index 15fbb0d5b..b316f74b7 100644 --- a/user/py3-pycairo/APKBUILD +++ b/user/py3-pycairo/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=py3-pycairo -pkgver=1.19.0 +pkgver=1.19.1 pkgrel=0 pkgdesc="Python bindings for Cairo" url="https://pycairo.readthedocs.io/" @@ -34,4 +34,4 @@ package() { DESTDIR="$pkgdir" ninja -C output install } -sha512sums="920c456cba580901e7276d324a15ff65c7c6a18bff623ba030a121f5d6a52e13f49c3db2d8f4e5aada0e3462cd4aa744ea7b8465ef1f253c8fb28f2b4919e5b9 pycairo-1.19.0.tar.gz" +sha512sums="a7955a2566d5e5586154b62f3aeef824e1e6076cbd3eb86af8288fedcc7d61c4e36a53691298cf9df2e2df7fc96292f96dec92c5d4343e6c1b4c971e97d0650f pycairo-1.19.1.tar.gz" diff --git a/user/py3-pygobject/APKBUILD b/user/py3-pygobject/APKBUILD index f8c355cb8..aa822053a 100644 --- a/user/py3-pygobject/APKBUILD +++ b/user/py3-pygobject/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=py3-pygobject -pkgver=3.34.0 +pkgver=3.36.0 pkgrel=0 pkgdesc="Python bindings for GObject libraries" url="https://wiki.gnome.org/Projects/PyGObject" @@ -25,4 +25,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="782195d22e564b88dea8d43469f0111f398b44b51a63df2fe7d07650af94d5cd037f322a5d7e405338823be3419fcdbf0113fe50b220ab1cfd07d4d01dbc4766 pygobject-3.34.0.tar.xz" +sha512sums="e07375e758d1ca0aefa7f12c9af739301371a857154577b62a17f3179adf1d9d37889d4f432cb6ac7804fb4c23f68a05d3ac5446df2800ecbca6fa27ed9b783d pygobject-3.36.0.tar.xz" diff --git a/user/py3-twisted/APKBUILD b/user/py3-twisted/APKBUILD index 37f2b0976..408081052 100644 --- a/user/py3-twisted/APKBUILD +++ b/user/py3-twisted/APKBUILD @@ -4,18 +4,31 @@ pkgname=py3-twisted _pkgname=Twisted _p="${_pkgname#?}" _p="${_pkgname%"$_p"}" -pkgver=19.7.0 +pkgver=19.10.0 pkgrel=0 pkgdesc="Asynchronous networking framework written in Python" url="https://twistedmatrix.com/" arch="all" +# FIXME: constantly, automat, hyperlink, and PyHamcrest +# also need to be packaged and added to depends= +options="net" license="MIT" -depends="python3 py3-incremental" +depends="python3 py3-attrs py3-incremental py3-zope-interface" makedepends="python3-dev" subpackages="" -source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.bz2" +source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.bz2 + CVE-2020-10108-and-2020-10109.patch + " builddir="$srcdir/Twisted-$pkgver" +# secfixes: twisted +# 19.10.0-r0: +# - CVE-2019-9512 +# - CVE-2019-9514 +# - CVE-2019-9515 +# - CVE-2020-10108 +# - CVE-2020-10109 + build() { python3 setup.py build } @@ -28,4 +41,5 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="46588008f0be63f9ec8cfb88bb81f4268e59e8dead8256c36144b521eb3e58726f4d8c9016b7157365b26929e39a3fa6ff2cc2a9f83e8cfa7f1acc43d31297c4 Twisted-19.7.0.tar.bz2" +sha512sums="de8d7fd0b2081cebeff68b060c8469377011648bc563a94a993d3530fb007ed42c3a54925c9a10c465ee7a3065cc9108ace12d10d358223fab13494becb9ac4b Twisted-19.10.0.tar.bz2 +dcc22af0a72bce5cca3c9f5ee739b17f14275ac8e776c658743746239c793ad9585fb0333203945912fd4994bd001b7244905562c4389304a707a2a4430faa40 CVE-2020-10108-and-2020-10109.patch" diff --git a/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch b/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch new file mode 100644 index 000000000..9a58f5584 --- /dev/null +++ b/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch @@ -0,0 +1,260 @@ +From 4a7d22e490bb8ff836892cc99a1f54b85ccb0281 Mon Sep 17 00:00:00 2001 +From: Mark Williams <mrw@enotuniq.org> +Date: Sun, 16 Feb 2020 19:00:10 -0800 +Subject: [PATCH] Fix several request smuggling attacks. + +1. Requests with multiple Content-Length headers were allowed (thanks +to Jake Miller from Bishop Fox and ZeddYu Lu) and now fail with a 400; + +2. Requests with a Content-Length header and a Transfer-Encoding +header honored the first header (thanks to Jake Miller from Bishop +Fox) and now fail with a 400; + +3. Requests whose Transfer-Encoding header had a value other than +"chunked" and "identity" (thanks to ZeddYu Lu) were allowed and now fail +with a 400. +--- + src/twisted/web/http.py | 64 +++++++--- + src/twisted/web/newsfragments/9770.bugfix | 1 + + src/twisted/web/test/test_http.py | 137 ++++++++++++++++++++++ + 3 files changed, 187 insertions(+), 15 deletions(-) + create mode 100644 src/twisted/web/newsfragments/9770.bugfix + +diff --git a/src/twisted/web/http.py b/src/twisted/web/http.py +index f0fb05b4d69..06d830fe30f 100644 +--- a/src/twisted/web/http.py ++++ b/src/twisted/web/http.py +@@ -2171,6 +2171,51 @@ def _finishRequestBody(self, data): + self.allContentReceived() + self._dataBuffer.append(data) + ++ def _maybeChooseTransferDecoder(self, header, data): ++ """ ++ If the provided header is C{content-length} or ++ C{transfer-encoding}, choose the appropriate decoder if any. ++ ++ Returns L{True} if the request can proceed and L{False} if not. ++ """ ++ ++ def fail(): ++ self._respondToBadRequestAndDisconnect() ++ self.length = None ++ ++ # Can this header determine the length? ++ if header == b'content-length': ++ try: ++ length = int(data) ++ except ValueError: ++ fail() ++ return False ++ newTransferDecoder = _IdentityTransferDecoder( ++ length, self.requests[-1].handleContentChunk, self._finishRequestBody) ++ elif header == b'transfer-encoding': ++ # XXX Rather poorly tested code block, apparently only exercised by ++ # test_chunkedEncoding ++ if data.lower() == b'chunked': ++ length = None ++ newTransferDecoder = _ChunkedTransferDecoder( ++ self.requests[-1].handleContentChunk, self._finishRequestBody) ++ elif data.lower() == b'identity': ++ return True ++ else: ++ fail() ++ return False ++ else: ++ # It's not a length related header, so exit ++ return True ++ ++ if self._transferDecoder is not None: ++ fail() ++ return False ++ else: ++ self.length = length ++ self._transferDecoder = newTransferDecoder ++ return True ++ + + def headerReceived(self, line): + """ +@@ -2196,21 +2241,10 @@ def headerReceived(self, line): + + header = header.lower() + data = data.strip() +- if header == b'content-length': +- try: +- self.length = int(data) +- except ValueError: +- self._respondToBadRequestAndDisconnect() +- self.length = None +- return False +- self._transferDecoder = _IdentityTransferDecoder( +- self.length, self.requests[-1].handleContentChunk, self._finishRequestBody) +- elif header == b'transfer-encoding' and data.lower() == b'chunked': +- # XXX Rather poorly tested code block, apparently only exercised by +- # test_chunkedEncoding +- self.length = None +- self._transferDecoder = _ChunkedTransferDecoder( +- self.requests[-1].handleContentChunk, self._finishRequestBody) ++ ++ if not self._maybeChooseTransferDecoder(header, data): ++ return False ++ + reqHeaders = self.requests[-1].requestHeaders + values = reqHeaders.getRawHeaders(header) + if values is not None: +diff --git a/src/twisted/web/newsfragments/9770.bugfix b/src/twisted/web/newsfragments/9770.bugfix +new file mode 100644 +index 00000000000..4f1be97de8a +--- /dev/null ++++ b/src/twisted/web/newsfragments/9770.bugfix +@@ -0,0 +1 @@ ++Fix several request smuggling attacks: requests with multiple Content-Length headers were allowed (thanks to Jake Miller from Bishop Fox and ZeddYu Lu) and now fail with a 400; requests with a Content-Length header and a Transfer-Encoding header honored the first header (thanks to Jake Miller from Bishop Fox) and now fail with a 400; requests whose Transfer-Encoding header had a value other than "chunked" and "identity" (thanks to ZeddYu Lu) were allowed and now fail a 400. +\ No newline at end of file +diff --git a/src/twisted/web/test/test_http.py b/src/twisted/web/test/test_http.py +index 0a0db09b750..578cb500cda 100644 +--- a/src/twisted/web/test/test_http.py ++++ b/src/twisted/web/test/test_http.py +@@ -2252,6 +2252,143 @@ def process(self): + self.flushLoggedErrors(AttributeError) + + ++ def assertDisconnectingBadRequest(self, request): ++ """ ++ Assert that the given request bytes fail with a 400 bad ++ request without calling L{Request.process}. ++ ++ @param request: A raw HTTP request ++ @type request: L{bytes} ++ """ ++ class FailedRequest(http.Request): ++ processed = False ++ def process(self): ++ FailedRequest.processed = True ++ ++ channel = self.runRequest(request, FailedRequest, success=False) ++ self.assertFalse(FailedRequest.processed, "Request.process called") ++ self.assertEqual( ++ channel.transport.value(), ++ b"HTTP/1.1 400 Bad Request\r\n\r\n") ++ self.assertTrue(channel.transport.disconnecting) ++ ++ ++ def test_duplicateContentLengths(self): ++ """ ++ A request which includes multiple C{content-length} headers ++ fails with a 400 response without calling L{Request.process}. ++ """ ++ self.assertRequestRejected([ ++ b'GET /a HTTP/1.1', ++ b'Content-Length: 56', ++ b'Content-Length: 0', ++ b'Host: host.invalid', ++ b'', ++ b'', ++ ]) ++ ++ ++ def test_duplicateContentLengthsWithPipelinedRequests(self): ++ """ ++ Two pipelined requests, the first of which includes multiple ++ C{content-length} headers, trigger a 400 response without ++ calling L{Request.process}. ++ """ ++ self.assertRequestRejected([ ++ b'GET /a HTTP/1.1', ++ b'Content-Length: 56', ++ b'Content-Length: 0', ++ b'Host: host.invalid', ++ b'', ++ b'', ++ b'GET /a HTTP/1.1', ++ b'Host: host.invalid', ++ b'', ++ b'', ++ ]) ++ ++ ++ def test_contentLengthAndTransferEncoding(self): ++ """ ++ A request that includes both C{content-length} and ++ C{transfer-encoding} headers fails with a 400 response without ++ calling L{Request.process}. ++ """ ++ self.assertRequestRejected([ ++ b'GET /a HTTP/1.1', ++ b'Transfer-Encoding: chunked', ++ b'Content-Length: 0', ++ b'Host: host.invalid', ++ b'', ++ b'', ++ ]) ++ ++ ++ def test_contentLengthAndTransferEncodingWithPipelinedRequests(self): ++ """ ++ Two pipelined requests, the first of which includes both ++ C{content-length} and C{transfer-encoding} headers, triggers a ++ 400 response without calling L{Request.process}. ++ """ ++ self.assertRequestRejected([ ++ b'GET /a HTTP/1.1', ++ b'Transfer-Encoding: chunked', ++ b'Content-Length: 0', ++ b'Host: host.invalid', ++ b'', ++ b'', ++ b'GET /a HTTP/1.1', ++ b'Host: host.invalid', ++ b'', ++ b'', ++ ]) ++ ++ ++ def test_unknownTransferEncoding(self): ++ """ ++ A request whose C{transfer-encoding} header includes a value ++ other than C{chunked} or C{identity} fails with a 400 response ++ without calling L{Request.process}. ++ """ ++ self.assertRequestRejected([ ++ b'GET /a HTTP/1.1', ++ b'Transfer-Encoding: unknown', ++ b'Host: host.invalid', ++ b'', ++ b'', ++ ]) ++ ++ ++ def test_transferEncodingIdentity(self): ++ """ ++ A request with a valid C{content-length} and a ++ C{transfer-encoding} whose value is C{identity} succeeds. ++ """ ++ body = [] ++ ++ class SuccessfulRequest(http.Request): ++ processed = False ++ def process(self): ++ body.append(self.content.read()) ++ self.setHeader(b'content-length', b'0') ++ self.finish() ++ ++ request = b'''\ ++GET / HTTP/1.1 ++Host: host.invalid ++Content-Length: 2 ++Transfer-Encoding: identity ++ ++ok ++''' ++ channel = self.runRequest(request, SuccessfulRequest, False) ++ self.assertEqual(body, [b'ok']) ++ self.assertEqual( ++ channel.transport.value(), ++ b'HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n', ++ ) ++ ++ + + class QueryArgumentsTests(unittest.TestCase): + def testParseqs(self): diff --git a/user/qemu/APKBUILD b/user/qemu/APKBUILD index e64bb2510..bc3744541 100644 --- a/user/qemu/APKBUILD +++ b/user/qemu/APKBUILD @@ -2,10 +2,11 @@ # Contributor: Valery Kartel <valery.kartel@gmail.com> # Contributor: Jakub Jirutka <jakub@jirutka.cz> # Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Contributor: Max Rees <maxcrees@me.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=qemu -pkgver=3.0.0 -pkgrel=5 +pkgver=4.2.0 +pkgrel=1 pkgdesc="Machine emulator and virtualisation software" url="https://www.qemu.org/" arch="all" @@ -27,13 +28,14 @@ makedepends=" libjpeg-turbo-dev libnfs-dev libpng-dev - libssh2-dev + libslirp-dev libusb-dev libx11-dev libxml2-dev linux-headers lzo-dev ncurses-dev + py3-sphinx python3 snappy-dev spice-dev @@ -109,7 +111,6 @@ _system_subsystems=" system-or1k system-ppc system-ppc64 - system-ppcemb system-riscv32 system-riscv64 system-s390x @@ -151,13 +152,15 @@ source="https://download.qemu.org/$pkgname-$pkgver.tar.xz ncurses.patch ignore-signals-33-and-64-to-allow-golang-emulation.patch 0001-linux-user-fix-build-with-musl-on-ppc64le.patch - fix-sockios-header.patch test-crypto-ivgen-skip-essiv.patch ppc32-musl-support.patch signal-fixes.patch sysinfo-header.patch fix-lm32-underlinking.patch time64.patch + MAP_SYNC-fix.patch + CVE-2020-1711.patch + CVE-2020-11102.patch $pkgname-guest-agent.confd $pkgname-guest-agent.initd @@ -168,31 +171,68 @@ builddir="$srcdir/$pkgname-$pkgver" # secfixes: # 2.8.1-r1: -# - CVE-2016-7994 -# - CVE-2016-7995 -# - CVE-2016-8576 -# - CVE-2016-8577 -# - CVE-2016-8578 -# - CVE-2016-8668 -# - CVE-2016-8909 -# - CVE-2016-8910 -# - CVE-2016-9101 -# - CVE-2016-9102 -# - CVE-2016-9103 -# - CVE-2016-9104 -# - CVE-2016-9105 -# - CVE-2016-9106 -# - CVE-2017-2615 -# - CVE-2017-2620 -# - CVE-2017-5525 -# - CVE-2017-5552 -# - CVE-2017-5578 -# - CVE-2017-5579 -# - CVE-2017-5667 -# - CVE-2017-5856 -# - CVE-2017-5857 -# - CVE-2017-5898 -# - CVE-2017-5931 +# - CVE-2016-7994 +# - CVE-2016-7995 +# - CVE-2016-8576 +# - CVE-2016-8577 +# - CVE-2016-8578 +# - CVE-2016-8668 +# - CVE-2016-8909 +# - CVE-2016-8910 +# - CVE-2016-9101 +# - CVE-2016-9102 +# - CVE-2016-9103 +# - CVE-2016-9104 +# - CVE-2016-9105 +# - CVE-2016-9106 +# - CVE-2017-2615 +# - CVE-2017-2620 +# - CVE-2017-5525 +# - CVE-2017-5552 +# - CVE-2017-5578 +# - CVE-2017-5579 +# - CVE-2017-5667 +# - CVE-2017-5856 +# - CVE-2017-5857 +# - CVE-2017-5898 +# - CVE-2017-5931 +# 4.2.0-r0: +# - CVE-2018-10839 +# - CVE-2018-16847 +# - CVE-2018-16867 +# - CVE-2018-16872 +# - CVE-2018-17958 +# - CVE-2018-17962 +# - CVE-2018-17963 +# - CVE-2018-18849 +# - CVE-2018-18954 +# - CVE-2018-19364 +# - CVE-2018-19489 +# - CVE-2018-20123 +# - CVE-2018-20124 +# - CVE-2018-20125 +# - CVE-2018-20126 +# - CVE-2018-20191 +# - CVE-2018-20216 +# - CVE-2018-20815 +# - CVE-2019-3812 +# - CVE-2019-5008 +# - CVE-2019-6501 +# - CVE-2019-6778 +# - CVE-2019-8934 +# - CVE-2019-9824 +# - CVE-2019-12068 +# - CVE-2019-12155 +# - CVE-2019-13164 +# - CVE-2019-14378 +# - CVE-2019-15034 +# - CVE-2019-15890 +# - CVE-2019-20382 +# - CVE-2020-1711 +# - CVE-2020-7039 +# - CVE-2020-8608 +# 4.2.0-r1: +# - CVE-2020-11102 prepare() { default_prepare # apply patches @@ -218,6 +258,7 @@ _compile_common() { --disable-gcrypt \ --cc="${CC:-gcc}" \ --python="/usr/bin/python3" \ + --enable-slirp=system \ "$@" make ARFLAGS="rc" } @@ -233,7 +274,6 @@ _compile_system() { --enable-cap-ng \ --enable-linux-aio \ --enable-usb-redir \ - --enable-libssh2 \ --enable-vhost-net \ --enable-snappy \ --enable-tpm \ @@ -248,16 +288,19 @@ _compile_system() { build() { local systems + mkdir -p "$builddir"/build \ "$builddir"/build-user \ "$builddir"/build-gtk + msg "Building -user..." cd "$builddir"/build-user _compile_common \ --enable-linux-user \ --disable-system \ --static + msg "Building -system..." cd "$builddir"/build _compile_system \ --enable-vnc \ @@ -268,10 +311,10 @@ build() { --disable-gtk if [ -n "$_arch" ]; then + msg "Building -gtk..." cd "$builddir"/build-gtk _compile_system \ --enable-gtk \ - --with-gtkabi=3.0 \ --disable-vnc \ --disable-spice \ --disable-guest-agent \ @@ -287,9 +330,11 @@ check() { } package() { + msg "Installing -user..." cd "$builddir"/build-user make DESTDIR="$pkgdir" install + msg "Installing -system..." cd "$builddir"/build make DESTDIR="$pkgdir" install @@ -395,7 +440,7 @@ guest() { "$subpkgdir"/etc/conf.d/$pkgname-guest-agent } -sha512sums="a764302f50b9aca4134bbbc1f361b98e71240cdc7b25600dfe733bf4cf17bd86000bd28357697b08f3b656899dceb9e459350b8d55557817444ed5d7fa380a5a qemu-3.0.0.tar.xz +sha512sums="2a79973c2b07c53e8c57a808ea8add7b6b2cbca96488ed5d4b669ead8c9318907dec2b6109f180fc8ca8f04c0f73a56e82b3a527b5626b799d7e849f2474ec56 qemu-4.2.0.tar.xz 405008589cad1c8b609eca004d520bf944366e8525f85a19fc6e283c95b84b6c2429822ba064675823ab69f1406a57377266a65021623d1cd581e7db000134fd 0001-elfload-load-PIE-executables-to-right-address.patch 1ac043312864309e19f839a699ab2485bca51bbf3d5fdb39f1a87b87e3cbdd8cbda1a56e6b5c9ffccd65a8ac2f600da9ceb8713f4dbba26f245bc52bcd8a1c56 0001-linux-user-fix-build-with-musl-on-aarch64.patch 224f5b44da749921e8a821359478c5238d8b6e24a9c0b4c5738c34e82f3062ec4639d495b8b5883d304af4a0d567e38aa6623aac1aa3a7164a5757c036528ac0 musl-F_SHLCK-and-F_EXLCK.patch @@ -404,13 +449,15 @@ sha512sums="a764302f50b9aca4134bbbc1f361b98e71240cdc7b25600dfe733bf4cf17bd86000b b6ed02aaf95a9bb30a5f107d35371207967edca058f3ca11348b0b629ea7a9c4baa618db68a3df72199eea6d86d14ced74a5a229d17604cc3f0adedcfeae7a73 ncurses.patch fd178f2913639a0c33199b3880cb17536961f2b3ff171c12b27f4be6bca032d6b88fd16302d09c692bb34883346babef5c44407a6804b20a39a465bb2bc85136 ignore-signals-33-and-64-to-allow-golang-emulation.patch d8933df9484158c2b4888254e62117d78f8ed7c18527b249419f39c2b2ab1afa148010884b40661f8965f1ef3105580fceffdfddbb2c9221dc1c62066722ba65 0001-linux-user-fix-build-with-musl-on-ppc64le.patch -39590476a4ebd7c1e79a4f0451b24c75b1817a2a83abaa1f71bb60b225d772152f0af8f3e51ff65645e378c536ffa6ff551dade52884d03a14b7c6a19c5c97d4 fix-sockios-header.patch 8b8db136f78bd26b5da171effa9e11016ec2bc3e2fc8107228b5543b47aa370978ed883794aa4f917f334e284a5b49e82070e1da2d31d49301195b6713a48eff test-crypto-ivgen-skip-essiv.patch fb0130fa4e8771b23ae337ea3e5e29fd5f7dcfe7f9f7a68968f5b059bb4dd1336b0d04c118840d55885bc784a96a99b28aeacbc6a5549b2e6750c9d3099a897c ppc32-musl-support.patch c6436b1cc986788baccd5fe0f9d23c7db9026f6b723260611cf894bd94ee830140a17ee5859efe0dad0ca3bfe9caae1269bc5c9ab4c6e696f35c7857c1b5c86b signal-fixes.patch 698f6b134f4ca87f4de62caf7a656841a40a451b8686ca95928f67a296e58a7493d432d9baa5f6360917865aa4929600baf1699993b0600923a066ca9d45d1da sysinfo-header.patch 2828cc612539aa93b5789de7de6d4f85d3cf82311484c0fe91fdd3efeb972057e2baa2a3809ed633d6caa1785642d49196cb282b095d7553c510c47ce7d6a702 fix-lm32-underlinking.patch 87f659800b78b31731ea1828a27a3762662ef124d10e942f6029b332d5e8cf4487f62a3d742ad59709c2eb9e3ae8af36fa849d6cbac89978a282d29786b9b41a time64.patch +d7de79ea74e36702cac4a59e472564a55f0a663be7e63c3755e32b4b5dfbc04b390ee79f09f43f6ae706ee2aec9e005eade3c0fd4a202db60d11f436874a17d7 MAP_SYNC-fix.patch +0ea3745c45507c00c3c036241992d594b5f7e9aa1f0fa9b425dd222390066e1ea2d0aa4923bde0e7f27b7cc2f759a122ae4b600c2fa682a5aad509e7d03ccad9 CVE-2020-1711.patch +5d9e7e065c6716024eab4984331071f42dcd5363c5456023f81a3ef0329ae578348d0f875868f85c9e1fee5e435d86e2eb7e342a957c36cd099cb5d5d9f3a78d CVE-2020-11102.patch d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd 1cd24c2444c5935a763c501af2b0da31635aad9cf62e55416d6477fcec153cddbe7de205d99616def11b085e0dd366ba22463d2270f831d884edbc307c7864a6 qemu-guest-agent.initd 9b7a89b20fcf737832cb7b4d5dc7d8301dd88169cbe5339eda69fbb51c2e537d8cb9ec7cf37600899e734209e63410d50d0821bce97e401421db39c294d97be2 80-kvm.rules diff --git a/user/qemu/CVE-2020-11102.patch b/user/qemu/CVE-2020-11102.patch new file mode 100644 index 000000000..c437a7d47 --- /dev/null +++ b/user/qemu/CVE-2020-11102.patch @@ -0,0 +1,144 @@ +From 8ffb7265af64ec81748335ec8f20e7ab542c3850 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit <pjp@fedoraproject.org> +Date: Tue, 24 Mar 2020 22:57:22 +0530 +Subject: [PATCH 1/1] net: tulip: check frame size and r/w data length + +Tulip network driver while copying tx/rx buffers does not check +frame size against r/w data length. This may lead to OOB buffer +access. Add check to avoid it. + +Limit iterations over descriptors to avoid potential infinite +loop issue in tulip_xmit_list_update. + +Reported-by: Li Qiang <pangpei.lq@antfin.com> +Reported-by: Ziming Zhang <ezrakiez@gmail.com> +Reported-by: Jason Wang <jasowang@redhat.com> +Tested-by: Li Qiang <liq3ea@gmail.com> +Reviewed-by: Li Qiang <liq3ea@gmail.com> +Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> +Signed-off-by: Jason Wang <jasowang@redhat.com> +--- + hw/net/tulip.c | 36 +++++++++++++++++++++++++++--------- + 1 file changed, 27 insertions(+), 9 deletions(-) + +diff --git a/hw/net/tulip.c b/hw/net/tulip.c +index cfac271..1295f51 100644 +--- a/hw/net/tulip.c ++++ b/hw/net/tulip.c +@@ -170,6 +170,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc) + } else { + len = s->rx_frame_len; + } ++ ++ if (s->rx_frame_len + len > sizeof(s->rx_frame)) { ++ return; ++ } + pci_dma_write(&s->dev, desc->buf_addr1, s->rx_frame + + (s->rx_frame_size - s->rx_frame_len), len); + s->rx_frame_len -= len; +@@ -181,6 +185,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc) + } else { + len = s->rx_frame_len; + } ++ ++ if (s->rx_frame_len + len > sizeof(s->rx_frame)) { ++ return; ++ } + pci_dma_write(&s->dev, desc->buf_addr2, s->rx_frame + + (s->rx_frame_size - s->rx_frame_len), len); + s->rx_frame_len -= len; +@@ -227,7 +235,8 @@ static ssize_t tulip_receive(TULIPState *s, const uint8_t *buf, size_t size) + + trace_tulip_receive(buf, size); + +- if (size < 14 || size > 2048 || s->rx_frame_len || tulip_rx_stopped(s)) { ++ if (size < 14 || size > sizeof(s->rx_frame) - 4 ++ || s->rx_frame_len || tulip_rx_stopped(s)) { + return 0; + } + +@@ -275,7 +284,6 @@ static ssize_t tulip_receive_nc(NetClientState *nc, + return tulip_receive(qemu_get_nic_opaque(nc), buf, size); + } + +- + static NetClientInfo net_tulip_info = { + .type = NET_CLIENT_DRIVER_NIC, + .size = sizeof(NICState), +@@ -558,7 +566,7 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc) + if ((s->csr[6] >> CSR6_OM_SHIFT) & CSR6_OM_MASK) { + /* Internal or external Loopback */ + tulip_receive(s, s->tx_frame, s->tx_frame_len); +- } else { ++ } else if (s->tx_frame_len <= sizeof(s->tx_frame)) { + qemu_send_packet(qemu_get_queue(s->nic), + s->tx_frame, s->tx_frame_len); + } +@@ -570,23 +578,31 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc) + } + } + +-static void tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc) ++static int tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc) + { + int len1 = (desc->control >> TDES1_BUF1_SIZE_SHIFT) & TDES1_BUF1_SIZE_MASK; + int len2 = (desc->control >> TDES1_BUF2_SIZE_SHIFT) & TDES1_BUF2_SIZE_MASK; + ++ if (s->tx_frame_len + len1 > sizeof(s->tx_frame)) { ++ return -1; ++ } + if (len1) { + pci_dma_read(&s->dev, desc->buf_addr1, + s->tx_frame + s->tx_frame_len, len1); + s->tx_frame_len += len1; + } + ++ if (s->tx_frame_len + len2 > sizeof(s->tx_frame)) { ++ return -1; ++ } + if (len2) { + pci_dma_read(&s->dev, desc->buf_addr2, + s->tx_frame + s->tx_frame_len, len2); + s->tx_frame_len += len2; + } + desc->status = (len1 + len2) ? 0 : 0x7fffffff; ++ ++ return 0; + } + + static void tulip_setup_filter_addr(TULIPState *s, uint8_t *buf, int n) +@@ -651,13 +667,15 @@ static uint32_t tulip_ts(TULIPState *s) + + static void tulip_xmit_list_update(TULIPState *s) + { ++#define TULIP_DESC_MAX 128 ++ uint8_t i = 0; + struct tulip_descriptor desc; + + if (tulip_ts(s) != CSR5_TS_SUSPENDED) { + return; + } + +- for (;;) { ++ for (i = 0; i < TULIP_DESC_MAX; i++) { + tulip_desc_read(s, s->current_tx_desc, &desc); + tulip_dump_tx_descriptor(s, &desc); + +@@ -675,10 +693,10 @@ static void tulip_xmit_list_update(TULIPState *s) + s->tx_frame_len = 0; + } + +- tulip_copy_tx_buffers(s, &desc); +- +- if (desc.control & TDES1_LS) { +- tulip_tx(s, &desc); ++ if (!tulip_copy_tx_buffers(s, &desc)) { ++ if (desc.control & TDES1_LS) { ++ tulip_tx(s, &desc); ++ } + } + } + tulip_desc_write(s, s->current_tx_desc, &desc); +-- +1.8.3.1 + diff --git a/user/qemu/CVE-2020-1711.patch b/user/qemu/CVE-2020-1711.patch new file mode 100644 index 000000000..c57b5c984 --- /dev/null +++ b/user/qemu/CVE-2020-1711.patch @@ -0,0 +1,61 @@ +From 693fd2acdf14dd86c0bf852610f1c2cca80a74dc Mon Sep 17 00:00:00 2001 +From: Felipe Franciosi <felipe@nutanix.com> +Date: Thu, 23 Jan 2020 12:44:59 +0000 +Subject: [PATCH] iscsi: Cap block count from GET LBA STATUS (CVE-2020-1711) + +When querying an iSCSI server for the provisioning status of blocks (via +GET LBA STATUS), Qemu only validates that the response descriptor zero's +LBA matches the one requested. Given the SCSI spec allows servers to +respond with the status of blocks beyond the end of the LUN, Qemu may +have its heap corrupted by clearing/setting too many bits at the end of +its allocmap for the LUN. + +A malicious guest in control of the iSCSI server could carefully program +Qemu's heap (by selectively setting the bitmap) and then smash it. + +This limits the number of bits that iscsi_co_block_status() will try to +update in the allocmap so it can't overflow the bitmap. + +Fixes: CVE-2020-1711 +Cc: qemu-stable@nongnu.org +Signed-off-by: Felipe Franciosi <felipe@nutanix.com> +Signed-off-by: Peter Turschmid <peter.turschm@nutanix.com> +Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com> +Signed-off-by: Kevin Wolf <kwolf@redhat.com> +--- + block/iscsi.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/block/iscsi.c b/block/iscsi.c +index 2aea7e3f13..cbd57294ab 100644 +--- a/block/iscsi.c ++++ b/block/iscsi.c +@@ -701,7 +701,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs, + struct scsi_get_lba_status *lbas = NULL; + struct scsi_lba_status_descriptor *lbasd = NULL; + struct IscsiTask iTask; +- uint64_t lba; ++ uint64_t lba, max_bytes; + int ret; + + iscsi_co_init_iscsitask(iscsilun, &iTask); +@@ -721,6 +721,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs, + } + + lba = offset / iscsilun->block_size; ++ max_bytes = (iscsilun->num_blocks - lba) * iscsilun->block_size; + + qemu_mutex_lock(&iscsilun->mutex); + retry: +@@ -764,7 +765,7 @@ retry: + goto out_unlock; + } + +- *pnum = (int64_t) lbasd->num_blocks * iscsilun->block_size; ++ *pnum = MIN((int64_t) lbasd->num_blocks * iscsilun->block_size, max_bytes); + + if (lbasd->provisioning == SCSI_PROVISIONING_TYPE_DEALLOCATED || + lbasd->provisioning == SCSI_PROVISIONING_TYPE_ANCHORED) { +-- +2.25.1 + diff --git a/user/qemu/MAP_SYNC-fix.patch b/user/qemu/MAP_SYNC-fix.patch new file mode 100644 index 000000000..e13609d73 --- /dev/null +++ b/user/qemu/MAP_SYNC-fix.patch @@ -0,0 +1,22 @@ +diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c +index f7f177d..7598960 100644 +--- a/util/mmap-alloc.c ++++ b/util/mmap-alloc.c +@@ -10,14 +10,16 @@ + * later. See the COPYING file in the top-level directory. + */ + ++#include "qemu/osdep.h" ++ + #ifdef CONFIG_LINUX + #include <linux/mman.h> ++#include <asm-generic/mman.h> /* for ppc64le */ + #else /* !CONFIG_LINUX */ + #define MAP_SYNC 0x0 + #define MAP_SHARED_VALIDATE 0x0 + #endif /* CONFIG_LINUX */ + +-#include "qemu/osdep.h" + #include "qemu/mmap-alloc.h" + #include "qemu/host-utils.h" + diff --git a/user/qemu/fix-sockios-header.patch b/user/qemu/fix-sockios-header.patch deleted file mode 100644 index 1f3cd767c..000000000 --- a/user/qemu/fix-sockios-header.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 43d0562..afa0ac4 100644 ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -59,6 +59,7 @@ int __clone2(int (*fn)(void *), void *child_stack_base, - #include <linux/icmp.h> - #include <linux/icmpv6.h> - #include <linux/errqueue.h> -+#include <linux/sockios.h> - #include <linux/random.h> - #include "qemu-common.h" - #ifdef CONFIG_TIMERFD - #include <sys/timerfd.h> diff --git a/user/qqc2-desktop-style/APKBUILD b/user/qqc2-desktop-style/APKBUILD index a9468cd1f..2281459a7 100644 --- a/user/qqc2-desktop-style/APKBUILD +++ b/user/qqc2-desktop-style/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=qqc2-desktop-style -pkgver=5.67.1 +pkgver=5.68.0 pkgrel=0 pkgdesc="QtQuickControls 2 style that uses QWidget's QStyle for painting" url="https://www.kde.org/" @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" -C build install } -sha512sums="c2a88c81e2f4f1c586c7b512624cb631a1e8b84aea1caa69647aa939b34f44c66a1369bfbcbfa32d152f674e852399877c88abcb038eefd99a7480929b085f66 qqc2-desktop-style-5.67.1.tar.xz" +sha512sums="6f3a9c54715140971b92d88822e00fca2d84ab61819e60be8819629b2ab78444aa5215f3bcf4470d572691230e9ff9589788e313b9b439aa92b38e78b3a41605 qqc2-desktop-style-5.68.0.tar.xz" diff --git a/user/qt5-qtbase/APKBUILD b/user/qt5-qtbase/APKBUILD index 18b5b88ad..4cb68524d 100644 --- a/user/qt5-qtbase/APKBUILD +++ b/user/qt5-qtbase/APKBUILD @@ -2,7 +2,7 @@ pkgname=qt5-qtbase _pkgname=qtbase-everywhere-src pkgver=5.12.6 -pkgrel=0 +pkgrel=1 pkgdesc="Cross-platform application and UI framework" url="https://www.qt.io/" arch="all" @@ -27,6 +27,8 @@ source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodu link-to-execinfo.patch qt-musl-iconv-no-bom.patch time64.patch + CVE-2020-0569.patch + CVE-2020-0570.patch " # secfixes: qt @@ -36,6 +38,9 @@ source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodu # - CVE-2018-19870 # - CVE-2018-19871 # - CVE-2018-19873 +# 5.12.6-r1: +# - CVE-2020-0569 +# - CVE-2020-0570 _qt5_prefix=/usr/lib/qt5 _qt5_datadir=/usr/share/qt5 @@ -175,4 +180,6 @@ sha512sums="5fb82d903b0db95c23c55785047722dea7979e7f94ecaaf374e0c73b4787aabd768a d00dc607b71a93132f756b952871df9197cfd6d78cc3617544bfa11d7f0eea21ce5dd0d1aeb69dd2702a5694a63d3802accc76499dbf414c01eb56421698cb0c big-endian-scroll-wheel.patch ee78a44e28ba5f728914bfc3d8d5b467896c7de11a02d54b0bce11e40a4338b1f776c1fcc30cbd436df4f548c1ab0b4fe801f01b162ddd5c0f892893e227acfd link-to-execinfo.patch e3982b2df2ab4ba53b7a1329a9eb928eb1fee813c61cf6ac03d3300a767ffb57f019ac0fd89f633cac2330549446ff3d43344871296bf362815e7ebffadefa6b qt-musl-iconv-no-bom.patch -436f0bb7a89a88aa62c7b0398c4e91c325e78542e96f747c903f7e96dbf9d9b693d9688c722f2a74e287fb9ab31e861bd5ed8deb172ed28f56a1b8757663771c time64.patch" +436f0bb7a89a88aa62c7b0398c4e91c325e78542e96f747c903f7e96dbf9d9b693d9688c722f2a74e287fb9ab31e861bd5ed8deb172ed28f56a1b8757663771c time64.patch +ddeb0a59cf0901b38669314fd2f14dffba63c6cbd06a3d864cd329081cc2b10323ec52053a6ffe7baf5ee8a1e137331acfe5d874c03596660630dd151828da56 CVE-2020-0569.patch +b5973799d6dc7c03124b7df5424e5fa84cb81ec3b997e039b84cca21852abaf4ff61780b99c47f1fd6ce64ae61f61b2458ca2929e068644f1973a6f1c53a4d64 CVE-2020-0570.patch" diff --git a/user/qt5-qtbase/CVE-2020-0569.patch b/user/qt5-qtbase/CVE-2020-0569.patch new file mode 100644 index 000000000..fa0efdce3 --- /dev/null +++ b/user/qt5-qtbase/CVE-2020-0569.patch @@ -0,0 +1,29 @@ +From bf131e8d2181b3404f5293546ed390999f760404 Mon Sep 17 00:00:00 2001 +From: Olivier Goffart <ogoffart@woboq.com> +Date: Fri, 8 Nov 2019 11:30:40 +0100 +Subject: Do not load plugin from the $PWD + +I see no reason why this would make sense to look for plugins in the current +directory. And when there are plugins there, it may actually be wrong + +Change-Id: I5f5aa168021fedddafce90effde0d5762cd0c4c5 +Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> +--- + src/corelib/plugin/qpluginloader.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp +index cadff4f32b..c2443dbdda 100644 +--- a/src/corelib/plugin/qpluginloader.cpp ++++ b/src/corelib/plugin/qpluginloader.cpp +@@ -305,7 +305,6 @@ static QString locatePlugin(const QString& fileName) + paths.append(fileName.left(slash)); // don't include the '/' + } else { + paths = QCoreApplication::libraryPaths(); +- paths.prepend(QStringLiteral(".")); // search in current dir first + } + + for (const QString &path : qAsConst(paths)) { +-- +cgit v1.2.1 + diff --git a/user/qt5-qtbase/CVE-2020-0570.patch b/user/qt5-qtbase/CVE-2020-0570.patch new file mode 100644 index 000000000..dcf507c0d --- /dev/null +++ b/user/qt5-qtbase/CVE-2020-0570.patch @@ -0,0 +1,55 @@ +From e6f1fde24f77f63fb16b2df239f82a89d2bf05dd Mon Sep 17 00:00:00 2001 +From: Thiago Macieira <thiago.macieira@intel.com> +Date: Fri, 10 Jan 2020 09:26:27 -0800 +Subject: QLibrary/Unix: do not attempt to load a library relative to $PWD + +I added the code in commit 5219c37f7c98f37f078fee00fe8ca35d83ff4f5d to +find libraries in a haswell/ subdir of the main path, but we only need +to do that transformation if the library is contains at least one +directory seprator. That is, if the user asks to load "lib/foo", then we +should try "lib/haswell/foo" (often, the path prefix will be absolute). + +When the library name the user requested has no directory separators, we +let dlopen() do the transformation for us. Testing on Linux confirms +glibc does so: + +$ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 --inhibit-cache ./qml -help |& grep Xcursor + 1972475: find library=libXcursor.so.1 [0]; searching + 1972475: trying file=/usr/lib64/haswell/avx512_1/libXcursor.so.1 + 1972475: trying file=/usr/lib64/haswell/libXcursor.so.1 + 1972475: trying file=/usr/lib64/libXcursor.so.1 + 1972475: calling init: /usr/lib64/libXcursor.so.1 + 1972475: calling fini: /usr/lib64/libXcursor.so.1 [0] + +Fixes: QTBUG-81272 +Change-Id: I596aec77785a4e4e84d5fffd15e89689bb91ffbb +Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> +--- + src/corelib/plugin/qlibrary_unix.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp +index f0de1010d7..135b82cd37 100644 +--- a/src/corelib/plugin/qlibrary_unix.cpp ++++ b/src/corelib/plugin/qlibrary_unix.cpp +@@ -1,7 +1,7 @@ + /**************************************************************************** + ** + ** Copyright (C) 2016 The Qt Company Ltd. +-** Copyright (C) 2018 Intel Corporation ++** Copyright (C) 2020 Intel Corporation + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtCore module of the Qt Toolkit. +@@ -218,6 +218,8 @@ bool QLibraryPrivate::load_sys() + for(int suffix = 0; retry && !pHnd && suffix < suffixes.size(); suffix++) { + if (!prefixes.at(prefix).isEmpty() && name.startsWith(prefixes.at(prefix))) + continue; ++ if (path.isEmpty() && prefixes.at(prefix).contains(QLatin1Char('/'))) ++ continue; + if (!suffixes.at(suffix).isEmpty() && name.endsWith(suffixes.at(suffix))) + continue; + if (loadHints & QLibrary::LoadArchiveMemberHint) { +-- +cgit v1.2.1 + diff --git a/user/re2c/APKBUILD b/user/re2c/APKBUILD index d039a5baf..aad7b839e 100644 --- a/user/re2c/APKBUILD +++ b/user/re2c/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: pkgname=re2c pkgver=1.3 -pkgrel=0 +pkgrel=1 pkgdesc="Fast lexer generator for C and C++" url="http://re2c.org/" arch="all" @@ -11,7 +11,13 @@ depends="" checkdepends="bash" makedepends="" subpackages="$pkgname-doc" -source="https://github.com/skvadrik/re2c/releases/download/$pkgver/$pkgname-$pkgver.tar.xz" +source="https://github.com/skvadrik/re2c/releases/download/$pkgver/$pkgname-$pkgver.tar.xz + CVE-2020-11958.patch + " + +# secfixes: +# 1.3-r1: +# - CVE-2020-11958 build() { ./configure \ @@ -32,4 +38,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c7084ab2399fb6b96cef74c1393715d90830f43b82b96af46feb71ef008c0215381c3dbea0b003ff810d869db6021e28001b9d588ad55c616642244b2da09c0e re2c-1.3.tar.xz" +sha512sums="c7084ab2399fb6b96cef74c1393715d90830f43b82b96af46feb71ef008c0215381c3dbea0b003ff810d869db6021e28001b9d588ad55c616642244b2da09c0e re2c-1.3.tar.xz +f4376b8e0724d500f665fa60dfd6fb35685a281af50c500d2ff90d781a829fb78f21e8c93c5745a4519acd55a62ec48a570dbfacf0a9ee977502e06f3e2e474a CVE-2020-11958.patch" diff --git a/user/re2c/CVE-2020-11958.patch b/user/re2c/CVE-2020-11958.patch new file mode 100644 index 000000000..b982b87e6 --- /dev/null +++ b/user/re2c/CVE-2020-11958.patch @@ -0,0 +1,37 @@ +From c4603ba5ce229db83a2a4fb93e6d4b4e3ec3776a Mon Sep 17 00:00:00 2001 +From: Ulya Trofimovich <skvadrik@gmail.com> +Date: Fri, 17 Apr 2020 22:47:14 +0100 +Subject: [PATCH] Fix crash in lexer refill (reported by Agostino Sarubbo). + +The crash happened in a rare case of a very long lexeme that doen't fit +into the buffer, forcing buffer reallocation. + +The crash was caused by an incorrect calculation of the shift offset +(it was smaller than necessary). As a consequence, the data from buffer +start and up to the beginning of the current lexeme was not discarded +(as it should have been), resulting in less free space for new data than +expected. +--- + src/parse/scanner.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/parse/scanner.cc b/src/parse/scanner.cc +index 1d6e9efa..bd651314 100644 +--- a/src/parse/scanner.cc ++++ b/src/parse/scanner.cc +@@ -155,13 +155,14 @@ bool Scanner::fill(size_t need) + if (!buf) fatal("out of memory"); + + memmove(buf, tok, copy); +- shift_ptrs_and_fpos(buf - bot); ++ shift_ptrs_and_fpos(buf - tok); + delete [] bot; + bot = buf; + + free = BSIZE - copy; + } + ++ DASSERT(lim + free <= bot + BSIZE); + if (!read(free)) { + eof = lim; + memset(lim, 0, YYMAXFILL); diff --git a/user/rsibreak/APKBUILD b/user/rsibreak/APKBUILD index d07cd72eb..3a6d8214e 100644 --- a/user/rsibreak/APKBUILD +++ b/user/rsibreak/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=rsibreak -pkgver=0.12.11 +pkgver=0.12.13 pkgrel=0 pkgdesc="Helps you avoid wrist injury by telling you when to stop for a rest" url="https://www.kde.org/applications/utilities/rsibreak/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="78498b747eeef842e40170236ace9d1ddd8b1f4bcc378134f2935cd2cf1c6933d44fa232f2f9b0724ee6b2638a34e4f71ebee2eac7664946093ed4df8eeb12ec rsibreak-0.12.11.tar.xz" +sha512sums="dc1411221828afab1c8f3ee89238be44d9fd3784cb5cce4f5a50ce063e14d1683257bffa1b24509d7009e74d0be16f1c788754690b503490fb8be1bedc9657fd rsibreak-0.12.13.tar.xz" diff --git a/user/ruby-bundler/APKBUILD b/user/ruby-bundler/APKBUILD index b553c1187..3d8cb5145 100644 --- a/user/ruby-bundler/APKBUILD +++ b/user/ruby-bundler/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Alyx Wolcott <alyx@leuhta.com> _gemname=bundler pkgname=ruby-$_gemname -pkgver=2.1.2 +pkgver=2.1.4 pkgrel=0 pkgdesc="Manage an application's gem dependencies" url="https://bundler.io/" @@ -16,7 +16,7 @@ source="https://rubygems.org/downloads/$_gemname-$pkgver.gem" builddir="$srcdir/$_gemname-$pkgver" package() { - local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" + gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" gem install --local \ --install-dir "$gemdir" \ @@ -39,4 +39,4 @@ package() { } -sha512sums="2a3b42fa2c6f40998c900eaf9d81d6417970f3daa572e4f1c5cc954fd8ce1e3cacbda0dc9b77d44b2fa756cfb1e72838ef3edee1812881198bbe8c946017e22b bundler-2.1.2.gem" +sha512sums="6c870061a78e17d97a9219433c7ef8fbf1112de17d0e0f3d8b6db1a518318528e3803184278412aabe65008e93f451ffa59465062856918ef488f9438399eff6 bundler-2.1.4.gem" diff --git a/user/ruby-diff-lcs/APKBUILD b/user/ruby-diff-lcs/APKBUILD index 5dbca7146..c03e0e033 100644 --- a/user/ruby-diff-lcs/APKBUILD +++ b/user/ruby-diff-lcs/APKBUILD @@ -3,7 +3,7 @@ pkgname=ruby-diff-lcs _gemname=${pkgname#ruby-} pkgver=1.3 -pkgrel=1 +pkgrel=2 pkgdesc="Generate difference sets between Ruby sequences" url="http://halostatue.github.io/diff-lcs/" arch="noarch" @@ -19,8 +19,8 @@ build() { } package() { - local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" - local geminstdir="$gemdir/gems/$_gemname-$pkgver" + gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" + geminstdir="$gemdir/gems/$_gemname-$pkgver" gem install --local \ --install-dir "$gemdir" \ diff --git a/user/ruby-rake-compiler/APKBUILD b/user/ruby-rake-compiler/APKBUILD index 828a9b1ac..eb5431649 100644 --- a/user/ruby-rake-compiler/APKBUILD +++ b/user/ruby-rake-compiler/APKBUILD @@ -3,7 +3,7 @@ pkgname=ruby-rake-compiler _gemname=${pkgname#ruby-} pkgver=1.1.0 -pkgrel=0 +pkgrel=1 pkgdesc="Provide a standard and simplified way to build and package Ruby extensions" url="https://github.com/rake-compiler/rake-compiler" arch="noarch" @@ -24,7 +24,7 @@ check() { } package() { - local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" + gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" gem install --local \ --install-dir "$gemdir" \ diff --git a/user/ruby-rspec-core/APKBUILD b/user/ruby-rspec-core/APKBUILD index 9a7ad8d68..9749114a6 100644 --- a/user/ruby-rspec-core/APKBUILD +++ b/user/ruby-rspec-core/APKBUILD @@ -3,7 +3,7 @@ pkgname=ruby-rspec-core _gemname=${pkgname#ruby-} pkgver=3.9.1 -pkgrel=0 +pkgrel=1 pkgdesc="RSpec runner and formatters" url="https://relishapp.com/rspec/rspec-core" arch="noarch" @@ -21,7 +21,7 @@ build() { } package() { - local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" + gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" gem install --local \ --install-dir "$gemdir" \ diff --git a/user/ruby-rspec-expectations/APKBUILD b/user/ruby-rspec-expectations/APKBUILD index b78363e57..c465c5c4b 100644 --- a/user/ruby-rspec-expectations/APKBUILD +++ b/user/ruby-rspec-expectations/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=ruby-rspec-expectations _gemname=${pkgname#ruby-} -pkgver=3.9.0 +pkgver=3.9.1 pkgrel=0 pkgdesc="Provides a readable API to express expected outcomes of a code example in RSpec" url="https://relishapp.com/rspec/rspec-expectations/" @@ -21,7 +21,7 @@ build() { } package() { - local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" + gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" gem install --local \ --install-dir "$gemdir" \ @@ -36,5 +36,5 @@ package() { "$gemdir"/doc } -sha512sums="663b9739681c19b5bb1301447017ce4e10bc377ea3f4e51745ccfaa12b014a47e893aeb262b6fa3792e823adb90ae7a15f5c146c48aa80c72eec5faaf84d516c ruby-rspec-expectations-3.9.0.tar.gz +sha512sums="23a453a46c3eb3bd3f2a39f48f62f05832cf559b570ba0e09235dd6299687254491bab50f5502fefe69dbdeefa09e9d8c5568bc77d0b6b658bb469e197e67572 ruby-rspec-expectations-3.9.1.tar.gz 1d477004521852e23d01b197187dbb434a2c7fd179e506c82a12e17f5d52470fe2a113112e7052b9479077eafa6759beb07c03301de1f8ea7f5c4643c92d8346 gemspec.patch" diff --git a/user/ruby-rspec-mocks/APKBUILD b/user/ruby-rspec-mocks/APKBUILD index aff6a8008..f84c951d9 100644 --- a/user/ruby-rspec-mocks/APKBUILD +++ b/user/ruby-rspec-mocks/APKBUILD @@ -3,7 +3,7 @@ pkgname=ruby-rspec-mocks _gemname=${pkgname#ruby-} pkgver=3.9.1 -pkgrel=0 +pkgrel=1 pkgdesc="RSpec's 'test double' framework, with support for stubbing and mocking" url="https://relishapp.com/rspec/rspec-mocks/" arch="noarch" @@ -21,7 +21,7 @@ build() { } package() { - local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" + gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" gem install --local \ --install-dir "$gemdir" \ diff --git a/user/ruby-rspec-support/APKBUILD b/user/ruby-rspec-support/APKBUILD index a5d1536f9..5f8457dd0 100644 --- a/user/ruby-rspec-support/APKBUILD +++ b/user/ruby-rspec-support/APKBUILD @@ -3,7 +3,7 @@ pkgname=ruby-rspec-support _gemname=${pkgname#ruby-} pkgver=3.9.2 -pkgrel=0 +pkgrel=1 pkgdesc="Support utilities for RSpec gems" url="https://rubygems.org/gems/rspec-support" arch="noarch" @@ -21,7 +21,7 @@ build() { } package() { - local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" + gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" gem install --local \ --install-dir "$gemdir" \ diff --git a/user/ruby-rspec/APKBUILD b/user/ruby-rspec/APKBUILD index d95857860..a3055f056 100644 --- a/user/ruby-rspec/APKBUILD +++ b/user/ruby-rspec/APKBUILD @@ -3,7 +3,7 @@ pkgname=ruby-rspec _gemname=${pkgname#ruby-} pkgver=3.9.0 -pkgrel=0 +pkgrel=1 pkgdesc="Behaviour Driven Development for Ruby" url="http://rspec.info/" arch="noarch" @@ -23,7 +23,7 @@ build() { } package() { - local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" + gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" gem install --local \ --install-dir "$gemdir" \ diff --git a/user/s6-dns/APKBUILD b/user/s6-dns/APKBUILD index 4fbbfe04a..ef366ef0f 100644 --- a/user/s6-dns/APKBUILD +++ b/user/s6-dns/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-dns -pkgver=2.3.1.1 +pkgver=2.3.2.0 pkgrel=0 pkgdesc="skarnet.org's DNS client libraries and command-line DNS client utilities" url="https://skarnet.org/software/s6-dns/" @@ -59,4 +59,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="e69ee16cb16139d344255adc4bb92bd73003464925bbd2df893e3b922add155308b547274a66e3f20a5d3c0310c8fadc877b656753299ff9a269b4e25c26f7a9 s6-dns-2.3.1.1.tar.gz" +sha512sums="c4b833a944e6c99f52283d7c27c4a4937995b99afb1e9a9d601bb20efec7b23e05fb8500b1653c3a1c045811087acd0bc800cebfdd2fb60c6eba2fd85cfd580d s6-dns-2.3.2.0.tar.gz" diff --git a/user/s6-linux-utils/APKBUILD b/user/s6-linux-utils/APKBUILD index 54ff1b005..62103295d 100644 --- a/user/s6-linux-utils/APKBUILD +++ b/user/s6-linux-utils/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-linux-utils -pkgver=2.5.1.1 +pkgver=2.5.1.2 pkgrel=0 pkgdesc="skarnet.org's Linux-specific miscellaneous utilities" url="https://skarnet.org/software/s6-linux-utils/" @@ -34,4 +34,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="59c58c4d8e13b7a6e0215f21978f8ac2ac54fc3685884204ea1f011f2a882b9381a9686cbb24c9e566e322c14174dda40368c308e37e9c44f6a1687231d108a2 s6-linux-utils-2.5.1.1.tar.gz" +sha512sums="4557148c3e739471a8846d3e0425da826d77ab3b7fc8d6c777d110152343596d17fde37fddcb099b107663138a5447866c3ff00a05f59d034379d26b1e147331 s6-linux-utils-2.5.1.2.tar.gz" diff --git a/user/s6-networking/APKBUILD b/user/s6-networking/APKBUILD index be124a5a8..89ef875b6 100644 --- a/user/s6-networking/APKBUILD +++ b/user/s6-networking/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-networking -pkgver=2.3.1.1 +pkgver=2.3.1.2 pkgrel=0 pkgdesc="skarnet.org's UCSPI TCP tools, access control tools, and network time management utilities." url="https://skarnet.org/software/$pkgname/" @@ -62,4 +62,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="3bd7cdbf6f105bb83c5116e736f4288d378571467e7aa93f862eba80ce28255bda77140a2a1cf80af80480789dfb38682049f6769952fb8964b860bdf465551b s6-networking-2.3.1.1.tar.gz" +sha512sums="292bba150fcf4567073690411caebb66b407dbac20dfcc07f8a79d55962ef07f1fcfcf25bac21734605bc171e22805812788b0c12ec01e79f320eef782479d1c s6-networking-2.3.1.2.tar.gz" diff --git a/user/s6-portable-utils/APKBUILD b/user/s6-portable-utils/APKBUILD index 5a7a85540..b738b4c16 100644 --- a/user/s6-portable-utils/APKBUILD +++ b/user/s6-portable-utils/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-portable-utils -pkgver=2.2.2.1 +pkgver=2.2.2.2 pkgrel=0 pkgdesc="skarnet.org's portable miscellaneous utilities" url="https://skarnet.org/software/s6-portable-utils/" @@ -33,4 +33,4 @@ doc() { cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname" } -sha512sums="2e74befec59ae6d3f27cb5f2bb92db23af484043e4d5e53e4816d75927059af6698614a4c3ce7ed7e380a88d5bbe88e41dcbc97eb607a10d7a3e46b8a36744ed s6-portable-utils-2.2.2.1.tar.gz" +sha512sums="ed7df36757780201ccfc0c35a4ab1f6eab16f9fd8a23a6c739a469b9b82862dbb60823748e82c4c902fac835a801f3f0ab0f3d90f20628d6ac8bf744a4fb44a2 s6-portable-utils-2.2.2.2.tar.gz" diff --git a/user/samurai/APKBUILD b/user/samurai/APKBUILD index e63de08c9..e9de6bfd4 100644 --- a/user/samurai/APKBUILD +++ b/user/samurai/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=samurai -pkgver=1.0 +pkgver=1.1 pkgrel=0 pkgdesc="Pure-C drop-in replacement for ninja" url="https://github.com/michaelforney/samurai" @@ -25,4 +25,4 @@ package() { ln -s samu ninja } -sha512sums="87b2a11a39dc36f3582abdc7c9d358c8fce241fe4155b5177d3e8588d1c040a62eb9daafd2365febbfadd6fcc27a3ceacf6f29ca6f871c822aad6f4bad527a51 samurai-1.0.tar.gz" +sha512sums="b27302c34d736f483909e57c8b162609eaa4c86571c1167b71a5564b521cc3af2861307a16bb6dca55e80952088989e9526b103160d2ea054d15f4ed85b1cedb samurai-1.1.tar.gz" diff --git a/user/scummvm/APKBUILD b/user/scummvm/APKBUILD index d6e001f70..edbb2078b 100644 --- a/user/scummvm/APKBUILD +++ b/user/scummvm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Tambra Wilcox <Tambra@J30AD.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=scummvm -pkgver=2.1.1 +pkgver=2.1.2 pkgrel=0 pkgdesc="Allows running classic point-and-click adventure games" url="https://www.scummvm.org/" @@ -28,5 +28,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c27de3cf226ca6b11b1b431d40ab416c4e10e93244ab96535ead4f704c74267d816545448ae3618be2762ae148b0008952c26784fa4937ac0f3697b2d77f98d9 scummvm-2.1.1.tar.bz2 +sha512sums="de3ce5c9363f59ed151aeedc04870343070acbc2ac7d07a641a0cdcd9cdb9210138dc4b3669818f736c0b0d40bdf9e07d9c015796ceef0c81881ac15e31eaebe scummvm-2.1.2.tar.bz2 20b20a68263c691efb7db83aa8132ec980f2732af728300a641d30c4035d4aa8fcf6efdcebb8c5b924e68fafb50e39ed1825cd64d1f81145259493e858bd50f4 fluidsynth.patch" diff --git a/user/sddm-kcm/APKBUILD b/user/sddm-kcm/APKBUILD index e1515db7e..35b89755f 100644 --- a/user/sddm-kcm/APKBUILD +++ b/user/sddm-kcm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=sddm-kcm -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE configuration applet for SDDM" url="https://www.kde.org/" @@ -14,7 +14,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtx11extras-dev knewstuff-dev" install_if="systemsettings sddm" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/sddm-kcm-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/sddm-kcm-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0d08f06ec50ae48453e8e4fecb80fced6d237d89ca85a7d9776b312c1e224e631e2e8407db34d9c98593f2e99f1520a0861e17de776f3228ec3f63268db78fe0 sddm-kcm-5.18.2.tar.xz" +sha512sums="6500b3a721e4f8798fe1e79647beac11ae6d22bb5df1f5c35d815956535e74aadc9c4ffaee72afd99c2f5ea7acefca040185fe1fc106f3e0a7d62f862c8cfdf0 sddm-kcm-5.18.4.1.tar.xz" diff --git a/user/sdl2/APKBUILD b/user/sdl2/APKBUILD index e11d9d7ae..c7dd81e68 100644 --- a/user/sdl2/APKBUILD +++ b/user/sdl2/APKBUILD @@ -1,8 +1,8 @@ # Contributor: August Klein <amatcoder@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=sdl2 -pkgver=2.0.10 -pkgrel=1 +pkgver=2.0.12 +pkgrel=0 pkgdesc="Low level audio, keyboard, mouse, joystick and graphics library" url="https://www.libsdl.org/" arch="all" @@ -14,7 +14,6 @@ makedepends="alsa-lib-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxscrnsaver-dev dbus-dev eudev-dev pulseaudio-dev cmake" subpackages="$pkgname-dev" source="https://www.libsdl.org/release/SDL2-$pkgver.tar.gz - gles.patch sdl2-soname.patch " builddir="$srcdir/SDL2-$pkgver" @@ -38,6 +37,5 @@ package() { make DESTDIR="$pkgdir" -C build install } -sha512sums="f49b869362699b3282f6e82920e59c7fac581bcbf955f18a81cc126293c08093a90df7fcb39517cc8bc32708d2213fe645a42b655d6d811c1386efebb3d3c798 SDL2-2.0.10.tar.gz -c345096eb98617c41ea5a7b79864082d869800dd54fb9d4aa565446dfafc9ec345193555c25c03f318fa13ed82f267eab6b164a1870ead5fb98a1216cbfd4a0b gles.patch -23fbb178730f0955732cbb3a61145e7ec1bf7810a2589c259cd715557cb4ff5bcbc676197db375ad31be46dab93c6ea7e06b3549414205ae56e1b65a8c8ab21a sdl2-soname.patch" +sha512sums="3f1f04af0f3d9dda9c84a2e9274ae8d83ea0da3fc367970a820036cc4dc1dbf990cfc37e4975ae05f0b45a4ffa739c6c19e470c00bf3f2bce9b8b63717b8b317 SDL2-2.0.12.tar.gz +81b5807cd9f2683231c14562e961467fcd7ba257140d1a266932d6a6a5103633e3af896c09b261620b2934d521809e08ed79d3287c0897f4783c6afc1c01a566 sdl2-soname.patch" diff --git a/user/sdl2/gles.patch b/user/sdl2/gles.patch deleted file mode 100644 index c400577e1..000000000 --- a/user/sdl2/gles.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- SDL2-2.0.10/src/video/SDL_video.c.old 2019-07-25 04:32:37.000000000 +0000 -+++ SDL2-2.0.10/src/video/SDL_video.c 2020-01-20 17:32:52.918453596 +0000 -@@ -37,7 +37,8 @@ - #include "SDL_opengl.h" - #endif /* SDL_VIDEO_OPENGL */ - --#if SDL_VIDEO_OPENGL_ES -+/* GL and GLES headers conflict on Linux 32 bits */ -+#if SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL - #include "SDL_opengles.h" - #endif /* SDL_VIDEO_OPENGL_ES */ - diff --git a/user/sdl2/sdl2-soname.patch b/user/sdl2/sdl2-soname.patch index 8f040e30c..7ed5b14bf 100644 --- a/user/sdl2/sdl2-soname.patch +++ b/user/sdl2/sdl2-soname.patch @@ -2,7 +2,7 @@ The library name is SDL2-2.0, not SDL2. This fixes builds against SDL. --- SDL2-2.0.10/CMakeLists.txt.old 2019-07-25 04:32:36.000000000 +0000 +++ SDL2-2.0.10/CMakeLists.txt 2020-01-03 17:23:42.451699149 +0000 -@@ -224,7 +224,7 @@ +@@ -233,7 +233,7 @@ # Those are used for pkg-config and friends, so that the SDL2.pc, sdl2-config, # etc. are created correctly. diff --git a/user/sg3_utils/APKBUILD b/user/sg3_utils/APKBUILD index 35e1a4fb3..4d5f64c4f 100644 --- a/user/sg3_utils/APKBUILD +++ b/user/sg3_utils/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=sg3_utils -pkgver=1.44 +pkgver=1.45 pkgrel=0 pkgdesc="Utilities to manipulate SCSI devices" url="http://sg.danny.cz/sg/sg3_utils.html" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4f4d5536ebed62f2c81c55741043d9ac3f4610a4dd6ef2e3125f041afd57aae03a32c2affe84a960c9f61fb6f84784bc901c756a8c36c1bc97082fa61e73ae8d sg3_utils-1.44.tar.xz" +sha512sums="fa25dedc447154d33937248a856af9a7ef380dda282a681d465a57d7dfc24b6c0409fa06aabf8cc28ba191e91db80fed0757b45212eddf713855574b48a97868 sg3_utils-1.45.tar.xz" diff --git a/user/sox/APKBUILD b/user/sox/APKBUILD index 31a5d4b1e..8e9fe9934 100644 --- a/user/sox/APKBUILD +++ b/user/sox/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: pkgname=sox pkgver=14.4.2 -pkgrel=1 +pkgrel=2 pkgdesc="Convert between various audio formats" url="http://sox.sourceforge.net/" arch="all" @@ -15,10 +15,38 @@ makedepends="alsa-lib-dev ffmpeg-dev file-dev flac-dev gsm-dev lame-dev depends="" subpackages="$pkgname-dev $pkgname-doc" source="https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz + CVE-2017-11332.patch + CVE-2017-11358.patch + CVE-2017-11359.patch + CVE-2017-15370.patch + CVE-2017-15371.patch + CVE-2017-15372.patch + CVE-2017-15642.patch + CVE-2017-18189.patch + CVE-2019-13590.patch + CVE-2019-8354.patch + CVE-2019-8355.patch + CVE-2019-8356.patch + CVE-2019-8357.patch disable-pipe-file-detection.patch - sox-dynamic.patch " +# secfixes: +# 14.4.2-r2: +# - CVE-2017-11332 +# - CVE-2017-11358 +# - CVE-2017-11359 +# - CVE-2017-15370 +# - CVE-2017-15371 +# - CVE-2017-15372 +# - CVE-2017-15642 +# - CVE-2017-18189 +# - CVE-2019-13590 +# - CVE-2019-8354 +# - CVE-2019-8355 +# - CVE-2019-8356 +# - CVE-2019-8357 + prepare() { default_prepare autoreconf -vif @@ -43,5 +71,17 @@ package() { } sha512sums="b5c6203f4f5577503a034fe5b3d6a033ee97fe4d171c533933e2b036118a43a14f97c9668433229708609ccf9ee16abdeca3fc7501aa0aafe06baacbba537eca sox-14.4.2.tar.gz -eb90574a7c174a32ac77aa09a2bb4ebbea407463517e55943e16efd8b7c52393c6b7a6b2778d696f708627271f4d2212221a85fc50d2500b32143139a37a957a disable-pipe-file-detection.patch -3950834db26faa0523006c6fd8e0769d080518f127d345c8ec9bf53e9db8a6bd67cd724f0f86492aaf9ce6ede2dfbde167049768f35c14ef3c2b96e7e00302b6 sox-dynamic.patch" +b4bded0b15a2243fbb404a33fccf45ad5634d6c6e0f60b49b967592f00ff9bc3657ebcfa42b18a5af804e7f04a700773bece5951739b8206b2c68c46c9ec4c7f CVE-2017-11332.patch +28ffd5eef149563a1cdfcd920a89a0e2247ddbf4ed10a76c4e34ee57e3a30ec3a98bacf53fe1675da1431dd40c30b13cae0b9a1e26153c1aad6144322b7d78b0 CVE-2017-11358.patch +2c95d85f94877bf1637d2c1297944a77a8854506cad35b1c0d632237133cd970da82cded817696b19acde25b0e570f4c86659cc362a910e4ea76a037e3e56214 CVE-2017-11359.patch +bcbfd0785751372cd959a7419d88af24bb041dd02d3d0cf2f0dab46b6f6b55f284c1d823d20e5a0eae15191f3ccb2eefa2026287fdfbecb064722b006970ee00 CVE-2017-15370.patch +b116887f52eb4b70de9dda5f14e581579c4c1755c39100d88c4b8645bf9e053cfe87de3346eb138edc45fd2c36f0e1755f91e09511d279fe6d4661099c578420 CVE-2017-15371.patch +f8a4d38cfad80a50b9c758b222d83f6b51d96f1491862680e1632eec2a5c2a7c6f968660307f0f403e0b7537f7da19a510945648bdef8f1302fd4683be869581 CVE-2017-15372.patch +259980ea6fe08a2481a478a4a21b11a7fc4390b1b53023009d85fb2185ee63c42d2762e024af20912e7277688fac98e4eaa66b4a4e79840517ff2481ad50327e CVE-2017-15642.patch +de510114a9fbbbabe62149f3c22ebd1fae65ed68e6ed0b818f367bbee806c9e04be6db0c8e64f4985b7bd95dd0cc643e1475767fda4e405931f25104b4a2e39f CVE-2017-18189.patch +eab27e22035bdbe00d0dc4117f98bf9c5dcad4513a27e0e8a83506b94fca8055bc6ce532d24306aa8434942bef111b3511daf260df56fafb7b4ac5ed2075e3f7 CVE-2019-13590.patch +61342fad71dbe7f0ff10a7327eeed901c0defd5aafaace4ac755032ccf687d875856490c30f2af050823fd6ff1a1c7f503ae26670225eab916ab59fa857a8cb3 CVE-2019-8354.patch +3f05ab71680a67c9e8a4b33c70cb19a623f0925a2620ab007dc8d4a82caf5b73b50e3e5d40e242d6f65420d444b91e11bee09e4398e8079ca4af60bd34097593 CVE-2019-8355.patch +6eca5096c658a61939902a70d218b5662b663df84173d09d5b23f497bdcb81c04cd94d8debed2818079c342cec80ec29ff33d572611826bdbc12a5d465a20241 CVE-2019-8356.patch +82fbbf62a7124248ce74cf0daab0cd224a3da80e62923db58b8be31c4f145abe0e653f6968d0f6b862e5554d080d0f85b0bc0bcdb6dea34c130aa4ee9106d915 CVE-2019-8357.patch +eb90574a7c174a32ac77aa09a2bb4ebbea407463517e55943e16efd8b7c52393c6b7a6b2778d696f708627271f4d2212221a85fc50d2500b32143139a37a957a disable-pipe-file-detection.patch" diff --git a/user/sox/CVE-2017-11332.patch b/user/sox/CVE-2017-11332.patch new file mode 100644 index 000000000..511049d8e --- /dev/null +++ b/user/sox/CVE-2017-11332.patch @@ -0,0 +1,28 @@ +From 6e177c455fb554327ff8125b6e6dde1568610abe Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Sun, 5 Nov 2017 16:29:28 +0000 +Subject: [PATCH] wav: fix crash if channel count is zero (CVE-2017-11332) + +--- + src/wav.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/wav.c b/src/wav.c +index 5202556c..71fd52ac 100644 +--- a/src/wav.c ++++ b/src/wav.c +@@ -712,6 +712,11 @@ static int startread(sox_format_t * ft) + else + lsx_report("User options overriding channels read in .wav header"); + ++ if (ft->signal.channels == 0) { ++ lsx_fail_errno(ft, SOX_EHDR, "Channel count is zero"); ++ return SOX_EOF; ++ } ++ + if (ft->signal.rate == 0 || ft->signal.rate == dwSamplesPerSecond) + ft->signal.rate = dwSamplesPerSecond; + else +-- +2.25.0 + diff --git a/user/sox/CVE-2017-11358.patch b/user/sox/CVE-2017-11358.patch new file mode 100644 index 000000000..4fadeda30 --- /dev/null +++ b/user/sox/CVE-2017-11358.patch @@ -0,0 +1,44 @@ +From e410d00c4821726accfbe1f825f2def6376e181f Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Sun, 5 Nov 2017 16:43:35 +0000 +Subject: [PATCH] hcom: fix crash on input with corrupt dictionary + (CVE-2017-11358) + +--- + src/hcom.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/src/hcom.c b/src/hcom.c +index e76820e9..be17d9d2 100644 +--- a/src/hcom.c ++++ b/src/hcom.c +@@ -73,6 +73,14 @@ typedef struct { + size_t pos; /* Where next byte goes */ + } priv_t; + ++static int dictvalid(int n, int size, int left, int right) ++{ ++ if (n > 0 && left < 0) ++ return 1; ++ ++ return (unsigned)left < size && (unsigned)right < size; ++} ++ + static int startread(sox_format_t * ft) + { + priv_t *p = (priv_t *) ft->priv; +@@ -150,6 +158,11 @@ static int startread(sox_format_t * ft) + lsx_debug("%d %d", + p->dictionary[i].dict_leftson, + p->dictionary[i].dict_rightson); ++ if (!dictvalid(i, dictsize, p->dictionary[i].dict_leftson, ++ p->dictionary[i].dict_rightson)) { ++ lsx_fail_errno(ft, SOX_EHDR, "Invalid dictionary"); ++ return SOX_EOF; ++ } + } + rc = lsx_skipbytes(ft, (size_t) 1); /* skip pad byte */ + if (rc) +-- +2.25.0 + diff --git a/user/sox/CVE-2017-11359.patch b/user/sox/CVE-2017-11359.patch new file mode 100644 index 000000000..cb96c4a71 --- /dev/null +++ b/user/sox/CVE-2017-11359.patch @@ -0,0 +1,30 @@ +From 7b3f30e13e4845bafc93215a372c6eb7dcf04118 Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Sun, 5 Nov 2017 17:02:11 +0000 +Subject: [PATCH] wav: fix crash writing header when channel count >64k + (CVE-2017-11359) + +--- + src/wav.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/wav.c b/src/wav.c +index 71fd52ac..eca1cde5 100644 +--- a/src/wav.c ++++ b/src/wav.c +@@ -1379,6 +1379,12 @@ static int wavwritehdr(sox_format_t * ft, int second_header) + long blocksWritten = 0; + sox_bool isExtensible = sox_false; /* WAVE_FORMAT_EXTENSIBLE? */ + ++ if (ft->signal.channels > UINT16_MAX) { ++ lsx_fail_errno(ft, SOX_EOF, "Too many channels (%u)", ++ ft->signal.channels); ++ return SOX_EOF; ++ } ++ + dwSamplesPerSecond = ft->signal.rate; + wChannels = ft->signal.channels; + wBitsPerSample = ft->encoding.bits_per_sample; +-- +2.25.0 + diff --git a/user/sox/CVE-2017-15370.patch b/user/sox/CVE-2017-15370.patch new file mode 100644 index 000000000..9e6a7f7ee --- /dev/null +++ b/user/sox/CVE-2017-15370.patch @@ -0,0 +1,28 @@ +From e076a7ad504add6e8c3b8699e8587eef0e0d9bc3 Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Sun, 5 Nov 2017 16:21:23 +0000 +Subject: [PATCH] wav: ima_adpcm: fix buffer overflow on corrupt input + (CVE-2017-15370) + +Add the same check bad block size as was done for MS adpcm in commit +f39c574b ("More checks for invalid MS ADPCM blocks"). +--- + src/wav.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/wav.c b/src/wav.c +index eca1cde5..fad334cf 100644 +--- a/src/wav.c ++++ b/src/wav.c +@@ -127,7 +127,7 @@ static unsigned short ImaAdpcmReadBlock(sox_format_t * ft) + /* work with partial blocks. Specs say it should be null */ + /* padded but I guess this is better than trailing quiet. */ + samplesThisBlock = lsx_ima_samples_in((size_t)0, (size_t)ft->signal.channels, bytesRead, (size_t) 0); +- if (samplesThisBlock == 0) ++ if (samplesThisBlock == 0 || samplesThisBlock > wav->samplesPerBlock) + { + lsx_warn("Premature EOF on .wav input file"); + return 0; +-- +2.25.0 + diff --git a/user/sox/CVE-2017-15371.patch b/user/sox/CVE-2017-15371.patch new file mode 100644 index 000000000..7b38943f2 --- /dev/null +++ b/user/sox/CVE-2017-15371.patch @@ -0,0 +1,40 @@ +From 968c689ad2c4269a1a853434d99aa7ebf0c01354 Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Sun, 5 Nov 2017 15:57:48 +0000 +Subject: [PATCH] flac: fix crash on corrupt metadata (CVE-2017-15371) + +--- + src/flac.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/flac.c b/src/flac.c +index 0d7829ec..07f45c1b 100644 +--- a/src/flac.c ++++ b/src/flac.c +@@ -119,9 +119,10 @@ static void decoder_metadata_callback(FLAC__StreamDecoder const * const flac, FL + p->total_samples = metadata->data.stream_info.total_samples; + } + else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) { ++ const FLAC__StreamMetadata_VorbisComment *vc = &metadata->data.vorbis_comment; + size_t i; + +- if (metadata->data.vorbis_comment.num_comments == 0) ++ if (vc->num_comments == 0) + return; + + if (ft->oob.comments != NULL) { +@@ -129,8 +130,9 @@ static void decoder_metadata_callback(FLAC__StreamDecoder const * const flac, FL + return; + } + +- for (i = 0; i < metadata->data.vorbis_comment.num_comments; ++i) +- sox_append_comment(&ft->oob.comments, (char const *) metadata->data.vorbis_comment.comments[i].entry); ++ for (i = 0; i < vc->num_comments; ++i) ++ if (vc->comments[i].entry) ++ sox_append_comment(&ft->oob.comments, (char const *) vc->comments[i].entry); + } + } + +-- +2.25.0 + diff --git a/user/sox/CVE-2017-15372.patch b/user/sox/CVE-2017-15372.patch new file mode 100644 index 000000000..dd7fcff5d --- /dev/null +++ b/user/sox/CVE-2017-15372.patch @@ -0,0 +1,100 @@ +From 515b986139183326cc40c67c75f83edc60826a9e Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Wed, 8 Nov 2017 00:27:46 +0000 +Subject: [PATCH] adpcm: fix stack overflow with >4 channels (CVE-2017-15372) + +--- + src/adpcm.c | 8 +++++++- + src/adpcm.h | 3 +++ + src/wav.c | 5 ++++- + 3 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/src/adpcm.c b/src/adpcm.c +index 2e13867e..f64b7d5c 100644 +--- a/src/adpcm.c ++++ b/src/adpcm.c +@@ -71,6 +71,11 @@ const short lsx_ms_adpcm_i_coef[7][2] = { + { 392,-232} + }; + ++extern void *lsx_ms_adpcm_alloc(unsigned chans) ++{ ++ return lsx_malloc(chans * sizeof(MsState_t)); ++} ++ + static inline sox_sample_t AdpcmDecode(sox_sample_t c, MsState_t *state, + sox_sample_t sample1, sox_sample_t sample2) + { +@@ -102,6 +107,7 @@ static inline sox_sample_t AdpcmDecode(sox_sample_t c, MsState_t *state, + + /* lsx_ms_adpcm_block_expand_i() outputs interleaved samples into one output buffer */ + const char *lsx_ms_adpcm_block_expand_i( ++ void *priv, + unsigned chans, /* total channels */ + int nCoef, + const short *coef, +@@ -113,7 +119,7 @@ const char *lsx_ms_adpcm_block_expand_i( + const unsigned char *ip; + unsigned ch; + const char *errmsg = NULL; +- MsState_t state[4]; /* One decompressor state for each channel */ ++ MsState_t *state = priv; /* One decompressor state for each channel */ + + /* Read the four-byte header for each channel */ + ip = ibuff; +diff --git a/src/adpcm.h b/src/adpcm.h +index af4d6f08..db5cc615 100644 +--- a/src/adpcm.h ++++ b/src/adpcm.h +@@ -29,8 +29,11 @@ + /* default coef sets */ + extern const short lsx_ms_adpcm_i_coef[7][2]; + ++extern void *lsx_ms_adpcm_alloc(unsigned chans); ++ + /* lsx_ms_adpcm_block_expand_i() outputs interleaved samples into one output buffer */ + extern const char *lsx_ms_adpcm_block_expand_i( ++ void *priv, + unsigned chans, /* total channels */ + int nCoef, + const short *coef, +diff --git a/src/wav.c b/src/wav.c +index fad334cf..066be6d7 100644 +--- a/src/wav.c ++++ b/src/wav.c +@@ -82,6 +82,7 @@ typedef struct { + /* following used by *ADPCM wav files */ + unsigned short nCoefs; /* ADPCM: number of coef sets */ + short *lsx_ms_adpcm_i_coefs; /* ADPCM: coef sets */ ++ void *ms_adpcm_data; /* Private data of adpcm decoder */ + unsigned char *packet; /* Temporary buffer for packets */ + short *samples; /* interleaved samples buffer */ + short *samplePtr; /* Pointer to current sample */ +@@ -175,7 +176,7 @@ static unsigned short AdpcmReadBlock(sox_format_t * ft) + } + } + +- errmsg = lsx_ms_adpcm_block_expand_i(ft->signal.channels, wav->nCoefs, wav->lsx_ms_adpcm_i_coefs, wav->packet, wav->samples, samplesThisBlock); ++ errmsg = lsx_ms_adpcm_block_expand_i(wav->ms_adpcm_data, ft->signal.channels, wav->nCoefs, wav->lsx_ms_adpcm_i_coefs, wav->packet, wav->samples, samplesThisBlock); + + if (errmsg) + lsx_warn("%s", errmsg); +@@ -791,6 +792,7 @@ static int startread(sox_format_t * ft) + + /* nCoefs, lsx_ms_adpcm_i_coefs used by adpcm.c */ + wav->lsx_ms_adpcm_i_coefs = lsx_malloc(wav->nCoefs * 2 * sizeof(short)); ++ wav->ms_adpcm_data = lsx_ms_adpcm_alloc(wChannels); + { + int i, errct=0; + for (i=0; len>=2 && i < 2*wav->nCoefs; i++) { +@@ -1216,6 +1218,7 @@ static int stopread(sox_format_t * ft) + free(wav->packet); + free(wav->samples); + free(wav->lsx_ms_adpcm_i_coefs); ++ free(wav->ms_adpcm_data); + free(wav->comment); + wav->comment = NULL; + +-- +2.25.0 + diff --git a/user/sox/CVE-2017-15642.patch b/user/sox/CVE-2017-15642.patch new file mode 100644 index 000000000..95beb4f6f --- /dev/null +++ b/user/sox/CVE-2017-15642.patch @@ -0,0 +1,34 @@ +From f56c0dbca8f5bd02ea88970c248c0d087386e807 Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Mon, 20 Nov 2017 11:03:15 +0000 +Subject: [PATCH] aiff: fix crash on empty comment chunk (CVE-2017-15642) + +This fixes a use after free and double free if an empty comment +chunk follows a non-empty one. +--- + src/aiff.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/aiff.c b/src/aiff.c +index 240d2e1f..11ddb542 100644 +--- a/src/aiff.c ++++ b/src/aiff.c +@@ -62,7 +62,6 @@ int lsx_aiffstartread(sox_format_t * ft) + size_t ssndsize = 0; + char *annotation; + char *author; +- char *comment = NULL; + char *copyright; + char *nametext; + +@@ -270,6 +269,7 @@ int lsx_aiffstartread(sox_format_t * ft) + free(annotation); + } + else if (strncmp(buf, "COMT", (size_t)4) == 0) { ++ char *comment = NULL; + rc = commentChunk(&comment, "Comment:", ft); + if (rc) { + /* Fail already called in function */ +-- +2.25.0 + diff --git a/user/sox/CVE-2017-18189.patch b/user/sox/CVE-2017-18189.patch new file mode 100644 index 000000000..aa3791d01 --- /dev/null +++ b/user/sox/CVE-2017-18189.patch @@ -0,0 +1,33 @@ +From 09d7388c8ad5701ed9c59d1d600ff6154b066397 Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Thu, 9 Nov 2017 11:45:10 +0000 +Subject: [PATCH] xa: validate channel count (CVE-2017-18189) + +A corrupt header specifying zero channels would send read_channels() +into an infinite loop. Prevent this by sanity checking the channel +count in open_read(). Also add an upper bound to prevent overflow +in multiplication. +--- + src/xa.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/xa.c b/src/xa.c +index 81a76772..9fc086ec 100644 +--- a/src/xa.c ++++ b/src/xa.c +@@ -143,6 +143,12 @@ static int startread(sox_format_t * ft) + lsx_report("User options overriding rate read in .xa header"); + } + ++ if (ft->signal.channels == 0 || ft->signal.channels > UINT16_MAX) { ++ lsx_fail_errno(ft, SOX_EFMT, "invalid channel count %d", ++ ft->signal.channels); ++ return SOX_EOF; ++ } ++ + /* Check for supported formats */ + if (ft->encoding.bits_per_sample != 16) { + lsx_fail_errno(ft, SOX_EFMT, "%d-bit sample resolution not supported.", +-- +2.25.0 + diff --git a/user/sox/CVE-2019-13590.patch b/user/sox/CVE-2019-13590.patch new file mode 100644 index 000000000..a09b11bae --- /dev/null +++ b/user/sox/CVE-2019-13590.patch @@ -0,0 +1,33 @@ +From 7b6a889217d62ed7e28188621403cc7542fd1f7e Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Tue, 4 Feb 2020 12:55:18 +0000 +Subject: [PATCH] sox-fmt: validate comments_bytes before use (CVE-2019-13590) + [bug #325] + +Cap the comments size to 1 GB to avoid overflows in subsequent +arithmetic. + +The missing null check mentioned in the bug report is bogus since +lsx_calloc() returns a valid pointer or aborts. +--- + src/sox-fmt.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/sox-fmt.c b/src/sox-fmt.c +index aad965cd..11c88771 100644 +--- a/src/sox-fmt.c ++++ b/src/sox-fmt.c +@@ -46,7 +46,9 @@ static int startread(sox_format_t * ft) + lsx_readdw(ft, &comments_bytes)) + return SOX_EOF; + +- if (((headers_bytes + 4) & 7) || headers_bytes < FIXED_HDR + comments_bytes || ++ if (((headers_bytes + 4) & 7) || ++ comments_bytes > 0x40000000 || /* max 1 GB */ ++ headers_bytes < FIXED_HDR + comments_bytes || + (num_channels > 65535)) /* Reserve top 16 bits */ { + lsx_fail_errno(ft, SOX_EHDR, "invalid sox file format header"); + return SOX_EOF; +-- +2.25.0 + diff --git a/user/sox/CVE-2019-8354.patch b/user/sox/CVE-2019-8354.patch new file mode 100644 index 000000000..1fa0e669f --- /dev/null +++ b/user/sox/CVE-2019-8354.patch @@ -0,0 +1,28 @@ +From f70911261a84333b077c29908e1242f69d7439eb Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Wed, 24 Apr 2019 14:57:34 +0100 +Subject: [PATCH] fix possible buffer size overflow in lsx_make_lpf() + (CVE-2019-8354) + +The multiplication in the size argument malloc() might overflow, +resulting in a small buffer being allocated. Use calloc() instead. +--- + src/effects_i_dsp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/effects_i_dsp.c b/src/effects_i_dsp.c +index a979b501..e32dfa05 100644 +--- a/src/effects_i_dsp.c ++++ b/src/effects_i_dsp.c +@@ -357,7 +357,7 @@ double * lsx_make_lpf(int num_taps, double Fc, double beta, double rho, + double scale, sox_bool dc_norm) + { + int i, m = num_taps - 1; +- double * h = malloc(num_taps * sizeof(*h)), sum = 0; ++ double * h = calloc(num_taps, sizeof(*h)), sum = 0; + double mult = scale / lsx_bessel_I_0(beta), mult1 = 1 / (.5 * m + rho); + assert(Fc >= 0 && Fc <= 1); + lsx_debug("make_lpf(n=%i Fc=%.7g β=%g ρ=%g dc-norm=%i scale=%g)", num_taps, Fc, beta, rho, dc_norm, scale); +-- +2.25.0 + diff --git a/user/sox/CVE-2019-8355.patch b/user/sox/CVE-2019-8355.patch new file mode 100644 index 000000000..d4d8cb808 --- /dev/null +++ b/user/sox/CVE-2019-8355.patch @@ -0,0 +1,59 @@ +Backport of the following: + +From ec073861aa9c0f779a3741c456e4f97d59366ffb Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Sun, 5 Nov 2017 15:40:16 +0000 +Subject: [PATCH] make: update exported symbol list [bug #266] + +From f8587e2d50dad72d40453ac1191c539ee9e50381 Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Wed, 24 Apr 2019 17:39:45 +0100 +Subject: [PATCH] fix possible overflow in lsx_(re)valloc() size calculation + (CVE-2019-8355) + +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -95,7 +95,7 @@ libsox_la_LIBADD += @GOMP_LIBS@ + + libsox_la_CFLAGS = @WARN_CFLAGS@ + libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \ +- -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$' ++ -export-symbols-regex '^(sox_.*|lsx_(([cm]|re)alloc.*|check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|error|fail_errno|filelength|find_(enum_(text|value)|file_extension)|flush|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|rewind|seeki|sigfigs3p?|strcasecmp|strdup|tell|unreadb|write(b|_b_buf|buf|s)))$$' + + if HAVE_WIN32_LTDL + libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h +--- sox-14.4.2/src/xmalloc.c 2012-01-23 16:27:33.000000000 -0600 ++++ sox-14.4.2/src/xmalloc.c 2020-03-21 13:24:52.660007611 -0500 +@@ -41,3 +41,13 @@ void *lsx_realloc(void *ptr, size_t news + + return ptr; + } ++ ++void *lsx_realloc_array(void *p, size_t n, size_t size) ++{ ++ if (n > (size_t)-1 / size) { ++ lsx_fail("malloc size overflow"); ++ exit(2); ++ } ++ ++ return lsx_realloc(p, n * size); ++} +--- sox-14.4.2/src/xmalloc.h 2012-01-23 16:27:33.000000000 -0600 ++++ sox-14.4.2/src/xmalloc.h 2020-03-21 13:24:14.610007203 -0500 +@@ -23,12 +23,14 @@ + #include <stddef.h> + #include <string.h> + ++LSX_RETURN_VALID void *lsx_realloc_array(void *p, size_t n, size_t size); ++ + #define lsx_malloc(size) lsx_realloc(NULL, (size)) + #define lsx_calloc(n,s) (((n)*(s))? memset(lsx_malloc((n)*(s)),0,(n)*(s)) : NULL) + #define lsx_Calloc(v,n) v = lsx_calloc(n,sizeof(*(v))) + #define lsx_strdup(p) ((p)? strcpy((char *)lsx_malloc(strlen(p) + 1), p) : NULL) + #define lsx_memdup(p,s) ((p)? memcpy(lsx_malloc(s), p, s) : NULL) +-#define lsx_valloc(v,n) v = lsx_malloc((n)*sizeof(*(v))) +-#define lsx_revalloc(v,n) v = lsx_realloc(v, (n)*sizeof(*(v))) ++#define lsx_valloc(v,n) v = lsx_realloc_array(NULL, n, sizeof(*(v))) ++#define lsx_revalloc(v,n) v = lsx_realloc_array(v, n, sizeof(*(v))) + + #endif diff --git a/user/sox/CVE-2019-8356.patch b/user/sox/CVE-2019-8356.patch new file mode 100644 index 000000000..9375bc5ae --- /dev/null +++ b/user/sox/CVE-2019-8356.patch @@ -0,0 +1,92 @@ +From b7883ae1398499daaa926ae6621f088f0f531ed8 Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Wed, 24 Apr 2019 16:56:42 +0100 +Subject: [PATCH] fft4g: bail if size too large (CVE-2019-8356) + +Prevent overflowing of fixed-size buffers in bitrv2() and bitrv2conj() +if the transform size is too large. +--- + src/fft4g.c | 18 ++++++++++++++++++ + src/fft4g.h | 2 ++ + 2 files changed, 20 insertions(+) + +diff --git a/src/fft4g.c b/src/fft4g.c +index 38a8bcc0..88a2a7ec 100644 +--- a/src/fft4g.c ++++ b/src/fft4g.c +@@ -322,6 +322,9 @@ static void rftfsub(int n, double *a, int nc, double const *c); + + void cdft(int n, int isgn, double *a, int *ip, double *w) + { ++ if (n > FFT4G_MAX_SIZE) ++ return; ++ + if (n > (ip[0] << 2)) { + makewt(n >> 2, ip, w); + } +@@ -344,6 +347,9 @@ void rdft(int n, int isgn, double *a, int *ip, double *w) + int nw, nc; + double xi; + ++ if (n > FFT4G_MAX_SIZE) ++ return; ++ + nw = ip[0]; + if (n > (nw << 2)) { + nw = n >> 2; +@@ -384,6 +390,9 @@ void ddct(int n, int isgn, double *a, int *ip, double *w) + int j, nw, nc; + double xr; + ++ if (n > FFT4G_MAX_SIZE) ++ return; ++ + nw = ip[0]; + if (n > (nw << 2)) { + nw = n >> 2; +@@ -435,6 +444,9 @@ void ddst(int n, int isgn, double *a, int *ip, double *w) + int j, nw, nc; + double xr; + ++ if (n > FFT4G_MAX_SIZE) ++ return; ++ + nw = ip[0]; + if (n > (nw << 2)) { + nw = n >> 2; +@@ -486,6 +498,9 @@ void dfct(int n, double *a, double *t, int *ip, double *w) + int j, k, l, m, mh, nw, nc; + double xr, xi, yr, yi; + ++ if (n > FFT4G_MAX_SIZE) ++ return; ++ + nw = ip[0]; + if (n > (nw << 3)) { + nw = n >> 3; +@@ -576,6 +591,9 @@ void dfst(int n, double *a, double *t, int *ip, double *w) + int j, k, l, m, mh, nw, nc; + double xr, xi, yr, yi; + ++ if (n > FFT4G_MAX_SIZE) ++ return; ++ + nw = ip[0]; + if (n > (nw << 3)) { + nw = n >> 3; +diff --git a/src/fft4g.h b/src/fft4g.h +index 2b8051ca..95ee3413 100644 +--- a/src/fft4g.h ++++ b/src/fft4g.h +@@ -13,6 +13,8 @@ + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#define FFT4G_MAX_SIZE 262144 ++ + void lsx_cdft(int, int, double *, int *, double *); + void lsx_rdft(int, int, double *, int *, double *); + void lsx_ddct(int, int, double *, int *, double *); +-- +2.25.0 + diff --git a/user/sox/CVE-2019-8357.patch b/user/sox/CVE-2019-8357.patch new file mode 100644 index 000000000..ec2b04d30 --- /dev/null +++ b/user/sox/CVE-2019-8357.patch @@ -0,0 +1,28 @@ +From 2ce02fea7b350de9ddfbcf542ba4dd59a8ab255b Mon Sep 17 00:00:00 2001 +From: Mans Rullgard <mans@mansr.com> +Date: Wed, 24 Apr 2019 15:08:51 +0100 +Subject: [PATCH] fix possible null pointer deref in lsx_make_lpf() + (CVE-2019-8357) + +If the buffer allocation fails, return NULL. +--- + src/effects_i_dsp.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/effects_i_dsp.c b/src/effects_i_dsp.c +index e32dfa05..88b1b390 100644 +--- a/src/effects_i_dsp.c ++++ b/src/effects_i_dsp.c +@@ -362,6 +362,9 @@ double * lsx_make_lpf(int num_taps, double Fc, double beta, double rho, + assert(Fc >= 0 && Fc <= 1); + lsx_debug("make_lpf(n=%i Fc=%.7g β=%g ρ=%g dc-norm=%i scale=%g)", num_taps, Fc, beta, rho, dc_norm, scale); + ++ if (!h) ++ return NULL; ++ + for (i = 0; i <= m / 2; ++i) { + double z = i - .5 * m, x = z * M_PI, y = z * mult1; + h[i] = x? sin(Fc * x) / x : Fc; +-- +2.25.0 + diff --git a/user/sox/sox-dynamic.patch b/user/sox/sox-dynamic.patch deleted file mode 100644 index 94ac6a282..000000000 --- a/user/sox/sox-dynamic.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur sox-14.4.2-orig/src/Makefile.am sox-14.4.2/src/Makefile.am ---- sox-14.4.2-orig/src/Makefile.am 2015-04-08 17:11:09.555343005 -0400 -+++ sox-14.4.2/src/Makefile.am 2015-04-08 17:11:25.115317153 -0400 -@@ -95,7 +95,7 @@ - - libsox_la_CFLAGS = @WARN_CFLAGS@ - libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \ -- -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$' -+ -export-symbols-regex '^(sox_.*|lsx_(error|flush|check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$' - - if HAVE_WIN32_LTDL - libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h diff --git a/user/spice-gtk/APKBUILD b/user/spice-gtk/APKBUILD index c613828bc..fb44cc0ec 100644 --- a/user/spice-gtk/APKBUILD +++ b/user/spice-gtk/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=spice-gtk -pkgver=0.37 +pkgver=0.38 pkgrel=0 pkgdesc="A GTK+ widget for SPICE clients" url="https://www.spice-space.org/" @@ -12,42 +12,45 @@ license="LGPL-2.1+ AND LGPL-2.0+ AND BSD-3-Clause AND MIT AND GPL-3.0+ AND LGPL- depends="gst-plugins-good" depends_dev="gobject-introspection-dev gtk+3.0-dev" makedepends="$depends_dev acl-dev bash cyrus-sasl-dev eudev-dev - gst-plugins-base-dev gstreamer-dev gstreamer-tools json-glib-dev - libjpeg-turbo-dev libusb-dev libxrandr-dev lz4-dev openssl-dev - opus-dev polkit-dev polkit-dev spice-protocol usbredir-dev - usbutils zlib-dev" + gst-plugins-base-dev gstreamer-dev gstreamer-tools gtk-doc + json-glib-dev libjpeg-turbo-dev libucontext-dev + libxrandr-dev lz4-dev meson openssl-dev opus-dev polkit-dev + py3-pyparsing py3-six spice-protocol + zlib-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang spicy spice-glib:glib" -source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.bz2" +source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.xz + macro.patch + " build() { + export CFLAGS="$CFLAGS -lucontext" + # Note: pulseaudio support is disabled because it's deprecated. # Audio is still supported through gstreamer. - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ + # + # USB redirection is disabled until there is reasonable belief + # that it is endian safe. + # https://gitlab.freedesktop.org/spice/spice-gtk/-/issues/120 + meson \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ - --with-gtk=3.0 \ - --with-audio=gstreamer \ - --disable-celt051 \ - --disable-werror \ - --enable-lz4 \ - --enable-opus \ - --enable-smartcard=no \ - --enable-usbredir=yes \ - --enable-polkit=yes \ - --enable-pulse=no - make + --localstatedir=/var \ + --buildtype=release \ + -Dcelt051=disabled \ + -Dpulse=disabled \ + -Dusbredir=disabled \ + . output + ninja -C output } check() { - make check + ninja -C output test } package() { - make -j1 DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" ninja -C output install } spicy() { @@ -66,4 +69,5 @@ glib() { "$subpkgdir"/usr/lib/girepository-1.0/ } -sha512sums="a0a20bc6f25337d86e57fe1fc9586c4cc84457fc8c38cdcc5a728990a69018da0fca3ab5aa63349786b5a7508c82b716c94803eefb3495cffb7df4526db2d029 spice-gtk-0.37.tar.bz2" +sha512sums="27b44ac9f0cee2737ce03bb3f47c62fc0ee2402c291c49fc56cffc4ccb63e2cab001a68ba865a6375d82cb38444408d59c68469783ee4279fa818d8682e902f3 spice-gtk-0.38.tar.xz +9bae6a1866c977d6b7e032e0fe1f8ce07ccfd8777e982453629d9dce284a6f02c68ab8b073865e3c36340e22dd2f83fbda4cabd3a5bc8a274b3a0bbf9c031ccd macro.patch" diff --git a/user/spice-gtk/macro.patch b/user/spice-gtk/macro.patch new file mode 100644 index 000000000..fc0787b93 --- /dev/null +++ b/user/spice-gtk/macro.patch @@ -0,0 +1,33 @@ +From 7363d1a0a640b6992d5967621e37c3376958d708 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio <fziglio@redhat.com> +Date: Thu, 19 Mar 2020 15:50:45 +0000 +Subject: [PATCH] channel-main: Avoid macro side effects + +In big endian system GUINT32_TO_LE macro uses the parameter +multiple time causing serial to be incremented multiple times +instead of one. +Avoid side effects using a temporary variable. + +Signed-off-by: Frediano Ziglio <fziglio@redhat.com> +Acked-by: Victor Toso <victortoso@redhat.com> +--- + src/channel-main.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/channel-main.c b/src/channel-main.c +index 0a0b9ca..d7669e8 100644 +--- a/src/channel-main.c ++++ b/src/channel-main.c +@@ -1384,7 +1384,8 @@ static void agent_clipboard_grab(SpiceMainChannel *channel, guint selection, + } + + if (test_agent_cap(channel, VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL)) { +- *(uint32_t *)grab = GUINT32_TO_LE(c->clipboard_serial[selection]++); ++ uint32_t serial = c->clipboard_serial[selection]++; ++ *(uint32_t *)grab = GUINT32_TO_LE(serial); + grab = (void *)grab + sizeof(uint32_t); + } + +-- +2.24.1 + diff --git a/user/spice-protocol/APKBUILD b/user/spice-protocol/APKBUILD index e31c8544a..1fb5b5c3c 100644 --- a/user/spice-protocol/APKBUILD +++ b/user/spice-protocol/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=spice-protocol -pkgver=0.14.0 +pkgver=0.14.1 pkgrel=0 pkgdesc="Spice protocol header files" url="https://www.spice-space.org/" @@ -28,4 +28,4 @@ package() { make pkgconfigdir=/usr/lib/pkgconfig DESTDIR="$pkgdir" install } -sha512sums="797df5f529731e9fd395b5946af2490ecf02c26982cc4a0aef24c1766887a35222f68525a996f8bc7459c2c4a25fde0c9a10c489ee6cab6eed7a68a9b5d90f76 spice-protocol-0.14.0.tar.bz2" +sha512sums="88b0e652564a1f826ee6d3c165ab05c40d13f366567db3840805f03d433d13d7f722225219c26759770d2cde33221fe6d97528521d0eb14bc069cd7ce9af8482 spice-protocol-0.14.1.tar.bz2" diff --git a/user/spice/APKBUILD b/user/spice/APKBUILD index ef57a810c..a78551cb6 100644 --- a/user/spice/APKBUILD +++ b/user/spice/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=spice -pkgver=0.14.2 +pkgver=0.14.3 pkgrel=0 pkgdesc="Solution for seamless access to virtual machines" url="https://www.spice-space.org/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1093b618ea4a7ff31944429ce2903abecfc8d20c35f2d9c8c837a6e053ee429c0115e40665542637a717869209523ac05d15cdb5e77563102d5d3915e4aaaf76 spice-0.14.2.tar.bz2" +sha512sums="9ecdc455ff25c71ac1fe6c576654b51efbfb860110bd6828065d23f7462d5c5cac772074d1a40f033386258d970b77275b2007bcfdffb23fdff2137154ea46e4 spice-0.14.3.tar.bz2" diff --git a/user/sshfs/APKBUILD b/user/sshfs/APKBUILD index c6fe305e9..d3f1ce3f0 100644 --- a/user/sshfs/APKBUILD +++ b/user/sshfs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=sshfs -pkgver=3.6.0 +pkgver=3.7.0 pkgrel=0 pkgdesc="FUSE client based on the SSH File Transfer Protocol" url="https://github.com/libfuse/sshfs" @@ -9,7 +9,7 @@ arch="all" options="!check" # Requires fuse kernel module to be loaded and local ssh server license="GPL-2.0-only AND GPL-2.0+ AND LGPL-2.1-only" depends="openssh-client" -#checkdepends="py3-pytest cmd:which" +#checkdepends="cmd:which openssh-server openssh-sftp-server py3-pytest" makedepends="fuse3-dev glib-dev meson coreutils py3-docutils" subpackages="$pkgname-doc" source="https://github.com/libfuse/$pkgname/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.xz" @@ -32,6 +32,16 @@ build() { } check() { + # This test requires a running SSH server on localhost, with the + # current user being able to login without a password. Recommended + # procedure: + # + # 1. Setup sshd - make sure sftp subsystem is enabled + # 2. Ensure current user has a SSH key configured in ~/.ssh/config and + # ~/.ssh/authorized_keys + # 3. Test `ssh localhost` + # 4. Run `abuild check` + cd "$builddir"/output python3 -m pytest test/ } @@ -40,4 +50,4 @@ package() { DESTDIR="$pkgdir" ninja -C output install } -sha512sums="fe34d7bbb76bea6aedf96b4ce7500ad6d81230cca9a43b831302159e5926797a243b7d1675d23ba101057ef247f64ad7df18a73d20578e84b9524218d9ff97bd sshfs-3.6.0.tar.xz" +sha512sums="bd8bcd45dd9a5e9686c6fb442e877ffdb592ba0d3424d5dab84a955bfafb17e8666abefba6857467833f5b285842bdadd5a9b6c9e8128ac2e564c36df79aa570 sshfs-3.7.0.tar.xz" diff --git a/user/systemsettings/APKBUILD b/user/systemsettings/APKBUILD index cd8a63c40..87c2c6793 100644 --- a/user/systemsettings/APKBUILD +++ b/user/systemsettings/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=systemsettings -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="KDE system settings configuration utility" url="https://www.kde.org/" @@ -15,7 +15,7 @@ makedepends="$depends_dev cmake extra-cmake-modules kactivities-stats-dev kiconthemes-dev kitemmodels-dev kio-dev kirigami2-dev kwindowsystem-dev kxmlgui-dev libkworkspace-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/systemsettings-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/systemsettings-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -40,4 +40,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="627d88fb0dbec4faf9637353e04ed897f0c15518964fc4b902f7825d525f258f52e171b285eb7fcea7c9fa0eb6d36444eb7bb9bf78517281fa6933f8b01c3c0b systemsettings-5.18.2.tar.xz" +sha512sums="07e3658affdf4b65967722a92906a3a017b9217ee7443e57e07d9a7a22753fdbd27840e10dfc3716bf193c155ca2fc0d916fb6320852a352b0d0dcfc07be6ae2 systemsettings-5.18.4.1.tar.xz" diff --git a/user/tcpdump/APKBUILD b/user/tcpdump/APKBUILD index f39d5c9d5..d2d2ec909 100644 --- a/user/tcpdump/APKBUILD +++ b/user/tcpdump/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=tcpdump pkgver=4.9.3 -pkgrel=0 +pkgrel=1 pkgdesc="A tool for network monitoring and data acquisition" url="http://www.tcpdump.org" arch="all" @@ -10,9 +10,7 @@ license="BSD-3-Clause" depends="" makedepends="libpcap-dev openssl-dev perl" subpackages="$pkgname-doc" -source="http://www.tcpdump.org/release/$pkgname-$pkgver.tar.gz - CVE-2018-19519.patch - " +source="http://www.tcpdump.org/release/$pkgname-$pkgver.tar.gz" # secfixes: # 4.9.2-r1: @@ -67,5 +65,4 @@ package() { rm -f "$pkgdir"/usr/sbin/tcpdump.4* } -sha512sums="3aec673f78b996a4df884b1240e5d0a26a2ca81ee7aca8a2e6d50255bb53476e008a5ced4409e278a956710d8a4d31d85bbb800c9f1aab92b0b1046b59292a22 tcpdump-4.9.3.tar.gz -eb4232e434064ec59b07840aa394cfcc05c89e817f2d4ebeb4da1dbb1c910fe1805857356d6304ebdb16e32aa6476ce90f164aabc60501b493fd5601b380af7e CVE-2018-19519.patch" +sha512sums="3aec673f78b996a4df884b1240e5d0a26a2ca81ee7aca8a2e6d50255bb53476e008a5ced4409e278a956710d8a4d31d85bbb800c9f1aab92b0b1046b59292a22 tcpdump-4.9.3.tar.gz" diff --git a/user/tcpdump/CVE-2018-19519.patch b/user/tcpdump/CVE-2018-19519.patch deleted file mode 100644 index ac3293927..000000000 --- a/user/tcpdump/CVE-2018-19519.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- tcpdump-4.9.2/print-hncp.c.old 2017-09-03 23:17:14.000000000 +0000 -+++ tcpdump-4.9.2/print-hncp.c 2018-12-07 19:31:24.360000000 +0000 -@@ -228,6 +228,7 @@ - snprintf(buf, sizeof(buf), "%s/%d", ipaddr_string(ndo, &addr), plen); - plenbytes += 1 + IPV4_MAPPED_HEADING_LEN; - } else { -+ buf[0] = '\0'; - plenbytes = decode_prefix6(ndo, prefix, max_length, buf, sizeof(buf)); - } - diff --git a/user/telegram/APKBUILD b/user/telegram/APKBUILD index 994ed5559..46cc4a9c1 100644 --- a/user/telegram/APKBUILD +++ b/user/telegram/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=telegram -pkgver=1.9.19 +pkgver=2.0.1 pkgrel=0 pkgdesc="Telegram messaging app" url="https://telegram.org/" @@ -59,5 +59,5 @@ package() { done } -sha512sums="29070c6e1d813943d5062dc1703f383a18323b5698fbc4e6f2c89b33366da9da5d1ec84dc29950288e7e7d112024de2924244ec9c800d59d4b210e6288c7291d tdesktop-1.9.19-full.tar.gz +sha512sums="99cd7c5ca1e9dd75ecd98d272522b0e4aab2d46525e3d0c306503b7a00c9d25c1646e9d7462182682a58947c7435864af805a3b6f85906d8b21e5675cc8383cb tdesktop-2.0.1-full.tar.gz c478bd59187493d60172d805ca19e9e09fa2c81b87d5dbbd5f3cd9aae0f207b463d127e06f2053f7b7b6ac00b3191d59e36ec6c5453a1da4d6535d1caad27242 endian.patch" diff --git a/user/thunar/APKBUILD b/user/thunar/APKBUILD index 82e464ee1..fd25092a2 100644 --- a/user/thunar/APKBUILD +++ b/user/thunar/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=thunar -pkgver=1.8.12 +pkgver=1.8.14 pkgrel=0 pkgdesc="File manager for the XFCE desktop environment" url="https://xfce.org" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="cd27b26796602ea8623c368cd6c8bb53136c09e4a02c37775bed9918c801741e0adb5784151fbf4b93785967a637ffb8b1214b0721f9457de683ebd7718a8767 thunar-1.8.12.tar.bz2" +sha512sums="ce6da526e6378ffc90686f6ae25e56109e8af7d0c592345aca3de4603f4c5b3d089255bc313f2a60ee454cc3f0af52106584663c72ecd542a9c92769559c6787 thunar-1.8.14.tar.bz2" diff --git a/user/thunderbird/APKBUILD b/user/thunderbird/APKBUILD index 5cb1c2099..fc2887d63 100644 --- a/user/thunderbird/APKBUILD +++ b/user/thunderbird/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=thunderbird -pkgver=68.5.0 +pkgver=68.9.0 pkgrel=0 pkgdesc="Email client from Mozilla" url="https://www.thunderbird.net/" @@ -13,7 +13,7 @@ depends="" # system-libs # actual deps makedepends=" - autoconf2.13 cargo cbindgen clang llvm8-dev node ncurses-dev + autoconf2.13 cargo cbindgen clang llvm8-dev node ncurses-dev perl rust cmd:which ncurses-dev openssl-dev @@ -36,7 +36,6 @@ source="https://archive.mozilla.org/pub/thunderbird/releases/$pkgver/source/thun fix-mutex-build.patch fix-seccomp-bpf.patch mozilla-build-arm.patch - rust-config.patch shut-up-warning.patch skia-sucks1.patch skia-sucks2.patch @@ -55,6 +54,28 @@ somask="liblgpllibs.so _mozappdir=/usr/lib/thunderbird ldpath="$_mozappdir" +# secfixes: +# 68.6.0-r0: +# - CVE-2019-20503 +# - CVE-2020-6805 +# - CVE-2020-6806 +# - CVE-2020-6807 +# - CVE-2020-6811 +# - CVE-2020-6812 +# - CVE-2020-6814 +# 68.7.0-r0: +# - CVE-2020-6819 +# - CVE-2020-6820 +# - CVE-2020-6821 +# - CVE-2020-6822 +# - CVE-2020-6825 +# 68.9.0-r0: +# - CVE-2020-6831 +# - CVE-2020-12387 +# - CVE-2020-12392 +# - CVE-2020-12395 +# - CVE-2020-12397 + unpack() { default_unpack [ -z $SKIP_PYTHON ] || return 0 @@ -148,7 +169,7 @@ package() { ${pkgdir}/usr/share/applications/thunderbird.desktop } -sha512sums="bb58a398f24d89eac5b1816f9d16edadbe65cdac6542e1f6798424c7ea18eb2d4ca46bb03f54c8c365e67d1dec44d3dfb36fbe4f85afe9ad80fbcc1f2984084b thunderbird-68.5.0.source.tar.xz +sha512sums="891472c95ba6ff46061131504e89010da512a84b0e1dea0482e603fd4c87f11e099280a245c7dd9fc9320c48229c26602565c089d86f1a1f4271b29b6fc606f0 thunderbird-68.9.0.source.tar.xz 16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 Python-2.7.16.tar.xz 5519234df2934ac2f3d76c8cad7e4f0fe15cf83ea4beb32c6489d8b7839b3ebea88bdb342e0d2a9c1c7c95e9455d234b0a5aa0e73446fd8027b520f080a2bb5b mozconfig ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch @@ -156,7 +177,6 @@ ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53 c0b2bf43206c2a5154e560ef30189a1062ae856861b39f52ce69002390ff9972d43e387bfd2bf8d2ab3cac621987bc042c8c0a8b4cf90ae05717ca7705271880 fix-mutex-build.patch 70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch -45613d476e85fe333ef8091acce4806803953c1a99de4f03ff577cf20c5a1a3d635d0589e1490da104ef80721f4f1b1d35045af3c6892c1a468fa84095f27ad8 rust-config.patch 39ddb15d1453a8412275c36fc8db3befc69dffd4a362e932d280fb7fd1190db595a2af9b468ee49e0714f5e9df6e48eb5794122a64fa9f30d689de8693acbb15 shut-up-warning.patch e751ffab263f03d4c74feebc617e3af115b1b53cf54fe16c3acc585eec67773f37aa8de4c19599fa6478179b01439025112ef2b759aa9923c9900e7081cb65a9 skia-sucks1.patch 9152bd3e6dc446337e6a2ed602279c620aedecc796ba28e777854c4f41fcf3067f9ebd086a4b63a6b76c2e69ec599ac6435b8eeda4f7488b1c45f69113facba4 skia-sucks2.patch diff --git a/user/thunderbird/rust-config.patch b/user/thunderbird/rust-config.patch deleted file mode 100644 index eab72a0e4..000000000 --- a/user/thunderbird/rust-config.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -urw firefox-68.0-old/build/moz.configure/rust.configure firefox-68.0/build/moz.configure/rust.configure ---- firefox-68.0-old/build/moz.configure/rust.configure 2019-07-07 15:56:29.345963800 +0000 -+++ firefox-68.0/build/moz.configure/rust.configure 2019-07-07 16:19:25.990645334 +0000 -@@ -193,12 +193,16 @@ - ambiguous = set() - per_raw_os = {} - for t in out: -+ if 'fuchsia' in t: continue - t = split_triplet(t, allow_unknown=True) - endianness = t.endianness - if t.cpu.startswith('thumb') and endianness not in ('big', 'little'): - endianness = 'little' - key = (t.cpu, endianness, t.os) - if key in per_os: -+ # hax to allow Adélie toolchains to work -+ if 'foxkit' in per_os[key].alias: -+ continue - previous = per_os[key] - per_raw_os[(previous.cpu, previous.endianness, - previous.raw_os)] = previous diff --git a/user/tinycdb/APKBUILD b/user/tinycdb/APKBUILD new file mode 100644 index 000000000..434e4273e --- /dev/null +++ b/user/tinycdb/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Alyx Wolcott <alyx@leuhta.com> +# Maintainer: Alyx Wolcott <alyx@leuhta.com> +pkgname=tinycdb +pkgver=0.78 +pkgrel=0 +pkgdesc="A constant database" +url="https://www.corpit.ru/mjt/tinycdb.html" +arch="all" +license="Public-Domain" +subpackages="$pkgname-dev $pkgname-doc" +source="https://www.corpit.ru/mjt/tinycdb/$pkgname-$pkgver.tar.gz + Makefile.patch" + +build() { + make prefix=/usr sysconfdir=/etc mandir=/usr/share/man localstatedir=/var +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} +sha512sums="8930086b8e7fddcd4dbd3354c5f5ee05171df68fde1cc222b6c402430042b6e761efbad7e5fa8de18e1d36390f1526cc3e605c5086fe1c363ba1df6c03201553 tinycdb-0.78.tar.gz +199774ee259bd6ba91ec000485c959e9632f2766203c479ffb81144d4cec39b25a1df9e9b3b676217044e2d65275ef80fbc1fd97272bce7a91fe0c1232a5dc40 Makefile.patch" diff --git a/user/tinycdb/Makefile.patch b/user/tinycdb/Makefile.patch new file mode 100644 index 000000000..27d32dff6 --- /dev/null +++ b/user/tinycdb/Makefile.patch @@ -0,0 +1,19 @@ +--- a/Makefile 2012-05-11 14:17:47.000000000 +0000 ++++ b/Makefile 2020-02-25 05:56:34.969771664 +0000 +@@ -6,14 +6,14 @@ + + VERSION = 0.78 + +-prefix=/usr/local ++prefix=/usr + exec_prefix=$(prefix) + bindir=$(exec_prefix)/bin + libdir=$(exec_prefix)/lib + syslibdir=$(libdir) + sysconfdir=/etc + includedir=$(prefix)/include +-mandir=$(prefix)/man ++mandir=$(prefix)/share/man + NSSCDB_DIR = $(sysconfdir) + DESTDIR= + diff --git a/user/tlp/APKBUILD b/user/tlp/APKBUILD index 40613efd9..ca7208b5e 100644 --- a/user/tlp/APKBUILD +++ b/user/tlp/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=tlp _pkgname=TLP -pkgver=1.2.2 +pkgver=1.3.1 pkgrel=0 pkgdesc="Linux Advanced Power Management" url="https://linrunner.de/en/tlp/tlp.html" @@ -13,6 +13,7 @@ depends="/bin/sh perl" makedepends="" subpackages="$pkgname-doc $pkgname-rdw $pkgname-bash-completion:bashcomp $pkgname-openrc" +install="$pkgname.post-upgrade" source="$pkgname-$pkgver.tar.gz::https://github.com/linrunner/$_pkgname/archive/$pkgver.tar.gz $pkgname.initd" builddir="$srcdir/$_pkgname-$pkgver" @@ -48,5 +49,5 @@ bashcomp() { "$subpkgdir"/usr/share/bash-completion/completions } -sha512sums="b01fc2063bf8a87f2b93749c08a5cab53a0a4030b74c7fe62964009fb9d54ca5dc10800971f27cfe6dcdf024ba6d3e21a06caed07e8dc12b09d9d359585a480e tlp-1.2.2.tar.gz +sha512sums="7ebb14ea797ad8aae613c537de51107a3c7430b5c6ee1407e722e2069ed5376f88ab3dac613651fafabd92d219b980452f236bef33e8a655b1abbfed5eded1b1 tlp-1.3.1.tar.gz e6de216b2540413812711b3304cdc29c8729d527080cfd747ba382db50166dd21c6c27ff467f9f2a967e92007c7a311b00e88262952c34a22f417578c66cf4e7 tlp.initd" diff --git a/user/tlp/tlp.post-upgrade b/user/tlp/tlp.post-upgrade new file mode 100644 index 000000000..6adf68850 --- /dev/null +++ b/user/tlp/tlp.post-upgrade @@ -0,0 +1,14 @@ +#!/bin/sh +ver_new="$1" +ver_old="$2" + +if [ "$(apk version -t "$ver_old" "1.3.1")" = "<" ]; then + cat >&2 <<-EOF + * + * tlp has moved its configuration from '/etc/default/tlp' + * to '/etc/tlp.conf' and '/etc/tlp.d'. Additionally, + * these configuration files are now parsed instead of + * executed via the shell, so expansions will no longer work. + * + EOF +fi diff --git a/user/user-manager/APKBUILD b/user/user-manager/APKBUILD index 05f41f09e..f8b5b947c 100644 --- a/user/user-manager/APKBUILD +++ b/user/user-manager/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=user-manager -pkgver=5.18.2 +pkgver=5.18.4.1 pkgrel=0 pkgdesc="Manage user accounts from KDE" url="https://www.KDE.org/" @@ -12,7 +12,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kauth-dev kcmutils-dev kconfig-dev kconfigwidgets-dev kcoreaddons-dev ki18n-dev kiconthemes-dev kio-dev kwidgetsaddons-dev libpwquality-dev" subpackages="$pkgname-lang" -source="https://download.kde.org/stable/plasma/$pkgver/user-manager-$pkgver.tar.xz" +source="https://download.kde.org/stable/plasma/${pkgver%.*}/user-manager-$pkgver.tar.xz" build() { if [ "$CBUILD" != "$CHOST" ]; then @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="86d90ea0607cff32146c123468547e92d4c3bba8c5c088c232de944a07091768f27017d182d8791b5d7d69c8af359d7093fd54bedb536346d11168eafdbe4925 user-manager-5.18.2.tar.xz" +sha512sums="fc05602587bfcd8df80bd7bd96de8160e60389aa9e829ad4666706ca5a61ae4f9e282de4fdc42f5245e51ae2ed877053379c6047f7cab7590c56cb02bcde836d user-manager-5.18.4.1.tar.xz" diff --git a/user/uwsgi/APKBUILD b/user/uwsgi/APKBUILD index c009e1ff2..a8f216aa3 100644 --- a/user/uwsgi/APKBUILD +++ b/user/uwsgi/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=uwsgi pkgver=2.0.18 -pkgrel=0 +pkgrel=2 pkgdesc="Web application server" url="https://projects.unbit.it/uwsgi" arch="all" diff --git a/user/vala/APKBUILD b/user/vala/APKBUILD index 70bd3ff2a..78b7a4e36 100644 --- a/user/vala/APKBUILD +++ b/user/vala/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=vala -pkgver=0.46.6 +pkgver=0.48.3 pkgrel=0 pkgdesc="Compiler for the Vala programming language" url="https://wiki.gnome.org/Projects/Vala" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ab24c3ad37af62e38289fd085a33f72e178e0b58c1f24c27c58c1010270a4b0e5cb4cc510b6147c51e5796a7ae63aed3a4ac219b24ff985f2546e25c9ad48992 vala-0.46.6.tar.xz" +sha512sums="e73eade8b0cfa312d896c81b76e045bc9b8b71bd89298c0f8d78b2f596eebf64dc0eea8d1e266b2c17a774105560ed47590fbe00d65b1fda8db6823ac3ba4bb4 vala-0.48.3.tar.xz" diff --git a/user/vte/APKBUILD b/user/vte/APKBUILD index 708f7336e..d55cd91b5 100644 --- a/user/vte/APKBUILD +++ b/user/vte/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=vte -pkgver=0.58.3 +pkgver=0.60.1 pkgrel=0 pkgdesc="Virtual terminal emulator library for Gnome" url="https://www.gnome.org" @@ -15,7 +15,7 @@ source="https://download.gnome.org/sources/vte/${pkgver%.*}/vte-$pkgver.tar.xz " build() { - meson -Dprefix=/usr build + meson -Dprefix=/usr -D_systemd=false build ninja -C build } @@ -27,5 +27,5 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="b0a38eb1cd7d923b0431af943dbdb89932833f9a2b0b8fc1fa9ee728c87418c1f5a424b2ccee661721093a80c569f3b41c721b0ba2302ba0c3a42d4c5e31aa9a vte-0.58.3.tar.xz +sha512sums="123a8fcc14f4dba450411f95f43eb60108fee95c328d0e7331c9366d96ba2caa548dece3e95a8b779dda19d322d6879d02abc6ac68e36450e4e72f17a0963c30 vte-0.60.1.tar.xz 4987254439a136f66a7b7be1300f5efbf85db74bdb64fdd8d0c9a555173a172b4fd519174f932e73d58a2618ef37273e82fe681bb129891f2792a414025f6c61 exitcode.patch" diff --git a/user/wavpack/APKBUILD b/user/wavpack/APKBUILD index 45b2f7895..43aefeb03 100644 --- a/user/wavpack/APKBUILD +++ b/user/wavpack/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: pkgname=wavpack pkgver=5.2.0 -pkgrel=0 +pkgrel=1 pkgdesc="Audio compression format with lossless, lossy, and hybrid compression modes" url="http://www.wavpack.com/" arch="all" @@ -12,19 +12,30 @@ license="BSD-3-Clause" depends="" makedepends="" subpackages="$pkgname-dev $pkgname-doc" -source="http://www.wavpack.com/$pkgname-$pkgver.tar.bz2 - cve2018-19840.patch - " +source="http://www.wavpack.com/$pkgname-$pkgver.tar.bz2" # secfixes: +# 5.2.0-r0: +# - CVE-2018-6767 +# - CVE-2018-7253 +# - CVE-2018-7254 +# - CVE-2018-10536 +# - CVE-2018-10537 +# - CVE-2018-10538 +# - CVE-2018-10539 +# - CVE-2018-10540 +# - CVE-2019-11498 +# - CVE-2019-1010315 +# - CVE-2019-1010317 +# - CVE-2019-1010319 # 5.1.0-r4: -# - CVE-2018-19840 -# - CVE-2018-19840 +# - CVE-2018-19840 +# - CVE-2018-19841 # 5.1.0-r0: -# - CVE-2016-10169 -# - CVE-2016-10170 -# - CVE-2016-10171 -# - CVE-2016-10172 +# - CVE-2016-10169 +# - CVE-2016-10170 +# - CVE-2016-10171 +# - CVE-2016-10172 build() { _arch_opts="" @@ -48,5 +59,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="456da78fb5d01b33a8ed71b43cb6809a25ca0d54e53858b93bbb3eb26923bfa6de4c6a3c01caca947c0852aea74d1b14667205dae344148a01619e67eb2c7e71 wavpack-5.2.0.tar.bz2 -67d02dd744c638d126cf5a894d1ff2c39726bd4d3771ef7410ea782e5c9a0f9341909432bd4bea9b8959891c38699601c1aac2da6e0eaddaa5a4d679e7f58dd2 cve2018-19840.patch" +sha512sums="456da78fb5d01b33a8ed71b43cb6809a25ca0d54e53858b93bbb3eb26923bfa6de4c6a3c01caca947c0852aea74d1b14667205dae344148a01619e67eb2c7e71 wavpack-5.2.0.tar.bz2" diff --git a/user/wavpack/cve2018-19840.patch b/user/wavpack/cve2018-19840.patch deleted file mode 100644 index 2da022025..000000000 --- a/user/wavpack/cve2018-19840.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 070ef6f138956d9ea9612e69586152339dbefe51 Mon Sep 17 00:00:00 2001 -From: David Bryant <david@wavpack.com> -Date: Thu, 29 Nov 2018 21:00:42 -0800 -Subject: [PATCH] issue #53: error out on zero sample rate - ---- - src/pack_utils.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/pack_utils.c b/src/pack_utils.c -index 2253f0d..2a83497 100644 ---- a/src/pack_utils.c -+++ b/src/pack_utils.c -@@ -195,6 +195,11 @@ int WavpackSetConfiguration64 (WavpackContext *wpc, WavpackConfig *config, int64 - int num_chans = config->num_channels; - int i; - -+ if (!config->sample_rate) { -+ strcpy (wpc->error_message, "sample rate cannot be zero!"); -+ return FALSE; -+ } -+ - wpc->stream_version = (config->flags & CONFIG_COMPATIBLE_WRITE) ? CUR_STREAM_VERS : MAX_STREAM_VERS; - - if ((config->qmode & QMODE_DSD_AUDIO) && config->bytes_per_sample == 1 && config->bits_per_sample == 8) { diff --git a/user/weechat/APKBUILD b/user/weechat/APKBUILD index dfa1a3277..357476211 100644 --- a/user/weechat/APKBUILD +++ b/user/weechat/APKBUILD @@ -2,7 +2,7 @@ # Contributor: zlg <zlg+adelie@zlg.space> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=weechat -pkgver=2.7.1 +pkgver=2.8 pkgrel=0 pkgdesc="Fast, light, extensible ncurses-based chat client" url="https://www.weechat.org" @@ -49,8 +49,8 @@ package() { } _plugin() { - local _name="${subpkgname#*-}" - local _dir=usr/lib/weechat/plugins + _name="${subpkgname#*-}" + _dir=usr/lib/weechat/plugins pkgdesc="WeeChat $_name plugin" depends="weechat" if [ "$_name" = spell ]; then @@ -61,4 +61,4 @@ _plugin() { mv "$pkgdir"/$_dir/${_name}.so "$subpkgdir"/$_dir } -sha512sums="2d2f555a4c48dbfa60a97845657e041fcd37bdde01974b4a49ff2d0ef6b92f16147f84b0e60772e9f54ba3e05ae1772012d3551a5fbb8bdf8332a08ef63a352d weechat-2.7.1.tar.gz" +sha512sums="3071fc6c5d88d4e388fc22f23242cf264b9533b389668914fc25e71e9939b739ba63a4e182445222ed0a7470dc0b1d958828b56d2c82ac47e9dfce6513c70d80 weechat-2.8.tar.gz" diff --git a/user/wireguard-module/APKBUILD b/user/wireguard-module/APKBUILD index 4088a7817..3ac5683cf 100644 --- a/user/wireguard-module/APKBUILD +++ b/user/wireguard-module/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Luis Ressel <aranea@aixah.de> -# Maintainer: Luis Ressel <aranea@aixah.de> +# Maintainer: Laurent Bercot <ska-adelie@skarnet.org> _kver="5.4.5-mc0" -pkgver=0.0.20200121 +pkgver=1.0.20200506 pkgrel=0 _pkgname="wireguard-module" pkgname="$_pkgname-$_kver" @@ -39,4 +39,4 @@ _patch() { "$builddir"/kernel-tree-scripts/create-patch.sh > "$subpkgdir/usr/share/wireguard/wireguard-$pkgver.patch" } -sha512sums="fde9ef09032ad2e2ce69814d42cc0abb3b353d5aa95debd39122b3eb25324c8e707dd9f298f8ee276575d932b1f1bd559b3430da6b8c0a5057911937ed85c726 wireguard-linux-compat-0.0.20200121.tar.xz" +sha512sums="39a27a515919933dbed71624be3f8f3f512073b522e1e16248c9eda749dd72a3db5a02d85d29855160eb182415f489a4c02c1659ef9589507c99dbfe74ea3074 wireguard-linux-compat-1.0.20200506.tar.xz" diff --git a/user/wireguard-tools/APKBUILD b/user/wireguard-tools/APKBUILD index 5b41e185c..219a91836 100644 --- a/user/wireguard-tools/APKBUILD +++ b/user/wireguard-tools/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Luis Ressel <aranea@aixah.de> -# Maintainer: Luis Ressel <aranea@aixah.de> +# Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=wireguard-tools -pkgver=1.0.20200121 +pkgver=1.0.20200513 pkgrel=0 pkgdesc="Userland tools for the WireGuard VPN" url="https://www.wireguard.com/" @@ -29,4 +29,4 @@ bashcomp() { mv "$pkgdir/usr/share/bash-completion" "$subpkgdir/usr/share/" } -sha512sums="cd22467916c59ab53440e072fee6d0b01f2f9ee06fc3b71de4e74bc3aab05caf25519e5f723d9d160c491f917b7f064ee6b491c74edb52d7d2c29a08d86e41c2 wireguard-tools-1.0.20200121.tar.xz" +sha512sums="4d27b262350b6b47843a323c2e7ab8d2bdd48065c265778abdec85b3f6fc92aa9af77d76e368df9cc8e435eae1c0ce50fed52e1d78db54358c1884d34be08d2c wireguard-tools-1.0.20200513.tar.xz" diff --git a/user/xfburn/APKBUILD b/user/xfburn/APKBUILD index 66e869a55..1a5adc93a 100644 --- a/user/xfburn/APKBUILD +++ b/user/xfburn/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfburn -pkgver=0.6.1 +pkgver=0.6.2 pkgrel=0 pkgdesc="CD burning utility for the XFCE desktop environment" url="https://xfce.org" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8ea747ab248a20e835082bbb89e09c3e4746201a1da956bc87a2eef5359d1508e5461c7d8a35327aa2261fb7cac576e8521596f83011bc2240b2fbebde60b9c2 xfburn-0.6.1.tar.bz2" +sha512sums="c74d21244b5029aaa72c4911ea7549458aea161623a6a020a165b8148f320053a83189de87f71192f006579ca435558d0c07e1a8aa4165db8cfb30581f8882b4 xfburn-0.6.2.tar.bz2" diff --git a/user/xfce4-clipman-plugin/APKBUILD b/user/xfce4-clipman-plugin/APKBUILD index 1e1e5649d..45c7b33fd 100644 --- a/user/xfce4-clipman-plugin/APKBUILD +++ b/user/xfce4-clipman-plugin/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfce4-clipman-plugin -pkgver=1.4.3 -pkgrel=1 +pkgver=1.6.1 +pkgrel=0 pkgdesc="Clipboard management plugin for the XFCE panel" url="https://xfce.org" arch="all" @@ -10,7 +10,7 @@ license="GPL-2.0+" depends="" makedepends="intltool libxfce4ui-dev xfce4-panel-dev libqrencode-dev" subpackages="$pkgname-lang" -source="https://archive.xfce.org/src/panel-plugins/xfce4-clipman-plugin/1.4/xfce4-clipman-plugin-$pkgver.tar.bz2" +source="https://archive.xfce.org/src/panel-plugins/xfce4-clipman-plugin/${pkgver%.*}/xfce4-clipman-plugin-$pkgver.tar.bz2" build() { LIBS="-lintl" ./configure \ @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="28bc8e2be8dd3eac13a7988b68933ce84dd8cc756f0a19636cd5850d6e36714a73ad9650a28ebfc54d9ad3adb23c242abf89806124b4e00fe7d1701be1b52414 xfce4-clipman-plugin-1.4.3.tar.bz2" +sha512sums="2a2aa5d7b5d841b11c6d54d4872fc8cbfb83981b2d4678075ff5aa2a4df9ea88de95b837bf3896d7ce5f434827ebb64238e68cca2e17a7104433ed5847d949dd xfce4-clipman-plugin-1.6.1.tar.bz2" diff --git a/user/xfce4-panel/APKBUILD b/user/xfce4-panel/APKBUILD index 043044ffe..09b83244e 100644 --- a/user/xfce4-panel/APKBUILD +++ b/user/xfce4-panel/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfce4-panel -pkgver=4.14.1 +pkgver=4.14.3 pkgrel=0 pkgdesc="Panel for the XFCE desktop environment" url="https://xfce.org" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1c86362489677f2e04cf3b98dbc1a80b4998335c00a47d256e741446f00437ad04539041648848eca1f45fa1fa70974ca6cf65cb7f762a79a46c16484557e400 xfce4-panel-4.14.1.tar.bz2" +sha512sums="c317741df1196a9f8d675c87732155f973022d1cb30a8815393980747d1569e8348c386253fc9056068c35fbdc13faefb4a0bef6678d072d51461c4aae909940 xfce4-panel-4.14.3.tar.bz2" diff --git a/user/xfce4-power-manager/APKBUILD b/user/xfce4-power-manager/APKBUILD index ab652e8c1..0592f060e 100644 --- a/user/xfce4-power-manager/APKBUILD +++ b/user/xfce4-power-manager/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfce4-power-manager -pkgver=1.6.5 +pkgver=1.6.6 pkgrel=0 pkgdesc="Power management support for the XFCE desktop environment" url="https://xfce.org" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ebcf9ba7431518fdafa74f49511200e16093c34f78516e823a2f7ac02a085a08377efe5f9c6fe285f3d1e2de253789404e01b34a48e3f5ff23c2c143b2801207 xfce4-power-manager-1.6.5.tar.bz2" +sha512sums="c9377619df9ebab64ed234659e5798f47448e26fae5b19eb15bcbc9416df1afec6b4de32bc272b81531d2643a215ea46892523077017dc6b232bfe802dba6cd9 xfce4-power-manager-1.6.6.tar.bz2" diff --git a/user/xfce4-pulseaudio-plugin/APKBUILD b/user/xfce4-pulseaudio-plugin/APKBUILD index 96588826c..e5382749e 100644 --- a/user/xfce4-pulseaudio-plugin/APKBUILD +++ b/user/xfce4-pulseaudio-plugin/APKBUILD @@ -1,14 +1,14 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfce4-pulseaudio-plugin -pkgver=0.4.2 +pkgver=0.4.3 pkgrel=0 pkgdesc="Pulseaudio plugin for the XFCE panel" url="https://xfce.org" arch="all" license="GPL-2.0+" depends="" -makedepends="intltool libxfce4ui-dev xfce4-panel-dev pulseaudio-dev +makedepends="exo-dev intltool libxfce4ui-dev xfce4-panel-dev pulseaudio-dev keybinder-3.0-dev libnotify-dev dbus-glib-dev" subpackages="$pkgname-lang" source="https://archive.xfce.org/src/panel-plugins/$pkgname/0.4/$pkgname-$pkgver.tar.bz2" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="94184fe7379a7f1763d606fe3c45186767a43180329b43c8cba04b76ae5e1b2249531fc1fb6304da9bb03e7475ad65f861341253ead530d9a945165b4eb9e46e xfce4-pulseaudio-plugin-0.4.2.tar.bz2" +sha512sums="d3214b2b7c35a0a87ea60a5d843f5027d1b09f320d4d24c6bf89a8936de92226223cb4dc5368edf4c0a1aedb3b8796510981eeadee8e836e764569d9284f0efa xfce4-pulseaudio-plugin-0.4.3.tar.bz2" diff --git a/user/xfce4-session/APKBUILD b/user/xfce4-session/APKBUILD index b161b8b8b..487b737f7 100644 --- a/user/xfce4-session/APKBUILD +++ b/user/xfce4-session/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfce4-session -pkgver=4.14.1 +pkgver=4.14.2 pkgrel=0 pkgdesc="Session management for the XFCE desktop environment" url="https://xfce.org" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="af797e33145311015ca6444b929d82c4e321f76defe773aba723d0a373f894399216e043b45e0669dd1c9aa1ad3cd2dcfd422352fd2381b7425bb310be66c92b xfce4-session-4.14.1.tar.bz2" +sha512sums="ab67cb576ac4880f41cf8eec05539a733da066c50913c9c2c9116ed3129b342aa3ca005ea5b46a733780cd062a4454d530240d89660b6c48a2045c821f7c490f xfce4-session-4.14.2.tar.bz2" diff --git a/user/xfce4-settings/APKBUILD b/user/xfce4-settings/APKBUILD index 2ac50d1a7..b429b9c43 100644 --- a/user/xfce4-settings/APKBUILD +++ b/user/xfce4-settings/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfce4-settings -pkgver=4.14.1 +pkgver=4.14.2 pkgrel=0 pkgdesc="GUI settings application for the XFCE desktop environment" url="https://xfce.org" @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d854ca93199ce99d63e83ad38d654b86d883ebef5fb62a5c444f08b481df8f29a7ff27c60053c071e887be8d7ea0c51e9691a6209ca515a4e396e2c7405593b5 xfce4-settings-4.14.1.tar.bz2" +sha512sums="5882e96504e2ad869504e7c8e6e62d1d04f61beef524ba85a3ed962ca689d6e72a4ed717173f9e2645c078c2c8757caed1f3395dd185a3b0b5dc8b27a1a3d2d1 xfce4-settings-4.14.2.tar.bz2" diff --git a/user/xfce4-terminal/APKBUILD b/user/xfce4-terminal/APKBUILD index 9b63b7d46..4abf09aa7 100644 --- a/user/xfce4-terminal/APKBUILD +++ b/user/xfce4-terminal/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfce4-terminal -pkgver=0.8.9.1 +pkgver=0.8.9.2 pkgrel=0 pkgdesc="Terminal for the XFCE desktop environment" url="https://xfce.org" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c1a68300604d1db205ac52b51dfea38031dfd92b31f7530705ac6bc875c9b4f9819bdf05bca23cbfddd87f7899488ee4dab4c897ceb96efc41a44acfc298ed22 xfce4-terminal-0.8.9.1.tar.bz2" +sha512sums="1402d913bcc0c050b6c83405c754cdec71cf9bb56e2e68e4396d7ce48bec6e1b0cc875ea3ea2f7a0dff8280d306519fd74a8f9d9ebca383a8f295991cb9ddd94 xfce4-terminal-0.8.9.2.tar.bz2" diff --git a/user/xfce4-whiskermenu-plugin/APKBUILD b/user/xfce4-whiskermenu-plugin/APKBUILD index 6f69cea32..7800f5703 100644 --- a/user/xfce4-whiskermenu-plugin/APKBUILD +++ b/user/xfce4-whiskermenu-plugin/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xfce4-whiskermenu-plugin -pkgver=2.4.1 +pkgver=2.4.3 _pkgmaj=${pkgver%.*} pkgrel=0 pkgdesc="Whisker menu plugin for the XFCE panel" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="090987e78cef1b13944a792eb8584a25f25aaf6777263240dbd3d58beeee363321a7e3ff9e2983d3ffebfa18e8037e5ef75eb82b24815a559eeb8efd984a2dfc xfce4-whiskermenu-plugin-2.4.1.tar.bz2" +sha512sums="378f9b1a5ef4ffab079090aeb10b2e571918aadf7dddb051dc30288b325d3f1e6621fe9c2d3db5815b706d63361d77616124a543d0c96e0d1cc06407152e9f32 xfce4-whiskermenu-plugin-2.4.3.tar.bz2" diff --git a/user/xorg-server/APKBUILD b/user/xorg-server/APKBUILD index c4b5755fc..96e5a53bb 100644 --- a/user/xorg-server/APKBUILD +++ b/user/xorg-server/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Łukasz Jendrysik <scadu@yandex.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xorg-server -pkgver=1.20.7 +pkgver=1.20.8 pkgrel=0 pkgdesc="X.Org X11 server" url="https://www.X.Org/" @@ -134,6 +134,6 @@ xwayland() { mv "$pkgdir"/usr/bin/Xwayland "$subpkgdir"/usr/bin/ } -sha512sums="c67612e379111c28c68941c0a660abf72be7669591b41ccaa3b3474c4540a03822a28d892831b12ce08bac6e5e7e33504c2d19ef2a0c2298f83bd083459f96f5 xorg-server-1.20.7.tar.bz2 +sha512sums="ab0ec0fcbf490c61558b9297f61b58fd2dedb676c78bef6431dc9166054743b43a0091b88a8b3f4e81d1f539909440ee7e188a298cefabe13ea89159639cd805 xorg-server-1.20.8.tar.bz2 d77151bc51766e1230a121c008ac1d0695275bf889b1db4b3330c1f8ee720b0e046cc935fa14aaef40b02fdea508e84e53959b560131ace14ace14943c8eb734 autoconfig-sis.patch a5f910e72ff9abd4e4a0c6806cdbe48d1b0b6cc0586f36568da5864a8dedc46a3112fe86d7a1969033f4d5b0def4dc6e5c11b656fbcc964732b417e6c9577f22 fix-musl-arm.patch" diff --git a/user/xscreensaver/APKBUILD b/user/xscreensaver/APKBUILD index 047d4eef8..4eaad7171 100644 --- a/user/xscreensaver/APKBUILD +++ b/user/xscreensaver/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <adelie@aerdan.vulpine.house> # Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house> pkgname=xscreensaver -pkgver=5.43 +pkgver=5.44 pkgrel=0 pkgdesc="X Screensaver suite" url="https://www.jwz.org/xscreensaver/" @@ -30,4 +30,4 @@ package() { make install_prefix="$pkgdir" install } -sha512sums="7ccaf30fb05ae2110f742f1a5c99f83cd4c8e6749124066b5a418cf3e0ba1b8ff09858eeec29c11b0c8ea428b95b2916481c50cee6a5d952ec941b3ad1b6adcd xscreensaver-5.43.tar.gz" +sha512sums="9d9144dec6f075c2d6a1c3cd45123a98d6d0cd732d6c3e3389e97b3f802b8f8765a188d1e35f97f123ca0a64661ea616b7b710577063c311da3d99d8439f1dae xscreensaver-5.44.tar.gz" diff --git a/user/xxhash/APKBUILD b/user/xxhash/APKBUILD index 91c74b4bf..6d8140994 100644 --- a/user/xxhash/APKBUILD +++ b/user/xxhash/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xxhash -pkgver=0.7.2 +pkgver=0.7.3 pkgrel=0 pkgdesc="Fast non-cryptographic hashing algorithm" url="https://cyan4973.github.io/xxHash/" @@ -31,4 +31,4 @@ tools() { mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ } -sha512sums="90d4e7422729441e5013928b306fd6f394ab6f97628ec88369fbb33891c9a2cfae495516d8dd0741eda9c38859132b1bd78f2c7b8dae1dce80eeca8ea5cba575 xxHash-0.7.2.tar.gz" +sha512sums="72949010a267f063768241b182464c386005b4078f56902fee2f7804bd01f6c27878a6a4ec2a266cd59162934a7e471264ac5757dba570a97a2b5dad7703c664 xxHash-0.7.3.tar.gz" diff --git a/user/yaml-cpp/APKBUILD b/user/yaml-cpp/APKBUILD new file mode 100644 index 000000000..53f41b87b --- /dev/null +++ b/user/yaml-cpp/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Alyx Wolcott <alyx@leuhta.com> +# Maintainer: Alyx Wolcott <alyx@leuhta.com> +pkgname=yaml-cpp +pkgver=0.6.3 +pkgrel=0 +pkgdesc="A YAML parser and emitter in C++" +url="https://github.com/jbeder/yaml-cpp" +arch="all" +license="MIT" +makedepends="cmake" +subpackages="$pkgname-dev" +source="$pkgname-$pkgver.tar.gz::https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-$pkgver.tar.gz" +builddir="$srcdir/$pkgname-$pkgname-$pkgver" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DYAML_BUILD_SHARED_LIBS=ON \ + ${CMAKE_CROSSOPTS} + make +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="68b9ce987cabc1dec79382f922de20cc2c222cb9c090ecb93dc686b048da5c917facf4fce6d8f72feea44b61e5a6770ed3b0c199c4cd4e6bde5b6245c09f8e49 yaml-cpp-0.6.3.tar.gz" diff --git a/user/youtube-dl/APKBUILD b/user/youtube-dl/APKBUILD index 70c5800f9..424f883b1 100644 --- a/user/youtube-dl/APKBUILD +++ b/user/youtube-dl/APKBUILD @@ -3,7 +3,7 @@ # Contributor: Timo Teräs <timo.teras@iki.fi> # Maintainer: Max Rees <maxcrees@me.com> pkgname=youtube-dl -pkgver=2019.11.28 +pkgver=2020.03.24 pkgrel=0 pkgdesc="Command-line program to download videos from YouTube and many other sites" url="https://youtube-dl.org" @@ -16,7 +16,9 @@ subpackages="$pkgname-doc $pkgname-zsh-completion:zshcomp $pkgname-bash-completion:bashcomp $pkgname-fish-completion:fishcomp" -source="https://github.com/rg3/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz" +source="https://github.com/rg3/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz + tumblr.patch + " builddir="$srcdir/$pkgname" prepare() { @@ -64,4 +66,5 @@ fishcomp() { "$subpkgdir/usr/share/fish/completions/" } -sha512sums="fd3fc9658428ecf96d681dd699db49e02f94343e5c49e370cb68a5764e8ecebc14b3ce5bc44db0a829b0d3c4fbffc96a1f8288fb24cbd21add6e9c7852b0915d youtube-dl-2019.11.28.tar.gz" +sha512sums="421c0ae412977cdf94d079aa7982360ffdfc4271bb7af27a598adbdb8454c2044e5c44ff3a9f339e9b0989c1264223ca83bba6a9151d01052f8f72c076d9e369 youtube-dl-2020.03.24.tar.gz +5760d06e6bbc1eee2c6be2d1f580f86b3cfa5f4bc44a62fb8145ce1cd41352ecf2f65d65d79a2d7f1ec129a34c28a7ec3d0d328c907e743bfcea54c65c71285d tumblr.patch" diff --git a/user/youtube-dl/tumblr.patch b/user/youtube-dl/tumblr.patch new file mode 100644 index 000000000..d34a79da6 --- /dev/null +++ b/user/youtube-dl/tumblr.patch @@ -0,0 +1,49 @@ +From a4a199b4dcc3e778621c4268a5dba615cf6f44ba Mon Sep 17 00:00:00 2001 +From: rafinetiz <rafii.netizz@gmail.com> +Date: Fri, 18 Oct 2019 21:17:00 +0700 +Subject: [PATCH 1/2] Fix tumblr permission denied #22755 + +--- + youtube_dl/extractor/tumblr.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/youtube_dl/extractor/tumblr.py b/youtube_dl/extractor/tumblr.py +index edbb0aa6944b..71ced801859e 100644 +--- a/youtube_dl/extractor/tumblr.py ++++ b/youtube_dl/extractor/tumblr.py +@@ -165,7 +165,8 @@ def _real_extract(self, url): + if iframe_url is None: + return self.url_result(redirect_url, 'Generic') + +- iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page') ++ iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page', ++ headers={'Referer': url}) + + duration = None + sources = [] + +From 43a19105d78c5c297d91936798d341f89919e9b1 Mon Sep 17 00:00:00 2001 +From: rafinetiz <rafii.netizz@gmail.com> +Date: Fri, 18 Oct 2019 21:45:12 +0700 +Subject: [PATCH 2/2] Fix coding style + +--- + youtube_dl/extractor/tumblr.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/youtube_dl/extractor/tumblr.py b/youtube_dl/extractor/tumblr.py +index 71ced801859e..61b0c1db65fe 100644 +--- a/youtube_dl/extractor/tumblr.py ++++ b/youtube_dl/extractor/tumblr.py +@@ -165,7 +165,10 @@ def _real_extract(self, url): + if iframe_url is None: + return self.url_result(redirect_url, 'Generic') + +- iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page', ++ iframe = self._download_webpage( ++ iframe_url, ++ video_id, ++ 'Downloading iframe page', + headers={'Referer': url}) + + duration = None |