Enable proper cleaning by preserving original Cython created files.
authorAndreas Tille <tille@debian.org>
Tue, 11 Feb 2014 10:36:54 +0000 (11:36 +0100)
committerAndreas Tille <tille@debian.org>
Tue, 11 Feb 2014 10:36:54 +0000 (11:36 +0100)
debian/python-pysam.install [new file with mode: 0644]
debian/rules

diff --git a/debian/python-pysam.install b/debian/python-pysam.install
new file mode 100644 (file)
index 0000000..13f83a7
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/python2.*/*
index a1bc8758da0cbfccab73e70b0f4fa5a319ff296a..3c444f4b7a833306aefc94265d441b0926456bb0 100755 (executable)
@@ -5,6 +5,23 @@ pybuilddir := $(CURDIR)/build/lib.$(shell dpkg-architecture -qDEB_BUILD_ARCH_OS)
 %:
        dh $@ --with python2
 
+# Cython is recreating some c-files.  To enable building twice in a row these
+# will be saved in advance and restored afterwards
+debian/savefiles:
+       mkdir -p debian/savefiles
+       cp -a `grep -l "Generated by Cython" pysam/*.c` debian/savefiles
+
+override_dh_clean:
+       dh_clean
+       # restore cython generated files
+       if [ -d debian/savefiles ] ; then \
+           mv debian/savefiles/* pysam ; \
+           rm -rf debian/savefiles ; \
+       fi
+
+override_dh_auto_build: debian/savefiles
+       dh_auto_build
+
 override_dh_auto_test:
        dh_auto_test
        chmod a+x tests/pysam_test_offline.py
@@ -15,10 +32,6 @@ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
        done
 endif
 
-override_dh_install:
-       echo '/usr/lib/python2.*/*' >> debian/python-pysam.install
-       dh_install
-
 override_dh_auto_clean:
        dh_auto_clean
        cd tests; make clean