Являюсь пользователем kde4 с первых версий, появившихся в портежах. И вот созрел для сборки kde из svn, чтобы, как говориться, испробовать свежачка.
Первым делом для сборки kde нам необходимо установить новый portage 2.2. Сейчас он замаскирован, чтобы активнее тестировалась текущая версия portage, но, к сожалению, только версии с поддержкой нового EAPI поддерживают сеты пакетов. Поэтому вносим в /etc/portage/package.unmask следующее изменение:
Это даст нам возможность использовать сеты (sets) пакетов и использовать вместо файлов package.* директории. Соответственно, следующим шагом нам необходимо добавить оверлей kde-crazy. Утилита, при помощи которой в Gentoo управляют оверлеями — layman.
Включенные USE-флаги git и subversion позволят нам работать с оверлеями, основанными на git и svn соответственно. После завершения установки layman добавляем оверлей kde-crazy (к сожалению, официального сайта оверлея не нашел — поэтому ссылку дать не могу).
После добавления оверлея emerge будет ругаться на метаданные — внимания не обращаем, на нашу задачу это не повлияет. Пробуем установить kde-live с наскока:
Можно обратить внимание на то, что вместо стандартных мета-пакетов был использован сет @kde-live. Сет — это просто перечисление необходимых пакетов с требуемыми флагами. Находится в дереве портежей в директории sets. Но вернемся к нашей задаче. emerge ругнется на замаскированные пакеты.
Максимально быстро победить эту проблему можно, написавгрязный хакскрипт, который внесет все ebuilds в оверлее в unmask:
Применяем скрипт следующим образом — помещаем его в /usr/local/portage/layman/kde-crazy и запускаем:
Естественно, что директория kde-live в package.keywords к этому моменту должна существовать. Остальные пакеты, которые размаскируются по версиям, легче привести здесь (/etc/portage/package.unmask/kdefull-live)
Повторяем попытку сборки при помощи emerge -av @kde-live
Все проблемы, возникающие во время сборки, чаще всего решаются при поиске в интернете. Не удалось из svn мне собрать лишь последний пакет сета — kmail-live.
Первым делом для сборки kde нам необходимо установить новый portage 2.2. Сейчас он замаскирован, чтобы активнее тестировалась текущая версия portage, но, к сожалению, только версии с поддержкой нового EAPI поддерживают сеты пакетов. Поэтому вносим в /etc/portage/package.unmask следующее изменение:
# echo ">=sys-apps/portage-2.2_rc18" >> /etc/portage/package.unmask
# emerge portage
Это даст нам возможность использовать сеты (sets) пакетов и использовать вместо файлов package.* директории. Соответственно, следующим шагом нам необходимо добавить оверлей kde-crazy. Утилита, при помощи которой в Gentoo управляют оверлеями — layman.
# USE="git subversion" emerge app-portage/layman
Включенные USE-флаги git и subversion позволят нам работать с оверлеями, основанными на git и svn соответственно. После завершения установки layman добавляем оверлей kde-crazy (к сожалению, официального сайта оверлея не нашел — поэтому ссылку дать не могу).
# layman -a kde-crazy
После добавления оверлея emerge будет ругаться на метаданные — внимания не обращаем, на нашу задачу это не повлияет. Пробуем установить kde-live с наскока:
# emerge -av @kde-live
Можно обратить внимание на то, что вместо стандартных мета-пакетов был использован сет @kde-live. Сет — это просто перечисление необходимых пакетов с требуемыми флагами. Находится в дереве портежей в директории sets. Но вернемся к нашей задаче. emerge ругнется на замаскированные пакеты.
Максимально быстро победить эту проблему можно, написав
#!/bin/bash
for name in `ls`; do
for name2 in `ls $name`; do
echo -n $name
echo -n /
echo "$name2 **"
done
done
Применяем скрипт следующим образом — помещаем его в /usr/local/portage/layman/kde-crazy и запускаем:
# ./script | grep -v sets | grep -v Documentation | grep -v eclass | grep -v profiles | grep -v script > /etc/portage/package.keywords/kde-live/kdefull-live
Естественно, что директория kde-live в package.keywords к этому моменту должна существовать. Остальные пакеты, которые размаскируются по версиям, легче привести здесь (/etc/portage/package.unmask/kdefull-live)
>=app-office/akonadi-server-1.1
>=kde-base/system-config-printer-kde-9999
>=kde-base/printer-applet-9999
>=app-admin/system-config-printer-0.7.27
>=dev-python/pycups-1.9.12
Повторяем попытку сборки при помощи emerge -av @kde-live
Все проблемы, возникающие во время сборки, чаще всего решаются при поиске в интернете. Не удалось из svn мне собрать лишь последний пакет сета — kmail-live.