>=====================================
>*default host=cvsup2.FreeBSD.org
>*default base=/usr
>*default prefix=/usr
>*default release=cvs
>*default tag=RELENG_4
>*default delete use-rel-suffix
>
>src-base
>src-bin
>src-contrib
>src-etc
>src-gnu
>src-include
>src-lib
>src-libexec
>src-release
>src-sbin
>src-share
>src-tools
>src-usrbin
>src-usrsbin
>*default tag=.
>ports-all
>======================================
>потом:
> /usr/local/bin/cvsup -g -L 2 /etc/cvsupfile
>все слилось, проверил по логам.
>cd /usr/src
>make buildworld
>и после часа компиляний получаю ошибку.
>эты строчка у меня в кроне стоит:
> /usr/local/bin/cvsup -g -L 2 /etc/cvsupfile
два ТЕГА в одном supfile, вопрос:
какой в итоге будет использоваться: tag=RELENG_4 или tag=.
последний означает CURRENT
пример из /usr/share/examples/cvsup - единого supfile'а:
###############################################################################
#
# DANGER! WARNING! LOOK OUT! VORSICHT!
#
# If you add any of the ports collections to this file, be sure to
# specify them like this:
#
# ports-all tag=.
#
# If you leave out the "tag=." portion, CVSup will delete all of
# the files in your ports tree. That is because the ports collections
# do not use the same tags as the main part of the FreeBSD source tree.
#
###############################################################################
# Defaults that apply to all the collections
#
# IMPORTANT: Change the next line to use one of the CVSup mirror sites
# listed at http://www.freebsd.org/handbook/mirrors.html.
*default host=CHANGE_THIS.FreeBSD.org
*default base=/usr
*default prefix=/usr
# The following line is for 4-stable. If you want 3-stable or 2.2-stable,
# change "RELENG_4" to "RELENG_3" or "RELENG_2_2" respectively.
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix
# If your network link is a T1 or faster, comment out the following line.
*default compress
## Main Source Tree.
#
# The easiest way to get the main source tree is to use the "src-all"
# mega-collection. It includes all of the individual "src-*" collections.
# Please note: If you want to track -STABLE, leave this uncommented.
src-all
ports-all tag=.
РАЗНИЦА ВИДНА?
Видимо надо дописать новый вариант cvsup & make WORLD or KERNEL
1. На настоящий момент можно выделить ЧЕТЫРЕ варианта тегов:
- tag=. (CURRENT)
- tag=RELENG_N (RELENG_4 - текущий Stable, все время обновляемый
RELENG_3 и RELENG_2_2 для stable_3 и stable_2_2 которые
уже не развиваются, тупиковые ветви)
- tag=RELENG_N_M_RELEASE (RELENG_4_6_1_RELEASE, RELENG_4_6_0_RELEASE,
RELENG_4_5_0_RELEASE, RELENG_4_4_0_RELEASE,
и тд и тп, которые соответствуют выпущенным
релизам-дистрибутивам)
- tag=RELENG_N_M (RELENG_4_6, RELENG_4_5, RELENG_4_4, RELENG_4_3 - что
есть выпускаемые ПАТЧИ к этим релизам, те к верхнему
тегу)
итого, можно время от времени накатывать систему на текущую Stable версию
с tag=RELENG_4 которая включает все:
- возможные ошибки и несобираемость системы
- все патчи на текущий момент
- все новшевства, изменения, драйвера и достижения
Из вышеизложенного следует, что Stable имеет смысл иметь-держать на
личной-экспериментальной рабочей станции(WKS) системного администратора
А для боевого сервера, лучше:
- накатить систему до одного из наиболее удачных или требуемых РЕЛИЗА
с tag=RELENG_X_Y_0_RELEASE
- после чего, подписаться на security maillist freebsd и при получении
сведений об очередных bug/security-fix, запускать cvsup
с tag=RELENG_X_Y - который будет выкачивать ТОЛЬКО необходимые патчи,
а уж что делать с системой - написано в каждом bug-fix, нужно ли
пересобирать систему целиком или ядро, или достаточно пересобрать
отдельные библиотеки или утилиты
Из всего вышесказанного, проглядывается явная политика ЧТО и КАК делать:
- upgrade до Stable-4 имеет смысл делать тогда, когда нет нареканий в
http://docs.freebsd.org/mail/current/freebsd-stable.html
- upgrade до конкретного RELEASE делается один раз, затем cvsup'яться
только ПАТЧИ, при этом необходимо помнить что tag в supfile будет
отличным от тега RELEASE.
Чтобы не иметь особых проблем, видимо лучше иметь раздельные supfile'ы
для STABLE, RELEASE, PATCHES и ПОРТОВ. И как показывает опыт и практика,
лучше иметь свой скрипт запуска cvsup для интерактива или крона,
пример:
http://unix1.jinr.ru/~lavr/lcvsup
у меня несколько модификаций, как сказано выше, скрипты откатывают
содержимое /sys/i386/conf в /var/log/cvsup/sup-DATE:
[alone]~ > ls -la /var/log/cvsup
total 18
drwxr-xr-x 7 root wheel 512 Jul 23 15:15 .
drwxr-xr-x 5 root wheel 2048 Aug 8 05:00 ..
-rw-r--r-- 1 root wheel 9990 Jul 15 17:56 src-log.0.SUP.gz
drwxr-xr-x 5 root wheel 512 Mar 15 2001 sup-15.03.01
drwxr-xr-x 4 root wheel 512 Jul 15 17:12 sup-15.07.02
drwxr-xr-x 5 root wheel 512 Jun 16 20:00 sup-16.06.02
drwxr-xr-x 5 root wheel 512 Feb 17 19:44 sup-17.02.02
drwxr-xr-x 2 root wheel 512 Jul 23 15:15 sup-23.07.02
[alone]~ > ls -la /var/log/cvsup/sup-23.07.02
total 170
drwxr-xr-x 2 root wheel 512 Jul 23 15:15 .
drwxr-xr-x 7 root wheel 512 Jul 23 15:15 ..
-rw-r--r-- 1 root wheel 24061 Jul 23 15:15 ALONE
-rw-r--r-- 1 root wheel 9064 Jul 23 15:15 GENERIC
-rw-r--r-- 1 root wheel 23551 Jul 23 15:15 LAVR
-rw-r--r-- 1 root wheel 99887 Jul 23 15:15 LINT
[alone]~ >
пишут логи в /var/log/cvsup, архивируют их и крутят - эти логи в отличие
от cvs'ных явно показывают ЧТО изменялось, а в директории
/var/log/cvsup/sup-DATE хранятся cvs'ные логи, которые позже удаляются
за ненадобностью
Придется дописать новый вариант и выложить с примерами скриптов и
разных вариантов supfiles.