59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
import os
|
|
import sys
|
|
from pathlib import Path
|
|
from subprocess import call
|
|
|
|
from setuptools import setup
|
|
|
|
# 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():
|
|
initd = Path("/etc/init.d/airtime-celery")
|
|
conf = Path("/etc/default/airtime-celery")
|
|
if not no_init and initd.is_file() and conf.is_file():
|
|
# Make /etc/init.d file executable and set proper
|
|
# permissions for the defaults config file
|
|
os.chmod("/etc/init.d/airtime-celery", 0o755)
|
|
os.chmod("/etc/default/airtime-celery", 0o640)
|
|
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=["celery==4.4.7", "kombu==4.6.10", "configobj"],
|
|
zip_safe=False,
|
|
data_files=data_files,
|
|
)
|
|
|
|
if run_postinst:
|
|
postinst()
|