* [devel] Х. Вынос сборочницы в пространство пользователя.
@ 2019-03-23 12:38 Igor Vlasenko
0 siblings, 0 replies; only message in thread
From: Igor Vlasenko @ 2019-03-23 12:38 UTC (permalink / raw)
To: devel
Уважаемые господа!
Продолжаю цикл писем, посвященный предложениям по улучшению
нашей сборочницы.
Письма I - VIII можно посмотреть здесь:
https://www.altlinux.org/Girar/Parallel
Я решил пока часть 2 Письма IХ пропустить,
вкратце, там планировал сказать, что на erlangish
commit = проверки целостности andalso merge .
Письмо Х. Вынос сборочницы в пространство пользователя.
-------------------------------------------------
В прошлом письме был ответ на вопрос "Кто виноват?" -
ответ - виновата недостаточная параллелизация работы
сборочницы, и, в особенности,
логическая ошибка в дизайне commit.
Пора ответить на вопрос "Что делать".
Что надо сделать?
1) исправление ошибок.
2. Вынос сборочницы в пространство пользователя.
Сборочница у нас одна, на живой системе.
Никто ее там чинить, отлаживать, оптимизировать не даст.
Но ее часть можно вынести в "userspace":
Аккуратно вырезать и опакетить
скрипты, связанные со сборкой, и скрипты, связанные с
проверками целостности, в отдельные независимые пакеты,
которые пользователи могут установить у себя
и запустить свою локальную сборочницу.
К примеру:
Делаем
$ gb-mk-task -b sisyphus[=/path/to/sisyphus] /path/to/task1dir /path/to/srpm1 \
/path/to/gitdir2=commit del=name rebuild=name
получаем готовую task1dir, точно такую же, как если бы мы ее
создали через интерфейс gyle и скачали с team.alt.
$ gb-task-show /path/to/task1dir
id=task1dir locked=no shared=no fail_early=yes test_only=yes repo=sisyphus owner=viy state=NEW try=1 iter=1
100:srpm=srpm1.src.rpm
100:userid=viy
100:pkgname=srpm1
200:dir=/path/to/srpm1dir
200:tag_name=1.2-alt1
200:tag_id=f61de636d910096267d958a7189628e11651290a
200:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org>
200:fetched=2019-03-13T11:05:54
200:userid=viy
200:pkgname=dd
да, то что надо.
$ gb-build-check --arches="i586 x86_64" --hurry /path/to/task1dir
собирается так же, как и на сборочнице.
с другой консоли можно посмотреть статус
$ gb-task-ls /path/to/task1dir
#/path/to/task1dir BUILDING [locked] #1 sisyphus srpm=dd-1.2-alt1.src.rpm ...
можно даже сделать свой форк сизифа и тестировать на нем:
$ gb-commit -b sisyphus /path/to/task1dir
[--hardlink|--symlink|--copy] \
--inrepo=/path/to/sisyphus1 \
--outrepo=/path/to/sisyphus2
Что это даст?
Позволит отлаживать и улучшать код сборочницы,
не трогая саму сборочницу, что резко улучшит ее
тестируемость и поддерживаемость.
Позволит эксперименты.
Например, реализовать альтернативный алгоритм
или проверку, или опимизацию, прогнать через
бенчмарки, сравнить.
Даст удобный инструмент майнтайнерам.
Я тоже не собираюсь остаться в стороне.
On Wed, Mar 20, 2019, Aleksey Novodvorsky wrote:
Андрей, инициатива наказуема. :)
Представьте план-проспект работ, за которые Вы могли бы взяться, с
описанием светлого будущего по завершении.
У меня есть своя сборочница, но она сейчас встроена в
скрипты для автоматизации работы нод кластера
Automated Package Maintainance Cluster
[ https://watch.altlinux.org/pub/monitor/ ]
Я хочу ее выдрать оттуда, и сделать более универсальной,
чтобы она могла принимать на вход и tasks в формате girar,
как описанные выше гипотетические пока скрипты
gb-build-check
gb-commit
затем добавить туда node resource manager
и реализовать в них различные алгоритмы параллелизации
сборки тяжелых task'ов, о которых я писал.
https://www.altlinux.org/Girar/Parallel
Получится альтернативная реализация
gb-build-check, которую по желанию можно будет
запускать на сборочнице вместо стандартной.
--
I V
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-03-23 12:38 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-23 12:38 [devel] Х. Вынос сборочницы в пространство пользователя Igor Vlasenko
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git