Re: Depending on pygobject3 may cause an unnecessary dependency on cairo

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

 



On Mon, Oct 9, 2017 at 1:13 AM, Dominik 'Rathann' Mierzejewski
<dominik@xxxxxxxxxxxxxx> wrote:
> 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:

It use to be the core non graphics functionality was in
pygobject3-base and this has been the case for _YEARS_, the naming
might be better (pygobject3 being the base and having the rest in a
sub package) but overall this has worked as such for a long time.

> $ 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
_______________________________________________
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