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.
next prev parent 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