Планета Calculate

Облако тэгов

blog wiki qutim bonding bond канал calculate2 ldap cds mail hdd smart flashplayer alsa db маршрутизатор iptables полезное новости optimization emerge grub grub2 загрузка загрузчик перенесено cls CDS домашний сервер linux tbn calculate livecd cld uptime calculate linux bsa games templates шаблоны vpn tun tap ssh доступ удаленная сеть pptp samba winbind calculate-sources kernel update LVM ПО оптимизация репозиторий portage сеты EAPI 2 release ДНК DNA calculate 2.2 fonts шрифт сглаживание CLDX packages overlay CLD Calculate Gnome Desktop Office CLDG cldg gentoo postfix mailman maillist разработка kde и многопоточный звук CLS irc профиль пользователя рассылка wget многопоточная закачка calculate-install пресса news press screenshot gnome win7 theme Windows 7 установка calculate-install-gui developers костыли birthday серые листы почта Spamassassin twitter iphone интернет blueman bluetooth benchmark benchmarking facebook GSC CSS sony vaio template CDS dns dhcp wi-fi network XFCE autologin nouveau book install syslog authentication internet USE meta package builder recordmydesktop pitivi ffmpeg ubuntu debian windows stage desktop кеширование binary CMC BINHOST BugTracker live-flash MultiTail udev bittorrent acl tracker mirrorselect vim bash-completion помощь участие распространение openldap weechat binhost torrent mirror PowerTOP Midnight Commander bash командная строка mp3 cp1251 UTF-8 dropbox kde xfce textile dwm chromium интервью elogv udisks udisks-glue ccze grc most tail handbook calculate utilities make.conf man apvlv pdf djvu umd plugn #calculatelinux euse openrc NetworkManager dns python cairo-dock glx-dock windows 7 rtorrent rutorrent flags strategy X Xorg ati ati-drivers 11.6 udisks ntfs-3g team jabber pastebin video donation Gnome3 canto ncurses RSS reader cmc lirc ПДУ xbmc Audio sound pulseaudio history foto VirtualBox Calculate Linux world openbox xchat tint tint2 slim feh obconf obmenu xxkb nm-applet автологин брелок bug autounmask package unmasking nut lighttpd ups atheros9285 atheros asus Zen оптимизация ядра lvm raid btrfs p2p linuxdcpp Calculate Utilities перемещаемые профили xorg установка linux настройка linux оптимизация linux asus n10j двойная загрузка atom n270 dhcp KDE MidnightCommander kde vlc smplayer mplayer настройка цветов монитора настройка цветов фотоаппарата настройка цветов принтера настройка цветов сканера цветовой профиль icc locale localepurge Atheros Calculate Linux Enlightenment E17 Calculate Calculate E17 mc swap ParaType font глобальное меню git ускорение keyboard layout pwkl proxy profile E17 backdor vulnerability безопасность firefox звук hdmi TV mouse клавиатура мышка радио mpg123 ppp0 net ядро xsel gnome3 Скоростной алгоритм сжатия LZ4 acoola Calculate USB Creator видео screencast 1C postgresql apache pam security pxe aufs calculate3 midori кодировка CP1251 Summer Camp beta начало блог описание python3 Icon programming установка Icon в Calculate фидонет фидо linux icon распространение программ утилитки на Icon nano подсветка синтаксиса создание подсветки синтаксиса день программиста ratigan монитор экран разрешение persistence persistence-mode liveusb livedvd remoteapp freerdp w2k3 w2k8 keyexec radeon AMD pf-kernel pre code documentation форматирование текста fontconfig lcdfilter fonts шрифты DPI qrencode qr-code xfce cl-console-bg screensaver caffeine курсор мыши unclutter steam valve objecticon сборка из исходников mencoder Firefox ext4 e4rat gnome 2 tuxonice hibernate uefi сайт github dvcs Либрусек MyRuLib Библиотека Книги сервер xen виртуализация google talk-plugin dmix звуковые карты rip GPT EFI CL14 SSD производительность обмен опытом mate cldm alpha shorewall firewall clementine dmidecode tools CSC dhcpcd networking pgo АТС asterisk revision Tor lautre lm_sensors monitoring temperature cl-update-profile minicom 3G 4G LTE Huawei cl cpu family utilities eudev systemd cl-kernel браузер tweaks RT zswap uksm nexus android bootchart OpenRC systemd-udevd new MATE dconf features CLDM abi_x86_32 kde5 KDE5 Plasma CLSK freshplayerplugin otter QupZilla openssh ControlMaster Снобизм XZ kernek qupzilla calculate-utils работа вакансия программист android kde mtp ebuild CLSL день рождение CLDL CLDC Cinnamon calculate linux antivirus free помощь проекту calculate utils реестр icons browser cl-builder Compose unicode ini.env su sudo CL17 план plan luks cryptsetup codelite cpp support forum форум lto howto дизайн Timeless тема gcc power energy saving CLC LXC LXD distro container telegram repo libvirt kvm qemu rdp automagic softraid muqss pae x86 markdown dnscrypt server vps openvpn calculate-access lxc-desktop CCDX xmpp reestr

Перенос 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

Добавил(а) Виктор Кустов больше 6 лет назад

Краткая инструкция для подключения 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

Comment

Добавил(а) Владимир Чемерис почти 5 года назад

почему то перестала происходит eix-sync
попробовал сделать
layman -d calculate
layman -a calculate

 * Adding overlay,...
 * Running Git... # ( cd /var/lib/layman  && /usr/bin/git clone git://git.calculate.ru/calculate/overlay.git /var/lib/layman/calculate )
Cloning into '/var/lib/layman/calculate'...
fatal: read error: ?????????? ???????? ?????? ????????
 * Failure result returned from Git
 * Running Git... # ( cd /var/lib/layman/calculate  && /usr/bin/git config user.name "layman" )
 * [Errno 2] No such file or directory: '/var/lib/layman/calculate'
 * Adding repository "calculate" failed!

 * CLI: Errors occurred processing action add
 * Adding repository "calculate" failed!


ручное создание папки /var/lib/layman/calculate
не помогает все равно папка потом исчезает.

сейчас даже эта комманда выдает ошибку
emerge -v git


!!! /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, --search, --sync, and
Спасибо!