[devel] [sisyphus -> devel] Стабильный Сизиф

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Июн 19 17:03:59 MSD 2006


On Mon, Jun 19, 2006 at 03:26:26PM +0300, Led wrote:
> > По существу не ясно, чем гарантируется смена сонейма в конечное время.
> > То есть пункты 6, 7, 8 могут занять месяц, два, три...
> 
> А это и есть пресловутый "человеческий фактор" - без него никак :( Чтоб не 
> было "месяц-два-три" и привёл пункт 6. Либо новая libfoo не пропускается 
> вобще, либо мэйнтейнеру нужно немножко озадачиться изготовлением libfoo_X 
> (думаю, если продумать policy на libfoo => libfoo_X, то и "заскриптовать" это 
> будет возможно).

Кстати изготовление отдельного пакета libfoo_X в ряде случаев
нежелательно.  Потому что библиотеки libfoo_X и libfoo_Y могут оказаться
в одном адресном пространстве, что может быть фатальным.  Гипотетический
пример: библиотека libbar зависит от glib1, а библиотека libbaz зависит
от glib2.  Приложение, которое использует libbar и libbaz одновременно,
загружает в свое адресное пространство сразу glib1 и glib2.  Я не знаю,
насклько ELF/ld.so умеет или пытается разруливать такие ситуации, но в
общем-то ясно, что это может кончиться очень плохо.

> > Если для смены 
> > каждого сонейма формировать отдельный отстойник и коммитить его целиком
> > только тогда, когда проблема будет полностью решена, тогда возможны
> > новые проблемы.  Допустим приходит новый пакет, который зависит от двух
> > отстойников ("транзакций").  Вопрос такой: к какому отстойнку его
> > отнести?  Нужно уже формировать "объединение" двух отстойников.
> > Если развить мысль (исходя из того, что полная смена сонейма занимает
> > довольно долгое время), то "объединение" нескольких отстойников
> > в конечном счете даст один большой новый отстойник, который до конца
> > переместить в сизиф никогда не удатся.  То есть будет "затык" в
> > альтернативном сизифе, который никак не удается слить в основной сизиф.
> 
> Возможно "отстойник" стОит "залочить" от "внешего вмешательства", т.е. пока 
> транзакция не завершена, ничего увеличивающего энтропию в неё не добавлять.

Что значит залочить от внешнего вмешательства?  То есть допустим
сменился soname у libjpeg, и под это дело выделяется отдельный
отстойник, пока все пакеты не будут пересобраны с новым libjpeg.

Вновь посутпающие пакеты должны пересобираться в отстойнике или
на сизифе без отстойника?  Очевидно, в отстойнике, иначе не выполняется
требование завершения транзакции (все пакеты должны пересобраться с
новой библиотекой libjpeg).

Через месяц меняется soname у libssl.  Транзакция по libjpeg ещё не
завершена.  Нужно формировать новый отстойник для libssl, или вообще
зарубить libssl на том основании, что "отстойник залочен", т.е. в
отдельный момент времени нельзя допускать более одной тразакции по смене
сонейма?

Допустим, есть два отстойника (уже пересказываю) по libjpeg и libssl.
Теперь идёт пакет, который зависит одновременно от libjpeg и libssl.
В каком отстойнике собирать этот пакет?  Очевидно, что условие
завершения одной из транзакций будет нарушено.  Тогда нужно слить два
этих отстойника вместе и собирать этот пакет на объединенном отстойнике
libjpeg+libssl.  После этого условие завершения объединенной транзакции
становится гораздо сложнее.  Короче, слияние отстойников формирует
"параллельный сизиф", а транзакцию по объединенному отстойнику завершить
никогда не удается.

Так можно ли автоматически бороться с анметами (то есть существует ли
более тонкий автоматический критерий, чем просто давать reject пакетам,
которые увеличивают количество анметов)?
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060619/6823d7dc/attachment-0001.bin>


Подробная информация о списке рассылки Devel