提交 c51f0827 编写于 作者: J Jiri Denemark

python: Use hardcoded python path in libvirt.py

This partially reverts (and fixes that part in a different way) commit
e4384459, which replaced
``/usr/bin/python'' with ``/usr/bin/env python'' in all examples or
scripts used during build to generate other files.

However, python bindings module is compiled and linked against a
specific python discovered or explicitly provided in configure phase.
Thus libvirt.py, which is generated and installed into the system,
should use the same python binary for which the module has been built.

The hunk in Makefile.am replaces $(srcdir) with $(PYTHON), which might
seem wrong but it is not. generator.py didn't use any of its command
line arguments so passing $(srcdir) to it was redundant.
上级 976eb124
......@@ -53,7 +53,7 @@ GENERATED= libvirt-export.c \
libvirt.py
generated.stamp: $(srcdir)/$(GENERATE) $(API_DESC)
$(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
$(PYTHON) $(srcdir)/$(GENERATE) $(PYTHON)
touch $@
$(GENERATED): generated.stamp
......
......@@ -14,6 +14,11 @@ import re
if __name__ == "__main__":
# launched as a script
srcPref = os.path.dirname(sys.argv[0])
if len(sys.argv) > 1:
python = sys.argv[1]
else:
print "Python binary not specified"
sys.exit(1)
else:
# imported
srcPref = os.path.dirname(__file__)
......@@ -1012,7 +1017,7 @@ def buildWrappers():
classes = open("libvirt.py", "w")
extra = open(os.path.join(srcPref,"libvirt-override.py"), "r")
classes.write("#!/usr/bin/env python\n")
classes.write("#! " + python + " -i\n")
classes.write("#\n")
classes.write("# WARNING WARNING WARNING WARNING\n")
classes.write("#\n")
......
......@@ -2,11 +2,6 @@
# Manually written part of python bindings for libvirt
#
# Specify -i commandline option after python was started
if __name__ == "__main__":
import os
os.environ["PYTHONINSPECT"] = "1"
# On cygwin, the DLL is called cygvirtmod.dll
try:
import libvirtmod
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册