Страница 1 из 2

Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-12 1:12:14
Fomalhaut
Собрал свой опыт в "единый кулак" в форме статьи:
"Обновление исходных текстов: cvsup, csup, svn, portsnap"
Кому-то это будет не интересно, а некоторым начинающим всё это, собранное в одном месте - может быть полезным.
Если есть полезные предложения/добавления - буду рад их узнать.

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-12 1:38:43
unix-admin
а fastest_cvsup ?

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-12 1:43:33
Fomalhaut
unix-admin писал(а):а fastest_cvsup ?
Наверное стоит и эту утилиту описать, хотя лично сам никогда не пользовался, но не раз читал и слышал, что "наиболее быстрый" сервер она определяет не совсем корректно. В смысле, что выдаёт, как рекомендуемый быстрый, а при проверке - совсем не так.
Но разберусь и добавлю - спасибо за совет.

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-12 11:00:22
bonkor

Код: Выделить всё

$ cvsup -L 2 /root/updatefile.cvs
$ cvsup -L 2 /root/updateports.cvs
Вместо этого на мой взгляд удобнее:

Код: Выделить всё

[root@kb1:~]# grep SUP /etc/make.conf
SUP_UPDATE=yes
SUP=/usr/bin/csup
SUPFLAGS= -L 2
SUPHOST=cvsup4.ru.FreeBSD.org
SUPFILE=/etc/csup_sys
PORTSSUPFILE=/etc/csup_ports
#DOCSUPFILE=/usr/share/examples/cvsup/doc-supfile
[root@kb1:~]# 
И далее:

Код: Выделить всё

cd /usr/src/ && make update
или

Код: Выделить всё

cd /usr/ports/ && make update

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-12 11:29:09
Fomalhaut
bonkor писал(а):Вместо этого на мой взгляд удобнее:
[...]
Дело не столько в удобстве, а в описании по возможности всех вариантов. :)
Описанный я совсем забыл. Добавлю. Спасибо!

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-12 17:46:54
unix-admin
Off-topic...
У кого-нибудь есть опыт синхронизации директории /usr/src ( или /usr/ports) при помощи rsync на серверах в локальной сети?
Или все-таки проще использовать cvsup-mirror?

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-12 17:51:34
Alex Keda
прощще использовать nfs

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-12 18:12:19
unix-admin
Alex Keda писал(а):прощще использовать nfs
make buildworld на сервере и make installworld на клиентах... :good:

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-13 8:02:57
fm2clipper
Прошу прощения за вопрос
а порты по архитектуре (системы под i386 и amd64 ) различаются?

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-13 8:33:38
Fomalhaut
fm2clipper писал(а):Прошу прощения за вопрос
Здесь не дерутся за вопросы. :)
fm2clipper писал(а):а порты по архитектуре (системы под i386 и amd64 ) различаются?
Пакеты - да, порты - нет: это же исходные тексты, а под любую платформу они КОМПИЛИРУЮТСЯ.

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-01-13 10:28:46
fm2clipper
Fomalhaut писал(а):
fm2clipper писал(а):Прошу прощения за вопрос
Здесь не дерутся за вопросы. :)
fm2clipper писал(а):а порты по архитектуре (системы под i386 и amd64 ) различаются?
Пакеты - да, порты - нет: это же исходные тексты, а под любую платформу они КОМПИЛИРУЮТСЯ.
Спасибо :smile:

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-02-25 14:33:59
Гость
1)
если скачивать исходники через

Код: Выделить всё

$ svn checkout svn://svn.freebsd.org/base/releng/8.2/ /usr/src
или через

Код: Выделить всё

$ svn checkout svn://svn.freebsd.org/base/release/8.2.0/ /usr/src
то на сегодняшний момент это будут одни и те же исходники релиза 8.2 ? (обновлений в releng/8.2 пока никаких же нет?)

2)
после обновления через

Код: Выделить всё

$ svn checkout svn://svn.freebsd.org/base/releng/8.2/ /usr/src
uname -a выдает:

Код: Выделить всё

freebsd# uname -a
FreeBSD freebsd.localdomain.local 8.2-RELEASE FreeBSD 8.2-RELEASE #0 r219023: Fri Feb 25 11:41:58 MSK 2011     root@freebsd.localdomain.local:/usr/obj/usr/src/sys/GENERIC  i386
что значит ревизия r219023 ? по releng/8.2 должна же скачиваться и устанавливаться ревизия 218738 ?

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-02-25 22:59:32
Fomalhaut
Гость писал(а):то на сегодняшний момент это будут одни и те же исходники релиза 8.2 ? (обновлений в releng/8.2 пока никаких же нет?)
Согласно хэндбуку:
RELENG_8_2_0_RELEASE (/release/8.2.0/) - дерево исходных текстов на момент релиза 8.2;
RELENG_8_2 (/releng/8.2/) - это релиз 8.2 и только обновления безопасности (т.е. исправленная 8.2);
RELENG_8 - (/stable/8/) - это все исправления и дополнения по ветке 8; в дальнейшем "превратится" в 8.3.
Гость писал(а):

Код: Выделить всё

freebsd# uname -a
FreeBSD freebsd.localdomain.local 8.2-RELEASE FreeBSD 8.2-RELEASE #0 r219023: Fri Feb 25 11:41:58 MSK 2011     root@freebsd.localdomain.local:/usr/obj/usr/src/sys/GENERIC  i386
что значит ревизия r219023 ? по releng/8.2 должна же скачиваться и устанавливаться ревизия 218738 ?
Как я понимаю, ещё не выделилась RELENG_8_2 из RELENG_8. Хотя может и ошибаюсь.

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-02-26 2:12:05
Гость
1)
Fomalhaut писал(а):Согласно хэндбуку: ...
Это понятно, именно на основе этого я и делаю вывод, что на сегодняшний момент в release/8.2.0 и releng/8.2 лежат одни и те же исходники, правильно? :pardon:

2)
Fomalhaut писал(а):Как я понимаю, ещё не выделилась RELENG_8_2 из RELENG_8. Хотя может и ошибаюсь.
Судя по каталогам в svn видимо всё-таки выделилась.
А вот почему uname выдает номер ревизии исходников из ветки head (current), хотя скачивались исходники из releng/8.2 остается непонятным :unknown:
(на момент когда я скачивал releng/8.2 в head как раз последней была ревизия 219023, но причем здесь она, исходники при этом похоже реально от 218738)

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-02-26 13:04:35
Gamerman
номер ревизии, похоже, считается для всей ветки 8. То есть, если изменения прошли в ветке 8.2, то номер меняется у всех. Я так думаю.

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-03-11 11:01:56
Gegemon
Добавьте для джедаев про обновление с помощью git.

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-03-11 13:58:13
gx_ua
Gegemon писал(а):Добавьте для джедаев про обновление с помощью git.
как через git обновлять?

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-03-11 15:54:10
Gegemon
gx_ua писал(а):
Gegemon писал(а):Добавьте для джедаев про обновление с помощью git.
как через git обновлять?
http://gitorious.org/freebsd/

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-09-25 9:16:53
dekloper
чойта затерзали смутные сомненья, аднака.. :oops:
как куррент вытянуть svn-ом? :oops:

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-09-25 9:38:01
Fomalhaut
dekloper писал(а):как куррент вытянуть svn-ом? :oops:
Ну, как я понимаю, девятка ещё не выделена из HEAD, поэтому сливаем HEAD и радуемся. :)

Код: Выделить всё

svn checkout http://svn.freebsd.org/base/head/ /usr/src
Для SVN в этом плане просто: если лениво вспомнинать, то в баузере заходишь на svn.freebsd.org/base и выбираешь нужны каталог, а адрес потом подставляешь в строку.
Если честно, я не понял, как обновить имеющиеся сорцы, стянутые SVN, до требуемой ветки, поэтому просто удалю всё из /usr/src и запускаю заново.

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-09-25 10:03:03
dekloper
Fomalhaut писал(а): Для SVN в этом плане просто: если лениво вспомнинать, то в баузере заходишь на svn.freebsd.org/base и выбираешь нужны каталог, а адрес потом подставляешь в строку.
ну я примерно так и сделал
тока залез в http://svn.freebsd.org/base/releng/BETA_2_0/
наверно это одно и тоже
шас в бошку залезу, гляну чо там :crazy:

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-09-25 11:12:35
Fomalhaut
dekloper писал(а):тока залез в http://svn.freebsd.org/base/releng/BETA_2_0/
наверно это одно и тоже
Э-э :shock:
http://svn.freebsd.org/base/releng/BETA ... newvers.sh - файл 1994 года:

Код: Выделить всё

echo "char ostype[] = \"FreeBSD\";" > vers.c
echo "char osrelease[] = \"2.0-BETA\";" >> vers.c
echo "int osreldate = 199411;" >> vers.c
echo "char sccs[4] = { '@', '(', '#', ')' };" >>vers.c
echo "char version[] = \"FreeBSD 2.0-BETA #${v}: ${t}\\n    ${u}@${h}:${d}\\n\";" >>vers.c
Ничего не настораживает? :)

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-09-25 12:19:48
snorlov
Fomalhaut писал(а): Согласно хэндбуку:
RELENG_8_2_0_RELEASE (/release/8.2.0/) - дерево исходных текстов на момент релиза 8.2;
Есть еще
RELENG_8_2_0 (/release/8.2.0-pX) - дерево исходных текстов релиза 8.2+ патчи
Fomalhaut писал(а): RELENG_8_2 (/releng/8.2/) - это релиз 8.2 и только обновления безопасности (т.е. исправленная 8.2);
RELENG_8 - (/stable/8/) - это все исправления и дополнения по ветке 8; в дальнейшем "превратится" в 8.3.

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-09-25 12:20:16
dekloper
да понял уже
знатного динозавра откопал :-D
пусь будет, историю нада знать)

Re: Обновление исходников через cvs, svn, portsnap

Добавлено: 2011-12-13 17:51:05
emoxam
/usr/ports/devel/subversion-freebsd
уже нету ?
но есть cd /usr/ports/devel/subversion

означает ли это что надо юзать cd /usr/ports/devel/subversion ?
Если нет то куда же запрятался cd subversion-freebsd ?
В хендбуке вообще ни слова про svn ...
Спасибо