[MacPorts] #46139: postflight.in v2.3.1 Error determining network user's shell

MacPorts noreply at macports.org
Fri Dec 5 08:15:23 PST 2014


#46139: postflight.in v2.3.1 Error determining network user's shell
------------------------+--------------------------------
 Reporter:  grigutis@…  |      Owner:  macports-tickets@…
     Type:  defect      |     Status:  new
 Priority:  Normal      |  Milestone:
Component:  base        |    Version:  2.3.3
 Keywords:              |       Port:
------------------------+--------------------------------
 OS X version: 10.10.1
 Xcode version: 6.1.1

 My system is bound to Active Directory and I'm logged in as an AD user, so
 my account doesn't live in the local domain. For me, running the package
 installer fails to set the MacPorts environment correctly.

 {{{
 installd[1321]: ./postinstall: <dscl_cmd> DS Error: -14136
 (eDSRecordNotFound)
 installd[1321]: ./postinstall: Unknown shell ()! Please set your MacPorts
 compatible environment manually.
 }}}

 The problem appears to be in line 199 of postflight.in:

 {{{
 USHELL=$(${DSCL} . -read /Users/${USER} shell | awk -F'/' '{print $NF}')
 || {
 }}}

 I believe this would solve the problem for me:

 {{{
 USHELL=$(${DSCL} /Search -read /Users/${USER} UserShell | awk -F'/'
 '{print $NF}') || {
 }}}

 Note that the key should also be changed to ''UserShell'' since the
 ''shell'' key isn't used in AD (at least in our environment).

 The only problem with using the /Search node is that there is a
 possibility that it would return multiple UserShell values if the the user
 record exists in multiple nodes (local and Active Directory for example).

-- 
Ticket URL: <https://trac.macports.org/ticket/46139>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list