summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorCole Robinson <crobinso@redhat.com>2018-12-18 11:58:52 -0500
committerCole Robinson <crobinso@redhat.com>2018-12-18 14:23:01 -0500
commit73f07c54ee68097aa982d0c06a683b3e8ce658de (patch)
tree57114d79e459ff1cc3519c6b7aad6892d03dfe6b /setup.py
parenta2850f345b9064bba6bf6856dc03c501d9de51da (diff)
downloadvirt-manager-73f07c54ee68097aa982d0c06a683b3e8ce658de.tar.gz
setup: Generate bashcompletion files in builddir
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py36
1 files changed, 15 insertions, 21 deletions
diff --git a/setup.py b/setup.py
index 1ab9da7e..341c6fef 100755
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,6 @@
import glob
import fnmatch
import os
-import subprocess
import sys
import unittest
@@ -41,12 +40,6 @@ _appdata_files = [
]
-def bash_completion_dir():
- (sts, output) = subprocess.getstatusoutput(
- 'pkg-config --variable=completionsdir bash-completion')
- return output if not sts and output else '/etc/bash_completion.d'
-
-
def _generate_potfiles_in():
def find(dirname, ext):
ret = []
@@ -228,20 +221,23 @@ class my_build(distutils.command.build.build):
def _make_bash_completion_files(self):
scripts = ["virt-install", "virt-clone", "virt-convert", "virt-xml"]
- path = "data/bash-completion"
+ srcfile = "data/bash-completion.sh.in"
+ builddir = "build/bash-completion/"
+ if not os.path.exists(builddir):
+ os.makedirs(builddir)
+
+ instpaths = []
for script in scripts:
- print("Generating %s/%s" % (path, script))
- ret = os.system('cp -f '
- '%s/virtmanager %s/%s' % (path, path, script))
- if ret != 0:
- raise RuntimeError("Copying template file "
- "%s/virtmanager to %s/%s' failed."
- % (path, path, script))
+ genfile = os.path.join(builddir, script)
+ print("Generating %s" % genfile)
+ src = open(srcfile, "r")
+ dst = open(genfile, "w")
+ dst.write(src.read().replace("::SCRIPTNAME::", script))
+ dst.close()
+ instpaths.append(genfile)
- ret = os.system('sed -i s/virtmanager/%s/ %s/%s'
- % (script, path, script))
- if ret != 0:
- raise RuntimeError("Updating %s/%s' failed." % (path, script))
+ bashdir = "share/bash-completion/completions/"
+ self.distribution.data_files.append((bashdir, instpaths))
def run(self):
@@ -690,8 +686,6 @@ distutils.core.setup(
("share/virt-manager/virtinst/devices", glob.glob("virtinst/devices/*.py")),
("share/virt-manager/virtinst/domain", glob.glob("virtinst/domain/*.py")),
("share/virt-manager/virtconv", glob.glob("virtconv/*.py")),
-
- (bash_completion_dir(), glob.glob("data/bash-completion/virt-*")),
],
cmdclass={