[MacPorts] #22798: signing-party port is missing a dependency to "getent"

MacPorts noreply at macports.org
Sun Dec 6 12:46:06 PST 2009


#22798: signing-party port is missing a dependency to "getent"
--------------------------------------+-------------------------------------
 Reporter:  brian.gupta@…             |       Owner:  milosh@…           
     Type:  defect                    |      Status:  new                
 Priority:  Normal                    |   Milestone:                     
Component:  ports                     |     Version:  1.8.1              
 Keywords:                            |        Port:  signing-party      
--------------------------------------+-------------------------------------
Changes (by jmr@…):

  * owner:  macports-tickets@… => milosh@…
  * port:  => signing-party


Old description:

> B$ gpg-mailkeys KEYIDMASKED
> /opt/local/bin/gpg-mailkeys: line 54: getent: command not found
>
> Looks like getent isn't available on OS-X, due to weirdness in NetInfo
> and DirectoryServices vs Linux user management.
>
> Looks like it's simply puling out the current user's name:
> getent passwd $USER | cut -d: -f5 | cut -d, -f1
>
> We could use a fake script called getent like this:
>
> #!/bin/bash
> # This file will not be consulted for authentication unless the BSD local
> node
> #!/bin/bash
> if [ -z $1 ];
>   then
>     echo "You must specify an user"
>     exit 1
>   else
>     echo `dscl . -read /Users/$2 RecordName | sed 's/RecordName:
> //g'`:*:`dscl . -read /Users/$2 UniqueID | sed 's/UniqueID: //g'`:`dscl .
> -read /Users/$2 PrimaryGroupID | sed 's/PrimaryGroupID: //g'`:`dscl .
> -read /Users/$2 RealName | sed -e 's/RealName://g' -e 's/^ //g' | awk
> '{printf("%s", $0 (NR==1 ? "" : ""))}'`:/Users/$2:`dscl . -read /Users/$2
> UserShell | sed 's/UserShell: //g'`
> fi
>
> exit 0

New description:

 B$ gpg-mailkeys KEYIDMASKED
 /opt/local/bin/gpg-mailkeys: line 54: getent: command not found

 Looks like getent isn't available on OS-X, due to weirdness in NetInfo and
 DirectoryServices vs Linux user management.

 Looks like it's simply puling out the current user's name:
 getent passwd $USER | cut -d: -f5 | cut -d, -f1

 We could use a fake script called getent like this:
 {{{
 #!/bin/bash
 # This file will not be consulted for authentication unless the BSD local
 node
 #!/bin/bash
 if [ -z $1 ];
   then
     echo "You must specify an user"
     exit 1
   else
     echo `dscl . -read /Users/$2 RecordName | sed 's/RecordName:
 //g'`:*:`dscl . -read /Users/$2 UniqueID | sed 's/UniqueID: //g'`:`dscl .
 -read /Users/$2 PrimaryGroupID | sed 's/PrimaryGroupID: //g'`:`dscl .
 -read /Users/$2 RealName | sed -e 's/RealName://g' -e 's/^ //g' | awk
 '{printf("%s", $0 (NR==1 ? "" : ""))}'`:/Users/$2:`dscl . -read /Users/$2
 UserShell | sed 's/UserShell: //g'`
 fi

 exit 0
 }}}

--

-- 
Ticket URL: <http://trac.macports.org/ticket/22798#comment:3>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list