From: Alexey Tourbin <at@altlinux.ru>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: [devel] Re: I: Sisyphus-20050816 unmets: +7 (102/46)
Date: Tue, 16 Aug 2005 03:17:52 +0400
Message-ID: <20050815231752.GE19097@solemn.turbinal.org> (raw)
In-Reply-To: <4300FCD0.1060708@parkheights.dyndns.org>
[-- Attachment #1: Type: text/plain, Size: 3100 bytes --]
On Mon, Aug 15, 2005 at 04:36:32PM -0400, sergey ivanov wrote:
> Мне казалось, что incoming автоматически выбирал более ранние файлы
> чтобы их собрать раньше, и если другой затем попадался зависящий от
> него, то нужная часть вытаскивалась не из Сизифа а из результатов
> предыдущей сборки.
incominger (робот) переупорядочивает пакеты в очереди на пересборку,
это описано в incominger-0.0.7.3/docs/README (ищите гуглом). При этом
если робот дает сбой, то последствия могут быть гораздо хуже, чем если
бы оставалось старое правило для упорядочивания по BUILDTIME или st_mtime.
Нужно бы ввести правило, чтобы, вопреки какому-то там закону
термодинамики, количество unmet'ов в главном репозитарии не
увеличивалось. Если же транзакция увеличивает количество unmet'ов,
то пакеты, которые порождают unmet'ы, исключаются из транзакции и
помещаются в отстойник, до следующей обработки/транзакции.
Только вот как определить пакеты, которые порождают unmet'ы? Допустим,
в транзакции 100 пакетов, при этом от новой сборки xorg-x11 появляется
unmet у старой сборки ImageMagick. Можно исключать из транзакции по
одному пакету и смотреть, не уменьшилось ли количество unmet'ов. Так
в среднем за 50 итераций можно найти xorg-x11. С другой стороны, в
транзакции могут быть пакеты, который зависят от новой сборки xorg-x11,
так что при исключении из транзакции одного только xorg-x11 количество
unmet'ов не уменьшится.
В общем случае, получается, сначала нужно пробовать исключать по одному
пакету (C(100,1)=100 итераций), потом по два пакета (C(100,2)=4950
итераций), потом по три пакета (C(100,3) итераций) и т.д. Кажется, это
называется бином Ньютона. В целом потребуется 2^{100}-1 итераций, т.е.
$ perl -le 'print 2**100-1'
1.26765060022823e+30
$
Мда, астрономично. Нужен какой-нибудь более хитроумный dependency
solver. smartpm надо бы поковырять, но там питон. :)
> Ну это лирика, а конкретный вопрос: что делать? Просто touch я в
> incoming/Sisyphus сделал, этого достаточно?
Нет, задним числом пакеты в репозитарии заменять нельзя.
Наверное, робот сможет добавить .1 к релизу.
Кстати, я написал/дописал утилиту для *упрощенного* поиска unmet'ов.
Казалось бы, куда уж проще, но всё же...
$ ./unmets -s m24-sources.list
ant#1.6.2-alt2 j2se-devel (>= 1.2)
bigloo#2.6d-alt1 j2se1.4-blackdown-devel
emacs-xslt-process#2.2-alt9 j2se1.4-blackdown
kernel-modules-slmdm-std-smp#1:2.7.10-alt19.12 kernel-modules-slmdm-data
kernel-modules-slmdm-std-up#1:2.7.10-alt19.12 kernel-modules-slmdm-data
kernel-modules-slmdm-vs-smp#1:2.7.10-alt19.12.1 kernel-modules-slmdm-data
nvclock#0.6.2-alt2 NVIDIA_GLX
trang#0.1.20030619-alt1 j2se1.4-blackdown
uqm-big#0.3-alt3 uqm-voice (= 0.3)
uqm-bin#0.3-alt1 uqm-content (= 0.3)
uqm-maxi#0.3-alt3 uqm-remix-pack1
uqm-maxi#0.3-alt3 uqm-remix-pack2
uqm-maxi#0.3-alt3 uqm-remix-pack3
uqm-maxi#0.3-alt3 uqm-voice (= 0.3)
xml-commons-resolver#1.1-alt2 j2se (>= 1.4.2)
$
Будет в qa-robot-0.2 (для тех, кто в танке, -- в /raid/at/qa/qa-robot).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-08-15 23:17 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-15 20:08 [devel] " Alexey M. Tourbin
2005-08-15 20:36 ` sergey ivanov
2005-08-15 23:17 ` Alexey Tourbin [this message]
2005-08-15 23:59 ` [devel] " Alexey Gladkov
2005-08-16 0:40 ` Alexey Tourbin
2005-08-16 1:17 ` Alexey Gladkov
2005-08-16 19:44 ` Alexey Gladkov
2005-08-17 8:27 ` [devel] " Anton Farygin
2005-08-16 17:49 ` [devel] " Dmitry V. Levin
2005-08-16 17:51 ` Dmitry V. Levin
2005-08-16 18:06 ` Alexey Tourbin
2005-08-16 18:12 ` Dmitry V. Levin
2005-08-16 18:26 ` Alexey Tourbin
2005-08-16 18:41 ` [devel] apt-get strips / Dmitry V. Levin
2005-08-16 18:47 ` [devel] " Alexey Tourbin
2005-08-16 19:06 ` Dmitry V. Levin
2005-08-17 5:36 ` [devel] " Alexey I. Froloff
2005-08-16 18:45 ` [devel] Re: I: Sisyphus-20050816 unmets: +7 (102/46) Alexey Tourbin
2005-08-16 10:28 ` Michael Shigorin
2005-08-15 23:27 ` [devel] " Alexey Gladkov
2005-08-16 20:17 ` Dmitry V. Levin
2005-09-02 21:58 ` [devel] libevas.so.1 Alexey Tourbin
2005-09-02 22:30 ` [devel] libevas.so.1 Alexey Tourbin
2005-09-03 11:11 ` Denis Klykvin
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=20050815231752.GE19097@solemn.turbinal.org \
--to=at@altlinux.ru \
--cc=devel@altlinux.ru \
/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