Нам нужно создавать пакеты Mac на лету, и было бы удобно, если бы был способ создать их на платформе Windows или Linux вместо использования PackageMaker на Mac. Любые идеи?
PackageMaker для создания пакетов Mac в Windows/Linux
Ответ 1
Нет, вы не можете. Вы можете сделать скриптовый вход ssh и отключить его с помощью osascript, чтобы вы могли автоматизировать всю сборку из другого места, но вы можете создавать только для Mac на Mac.
Однако вы можете делать все сборки на Mac. Это намного проще.
Ответ 2
Я не согласен, что это невозможно. Вы, конечно же, могли бы сделать все, что делает PackageMaker для OSX на другой ОС. Это просто вопрос создания этих файлов:
Contents/
Archive.bom
Archive.pax.gz
Info.plist
PkgInfo
Resources/
TokenDefinitions.plist
package_version
en.lproj/
Description.plist
Файлы .plist могут быть легко созданы на Python с plistlib, который теперь является стандартным для Python..bom и .pax.gz немного сложнее, но все остальные текстовые файлы.
Часть .gz файла .pax.gz означает, что она сжата с помощью gzip. Это доступно в Windows и Linux.
В соответствии с страницей pax man файл pax может фактически находиться в нескольких разных форматах архива, включая cpio и tar, также легко сделать в Linux или Windows. Кажется, что PackageMaker создает сжатые cpio файлы, по крайней мере, на 10.6.
Файл .bom представляет собой список всех файлов в пакете и их размеров. Это, вероятно, самая сложная задача для создания вне OSX. BOM означает Bill Of Materials и поставляется из операционной системы NextSTEP. Мне не удалось найти много информации о формате спецификации, но вот некоторые подсказки: Nextstep bom man page, OSX bom man page
Изменить: теперь я реализовал версию lsbom, которую я разместил в общедоступном домене. Код можно найти в Subversion здесь: https://cauldrondevelopment.com/svn/osxbom/trunk
Возможно, кто-то может также реализовать mkbom, и тогда будет полное решение. Посмотрите заголовочный файл bom.h в приведенном выше коде для несколько полного описания формата файла спецификации.
Изменить 2: рабочая версия mkbom теперь реализована и может быть найдена здесь: https://github.com/hogliux/bomutils
вместе с подробным руководством по созданию установщика в Linux: http://hogliux.github.io/bomutils/tutorial.html
Также см. вопрос how-to-build-native-mac-os-x-installer-on-a-non-mac-platform.