diff options
author | drebs <drebs@riseup.net> | 2017-11-13 10:52:57 -0200 |
---|---|---|
committer | drebs <drebs@riseup.net> | 2017-11-14 19:01:14 -0200 |
commit | 96899cdf89463b884b16a3c0bc2f5b698c4c221c (patch) | |
tree | 6cad19951061f5d621bc7c220ab99ba915832da1 | |
parent | fb47c43f9b869fb65ef0574fcfb5ce042860a5ee (diff) |
[pkg] make debian package report the correct version
The Soledad python source currently makes use of versioneer to calculate
versions dynamically and hardcode versions upon creation of the python
package. Unfortunatlly, this procedure does not behave well with debian
packaging, and we need to manually generate/replace the _version.py file
so the code that ends up in the debian package reports the correct
version of the software.
This commit adds a script to replace the _version.py file with a static
one and rules during packaging to run that script during preparation
stage of debian helper.
-rwxr-xr-x | debian/rules | 1 | ||||
-rw-r--r-- | debian/soledad-common.install | 1 | ||||
-rwxr-xr-x | scripts/packaging/replace-version-file.py | 19 |
3 files changed, 21 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules index ee6e33e2..99d21fe1 100755 --- a/debian/rules +++ b/debian/rules @@ -15,6 +15,7 @@ NAME=soledad-server override_dh_prep: (cd ./docs/man; for src in *.rst; do tgt=$$(basename $${src} .rst); rst2man $${src} $${tgt}; done) + PYTHONPATH=./ ./scripts/packaging/replace-version-file.py dh_prep override_dh_installinit: diff --git a/debian/soledad-common.install b/debian/soledad-common.install index 05b9f308..701b2164 100644 --- a/debian/soledad-common.install +++ b/debian/soledad-common.install @@ -1,3 +1,4 @@ src/leap/soledad/__init__.py /usr/lib/python2.7/dist-packages/leap/soledad/ src/leap/soledad/_version.py /usr/lib/python2.7/dist-packages/leap/soledad/ src/leap/soledad/common /usr/lib/python2.7/dist-packages/leap/soledad/ +debian/python-leap.soledad/usr/lib/python2.7/dist-packages/leap.soledad-*.egg-info /usr/lib/python2.7/dist-packages/ diff --git a/scripts/packaging/replace-version-file.py b/scripts/packaging/replace-version-file.py new file mode 100755 index 00000000..8c9e046c --- /dev/null +++ b/scripts/packaging/replace-version-file.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python + +# This script will replace the versioneer source version file configured in +# `setup.cfg` with a file containing the hardcoded version generated by +# versioneer. It is meant to be used before building the debian package, so the +# generated package reports the correct version, as would be generated by +# versioneer if this was a python package. + +import ConfigParser +import versioneer + +# get the path to the version file +config = ConfigParser.RawConfigParser() +config.read('setup.cfg') +source_file = config.get('versioneer', 'versionfile_source') + +# replace version file in source tree +versions = versioneer.get_versions() +versioneer.write_to_version_file(source_file, versions) |