import os import shutil import stat from setuptools import setup from setuptools.command.install import install NAME = 'gardencontrol' VERSION = '4' AUTHOR = 'Thomas Klaehn' EMAIL = 'tkl@blackfinn.de' PACKAGES = ['config', 'control', 'gardencontrol', 'heat', 'remotecontrol'] REQUIRES = ['w1thermsensor', 'RPi.GPIO'] CONFIG_FILE = 'config.json' PACKAGE_DATA = {'gardencontrol': ['config/config.json']} SERVICEDIR = "/lib/systemd/system" DAEMON_START_SCRIPT = os.path.join(SERVICEDIR, 'gardencontrol.service') LOGFILE = "/var/log/gardencontrol.log" ENTRY_POINTS = { 'console_scripts': [ 'gardencontrol = gardencontrol.main:main' ] } class Install(install): def run(self): install.run(self) os.makedirs(SERVICEDIR, exist_ok=True) shutil.copyfile('gardencontrol.service', os.path.join(SERVICEDIR, DAEMON_START_SCRIPT)) os.chmod(DAEMON_START_SCRIPT, stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH) try: open(LOGFILE, 'r') except FileNotFoundError: os.makedirs(os.path.dirname(LOGFILE), exist_ok=True) open(LOGFILE, 'x') os.chmod(LOGFILE, stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IWGRP | stat.S_IROTH | stat.S_IWOTH) setup(name=NAME, version=VERSION, long_description=__doc__, author=AUTHOR, author_email=EMAIL, packages=PACKAGES, include_package_data=True, package_data=PACKAGE_DATA, zip_safe=False, install_requires=REQUIRES, entry_points=ENTRY_POINTS, cmdclass={ 'install': Install } )