DevHeads.net

Removal of krb5-devel from "stable" F29 buidroot broke my package

Hello folks

I maintain 'mariadb-connector-c' package, which build (amongst others)
a plugin that utilizes kerberos authentication to the MariaDB
database.

Recently, this very plugin stopped building. Everything else stayed the same.
The change appeared first after a commit that changes literally
nothing, but adds a "Requires: zlib-devel".

I compared the build and released versions before and after the commit.
On the Rawhide it could have been some buildroot change. That happens.
But the problem exists not only in Rawhide, but F30 and F29 too.

Simple add of "BuildRequires: krb5-devel" fixed the package.
However I'm generally upset, such change made it to the F29 buildroot,
breaking something.

Comments

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By Michal Schorm at 05/15/2019 - 11:14

Another possible cause came up my mind.

Another package in the buildroot could have brought it as a
dependency, but does not bring it anymore ?

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By Dominique Martinet at 05/15/2019 - 11:29

Michal Schorm wrote on Wed, May 15, 2019 at 05:14:23PM +0200:
Yeah, it used to come with openssl-devel, but got removed very recently:
<a href="https://src.fedoraproject.org/rpms/openssl/c/7a654fc69c499b54f38543ca40f765fbaf9bdf84" title="https://src.fedoraproject.org/rpms/openssl/c/7a654fc69c499b54f38543ca40f765fbaf9bdf84">https://src.fedoraproject.org/rpms/openssl/c/7a654fc69c499b54f38543ca40f...</a>

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By =?ISO-8859-1?Q?... at 05/16/2019 - 01:50

Dne 15. 05. 19 v 17:29 Dominique Martinet napsal(a):
This was removed on my request, triggered by this PR [1]. Nevertheless I
concur that this should happen just in Rawhide and never be backported
into stable releases.

Vít

[1] <a href="https://src.fedoraproject.org/rpms/ruby/pull-request/40" title="https://src.fedoraproject.org/rpms/ruby/pull-request/40">https://src.fedoraproject.org/rpms/ruby/pull-request/40</a>

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By Tomas Mraz at 05/17/2019 - 03:15

On Thu, 2019-05-16 at 07:50 +0200, Vít Ondruch wrote:
Well... that's debatable. There is no promise that the stable releases
won't break broken packages working only accidentaly. The fix is simple
add the proper build dependency if you need it and do not depend on it
being pulled in by something else.

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By Samuel Sieb at 05/16/2019 - 01:58

On 5/15/19 10:50 PM, Vít Ondruch wrote:
I don't see why this is a problem. Removing an unneeded build
dependency from a package shouldn't affect anything else. That it did
merely pointed out a bug in the other package where the build deps were
incomplete.

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By =?ISO-8859-1?Q?... at 05/16/2019 - 02:28

Dne 16. 05. 19 v 7:58 Samuel Sieb napsal(a):

We lived with this "bug" for years. There is no reason to fix this bug
in stable release just to cause other bugs. And it was obvious it would
broke at least build of Ruby and now it is obvious it did broke not just
Ruby. It would be enough to have to solve this issues in Rawhide.

Also, (not) pulling -devel package into build root might result in some
subtle bugs such as some part of package functionality disabled based on
build configuration, which might went unnoticed, until the package is
released. This is irresponsible.

Vít

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By Dominique Martinet at 05/16/2019 - 03:20

Vít Ondruch wrote on Thu, May 16, 2019 at 08:28:45AM +0200:
The problem is not the build dependency, you can get rid of it
everywhere without any impact except for openssl itself.

What is less transparent is the removal of an actual Require (two
actually, zlib-devel is no longer pulled either) ; that can impact other
packages and workflows.
Someone installing openssl-devel could have expected it to pull
krb5-devel and zlib-devel, now they need to install it explicitely
separately for their own use as well, it's a change in user interface.

configure with feature autodetection is a PITA :/

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By =?ISO-8859-1?Q?... at 05/16/2019 - 04:04

Dne 16. 05. 19 v 9:20 Dominique Martinet napsal(a):

Ah, right, I meant Require of course. I stand corrected. Thx.

Vít

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By Dridi Boukelmoune at 05/16/2019 - 03:48

The PITA doesn't come from auto-detection, rather auto-selection of
(optional) dependencies. I tend to prefer explicit --with-* or --enable-*
flags for anything optional and fixed defaults.

It would be worse if we had to tell a configure script where each
individual build dependency can be found! There tend to be more
than what meets the eye, much more. Take your average project
building with autotools and try this:

./configure --help | less

Dridi

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By Igor Gnatenko at 05/16/2019 - 04:02

In meson we automatically set all "auto" features to be "enabled". So
people have to disable things they don't want manually.

On Thu, May 16, 2019, 10:00 Dridi Boukelmoune <dridi. ... at gmail dot com>
wrote:

Re: Removal of krb5-devel from "stable" F29 buidroot broke my pa

By Michal Schorm at 05/15/2019 - 11:40

Alright, I'm happy we found the cause and itś not something more severe.

Thanks!