X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=setup.py;h=ab111bf8b297c19b8e8faadcb25f6f73a8a41bdf;hb=ae8c3ef9652be2d40dc2b39473aab6f7a08f961f;hp=162d0577fc0cce55a5afa405590f442d4876a89d;hpb=bc8b1619a3ab4641dc095773214432ecfb1c5513;p=sfa.git diff --git a/setup.py b/setup.py index 162d0577..ab111bf8 100755 --- a/setup.py +++ b/setup.py @@ -1,14 +1,27 @@ -#!/usr/bin/python +#!/usr/bin/env python + +from __future__ import print_function """ Installation script for the sfa module """ +# as fas as pushing onto pypi, I have been using this page +# http://peterdowns.com/posts/first-time-with-pypi.html +# for setting up the whole business + import sys, os, os.path from glob import glob import shutil from distutils.core import setup +# check for the correct version of python +major, minor = sys.version_info [0:2] +if (major, minor) != (2, 7): + print ("Sorry, the SFA package is currently available only with python-2.7") + exit(1) + + # while cleaning up we might not have this.. try: from sfa.util.version import version_tag @@ -40,7 +53,6 @@ packages = [ 'sfa/rspecs', 'sfa/rspecs/elements', 'sfa/rspecs/elements/versions', - 'sfa/rspecs/elements/v3', 'sfa/rspecs/versions', 'sfa/client', 'sfa/planetlab', @@ -55,7 +67,8 @@ packages = [ ] initscripts = [ 'sfa' ] -if not os.path.isfile('/etc/redhat-release'): initscripts.append('functions.sfa') +if not os.path.isfile('/etc/redhat-release'): + initscripts.append('functions.sfa') data_files = [ ('/etc/sfa/', [ 'config/aggregates.xml', 'config/registries.xml', @@ -90,34 +103,54 @@ for d in processor_subdirs: if sys.argv[1] in ['uninstall', 'remove', 'delete', 'clean']: python_path = sys.path - site_packages_path = [ os.path.join(p,'sfa') for p in python_path if p.endswith('site-packages')] - site_packages_path += [ os.path.join(p,'sfatables') for p in python_path if p.endswith('site-packages')] + site_packages_path = [ os.path.join(p, 'sfa') for p in python_path if p.endswith('site-packages')] + site_packages_path += [ os.path.join(p, 'sfatables') for p in python_path if p.endswith('site-packages')] remove_dirs = ['/etc/sfa/', '/etc/sfatables'] + site_packages_path remove_bins = [ '/usr/bin/' + os.path.basename(bin) for bin in scripts ] remove_files = remove_bins + [ "/etc/init.d/%s"%x for x in initscripts ] # remove files + def feedback (file, msg): + print ("removing", file, "...", msg) for filepath in remove_files: - print "removing", filepath, "...", try: os.remove(filepath) - print "success" - except: print "failed" + feedback(filepath, "success") + except: + feedback(filepath, "failed") # remove directories for directory in remove_dirs: - print "removing", directory, "...", try: shutil.rmtree(directory) - print "success" - except: print "failed" + feedback (directory, "success") + except: + feedback (directory, "failed") else: # avoid repeating what's in the specfile already - setup(name='sfa', - packages = packages, - data_files = data_files, - scripts = scripts, - url="http://svn.planet-lab.org/wiki/SFATutorial", - author="Thierry Parmentelat, Tony Mack, Scott Baker", - author_email="thierry.parmentelat@inria.fr, tmack@princeton.cs.edu, smbaker@gmail.com", - version=version_tag) + try: + with open("LICENSE.txt") as l: + license = l.read() + except: + license = "Could not open file LICENSE.txt" + try: + with open("index.html") as r: + long_description = r.read() + except: + long_description = "Unable to read index.html" + + setup( + name = 'sfa', + packages = packages, + data_files = data_files, + version = version_tag, + keywords = ['federation', 'testbeds', 'SFA', 'SfaWrap'], + url = "http://svn.planet-lab.org/wiki/SFATutorial", + author = "Thierry Parmentelat, Tony Mack, Scott Baker", + author_email = "thierry.parmentelat@inria.fr, tmack@princeton.cs.edu, smbaker@gmail.com", + download_url = "http://build.onelab.eu/sfa/{v}/sfa-{v}.tar.gz".format(v=version_tag), + description = "SFA Wrapper with drivers for PlanetLab and IotLab and others", + license = license, + long_description = long_description, + scripts = scripts, +)