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.

Reply via email to