Package: pgplot5 Version: 5.2.2-19.3 Severity: wishlist Tags: patch It's high time to split pgplot5 into separate library and development packages. This has been noted before (#648129, #710218) but has become more important since giza (a GPL-licensed reimplementation of pgplot) made into Debian and wcslib-dev recommends giza-dev. giza-dev conflicts with pgplot5, making it harder to develop for giza on a system that has applications linked with the pgplot5 libraries.
I have actually done this in a private fork of this package. I'm attaching a patch derived from that work. Caveat: my private fork has other changes which I've redacted out of the patch; that means I've tested something similar, but not identical, to what I'm submitting here. I've had to guess the revision number for the Breaks: and Replaces: headers; adjust as needed. As you can see, my proposed split is into: -- libpgplot5 -- pgplot5-bin -- pgplot5-dev -- pgplot5-doc with a metapackage pgplot5 which depends on all of the above. The patch also increments Standards-Version: from 3.9.2 to 3.9.8. A more experienced developer may want to check this (and continue on to 4.1.3 or whatever will be current by the time this gets acted on). I was tempted to add multiarch support (see #710218) but noticed that grfont.dat is potentially architecture-dependent (especially when mixing architectures with different endianness, e.g., on MIPS) and decided to wait.
diff -ruN 19.3/debian/compat 19.4/debian/compat --- 19.3/debian/compat 2006-07-15 20:18:19.000000000 +0200 +++ 19.4/debian/compat 2018-01-06 16:12:22.346255108 +0100 @@ -1 +1 @@ -5 +9 diff -ruN 19.3/debian/control 19.4/debian/control --- 19.3/debian/control 2012-03-05 05:47:09.000000000 +0100 +++ 19.4/debian/control 2018-01-06 16:14:39.713263091 +0100 @@ -3,23 +3,96 @@ Priority: optional Maintainer: Carlo Segre <se...@debian.org> XS-Autobuild: yes -Build-Depends: debhelper (>= 5.0), gfortran, libpng-dev, zlib1g-dev, perl, +Build-Depends: debhelper (>= 9), gfortran, libpng-dev, zlib1g-dev, perl, libx11-dev, libxaw7-dev, libxt-dev, x11proto-core-dev, libgif-dev Homepage: http://www.astro.caltech.edu/~tjp/pgplot/ -Standards-Version: 3.9.2 +Standards-Version: 3.9.8 Package: pgplot5 -Architecture: any -Depends: ${shlibs:Depends}, zlib1g, ${misc:Depends} -Suggests: gfortran, libpng-dev, zlib1g-dev, libx11-dev, libxaw7-dev, - libxt-dev, x11proto-core-dev, libgif-dev +Architecture: all +Depends: pgplot5-bin, pgplot5-dev, pgplot5-doc, ${misc:Depends} Replaces: pgplot Conflicts: pgplot -Description: large subroutine library for plotting scientific data - This package contains both runtime and development libraries. Many - routines are included in pgplot for viewing scientific data. Many - (about 70) output devices are supported. 2-D , 3-D , contour, image - manipulation, etc. are well supported. Interactive routines are - included. Both a C and a FORTRAN library are present. See - http://astro.caltech.edu/~tjp/pgplot/ for documentation. +Description: Fortran- and C-callable libraries for plotting scientific data + PGPLOT is a Fortran- or C-callable, device-independent graphics package for + making simple scientific graphs. It is intended for making graphical images + of publication quality with minimum effort on the part of the user. For most + applications, the program can be device-independent, and the output can be + directed to the appropriate device at run time. About 70 different kinds of + output device are supported. 2-D , 3-D , contour, image manipulation, etc. + are supported. Interactive routines are included. + . + This metapackage installs the development files and the documentation as well + as the library. + +Package: libpgplot5 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: pgplot5-bin +Breaks: pgplot5 (<< 5.2.2-19.4) +Replaces: pgplot5 (<< 5.2.2-19.4) +Description: PGPLOT shared library, version 5 + PGPLOT is a Fortran- or C-callable, device-independent graphics package for + making simple scientific graphs. It is intended for making graphical images + of publication quality with minimum effort on the part of the user. For most + applications, the program can be device-independent, and the output can be + directed to the appropriate device at run time. About 70 different kinds of + output device are supported. 2-D , 3-D , contour, image manipulation, etc. + are supported. Interactive routines are included. + . + This package contains the shared libraries. + +Package: pgplot5-bin +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: pgplot5 (<< 5.2.2-19.4) +Replaces: pgplot5 (<< 5.2.2-19.4) +Description: Supporting executable programs for PGPLOT + PGPLOT is a Fortran- or C-callable, device-independent graphics package for + making simple scientific graphs. It is intended for making graphical images + of publication quality with minimum effort on the part of the user. For most + applications, the program can be device-independent, and the output can be + directed to the appropriate device at run time. About 70 different kinds of + output device are supported. 2-D , 3-D , contour, image manipulation, etc. + are supported. Interactive routines are included. + . + This package contains pgxwin_server, a supporting program for the /xwindow + and /xserve devices. + +Package: pgplot5-dev +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + libpgplot5 (= ${binary:Version}), +Breaks: pgplot5 (<< 5.2.2-19.4) +Replaces: pgplot5 (<< 5.2.2-19.4) +Conflicts: giza-dev +Suggests: gfortran, libpng-dev, zlib1g-dev, libx11-dev, libxaw7-dev, + libxt-dev, x11proto-core-dev, libgif-dev, pgplot5-doc +Description: Development files for PGPLOT + PGPLOT is a Fortran- or C-callable, device-independent graphics package for + making simple scientific graphs. It is intended for making graphical images + of publication quality with minimum effort on the part of the user. For most + applications, the program can be device-independent, and the output can be + directed to the appropriate device at run time. About 70 different kinds of + output device are supported. 2-D , 3-D , contour, image manipulation, etc. + are supported. Interactive routines are included. + . + This package contains the development files. It is only needed for compiling + and linking programs that use the PGPLOT libraries. +Package: pgplot5-doc +Section: non-free/doc +Architecture: all +Depends: ${misc:Depends} +Breaks: pgplot5 (<< 5.2.2-19.4) +Replaces: pgplot5 (<< 5.2.2-19.4) +Description: Documentation for PGPLOT + PGPLOT is a Fortran- or C-callable, device-independent graphics package for + making simple scientific graphs. It is intended for making graphical images + of publication quality with minimum effort on the part of the user. For most + applications, the program can be device-independent, and the output can be + directed to the appropriate device at run time. About 70 different kinds of + output device are supported. 2-D , 3-D , contour, image manipulation, etc. + are supported. Interactive routines are included. + . + This package contains the documentation and code examples. diff -ruN 19.3/debian/dirs 19.4/debian/dirs --- 19.3/debian/dirs 2017-02-01 21:43:12.000000000 +0100 +++ 19.4/debian/dirs 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -usr/lib -usr/lib/pgplot5 -usr/bin -usr/include -usr/share/doc/pgplot5 diff -ruN 19.3/debian/libpgplot5.install 19.4/debian/libpgplot5.install --- 19.3/debian/libpgplot5.install 1970-01-01 01:00:00.000000000 +0100 +++ 19.4/debian/libpgplot5.install 2018-01-06 16:12:22.570233926 +0100 @@ -0,0 +1,3 @@ +usr/lib/*.so.* +usr/lib/pgplot5/grfont.dat +usr/lib/pgplot5/rgb.txt diff -ruN 19.3/debian/manpages 19.4/debian/manpages --- 19.3/debian/manpages 2008-03-01 17:24:53.000000000 +0100 +++ 19.4/debian/manpages 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -debian/pgxwin_server.1 diff -ruN 19.3/debian/pgplot5-bin.install 19.4/debian/pgplot5-bin.install --- 19.3/debian/pgplot5-bin.install 1970-01-01 01:00:00.000000000 +0100 +++ 19.4/debian/pgplot5-bin.install 2018-01-06 16:12:22.674224091 +0100 @@ -0,0 +1 @@ +usr/bin/pgxwin_server diff -ruN 19.3/debian/pgplot5-bin.manpages 19.4/debian/pgplot5-bin.manpages --- 19.3/debian/pgplot5-bin.manpages 1970-01-01 01:00:00.000000000 +0100 +++ 19.4/debian/pgplot5-bin.manpages 2008-03-01 17:24:53.000000000 +0100 @@ -0,0 +1 @@ +debian/pgxwin_server.1 diff -ruN 19.3/debian/pgplot5-dev.install 19.4/debian/pgplot5-dev.install --- 19.3/debian/pgplot5-dev.install 1970-01-01 01:00:00.000000000 +0100 +++ 19.4/debian/pgplot5-dev.install 2018-01-06 16:12:22.746217281 +0100 @@ -0,0 +1,5 @@ +usr/include/*.h +usr/lib/*.a +usr/lib/*.so +usr/lib/pgplot5/grexec.f +usr/lib/pgplot5/grpckg1.inc diff -ruN 19.3/debian/pgplot5.doc-base 19.4/debian/pgplot5.doc-base --- 19.3/debian/pgplot5.doc-base 2010-04-24 06:23:35.000000000 +0200 +++ 19.4/debian/pgplot5.doc-base 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -Document: pgplot5 -Title: PGPLOT Subroutine Descriptions -Author: Dr. Tim Pearson <t...@astro.caltech.edu> -Abstract: This document includes a list of all the PGPLOT subroutines, - and then gives detailed instructions for the use of each routine in - Fortran programs. The subroutine descriptions are in alphabetical - order. PGPLOT is a large subroutine library for plotting scientific - data. -Section: Science/Data Analysis - -Format: HTML -Files: /usr/share/doc/pgplot5/pgplot.html -Index: /usr/share/doc/pgplot5/pgplot.html diff -ruN 19.3/debian/pgplot5-doc.doc-base 19.4/debian/pgplot5-doc.doc-base --- 19.3/debian/pgplot5-doc.doc-base 1970-01-01 01:00:00.000000000 +0100 +++ 19.4/debian/pgplot5-doc.doc-base 2018-01-06 16:12:22.826209716 +0100 @@ -0,0 +1,13 @@ +Document: pgplot5 +Title: PGPLOT Subroutine Descriptions +Author: Dr. Tim Pearson <t...@astro.caltech.edu> +Abstract: This document includes a list of all the PGPLOT subroutines, + and then gives detailed instructions for the use of each routine in + Fortran programs. The subroutine descriptions are in alphabetical + order. PGPLOT is a large subroutine library for plotting scientific + data. +Section: Science/Data Analysis + +Format: HTML +Files: /usr/share/doc/pgplot5-doc/pgplot.html +Index: /usr/share/doc/pgplot5-doc/pgplot.html diff -ruN 19.3/debian/pgplot5-doc.docs 19.4/debian/pgplot5-doc.docs --- 19.3/debian/pgplot5-doc.docs 1970-01-01 01:00:00.000000000 +0100 +++ 19.4/debian/pgplot5-doc.docs 2018-01-06 16:12:22.914201393 +0100 @@ -0,0 +1,8 @@ +aaaread.me +install-unix.txt +ver*.txt +cpg/cpgplot.doc +debian/builddir/drivers.list +debian/builddir/pgplot.doc +debian/builddir/pgplot.html +debian/builddir/pgplot-routines.tex diff -ruN 19.3/debian/pgplot5-doc.examples 19.4/debian/pgplot5-doc.examples --- 19.3/debian/pgplot5-doc.examples 1970-01-01 01:00:00.000000000 +0100 +++ 19.4/debian/pgplot5-doc.examples 2018-01-06 16:12:22.990194206 +0100 @@ -0,0 +1,2 @@ +examples/*.f +cpg/cpgdemo.c diff -ruN 19.3/debian/pgxwin_server.1 19.4/debian/pgxwin_server.1 --- 19.3/debian/pgxwin_server.1 2006-07-15 20:18:19.000000000 +0200 +++ 19.4/debian/pgxwin_server.1 2018-01-06 16:12:23.058187775 +0100 @@ -50,8 +50,8 @@ pgxwin_server -help .PP .SH "SEE ALSO" -Documentation on the library can be found in the directory, -.B /usr/doc/pgplot . +Documentation about the library can be found in the directory +.B /usr/share/doc/pgplot5-doc . There exists a perl interface to pgplot, pgperl, also available for Debian. Extensive documentation can be found at diff -ruN 19.3/debian/rules 19.4/debian/rules --- 19.3/debian/rules 2017-02-01 21:43:27.000000000 +0100 +++ 19.4/debian/rules 2018-01-06 16:12:23.146179454 +0100 @@ -14,7 +14,7 @@ curdir=$(shell pwd) bdir=debian/builddir -packagedir=debian/$(npackage) +packagedir=debian/tmp INSTALL =/usr/bin/install GZIP =/bin/gzip @@ -90,7 +90,9 @@ dh_testdir dh_testroot dh_prep - dh_installdirs + mkdir -p $(packagedir)/usr/bin + mkdir -p $(packagedir)/usr/include + mkdir -p $(packagedir)/usr/lib/$(npackage) $(INSTALL_DATA) $(bdir)/libpgplot.a $(packagedir)/usr/lib/ $(INSTALL_DATA) $(bdir)/libcpgplot.a $(packagedir)/usr/lib/ $(INSTALL_DATA) $(bdir)/libpgplot.so $(packagedir)/usr/lib/libpgplot.so.$(version) diff -ruN 19.3/debian/TODO 19.4/debian/TODO --- 19.3/debian/TODO 2007-09-10 06:55:18.000000000 +0200 +++ 19.4/debian/TODO 2018-01-06 16:12:22.234265651 +0100 @@ -1,5 +1,2 @@ -Need to split the package into -dev and library packages (maybe -post-woody?) -Gopal (Thu Mar 21 10:04:39 EST 2002) need to build some of the other utilities included. get bounding box fixer installed.