From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00, DATE_IN_PAST_03_06, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RP_MATCHES_RCVD autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imath.kiev.ua; s=hydra; t=1617780911; bh=omtXMxr/3PQmd1xMDFOt82xLDQZDM7jovaL8yG8aTmU=; h=Date:From:To:Subject:References:In-Reply-To; b=nE9zHkqx77Wii5TpZWDVWl6xGq+7v3NvXPf0engHMjLTTqRc7iqq+igdEwaeSt9w4 xvNCWD4kcoz1kWyHUHXP1/3zc7rEXg1/WdlWE8Ne0mp0C9FQqVystdAxI9l7Av63Os IB4VA361OM56v4ZlgKWRFskGCRCJeUqyE27B4SJc= Date: Wed, 7 Apr 2021 10:35:11 +0300 From: Igor Vlasenko To: ALT Linux Team development discussions Message-ID: <20210407073511.GA20576@hydra.imath.kiev.ua> References: <20210403140141.GA28959@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210403140141.GA28959@altlinux.org> User-Agent: Mutt/1.6.1 (2016-04-27) Subject: Re: [devel] Q: jpp FTBFS packages in Sisyphus X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Apr 2021 12:01:07 -0000 Archived-At: List-Archive: List-Post: 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