From 85e3e9a170769e80fc9266a89299fd78731598b3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Sun, 10 Apr 2005 20:16:38 +0000 Subject: [PATCH] - useradd/groupadd fixes for rpm 4.4 Changed files: rpm.macros -> 1.201 --- rpm.macros | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/rpm.macros b/rpm.macros index 0dc975c..1c28034 100644 --- a/rpm.macros +++ b/rpm.macros @@ -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; - -- 2.44.0