Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sysuser-tools for openSUSE:Factory checked in at 2021-02-17 18:09:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sysuser-tools (Old) and /work/SRC/openSUSE:Factory/.sysuser-tools.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysuser-tools" Wed Feb 17 18:09:54 2021 rev:16 rq:872280 version:3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/sysuser-tools/sysuser-tools.changes 2021-01-25 10:30:36.515632960 +0100 +++ /work/SRC/openSUSE:Factory/.sysuser-tools.new.28504/sysuser-tools.changes 2021-02-17 18:09:56.261861951 +0100 @@ -1,0 +2,47 @@ +Mon Feb 15 07:30:25 UTC 2021 - Thorsten Kukuk <[email protected]> + +- Don't abort on unbound first argument + +------------------------------------------------------------------- +Thu Feb 11 13:54:01 UTC 2021 - Thorsten Kukuk <[email protected]> + +- Remove sysusers/nscd workaround + +------------------------------------------------------------------- +Fri Jan 29 13:36:08 UTC 2021 - Thorsten Kukuk <[email protected]> + +- Use systemd-sysusers only if /proc is mounted, don't require it + +------------------------------------------------------------------- +Wed Jan 27 13:02:13 UTC 2021 - Thorsten Kukuk <[email protected]> + +- Set --replace option for systemd-sysusers + +------------------------------------------------------------------- +Wed Jan 20 15:06:51 UTC 2021 - Thorsten Kukuk <[email protected]> + +- Ignore nscd return code + +------------------------------------------------------------------- +Tue Jan 19 15:15:41 UTC 2021 - Thorsten Kukuk <[email protected]> + +- If systemd-sysusers is used to create a new user/group, invalidate + the nscd passwd and group cache to make the new user/group + visible immediately as workaround [bsc#1181121]. + Needs to be removed after sytemd-sysusers get's fixed, since we + invalidate the cache even if the user/group file wasn't changed. + +------------------------------------------------------------------- +Sun Jan 17 21:16:25 UTC 2021 - Thorsten Kukuk <[email protected]> + +- An "u" in a sysusers.d file will create an user and a group. + Create provides for both, user and group. + +------------------------------------------------------------------- +Thu Jan 14 14:30:20 UTC 2021 - Thorsten Kukuk <[email protected]> + +- Use systemd-sysusers as default to create and update the user + account. Fixes the problem that a modified sysusers config file + get's ignored by useradd and adduser [bsc#1180549]. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sysuser-tools.spec ++++++ --- /var/tmp/diff_new_pack.NoTgAu/_old 2021-02-17 18:09:57.025862577 +0100 +++ /var/tmp/diff_new_pack.NoTgAu/_new 2021-02-17 18:09:57.029862579 +0100 @@ -1,7 +1,7 @@ # # spec file for package sysuser-tools # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -38,7 +38,7 @@ %package -n sysuser-shadow Summary: Tool to execute sysusers.d with shadow utilities Group: System/Packages -PreReq: useradd_or_adduser_dep +Requires(pre): (/usr/sbin/useradd or busybox) # prefer original shadow over busybox by default Suggests: shadow ++++++ macros.sysusers ++++++ --- /var/tmp/diff_new_pack.NoTgAu/_old 2021-02-17 18:09:57.065862609 +0100 +++ /var/tmp/diff_new_pack.NoTgAu/_new 2021-02-17 18:09:57.065862609 +0100 @@ -7,7 +7,12 @@ # # add %sysusers_requires in the package section # -# add "%sysusers_generate_pre <source file> <account>" to build section +# add "%sysusers_generate_pre <source file> <account> [<config>]" to build section +# +## <source file> is the source file as defined in the spec file header +## <account> is just a random name, th output file will be "<account>.pre" +## <config> is the name of the configuration file as stored in +## /usr/lib/sysusers.d/<config> # # add "%pre -f <account>.pre" to spec file # @@ -16,4 +21,4 @@ %sysusers_requires Requires(pre): sysuser-shadow %sysusers_generate_pre() \ -%{_prefix}/lib/rpm/sysusers-generate-pre "%1" > "%2".pre +%{_prefix}/lib/rpm/sysusers-generate-pre "%1" "%3" > "%2".pre ++++++ sysusers-generate-pre ++++++ --- /var/tmp/diff_new_pack.NoTgAu/_old 2021-02-17 18:09:57.085862625 +0100 +++ /var/tmp/diff_new_pack.NoTgAu/_new 2021-02-17 18:09:57.085862625 +0100 @@ -1,6 +1,6 @@ #!/bin/sh # pass systemd sysusers config paths as argument to this script. -echo '/usr/sbin/sysusers2shadow <<"EOF" || [ -f /.buildenv ]' +echo "/usr/sbin/sysusers2shadow $3 <<\"EOF\" || [ -f /.buildenv ]" grep -he '^[ugmr]' "$@" echo 'EOF' ++++++ sysusers.prov ++++++ --- /var/tmp/diff_new_pack.NoTgAu/_old 2021-02-17 18:09:57.109862645 +0100 +++ /var/tmp/diff_new_pack.NoTgAu/_new 2021-02-17 18:09:57.109862645 +0100 @@ -11,6 +11,7 @@ echo "group($2)" elif [ "$1" = 'u' ]; then echo "user($2)" + echo "group($2)" fi done } ++++++ sysusers2shadow.sh ++++++ --- /var/tmp/diff_new_pack.NoTgAu/_old 2021-02-17 18:09:57.125862658 +0100 +++ /var/tmp/diff_new_pack.NoTgAu/_new 2021-02-17 18:09:57.125862658 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -set -eu +set -e # Print the command and run it run() { @@ -7,85 +7,95 @@ "$@" } -# Absolute path to busybox, if found -busybox= -for i in /bin/busybox /usr/bin/busybox; do [ -x "$i" ] && busybox=$i; done +if [ -x /usr/bin/systemd-sysusers ] && [ -e /proc/version ]; then -while read LINE -do + if [ -n "$1" ]; then + REPLACE_ARG="--replace=/usr/lib/sysusers.d/$1" ||: + fi + # Use systemd-sysusers and let it read the input directly from stdin + /usr/bin/systemd-sysusers $REPLACE_ARG - +else + + # Absolute path to busybox, if found + busybox= + for i in /bin/busybox /usr/bin/busybox; do [ -x "$i" ] && busybox=$i; done + + while read LINE + do # "eval set" to do proper splitting while respecting quotes eval set -- $LINE case "${1-}" in - \#*|"") - ;; - g) + \#*|"") + ;; + g) shift ARGUMENTS="$1" if [ -n "${2-}" ] && [ "$2" != "-" ]; then - ARGUMENTS="-g $2 $ARGUMENTS" + ARGUMENTS="-g $2 $ARGUMENTS" fi if ! /usr/bin/getent group "$1" >> /dev/null; then - if [ -x "/usr/sbin/groupadd" ]; then - run /usr/sbin/groupadd -r $ARGUMENTS - elif [ -x "$busybox" ]; then - run $busybox addgroup -S $ARGUMENTS - else - echo "ERROR: neither groupadd nor busybox found!" - exit 1 - fi + if [ -x "/usr/sbin/groupadd" ]; then + run /usr/sbin/groupadd -r $ARGUMENTS + elif [ -x "$busybox" ]; then + run $busybox addgroup -S $ARGUMENTS + else + echo "ERROR: neither groupadd nor busybox found!" + exit 1 + fi fi ;; - u) + u) shift ARGUMENTS="$1" if [ -n "${2-}" ] && [ "$2" != "-" ]; then - ARGUMENTS="-u $2 $ARGUMENTS" + ARGUMENTS="-u $2 $ARGUMENTS" fi homedir="/" # If null, empty or '-' if [ "${4:--}" != "-" ]; then - homedir="$4" + homedir="$4" fi if [ -x /usr/sbin/useradd ]; then - if ! /usr/bin/getent passwd "$1" >> /dev/null; then - # this is useradd/shadow specific - if /usr/bin/getent group "$1" >> /dev/null; then - ARGUMENTS="-g $1 $ARGUMENTS" - else - ARGUMENTS="-U $ARGUMENTS" - fi - - run /usr/sbin/useradd -r -s /sbin/nologin -c "$3" -d "${homedir}" $ARGUMENTS + if ! /usr/bin/getent passwd "$1" >> /dev/null; then + # this is useradd/shadow specific + if /usr/bin/getent group "$1" >> /dev/null; then + ARGUMENTS="-g $1 $ARGUMENTS" + else + ARGUMENTS="-U $ARGUMENTS" fi + + run /usr/sbin/useradd -r -s /sbin/nologin -c "$3" -d "${homedir}" $ARGUMENTS + fi elif [ -x "$busybox" ]; then - /usr/bin/getent group "$1" >> /dev/null || $busybox addgroup -S "$1" + /usr/bin/getent group "$1" >> /dev/null || $busybox addgroup -S "$1" - if ! /usr/bin/getent passwd "$1" >> /dev/null; then - run $busybox adduser -S -H -s /sbin/nologin -g "$3" -G "$1" -h "${homedir}" $ARGUMENTS - fi + if ! /usr/bin/getent passwd "$1" >> /dev/null; then + run $busybox adduser -S -H -s /sbin/nologin -g "$3" -G "$1" -h "${homedir}" $ARGUMENTS + fi else - echo "ERROR: neither useradd nor busybox found!" - exit 1 + echo "ERROR: neither useradd nor busybox found!" + exit 1 fi - ;; - m) + ;; + m) shift if [ -x /usr/sbin/usermod ] ; then - run /usr/sbin/usermod -a -G $2 $1 + run /usr/sbin/usermod -a -G $2 $1 elif [ -x "$busybox" ]; then - run $busybox addgroup $1 $2 + run $busybox addgroup $1 $2 else - echo "ERROR: neither usermod nor busybox found!" - exit 1 + echo "ERROR: neither usermod nor busybox found!" + exit 1 fi - ;; - r) + ;; + r) echo "range option ignored: \"$LINE\"" ;; - *) - echo "Syntax Error: \"$LINE\"" - exit 1 - ;; + *) + echo "Syntax Error: \"$LINE\"" + exit 1 + ;; esac -done + done +fi
