[Devel] Использование ccache, make и rpmbb при сборке

Vitaly Lipatov lav на etersoft.ru
Сб Сен 19 21:04:59 MSD 2009


В etersoft-build-utils-1.6.7-alt1 добавлена поддержка ccache.

Если коротко: нужно обновить etersoft-build-utils и вписать CCACHE_ENABLE=yes
в конфигурационный файл (обычно ~/.config/eterbuild или /etc/eterbuild/config)

На builder и builder50 я пакет поставил.
На другие системы пакет можно взять отсюда:
ftp://updates.etersoft.ru/pub/Etersoft/BuildFarm/ALTLinux/Sisyphus/etersoft-
build-utils-1.6.7-alt1.noarch.rpm
(по-другому пока не смог :))

Подробнее:

ccache кэширует результат компиляции и позволяет серьёзно
ускорить пересборку пакетов.
По умолчанию выставлен размер кэша в 1Гб. Кэш располагается
в $TMPDIR/ccache и индивидуален для каждого пользователя. Может быть изменено 
в конфиге (~/.config/eterbuild) в строке
export CCACHE_DIR=$OURTMPDIR/ccache

Добавлена новая команда ccmake, которая вызвает make с двумя дополнениями:
1. включается ccache для сборки (если не задана переменная CCACHE_DISABLE в 
конф. файле)
2. make запускается с параметром -j NPROCS, задействуются все незанятые ядра 
процессоров при сборке.

Количество незанятых ядер вычисляется как количество ядер минус средняя 
загрузка за последнюю минуту. Таким образом будут задействоваться незанятые 
ядра.

rpmbb использует ccache, если это включено переменной CCACHE_ENABLE=yes
в конфигурационном файле (~/.config/eterbuild)

=== если не пользоваться etersoft-build-utils:===
Вообще по идее для включения использования достаточно
export GCC_USE_CCACHE=1
export CC=gcc CXX=g++
для обычной сборки через make

и для rpm нужно указать
%__ccache_dir   %_tmppath/ccache
в ~/.rpmmacros

http://lists.altlinux.org/pipermail/devel/2003-September/095675.html

-- 
С уважением,
Виталий Липатов
Россия, Санкт-Петербург. www.etersoft.ru
GNU! ALT Linux Team! WINE! WIKI! LaTeX! LyX!


Подробная информация о списке рассылки devel