Compare commits

..

86 Commits

Author SHA1 Message Date
Dima Kogan
abc37bfa1e changelog bump 2014-01-24 15:51:10 -08:00
Dima Kogan
19c56ae041 Merge branch 'master' into debian 2014-01-24 15:48:57 -08:00
Dima Kogan
417ceb2bcc made the VCS links canonical 2013-12-04 02:37:11 -08:00
Dima Kogan
a374e71fae changelog bump 2013-12-04 02:05:29 -08:00
Dima Kogan
0551483616 Merge branch 'master' into debian 2013-12-04 02:02:21 -08:00
Dima Kogan
48fb730f0b Merge branch 'master' into debian 2013-12-04 01:59:56 -08:00
Dima Kogan
2fbc8f62d3 Removed Anton Gladky from the Uploaders 2013-12-04 01:59:40 -08:00
Dima Kogan
670a5b84f9 gnuplot dependency now favors graphical gnuplot packages 2013-12-02 23:53:53 -08:00
Anton Gladky
b92093464b Add libipc-run-perl to Build-Depends to execute tests. 2013-10-25 21:16:24 +02:00
Anton Gladky
516077cbd0 Merge changelog entries. 2013-10-25 21:01:50 +02:00
Dima Kogan
f8e69778a2 build-dep on gnuplot for tests 2013-10-20 01:26:28 -07:00
Dima Kogan
7dca5c31bf changelog bump 2013-10-20 01:19:59 -07:00
Dima Kogan
a6fef8c9f4 Merge branch 'master' into debian 2013-10-20 01:19:31 -07:00
Dima Kogan
987b7d90be bumped changelog, updated build-deps 2013-10-20 00:58:48 -07:00
Dima Kogan
d7e30ac655 Merge branch 'master' into debian 2013-10-20 00:56:39 -07:00
Dima Kogan
ece4b29a2a snapshot version bump 2013-09-23 06:15:21 -07:00
Dima Kogan
bbd2a44bf9 Merge branch 'master' into debian 2013-09-23 06:07:29 -07:00
Dima Kogan
d2613db253 version bump 2013-04-28 17:43:12 -07:00
Dima Kogan
2217a1a1ba Now building the html documentation from the correct POD source 2013-04-28 17:42:21 -07:00
Dima Kogan
184102a420 Merge remote-tracking branch 'gitdebian/debian' into debian 2013-02-08 02:27:46 -08:00
Dima Kogan
1cca6c8eb4 version bump 2013-02-08 02:19:47 -08:00
Dima Kogan
78368597c8 Merge branch 'master' into debian 2013-02-08 02:19:39 -08:00
Anton Gladky
4de5984551 Update email. 2013-02-03 17:56:55 +01:00
Anton Gladky
512d515ff6 Update watch-file. Thanks to Bart Martens. 2013-02-03 17:56:29 +01:00
Dima Kogan
1d1b5e6808 removed redundant pieces of debian/gbp.conf 2012-12-14 10:32:59 -08:00
Dima Kogan
40b18cf8f9 priority now optional 2012-12-14 10:32:28 -08:00
Dima Kogan
5283810abe fixed watchfile to work with newer github pages 2012-11-18 11:59:03 -08:00
Dima Kogan
9ab429e618 Small packaging tweaks:
These were suggested by paultag@debian.org

1. debian/changelog just has the one entry, to indicate what has changed from
the perspective of a user of this package. The old changes in that file have
never been uploaded to Debian

2. Uploading to unstable instead of experimental

3. Bumped up debhelper compat to 9

4. Removed DM-Upload-Allowed

5. Minor standards bump
2012-10-30 11:22:02 -07:00
Dima Kogan
14a39b6fd2 version bump 2012-09-29 16:42:50 -07:00
Dima Kogan
d705699459 gbp.conf knows about upstream tags 2012-09-29 16:42:34 -07:00
Dima Kogan
8867cf54f0 Merge remote-tracking branch 'upstream/master' into debian 2012-09-29 16:35:49 -07:00
Dima Kogan
52b9024320 version bump 2012-09-14 01:32:07 -07:00
Dima Kogan
6809545a16 added doc-base definition 2012-09-14 01:29:46 -07:00
Dima Kogan
a66e45adb5 added Anton Gladky as an Uploader 2012-09-14 01:14:29 -07:00
Dima Kogan
8557cd4870 more thorough cleanup of pod2html detritus 2012-09-11 14:30:34 -07:00
Dima Kogan
88fbd90a28 minor changelog update 2012-09-11 13:39:45 -07:00
Dima Kogan
d9906d8e88 Vcs-Git and Vcs-Browser now point to alioth 2012-09-11 13:37:19 -07:00
Dima Kogan
186b7a3ae0 added watch file to find tagged tarballs on github 2012-09-11 13:33:40 -07:00
Dima Kogan
62eb5f17bb building and installing the HTML documentation 2012-09-11 13:20:58 -07:00
Dima Kogan
a164c4ff29 Merge remote-tracking branch 'upstream/master' into debian 2012-09-11 13:12:55 -07:00
Dima Kogan
30d5b10fd6 debian-science is now the maintainer 2012-09-11 11:47:11 -07:00
Dima Kogan
f2d4b7d78b marking package as non-native 2012-09-11 11:44:11 -07:00
Dima Kogan
00d2f0d6a6 Merge tag 'upstream/1.22' into debian 2012-09-11 11:42:57 -07:00
Dima Kogan
0ccffde918 added git-buildpackage configuration 2012-09-11 11:41:57 -07:00
Dima Kogan
805060ba92 changelog now references a non-native package 2012-09-11 11:33:14 -07:00
Dima Kogan
6ba7fc053c allowing uploads by DMs 2012-09-10 23:40:29 -07:00
Dima Kogan
21c38efc2d debian changelog now closes the ITP bug 2012-09-10 23:30:59 -07:00
Dima Kogan
7833e63c32 debian/copyright has a single license for the whole package 2012-09-10 23:27:12 -07:00
Dima Kogan
d9e5067f20 more standard copyright file 2012-09-10 21:07:22 -07:00
Dima Kogan
44a81e153d updated debian standards version 2012-09-10 20:55:49 -07:00
Dima Kogan
458367883a version bump 2012-09-10 20:48:34 -07:00
Dima Kogan
d4997cbba7 cleaned up debian/control 2012-09-10 20:45:12 -07:00
Dima Kogan
5dcffaa62d updated package description 2012-09-10 18:31:28 -07:00
Dima Kogan
5cf323a97c 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
229c08582d using more up-to-date copyright format spec 2012-09-10 18:26:21 -07:00
Dima Kogan
04876fa72e version bump 2012-09-03 08:33:36 -07:00
Dima Kogan
e61e831ef2 version bump 2012-09-02 23:53:17 -07:00
Dima Kogan
e5973e4fd6 version bump 2012-08-31 01:36:23 -07:00
Dima Kogan
df2c78a85e changelog bump 2012-02-11 21:05:07 -08:00
Dima Kogan
472520fdd8 made consistent my email addy in the debian changelog 2012-02-11 21:03:53 -08:00
Dima Kogan
54f7f17558 version bump 2011-12-27 16:48:13 -08:00
Dima Kogan
a8dc63c472 version bump 2011-11-20 19:20:11 -08:00
Dima Kogan
10a4d35e97 added zsh and bash completions to the package 2011-11-20 19:17:10 -08:00
Hermann Schwarting
70946c92c2 add build dependency libtest-script-run-perl
It's required to run the tests
2011-11-20 13:22:59 -08:00
Dima Kogan
a8f5b99c23 version bump 2011-11-11 00:11:41 -08:00
Dima Kogan
5cb7e3616a now building a native package 2011-11-11 00:10:05 -08:00
Dima Kogan
b9ce0ea175 I don't actually want to export the tree when building my package 2011-10-29 02:56:18 -07:00
Dima Kogan
d6381c747b bump 2011-10-23 13:39:03 -07:00
Dima Kogan
a054645a71 standards bump to make lintian happier 2011-10-23 13:38:00 -07:00
Dima Kogan
0ce0f8a3f0 added configuration to let git-buildpackage build this package 2011-10-23 13:37:39 -07:00
Dima Kogan
3171f272fc added source format for the debianization 2011-10-23 13:19:44 -07:00
Dima Kogan
1cced9a621 fixed wrong email address 2011-10-23 13:19:44 -07:00
Dima Kogan
3132b76caa version bump 2011-10-23 13:19:44 -07:00
Dima Kogan
b90e783f69 main homepage at github, not cpan 2011-10-16 11:31:30 -07:00
Dima Kogan
9b0bc07ae4 whitespace 2011-10-16 11:27:02 -07:00
Dima Kogan
7bcb3920a1 renamed main script feedGnuplot -> feedgnuplot 2011-10-16 11:25:22 -07:00
Dima Kogan
0ec6cb3d6d new email address 2011-09-15 18:58:18 -07:00
Dima Kogan
9edb99d4cd removed documentation-installing file that installed wrong documentation 2011-06-11 23:07:29 -07:00
Dima Kogan
a1fac377a8 version bump 2011-05-22 15:31:16 -07:00
Dima Kogan
80a5fac5f2 version bump 2011-04-26 14:25:23 -07:00
Dima Kogan
f6fc00f3f2 version bump 2011-04-19 11:04:07 -07:00
Dima Kogan
02d3f2bc92 version bump 2011-04-09 14:11:15 -07:00
Dima Kogan
f682fa0816 debian package depends on gnuplot 2011-04-03 17:26:22 -07:00
Dima Kogan
1e63a87a3d version bump 2011-04-03 17:26:22 -07:00
Dima Kogan
47846ea562 added debian directory 2011-02-06 16:01:00 -08:00
Dima Kogan
36d1db13a3 added realtime gnuplot script from
http://users.softlab.ece.ntua.gr/~ttsiod/gnuplotStreaming.html
2009-12-19 20:46:06 -08:00
16 changed files with 222 additions and 339 deletions

23
Changes
View File

@@ -1,29 +1,10 @@
feedgnuplot (1.33)
* fixed incorrect plotting of --timefmt --rangesize plots
-- Dima Kogan <dima@secretsauce.net> Thu, 06 Feb 2014 23:17:21 -0800
feedgnuplot (1.32)
* Added --rangesize and --rangesizeall. Different curves can now plot
different-size tuples
-- Dima Kogan <dima@secretsauce.net> Wed, 05 Feb 2014 13:57:58 -0800
feedgnuplot (1.31)
* Test suite requires gawk to get strftime()
-- Dima Kogan <dima@secretsauce.net> Sat, 25 Jan 2014 20:49:38 -0800
feedgnuplot (1.30)
feedgnuplot (1.30) unstable; urgency=low
* Added --with, --set, --unset, --style, --styleall
-- Dima Kogan <dima@secretsauce.net> Fri, 24 Jan 2014 15:38:07 -0800
feedgnuplot (1.29)
feedgnuplot (1.29) unstable; urgency=low
* added CPAN meta-data to require IPC::Run at build time

View File

@@ -13,7 +13,7 @@ use Thread::Queue;
use Pod::Usage;
use Time::Piece;
my $VERSION = 1.33;
my $VERSION = 1.30;
my %options;
interpretCommandline();
@@ -121,8 +121,6 @@ sub interpretCommandline
$options{styleall} = '';
$options{with} = '';
$options{rangesize} = [];
GetOptions(\%options, 'stream:s', 'domain!', 'dataid!', '3d!', 'colormap!', 'lines!', 'points!',
'circles', 'legend=s{2}', 'autolegend!', 'xlabel=s', 'ylabel=s', 'y2label=s', 'zlabel=s',
'title=s', 'xlen=f', 'ymin=f', 'ymax=f', 'xmin=s', 'xmax=s', 'y2min=f', 'y2max=f',
@@ -131,8 +129,7 @@ sub interpretCommandline
'square!', 'square_xy!', 'hardcopy=s', 'maxcurves=i', 'monotonic!', 'timefmt=s',
'histogram=s@', 'binwidth=f', 'histstyle=s',
'terminal=s',
'rangesize=s{2}', 'rangesizeall=i', 'extraValuesPerPoint=i',
'help', 'dump', 'exit', 'version',
'extraValuesPerPoint=i', 'help', 'dump', 'exit', 'version',
'geometry=s') or pod2usage( -exitval => 1,
-verbose => 1, # synopsis and args
-output => \*STDERR );
@@ -179,7 +176,7 @@ sub interpretCommandline
# 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 rangesize))
for my $listkey (qw(legend curvestyle))
{
$options{"${listkey}_hash"} = {};
@@ -196,29 +193,6 @@ sub interpretCommandline
exit -1;
}
if ( defined $options{rangesizeall} && defined $options{extraValuesPerPoint} )
{
print STDERR "Only one of --rangesizeall and --extraValuesPerPoint may be given\n";
exit -1;
}
# I now set up the rangesize to always be
# $options{rangesize_hash}{$id} // $options{rangesize_default}
if ( $options{rangesizeall} )
{
$options{rangesize_default} = $options{rangesizeall};
}
else
{
$options{rangesize_default} = 1;
$options{rangesize_default} += $options{extraValuesPerPoint} if ($options{extraValuesPerPoint});
$options{rangesize_default}++ if ($options{colormap});
$options{rangesize_default}++ if ($options{circles} );
}
# parse stream option. Allowed only numbers >= 0 or 'trigger'. After this code
# $options{stream} is
# -1 for triggered replotting
@@ -373,6 +347,8 @@ sub interpretCommandline
my $Nfields = scalar split( ' ', $options{timefmt});
$options{timefmt_Ncols} = $Nfields;
my $regex_str = join( '\s+', ('\S+') x $Nfields );
$options{timefmt_regex} = qr/$regex_str/;
# make sure --xlen is an integer. With a timefmt xlen goes through strptime
# and strftime, and those are integer-only
@@ -451,6 +427,11 @@ sub makeDomainNumeric
sub mainThread
{
my $valuesPerPoint = 1;
if($options{extraValuesPerPoint}) { $valuesPerPoint += $options{extraValuesPerPoint}; }
if($options{colormap}) { $valuesPerPoint++; }
if($options{circles} ) { $valuesPerPoint++; }
local *PIPE;
my $dopersist = '';
@@ -592,6 +573,16 @@ sub mainThread
setCurveAsHistogram( $_ ) foreach (@{$options{histogram}});
# regexp for a possibly floating point, possibly scientific notation number
my $numRE = '-?\d*\.?\d+(?:[Ee][-+]?\d+)?';
my $domainRE = $options{timefmt_regex} || $numRE;
# a point may be preceded by an id
my $pointRE = $options{dataid} ? '(\S+)\s+' : '()';
$pointRE .= '(' . join('\s+', ($numRE) x $valuesPerPoint) . ')';
$pointRE = qr/$pointRE/;
# set all the axis ranges
# If a bound isn't given I want to set it to the empty string, so I can communicate it simply to
# gnuplot
@@ -660,37 +651,18 @@ sub mainThread
# line is used)
# 3d plots require $options{domain}, and dictate "x y" for the domain instead of just "x"
my @fields = split;
if($options{domain})
{
if( $options{timefmt} )
{
# no point if doing anything unless I have at least the domain and
# 1 piece of data
next if @fields < $options{timefmt_Ncols}+1;
$domain[0] = join (' ', splice( @fields, 0, $options{timefmt_Ncols}) );
/($domainRE)/go or next;
$domain[0] = $1;
$domain0_numeric = makeDomainNumeric( $domain[0] );
}
elsif(!$options{'3d'})
if($options{'3d'})
{
# no point if doing anything unless I have at least the domain and
# 1 piece of data
next if @fields < 1+1;
$domain[0] = $domain0_numeric = shift @fields;
/($numRE)/go or next;
$domain[1] = $1;
}
else
{
# no point if doing anything unless I have at least the domain and
# 1 piece of data
next if @fields < 2+1;
@domain = splice(@fields, 0, 2);
}
if( $options{monotonic} )
elsif( $options{monotonic} )
{
if( defined $latestX && $domain0_numeric < $latestX )
{
@@ -704,6 +676,7 @@ sub mainThread
else
{ $latestX = $domain0_numeric; }
}
}
else
{
@@ -711,7 +684,8 @@ sub mainThread
# $. on the data queue in that case
if(defined $dataQueue)
{
$domain[0] = pop @fields;
s/ ([\d]+)$//o;
$domain[0] = $1;
}
else
{
@@ -721,30 +695,13 @@ sub mainThread
}
my $id = -1;
while(@fields)
while (/$pointRE/go)
{
if($options{dataid})
{
$id = shift @fields;
}
else
{
$id++;
}
# I'd like to use //, but I guess some people are still on perl 5.8
my $rangesize = exists $options{rangesize_hash}{$id} ?
$options{rangesize_hash}{$id} :
$options{rangesize_default};
last if @fields < $rangesize;
if($1 ne '') {$id = $1;}
else {$id++; }
pushPoint(getCurve($id),
join(' ',
@domain,
splice( @fields, 0, $rangesize ) ) . "\n",
$domain0_numeric);
"@domain $2\n", $domain0_numeric);
}
}
}
@@ -867,19 +824,7 @@ sub updateCurveOptions
my $usingoptions = '';
if( $options{timefmt} )
{
# with --timefmt I need an explicit 'using' specification. I specify the
# columns as 1:2:3..... I need the right number of columns (this is given
# as 1 + rangesize). I also need to start the range at the first column
# past the timefmt
# I'd like to use //, but I guess some people are still on perl 5.8
my $rangesize = exists $options{rangesize_hash}{$id} ?
$options{rangesize_hash}{$id} :
$options{rangesize_default};
my @rest = map {$_ + $options{timefmt_Ncols}} (1..$rangesize);
$usingoptions = "using 1:" . join(':', @rest);
$usingoptions = "using 1:" . ($options{timefmt_Ncols}+1);
}
$curve->{options} = "$histoptions $usingoptions $titleoption $curve->{extraoptions} $curvestyleall";
@@ -1167,24 +1112,17 @@ conjunction with C<--dataid>.
=head3 Multi-value style support
Depending on how gnuplot is plotting the data, more than one value may be needed
to represent the range of a single point. Basic 2D plots have 2 numbers
representing each point: 1 domain and 1 range. But if plotting with
C<--circles>, for instance, then there's an extra range value: the radius. A
similar situation exists with C<--colormap> where each point contains the
position I<and> the color. There are other gnuplot styles that require more data
(such as error bars), but none of these are directly supported by the script.
They can still be used, however, by specifying the specific style with
C<--style>, and specifying how many values are needed for each point with
C<--rangesizeall> or C<--rangesize> or C<--extraValuesPerPoint>. Those options
that specify the range size are required I<only> for styles not explicitly
supported by feedgnuplot; supported styles do the right thing automatically.
More examples: if making a 2d plot of y error bars where gnuplot expects a
(x,y,ydelta) tuple for each point, you want C<--rangesizeall 2> because you have
one domain value (x) and 2 range values (y,ydelta). Gnuplot can also plot
lopsided y errorbars by giving a tuple (x,y,ylow,yhigh). This is similar as
before, but you want C<--rangesizeall 3> instead.
to represent a single point. For example, the script has support to plot all the
data with C<--circles>. This requires a radius to be specified for each point in
addition to the position of the point. Thus, when plotting with C<--circles>, 2
numbers are read for each data point instead of 1. A similar situation exists
with C<--colormap> where each point contains the position I<and> the color.
There are other gnuplot styles that require more data (such as error bars), but
none of these are directly supported by the script. They can still be used,
though, by specifying the specific style with C<--style>, and specifying how
many extra values are needed for each point with C<--extraValuesPerPoint extra>.
C<--extraValuesPerPoint> is ONLY needed for the styles not explicitly supported;
supported styles set that variable automatically.
=head3 3D data
@@ -1219,7 +1157,7 @@ C<--xmin> and C<--xmax> I<must> use the format passed in to C<--timefmt>
Using this option changes both the way the input is parsed I<and> the way the
x-axis tics are labelled. Gnuplot tries to be intelligent in this labelling, but
it doesn't always do what the user wants. The labelling can be controlled with
it doesn't always to what the user wants. The labelling can be controlled with
the gnuplot C<set format> command, which takes the same type of format string as
C<--timefmt>. Example:
@@ -1427,7 +1365,8 @@ Interpret the X data as a time/date, parsed with the given format
C<--colormap>
Show a colormapped xy plot. Requires extra data for the color. zmin/zmax can be
used to set the extents of the colors. Automatically sets the C<--rangesize>.
used to set the extents of the colors. Automatically increments
C<--extraValuesPerPoint>
=item
@@ -1455,7 +1394,8 @@ Do [not] draw points
C<--circles>
Plot with circles. This requires a radius be specified for each point.
Automatically sets the C<--rangesize>. C<Not> supported for 3d plots.
Automatically increments C<--extraValuesPerPoint>). C<Not> supported for 3d
plots.
=item
@@ -1659,32 +1599,13 @@ replotted before being purged
=item
C<--rangesize curveID xxx>
The options C<--rangesizeall>, C<--rangesize> and C<--extraValuesPerPoint> set
the number of values are needed to represent each point being plotted (see
L</"Multi-value style support"> above). These options are I<only> needed if
unknown styles are used, with C<--styleall> or C<--with> for instance.
C<--rangesize> is used to set how many values are needed to represent the range
of a point for a particular curve. This overrides any defaults that may exist
for this curve only.
=item
C<--rangesizeall xxx>
Like C<--rangesize>, but applies to I<all> the curves.
C<--extraValuesPerPoint xxx>
Like C<--rangesizeall>, but instead of overriding the default, adds to it. For
example, if plotting non-lopsided y errorbars gnuplot wants (x,y,ydelta) tuples.
These can be specified both with C<--rangesizeall 2> (because there are 2 range
values) or C<--extraValuesPerPoint 1> (because there's 1 more value than usual).
This option is I<only> needed if unknown styles are used, with C<--styleall> or
C<--with> for instance.
How many extra values are given for each data point. Normally this is 0, and
does not need to be specified, but sometimes we want extra data, like for colors
or point sizes or error bars, etc. feedgnuplot options that require this
(colormap, circles) automatically set it. This option is ONLY needed if unknown
styles are used, with C<--styleall> or C<--with> for instance
=item

View File

@@ -15,8 +15,6 @@ complete -W \
--dump \
--exit \
--extraValuesPerPoint \
--rangesizeall \
--rangesize \
--extracmds \
--set \
--unset \

View File

@@ -37,9 +37,7 @@ _arguments -S
'--hardcopy[Plot to a file]:filename' \
'--maxcurves[The maximum allowed number of curves]:number of curves' \
'(--3d)--monotonic[Resets plot if an X in the past is seen]' \
'(--rangesizeall)--extraValuesPerPoint[How many extra values are given for each data range]:N'\
'(--extraValuesPerPoint)--rangesizeall[How many values are given for each data range]:N'\
'*--rangesize[How many values comprise a data range in this curve]:curve id: :N:' \
'--extraValuesPerPoint[How many extra values are given for each data point]:N'\
'--dump[Instead of printing to gnuplot, print to STDOUT]' \
'--geometry[The X11 geometry string]:geometry string:' \
'*--curvestyle[Additional styles for a curve]:curve id: :style:' \

58
debian/changelog vendored Normal file
View File

@@ -0,0 +1,58 @@
feedgnuplot (1.30-1) unstable; urgency=low
* made the VCS links canonical
* added --set, --unset, --with, --style, --styleall
-- Dima Kogan <dima@secretsauce.net> Fri, 24 Jan 2014 15:50:03 -0800
feedgnuplot (1.28-1) unstable; urgency=low
* Upstream update:
- Removed example debianization
- Removed unreliable unit tests from automated testing (Closes: #731080)
* gnuplot dependency now favors graphical gnuplot packages
* Removed Anton Gladky from the Uploaders
-- Dima Kogan <dima@secretsauce.net> Wed, 04 Dec 2013 02:05:08 -0800
feedgnuplot (1.26-1) unstable; urgency=low
[ Dima Kogan ]
* Minor POD update
* Added test suite
* Added initial support for --timefmt. Currently time/date data is
supported only at the x-axis domain
* Added --exit option for force feedgnuplot to return even if gnuplot
may not yet be done rendering (patch by Eric Schulte)
* Reformatted the documentation
* y2-axis curves no longer have a thicker line by default
* --hardcopy now handles piped output (gnuplot 'set output |process'
syntax)
[ Anton Gladky ]
* Add libipc-run-perl to Build-Depends to execute tests
-- Dima Kogan <dima@secretsauce.net> Sun, 20 Oct 2013 01:19:51 -0700
feedgnuplot (1.24-2) unstable; urgency=low
* Now building the html documentation from the correct POD source
-- Dima Kogan <dima@secretsauce.net> Sun, 28 Apr 2013 17:42:52 -0700
feedgnuplot (1.24-1) unstable; urgency=low
* Fixed regression in --monotonic. This works again now
* moved POD back into the main source file. This fixes the broken usage
messages
* added --version
* fixed watchfile to work with newer github pages
* priority now optional
-- Dima Kogan <dima@secretsauce.net> Fri, 08 Feb 2013 02:01:32 -0800
feedgnuplot (1.23-2) unstable; urgency=low
* Initial Debian release (Closes: #686413)
-- Dima Kogan <dima@secretsauce.net> Tue, 30 Oct 2012 11:14:01 -0700

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
9

19
debian/control vendored Normal file
View File

@@ -0,0 +1,19 @@
Source: feedgnuplot
Section: science
Priority: optional
Build-Depends: debhelper (>= 9), libstring-shellquote-perl, perl, gawk, gnuplot, libipc-run-perl
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Uploaders: Dima Kogan <dima@secretsauce.net>
Standards-Version: 3.9.4
Homepage: https://github.com/dkogan/feedgnuplot
Vcs-Git: git://anonscm.debian.org/debian-science/packages/feedgnuplot.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/feedgnuplot.git
Package: feedgnuplot
Architecture: all
Depends: ${misc:Depends}, ${perl:Depends}, gnuplot-qt | gnuplot-x11 | 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.

24
debian/copyright vendored Normal file
View File

@@ -0,0 +1,24 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/dkogan/feedgnuplot
Upstream-Contact: Dima Kogan, <dima@secretsauce.net>
Upstream-Name: feedgnuplot
Files: *
Copyright: 2011, Dima Kogan <dima@secretsauce.net>
License: Artistic or GPL-1+
License: Artistic
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License, which comes with Perl.
.
On Debian GNU/Linux systems, the complete text of the Artistic License
can be found in `/usr/share/common-licenses/Artistic'.
License: GPL-1+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
.
On Debian GNU/Linux systems, the complete text of version 1 of the
General Public License can be found in `/usr/share/common-licenses/GPL-1'.

9
debian/feedgnuplot.doc-base vendored Normal file
View File

@@ -0,0 +1,9 @@
Document: feedgnuplot
Title: Feedgnuplot Manual
Author: Dima Kogan
Abstract: Formatted manpage for feedgnuplot
Section: Science/Data Analysis
Format: HTML
Index: /usr/share/doc/feedgnuplot/feedgnuplot.html
Files: /usr/share/doc/feedgnuplot/feedgnuplot.html

1
debian/feedgnuplot.docs vendored Normal file
View File

@@ -0,0 +1 @@
feedgnuplot.html

2
debian/feedgnuplot.install vendored Normal file
View File

@@ -0,0 +1,2 @@
completions/bash/feedgnuplot /etc/bash_completion.d/
completions/zsh/_feedgnuplot /usr/share/zsh/vendor-completions

4
debian/gbp.conf vendored Normal file
View File

@@ -0,0 +1,4 @@
[DEFAULT]
debian-branch = debian
upstream-tag = v%(version)s
pristine-tar = True

12
debian/rules vendored Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_build:
dh_auto_build
pod2html --title=feedgnuplot bin/feedgnuplot > feedgnuplot.html
override_dh_auto_clean:
rm -rf feedgnuplot.html pod2htm*
dh_auto_clean

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (quilt)

4
debian/watch vendored Normal file
View File

@@ -0,0 +1,4 @@
version=3
opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \
https://github.com/dkogan/feedgnuplot/tags .*/v?(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
# Bart Martens <bartm@debian.org> Sat, 22 Dec 2012 12:54:18 +0000

202
t/plots.t
View File

@@ -17,20 +17,14 @@ BEGIN {
exit(0);
}
my $gawkversion = `gawk -V`;
if( !$gawkversion || $@ )
{
print("1..0 # Skip: gawk is required for strftime() in the test suite. Skipping tests.\n");
exit(0);
}
my $gnuplotVersion = `gnuplot --version`;
if( !$gnuplotVersion || $@)
open(my $pipe, 'gnuplot --version |');
if( !$pipe )
{
print("1..0 # Skip: gnuplot not installed. Tests require ver. 4.6.4; feedgnuplot works with any.\n");
exit(0);
}
my $gnuplotVersion = <$pipe>;
chomp $gnuplotVersion;
if ($gnuplotVersion ne "gnuplot 4.6 patchlevel 4")
{
@@ -39,7 +33,7 @@ BEGIN {
}
}
use Test::More tests => 58;
use Test::More tests => 52;
use File::Temp 'tempfile';
use IPC::Run 'run';
use String::ShellQuote;
@@ -326,7 +320,7 @@ tryplot( testname => 'basic line plot with bounds, square aspect ratio',
EOF
tryplot( testname => 'lines on both axes with labels, legends, titles',
cmd => q{seq 5 | gawk '{print 2*$1, $1*$1}'},
cmd => q{seq 5 | awk '{print 2*$1, $1*$1}'},
options => [qw(--lines --points),
'--legend', '0', 'data 0',
'--title', "Test plot",
@@ -375,7 +369,7 @@ tryplot( testname => 'lines on both axes with labels, legends, titles',
EOF
tryplot( testname => 'lines on both axes with labels, legends, titles; different styles',
cmd => q{seq 5 | gawk '{print 2*$1, $1*$1}'},
cmd => q{seq 5 | awk '{print 2*$1, $1*$1}'},
options => ['--legend', '0', 'data 0',
'--title', "Test plot",
qw(--y2 1 --y2label y2 --xlabel x --ylabel y --y2max 30),
@@ -425,7 +419,7 @@ tryplot( testname => 'lines on both axes with labels, legends, titles; different
EOF
tryplot( testname => 'domain plot',
cmd => q{seq 5 | gawk '{print 2*$1, $1*$1}'},
cmd => q{seq 5 | awk '{print 2*$1, $1*$1}'},
options => [qw(--lines --points), '--domain'],
refplot => <<'EOF' );
@@ -471,7 +465,7 @@ tryplot( testname => 'domain plot',
EOF
tryplot( testname => 'dataid plot',
cmd => q{seq 5 | gawk '{print 2*$1, $1*$1}'},
cmd => q{seq 5 | awk '{print 2*$1, $1*$1}'},
options => [qw(--lines --points),
qw(--dataid --autolegend)],
refplot => <<'EOF' );
@@ -518,7 +512,7 @@ tryplot( testname => 'dataid plot',
EOF
tryplot( testname => '3d spiral with bounds, labels',
cmd => q{seq 50 | gawk '{print 2*cos($1/5), sin($1/5), $1}'},
cmd => q{seq 50 | awk '{print 2*cos($1/5), sin($1/5), $1}'},
options => [qw(--lines --points),
qw(--3d --domain --zmin -5 --zmax 45 --zlabel z),
'--extracmds', 'set view 60,30'],
@@ -566,7 +560,7 @@ tryplot( testname => '3d spiral with bounds, labels',
EOF
tryplot( testname => '3d spiral with bounds, labels, square xy aspect ratio',
cmd => q{seq 50 | gawk '{print 2*cos($1/5), sin($1/5), $1}'},
cmd => q{seq 50 | awk '{print 2*cos($1/5), sin($1/5), $1}'},
options => [qw(--lines --points),
qw(--3d --domain --zmin -5 --zmax 45 --zlabel z),
'--extracmds', 'set view 60,30', '--square_xy'],
@@ -614,7 +608,7 @@ tryplot( testname => '3d spiral with bounds, labels, square xy aspect ratio',
EOF
tryplot( testname => 'Monotonicity check',
cmd => q{seq 10 | gawk '{print (NR-1)%5,NR}'},
cmd => q{seq 10 | awk '{print (NR-1)%5,NR}'},
options => [qw(--lines --points --domain --monotonic)],
refplot => <<'EOF' );
@@ -661,7 +655,7 @@ EOF
tryplot( testname => 'basic --timefmt plot',
cmd => q{seq 5 | gawk '{print strftime("%d %b %Y %T",1382249107+$1,1),$1}'},
cmd => q{seq 5 | awk '{print strftime("%d %b %Y %T",1382249107+$1,1),$1}'},
options => ['--domain', '--timefmt', '%d %b %Y %H:%M:%S'],
refplot => <<'EOF' );
@@ -707,7 +701,7 @@ tryplot( testname => 'basic --timefmt plot',
EOF
tryplot( testname => '--timefmt plot with bounds',
cmd => q{seq 5 | gawk '{print strftime("%d %b %Y %T",1382249107+$1,1),$1}'},
cmd => q{seq 5 | awk '{print strftime("%d %b %Y %T",1382249107+$1,1),$1}'},
options => ['--domain', '--timefmt', '%d %b %Y %H:%M:%S',
'--xmin', '20 Oct 2013 06:05:00',
'--xmax', '20 Oct 2013 06:05:20'],
@@ -755,7 +749,7 @@ tryplot( testname => '--timefmt plot with bounds',
EOF
tryplot( testname => '--timefmt plot with --monotonic',
cmd => q{seq 10 | gawk '{x=(NR-1)%5; print strftime("%d %b %Y %T",1382249107+x,1),$1}'},
cmd => q{seq 10 | awk '{x=(NR-1)%5; print strftime("%d %b %Y %T",1382249107+x,1),$1}'},
options => ['--domain', '--timefmt', '%d %b %Y %H:%M:%S',
'--monotonic'],
refplot => <<'EOF' );
@@ -801,57 +795,10 @@ tryplot( testname => '--timefmt plot with --monotonic',
EOF
tryplot( testname => '--timefmt with custom rangesize',
cmd => q{seq 5 | gawk '{print strftime("%d %b %Y %T",1382249107+$1,1),$1,$1/10}'},
options => ['--domain', '--timefmt', '%d %b %Y %H:%M:%S',
qw(--with errorbars --rangesizeall 2)],
refplot => <<'EOF' );
5.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------**
+ + + + + + + + *
| *
5 ++ +A
| *
| *
| *
4.5 ++ **
| *** |
| * |
4 ++ A ++
| * |
| * |
| *** |
3.5 ++ ++
| *** |
| * |
3 ++ A ++
| * |
| * |
| *** |
2.5 ++ ++
| |
| *** |
2 ++ A ++
| * |
| *** |
| |
1.5 ++ ++
| |
| |
1 A* ++
** |
| |
+ + + + + + + + +
0.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------++
05:08 05:08 05:09 05:09 05:10 05:10 05:11 05:11 05:12
EOF
tryplot( testname => 'Error bars (using extraValuesPerPoint)',
cmd => q{seq 5 | gawk '{print $1,$1,$1/10}'},
cmd => q{seq 5 | awk '{print $1,$1,$1/10}'},
options => [qw(--domain),
qw(--extraValuesPerPoint 1 --with errorbars)],
qw(--extraValuesPerPoint 1 --curvestyle 0), 'with errorbars'],
refplot => <<'EOF' );
@@ -896,103 +843,6 @@ tryplot( testname => 'Error bars (using extraValuesPerPoint)',
EOF
tryplot( testname => 'Error bars (using rangesizeall)',
cmd => q{seq 5 | gawk '{print $1,$1,$1/10}'},
options => [qw(--domain),
qw(--rangesizeall 2 --with errorbars)],
refplot => <<'EOF' );
5.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------**
+ + + + + + + + *
| *
5 ++ +A
| *
| *
| *
4.5 ++ **
| *** |
| * |
4 ++ A ++
| * |
| * |
| *** |
3.5 ++ ++
| *** |
| * |
3 ++ A ++
| * |
| * |
| *** |
2.5 ++ ++
| |
| *** |
2 ++ A ++
| * |
| *** |
| |
1.5 ++ ++
| |
| |
1 A* ++
** |
| |
+ + + + + + + + +
0.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------++
1 1.5 2 2.5 3 3.5 4 4.5 5
EOF
tryplot( testname => 'Error bars (using rangesize, rangesizeall)',
cmd => q{seq 5 | gawk '{print $1,"vert",$1,$1/10,"horiz",5-$1,$1-$1/5,$1+$1/20}'},
options => [qw(--domain --dataid),
qw(--rangesize vert 2 --rangesizeall 3 --with xerrorbars --style vert), 'with errorbars',
qw(--xmin 1 --xmax 5 --ymin 0.5 --ymax 5.5)],
refplot => <<'EOF' );
+-----------+----------+-----------+----------+-----------+----------+-----------+---------**
+ + + + + + + + *
| *
5 ++ +A
| *
| *
| *
| **
| *** |
## * |
4 B# A ++
## * |
| * |
| *** |
| |
| *** |
| # # * |
3 ++ #########B## A ++
| # # * |
| * |
| *** |
| |
| |
| *** # # |
2 ++ A ##############B### ++
| * # # |
| *** |
| |
| |
| |
| # # |
1 A* ##################B##### ++
** # # |
| |
+ + + + + + + + +
+-----------+----------+-----------+----------+-----------+----------+-----------+----------+
1 1.5 2 2.5 3 3.5 4 4.5 5
EOF
SKIP:
{
@@ -1010,7 +860,7 @@ skip "Skipping unreliable tests. Set RUN_ALL_TESTS environment variable to run t
tryplot( testname => 'Histogram plot',
cmd => q{seq 50 | gawk '{print $1*$1}'},
cmd => q{seq 50 | awk '{print $1*$1}'},
options => [qw(--lines --points),
qw(--histo 0 --binwidth 50 --ymin 0 --curvestyleall), 'with boxes'],
refplot => <<'EOF' );
@@ -1057,7 +907,7 @@ tryplot( testname => 'Histogram plot',
EOF
tryplot( testname => 'Cumulative histogram',
cmd => q{seq 50 | gawk '{print $1*$1}'},
cmd => q{seq 50 | awk '{print $1*$1}'},
options => [qw(--lines --points),
qw(--histo 0 --histstyle cum --binwidth 50 --ymin 0 --curvestyleall), 'with boxes'],
refplot => <<'EOF' );
@@ -1104,7 +954,7 @@ tryplot( testname => 'Cumulative histogram',
EOF
tryplot( testname => 'Circles',
cmd => q{seq 5 | gawk '{print $1,$1,$1/10}'},
cmd => q{seq 5 | awk '{print $1,$1,$1/10}'},
options => [qw(--circles --domain)],
refplot => <<'EOF' );
@@ -1158,7 +1008,7 @@ note( "Starting to run streaming tests. These will take several seconds each" );
# points, and then "exit", so I should have two frames worth of data plotted. I
# pre-send a 0 so that the gnuplot autoscaling is always well-defined
tryplot( testname => 'basic streaming test',
cmd => q{seq 500 | gawk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 1.2");}'},
cmd => q{seq 500 | awk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 1.2");}'},
options => [qw(--lines --points --stream)],
refplot => <<'EOF' );
@@ -1244,7 +1094,7 @@ tryplot( testname => 'basic streaming test',
EOF
tryplot( testname => 'basic streaming test, twice as fast',
cmd => q{seq 500 | gawk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 0.6");}'},
cmd => q{seq 500 | awk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 0.6");}'},
options => [qw(--lines --points --stream 0.4)],
refplot => <<'EOF' );
@@ -1331,7 +1181,7 @@ EOF
tryplot( testname => 'streaming with --xlen',
cmd => q{seq 500 | gawk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 0.6");}'},
cmd => q{seq 500 | awk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 0.6");}'},
options => [qw(--lines --points --stream 0.4 --xlen 1.1)],
refplot => <<'EOF' );
@@ -1417,7 +1267,7 @@ tryplot( testname => 'streaming with --xlen',
EOF
tryplot( testname => 'streaming with --monotonic',
cmd => q{seq 500 | gawk '{if(NR==11) {print "exit";} else {x=(NR-1)%5; if(x==0) {print -1,-1;} print x,NR;}; fflush(); system("sleep 0.6");}'},
cmd => q{seq 500 | awk '{if(NR==11) {print "exit";} else {x=(NR-1)%5; if(x==0) {print -1,-1;} print x,NR;}; fflush(); system("sleep 0.6");}'},
options => [qw(--lines --points --stream 0.4 --domain --monotonic)],
refplot => <<'EOF' );
@@ -1823,7 +1673,7 @@ tryplot( testname => 'streaming with --monotonic',
EOF
tryplot( testname => '--timefmt streaming plot with --xlen',
cmd => q{seq 5 | gawk 'BEGIN{ print strftime("%d %b %Y %T",1382249107-1,1),-4;} {if(NR==3) {print "exit";} else{ print strftime("%d %b %Y %T",1382249107+$1,1),$1;} fflush(); system("sleep 0.6")}'},
cmd => q{seq 5 | awk 'BEGIN{ print strftime("%d %b %Y %T",1382249107-1,1),-4;} {if(NR==3) {print "exit";} else{ print strftime("%d %b %Y %T",1382249107+$1,1),$1;} fflush(); system("sleep 0.6")}'},
options => ['--points', '--lines',
'--domain', '--timefmt', '%d %b %Y %H:%M:%S',
qw(--stream 0.4 --xlen 3)],
@@ -1911,7 +1761,7 @@ tryplot( testname => '--timefmt streaming plot with --xlen',
EOF
tryplot( testname => '--timefmt streaming plot with --monotonic',
cmd => q{seq 10 | gawk '{x=(NR-1)%5; if(x==0) {print strftime("%d %b %Y %T",1382249107-1,-4),-4;} print strftime("%d %b %Y %T",1382249107+x,1),NR; fflush(); system("sleep 0.6")}'},
cmd => q{seq 10 | awk '{x=(NR-1)%5; if(x==0) {print strftime("%d %b %Y %T",1382249107-1,-4),-4;} print strftime("%d %b %Y %T",1382249107+x,1),NR; fflush(); system("sleep 0.6")}'},
options => ['--points', '--lines',
'--domain', '--timefmt', '%d %b %Y %H:%M:%S',
qw(--stream 0.4 --monotonic)],
@@ -2327,7 +2177,7 @@ sub tryplot
my %args = @_;
my @options = ('--exit',
qw(--unset grid),
'--extracmds', 'unset grid',
'--terminal', 'dumb 100,40');
unshift @options, @{$args{options}};