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

Re: Unwanted RPM dependencies

Bernardo Innocenti wrote:
(Cc'ing all the relevant package maintainers. sorry if
I got someone else by mistake)

We could get rid of a few packages on the OLPC in a cleaner
way if we could loosen dependencies a little.

Some random things I noticed:

- cracklib has a hard dependency on pam.  Is there a way
  we could make it optional?

- mkinitrd depends on lvm2 and dmraid.  Both could easily
  be made optional.

- hal depends on cryptsetup-luks (containing bulky 1.2MB
  static binary in /sbin)

- libuser and GConf2-dbus bring in openldap, which brings
  in cyrus-sasl

Using pristine Fedora packages in OLPC is an advantage for
support and upgrades.  Also, reducing the minimum install
generally benefits other Fedora spins for other small

Since I also play with older systems with small disks I was going through a minimal install {text mode only} and found that about 15 packages get installed because of grub dependencies: a tree (bottom is what is required by others higher up: {text mode is good for reading}

redhat-artwork <--> fedora-logos
       |                    |
  gtk2-engines              |
       |                    |
       ____gtk2__________   |
      /| \   \           \  |
    /  |  \  cups-libs   hicolor-icon-theme
   /   |    \    |     \----------\
atk   pango   libtiff   {pango}    gnutls          {gtk2}
      |    \       \        \                        |
   libthai  cairo   libjpeg  libXft   libXcursor  libXrandr  libX..
          /   |    \           /           |     /    |
{libXrender} libpng  fontconfig        libXrender    libXext
                                              \     /
At which point it's getting boring ;) and still involves:
libXinerama libXau libXdmcp libXext libXi libXfixes

I think what the dependency on fedora-logos would be for the boot logo. My idea would be to separately package/sub package fedora-logos-boot or fedora-boot-logos {which provides logos-boot}. This would just have the logo in it, and grub rpm would be modified to require a virtual dependency of logos-boot {this would make it simpler for distro packagers to use an alternate logos-boot package}. I haven't looked at the actual packages yet.

My second size concern comes from glibc-common, specifically the /usr/share/locale {283 MB} ( but also and /usr/share/i18n/ 10MB)

I notice that there are dependencies listed in comps.xml for what gets installed when a language is chosen {eg dictionary and openoffice translations}. This could be extended to the gazillion locales supported by glibc and fedora. The maybe most commonly installed individual locales could be made into separate packages {guessing ! english french german spanish portuguese ? ?}, and then continent or similar for the rest of the locales {noting that there is often sub-locales for some reqions} {eg african latin-american asian european} ? Installing European would also get the more specific english/french/german loc's.

This would actually reduce install time quite a bit - of the 600+ packages that get installed in a base install, the most time seems to be taken by the glibc-common install - and it's installing stuff that depending on your locale you are unlikely to ever use the other 99% of them.

I did have a thought on whether there exists a tool that can log/count file accesses on disk, and then provide reports on used v not used files that were installed by rpm ? Such a thing could help in understanding actual usage by applications - and hence what might be better packaging splits. Has someone done that before ?


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