diff options
author | Cole Robinson <crobinso@redhat.com> | 2018-12-18 11:58:52 -0500 |
---|---|---|
committer | Cole Robinson <crobinso@redhat.com> | 2018-12-18 14:23:01 -0500 |
commit | 73f07c54ee68097aa982d0c06a683b3e8ce658de (patch) | |
tree | 57114d79e459ff1cc3519c6b7aad6892d03dfe6b /setup.py | |
parent | a2850f345b9064bba6bf6856dc03c501d9de51da (diff) | |
download | virt-manager-73f07c54ee68097aa982d0c06a683b3e8ce658de.tar.gz |
setup: Generate bashcompletion files in builddir
Diffstat (limited to 'setup.py')
-rwxr-xr-x | setup.py | 36 |
1 files changed, 15 insertions, 21 deletions
@@ -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={ |