[Bug 1726022] [NEW] ttf-mscorefonts-installer complains nightly in email because EULA not accepted

Jonathan Kamens jik at kamens.brookline.ma.us
Sun Oct 22 14:22:20 UTC 2017


Public bug reported:

If ttf-mscorefonts-installer is installed non-interactively, then the
EULA isn't accepted. After that, cron.daily sends this email every
single day:

>/etc/cron.daily/update-notifier-common:
>ttf-mscorefonts-installer: processing...

Note how there's no indication here of any error or any other
explanation for why this is running (and apparently not succeeding)
every day. It's because the downloader for the package silently fails to
download any fonts if the license hasn't been accepted.

Note this stanza at the end of /usr/share/package-data-downloads/ttf-
mscorefonts-installer:

>Script: /usr/lib/msttcorefonts/update-ms-fonts
>Should-Download: msttcorefonts/accepted-mscorefonts-eula

On a system where the package was installed non-interactively,
msttcorefonts/accepted-mscorefonts-eula is false.

The code which silently refuses to download fonts if that setting is
false is in /usr/lib/update-notifier/package-data-downloader:

> if 'Should-Download' in para:
> db = debconf.DebconfCommunicator('update-notifier')
> try:
> should = db.get(para['Should-Download'])
> if should == "false":
> # Do nothing with this file.
> break
> except:
> pass
> finally:
> db.shutdown()

Something at some level in this stack needs to produce some sort of
visible error message so that the user knows what the hell is going on
and can fix it.

However, on the subject of fixing it, there's another problem... maybe
I'm missing something, but I can't find any supported way of accepting
this license once the package has been installed, because the code that
prompts the user to accept the license is in /var/lib/dpkg/info/ttf-
mscorefonts-installer.preinst, and as far as I can tell, dpkg-
reconfigure doesn't rerun preinst files.

I'm not sure there is a simple fix here; I think perhaps some thought
needs to be put into significantly reworking how all this hangs together
in the case where the package is installed non-interactively.

In case you're curious, the reason why it's installed interactively in
my case is because I used ansible to install it. My workaround for this
issue was to add code to my ansible playbook to set the dpkg variable to
accept the EULA before doing the package install. But it took me hours
of digging through source code, scripts, etc., to get to the point where
I was able to figure out what was going on and what the workaround
should be. This is why I said above that at the very least there should
be a visible, useful error message in the cron.daily output.

ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: ttf-mscorefonts-installer 3.4+nmu1ubuntu2
ProcVersionSignature: Ubuntu 4.10.0-35.39-generic 4.10.17
Uname: Linux 4.10.0-35-generic x86_64
NonfreeKernelModules: nvidia_uvm nvidia_drm nvidia_modeset nvidia
ApportVersion: 2.20.4-0ubuntu4.5
Architecture: amd64
CurrentDesktop: Unity:Unity7
Date: Sun Oct 22 10:15:46 2017
InstallationDate: Installed on 2016-01-16 (645 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Release amd64 (20151021)
PackageArchitecture: all
SourcePackage: msttcorefonts
UpgradeStatus: Upgraded to zesty on 2017-04-14 (191 days ago)

** Affects: msttcorefonts (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug zesty

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to msttcorefonts in Ubuntu.
https://bugs.launchpad.net/bugs/1726022

Title:
  ttf-mscorefonts-installer complains nightly in email because EULA not
  accepted

Status in msttcorefonts package in Ubuntu:
  New

Bug description:
  If ttf-mscorefonts-installer is installed non-interactively, then the
  EULA isn't accepted. After that, cron.daily sends this email every
  single day:

  >/etc/cron.daily/update-notifier-common:
  >ttf-mscorefonts-installer: processing...

  Note how there's no indication here of any error or any other
  explanation for why this is running (and apparently not succeeding)
  every day. It's because the downloader for the package silently fails
  to download any fonts if the license hasn't been accepted.

  Note this stanza at the end of /usr/share/package-data-downloads/ttf-
  mscorefonts-installer:

  >Script: /usr/lib/msttcorefonts/update-ms-fonts
  >Should-Download: msttcorefonts/accepted-mscorefonts-eula

  On a system where the package was installed non-interactively,
  msttcorefonts/accepted-mscorefonts-eula is false.

  The code which silently refuses to download fonts if that setting is
  false is in /usr/lib/update-notifier/package-data-downloader:

  > if 'Should-Download' in para:
  > db = debconf.DebconfCommunicator('update-notifier')
  > try:
  > should = db.get(para['Should-Download'])
  > if should == "false":
  > # Do nothing with this file.
  > break
  > except:
  > pass
  > finally:
  > db.shutdown()

  Something at some level in this stack needs to produce some sort of
  visible error message so that the user knows what the hell is going on
  and can fix it.

  However, on the subject of fixing it, there's another problem... maybe
  I'm missing something, but I can't find any supported way of accepting
  this license once the package has been installed, because the code
  that prompts the user to accept the license is in /var/lib/dpkg/info
  /ttf-mscorefonts-installer.preinst, and as far as I can tell, dpkg-
  reconfigure doesn't rerun preinst files.

  I'm not sure there is a simple fix here; I think perhaps some thought
  needs to be put into significantly reworking how all this hangs
  together in the case where the package is installed non-interactively.

  In case you're curious, the reason why it's installed interactively in
  my case is because I used ansible to install it. My workaround for
  this issue was to add code to my ansible playbook to set the dpkg
  variable to accept the EULA before doing the package install. But it
  took me hours of digging through source code, scripts, etc., to get to
  the point where I was able to figure out what was going on and what
  the workaround should be. This is why I said above that at the very
  least there should be a visible, useful error message in the
  cron.daily output.

  ProblemType: Bug
  DistroRelease: Ubuntu 17.04
  Package: ttf-mscorefonts-installer 3.4+nmu1ubuntu2
  ProcVersionSignature: Ubuntu 4.10.0-35.39-generic 4.10.17
  Uname: Linux 4.10.0-35-generic x86_64
  NonfreeKernelModules: nvidia_uvm nvidia_drm nvidia_modeset nvidia
  ApportVersion: 2.20.4-0ubuntu4.5
  Architecture: amd64
  CurrentDesktop: Unity:Unity7
  Date: Sun Oct 22 10:15:46 2017
  InstallationDate: Installed on 2016-01-16 (645 days ago)
  InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Release amd64 (20151021)
  PackageArchitecture: all
  SourcePackage: msttcorefonts
  UpgradeStatus: Upgraded to zesty on 2017-04-14 (191 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/msttcorefonts/+bug/1726022/+subscriptions



More information about the foundations-bugs mailing list