#781 Can't install on RHEL6 due to rpm-py-installer dependency
Closed: Fixed Opened by rohanpm.

koji 1.15.0 from pypi can't be installed successfully on RHEL6 at the moment, due to dependency on rpm-py-installer package:

(rmcgover-test)[cloud-user@rcm-tools-rhel6-8442 ~]$ pip install koji
DEPRECATION: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of pip will drop support for Python 2.6
Collecting koji
  Using cached koji-1.15.0-py2-none-any.whl
Collecting python-krbV (from koji)
  Using cached python-krbV-1.0.90.tar.bz2
Collecting python-dateutil (from koji)
  Using cached python_dateutil-2.6.1-py2.py3-none-any.whl
Collecting requests (from koji)
  Using cached requests-2.18.4-py2.py3-none-any.whl
Collecting six (from koji)
  Using cached six-1.11.0-py2.py3-none-any.whl
Collecting requests-kerberos (from koji)
  Using cached requests_kerberos-0.12.0-py2.py3-none-any.whl
Collecting rpm-py-installer (from koji)
  Using cached rpm-py-installer-0.6.0.tar.gz
    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/rpm_py_installer.egg-info
    writing pip-egg-info/rpm_py_installer.egg-info/PKG-INFO
    writing top-level names to pip-egg-info/rpm_py_installer.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/rpm_py_installer.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/rpm_py_installer.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found
    reading manifest file 'pip-egg-info/rpm_py_installer.egg-info/SOURCES.txt'
    writing manifest file 'pip-egg-info/rpm_py_installer.egg-info/SOURCES.txt'
    [INFO] Installing...
    [INFO] Created working directory '/tmp/tmpaA06jt-rpm-py-installer'
    [INFO] Downloading archive. 'http://ftp.rpm.org/releases/rpm-4.8.x/rpm-4.8.0.tar.gz'.
    [INFO] Archive not found. URL: http://ftp.rpm.org/releases/rpm-4.8.x/rpm-4.8.0.tar.gz
    [INFO] Try to download next candidate URL.
    [INFO] Downloading archive. 'https://github.com/rpm-software-management/rpm/archive/rpm-4.8.0-release.tar.gz'.
    Traceback (most recent call last):
      File "install.py", line 1152, in <module>
        main()
      File "install.py", line 1147, in main
        app.run()
      File "install.py", line 38, in run
        self.rpm_py.download_and_install()
      File "install.py", line 173, in download_and_install
        self.installer.run()
      File "install.py", line 547, in run
        self.setup_py.apply_and_save()
      File "install.py", line 299, in apply_and_save
        with open(self.IN_PATH) as f_in:
    IOError: [Errno 2] No such file or directory: 'setup.py.in'
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-YxVqXU/rpm-py-installer/setup.py", line 128, in <module>
        'bdist_wheel': BdistWheelCommand,
      File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup
        dist.run_commands()
      File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands
        self.run_command(cmd)
      File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command
        cmd_obj.run()
      File "/tmp/pip-build-YxVqXU/rpm-py-installer/setup.py", line 57, in run
        install_rpm_py()
      File "/tmp/pip-build-YxVqXU/rpm-py-installer/setup.py", line 20, in install_rpm_py
        raise Exception('Command failed: {0}'.format(cmd))
    Exception: Command failed: /home/cloud-user/rmcgover-test/bin/python install.py
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-YxVqXU/rpm-py-installer/

Problem: RHEL6 uses rpm 4.8.0 and rpm-py-installer depends on some python files only added to rpm in version 4.10.x. Looking at the way rpm-py-installer works, I don't think it is a goal to support rpm versions as old as the one from RHEL6, which is why I report this against koji rather than rpm-py-installer.

It would be good for rpm-py-installer dependency to be removed or made optional, because what it does is unwelcome. During installation, it downloads additional sources from ftp.rpm.org or github.com, and doesn't do any validation on those or provide a way of pointing to different sources. Therefore it's not going to work in safe, reproducible build environments, such as those restricted to an internally hosted python package index.


rpm-py-installer does also have a report for this, https://github.com/junaruga/rpm-py-installer/issues/86

There is a workaround to ignore rpm-py-installer dependency and symlink system rpm files directly to virtualenv. Otherwise, we will wait until it is fixed on rpm-py-installer side.

It works for me now with fixed rpm-py-installer v0.7.0

Metadata Update from @tkopecek:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/koji/koji/issues/781

Please continue any further discussion there.

Metadata