Bug 1867440 - new version of rpkg makes fedpkg fail with python issue: join() argument must be str, bytes...
Summary: new version of rpkg makes fedpkg fail with python issue: join() argument must...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: rpkg
Version: 32
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Ondřej Nosek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-08-10 02:39 UTC by laolux
Modified: 2020-09-23 16:55 UTC (History)
6 users (show)

Fixed In Version: rpkg-1.60-8.fc31 rpkg-1.61-1.fc32 rpkg-1.61-1.el7 rpkg-1.61-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-09 14:17:43 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description laolux 2020-08-10 02:39:22 UTC
Description of problem:
Most recent version of rpkg-common (1.60-7.fc32) from updates-testing breaks fedpkg.
Building a package with fedpkg --release f32 local fails. 
Downgrading to rpkg-common (1.60-3.fc32) solves the problem.

Version-Release number of selected component (if applicable):
1.60-7.fc32

How reproducible:
Update system with updates-testing repository enabled.
After update, try to build any rpm package locally using fedpkg

Steps to Reproduce:
1. Update rpkg-common to 1.60-7.fc32
2. Run fedpkg --release f32 local to build any package locally.
3.

Actual results:
fedpkg --release f32 local fails with
Could not execute local: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

Expected results:
fedpkg builds the package without any issue.

Additional info:
I am not sure if the issue is caused by rpkg-common or python3-rpkg, as they will always be upgraded simultaneously.
Downgrading solves the issue.

Comment 1 laolux 2020-08-11 02:41:16 UTC
Ok, it seems like some people have problems reproducing the issue, so I made an example in a podman container and can reliably reproduce the issue.

steps to reproduce:
fresh fedora 32 container:
$ podman run -it registry.fedoraproject.org/fedora:32-x86_64
# dnf update
# dnf install fedpkg wget make
# cd home
# wget wget https://kojipkgs.fedoraproject.org//packages/fpaste/0.4.0.1/1.fc32/src/fpaste-0.4.0.1-1.fc32.src.rpm
# rpm2cpio fpaste-0.4.0.1-1.fc32.src.rpm |cpio -idm
# fedpkg --release f32 local
This works fine.
Now upgrade with updates-testing.
# dnf --enablerepo=updates-testing update
# fedpkg -v --release f32 local
Could not execute local: join() argument must be str, bytes, or os.PathLike object, 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.8/site-packages/fedpkg/__main__.py", line 87, in main
    sys.exit(client.args.command())
  File "/usr/lib/python3.8/site-packages/pyrpkg/cli.py", line 2164, in local
    self.sources()
  File "/usr/lib/python3.8/site-packages/pyrpkg/cli.py", line 2598, in sources
    self.cmd.sources(outdir)
  File "/usr/lib/python3.8/site-packages/pyrpkg/__init__.py", line 2075, in sources
    if not os.path.exists(self.sources_filename):
  File "/usr/lib/python3.8/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.8/posixpath.py", line 90, in join
    genericpath._check_arg_types('join', a, *p) 
  File "/usr/lib64/python3.8/genericpath.py", line 152, in _check_arg_types
    raise TypeError(f'{funcname}() argument must be str, bytes, or '
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

Comment 2 Ondřej Nosek 2020-08-12 01:14:53 UTC
Suggested solution:
https://pagure.io/rpkg/pull-request/512#

Comment 3 Ondřej Nosek 2020-08-12 06:38:52 UTC
workaround: in the directory containing 'specfile' execute `touch sources` before running `fedpkg local`.

Comment 4 laolux 2020-08-14 04:53:10 UTC
Thanks, the workaround works like a charm!
Of course, I am looking forward to have it fixed in rpkg, as it seems like the sources file is not needed at all.
But for the time being the workaround is very helpful.

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

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

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

Comment 8 Fedora Update System 2020-08-31 16:23:40 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 9 Fedora Update System 2020-08-31 16:24:35 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 10 Fedora Update System 2020-08-31 18:58:39 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 11 Fedora Update System 2020-09-01 18:12:09 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 12 Fedora Update System 2020-09-01 18:26:57 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 13 Fedora Update System 2020-09-01 18:40:10 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 14 Fedora Update System 2020-09-01 19:25:32 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 15 laolux 2020-09-03 08:31:04 UTC
The update fixed the problem for me on Fedora 32.
Bug can be closed as fixed, but I am not sure which value is appropriate.
So I leave it to someone else to mark as closed and to choose the correct reason.

Comment 16 Fedora Update System 2020-09-09 02:27:23 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:04 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:43 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:42:59 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:30 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:20 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:13 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:55:56 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.


Note You need to log in before you can comment on or make changes to this bug.