On 2018-08-17 11:46, Adrian Bunk wrote: > Control: tags -1 - patch > > On Wed, Nov 29, 2017 at 06:06:20PM +0100, Andreas Beckmann wrote: >> Followup-For: Bug #879816 >> Control: reopen -1 >> Control: tag -1 + patch >> >> Hi, >> >> I'm reopening this bug because there is still no strict dependency on >> gcc which whould prevent future occurrences of this bug. >> >> It's probably possible to relax the version check in eclipse-titan a >> bit, but until that is done the dependency on gcc (is that the correct >> package?) needs to be rather strict. This should trigger the need for a >> binNMU whenever the gcc version changes. >> >> Attached is a patch that records a dependency on the gcc version used at >> build time. This may not be sufficient if the upstream version part in >> src:gcc-7 changes, but src:gcc-defaults is not updated. Let's revisit if >> that happens. >> ... >> diff -Nru eclipse-titan-6.3.0/debian/control >> eclipse-titan-6.3.0/debian/control >> --- eclipse-titan-6.3.0/debian/control 2017-10-19 10:58:19.000000000 >> +0200 >> +++ eclipse-titan-6.3.0/debian/control 2017-11-29 14:25:36.000000000 >> +0100 >> @@ -25,6 +25,8 @@ >> make, >> perl, >> python, >> + gcc (>= ${gcc:Version}), >> + gcc (<< ${gcc:Version}.0), >> ${misc:Depends}, >> ${shlibs:Depends} >> Description: TITAN TTCN-3 toolset from the Eclipse project >> diff -Nru eclipse-titan-6.3.0/debian/rules eclipse-titan-6.3.0/debian/rules >> --- eclipse-titan-6.3.0/debian/rules 2017-06-21 12:57:52.000000000 +0200 >> +++ eclipse-titan-6.3.0/debian/rules 2017-11-29 14:29:03.000000000 +0100 >> @@ -12,3 +12,5 @@ >> $(MAKE) DESTDIR=$(CURDIR)/debian/eclipse-titan prefix=/usr install >> find $(CURDIR)/Install -type d -empty -delete >> >> +override_dh_gencontrol: >> + dh_gencontrol -- -V'gcc:Version=$(shell dpkg-query -f '$${Version}\n' >> -W gcc | sed -e 's/-[^-]*$$//')' > > This patch is now applied, but it does not actually solve the problem: > > gcc is the metapackage, with a >= dependency on the actual compiler > (currently gcc-8). > > In other words, gcc-8 8.2.0-3 currently in testing can be used to > fulfill the dependency on gcc (<< 4:8.1.0.0). > > Also note that gcc-8 in unstable is constantly following the upstream > stable branch, there is not actually bigger changes when upstream > happens to cut a release from this branch. > > Realistically, gcc major version is the the only thing that is feasible > to do.
The following should work to get the proper versioned dependency, will need binNMU after each gcc-X minor version bump. debian/rules: GCC_PACKAGE := $(shell dpkg-query -f '$${Depends}\n' -W gcc | sed -r 's/.*(gcc-[0-9.]*) .*/\1/') GCC_VERSION := $(shell dpkg-query -f '$${Version}\n' -W $(GCC_PACKAGE) | sed -e 's/-[^-]*$$//') dh_gencontrol -- -V'gcc:Package=$(GCC_PACKAGE)' -V'gcc:Version=$(GCC_VERSION)' debian/control: ${gcc:Package} (>= ${gcc:Version}), ${gcc:Package} (<< ${gcc:Version}.0), I haven't tested it at all ... :-) And I'm not questioning whether this strict dependency is any good ... Andreas