[arch-commits] Commit in util-linux/repos (18 files)

Thomas Bächler thomas at nymeria.archlinux.org
Wed Apr 2 09:44:48 UTC 2014


    Date: Wednesday, April 2, 2014 @ 11:44:48
  Author: thomas
Revision: 209738

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  util-linux/repos/testing-i686/
  util-linux/repos/testing-i686/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch
    (from rev 209737, util-linux/trunk/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch)
  util-linux/repos/testing-i686/PKGBUILD
    (from rev 209737, util-linux/trunk/PKGBUILD)
  util-linux/repos/testing-i686/move_is_mountinfo.patch
    (from rev 209737, util-linux/trunk/move_is_mountinfo.patch)
  util-linux/repos/testing-i686/pam-common
    (from rev 209737, util-linux/trunk/pam-common)
  util-linux/repos/testing-i686/pam-login
    (from rev 209737, util-linux/trunk/pam-login)
  util-linux/repos/testing-i686/pam-su
    (from rev 209737, util-linux/trunk/pam-su)
  util-linux/repos/testing-i686/util-linux.install
    (from rev 209737, util-linux/trunk/util-linux.install)
  util-linux/repos/testing-i686/uuidd.tmpfiles
    (from rev 209737, util-linux/trunk/uuidd.tmpfiles)
  util-linux/repos/testing-x86_64/
  util-linux/repos/testing-x86_64/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch
    (from rev 209737, util-linux/trunk/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch)
  util-linux/repos/testing-x86_64/PKGBUILD
    (from rev 209737, util-linux/trunk/PKGBUILD)
  util-linux/repos/testing-x86_64/move_is_mountinfo.patch
    (from rev 209737, util-linux/trunk/move_is_mountinfo.patch)
  util-linux/repos/testing-x86_64/pam-common
    (from rev 209737, util-linux/trunk/pam-common)
  util-linux/repos/testing-x86_64/pam-login
    (from rev 209737, util-linux/trunk/pam-login)
  util-linux/repos/testing-x86_64/pam-su
    (from rev 209737, util-linux/trunk/pam-su)
  util-linux/repos/testing-x86_64/util-linux.install
    (from rev 209737, util-linux/trunk/util-linux.install)
  util-linux/repos/testing-x86_64/uuidd.tmpfiles
    (from rev 209737, util-linux/trunk/uuidd.tmpfiles)

----------------------------------------------------------------------+
 testing-i686/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch   |   98 ++++++++
 testing-i686/PKGBUILD                                                |  115 ++++++++++
 testing-i686/move_is_mountinfo.patch                                 |   46 ++++
 testing-i686/pam-common                                              |    6 
 testing-i686/pam-login                                               |    7 
 testing-i686/pam-su                                                  |    9 
 testing-i686/util-linux.install                                      |   21 +
 testing-i686/uuidd.tmpfiles                                          |    1 
 testing-x86_64/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch |   98 ++++++++
 testing-x86_64/PKGBUILD                                              |  115 ++++++++++
 testing-x86_64/move_is_mountinfo.patch                               |   46 ++++
 testing-x86_64/pam-common                                            |    6 
 testing-x86_64/pam-login                                             |    7 
 testing-x86_64/pam-su                                                |    9 
 testing-x86_64/util-linux.install                                    |   21 +
 testing-x86_64/uuidd.tmpfiles                                        |    1 
 16 files changed, 606 insertions(+)

Copied: util-linux/repos/testing-i686/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch (from rev 209737, util-linux/trunk/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch)
===================================================================
--- testing-i686/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch	                        (rev 0)
+++ testing-i686/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1,98 @@
+From 6c373810f5b1d32824371e9dff6ee5a006388f98 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak at redhat.com>
+Date: Thu, 20 Feb 2014 16:59:11 +0100
+Subject: [PATCH] libmount: FS id and parent ID could be zero
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It seems that linux 3.14 is able to produce things like:
+
+  19 0 8:3 / / rw,relatime - ext4 /dev/sda3 rw,data=ordered
+     ^
+
+Reported-by: Mantas Mikulėnas <grawity at gmail.com>
+Signed-off-by: Karel Zak <kzak at redhat.com>
+---
+ libmount/src/tab.c   | 12 ++++--------
+ misc-utils/findmnt.c |  5 +++--
+ 2 files changed, 7 insertions(+), 10 deletions(-)
+
+diff --git a/libmount/src/tab.c b/libmount/src/tab.c
+index 4c2f8a4..332312b 100644
+--- a/libmount/src/tab.c
++++ b/libmount/src/tab.c
+@@ -505,7 +505,7 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
+ 	assert(tb);
+ 	assert(root);
+ 
+-	if (!tb || !root)
++	if (!tb || !root || !is_mountinfo(tb))
+ 		return -EINVAL;
+ 
+ 	DBG(TAB, mnt_debug_h(tb, "lookup root fs"));
+@@ -515,8 +515,6 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
+ 	mnt_reset_iter(&itr, MNT_ITER_FORWARD);
+ 	while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ 		int id = mnt_fs_get_parent_id(fs);
+-		if (!id)
+-			break;		/* @tab is not a mountinfo file? */
+ 
+ 		if (!*root || id < root_id) {
+ 			*root = fs;
+@@ -524,7 +522,7 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
+ 		}
+ 	}
+ 
+-	return root_id ? 0 : -EINVAL;
++	return *root ? 0 : -EINVAL;
+ }
+ 
+ /**
+@@ -545,15 +543,13 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+ 	struct libmnt_fs *fs;
+ 	int parent_id, lastchld_id = 0, chld_id = 0;
+ 
+-	if (!tb || !itr || !parent)
++	if (!tb || !itr || !parent || !is_mountinfo(tb))
+ 		return -EINVAL;
+ 
+ 	DBG(TAB, mnt_debug_h(tb, "lookup next child of '%s'",
+ 				mnt_fs_get_target(parent)));
+ 
+ 	parent_id = mnt_fs_get_id(parent);
+-	if (!parent_id)
+-		return -EINVAL;
+ 
+ 	/* get ID of the previously returned child */
+ 	if (itr->head && itr->p != itr->head) {
+@@ -584,7 +580,7 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+ 		}
+ 	}
+ 
+-	if (!chld_id)
++	if (!*chld)
+ 		return 1;	/* end of iterator */
+ 
+ 	/* set the iterator to the @chld for the next call */
+diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c
+index fb21174..988cd73 100644
+--- a/misc-utils/findmnt.c
++++ b/misc-utils/findmnt.c
+@@ -822,8 +822,9 @@ static int tab_is_tree(struct libmnt_table *tb)
+ 	if (!itr)
+ 		return 0;
+ 
+-	if (mnt_table_next_fs(tb, itr, &fs) == 0)
+-		rc = mnt_fs_get_id(fs) > 0 && mnt_fs_get_parent_id(fs) > 0;
++	rc = (mnt_table_next_fs(tb, itr, &fs) == 0 &&
++	      mnt_fs_is_kernel(fs) &&
++	      mnt_fs_get_root(fs));
+ 
+ 	mnt_free_iter(itr);
+ 	return rc;
+-- 
+1.9.1
+

Copied: util-linux/repos/testing-i686/PKGBUILD (from rev 209737, util-linux/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1,115 @@
+# $Id$
+# Maintainer: Tom Gundersen <teg at jklm.no>
+# Maintainer: Dave Reisner <dreisner at archlinux.org>
+# Contributor: judd <jvinet at zeroflux.org>
+
+pkgbase=util-linux
+pkgname=(util-linux libutil-linux)
+pkgver=2.24.1
+pkgrel=5
+pkgdesc="Miscellaneous system utilities for Linux"
+url="http://www.kernel.org/pub/linux/utils/util-linux/"
+arch=('i686' 'x86_64')
+groups=('base' 'base-devel')
+makedepends=('systemd' 'python')
+# checkdepends=('bc')
+license=('GPL2')
+options=('strip' 'debug')
+source=("ftp://ftp.kernel.org/pub/linux/utils/$pkgname/v2.24/$pkgname-$pkgver.tar.xz"
+        uuidd.tmpfiles
+        pam-login
+        pam-common
+        pam-su
+        move_is_mountinfo.patch
+        0001-libmount-FS-id-and-parent-ID-could-be-zero.patch)
+md5sums=('88d46ae23ca599ac5af9cf96b531590f'
+         'a39554bfd65cccfd8254bb46922f4a67'
+         '4368b3f98abd8a32662e094c54e7f9b1'
+         'a31374fef2cba0ca34dfc7078e2969e4'
+         'fa85e5cce5d723275b14365ba71a8aad'
+         '4cdc5f9a6e51b032274761a82937d438'
+         '2f4bc305bd11d6bfaa81e6c1eb0c6f1b')
+
+prepare() {
+  cd "$pkgname-$pkgver"
+
+  patch -p1 -i "${srcdir}/move_is_mountinfo.patch"
+  patch -p1 -i "${srcdir}/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch"
+}
+
+build() {
+  cd "$pkgname-$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 \
+              --enable-socket-activation \
+              --with-python=3
+
+#              --enable-reset \ # part of ncurses
+#              --enable-last \ # not compat
+
+  make
+}
+
+#check() {
+# fails for some reason in chroot, works outside
+#  make -C "$pkgname-$pkgver" check
+#}
+
+package_util-linux() {
+  conflicts=('util-linux-ng' 'eject')
+  provides=("util-linux-ng=$pkgver" 'eject')
+  depends=('pam' 'shadow' 'coreutils' 'libsystemd' 'libutil-linux')
+  optdepends=('python: python bindings to libmount')
+  install=util-linux.install
+  backup=(etc/pam.d/chfn
+          etc/pam.d/chsh
+          etc/pam.d/login
+          etc/pam.d/su
+          etc/pam.d/su-l)
+
+  cd "$pkgname-$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"
+
+  # include tmpfiles fragment for uuidd
+  # TODO(dreisner): offer this upstream?
+  install -Dm644 "$srcdir/uuidd.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/uuidd.conf"
+
+  # usrmove
+  cd "$pkgdir"
+  mv {,usr/}sbin/* usr/bin
+  rmdir sbin usr/sbin
+
+  ### create libutil-linux split
+  rm -rf "$srcdir/_libutil-linux"
+  install -dm755 "$srcdir"/_libutil-linux/usr/lib
+  cd "$srcdir"/_libutil-linux
+  mv "$pkgdir"/usr/lib/lib*.{a,so}* usr/lib
+}
+
+package_libutil-linux() {
+  pkgdesc="util-linux runtime libraries"
+  provides=('libblkid.so' 'libmount.so' 'libuuid.so')
+
+  mv "$srcdir/_libutil-linux"/* "$pkgdir"
+}

Copied: util-linux/repos/testing-i686/move_is_mountinfo.patch (from rev 209737, util-linux/trunk/move_is_mountinfo.patch)
===================================================================
--- testing-i686/move_is_mountinfo.patch	                        (rev 0)
+++ testing-i686/move_is_mountinfo.patch	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1,46 @@
+diff --git a/libmount/src/tab.c b/libmount/src/tab.c
+index 3633b6a..8ae49c8 100644
+--- a/libmount/src/tab.c
++++ b/libmount/src/tab.c
+@@ -47,6 +47,20 @@
+ #include "strutils.h"
+ #include "loopdev.h"
+ 
++static int is_mountinfo(struct libmnt_table *tb)
++{
++	struct libmnt_fs *fs;
++
++	if (!tb)
++		return 0;
++
++	fs = list_first_entry(&tb->ents, struct libmnt_fs, ents);
++	if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs))
++		return 1;
++
++	return 0;
++}
++
+ /**
+  * mnt_new_table:
+  *
+@@ -1229,20 +1335,6 @@ err:
+ 	return NULL;
+ }
+ 
+-static int is_mountinfo(struct libmnt_table *tb)
+-{
+-	struct libmnt_fs *fs;
+-
+-	if (!tb)
+-		return 0;
+-
+-	fs = list_first_entry(&tb->ents, struct libmnt_fs, ents);
+-	if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs))
+-		return 1;
+-
+-	return 0;
+-}
+-
+ /**
+  * mnt_table_is_fs__mounted:
+  * @tb: /proc/self/mountinfo file

Copied: util-linux/repos/testing-i686/pam-common (from rev 209737, util-linux/trunk/pam-common)
===================================================================
--- testing-i686/pam-common	                        (rev 0)
+++ testing-i686/pam-common	2014-04-02 09:44:48 UTC (rev 209738)
@@ -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

Copied: util-linux/repos/testing-i686/pam-login (from rev 209737, util-linux/trunk/pam-login)
===================================================================
--- testing-i686/pam-login	                        (rev 0)
+++ testing-i686/pam-login	2014-04-02 09:44:48 UTC (rev 209738)
@@ -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

Copied: util-linux/repos/testing-i686/pam-su (from rev 209737, util-linux/trunk/pam-su)
===================================================================
--- testing-i686/pam-su	                        (rev 0)
+++ testing-i686/pam-su	2014-04-02 09:44:48 UTC (rev 209738)
@@ -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

Copied: util-linux/repos/testing-i686/util-linux.install (from rev 209737, util-linux/trunk/util-linux.install)
===================================================================
--- testing-i686/util-linux.install	                        (rev 0)
+++ testing-i686/util-linux.install	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1,21 @@
+post_install() {
+  # we don't want use systemd-tmpfiles here because
+  # the package dependency would create a circular dep.
+  if [ ! -d run/uuidd ]; then
+    # refer to uid/gid by number to avoid dependency on filesystem
+    install -o 68 -g 68 -dm755 run/uuidd
+  fi
+}
+
+post_upgrade() {
+  if [ "$(vercmp $2 2.21.2-4)" -lt 0 ]; then
+    if [ -f /var/lib/hwclock/adjtime ]; then
+      mv /var/lib/hwclock/adjtime /etc/adjtime
+    fi
+    if [ -d /var/lib/hwclock ]; then
+      rmdir /var/lib/hwclock
+    fi
+  fi
+
+  post_install
+}

Copied: util-linux/repos/testing-i686/uuidd.tmpfiles (from rev 209737, util-linux/trunk/uuidd.tmpfiles)
===================================================================
--- testing-i686/uuidd.tmpfiles	                        (rev 0)
+++ testing-i686/uuidd.tmpfiles	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1 @@
+d /run/uuidd 0755 uuidd uuidd

Copied: util-linux/repos/testing-x86_64/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch (from rev 209737, util-linux/trunk/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch)
===================================================================
--- testing-x86_64/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch	                        (rev 0)
+++ testing-x86_64/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1,98 @@
+From 6c373810f5b1d32824371e9dff6ee5a006388f98 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak at redhat.com>
+Date: Thu, 20 Feb 2014 16:59:11 +0100
+Subject: [PATCH] libmount: FS id and parent ID could be zero
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It seems that linux 3.14 is able to produce things like:
+
+  19 0 8:3 / / rw,relatime - ext4 /dev/sda3 rw,data=ordered
+     ^
+
+Reported-by: Mantas Mikulėnas <grawity at gmail.com>
+Signed-off-by: Karel Zak <kzak at redhat.com>
+---
+ libmount/src/tab.c   | 12 ++++--------
+ misc-utils/findmnt.c |  5 +++--
+ 2 files changed, 7 insertions(+), 10 deletions(-)
+
+diff --git a/libmount/src/tab.c b/libmount/src/tab.c
+index 4c2f8a4..332312b 100644
+--- a/libmount/src/tab.c
++++ b/libmount/src/tab.c
+@@ -505,7 +505,7 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
+ 	assert(tb);
+ 	assert(root);
+ 
+-	if (!tb || !root)
++	if (!tb || !root || !is_mountinfo(tb))
+ 		return -EINVAL;
+ 
+ 	DBG(TAB, mnt_debug_h(tb, "lookup root fs"));
+@@ -515,8 +515,6 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
+ 	mnt_reset_iter(&itr, MNT_ITER_FORWARD);
+ 	while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
+ 		int id = mnt_fs_get_parent_id(fs);
+-		if (!id)
+-			break;		/* @tab is not a mountinfo file? */
+ 
+ 		if (!*root || id < root_id) {
+ 			*root = fs;
+@@ -524,7 +522,7 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
+ 		}
+ 	}
+ 
+-	return root_id ? 0 : -EINVAL;
++	return *root ? 0 : -EINVAL;
+ }
+ 
+ /**
+@@ -545,15 +543,13 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+ 	struct libmnt_fs *fs;
+ 	int parent_id, lastchld_id = 0, chld_id = 0;
+ 
+-	if (!tb || !itr || !parent)
++	if (!tb || !itr || !parent || !is_mountinfo(tb))
+ 		return -EINVAL;
+ 
+ 	DBG(TAB, mnt_debug_h(tb, "lookup next child of '%s'",
+ 				mnt_fs_get_target(parent)));
+ 
+ 	parent_id = mnt_fs_get_id(parent);
+-	if (!parent_id)
+-		return -EINVAL;
+ 
+ 	/* get ID of the previously returned child */
+ 	if (itr->head && itr->p != itr->head) {
+@@ -584,7 +580,7 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
+ 		}
+ 	}
+ 
+-	if (!chld_id)
++	if (!*chld)
+ 		return 1;	/* end of iterator */
+ 
+ 	/* set the iterator to the @chld for the next call */
+diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c
+index fb21174..988cd73 100644
+--- a/misc-utils/findmnt.c
++++ b/misc-utils/findmnt.c
+@@ -822,8 +822,9 @@ static int tab_is_tree(struct libmnt_table *tb)
+ 	if (!itr)
+ 		return 0;
+ 
+-	if (mnt_table_next_fs(tb, itr, &fs) == 0)
+-		rc = mnt_fs_get_id(fs) > 0 && mnt_fs_get_parent_id(fs) > 0;
++	rc = (mnt_table_next_fs(tb, itr, &fs) == 0 &&
++	      mnt_fs_is_kernel(fs) &&
++	      mnt_fs_get_root(fs));
+ 
+ 	mnt_free_iter(itr);
+ 	return rc;
+-- 
+1.9.1
+

Copied: util-linux/repos/testing-x86_64/PKGBUILD (from rev 209737, util-linux/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1,115 @@
+# $Id$
+# Maintainer: Tom Gundersen <teg at jklm.no>
+# Maintainer: Dave Reisner <dreisner at archlinux.org>
+# Contributor: judd <jvinet at zeroflux.org>
+
+pkgbase=util-linux
+pkgname=(util-linux libutil-linux)
+pkgver=2.24.1
+pkgrel=5
+pkgdesc="Miscellaneous system utilities for Linux"
+url="http://www.kernel.org/pub/linux/utils/util-linux/"
+arch=('i686' 'x86_64')
+groups=('base' 'base-devel')
+makedepends=('systemd' 'python')
+# checkdepends=('bc')
+license=('GPL2')
+options=('strip' 'debug')
+source=("ftp://ftp.kernel.org/pub/linux/utils/$pkgname/v2.24/$pkgname-$pkgver.tar.xz"
+        uuidd.tmpfiles
+        pam-login
+        pam-common
+        pam-su
+        move_is_mountinfo.patch
+        0001-libmount-FS-id-and-parent-ID-could-be-zero.patch)
+md5sums=('88d46ae23ca599ac5af9cf96b531590f'
+         'a39554bfd65cccfd8254bb46922f4a67'
+         '4368b3f98abd8a32662e094c54e7f9b1'
+         'a31374fef2cba0ca34dfc7078e2969e4'
+         'fa85e5cce5d723275b14365ba71a8aad'
+         '4cdc5f9a6e51b032274761a82937d438'
+         '2f4bc305bd11d6bfaa81e6c1eb0c6f1b')
+
+prepare() {
+  cd "$pkgname-$pkgver"
+
+  patch -p1 -i "${srcdir}/move_is_mountinfo.patch"
+  patch -p1 -i "${srcdir}/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch"
+}
+
+build() {
+  cd "$pkgname-$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 \
+              --enable-socket-activation \
+              --with-python=3
+
+#              --enable-reset \ # part of ncurses
+#              --enable-last \ # not compat
+
+  make
+}
+
+#check() {
+# fails for some reason in chroot, works outside
+#  make -C "$pkgname-$pkgver" check
+#}
+
+package_util-linux() {
+  conflicts=('util-linux-ng' 'eject')
+  provides=("util-linux-ng=$pkgver" 'eject')
+  depends=('pam' 'shadow' 'coreutils' 'libsystemd' 'libutil-linux')
+  optdepends=('python: python bindings to libmount')
+  install=util-linux.install
+  backup=(etc/pam.d/chfn
+          etc/pam.d/chsh
+          etc/pam.d/login
+          etc/pam.d/su
+          etc/pam.d/su-l)
+
+  cd "$pkgname-$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"
+
+  # include tmpfiles fragment for uuidd
+  # TODO(dreisner): offer this upstream?
+  install -Dm644 "$srcdir/uuidd.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/uuidd.conf"
+
+  # usrmove
+  cd "$pkgdir"
+  mv {,usr/}sbin/* usr/bin
+  rmdir sbin usr/sbin
+
+  ### create libutil-linux split
+  rm -rf "$srcdir/_libutil-linux"
+  install -dm755 "$srcdir"/_libutil-linux/usr/lib
+  cd "$srcdir"/_libutil-linux
+  mv "$pkgdir"/usr/lib/lib*.{a,so}* usr/lib
+}
+
+package_libutil-linux() {
+  pkgdesc="util-linux runtime libraries"
+  provides=('libblkid.so' 'libmount.so' 'libuuid.so')
+
+  mv "$srcdir/_libutil-linux"/* "$pkgdir"
+}

Copied: util-linux/repos/testing-x86_64/move_is_mountinfo.patch (from rev 209737, util-linux/trunk/move_is_mountinfo.patch)
===================================================================
--- testing-x86_64/move_is_mountinfo.patch	                        (rev 0)
+++ testing-x86_64/move_is_mountinfo.patch	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1,46 @@
+diff --git a/libmount/src/tab.c b/libmount/src/tab.c
+index 3633b6a..8ae49c8 100644
+--- a/libmount/src/tab.c
++++ b/libmount/src/tab.c
+@@ -47,6 +47,20 @@
+ #include "strutils.h"
+ #include "loopdev.h"
+ 
++static int is_mountinfo(struct libmnt_table *tb)
++{
++	struct libmnt_fs *fs;
++
++	if (!tb)
++		return 0;
++
++	fs = list_first_entry(&tb->ents, struct libmnt_fs, ents);
++	if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs))
++		return 1;
++
++	return 0;
++}
++
+ /**
+  * mnt_new_table:
+  *
+@@ -1229,20 +1335,6 @@ err:
+ 	return NULL;
+ }
+ 
+-static int is_mountinfo(struct libmnt_table *tb)
+-{
+-	struct libmnt_fs *fs;
+-
+-	if (!tb)
+-		return 0;
+-
+-	fs = list_first_entry(&tb->ents, struct libmnt_fs, ents);
+-	if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs))
+-		return 1;
+-
+-	return 0;
+-}
+-
+ /**
+  * mnt_table_is_fs__mounted:
+  * @tb: /proc/self/mountinfo file

Copied: util-linux/repos/testing-x86_64/pam-common (from rev 209737, util-linux/trunk/pam-common)
===================================================================
--- testing-x86_64/pam-common	                        (rev 0)
+++ testing-x86_64/pam-common	2014-04-02 09:44:48 UTC (rev 209738)
@@ -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

Copied: util-linux/repos/testing-x86_64/pam-login (from rev 209737, util-linux/trunk/pam-login)
===================================================================
--- testing-x86_64/pam-login	                        (rev 0)
+++ testing-x86_64/pam-login	2014-04-02 09:44:48 UTC (rev 209738)
@@ -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

Copied: util-linux/repos/testing-x86_64/pam-su (from rev 209737, util-linux/trunk/pam-su)
===================================================================
--- testing-x86_64/pam-su	                        (rev 0)
+++ testing-x86_64/pam-su	2014-04-02 09:44:48 UTC (rev 209738)
@@ -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

Copied: util-linux/repos/testing-x86_64/util-linux.install (from rev 209737, util-linux/trunk/util-linux.install)
===================================================================
--- testing-x86_64/util-linux.install	                        (rev 0)
+++ testing-x86_64/util-linux.install	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1,21 @@
+post_install() {
+  # we don't want use systemd-tmpfiles here because
+  # the package dependency would create a circular dep.
+  if [ ! -d run/uuidd ]; then
+    # refer to uid/gid by number to avoid dependency on filesystem
+    install -o 68 -g 68 -dm755 run/uuidd
+  fi
+}
+
+post_upgrade() {
+  if [ "$(vercmp $2 2.21.2-4)" -lt 0 ]; then
+    if [ -f /var/lib/hwclock/adjtime ]; then
+      mv /var/lib/hwclock/adjtime /etc/adjtime
+    fi
+    if [ -d /var/lib/hwclock ]; then
+      rmdir /var/lib/hwclock
+    fi
+  fi
+
+  post_install
+}

Copied: util-linux/repos/testing-x86_64/uuidd.tmpfiles (from rev 209737, util-linux/trunk/uuidd.tmpfiles)
===================================================================
--- testing-x86_64/uuidd.tmpfiles	                        (rev 0)
+++ testing-x86_64/uuidd.tmpfiles	2014-04-02 09:44:48 UTC (rev 209738)
@@ -0,0 +1 @@
+d /run/uuidd 0755 uuidd uuidd




More information about the arch-commits mailing list