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

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   29-Sep-2006 08:54:06
  Branch: HEAD                             Handle: 2006092907540401

  Modified files:
    openpkg-src/openpkg     HISTORY aux.usrgrp.sh aux.wrapsrc.sh openpkg.spec
                            rpmmacros shtool

  Log:
    - passwd/group lookups more efficient by performing key-based lookups 
instead of full dumps when possible
    - upgrade to latest tools

  Summary:
    Revision    Changes     Path
    1.379       +2  -0      openpkg-src/openpkg/HISTORY
    1.17        +24 -24     openpkg-src/openpkg/aux.usrgrp.sh
    1.22        +4  -4      openpkg-src/openpkg/aux.wrapsrc.sh
    1.528       +40 -12     openpkg-src/openpkg/openpkg.spec
    1.78        +8  -8      openpkg-src/openpkg/rpmmacros
    1.35        +22 -10     openpkg-src/openpkg/shtool
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/HISTORY
  ============================================================================
  $ cvs diff -u -r1.378 -r1.379 HISTORY
  --- openpkg-src/openpkg/HISTORY       28 Sep 2006 15:18:00 -0000      1.378
  +++ openpkg-src/openpkg/HISTORY       29 Sep 2006 06:54:04 -0000      1.379
  @@ -2,6 +2,8 @@
   2006
   ====
   
  +20060929 make passwd/group lookups more efficient by performing key-based 
lookups instead of full dumps when possible
  +20060929 upgrade to openpkg-tools 0.8.75
   20060928 upgrade to OpenSSL 0.9.8d
   20060926 upgrade to openpkg-tools 0.8.74
   20060923 upgrade to GNU config 20060923
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/aux.usrgrp.sh
  ============================================================================
  $ cvs diff -u -r1.16 -r1.17 aux.usrgrp.sh
  --- openpkg-src/openpkg/aux.usrgrp.sh 1 Jan 2006 13:17:48 -0000       1.16
  +++ openpkg-src/openpkg/aux.usrgrp.sh 29 Sep 2006 06:54:04 -0000      1.17
  @@ -79,11 +79,11 @@
         (who am i | cut "-d " -f1) 2>/dev/null ||\
         echo $LOGNAME`
   cgid=`(id -g $cusr) 2>/dev/null ||\
  -      ((getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  -       grep "^${cusr}:" | sed -n -e '1p' | awk -F: '{ print $4; }')`
  +      ((getent passwd "${cusr}"; grep "^${cusr}:" /etc/passwd; ypmatch 
"${cusr}" passwd; nismatch "${cusr}" passwd; nidump passwd . | grep 
"^${cusr}:") 2>/dev/null |\
  +       sed -n -e '1p' | awk -F: '{ print $4; }')`
   cgrp=`(id -gn $cusr) 2>/dev/null ||\
  -      ((getent group; cat /etc/group; ypcat group) 2>/dev/null |\
  -       grep ":${cgid}:" | sed -n -e '1p' | awk -F: '{ print $1; }')`
  +      ((getent group; cat /etc/group; ypcat group; niscat group; nidump 
group .) 2>/dev/null | grep "^[^:]*:[^:]*:${cgid}:" |\
  +       sed -n -e '1p' | awk -F: '{ print $1; }')`
   [ ".$cgrp" = . ] && cgrp="$cusr"
   
   #   determine OpenPKG susr/sgrp
  @@ -97,12 +97,12 @@
   if [ ".$sgrp" = . ]; then
       sgrp=`(id -gn $susr) 2>/dev/null`
       if [ ".$sgrp" = . ]; then
  -        tgid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  -              grep "^${susr}:" | sed -n -e '1p' | awk -F: '{ print $4; }'`
  +        tgid=`(getent passwd "${susr}"; grep "^${susr}:" /etc/passwd; 
ypmatch "${susr}" passwd; nismatch "${susr}" passwd; nidump passwd . | grep 
"^${susr}:") 2>/dev/null |\
  +              sed -n -e '1p' | awk -F: '{ print $4; }'`
           if [ ".$tgid" != . ]; then
               sgid="${tgid}"
  -            sgrp=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
  -                  grep ":${sgid}:" | sed -n -e '1p' | awk -F: '{ print $1; 
}'`
  +            sgrp=`(getent group; cat /etc/group; ypcat group; niscat group; 
nidump group .) 2>/dev/null |\
  +                  grep "^[^:]*:[^:]*:${sgid}:" | sed -n -e '1p' | awk -F: '{ 
print $1; }'`
           fi
           if [ ".$sgrp" = . ]; then
               sgrp="wheel"
  @@ -120,12 +120,12 @@
   if [ ".$mgrp" = . ]; then
       mgrp=`(id -gn $musr) 2>/dev/null`
       if [ ".$mgrp" = . ]; then
  -        tgid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  -              grep "^${musr}:" | sed -n -e '1p' | awk -F: '{ print $4; }'`
  +        tgid=`(getent passwd "${musr}"; grep "^${musr}:" /etc/passwd; 
ypmatch "${musr}" passwd; nismatch "${musr}" passwd; nidump passwd . | grep 
"^${musr}:") 2>/dev/null |\
  +              sed -n -e '1p' | awk -F: '{ print $4; }'`
           if [ ".$tgid" != . ]; then
               mgid="${tgid}"
  -            mgrp=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
  -                  grep ":${mgid}:" | sed -n -e '1p' | awk -F: '{ print $1; 
}'`
  +            mgrp=`(getent group; cat /etc/group; ypcat group; niscat group; 
nidump group .) 2>/dev/null |\
  +                  grep "^[^:]*:[^:]*:${mgid}:" | sed -n -e '1p' | awk -F: '{ 
print $1; }'`
           fi
           if [ ".$mgrp" = . ]; then
               mgrp="$grp"
  @@ -146,12 +146,12 @@
   if [ ".$rgrp" = . ]; then
       rgrp=`(id -gn $rusr) 2>/dev/null`
       if [ ".$rgrp" = . ]; then
  -        tgid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  -              grep "^${rusr}:" | sed -n -e '1p' | awk -F: '{ print $4; }'`
  +        tgid=`(getent passwd "${rusr}"; grep "^${rusr}:" /etc/passwd; 
ypmatch "${rusr}" passwd; nismatch "${rusr}" passwd; nidump passwd . | grep 
"^${rusr}:") 2>/dev/null |\
  +              sed -n -e '1p' | awk -F: '{ print $4; }'`
           if [ ".$tgid" != . ]; then
               rgid="${tgid}"
  -            rgrp=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
  -                  grep ":${rgid}:" | sed -n -e '1p' | awk -F: '{ print $1; 
}'`
  +            rgrp=`(getent group; cat /etc/group; ypcat group; nismatch 
group; nidump group .) 2>/dev/null |\
  +                  grep "^[^:]*:[^:]*:${rgid}:" | sed -n -e '1p' | awk -F: '{ 
print $1; }'`
           fi
           if [ ".$rgrp" = . ]; then
               rgrp="${grp}-r"
  @@ -172,12 +172,12 @@
   if [ ".$ngrp" = . ]; then
       ngrp=`(id -gn $nusr) 2>/dev/null`
       if [ ".$ngrp" = . ]; then
  -        tgid=`(getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  -              grep "^${nusr}:" | sed -n -e '1p' | awk -F: '{ print $4; }'`
  +        tgid=`(getent passwd "${nusr}"; grep "^${nusr}:" /etc/passwd; 
ypmatch "${nusr}" passwd; nismatch "${nusr}" passwd; nidump passwd . | grep 
"^${nusr}:") 2>/dev/null |\
  +              sed -n -e '1p' | awk -F: '{ print $4; }'`
           if [ ".$tgid" != . ]; then
               ngid="${tgid}"
  -            ngrp=`(getent group; cat /etc/group; ypcat group) 2>/dev/null |\
  -                  grep ":${ngid}:" | sed -n -e '1p' | awk -F: '{ print $1; 
}'`
  +            ngrp=`(getent group; cat /etc/group; ypcat group; niscat group; 
nidump group .) 2>/dev/null |\
  +                  grep "^[^:]*:[^:]*:${ngid}:" | sed -n -e '1p' | awk -F: '{ 
print $1; }'`
           fi
           if [ ".$ngrp" = . ]; then
               ngrp="${grp}-n"
  @@ -189,16 +189,16 @@
   fi
   
   #   determine OpenPKG suid/sgid
  -#   FIXME?! (currently not necessary)
  +#   (currently not necessary)
   
   #   determine OpenPKG muid/mgid
  -#   FIXME?! (currently not necessary)
  +#   (currently not necessary)
   
   #   determine OpenPKG ruid/rgid
  -#   FIXME?! (currently not necessary)
  +#   (currently not necessary)
   
   #   determine OpenPKG nuid/ngid
  -#   FIXME?! (currently not necessary)
  +#   (currently not necessary)
   
   #   print results
   output=""
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/aux.wrapsrc.sh
  ============================================================================
  $ cvs diff -u -r1.21 -r1.22 aux.wrapsrc.sh
  --- openpkg-src/openpkg/aux.wrapsrc.sh        1 Jan 2006 13:17:48 -0000       
1.21
  +++ openpkg-src/openpkg/aux.wrapsrc.sh        29 Sep 2006 06:54:04 -0000      
1.22
  @@ -110,11 +110,11 @@
         (who am i | cut "-d " -f1) 2>/dev/null ||\
         echo $LOGNAME`
   cgid=`(id -g $cusr) 2>/dev/null ||\
  -      ((getent passwd; cat /etc/passwd; ypcat passwd) 2>/dev/null |\
  -       grep "^${cusr}:" | sed -n -e '1p' | awk -F: '{ print $4; }')`
  +      ((getent passwd "${cusr}"; grep "^${cusr}:" /etc/passwd; ypmatch 
"${cusr}" passwd; nismatch "${cusr}" passwd; nidump passwd . | grep 
"^${cusr}:") 2>/dev/null |\
  +      sed -e 'q' | awk -F: '{ print $4; }')`
   cgrp=`(id -gn $cusr) 2>/dev/null ||\
  -      ((getent group; cat /etc/group; ypcat group) 2>/dev/null |\
  -       grep ":${cgid}:" | sed -n -e '1p' | awk -F: '{ print $1; }')`
  +      ((getent group; cat /etc/group; ypcat group; niscat group; nidump 
group .) 2>/dev/null | grep "^[^:]*:[^:]*:${cgid}:" |\
  +      sed -e 'q' | awk -F: '{ print $1; }')`
   if [ ".$cgrp" = . ]; then
       cgrp="$cusr"
   fi
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/openpkg.spec
  ============================================================================
  $ cvs diff -u -r1.527 -r1.528 openpkg.spec
  --- openpkg-src/openpkg/openpkg.spec  28 Sep 2006 15:18:00 -0000      1.527
  +++ openpkg-src/openpkg/openpkg.spec  29 Sep 2006 06:54:04 -0000      1.528
  @@ -39,7 +39,7 @@
   #   o any cc(1)
   
   #   the package version/release
  -%define       V_openpkg  20060928
  +%define       V_openpkg  20060929
   
   #   the used software versions
   %define       V_rpm      4.2.1
  @@ -57,7 +57,7 @@
   %define       V_registry 0.7.2
   %define       V_perl     5.8.8
   %define       V_openssl  0.9.8d
  -%define       V_tools    0.8.74
  +%define       V_tools    0.8.75
   
   #   package information
   Name:         openpkg
  @@ -1615,8 +1615,12 @@
           eval "xuid=\"\$${class}uid\""
           eval "xgid=\"\$${class}gid\""
           if [ ".$xuid" = . ]; then
  -            xuid=`(getent passwd; cat /etc/passwd; ypcat passwd; nidump 
passwd .) 2>/dev/null |\
  -                  grep "^${xusr}:" | awk -F: '{ print $3; }' | sed -e q`
  +            xuid=`(getent passwd "${xusr}"; \
  +                   grep "^${xusr}:" /etc/passwd; \
  +                   ypmatch "${xusr}" passwd; \
  +                   nismatch "${xusr}" passwd; \
  +                   nidump passwd . | grep "^${xusr}:") 2>/dev/null | \
  +                   sed -e 'q' | awk -F: '{ print $3; }'`
               if [ ".$xuid" = . ]; then
                   #   seek for a reasonably uid/gid pair
                   xuid=1000
  @@ -1624,12 +1628,12 @@
                   while [ ".$ok" = .0 ]; do
                       eval "u_exists=\$u_exists_$xuid"
                       if [ ".$u_exists" = . ]; then
  -                        u_exists=`(getent passwd; cat /etc/passwd; ypcat 
passwd; nidump passwd .) 2>/dev/null |\
  +                        u_exists=`(getent passwd; cat /etc/passwd; ypcat 
passwd; niscat passwd; nidump passwd .) 2>/dev/null |\
                                     grep "^[^:]*:[^:]*:$xuid:"`
                       fi
                       eval "g_exists=\$g_exists_$xuid"
                       if [ ".$g_exists" = . ]; then
  -                        g_exists=`(getent group; cat /etc/group; ypcat 
group; nidump group .) 2>/dev/null |\
  +                        g_exists=`(getent group; cat /etc/group; ypcat 
group; niscat group; nidump group .) 2>/dev/null |\
                                     grep "^[^:]*:[^:]*:$xuid:"`
                       fi
                       if [ ".$u_exists" = . -a ".$g_exists" = . ]; then
  @@ -1643,8 +1647,12 @@
               fi
           fi
           if [ ".$xgid" = . ]; then
  -            xgid=`(getent group; cat /etc/group; ypcat group; nidump group 
.) 2>/dev/null |\
  -                  grep "^${xgrp}:" | awk -F: '{ print $3; }' | sed -e q`
  +            xgid=`(getent group "${xgrp}"; \
  +                  grep "^${xgrp}:" /etc/group; \
  +                  ypmatch "${xgrp}" group; \
  +                  nismatch "${xgrp}" group; \
  +                  nidump group . | grep "^${xgrp}:") 2>/dev/null | \
  +                  sed -e 'q' | awk -F: '{ print $3; }'`
               if [ ".$xgid" = . ]; then
                   xgid="$xuid"
               fi
  @@ -1682,7 +1690,12 @@
           class="$1"; usr="$2"; uid="$3"; grp="$4"; gid="$5"
   
           #   check whether user already exists
  -        exists=`(getent passwd; cat /etc/passwd; ypcat passwd; nidump passwd 
.) 2>/dev/null | grep "^$usr:"`
  +        exists=`(getent passwd "$usr"; \
  +                 grep "^$usr:" /etc/passwd; \
  +                 ypmatch "$usr" passwd; \
  +                 nismatch "$usr" passwd; \
  +                 nidump passwd . | grep "^$usr:") 2>/dev/null | \
  +                 sed -e 'q'`
           if [ ".$exists" = . ]; then
               if [ ".$cusr" != ".root" ]; then
                   echo "openpkg:WARNING: skipping creation of OpenPKG $class 
user $usr" 1>&2
  @@ -1766,7 +1779,12 @@
           fi
   
           #   check whether group already exists
  -        exists=`(getent group; cat /etc/group; ypcat group; nidump group .) 
2>/dev/null | grep "^$grp:"`
  +        exists=`(getent group "$grp"; \
  +                grep "^$grp:" /etc/group; \
  +                ypmatch "$grp" group; \
  +                nismatch "$grp" group; \
  +                nidump group . | grep "^$grp:") 2>/dev/null | \
  +                sed -e 'q'`
           if [ ".$exists" = . ]; then
               if [ ".$cusr" != ".root" ]; then
                   echo "openpkg:WARNING: skipping creation of OpenPKG $class 
group $grp" 1>&2
  @@ -2459,7 +2477,12 @@
           class="$1"; usr="$2"; uid="$3"; grp="$4"; gid="$5"
   
           #   check whether user already exists
  -        exists=`(getent passwd; cat /etc/passwd; ypcat passwd; nidump passwd 
.) 2>/dev/null | grep "^$usr:"`
  +        exists=`(getent passwd "$usr"; \
  +                 grep "^$usr:" /etc/passwd; \
  +                 ypmatch "$usr" passwd; \
  +                 nismatch "$usr" passwd; \
  +                 nidump passwd . | grep "^$usr:") 2>/dev/null | \
  +                 sed -e 'q'`
           if [ ".$exists" != . ]; then
               if [ ".$cusr" != ".root" ]; then
                   echo "openpkg:WARNING: skipping deletion of OpenPKG $class 
user $usr" 1>&2
  @@ -2515,7 +2538,12 @@
           fi
   
           #   check whether group already exists
  -        exists=`(getent group; cat /etc/group; ypcat group; nidump group .) 
2>/dev/null | grep "^$grp:"`
  +        exists=`(getent group "$grp"; \
  +                grep "^$grp:" /etc/group; \
  +                ypmatch "$grp" group; \
  +                nismatch "$grp" group; \
  +                nidump group . | grep "^$grp:") 2>/dev/null | \
  +                sed -e 'q'`
           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/rpmmacros
  ============================================================================
  $ cvs diff -u -r1.77 -r1.78 rpmmacros
  --- openpkg-src/openpkg/rpmmacros     22 Jun 2006 08:51:06 -0000      1.77
  +++ openpkg-src/openpkg/rpmmacros     29 Sep 2006 06:54:05 -0000      1.78
  @@ -101,26 +101,26 @@
   #   the *S*uper-user user/group name/id pair
   %l_susr                  @SUSR@
   %l_sgrp                  @SGRP@
  -%l_suid                  %((getent passwd; cat /etc/passwd; ypcat passwd; 
nidump passwd .) 2>/dev/null | grep "^%{l_susr}:" | sed -e 'q' | awk -F: '{ 
print $3; }')
  -%l_sgid                  %((getent group;  cat /etc/group;  ypcat group; 
nidump group .)  2>/dev/null | grep "^%{l_sgrp}:" | sed -e 'q' | awk -F: '{ 
print $3; }')
  +%l_suid                  %((getent passwd "%{l_susr}"; grep "^%{l_susr}:" 
/etc/passwd; ypmatch "%{l_susr}" passwd; nismatch "%{l_susr}" passwd; nidump 
passwd . | grep "^%{l_susr}:") 2>/dev/null | sed -e 'q' | awk -F: '{ print $3; 
}')
  +%l_sgid                  %((getent group  "%{l_sgrp}"; grep "^%{l_sgrp}:" 
/etc/group;  ypmatch "%{l_sgrp}" group;  nismatch "%{l_sgrp}" group;  nidump 
group  . | grep "^%{l_susr}:") 2>/dev/null | sed -e 'q' | awk -F: '{ print $3; 
}')
   
   #   the *M*anagement user/group name/id pair
   %l_musr                  @MUSR@
   %l_mgrp                  @MGRP@
  -%l_muid                  %((getent passwd; cat /etc/passwd; ypcat passwd; 
nidump passwd .) 2>/dev/null | grep "^%{l_musr}:" | sed -e 'q' | awk -F: '{ 
print $3; }')
  -%l_mgid                  %((getent group;  cat /etc/group;  ypcat group; 
nidump group .)  2>/dev/null | grep "^%{l_mgrp}:" | sed -e 'q' | awk -F: '{ 
print $3; }')
  +%l_muid                  %((getent passwd "%{l_musr}"; grep "^%{l_musr}:" 
/etc/passwd; ypmatch "%{l_musr}" passwd; nismatch "%{l_musr}" passwd; nidump 
passwd . | grep "^%{l_musr}:") 2>/dev/null | sed -e 'q' | awk -F: '{ print $3; 
}')
  +%l_mgid                  %((getent group  "%{l_mgrp}"; grep "^%{l_mgrp}:" 
/etc/group;  ypmatch "%{l_mgrp}" group;  nismatch "%{l_mgrp}" group;  nidump 
group  . | grep "^%{l_musr}:") 2>/dev/null | sed -e 'q' | awk -F: '{ print $3; 
}')
   
   #   the *R*restricted user/group name/id pair
   %l_rusr                  @RUSR@
   %l_rgrp                  @RGRP@
  -%l_ruid                  %((getent passwd; cat /etc/passwd; ypcat passwd; 
nidump passwd .) 2>/dev/null | grep "^%{l_rusr}:" | sed -e 'q' | awk -F: '{ 
print $3; }')
  -%l_rgid                  %((getent group;  cat /etc/group;  ypcat group; 
nidump group .)  2>/dev/null | grep "^%{l_rgrp}:" | sed -e 'q' | awk -F: '{ 
print $3; }')
  +%l_ruid                  %((getent passwd "%{l_rusr}"; grep "^%{l_rusr}:" 
/etc/passwd; ypmatch "%{l_rusr}" passwd; nismatch "%{l_rusr}" passwd; nidump 
passwd . | grep "^%{l_rusr}:") 2>/dev/null | sed -e 'q' | awk -F: '{ print $3; 
}')
  +%l_rgid                  %((getent group  "%{l_rgrp}"; grep "^%{l_rgrp}:" 
/etc/group;  ypmatch "%{l_rgrp}" group;  nismatch "%{l_rgrp}" group;  nidump 
group  . | grep "^%{l_rusr}:") 2>/dev/null | sed -e 'q' | awk -F: '{ print $3; 
}')
   
   #   the *N*on-privileged user/group name/id pair
   %l_nusr                  @NUSR@
   %l_ngrp                  @NGRP@
  -%l_nuid                  %((getent passwd; cat /etc/passwd; ypcat passwd; 
nidump passwd .) 2>/dev/null | grep "^%{l_nusr}:" | sed -e 'q' | awk -F: '{ 
print $3; }')
  -%l_ngid                  %((getent group;  cat /etc/group;  ypcat group; 
nidump group .)  2>/dev/null | grep "^%{l_ngrp}:" | sed -e 'q' | awk -F: '{ 
print $3; }')
  +%l_nuid                  %((getent passwd "%{l_nusr}"; grep "^%{l_nusr}:" 
/etc/passwd; ypmatch "%{l_nusr}" passwd; nismatch "%{l_nusr}" passwd; nidump 
passwd . | grep "^%{l_nusr}:") 2>/dev/null | sed -e 'q' | awk -F: '{ print $3; 
}')
  +%l_ngid                  %((getent group  "%{l_ngrp}"; grep "^%{l_ngrp}:" 
/etc/group;  ypmatch "%{l_ngrp}" group;  nismatch "%{l_ngrp}" group;  nidump 
group  . | grep "^%{l_nusr}:") 2>/dev/null | sed -e 'q' | awk -F: '{ print $3; 
}')
   
   #   backward compatibility (openpkg < 20020204)
   %l_fsusr                 %{l_musr}
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/shtool
  ============================================================================
  $ cvs diff -u -r1.34 -r1.35 shtool
  --- openpkg-src/openpkg/shtool        19 Apr 2006 16:45:22 -0000      1.34
  +++ openpkg-src/openpkg/shtool        29 Sep 2006 06:54:05 -0000      1.35
  @@ -768,11 +768,14 @@
                           userid=`grep "^${username}:" /etc/passwd 2>/dev/null 
| \
                                   sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`
                           if [ ".$userid" = . ]; then
  -                            userid=`(ypcat passwd) 2>/dev/null |
  -                                    grep "^${username}:" | \
  -                                    sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`
  +                            userid=`(ypmatch "${username}" passwd; nismatch 
"${username}" passwd) 2>/dev/null | \
  +                                    sed -e 'q' | sed -e 's/[^:]*:[^:]*://' 
-e 's/:.*$//'`
                               if [ ".$userid" = . ]; then
  -                                userid='?'
  +                                userid=`(nidump passwd . | grep 
"^${username}:") 2>/dev/null | \
  +                                        sed -e 's/[^:]*:[^:]*://' -e 
's/:.*$//'`
  +                                if [ ".$userid" = . ]; then
  +                                    userid='?'
  +                                fi
                               fi
                           fi
                       fi
  @@ -797,10 +800,14 @@
                       groupid=`grep "^${username}:" /etc/passwd 2>/dev/null | \
                                sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'`
                       if [ ".$groupid" = . ]; then
  -                        groupid=`(ypcat passwd) 2>/dev/null | grep 
"^${username}:" | \
  -                                 sed -e 's/[^:]*:[^:]*:[^:]*://' -e 
's/:.*$//'`
  +                        groupid=`(ypmatch "${username}" passwd; nismatch 
"${username}" passwd) 2>/dev/null | \
  +                                 sed -e 'q' | sed -e 
's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'`
                           if [ ".$groupid" = . ]; then
  -                            groupid='?'
  +                            groupid=`(nidump passwd . | grep 
"^${username}:") 2>/dev/null | \
  +                                     sed -e 's/[^:]*:[^:]*:[^:]*://' -e 
's/:.*$//'`
  +                            if [ ".$groupid" = . ]; then
  +                                groupid='?'
  +                            fi
                           fi
                       fi
                   fi
  @@ -825,11 +832,16 @@
                       groupname=`grep "^[^:]*:[^:]*:${groupid}:" /etc/group 
2>/dev/null | \
                                  sed -e 's/:.*$//'`
                       if [ ".$groupname" = . ]; then
  -                        groupname=`(ypcat group) 2>/dev/null | \
  -                                   grep "^[^:]*:[^:]*:${groupid}:" | \
  +                        groupname=`(ypcat group; niscat group) 2>/dev/null | 
\
  +                                   sed -e 'q' | grep 
"^[^:]*:[^:]*:${groupid}:" | \
                                      sed -e 's/:.*$//'`
                           if [ ".$groupname" = . ]; then
  -                            groupname='?'
  +                            groupname=`(nidump group .) 2>/dev/null | \
  +                                       grep "^[^:]*:[^:]*:${groupid}:" | \
  +                                       sed -e 's/:.*$//'`
  +                            if [ ".$groupname" = . ]; then
  +                                groupname='?'
  +                            fi
                           fi
                       fi
                   fi
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     openpkg-cvs@openpkg.org

Reply via email to