• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung

PackageMaker und Permissions

martinv2

Doppelter Prinzenapfel
Registriert
14.04.12
Beiträge
437
Moin!

Der PackageMaker treibt mich in den Wahnsinn...

Einfache Aufgabe: ein Shell-Skript und eine launchd.plist zwecks Ausrollen per ARD in ein Package verpacken.

Mein Ansatz:
  • - unter einem lokalen Pseudo-Root-Verzeichnis die beiden Dateien an die Stellen packen, wo sie (relativ) hingehören (./Library/Scripts und ./Library/LaunchDaemons). Besitzer und Rechte korrekt einstellen (insbes. 644 für die laund.plist).
  • - Verpacken mit einem Kommandozeilen-Aufruf von PackageMaker (wobei --root auf mein Pseudo-Root zeigt)

Beim Installieren werden die Dateien an die richtigen Stellen gelegt, ABER: die launchd.plist hat plötzlich den Mode 664 . Und launchd lehnt dies as "dubious" ab.

Hilfe?
 

pti'Luc

Fairs Vortrefflicher
Registriert
05.07.10
Beiträge
4.603
Es haben wohl noch andere das Problem, wenn man bei Google nach "packagemaker set permissions" sucht. Hast Du neben dem Setzen der korrekten Berechtigungen auch den Owner richtig gesetzt?
Eine Option beim Zusammenpacken scheint mir noch interessant:
If you're building with packagemaker on the commandline make sure you specify --no-recommend, otherwise it'll apply "recommended" permissions from your system to the package.
http://stackoverflow.com/questions/6798130/packagemaker-permissions-issues-in-os-x-lion
 
  • Like
Reaktionen: martinv2

martinv2

Doppelter Prinzenapfel
Registriert
14.04.12
Beiträge
437
--no-recommend hat's gebracht - vielen Dank für den Tipp. Die Option hatte ich bei der Ausgabe von --help glatt übersehen.

Jetzt weiter zum postflight-Skript (was anscheinend nicht ausgeführt wird)...
 

pti'Luc

Fairs Vortrefflicher
Registriert
05.07.10
Beiträge
4.603
Dann viel Erfolg! ;) Ich gebe zu, ich hab nur gegooglet! ;)
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
BTW
/Library/Scripts ist nicht für Shellskripten reserviert - das ist ein vom AppleSkript Subsystem automatisch durchsuchter Ordner.
Typischer Unix-Kram findet sich wohl unter /usr/libexec/ oder noch besser /usr/local/libexec/
 

martinv2

Doppelter Prinzenapfel
Registriert
14.04.12
Beiträge
437
@Rastafari: danke für den Hinweis. Allerdings kommt es mir komisch vor, mich mit einem LaunchDaemon außerhalb der "normalen" OSX-Verzeichnisstruktur einzunisten. Wäre (ein Unterverzeichnis von) /Library/Application Support nicht eher geeignet?
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
"Application Support" sollte genau das bleiben, was der Name aussagt: Ein Pool von Hilfsprogrammen und sonstigen Anwendungsresourcen, deren Präsenz grundsätzlich optional ist, und die ggf. von einer dazugehörigen, für den Benutzer sichtbaren GUI-Anwendung selbst angelegt/gepflegt/regeneriert werden. launchd ist keine Mac-Anwendung, sondern furztrockenes Unix.

... The Application Support directory is where your app stores any type of file that supports the app but is not required for the app to run, such as document templates or configuration files. ...
 

martinv2

Doppelter Prinzenapfel
Registriert
14.04.12
Beiträge
437
Verstanden, danke. Also nach /usr/local/libexec ...
 

martinv2

Doppelter Prinzenapfel
Registriert
14.04.12
Beiträge
437
Und falls jemand beim Suchen diesen Thread findet:

Ich habe Hinweise darauf gefunden, dass das Nicht-Funktionieren des postflight-Skripts mit der Verwendung von "--target 10.5" zusammenhängt. Daraufhin habe ich die Option rausgenommen, und postflight wird ausgeführt.