[devel] unmets policy

Alexey Tourbin at at altlinux.ru
Wed Sep 16 10:32:38 UTC 2009


On Wed, Sep 16, 2009 at 07:03:15AM +0400, Денис Смирнов wrote:
> AT> Поэтому сейчас сборка идёт на repo + RPMS.hasher overlay, а план A0->A1
> AT> вычисляется только в самом конце.  Я когда-то решил что ничего лучше
> AT> придумать нельзя.  С наскоку по крайней мере.
> AT> А как сюда вписать дупы в пределах самого задания?  Сейчас работает
> AT> логика "в промежуточное состояние мы в принципе не вклиниваемся",
> AT> а дупы просто запрещены.  Поменять её на логику "в промежуточное
> AT> состояние мы в принципе вклиниваемся" это очень круто.
> 
> После сборки каждого пакета удалять дупы в оверлее?

Я же говорю, в промежуточное состояние мы в принципе не вклиниваемся.
То есть по принципиальным соображениям, это философия такая.  Если мы
вклиниваемся в промежуточное состояние, то автоматически встает вопрос,
какие требования мы предъявляем к промежуточному состоянию.  Например,
какие требования должны выполняться при замещениии пакетов.  Эти
требования появляются помимо нашего желания, сразу же как только мы
подумали что можно было бы немного вклиниться в промежуточное состояние.

> Алгоритм следующий:
> а) удалить все дупы по srpm;
> б) удалить все бинарные пакеты, для которых были убиты srpm;
> в) если после этого остались дупы по бинарным пакетам -- удалить
> соответствующие srpm и повторить цикл

Если удалять таким образом дупы в оверлее (после сборки каждого пакета),
то нужно таким же образом удалять дупы в основном репозитарии (после
сборки каждого пакета).  Это можно выразить так: hsh каждый раз должен
выполняться на репозитарии строго без дупов.

Теперь представь себе что был один исходный пакет и апстрим его попилил
на два исходных пакета.  Пусть например был исходный пакет xorg из
которого собиралась кучка пакетов типа libX11 а теперь ты залил пакет
libX11 который собирается сам из себя.  Теперь по пункту "б" надо делать
строгое замещение: выкинуть все иксы, а добавить только libX11.  Если мы
так сделаем (между сборкой первого и второго пакета), то с промежуточным
репозитарием произойдёт что-то очень нехорошее: в промежуточном
репозитарии появится слишком много анметов.  Но про это лучше не думать!

> AT> А новую модель с бутстрапом в общем виде можно описать так.
> AT> Собрать n пакетов, выбрать из них m пакетов, m<n, и план составлять
> AT> только с учетом выбранных m пакетов.  Тогда ясно что если переход A0->A1
> AT> выполнен только с учетом m пакетов, то часть информации потерялась.
> AT> То есть начать собирать эти пакеты заново и получить A1 уже нельзя
> AT> даже в принципе.
> 
> Да, сохранение информации из task'ов является необходимым, и от этого
> никуда не убежать.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20090916/b6f26a27/attachment-0001.bin>


More information about the Devel mailing list