Hi, Axel Beckert wrote: > > Therefore, I would support removing them until there is a fix for > > them. > > Ok, I'll prepare an NMU based on the patch I posted in my last mail.
That one missed necessary changes to debian/control.in and hence still produced a (more or less empty) libplplot-d package, so I've redesigned the whole patch to use the already present debian/control.in which now has a few more slices which can be left out. I also reworked the disabling of Octave support from the previous NMU to use this system. Previously only the ADA support used that feature. So now: * debian/control.in contains _all_ packages, all build-dependencies and all bindings mentioned in libplplot-dev's long package description. * Depending on the BUILD_* variables at the beginning of debian/rules, debian/control gets rewritten by including or excluding the marked slices in debian/control.in. For build-architecture-dependent inclusion/exclusion this is always done at build-time, but with "debian/rules control" this can be done by the maintainer before building a source package to upload to also adjust the build-dependencies. * If you change the BUILD_* variables at the beginning of debian/rules, run "debian/rules control" once locally to update the build-dependencies accordingly. IMHO this is much cleaner than commenting out and in binary package stanzas in debian/control, also because all the infrastructure for doing so is already in the package. Just had to use it. > Since this RC bug is open for about 6 weeks now without maintainer > reaction, a direct (0-day) NMU is allowed according to these rules. So > I'll probably upload directly to get all the plplot reverse > dependencies back into testing as soon as possible. Since because of the above, the debdiff is slightly complexer than and especially very different to my previous patch. I've also documented the above in debian/README.source. (And noticed that way that it was a hint how to use quilt despite the package was already source format "3.0 (quilt)" and hence the file's previous content was already obsolete.) So I've attached a full debdiff again and uploaded the package only to DELAYED/5. If anyone thinks that I should fast-forward it nevertheless, feel free to tell me. Regards, Axel -- ,''`. | Axel Beckert <a...@debian.org>, http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `- | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
diff -Nru plplot-5.10.0+dfsg2/debian/README.source plplot-5.10.0+dfsg2/debian/README.source --- plplot-5.10.0+dfsg2/debian/README.source 2015-10-06 23:58:30.000000000 +0200 +++ plplot-5.10.0+dfsg2/debian/README.source 2016-02-16 22:32:21.000000000 +0100 @@ -1,8 +1,18 @@ README.source for plplot ======================== -This package uses quilt to manage all modifications to the upstream sources. -See `/usr/share/doc/quilt/README.source' to get more information on how to -use it. +This package uses debian/rules, debian/control.in and the tool slice +to generate a debian/control file which contains only those binary +package stanzas, package descriptions parts and build-dependencies for +those language bindings which should be build. - -- Rafael Laboissiere <raf...@debian.org> Thu, 23 Apr 2009 09:13:07 +0100 +See the beginning of debian/rules for the according BUILD_* +variables. Run "debian/rules control" after you've changed them to +rebuild debian/control accordingly. + +debian/control is rebuild at build-time anyways to accomodate +architecture-dependent changes like automatic disabling of ADA support +on sh4, etc. But while this also changes the source stanza, it doesn't +really affect the build-dependencies as they are parsed in advance. + + -- Axel Beckert <a...@debian.org>, Tue, 16 Feb 2016 22:27:41 +0100 diff -Nru plplot-5.10.0+dfsg2/debian/changelog plplot-5.10.0+dfsg2/debian/changelog --- plplot-5.10.0+dfsg2/debian/changelog 2015-10-14 17:18:03.000000000 +0200 +++ plplot-5.10.0+dfsg2/debian/changelog 2016-02-16 22:32:31.000000000 +0100 @@ -1,3 +1,16 @@ +plplot (5.10.0+dfsg2-0.2) unstable; urgency=medium + + * Non-maintainer upload. + * Switch enabling/disabling of D and Octave support to slice + + debian/control.in instead of commenting. Allow to disable ADA support + completely (not only for sh4) that way, too. + * Disable ADA and D support which currently FTBFS. (Closes: #809592) + * Update debian/control from debian/control.in with "debian/rules + control". + * Replace out-dated debian/README.source with according instructions. + + -- Axel Beckert <a...@debian.org> Tue, 16 Feb 2016 22:32:30 +0100 + plplot (5.10.0+dfsg2-0.1) unstable; urgency=low [ Axel Beckert ] diff -Nru plplot-5.10.0+dfsg2/debian/control plplot-5.10.0+dfsg2/debian/control --- plplot-5.10.0+dfsg2/debian/control 2015-10-14 15:59:50.000000000 +0200 +++ plplot-5.10.0+dfsg2/debian/control 2016-02-16 18:37:24.000000000 +0100 @@ -11,14 +11,14 @@ slice, python-gtk2-dev, libwxgtk3.0-dev, python-all-dev (>= 2.6.6-3~), python-numpy (>= 1:1.4.1-4~), default-jdk, - fastjar, swig, gnat [!sh4], libqt4-dev, python-sip-dev, + fastjar, swig, libqt4-dev, python-sip-dev, python-qt4, python-qt4-dev, ocaml-nox, camlidl, ocaml-findlib, libcairo-ocaml-dev, - liblablgtk2-ocaml-dev, liblua5.1-0-dev, lua5.1, gdc, libshp-dev, + liblablgtk2-ocaml-dev, liblua5.1-0-dev, lua5.1, libshp-dev, xvfb, xauth, dh-python Build-Depends-Indep: xmlto, fop, docbook-xml, docbook-xsl, docbook2x, dblatex, texlive-xetex, ghostscript, lmodern, fonts-freefont-ttf -Build-Conflicts: libplplot5, liboctave-dev, tcl8.6, tk8.6 +Build-Conflicts: libplplot5, tcl8.6, tk8.6 X-Python-Version: >=2.4 Homepage: http://www.plplot.org Vcs-Svn: https://plplot.svn.sourceforge.net/svnroot/plplot/trunk/debian @@ -71,10 +71,10 @@ . This package contains all that is needed for doing development in C, C++ and Fortran with PLplot. Examples of programs for these languages are - also included. For development in Tcl/Tk, Python, Octave, Ada and Java - install the plplot-tcl-dev, python-plplot, octave-plplot, libplplot-ada1-dev + also included. For development in Tcl/Tk, Python and Java + install the plplot-tcl-dev, python-plplot and libplplot-java packages, respectively. This package also includes the - OCaml, lua and D examples. To use one of these languages you will also + OCaml and lua examples. To use one of these languages you will also need to install the libplplot-xxx package for that language. Package: libplplot-c++11 @@ -331,68 +331,6 @@ This package provides Python bindings to allow use of the PLplot API in qt applications. -#Package: octave-plplot -#Architecture: any -#Pre-Depends: ${misc:Pre-Depends} -#Multi-Arch: same -#Depends: libplplot12 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends}, -# ${misc:Depends} -#Description: Octave support for PLplot, a plotting library -# PLplot is relatively small, portable, freely distributable, and is rich -# enough to satisfy most users. It has a wide range of plot types including -# line (linear, log), contour, 3D, fill, and almost 1000 characters -# (including Greek and mathematical) in its extended font set. The package -# is designed to make it easy to quickly get graphical output; only a -# handful of function calls is typically required. For more advanced use, -# virtually all aspects of plotting are configurable. -# . -# This package contains the Octave bindings for PLplot. It provides an -# almost drop-in replacement for the traditional Gnuplot graphical -# interface in Octave. Examples are also provided. - -Package: libplplot-ada1 -Architecture: any -Pre-Depends: ${misc:Pre-Depends} -Multi-Arch: same -Depends: libplplot12 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} -Breaks: libplplot-ada (<< 5.9.8-2) -Replaces: libplplot-ada (<< 5.9.8-2) -Description: Ada support for PLplot, a plotting library - PLplot is relatively small, portable, freely distributable, and is rich - enough to satisfy most users. It has a wide range of plot types including - line (linear, log), contour, 3D, fill, and almost 1000 characters - (including Greek and mathematical) in its extended font set. The package - is designed to make it easy to quickly get graphical output; only a - handful of function calls is typically required. For more advanced use, - virtually all aspects of plotting are configurable. - . - This package contains the runtime Ada bindings library for PLplot. - - -Package: libplplot-ada1-dev -Architecture: any -Section: libdevel -Suggests: plplot-doc -Pre-Depends: ${misc:Pre-Depends} -Multi-Arch: same -Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev, - libltdl3-dev, libqsastime-dev, gnat, gnat-4.9, ${misc:Depends}, - libplplot-ada1 (= ${binary:Version}) -Recommends: libplplot-dev -Breaks: libplplot-ada (<< 5.9.8-2), libplplot-dev (<< 5.9.8-2) -Description: Ada support for PLplot, a plotting library (development files) - PLplot is relatively small, portable, freely distributable, and is rich - enough to satisfy most users. It has a wide range of plot types including - line (linear, log), contour, 3D, fill, and almost 1000 characters - (including Greek and mathematical) in its extended font set. The package - is designed to make it easy to quickly get graphical output; only a - handful of function calls is typically required. For more advanced use, - virtually all aspects of plotting are configurable. - . - This package contains all that is needed for doing PLplot development in - Ada. - - Package: plplot-doc Architecture: all Section: doc @@ -429,7 +367,6 @@ This package provides the qt driver module for PLplot. It also provides C++ bindings to allow use of the PLplot API in qt applications. - Package: libplplot-ocaml Architecture: any Section: ocaml @@ -445,7 +382,6 @@ . This package provides the OCaml bindings for PLplot. - Package: libplplot-lua Architecture: any Section: libs @@ -462,21 +398,3 @@ virtually all aspects of plotting are configurable. . This package provides the lua bindings for PLplot. - - -Package: libplplot-d -Architecture: any -Section: libs -Pre-Depends: ${misc:Pre-Depends} -Multi-Arch: same -Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends} -Description: Scientific plotting library (D language bindings) - PLplot is relatively small, portable, freely distributable, and is rich - enough to satisfy most users. It has a wide range of plot types including - line (linear, log), contour, 3D, fill, and almost 1000 characters - (including Greek and mathematical) in its extended font set. The package - is designed to make it easy to quickly get graphical output; only a - handful of function calls is typically required. For more advanced use, - virtually all aspects of plotting are configurable. - . - This package provides the D language bindings for PLplot. diff -Nru plplot-5.10.0+dfsg2/debian/control.in plplot-5.10.0+dfsg2/debian/control.in --- plplot-5.10.0+dfsg2/debian/control.in 2015-10-09 15:09:24.000000000 +0200 +++ plplot-5.10.0+dfsg2/debian/control.in 2016-02-16 18:37:24.000000000 +0100 @@ -11,14 +11,14 @@ slice, python-gtk2-dev, libwxgtk3.0-dev, python-all-dev (>= 2.6.6-3~), python-numpy (>= 1:1.4.1-4~), default-jdk, - fastjar, swig, gnat [!sh4], libqt4-dev, python-sip-dev, + fastjar, swig, libqt4-dev, python-sip-dev, python-qt4, python-qt4-dev, ocaml-nox, camlidl, ocaml-findlib, libcairo-ocaml-dev, - liblablgtk2-ocaml-dev, liblua5.1-0-dev, lua5.1, gdc, libshp-dev, - xvfb, xauth, dh-python + liblablgtk2-ocaml-dev, liblua5.1-0-dev, lua5.1, libshp-dev, + xvfb, xauth, dh-python[ADA:, gnat [!sh4]:][D:, gdc:] Build-Depends-Indep: xmlto, fop, docbook-xml, docbook-xsl, docbook2x, dblatex, texlive-xetex, ghostscript, lmodern, fonts-freefont-ttf -Build-Conflicts: libplplot5, liboctave-dev, tcl8.6, tk8.6 +Build-Conflicts: libplplot5[OCT:, liboctave-dev:], tcl8.6, tk8.6 X-Python-Version: >=2.4 Homepage: http://www.plplot.org Vcs-Svn: https://plplot.svn.sourceforge.net/svnroot/plplot/trunk/debian @@ -71,10 +71,10 @@ . This package contains all that is needed for doing development in C, C++ and Fortran with PLplot. Examples of programs for these languages are - also included. For development in Tcl/Tk, Python, Octave, Ada and Java - install the plplot-tcl-dev, python-plplot, octave-plplot, libplplot-ada1-dev + also included. For development in Tcl/Tk, Python[OCT:, Octave:][ADA:, Ada:] and Java + install the plplot-tcl-dev, python-plplot[OCT:, octave-plplot:][ADA:, libplplot-ada1-dev:] and libplplot-java packages, respectively. This package also includes the - OCaml, lua and D examples. To use one of these languages you will also + OCaml[D:, D:] and lua examples. To use one of these languages you will also need to install the libplplot-xxx package for that language. Package: libplplot-c++11 @@ -331,26 +331,26 @@ This package provides Python bindings to allow use of the PLplot API in qt applications. -#Package: octave-plplot -#Architecture: any -#Pre-Depends: ${misc:Pre-Depends} -#Multi-Arch: same -#Depends: libplplot12 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends}, -# ${misc:Depends} -#Description: Octave support for PLplot, a plotting library -# PLplot is relatively small, portable, freely distributable, and is rich -# enough to satisfy most users. It has a wide range of plot types including -# line (linear, log), contour, 3D, fill, and almost 1000 characters -# (including Greek and mathematical) in its extended font set. The package -# is designed to make it easy to quickly get graphical output; only a -# handful of function calls is typically required. For more advanced use, -# virtually all aspects of plotting are configurable. -# . -# This package contains the Octave bindings for PLplot. It provides an -# almost drop-in replacement for the traditional Gnuplot graphical -# interface in Octave. Examples are also provided. +[OCT:Package: octave-plplot +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Depends: libplplot12 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends}, + ${misc:Depends} +Description: Octave support for PLplot, a plotting library + PLplot is relatively small, portable, freely distributable, and is rich + enough to satisfy most users. It has a wide range of plot types including + line (linear, log), contour, 3D, fill, and almost 1000 characters + (including Greek and mathematical) in its extended font set. The package + is designed to make it easy to quickly get graphical output; only a + handful of function calls is typically required. For more advanced use, + virtually all aspects of plotting are configurable. + . + This package contains the Octave bindings for PLplot. It provides an + almost drop-in replacement for the traditional Gnuplot graphical + interface in Octave. Examples are also provided. -[ADA:Package: libplplot-ada1 +:][ADA:Package: libplplot-ada1 Architecture: any Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same @@ -367,9 +367,8 @@ virtually all aspects of plotting are configurable. . This package contains the runtime Ada bindings library for PLplot. -:] -[ADA:Package: libplplot-ada1-dev +Package: libplplot-ada1-dev Architecture: any Section: libdevel Suggests: plplot-doc @@ -391,9 +390,8 @@ . This package contains all that is needed for doing PLplot development in Ada. -:] -Package: plplot-doc +:]Package: plplot-doc Architecture: all Section: doc Suggests: libplplot-dev @@ -429,7 +427,6 @@ This package provides the qt driver module for PLplot. It also provides C++ bindings to allow use of the PLplot API in qt applications. - Package: libplplot-ocaml Architecture: any Section: ocaml @@ -445,7 +442,6 @@ . This package provides the OCaml bindings for PLplot. - Package: libplplot-lua Architecture: any Section: libs @@ -461,8 +457,7 @@ handful of function calls is typically required. For more advanced use, virtually all aspects of plotting are configurable. . - This package provides the lua bindings for PLplot. - + This package provides the lua bindings for PLplot.[D: Package: libplplot-d Architecture: any @@ -479,4 +474,4 @@ handful of function calls is typically required. For more advanced use, virtually all aspects of plotting are configurable. . - This package provides the D language bindings for PLplot. + This package provides the D language bindings for PLplot.:] diff -Nru plplot-5.10.0+dfsg2/debian/rules plplot-5.10.0+dfsg2/debian/rules --- plplot-5.10.0+dfsg2/debian/rules 2015-10-06 23:58:30.000000000 +0200 +++ plplot-5.10.0+dfsg2/debian/rules 2016-02-16 18:37:24.000000000 +0100 @@ -11,13 +11,26 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -with_oct := $(if $(filter octave-plplot, $(shell dh_listpackages)),yes) +# Update build-depedencies in debian/control with "debian/rules control" +# after changing one of these. +BUILD_ADA = no +BUILD_D = no +BUILD_OCT = no -ifeq ($(with_oct),yes) +# Default slice, don't change. Will be extended as necessary based on +# the above. +SLICES=UNDEF + +ifeq ($(BUILD_OCT),yes) # Paths for Octave MDIR = $(shell octave-config --print LOCALAPIFCNFILEDIR) OCTDIR = $(shell octave-config --print LOCALAPIOCTFILEDIR) octver := $(shell octave-config -v) + SLICES := $(SLICES)+OCT +endif + +ifeq ($(BUILD_D),yes) + SLICES := $(SLICES)+D endif DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) @@ -60,18 +73,17 @@ # Disable Ada build on sh4 - gnat not available at the moment. +ifeq ($(BUILD_ADA),yes) ifneq (,$(findstring :$(DEB_BUILD_ARCH):,:sh4:)) BUILD_ADA = no -else -BUILD_ADA = yes +endif endif # Configure options ifeq ($(BUILD_ADA),yes) ADA_OPTIONS = -DENABLE_ada=ON -else -ADA_OPTIONS = -DENABLE_ada=OFF +SLICES := $(SLICES)+ADA endif JAVA_OPTIONS = \ @@ -95,11 +107,7 @@ SRC_DIR = $(shell pwd) control: -ifeq ($(BUILD_ADA),no) - slice -o UNDEF:debian/control debian/control.in -else - slice -o UNDEF+ADA:debian/control debian/control.in -endif + slice -o $(SLICES):debian/control debian/control.in config: config-stamp config-stamp: control
signature.asc
Description: Digital signature