kcrawford / dockutil

command line tool for managing dock items
http://patternbuffer.wordpress.com
Apache License 2.0
1.36k stars 131 forks source link

M1 macOS12.3 dockutil 3 does not work from postinstall script, whats wrong ? #130

Closed ArminDeeg closed 2 years ago

ArminDeeg commented 2 years ago

The signed and notarized installer copied docutil and dockutil3 (3.0.2 is the new version) to /Users/Shared/Docutil/

inside my postinstall script is:

`#!/bin/sh

OLDIFS=$IFS IFS='.' read osvers_major osvers_minor osvers_dot_version <<< "$(/usr/bin/sw_vers -productVersion)" if [ ${osvers_major} = 10 ]; then /Users/Shared/Dockutil/dockutil --add /Applications/commercial\ 7/EXPOSE\ commercial\ 7.app echo 'docutil v2' else /Users/Shared/Dockutil/dockutil3 --add /Applications/commercial\ 7/EXPOSE\ commercial\ 7.app echo 'docutil v3' fi

exit 0`

The echo shows docutil v3, this shows that the correct dockutil version is used.

and inside install.log I'll get this error message:

./postinstall: Error: /var/root/Library/Preferences/com.apple.dock.plist does not seem to be a home directory or a dock plist

2022-03-25 17:54:18+01 Mac-mini-von-Armin installd[1741]: PackageKit: Shoving /Library/InstallerSandboxes/.PKInstallSandboxManager/DE6D0ACF-703B-4EB6-9872-A1A71A3C10ED.activeSandbox/Root (2 items) to / 2022-03-25 17:54:18+01 Mac-mini-von-Armin installd[1741]: PackageKit (package_script_service): Preparing to execute script "./postinstall" in /private/tmp/PKInstallSandbox.A6qsbm/Scripts/node Systemlösungen e.K..EXPOSE commercial.8DTCCG 2022-03-25 17:54:18+01 Mac-mini-von-Armin package_script_service[8641]: PackageKit: Executing script "postinstall" in /tmp/PKInstallSandbox.A6qsbm/Scripts/node Systemlösungen e.K..EXPOSE commercial.8DTCCG 2022-03-25 17:54:18+01 Mac-mini-von-Armin package_script_service[8641]: Set responsibility to pid: 66312, responsible_path: /System/Library/CoreServices/Installer.app/Contents/MacOS/Installer 2022-03-25 17:54:19+01 Mac-mini-von-Armin package_script_service[8641]: ./postinstall: Error: /var/root/Library/Preferences/com.apple.dock.plist does not seem to be a home directory or a dock plist 2022-03-25 17:54:19+01 Mac-mini-von-Armin package_script_service[8641]: ./postinstall: Usage: dockutil [] [ ...] 2022-03-25 17:54:19+01 Mac-mini-von-Armin package_script_service[8641]: ./postinstall: See 'dockutil --help' for more information. 2022-03-25 17:54:19+01 Mac-mini-von-Armin package_script_service[8641]: ./postinstall: docutil v3

What is wrong ?

Thanks Armin

kcrawford commented 2 years ago

Package postinstalls run as root. You need to run dockutil as the user or specify the user’s home or path to dock plist or run with --allhomes option