From: Igor Vlasenko <vlasenko@imath.kiev.ua> To: devel@lists.altlinux.org Subject: [devel] Х. Вынос сборочницы в пространство пользователя. Date: Sat, 23 Mar 2019 14:38:42 +0200 Message-ID: <20190323123842.GA21660@dad.imath.kiev.ua> (raw) Уважаемые господа! Продолжаю цикл писем, посвященный предложениям по улучшению нашей сборочницы. Письма 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
reply other threads:[~2019-03-23 12:38 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190323123842.GA21660@dad.imath.kiev.ua \ --to=vlasenko@imath.kiev.ua \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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