This package was debianized by Nathan Scott nathans@debian.org on
Sun, 19 Nov 2000 07:37:09 -0500.

It can be downloaded from https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/

Copyright:

Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.

You are free to distribute this software under the terms of
the GNU General Public License.
On Debian systems, the complete text of the GNU General Public
License can be found in /usr/share/common-licenses/GPL file.

The library named "libhandle" and the headers in "xfslibs-dev" are
licensed under Version 2.1 of the GNU Lesser General Public License.
On Debian systems, refer to /usr/share/common-licenses/LGPL-2.1
for the complete text of the GNU Lesser General Public License.

