ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Led <led@altlinux.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] [sisyphus -> devel] Стабильный Сизиф
Date: Mon, 19 Jun 2006 16:44:35 +0300
Message-ID: <200606191644.35873.led@altlinux.ru> (raw)
In-Reply-To: <20060619130359.GI6065@localhost.localdomain>

В сообщении от 19 июня 2006 16:03 Alexey Tourbin написал(a):
> 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 пакетам,
> которые увеличивают количество анметов)?

Ок, попробую объяснить по другому (вариант libfoo_X для упрощения пока не 
учитываю - он был приведён как временное решение, "костыль" для быстрейшего 
(надеюсь, только в некоторых случаях) завершения транзакции в 
случае "ленивости" мэйнтейнеров зависимых пакетов):
1) Термин "отстойник" и то, что вы в него вкладываете не совсем подходит
2) Предлагается термины "очередь" и "триггер".
3) libfoo с новым soname, поступающая в incoming (и, естественно, прошедшая 
сборку в хешере), устанавливает триггер, по которому все собранные уже с ней 
пакеты ставятся в очередь, триггер снимается и эти пакеты проходят в основной 
репозитарий только после прохождения в этот репозитрарий самой libfoo.
4) Если какой-либо пакет зависит (в момент поступления в incoming) от двух или 
нескольких библиотек, находящихся в "режиме ожидания", то в очереди он будет 
нходиться, естественно, до тех пор, пока остаётся хотя бы один относящийся к 
нему триггер.

Сорри, если немного путанно, но ИМХО это как раз тот случай, когда "показать 
на пальцах" или "на картошке" (как В.И.Чапаев) проще, чем описать словами:)

-- 
Led.


  reply	other threads:[~2006-06-19 13:44 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-15  9:48 [devel] " Fr. Br. George
2006-06-15 10:22 ` [devel] [sisyphus -> devel] " Fr. Br. George
2006-06-15 10:30   ` Valery V. Inozemtsev
2006-06-15 10:41   ` Led
2006-06-15 11:03     ` Anton Farygin
2006-06-15 11:50       ` Led
2006-06-15 12:01         ` Anton Farygin
2006-06-16 22:17         ` Alexey Tourbin
2006-06-17 11:20           ` Денис Смирнов
2006-06-17 11:27             ` Sergey Bolshakov
2006-06-18 12:44               ` Денис Смирнов
2006-06-17 12:33             ` Alexey Tourbin
2006-06-18 12:36               ` Денис Смирнов
2006-06-19  8:44                 ` Michael Shigorin
2006-06-19 11:54                   ` Денис Смирнов
2006-06-28  5:47               ` [devel] debian query language (was: Стабильный Сизиф) Michael Shigorin
2006-06-28  6:05                 ` Michael Shigorin
2006-06-28  6:27                   ` Alexey Tourbin
2006-06-19  8:33             ` [devel] [sisyphus -> devel] Стабильный Сизиф Michael Shigorin
2006-06-19 11:49               ` Денис Смирнов
2006-06-19  8:31           ` Michael Shigorin
2006-06-19  8:54             ` Alexey I. Froloff
2006-06-19  9:20               ` Michael Shigorin
2006-06-19  9:34                 ` Alexey I. Froloff
2006-06-19 14:10                   ` Michael Shigorin
2006-06-19  9:55           ` Led
2006-06-19 10:12           ` Led
2006-06-19 12:12             ` Alexey Tourbin
2006-06-19 12:26               ` Led
2006-06-19 13:03                 ` Alexey Tourbin
2006-06-19 13:44                   ` Led [this message]
2006-06-19 15:18                     ` Alexey Tourbin
2006-06-20 16:11                       ` Денис Смирнов
2006-06-21  2:40                         ` Alexey Tourbin
2006-06-21  7:38                           ` Денис Смирнов
2006-06-19 13:45                   ` Alexey I. Froloff
2006-06-19 15:26                     ` Alexey Tourbin
2006-06-19 15:38                       ` Alexey Tourbin
2006-06-19 12:56               ` Michael Shigorin
2006-06-19 13:47                 ` Alexey I. Froloff
2006-06-19 13:59                   ` Led
2006-06-19 14:09                     ` Alexey I. Froloff
2006-06-19 14:15                       ` Led
2006-06-19 14:22                         ` Alexey I. Froloff
2006-06-19 14:27                           ` Led
2006-06-15 11:07     ` Sergey V Turchin
2006-06-15 12:42     ` Epiphanov Sergei
2006-06-15 12:58       ` Anton Farygin
2006-06-15 12:58         ` Epiphanov Sergei
2006-06-15 13:00       ` Sergey V Turchin
2006-06-15 13:03         ` Led
2006-06-19  8:49       ` Michael Shigorin
2006-06-15 16:40     ` Fr. Br. George
2006-06-15 16:57       ` Led
2006-06-15 17:02         ` Fr. Br. George
2006-06-15 17:08           ` Led
2006-06-19  8:45             ` Michael Shigorin
2006-06-16 10:29           ` Денис Смирнов
2006-06-16 12:02             ` [devel] cups Dmitry V. Levin
2006-06-16 13:14             ` [devel] [sisyphus -> devel] Стабильный Сизиф Stanislav Ievlev
2006-06-16 13:24               ` Led
2006-06-16 14:38               ` Sergey V Turchin
2006-06-19  8:46                 ` Michael Shigorin
2006-06-19  9:51                   ` [devel] [sisyphus -> devel] Стабильный Сизиф [JT] Slava Semushin
2006-06-16 14:55               ` [devel] [sisyphus -> devel] Стабильный Сизиф Dmitry V. Levin
2006-06-16 13:51             ` Fr. Br. George
2006-06-16 14:20               ` Денис Смирнов
2006-06-16 15:46                 ` Fr. Br. George
2006-06-19 10:36                   ` Stanislav Ievlev
2006-06-15 12:04   ` Damir Shayhutdinov
2006-06-15 12:17     ` Andrii Dobrovol`s`kii
2006-06-15 12:24       ` Damir Shayhutdinov
2006-06-15 12:44         ` Epiphanov Sergei
2006-06-15 12:45         ` [devel] " Andrii Dobrovol`s`kii
2006-06-15 12:54           ` Led
2006-06-15 13:06           ` Damir Shayhutdinov
2006-06-15 14:59           ` Alexey Tourbin
2006-06-15 14:58         ` [devel] [sisyphus -> devel] " Alexey Tourbin
2006-06-19  9:25         ` [devel] Daedalus (was: [sisyphus -> devel] Стабильный Сизиф) Michael Shigorin
2006-06-15 12:49     ` [devel] [sisyphus -> devel] Стабильный Сизиф Grigory Batalov
2006-06-15 12:58       ` Damir Shayhutdinov
2006-06-15 17:17         ` Fr. Br. George
2006-06-15 17:24           ` Led
2006-06-15 12:58       ` Anton Farygin
2006-06-15 16:44     ` Fr. Br. George
2006-06-15 16:50       ` Led
2006-06-15 17:00         ` Fr. Br. George
2006-06-15 17:16           ` Led
2006-06-15 17:25             ` Fr. Br. George
2006-06-16 10:31               ` Денис Смирнов
2006-06-16 10:44                 ` Led
2006-06-16 14:18                   ` Денис Смирнов
2006-06-16 15:00                     ` Led
2006-06-16 15:17                       ` Денис Смирнов
2006-06-16 15:22                         ` Led
2006-06-19  9:09           ` Michael Shigorin
2006-06-16  3:14       ` [devel] Стабильный пакет > " Slava Semushin
2006-06-16  9:18         ` Led
2006-06-16 12:07           ` Dmitry V. Levin
2006-06-16 12:13             ` Led
2006-06-16 12:21               ` Dmitry V. Levin
2006-06-15 20:29     ` [devel] [sisyphus -> devel] " Alexey Rusakov
2006-06-15 20:46       ` Damir Shayhutdinov
2006-06-15 20:48         ` [devel] [sisyphus -> devel] [JT] " Pavlov Konstantin
2006-06-16  7:09         ` [devel] [sisyphus -> devel] " Anton Farygin
2006-06-16  7:16           ` Damir Shayhutdinov
2006-06-16  7:38             ` [devel] [sisyphus -> devel] Стабильный Сизиф -> nautilus Anton Farygin
2006-06-16  7:44               ` Anton Farygin
2006-06-16 10:32                 ` Nick S. Grechukh
2006-06-16 10:44                   ` Anton Farygin
2006-06-18 21:31                 ` Alexey Rusakov
2006-06-19  6:48                   ` Epiphanov Sergei
2006-06-19  7:34                   ` Anton Farygin
2006-06-20  6:45                     ` Alexey Rusakov
2006-06-19  9:13         ` [devel] [sisyphus -> devel] Стабильный Сизиф Michael Shigorin
2006-06-19  9:03     ` Michael Shigorin
2006-06-20 15:59       ` Денис Смирнов
2006-06-21  8:42         ` Michael Shigorin
2006-06-21 16:49           ` Денис Смирнов
2006-06-22 10:48           ` Fr. Br. George
2006-06-22 13:08             ` Michael Shigorin
2006-06-22 13:44               ` Igor Zubkov
2006-06-22 14:52                 ` [devel] [JT] " Michael Shigorin
2006-06-22 14:39               ` [devel] " Fr. Br. George
2006-06-22 15:07                 ` [devel] [JT] " Michael Shigorin
2006-06-28 14:37                   ` Fr. Br. George
2006-06-28 19:20                     ` [devel] [OT] (не)серверные ОС Michael Shigorin
2006-06-29  7:00                       ` [devel] [OT] ( не ) серверные ОС Epiphanov Sergei
2006-06-19  8:22 ` [devel] Стабильный Сизиф Michael Shigorin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200606191644.35873.led@altlinux.ru \
    --to=led@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git