Score:0

"ttf-mscorefonts-installer" Dependency Question

us flag

Apologies if I'm in the wrong place, but I've been through this several times now in other places, and was ultimately pointed here. So here goes...

Maybe I'm the exception to the norm here, but I have multiple WINE prefixes which all run different things - mostly games. Rather than install install the Microsoft Core Fonts in each prefix and chew up disk space, it makes more sense to install them once at the main system level.

However, on most versions of Ubuntu, and anything based on it (like Mint), when you try to install ttf-mscorefonts-installer you are also prompted to install 8 other packages, if they aren't already installed (on distributions like Mint, they are NOT):

* python3-debconf
* python3-distro-info
* python3-distupgrade
* python3-update-manager
* ubuntu-advantage-tools
* ubuntu-release-upgrader-core
* update-manager-core
* update-notifier-common

As I understand it, this happens because the ttf-mscorefonts-installer package in the Ubuntu repository depends on update-notifier-common which itself depends on the rest of the listed packages even though none of these extras are actually required for those TTFs to be installed or even work, and probably shouldn't be marked as dependencies in the first place.

On top of that, the Core Fonts package can be obtained upstream from Debian directly without the extra packages and installed locally with gdebi, dpkg, Synaptic, or any other Debian package manager you happen to have laying around, without breaking anything.

On closer inspection, we can see that the package itself primarily installs a POSIX shell script which handles the actual fetching and installation of the desired fonts, which are downloaded via the following list of URLs:

* http://downloads.sourceforge.net/corefonts/andale32.exe
* http://downloads.sourceforge.net/corefonts/arial32.exe
* http://downloads.sourceforge.net/corefonts/arialb32.exe
* http://downloads.sourceforge.net/corefonts/comic32.exe
* http://downloads.sourceforge.net/corefonts/courie32.exe
* http://downloads.sourceforge.net/corefonts/georgi32.exe
* http://downloads.sourceforge.net/corefonts/impact32.exe
* http://downloads.sourceforge.net/corefonts/times32.exe
* http://downloads.sourceforge.net/corefonts/trebuc32.exe
* http://downloads.sourceforge.net/corefonts/verdan32.exe
* http://downloads.sourceforge.net/corefonts/webdin32.exe

That script has the following dependencies:

* debconf
* gawk / AWK
* coreutils
* cabextract
* gzip

That's it. Nothing appears to have anything to do with the packages in question. Elsewhere in the package, files for Lintian are used, found in the 'lintian' package, presumably to ensure the package meets Debian or Ubuntu packaging requirements; however, I don't believe this is a dependency, rather that it supports being checked and verified by Lintian.

From looking through the whole package, I see absolutely zero reason why ubuntu-release-upgrader-core and associated packages are marked as a dependency for the Microsoft Core Fonts package. And though the control file does have 'update-notifier-common' marked as a dependency, I don't recall seeing anything about a notification in the script, but maybe I missed something.

Either way, having update-notifier-common being marked as a dependency of ttf-mscorefonts-installer seems unnecessary and potentially confusing, especially on distributions like Mint (the one I'm using) which follow their own update and upgrade path and could potentially be broken by allowing the native Ubuntu Upgrade Release path to be followed.

True, you can technically get around this by passing --no-install-recommends to APT, but that's more of a short-term solution to a problem that shouldn't exist in the first place. Is there a way to remove this dependency hell from the core fonts package? Or, can somebody at least explain the logic and reasoning for adding these dependencies to a TTF package?

Gunnar Hjalmarsson avatar
uz flag
The packaging for the Ubuntu archive is done with Ubuntu users in mind. If I install `ttf-mscorefonts-installer` on Ubuntu 23.04, only one additional package is installed. Mint is off topic at Ask Ubuntu.
EvilSupahFly avatar
us flag
And yet, on Ubuntu 18.04 base, it also attempts to install those extra packages.
guiverc avatar
cn flag
Please refer https://askubuntu.com/help/on-topic, Ubuntu and *official* flavors of Ubuntu (https://ubuntu.com/download/flavours) are on-topic on this site. The on-topic link provides alternate SE sites for non-Ubuntu OSes.
guiverc avatar
cn flag
[Ubuntu 18.04 LTS has reached the end of it's *standard* support life](https://fridge.ubuntu.com/2023/05/13/extended-security-maintenance-for-ubuntu-18-04-bionic-beaver-begins-31-may-2023/) thus is now off-topic here unless your question is specific to helping you move to a supported release of Ubuntu. Ubuntu 18.04 ESM support is available, but not on-topic here, see https://askubuntu.com/help/on-topic See also https://ubuntu.com//blog/18-04-end-of-standard-support
user535733 avatar
cn flag
Confirmed the question is accurate. Testers, remember to add Multiverse.
pl flag
You're hinting heavily that you're on Mint, not Ubuntu. That's not supported here.
Gunnar Hjalmarsson avatar
uz flag
@user535733: How? The rationale behind the `update-notifier-common` dependency is stated at [bug #876298](https://launchpad.net/bugs/876298).
guiverc avatar
cn flag
FYI: I'm on a Ubuntu *flavor* (Lubuntu) and my result is more like Gunnar's on installing `ttf-mscorefonts-installer` (I needed `cabextract` & `libmspack0`)
user535733 avatar
cn flag
@GunnarHjalmarsson merely confirming that I was able to reproduce the OP's claimed behavior on a stock 23.04 Desktop test system. Not commenting on why those packages are dependencies...though a quick visit to Launchpad shows a set of well-documented patched with good reasons. That will be in the answer I write.
Score:3
cn flag

Some answers are readily available in the changelog. Others you can find by browsing the patches, which are documented.

Generally, Ubuntu patches are created in response to bugs. The patches are pushed upstream...who may or may not decide to use them.

Examples:

  • update-notifier is a dependency so package data can be handled asynchonously (preventing failure on flaky networks).
  • debconf is necessary to ask the EULA question to the user.

Downstream distros (like Mint) are welcome to roll their own packages and select their own patches.

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.