From 0c8c2320e0cd3ae565dadc3b4df1c4f17cb86e72 Mon Sep 17 00:00:00 2001 From: David P Date: Wed, 9 May 2018 14:57:32 -0300 Subject: copy pcr/util-linux-nosystemd to nonsystemd/util-linux 2.32-1.nonsystemd1 Signed-off-by: David P --- .../util-linux/0001-fstrim-cleanup-uncludes.patch | 41 ++++++++ ...unt_include_sys_mount_h_only_if_necessary.patch | 54 ++++++++++ nonsystemd/util-linux/60-rfkill.rules | 1 + nonsystemd/util-linux/PKGBUILD | 115 +++++++++++++++++++++ nonsystemd/util-linux/pam-common | 6 ++ nonsystemd/util-linux/pam-login | 7 ++ nonsystemd/util-linux/pam-su | 9 ++ nonsystemd/util-linux/util-linux.sysusers | 1 + 8 files changed, 234 insertions(+) create mode 100644 nonsystemd/util-linux/0001-fstrim-cleanup-uncludes.patch create mode 100644 nonsystemd/util-linux/0002-libmount_include_sys_mount_h_only_if_necessary.patch create mode 100644 nonsystemd/util-linux/60-rfkill.rules create mode 100644 nonsystemd/util-linux/PKGBUILD create mode 100644 nonsystemd/util-linux/pam-common create mode 100644 nonsystemd/util-linux/pam-login create mode 100644 nonsystemd/util-linux/pam-su create mode 100644 nonsystemd/util-linux/util-linux.sysusers diff --git a/nonsystemd/util-linux/0001-fstrim-cleanup-uncludes.patch b/nonsystemd/util-linux/0001-fstrim-cleanup-uncludes.patch new file mode 100644 index 000000000..74078555f --- /dev/null +++ b/nonsystemd/util-linux/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/nonsystemd/util-linux/0002-libmount_include_sys_mount_h_only_if_necessary.patch b/nonsystemd/util-linux/0002-libmount_include_sys_mount_h_only_if_necessary.patch new file mode 100644 index 000000000..0c478f622 --- /dev/null +++ b/nonsystemd/util-linux/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/nonsystemd/util-linux/60-rfkill.rules b/nonsystemd/util-linux/60-rfkill.rules new file mode 100644 index 000000000..bc98a3bef --- /dev/null +++ b/nonsystemd/util-linux/60-rfkill.rules @@ -0,0 +1 @@ +KERNEL=="rfkill", GROUP="rfkill", MODE="0664" diff --git a/nonsystemd/util-linux/PKGBUILD b/nonsystemd/util-linux/PKGBUILD new file mode 100644 index 000000000..62f6b229c --- /dev/null +++ b/nonsystemd/util-linux/PKGBUILD @@ -0,0 +1,115 @@ +# $Id$ +# Maintainer (Arch): Tom Gundersen +# Maintainer (Arch): Dave Reisner +# Contributor (Arch): judd +# Maintainer: David P. + +pkgbase=util-linux +pkgname=(util-linux libutil-linux) +_pkgmajor=2.32 +pkgver=${_pkgmajor} +pkgrel=1 +pkgrel+=.nonsystemd1 +pkgdesc="Miscellaneous system utilities for Linux" +url="https://www.kernel.org/pub/linux/utils/util-linux/" +arch=('i686' 'x86_64' 'armv7h') +makedepends=('eudev' 'python' 'libcap-ng') +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') +sha256sums=('6c7397abc764e32e8159c2e96042874a190303e77adceb4ac5bd502a272a4734' + 'SKIP' + 'b1c0db069f60c086351f7a6fb7ff1add1c41e9ed7c1b65bd67e6604943fc4c75' + 'c65d8354fc2773035be8ac071541f4709763366d22a8a8f1bc2cb3401dcfdf69' + '993a3096c2b113e6800f2abbd5d4233ebf1a97eef423990d3187d665d3490b92' + 'fc6807842f92e9d3f792d6b64a0d5aad87995a279153ab228b1b2a64d9f32f20' + '51eac9c2a2f51ad3982bba35de9aac5510f1eeff432d2d63c6362e45d620afc0' + 'a3980e33ef3a8d356379b4964c9730fd525d46e5b28cded5d0b50d6dc8a5563c' + '7423aaaa09fee7f47baa83df9ea6fef525ff9aec395c8cbd9fe848ceb2643f37') + +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 \ + --enable-fs-paths-extra=/usr/bin \ + --enable-raw \ + --enable-vipw \ + --enable-newgrp \ + --enable-chfn-chsh \ + --enable-write \ + --enable-mesg \ + --with-python=3 \ + --with-systemd=no \ + --with-systemdsystemunitdir=no \ + --with-python=3 + make +} + +package_util-linux() { + conflicts=('util-linux-nosystemd' 'eject' 'zramctl' 'rfkill') + provides=("util-linux-nosystemd=$pkgver" 'eject' 'zramctl' 'rfkill') + replaces=('util-linux-nosystemd' 'zramctl' 'rfkill') + depends=('pam' 'shadow' 'coreutils' 'libeudev' 'libcap-ng' 'libutil-linux') + optdepends=('python: python bindings to libmount') + groups=('base' 'base-devel') + backup=(etc/pam.d/chfn + etc/pam.d/chsh + etc/pam.d/login + etc/pam.d/su + etc/pam.d/su-l) + + cd "$pkgbase-$pkgver" + + make DESTDIR="$pkgdir" install + + # setuid chfn and chsh + chmod 4755 "$pkgdir"/usr/bin/{newgrp,ch{sh,fn}} + + # install PAM files for login-utils + install -Dm644 "$srcdir/pam-common" "$pkgdir/etc/pam.d/chfn" + install -m644 "$srcdir/pam-common" "$pkgdir/etc/pam.d/chsh" + install -m644 "$srcdir/pam-login" "$pkgdir/etc/pam.d/login" + install -m644 "$srcdir/pam-su" "$pkgdir/etc/pam.d/su" + install -m644 "$srcdir/pam-su" "$pkgdir/etc/pam.d/su-l" + + # adjust for usrmove + # TODO(dreisner): fix configure.ac upstream so that this isn't needed + cd "$pkgdir" + mv {,usr/}sbin/* usr/bin + rmdir sbin usr/sbin + + ### runtime libs are shipped as part of libutil-linux + rm "$pkgdir"/usr/lib/lib*.{a,so}* + + ### install sysusers + install -Dm644 "$srcdir/util-linux.sysusers" \ + "$pkgdir/usr/lib/sysusers.d/util-linux.conf" + + install -Dm644 "$srcdir/60-rfkill.rules" \ + "$pkgdir/usr/lib/udev/rules.d/60-rfkill.rules" +} + +package_libutil-linux() { + pkgdesc="util-linux runtime libraries" + provides=("libutil-linux-nosystemd=$pkgver" 'libblkid.so' 'libfdisk.so' 'libmount.so' 'libsmartcols.so' 'libuuid.so') + replaces=('libutil-linux-nosystemd') + conflicts=('libutil-linux-nosystemd') + + make -C "$pkgbase-$pkgver" DESTDIR="$pkgdir" install-usrlib_execLTLIBRARIES +} diff --git a/nonsystemd/util-linux/pam-common b/nonsystemd/util-linux/pam-common new file mode 100644 index 000000000..a7bf8a4a5 --- /dev/null +++ b/nonsystemd/util-linux/pam-common @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so +password required pam_permit.so diff --git a/nonsystemd/util-linux/pam-login b/nonsystemd/util-linux/pam-login new file mode 100644 index 000000000..1960d9497 --- /dev/null +++ b/nonsystemd/util-linux/pam-login @@ -0,0 +1,7 @@ +#%PAM-1.0 + +auth required pam_securetty.so +auth requisite pam_nologin.so +auth include system-local-login +account include system-local-login +session include system-local-login diff --git a/nonsystemd/util-linux/pam-su b/nonsystemd/util-linux/pam-su new file mode 100644 index 000000000..cf15f40f1 --- /dev/null +++ b/nonsystemd/util-linux/pam-su @@ -0,0 +1,9 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +# Uncomment the following line to implicitly trust users in the "wheel" group. +#auth sufficient pam_wheel.so trust use_uid +# Uncomment the following line to require a user to be in the "wheel" group. +#auth required pam_wheel.so use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/nonsystemd/util-linux/util-linux.sysusers b/nonsystemd/util-linux/util-linux.sysusers new file mode 100644 index 000000000..d7425ae9e --- /dev/null +++ b/nonsystemd/util-linux/util-linux.sysusers @@ -0,0 +1 @@ +u uuidd 68 -- cgit v1.2.3