LINUX.ORG.RU

Cборка в chroot (покритикуйте)


0

2

Задача:

  • на одной машине собирать софт под несколько 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;

Работает как задумано, но может что-то можно сделать лучше/проше?


Ответ на: комментарий от anon_666
-I/home/user/inc1
-L/home/user/lib1

Не понял... Нафига мне инклуды и либы если toolchain и glibc разные? Тут даже --sys-root не поможет.

Что-то вы батенька не в теме похоже.

ly
() автор топика
Ответ на: комментарий от ly

>glibc разные?
Если на таргете libc5 а на хосте нет - не сработает, да.

toolchain

?

anon_666
()
Ответ на: комментарий от ly

hasher, OBS. Есть ещё пачка других сэндбоксов

Led ★★★☆☆
()
Ответ на: комментарий от RaDiSt

Заюзать subj можно, но возьни в данном конкретном случае будет больше. Дело не в тулзах, а в самом софте. Времени на то чтобы привести его в прядок нет, а без этого юзать тот-же hasher проблематично.

Короче, пока прокачусь на «самокате», а дальше видно будет...

ly
() автор топика

Проще всего - использовать виртуалку.

tailgunner ★★★★★
()

Работает как надо? Значит не нужно. Конечно, лучше всего было бы, если б этот софт нормально собирался кросс-компилированием. Но и так нормально :]

vasily_pupkin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.