Установщик для простого инструмента командной строки Mac OS? - PullRequest
3 голосов
/ 07 октября 2010

Как я могу создать удобный для новичка (загружаемый по клику) установщик для инструмента командной строки Mac OS X, и где должен быть установлен бинарный файл, чтобы начинающий пользователь, не знающий пути оболочки, мог просто открыть приложение Terminalи введите «foo» для запуска только что установленного инструмента foo?

Может ли установщик также установить документацию, чтобы пользователь мог ввести «man foo»?

Есть ли другие варианты, которые следуетСчитается ли использование простого инструмента командной строки (stdin, stdout) доступным для начинающего пользователя Mac?

1 Ответ

4 голосов
/ 08 октября 2010

На какую минимальную версию OS X вы ориентируетесь?10.6 (и IIRC 10.5) включают / usr / local / bin в PATH по умолчанию, но 10.4 - нет.Пока вам не нужна поддержка 10.4, вы должны просто поместить исполняемый файл в / usr / local / bin и страницу man в / usr / local / share / man / man1 (или любой другой соответствующий номер главы).

Для сборки самого установщика вы можете использовать утилиту Apple PackageMaker (часть Xcode).Создайте прототип локальной папки с подпапками bin и share / man / man1 и заполните их своими файлами.Создайте проект пакета в PackageMaker и выберите название своей организации и минимальную целевую ОС.Перетащите папку с прототипом на боковую панель Содержание проекта.Установите пункт назначения / usr / local.Перейдите на вкладку «Содержание» и отредактируйте владельца и разрешения, с которыми должны быть установлены файлы (владелец / группа, вероятно, должны быть root / admin, с правами rwxrwxr-x в папках и исполняемым файлом, rw-rw-r-- всправочная страница).Если какие-либо не относящиеся к делу файлы (например, .DS_Store) проникли внутрь, исключите их.Найдите все остальные параметры, которые вы хотите изменить, затем сохраните проект и соберите установщик.Затем проверьте его, чтобы убедиться, что он делает то, что вы ожидаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...