From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 16 Sep 2009 12:28:51 +0400 From: Vladislav Zavjalov To: ALT Linux Team development discussions Message-ID: <20090916082851.GA16106@imap.altlinux.org> References: <20090915152510.GA24809@dad.imath.kiev.ua> <20090915162931.GA16273@wo.int.altlinux.org> <20090915191728.GA20638@altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20090915191728.GA20638@altlinux.org> User-Agent: Mutt/1.4.2.3i Subject: Re: [devel] unmets policy 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: Wed, 16 Sep 2009 08:28:52 -0000 Archived-At: List-Archive: List-Post: > Я не знаю как поддержать такие транзакции. Точнее знаю. > Пусть пакеты в задании пронумерованы 1..n. Предикат > пересечения x(i,j), i=1..n, j=1..n, i в пределах задания пакет с большим номером j пересекается > с пакетом с меньшим номером i (по имени исходного пакета и/или > по имени одного из бинарных пакетов). Тогда по смыслу пакет i > нужно выбросить из плана задания, потому что он был нужен > для бутстрапа пакета j. Пакет j в свою очередь может быть > вытеснен пакетом с ещё большим номером. > > Пересечение проверяется для всех пар (i,j). Доказать что > окончательный план транзакции не зависит от порядка, в котором > проверяются пары (i,j). > > В общем мне это не нравится, я бо так не стал делать. Сейчас все > транзакции прозрачны: результат сборки каждого пакета зависит от пакетов > в репозитарии и дополнительно от пакетов с меньшими номерами, которые > однако жо гарантированно попадают в репозиторий. Прозрачность как бы > означает, что имея начальный репозитарий A0 и конечный репозитарий A1, > мы имеем все данные, чтобы заново проиграть транзакцию на репозитории > A0 и получить в результате идентичный репозитарий A1. А с бутстрапом > такой прозрачности нет: имея на руках A0 и A1, мы не знаем, как > на основе A0 воспроизвести A1 повтрно. Я правильно понимаю, что сейчас пакет из А1 может быть собран с некоторым пакетом из А0 или из А1 - в зависимости от порядка пакетов в задании? И только по А1 и А2 этого не поймешь. В чем тогда заключается эта "прозрачность" и чем ее ухудшает бутстрап? Там тоже будет зависимость сборочной среды пакета от задания (правда, уже не только от порядка пакетов в задании)... Если смущает то, что при бутстрапе пакет может быть собран с пакетом из А0, из А1 и с какой-то третьей версией, то, может, подойдет такая схема? - идем по заданию, собираем пакет n в окружении А0 + пакеты 0..n-1 - если n вышибает какой-то предыдущий пакет m, то возвращаемся к пакету m+1 не обнуляя наше окружение и собираем дальше подряд. так пакет m не окажется в сборочном окружении ни у кого. Слава