ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Evgeny Sinelnikov <sin@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Обновление GHC
Date: Fri, 15 Mar 2019 14:07:32 +0400
Message-ID: <CAK42-GokAo9hzg7xC1kFQhV-_9Nbq0sO-p5gvwfYocj1v8zqTw@mail.gmail.com> (raw)
In-Reply-To: <20190314153316.GB23685@altlinux.org>

Здравствуйте,

план бутстрапа следующий:
- 4 шага на сборку самого ghc (четыре таски):
 + 7.10.3 собираем с помощью 7.6.1
 + пересобираем 7.10.3 собираем с помощью 7.10.3; 8.2.2 собираем с
помощью 7.10.3
 + пересобираем 8.2.2 собираем с помощью 8.2.2; 8.6.4 собираем с помощью 8.2.2
 + пересобираем 8.6.4 собираем с помощью 8.6.4; основные модули для
8.6.4 (cabal-install + зависимости)
- генерация и сборка модулей под бинарники pandoc, shellcheck, xmonad*, ztail

С модулями 7.6.1 на протяжении всего этого процесса ничего не
происходит, они продолжают ставиться и работать, по зависимостям
ничего не должно разъехаться до момента пересечения по предоставляемым
бинарникам в /usr/bin. А если их явно никто не требует, то и с ними
проблем быть не должно. То есть, если бинарник /usr/bin/cabal
предоставляется пакетом ghc7.6.1-cabal-install и начнёт
предоставляться пакетом ghc8.6.3-cabal-install, то критично это,
насколько я понимаю, только если apt-cache whatdepends /usr/bin/cabal
выкатит список зависимостей:
$ apt-cache whatdepends /usr/bin/cabal
W: Невозможно найти пакет /usr/bin/cabal

Модули для 7.10.3 и 8.2.2 мне было собирать некогда, как пакеты я бы
их оставил, с добавлением минимального набора модулей (cabal-install +
зависимости).

Для обновления модулей у нас предусмотрен инструмент cabal2rpm, с
помощью него удобно получить полный набор gear-репозиториев под все
новые модули. С ходу я от него не добился двух вещей - правильной
генерации сборочных зависимостей и обновления уже собраных модулей.
Кроме того cabal2rpm предполагает, что ему передают тарболы с
модулями, а это уже не рабочий вариант, как оказалось.

Дело в том, что тарболы, которые качают вручную из
http://hackage.haskell.org/ неполноценны, в них лежит нулевая ревизия
cabal-файла. Правильную ревизию умеет подкладывать cabal get, поэтому
я рассчитываю научить cabal2rpm брать не траболы, сразу распакованные
с помощью cabal get каталоги и делать уже с них gear-update.

Я на низком старте жду отмашки, что мы готовы к этому сценарию.

чт, 14 мар. 2019 г. в 19:33, Dmitry V. Levin <ldv@altlinux.org>:
>
> On Tue, Mar 12, 2019 at 09:48:07PM +0400, Evgeny Sinelnikov wrote:
> > Здравствуйте,
> >
> > хочу снова поднять вопрос по обновлению компилятора Haskell:
> >
> > Для истории:
> > https://lists.altlinux.org/pipermail/devel/2018-November/205967.html
> > https://lists.altlinux.org/pipermail/sisyphus/2018-May/366749.html
> > https://lists.altlinux.org/pipermail/devel/2018-May/204407.html
> > https://bugzilla.altlinux.org/show_bug.cgi?id=31193
> > https://bugzilla.altlinux.org/show_bug.cgi?id=34731
> >
> > У меня готов бутстрап 7.6.1 -> 7.10.3 -> 7.10.3 -> 8.6.3.
> >
> > Пакеты успешно пересбораны хешере. Сборка 7.10.3 в сборочнице прошла
> > успешно, большая часть патчей по поддержке aarch64 отпилена, потому
> > что больше не нужна.
> >
> > Из интересного, с haskell теперь идут динамические модули, которые
> > требуются во время работы, но кладутся в
> > /usr/{lib,lib64}/ghc-X.Y.Z/package-version/libHSpackage-version.soname
> >
> > Из-за этого новый ghc не запускается без смонтированного /proc. Я это
> > поправил переложив динамичческие либы в отдельный
> > /usr/{lib,lib64}/ghc-X.Y.Z/lib каталог и прописав его в
> > /etc/ld.so.conf.d/ghc-version.conf
> >
> > Далее, в rpm-build-haskell исправлена генерация зависимостей, а также
> > при сборке модулей для динамических библиотек прописана опция
> > --dynlibdir to %_libdir/$compiler/lib/
> >
> > Готов рассмотреть более уданые варианты, если есть предложения.
> >
> > Поскольку ничего критичного новые сборки ghc не провайдят, предлагаю
> > начать постепенный бустрап этих сборок в сизиф. Когда новый ghc будет
> > готов по количеству модулей к сборке зависимых от него приложений,
> > пересборать их на новом ghc.
>
> Я не понял из этого плана, сколько версий ghc будет в репозитории во время
> этого бутстрапа, и что в это время будет происходить с модулями?
>
>
> --
> ldv
> -----BEGIN PGP SIGNATURE-----
>
> iQIcBAEBCAAGBQJcinQ8AAoJEAVFT+BVnCUIQaQP/112Bx35zxPBN4b/C5pNr/bA
> 1+aYAi82IXML0AQlrF7tddUEg/Roq2Sz12dvrYr1zEWxZW4e8kkFTs/7ZcWeZEDF
> IJSZ8sODlzuBk7K4Y1XSkkz2/kU4c72RKNAuvR1b+P7K31c2RPXfD+m0Gs287q3E
> S0oAZSfJcMxsO98YBmPBAT6kto9zwhd3bFdNUfaYowwHcJu4dJS/h4pFHH92fRKI
> pAeYzx8duAcNS49UmD1idqKrACKBD8Iv/LNTRwh/wQ31WeMl3bEiKRckNBiSgOuM
> PSw1VkRnEYDb3vxyaRFSsmE2bYbqaZC6eoa7Wqv0TpqGOw5oU4saqu2iugHfBqAh
> J0RcD9V7XzkWp3byzY4neP58UawiLvMZgSc94x+B6Z+WzVtcfCmP5jopBFjt9O3f
> YR0+/O4ulEWVL+1RPXfJWQuzuKdbE+wkWyMQCTmxQs05BZ6CiUvwLfTS5WBZXVMx
> tMgLBzKRFbWdP4u7PGi/iXtqwoxNGdBZIbhk9106PNwJhn2aqUvAks2RR2NZkkuS
> SqU6duBbcEt5bv7/Qm37U89Azac3maUpTQxvYdqceUaDz5JaKMIP5xnGFj3NoMF7
> Iwg7yYGH45+tnWSzJFVn5JwfQeycfyRwfW2S/Ga5groaboWXGTun915z801qfy+F
> Hbx+sJEzA1Cy076stqQA
> =7FWR
> -----END PGP SIGNATURE-----
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel



-- 
Sin (Sinelnikov Evgeny)

  reply	other threads:[~2019-03-15 10:07 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-12 17:48 Evgeny Sinelnikov
2019-03-14 15:33 ` Dmitry V. Levin
2019-03-15 10:07   ` Evgeny Sinelnikov [this message]
2019-03-15 17:07     ` Ivan Zakharyaschev
2019-04-02 19:47       ` Evgeny Sinelnikov
2019-04-03 12:33           ` Evgeny Sinelnikov
2019-04-03 16:17       ` Ivan Zakharyaschev
2019-04-03 16:20         ` Anton Farygin
2019-04-03 17:13           ` Ivan Zakharyaschev
2019-04-03 17:29             ` Ivan Zakharyaschev
2019-04-11  9:21           ` Evgeny Sinelnikov
2019-04-14 16:39               ` Aleksey Novodvorsky
2019-03-16 22:52 ` Ivan Zakharyaschev
2019-04-07  4:42   ` Ivan A. Melnikov

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=CAK42-GokAo9hzg7xC1kFQhV-_9Nbq0sO-p5gvwfYocj1v8zqTw@mail.gmail.com \
    --to=sin@altlinux.org \
    --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