Bug 1775536

Summary: pycdio orphaned, yet kojid appliance/livecd/livemedia tasks depend on it (import iso9660)
Product: [Fedora] Fedora Reporter: David Abdurachmanov <david.abdurachmanov>
Component: kojiAssignee: Mike McLean <mikem>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: dennis, jkeating, kevin, mhroncok, mikem, puiterwijk, rbarlow, rjones
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: koji-1.19.1-2.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-01 00:46:27 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 David Abdurachmanov 2019-11-22 08:35:40 UTC
Description of problem:

pycdio package (provided only Python 2 package, not Python 3) was recently removed from Fedora. koji-builder (aka kojid) depends on it for " LiveCD, LiveMedia, and Appliance"

From Koji 1.19.1 (which uses Python 3):

[..]
# imports for LiveCD, LiveMedia, and Appliance handler
try:
    import pykickstart.parser as ksparser
    import pykickstart.handlers.control as kscontrol
    import pykickstart.errors as kserrors
    import iso9660 # from pycdio
    image_enabled = True
except ImportError:  # pragma: no cover
    image_enabled = False

[..]

Could there be that we have alternative packages providing the same?

[root@28fc20fb3595 /]# dnf whatprovides '*/iso9660.py'
Last metadata expiration check: 0:18:07 ago on Fri Nov 22 08:16:38 2019.
diffoscope-111-3.fc32.noarch : In-depth comparison of files, archives, and directories
Repo        : rawhide
Matched from:
Filename    : /usr/lib/python3.8/site-packages/diffoscope/comparators/iso9660.py

python3-avocado-69.2-1.module_f32+6755+480b3a4e.noarch : Framework with tools and libraries for Automated Testing
Repo        : rawhide-modular
Matched from:
Filename    : /usr/lib/python3.8/site-packages/avocado/utils/iso9660.py

Version-Release number of selected component (if applicable):

All versions of koji should be affected.

How reproducible:

Setup a koji instance and use affected tasks (e.g. spin-appliance).

Steps to Reproduce:

Actual instructions how to test would be complicated. The minimal test is "import iso9660" on Python 3.

Actual results:

>>> import iso9660
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'iso9660'

Expected results:

import succeeds.

Comment 1 Miro HronĨok 2019-11-22 09:27:11 UTC
Upstream pycdio supports Python 3 according to the project metadata. So this is just a matter of packaging a new python-pycdio package, Python 3 only.



$ sudo dnf install libcdio-devel
$ python3.8 -m venv __venv__
$ . __venv__/bin/activate
(__venv__) $ pip install pycdio
Successfully installed pycdio-2.1.0
(__venv__) $ python
Python 3.8.0 (default, Oct 14 2019, 00:00:00) 
[GCC 9.2.1 20190827 (Red Hat 9.2.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import iso9660
>>> iso9660.ISO9660()
<iso9660.ISO9660 object at 0x7ff90568cdc0>

Comment 2 David Abdurachmanov 2019-11-22 13:07:11 UTC
Yes, it seems to be packaging issue.

I built pycdio with Python 3 locally to unblock Fedora/RISCV Koji instance and so far didn't notice any issues (i.e. I can build disk images again).

Comment 3 Kevin Fenzi 2019-11-26 21:43:24 UTC
Sorry for the mess here, I am trying to get pycdio back in and fixed up.

Comment 4 Fedora Update System 2019-11-28 00:03:53 UTC
FEDORA-2019-f6845c8abf has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-f6845c8abf

Comment 5 Fedora Update System 2019-11-29 01:30:41 UTC
koji-1.19.1-2.fc31, python-pycdio-2.0.0-7.fc31 has been pushed to the Fedora 31 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-f6845c8abf

Comment 6 Fedora Update System 2019-12-01 00:46:27 UTC
koji-1.19.1-2.fc31, python-pycdio-2.0.0-7.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.