from setuptools import setup from subprocess import call import os import sys # Change directory since setuptools uses relative paths script_path = os.path.dirname(os.path.realpath(__file__)) print script_path os.chdir(script_path) install_args = ['install', 'install_data', 'develop'] no_init = False run_postinst = False # XXX Definitely not the best way of doing this... if sys.argv[1] in install_args and "--no-init-script" not in sys.argv: run_postinst = True data_files = [('/etc/default', ['install/conf/airtime-celery']), ('/etc/init.d', ['install/initd/airtime-celery'])] else: if "--no-init-script" in sys.argv: no_init = True run_postinst = True # We still want to run the postinst here sys.argv.remove("--no-init-script") data_files = [] def postinst(): if not no_init: # Make /etc/init.d file executable and set proper # permissions for the defaults config file os.chmod('/etc/init.d/airtime-celery', 0755) os.chmod('/etc/default/airtime-celery', 0640) print "Run \"sudo service airtime-celery restart\" now." setup(name='airtime-celery', version='0.1', description='Airtime Celery service', url='http://github.com/sourcefabric/Airtime', author='Sourcefabric', author_email='duncan.sommerville@sourcefabric.org', license='MIT', packages=['airtime-celery'], install_requires=[ 'soundcloud', 'celery < 4', 'kombu < 3.1', 'configobj' ], zip_safe=False, data_files=data_files) if run_postinst: postinst()