Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upqubes-sync-time.service fails to start on Arch Linux because of Python2/3 issue #3872
Comments
andrewdavidwong
added
bug
C: Arch Linux
labels
May 2, 2018
andrewdavidwong
added this to the Release 4.0 updates milestone
May 2, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
fishilico commentedMay 1, 2018
Qubes OS version:
R4.0, with Arch Linux template built by following instructions from https://www.qubes-os.org/doc/building-archlinux-template/
Affected component(s):
qubes-sync-time.service (qvm-sync-clock systemd service)
Steps to reproduce the behavior:
Create a Arch Linux TemplateVM and an AppVM on Qubes OS R4.0.
Enumerate the services which failed to start (
systemctl | grep failed). There is:Try to start the service, it fails again.
Start the program used by the service from a shell:
subprocess.DEVNULLonly exists in Python 3, but/usr/lib/qubes/qubes-sync-clockstarts with:#!/usr/bin/python2The source code used python3 (https://github.com/QubesOS/qubes-core-agent-linux/blob/v4.0.26/qubes-rpc/qubes-sync-clock#L1) but the Arch Linux package replaces every Python shebang with Python 2 (https://github.com/QubesOS/qubes-core-agent-linux/blob/v4.0.26/archlinux/PKGBUILD#L48-L52):
As
/usr/lib/qubes/qubes-sync-clockis not compatible with Python 2,/usr/bin/qvm-sync-clockfails, and so does the servicequbes-sync-time.service.Expected behavior:
qubes-sync-time.service works fine.
Actual behavior:
qubes-sync-time.service fails to start, because it tries to run Python 3 code with Python 2.
General notes:
There seems to be an ongoing effort to make Arch Linux packages use Python 3 Qubes libraries (e.g. QubesOS/qubes-core-qubesdb@5efa37d ). This issue may be solved by ensuring every Python library used to interact with Qubes OS from an Arch Linux template is installed in its Python 3 version.
Related issues:
I opened this issue because I have not found any issue related to migrating to Python 3.
It might be related to the more general "Archlinux template for QubesOS 4.0" issue, #3185