Инструкция для любителей gentoo по подключению профиля от calculate с целью использования бинарных сборок пакетов на медленных машинах

Данная статья возникла с целью облегчить гентушникам жизнь, чтобы не тратить кучу времени и сил на ожидание долгой компиляции. В основном, это актуально для ситуации, когда рабочие станции с gentoo на морально устаревших машинах… Учтите, статья написана для гентушников, кто хочет оставить систему максимально близкой к привычной gentoo.

До перехода на calculate желательно обновить gentoo. В противном случае у вас могут возникнуть трудности с устаревшим питоном и т.д. Но это не означает несовместимость вашего гентушного профиля и профиля от calculate!

Если вы решили не обновлять генту, а сразу переходить на calculate и у вас куча проблем на этапе emerge -uDN world, то можно попробовать удалить из /var/lib/portage/world пакет gnome и другие вещи, связанные с графикой, перейти в текстовую консоль, выполнить emerge -ac, потом emerge -uDN world, потом доустановить нужные пакеты.

Если какие-то пакеты требуют у вас “USE=python”, то один из вариантов решения - обновлять систему с этим флагом, но потом убрать его и выполнить emerge -uDN world. Но лучшее решение - выявить те библиотеки, которые требуют python и прописать в /etc/portage/package.use.

Поехали:

emerge eix
emerge layman
emerge git # если у вас не установлен git, он потребуется
eix-update
layman -L
layman -a calculate
rm /etc/make.profile
ln -s ../var/lib/layman/calculate/profiles/calculate/desktop/CLS/x86 /etc/make.profile
mkdir /var/calculate
mkdir /var/calculate/tmp
emerge -1 eselect
eselect profile list
eselect profile set 5 # CLDG binary
emerge calculate-utilities
cl-install --install ; cl-desktop --install ; cl-client --install
 # рекомендуется закомментировать USE или хотя бы удалить лишнее
 # помните, чем ближе будет набор флагов к профилю,
 # тем больше пакетов установится из бинарников!
echo 'source /var/lib/layman/make.conf' >>/etc/make.conf
echo 'CALCULATE="nokernel"' >>/etc/make.conf
 # emerge calculate-meta # установит кучу хлама, если желаете
eix-sync
emerge -uDN system
emerge -uDN world
 # emerge --resume --skipfirst # в случае вылета по ошибке при обновлении
emerge -uDN world --with-bdeps=y 
revdep-rebuild
emerge -ac

Получилось?
Теперь (при необходимости) обновите ядро.
Да, синхронизация портов теперь eix-sync.

Доки устаревают катастрофически быстро! :slight_smile:

eselect мы уже не патчим. В портежах появилась поддержка работы с профилями из оверлеев.

Утилиты cl-install, cl-desktop и cl-client уже не нужно прописывать, достаточно подключить профиль и установить calculate-utilities.

USE CALCULATE уже не используется, он нужен был только для формирования зависимостей мета-пакетов.

Вместо установки calculate-meta, который будет удален из оверлея, используйте ‘cl-update --rebuild-world’, предварительно забэкапив свой /var/lib/portage/world:

cp /var/lib/portage/world /var/lib/portage/world-old
cl-update --rebuild-world
cat /var/lib/portage/world-old >> /var/lib/portage/world
rm /var/lib/portage/world-old

После этого можно подчистить всё лишнее из world.

/var/calculate/tmp должна по идее создаться самими портежами.

я бы добавил ещё dispatch-conf

Но это уже получилась дока по миграции на кальку. На днях описывал на английском форуме кальки:

http://www.calculate-linux.ru/boards/3/topics/19141

в новой кальке кроме layman -a calculate необходимо делать layman -a distros, иначе профили кальки будут не видны