The following fast track (submitted on my own behalf) straddles (IMO) the boundary between a full-case and a fast track, primarily because of the impact it has on what are presumed to be Committed interfaces.
It seems fairly straight-forward to me, but other members may feel otherwise. With that in mind, if a member feels discussion or an explicit vote is required, please don't hestite to derail it. I've also used a two-week timer to ensure that sufficient time is given for members to review and derail if that is appropriate. Thanks. - Garrett Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: EOF of plotting components 1.2. Name of Document Author/Supplier: Author: Garrett D'Amore 1.3 Date of This Document: 07 October, 2009 4. Technical Description EOF of plot, graph, lpr -g, and related legacy ---------------------------------------------- As part of my analysis of UCB legacy we can potentially clean up, one of the items that came up is the support for legacy plotters via the plot(4B) file format, libplot, graph(1), and the various /usr/ucb/ plotting commands. It turns out that these bits are used to support physical devices which are no longer readily accessible, and probably have not been so in quite a long time. (These devices largely date back to the 70's, 80's, and early 90's.) Modern devices use PostScript or HP-GL/2, neither of which are supported by the current Solaris plotting infrastructure, but are well supported via the same infrastructure used to support ordinary printers. There is also support for plotting to a terminal device, either a graphics or a text based terminal. The graphics terminals that are supported are quite ancient (although "xterm" can emulate a Tek 4013 device), and the project team feels that the plotting support for character based terminals is of rather limited use. Note also that users who might still have such ancient hardware (or want to plot to a terminal device) might find they are able to plot to it using the "gnuplot" command, which has output drivers for it. (Gnuplot is not yet integrated, but this is expected as it was approved as part of PSARC 2009/395. If the PSARC members feel the rest of this case warrants sufficient risk to justify it, this project team is willing to accept delivery of PSARC 2009/395 as a pre-requisite, although we don't particularly feel that it should be so.) Proposal -------- 1) We propose to entirely remove all of the plotting commands from /usr/ucb. This consists of /usr/ucb/aedplot /usr/ucb/atoplot /usr/ucb/bgplot /usr/ucb/crtplot /usr/ucb/dumbplot /usr/ucb/gigiplot /usr/ucb/hp7221plot /usr/ucb/hpplot /usr/ucb/implot /usr/ucb/plot /usr/ucb/vplot /usr/ucb/t300 /usr/ucb/t300s /usr/ucb/t4013 /usr/ucb/t450 /usr/ucb/tek We don't believe any applications will be impacted by this removal. 2) We propose to remove /usr/bin/graph. We believe this program is also not terribly useful, since the only way to generate plotting output from it is with one of the above commands, which almost certainly precludes being able to get hardcopy. (And graphical display is probably limited to output in an xterm tek window, for users with enough savvy to figure this part out.) Note that gnuplot offers a vastly superior superset of graph(1)'s capabilities, and is capable of processing graph(1) input files. (It would probably be only a small task to provide a shell-script called "graph" that offered the same command line switches as graph(1), but used gnuplot to generate its output. The utility of this seems questionable, however, unless the output format is changed from plot(4B) -- which gnuplot can generate -- but which would also defeat any compatibility purpose. 3) We propose to obsolete libplot(3plot) and its brethren, but leave the libraries in place for the benefit of applications which may have linked against them in the past. (It is impossible to know what those applications might be.) The specific taxonomy changes are (note that no stability was ever mentioned before for these libraries, so we assume Committed for this use): /usr/lib/libplot.so.1 Obsolete Committed /usr/lib/lib300.so.1 " " /usr/lib/lib300s.so.1 " " /usr/lib/lib4014.so.1 " " /usr/lib/lib450.so.1 " " /usr/lib/libvt0.so.1 " " Note: Its likely that these libraries could be safely removed -- despite the "Committed" level -- or replaced with stubs that simply resolve the symbols but don't actually generate any output. We simply don't believe any real programs use these libraries but we don't know for sure. 4) We propose to remove the "-g" option to /usr/ucb/lpr, which was intended to support the plot(4B) format. Again, real devices which could benefit from these filters are just not to be found in the modern era. Lpr would exit with an error number if this option is supplied. Note that /usr/ucb/lpr is already effectively obsolete, by virtue of being delivered in /usr/ucb. Also, CUPS lacks support for this option, so eliminating it will facilitate an eventual replacement of our legacy printing stack with the far more functional and better-maintained CUPS implementation. 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: ON 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open