Re: Proposal: Reduce *-devel packages dependencies on other unneeded *-devel packages

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

 



On 08/12/2018 03:57 PM, Igor Gnatenko wrote:
On Sun, Aug 12, 2018 at 9:19 PM Robert Marcano <robert@xxxxxxxxxxxxxxxxx <mailto:robert@xxxxxxxxxxxxxxxxx>> wrote:

    On 08/12/2018 02:07 PM, JD wrote:
     > What about dependencies of dependencies? Have you thought of that?

    Sorry, I don't get the question, these are devel packages, not runtime
    libraries, these dependencies of dependencies are already pulled if I
    install gtk3, but code that only links with GTK3, only needs gtk3-devel
    to be built, the others devel packages are only needed if my code links
    to them directly.


You intentionally (or not) didn't reply to my comment on this. Just look into gtk+-3.0.pc:

Sorry not intentional, was dumbfounded on why on my machine dnf removing openssl-devel was removing krb5-devel when you showed no dependency was present (don't know why yet), that skipped the rest of the email.

Requires: gdk-3.0 atk >= 2.15.1 cairo >= 1.14.0 cairo-gobject >= 1.14.0 gdk-pixbuf-2.0 >= 2.30.0 gio-2.0 >= 2.49.4 Requires.private: atk atk-bridge-2.0 wayland-client >= 1.9.91 wayland-protocols >= 1.12 xkbcommon >= 0.2.0 wayland-cursor >= 1.9.91 wayland-egl  epoxy >= 1.0 pangoft2 gio-unix-2.0 >= 2.49.4

All those wayland and xkb stuff is needed only if you link to gtk statically. But since we don't ship static library, no one can use it anyway → those requirements are useless.

If it doesn't break stuff for other people, and it shouldn't, this is a great find, thanks.


The problem here is that they are auto-generated and I've proposed to improve that.

     >
     > On 08/12/2018 11:07 AM, Robert Marcano wrote:
     >> On 08/12/2018 12:46 PM, Rex Dieter wrote:
     >>> Robert Marcano wrote:
     >>>
     >>>> And thinking about it, a lot *-devel packages
    interdependencies should
     >>>> be Recommends and not Requires
     >>>
     >>> You keep saying this, I'd like to see some evidence to support
    that.
     >>
     >> Example below. why do I need all these dependencies, when I only
    link
     >> directly with gtk3 widgets? some of those are only there because
    gtk
     >> links against them and maybe I will link with them too, but some
    are
     >> so low level that doesn't make sense.
     >>
     >> I should be able, for example, to build a very small container
    image
     >> that only contains the devel packages I really link with, to use
    on my
     >> builders (using install_weak_deps=False or any other solution).
     >>
     >> But anyways, these are only ideas to help reduce the chance of
    people
     >> overlinking. Maybe I am wrong on liking less implicit dependencies
     >> when installing devel packages.
     >>
     >>> # dnf install gtk3-devel
     >>> Last metadata expiration check: 0:42:52 ago on Sun 12 Aug 2018
     >>> 12:11:09 PM -04.
     >>> Dependencies resolved.
     >>>
    ========================================================================================================

     >>>
     >>>  Package                        Arch
     >>> Version                              Repository      Size
     >>>
    ========================================================================================================

     >>>
     >>> Installing:
     >>>  gtk3-devel                     x86_64
     >>> 3.22.30-1.fc28                       fedora         4.4 M
     >>> Installing dependencies:
     >>>  at-spi2-atk-devel              x86_64
     >>> 2.26.2-1.fc28                        fedora          18 k
     >>>  at-spi2-core-devel             x86_64
     >>> 2.28.0-1.fc28                        fedora         142 k
     >>>  atk-devel                      x86_64
     >>> 2.28.1-1.fc28                        fedora         191 k
     >>>  bzip2-devel                    x86_64
     >>> 1.0.6-26.fc28                        fedora         223 k
     >>>  cairo-devel                    x86_64
     >>> 1.15.12-2.fc28                       updates        271 k
     >>>  cairo-gobject-devel            x86_64
     >>> 1.15.12-2.fc28                       updates         24 k
     >>>  cmake-filesystem               x86_64
     >>> 3.11.2-1.fc28                        updates         38 k
     >>>  dbus-devel                     x86_64
     >>> 1:1.12.10-1.fc28                     updates         65 k
     >>>  expat-devel                    x86_64
     >>> 2.2.5-3.fc28                         fedora          54 k
     >>>  fontconfig-devel               x86_64
     >>> 2.13.0-4.fc28                        updates        144 k
     >>>  freetype-devel                 x86_64
     >>> 2.8-10.fc28                          fedora         453 k
     >>>  fribidi-devel                  x86_64
     >>> 1.0.2-1.fc28                         updates         30 k
     >>>  gdk-pixbuf2-devel              x86_64
     >>> 2.36.12-1.fc28                       fedora         221 k
     >>>  graphite2-devel                x86_64
     >>> 1.3.10-5.fc28                        fedora          44 k
     >>>  harfbuzz-devel                 x86_64
     >>> 1.7.5-3.fc28                         fedora         180 k
     >>>  libX11-devel                   x86_64
     >>> 1.6.5-7.fc28                         fedora         985 k
     >>>  libXau-devel                   x86_64
     >>> 1.0.8-11.fc28                        fedora          19 k
     >>>  libXcomposite-devel            x86_64
     >>> 0.4.4-12.fc28                        fedora          21 k
     >>>  libXcursor-devel               x86_64
     >>> 1.1.15-1.fc28                        fedora          28 k
     >>>  libXdamage-devel               x86_64
     >>> 1.1.4-12.fc28                        fedora          14 k
     >>>  libXext-devel                  x86_64
     >>> 1.3.3-8.fc28                         fedora          79 k
     >>>  libXfixes-devel                x86_64
     >>> 5.0.3-5.fc28                         fedora          18 k
     >>>  libXft-devel                   x86_64
     >>> 2.3.2-8.fc28                         fedora          24 k
     >>>  libXi-devel                    x86_64
     >>> 1.7.9-6.fc28                         fedora         110 k
     >>>  libXinerama-devel              x86_64
     >>> 1.1.3-10.fc28                        fedora          18 k
     >>>  libXrandr-devel                x86_64
     >>> 1.5.1-5.fc28                         fedora          25 k
     >>>  libXrender-devel               x86_64
     >>> 0.9.10-5.fc28                        fedora          21 k
     >>>  libXxf86vm-devel               x86_64
     >>> 1.1.4-7.fc28                         fedora          23 k
     >>>  libdrm-devel                   x86_64
     >>> 2.4.93-1.fc28                        updates        142 k
     >>>  libepoxy-devel                 x86_64
     >>> 1.5.2-1.fc28                         updates        141 k
     >>>  libglvnd-core-devel            x86_64
     >>> 1:1.0.1-0.7.git5baa1e5.fc28          updates         23 k
     >>>  libglvnd-devel                 x86_64
     >>> 1:1.0.1-0.7.git5baa1e5.fc28          updates         15 k
     >>>  libglvnd-opengl                x86_64
     >>> 1:1.0.1-0.7.git5baa1e5.fc28          updates         47 k
     >>>  libicu-devel                   x86_64
     >>> 60.2-2.fc28                          fedora         920 k
     >>>  libpng-devel                   x86_64
     >>> 2:1.6.34-6.fc28                      updates        326 k
     >>>  libuuid-devel                  x86_64
     >>> 2.32.1-1.fc28                        updates         91 k
     >>>  libxcb-devel                   x86_64
     >>> 1.13-1.fc28                          fedora         1.1 M
     >>>  libxkbcommon-devel             x86_64
     >>> 0.8.0-5.fc28                         updates         59 k
     >>>  mesa-libEGL-devel              x86_64
     >>> 18.0.5-3.fc28                        updates         47 k
     >>>  mesa-libGL-devel               x86_64
     >>> 18.0.5-3.fc28                        updates        173 k
     >>>  pango-devel                    x86_64
     >>> 1.42.3-1.fc28                        updates        320 k
     >>>  pixman-devel                   x86_64
     >>> 0.34.0-8.fc28                        updates         19 k
     >>>  wayland-devel                  x86_64
     >>> 1.15.0-1.fc28                        fedora         145 k
     >>>  wayland-protocols-devel        noarch
     >>> 1.14-1.fc28                          updates         69 k
     >>>  xorg-x11-proto-devel           noarch
     >>> 2018.4-1.fc28                        fedora         282 k
     >>>
     >>> Transaction Summary
     >>>
    ========================================================================================================

     >>>
     >>> Install  46 Packages
     >>
     >>
     >>>
     >>> -- Rex
     >>> _______________________________________________
     >>> devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
    <mailto:devel@xxxxxxxxxxxxxxxxxxxxxxx>
     >>> To unsubscribe send an email to
    devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
    <mailto:devel-leave@xxxxxxxxxxxxxxxxxxxxxxx>
     >>> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
     >>> List Guidelines:
    https://fedoraproject.org/wiki/Mailing_list_guidelines
     >>> List Archives:
     >>>
    https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/TDQCUZOVDCNNSQYERAYN5AOADSSH5YTK/
     >>>
     >> _______________________________________________
     >> devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
    <mailto:devel@xxxxxxxxxxxxxxxxxxxxxxx>
     >> To unsubscribe send an email to
    devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
    <mailto:devel-leave@xxxxxxxxxxxxxxxxxxxxxxx>
     >> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
     >> List Guidelines:
    https://fedoraproject.org/wiki/Mailing_list_guidelines
     >> List Archives:
     >>
    https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/PJWONLU5ND5UUYNDT3ORCTMIZYAIUJCL/
     >
     >
     >
     > _______________________________________________
     > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
    <mailto:devel@xxxxxxxxxxxxxxxxxxxxxxx>
     > To unsubscribe send an email to
    devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
    <mailto:devel-leave@xxxxxxxxxxxxxxxxxxxxxxx>
     > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
     > List Guidelines:
    https://fedoraproject.org/wiki/Mailing_list_guidelines
     > List Archives:
    https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/VUYDQS6UEXYPK2CADKQE7D4ELZVPRWVM/
     >
    _______________________________________________
    devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
    <mailto:devel@xxxxxxxxxxxxxxxxxxxxxxx>
    To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
    <mailto:devel-leave@xxxxxxxxxxxxxxxxxxxxxxx>
    Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
    List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
    List Archives:
    https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/D5B626V52FDP6ZCIQB7KUSDGNVAKDOGB/

--

-Igor Gnatenko



_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/UXAM3KKKSMCKDLIHILPJDO6OZFZBKVOM/

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/AQXKHUOZK5G5PMMCF4OTYOHKZMQLO76C/




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [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