Mac PackageMaker - случайный сброс владельца / группы / перми - PullRequest
5 голосов
/ 06 января 2010

При разработке установки с PackageMaker (XCode 3.2.1 1613, для Snow Leopard) иногда права, владелец и группа, которые я установил для большинства (если не для всех) файлов, просто испаряются. Результат выглядит так, как будто я только что добавил файлы в PackageMaker, прежде чем устанавливать файл perm / own / grp для каждого.

Что странно, так это то, что большинство этих XML-файлов в папке .pmdoc меняются, даже index.xml, что вызывает большую проблему с SVN, когда ничего не изменилось! Когда это происходит, я просто возвращаю SVN, затем проверяю все (возможно, 20 минут) перед сборкой.

Как мне избежать этого? Что я мог сделать, чтобы вызвать это (нежелательное) поведение? Я еще не смог соотнести свои действия с проблемой. В следующий раз, когда это произойдет, и у меня будет свободное время, я посмотрю изменения .pmdoc / xml и посмотрю, смогу ли я найти шаблон.

Между тем, если у кого-то есть какие-то советы, я ценю это.

1 Ответ

2 голосов
/ 17 июля 2011

Я вижу то же самое при использовании проектов .pmdoc, сгенерированных с помощью GUI PackageMaker.

Файлы, которые составляют .pmdoc, содержат встроенные абсолютные пути к различным вещам, включая сам файл .pmdoc. Это происходит независимо от того, измените ли вы пути к установленным файлам относительно расположения .pmdoc или что-то еще.

После некоторых экспериментов выясняется, что если вы перемещаете .pmdoc или делаете что-либо еще, изменяющее его местоположение или среду, PackageMaker сбрасывает все виды значений по умолчанию - и это включает в себя права владельца / группы, а также флаги перемещения и понижения компонентов. Это происходит в памяти PackageMaker, поскольку все файлы компонентов, из которых состоят мои файлы .pmdoc, заблокированы моей системой управления версиями (Perforce), и я убедился, что они не изменились.

Пока что я просто настраиваю машину сборки и папку сборки и ничего не перемещаю.

В более долгосрочной перспективе я намерен перейти к созданию файлов .pkg с использованием интерфейса командной строки PackageMaker, что, очевидно, и делает Apple. Я нашел довольно хорошую статью с советами по этому поводу.


Обновление

Эта статья содержит большое обсуждение и пример простого установщика, созданного с использованием утилиты командной строки "packagemaker". Заменив очевидные значения в примере, это сработало в первый раз, из коробки, на каждой машине, на которой я его пробовал, без всякой случайной перезагрузки. Таким образом, я достиг за час больше, чем за два дня с PackageMaker. Забросьте GUI и используйте это - вы будете счастливы.

Если вы действительно хотите использовать графический интерфейс для сборки вашего установщика, Пакеты выглядят многообещающе, но я на самом деле не пробовал.

...