Подтвердить что ты не робот

PackageMaker для создания пакетов Mac в Windows/Linux

Нам нужно создавать пакеты Mac на лету, и было бы удобно, если бы был способ создать их на платформе Windows или Linux вместо использования PackageMaker на Mac. Любые идеи?

4b9b3361

Ответ 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.