Использование source-rpm в Gentoo
В этой заметке я опишу использование source rpm (*.src.rpm) в Gentoo Linux.
Для начала установим rpm:
emerge app-arch/rpm
Далее нужно посмотреть зависимости пакета:
rpm -qp --qf "[%{REQUIRENAME} %{REQUIREFLAGS:depflags} %{REQUIREVERSION}\n]" kernel-2.6.18-194.17.4.el5.src.rpm
Описание на примере kernel-2.6.18-194.17.4.el5.src.rpm – исходники ядра Linux в CentOS.
При необходимости установите нужные пакеты.
Теперь устанавливаем пакет:
rpm -Uvh --nodeps kernel-2.6.18-194.17.4.el5.src.rpm
Spec-файлы (нечто вроде сценария компиляции) и исходники теперь разложены по соответствующим каталогам в /usr/src/rpm. Собираем исходники следующим образом (в случае с ядром мы получим нормальный каталог с исходниками CentOSовского ядра):
cd /usr/src/rpm/SPECS
rpmbuild --nodeps -bp --target=`uname -m` kernel-2.6.spec
USE-флаги и маски для отдельных пакетов (/etc/portage/package.*)
В этой статье я опишу методы установки USE-флагов, масок и размаскировок для отдельных пакетов в Gentoo.
Portage + SQLite
Использование SQLite для хранения кэша portage может значительно увеличить скорость работы emerge.
Для этого необходимо:
ccache - кэш компилятора
Использование ссache может значительно ускорить сборку пакетов, которые компилируются несколько раз, так как заново компилироваться будут только файлы, которые изменились с последней компиляции.
Не устанавливать документацию в Gentoo
В Gentoo Linux легко можно отказаться от установки документации (/usr/share/doc), info- (/usr/share/info) и man- (/usr/share/man) файлов. Достаточно прописать FEATURES="nodoc noinfo noman" в /etc/make.conf. Правда необходимость этого действия сомнительна – все эти файлы вместе взятые занимают не более пары сотен мегабайт.
P.S. При прописывании переменной FEATURES будьте внимательны, не перезапишите предыдущие значения. Если строк несколько, то они должны выглядеть примерно так:
FEATURES="ccache" FEATURES="${FEATURES} nodoc noinfo noman"