[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