Depending on pygobject3 may cause an unnecessary dependency on cairo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear fellow Fedora developers!
I was puzzled by this after upgrading from F25 to F26 on a headless
machine with a pretty minimal set of packages installed (i.e. almost
no libraries related to Xorg or mesa). The upgrade brought in an
updated abrt package which grew a dependency on
python-gobject/python3-gobject. That, in itself, wouldn't be so bad,
but python-gobject pulls in cairo and over 20 other libraries related 
to graphical display. I couldn't find anything in abrt that would depend
on cairo, so I filed: https://bugzilla.redhat.com/show_bug.cgi?id=1499581 .
I don't like to have unnecessary and unused libraries lying around.

However, this may indicate a deeper issue in pygobject3 or any package
depending on it. It seems that on June 30th, 2015, the non-cairo parts
were split into -base subpackages, but my guess is that not every package
that uses pygobject3 but not cairo switched to the new subpackage. This
is on Fedora 26:

$ dnf repoquery --whatrequires python-gobject|wc -l
Last metadata expiration check: 0:15:47 ago on Mon 09 Oct 2017 01:32:28 CEST.
63
$ dnf repoquery --whatrequires python3-gobject|wc -l
Last metadata expiration check: 0:15:53 ago on Mon 09 Oct 2017 01:32:28 CEST.
99
$ dnf repoquery --whatrequires python-gobject-base|wc -l
Last metadata expiration check: 0:16:01 ago on Mon 09 Oct 2017 01:32:28 CEST.
34
$ dnf repoquery --whatrequires python3-gobject-base|wc -l
Last metadata expiration check: 0:16:08 ago on Mon 09 Oct 2017 01:32:28 CEST.
30

I'd argue that it should've been the other way around. Cairo support
should've been split off to a subpackage and any package that required
it should've been updated. Now it's a mess.

Even pygobject docs say that cairo integration is optional,
(https://pygobject.readthedocs.io/en/latest/guide/cairo_integration.html
and
https://pygobject.readthedocs.io/en/latest/devguide/packaging.html)
and doesn't even list cairo in Runtime dependencies section.

Frankly, I don't understand why cairo support is forced upon every
pygobject3 user. Unfortunately, the current layout of the package
doesn't allow depending packages to say they depend on pygobject3
only (unless we can start depending on pythonNdist(foo) already)
or pygobject3 cairo support explicitly in an easy way (the "main"
package which carries _only_ cairo support doesn't indicate this
in any way apart from the file list and its own dependency on cairo.

So, should the remaining packages that don't need cairo integration
in pygobject3 simply switch to requiring -base subpackage or should
the pygobject3 package be changed instead? I lean towards the latter,
but perhaps there's a very good reason for all of this which I'm
missing.

Regards,
Dominik
-- 
Fedora   https://getfedora.org  |  RPMFusion   http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
        -- from "Collected Sayings of Muad'Dib" by the Princess Irulan
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux