Revision: 81454 http://trac.macports.org/changeset/81454 Author: jmr@macports.org Date: 2011-07-30 22:02:19 -0700 (Sat, 30 Jul 2011) Log Message: ----------- make group creation tiger compatible, and try to fix invalid PrimaryGroupID for runuser on tiger Modified Paths: -------------- trunk/base/Makefile.in trunk/base/portmgr/dmg/postflight Modified: trunk/base/Makefile.in =================================================================== --- trunk/base/Makefile.in 2011-07-31 03:57:37 UTC (rev 81453) +++ trunk/base/Makefile.in 2011-07-31 05:02:19 UTC (rev 81454) @@ -42,7 +42,7 @@ if ! ${DSCL} -q . -read /Groups/${RUNUSR} > /dev/null 2>&1 ; then \ if test `id -u` -eq 0; then \ echo "Creating group \"${RUNUSR}\"" ; \ - ${DSEDITGROUP} -q -o create -n . ${RUNUSR} ; \ + ${DSEDITGROUP} -q -o create ${RUNUSR} ; \ else \ echo "Not creating group \"${RUNUSR}\" (not root)" ; \ fi ; \ @@ -63,6 +63,13 @@ echo "Not creating user \"${RUNUSR}\" (not root)" ; \ fi ; \ fi ; \ + if test `sw_vers -productVersion | /usr/bin/awk -F . '{print $$2}'` -eq 4; then \ + GID=`${DSCL} -q . -read /Groups/${RUNUSR} PrimaryGroupID | /usr/bin/awk '{print $$2}'` ; \ + if test "`${DSCL} -q . -read /Users/${RUNUSR} PrimaryGroupID 2>/dev/null | /usr/bin/awk '{print $$2}'`" != "$$GID"; then \ + echo "Fixing PrimaryGroupID for user \"${RUNUSR}\"" ; \ + ${DSCL} -q . -create /Users/${RUNUSR} PrimaryGroupID $$GID ; \ + fi ; \ + fi ; \ else \ echo "Can't find ${DSCL} / ${DSEDITGROUP}, not creating user \"${RUNUSR}\"" ; \ fi Modified: trunk/base/portmgr/dmg/postflight =================================================================== --- trunk/base/portmgr/dmg/postflight 2011-07-31 03:57:37 UTC (rev 81453) +++ trunk/base/portmgr/dmg/postflight 2011-07-31 05:02:19 UTC (rev 81454) @@ -138,7 +138,7 @@ DSEDITGROUP=/usr/sbin/dseditgroup if ! ${DSCL} -q . -read /Groups/${RUNUSR} > /dev/null 2>&1 ; then echo "Creating group \"${RUNUSR}\"" - ${DSEDITGROUP} -q -o create -n . ${RUNUSR} + ${DSEDITGROUP} -q -o create ${RUNUSR} fi if ! ${DSCL} -q . -list /Users/${RUNUSR} > /dev/null 2>&1 ; then echo "Creating user \"${RUNUSR}\"" @@ -152,6 +152,13 @@ ${DSCL} -q . -create /Users/${RUNUSR} NFSHomeDirectory /var/empty ${DSCL} -q . -create /Users/${RUNUSR} UserShell /usr/bin/false fi + if [[ $(sw_vers -productVersion | /usr/bin/awk -F . '{print $2}') -eq 4 ]]; then + GID=$(${DSCL} -q . -read /Groups/${RUNUSR} PrimaryGroupID | /usr/bin/awk '{print $2}') + if [[ "$(${DSCL} -q . -read /Users/${RUNUSR} PrimaryGroupID 2>/dev/null | /usr/bin/awk '{print $2}')" != "$GID" ]]; then + echo "Fixing PrimaryGroupID for user \"${RUNUSR}\"" + ${DSCL} -q . -create /Users/${RUNUSR} PrimaryGroupID $GID + fi + fi } echo "The MacPorts Project, postflight script version ${VERSION}: checking the shell environment for user \"${USER}\"."