ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Igor Vlasenko <vlasenko@imath.kiev.ua>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Q: jpp FTBFS packages in Sisyphus
Date: Wed, 7 Apr 2021 10:35:11 +0300
Message-ID: <20210407073511.GA20576@hydra.imath.kiev.ua> (raw)
In-Reply-To: <20210403140141.GA28959@altlinux.org>

On Sat, Apr 03, 2021 at 05:01:42PM +0300, Dmitry V. Levin wrote:
> Скажите, пожалуйста, что вы планируете делать с многочисленными jpp-пакетами
> в Sisyphus, которые были массово удалены из Федоры в позапрошлом году
> из-за несобираемости?

Прошу прощения за задержку с ответом.
Признаюсь, был в ступоре, и не мог найти слов,
особенно, читая некоторые комментарии.

Сам по себе мне этот вопрос напомнил классический вопрос с подковыркой
"Вы уже бросили пить/курить/другими непотребствами заниматься или еще нет?"
в котором содержится как истинное утверждение, что собеседник
пьет/курит/другими непотребствами занимается, вопрос лишь в том,
бросит это дело или нет.

В вопросе выше тоже может показаться,
что с Сизифом происходит что-то нехорошее.

Поэтому понимая, что парой слов не отделаться,
долго обдумывал, как правильно написать ответ
и решил написать 2 письма, и первое конкретно по java.

Сразу напомню, что сначала проект JPackage, а теперь Федора -
это стандарт де-факто для полноценной сборки java кода из исходников
в практически всех дистрибутивах на основе rpm.

Теперь по вопросу выше.

Хочу пояснить вопрос на примере поискового движка lucene.
В Сизифе lucene представлен аж в 4-х пакетах lucene{3,4,5,7} разных
версий по сравнению с двумя версиями (3 и 7) в fc31.
Почему бы по этой логике не выкинуть из Сизифа хотя бы версии 4 и 5?
Ответ - нельзя, пока они используются, как сборочные зависимости.
Если их выкинуть, какие-то пакеты перестанут собираться.
Почему же их нет в Федоре? Потому что там требования по
собираемости ниже. К примеру, сломанный в fc29 пакет будут удалять,
как помню, не ранее бранчевания на fc33.
В принципе, из-за гарантии WORA (Write Once Run Anywhere) в Java
не такая уж и плохая политика именно для Java.
Соответственно, какие-то пакеты в Федоре сломались при обновлении
lucene 4 -> 5, какие-то при обновлении lucene 5 -> 6,7.

Но у нас Сизиф, и для обеспечения собираемости пакетов я дополнительно
собирал в сизиф свои костыли-пакеты lucene 4 и 5, после чего
дополнительно патчил сломанные в Федоре пакеты,
чтобы они нормально собирались в Сизифе.

Теперь о пакетах, которые были массово удалены из Федоры в позапрошлом году
из-за несобираемости. Это была не просто несобираемость,
а несобираемость из-за перехода в Федоре на java11 как основной JDK.
Это было прогрессивное политическое решение, наподобие перехода на
systemd. Но на время адаптации страдают пользователи.
В Сизифе этот переход тоже происходит, но он смягчен тем,
что в Сизифе у нас есть механизмы выбора JDK
и эти пакеты прекрасно собираются с помощью java8.

Теперь о FTBFS.
Надеюсь, понятно, что для возможности собирать как можно больше
пакетов полностью из исходников, без привлечения сторонних бинарных
сборок, в java репозитории приходится держать большое количество
пакетов, единственное достоинство которых - быть чьей-то сборочной
зависимостью.

И вот когда такой пакет попадает в FTBFS,
то иногда возникнуть дилемма: чинить или не чинить?

Хороший пример - пакет sbt. Я его за время его жизни чинил 7 раз.
И сейчас в #264657 у меня подготовлена сборка
sbt-0.13.1-alt7_9.1jpp8.src.rpm
которая собирается везде, кроме armh, где присходит
какой-то подземный стук (не лечится armh хаком от zerg@).
[i586]: build OK
[aarch64]: build OK
[x86_64]: build OK
[ppc64le]: build OK
[armh] build FAILED
task #264657 for sisyphus FAILED

И здесь уже при починке малой кровью не обойтись.
С другой стороны, в Федоре сейчас обошлись без sbt.
Поэтому следующее большое обновление просто приведет
к тому, что sbt станет не нужен, и я его просто удалю.

Поэтому нужные пакеты нужно чинить, а такие пакеты, как sbt чиню без
фанатизма, когда это не так сложно, ведь в запущенных случаях
лучше вложить свое время в большое обновление.
Здесь главное, чтобы вы не помогали роботу руками,
чтобы пройдя по цепочке зависимостей, не удалить нужный для большого
обновления пакет.


-- 

I V


  parent reply	other threads:[~2021-04-07  7:35 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-03 14:01   ` Dmitry V. Levin
2021-04-04 10:06     ` Mikhail Novosyolov
2021-04-04 10:30       ` Alexey Gladkov
2021-04-04 11:06         ` Michael Shigorin
2021-04-04 11:39           ` Alexey Gladkov
2021-04-04 15:17             ` Michael Shigorin
2021-04-04 22:06               ` Alexey Gladkov
2021-04-05 11:43                 ` Mikhail Novosyolov
2021-04-05 12:06                   ` Alexey Gladkov
2021-04-05 12:21                     ` Mikhail Novosyolov
2021-04-05 13:33                       ` Dmitry V. Levin
2021-04-05 13:42                         ` Alexey Gladkov
2021-04-05 14:00                           ` Dmitry V. Levin
2021-04-06  8:45                         ` Mikhail Novosyolov
2021-04-06  8:52                         ` Mikhail Novosyolov
2021-04-06 10:38                           ` Dmitry V. Levin
2021-04-06 13:59                             ` Mikhail Novosyolov
2021-04-06 14:31                               ` Михаил Новоселов
2021-04-07  7:48                                 ` Igor Vlasenko
2021-04-07 20:09                                   ` Mikhail Novosyolov
2021-04-06 14:32                               ` Mikhail Novosyolov
2021-04-04 15:18           ` [devel] [JT] по сборке стеков (was: Q: jpp FTBFS packages in Sisyphus) Michael Shigorin
2021-04-05 11:52           ` [devel] Q: jpp FTBFS packages in Sisyphus Mikhail Novosyolov
2021-04-07  7:35     ` Igor Vlasenko [this message]
2021-04-07 20:17       ` Mikhail Novosyolov
2021-04-08 10:08         ` Igor Vlasenko
2021-04-08 10:20           ` Aleksei Nikiforov
2021-04-08 10:33             ` Dmitry V. Levin
2021-04-08 10:21           ` Антон Мидюков

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=20210407073511.GA20576@hydra.imath.kiev.ua \
    --to=vlasenko@imath.kiev.ua \
    --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