The Ubuntu package roulette

October 15, 2019

Today I got to re-learn a valuable lesson, which is that just because something is packaged in Ubuntu doesn't mean that it actually works. Oh, it's probably not totally broken, but there's absolutely no guarantee that the package will be fully functional or won't contain problems that cause cron to email you errors at least once a day because of an issue that's been known since 2015.

I know the technical reasons for this, which is that Ubuntu pretty much blindly imports packages from Debian and Debian is an anarchy where partially broken packages can rot quietly. Possibly completely non-functional packages can rot too, I don't actually know how Debian handles that sort of situation. Ubuntu's import is mostly blind because Ubuntu doesn't have the people to do any better. This is also where people point out that the package in question is clearly in Ubuntu's universe repository, which the fine documentation euphemistically describes as 'community maintained'.

(I have my opinions on Ubuntu's community nature or lack thereof, but this is not the right entry for that.)

All of this doesn't matter; it is robot logic. What matters is the experience for people who attempt to use Ubuntu packages. Once you enable universe (and you probably will), Ubuntu's command line package management tools don't particularly make it clear where your packages live (not in the way that Fedora's dnf clearly names the repository that every package you install will come from, for example). It's relatively difficult to even see this after the fact for installed packages. The practical result is that an Ubuntu package is an Ubuntu package, and so most random packages are a spin on the roulette wheel with an uncertain bet. Probably it will pay off, but sometimes you lose.

(And then if you gripe about it, some people may show up to tell you that it's your fault for using something from universe. This is not a great experience for people using Ubuntu, either.)

I'm not particularly angry about this particular case; this is why I set up test machines. I'm used to this sort of thing from Ubuntu. I'm just disappointed, and I'm sad that Ubuntu has created a structure that gives people bad experiences every so often.

(And yes, I blame Ubuntu here, not Debian, for reasons beyond the scope of this entry.)

Comments on this page:

I noticed this awesome thing running the packaged version of Anki on my (Ubuntu) laptop yesterday:

$ anki
This is an BETA build - please do not package it up for Linux distributions
By Barry at 2019-10-19 18:56:51:

You hate Ubuntu with a fervor.

The 'universe' repository is not enabled by default. Those that enable it, are notified of the risks. You install software using the Ubuntu Software package manager, and this software shows X11 software, not CLI software.

You can figure out the repository of a package with "apt policy mypackage". Assuming you do not use Ubuntu Software.

The automated bug reports are processed and catalogued automatically. They are used to figure out which problems happen most often, so the resources are directed there.

When you create a bug report manually on Launchpad, you are supposed to link to an upstream report.

Ubuntu 18.04 has libreadline5 and libreadline7, in the "main" repository. You complain in another post that you compiled some software with libreadline6 on Ubuntu 18.04 and the library could not be found ?!?!. You even tried to install libreadline6 from Ubuntu 16.04 onto to Ubuntu 18.04!?!

You are supposed to be an advanced user but at the same time you make unconventional changes to the system. Things have progressed since ten years ago. Now you respect your host system, and if you need to install weird packages, you put them in VMs and containers. Keep your host computer clean.

Written on 15 October 2019.
« Googlebot is both quite fast and very determined to crawl your pages
Some magical weirdness in Django's HTML form classes »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Oct 15 23:25:14 2019
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.