* Re: [devel] full list of unmets
2006-06-20 0:17 ` Dmitry V. Levin
@ 2006-06-20 0:55 ` Alexey Tourbin
2006-06-20 0:58 ` Alexey Tourbin
` (2 more replies)
2006-06-20 7:27 ` [devel] замкнутое подмножество (was: full list of unmets) Michael Shigorin
` (2 subsequent siblings)
3 siblings, 3 replies; 47+ messages in thread
From: Alexey Tourbin @ 2006-06-20 0:55 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 3752 bytes --]
On Tue, Jun 20, 2006 at 04:17:25AM +0400, Dmitry V. Levin wrote:
> On Tue, Jun 20, 2006 at 04:04:10AM +0400, Alexey Tourbin wrote:
> > Я также сомневаюсь, что удастся найти "волшебный" алгоритм, который
> > блокирует анметы на входе. Например, вчера в сизиф прошла новая версия
> > firefox. Часть плагинов была пересобрана с новой версией firefox, тогда
> > как другая часть не была пересобрана. Может быть эти пакеты просто
> > забыли автоматически пересобрать? От incoming/incominger'а по этому
> > поводу ничего не слышно.
>
> Я не знаю, существует ли этот "волшебный" алгоритм.
Существуют лишь относительно "волшебные" алгоритмы. Абсолютно
волшебного алгоритма в данном случае не существует прежде всего из
соображений falsifiability (по Попперу). То есть нельзя из чего угодно
сделать конфетку. Хороший алгоритм просто откажется что-либо пропускать
из остойника в сизиф, а это "не даст ничего нового", потому что и так
можно ничего не пропускать, ровно без всякого алгоритма. :)
> Но у меня есть такое наблюдение: среди множества пакетов, приходящих в
> течение суток в /i/S, всегда есть такие, которые не порождают новых
> unmet'ов. Я думаю, что выявлять такие пакеты теперь, когда Legion по моей
> просьбе написал оптимизированную замену genpkglist, можно быстро и дёшево.
> Я полагаю, что для начала нужно обеспечить быстрое (автоматическое, без
> участия человека вообще) прохождение этих пакетов из /i/S в Sisyphus.
> Я удивляюсь тому факту, что это ещё не реализовано.
Некоторые трудности реализации обсуждались в соседних тредах.
В общем случае это не так-то просто реализовать. Может быть можно
выделать некоторые частные случаи и отдать их на откуп автоматике.
В простейшем случае есть сизиф и есть отсойник (оверлей, типа RPMS.hasher).
Все входящие пакеты собираются в отстойнике. Если какой-либо пакет
1) при сборке не зацепил в сборочную среду каких-либо пакетов из
отстойника 2) не порождает новых анметов ни в сизифе, ни в отстойнике
тогда этот пакет можно автоматически без каких-либо опасений перемещать
в сизиф.
Первый пункт гарантирует то, что пакет пакета на сизифе (без отстойника)
будет идентичной.
Второй пункт требует пояснений. Вообще говоря, НЕЛЬЗЯ проверять
количество анметов по оверлею из aptbox'а. Нужно полностью сформировать
переходный репозитарий, удалить ошметки собранных пакетов при помощи
sisyphus_unpaired и проверять анметы уже по нему. Это выявляет
хаки по маскировке анметов, типа libldap->libldap2.3 или
lublua5->liblua5.1.
> > А на x86_64 анметов вообще 700 штук. Будет у нас Фриз, Бранч или
> > Херанч, или не будет, в общем-то ясно, что от проблемы анметов никуда
> > не уйти. По-моему до "ловли блох" ещё далеко (и пока нет веских
> > оснований думать, что к зиме будет ближе).
>
> Должен отметить, что меня как пользователя Сизифа эти unmet'ы не волнуют,
> ибо они меня как пользователя Сизифа просто не затрагивают.
>
> Иногда мне кажется, что я единственный пользователь Сизифа, и в такие
> моменты мне хочется просто удалить все пакеты с unmet'ами, а также все
> несобирающиеся пакеты, и ещё некоторое количество пакетов, которые мне
> просто не нравятся. Хорошо, что это быстро проходит. :)
>
> Кстати, если с волшебными алгоритмами ничего не выйдет, может просто
> выделить небольшое подмножество Сизифа, которое будет гарантированно
> замкнутым (например, как Owl)?
Я тоже пользуюсь весьма ограниченным набором пакетов из сизифа.
И всё же если бы набор этих пакетов был совсем уж ограниченным, тогда
есть повод совсем пересесть на Owl.
То есть приходится не только воспринимать себя "как пользователя Сизифа",
но и как разработчика сизифа, причем не сугубо как maintainer'а отдельных
пакетов.
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread* Re: [devel] full list of unmets
2006-06-20 0:55 ` Alexey Tourbin
@ 2006-06-20 0:58 ` Alexey Tourbin
2006-06-20 1:15 ` Dmitry V. Levin
2006-06-20 7:36 ` Michael Shigorin
2 siblings, 0 replies; 47+ messages in thread
From: Alexey Tourbin @ 2006-06-20 0:58 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 612 bytes --]
On Tue, Jun 20, 2006 at 04:55:01AM +0400, Alexey Tourbin wrote:
> В простейшем случае есть сизиф и есть отсойник (оверлей, типа RPMS.hasher).
> Все входящие пакеты собираются в отстойнике. Если какой-либо пакет
> 1) при сборке не зацепил в сборочную среду каких-либо пакетов из
> отстойника 2) не порождает новых анметов ни в сизифе, ни в отстойнике
> тогда этот пакет можно автоматически без каких-либо опасений перемещать
> в сизиф.
>
> Первый пункт гарантирует то, что пакет пакета на сизифе (без отстойника)
> будет идентичной.
"Что _сборка_ пакета на сизифе без отстойника будет идентичной."
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 0:55 ` Alexey Tourbin
2006-06-20 0:58 ` Alexey Tourbin
@ 2006-06-20 1:15 ` Dmitry V. Levin
2006-06-20 1:32 ` Alexey Tourbin
2006-06-20 2:02 ` Alexey Tourbin
2006-06-20 7:36 ` Michael Shigorin
2 siblings, 2 replies; 47+ messages in thread
From: Dmitry V. Levin @ 2006-06-20 1:15 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2304 bytes --]
On Tue, Jun 20, 2006 at 04:55:01AM +0400, Alexey Tourbin wrote:
> On Tue, Jun 20, 2006 at 04:17:25AM +0400, Dmitry V. Levin wrote:
> > On Tue, Jun 20, 2006 at 04:04:10AM +0400, Alexey Tourbin wrote:
> > > Я также сомневаюсь, что удастся найти "волшебный" алгоритм, который
> > > блокирует анметы на входе. Например, вчера в сизиф прошла новая версия
> > > firefox. Часть плагинов была пересобрана с новой версией firefox, тогда
> > > как другая часть не была пересобрана. Может быть эти пакеты просто
> > > забыли автоматически пересобрать? От incoming/incominger'а по этому
> > > поводу ничего не слышно.
> >
> > Я не знаю, существует ли этот "волшебный" алгоритм.
>
> Существуют лишь относительно "волшебные" алгоритмы. Абсолютно
> волшебного алгоритма в данном случае не существует прежде всего из
> соображений falsifiability (по Попперу). То есть нельзя из чего угодно
> сделать конфетку. Хороший алгоритм просто откажется что-либо пропускать
> из остойника в сизиф, а это "не даст ничего нового", потому что и так
> можно ничего не пропускать, ровно без всякого алгоритма. :)
Я утверждаю, что существует простой алгоритм, который будет работать
хорошо и быстро в простых случаях. Это всё равно будет лучше чем сейчас.
> В простейшем случае есть сизиф и есть отсойник (оверлей, типа RPMS.hasher).
В простейшем случае нет отстойника.
Например, каждый новый пакет, будучи собранным, образует новый репозиторий
Sisyphus, состоящий из всех прежних пакетов минус пакеты, собранные из
прежней версии (если были) плюс свежесобранные пакеты.
Если в этом репозитории unmet'ов не прибавилось по сравнению с
первоначальным Сизифом, то свежесобранный пакет можно спокойно пропускать,
а свежесформированный репозиторий использовать дальше для сборки.
Если нет, то пакет требует более сложной обработки, а свежесформированный
репозиторий откатывается на прежний.
Я голословно утверждаю, что не менее половины пакетов, приходящих в /i/S,
могут быть обработаны таким простым способом.
При наличии оптимизированной замены genpkglist формирование нового
временного репозитория Sisyphus должно происходить существенно быстрее,
чем сборка среднего пакета.
Что касается более сложной обработки, то тут надо вспомнить математику и
хорошенько подумать.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 1:15 ` Dmitry V. Levin
@ 2006-06-20 1:32 ` Alexey Tourbin
2006-08-01 23:34 ` Dmitry V. Levin
2006-06-20 2:02 ` Alexey Tourbin
1 sibling, 1 reply; 47+ messages in thread
From: Alexey Tourbin @ 2006-06-20 1:32 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1644 bytes --]
On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
> В простейшем случае нет отстойника.
> Например, каждый новый пакет, будучи собранным, образует новый репозиторий
> Sisyphus, состоящий из всех прежних пакетов минус пакеты, собранные из
> прежней версии (если были) плюс свежесобранные пакеты.
Что значит "плюс свежесобранные пакеты"?
Вот идут подряд пакеты A и B. Пакет B сборочно-завист от A. Пакет A не
удовлетворяет простому алгоритму (т.е. откладывается в "отстойник" --
решение будет приниматься вручную). Тогда сборки пакета B на-сизифе и
на-отстойнике в общем случае не идентичны. Где собирать пакет B?
В идеале нельзя собирать пакет B раньше, чем будет принято решение
по пакету A. Это особенно важно, если пакеты A и B пришли от одного
maintainer'а, потому что maintiner таким образом может рассчитывать,
что пакет B будет собран именно с этим пакетом A.
> Если в этом репозитории unmet'ов не прибавилось по сравнению с
> первоначальным Сизифом, то свежесобранный пакет можно спокойно пропускать,
> а свежесформированный репозиторий использовать дальше для сборки.
> Если нет, то пакет требует более сложной обработки, а свежесформированный
> репозиторий откатывается на прежний.
> Я голословно утверждаю, что не менее половины пакетов, приходящих в /i/S,
> могут быть обработаны таким простым способом.
> При наличии оптимизированной замены genpkglist формирование нового
> временного репозитория Sisyphus должно происходить существенно быстрее,
> чем сборка среднего пакета.
>
> Что касается более сложной обработки, то тут надо вспомнить математику и
> хорошенько подумать.
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 1:32 ` Alexey Tourbin
@ 2006-08-01 23:34 ` Dmitry V. Levin
0 siblings, 0 replies; 47+ messages in thread
From: Dmitry V. Levin @ 2006-08-01 23:34 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1482 bytes --]
On Tue, Jun 20, 2006 at 05:32:01AM +0400, Alexey Tourbin wrote:
> On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
> > В простейшем случае нет отстойника.
> > Например, каждый новый пакет, будучи собранным, образует новый репозиторий
> > Sisyphus, состоящий из всех прежних пакетов минус пакеты, собранные из
> > прежней версии (если были) плюс свежесобранные пакеты.
>
> Что значит "плюс свежесобранные пакеты"?
>
> Вот идут подряд пакеты A и B. Пакет B сборочно-завист от A. Пакет A не
> удовлетворяет простому алгоритму (т.е. откладывается в "отстойник" --
> решение будет приниматься вручную). Тогда сборки пакета B на-сизифе и
> на-отстойнике в общем случае не идентичны. Где собирать пакет B?
>
> В идеале нельзя собирать пакет B раньше, чем будет принято решение
> по пакету A. Это особенно важно, если пакеты A и B пришли от одного
> maintainer'а, потому что maintiner таким образом может рассчитывать,
> что пакет B будет собран именно с этим пакетом A.
Я всё же думаю, что в описанной ситуации пакет B следует собирать без учёта
пакета A. Обоснование простое и состоит из двух частей:
1. Мантейнер может и должен позаботиться о том, чтобы пакет A не попал в
отстойник. В частности, если имеет место soname change, следует
именовать пакет с библиотекой в духе Debian policy (позаимствованной
оттуда позднее в mdk).
2. Наконец, если это столь важно, мантейнер может добавить строгую
сборочную зависимость.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 1:15 ` Dmitry V. Levin
2006-06-20 1:32 ` Alexey Tourbin
@ 2006-06-20 2:02 ` Alexey Tourbin
2006-06-20 7:38 ` Anton Farygin
2006-06-20 8:46 ` Led
1 sibling, 2 replies; 47+ messages in thread
From: Alexey Tourbin @ 2006-06-20 2:02 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1052 bytes --]
On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
> Что касается более сложной обработки, то тут надо вспомнить математику и
> хорошенько подумать.
Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
например алгоритм 'apt-get --print-uris install' закоден непосредственно
в apt-get. Чтобы попробовать узнать, можно установить отдельно взятый
пакет или нет, приходится запускать apt-get и парсить его вывод.
Каждый такой запуск стоит порядка секунды, а большая часть времени
уходит на чтение/инициализацию кеша. То есть нельзя достаточно быстро
проверить, какие пакеты в сизифе устанавливаемы, а какие нет. Нельзя
загрузить кеш один раз и проверить все пакеты в пределах одного
процесса.
libapt-pkg дает доступ только ко внутренним структурам данных, но не
к алгоритмам. Ни --print-uris, ни unmets из libapt-pkg извлечь нельзя.
Чем думали авторы апта?
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 2:02 ` Alexey Tourbin
@ 2006-06-20 7:38 ` Anton Farygin
2006-06-20 15:33 ` Alexey Tourbin
2006-06-20 8:46 ` Led
1 sibling, 1 reply; 47+ messages in thread
From: Anton Farygin @ 2006-06-20 7:38 UTC (permalink / raw)
To: ALT Devel discussion list
Alexey Tourbin wrote:
> On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
>> Что касается более сложной обработки, то тут надо вспомнить математику и
>> хорошенько подумать.
>
> Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
> переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
> библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
> например алгоритм 'apt-get --print-uris install' закоден непосредственно
> в apt-get. Чтобы попробовать узнать, можно установить отдельно взятый
> пакет или нет, приходится запускать apt-get и парсить его вывод.
> Каждый такой запуск стоит порядка секунды, а большая часть времени
> уходит на чтение/инициализацию кеша. То есть нельзя достаточно быстро
> проверить, какие пакеты в сизифе устанавливаемы, а какие нет. Нельзя
> загрузить кеш один раз и проверить все пакеты в пределах одного
> процесса.
Для этого есть apt-pipe, который вполне реально IMHO научить жить под
обычным пользователем (создавать сокет в заданном каталоге).
сейчас это выглядит вот так (тормозит только первый запуск):
[root@rider ~]# time apt-pipe ls >/dev/null
0.00user 0.00system 0:02.81elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2major+615minor)pagefaults 0swaps
[root@rider ~]# time apt-pipe ls >/dev/null
0.00user 0.00system 0:00.03elapsed 43%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+567minor)pagefaults 0swaps
[root@rider ~]# time apt-pipe showpkg icewm >/dev/null
0.00user 0.00system 0:00.01elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+568minor)pagefaults 0swaps
>
> libapt-pkg дает доступ только ко внутренним структурам данных, но не
> к алгоритмам. Ни --print-uris, ни unmets из libapt-pkg извлечь нельзя.
> Чем думали авторы апта?
авторов apt'а было слишком много, что бы они могли чем-то думать ;)
Rgds,
Rider
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 7:38 ` Anton Farygin
@ 2006-06-20 15:33 ` Alexey Tourbin
2006-06-20 15:55 ` Sergey Bolshakov
2006-06-21 6:24 ` Anton Farygin
0 siblings, 2 replies; 47+ messages in thread
From: Alexey Tourbin @ 2006-06-20 15:33 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]
On Tue, Jun 20, 2006 at 11:38:35AM +0400, Anton Farygin wrote:
> Alexey Tourbin wrote:
> > On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
> >> Что касается более сложной обработки, то тут надо вспомнить математику и
> >> хорошенько подумать.
> >
> > Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
> > переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
> > библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
> > например алгоритм 'apt-get --print-uris install' закоден непосредственно
> > в apt-get. Чтобы попробовать узнать, можно установить отдельно взятый
> > пакет или нет, приходится запускать apt-get и парсить его вывод.
> > Каждый такой запуск стоит порядка секунды, а большая часть времени
> > уходит на чтение/инициализацию кеша. То есть нельзя достаточно быстро
> > проверить, какие пакеты в сизифе устанавливаемы, а какие нет. Нельзя
> > загрузить кеш один раз и проверить все пакеты в пределах одного
> > процесса.
>
> Для этого есть apt-pipe, который вполне реально IMHO научить жить под
> обычным пользователем (создавать сокет в заданном каталоге).
Я когда смотрел apt-pipe, он не умел жить под отдельным пользователем,
то есть всегда создавал сокет под /var/lib/apt. Спасибо, посмотрю ещё.
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 15:33 ` Alexey Tourbin
@ 2006-06-20 15:55 ` Sergey Bolshakov
2006-06-21 6:24 ` Anton Farygin
1 sibling, 0 replies; 47+ messages in thread
From: Sergey Bolshakov @ 2006-06-20 15:55 UTC (permalink / raw)
To: ALT Devel discussion list
>>>>> "Alexey" == Alexey Tourbin <at@altlinux.ru> writes:
[skipped]
>> Для этого есть apt-pipe, который вполне реально IMHO научить жить под
>> обычным пользователем (создавать сокет в заданном каталоге).
> Я когда смотрел apt-pipe, он не умел жить под отдельным пользователем,
> то есть всегда создавал сокет под /var/lib/apt. Спасибо, посмотрю ещё.
Не умеет и сейчас. Желающие приделать ключик -- да не убоятся.
--
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 15:33 ` Alexey Tourbin
2006-06-20 15:55 ` Sergey Bolshakov
@ 2006-06-21 6:24 ` Anton Farygin
1 sibling, 0 replies; 47+ messages in thread
From: Anton Farygin @ 2006-06-21 6:24 UTC (permalink / raw)
To: ALT Devel discussion list
Alexey Tourbin wrote:
> On Tue, Jun 20, 2006 at 11:38:35AM +0400, Anton Farygin wrote:
>> Alexey Tourbin wrote:
>>> On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
>>>> Что касается более сложной обработки, то тут надо вспомнить математику и
>>>> хорошенько подумать.
>>> Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
>>> переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
>>> библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
>>> например алгоритм 'apt-get --print-uris install' закоден непосредственно
>>> в apt-get. Чтобы попробовать узнать, можно установить отдельно взятый
>>> пакет или нет, приходится запускать apt-get и парсить его вывод.
>>> Каждый такой запуск стоит порядка секунды, а большая часть времени
>>> уходит на чтение/инициализацию кеша. То есть нельзя достаточно быстро
>>> проверить, какие пакеты в сизифе устанавливаемы, а какие нет. Нельзя
>>> загрузить кеш один раз и проверить все пакеты в пределах одного
>>> процесса.
>> Для этого есть apt-pipe, который вполне реально IMHO научить жить под
>> обычным пользователем (создавать сокет в заданном каталоге).
>
> Я когда смотрел apt-pipe, он не умел жить под отдельным пользователем,
> то есть всегда создавал сокет под /var/lib/apt. Спасибо, посмотрю ещё.
Он и сейчас не умеет, но IMHO научить достаточно просто.
Rgds,
Rider
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 2:02 ` Alexey Tourbin
2006-06-20 7:38 ` Anton Farygin
@ 2006-06-20 8:46 ` Led
2006-06-20 9:06 ` Anton Farygin
2006-06-20 15:35 ` Alexey Tourbin
1 sibling, 2 replies; 47+ messages in thread
From: Led @ 2006-06-20 8:46 UTC (permalink / raw)
To: ALT Devel discussion list
В сообщении от 20 июня 2006 05:02 Alexey Tourbin написал(a):
> On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
> > Что касается более сложной обработки, то тут надо вспомнить математику и
> > хорошенько подумать.
>
> Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
> переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
> библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
> например алгоритм 'apt-get --print-uris install' закоден непосредственно
> в apt-get. Чтобы попробовать узнать, можно установить отдельно взятый
> пакет или нет, приходится запускать apt-get и парсить его вывод.
> Каждый такой запуск стоит порядка секунды, а большая часть времени
> уходит на чтение/инициализацию кеша. То есть нельзя достаточно быстро
> проверить, какие пакеты в сизифе устанавливаемы, а какие нет. Нельзя
> загрузить кеш один раз и проверить все пакеты в пределах одного
> процесса.
А разве apt-shell не так делает?
--
Led.
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 8:46 ` Led
@ 2006-06-20 9:06 ` Anton Farygin
2006-06-20 9:12 ` Led
2006-06-20 15:35 ` Alexey Tourbin
1 sibling, 1 reply; 47+ messages in thread
From: Anton Farygin @ 2006-06-20 9:06 UTC (permalink / raw)
To: ALT Devel discussion list
Led wrote:
> В сообщении от 20 июня 2006 05:02 Alexey Tourbin написал(a):
>> On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
>>> Что касается более сложной обработки, то тут надо вспомнить математику и
>>> хорошенько подумать.
>> Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
>> переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
>> библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
>> например алгоритм 'apt-get --print-uris install' закоден непосредственно
>> в apt-get. Чтобы попробовать узнать, можно установить отдельно взятый
>> пакет или нет, приходится запускать apt-get и парсить его вывод.
>> Каждый такой запуск стоит порядка секунды, а большая часть времени
>> уходит на чтение/инициализацию кеша. То есть нельзя достаточно быстро
>> проверить, какие пакеты в сизифе устанавливаемы, а какие нет. Нельзя
>> загрузить кеш один раз и проверить все пакеты в пределах одного
>> процесса.
>
> А разве apt-shell не так делает?
>
apt-shell надо всё-таки перезапускать ;)
apt-pipe рулит ;)
Rgds,
Rider
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 9:06 ` Anton Farygin
@ 2006-06-20 9:12 ` Led
0 siblings, 0 replies; 47+ messages in thread
From: Led @ 2006-06-20 9:12 UTC (permalink / raw)
To: ALT Devel discussion list
В сообщении от 20 июня 2006 12:06 Anton Farygin написал(a):
> Led wrote:
> > В сообщении от 20 июня 2006 05:02 Alexey Tourbin написал(a):
> >> On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
> >>> Что касается более сложной обработки, то тут надо вспомнить математику
> >>> и хорошенько подумать.
> >>
> >> Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
> >> переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
> >> библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
> >> например алгоритм 'apt-get --print-uris install' закоден непосредственно
> >> в apt-get. Чтобы попробовать узнать, можно установить отдельно взятый
> >> пакет или нет, приходится запускать apt-get и парсить его вывод.
> >> Каждый такой запуск стоит порядка секунды, а большая часть времени
> >> уходит на чтение/инициализацию кеша. То есть нельзя достаточно быстро
> >> проверить, какие пакеты в сизифе устанавливаемы, а какие нет. Нельзя
> >> загрузить кеш один раз и проверить все пакеты в пределах одного
> >> процесса.
> >
> > А разве apt-shell не так делает?
>
> apt-shell надо всё-таки перезапускать ;)
А expect для чего?
> apt-pipe рулит ;)
Не спорю. Просто его как раз ещё не пробовал:)
--
Led.
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 8:46 ` Led
2006-06-20 9:06 ` Anton Farygin
@ 2006-06-20 15:35 ` Alexey Tourbin
2006-06-20 15:39 ` Led
1 sibling, 1 reply; 47+ messages in thread
From: Alexey Tourbin @ 2006-06-20 15:35 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1356 bytes --]
On Tue, Jun 20, 2006 at 11:46:16AM +0300, Led wrote:
> В сообщении от 20 июня 2006 05:02 Alexey Tourbin написал(a):
> > On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
> > > Что касается более сложной обработки, то тут надо вспомнить математику и
> > > хорошенько подумать.
> >
> > Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
> > переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
> > библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
> > например алгоритм 'apt-get --print-uris install' закоден непосредственно
> > в apt-get. Чтобы попробовать узнать, можно установить отдельно взятый
> > пакет или нет, приходится запускать apt-get и парсить его вывод.
> > Каждый такой запуск стоит порядка секунды, а большая часть времени
> > уходит на чтение/инициализацию кеша. То есть нельзя достаточно быстро
> > проверить, какие пакеты в сизифе устанавливаемы, а какие нет. Нельзя
> > загрузить кеш один раз и проверить все пакеты в пределах одного
> > процесса.
>
> А разве apt-shell не так делает?
Это несколько облегчает, но не отменяют проблему. Нативные байндинги
к перлу сделать нельзя. А при наличии нативных байндингов можно делать
нетривиальные вещи. Вообще перл можно рассматривать как интерпретатор
Си, amorozov когда-то об этом писал.
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 15:35 ` Alexey Tourbin
@ 2006-06-20 15:39 ` Led
0 siblings, 0 replies; 47+ messages in thread
From: Led @ 2006-06-20 15:39 UTC (permalink / raw)
To: ALT Devel discussion list
В сообщении от 20 июня 2006 18:35 Alexey Tourbin написал(a):
> On Tue, Jun 20, 2006 at 11:46:16AM +0300, Led wrote:
> > В сообщении от 20 июня 2006 05:02 Alexey Tourbin написал(a):
> > > On Tue, Jun 20, 2006 at 05:15:00AM +0400, Dmitry V. Levin wrote:
> > > > Что касается более сложной обработки, то тут надо вспомнить
> > > > математику и хорошенько подумать.
> > >
> > > Ну в общем да. Нужно осилить топологию и теорию графов. Потом нужно
> > > переписать apt на ocaml'е. :) Сейчас к апту очень серьезная претензия:
> > > библиотека libapt-pkg не дает доступа к основным алгоритмам. То есть
> > > например алгоритм 'apt-get --print-uris install' закоден
> > > непосредственно в apt-get. Чтобы попробовать узнать, можно установить
> > > отдельно взятый пакет или нет, приходится запускать apt-get и парсить
> > > его вывод. Каждый такой запуск стоит порядка секунды, а большая часть
> > > времени уходит на чтение/инициализацию кеша. То есть нельзя достаточно
> > > быстро проверить, какие пакеты в сизифе устанавливаемы, а какие нет.
> > > Нельзя загрузить кеш один раз и проверить все пакеты в пределах одного
> > > процесса.
> >
> > А разве apt-shell не так делает?
>
> Это несколько облегчает, но не отменяют проблему.
Это была реплика на "Нельзя загрузить кеш один раз и проверить все пакеты в
пределах одного процесса". Не более того...
> Нативные байндинги
> к перлу сделать нельзя. А при наличии нативных байндингов можно делать
> нетривиальные вещи. Вообще перл можно рассматривать как интерпретатор
ИМХО на перле "свет клином не сошёлся".
--
Led.
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 0:55 ` Alexey Tourbin
2006-06-20 0:58 ` Alexey Tourbin
2006-06-20 1:15 ` Dmitry V. Levin
@ 2006-06-20 7:36 ` Michael Shigorin
2 siblings, 0 replies; 47+ messages in thread
From: Michael Shigorin @ 2006-06-20 7:36 UTC (permalink / raw)
To: ALT Devel discussion list
On Tue, Jun 20, 2006 at 04:55:01AM +0400, Alexey Tourbin wrote:
> В общем случае это не так-то просто реализовать.
Поэтому и не надо сразу бросаться на общий случай. Здравый смысл
подсказывает, что в процессе решения частных накапливается опыт и
обычно вылазят вещи, которые не были понятны заранее и по меньшей
мере оттянули бы хоть какое-то общее решение.
См. "the rise of worse is better" в качестве экстремума ;)
> Может быть можно выделать некоторые частные случаи и отдать их
> на откуп автоматике.
Не "может быть", а именно!
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 47+ messages in thread
* [devel] замкнутое подмножество (was: full list of unmets)
2006-06-20 0:17 ` Dmitry V. Levin
2006-06-20 0:55 ` Alexey Tourbin
@ 2006-06-20 7:27 ` Michael Shigorin
2006-06-20 7:34 ` [devel] full list of unmets Anton Farygin
2006-06-20 15:46 ` Денис Смирнов
3 siblings, 0 replies; 47+ messages in thread
From: Michael Shigorin @ 2006-06-20 7:27 UTC (permalink / raw)
To: ALT Devel discussion list
On Tue, Jun 20, 2006 at 04:17:25AM +0400, Dmitry V. Levin wrote:
> Кстати, если с волшебными алгоритмами ничего не выйдет, может
> просто выделить небольшое подмножество Сизифа, которое будет
> гарантированно замкнутым (например, как Owl)?
main / contrib? По критериям "замкнуто" (если и не "грозились
поддерживать").
Я -- за. Feeble practice вида "держать в некоторых vserver'ах
Master/2.4 main", по крайней мере, оказалась не сильно хлопотной.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 0:17 ` Dmitry V. Levin
2006-06-20 0:55 ` Alexey Tourbin
2006-06-20 7:27 ` [devel] замкнутое подмножество (was: full list of unmets) Michael Shigorin
@ 2006-06-20 7:34 ` Anton Farygin
2006-06-20 7:48 ` Kirill A. Shutemov
2006-06-20 15:46 ` Денис Смирнов
3 siblings, 1 reply; 47+ messages in thread
From: Anton Farygin @ 2006-06-20 7:34 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Tue, Jun 20, 2006 at 04:04:10AM +0400, Alexey Tourbin wrote:
>> Я также сомневаюсь, что удастся найти "волшебный" алгоритм, который
>> блокирует анметы на входе. Например, вчера в сизиф прошла новая версия
>> firefox. Часть плагинов была пересобрана с новой версией firefox, тогда
>> как другая часть не была пересобрана. Может быть эти пакеты просто
>> забыли автоматически пересобрать? От incoming/incominger'а по этому
>> поводу ничего не слышно.
>
> Я не знаю, существует ли этот "волшебный" алгоритм.
> Но у меня есть такое наблюдение: среди множества пакетов, приходящих в
> течение суток в /i/S, всегда есть такие, которые не порождают новых
> unmet'ов. Я думаю, что выявлять такие пакеты теперь, когда Legion по моей
> просьбе написал оптимизированную замену genpkglist, можно быстро и дёшево.
> Я полагаю, что для начала нужно обеспечить быстрое (автоматическое, без
> участия человека вообще) прохождение этих пакетов из /i/S в Sisyphus.
> Я удивляюсь тому факту, что это ещё не реализовано.
>
>> А на x86_64 анметов вообще 700 штук. Будет у нас Фриз, Бранч или
>> Херанч, или не будет, в общем-то ясно, что от проблемы анметов никуда
>> не уйти. По-моему до "ловли блох" ещё далеко (и пока нет веских
>> оснований думать, что к зиме будет ближе).
>
> Должен отметить, что меня как пользователя Сизифа эти unmet'ы не волнуют,
> ибо они меня как пользователя Сизифа просто не затрагивают.
>
> Иногда мне кажется, что я единственный пользователь Сизифа, и в такие
> моменты мне хочется просто удалить все пакеты с unmet'ами, а также все
> несобирающиеся пакеты, и ещё некоторое количество пакетов, которые мне
> просто не нравятся. Хорошо, что это быстро проходит. :)
>
> Кстати, если с волшебными алгоритмами ничего не выйдет, может просто
> выделить небольшое подмножество Сизифа, которое будет гарантированно
> замкнутым (например, как Owl)?
И назвать его Sisyphus core.
Отличная идея, без шуток.
Rgds,
Rider
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 7:34 ` [devel] full list of unmets Anton Farygin
@ 2006-06-20 7:48 ` Kirill A. Shutemov
0 siblings, 0 replies; 47+ messages in thread
From: Kirill A. Shutemov @ 2006-06-20 7:48 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 629 bytes --]
On 11:34 Tue 20 Jun, Anton Farygin wrote:
> Dmitry V. Levin wrote:
> > Кстати, если с волшебными алгоритмами ничего не выйдет, может просто
> > выделить небольшое подмножество Сизифа, которое будет гарантированно
> > замкнутым (например, как Owl)?
>
> И назвать его Sisyphus core.
>
> Отличная идея, без шуток.
+1
--
Kirill A. Shutemov Belarus, Minsk
E-mail: k.shutemov (AT) sam-solutions.net
JID: kas (AT) altlinux.org
ICQ: 152302675
По "техническим причинам" я буду молчать или реагировать с бооольшой
задержкой на все почтовое в лучшем случае до понедельника следующей недели.
-- ldv in devel@
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-20 0:17 ` Dmitry V. Levin
` (2 preceding siblings ...)
2006-06-20 7:34 ` [devel] full list of unmets Anton Farygin
@ 2006-06-20 15:46 ` Денис Смирнов
2006-06-25 11:23 ` Dmitry V. Levin
3 siblings, 1 reply; 47+ messages in thread
From: Денис Смирнов @ 2006-06-20 15:46 UTC (permalink / raw)
To: ALT Devel discussion list
On Tue, Jun 20, 2006 at 04:17:25AM +0400, Dmitry V. Levin wrote:
DVL> Кстати, если с волшебными алгоритмами ничего не выйдет, может просто
DVL> выделить небольшое подмножество Сизифа, которое будет гарантированно
DVL> замкнутым (например, как Owl)?
Я об этом уже месяц кричу на каждом углу. Только я предлагаю выделять не
руками, а роботом.
--
С уважением, Денис
http://freesource.info
----------------------------------------------------------------------------
Какой-то патч страшненький у тебя получился.
-- ldv in #6099
^ permalink raw reply [flat|nested] 47+ messages in thread* Re: [devel] full list of unmets
2006-06-20 15:46 ` Денис Смирнов
@ 2006-06-25 11:23 ` Dmitry V. Levin
2006-06-25 19:19 ` Денис Смирнов
0 siblings, 1 reply; 47+ messages in thread
From: Dmitry V. Levin @ 2006-06-25 11:23 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 691 bytes --]
On Tue, Jun 20, 2006 at 07:46:01PM +0400, Денис Смирнов wrote:
> On Tue, Jun 20, 2006 at 04:17:25AM +0400, Dmitry V. Levin wrote:
>
> DVL> Кстати, если с волшебными алгоритмами ничего не выйдет, может просто
> DVL> выделить небольшое подмножество Сизифа, которое будет гарантированно
> DVL> замкнутым (например, как Owl)?
>
> Я об этом уже месяц кричу на каждом углу. Только я предлагаю выделять не
> руками, а роботом.
Роботом можно только помогать. Я говорю о том, что есть небольшое по
меркам Сизифа число пакетов, которые нужны настолько, что люди (а не
только роботы) готовы постоянно держать их в полной готовности.
Таких пакетов не может быть много.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [devel] full list of unmets
2006-06-25 11:23 ` Dmitry V. Levin
@ 2006-06-25 19:19 ` Денис Смирнов
0 siblings, 0 replies; 47+ messages in thread
From: Денис Смирнов @ 2006-06-25 19:19 UTC (permalink / raw)
To: devel
On Sun, Jun 25, 2006 at 03:23:41PM +0400, Dmitry V. Levin wrote:
>> Я об этом уже месяц кричу на каждом углу. Только я предлагаю выделять не
>> руками, а роботом.
DVL> Роботом можно только помогать.
У меня есть мнение что в такой работе таки человек должен помогать роботу,
а не наоборот. И только при каких-либо нетривиальных ситуациях, тяжело
разруливаемых роботом.
DVL> Я говорю о том, что есть небольшое по
DVL> меркам Сизифа число пакетов, которые нужны настолько, что люди (а не
DVL> только роботы) готовы постоянно держать их в полной готовности.
DVL> Таких пакетов не может быть много.
Да, согласен. Но при этом очень хочется иметь репозиторий, в котором все
пакеты и всегда в полной готовности. Или максимально близкой к полной, но
пакеты таки все.
--
С уважением, Денис
http://freesource.info
----------------------------------------------------------------------------
Если программа полностью отлажена, ее нужно будет скорректировать.
^ permalink raw reply [flat|nested] 47+ messages in thread