Как создать Mac .pkg из python, который поддерживает несколько версий OSX

Я пытаюсь создать установщик .pkg для приложения Python (в частности, Spyderlib). Это не приложение, а пакет Python и исполняемый файл командной строки, которые необходимо скопировать в определенные места.

Однако расположение зависит от версии OSX. Я ориентируюсь только на 10.6 и 10.7, но они поставляются с разными версиями Python (2.6 и 2.7), поэтому путь установки отличается.

Используя bdist_mpkg, я смог создать mpkg для Mac в версии 10.7, который правильно устанавливается и может редактироваться с помощью PackageMaker. Теперь я хочу знать, как я могу отредактировать этот пакет, чтобы он определял версию OSX и правильно устанавливал целевой путь установки.

Я понимаю, что я могу использовать сценарии оболочки для выполнения заданий до и после установки, однако я не смог найти примеры того, как это сделать и как сценарий мог бы использоваться для установки цели установки для файлов в mpkg. .

В качестве альтернативы, возможно, это можно сделать непосредственно из PackageMaker, но я не смог увидеть ничего подобного (и документация кажется довольно поверхностной).

Поэтому я хотел бы знать, как это можно сделать. Также было бы очень полезно увидеть несколько примеров для других программных пакетов.


person mangecoeur    schedule 19.02.2012    source источник
comment
Мне интересно, позволяет ли PackageMaker вызывать пользовательский сценарий установки? Если это «да», вы можете использовать что-то вроде setuptools или distribute. Они очень хорошо справляются с проблемами обнаружения и установки. Все, что вам нужно сделать, это попросить PackageMaker использовать их, хотя ~   -  person Drake Guan    schedule 20.02.2012


Ответы (1)


Вам не нужны никакие сценарии — вы можете сделать это только с помощью диспетчера пакетов — графический интерфейс диспетчера пакетов позволяет вам помечать пакеты как устанавливаемые (включенные) и выбирать их на основе таких условий, как версия ОС (в Choices под Requirements)

person Simon Urbanek    schedule 20.02.2012