Opened 9 years ago
Last modified 9 years ago
#14665 closed defect
vboxdrv.service unit file contains an extra '$' character in the "After=" line — at Initial Version
Reported by: | Peter Palúch | Owned by: | |
---|---|---|---|
Component: | installer | Version: | VirtualBox 5.0.6 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | all |
Description
Greetings,
In Debian packages of VBox 5.0.6, the /etc/init.d scripts have been replaced with, among others, native systemd units in /lib/systemd/system.
However, the /lib/systemd/system/vboxdrv.service file that is generated by the postinst-common.sh script based on LSB info in /usr/lib/virtualbox/vboxdrv.sh contains an extra '$' character in the "After=" line. After installing the Debian package of VBox 5.0.6, this line in the vboxdrv.service reads:
After=$syslog.service
As systemd does not recognize such service, it complains during system boot:
Oct 04 10:23:32 rameau systemd[1]: lib/systemd/system/vboxdrv.service:5 Failed to add dependency on $syslog.service, ignoring: Invalid argument
This error is caused by the /usr/lib/virtualbox/routines.sh that does not remove the '$' character from system facility names as parsed from the vboxdrv.sh file when these facilities are translated into systemd unit files.
I am attaching a patch that corrects the routines.sh script so that any '$' characters read in names of system facilities from LSB tags are removed. The patch is based on an additional use of the tr tool to delete the unwanted characters. In Debian, the tr tool is a part of the coreutils package which is an essential package, and so does not incur any additional package dependency.
Please consider integrating these corrections. Thank you!
Best regards, Peter
Patch file correcting routines.sh to remove '$' characters from facility names