Коротенькая заметка про csup для самых маленьких

Обсуждаем сайт и форум.

Модератор: f0s

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение terminus » 2010-09-18 14:07:35

http://www.lissyara.su/articles/freebsd/tuning/csup/

пинайте если что не так.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение ProFTP » 2010-09-18 14:16:43

на счет портов:
многие считают что именно порты обновлять лучше portsnap и еще rsyns

или качнуть архив ports.tar.gz размер 40метров

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

#!/usr/bin/perl

open (OPEN, "tar -tf ports.tar.gz |");

while (my $p = <OPEN>) {
system("tar -xvzf ports.tar.gz $p > /dev/null &");
}

close OPEN;
или скрипт который с фряхой

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

if [ "`id -u`" != "0" ]; then
   echo "Sorry, this must be done as root."
   exit 1
fi
echo "Extracting ports tarball into ${DESTDIR}/usr"
cat ports.tar.gz | tar --unlink -xpzf - -C ${DESTDIR}/usr
exit 0

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

#!/bin/sh
if [ "`id -u`" != "0" ]; then
   echo "Sorry, this must be done as root."
   exit 1
fi
echo "Extracting ports tarball into /usr"
cat ports.tar.gz | tar --unlink -xpzf - -C /usr
exit 0
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение terminus » 2010-09-18 19:56:26

Там про обновление сырцов. Про порты я написал, что это через portsnap удобней делать и поэтому не рассматривается.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
bammbr
рядовой
Сообщения: 11
Зарегистрирован: 2010-05-14 14:47:16
Откуда: с Урала

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение bammbr » 2010-11-25 13:37:39

Ну, если уж заметка
для самых маленьких
, то стоило бы повнятнее расписать про "грабельки" с тегами ветвей. И про приседания с
- переименовываем checkouts файлы с RELENG_8_1_0_RELEASE на RELENG_8
Где и что именно искать, хотя бы. Чтоб ничего не пропустить. Или объяснить финт с

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

src-all tag=RELENG_2_2_5_RELEASE list=cvs:RELENG_2_2
со страницы http://www.cvsup.org/faq.html#adopt, что, ИМХО, правильнее.
А также ссылки давать на рускоязычные страницы, где это возможно.

Но в целом полезно. Спасибо.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение terminus » 2010-11-25 18:37:38

стоило бы повнятнее расписать про "грабельки" с тегами ветвей.
Расписать подробнее про то, что при обновлении коллекции сирцов и коллекции портов используются разные имена тегов RELENG/RELEASE? Ну, могу дописать...

И про приседания с
Где и что именно искать, хотя бы. Чтоб ничего не пропустить. Или объяснить финт с
со страницы http://www.cvsup.org/faq.html#adopt, что, ИМХО, правильнее.
Я же там внизу, в конце заметки подробно расписал зачем файлы переименовывать и ссылку точно туда же дал :smile: Что еще про это надо добавить? :unknown:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
bammbr
рядовой
Сообщения: 11
Зарегистрирован: 2010-05-14 14:47:16
Откуда: с Урала

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение bammbr » 2010-11-25 19:06:57

Ну, лично меня конкретно сбило с толку, что внутри одного предложения использование слэша дважды, как разделителя, несёт совершенно различную смысловую нагрузку в каждом случае.
Да, тут есть одни грабельки - имена веток релизов для src-all и для doc-all/ports-all отличаются - RELENG/RELEASE!
Непонятно, в каком случае какой именно тег используется. Без внешних источников не разобрался бы.

А по checkouts-файлам, мне непонятно, зачем делать поиск-переименование вручную, если по той ссылке, что, как вы справедливо заметили, вы сами даёте, описано использование манипуляций с тегами внутри файла настроек (/etc/supfile в вашем случае):
...
src-all tag=RELENG_2_2_5_RELEASE list=cvs:RELENG_2_2

For subsequent updates, change the last line to:

src-all tag=RELENG_2_2
...
?

Аватара пользователя
bammbr
рядовой
Сообщения: 11
Зарегистрирован: 2010-05-14 14:47:16
Откуда: с Урала

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение bammbr » 2010-11-25 21:50:57

В догонку к предыдущему посту:
Из man csup:
list=suffix
This specifies a suffix for the name of the list file. A
leading dot is provided automatically. For example,
`list=stable' would produce a list file named
checkouts.stable, regardless of the release, tag, or
use-rel-suffix keyword.
То есть (насколько я могу перевести):
list=suffix
Задаёт суффикс имени лист-файла. Предваряющая
точка подставляется автоматически. Например,
`list=stable' создаст лист-файл с именем
checkouts.stable, независимо от релиза, тага или
ключевого слова use-rel-suffix.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение terminus » 2010-11-25 23:29:25

bammbr писал(а): А по checkouts-файлам, мне непонятно, зачем делать поиск-переименование вручную, если по той ссылке, что, как вы справедливо заметили, вы сами даёте, описано использование манипуляций с тегами внутри файла настроек (/etc/supfile в вашем случае):
...
src-all tag=RELENG_2_2_5_RELEASE list=cvs:RELENG_2_2

For subsequent updates, change the last line to:

src-all tag=RELENG_2_2
...
?
Ну это уже кому какой способ больше нравится :smile: мне так файлики попереименовывать привычней...
Добавил в заметку про второй способ с указанием list=. Спасибо за замечание.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
bammbr
рядовой
Сообщения: 11
Зарегистрирован: 2010-05-14 14:47:16
Откуда: с Урала

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение bammbr » 2010-11-25 23:50:21

Я только что попробовал по рецепту с http://www.cvsup.org/faq.html#adopt задать суффикс list=cvs:RELENG_8_1. При запуске csup почему-то ругается "Server message: Unknown collection "RELENG_8_1"" и создает файл с суффиксом cvs просто. То есть не checkouts.cvs:RELENG_8_1, как задумано, а просто checkouts.cvs
Но если зафиксировать имя checkouts-файла, например, директивой list=myhostname, и указывать её и при первом, и при последующих обновлениях, то, похоже, всё отрабатывает как надо.

Аватара пользователя
bammbr
рядовой
Сообщения: 11
Зарегистрирован: 2010-05-14 14:47:16
Откуда: с Урала

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение bammbr » 2010-11-26 8:49:07

То есть, в противоречие man, csup пытается умничать и парсит директиву list=cvs:RELENG_8_1, значение которой должен просто тупо подставлять суффиксом. Да, terminus, по директиве list=RELENG_8 будет создан checkouts.RELENG_8, а не checkouts.cvs:RELENG_8.
В любом случае, поторопился ты меня благодарить.
Хотя, возможно, это глюк только моей системы. Для справки:

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

$ uname -a
FreeBSD hydra.plutonic.local 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Sat Oct  9 14:33:19 YEKST 2010     

root@hydra.plutonic.local:/usr/obj/usr/src/sys/hydra  amd64

Аватара пользователя
bammbr
рядовой
Сообщения: 11
Зарегистрирован: 2010-05-14 14:47:16
Откуда: с Урала

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение bammbr » 2010-11-26 9:21:23

На данный момент для себя сделал такие выводы:
1) либо, как и советовал terminus, переименовывать checkouts-файлы ручками;
2) либо, зафиксировать имя checkouts-файла раз и навсегда, но таким суффиксом, чтобы не давать csup "проявлять себя". В моём случае list=hydra прекрасно работает.

Аватара пользователя
hedgehog
сержант
Сообщения: 220
Зарегистрирован: 2010-01-26 11:47:05
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение hedgehog » 2011-01-11 22:37:45

что-то я плохо понимать. подобные финты ушами с запуском csup 2 раза необходимо проводить только при миграции release-stable и наоборот? если у меня с момента установки системы стояла 8.0-RELEASE , нужно ли мне извращаться с переименованиями файлов (или использовать второй способ)? и нужен ли мне вообще csup при бинарном обновлении, если я хочу поддерживать исходники в актуальном состоянии?

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

$ ls /var/db/sup/src-all/
checkouts.cvs:RELENG_8_0
последняя запись в /usr/src/UPDATING:

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

20100720:
        8.1-RELEASE.
перед бинарным обновлением до 8.1 летом я запускал csup в штатном режиме с тегом *default release=cvs tag=RELENG_8_0
как мне узнать, в каком на самом деле состоянии находятся исходники и как правильно их синхронизировать в моем случае? на машине стоит 8.1-RELEASE-p2 amd64

Скорпион
проходил мимо
Сообщения: 1
Зарегистрирован: 2012-02-23 18:30:15

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение Скорпион » 2013-01-27 20:05:52

А подскажут ли уважаемые Гуру - почему при попытке обновить документы csup-ом - сервер сообщает об отсутствии данной коллекции.

csup -L 2 /root/all-supfile

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

Parsing supfile "/root/all-supfile"
Connecting to cvsup6.ru.FreeBSD.org
Cannot connect to 2a00:18c0:1::102: Protocol not supported
Connected to 85.21.192.16
Server software version: SNAP_16_1h
MD5 authentication started
MD5 authentication successful
Negotiating file attribute support
Exchanging collection information
Server message: Unknown collection "doc-all"
Establishing multiplexed-mode data connection
Running
Shutting down connection to server
Finished successfully
root@inetgate:/root #
uname -a

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

FreeBSD inetgate.remeks.local 9.1-RELEASE FreeBSD 9.1-RELEASE #0: Tue Jan  8 23:24:15 YEKT 2013     root@inetgate.remeks.local:/usr/obj/usr/src/sys/REMEKS  i386
cat /root/all-supfile

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

*default host=cvsup6.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_9_1
*default delete use-rel-suffix
*default compress
src-all
ports-all tag=.
doc-all tag=.
Причем попытки смены серверов от 1 до 7 ни к чему не привел :(

Аватара пользователя
Witt
мл. сержант
Сообщения: 73
Зарегистрирован: 2010-01-12 14:01:48

Re: Коротенькая заметка про csup для самых маленьких

Непрочитанное сообщение Witt » 2013-05-21 20:23:39

Скорпион писал(а):почему при попытке обновить документы csup-ом - сервер сообщает об отсутствии данной коллекции.
doc больше не обновляется через cvsup