From: Sergey Vlasov <vsu@altlinux.ru> To: devel@lists.altlinux.org Subject: Re: [devel] Метарепозиторий Сизифа Date: Thu, 8 Nov 2007 21:38:16 +0300 Message-ID: <20071108183816.GA5084@procyon.home> (raw) In-Reply-To: <20071108174225.GA31673@basalt.office.altlinux.org> [-- Attachment #1: Type: text/plain, Size: 3330 bytes --] On Thu, Nov 08, 2007 at 08:42:25PM +0300, Dmitry V. Levin wrote: > Публикуемый Сизиф развивается линейно и последовательно, т.е. множество > опубликованных Сизифов можно пронумеровать натуральными числами. > Определённые таким образом номера можно использовать в качестве > уникальных идентификаторов публикаций Сизифа. > > Сборка транзакции (A) происходит следующим образом: > - создаётся репозиторий - снапшот текущего опубликованного Сизифа (Ra); > использование ссылок делает эту операцию дешевой; > - на этом снапшоте выполняется сборка --with-stuff исходных пакетов > транзакции; если хотя бы один не собрался, то транзакция отменяется > (в первой реализации сборочной системы не вижу смысла оптимизировать > эту часть); > - на основе Ra и свежесобранных пакетов формируется новый Сизиф (Ra'); Видимо, на этом этапе нужно убирать из Ra' пакеты, указанные в Obsoletes у свежесобранных. При этом может возникнуть ситуация, когда часть бинарных пакетов, происходящих из одного исходного, указана в Obsoletes, а часть - нет; что делать в этом случае? > - сравниваются анметы Ra и Ra'; > в случае появления новых анметов транзакция откладывается; > - вычисляется множество (Sa') исходных пакетов в Ra', для сборки которых > требуются свежесобранные пакеты транзакции A (точнее говоря, в сборочной > среде которых присутствует хотя бы один из свежесобранных пакетов); ... либо хотя бы один из тех пакетов, которые были убраны из-за Obsoletes. > - на Ra' выполняется тестовая сборка всех пакетов из Sa'; > - если хотя бы один пакет перестал собираться (по сравнению со статистикой > сборки на Ra), то транзакция откладывается; > - (*) предпринимается попытка применить успешно собранную транзакцию к Сизифу; > если опубликованный на этот момент Сизиф совпадает с тем Сизифом, на > основе которого был создан снапшот Ra, то происходит fast forward: > Ra' становится Сизифом, которому присваивается очередной номер; > в противном случае предпринимается попытка выполнить rebase: > - создаётся репозиторий - снапшот текущего опубликованного Сизифа (Rb); > - вычисляется множество (Nab) пакетов, которое появилось/обновилось в Rb по > сравнению с Ra; здесь предполагается, что один и тот же исходный пакет > не может попасть в более чем одну незавершённую транзакцию; > - если в транзакции есть пакеты более старой сборки, чем одноимённые пакеты > в Nab, то транзакция отменяется (в первой реализации сборочной системы > не вижу смысла оптимизировать эту часть); > - на Rb заново собираются --with-stuff те пакеты из A, в сборочной среде > которых присутствуют пакеты из Nab; Здесь опять-таки нужно проверять ещё и исчезнувшие пакеты. > - на основе Rb и собранных пакетов A формируется новый Сизиф (Rb'); > - сравниваются анметы Rb и Rb'; > в случае появления новых анметов транзакция откладывается; > - вычисляется множество (Sb') исходных пакетов в Rb', для сборки > которых требуется хотя бы один из свежесобранных пакетов; > - на Rb' выполняется тестовая сборка всех пакетов из Sb'; > если хотя бы один пакет перестал собираться (по сравнению со статистикой > сборки на Rb), то транзакция откладывается; > - предпринимается попытка применить успешно собранную транзакцию к Сизифу > по вышеописанному алгоритму, см. (*). [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2007-11-08 18:38 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-11-06 21:35 Alexey Tourbin 2007-11-07 5:23 ` Alexey Tourbin 2007-11-07 5:50 ` Хихин Руслан 2007-11-07 7:01 ` Alexey Tourbin 2007-11-07 21:37 ` Kirill A. Shutemov 2007-11-07 10:16 ` Alexey I. Froloff 2007-11-07 10:38 ` Alexey Gladkov 2007-11-07 10:39 ` Alexey Gladkov 2007-11-07 10:43 ` Alexey Gladkov 2007-11-07 10:49 ` Alexey Gladkov 2007-11-08 17:42 ` Dmitry V. Levin 2007-11-08 18:38 ` Sergey Vlasov [this message] 2007-11-08 20:17 ` Dmitry V. Levin 2007-11-08 19:03 ` Alexey Tourbin 2007-11-08 19:20 ` Kirill A. Shutemov 2007-11-08 19:46 ` Alexey Tourbin 2007-11-08 19:23 ` [devel] bootstrap транзакции Alexey Tourbin 2007-11-08 21:20 ` [devel] Метарепозиторий Сизифа Dmitry V. Levin 2007-11-08 22:08 ` Alexey Tourbin 2007-11-08 22:30 ` [devel] git-репозитарий для логов сборки Alexey Tourbin 2007-11-08 22:48 ` Dmitry V. Levin 2007-11-08 23:28 ` Alexey Tourbin 2007-11-09 1:09 ` Dmitry V. Levin 2007-11-09 1:21 ` Alexey Tourbin 2007-11-09 2:06 ` Alexey Tourbin 2007-11-08 22:38 ` [devel] Метарепозиторий Сизифа Dmitry V. Levin 2007-11-08 23:04 ` Alexey Tourbin 2007-11-09 1:06 ` Alexey Tourbin 2007-11-09 6:44 ` Kirill A. Shutemov
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=20071108183816.GA5084@procyon.home \ --to=vsu@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