qvm-features-request: ensure qrexec agent is started
Prevents: Traceback (most recent call last): File "/usr/bin/qvm-features-request", line 81, in <module> sys.exit(main()) File "/usr/bin/qvm-features-request", line 78, in main stdin=devnull, stdout=devnull) File "/usr/lib/python3.7/subprocess.py", line 347, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['qrexec-client-vm', 'dom0', 'qubes.FeaturesRequest']' returned non-zero exit status 127. and Traceback (most recent call last): File "/usr/bin/qvm-features-request", line 81, in <module> sys.exit(main()) File "/usr/bin/qvm-features-request", line 70, in main qdb = qubesdb.QubesDB() qubesdb.Error: (2, 'No such file or directory') Fixes QubesOS/qubes-issues#4469
This commit is contained in:
parent
a8ab8d4eff
commit
5805941daf
@ -29,6 +29,12 @@ import sys
|
|||||||
|
|
||||||
import qubesdb
|
import qubesdb
|
||||||
|
|
||||||
|
|
||||||
|
def is_active(service):
|
||||||
|
status = subprocess.call(["systemctl", "is-active", "--quiet", service])
|
||||||
|
return status == 0
|
||||||
|
|
||||||
|
|
||||||
class FeatureRequestAction(argparse.Action):
|
class FeatureRequestAction(argparse.Action):
|
||||||
'''Action for argument parser that stores a property.'''
|
'''Action for argument parser that stores a property.'''
|
||||||
# pylint: disable=redefined-builtin,too-few-public-methods
|
# pylint: disable=redefined-builtin,too-few-public-methods
|
||||||
@ -66,7 +72,8 @@ parser.add_argument('features',
|
|||||||
|
|
||||||
def main(args=None):
|
def main(args=None):
|
||||||
args = parser.parse_args(args)
|
args = parser.parse_args(args)
|
||||||
|
if not is_active("qubes-qrexec-agent"):
|
||||||
|
return
|
||||||
qdb = qubesdb.QubesDB()
|
qdb = qubesdb.QubesDB()
|
||||||
for feature, value in args.features.items():
|
for feature, value in args.features.items():
|
||||||
qdb.write('/features-request/' + feature, value)
|
qdb.write('/features-request/' + feature, value)
|
||||||
|
Loading…
Reference in New Issue
Block a user