LINUX.ORG.RU

PORTAGE_BINHOST - а как синхронизировать список оверлеев?

 


0

2

Есть билд-сервер, на нём подключено основное дерево (/etc/portage/make.conf) и несколько оверлеев (/var/lib/layman/make.conf)

На машине-клиенте можно скачать собранные пакеты, но:
1) флаги должны быть одинаковые с сервером
2) списки оверлеев должны совпадать (иначе emerge будет искать версии пакетов по-разному на сервере и клиенте)

Правильно понимаю?

Если да, то как называется утилита или опция в дополнение к emerge --sync и layman -S, которая синхронизирует именно списки оверлеев и флаги?

Пока идея такая:
1) в крон на сервере запихнуть
(source /etc/portage/make.conf && echo USE=\«$USE\» && echo source \«$PORTDIR_OVERLAY/make.conf\»)>some-file-at-rsync-folder.conf
2) на клинте в кроне выкачивать по rsync (можно и по wget, если на сервере есть web-сервер)
3) выкачанный файл подключать через source

могут ли возникнуть проблемы с утилитами на клиенте, которые не готовы к такому маневру с конфигом?
(например там же не только USE, а ещё много других такого типа переменных типа LINGUAS)

StrongDollar
() автор топика
Последнее исправление: StrongDollar (всего исправлений: 1)

Идея №2 - надо как-то получить полный скрипт /etc/portage/make.conf на сервере (включив в него все source ), отгрепать всё ненужное при помощи grep -v «ненужное»
потом скачать на клиент
на клиенте включить полученный файл в make.conf клиента при помощи source

тогда собственно в make.conf клиента останутся только настройки прокси и PORTAGE_BINHOST

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

Идея №3
добавить в каждый /etc/portage/make.conf (на клиенте и на сервере) команду source local.conf
скачивать конфиги по списку
local.conf не скачивать - он будет разным на клиенте и сервере

Тут мне ещё не ясно, как себя поведёт layman -S первый раз, когда есть только список оверлеев, но сами оверлеи не были скачаны при помощи layman -a

StrongDollar
() автор топика
Последнее исправление: StrongDollar (всего исправлений: 1)
Ответ на: комментарий от StrongDollar

Идея #3 здравая. Чтобы не синкать списки оверлеев, то можешь подключить /usr/portage и диру с layman по sshfs, например.

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

Идея #3 здравая.

не фсё так просто (с). Дело в том, что USE-флаги наследуются из профиля. И с профилями надо тоже что-то делать (например запихивать вывод от начального emerge --info в make.conf и добавлять USE="-*).

я не осилил

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

А профили изначальные у тебя в /usr/portage и лежат. А так есть тот же самый /etc/portage, который так же можно подмонтировать.

daemonpnz ★★★★★
()

На машине-клиенте можно скачать собранные пакеты, но:

Прям ВНЕЗАПНО. Спасибо капитан.

Если да, то как называется утилита или опция в дополнение к emerge --sync и layman -S, которая синхронизирует именно списки оверлеев и флаги?

Утилита называется никак потому что её тупо не существует и угадай почему. Правильно потому что используемые USE флаги либо уже давно забиты в профили либо никто тебе не запрещает сделать свой собственный профиль куда забить нужные конкретно тебе USE флаги... И потом если у тебя бинхост и соответственно клиенты то на каждом клиенте иметь индивидуальные /usr/portage и /var/lib/layman как минимум глупо. Там же на бинхосте portage и оверлеи layman-а упаковываются в аккуратненькие aufs+squashfs и одни единственные расшариваються на всю сеть через nfs собственно таким же макаром как и готовые к употреблению бинпакеты. Всё дерево /usr/portage в aufs+squashfs весят в зависимости от алгоритма сжатия у squashfs каких-то 60Мб т.е. бонусом ещё и бекапов всего дерева портежей можно хранить просто немеряно.

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