OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src openpkg-web          Date:   22-Feb-2003 13:46:02
  Branch: HEAD                             Handle: 2003022212455803

  Modified files:
    openpkg-src/openpkg     aux.usrgrp.sh aux.wrapsrc.sh openpkg.spec shtool
    openpkg-web             news.txt

  Log:
    add Solaris/Linux 'getent' based support for passwd/group fiddling,
    too.

  Summary:
    Revision    Changes     Path
    1.6         +10 -10     openpkg-src/openpkg/aux.usrgrp.sh
    1.6         +2  -2      openpkg-src/openpkg/aux.wrapsrc.sh
    1.136       +10 -10     openpkg-src/openpkg/openpkg.spec
    1.7         +27 -14     openpkg-src/openpkg/shtool
    1.3408      +1  -0      openpkg-web/news.txt
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/aux.usrgrp.sh
  ============================================================================
  $ cvs diff -u -r1.5 -r1.6 aux.usrgrp.sh
  --- openpkg-src/openpkg/aux.usrgrp.sh 21 Feb 2003 19:44:46 -0000      1.5
  +++ openpkg-src/openpkg/aux.usrgrp.sh 22 Feb 2003 12:46:00 -0000      1.6
  @@ -68,10 +68,10 @@
         (who am i | cut "-d " -f1) 2>/dev/null ||\
         echo $LOGNAME`
   cgid=`(id -g $cusr) 2>/dev/null ||\
  -      ((cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  +      ((getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
          grep "^${cusr}:" | sed -n -e '1p' | awk -F: '{ print $4; }')`
   cgrp=`(id -gn $cusr) 2>/dev/null ||\
  -      ((cat /etc/group; ypcat group) 2>/dev/null |\
  +      ((getent group; cat /etc/group; ypcat group) 2>/dev/null |\
          grep ":${cgid}:" | sed -n -e '1p' | awk -F: '{ print $1; }')`
   [ ".$cgrp" = . ] && cgrp="$cusr"
   
  @@ -82,10 +82,10 @@
   if [ ".$sgrp" = . ]; then
       sgrp=`(id -gn $susr) 2>/dev/null`
       if [ ".$sgrp" = . ]; then
  -        sgid=`(cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  +        sgid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
                 grep "^${susr}:" | sed -n -e '1p' | awk -F: '{ print $4; }'`
           if [ ".$sgid" != . ]; then
  -            sgrp=`(cat /etc/group; ypcat group) 2>/dev/null |\
  +            sgrp=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
                     grep ":${sgid}:" | sed -n -e '1p' | awk -F: '{ print $1; }'`
           fi
           if [ ".$sgrp" = . ]; then
  @@ -104,10 +104,10 @@
   if [ ".$mgrp" = . ]; then
       mgrp=`(id -gn $musr) 2>/dev/null`
       if [ ".$mgrp" = . ]; then
  -        mgid=`(cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  +        mgid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
                 grep "^${musr}:" | sed -n -e '1p' | awk -F: '{ print $4; }'`
           if [ ".$mgid" != . ]; then
  -            mgrp=`(cat /etc/group; ypcat group) 2>/dev/null |\
  +            mgrp=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
                     grep ":${mgid}:" | sed -n -e '1p' | awk -F: '{ print $1; }'`
           fi
           if [ ".$mgrp" = . ]; then
  @@ -129,10 +129,10 @@
   if [ ".$rgrp" = . ]; then
       rgrp=`(id -gn $rusr) 2>/dev/null`
       if [ ".$rgrp" = . ]; then
  -        rgid=`(cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  +        rgid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
                 grep "^${rusr}:" | sed -n -e '1p' | awk -F: '{ print $4; }'`
           if [ ".$rgid" != . ]; then
  -            rgrp=`(cat /etc/group; ypcat group) 2>/dev/null |\
  +            rgrp=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
                     grep ":${rgid}:" | sed -n -e '1p' | awk -F: '{ print $1; }'`
           fi
           if [ ".$rgrp" = . ]; then
  @@ -154,10 +154,10 @@
   if [ ".$ngrp" = . ]; then
       ngrp=`(id -gn $nusr) 2>/dev/null`
       if [ ".$ngrp" = . ]; then
  -        ngid=`(cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  +        ngid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
                 grep "^${nusr}:" | sed -n -e '1p' | awk -F: '{ print $4; }'`
           if [ ".$ngid" != . ]; then
  -            ngrp=`(cat /etc/group; ypcat group) 2>/dev/null |\
  +            ngrp=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
                     grep ":${ngid}:" | sed -n -e '1p' | awk -F: '{ print $1; }'`
           fi
           if [ ".$ngrp" = . ]; then
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/aux.wrapsrc.sh
  ============================================================================
  $ cvs diff -u -r1.5 -r1.6 aux.wrapsrc.sh
  --- openpkg-src/openpkg/aux.wrapsrc.sh        21 Feb 2003 19:44:46 -0000      1.5
  +++ openpkg-src/openpkg/aux.wrapsrc.sh        22 Feb 2003 12:46:00 -0000      1.6
  @@ -67,10 +67,10 @@
         (who am i | cut "-d " -f1) 2>/dev/null ||\
         echo $LOGNAME`
   cgid=`(id -g $cusr) 2>/dev/null ||\
  -      ((cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  +      ((getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
          grep "^${cusr}:" | sed -n -e '1p' | awk -F: '{ print $4; }')`
   cgrp=`(id -gn $cusr) 2>/dev/null ||\
  -      ((cat /etc/group; ypcat group) 2>/dev/null |\
  +      ((getent group; cat /etc/group; ypcat group) 2>/dev/null |\
          grep ":${cgid}:" | sed -n -e '1p' | awk -F: '{ print $1; }')`
   if [ ".$cgrp" = . ]; then
       cgrp="$cusr"
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/openpkg.spec
  ============================================================================
  $ cvs diff -u -r1.135 -r1.136 openpkg.spec
  --- openpkg-src/openpkg/openpkg.spec  21 Feb 2003 19:44:46 -0000      1.135
  +++ openpkg-src/openpkg/openpkg.spec  22 Feb 2003 12:46:00 -0000      1.136
  @@ -39,8 +39,8 @@
   #   o any cc(1)
   
   #   the package version and release
  -%define       V_openpkg 20030221
  -%define       R_openpkg 20030221
  +%define       V_openpkg 20030222
  +%define       R_openpkg 20030222
   
   #   the used software versions
   %define       V_rpm     4.0.2
  @@ -881,7 +881,7 @@
           eval "xuid=\"\$${class}uid\""
           eval "xgid=\"\$${class}gid\""
           if [ ".$xuid" = . ]; then
  -            xuid=`(cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  +            xuid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
                     grep "^${xusr}:" | awk -F: '{ print $3; }'`
               if [ ".$xuid" = . ]; then
                   #   seek for a reasonably uid/gid pair
  @@ -890,11 +890,11 @@
                   while [ ".$ok" = .0 ]; do
                       eval "u_exists=\$u_exists_$xuid"
                       if [ ".$u_exists" = . ]; then
  -                        u_exists=`(cat /etc/passwd; ypcat passwd) 2>/dev/null | 
grep "^[^:]*:[^:]*:$xuid:"`
  +                        u_exists=`(getent passwd; cat /etc/passwd; ypcat passwd) 
2>/dev/null | grep "^[^:]*:[^:]*:$xuid:"`
                       fi
                       eval "g_exists=\$g_exists_$xuid"
                       if [ ".$g_exists" = . ]; then
  -                        g_exists=`(cat /etc/group;  ypcat group)  2>/dev/null | 
grep "^[^:]*:[^:]*:$xuid:"`
  +                        g_exists=`(getent group; cat /etc/group; ypcat group) 
2>/dev/null | grep "^[^:]*:[^:]*:$xuid:"`
                       fi
                       if [ ".$u_exists" = . -a ".$g_exists" = . ]; then
                           ok=1
  @@ -907,7 +907,7 @@
               fi
           fi
           if [ ".$xgid" = . ]; then
  -            xgid=`(cat /etc/group; ypcat group) 2>/dev/null |\
  +            xgid=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
                     grep "^${xgrp}:" | awk -F: '{ print $3; }'`
               if [ ".$xgid" = . ]; then
                   xgid="$xuid"
  @@ -944,7 +944,7 @@
           class="$1"; usr="$2"; uid="$3"; grp="$4"; gid="$5"
   
           #    check whether user already exists
  -        exists=`(cat /etc/passwd; ypcat passwd) 2>/dev/null | grep "^$usr:"`
  +        exists=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null | grep 
"^$usr:"`
           if [ ".$exists" = . ]; then
               if [ ".$cusr" != ".root" ]; then
                   echo "openpkg:WARNING: skipping creation of OpenPKG $class user 
$usr" 1>&2
  @@ -987,7 +987,7 @@
           fi
   
           #    check whether group already exists
  -        exists=`(cat /etc/group; ypcat group) 2>/dev/null | grep "^$grp:"`
  +        exists=`(getent group; cat /etc/group; ypcat group) 2>/dev/null | grep 
"^$grp:"`
           if [ ".$exists" = . ]; then
               if [ ".$cusr" != ".root" ]; then
                   echo "openpkg:WARNING: skipping creation of OpenPKG $class group 
$grp" 1>&2
  @@ -1312,7 +1312,7 @@
           class="$1"; usr="$2"; uid="$3"; grp="$4"; gid="$5"
   
           #    check whether user already exists
  -        exists=`(cat /etc/passwd; ypcat passwd) 2>/dev/null | grep "^$usr:"`
  +        exists=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null | grep 
"^$usr:"`
           if [ ".$exists" != . ]; then
               if [ ".$cusr" != ".root" ]; then
                   echo "openpkg:WARNING: skipping deletion of OpenPKG $class user 
$usr" 1>&2
  @@ -1346,7 +1346,7 @@
           fi
   
           #    check whether group already exists
  -        exists=`(cat /etc/group; ypcat group) 2>/dev/null | grep "^$grp:"`
  +        exists=`(getent group; cat /etc/group; ypcat group) 2>/dev/null | grep 
"^$grp:"`
           if [ ".$exists" = . ]; then
               if [ ".$cusr" != ".root" ]; then
                   echo "openpkg:WARNING: skipping deletion of OpenPKG $class group 
$grp" 1>&2
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/shtool
  ============================================================================
  $ cvs diff -u -r1.6 -r1.7 shtool
  --- openpkg-src/openpkg/shtool        21 Feb 2003 19:44:46 -0000      1.6
  +++ openpkg-src/openpkg/shtool        22 Feb 2003 12:46:01 -0000      1.7
  @@ -6,7 +6,7 @@
   ##  See http://www.gnu.org/software/shtool/ for more information.
   ##  See ftp://ftp.gnu.org/gnu/shtool/ for latest version.
   ##
  -##  Version:  2.0b0 (21-Feb-2003)
  +##  Version:  2.0b0 (22-Feb-2003)
   ##  Contents: all available modules
   ##
   
  @@ -65,7 +65,7 @@
       exit 1
   fi
   if [ ".$1" = ".-h" -o ".$1" = ".--help" ]; then
  -    echo "This is GNU shtool, version 2.0b0 (21-Feb-2003)"
  +    echo "This is GNU shtool, version 2.0b0 (22-Feb-2003)"
       echo "Copyright (c) 1994-2003 Ralf S. Engelschall <[EMAIL PROTECTED]>"
       echo "Report bugs to <[EMAIL PROTECTED]>"
       echo ''
  @@ -128,7 +128,7 @@
       exit 0
   fi
   if [ ".$1" = ".-v" -o ".$1" = ."--version" ]; then
  -    echo "GNU shtool 2.0b0 (21-Feb-2003)"
  +    echo "GNU shtool 2.0b0 (22-Feb-2003)"
       exit 0
   fi
   if [ ".$1" = ".-r" -o ".$1" = ."--recreate" ]; then
  @@ -701,14 +701,18 @@
                       userid=`echo $str | sed -e 's/^uid[      ]*=[    ]*//' -e 
's/(.*$//'`
                   fi
                   if [ ".$userid" = . ]; then
  -                    userid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \
  +                    userid=`(getent passwd ${username}) 2>/dev/null | \
                               sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`
                       if [ ".$userid" = . ]; then
  -                        userid=`(ypcat passwd) 2>/dev/null |
  -                                egrep "^${username}:" | \
  +                        userid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \
                                   sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`
                           if [ ".$userid" = . ]; then
  -                            userid='?'
  +                            userid=`(ypcat passwd) 2>/dev/null |
  +                                    egrep "^${username}:" | \
  +                                    sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`
  +                            if [ ".$userid" = . ]; then
  +                                userid='?'
  +                            fi
                           fi
                       fi
                   fi
  @@ -726,13 +730,17 @@
                   groupid=`echo $str | sed -e 's/^.*gid[       ]*=[    ]*//' -e 
's/(.*$//'`
               fi
               if [ ".$groupid" = . ]; then
  -                groupid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \
  +                groupid=`(getent passwd ${username}) 2>/dev/null | \
                            sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'`
                   if [ ".$groupid" = . ]; then
  -                    groupid=`(ypcat passwd) 2>/dev/null | egrep "^${username}:" | \
  +                    groupid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \
                                sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'`
                       if [ ".$groupid" = . ]; then
  -                        groupid='?'
  +                        groupid=`(ypcat passwd) 2>/dev/null | egrep "^${username}:" 
| \
  +                                 sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'`
  +                        if [ ".$groupid" = . ]; then
  +                            groupid='?'
  +                        fi
                       fi
                   fi
               fi
  @@ -749,14 +757,19 @@
                   groupname=`echo $str | sed -e 's/^.*gid[     ]*=[    ]*[0-9]*(//' 
-e 's/).*$//'`
               fi
               if [ ".$groupname" = . ]; then
  -                groupname=`egrep "^[^:]*:[^:]*:${groupid}:" /etc/group 2>/dev/null 
| \
  +                groupname=`(getent group) 2>/dev/null | \
  +                           egrep "^[^:]*:[^:]*:${groupid}:" | \
                              sed -e 's/:.*$//'`
                   if [ ".$groupname" = . ]; then
  -                    groupname=`(ypcat group) 2>/dev/null | \
  -                               egrep "^[^:]*:[^:]*:${groupid}:" | \
  +                    groupname=`egrep "^[^:]*:[^:]*:${groupid}:" /etc/group 
2>/dev/null | \
                                  sed -e 's/:.*$//'`
                       if [ ".$groupname" = . ]; then
  -                        groupname='?'
  +                        groupname=`(ypcat group) 2>/dev/null | \
  +                                   egrep "^[^:]*:[^:]*:${groupid}:" | \
  +                                   sed -e 's/:.*$//'`
  +                        if [ ".$groupname" = . ]; then
  +                            groupname='?'
  +                        fi
                       fi
                   fi
               fi
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-web/news.txt
  ============================================================================
  $ cvs diff -u -r1.3407 -r1.3408 news.txt
  --- openpkg-web/news.txt      22 Feb 2003 11:05:26 -0000      1.3407
  +++ openpkg-web/news.txt      22 Feb 2003 12:45:58 -0000      1.3408
  @@ -1,3 +1,4 @@
  +22-Feb-2003: Upgraded package: P<openpkg-20030222-20030222>
   22-Feb-2003: Upgraded package: P<subversion-0.18.0-20030222>
   22-Feb-2003: Upgraded package: P<honeyd-0.5-20030222>
   22-Feb-2003: Upgraded package: P<vim-6.1.351-20030222>
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to