Тема : cvsup csup и все-все-все


Smithson  28-03-2013 15:56
Огромное горе посетило наш аул!
С 28 февраля враги из разработчиков freebsd закрыли поддержку систем cvsup и csup. Теперь обновлённые с их помощью порты на команду portupgrade ругательски ругаются, что всё пропало, устарело и вообще кошмар и ужас.
Надо что-то делать, господа. (с)

Враги из разработчиков предлагают переходить на portsnap для обновления портов и subversion для обновления /usr/src

Как это делается конкретно:
Порты
Для первого обновления дерева портов "по модному" делаем
mv /usr/ports /usr/ports.old

portsnap fetch extract

mv /usr/ports.old/distfiles /usr/ports
mv /usr/ports.old/packages /usr/ports

rm -rf /usr/ports.old
pkg_delete -r -v cvsup-without-gui-\*

в кронтаб пишем
/usr/sbin/portsnap fetch update
Я не нашел, как в portsnap исключить из обновления некоторые порты (порой бывает надо).

Исходники
Для обновления дерева исходников делаем сперва так
svn checkout svn://svn.freebsd.org/base/releng/8.4/ /usr/src 8.4 меняем на нужную нам версию.
Для последующих обновлений - так.
svn update /usr/src/

Smithson  29-05-2013 15:51
Вдогонку.
В новых портах стало модно класть архивы в формате xz. Говорят, прикольно, и вообще в Ландоне все так делають. tar из FreeBSD 9 такие архивы читает легко. А вот из 7 и старых 8 - увы-с.
Что делать?
Короткий путь:

cd /usr/ports/archivers/libarchive && make install clean

ln -sf /usr/local/bin/bsdtar /usr/bin/tar
tar --version

на выходе должно быть bsdtar 3.1.2 - libarchive 3.1.2 - значит, всё получилось.
Но иногда libarchive не ставится, потому что система очень старая.
Тогда ставим gtar

cd /usr/ports/archivers/gtar && make install clean

ln -sf /usr/local/bin/tar /usr/bin/tar
tar --version

Версия там "всего" 1.26, но xz архивы оно читает отлично.