[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-octave-devel] Bug#870690: octave: always rebuild files generated from actual sources



Source: octave
Version: 4.2.1-2
Severity: normal

In the interest of always rebuilding from the preferred form of the
upstream source using the tools and libraries packaged in Debian,
several files in the octave source distribution should be rebuilt.

The attached change adds missing Build-Depends. It also adds a hack to
d/rules to delete most of the affected files to force them to be built
by make as a proof of concept.

There are probably more elegant ways to prune the source distribution,
such as the Files-Excluded field of d/copyright (which I don't have any
experience with), suggestions welcome.

There are certainly more files that could be properly regenerated at
build time, but I think I've covered all files that end up as compiled
code.

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (900, 'testing'), (800, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.11.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

-- no debconf information
From e24d9cadaf022577d709c2e04af50b33689afee9 Mon Sep 17 00:00:00 2001
From: Mike Miller <mtmiller@debian.org>
Date: Thu, 3 Aug 2017 15:06:06 -0700
Subject: [PATCH] wip: test to force rebuild distributed files

---
 debian/control |  4 ++++
 debian/rules   | 13 +++++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/debian/control b/debian/control
index fc301f4415fa..0d26b706d4b5 100644
--- a/debian/control
+++ b/debian/control
@@ -5,6 +5,7 @@ Uploaders: Sébastien Villemot <sebastien@debian.org>,
 Section: math
 Priority: optional
 Build-Depends: automake,
+               bison,
                debhelper (>= 10),
                default-jdk,
                desktop-file-utils,
@@ -15,6 +16,8 @@ Build-Depends: automake,
                gfortran,
                ghostscript,
                gnuplot-nox,
+               gperf,
+               icoutils,
                javahelper,
                less,
                libarpack2-dev,
@@ -37,6 +40,7 @@ Build-Depends: automake,
                libqt4-dev,
                libqt4-opengl-dev,
                libreadline-dev,
+               librsvg2-bin,
                libsndfile1-dev,
                libsuitesparse-dev,
                libxft-dev,
diff --git a/debian/rules b/debian/rules
index 377a69ebbbb3..e9eee4f809ee 100755
--- a/debian/rules
+++ b/debian/rules
@@ -51,8 +51,17 @@ endif
 override_dh_auto_configure:
 	# override normal dh_auto_configure call to pass OpenMP flag to it (#631831)
 	dh_auto_configure -- --enable-openmp $(WITH_JAVA_FLAGS) $(JIT_FLAG) $(HDF5_FLAGS) $(DOC_FLAG)
-	# Avoid triggering the build of oct-gperf.h
-	touch libinterp/parse-tree/oct-gperf.h libinterp/parse-tree/oct-parse.h
+	# hack to force rebuild of certain built files in source distribution
+	rm -f doc/interpreter/doc-cache libinterp/DOCSTRINGS scripts/DOCSTRINGS
+	rm -f libinterp/corefcn/*-opts.cc
+	rm -f libinterp/corefcn/oct-tex-*.cc libinterp/corefcn/oct-tex-*.h
+	rm -f libinterp/corefcn/oct-tex-lexer.ll
+	rm -f libinterp/corefcn/oct-tex-parser.yy
+	rm -f libinterp/parse-tree/lex.cc libinterp/parse-tree/oct-gperf.h
+	rm -f libinterp/parse-tree/oct-parse.cc libinterp/parse-tree/oct-parse.h
+	rm -f libinterp/parse-tree/oct-parse.yy
+	rm -f etc/icons/octave-logo*.ico etc/icons/octave-logo*.png
+	rm -f scripts/java/octave.jar
 
 # dh_auto_test tries to run "make test", so override it
 override_dh_auto_test:
-- 
2.13.2

Attachment: signature.asc
Description: PGP signature


Reply to: