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

Tom Gundersen tomegun at archlinux.org
Wed Oct 3 20:37:22 UTC 2012


    Date: Wednesday, October 3, 2012 @ 16:37:22
  Author: tomegun
Revision: 167927

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

Added:
  util-linux/repos/testing-i686/
  util-linux/repos/testing-i686/PKGBUILD
    (from rev 167926, util-linux/trunk/PKGBUILD)
  util-linux/repos/testing-i686/hwclock-systz.patch
    (from rev 167926, util-linux/trunk/hwclock-systz.patch)
  util-linux/repos/testing-i686/pam-common
    (from rev 167926, util-linux/trunk/pam-common)
  util-linux/repos/testing-i686/pam-login
    (from rev 167926, util-linux/trunk/pam-login)
  util-linux/repos/testing-i686/pam-su
    (from rev 167926, util-linux/trunk/pam-su)
  util-linux/repos/testing-i686/su.1
    (from rev 167926, util-linux/trunk/su.1)
  util-linux/repos/testing-i686/util-linux.install
    (from rev 167926, util-linux/trunk/util-linux.install)
  util-linux/repos/testing-i686/uuidd.tmpfiles
    (from rev 167926, util-linux/trunk/uuidd.tmpfiles)
  util-linux/repos/testing-x86_64/
  util-linux/repos/testing-x86_64/PKGBUILD
    (from rev 167926, util-linux/trunk/PKGBUILD)
  util-linux/repos/testing-x86_64/hwclock-systz.patch
    (from rev 167926, util-linux/trunk/hwclock-systz.patch)
  util-linux/repos/testing-x86_64/pam-common
    (from rev 167926, util-linux/trunk/pam-common)
  util-linux/repos/testing-x86_64/pam-login
    (from rev 167926, util-linux/trunk/pam-login)
  util-linux/repos/testing-x86_64/pam-su
    (from rev 167926, util-linux/trunk/pam-su)
  util-linux/repos/testing-x86_64/su.1
    (from rev 167926, util-linux/trunk/su.1)
  util-linux/repos/testing-x86_64/util-linux.install
    (from rev 167926, util-linux/trunk/util-linux.install)
  util-linux/repos/testing-x86_64/uuidd.tmpfiles
    (from rev 167926, util-linux/trunk/uuidd.tmpfiles)

------------------------------------+
 testing-i686/PKGBUILD              |   97 ++++++++++++++
 testing-i686/hwclock-systz.patch   |   96 ++++++++++++++
 testing-i686/pam-common            |    6 
 testing-i686/pam-login             |    7 +
 testing-i686/pam-su                |    9 +
 testing-i686/su.1                  |  230 +++++++++++++++++++++++++++++++++++
 testing-i686/util-linux.install    |   20 +++
 testing-i686/uuidd.tmpfiles        |    1 
 testing-x86_64/PKGBUILD            |   97 ++++++++++++++
 testing-x86_64/hwclock-systz.patch |   96 ++++++++++++++
 testing-x86_64/pam-common          |    6 
 testing-x86_64/pam-login           |    7 +
 testing-x86_64/pam-su              |    9 +
 testing-x86_64/su.1                |  230 +++++++++++++++++++++++++++++++++++
 testing-x86_64/util-linux.install  |   20 +++
 testing-x86_64/uuidd.tmpfiles      |    1 
 16 files changed, 932 insertions(+)

Copied: util-linux/repos/testing-i686/PKGBUILD (from rev 167926, util-linux/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1,97 @@
+# $Id$
+# Maintainer: Tom Gundersen <teg at jklm.no>
+# Contributor: judd <jvinet at zeroflux.org>
+
+pkgname=util-linux
+pkgver=2.22
+pkgrel=7
+pkgdesc="Miscellaneous system utilities for Linux"
+url="http://www.kernel.org/pub/linux/utils/util-linux/"
+arch=('i686' 'x86_64')
+groups=('base')
+depends=('pam' 'shadow')
+makedepends=('bc') # for check() only, change this to checkdepends for pacman 4.1
+conflicts=('util-linux-ng' 'eject')
+provides=("util-linux-ng=${pkgver}" 'eject')
+license=('GPL2')
+options=('!libtool')
+source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.22/${pkgname}-${pkgver}.tar.xz
+        su.1
+        uuidd.tmpfiles
+        pam-login
+        pam-common
+        pam-su
+	hwclock-systz.patch)
+backup=(etc/pam.d/chfn
+        etc/pam.d/chsh
+        etc/pam.d/login
+        etc/pam.d/su
+        etc/pam.d/su-l)
+install=util-linux.install
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  patch -p1 -i ../hwclock-systz.patch
+
+  # unbreak --localstatedir
+  # TODO(dreisner): find out what sami had in mind with these heuristics
+  sed -i '71,75d' configure.ac
+  ./autogen.sh
+
+  ./configure --prefix=/usr \
+              --libdir=/usr/lib \
+              --localstatedir=/run \
+              --enable-fs-paths-extra=/usr/bin:/usr/sbin \
+              --enable-raw \
+              --enable-vipw \
+              --enable-newgrp \
+              --enable-chfn-chsh \
+              --enable-write \
+              --enable-mesg \
+              --enable-socket-activation
+
+#              --enable-reset \ # part of ncurses
+#              --enable-last \ # not part of any package
+#              --enable-line \ # not compat
+
+  make
+}
+
+check() {
+  make -C "$pkgname-$pkgver" check
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  make DESTDIR="${pkgdir}" install
+
+  cd "${pkgdir}"
+
+  # 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"
+
+  # broken buildsys doesn't include su(1), which means it
+  # isn't even in the dist tarball
+  # TODO(dreisner): patched upstream
+  install -m644 "$srcdir/su.1" "$pkgdir/usr/share/man/man1/su.1"
+
+  # include tmpfiles fragment for uuidd
+  # TODO(dreisner): offer this upstream?
+  install -Dm644 "$srcdir/uuidd.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/uuidd.conf"
+}
+md5sums=('ba2d8cc12a937231c80a04f7f7149303'
+         '7f524538dcf57284a86f03a98e624f04'
+         'a39554bfd65cccfd8254bb46922f4a67'
+         '4368b3f98abd8a32662e094c54e7f9b1'
+         'a31374fef2cba0ca34dfc7078e2969e4'
+         'fa85e5cce5d723275b14365ba71a8aad'
+         '19eaa197a0cfb046661dede2e991120b')

Copied: util-linux/repos/testing-i686/hwclock-systz.patch (from rev 167926, util-linux/trunk/hwclock-systz.patch)
===================================================================
--- testing-i686/hwclock-systz.patch	                        (rev 0)
+++ testing-i686/hwclock-systz.patch	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1,96 @@
+From 46a8834c2eb9b0c37d92e30d1a262e41306cf36f Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg at jklm.no>
+Date: Wed, 19 Sep 2012 18:10:34 +0200
+Subject: [PATCH 1/2] hwclock: don't warp the systemtime if it is in UTC
+
+A sideeffect of 839be2ba6b44fa9dc927f081d547ebadec9de19c is that we now
+warp the systemtime according to the timezone, on the first call of
+--systz. This is not always the correct thing to do, and causes a
+regression for us in Arch Linux.
+
+This is the correct thing to do if the RTC, and hence the systemtime is
+set in localtime. However, if the systemtime is already in UTC we don't
+want to touch it when we set the kernel timezone (which we still need to
+do as e.g. FAT stores timestamps in localtime).
+
+An almost identical issue was also fixed in systemd commit
+72edcff5db936e54cfc322d9392ec46e2428fd9b.
+
+Fixes:
+Signed-off-by: Tom Gundersen <teg at jklm.no>
+---
+ sys-utils/hwclock.8 | 11 +++++++----
+ sys-utils/hwclock.c | 17 +++++++++++++++--
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+
+diff --git a/sys-utils/hwclock.8 b/sys-utils/hwclock.8
+index 07d9fc0..5c599ad 100644
+--- a/sys-utils/hwclock.8
++++ b/sys-utils/hwclock.8
+@@ -58,10 +58,12 @@ This is a good option to use in one of the system startup scripts.
+ Set the Hardware Clock to the current System Time.
+ .TP
+ .B \-\-systz
+-Reset the System Time based on the current timezone.
++Set the kernel's timezone and reset the System Time based on the current timezone.
+ 
+-Also set the kernel's timezone value to the local timezone
+-as indicated by the TZ environment variable and/or
++The system time is only reset on the first call after boot.
++
++The local timezone is taken to be what is
++indicated by the TZ environment variable and/or
+ .IR /usr/share/zoneinfo ,
+ as
+ .BR tzset (3)
+@@ -74,7 +76,8 @@ This is an alternate option to
+ .B \-\-hctosys
+ that does not read the hardware clock, and may be used in system startup
+ scripts for recent 2.6 kernels where you know the System Time contains
+-the Hardware Clock time.
++the Hardware Clock time. If the Hardware Clock is already in UTC, it is
++not reset.
+ .TP
+ .B \-\-adjust
+ Add or subtract time from the Hardware Clock to account for systematic
+diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c
+index 5a4c87e..351ce1f 100644
+--- a/sys-utils/hwclock.c
++++ b/sys-utils/hwclock.c
+@@ -772,7 +772,6 @@ static int set_system_clock_timezone(const bool universal, const bool testing)
+ 	struct timeval tv;
+ 	struct tm *broken;
+ 	int minuteswest;
+-	int rc;
+ 
+ 	gettimeofday(&tv, NULL);
+ 	if (debug) {
+@@ -818,10 +817,24 @@ static int set_system_clock_timezone(const bool universal, const bool testing)
+ 		       ("Not setting system clock because running in test mode.\n"));
+ 		retcode = 0;
+ 	} else {
++		const struct timezone tz_utc = { 0, 0 };
+ 		const struct timezone tz = { minuteswest, 0 };
+ 		const struct timeval *tv_null = NULL;
++		int rc = 0;
++
++		/* The first call to settimeofday after boot will assume the systemtime
++		 * is in localtime, and adjust it according to the given timezone to
++		 * compensate. If the systemtime is in fact in UTC, then this is wrong
++		 * so we first do a dummy call to make sure the time is not shifted.
++		 */
++		if (universal)
++			rc = settimeofday(tv_null, &tz_utc);
++
++		/* Now we set the real timezone. Due to the above dummy call, this will
++		 * only warp the systemtime if the RTC is not in UTC. */
++		if (!rc)
++			rc = settimeofday(tv_null, &tz);
+ 
+-		rc = settimeofday(tv_null, &tz);
+ 		if (rc) {
+ 			if (errno == EPERM) {
+ 				warnx(_
+-- 
+1.7.12.1
+

Copied: util-linux/repos/testing-i686/pam-common (from rev 167926, util-linux/trunk/pam-common)
===================================================================
--- testing-i686/pam-common	                        (rev 0)
+++ testing-i686/pam-common	2012-10-03 20:37:22 UTC (rev 167927)
@@ -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 167926, util-linux/trunk/pam-login)
===================================================================
--- testing-i686/pam-login	                        (rev 0)
+++ testing-i686/pam-login	2012-10-03 20:37:22 UTC (rev 167927)
@@ -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 167926, util-linux/trunk/pam-su)
===================================================================
--- testing-i686/pam-su	                        (rev 0)
+++ testing-i686/pam-su	2012-10-03 20:37:22 UTC (rev 167927)
@@ -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/su.1 (from rev 167926, util-linux/trunk/su.1)
===================================================================
--- testing-i686/su.1	                        (rev 0)
+++ testing-i686/su.1	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1,230 @@
+.TH SU "1" "June 2012" "util-linux" "User Commands"
+.SH NAME
+su \- run a command with substitute user and group ID
+.SH SYNOPSIS
+.B su
+[options...] [\-] [user [args...]]
+.SH DESCRIPTION
+.B su
+allows to run commands with substitute user and group ID.
+.PP
+When called without arguments
+.B su
+defaults to running an interactive shell as
+.IR root .
+.PP
+For backward compatibility
+.B su
+defaults to not change the current directory and to only set the
+environment variables
+.B HOME
+and
+.B SHELL
+(plus
+.B USER
+and
+.B LOGNAME
+if the target
+.I user
+is not root).  It is recommended to always use the
+.B \-\-login
+option (instead it's shortcut
+.BR \- )
+to avoid side effects caused by mixing environments.
+.PP
+This version of
+.B su
+uses PAM for authentication, account and session management.  Some
+configuration options found in other
+.B su
+implementations such as e.g. support of a wheel group have to be
+configured via PAM.
+.SH OPTIONS
+.TP
+\fB\-c\fR \fIcommand\fR, \fB\-\-command\fR=\fIcommand\fR
+Pass
+.I command
+to the shell with the
+.B \-c
+option.
+.TP
+\fB\-\-session\-command\fR=\fIcommand\fR
+Same as
+.B \-c
+but do not create a new session (discouraged).
+.TP
+\fB\-f\fR, \fB\-\-fast\fR
+Pass
+.B \-f
+to the shell which may or may not be useful depending on the
+shell.
+.TP
+\fB\-g\fR, \fB\-\-group\fR=\fIgroup\fR\fR
+specify the primary group, this option is allowed for root user only
+.TP
+\fB\-G\fR, \fB\-\-supp-group\fR=\fIgroup\fR\fR
+specify a supplemental group, this option is allowed for root user only
+.TP
+\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR
+Starts the shell as login shell with an environment similar to a real
+login:
+.RS 10
+.TP
+o
+clears all environment variables except for
+.B TERM
+.TP
+o
+initializes the environment variables
+.BR HOME ,
+.BR SHELL ,
+.BR USER ,
+.BR LOGNAME ,
+.B PATH
+.TP
+o
+changes to the target user's home directory
+.TP
+o
+sets argv[0] of the shell to
+.RB ' \- '
+in order to make the shell a login shell
+.RE
+.TP
+\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve-environment\fR
+Preserves the whole environment, ie does not set
+.BR HOME ,
+.BR SHELL ,
+.B USER
+nor
+.BR LOGNAME .
+.TP
+\fB\-s\fR \fISHELL\fR, \fB\-\-shell\fR=\fISHELL\fR
+Runs the specified shell instead of the default.  The shell to run is
+selected according to the following rules in order:
+.RS 10
+.TP
+o
+the shell specified with
+.B \-\-shell
+.TP
+o
+The shell specified in the environment variable
+.B SHELL
+if the
+.B \-\-preserve-environment
+option is used.
+.TP
+o
+the shell listed in the passwd entry of the target user
+.TP
+o
+/bin/sh
+.RE
+.IP
+If the target user has a restricted shell (i.e. not listed in
+/etc/shells) the
+.B \-\-shell
+option and the
+.B SHELL
+environment variables are ignored unless the calling user is root.
+.TP
+\fB\-\-help\fR
+Display help text and exit.
+.TP
+\fB\-\-version\fR
+Display version information and exit.
+.SH CONFIG FILES
+.B su
+reads the
+.I /etc/default/su
+and
+.I /etc/login.defs
+configuration files.  The following configuration items are relevant
+for
+.BR su (1):
+.PP
+.B FAIL_DELAY
+(number)
+.RS 4
+Delay in seconds in case of authentication failure.  Number must be
+a non-negative integer.
+.RE
+.PP
+.B ENV_PATH
+(string)
+.RS 4
+Defines the PATH environment variable for a regular user.  The
+default value is
+.IR /usr/local/bin:\:/bin:\:/usr/bin .
+.RE
+.PP
+.B ENV_ROOTPATH
+(string)
+.br
+.B ENV_SUPATH
+(string)
+.RS 4
+Defines the PATH environment variable for root. The default value is
+.IR /usr/local/sbin:\:/usr/local/bin:\:/sbin:\:/bin:\:/usr/sbin:\:/usr/bin .
+.RE
+.PP
+.B ALWAYS_SET_PATH
+(boolean)
+.RS 4
+If set to
+.I yes
+and \-\-login and \-\-preserve\-environment were not specified
+.B su
+initializes
+.BR PATH .
+.RE
+.SH EXIT STATUS
+.B su
+normally returns the exit status of the command it executed.  If the
+command was killed by a signal,
+.B su
+returns the number of the signal plus 128.
+.PP
+Exit status generated by
+.B su
+itself:
+.RS 10
+.TP
+1
+Generic error before executing the requested command
+.TP
+126
+The requested command could not be executed
+.TP
+127
+The requested command could was not found
+.RE
+.SH FILES
+.PD 0
+.TP 17
+/etc/pam.d/su
+default PAM configuration file
+.TP
+/etc/pam.d/su-l
+PAM configuration file if \-\-login is specified
+.TP
+/etc/default/su
+command specific logindef config file
+.TP
+/etc/login.defs
+global logindef config file
+.PD 1
+.SH "SEE ALSO"
+.BR pam (8),
+.BR shells (5),
+.BR login.defs (5)
+.SH AUTHOR
+Derived from coreutils' su which was based on an implementation from
+David MacKenzie.
+.SH AVAILABILITY
+The su command is part of the util-linux package and is
+available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .

Copied: util-linux/repos/testing-i686/util-linux.install (from rev 167926, util-linux/trunk/util-linux.install)
===================================================================
--- testing-i686/util-linux.install	                        (rev 0)
+++ testing-i686/util-linux.install	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1,20 @@
+post_install() {
+  # we don't want use systemd-tmpfiles here because
+  # the package dependency would create a circular dep.
+  if [ ! -d run/uuidd ]; then
+    install -o uuidd -g uuidd -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 167926, util-linux/trunk/uuidd.tmpfiles)
===================================================================
--- testing-i686/uuidd.tmpfiles	                        (rev 0)
+++ testing-i686/uuidd.tmpfiles	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1 @@
+d /run/uuidd 0755 uuidd uuidd

Copied: util-linux/repos/testing-x86_64/PKGBUILD (from rev 167926, util-linux/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1,97 @@
+# $Id$
+# Maintainer: Tom Gundersen <teg at jklm.no>
+# Contributor: judd <jvinet at zeroflux.org>
+
+pkgname=util-linux
+pkgver=2.22
+pkgrel=7
+pkgdesc="Miscellaneous system utilities for Linux"
+url="http://www.kernel.org/pub/linux/utils/util-linux/"
+arch=('i686' 'x86_64')
+groups=('base')
+depends=('pam' 'shadow')
+makedepends=('bc') # for check() only, change this to checkdepends for pacman 4.1
+conflicts=('util-linux-ng' 'eject')
+provides=("util-linux-ng=${pkgver}" 'eject')
+license=('GPL2')
+options=('!libtool')
+source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.22/${pkgname}-${pkgver}.tar.xz
+        su.1
+        uuidd.tmpfiles
+        pam-login
+        pam-common
+        pam-su
+	hwclock-systz.patch)
+backup=(etc/pam.d/chfn
+        etc/pam.d/chsh
+        etc/pam.d/login
+        etc/pam.d/su
+        etc/pam.d/su-l)
+install=util-linux.install
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  patch -p1 -i ../hwclock-systz.patch
+
+  # unbreak --localstatedir
+  # TODO(dreisner): find out what sami had in mind with these heuristics
+  sed -i '71,75d' configure.ac
+  ./autogen.sh
+
+  ./configure --prefix=/usr \
+              --libdir=/usr/lib \
+              --localstatedir=/run \
+              --enable-fs-paths-extra=/usr/bin:/usr/sbin \
+              --enable-raw \
+              --enable-vipw \
+              --enable-newgrp \
+              --enable-chfn-chsh \
+              --enable-write \
+              --enable-mesg \
+              --enable-socket-activation
+
+#              --enable-reset \ # part of ncurses
+#              --enable-last \ # not part of any package
+#              --enable-line \ # not compat
+
+  make
+}
+
+check() {
+  make -C "$pkgname-$pkgver" check
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  make DESTDIR="${pkgdir}" install
+
+  cd "${pkgdir}"
+
+  # 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"
+
+  # broken buildsys doesn't include su(1), which means it
+  # isn't even in the dist tarball
+  # TODO(dreisner): patched upstream
+  install -m644 "$srcdir/su.1" "$pkgdir/usr/share/man/man1/su.1"
+
+  # include tmpfiles fragment for uuidd
+  # TODO(dreisner): offer this upstream?
+  install -Dm644 "$srcdir/uuidd.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/uuidd.conf"
+}
+md5sums=('ba2d8cc12a937231c80a04f7f7149303'
+         '7f524538dcf57284a86f03a98e624f04'
+         'a39554bfd65cccfd8254bb46922f4a67'
+         '4368b3f98abd8a32662e094c54e7f9b1'
+         'a31374fef2cba0ca34dfc7078e2969e4'
+         'fa85e5cce5d723275b14365ba71a8aad'
+         '19eaa197a0cfb046661dede2e991120b')

Copied: util-linux/repos/testing-x86_64/hwclock-systz.patch (from rev 167926, util-linux/trunk/hwclock-systz.patch)
===================================================================
--- testing-x86_64/hwclock-systz.patch	                        (rev 0)
+++ testing-x86_64/hwclock-systz.patch	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1,96 @@
+From 46a8834c2eb9b0c37d92e30d1a262e41306cf36f Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg at jklm.no>
+Date: Wed, 19 Sep 2012 18:10:34 +0200
+Subject: [PATCH 1/2] hwclock: don't warp the systemtime if it is in UTC
+
+A sideeffect of 839be2ba6b44fa9dc927f081d547ebadec9de19c is that we now
+warp the systemtime according to the timezone, on the first call of
+--systz. This is not always the correct thing to do, and causes a
+regression for us in Arch Linux.
+
+This is the correct thing to do if the RTC, and hence the systemtime is
+set in localtime. However, if the systemtime is already in UTC we don't
+want to touch it when we set the kernel timezone (which we still need to
+do as e.g. FAT stores timestamps in localtime).
+
+An almost identical issue was also fixed in systemd commit
+72edcff5db936e54cfc322d9392ec46e2428fd9b.
+
+Fixes:
+Signed-off-by: Tom Gundersen <teg at jklm.no>
+---
+ sys-utils/hwclock.8 | 11 +++++++----
+ sys-utils/hwclock.c | 17 +++++++++++++++--
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+
+diff --git a/sys-utils/hwclock.8 b/sys-utils/hwclock.8
+index 07d9fc0..5c599ad 100644
+--- a/sys-utils/hwclock.8
++++ b/sys-utils/hwclock.8
+@@ -58,10 +58,12 @@ This is a good option to use in one of the system startup scripts.
+ Set the Hardware Clock to the current System Time.
+ .TP
+ .B \-\-systz
+-Reset the System Time based on the current timezone.
++Set the kernel's timezone and reset the System Time based on the current timezone.
+ 
+-Also set the kernel's timezone value to the local timezone
+-as indicated by the TZ environment variable and/or
++The system time is only reset on the first call after boot.
++
++The local timezone is taken to be what is
++indicated by the TZ environment variable and/or
+ .IR /usr/share/zoneinfo ,
+ as
+ .BR tzset (3)
+@@ -74,7 +76,8 @@ This is an alternate option to
+ .B \-\-hctosys
+ that does not read the hardware clock, and may be used in system startup
+ scripts for recent 2.6 kernels where you know the System Time contains
+-the Hardware Clock time.
++the Hardware Clock time. If the Hardware Clock is already in UTC, it is
++not reset.
+ .TP
+ .B \-\-adjust
+ Add or subtract time from the Hardware Clock to account for systematic
+diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c
+index 5a4c87e..351ce1f 100644
+--- a/sys-utils/hwclock.c
++++ b/sys-utils/hwclock.c
+@@ -772,7 +772,6 @@ static int set_system_clock_timezone(const bool universal, const bool testing)
+ 	struct timeval tv;
+ 	struct tm *broken;
+ 	int minuteswest;
+-	int rc;
+ 
+ 	gettimeofday(&tv, NULL);
+ 	if (debug) {
+@@ -818,10 +817,24 @@ static int set_system_clock_timezone(const bool universal, const bool testing)
+ 		       ("Not setting system clock because running in test mode.\n"));
+ 		retcode = 0;
+ 	} else {
++		const struct timezone tz_utc = { 0, 0 };
+ 		const struct timezone tz = { minuteswest, 0 };
+ 		const struct timeval *tv_null = NULL;
++		int rc = 0;
++
++		/* The first call to settimeofday after boot will assume the systemtime
++		 * is in localtime, and adjust it according to the given timezone to
++		 * compensate. If the systemtime is in fact in UTC, then this is wrong
++		 * so we first do a dummy call to make sure the time is not shifted.
++		 */
++		if (universal)
++			rc = settimeofday(tv_null, &tz_utc);
++
++		/* Now we set the real timezone. Due to the above dummy call, this will
++		 * only warp the systemtime if the RTC is not in UTC. */
++		if (!rc)
++			rc = settimeofday(tv_null, &tz);
+ 
+-		rc = settimeofday(tv_null, &tz);
+ 		if (rc) {
+ 			if (errno == EPERM) {
+ 				warnx(_
+-- 
+1.7.12.1
+

Copied: util-linux/repos/testing-x86_64/pam-common (from rev 167926, util-linux/trunk/pam-common)
===================================================================
--- testing-x86_64/pam-common	                        (rev 0)
+++ testing-x86_64/pam-common	2012-10-03 20:37:22 UTC (rev 167927)
@@ -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 167926, util-linux/trunk/pam-login)
===================================================================
--- testing-x86_64/pam-login	                        (rev 0)
+++ testing-x86_64/pam-login	2012-10-03 20:37:22 UTC (rev 167927)
@@ -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 167926, util-linux/trunk/pam-su)
===================================================================
--- testing-x86_64/pam-su	                        (rev 0)
+++ testing-x86_64/pam-su	2012-10-03 20:37:22 UTC (rev 167927)
@@ -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/su.1 (from rev 167926, util-linux/trunk/su.1)
===================================================================
--- testing-x86_64/su.1	                        (rev 0)
+++ testing-x86_64/su.1	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1,230 @@
+.TH SU "1" "June 2012" "util-linux" "User Commands"
+.SH NAME
+su \- run a command with substitute user and group ID
+.SH SYNOPSIS
+.B su
+[options...] [\-] [user [args...]]
+.SH DESCRIPTION
+.B su
+allows to run commands with substitute user and group ID.
+.PP
+When called without arguments
+.B su
+defaults to running an interactive shell as
+.IR root .
+.PP
+For backward compatibility
+.B su
+defaults to not change the current directory and to only set the
+environment variables
+.B HOME
+and
+.B SHELL
+(plus
+.B USER
+and
+.B LOGNAME
+if the target
+.I user
+is not root).  It is recommended to always use the
+.B \-\-login
+option (instead it's shortcut
+.BR \- )
+to avoid side effects caused by mixing environments.
+.PP
+This version of
+.B su
+uses PAM for authentication, account and session management.  Some
+configuration options found in other
+.B su
+implementations such as e.g. support of a wheel group have to be
+configured via PAM.
+.SH OPTIONS
+.TP
+\fB\-c\fR \fIcommand\fR, \fB\-\-command\fR=\fIcommand\fR
+Pass
+.I command
+to the shell with the
+.B \-c
+option.
+.TP
+\fB\-\-session\-command\fR=\fIcommand\fR
+Same as
+.B \-c
+but do not create a new session (discouraged).
+.TP
+\fB\-f\fR, \fB\-\-fast\fR
+Pass
+.B \-f
+to the shell which may or may not be useful depending on the
+shell.
+.TP
+\fB\-g\fR, \fB\-\-group\fR=\fIgroup\fR\fR
+specify the primary group, this option is allowed for root user only
+.TP
+\fB\-G\fR, \fB\-\-supp-group\fR=\fIgroup\fR\fR
+specify a supplemental group, this option is allowed for root user only
+.TP
+\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR
+Starts the shell as login shell with an environment similar to a real
+login:
+.RS 10
+.TP
+o
+clears all environment variables except for
+.B TERM
+.TP
+o
+initializes the environment variables
+.BR HOME ,
+.BR SHELL ,
+.BR USER ,
+.BR LOGNAME ,
+.B PATH
+.TP
+o
+changes to the target user's home directory
+.TP
+o
+sets argv[0] of the shell to
+.RB ' \- '
+in order to make the shell a login shell
+.RE
+.TP
+\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve-environment\fR
+Preserves the whole environment, ie does not set
+.BR HOME ,
+.BR SHELL ,
+.B USER
+nor
+.BR LOGNAME .
+.TP
+\fB\-s\fR \fISHELL\fR, \fB\-\-shell\fR=\fISHELL\fR
+Runs the specified shell instead of the default.  The shell to run is
+selected according to the following rules in order:
+.RS 10
+.TP
+o
+the shell specified with
+.B \-\-shell
+.TP
+o
+The shell specified in the environment variable
+.B SHELL
+if the
+.B \-\-preserve-environment
+option is used.
+.TP
+o
+the shell listed in the passwd entry of the target user
+.TP
+o
+/bin/sh
+.RE
+.IP
+If the target user has a restricted shell (i.e. not listed in
+/etc/shells) the
+.B \-\-shell
+option and the
+.B SHELL
+environment variables are ignored unless the calling user is root.
+.TP
+\fB\-\-help\fR
+Display help text and exit.
+.TP
+\fB\-\-version\fR
+Display version information and exit.
+.SH CONFIG FILES
+.B su
+reads the
+.I /etc/default/su
+and
+.I /etc/login.defs
+configuration files.  The following configuration items are relevant
+for
+.BR su (1):
+.PP
+.B FAIL_DELAY
+(number)
+.RS 4
+Delay in seconds in case of authentication failure.  Number must be
+a non-negative integer.
+.RE
+.PP
+.B ENV_PATH
+(string)
+.RS 4
+Defines the PATH environment variable for a regular user.  The
+default value is
+.IR /usr/local/bin:\:/bin:\:/usr/bin .
+.RE
+.PP
+.B ENV_ROOTPATH
+(string)
+.br
+.B ENV_SUPATH
+(string)
+.RS 4
+Defines the PATH environment variable for root. The default value is
+.IR /usr/local/sbin:\:/usr/local/bin:\:/sbin:\:/bin:\:/usr/sbin:\:/usr/bin .
+.RE
+.PP
+.B ALWAYS_SET_PATH
+(boolean)
+.RS 4
+If set to
+.I yes
+and \-\-login and \-\-preserve\-environment were not specified
+.B su
+initializes
+.BR PATH .
+.RE
+.SH EXIT STATUS
+.B su
+normally returns the exit status of the command it executed.  If the
+command was killed by a signal,
+.B su
+returns the number of the signal plus 128.
+.PP
+Exit status generated by
+.B su
+itself:
+.RS 10
+.TP
+1
+Generic error before executing the requested command
+.TP
+126
+The requested command could not be executed
+.TP
+127
+The requested command could was not found
+.RE
+.SH FILES
+.PD 0
+.TP 17
+/etc/pam.d/su
+default PAM configuration file
+.TP
+/etc/pam.d/su-l
+PAM configuration file if \-\-login is specified
+.TP
+/etc/default/su
+command specific logindef config file
+.TP
+/etc/login.defs
+global logindef config file
+.PD 1
+.SH "SEE ALSO"
+.BR pam (8),
+.BR shells (5),
+.BR login.defs (5)
+.SH AUTHOR
+Derived from coreutils' su which was based on an implementation from
+David MacKenzie.
+.SH AVAILABILITY
+The su command is part of the util-linux package and is
+available from
+.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+Linux Kernel Archive
+.UE .

Copied: util-linux/repos/testing-x86_64/util-linux.install (from rev 167926, util-linux/trunk/util-linux.install)
===================================================================
--- testing-x86_64/util-linux.install	                        (rev 0)
+++ testing-x86_64/util-linux.install	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1,20 @@
+post_install() {
+  # we don't want use systemd-tmpfiles here because
+  # the package dependency would create a circular dep.
+  if [ ! -d run/uuidd ]; then
+    install -o uuidd -g uuidd -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 167926, util-linux/trunk/uuidd.tmpfiles)
===================================================================
--- testing-x86_64/uuidd.tmpfiles	                        (rev 0)
+++ testing-x86_64/uuidd.tmpfiles	2012-10-03 20:37:22 UTC (rev 167927)
@@ -0,0 +1 @@
+d /run/uuidd 0755 uuidd uuidd




More information about the arch-commits mailing list