Я использую новую функцию домена PackageMaker (представленную для Mac OS 10.5), чтобы указать домашний каталог пользователя. Я создал файл .pmdoc в PackageMaker.app, и все работает отлично, пока я не добавлю свой скрипт после установки. Затем, внезапно, мой пакет хочет получить root-права, а раньше этого не делал. Я попытался построить из командной строки, используя packagemaker --doc mypackage.pmdoc --info Dist/PackageInfo
, предоставив измененный файл PackageInfo, который явно указывает auth="none"
, но это не работает. Когда я изучаю выходной пакет, извлекая его с помощью xar -xf package.pkg
, кажется, что аутентификация указана в package.pkg/Distribution
, XML-файле, который packagemaker
генерирует для себя.
Из-за разочарования в графическом интерфейсе я переключился на использование только packagemaker
в командной строке. Однако теперь мои пакеты не отображают файлы моего пользовательского интерфейса (хотя они включены в архив .pkg) и все еще требуют аутентификации root. В сгенерированном файле Distribution
нарушается строка (note auth = "Root"):
<pkg-ref id="org.myUniqueID.pkg" installKBytes="12032" version="1.0" auth="Root">#grooveshark.pkg</pkg-ref>
Вот так я бегу packagemaker
:
packagemaker -r ./Grooveshark -f ./Dist/PackageInfo -s ./Dist/Scripts -e ./Dist/Resources -v --domain user --target 10.5 --no-relocate --discard-forks --no-recommend -o ./out.pkg
Это макет Dist
:
Dist/Distribution # this isn't used by packagemaker, it generates its own
Dist/PackageInfo
Dist/Resources/en.lproj/background
Dist/Resources/en.lproj/License
Dist/Resources/en.lproj/ReadMe
Dist/Resources/en.lproj/Welcome.rtfd
Dist/Resources/en.lproj/Welcome.rtfd/gsDesktopPreview-mini.png
Dist/Resources/en.lproj/Welcome.rtfd/gsDesktopPreview-searchSmall.png
Dist/Resources/en.lproj/Welcome.rtfd/TXT.rtf
Dist/Scripts/jsuuid # specified as a postinstall in Dist/PackageInfo
Dist/Scripts/postflight
Как я могу настроить свой пакет так, чтобы он запускал скрипт postinstall без требования аутентификации root? Есть ли какой-то способ, которым я не могу указать и файл PackageInfo, и файл XML установочного сценария распространения через командную строку?