On Wed, Oct 21, 2020 at 3:00 PM Miro Hrončok <mhroncok(a)redhat.com> wrote:
Hello,
I've realized recently that the Python 3.9.0 final build failed in ELN:
python3.9-3.9.0-1.eln104:
https://koji.fedoraproject.org/koji/buildinfo?buildID=1620970
The build failure was:
File
"/tmp/tmpip_uvs06/pip-20.1.1-py2.py3-none-any.whl/pip/_vendor/toml/decoder.py",
line 47
TIME_RE = re.compile("([0-9]{2}):([0-9]{2}):([0-9]{2})(\.([0-9]{3,6}))?")
^
SyntaxError: invalid escape sequence \.
I wondered why did this happen in ELN only and not in Rawhide.
The reason is: in Rawhide we have pip 20.2.2 which contains the fix of this problem.
So I investigated further and realized pip in ELN was not updated because the
build is failing. The failure is:
No matching package to install: '/usr/bin/bzr'
In Fedora, the executable is provided by breezy:
$ repoquery --repo=rawhide -l breezy | grep /usr/bin
/usr/bin/brz
/usr/bin/bzr
/usr/bin/bzr-receive-pack
/usr/bin/bzr-upload-pack
/usr/bin/git-remote-brz
/usr/bin/git-remote-bzr
However, breezy is not included in ELN at all:
$ repoquery --repo=eln-\* breezy
(nothing)
Despite the fact that it is in:
https://bodhi.fedoraproject.org/updates/FEDORA-2020-43fde95e1f
I can however see it in the ELN Koji buildroot:
$ repoquery --repo=kojieln breezy
breezy-0:3.0.2-4.eln103.x86_64
Yet it doesn't have the proper file:
$ repoquery --repo=kojieln -l breezy | grep /usr/bin
/usr/bin/brz
/usr/bin/bzr-receive-pack
/usr/bin/bzr-upload-pack
/usr/bin/git-remote-brz
I have discovered this is caused by a Fedora-only %if conditional in the spec file:
#
https://fedoraproject.org/wiki/Changes/ReplaceBazaarWithBreezy
%if 0%{?fedora} >= 32
%bcond_without replace_bzr
%else
%bcond_with replace_bzr
%endif
I'll fix the conditional to make it RHEL-aware. However I have several questions:
1) Why is breezy not in the ELN compose, but is in the Koji buildroot?
It's defined as a buildroot only package:
https://github.com/minimization/content-resolver-input/blob/master/config...
2) As pip's maintainer, should I've been notified about the
missing dependency?
Probably not, I think the idea was that ELN SIG would manage that exclusively.
3) When I fix breezy, should I resubmit the eln rebuilds of pip and
Python?
No. Just submit to Rawhide and the Jenkins job for ELN will take care
of it for you after it succeeds in Rawhide.
--
真実はいつも一つ!/ Always, there's only one truth!