Introduction
************

This is the README for `pv' ("Pipe Viewer"), a terminal-based tool for
monitoring the progress of data through a pipeline.  It can be inserted into
any normal pipeline between two processes to give a visual indication of how
quickly data is passing through, how long it has taken, how near to
completion it is, and an estimate of how long it will be until completion.


Documentation
*************

A manual page is included in this distribution.  See `man ./doc/quickref.1',
or `man pv' after installation.


Compilation
***********

If you have downloaded `pv' from Subversion, first run "./generate.sh".

To compile the package, type "sh ./configure", which should generate a
Makefile for your system.  You may then type "make" to build everything.
Note that GNU `make' is required; this may be installed as `gmake' on some
systems, so if typing "make" gives an error, try "gmake" instead.

See the file `doc/INSTALL' for more about the `configure' script.

Developers note that you can do "./configure --enable-debugging" to cause
debugging support to be built in, and "--enable-profiling" builds in
profiling support (see "man gprof").  Also note that doing "make index" will
generate an HTML code index (using "ctags" and "cproto"); this index lists
all files used, all functions defined, and all TODOs marked in the code.


Author and acknowledgements
***************************

This package is copyright 2015 Andrew Wood, and is being distributed under
the terms of the Artistic License 2.0.  For more details of this license,
see the file `doc/COPYING'.

Report bugs in `pv' to pv@ivarch.com or use the contact form linked from the
home page.

The `pv' home page is at:

  http://www.ivarch.com/programs/pv.shtml

The latest version can always be found here.

Credit is also due to:

  Jakub Hrozek <jhrozek@redhat.com>
    - Fedora package maintainer

  Antoine BeauprÃ© <anarcat@debian.org>
    - Debian package maintainer

  Kevin Coyner <kcoyner@debian.org>
  CÃ©dric Delfosse <cedric@debian.org>
    - previous Debian package maintainers

  Eduardo Aguiar <eduardo.oliveira@sondabrasil.com.br>
    - provided Portuguese (Brazilian) translation

  StÃ©phane Lacasse <stephane@gorfou.ca>
    - provided French translation

  Marcos Kreinacke <public@kreinacke.com>
    - provided German translation

  Bartosz Feñski <fenio@o2.pl> <http://skawina.eu.org/>
    - provided Polish translation along with Krystian Zubel

  Joshua Jensen
    - reported RPM installation bug

  Boris Folgmann <http://www.folgmann.com/en/>
    - reported cursor handling bug

  Mathias Gumz
    - reported NLS bug

  Daniel Roethlisberger
    - submitted patch to use lockfiles for -c if terminal locking fails

  Adam Buchbinder
    - lots of help with a Cygwin port of -c

  Mark Tomich <http://metuchen.dyndns.org>
    - suggested -B option

  Gert Menke
    - reported bug when piping to dd with a large input buffer size

  Ville Herva <Ville.Herva@iki.fi>
    - informative bug report about rate limiting performance

  Elias Pipping
    - patch to compile properly on Darwin 9; potential NULL deref report

  Patrick Collison
    - similar patch for OS X

  Boris Lohner
    - reported problem that "-L" does not complain if given non-numeric value

  Sebastian Kayser
    - supplied testing for SIGPIPE, demonstrated internationalisation problem

  Laszlo Ersek <http://phptest11.atw.hu/>
    - reported shared memory leak on SIGINT with -c

  Phil Rutschman <http://bandgap.rsnsoft.com/>
    - provided a patch for fully restoring terminal state on exit

  Henry Precheur <http://henry.precheur.org/>
    - reporting and suggestions for --rate-limit bug when rate is under 10

  E. Rosten <http://mi.eng.cam.ac.uk/~er258/>
    - supplied patch for block buffering in line mode

  Kjetil Torgrim Homme
    - reported compilation error with default CFLAGS on non-GCC compilers

  Alexandre de Verteuil
    - reported bug in OS X build and supplied test environment to fix in

  Martin Baum
    - supplied patch to return nonzero exit status if terminated by signal

  Sam Nelson <http://www.siliconfuture.net/>
    - supplied patch to fix trailing slash on DESTDIR

  Daniel Pape
    - reported Cygwin installation problem due to DESTDIR

  Philipp Beckers
    - ported to the Syabas PopcornHour A-100 series

  Henry Gebhard <hsggebhardt@googlemail.com>
    - supplied patches to improve SI prefixes and add --average-rate

  Vladimir Kokarev, Alexander Leo
    - reported that exit status did not reflect file errors

  Thomas Rachel
    - submitted patches for IEEE1541 (MiB suffixes), 1+e03 bug

  Guillaume Marcais
    - submitted speedup patch for line mode

  Moritz Barsnick
    - submitted patch for compile warning in size calculation

  Pawel Piatek
    - submitted RPM and patches for AIX

  Sami Liedes
    - submitted patch for --timer and --bytes with --numeric

  Steven Willis
    - reported problem with "-R" killing non-PV remote processes

  Vladimir Pal, Vladimir Ermakov
    - submitted patch which led to development of --format option

  Peter Samuelson <peter@p12n.org>
    - submitted patch to calculate size if stdout is a block device

  Miguel Diaz
    - much Cygwin help (and packaging), found narrow-terminal bug

  Jim Salter <http://ubuntuwiki.net>
    - commissioned work on the --skip-errors option

  Wouter Pronk
    - reported build problem on SCO

  Bryan Dongray <http://www.dongrays.com>
    - provided patches for test scripts failing on older Red Hats

  Zev Weiss <www.bewilderbeest.net>
    - provided patch to fix splice() not using stdin

  Zing Shishak
    - provided patch for --null / -0 (count null terminated lines)

  Jacek Wielemborek <http://deetah.jogger.pl/kategorie/english>
    - implemented fdwatch in Python, suggested PV port
    - reported bug with "-l" and ETA / size
    - suggested common switches

  Kim Krecht
    - suggested buffer fill status and last bytes output display options

  Cristian Ciupitu <http://ciupicri.github.io>, Josh Stone
    - pointed out file descriptor leak with helpful suggestions
      (Josh Stone initially noticed the missing close)

  Jan Seda
    - found issue with splice() and SPLICE_F_NONBLOCK causing slowdown

  AndrÃ© Stapf
    - pointed out formatting problem e.g. 13GB -> 13.1GB which should be
      shown 13.0GB -> 13.1GB; highlighted on-startup row swapping in -c

  Damon Harper <http://www.usrbin.ca/>
    - suggested "-D" / "--delay-start" option

  GanaÃ«l Laplanche <http://www.martymac.org>
    - provided patch for lstat64 on systems that do not support it

  Peter Korsgaard <http://www.buildroot.net/>
    - provided similar patch for lstat64, specifically for uClibc support

  Ralf Ramsauer <https://blog.ramses-pyramidenbau.de/>
    - reported bug which dropped transfer rate on terminal resize

  Michiel Van Herwegen
    - reported and discussed bug with "-l" and ETA / size

  Erkki SeppÃ¤lÃ¤ <http://www.inside.org/~flux/>
    - provided patch implementing "-I"

  Eric A. Borisch
    - provided details of compatibility fix for "%Lu" in watchpid code

-----------------------------------------------------------------------------
