File is \x2d
Name has to be escaped as \\x2d for e.g. systemctl
This is exactly as we have it in later releases with the fix - so the file names are "ok" despite still feeling odd to have it named that way.
It turns out that the old 'deb-systemd-helper' is fine with the name - that is the reason it is installed and enabled corretcly.
The failing part is 'deb-systemd.invoke', that would need other escapes.
This call is no more existing in newer Ubuntu releases as dh_installsystemd has taken over there but does not exist on Xenial yet.
The newer version of deb-systemd-invoke is no more used in Bionic, but it would be fixed - not worth for this case but nice to know.
The older Xenial version failes the same way at the moment btw.
So we are fixing a real bug in Xenial, not just removing backport artifacts.
Essentially it is not started on install and stopped on upgrade until reboot.
The escaping in /usr/bin/deb-systemd-invoke is inconsistent.
For the first check we would need to pass: run-vmblock\\\\x2dfuse.mount
But for the second we would need to pass: run-vmblock\\x2dfuse.mount
The "real" fix would be in /usr/bin/deb-systemd-invoke:
my $enabled_output = `/bin/systemctl is-enabled -- '$unit'`;
to
my $enabled_output = `/bin/systemctl is-enabled -- $unit`;
But that has too many regression risks on an SRU.
But for open-vm-tools alone we can fix this up by overriding dh_systemd_start.
Generated:
if [ -d /run/systemd/system ]; then
systemctl --system daemon-reload >/dev/null || true deb-systemd-invoke start run-vmblock\\x2dfuse.mount >/dev/null || true
fi
Has to be replaced with a custom snipped to handle the esacping.
I checked the other calls to deb-systemd-invoke, e.g. the stop - they work fine with the names.
I have fixed the issues and ran test builds.
The now:
- do not report the warnigns on install/upgrade they did before
- the service is active right after install of open-vm-tools-desktop
The new version in the ppa 10.2.0-3ubuntu0.16.04.1~ppa6 is good for a retest.
File is \x2d
Name has to be escaped as \\x2d for e.g. systemctl
This is exactly as we have it in later releases with the fix - so the file names are "ok" despite still feeling odd to have it named that way.
It turns out that the old 'deb-systemd- helper' is fine with the name - that is the reason it is installed and enabled corretcly. invoke' , that would need other escapes.
The failing part is 'deb-systemd.
This call is no more existing in newer Ubuntu releases as dh_installsystemd has taken over there but does not exist on Xenial yet.
The newer version of deb-systemd-invoke is no more used in Bionic, but it would be fixed - not worth for this case but nice to know.
The older Xenial version failes the same way at the moment btw.
So we are fixing a real bug in Xenial, not just removing backport artifacts.
Essentially it is not started on install and stopped on upgrade until reboot.
The escaping in /usr/bin/ deb-systemd- invoke is inconsistent. \\\x2dfuse. mount \x2dfuse. mount
For the first check we would need to pass: run-vmblock\
But for the second we would need to pass: run-vmblock\
The "real" fix would be in /usr/bin/ deb-systemd- invoke:
my $enabled_output = `/bin/systemctl is-enabled -- '$unit'`;
to
my $enabled_output = `/bin/systemctl is-enabled -- $unit`;
But that has too many regression risks on an SRU.
But for open-vm-tools alone we can fix this up by overriding dh_systemd_start.
deb-systemd- invoke start run-vmblock\ \x2dfuse. mount >/dev/null || true
Generated:
if [ -d /run/systemd/system ]; then
systemctl --system daemon-reload >/dev/null || true
fi
Has to be replaced with a custom snipped to handle the esacping.
I checked the other calls to deb-systemd-invoke, e.g. the stop - they work fine with the names.
I have fixed the issues and ran test builds. tools-desktop
The now:
- do not report the warnigns on install/upgrade they did before
- the service is active right after install of open-vm-
The new version in the ppa 10.2.0- 3ubuntu0. 16.04.1~ ppa6 is good for a retest.