From 81e0e2bc82757425bebfb659e6c2cb873bc88ec9 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 8 Aug 2012 17:33:47 +0900 Subject: reset tests + run_tests script + very simple first test. --- setup/install_venv.py | 246 +++++++++++++++++++++++++++++++++++++++++++++++ setup/tools/with_venv.sh | 4 + 2 files changed, 250 insertions(+) create mode 100644 setup/install_venv.py create mode 100755 setup/tools/with_venv.sh (limited to 'setup') diff --git a/setup/install_venv.py b/setup/install_venv.py new file mode 100644 index 00000000..6cb3a693 --- /dev/null +++ b/setup/install_venv.py @@ -0,0 +1,246 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2010 United States Government as represented by the +# Administrator of the National Aeronautics and Space Administration. +# All Rights Reserved. +# +# Copyright 2010 OpenStack, LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +Installation script for Nova's development virtualenv +""" + +import optparse +import os +import subprocess +import sys +import platform + + +ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) +VENV = os.path.join(ROOT, '.venv') +PIP_REQUIRES = os.path.join(ROOT, 'tools', 'pip-requires') +TEST_REQUIRES = os.path.join(ROOT, 'tools', 'test-requires') +PY_VERSION = "python%s.%s" % (sys.version_info[0], sys.version_info[1]) + + +def die(message, *args): + print >> sys.stderr, message % args + sys.exit(1) + + +def check_python_version(): + if sys.version_info < (2, 6): + die("Need Python Version >= 2.6") + + +def run_command_with_code(cmd, redirect_output=True, check_exit_code=True): + """ + Runs a command in an out-of-process shell, returning the + output of that command. Working directory is ROOT. + """ + if redirect_output: + stdout = subprocess.PIPE + else: + stdout = None + + proc = subprocess.Popen(cmd, cwd=ROOT, stdout=stdout) + output = proc.communicate()[0] + if check_exit_code and proc.returncode != 0: + die('Command "%s" failed.\n%s', ' '.join(cmd), output) + return (output, proc.returncode) + + +def run_command(cmd, redirect_output=True, check_exit_code=True): + return run_command_with_code(cmd, redirect_output, check_exit_code)[0] + + +class Distro(object): + + def check_cmd(self, cmd): + return bool(run_command(['which', cmd], check_exit_code=False).strip()) + + def install_virtualenv(self): + if self.check_cmd('virtualenv'): + return + + if self.check_cmd('easy_install'): + print 'Installing virtualenv via easy_install...', + if run_command(['easy_install', 'virtualenv']): + print 'Succeeded' + return + else: + print 'Failed' + + die('ERROR: virtualenv not found.\n\nDevelopment' + ' requires virtualenv, please install it using your' + ' favorite package management tool') + + def post_process(self): + """Any distribution-specific post-processing gets done here. + + In particular, this is useful for applying patches to code inside + the venv.""" + pass + + +class Debian(Distro): + """This covers all Debian-based distributions.""" + + def check_pkg(self, pkg): + return run_command_with_code(['dpkg', '-l', pkg], + check_exit_code=False)[1] == 0 + + def apt_install(self, pkg, **kwargs): + run_command(['sudo', 'apt-get', 'install', '-y', pkg], **kwargs) + + def apply_patch(self, originalfile, patchfile): + run_command(['patch', originalfile, patchfile]) + + def install_virtualenv(self): + if self.check_cmd('virtualenv'): + return + + if not self.check_pkg('python-virtualenv'): + self.apt_install('python-virtualenv', check_exit_code=False) + + super(Debian, self).install_virtualenv() + + +class Fedora(Distro): + """This covers all Fedora-based distributions. + + Includes: Fedora, RHEL, CentOS, Scientific Linux""" + + def check_pkg(self, pkg): + return run_command_with_code(['rpm', '-q', pkg], + check_exit_code=False)[1] == 0 + + def yum_install(self, pkg, **kwargs): + run_command(['sudo', 'yum', 'install', '-y', pkg], **kwargs) + + def apply_patch(self, originalfile, patchfile): + run_command(['patch', originalfile, patchfile]) + + def install_virtualenv(self): + if self.check_cmd('virtualenv'): + return + + if not self.check_pkg('python-virtualenv'): + self.yum_install('python-virtualenv', check_exit_code=False) + + super(Fedora, self).install_virtualenv() + + +def get_distro(): + if os.path.exists('/etc/fedora-release') or \ + os.path.exists('/etc/redhat-release'): + return Fedora() + elif os.path.exists('/etc/debian_version'): + return Debian() + else: + return Distro() + + +def check_dependencies(): + get_distro().install_virtualenv() + + +def create_virtualenv(venv=VENV, no_site_packages=True): + """Creates the virtual environment and installs PIP only into the + virtual environment + """ + print 'Creating venv...', + if no_site_packages: + run_command(['virtualenv', '-q', '--no-site-packages', VENV]) + else: + run_command(['virtualenv', '-q', VENV]) + print 'done.' + print 'Installing pip in virtualenv...', + if not run_command(['tools/with_venv.sh', 'easy_install', + 'pip>1.0']).strip(): + die("Failed to install pip.") + print 'done.' + + +def pip_install(*args): + run_command(['tools/with_venv.sh', + 'pip', 'install', '--upgrade'] + list(args), + redirect_output=False) + + +def install_dependencies(venv=VENV): + print 'Installing dependencies with pip (this can take a while)...' + + # First things first, make sure our venv has the latest pip and distribute. + pip_install('pip') + pip_install('distribute') + + pip_install('-r', PIP_REQUIRES) + pip_install('-r', TEST_REQUIRES) + + # Tell the virtual env how to "import nova" + pthfile = os.path.join(venv, "lib", PY_VERSION, "site-packages", + "novaclient.pth") + f = open(pthfile, 'w') + f.write("%s\n" % ROOT) + + +def post_process(): + get_distro().post_process() + + +def print_help(): + help = """ + python-novaclient development environment setup is complete. + + python-novaclient development uses virtualenv to track and manage Python + dependencies while in development and testing. + + To activate the python-novaclient virtualenv for the extent of your current + shell session you can run: + + $ source .venv/bin/activate + + Or, if you prefer, you can run commands in the virtualenv on a case by case + basis by running: + + $ tools/with_venv.sh + + Also, make test will automatically use the virtualenv. + """ + print help + + +def parse_args(): + """Parse command-line arguments""" + parser = optparse.OptionParser() + parser.add_option("-n", "--no-site-packages", dest="no_site_packages", + default=False, action="store_true", + help="Do not inherit packages from global Python install") + return parser.parse_args() + + +def main(argv): + (options, args) = parse_args() + check_python_version() + check_dependencies() + create_virtualenv(no_site_packages=options.no_site_packages) + install_dependencies() + post_process() + print_help() + +if __name__ == '__main__': + main(sys.argv) diff --git a/setup/tools/with_venv.sh b/setup/tools/with_venv.sh new file mode 100755 index 00000000..0e58f1ab --- /dev/null +++ b/setup/tools/with_venv.sh @@ -0,0 +1,4 @@ +#!/bin/bash +TOOLS=`dirname $0` +VENV=$TOOLS/../../.venv +source $VENV/bin/activate && $@ -- cgit v1.2.3 From 19f965d5a8cc7a9c2384b67c5efc299ab167ee2f Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 8 Aug 2012 18:21:16 +0900 Subject: add test requirements for pip --- setup/test-requires | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 setup/test-requires (limited to 'setup') diff --git a/setup/test-requires b/setup/test-requires new file mode 100644 index 00000000..26db61c8 --- /dev/null +++ b/setup/test-requires @@ -0,0 +1,5 @@ +coverage +mock +nose +pep8==1.1 +sphinx>=1.1.2 -- cgit v1.2.3 From 51314f678cedce043021bf36469fd4fb062e2443 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 8 Aug 2012 19:42:07 +0900 Subject: updated README with brief running tests note --- setup/requirements.pip | 1 + 1 file changed, 1 insertion(+) (limited to 'setup') diff --git a/setup/requirements.pip b/setup/requirements.pip index e69de29b..1352d5e6 100644 --- a/setup/requirements.pip +++ b/setup/requirements.pip @@ -0,0 +1 @@ +argparse -- cgit v1.2.3 From d2250c4ed065ffedf85f388ef03f58c167d8099a Mon Sep 17 00:00:00 2001 From: kali Date: Thu, 9 Aug 2012 23:36:41 +0900 Subject: fix install virtualenv script --- setup/install_venv.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'setup') diff --git a/setup/install_venv.py b/setup/install_venv.py index 6cb3a693..3f3f0575 100644 --- a/setup/install_venv.py +++ b/setup/install_venv.py @@ -55,7 +55,8 @@ def run_command_with_code(cmd, redirect_output=True, check_exit_code=True): stdout = subprocess.PIPE else: stdout = None - + + print 'executing command: %s', cmd proc = subprocess.Popen(cmd, cwd=ROOT, stdout=stdout) output = proc.communicate()[0] if check_exit_code and proc.returncode != 0: @@ -169,14 +170,14 @@ def create_virtualenv(venv=VENV, no_site_packages=True): run_command(['virtualenv', '-q', VENV]) print 'done.' print 'Installing pip in virtualenv...', - if not run_command(['tools/with_venv.sh', 'easy_install', + if not run_command(['setup/tools/with_venv.sh', 'easy_install', 'pip>1.0']).strip(): die("Failed to install pip.") print 'done.' def pip_install(*args): - run_command(['tools/with_venv.sh', + run_command(['setup/tools/with_venv.sh', 'pip', 'install', '--upgrade'] + list(args), redirect_output=False) @@ -191,9 +192,9 @@ def install_dependencies(venv=VENV): pip_install('-r', PIP_REQUIRES) pip_install('-r', TEST_REQUIRES) - # Tell the virtual env how to "import nova" + # " pthfile = os.path.join(venv, "lib", PY_VERSION, "site-packages", - "novaclient.pth") + "leap-client.pth") f = open(pthfile, 'w') f.write("%s\n" % ROOT) @@ -204,12 +205,7 @@ def post_process(): def print_help(): help = """ - python-novaclient development environment setup is complete. - - python-novaclient development uses virtualenv to track and manage Python - dependencies while in development and testing. - - To activate the python-novaclient virtualenv for the extent of your current + To activate the leap virtualenv for the extent of your current shell session you can run: $ source .venv/bin/activate @@ -217,7 +213,7 @@ def print_help(): Or, if you prefer, you can run commands in the virtualenv on a case by case basis by running: - $ tools/with_venv.sh + $ setup/tools/with_venv.sh Also, make test will automatically use the virtualenv. """ -- cgit v1.2.3 From f6458e263415e35fa8934b404e472346c61a4209 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 22 Aug 2012 07:40:35 +0900 Subject: fix install virtualenv for running tests (actually, it's not completely working. it's missing a fix for the broken qt4 libs inside virtualenv, which still need manual intervention) --- setup/install_venv.py | 8 +++----- setup/test-requirements.pip | 5 +++++ setup/test-requires | 5 ----- 3 files changed, 8 insertions(+), 10 deletions(-) create mode 100644 setup/test-requirements.pip delete mode 100644 setup/test-requires (limited to 'setup') diff --git a/setup/install_venv.py b/setup/install_venv.py index 3f3f0575..15385beb 100644 --- a/setup/install_venv.py +++ b/setup/install_venv.py @@ -26,13 +26,11 @@ import optparse import os import subprocess import sys -import platform - ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) VENV = os.path.join(ROOT, '.venv') -PIP_REQUIRES = os.path.join(ROOT, 'tools', 'pip-requires') -TEST_REQUIRES = os.path.join(ROOT, 'tools', 'test-requires') +PIP_REQUIRES = os.path.join(ROOT, 'setup', 'requirements.pip') +TEST_REQUIRES = os.path.join(ROOT, 'setup', 'test-requirements.pip') PY_VERSION = "python%s.%s" % (sys.version_info[0], sys.version_info[1]) @@ -55,7 +53,7 @@ def run_command_with_code(cmd, redirect_output=True, check_exit_code=True): stdout = subprocess.PIPE else: stdout = None - + print 'executing command: %s', cmd proc = subprocess.Popen(cmd, cwd=ROOT, stdout=stdout) output = proc.communicate()[0] diff --git a/setup/test-requirements.pip b/setup/test-requirements.pip new file mode 100644 index 00000000..26db61c8 --- /dev/null +++ b/setup/test-requirements.pip @@ -0,0 +1,5 @@ +coverage +mock +nose +pep8==1.1 +sphinx>=1.1.2 diff --git a/setup/test-requires b/setup/test-requires deleted file mode 100644 index 26db61c8..00000000 --- a/setup/test-requires +++ /dev/null @@ -1,5 +0,0 @@ -coverage -mock -nose -pep8==1.1 -sphinx>=1.1.2 -- cgit v1.2.3 From 8dce7426814ba7069243c2ad719d745b3b1268ac Mon Sep 17 00:00:00 2001 From: kali Date: Thu, 23 Aug 2012 23:30:43 +0900 Subject: updated requirements --- setup/requirements.pip | 1 + 1 file changed, 1 insertion(+) (limited to 'setup') diff --git a/setup/requirements.pip b/setup/requirements.pip index 1352d5e6..4104874d 100644 --- a/setup/requirements.pip +++ b/setup/requirements.pip @@ -1 +1,2 @@ argparse +configuration -- cgit v1.2.3 From 56df9203b022aed19f1fb0fa3a6483dc34c3c72e Mon Sep 17 00:00:00 2001 From: kali Date: Thu, 23 Aug 2012 23:55:49 +0900 Subject: added requests to requirements.pip and setup --- setup/requirements.pip | 1 + 1 file changed, 1 insertion(+) (limited to 'setup') diff --git a/setup/requirements.pip b/setup/requirements.pip index 4104874d..96e76d34 100644 --- a/setup/requirements.pip +++ b/setup/requirements.pip @@ -1,2 +1,3 @@ argparse configuration +requests -- cgit v1.2.3 From 7274c4dfc0e827b201a85567540fda8af972bf70 Mon Sep 17 00:00:00 2001 From: kali Date: Thu, 6 Sep 2012 05:33:24 +0900 Subject: pkg.utils.parse_requirements used in setup renamed setup-->pkg because name collision --- setup/install_venv.py | 240 ------------------------- setup/linux/leap.desktop | 13 -- setup/linux/polkit/net.openvpn.gui.leap.policy | 23 --- setup/requirements.pip | 3 - setup/scripts/leap | 6 - setup/test-requirements.pip | 5 - setup/tools/with_venv.sh | 4 - 7 files changed, 294 deletions(-) delete mode 100644 setup/install_venv.py delete mode 100644 setup/linux/leap.desktop delete mode 100644 setup/linux/polkit/net.openvpn.gui.leap.policy delete mode 100644 setup/requirements.pip delete mode 100755 setup/scripts/leap delete mode 100644 setup/test-requirements.pip delete mode 100755 setup/tools/with_venv.sh (limited to 'setup') diff --git a/setup/install_venv.py b/setup/install_venv.py deleted file mode 100644 index 15385beb..00000000 --- a/setup/install_venv.py +++ /dev/null @@ -1,240 +0,0 @@ -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -# Copyright 2010 United States Government as represented by the -# Administrator of the National Aeronautics and Space Administration. -# All Rights Reserved. -# -# Copyright 2010 OpenStack, LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -""" -Installation script for Nova's development virtualenv -""" - -import optparse -import os -import subprocess -import sys - -ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) -VENV = os.path.join(ROOT, '.venv') -PIP_REQUIRES = os.path.join(ROOT, 'setup', 'requirements.pip') -TEST_REQUIRES = os.path.join(ROOT, 'setup', 'test-requirements.pip') -PY_VERSION = "python%s.%s" % (sys.version_info[0], sys.version_info[1]) - - -def die(message, *args): - print >> sys.stderr, message % args - sys.exit(1) - - -def check_python_version(): - if sys.version_info < (2, 6): - die("Need Python Version >= 2.6") - - -def run_command_with_code(cmd, redirect_output=True, check_exit_code=True): - """ - Runs a command in an out-of-process shell, returning the - output of that command. Working directory is ROOT. - """ - if redirect_output: - stdout = subprocess.PIPE - else: - stdout = None - - print 'executing command: %s', cmd - proc = subprocess.Popen(cmd, cwd=ROOT, stdout=stdout) - output = proc.communicate()[0] - if check_exit_code and proc.returncode != 0: - die('Command "%s" failed.\n%s', ' '.join(cmd), output) - return (output, proc.returncode) - - -def run_command(cmd, redirect_output=True, check_exit_code=True): - return run_command_with_code(cmd, redirect_output, check_exit_code)[0] - - -class Distro(object): - - def check_cmd(self, cmd): - return bool(run_command(['which', cmd], check_exit_code=False).strip()) - - def install_virtualenv(self): - if self.check_cmd('virtualenv'): - return - - if self.check_cmd('easy_install'): - print 'Installing virtualenv via easy_install...', - if run_command(['easy_install', 'virtualenv']): - print 'Succeeded' - return - else: - print 'Failed' - - die('ERROR: virtualenv not found.\n\nDevelopment' - ' requires virtualenv, please install it using your' - ' favorite package management tool') - - def post_process(self): - """Any distribution-specific post-processing gets done here. - - In particular, this is useful for applying patches to code inside - the venv.""" - pass - - -class Debian(Distro): - """This covers all Debian-based distributions.""" - - def check_pkg(self, pkg): - return run_command_with_code(['dpkg', '-l', pkg], - check_exit_code=False)[1] == 0 - - def apt_install(self, pkg, **kwargs): - run_command(['sudo', 'apt-get', 'install', '-y', pkg], **kwargs) - - def apply_patch(self, originalfile, patchfile): - run_command(['patch', originalfile, patchfile]) - - def install_virtualenv(self): - if self.check_cmd('virtualenv'): - return - - if not self.check_pkg('python-virtualenv'): - self.apt_install('python-virtualenv', check_exit_code=False) - - super(Debian, self).install_virtualenv() - - -class Fedora(Distro): - """This covers all Fedora-based distributions. - - Includes: Fedora, RHEL, CentOS, Scientific Linux""" - - def check_pkg(self, pkg): - return run_command_with_code(['rpm', '-q', pkg], - check_exit_code=False)[1] == 0 - - def yum_install(self, pkg, **kwargs): - run_command(['sudo', 'yum', 'install', '-y', pkg], **kwargs) - - def apply_patch(self, originalfile, patchfile): - run_command(['patch', originalfile, patchfile]) - - def install_virtualenv(self): - if self.check_cmd('virtualenv'): - return - - if not self.check_pkg('python-virtualenv'): - self.yum_install('python-virtualenv', check_exit_code=False) - - super(Fedora, self).install_virtualenv() - - -def get_distro(): - if os.path.exists('/etc/fedora-release') or \ - os.path.exists('/etc/redhat-release'): - return Fedora() - elif os.path.exists('/etc/debian_version'): - return Debian() - else: - return Distro() - - -def check_dependencies(): - get_distro().install_virtualenv() - - -def create_virtualenv(venv=VENV, no_site_packages=True): - """Creates the virtual environment and installs PIP only into the - virtual environment - """ - print 'Creating venv...', - if no_site_packages: - run_command(['virtualenv', '-q', '--no-site-packages', VENV]) - else: - run_command(['virtualenv', '-q', VENV]) - print 'done.' - print 'Installing pip in virtualenv...', - if not run_command(['setup/tools/with_venv.sh', 'easy_install', - 'pip>1.0']).strip(): - die("Failed to install pip.") - print 'done.' - - -def pip_install(*args): - run_command(['setup/tools/with_venv.sh', - 'pip', 'install', '--upgrade'] + list(args), - redirect_output=False) - - -def install_dependencies(venv=VENV): - print 'Installing dependencies with pip (this can take a while)...' - - # First things first, make sure our venv has the latest pip and distribute. - pip_install('pip') - pip_install('distribute') - - pip_install('-r', PIP_REQUIRES) - pip_install('-r', TEST_REQUIRES) - - # " - pthfile = os.path.join(venv, "lib", PY_VERSION, "site-packages", - "leap-client.pth") - f = open(pthfile, 'w') - f.write("%s\n" % ROOT) - - -def post_process(): - get_distro().post_process() - - -def print_help(): - help = """ - To activate the leap virtualenv for the extent of your current - shell session you can run: - - $ source .venv/bin/activate - - Or, if you prefer, you can run commands in the virtualenv on a case by case - basis by running: - - $ setup/tools/with_venv.sh - - Also, make test will automatically use the virtualenv. - """ - print help - - -def parse_args(): - """Parse command-line arguments""" - parser = optparse.OptionParser() - parser.add_option("-n", "--no-site-packages", dest="no_site_packages", - default=False, action="store_true", - help="Do not inherit packages from global Python install") - return parser.parse_args() - - -def main(argv): - (options, args) = parse_args() - check_python_version() - check_dependencies() - create_virtualenv(no_site_packages=options.no_site_packages) - install_dependencies() - post_process() - print_help() - -if __name__ == '__main__': - main(sys.argv) diff --git a/setup/linux/leap.desktop b/setup/linux/leap.desktop deleted file mode 100644 index 7a6d39d9..00000000 --- a/setup/linux/leap.desktop +++ /dev/null @@ -1,13 +0,0 @@ -[Desktop Entry] -Version=0.1.0 -Encoding=UTF-8 -Name=EIP -Comment=Anonymity and privacy -Comment[en]=Anonymity and privacy -Comment[es]=Anonimato y privacidad -Comment[sv]=Anonymitet och avlyssningsskydd -Exec=leap -Terminal=false -Type=Application -Icon=leap.png -Categories=Network; diff --git a/setup/linux/polkit/net.openvpn.gui.leap.policy b/setup/linux/polkit/net.openvpn.gui.leap.policy deleted file mode 100644 index 70a22b65..00000000 --- a/setup/linux/polkit/net.openvpn.gui.leap.policy +++ /dev/null @@ -1,23 +0,0 @@ - - - - - LEAP Project - http://leap.se/ - - - Runs the openvpn binary - Ejecuta el binario openvpn - OpenVPN needs that you authenticate to start - OpenVPN necesita autorizacion para comenzar - package-x-generic - - auth_self_keep - auth_self_keep - auth_self_keep - - /usr/sbin/openvpn - - diff --git a/setup/requirements.pip b/setup/requirements.pip deleted file mode 100644 index 96e76d34..00000000 --- a/setup/requirements.pip +++ /dev/null @@ -1,3 +0,0 @@ -argparse -configuration -requests diff --git a/setup/scripts/leap b/setup/scripts/leap deleted file mode 100755 index 6e62b597..00000000 --- a/setup/scripts/leap +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python - -from leap.app import main - -if __name__ == "__main__": - main() diff --git a/setup/test-requirements.pip b/setup/test-requirements.pip deleted file mode 100644 index 26db61c8..00000000 --- a/setup/test-requirements.pip +++ /dev/null @@ -1,5 +0,0 @@ -coverage -mock -nose -pep8==1.1 -sphinx>=1.1.2 diff --git a/setup/tools/with_venv.sh b/setup/tools/with_venv.sh deleted file mode 100755 index 0e58f1ab..00000000 --- a/setup/tools/with_venv.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -TOOLS=`dirname $0` -VENV=$TOOLS/../../.venv -source $VENV/bin/activate && $@ -- cgit v1.2.3