Bug 1663693 - Package does not provide python3.7dist(dbus-python)
Summary: Package does not provide python3.7dist(dbus-python)
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: dbus-python
Version: 31
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Alternative GTK desktop environments
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-01-06 16:08 UTC by Christian Heimes
Modified: 2020-02-12 10:02 UTC (History)
18 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-02-12 10:02:36 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Christian Heimes 2019-01-06 16:08:05 UTC
Description of problem:
The python3-dbus package doesn't provide python3.7dist(dbus-python) because it hasn't been rebuild on F30/rawhide yet. The missing alias breaks FreeIPA's CI on rawhide. rpmbuild seems to automatically create a dependency on python3.7dist(dbus-python) for "Requires: python3-dbus".

Version-Release number of selected component (if applicable):
dbus-libs-1.12.12-2.fc30.x86_64
python3-dbus-1.2.8-3.fc29.x86_64


How reproducible:
always

Steps to Reproduce:
1. Build FreeIPA packages on rawhide
2. Attempt to install packages on rawhide


Actual results:
Depsolve Error occured: 
 Problem 1: package python3-ipatests-4.7.90test-0.fc30.noarch requires python3-ipaserver = 4.7.90test-0.fc30, but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides python3.7dist(dbus-python) needed by python3-ipaserver-4.7.90test-0.fc30.noarch
 Problem 2: package freeipa-server-4.7.90test-0.fc30.x86_64 requires python3-ipaserver = 4.7.90test-0.fc30, but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides python3.7dist(dbus-python) needed by python3-ipaserver-4.7.90test-0.fc30.noarch
 Problem 3: package freeipa-server-trust-ad-4.7.90test-0.fc30.x86_64 requires freeipa-server = 4.7.90test-0.fc30, but none of the providers can be installed
  - package freeipa-server-4.7.90test-0.fc30.x86_64 requires python3-ipaserver = 4.7.90test-0.fc30, but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides python3.7dist(dbus-python) needed by python3-ipaserver-4.7.90test-0.fc30.noarch
 Problem 4: package freeipa-server-dns-4.7.90test-0.fc30.noarch requires freeipa-server = 4.7.90test-0.fc30, but none of the providers can be installed
  - package freeipa-server-4.7.90test-0.fc30.x86_64 requires python3-ipaserver = 4.7.90test-0.fc30, but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides python3.7dist(dbus-python) needed by python3-ipaserver-4.7.90test-0.fc30.noarch
 Problem 5: package python3-ipaserver-4.7.2-1.fc30.noarch requires freeipa-server-common = 4.7.2-1.fc30, but none of the providers can be installed
  - package python3-ipa-desktop-profile-server-0.0.8-5.fc30.noarch requires python3-ipaserver, but none of the providers can be installed
  - package freeipa-server-common-4.7.2-1.fc30.noarch conflicts with ipa-server-common provided by freeipa-server-common-4.7.90test-0.fc30.noarch
  - package freeipa-desktop-profile-0.0.8-5.fc30.noarch requires python3-ipa-desktop-profile-server, but none of the providers can be installed
  - cannot install the best candidate for the job
  - conflicting requests
  - nothing provides python3.7dist(dbus-python) needed by python3-ipaserver-4.7.90test-0.fc30.noarch


Expected results:
no error

Additional info:
See http://freeipa-org-pr-ci.s3-website.eu-central-1.amazonaws.com/jobs/fe644ef0-10d0-11e9-b6c3-fa163e2682ec for rawhide builds and http://freeipa-org-pr-ci.s3-website.eu-central-1.amazonaws.com/jobs/6d8577c6-10dd-11e9-8242-fa163e7c6875 for install log

Comment 1 Orion Poplawski 2019-01-06 21:57:48 UTC
Re-assign to proper component.

Comment 2 Christian Heimes 2019-01-08 12:30:38 UTC
FYI, for now I'm adding %{?python_disable_dependency_generator} to FreeIPA's spec file as workaround. This disables python3.7dist(dbus-python) dependency.

Comment 3 Adam Williamson 2019-02-12 00:38:52 UTC
"The python3-dbus package doesn't provide python3.7dist(dbus-python) because it hasn't been rebuild on F30/rawhide yet"

I don't think that's actually the reason, because now it has been rebuilt and it *still* doesn't provide these. I think the reason is that it includes the module itself, but no egg or wheel bits (because it uses its own build system which doesn't generate them, I think). So the dependency generator cannot generate the provides as it doesn't have the metadata.

AFAICT the guidelines are silent on what should be done in this situation. Not sure if we're supposed to add the Provides in manually or patch in an egg file or what. It doesn't seem possible to do a filter on the Requires side, you can only turn the mechanism entirely on or off (it's just been turned off for freeipa for now).

Comment 4 Neal Gompa 2019-02-12 01:36:23 UTC
The actual issue is that dbus-python is built wrong in Fedora.

The setuptools metadata isn't built or installed in the package.

For example, in Mageia, the metadata *is* there, because the package is built to provide it.

I've made a PR to resolve the problem for dbus-python in Fedora: https://src.fedoraproject.org/rpms/dbus-python/pull-request/4

Comment 5 Neal Gompa 2019-02-12 01:37:25 UTC
> AFAICT the guidelines are silent on what should be done in this situation. Not sure if we're supposed to add the Provides in manually or patch in an egg file or what. It doesn't seem possible to do a filter on the Requires side, you can only turn the mechanism entirely on or off (it's just been turned off for freeipa for now).

If the package has no form of providing it natively, then you should not add it. Moreover, there's nothing for something using setuptools to depend on anyway in this case, so it's _usually_ a moot point.

Comment 6 Neal Gompa 2019-02-14 01:25:42 UTC
This should be fixed now, so FreeIPA should be installable?

Comment 7 Christian Heimes 2019-02-26 14:47:54 UTC
I disabled the Fedora's Python dependency generator in FreeIPA to temporarily work around the issue. The latest build of dbus-python provides the dist name. I'm confident that your fix works for us. Thanks!


$ mock -r fedora-30-x86_64 install 'python3.7dist(dbus-python)'
INFO: mock.py version 1.4.14 starting (python version = 3.7.2)...
...
INFO: installing package(s): python3.7dist(dbus-python)
...
Package python3-dbus-1.2.8-5.fc30.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

Comment 8 Neal Gompa 2019-02-26 15:13:11 UTC
(In reply to Christian Heimes from comment #7)
> I disabled the Fedora's Python dependency generator in FreeIPA to
> temporarily work around the issue.

So now you should restore usage of the dep generator in FreeIPA. :)

Comment 9 Till Maas 2019-04-17 17:54:20 UTC
Will we  get this change in stable releases as well?

Comment 10 Ben Cotton 2019-08-13 16:57:41 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 11 Ben Cotton 2019-08-13 19:27:22 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 12 Miro Hrončok 2020-02-12 10:02:36 UTC
(In reply to Till Maas from comment #9)
> Will we  get this change in stable releases as well?

This has happened by Fedora 29 EOL :(


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