Задача:
- на одной машине собирать софт под несколько linux-систем. К примеру: rhel5-i386/x64, rhel6-i686/x84, alt5-i686/x64, ubuntu-i686/x64 и т.д.
- результаты должны быть «нативные», т.е. с использованием хидеров и библиотек специфичных для каждой версии каждой ОСи.
- архитектуры отличные от x86 пока не интересуют, что многое упрощает.
Cделано так:
- 64-битная хостовая система с поддержкой 32-бит для userspace;
- с каждой target-системы снят tarball-образ и развернут с обрезанием мусора;
- при сборке создается chroot-песочница, куда монтируется:
- корень target-системы в readonly без suid;
- рабочий каталог для svn co & make;
- tmp
- make запускается в chroot c правами а-ля nobody;
Работает как задумано, но может что-то можно сделать лучше/проше?