darwin installer: fix on High Sierra
This commit is contained in:
		
							parent
							
								
									e3013543d3
								
							
						
					
					
						commit
						be79d1f189
					
				
					 1 changed files with 20 additions and 6 deletions
				
			
		|  | @ -473,10 +473,8 @@ create_build_user_for_core() { | ||||||
| 
 | 
 | ||||||
|     if ! /usr/bin/dscl . -read "$dsclpath" > /dev/null 2>&1; then |     if ! /usr/bin/dscl . -read "$dsclpath" > /dev/null 2>&1; then | ||||||
|         _sudo "Creating the Nix build user, $username" \ |         _sudo "Creating the Nix build user, $username" \ | ||||||
|               /usr/sbin/sysadminctl -addUser -fullName "Nix build user $coreid" \ |               /usr/bin/dscl . create "$dsclpath" \ | ||||||
| 	      -home /var/empty \ |               UniqueID "${uid}" | ||||||
| 	      -UID "${uid}" \ |  | ||||||
|               -addUser "${username}" |  | ||||||
|         row "           Created" "Yes" |         row "           Created" "Yes" | ||||||
|     else |     else | ||||||
|         actual_uid=$(dsclattr "$dsclpath" "UniqueID") |         actual_uid=$(dsclattr "$dsclpath" "UniqueID") | ||||||
|  | @ -504,6 +502,22 @@ EOF | ||||||
|         row "          IsHidden" "Yes" |         row "          IsHidden" "Yes" | ||||||
|     fi |     fi | ||||||
| 
 | 
 | ||||||
|  |     if [ "$(dsclattr "$dsclpath" "NFSHomeDirectory")" = "/var/empty" ]; then | ||||||
|  |         row "          NFSHomeDirectory" "/var/empty" | ||||||
|  |     else | ||||||
|  |         _sudo "in order to give $username a safe home directory" \ | ||||||
|  |               /usr/bin/dscl . -create "$dsclpath" "NFSHomeDirectory" "/var/empty" | ||||||
|  |         row "          NFSHomeDirectory" "/var/empty" | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
|  |     if [ "$(dsclattr "$dsclpath" "RealName")" = "Nix build user $coreid" ]; then | ||||||
|  |         row "          RealName" "Nix build user $coreid" | ||||||
|  |     else | ||||||
|  |         _sudo "in order to give $username a useful name" \ | ||||||
|  |               /usr/bin/dscl . -create "$dsclpath" "RealName" "Nix build user $coreid" | ||||||
|  |         row "          RealName" "Nix build user $coreid" | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
|     if [ "$(dsclattr "$dsclpath" "UserShell")" = "/sbin/nologin" ]; then |     if [ "$(dsclattr "$dsclpath" "UserShell")" = "/sbin/nologin" ]; then | ||||||
|         row "   Logins Disabled" "Yes" |         row "   Logins Disabled" "Yes" | ||||||
|     else |     else | ||||||
|  | @ -521,11 +535,11 @@ EOF | ||||||
|         row "  Member of $NIX_BUILD_GROUP_NAME" "Yes" |         row "  Member of $NIX_BUILD_GROUP_NAME" "Yes" | ||||||
|     fi |     fi | ||||||
| 
 | 
 | ||||||
|     if [ "$(dsclattr "$dsclpath" "PrimaryGroupId")" = "$NIX_BUILD_GROUP_ID" ]; then |     if [ "$(dsclattr "$dsclpath" "PrimaryGroupID")" = "$NIX_BUILD_GROUP_ID" ]; then | ||||||
|         row "    PrimaryGroupID" "$NIX_BUILD_GROUP_ID" |         row "    PrimaryGroupID" "$NIX_BUILD_GROUP_ID" | ||||||
|     else |     else | ||||||
|         _sudo "to let the nix daemon use this user for builds (this might seem redundant, but there are two concepts of group membership)" \ |         _sudo "to let the nix daemon use this user for builds (this might seem redundant, but there are two concepts of group membership)" \ | ||||||
|               /usr/bin/dscl . -create "$dsclpath" "PrimaryGroupId" "$NIX_BUILD_GROUP_ID" |               /usr/bin/dscl . -create "$dsclpath" "PrimaryGroupID" "$NIX_BUILD_GROUP_ID" | ||||||
|         row "    PrimaryGroupID" "$NIX_BUILD_GROUP_ID" |         row "    PrimaryGroupID" "$NIX_BUILD_GROUP_ID" | ||||||
| 
 | 
 | ||||||
|     fi |     fi | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue