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-01-22 21:49:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sysuser-tools (Old)
 and      /work/SRC/openSUSE:Factory/.sysuser-tools.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sysuser-tools"

Fri Jan 22 21:49:01 2021 rev:13 rq:865022 version:3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/sysuser-tools/sysuser-tools.changes      
2020-12-16 10:58:49.591471997 +0100
+++ /work/SRC/openSUSE:Factory/.sysuser-tools.new.28504/sysuser-tools.changes   
2021-01-22 21:49:03.077570590 +0100
@@ -1,0 +2,27 @@
+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.GPTu0y/_old  2021-01-22 21:49:03.877571724 +0100
+++ /var/tmp/diff_new_pack.GPTu0y/_new  2021-01-22 21:49:03.881571730 +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 or /usr/bin/systemd-sysusers)
 # prefer original shadow over busybox by default
 Suggests:       shadow
 

++++++ sysusers.prov ++++++
--- /var/tmp/diff_new_pack.GPTu0y/_old  2021-01-22 21:49:03.945571820 +0100
+++ /var/tmp/diff_new_pack.GPTu0y/_new  2021-01-22 21:49:03.949571826 +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.GPTu0y/_old  2021-01-22 21:49:03.961571843 +0100
+++ /var/tmp/diff_new_pack.GPTu0y/_new  2021-01-22 21:49:03.961571843 +0100
@@ -7,85 +7,98 @@
        "$@"
 }
 
-# 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 ]; then
 
-while read LINE
-do
+    # Use systemd-sysusers and let it read the input directly from stdin
+    /usr/bin/systemd-sysusers -
+    # We need to clear the nscd cache, as systemd-sysusers could have
+    # triggered a negative cache entry
+    if [ -x /usr/sbin/nscd ]; then
+       /usr/sbin/nscd -i passwd ||:
+       /usr/sbin/nscd -i group ||:
+    fi
+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

Reply via email to