Hello Eric, I am attaching a "diff -u oldfile newfile" output against the 5.93 script. I consider the change only a very slight one, so (I hope) no copyright assignment will be necessary.
Best regards Eric Blake wrote: > According to Reinhold Bader on 1/13/2006 8:31 AM: >>> Dear coreutils maintainers, >>> >>> I am attaching a modified version of /usr/bin/groups which allows to >>> suppress >>> errors resulting from the occurrence of artificial GIDs which are used >>> for authentification purposes. These errors cause difficulties e. g. in >>> Tcl >>> scripts using groups via exec. >>> >>> May I ask for inclusion in the standard distribution tree? >>> The basis used was the 5.2.1 coreutils release as used in Novell's SLES9 >>> distribution. > > > Thanks for the ideas. However, could you please regenerate this as a > unified diff against a more current distribution (the current stable > release is 5.93, and the CVS development is progressing towards an > eventual 6.0 release), rather than as a straight file? Also, your changes > may be large enough that it would require copyright assignment, if it is > indeed worth applying the patch. Without anything to compare against, it > is not obvious what you are trying to add. > > -- > Life is short - so eat dessert first! > > Eric Blake [EMAIL PROTECTED] -- Dr. Reinhold Bader Leibniz-Rechenzentrum, Abt. Hochleistungssysteme | Tel. +49 89 289 28825 Barerstr. 21, 80333 Muenchen | email [EMAIL PROTECTED]
--- groups 2006-01-16 11:10:41.205278000 +0100 +++ groups_noerr 2006-01-16 11:14:06.557536000 +0100 @@ -20,12 +20,16 @@ # Make sure we get GNU id, if possible; also allow # it to be somewhere else in PATH if not installed yet. +# +# LRZ fix: add switch to ignore errors induced by artificial GIDs without +# /etc/group entry. PATH=/usr/bin:$PATH usage="Usage: $0 [OPTION]... [USERNAME]... - --help display this help and exit - --version output version information and exit + --help display this help and exit + --version output version information and exit + --noinvgid ignore invalid GIDs and suppress error Same as id -Gn. If no USERNAME, use current process. @@ -40,6 +44,7 @@ fail=0 +ignore=0 case $# in 1 ) case "z${1}" in @@ -47,6 +52,9 @@ echo "$usage" || fail=1; exit $fail;; z--version ) echo "$version" || fail=1; exit $fail;; + z--noinvgid ) + ignore=1 + shift;; * ) ;; esac ;; @@ -54,8 +62,18 @@ esac if [ $# -eq 0 ]; then - id -Gn - fail=$? + if [ $ignore -eq 0 ] ; then + id -Gn + fail=$? + else + groups=$(id -Gn -- $(whoami)) + status=$? + if test $status = 0; then + echo $groups + else + fail=$status + fi + fi else for name in "$@"; do groups=`id -Gn -- $name`
_______________________________________________ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils