FreeBSD pkg_create о том, как - PullRequest
       21

FreeBSD pkg_create о том, как

4 голосов
/ 05 января 2011

Я хочу создать двоичный пакет FreeBSD, содержащий некоторое программное обеспечение. Все, что мне интересно, это говорить

«Некоторые файлы в каталоге X должны идти в каталог Y», сохраняя иерархию каталогов под ним. При необходимости я могу легко указать каждый файл в упаковочном листе.

Однако это кажется ужасно трудным для достижения, поскольку я не могу найти комбинацию параметров -s, -S @cwd и @srcdir, которая делает то, что я хочу. Он либо ищет в каталоге Y файлы (которых нет в системе сборки), либо упаковывает файлы в каталог X, что тоже не то, что мне нужно.

Прежде чем вы ответите "просто создайте порт", я НЕ ДАЛЕКО заинтересован в создании "порта". «Порт» не имеет ничего общего с тем, что мы делаем. Это не пакет для распространения третьими лицами, а также кроссплатформенное приложение, предназначенное для распространения исходного кода третьими лицами.

Все, что я хочу сделать, это создать двоичный пакет для установки некоторых файлов в указанное место в файловой системе. Это слишком сложно?

Это под FreeBSD 7.3.

1 Ответ

4 голосов
/ 09 января 2011

Просто создайте пакет напрямую. Либо с помощью pkg_create (и создания или передачи в список pkg в стиле 'find'), либо, альтернативно, создайте тривиальный пакет (выберите что-то вроде pub / FreeBSD / ports / amd64 / packages-6.3-release / Allwidentd-1.03_1.tbz как простой пример) состоящий из каталога с:

+CONTENTS
      see example or man page
+COMMENT
      foo
+DESC
      foo
+MTREE_DIRS
      /set type=dir uname=root gname=wheel mode=0755
      .
         bin
         ..
         etc
         ..
      ..

и затем:

your files..

более поздняя версия относительно / usr / local. Просто возьмите пакет, как указано выше, о том, что там происходит. Выше просто "tar & gz" - и presto - pacakge.

Dw.

...