Bug 1605736

Summary: python-jsonschema: FTBFS in Fedora rawhide
Product: [Fedora] Fedora Reporter: Mohan Boddu <mboddu>
Component: python-jsonschemaAssignee: Alan Pevec <apevec>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 29CC: apevec, decathorpe, mhroncok
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-jsonschema-2.6.0-6.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-02-09 02:12:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1585626, 1602938    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Mohan Boddu 2018-07-20 16:44:54 UTC
python-jsonschema failed to build from source in Fedora rawhide

https://koji.fedoraproject.org/koji/taskinfo?taskID=28222418


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Please fix python-jsonschema at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
python-jsonschema will be orphaned. Before branching of Fedora 30,
python-jsonschema will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://fedoraproject.org/wiki/Fails_to_build_from_source

Comment 1 Mohan Boddu 2018-07-20 16:45:01 UTC
Created attachment 1466323 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Mohan Boddu 2018-07-20 16:45:03 UTC
Created attachment 1466324 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Mohan Boddu 2018-07-20 16:45:07 UTC
Created attachment 1466325 [details]
state.log

Comment 4 Miro Hrončok 2018-07-30 00:23:33 UTC
The Python 3 tests are calling "python" in subprocess. They should call sys.executbale instead.

Comment 5 Jan Kurik 2018-08-14 09:11:09 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 6 Fabio Valentini 2019-01-19 11:26:04 UTC
I'd like to update jsonschema to version 3.0.0 (and fix this FTBFS),
because I'd like to package poetry - which requires >= 3.0.0a3.

But:

- 3.0.0 introduces new dependencies, for which the python2 versions were already retired on rawhide (i.e. pyrsistent)
- I can't drop the python2 sub-package, because pungi and gofed still depend on it, according to portingd [0]
- I can't manage to get the tests to run successfully either way.

Could somebody with more python packaging experience please help?

[0] https://fedora.portingdb.xyz/pkg/python-jsonschema/

Comment 8 Miro Hrončok 2019-01-19 12:29:06 UTC
poetry FTW! I wanted to look into it and thank you for packaging it!

I suggest to do the following:

Update python-jsonschema to >= 3, drop python 2 subpackage.

Crete a python2-jsonschema specfile with jsonschema 2.6.x and offer it to the maintainers of:

  fts-rest
  gofed
  kimchi
  pungi
  python-falcon
  python-nbformat
  python-openstacksdk
  python-proliantutils
  python-warlock

to maintain. They would either pick it up and maintain it or they would need to get rid of the dependency.

Comment 9 Fabio Valentini 2019-01-19 17:39:55 UTC
Yeah, that sounds like a sensible path forward. I'll work on it.

Comment 10 Fabio Valentini 2019-01-20 10:08:49 UTC
I have both packages (python2-jsonschema v2.6.0 [0], python-jsonschema v3.0.0a5 [1]) working, with *passing* test suites for both.
It looks like COPR has been down since yesterday, so I've linked koji scratch builds instead: [py2] [py3]

Do you have suggestions how to coordinate this change?
I don't want to break rawhide by abusing my provenpackager rights.

[0] https://github.com/decathorpe/rpmbuild-staging/blob/master/SPECS/python2-jsonschema.spec
[1] https://github.com/decathorpe/rpmbuild-staging/blob/master/SPECS/python-jsonschema.spec

[py2] https://koji.fedoraproject.org/koji/taskinfo?taskID=32141679
[py3] https://koji.fedoraproject.org/koji/taskinfo?taskID=32141681

Comment 11 Miro Hrončok 2019-01-20 11:12:05 UTC
I'd do it as following:

 * ask the dependents who want to maintain python2-jsonschema
    * let them submit it for review
    * alternatively do it yourself if you are willing to do so

 * open a PR for python-jsonschema
    * but don't merge it before python2-jsonschema is in rawhide
    * and mention not to do so
    * given a state of this bug, later don't be afraid to merge it yourself
    * I'd also ask Alan for co-maintainer rights (try e-mail)

Comment 12 Miro Hrončok 2019-01-20 11:13:56 UTC
Also, maybe check with the dependents of python3-jsonschema as well for potential breakage?

Comment 13 Miro Hrončok 2019-01-20 11:15:48 UTC
BTW COPR seems to be up again.

Comment 14 Fabio Valentini 2019-01-20 11:37:48 UTC
Thanks for your advice! I've submitted the python2-jsonschema review request myself, and will work on the rest later.

Comment 15 Fabio Valentini 2019-01-20 14:12:09 UTC
The new python2-jsonschema package has already been approved (thanks, Miro!),
and I've prepared a pull request for the required python-jsonschema changes:

https://src.fedoraproject.org/rpms/python-jsonschema/pull-request/3

I have rebuilt all dependent packages (of both py2 and py3 versions)
in my decathorpe/python-staging COPR repository, and all builds
succeeded (except two, which failed for unrelated reasons):

https://copr.fedorainfracloud.org/coprs/decathorpe/python-staging/monitor/

# fts-rest: already broken
(not tracked by koschei, so _shrug_ about reason)

  Error: 
    Problem: conflicting requests
    - nothing provides python-myghty >= 1.1 needed by python-pylons-1.0.1-3.fc21.noarch

# python-openstacksdk: already broken
(not tracked by koschei, so _shrug_ about reason)

  No matching package to install: 'python2-stestr'
  Not all dependencies satisfied
  Error: Some packages could not be found.

Comment 16 Alan Pevec 2019-01-21 13:23:00 UTC
FWIW openstack/requirements has an upper limit jsonschema<3.0.0
which seems to have been introduced preemptively when bumping req to 2.0.0 in https://review.openstack.org/66464
then it just got inherited until present https://github.com/openstack/requirements/blob/fa509c13b7393abc1b2de7405c5102dc9d0af472/global-requirements.txt#L97
When jsonschema 3.0.0 is released, we could propose the bump in OpenStack global requirements.

Comment 17 Alan Pevec 2019-01-21 13:54:37 UTC
Testing bump in OpenStack https://review.openstack.org/632093

Comment 18 Alan Pevec 2019-01-22 09:56:02 UTC
since the plan is to fix this with a rebase to 3.0, let's close it as a duplicate of bug 1668078 ?

Comment 19 Fabio Valentini 2019-01-22 10:14:55 UTC
Not necessarily. The fix for f29 (for which this bug was opened) is a different one, which I'll push separately.

But thanks for reminding me - I'll close all appropriate bugs when the rebase is done.

Comment 20 Fedora Update System 2019-01-22 15:28:51 UTC
python-jsonschema-2.6.0-6.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-58052493a6

Comment 21 Fabio Valentini 2019-01-22 15:31:49 UTC
This has been fixed in rawhide, too (in the new python2-jsonschema package).
The same patch was applied to fix the build of this package in fedora 29, for which the bodhi update above was submitted
As a result, this bug will be automatically closed once that update is pushed to stable.

Comment 22 Fedora Update System 2019-01-23 02:24:54 UTC
python-jsonschema-2.6.0-6.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-58052493a6

Comment 23 Fedora Update System 2019-02-09 02:12:28 UTC
python-jsonschema-2.6.0-6.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.