summaryrefslogtreecommitdiffstats
path: root/scripts/setup.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xscripts/setup.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/setup.py b/scripts/setup.py
new file mode 100755
index 0000000..179969b
--- /dev/null
+++ b/scripts/setup.py
@@ -0,0 +1,42 @@
+#!/usr/bin/python3
+
+import os
+import re
+from distutils.command.clean import clean as BaseCleanCommand
+
+from setuptools import setup
+
+from devscripts.test import SCRIPTS
+
+
+def get_version():
+ # look/set what version we have
+ changelog = "../debian/changelog"
+ if os.path.exists(changelog):
+ head = open(changelog, encoding="utf8").readline()
+ match = re.compile(r".*\((.*)\).*").match(head)
+ if match:
+ version = match.group(1)
+ with open(os.path.join("devscripts", "__init__.py"), "w") as f:
+ f.write("version = '{}'\n".format(version))
+ return version
+ raise Exception("Failed to determine version from debian/changelog")
+
+
+class MyCleanCommand(BaseCleanCommand):
+ def run(self):
+ super().run()
+ version_file_py = os.path.join("devscripts", "__init__.py")
+ if os.path.exists(version_file_py):
+ os.unlink(version_file_py)
+
+
+if __name__ == '__main__':
+ setup(
+ name='devscripts',
+ version=get_version(),
+ scripts=SCRIPTS,
+ packages=['devscripts', 'devscripts/test'],
+ test_suite='devscripts.test',
+ cmdclass={'clean': MyCleanCommand},
+ )