Package Dependencies

I ran into two moments where I stared like the proverbial “deer in the headlight beams.” Both moments involved installing packages. I should say, the dependencies.

Most of our laptops at work are single user account systems because they are used for a single purpose. Most do not need multiple accounts. Along with that is no need for email tracking.

Except the fact that system mails are important to keep users informed of potential system issues. I decided to install the mail-notification applet. The tool has served me well on certain systems. With the notifications I open a terminal window and use the mail (mailx) command to read the system mails.

In the Ubuntu package system the maintainer decided recently that several dozen packages were necessary to install mail-notification. Most of which should be suggested packages and not required. I spent about an hour writing my own shell script to install and then delete the dependency packages. Fortunately this approach succeeded. My simple script:

    #!/bin/bash

    apt -y install mail-notification

    apt -y purge at-spi2-core bogofilter bogofilter-bdb bogofilter-common \
    evolution evolution-common evolution-data-server \
    evolution-data-server-online-accounts evolution-plugins fetchyahoo \
    getlive libauthen-sasl-perl libbytes-random-secure-perl \
    libbytes-random-secure-perl libchamplain-0.12-0 libchamplain-gtk-0.12-0\
    libconvert-binhex-perl libcrypt-random-seed-perl libcrypt-ssleay-perl\
    libcryptui0a libecal-1.2-19 libedata-cal-1.2-28\
    libedataserverui-1.2-1 libevolution libgail-3-0 libgeocode-glib0 \
    libgsl2 libgtkspell3-3-0 libgweather-3-6 libgweather-common libical1a \
    libio-multiplex-perl libio-socket-inet6-perl libmailtools-perl \
    libmath-random-isaac-perl libmath-random-isaac-xs-perl \
    libmime-tools-perl libnet-cidr-perl libnet-server-perl libpst4 \
    libsocket6-perl libterm-readkey-perl libytnef0 \
    mail-notification-evolution seahorse-daemon signon-plugin-password \
    bison flex gthumb libclutter* m4

That is considerable bloat and waste.

On CentOS systems the inxi maintainer decided likewise. The newer inxi supports additional query tools and the package maintainer decided that these options support tools should be hard dependencies. Unlike the Ubuntu mail-notification package, users are unable to remove the new inxi dependency packages without also removing inxi.

The dependencies are not really dependencies but just suggestions because I can compile the inxi package on my Slackware systems without the dependency packages.

The list of dependencies:

freeipmi liblzf perl-Compress-LZF perl-Convert-Bencode perl-Cpanel-JSON-XS perl-Data-Dump perl-JSON-XS perl-Types-Serialiser perl-XML-Dumper perl-XML-Parser perl-YAML perl-common-sense wmctrl

In the end I decided to just remove the new inxi package.

I do not understand decisions like this. I'm sorry, but classic WTF.

Posted: Category: Usability Tagged: General, CentOS, Ubuntu

Next: Migrating a Business to Linux — 7

Previous: Migrating a Business to Linux — 6