Почему нельзя получить package из порта не установив приложение в систему?
А почему вы решили что этого сделать нельзя?
>А почему вы решили что этого сделать нельзя?/usr/ports/Mk/bsd.port.mk:
.....
# Default targets and their behaviors:
......
# package - Create a package from an _installed_ port.
....Слово installed особо подчеркнуто.
Да и на практике при использовании цели package из портов, идет сначала установка порта в систему (регестрация в /var/db/pkg) и затем уже сборка пакаджа.
>[оверквотинг удален]
>......
># package
> - Create a package from an _installed_
>port.
>....
>
>Слово installed особо подчеркнуто.
>Да и на практике при использовании цели package из портов, идет сначала
>установка порта в систему (регестрация в /var/db/pkg) и затем уже сборка
>пакаджа.В общем случае, потому что используется утилита pkg_create, которая берёт необходимые данные из /var/db/pkg.
Чисто технически можно создать package без установки его в основную систему (используя временный каталог) путём определения переменных окружения при make package. Более подробно можно ознакомиться, если поковырять bsd.port.mk.
>В общем случае, потому что используется утилита pkg_create, которая берёт необходимые данные
>из /var/db/pkg.Хм... по всей видимости создание +CONTENTS, +MTREE_DIRS и т.д. неотъемлемый этап цели install. Надо будет детальнее изучть, что делает эта цель.
>Чисто технически можно создать package без установки его в основную систему (используя
>временный каталог) путём определения переменных окружения при make package. Более подробно
>можно ознакомиться, если поковырять bsd.port.mk.А как же тогда собираются сразу все пакаджы для релиза? Неужели все бинарные файлы и прочее устанавливаются сначала пусть даже в "левые" PREFIX, PKG_DBDIR и т.д.? Хотя для релиза теоритически можно собирать и в chroot'е.
>Хм... по всей видимости создание +CONTENTS, +MTREE_DIRS и т.д. неотъемлемый этап цели
>install. Надо будет детальнее изучть, что делает эта цель.В bsd.port.mk всё есть, только разбираться нужно. :) Например, в некоторых портах pkg-plist формируется динамически и т.д. и т.п. Поэтому универсальных средств нет.
>А как же тогда собираются сразу все пакаджы для релиза? Неужели все
> бинарные файлы и прочее устанавливаются сначала пусть даже в
>"левые" PREFIX, PKG_DBDIR и т.д.? Хотя для релиза
>теоритически можно собирать и в chroot'е.Если не ошибаюсь, в /usr/ports/Tools/release есть скрипты, ответственные за это. Впрочем, могу и ошибаться.
В общем, если есть желание, поковыряйте.
Удачи!