--- Begin Message ---
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.
--- End Message ---