python: Use hardcoded python path in libvirt.py

This partially reverts (and fixes that part in a different way) commit
e4384459c9, 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.
This commit is contained in:
Jiri Denemark 2011-03-11 13:44:20 +01:00
parent 976eb124e7
commit c51f08272a
3 changed files with 7 additions and 7 deletions

View File

@ -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

View File

@ -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")

View File

@ -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