[arch-commits] Commit in util-linux/trunk (4 files)
Dave Reisner
dreisner at archlinux.org
Wed Sep 5 02:43:55 UTC 2012
Date: Tuesday, September 4, 2012 @ 22:43:54
Author: dreisner
Revision: 166164
upgpkg: util-linux 2.22-2
- add etc/pam.d/su in backup array (FS#31412)
- include su.1 manpage from upstream git repo
- create uuidd user on install
- include tmpfiles.d/uuidd.conf (create on install/upgrade)
- fix --localstatedir for uuidd
Added:
util-linux/trunk/su.1
util-linux/trunk/uuidd.tmpfiles
Modified:
util-linux/trunk/PKGBUILD
util-linux/trunk/util-linux.install
--------------------+
PKGBUILD | 33 +++++--
su.1 | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++
util-linux.install | 26 +++++
uuidd.tmpfiles | 1
4 files changed, 283 insertions(+), 7 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2012-09-05 01:16:34 UTC (rev 166163)
+++ PKGBUILD 2012-09-05 02:43:54 UTC (rev 166164)
@@ -4,7 +4,7 @@
pkgname=util-linux
pkgver=2.22
-pkgrel=1
+pkgrel=2
pkgdesc="Miscellaneous system utilities for Linux"
url="http://www.kernel.org/pub/linux/utils/util-linux/"
arch=('i686' 'x86_64')
@@ -16,17 +16,31 @@
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)
-backup=(etc/pam.d/chfn etc/pam.d/chsh etc/pam.d/login)
+ pam-su)
+backup=(etc/pam.d/chfn etc/pam.d/chsh etc/pam.d/login etc/pam.d/su)
install=util-linux.install
+md5sums=('ba2d8cc12a937231c80a04f7f7149303'
+ '7f524538dcf57284a86f03a98e624f04'
+ 'a39554bfd65cccfd8254bb46922f4a67'
+ '4368b3f98abd8a32662e094c54e7f9b1'
+ 'a31374fef2cba0ca34dfc7078e2969e4'
+ 'fa85e5cce5d723275b14365ba71a8aad')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ # unbreak --localstatedir
+ # TODO(dreisner): find out what sami hand 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 \
@@ -62,8 +76,13 @@
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"
+
+ # broken buildsys doesn't include su(1), which means it
+ # isn't even in the dist tarball
+ # TODO(dreisner): patch for this already sent 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'
- '4368b3f98abd8a32662e094c54e7f9b1'
- 'a31374fef2cba0ca34dfc7078e2969e4'
- 'fa85e5cce5d723275b14365ba71a8aad')
Added: su.1
===================================================================
--- su.1 (rev 0)
+++ su.1 2012-09-05 02:43:54 UTC (rev 166164)
@@ -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 .
Modified: util-linux.install
===================================================================
--- util-linux.install 2012-09-05 01:16:34 UTC (rev 166163)
+++ util-linux.install 2012-09-05 02:43:54 UTC (rev 166164)
@@ -1,3 +1,17 @@
+post_install() {
+ # create user for uuidd
+ if ! getent group uuidd >/dev/null; then
+ groupadd -r uuidd
+ fi
+
+ if ! getent passwd uuidd >/dev/null; then
+ useradd -r -s /sbin/nologin -g uuidd uuidd
+ fi
+
+ # ensure /run/uuidd exists
+ systemd-tmpfiles --create uuidd.conf
+}
+
post_upgrade() {
if [ "$(vercmp $2 2.21.2-4)" -lt 0 ]; then
if [ -f /var/lib/hwclock/adjtime ]; then
@@ -7,4 +21,16 @@
rmdir /var/lib/hwclock
fi
fi
+
+ post_install
}
+
+post_remove() {
+ if getent passwd uuidd >/dev/null; then
+ userdel uuidd
+ fi
+
+ if getent group uuidd >/dev/null; then
+ userdel uuidd
+ fi
+}
Added: uuidd.tmpfiles
===================================================================
--- uuidd.tmpfiles (rev 0)
+++ uuidd.tmpfiles 2012-09-05 02:43:54 UTC (rev 166164)
@@ -0,0 +1 @@
+d /run/uuidd 0755 uuidd uuidd
More information about the arch-commits
mailing list