]> git.pld-linux.org Git - packages/rpm.git/commitdiff
- useradd/groupadd fixes for rpm 4.4
authorElan Ruusamäe <glen@pld-linux.org>
Sun, 10 Apr 2005 20:16:38 +0000 (20:16 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    rpm.macros -> 1.201

rpm.macros

index 0dc975c71c72cb5cb7ecc74cc6fdbe06edc42723..1c28034d11511feb031172ccc6635d612655e104 100644 (file)
@@ -586,7 +586,11 @@ fi \
 $CMD %2%{?3: %3} \
 %nil
 
-#
+# fatal macro. produces recursion and therefore stops rpm build.
+# until there's no legal way of stopping rpmbuild from macros, this is used by
+# %useradd/%groupadd to notify user of wrong usage. glen@pld-linux.org
+%fatal() { %{*} %fatal }
+
 # useradd/groupadd macros written by glen@pld-linux.org.
 # All rights reserved. Permission to copy is hereby granted.. yada, yada, yada
 #
@@ -603,22 +607,10 @@ $CMD %2%{?3: %3} \
 # rpm specific flags
 #  -P package name. defaults to %{name}
 #
-# NOTE: the syntax errors are intentional to trigger parse error at package
-# time for required options
-#
 %useradd(c:d:e:f:g:G:Mmk:op:s:u:rP:) \
-%{!-u:%(\
-\
-%useradd: Required argument -u missing\
-} \
-%{!-g:%(\
-\
-%useradd: Required argument -g missing\
-} \
-%{!?1:%(\
-\
-%useradd: Required parameter login missing\
-} \
+%{!-u:%fatal -- useradd: Required argument -u missing} \
+%{!-g:%fatal -- useradd: Required argument -g missing} \
+%{!?1:%fatal -- useradd: Required parameter login missing} \
 if [ -n "`/bin/id -u %{expand:%{%{#}}} 2>/dev/null`" ]; then \
        if [ "`/bin/id -u %{expand:%{%{#}}}`" != "%{-u*}" ]; then \
                echo "Error: user %{expand:%{%{#}}} doesn't have uid=%{-u*}. Correct this before installing %{-P*}%{!?-P:%{name}}." 1>&2 \
@@ -631,14 +623,13 @@ else \
                -r \\\
                -d %{-d*}%{!-d:/usr/share/empty} \\\
                -s %{-s*}%{!-s:/bin/false} \\\
-               %{-c:-c '%(set -- %{-c*}%{*}; echo $1)'}\\\
+               %{-c:-c "%(set -- %{-c*} %{*}; echo $1)"}\\\
                -g %{-g*} \\\
                %{-M} \\\
                %{-G:-G %{-G*}} \\\
-               %{expand:%{%{#}}} 1>&2 \\\
+               %{expand:%{%{#}}} 1>&2 \
 fi;
 
-
 # Usage:
 #   %groupadd [-P package] [-g gid] group
 #
@@ -648,14 +639,8 @@ fi;
 #   %groupadd -P %{name}-base -g %{gid} %{name}
 
 %groupadd(g:P:rfo)     \
-%{!-g:%(\
-\
-%groupadd: Required argument -g missing\
-} \
-%{!?1:%(\
-\
-%groupadd: Required parameter group missing\
-} \
+%{!-g:%fatal -- groupadd: Required argument -g missing} \
+%{!?1:%fatal -- groupadd: Required parameter group missing} \
 if [ -n "`/usr/bin/getgid %{1}`" ]; then \
        if [ "`/usr/bin/getgid %{1}`" != "%{-g*}" ]; then \
                echo "Error: group %{1} doesn't have gid=%{-g*}. Correct this before installing %{-P*}%{!?-P:%{name}}." 1>&2 \
@@ -663,6 +648,5 @@ if [ -n "`/usr/bin/getgid %{1}`" ]; then \
        fi \
 else \
        echo "Adding group %{1} GID=%{-g*}." \
-       /usr/sbin/groupadd -g %{-g*} -r %{1} \
+       /usr/sbin/groupadd -g %{-g*} -r %{1} 1>&2 \
 fi;
-
This page took 0.162777 seconds and 4 git commands to generate.