From: Igor Vlasenko <vlasenko@imath.kiev.ua> To: "Денис Смирнов" <mithraen@freesource.info> Cc: Vitaly Kuznetsov <vitty@altlinux.ru>, ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] GHC-7.4 Date: Tue, 14 Feb 2012 14:19:40 +0200 Message-ID: <20120214121940.GA15188@dad.imath.kiev.ua> (raw) In-Reply-To: <20120213213409.GA7858@t60p.mithraen.ru> On Tue, Feb 14, 2012 at 01:34:10AM +0400, Денис Смирнов wrote: > IV> Даже если версия XYZ не изменилась, при необходимости внести > IV> изменения в ghc полетят его provides - > > Да, действительно. Только тогда получается что мы не можем просто > пересобрать ghc (ибо он предоставляет provides, нужные другим пакетам). И > любая попытка пересборки ghc потребует сборки его под новым именем. > > Причем это вызовет путаниук у пользователей -- 7.0.1.1, это 7.0.1 с serial > 1, bkb 7.0.1.1 c serial %nil? Надо просто вносить версию (и ,опционально, serial) в %name, при чем по разному записывать. Например, верся ghc слитно без точки, а если есть сериал, то отделять его точкой (запятой, другим символом) тогда будет ghc701-utf8-string (serial=%nil) ghc701.1-utf8-string (serial=.1) либо использовать текстовый serial, ghc701rel2-utf8-string (serial=rel2) т.е. ghc701rel2 = 7.0.1-alt1 > Сами по себе гигантские транзакции страшны не размерами, а тем, что при > обновлении ghc у нас часто половина пакетов будет не собираться. > Кстати сами по себе гигантские транзакции все равно никуда не денутся. > Скажем что будет если пытаться обновить ghc-utf8-string, или любой другой > пакет с большой иерархией зависимостей? Если пытаться обновлять, то да. но мы такие вещи хотим собирать параллельно. Это в старой парадигме мы все пересобираем (гигантскими) транзакциями. В новой мы все собираем рядом. т.е. (условно) собрать рядом с ghc701-x-string = 0.3.6-alt1 пакет ghc701-x-string-v0.4.0 = 0.4.0-alt1 и они станут рядом не конфликтуя. А я в скрипты автоматизации внесу логику, что если программа marmelad собиралась с ghc701 и ghc701-x-string-v0.4.0, мы ее хотим пересобрать с ghc745, с котром штатно собран ghc745-x-string = 0.4.0, то умный скрипт сам заменит в BuildRequires: ghc701-x-string-v0.4.0 на просто ghc745-x-string. Более того, с поддержкой cabal умный скрипт заменит ghc701-x-string-v0.4.0 и на ghc745-x-string = 0.4.1, если версия 0.4.1 входит в допустимый дапазон. Мораль: Модули тоже надо иметь возможность размножать по их версии/serial (по умолчанию %nil). По мере роста пакетов неизбежно придем к ситуации, когда пакету A нужна версия v1 библиотеки C, а пакету B нужна версия v2 библиотеки C, и собирать надо обе версии. Типичная, кстати для java ситуация, поскольку средства сборки поощряют. Поэтому надо иметь возможность собирать и ghcXYZ-x-string, и ghcXYZ-x-string-vA.B.C, и ghcXYZ-x-string-vA.B.C-rel2 в случае такой необходимости. А если нет необходимости, то будет просто ghcXYZ-x-string. -- Dr. Igor Vlasenko -------------------- Topology Department Institute of Math Kiev, Ukraine
next prev parent reply other threads:[~2012-02-14 12:19 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-02-06 6:34 Vitaly Kuznetsov 2012-02-06 8:22 ` Денис Смирнов 2012-02-06 10:01 ` Vitaly Kuznetsov 2012-02-06 13:51 ` Денис Смирнов 2012-02-06 15:32 ` Igor Vlasenko 2012-02-08 22:28 ` Денис Смирнов 2012-02-09 21:22 ` Igor Vlasenko 2012-02-10 4:44 ` Vitaly Kuznetsov 2012-02-10 16:49 ` Igor Vlasenko 2012-02-10 17:54 ` Igor Vlasenko 2012-02-10 22:52 ` Денис Смирнов 2012-02-10 23:04 ` Igor Zubkov 2012-02-10 23:40 ` Денис Смирнов 2012-02-11 18:54 ` Igor Vlasenko 2012-02-12 21:32 ` Денис Смирнов 2012-02-13 15:06 ` Денис Смирнов 2012-02-13 19:17 ` Igor Vlasenko 2012-02-14 12:19 ` Igor Vlasenko [this message] 2012-02-14 12:46 ` Igor Vlasenko
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=20120214121940.GA15188@dad.imath.kiev.ua \ --to=vlasenko@imath.kiev.ua \ --cc=devel@lists.altlinux.org \ --cc=mithraen@freesource.info \ --cc=vitty@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