Собственно как собирать пакаджы из портов понятно (make package),
а как сделать так, чтобы зависимые порты собирались тоже в
пакаджы автоматически?Думал по анологии с fetch-recursive есть package-recursive,
но make на такую цель ругается. :(
>Собственно как собирать пакаджы из портов понятно (make package),
>а как сделать так, чтобы зависимые порты собирались тоже в
>пакаджы автоматически?
>
>Думал по анологии с fetch-recursive есть package-recursive,
>но make на такую цель ругается. :(Используй portupgrade -Nvp <порт>. Там всё рекурсивно.
>Собственно как собирать пакаджы из портов понятно (make package),
>а как сделать так, чтобы зависимые порты собирались тоже в
>пакаджы автоматически?
>
>Думал по анологии с fetch-recursive есть package-recursive,
>но make на такую цель ругается. :(в принципе должен быть вариант, сомневаюсь что полностью автоматический,
лучше спросить в maillist'ах freebsd, там есть ответственные за packages
к RELEASE'ам, помню что сборка пакетов идет на SMP тачке пару суток,
значит у парня должен быть автомат.Если поискать по списку stable перед выпуском 4.8 - то можно найти
адрес ответственного за сборку packages и спросить у него
>в принципе должен быть вариант, сомневаюсь что полностью автоматический,
>лучше спросить в maillist'ах freebsd, там есть ответственные за packages
>к RELEASE'ам, помню что сборка пакетов идет на SMP тачке пару суток,
>
>значит у парня должен быть автомат.
>
>Если поискать по списку stable перед выпуском 4.8 - то можно найти
>
>адрес ответственного за сборку packages и спросить у негоНу автоматом сборка ВСЕХ пакетов делается очень просто:
cd /usr/ports
make packageИ вуаля! Но ведь надо-то не это.
>>в принципе должен быть вариант, сомневаюсь что полностью автоматический,
>>лучше спросить в maillist'ах freebsd, там есть ответственные за packages
>>к RELEASE'ам, помню что сборка пакетов идет на SMP тачке пару суток,
>>
>>значит у парня должен быть автомат.
>>
>>Если поискать по списку stable перед выпуском 4.8 - то можно найти
>>
>>адрес ответственного за сборку packages и спросить у него
>
>Ну автоматом сборка ВСЕХ пакетов делается очень просто:
>cd /usr/ports
>make packageвариант, только тачке кирдык настанет :)
>И вуаля! Но ведь надо-то не это.
знаю, надо для зависимостей тоже строить, а это цепочка, мб и есть
механизм, если есть - надо изучать porters-handbook и ряд утилит из
портов. Как-то не увлекался созданием пакетов, хотя удобно для кластера,
если на ем одинаковые(синхронизированные версии) freebsd
>знаю, надо для зависимостей тоже строить, а это цепочка, мб и есть
>
>механизм, если есть - надо изучать porters-handbook и ряд утилит из
>портов. Как-то не увлекался созданием пакетов, хотя удобно для кластера,
>если на ем одинаковые(синхронизированные версии) freebsdА чем собственно не нравится portupgrade?
И ставит порты (-N) и обновляет и пакеты собирает (-p) и рекурсивно может (-rR) и ещё много чего умеет. Сам давно пользуюсь и весьма доволен.
>>знаю, надо для зависимостей тоже строить, а это цепочка, мб и есть
>>
>>механизм, если есть - надо изучать porters-handbook и ряд утилит из
>>портов. Как-то не увлекался созданием пакетов, хотя удобно для кластера,
>>если на ем одинаковые(синхронизированные версии) freebsd
>
>А чем собственно не нравится portupgrade?
>И ставит порты (-N) и обновляет и пакеты собирает (-p) и рекурсивно
>может (-rR) и ещё много чего умеет. Сам давно пользуюсь и
>весьма доволен.а кто сказал что не нравится? :)
вот как раз статью про порты дополню: portupgrade и /usr/ports/Tools
>Собственно как собирать пакаджы из портов понятно (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...
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).