From e1ec62c46a0be4c40414df02f9b6fccfca94006e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 28 May 2018 21:18:43 -0400 Subject: Update libre/qemu-user-static and dependencies Fighting with glib2 was no fun. But hey, at least I got a GCC bug report out of it! https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85957 To get around this, I enabled SSE2 for glib2-static. This means it won't run on pre-Pentium 4 (2001) i686 processors; which will cause problems on the Pentium Pro/2 and the Pentium 3, and their AMD competitors: K6 and K7 (the latter of which was branded as Athlon, Athlon XP, Duron, and Sempron). https://lists.parabola.nu/pipermail/dev/2018-May/006748.html If someone digs out a Pentium 2 and gets Parabola to boot on it, I'll figure out a different way to get around glib2's disagreement with x87 floating point math; and turn SSE2 back off. --- .../0001-fstrim-cleanup-uncludes.patch | 41 ++++++++++++++++ ...unt_include_sys_mount_h_only_if_necessary.patch | 54 ++++++++++++++++++++++ libre/libutil-linux-static/PKGBUILD | 23 ++++++--- 3 files changed, 112 insertions(+), 6 deletions(-) create mode 100644 libre/libutil-linux-static/0001-fstrim-cleanup-uncludes.patch create mode 100644 libre/libutil-linux-static/0002-libmount_include_sys_mount_h_only_if_necessary.patch (limited to 'libre/libutil-linux-static') diff --git a/libre/libutil-linux-static/0001-fstrim-cleanup-uncludes.patch b/libre/libutil-linux-static/0001-fstrim-cleanup-uncludes.patch new file mode 100644 index 000000000..74078555f --- /dev/null +++ b/libre/libutil-linux-static/0001-fstrim-cleanup-uncludes.patch @@ -0,0 +1,41 @@ +From 43abda66869e749044c6c4fd1d106d7df9484aca Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 22 Mar 2018 13:17:10 +0100 +Subject: fstrim: cleanup includes + +* HAVE_SYS_FS_H is incorrect (should be HAVE_LINUX_FS_H) + +* linux/fs.h cannot be included together with sys/mount.h as the both + files define MS_* constants. The libmount.h includes sys/mount.h now. + +Signed-off-by: Karel Zak +--- + sys-utils/fstrim.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sys-utils/fstrim.c b/sys-utils/fstrim.c +index ca8cf256d..53ac594c0 100644 +--- a/sys-utils/fstrim.c ++++ b/sys-utils/fstrim.c +@@ -36,10 +36,6 @@ + #include + #include + +-#ifdef HAVE_SYS_FS_H +-# include +-#endif +- + #include "nls.h" + #include "strutils.h" + #include "c.h" +@@ -49,6 +45,10 @@ + + #include + ++ ++/* We cannot include linux/fs.h due to MS_* constants collision with ++ * sys/mount.h (and libmount.h) ++ */ + #ifndef FITRIM + struct fstrim_range { + uint64_t start; diff --git a/libre/libutil-linux-static/0002-libmount_include_sys_mount_h_only_if_necessary.patch b/libre/libutil-linux-static/0002-libmount_include_sys_mount_h_only_if_necessary.patch new file mode 100644 index 000000000..0c478f622 --- /dev/null +++ b/libre/libutil-linux-static/0002-libmount_include_sys_mount_h_only_if_necessary.patch @@ -0,0 +1,54 @@ +From 061d1a51097c3c025ff46173f10aa135f9a610d4 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 22 Mar 2018 14:05:17 +0100 +Subject: libmount: include sys/mount.h only if necessary + +Addresses: https://github.com/systemd/systemd/issues/8507 +Signed-off-by: Karel Zak +--- + libmount/src/libmount.h.in | 9 ++++++++- + sys-utils/fstrim.c | 4 +--- + 2 files changed, 9 insertions(+), 4 deletions(-) + +diff --git a/libmount/src/libmount.h.in b/libmount/src/libmount.h.in +index 8f323fcbf..11fd759fa 100644 +--- a/libmount/src/libmount.h.in ++++ b/libmount/src/libmount.h.in +@@ -28,7 +28,14 @@ extern "C" { + #include + #include + #include +-#include ++ ++/* Make sure libc MS_* definitions are used by default. Note that MS_* flags ++ * may be already defined by linux/fs.h or another file -- in this case we ++ * don't want to include sys/mount.h at all to avoid collisions. ++ */ ++#ifndef MS_RDONLY ++# include ++#endif + + #define LIBMOUNT_VERSION "@LIBMOUNT_VERSION@" + #define LIBMOUNT_MAJOR_VERSION @LIBMOUNT_MAJOR_VERSION@ +diff --git a/sys-utils/fstrim.c b/sys-utils/fstrim.c +index 53ac594c0..ce52063e1 100644 +--- a/sys-utils/fstrim.c ++++ b/sys-utils/fstrim.c +@@ -35,6 +35,7 @@ + + #include + #include ++#include + + #include "nls.h" + #include "strutils.h" +@@ -46,9 +47,6 @@ + #include + + +-/* We cannot include linux/fs.h due to MS_* constants collision with +- * sys/mount.h (and libmount.h) +- */ + #ifndef FITRIM + struct fstrim_range { + uint64_t start; diff --git a/libre/libutil-linux-static/PKGBUILD b/libre/libutil-linux-static/PKGBUILD index 1bf45f4fa..3f7d62e60 100644 --- a/libre/libutil-linux-static/PKGBUILD +++ b/libre/libutil-linux-static/PKGBUILD @@ -5,9 +5,9 @@ _pkgbase=util-linux pkgname=libutil-linux-static -_pkgmajor=2.31 -pkgver=${_pkgmajor}.1 -pkgrel=2.parabola1 +_pkgmajor=2.32 +pkgver=${_pkgmajor} +pkgrel=3.static1 pkgdesc="Miscellaneous system utilities for Linux" url="https://www.kernel.org/pub/linux/utils/util-linux/" arch=('i686' 'x86_64' 'armv7h') @@ -16,13 +16,17 @@ license=('GPL2') options=('strip' 'debug') validpgpkeys=('B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284') # Karel Zak source=("https://www.kernel.org/pub/linux/utils/util-linux/v$_pkgmajor/$_pkgbase-$pkgver.tar."{xz,sign} + '0001-fstrim-cleanup-uncludes.patch' + '0002-libmount_include_sys_mount_h_only_if_necessary.patch' pam-{login,common,su} 'util-linux.sysusers' '60-rfkill.rules' 'rfkill-unblock_.service' 'rfkill-block_.service') -sha256sums=('1a51b16fa9cd51d26ef9ab52d2f1de12403b810fc8252bf7d478df91b3cddf11' - 'SKIP' +sha256sums=('6c7397abc764e32e8159c2e96042874a190303e77adceb4ac5bd502a272a4734' + 'SKIP' + 'b1c0db069f60c086351f7a6fb7ff1add1c41e9ed7c1b65bd67e6604943fc4c75' + 'c65d8354fc2773035be8ac071541f4709763366d22a8a8f1bc2cb3401dcfdf69' '993a3096c2b113e6800f2abbd5d4233ebf1a97eef423990d3187d665d3490b92' 'fc6807842f92e9d3f792d6b64a0d5aad87995a279153ab228b1b2a64d9f32f20' '51eac9c2a2f51ad3982bba35de9aac5510f1eeff432d2d63c6362e45d620afc0' @@ -31,13 +35,20 @@ sha256sums=('1a51b16fa9cd51d26ef9ab52d2f1de12403b810fc8252bf7d478df91b3cddf11' '8ccec10a22523f6b9d55e0d6cbf91905a39881446710aa083e935e8073323376' 'a22e0a037e702170c7d88460cc9c9c2ab1d3e5c54a6985cd4a164ea7beff1b36') +prepare() { + cd "$_pkgbase-$pkgver" + + patch -Np1 -i ../0001-fstrim-cleanup-uncludes.patch + patch -Np1 -i ../0002-libmount_include_sys_mount_h_only_if_necessary.patch +} + build() { cd "$_pkgbase-$pkgver" ./configure --prefix=/usr \ --libdir=/usr/lib \ --bindir=/usr/bin \ - --localstatedir=/run \ + --localstatedir=/var \ --enable-fs-paths-extra=/usr/bin \ --enable-raw \ --enable-vipw \ -- cgit v1.2.3