Bug 1869848

Summary: fedpkg --release f31 prep: Could not execute prep: join() argument must be str or bytes, not 'NoneType'
Product: [Fedora] Fedora Reporter: Jaroslav Škarvada <jskarvad>
Component: fedpkgAssignee: Ondřej Nosek <onosek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 31CC: cqi, dennis, fedora, jkeating, lsedlar, onosek, s
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: fedpkg-1.39-1.fc32 fedpkg-1.39-1.el7 fedpkg-1.39-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-09 14:17:45 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:

Description Jaroslav Škarvada 2020-08-18 18:54:41 UTC
Description of problem:
Previously it was possible to run:
fedpkg --release f31 prep

in directory containing the spec file which wasn't in the dist-git (yet). This simplified preparation of the package for e.g. package review. Now, after the fedpkg update, it seems it's no more possible.

Version-Release number of selected component (if applicable):
fedpkg-1.38-4.fc31.noarch

How reproducible:
Always

Steps to Reproduce:
1. mkdir test; cd test
2. create spec file
3. fedpkg -v --release f31 prep

Actual results:
Could not execute prep: join() argument must be str or bytes, not 'NoneType'
Traceback (most recent call last):
  File "/usr/bin/fedpkg", line 11, in <module>
    load_entry_point('fedpkg==1.38', 'console_scripts', 'fedpkg')()
  File "/usr/lib/python3.7/site-packages/fedpkg/__main__.py", line 87, in main
    sys.exit(client.args.command())
  File "/usr/lib/python3.7/site-packages/pyrpkg/cli.py", line 2537, in prep
    self.sources()
  File "/usr/lib/python3.7/site-packages/pyrpkg/cli.py", line 2598, in sources
    self.cmd.sources(outdir)
  File "/usr/lib/python3.7/site-packages/pyrpkg/__init__.py", line 2075, in sources
    if not os.path.exists(self.sources_filename):
  File "/usr/lib/python3.7/site-packages/pyrpkg/__init__.py", line 1099, in sources_filename
    return os.path.join(self.path, self.layout.sources_file_template)
  File "/usr/lib64/python3.7/posixpath.py", line 94, in join
    genericpath._check_arg_types('join', a, *p)
  File "/usr/lib64/python3.7/genericpath.py", line 153, in _check_arg_types
    (funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'NoneType'


Expected results:
No error, sources prepared

Additional info:

Comment 1 Jaroslav Škarvada 2020-08-18 19:11:04 UTC
Well, it seems the reproducer is different. I was missing 'sources' file and the 'Patch0:' file.

With the:
fedpkg-1.37-9.fc31
python3-rpkg-1.59-1.fc31

$ fedpkg --release f31 prep
sources file doesn't exist. Source files download skipped.

chyba: No patch number 0
Could not execute prep: Failed to execute command.

This is OK, but with the:
fedpkg-1.38-4.fc31
python3-rpkg-1.60-7.fc31

$ fedpkg --release f31 prep
Could not execute prep: join() argument must be str or bytes, not 'NoneType'

This is weird error message. Maybe the problem is in the rpkg, feel free to reassign.

Comment 2 Jaroslav Škarvada 2020-08-18 19:16:10 UTC
It seems the trigger is the missing 'sources' file. Still the previous behavior just notifying user that the 'download' was skipped is much better than the weird error message.

Comment 3 Jaroslav Škarvada 2020-08-18 19:17:10 UTC
So the reproducer from the comment 0 should work.

Comment 4 Ondřej Nosek 2020-08-24 23:27:07 UTC
Hello,
I think this is duplicate to the rhbz#1867440.
There is a fix under review here: https://pagure.io/rpkg/pull-request/512

Comment 5 Remi Collet 2020-08-27 14:19:21 UTC
Indeed patch in PR 512 fix the issue, please apply and publish a new version

Comment 6 Fedora Update System 2020-08-31 16:20:00 UTC
FEDORA-2020-689d384c29 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-689d384c29

Comment 7 Fedora Update System 2020-08-31 16:21:38 UTC
FEDORA-2020-9243b572ea has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-9243b572ea

Comment 8 Fedora Update System 2020-08-31 16:22:37 UTC
FEDORA-2020-081db3a145 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-081db3a145

Comment 9 Fedora Update System 2020-08-31 16:23:42 UTC
FEDORA-EPEL-2020-52b7fffaf0 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-52b7fffaf0

Comment 10 Fedora Update System 2020-08-31 16:24:38 UTC
FEDORA-EPEL-2020-b0b739248c has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-b0b739248c

Comment 11 Fedora Update System 2020-08-31 18:58:41 UTC
FEDORA-2020-081db3a145 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-081db3a145`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-081db3a145

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2020-09-01 18:12:10 UTC
FEDORA-2020-689d384c29 has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-689d384c29`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-689d384c29

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2020-09-01 18:26:58 UTC
FEDORA-EPEL-2020-52b7fffaf0 has been pushed to the Fedora EPEL 7 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-52b7fffaf0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Fedora Update System 2020-09-01 18:40:11 UTC
FEDORA-EPEL-2020-b0b739248c has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-b0b739248c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Fedora Update System 2020-09-01 19:25:34 UTC
FEDORA-2020-9243b572ea has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-9243b572ea`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-9243b572ea

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2020-09-09 02:27:28 UTC
FEDORA-2020-1d768cb488 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-1d768cb488

Comment 17 Fedora Update System 2020-09-09 14:14:08 UTC
FEDORA-2020-1d768cb488 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-1d768cb488`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-1d768cb488

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 18 Fedora Update System 2020-09-09 14:17:45 UTC
FEDORA-2020-689d384c29 has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Fedora Update System 2020-09-09 14:43:02 UTC
FEDORA-EPEL-2020-3b36e3cee4 has been pushed to the Fedora EPEL 7 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-3b36e3cee4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 20 Fedora Update System 2020-09-09 14:43:34 UTC
FEDORA-EPEL-2020-d4790c9c7f has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-d4790c9c7f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 21 Fedora Update System 2020-09-12 16:34:23 UTC
FEDORA-2020-1d768cb488 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 22 Fedora Update System 2020-09-23 16:35:17 UTC
FEDORA-EPEL-2020-3b36e3cee4 has been pushed to the Fedora EPEL 7 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 23 Fedora Update System 2020-09-23 16:56:00 UTC
FEDORA-EPEL-2020-d4790c9c7f has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.