summaryrefslogtreecommitdiff
path: root/libre/libutil-linux-static
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2018-05-28 21:18:43 -0400
committerLuke Shumaker <lukeshu@lukeshu.com>2018-05-29 11:10:42 -0400
commite1ec62c46a0be4c40414df02f9b6fccfca94006e (patch)
treeabf63f0d50d6c724e90511f8baf4c4a9971b03b4 /libre/libutil-linux-static
parent06f09684205a5674088113b098f5fd2a6176772c (diff)
downloadabslibre-e1ec62c46a0be4c40414df02f9b6fccfca94006e.tar.gz
abslibre-e1ec62c46a0be4c40414df02f9b6fccfca94006e.tar.bz2
abslibre-e1ec62c46a0be4c40414df02f9b6fccfca94006e.zip
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.
Diffstat (limited to 'libre/libutil-linux-static')
-rw-r--r--libre/libutil-linux-static/0001-fstrim-cleanup-uncludes.patch41
-rw-r--r--libre/libutil-linux-static/0002-libmount_include_sys_mount_h_only_if_necessary.patch54
-rw-r--r--libre/libutil-linux-static/PKGBUILD23
3 files changed, 112 insertions, 6 deletions
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 <kzak@redhat.com>
+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 <kzak@redhat.com>
+---
+ 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 <sys/ioctl.h>
+ #include <sys/stat.h>
+
+-#ifdef HAVE_SYS_FS_H
+-# include <linux/fs.h>
+-#endif
+-
+ #include "nls.h"
+ #include "strutils.h"
+ #include "c.h"
+@@ -49,6 +45,10 @@
+
+ #include <libmount.h>
+
++
++/* 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 <kzak@redhat.com>
+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 <kzak@redhat.com>
+---
+ 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 <stdio.h>
+ #include <mntent.h>
+ #include <sys/types.h>
+-#include <sys/mount.h>
++
++/* 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 <sys/mount.h>
++#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 <sys/ioctl.h>
+ #include <sys/stat.h>
++#include <linux/fs.h>
+
+ #include "nls.h"
+ #include "strutils.h"
+@@ -46,9 +47,6 @@
+ #include <libmount.h>
+
+
+-/* 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 \