RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
И подумал я однажды, ну зачем мне качать 600 метровый disc1, если пакеты, помещенные в него меня не интересуют, а порты и исходники я обновляю сам и всегда с собой беру на флешке как видеокамеру. Изыскания привели к man release и man build, но не спешите топтать мои грабли вслед за мной.
Предположим что вы только что обновили систему до 7.0-STABLE из исходников (очень утомительный процесс, не так ли, я про mergemaster). В таком случае, у вас есть папки /usr/src, /usr/obj (это требование man release, чтобы эти папки соответствовали текущей установленной системе).
Далее ман предлагает запускать локальную систему CVS, но, оказалось, что это только лишнее насилие над жестким диском.
В моем случае я создал вот такой скрипт:
steel# cat /mnt/update/release
#!/bin/sh
# В папку $CHROOTDIR/usr/ports нужно поместить все необходимое для
# сборки cdrtools, включая distfiles
# То есть после запуска процесса перейдите в другую консоль и заполните
# ее вручную
# Все папки чистятся автоматически, для перезапуска надо делать
# make rerelease
BUILDNAME=7.0-STABLE-20080723
RELEASETAG=RELENG_7
CVSROOT=/usr/cvs
CHROOTDIR=/usr/chroot
EXTSRCDIR=/usr/src
mount -u -o noatime /usr
export CVSROOT
export CHROOTDIR
export BUILDNAME
export RELEASETAG
export EXTSRCDIR
cd /usr/src/release
make release MAKE_ISOS=Y NODOC=Y NO_FLOPPIES=Y NOPORTS=Y
mount -u -o atime /usr
steel#
Обращаю внимание на использование mount -u..., если машина несет общественно-полезную нагрузку не имея UPS и без присмотра, то лучше уберите их совсем, от греха подальше. Процесс займет около 4ГБ свободного места и 12 часов свободного времени Celeron 1200MHz with 512 SDRAM, результат в виде .iso образов можно будет найти в /usr/chroot/R. Аналогичным образом собираются RELENG_7 и RELENG_7_0 диски, все зависит от ваших исходников, в том числе со всеми портами и пакетами, но это уже точно на несколько суток, автор просто хотел получить свежий установочный диск без особенных затрат.
PS Остался невыясненным вопрос как корректно подсунуть необходимое для сборки cdrtools, EXTPORTSDIR, RELEASEDISTFILES почему-то не работают как ожидается.