summaryrefslogtreecommitdiff
path: root/pcr/util-linux-nosystemd
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/util-linux-nosystemd')
-rw-r--r--pcr/util-linux-nosystemd/0001-fstrim-cleanup-uncludes.patch41
-rw-r--r--pcr/util-linux-nosystemd/0002-libmount_include_sys_mount_h_only_if_necessary.patch54
-rw-r--r--pcr/util-linux-nosystemd/PKGBUILD18
3 files changed, 110 insertions, 3 deletions
diff --git a/pcr/util-linux-nosystemd/0001-fstrim-cleanup-uncludes.patch b/pcr/util-linux-nosystemd/0001-fstrim-cleanup-uncludes.patch
new file mode 100644
index 000000000..74078555f
--- /dev/null
+++ b/pcr/util-linux-nosystemd/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/pcr/util-linux-nosystemd/0002-libmount_include_sys_mount_h_only_if_necessary.patch b/pcr/util-linux-nosystemd/0002-libmount_include_sys_mount_h_only_if_necessary.patch
new file mode 100644
index 000000000..0c478f622
--- /dev/null
+++ b/pcr/util-linux-nosystemd/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/pcr/util-linux-nosystemd/PKGBUILD b/pcr/util-linux-nosystemd/PKGBUILD
index 0f4144ec2..117d1634a 100644
--- a/pcr/util-linux-nosystemd/PKGBUILD
+++ b/pcr/util-linux-nosystemd/PKGBUILD
@@ -3,11 +3,12 @@
# Maintainer (Arch): Dave Reisner <dreisner@archlinux.org>
# Contributor (Arch): judd <jvinet@zeroflux.org>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
+# Maintainer: David P. <megver83@parabola.nu>
pkgbase=util-linux-nosystemd
pkgname=(util-linux-nosystemd libutil-linux-nosystemd)
-_pkgmajor=2.31
-pkgver=${_pkgmajor}.1
+_pkgmajor=2.32
+pkgver=${_pkgmajor}
pkgrel=1
pkgdesc="Miscellaneous system utilities for Linux"
url="https://www.kernel.org/pub/linux/utils/util-linux/"
@@ -17,17 +18,28 @@ license=('GPL2')
options=('strip' 'debug')
validpgpkeys=('B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284') # Karel Zak
source=("https://www.kernel.org/pub/linux/utils/util-linux/v$_pkgmajor/${pkgbase%-nosystemd}-$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')
-sha256sums=('1a51b16fa9cd51d26ef9ab52d2f1de12403b810fc8252bf7d478df91b3cddf11'
+sha256sums=('6c7397abc764e32e8159c2e96042874a190303e77adceb4ac5bd502a272a4734'
'SKIP'
+ 'b1c0db069f60c086351f7a6fb7ff1add1c41e9ed7c1b65bd67e6604943fc4c75'
+ 'c65d8354fc2773035be8ac071541f4709763366d22a8a8f1bc2cb3401dcfdf69'
'993a3096c2b113e6800f2abbd5d4233ebf1a97eef423990d3187d665d3490b92'
'fc6807842f92e9d3f792d6b64a0d5aad87995a279153ab228b1b2a64d9f32f20'
'51eac9c2a2f51ad3982bba35de9aac5510f1eeff432d2d63c6362e45d620afc0'
'a3980e33ef3a8d356379b4964c9730fd525d46e5b28cded5d0b50d6dc8a5563c'
'7423aaaa09fee7f47baa83df9ea6fef525ff9aec395c8cbd9fe848ceb2643f37')
+prepare() {
+ cd "${pkgbase%-nosystemd}-$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%-nosystemd}-$pkgver"