Bug 1791964

Summary: pysvn fails to build with Python 3.9: Empty %files file debugsourcefiles.list
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: pysvnAssignee: Caitlyn O'Hanna <ravenoak>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: barry, cstratak, mhroncok, ravenoak, sgallagh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 1.9.11-3 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-01-18 13:47:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1785415    

Description Miro Hrončok 2020-01-16 19:11:01 UTC
pysvn fails to build with Python 3.9.0a2:

error: Empty %files file /builddir/build/BUILD/pysvn-1.9.11/debugsourcefiles.list

I've examined the build logs and I don't know why this happens :(


For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01148684-pysvn/

For all our attempts to build pysvn with Python 3.9, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/pysvn/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/

Let us know here if you have any questions.

Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Barry Scott 2020-01-18 09:59:49 UTC
The link to the logs is going to 404.

The last breaking python change was the removal of tp_print in python 3.8 that PyCXX version has the fix for.

Using f31 PyCXX and upstream PySVN I can build and run all tests for both PyCXX and PySVN against python39.
I did this on f31.

Most recent change was from Xavier to allow PySVN to build on Centos 7 python2.

I'm guessing that something in the spec file change is break the copr build.
But is not breaking the master build.

How do I repro this failure to help debug it?

I'm both fedora maintainer and upstream for PyCXX and PySVN.

Barry

Comment 2 Barry Scott 2020-01-18 10:05:13 UTC
I can repo with a mockbuild for master branch.

Comment 3 Miro Hrončok 2020-01-18 10:10:29 UTC
> The link to the logs is going to 404.

Sorry about that, there was an unexpected data loss in copr, see https://pagure.io/copr/copr/issue/1213

We will try to populate the builds ASAP, but we need to rebootstrap everything.

Comment 4 Barry Scott 2020-01-18 10:59:22 UTC
I have seen this error before at $job.
We had no clue how to fix and hacked the spec to not make the debugsource RPM.

Its that mechanism that is triggering the error I think.

I'll try and figure out what code should create the missing file.

Comment 5 Barry Scott 2020-01-18 13:47:49 UTC
I think I have this fixed.

I reverted the code that attempted to make the spec file usable for Centos work as well as Fedora.

Rawhide has the update pysvn.

Comment 6 Miro Hrončok 2020-01-18 18:18:27 UTC
Oh, I know what happened there. %{py3dir} is outside of build directory and debuginfo fails to find anything built when the only built files are in %{py3dir}. I have not suspected this kind of problem, because it was building fine before now.

If you want to get the functionality back without %{py3dir}, follow https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#_using_separate_build_directories