Compare commits

..

21 Commits

Author SHA1 Message Date
Dima Kogan
1a15457b81 changelog bump 2012-09-29 16:31:48 -07:00
Dima Kogan
6397548515 --curvestyle no longer adds on top of --curvestyleall 2012-09-29 14:52:05 -07:00
Dima Kogan
ba4cc66fe8 --extracmds no longer accepts comma-separated lists
This caused issues with commands that had commas in them
2012-09-24 17:44:40 -07:00
Dima Kogan
116eb8fbc0 default package definition no longer post-dates the debian upload 2012-09-13 16:12:01 -07:00
Dima Kogan
8c39242986 added explicit LICENSE file 2012-09-11 13:04:45 -07:00
Dima Kogan
2934a76fdd fixed install instructions to work with the moved debian directory 2012-09-11 12:57:41 -07:00
Dima Kogan
614bbfe848 added the changelog to the manifest 2012-09-11 11:17:32 -07:00
Dima Kogan
265062904f Makefile.PL gets the version from the Changes file, not debian/changelog 2012-09-11 11:17:12 -07:00
Dima Kogan
55ba185ec5 added non-packaging Changes file 2012-09-11 11:15:47 -07:00
Dima Kogan
0780c10b18 moving to non-native packages. debian directory moved. 2012-09-11 11:12:30 -07:00
Dima Kogan
061cb0c0af allowing uploads by DMs 2012-09-10 23:40:29 -07:00
Dima Kogan
08b827d81b debian changelog now closes the ITP bug 2012-09-10 23:30:59 -07:00
Dima Kogan
b91eb7f746 debian/copyright has a single license for the whole package 2012-09-10 23:27:12 -07:00
Dima Kogan
9148a3e5e9 more standard copyright file 2012-09-10 21:07:22 -07:00
Dima Kogan
3d53e25c22 updated debian standards version 2012-09-10 20:55:49 -07:00
Dima Kogan
ba1715446b version bump 2012-09-10 20:48:34 -07:00
Dima Kogan
c875120dbd cleaned up debian/control 2012-09-10 20:45:12 -07:00
Dima Kogan
1f350add09 Force manpage to go into section '1' NOT '1p' 2012-09-10 18:55:53 -07:00
Dima Kogan
d36082ab32 updated package description 2012-09-10 18:31:28 -07:00
Dima Kogan
2d7bf52a45 removed debian/watch
I have a native package at this point, so I'll make new tags ONLY when a new
packaged release is cut. If this ever changes, a watch file will be re-added
2012-09-10 18:28:46 -07:00
Dima Kogan
5b20a2389a using more up-to-date copyright format spec 2012-09-10 18:26:21 -07:00
17 changed files with 167 additions and 46 deletions

78
Changes Normal file
View File

@@ -0,0 +1,78 @@
feedgnuplot (1.23)
* --extracmds no longer accepts comma-separated lists
This was needed because a command can have a comma
* --curvestyle no longer adds on top of --curvestyleall
-- Dima Kogan <dima@secretsauce.net> Sat, 29 Sep 2012 16:29:38 -0700
feedgnuplot (1.22)
* removed --size option
-- Dima Kogan <dima@secretsauce.net> Mon, 03 Sep 2012 08:33:26 -0700
feedgnuplot (1.21)
* removed the POD from the script to its own file
* fixed regression to allow no given extracmds, histogram or y2
options
-- Dima Kogan <dima@secretsauce.net> Sun, 02 Sep 2012 23:52:21 -0700
feedgnuplot (1.20)
* no longer hardcoding 'x11' as the default terminal
* added histogram support
* generic terminals can now be requested
* --extracmds, --histogram, --y2 can now take comma-separated lists
-- Dima Kogan <dima@secretsauce.net> Fri, 31 Aug 2012 01:35:50 -0700
feedgnuplot (1.19)
* added --geometry option to specify plot dimensions
-- Dima Kogan <dima@secretsauce.net> Sat, 11 Feb 2012 21:04:42 -0800
feedgnuplot (1.18)
* data-ids can now include characters such as -. Any non-whitespace
works
-- Dima Kogan <dima@secretsauce.net> Tue, 27 Dec 2011 16:47:36 -0800
feedgnuplot (1.17)
[ Dima Kogan ]
* POD: removed -Winteractive, since this was apparently a mawk-ism
* added zsh and bash completions
[ Hermann Schwarting ]
* add build dependency libtest-script-run-perl
-- Dima Kogan <dima@secretsauce.net> Sun, 20 Nov 2011 19:17:22 -0800
feedgnuplot (1.16)
* Some POD fixes
-- Dima Kogan <dima@secretsauce.net> Fri, 11 Nov 2011 00:10:18 -0800
feedgnuplot (1.15)
* Renamed main script from feedGnuplot to feedgnuplot
-- Dima Kogan <dima@secretsauce.net> Sun, 16 Oct 2011 11:58:15 -0700
feedgnuplot (1.14)
* added 'clear' command, documented commands
-- Dima Kogan <dima@secretsauce.net> Sun, 22 May 2011 15:25:28 -0700
feedgnuplot (1.13)
* Better streaming plot control
-- Dima Kogan <dima@secretsauce.net> Tue, 26 Apr 2011 14:24:09 -0700

View File

@@ -1,8 +1,9 @@
If running on a Debian-based OS (this includes Ubuntu), it is highly recommended If running on a Debian-based OS (this includes Ubuntu), it is highly recommended
to install this program as a package by doing to install this program as a package by doing
ln -fs package_definitions/debian debian
dpkg-buildpackage -us -uc -b dpkg-buildpackage -us -uc -b
sudo dpkg -i feedgnuplot*.deb sudo dpkg -i ../feedgnuplot*.deb
This builds a debian package and installs it. This builds a debian package and installs it.

8
LICENSE Normal file
View File

@@ -0,0 +1,8 @@
This library is distributed under the terms of the GNU GPL:
http://www.gnu.org/licenses/gpl.html
or the Artistic license:
http://dev.perl.org/licenses/artistic.html

View File

@@ -4,3 +4,5 @@ bin/feedgnuplot
bin/feedgnuplot.pod bin/feedgnuplot.pod
t/00-load.t t/00-load.t
t/manifest.t t/manifest.t
Changes
LICENSE

View File

@@ -4,14 +4,14 @@ use ExtUtils::MakeMaker;
sub parseversion sub parseversion
{ {
# grab the version number from the debian changelog file. I look for lines line # grab the version number from the changelog. I look for lines line
# #
# libpackage-perl (0.02) unstable; urgency=low # libpackage-perl (0.02)
# #
# I parse out the 0.02 part # I parse out the 0.02 part
open DCH, 'debian/changelog' or die "Couldn't open debian/changelog"; open DCH, 'Changes' or die "Couldn't open 'Changes'";
my ($version) = <DCH> =~ /^\S+ \s* \( ([0-9\.]+) \)/x my ($version) = <DCH> =~ /^\S+ \s* \( ([0-9\.]+) \)/x
or die "Couldn't parse version from debian/changelog"; or die "Couldn't parse version from 'Changes'";
close DCH; close DCH;
return $version; return $version;
@@ -29,6 +29,13 @@ sub MY::libscan
return $self->SUPER::libscan ($file); return $self->SUPER::libscan ($file);
} }
# I want my manpage to go into the man section '1', NOT '1p'. Here I add a
# snippet to the end of the generated Makefile to force this
sub MY::postamble
{
return "MAN1EXT := 1\n";
}
WriteMakefile WriteMakefile
( (

View File

@@ -95,8 +95,9 @@ sub interpretCommandline
# Previously I was using 'legend=s%' and 'curvestyle=s%' for curve addressing. This had cleaner # Previously I was using 'legend=s%' and 'curvestyle=s%' for curve addressing. This had cleaner
# syntax, but disregarded the order of the given options. This resulted in arbitrarily ordered # syntax, but disregarded the order of the given options. This resulted in arbitrarily ordered
# curves. # curves. I thus make parse these into lists, and then also make hashes, for later use
# needed for these to be parsed into a ref to a list
# needed for these to be parsed into an array-ref
$options{legend} = []; $options{legend} = [];
$options{curvestyle} = []; $options{curvestyle} = [];
$options{histogram} = []; $options{histogram} = [];
@@ -118,12 +119,27 @@ sub interpretCommandline
$options->{curvestyleall} = '' unless defined $options->{curvestyleall}; $options->{curvestyleall} = '' unless defined $options->{curvestyleall};
# expand options that are given as comma-separated lists # expand options that are given as comma-separated lists
for my $listkey (qw(extracmds histogram y2)) for my $listkey (qw(histogram y2))
{ {
@{$options{$listkey}} = map split('\s*,\s*', $_), @{$options{$listkey}} @{$options{$listkey}} = map split('\s*,\s*', $_), @{$options{$listkey}}
if defined $options{$listkey}; if defined $options{$listkey};
} }
# --legend and --curvestyle options are conceptually hashes, but are parsed as
# arrays in order to preserve the ordering. I parse both of these into hashes
# because those are useful to have later. After this I can access individual
# legends with $options{legend_hash}{curveid}
for my $listkey (qw(legend curvestyle))
{
$options{"${listkey}_hash"} = {};
my $n = scalar @{$options{$listkey}}/2;
foreach my $idx (0..$n-1)
{
$options{"${listkey}_hash"}{$options{$listkey}[$idx*2]} = $options{$listkey}[$idx*2 + 1];
}
}
# parse stream option. Allowed only numbers >= 0 or 'trigger' # parse stream option. Allowed only numbers >= 0 or 'trigger'
if(defined $options->{stream}) if(defined $options->{stream})
{ {
@@ -376,7 +392,10 @@ sub mainThread
# For the specified values, set the legend entries to 'title "blah blah"' # For the specified values, set the legend entries to 'title "blah blah"'
if(@{$options{legend}}) if(@{$options{legend}})
{ {
# @{$options{legend}} is a list where consecutive pairs are (curveID, legend) # @{$options{legend}} is a list where consecutive pairs are (curveID,
# legend). I use $options{legend} here instead of $options{legend_hash}
# because I create a new curve when I see a new one, and the hash is
# unordered, thus messing up the ordering
my $n = scalar @{$options{legend}}/2; my $n = scalar @{$options{legend}}/2;
foreach my $idx (0..$n-1) foreach my $idx (0..$n-1)
{ {
@@ -388,7 +407,10 @@ sub mainThread
# add the extra curve options # add the extra curve options
if(@{$options{curvestyle}}) if(@{$options{curvestyle}})
{ {
# @{$options{curvestyle}} is a list where consecutive pairs are (curveID, style) # @{$options{curvestyle}} is a list where consecutive pairs are (curveID,
# style). I use $options{curvestyle} here instead of
# $options{curvestyle_hash} because I create a new curve when I see a new
# one, and the hash is unordered, thus messing up the ordering
my $n = scalar @{$options{curvestyle}}/2; my $n = scalar @{$options{curvestyle}}/2;
foreach my $idx (0..$n-1) foreach my $idx (0..$n-1)
{ {
@@ -598,10 +620,14 @@ sub updateCurveOptions
{ $title = $id; } { $title = $id; }
my $titleoption = defined $title ? "title \"$title\"" : "notitle"; my $titleoption = defined $title ? "title \"$title\"" : "notitle";
my $extraoption = defined $options{curvestyleall} ? $options{curvestyleall} : '';
my $curvestyleall = '';
$curvestyleall = $options{curvestyleall}
if defined $options{curvestyleall} && !defined $options{curvestyle_hash}{$id};
my $histoptions = $curveoptions->{histoptions} || ''; my $histoptions = $curveoptions->{histoptions} || '';
$curveoptions->{options} = "$histoptions $titleoption $curveoptions->{extraoptions} $extraoption"; $curveoptions->{options} = "$histoptions $titleoption $curveoptions->{extraoptions} $curvestyleall";
} }
sub getCurve sub getCurve

View File

@@ -46,7 +46,8 @@ passed in with C<--extracmds>. For example, to turn off the grid, pass in
C<--extracmds 'unset grid'>. As many of these options as needed can be passed C<--extracmds 'unset grid'>. As many of these options as needed can be passed
in. To add arbitrary curve styles, use C<--curvestyle curveID extrastyle>. Pass in. To add arbitrary curve styles, use C<--curvestyle curveID extrastyle>. Pass
these more than once to affect more than one curve. To apply an extra style to these more than once to affect more than one curve. To apply an extra style to
I<all> the curves, pass in C<--curvestyleall extrastyle>. I<all> the curves that lack an explicit C<--curvestyle>, pass in
C<--curvestyleall extrastyle>.
=head2 Data formats =head2 Data formats
@@ -319,15 +320,16 @@ As an example, if line 3 of the input is "0 9 1 20"
'cumulative', but rescaled to end up at 1.0. 'cumulative', but rescaled to end up at 1.0.
--curvestyle curveID style --curvestyle curveID style
Additional styles per curve. With --dataid, curveID is the Additional styles per curve. With --dataid, curveID is
ID. Otherwise, it's the index of the curve, starting at 0. Use the ID. Otherwise, it's the index of the curve, starting
this option multiple times for multiple curves at 0. Use this option multiple times for multiple curves.
--curvestylall does NOT apply to curves that have a
--curvestyle
--curvestyleall xxx Additional styles for ALL curves. --curvestyleall xxx Additional styles for all curves that have no --curvestyle
--extracmds xxx Additional commands. These could contain extra global styles --extracmds xxx Additional commands. These could contain extra global styles
for instance. Can be passed multiple times, or passed a comma- for instance. Can be passed multiple times.
separated list
--square Plot data with aspect ratio 1. For 3D plots, this controls the --square Plot data with aspect ratio 1. For 3D plots, this controls the
aspect ratio for all 3 axes aspect ratio for all 3 axes

17
debian/control vendored
View File

@@ -1,17 +0,0 @@
Source: feedgnuplot
Section: perl
Priority: optional
Build-Depends: debhelper (>= 7), libtest-script-run-perl
Build-Depends-Indep: perl
Maintainer: Dima Kogan <dima@secretsauce.net>
Standards-Version: 3.9.2
Homepage: https://github.com/dkogan/feedgnuplot
Package: feedgnuplot
Architecture: all
Depends: ${misc:Depends}, ${perl:Depends}, gnuplot
Description: A pipe-oriented frontend to Gnuplot
This is a flexible, command-line-oriented frontend to Gnuplot. It creates
plots from data coming in on STDIN or given in a filename passed on the
commandline. Various data representations are supported, as is hardcopy
output and streaming display of live data.

2
debian/watch vendored
View File

@@ -1,2 +0,0 @@
version=3
http://search.cpan.org/dist/feedGnuplot/ .*/feedgnuplot-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$

View File

@@ -0,0 +1,20 @@
Source: feedgnuplot
Section: science
Priority: extra
Build-Depends: debhelper (>= 7), libtest-script-run-perl, perl
Maintainer: Dima Kogan <dima@secretsauce.net>
Uploaders: Dima Kogan <dima@secretsauce.net>
Standards-Version: 3.9.3
Homepage: https://github.com/dkogan/feedgnuplot
Vcs-Git: git://github.com/dkogan/feedgnuplot.git
Vcs-Browser: https://github.com/dkogan/feedgnuplot
DM-Upload-Allowed: yes
Package: feedgnuplot
Architecture: all
Depends: ${misc:Depends}, ${perl:Depends}, gnuplot
Description: Pipe-oriented frontend to Gnuplot
Flexible, command-line-oriented frontend to Gnuplot. Creates plots from data
coming in on STDIN or given in a filename passed on the commandline. Various
data representations are supported, as is hardcopy output and streaming display
of live data.

View File

@@ -1,13 +1,9 @@
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Maintainer: Dima Kogan, <dima at secretsauce.net> Source: https://github.com/dkogan/feedgnuplot
Source: http://search.cpan.org/dist/feedGnuplot/ Upstream-Contact: Dima Kogan, <dima@secretsauce.net>
Name: feedgnuplot Upstream-Name: feedgnuplot
Files: * Files: *
Copyright: Dima Kogan, <dima at secretsauce.net>
License:
Files: debian/*
Copyright: 2011, Dima Kogan <dima@secretsauce.net> Copyright: 2011, Dima Kogan <dima@secretsauce.net>
License: Artistic or GPL-1+ License: Artistic or GPL-1+