[81454] trunk/base

jmr at macports.org jmr at macports.org
Sat Jul 30 22:02:20 PDT 2011


Revision: 81454
          http://trac.macports.org/changeset/81454
Author:   jmr at 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}\"."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110730/c4b80753/attachment.html>


More information about the macports-changes mailing list