This directory contains the files needed to build the package
named 'PF_RING' for the Debian GNU/Linux distribution.

To build this package, you'll need this `debian' directory, and
`PF_RING-VERSION.tar.gz'. Put it in a directory called
`PF_RING-VERSION', and make sure that the `debian/rules' and
`debian/changelog' refer correctly to VERSION.  Then, you can
run dpkg-buildpackage, which will automatically unpack the tarballs,
and start the build.

It is suggested that you also read the `README' and `INSTALL' files in
the top-level of the PF_RING source tree.
