Как настроить cбор бинарных пакетов c билд-серверов?

Из документации http://wiki.gentoo.org/wiki/Binary_package_guide#PORTAGE_BINHOST
известно, что переменная PORTAGE_BINHOST задаёт порядок в котором проверяется наличие бинарных пакетов на билд-серверах. Поэтому
возникает желание задать там два сервера - один для пакетов из дистрибутива, а второй для своих пакетов, которых в дистрибутиве нет (т.е. если клиент не найдёт на сервере дистрибутива, то отправится искать на локальный сервер).

На клиенте в /etc/portage/make.profile/make.defaults написано

PORTAGE_BINHOST="http://mirror.cnet.kz/calculate/CLDX/grp/x86_64"

допишем в /etc/portage/make.conf/custom подключение локального билд-сервера:

PORTAGE_BINHOST="${PORTAGE_BINHOST} httр://buildserver.local/x86_64"

неясно в чем разница между FEATURES=“getbinpkg” и EMERGE_DEFAULT_OPTS="–getbinpkg"
(понятно, что первая специализированная, вторая общего назначения, но есть разница или нет?)

Теперь нужно одинаково настроить флаги и разные ограничения на клиенте и на сервере.

в файле /etc/portage/make.conf/0-base подключен список оверлеев:

     # Connecting overlays layman. You should not change this setting, as this may
     # disrupt the package manager.
    source /var/lib/layman/make.conf

в списке оверлеев (в /var/lib/layman/make.conf) подключено несколько оверлеев (например):

cat /var/lib/layman/make.conf
PORTDIR_OVERLAY="
/var/lib/layman/distros
/var/lib/layman/calculate
/var/lib/layman/dotnet
$PORTDIR_OVERLAY"

Т.е. для того, чтобы на клиенте хорошо ставились бинарные пакеты с сервера,
надо скопировать разные конфиги.
Просто так скопировать не получится, надо настроить какой-нибудь канал, например
через http при помощи wget <- http-replicator. добавляем в /etc/conf.d/http-replicator (например)

DAEMON_OPTS="$DAEMON_OPTS --alias /chroot/vm_x86_64/var/www/conf:vm_x86_64_conf"

заполняем /chroot/vm_x86_64/var/www/conf разным контентом (файлы hardlink-ками соединяем с оригинальным, папки монтируем при помощи o bind. Если вы знаете как по-другому сделать доступными ограниченное подмножество файлов расскажите)
перезапускаем /etc/init.d/http-replicator restart
скачиваем всё это какой-нибудь зубодробительной командой:

mkdir -p /root/buildserver.local && cd /root/buildserver.local
wget -r -np -nH --cut-dirs=1 --reject "index.html" http://buildserver.local/vm_x86_64_conf/
find . -type f
./var/lib/layman/make.conf
./etc/portage/make.conf
./etc/portage/package.mask/mask
./etc/portage/package.keywords/autounmask-linux-headers
./etc/portage/package.keywords/autounmask-tor
./etc/portage/package.keywords/autounmask-glibc
./etc/portage/package.keywords/keywords
./etc/portage/package.keywords/flags
./etc/portage/package.keywords/autounmask-coreutils
./etc/portage/package.keywords/autounmask-gentoo-sources
./etc/portage/package.keywords/autounmask-samba
./etc/portage/package.keywords/autounmask-python
./etc/portage/package.use/use
./etc/portage/package.unmask/unmask

копируем скачанное в нужные места

cp /root/buildserver.local/var/lib/layman/make.conf  /var/lib/layman/make.conf
cp /root/buildserver.local/etc/portage/make.conf /etc/portage/make.conf/gentoo
for dir_name in  package.use package.keywords package.mask package.unmask
do
   grep -hvE "^#" /root/buildserver.local/etc/portage/${dir_name}/* | 
      grep -vE "^$" >/etc/portage/${dir_name}/gentoo
done

(если бы это было две одинаковых генты (а не calculate и gentoo), то можно было бы не копировать, а скачать прямо в корень)
Или можно вместо копирования несколькими командами - скачивать несколькими командами.

Синхронизируем деревья:

layman -L
layman -S

(тут есть накладка со списками оверлеев - надо тоже скачать, но он упрятан в /etc/layman/layman.cfg

# grep -EA10 "^overlays *\:" /etc/layman/layman.cfg | grep -v "^#" | grep -v "^$"
overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml

)

и теоретически можно ставить бинарные пакеты.

Внимание вопрос: я изобретаю велосипед и уже всё это есть в calculate? или, если нет, то почему нет?

Смотря какая цель. Если всё это делается для выполнения обновлений в парке машин локальной сети, то пакеты, которые вы собираете могут быть либо уже в вашем Stage, либо в /var/calculate/remote/packages, которая является общей при использовании CDS.