Binfarm — комплексное решение позволяющее организовывать бинафермы, с помощью которых создаются бинарные пакеты.
Установка
# emerge trueoffice/binfarm
Создание бинафермы
# bfbuild <stage> <name>
Chroot в бинаферму
# bfchroot <name>
bfchroot выполняет обычный chroot в папку бинафермы предварительно примонтировав proc, dev, portage и distfiles. При выходе из chroot отмонтирует все обратно.
Так же доступны отдельные утилиты bfmount и bfumount.
# bfmount <name> # bfumount <name>
Листинг бинаферм
# bflist amd64 amd64-server amd64-vps amd64-vps-web x86 x86-server x86-vps
Заливка на сервер
Заливка на сервер происходит посредством rsync.
# bfsyncportage # bfsyncbinpkgs # bfsyncstages # bfsyncdev
При запуске с флагом -n покажет предварительный список заливаемых файлов.
Файлы конфигурации
/etc/binfarm/make.conf — стандартный файл который заменит /etc/make.conf в бинаферме при ее создании.
MAKEOPTS="-j12" source /usr/portage/local/layman/make.conf EMERGE_DEFAULT_OPTS="--ask --verbose --usepkg --buildpkg"
/etc/binfarm/binfarm.conf — настройки для скриптов.
PATHTOBINFARM="/root/chroot" PATHTOPORTAGE="/usr/portage/"; RSYNCPORTAGE="rsync://binpkg@download.trueoffice.org/gentoo-portage-write/"; PATHTOBINPKGS="/var/www/binpkgs/"; RSYNCPKGS="rsync://binpkg@download.trueoffice.org/binpkgs/";
Создание stages
Стейжи создаются на основе бинаферм командой:
# bftruestages -- создает стейжи из всех бинаферм; or # bftruestages amd64* -- создает стейжи по маске;
Место куда будут складываться стейжи определено в binfarm.conf
... PATHTOSTAGES="/var/www/stages/"; ...
Место куда будут заливаться стейжи по rsync определено в binfarm.conf
RSYNCSTAGES="rsync://binpkg@download.trueoffice.org/stages";
Дерево создаваемое bftruestages
|-- amd64
| |-- 20090609.md5sum
| |-- 20090609.tar.bz2
| |-- 20090615.md5sum
| |-- 20090615.tar.bz2
| |-- latest.md5sum -> 20090615.md5sum
| |-- latest.tar.bz2 -> 20090615.tar.bz2
| |-- server
| | |-- 20090609.md5sum
| | |-- 20090609.tar.bz2
| | |-- 20090615.md5sum
| | |-- 20090615.tar.bz2
| | |-- latest.md5sum -> 20090615.md5sum
| | `-- latest.tar.bz2 -> 20090615.tar.bz2
| `-- vps
| |-- 20090609.md5sum
| |-- 20090609.tar.bz2
| |-- 20090615.md5sum
| |-- 20090615.tar.bz2
| |-- latest.md5sum -> 20090615.md5sum
| |-- latest.tar.bz2 -> 20090615.tar.bz2
| `-- web
| |-- 20090609.md5sum
| |-- 20090609.tar.bz2
| |-- 20090615.md5sum
| |-- 20090615.tar.bz2
| |-- jails
| | |-- 20090609.md5sum
| | |-- 20090609.tar.bz2
| | |-- 20090615.md5sum
| | |-- 20090615.tar.bz2
| | |-- latest.md5sum -> 20090615.md5sum
| | `-- latest.tar.bz2 -> 20090615.tar.bz2
| |-- latest.md5sum -> 20090615.md5sum
| `-- latest.tar.bz2 -> 20090615.tar.bz2
`-- x86
|-- 20090609.md5sum
|-- 20090609.tar.bz2
|-- 20090615.md5sum
|-- 20090615.tar.bz2
|-- latest.md5sum -> 20090615.md5sum
|-- latest.tar.bz2 -> 20090615.tar.bz2
|-- server
| |-- 20090609.md5sum
| |-- 20090609.tar.bz2
| |-- 20090615.md5sum
| |-- 20090615.tar.bz2
| |-- latest.md5sum -> 20090615.md5sum
| `-- latest.tar.bz2 -> 20090615.tar.bz2
`-- vps
|-- 20090609.md5sum
|-- 20090609.tar.bz2
|-- 20090615.md5sum
|-- 20090615.tar.bz2
|-- latest.md5sum -> 20090615.md5sum
`-- latest.tar.bz2 -> 20090615.tar.bz2
bfsyncdev
bfsyncdev — утилита заливки trueportage в стабильную ветку.
binfarm.conf
PATHTOTRUEPORTAGEDEV="/usr/portage/local/layman/trueportage-dev/"; RSYNCTRUEPORTAGE="rsync://binpkg@download.trueoffice.org/trueportage-write";