X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=setup.py;h=c8259f92d3ef0ee6a3d9ebdd356d0563fa7d006a;hb=0a4c02a2bf0bf21726a6decf3e7f3f01ed32d89a;hp=fbab6aff62c1a22a98fea9848e6eddf491550d7f;hpb=5310688934eb634ac0a6c3c2f5a9e616dcd1899e;p=sfa.git diff --git a/setup.py b/setup.py index fbab6aff..c8259f92 100755 --- a/setup.py +++ b/setup.py @@ -1,55 +1,72 @@ -#!/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 -scripts = glob("sfa/clientbin/*.py") + \ - [ +# while cleaning up we might not have this.. +try: + from sfa.util.version import version_tag +except: + version_tag='cleaningup' + +scripts = glob("clientbin/*.py") + \ + [ 'config/sfa-config-tty', - 'config/gen-sfa-cm-config.py', - 'sfa/importer/sfa-import-plc.py', - 'sfa/importer/sfa-nuke-plc.py', - 'sfa/server/sfa-ca.py', - 'sfa/server/sfa-start.py', - 'sfa/server/sfa-clean-peer-records.py', - 'sfa/server/sfa_component_setup.py', + 'config/sfa-config', +# 'config/gen-sfa-cm-config.py', + 'sfa/server/sfa-start.py', +# 'sfa/server/sfa_component_setup.py', 'sfatables/sfatables', 'keyconvert/keyconvert.py', 'flashpolicy/sfa_flashpolicy.py', ] packages = [ - 'sfa', + 'sfa', 'sfa/trust', 'sfa/storage', - 'sfa/util', - 'sfa/client', + 'sfa/util', 'sfa/server', 'sfa/methods', 'sfa/generic', 'sfa/managers', 'sfa/importer', - 'sfa/plc', 'sfa/rspecs', 'sfa/rspecs/elements', 'sfa/rspecs/elements/versions', 'sfa/rspecs/versions', + 'sfa/client', + 'sfa/planetlab', + 'sfa/nitos', + 'sfa/dummy', + 'sfa/openstack', + 'sfa/federica', + 'sfa/iotlab', + 'sfa/cortexlab', 'sfatables', 'sfatables/commands', 'sfatables/processors', ] -initscripts = [ 'sfa', 'sfa-cm' ] +initscripts = [ 'sfa' ] +if not os.path.isfile('/etc/redhat-release'): initscripts.append('functions.sfa') data_files = [ ('/etc/sfa/', [ 'config/aggregates.xml', 'config/registries.xml', 'config/default_config.xml', + 'config/api_versions.xml', 'config/sfi_config', 'config/topology', 'sfa/managers/pl/pl.rng', @@ -63,8 +80,8 @@ data_files = [ ('/etc/sfa/', [ 'config/aggregates.xml', ('/etc/sfatables/matches/', glob('sfatables/matches/*.xml')), ('/etc/sfatables/targets/', glob('sfatables/targets/*.xml')), ('/etc/init.d/', [ "init.d/%s"%x for x in initscripts ]), - ('/usr/share/sfa/', [ 'sfa/storage/sfa.sql' ] ), - ('/usr/share/sfa/migrations', [ 'sfa/storage/migrations/*' ] ), + ('/usr/share/sfa/migrations', glob('sfa/storage/migrations/*.*') ), + ('/usr/share/sfa/migrations/versions', glob('sfa/storage/migrations/versions/*') ), ('/usr/share/sfa/examples/', glob('sfa/examples/*' ) + [ 'cron.d/sfa.cron' ] ), ] @@ -85,24 +102,41 @@ if sys.argv[1] in ['uninstall', 'remove', 'delete', 'clean']: 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 + # remove files + def feedback (file, msg): print ("removing", file, "...",msg) for filepath in remove_files: - print "removing", filepath, "...", - try: + try: os.remove(filepath) - print "success" - except: print "failed" - # remove directories - for directory in remove_dirs: - print "removing", directory, "...", - try: + feedback(filepath,"success") + except: + feedback(filepath,"failed") + # remove directories + for directory in remove_dirs: + 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 + with open("LICENSE.txt") as l: + license = l.read() + long_description = "Could not open README.html" + with open("readme.html") as r: + long_description = r.read() + setup(name='sfa', - packages = packages, + packages = packages, data_files = data_files, - scripts = scripts) + 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, +)