From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imath.kiev.ua; s=hydra; t=1553344723; bh=I46GvqmeKN3yUAsY2sMwAGVLwajlbcEqhwY32Uq96ZY=; h=Date:From:To:Subject; b=QxKhrgy8NEBb64Yn2E1Wrvbf4j706+zvfZks18xPim+UJmz0t7GTsMoPm2Rdu4IcK l8ycoe1OpReH08c054Aa0j1eIGXsh7HyPMuq7a1TSB9WSPliigMMsiabIyiHWeyRbG rTDp8JBqonFYTRce5f33ImrN/uRr2Ud3V66HqN3U= Date: Sat, 23 Mar 2019 14:38:42 +0200 From: Igor Vlasenko To: devel@lists.altlinux.org Message-ID: <20190323123842.GA21660@dad.imath.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.9.1 (2017-09-22) Subject: [devel] =?utf-8?b?0KUuINCS0YvQvdC+0YEg0YHQsdC+0YDQvtGH0L3QuNGG?= =?utf-8?b?0Ysg0LIg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC/0L7Qu9GM0LfQvtCy?= =?utf-8?b?0LDRgtC10LvRjy4=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Mar 2019 12:38:46 -0000 Archived-At: List-Archive: List-Post: Уважаемые господа! Продолжаю цикл писем, посвященный предложениям по улучшению нашей сборочницы. Письма 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) 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