Я пытался портировать сборку командной строки Mac PackageMaker в pkgbuild и productbuild, но я застрял. К сожалению, я не нашел много информации о том, как работают эти новые программы, за исключением этого сообщения StackOverflow и справочных страниц pkgbuild и productbuild .
Вот моя проблема. Я создал корневой каталог установки, в котором есть следующие файлы:
/some_path/Applications
/MyProgram.app
/Library
/Frameworks
/MyFramework.framework
/[library files...]
Приведенный ниже вызов командной строки прекрасно работает для PackageMaker. Он создал установщик, который установил все файлы выше.
$ /Developer/usr/bin/packagemaker \
--title "My Program" \
--root /some_path \
--version 1.0.0 \
--filter "\.DS_Store" \
--resources./resources/ \
--scripts./scripts/ \
--root-volume-only \
--domain system \
--verbose \
--no-relocate \
--target 10.5 \
--id com.my_company.pkg \
--out MyProgram.pkg
Теперь я пытаюсь написать это с помощью pkgbuild и столкнулся с серьезной проблемой.Я использую следующий вызов:
$ pkgbuild \
--root /some_path \
--version 1.0.0 \
--install-location "/" \
--scripts "./scripts/" \
--identifier "com.my_company.pkg" \
MyProgram.pkg
Эта команда создает установщик, который копирует каталог MyProgram.framework в /Library/Frameworks. Однако он не устанавливает файл MyProgram.app в каталог /Applications. Когда я смотрю журналы установщика, я вижу это сообщение:
Applications/MyProgram.app relocated to /some_path/Applications/MyProgram.app
Может ли кто-нибудь пролить свет на то, почему это не добавляет файл MyProgram.app в каталог /Applications, как это делал PackageMaker?