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 | ||||
|         _sudo "Creating the Nix build user, $username" \ | ||||
|               /usr/sbin/sysadminctl -addUser -fullName "Nix build user $coreid" \ | ||||
| 	      -home /var/empty \ | ||||
| 	      -UID "${uid}" \ | ||||
|               -addUser "${username}" | ||||
|               /usr/bin/dscl . create "$dsclpath" \ | ||||
|               UniqueID "${uid}" | ||||
|         row "           Created" "Yes" | ||||
|     else | ||||
|         actual_uid=$(dsclattr "$dsclpath" "UniqueID") | ||||
|  | @ -504,6 +502,22 @@ EOF | |||
|         row "          IsHidden" "Yes" | ||||
|     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 | ||||
|         row "   Logins Disabled" "Yes" | ||||
|     else | ||||
|  | @ -521,11 +535,11 @@ EOF | |||
|         row "  Member of $NIX_BUILD_GROUP_NAME" "Yes" | ||||
|     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" | ||||
|     else | ||||
|         _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" | ||||
| 
 | ||||
|     fi | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue