From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <4E8B44AA.9030206@altlinux.org> Date: Tue, 04 Oct 2011 21:38:50 +0400 From: Paul Wolneykien Organization: ALT Linux User-Agent: Mozilla/5.0 (X11; Linux i686; rv:6.0.1) Gecko/20110907 Thunderbird/6.0.1 MIME-Version: 1.0 To: ALT Linux Team development discussions References: <20110929095552.GA27448@dad.imath.kiev.ua> <20111001073424.GA763421@mw.mithraen.ru> <4E872CEC.4080101@solin.spb.ru> <20111002072426.GB181353@mw.mithraen.ru> <20111002181619.GB5212@dad.imath.kiev.ua> <20111003025806.GB183662@mw.mithraen.ru> <4E897C44.10705@altlinux.org> <20111003115517.GA644579@mw.mithraen.ru> <4E89B48D.60001@altlinux.org> <20111004161420.GA20051@mw.mithraen.ru> In-Reply-To: <20111004161420.GA20051@mw.mithraen.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [devel] =?utf-8?b?0KPQs9GA0L7Qt9GLINGA0LDQt9Cy0LjRgtC40Y4g0LQ=?= =?utf-8?b?0LjRgdGC0YDQuNCx0YPRgtC40LLQsC4g0J/Rg9GC0Lgg0YDQtdGI0LXQvdC4?= =?utf-8?q?=D1=8F=3A_gear-subsystem?= 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: Tue, 04 Oct 2011 17:38:58 -0000 Archived-At: List-Archive: List-Post: 04.10.2011 20:14, Денис Смирнов пишет: > On Mon, Oct 03, 2011 at 05:11:41PM +0400, Paul Wolneykien wrote: > > PW> Я и не говорю, что это всегда нужно — как раз наоборот: можно > PW> подсистему создать, а можно и не создавать. > > Так как это должно выглядеть? > > PW> Если мы, в ряде случаев, перейдём от обновления отдельных пакетов к > PW> обновлению подсистем как единых сущностей, то и cronbuild будет > PW> обновлять подсистему целиком, а girar её пересобирать, согласно > PW> установленным для данной подсистемы правилам. > > Каким правилам? > > Hint: чтобы что-то закодить, нужно это очень четко описать. А чтобы что-то чётко описать, нужно сначала это хотя-бы примерно представить. :) Идея в том, чтобы совершать действия не с отдельным пакетом, а с группой пакетов — подсистемой ­— как с единым целым. Я представляю что подсистема — это: 1. список gear-репозиториев, из которых собираются пакеты; 2. сценарий для вычисления и сортировки набора всех требующих обновления пакетов; 3. сценарий — единая точка входа для обновления версий и истории изменения в каждом из требующих обновления пакетов. Хранить информацию о наборе gear (git)-репозиториев (п. 1.) можно было бы, наверное, используя git-submodule. Тогда главный репозиторий хранил бы в себе пп. 2 и 3. Для выполнения обновления и сборки можно было бы завести команды-обёртки, использующие код пп. 2 и 3. Тогда обновление подсистемы может выглядеть примерно так: $ cd … обновляем код … $ git commit $ cd .. $ git submodule push $ gear subsystem add-changelog -m "Compiler update: v1.8.5" # В результате чего обновляются релиз версии (-altN) и история # изменений в каждом затрагиваемом пакете. Например, если # обновляется компилятор и сценарий из п.2 выбирает ещё несколько # библиотек для обновления, то в каждой из них релиз будет увеличен # на единицу, а в истории изменений записано стандартное сообщение: # "Update due to compiler update: v1.8.5", полученное на основе # сообщения, указанного пользователем. $ gear subsystem tag -s -a -m "Version 1.8.5" v1.8.5 # В результате чего ставятся (подписанные) теги в каждом # затрагиваемом git-репозитории. $ gear subsystem build sisyphus v1.8.5 # В результате чего формируется сборочное задание из всех # затрагиваемых репозиториев (и тегов), отсортированное в # правильном порядке. Как-то так. Это должно быть удобно и человеку и роботу (cronbuild). Или нет? Паша.