URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 30570
[ Назад ]

Исходное сообщение
"Зависимости при сборке пакаджов на FreeBSD."

Отправлено kuks , 03-Июн-03 08:48 
Собственно как собирать пакаджы из портов понятно (make package),
а как сделать так, чтобы зависимые порты собирались тоже в
пакаджы автоматически?

Думал по анологии с fetch-recursive есть package-recursive,
но make на такую цель ругается. :(


Содержание

Сообщения в этом обсуждении
"Зависимости при сборке пакаджов на FreeBSD."
Отправлено Alex_M , 03-Июн-03 13:26 
>Собственно как собирать пакаджы из портов понятно (make package),
>а как сделать так, чтобы зависимые порты собирались тоже в
>пакаджы автоматически?
>
>Думал по анологии с fetch-recursive есть package-recursive,
>но make на такую цель ругается. :(

Используй portupgrade -Nvp <порт>. Там всё рекурсивно.


"Зависимости при сборке пакаджов на FreeBSD."
Отправлено lavr , 03-Июн-03 15:40 
>Собственно как собирать пакаджы из портов понятно (make package),
>а как сделать так, чтобы зависимые порты собирались тоже в
>пакаджы автоматически?
>
>Думал по анологии с fetch-recursive есть package-recursive,
>но make на такую цель ругается. :(

в принципе должен быть вариант, сомневаюсь что полностью автоматический,
лучше спросить в maillist'ах freebsd, там есть ответственные за packages
к RELEASE'ам, помню что сборка пакетов идет на SMP тачке пару суток,
значит у парня должен быть автомат.

Если поискать по списку stable перед выпуском 4.8 - то можно найти
адрес ответственного за сборку packages и спросить у него


"Зависимости при сборке пакаджов на FreeBSD."
Отправлено Alex_M , 03-Июн-03 15:48 
>в принципе должен быть вариант, сомневаюсь что полностью автоматический,
>лучше спросить в maillist'ах freebsd, там есть ответственные за packages
>к RELEASE'ам, помню что сборка пакетов идет на SMP тачке пару суток,
>
>значит у парня должен быть автомат.
>
>Если поискать по списку stable перед выпуском 4.8 - то можно найти
>
>адрес ответственного за сборку packages и спросить у него

Ну автоматом сборка ВСЕХ пакетов делается очень просто:
cd /usr/ports
make package

И вуаля! Но ведь надо-то не это.


"Зависимости при сборке пакаджов на FreeBSD."
Отправлено lavr , 03-Июн-03 15:55 
>>в принципе должен быть вариант, сомневаюсь что полностью автоматический,
>>лучше спросить в maillist'ах freebsd, там есть ответственные за packages
>>к RELEASE'ам, помню что сборка пакетов идет на SMP тачке пару суток,
>>
>>значит у парня должен быть автомат.
>>
>>Если поискать по списку stable перед выпуском 4.8 - то можно найти
>>
>>адрес ответственного за сборку packages и спросить у него
>
>Ну автоматом сборка ВСЕХ пакетов делается очень просто:
>cd /usr/ports
>make package

вариант, только тачке кирдык настанет :)

>И вуаля! Но ведь надо-то не это.

знаю, надо для зависимостей тоже строить, а это цепочка, мб и есть
механизм, если есть - надо изучать porters-handbook и ряд утилит из
портов. Как-то не увлекался созданием пакетов, хотя удобно для кластера,
если на ем одинаковые(синхронизированные версии) freebsd


"Зависимости при сборке пакаджов на FreeBSD."
Отправлено Alex_M , 03-Июн-03 17:10 
>знаю, надо для зависимостей тоже строить, а это цепочка, мб и есть
>
>механизм, если есть - надо изучать porters-handbook и ряд утилит из
>портов. Как-то не увлекался созданием пакетов, хотя удобно для кластера,
>если на ем одинаковые(синхронизированные версии) freebsd

А чем собственно не нравится portupgrade?
И ставит порты (-N) и обновляет и пакеты собирает (-p) и рекурсивно может (-rR) и ещё много чего умеет. Сам давно пользуюсь и весьма доволен.


"Зависимости при сборке пакаджов на FreeBSD."
Отправлено lavr , 03-Июн-03 17:27 
>>знаю, надо для зависимостей тоже строить, а это цепочка, мб и есть
>>
>>механизм, если есть - надо изучать porters-handbook и ряд утилит из
>>портов. Как-то не увлекался созданием пакетов, хотя удобно для кластера,
>>если на ем одинаковые(синхронизированные версии) freebsd
>
>А чем собственно не нравится portupgrade?
>И ставит порты (-N) и обновляет и пакеты собирает (-p) и рекурсивно
>может (-rR) и ещё много чего умеет. Сам давно пользуюсь и
>весьма доволен.

а кто сказал что не нравится? :)

вот как раз статью про порты дополню: portupgrade и /usr/ports/Tools


"Зависимости при сборке пакаджов на FreeBSD."
Отправлено Den , 03-Июн-03 16:07 
>Собственно как собирать пакаджы из портов понятно (make package),
>а как сделать так, чтобы зависимые порты собирались тоже в
>пакаджы автоматически?
>
>Думал по анологии с fetch-recursive есть package-recursive,
>но make на такую цель ругается. :(

цели искать надо в /usr/ports/Mk/bsd.port.mk

есть там такая фича например, как package-depends
$ cd /usr/ports/security/drweb-postfix/
$ make package-depends
drwebd-1.0:security/drwebd
drweb-4.29.2:security/drweb
p5-String-CRC32-1.2:devel/p5-String-CRC32

т.е. можно быстренько на коленке собрать скрипт, который обходил бы собирал все необходимые пакеты.

еще есть статья (сам не читал, но рекомендую:)
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng-p...


"Зависимости при сборке пакаджов на FreeBSD."
Отправлено .ChiP. , 07-Июл-03 17:59 
Path: freenews.gu.net!glukr!mash.minjust.gov.ua!ubik.vicotec.com.ua!carrier.kiev.ua!ddt.demos.su!f400.n5020!f4441.n5020!f52.n5020!not-for-mail
Newsgroups: fido7.ru.unix.bsd
From: Sergey Matveychuk <Sergey.Matveychuk__AT__f52.n5020.z2.fidonet.org>
Date: Mon, 07 Jul 2003 04:02:34 +0400
Subject: Улучшения в bsd.port.mk
Message-ID: <813969222%8nfhgvcrk13l4ieonh29b8d1q1f6so61qs@4ax.com>

Что бы не прошло не замеченым анонсирую тут некоторые изменения,
которые были сделаны в последнее время в систему сборки портов
(ports/Mk/bsd.port.mk):

для разработчиков:
- Добавлена переменная CONFLICTS, куда можно прописывать имена портов,
с которыми конфликтует данный порт. Допускается указание шаблонов
shell.

- Добавлена цель update-patches, которая действует со скриптом
Tools/scripts/update-patches и облегчает разработчикам обновлять патчи
для своих портов. make update-patches будет пытаться применить
существующие патчи и в случае не удачи запускать редактор (vi, как
правило, поскольку все разработчика используют vi :))

для пользователей:
- Добавлена цель package-recursive. Как ясно из названия - создает
packages для текущего порта и всех, от которых тот зависит.

- Hаконец реализовано нормальное поведение install/deinstall. При
установке проверяется, существует ли предыдущая версия, а не ставит
порт втихаря, затирая файлы предыдущей версии и оставляя порт-зомби,
как это было раньше (причем для удобства разработчиков распознается
ситуация, когда новая версия устанавливается с другим PREFIX).
deinstall теперь тоже умеет удалять предыдущую версию порта (причем не
тронет его, если у него другой PREFIX, но выдаст предупреждение). Для
того, что бы удалить все версии порта с любым PREFIX добавлена цель
deinstall-all. (думаю, что это самое значимое изменение, но оно имеет
побочный эффект для разработчиков - если PLIST генерируется
динамически, то это должно происходить до do-install. Возможность
генерации PLIST в do/post-install теперь не поддерживается).

- Попытка установить порт, который был собран с другим PREFIX, не
удастся - эта ситуация распознается и будет произведена пересборка
порта с новым PREFIX. (Это произойдет без запросов, так что берегитесь
опечаток!)

- Возможность сборки портов не root'ом. Теперь можно собирать порт
простым пользователем и в таком случае при установке, будет
запрашиваться пароль рута (su).