[CentOS-devel] Missing build dependencies in CentOS 8 repositories

Thu Apr 15 14:07:19 UTC 2021
Johnny Hughes <johnny at centos.org>

On 4/13/21 10:34 AM, Johnny Hughes wrote:
> On 4/13/21 10:23 AM, Simon Matter wrote:
>>> On Tue, Apr 13, 2021 at 4:07 AM František Šumšal <frantisek at sumsal.cz>
>>> wrote:
>>>
>>>> Hello!
>>>>
>>>> I'm not sure if this has been already answered somewhere on this list,
>>>> but
>>>> I'm curious why the CentOS 8 repositories are missing certain build
>>>> dependencies
>>>> (although they're present in RHEL's internal repositories). This makes
>>>> rebuilding
>>>> some of the CentOS 8 packages a bit painful.
>>>>
>>>> For example, let's try to rebuild util-linux:
>>>>
>>>> ```
>>>> $ podman run -it --rm centos:8
>>>> # rm -f /etc/yum.repos.d/CentOS-Linux-Media.repo
>>>> # dnf -y install dnf-plugins-core
>>>> ...
>>>> # dnf --refresh --enablerepo \* -y builddep util-linux
>>>> Failed to set locale, defaulting to C.UTF-8
>>>> CentOS Linux 8 - AppStream                                    10 kB/s |
>>>> 4.3 kB     00:00
>>>> CentOS Linux 8 - BaseOS                                       23 kB/s |
>>>> 3.9 kB     00:00
>>>> CentOS Linux 8 - ContinuousRelease                           5.3 kB/s |
>>>> 3.0 kB     00:00
>>>> CentOS Linux 8 - Debuginfo                                   1.6 MB/s |
>>>> 27 MB     00:16
>>>> CentOS Linux 8 - Devel WARNING! FOR BUILDROOT USE ONLY!       18 kB/s |
>>>> 13 kB     00:00
>>>> CentOS Linux 8 - Extras                                      8.2 kB/s |
>>>> 1.5 kB     00:00
>>>> CentOS Linux 8 - FastTrack                                   933  B/s |
>>>> 257  B     00:00
>>>> CentOS Linux 8 - HighAvailability                            741 kB/s |
>>>> 504 kB     00:00
>>>> CentOS Linux 8 - Plus                                        807 kB/s |
>>>> 596 kB     00:00
>>>> CentOS Linux 8 - PowerTools                                  2.1 MB/s |
>>>> 2.0 MB     00:00
>>>> CentOS Linux 8 - BaseOS - Source                             120 kB/s |
>>>> 384 kB     00:03
>>>> CentOS Linux 8 - AppStream - Source                          271 kB/s |
>>>> 991 kB     00:03
>>>> CentOS Linux 8 - Extras - Source                             2.2 kB/s |
>>>> 7.8 kB     00:03
>>>> CentOS Linux 8 - Plus - Source                               1.7 kB/s |
>>>> 5.0 kB     00:03
>>>> Package systemd-239-41.el8_3.x86_64 is already installed.
>>>> No matching package to install: 'libuser-devel'
>>>> Not all dependencies satisfied
>>>> Error: Some packages could not be found.
>>>> ```
>>>>
>>>> Oh well, looks like we have to rebuild libuser as well:
>>>>
>>>> ```
>>>> # dnf --enablerepo \* -y builddep libuser
>>>> Failed to set locale, defaulting to C.UTF-8
>>>> Last metadata expiration check: 0:02:14 ago on Tue Apr 13 10:36:39 2021.
>>>> No matching package to install: 'openldap-servers'
>>>> Not all dependencies satisfied
>>>> Error: Some packages could not be found.
>>>> ```
>>>>
>>>> And apparently openldap, too.
>>>>
>>>> I noticed that Davide from FB already come across this issue and filed
>>>> it
>>>> in RHBZ[0], where it was
>>>> confirmed that the dependency is indeed present only in the internal
>>>> RHEL
>>>> buildroot repository -
>>>> and after a quick test they still are:
>>>>
>>>> # dnf --enablerepo rhel-buildroot search libuser-devel
>>>> ...
>>>> libuser-devel.i686 : Files needed for developing applications which use
>>>> libuser
>>>> libuser-devel.x86_64 : Files needed for developing applications which
>>>> use
>>>> libuser
>>>>
>>>> Is there any reason why they aren't shipped in some CentOS repository or
>>>> was there any progress
>>>> to make them available?
>>>>
>>>> Thank you!
>>>>
>>>> Frantisek
>>>>
>>>>
>>>> [0] https://bugzilla.redhat.com/show_bug.cgi?id=1868430
>>>>
>>>> --
>>>> Frantisek Sumsal
>>>> GPG key ID: 0xFB738CE27B634E4B
>>>>
>>>> _______________________________________________
>>>> CentOS-devel mailing list
>>>> CentOS-devel at centos.org
>>>> https://lists.centos.org/mailman/listinfo/centos-devel
>>>
>>>
>>> Yes, this has been discussed before on the list.  And it's a rather sore
>>> point.
>>>
>>> There are several -devel packages that are available on INTERNAL RHEL
>>> repositories, but they are never released externally.
>>> Thus any RHEL customers are not able to use them to build things that
>>> depend on those libraries, such as your example, libuser.
>>>
>>> CentOS is a clone (warts and all) of RHEL, and thus doesn't have those
>>> -devel packages available either.
>>>
>>> It's been this way since the release of RHEL8.
>>>
>>> Has there been any progress?
>>> Yes, a bit.
>>> First, check to make sure there is a bugzilla open for whichever missing
>>> -devel package you need.
>>> Next, wait several months/years to see the debate go back and forth on the
>>> bug.  It's possible it might make it in.
>>>
>>> Sorry for the sad tone, it's just a battle I've been waging since before
>>> RHEL8 was released.  I've given up hope for them being released on RHEL8,
>>> though occasionally I am happily surprised.  One of the packages I've been
>>> fighting for will be released in RHEL 8.4 ... but that's just 1 out of 4.
>>>
>>> Troy
>>
>> Just wondering here, what's the license of libuser or why can the devel
>> package not be released?
>>
> 
> It is not a license issue .. it a RHEL choice.  And a policy.  Red Hat
> does not maintain these packages audited in a "released" state for the
> binaries.  The do release the source code for these packages and one can
> build it themselves if they want the packages.
> 
> The issue is, these are for linking and not for release.
> 
> (I have nothing to do with there decisions :D )
> 
> 

I did want to pass along that this issue was discussed at the CentOS
Board Meeting.  The minutes will be posted soon.

I will be adding this to the Board Tracker as soon as I get some more
info back, but this is an issue that the RHEL team is trying to address.
 They are aware that we want to address it as well in CentOS
distributions.  So the ball is at least rolling.