Планета Calculate

Облако тэгов

world wi-fi udev мышка news Midnight Commander kde calculate-sources полезное templates pitivi calculate 2.2 portage CMC mail xchat swap ПДУ theme звук xsel серые листы meta djvu winbind tracker ДНК cld cp1251 X linuxdcpp 1C postgresql apache live-flash syslog cairo-dock автологин atheros9285 настройка цветов принтера mpg123 профиль пользователя sony bonding smplayer flags optimization fonts book bluetooth dwm NetworkManager apvlv VirtualBox nm-applet weechat 11.6 CLDG backdor rtorrent uptime rutorrent ati autologin ccze alsa asus n10j torrent press tail радио mailman интервью Audio BINHOST builder bash donation CSS сеты клавиатура Office cldg security strategy загрузчик dhcp binhost Скоростной алгоритм сжатия LZ4 TV GSC canto screenshot пресса xxkb участие feh USE samba tun slim maillist lighttpd шаблоны домашний сервер xbmc Gnome3 hdmi atom n270 stage UTF-8 оптимизация linux foto pam KDE textile bond install Calculate Utilities elogv многопоточная закачка gnome3 asus tint gentoo vlc ati-drivers p2p mp3 plugn ldap lirc screencast vaio mc games desktop ups lvm ускорение git Xorg team windows MultiTail BugTracker Atheros mplayer XFCE PowerTOP ПО package unmasking установка pulseaudio net vulnerability ppp0 blog tap tint2 mouse vim перемещаемые профили iptables mirror livecd Gnome установка linux calculate3 помощь update binary dns calculate-install рассылка man kde и многопоточный звук euse grub2 интернет db Calculate E17 hdd wiki most umd openrc release acoola новости mirrorselect bsa font aufs iphone btrfs pxe birthday obmenu E17 доступ nut настройка цветов монитора RSS безопасность emerge ncurses почта удаленная сеть qutim разработка udisks ntfs-3g Новости xorg grub openldap openbox udisks настройка цветов сканера keyboard Calculate template package sound calculate handbook postfix ffmpeg ubuntu grc kernel pwkl cds глобальное меню загрузка командная строка EAPI 2 CLS make.conf E17 Calculate win7 acl chromium jabber overlay recordmydesktop windows 7 autounmask bittorrent nouveau network двойная загрузка #calculatelinux developers ParaType linux tbn facebook locale Desktop DNA irc bug benchmarking оптимизация ядра CDS настройка linux raid atheros calculate linux obconf calculate2 маршрутизатор gnome vpn pptp MidnightCommander calculate-install-gui CLDX calculate utilities glx-dock internet history видео blueman profile Windows 7 layout Zen CLD CDS dns dhcp настройка цветов фотоаппарата Calculate Linux Enlightenment video сглаживание udisks-glue python debian reader цветовой профиль icc localepurge smart перенесено костыли bash-completion кеширование proxy распространение pdf cmc Calculate USB Creator dropbox kde xfce pastebin Calculate Linux Spamassassin twitter брелок ssh шрифт authentication cls канал wget LVM

Перенос Portage в Git

Добавил(а) Alexander Tratsevskiy 6 месяца назад

Неделю назад мы обсуждали в рассылке вопрос переноса портежей в Git репозиторий. Предложение вызвало множество положительных отзывов и было принято единогласно.

Итак, начиная со Stage версии 20111114 портежи по умолчанию синхронизируются с нашим Git-сервером, размещенным в Санкт-Петербурге. В Git репозитории хранится копия портежей с урезанной информацией Manifest и Changelog, что позволит компенсировать излишнее место, отводимое под Git. Скорость выполнения eix-sync, спустя пару дней без синхронизации на 10 Мб канале составляет около 30 секунд. Повторное выполнение синхронизации уже в основном уходит на обновление кэша портежей и составляет около 20 секунд.

К запуску копии портежей мы изменили расположение оверлея. Теперь портежи и оверлей Calculate расположены по следующему пути: git://git.calculate.ru/calculate/portage и overlay.

Помимо скорости, у нововведения есть ещё одно важное преимущество. Во время подготовки обновления бинарных пакетов, мы исправляем маскировки, USE-флаги и нередко зависимости. Спустя считанные минуты после обновления портежи продолжают обновляться, зачастую приводя к новым маскам и изменениям USE-флагов: пакеты замещаются новыми, без смены версии пакета меняются USE-флаги. Все это заставляет в лучшем случае компилировать пакеты, для которых существует бинарный вариант, в худшем использовать функцию autounmask. Использование среза портежей позволит исключить подобные сложности в обновлении, т.к. портежи, оверлей и бинарные пакеты теперь будут полностью соответствовать.

Calculate Portage не вносят изменений в оригинальные портежи. Соответственно можно всегда вернуться на Gentoo Portage с синхронизацией по RSYNC.

Ещё одно нововведение - поддержка загрузки Git по протоколу http. При отсутствии прямого доступа к сети Интернет, вы можете настроить обновление оверлея и портежей через прокси, сменив путь к репозиторию с git:// на http://.

Для изменения ссылки к Calculate Overlay достаточно удалить и затем добавить оверлей Calculate:

layman -d calculate
layman -a calculate

Для миграции портежей на Git, выполните:

cd /usr
git clone --depth 1 git://git.calculate.ru/calculate/portage portage-git
rm -rf portage
mv portage-git portage
emerge -u1 portage
eix-sync

Для включения обновления через прокси выполните следующие действия:

echo "proxy : http://PROXY:8080" >>/etc/layman/layman.cfg
git config --global http.proxy PROXY:8080
sed -ri 's|(url = )git://|\1http://|' /var/lib/layman/calculate/.git/config
sed -ri 's|(url = )git://|\1http://|' /usr/portage/.git/config

Для загрузки файлов через прокси вам может понадобиться изменить настройки wget файле /etc/wgetrc.

Синхронизация по протоколу http будет выполняться заметно дольше, т.к. на данный момент не поддерживается параметр "--depth 1". Следовательно будут загружаться все коммиты, что несколько увеличит трафик. Тем не менее это все же лучше, чем использовать RSYNC.

В будущих версиях мы научим cl-install настраивать обновление через прокси.

Успешной работы!


Комментарии

Comment

Добавил(а) Alexander Zaycev 6 месяца назад

Сделал. Все отлично работает.
Спасибо!

Comment

Добавил(а) Алексей Гриценко 6 месяца назад

root@Graleksej:/usr# emerge -u portage

!!! /etc/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)

!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --sync, and --version.
Comment

Добавил(а) Alexander Tratsevskiy 6 месяца назад

По всей видимости Вы удалили оверлей для смены адреса, но не добавили его после этого. Выполните

layman -a calculate
Comment

Добавил(а) Алексей Гриценко 6 месяца назад

Сейчас попробую сделать еще раз - все делал по инструкции.
P.S. Спасибо,все получилось (странно,что с первого раза не заработало,хотя все команды вводил по порядку).

Comment

Добавил(а) Павел Дружинин 6 месяца назад

Проверил на 3-х системах, работает :-)
Пачка команд одним куском, кому лень построчно копипастить ;)

layman -d calculate && layman -a calculate && cd /usr && git clone --depth 1 git://git.calculate.ru/calculate/portage portage-git && rm -rf portage && mv portage-git portage && emerge -u portage && eix-sync

Comment

Добавил(а) Сергей Сиделев 6 месяца назад

Странно, решил обновиться "по старинке" ради интереса - оверлей нормально обновился мигнув в конце что-то об изменениях в оверлее.
То есть

layman -d calculate
layman -a calculate

можно пропустить?

может он и миграцию портежей на Git сам выполнит? ;-)

Comment

Добавил(а) Alexander Tratsevskiy 6 месяца назад

Overlay давно переехал на Git (с SVN). Layman информирует Вас, что сменился путь. Т.к. информация в нем уже обновлена.

Comment

Добавил(а) Ромен Тевин 6 месяца назад

всё работает, отлично и быстро, поздравляю всё сообщество!

Comment

Добавил(а) Петр Свирщевский 6 месяца назад

Как теперь обновляться? Прежним способом, описанным в документации (layman -s calculate && eix-update && eix-sync) или теперь каким-то другим?

Comment

Добавил(а) Alexander Tratsevskiy 6 месяца назад

Ничего не поменялось.
Только eix-sync выполняет вызовы layman -s calculate и eix-update. Отдельно обновлять оверлей уже нет необходимости. Для обновления лучше всего использовать вызов:

eix-sync
Comment

Добавил(а) Александр Прунцов 6 месяца назад

ну вот, перебрался с gentoo на funtoo. в том числе чтобы попробовать портежи не гите. теперь, если прикручу ваше дерево какой то фантулейт получится :)

Comment

Добавил(а) Alexander Tratsevskiy 6 месяца назад

Да... фантушники на лоре мочат кальку от зависти :)

Comment

Добавил(а) Олег Виниченко 6 месяца назад

Дабы немного приспустить с небес разработчиков calculate, funtoo использует git для дерева уже более 3 лет. Переход, организация github занял не более 3 дней. О какой зависти может идти речь. Считаете, что вырвались на корпус вперед от gentoo? (когда это все сделали уже до Вас). В вашем блоге (ранее) была помещена некорректная информация, мне видится умысел с целью псевдо-рекламы вашего дистрибутива (для пользователей не очень разбирающихся в sync коде).На ЛОРе тоже висят трепачи. Мне очень симпатизирует Ваш дистрибутив, может быть он в чем-то лучше Sabayon. При все уважении к разработчикам, извините за негативную реакцию.

Comment

Добавил(а) Alexander Tratsevskiy 6 месяца назад

Спасибо Олег за Ваше мнение. Очень хорошо что Вы написали здесь, а не на лоре, где любой спор может прийти на банальные оскорбления.

Я ни в коем случае никого не хотел обидеть и уж тем более как-то ущимить вклад в развитие. Или наоборот, выехать на этом. gentoo/funtoo/sabayon/calculate по сути дополняют друг друга. Было бы глупо меряться наработками, что часто предлагают делать на лоре, т.к. задачи у всех проектов - разные. Скорей наработки других открытых проектов нужно перенимать. И тут будет намного больше общего, чем у нас например с убунтой.

Я позволил себе написать шуточный комментарий проведя некоторое время на лоре под впечатлением услышанного. Мне было смешно, возможно немного обидно. Но шутка - прекрасное решение любой сложной ситуации.

Что касается блога. Да, я знаю что funtoo давно использует Git для синхронизации портежей. И я смотрел его примерно год назад. Насколько я помню, в портежах были ядра убунты, возможно другие изменения. Я считаю, что это уже не копия портежей, а скорее форк, на подобие того, как мы сделали с genkernel. Если я откажусь от портежей, у меня повиснут без поддержки установленные пакеты. Недавно на глаза попался проект reGen2, как я понимаю форк funtoo с аналогичным подходом. Я написал в блогеи не то, что портежи funtoo/regen2 не совместимы с gentoo, а то, что мы не вносим в portage своих изменений. Сейчас я удалил упоминание о funtoo в новости, т.к. считаю, что это упоминание было лишним. Я очень уважаю разработчиков Gentoo, Funtoo и Sabayon, т.к. вместе мы делаем одно дело. Gentoo дает нам инструмент, а мы делаем из него уже окружение пользователя.

Что касается Calculate Portage. Основная проблема перехода заключалась скорей в синхронизации обновлений, чтобы копия оверлея полностью соответствовала портежам и бинарным пакетам. Это была главная цель и она успешно достигнута. Пользователи более не будут пересобирать gcc, только потому, что на днях к нему добавили USE флаг, а в репозитории пакет ещё не обновлен. Мы долго готовились к переходу, осознавая дополнительную нагрузку и оценивая преимущества, которые этот переход сулит.

Да и вообще. Любые подвижки в стане Gentoo должны идти только на пользу всем. Ведь сосуществует же огромное количество *buntu. И никто не топчет новости, хваля какую-то одну версию, никогда!

Я попытался ответить развернуто.

Comment

Добавил(а) Александр Прунцов 6 месяца назад

действительно на ЛОРе есть несколько человек активно не любящих Calculate. совершенно не понимаю их позицию, если им не нужно, это еще не значит что в принципе никому не пригодится.
то что можно прикрутить дерево на гите, пусть и неоффициальное, плюс для всех пользователей gentoo-based дистрибутивов. чем больше выбор, тем лучше для всех другими словами.
хоть сейчас и не пользуюсь калькулейт, всегда слежу за новостями/блогами, нередко узнавая что-нибудь полезное для себя.

зы: подключил ваше дерево как оверлей, основное дерево и профиль funtoo. просто зафиксировал источник у некоторых пакетов, теперь не надо заморачиваться с локальным оверлеем :) спасибо

Comment

Добавил(а) Aleksey Vasilyevich 6 месяца назад

Правильно ли я понял, что данную операцию можно проделать и в gentoo, для миграции портежей на Git, и чем это мне грозит?

ЗЫ. Можно не отвечать, нашел тут, пришлось правда прочесть коменты до конца %)...

Comment

Добавил(а) Виктор Кустов 5 месяца назад

Краткая инструкция для подключения gentoo к дереву портежей Calculate через git.
  1. размаскируем portage 2.2.0
    echo "=sys-apps/portage-2.2*" >> /etc/portage/package.unmask
    echo "<sys-apps/portage-7777 **" >> /etc/portage/package.keywords
    

    вариант:
    echo "=sys-apps/portage-2.2*" >> /etc/portage/package.unmask/portage
    echo "<sys-apps/portage-7777 **" >> /etc/portage/package.keywords/portage
    
  2. поставим portage
    emerge portage
  3. поставим git
    echo "dev-vcs/git             -gtk -curl -perl" >> /etc/portage/package.use
    emerge git
    
  4. пропишем с чего обновляться
    echo 'SYNC="git://git.calculate.ru/calculate/portage"' >> /etc/make.conf
    

    Теперь вроде всё готово, но если сделать eix-sync, получим сообщение "Unrecognized protocol: SYNC='git://...."
    Это потому что у нас нет метаданных. А их в стандартном портеже нет, потому
  5. руками клонируем портежи Calculate
    cd /usr && git clone --depth 1 git://git.calculate.ru/calculate/portage portage-git && rm -rf portage && mv portage-git portage
    
  6. емержим метаданные
     emerge --metadata 

Для ленивых:
echo "=sys-apps/portage-2.2*" >> /etc/portage/package.unmask && echo "<sys-apps/portage-7777 **" >> /etc/portage/package.keywords && emerge portage && echo "dev-vcs/git -gtk -curl -perl" >> /etc/portage/package.use && emerge git && echo 'SYNC="git://git.calculate.ru/calculate/portage"' >> /etc/make.conf && cd /usr && git clone --depth 1 git://git.calculate.ru/calculate/portage portage-git && rm -rf portage && mv portage-git portage && emerge --metadata

Спасибо!