summaryrefslogtreecommitdiff
path: root/setup
diff options
context:
space:
mode:
authorkali <kali@leap.se>2012-09-06 05:33:24 +0900
committerkali <kali@leap.se>2012-09-06 05:33:24 +0900
commit7274c4dfc0e827b201a85567540fda8af972bf70 (patch)
tree7e3f70130b96f5da235b6a2a489a22a48b3e0541 /setup
parent605717159e03b68105d708a153f668274d11daae (diff)
pkg.utils.parse_requirements used in setup
renamed setup-->pkg because name collision
Diffstat (limited to 'setup')
-rw-r--r--setup/install_venv.py240
-rw-r--r--setup/linux/leap.desktop13
-rw-r--r--setup/linux/polkit/net.openvpn.gui.leap.policy23
-rw-r--r--setup/requirements.pip3
-rwxr-xr-xsetup/scripts/leap6
-rw-r--r--setup/test-requirements.pip5
-rwxr-xr-xsetup/tools/with_venv.sh4
7 files changed, 0 insertions, 294 deletions
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 <your command>
-
- 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 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE policyconfig PUBLIC
- "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
- "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
-<policyconfig>
-
- <vendor>LEAP Project</vendor>
- <vendor_url>http://leap.se/</vendor_url>
-
- <action id="net.openvpn,gui.leap.run-openvpn">
- <description>Runs the openvpn binary</description>
- <description xml:lang="es">Ejecuta el binario openvpn</description>
- <message>OpenVPN needs that you authenticate to start</message>
- <message xml:lang="es">OpenVPN necesita autorizacion para comenzar</message>
- <icon_name>package-x-generic</icon_name>
- <defaults>
- <allow_any>auth_self_keep</allow_any>
- <allow_inactive>auth_self_keep</allow_inactive>
- <allow_active>auth_self_keep</allow_active>
- </defaults>
- <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/openvpn</annotate>
- </action>
-</policyconfig>
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 && $@