Merging upstream version 1.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
e8004a0f1c
commit
9c9717a683
29 changed files with 113 additions and 111 deletions
17
ChangeLog
17
ChangeLog
|
@ -1,15 +1,10 @@
|
||||||
2013-10-11 Antonio Diaz Diaz <antonio@gnu.org>
|
2014-02-01 Antonio Diaz Diaz <antonio@gnu.org>
|
||||||
|
|
||||||
* Version 1.2-pre3 released.
|
* Version 1.2 released.
|
||||||
* Removed zutils executable. Utils are now independent executables.
|
|
||||||
* zupdate.cc: Added new option '-k, --keep'.
|
|
||||||
* zupdate.cc: Ignore xz files if xz compressor is not installed.
|
|
||||||
* zgrep.cc: Fixed the exit status returned on error.
|
|
||||||
|
|
||||||
2013-09-04 Antonio Diaz Diaz <antonio@gnu.org>
|
|
||||||
|
|
||||||
* Version 1.2-pre2 released.
|
|
||||||
* Added new utility; zupdate.
|
* Added new utility; zupdate.
|
||||||
|
* Removed zutils executable. Utils are now independent executables.
|
||||||
|
* zgrep.cc: Fixed the exit status returned on error.
|
||||||
|
* zutils.texinfo: Renamed to zutils.texi.
|
||||||
|
|
||||||
2013-08-02 Antonio Diaz Diaz <antonio@gnu.org>
|
2013-08-02 Antonio Diaz Diaz <antonio@gnu.org>
|
||||||
|
|
||||||
|
@ -107,7 +102,7 @@
|
||||||
* Version 0.1 released.
|
* Version 0.1 released.
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This file is a collection of facts, and thus it is not copyrightable,
|
This file is a collection of facts, and thus it is not copyrightable,
|
||||||
but just in case, you have unlimited permission to copy, distribute and
|
but just in case, you have unlimited permission to copy, distribute and
|
||||||
|
|
14
INSTALL
14
INSTALL
|
@ -49,12 +49,12 @@ the main archive.
|
||||||
|
|
||||||
Another way
|
Another way
|
||||||
-----------
|
-----------
|
||||||
You can also compile zutils into a separate directory. To do this, you
|
You can also compile zutils into a separate directory.
|
||||||
must use a version of 'make' that supports the 'VPATH' variable, such
|
To do this, you must use a version of 'make' that supports the 'VPATH'
|
||||||
as GNU 'make'. 'cd' to the directory where you want the object files
|
variable, such as GNU 'make'. 'cd' to the directory where you want the
|
||||||
and executables to go and run the 'configure' script. 'configure'
|
object files and executables to go and run the 'configure' script.
|
||||||
automatically checks for the source code in '.', in '..' and in the
|
'configure' automatically checks for the source code in '.', in '..' and
|
||||||
directory that 'configure' is in.
|
in the directory that 'configure' is in.
|
||||||
|
|
||||||
'configure' recognizes the option '--srcdir=DIR' to control where to
|
'configure' recognizes the option '--srcdir=DIR' to control where to
|
||||||
look for the sources. Usually 'configure' can determine that directory
|
look for the sources. Usually 'configure' can determine that directory
|
||||||
|
@ -64,7 +64,7 @@ After running 'configure', you can run 'make' and 'make install' as
|
||||||
explained above.
|
explained above.
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This file is free documentation: you have unlimited permission to copy,
|
This file is free documentation: you have unlimited permission to copy,
|
||||||
distribute and modify it.
|
distribute and modify it.
|
||||||
|
|
14
Makefile.in
14
Makefile.in
|
@ -1,9 +1,9 @@
|
||||||
|
|
||||||
DISTNAME = $(pkgname)-$(pkgversion)
|
DISTNAME = $(pkgname)-$(pkgversion)
|
||||||
INSTALL = install
|
INSTALL = install
|
||||||
INSTALL_PROGRAM = $(INSTALL) -p -m 755
|
INSTALL_PROGRAM = $(INSTALL) -m 755
|
||||||
INSTALL_SCRIPT = $(INSTALL) -p -m 755
|
INSTALL_SCRIPT = $(INSTALL) -m 755
|
||||||
INSTALL_DATA = $(INSTALL) -p -m 644
|
INSTALL_DATA = $(INSTALL) -m 644
|
||||||
INSTALL_DIR = $(INSTALL) -d -m 755
|
INSTALL_DIR = $(INSTALL) -d -m 755
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
@ -80,8 +80,8 @@ doc : info man
|
||||||
|
|
||||||
info : $(VPATH)/doc/$(pkgname).info
|
info : $(VPATH)/doc/$(pkgname).info
|
||||||
|
|
||||||
$(VPATH)/doc/$(pkgname).info : $(VPATH)/doc/$(pkgname).texinfo
|
$(VPATH)/doc/$(pkgname).info : $(VPATH)/doc/$(pkgname).texi
|
||||||
cd $(VPATH)/doc && makeinfo $(pkgname).texinfo
|
cd $(VPATH)/doc && makeinfo $(pkgname).texi
|
||||||
|
|
||||||
man : $(VPATH)/doc/zcat.1 $(VPATH)/doc/zcmp.1 $(VPATH)/doc/zdiff.1 \
|
man : $(VPATH)/doc/zcat.1 $(VPATH)/doc/zcmp.1 $(VPATH)/doc/zdiff.1 \
|
||||||
$(VPATH)/doc/zgrep.1 $(VPATH)/doc/ztest.1 $(VPATH)/doc/zupdate.1
|
$(VPATH)/doc/zgrep.1 $(VPATH)/doc/ztest.1 $(VPATH)/doc/zupdate.1
|
||||||
|
@ -177,7 +177,7 @@ uninstall-man :
|
||||||
|
|
||||||
dist : doc
|
dist : doc
|
||||||
ln -sf $(VPATH) $(DISTNAME)
|
ln -sf $(VPATH) $(DISTNAME)
|
||||||
tar -cvf $(DISTNAME).tar \
|
tar -Hustar --owner=root --group=root -cvf $(DISTNAME).tar \
|
||||||
$(DISTNAME)/AUTHORS \
|
$(DISTNAME)/AUTHORS \
|
||||||
$(DISTNAME)/COPYING \
|
$(DISTNAME)/COPYING \
|
||||||
$(DISTNAME)/ChangeLog \
|
$(DISTNAME)/ChangeLog \
|
||||||
|
@ -188,7 +188,7 @@ dist : doc
|
||||||
$(DISTNAME)/configure \
|
$(DISTNAME)/configure \
|
||||||
$(DISTNAME)/doc/*.1 \
|
$(DISTNAME)/doc/*.1 \
|
||||||
$(DISTNAME)/doc/$(pkgname).info \
|
$(DISTNAME)/doc/$(pkgname).info \
|
||||||
$(DISTNAME)/doc/$(pkgname).texinfo \
|
$(DISTNAME)/doc/$(pkgname).texi \
|
||||||
$(DISTNAME)/testsuite/check.sh \
|
$(DISTNAME)/testsuite/check.sh \
|
||||||
$(DISTNAME)/testsuite/test.txt \
|
$(DISTNAME)/testsuite/test.txt \
|
||||||
$(DISTNAME)/testsuite/test.txt.tar \
|
$(DISTNAME)/testsuite/test.txt.tar \
|
||||||
|
|
8
NEWS
8
NEWS
|
@ -1,9 +1,11 @@
|
||||||
Changes in version 1.2:
|
Changes in version 1.2:
|
||||||
|
|
||||||
The zutils executable has been removed. All utilities are now
|
|
||||||
independent executables.
|
|
||||||
|
|
||||||
The new utility zupdate, which recompresses bzip2, gzip and xz files to
|
The new utility zupdate, which recompresses bzip2, gzip and xz files to
|
||||||
lzip format, has been added.
|
lzip format, has been added.
|
||||||
|
|
||||||
|
The zutils executable has been removed. All utilities are now
|
||||||
|
independent executables.
|
||||||
|
|
||||||
The exit status of zgrep should now be identical to that of grep.
|
The exit status of zgrep should now be identical to that of grep.
|
||||||
|
|
||||||
|
"zutils.texinfo" has been renamed to "zutils.texi".
|
||||||
|
|
2
README
2
README
|
@ -27,7 +27,7 @@ have been compressed. Decompressed is used to refer to data which has
|
||||||
undergone the process of decompression.
|
undergone the process of decompression.
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This file is free documentation: you have unlimited permission to copy,
|
This file is free documentation: you have unlimited permission to copy,
|
||||||
distribute and modify it.
|
distribute and modify it.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Arg_parser - POSIX/GNU command line argument parser. (C++ version)
|
/* Arg_parser - POSIX/GNU command line argument parser. (C++ version)
|
||||||
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
||||||
Antonio Diaz Diaz.
|
Antonio Diaz Diaz.
|
||||||
|
|
||||||
This library is free software: you can redistribute it and/or modify
|
This library is free software: you can redistribute it and/or modify
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Arg_parser - POSIX/GNU command line argument parser. (C++ version)
|
/* Arg_parser - POSIX/GNU command line argument parser. (C++ version)
|
||||||
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
||||||
Antonio Diaz Diaz.
|
Antonio Diaz Diaz.
|
||||||
|
|
||||||
This library is free software: you can redistribute it and/or modify
|
This library is free software: you can redistribute it and/or modify
|
||||||
|
|
8
configure
vendored
8
configure
vendored
|
@ -1,13 +1,13 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# configure script for Zutils - Utilities dealing with compressed files
|
# configure script for Zutils - Utilities dealing with compressed files
|
||||||
# Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
#
|
#
|
||||||
# This configure script is free software: you have unlimited permission
|
# This configure script is free software: you have unlimited permission
|
||||||
# to copy, distribute and modify it.
|
# to copy, distribute and modify it.
|
||||||
|
|
||||||
pkgname=zutils
|
pkgname=zutils
|
||||||
pkgversion=1.2-pre3
|
pkgversion=1.2
|
||||||
srctrigger=doc/${pkgname}.texinfo
|
srctrigger=doc/${pkgname}.texi
|
||||||
|
|
||||||
# clear some things potentially inherited from environment.
|
# clear some things potentially inherited from environment.
|
||||||
LC_ALL=C
|
LC_ALL=C
|
||||||
|
@ -177,7 +177,7 @@ echo "GREP = ${GREP}"
|
||||||
rm -f Makefile
|
rm -f Makefile
|
||||||
cat > Makefile << EOF
|
cat > Makefile << EOF
|
||||||
# Makefile for Zutils - Utilities dealing with compressed files
|
# Makefile for Zutils - Utilities dealing with compressed files
|
||||||
# Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
# This file was generated automatically by configure. Do not edit.
|
# This file was generated automatically by configure. Do not edit.
|
||||||
#
|
#
|
||||||
# This Makefile is free software: you have unlimited permission
|
# This Makefile is free software: you have unlimited permission
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
||||||
.TH ZCAT "1" "October 2013" "Zcat (zutils) 1.2-pre3" "User Commands"
|
.TH ZCAT "1" "February 2014" "Zcat (zutils) 1.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
Zcat \- decompress and concatenate files to standard output
|
Zcat \- decompress and concatenate files to standard output
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -84,7 +84,7 @@ Report bugs to zutils\-bug@nongnu.org
|
||||||
.br
|
.br
|
||||||
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
Copyright \(co 2013 Antonio Diaz Diaz.
|
Copyright \(co 2014 Antonio Diaz Diaz.
|
||||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||||
.br
|
.br
|
||||||
This is free software: you are free to change and redistribute it.
|
This is free software: you are free to change and redistribute it.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
||||||
.TH ZCMP "1" "October 2013" "Zcmp (zutils) 1.2-pre3" "User Commands"
|
.TH ZCMP "1" "February 2014" "Zcmp (zutils) 1.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
Zcmp \- decompress and compare two files byte by byte
|
Zcmp \- decompress and compare two files byte by byte
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -82,7 +82,7 @@ Report bugs to zutils\-bug@nongnu.org
|
||||||
.br
|
.br
|
||||||
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
Copyright \(co 2013 Antonio Diaz Diaz.
|
Copyright \(co 2014 Antonio Diaz Diaz.
|
||||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||||
.br
|
.br
|
||||||
This is free software: you are free to change and redistribute it.
|
This is free software: you are free to change and redistribute it.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
||||||
.TH ZDIFF "1" "October 2013" "Zdiff (zutils) 1.2-pre3" "User Commands"
|
.TH ZDIFF "1" "February 2014" "Zdiff (zutils) 1.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
Zdiff \- decompress and compare two files line by line
|
Zdiff \- decompress and compare two files line by line
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -109,7 +109,7 @@ Report bugs to zutils\-bug@nongnu.org
|
||||||
.br
|
.br
|
||||||
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
Copyright \(co 2013 Antonio Diaz Diaz.
|
Copyright \(co 2014 Antonio Diaz Diaz.
|
||||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||||
.br
|
.br
|
||||||
This is free software: you are free to change and redistribute it.
|
This is free software: you are free to change and redistribute it.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
||||||
.TH ZGREP "1" "October 2013" "Zgrep (zutils) 1.2-pre3" "User Commands"
|
.TH ZGREP "1" "February 2014" "Zgrep (zutils) 1.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
Zgrep \- search compressed files for a regular expression
|
Zgrep \- search compressed files for a regular expression
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -127,7 +127,7 @@ Report bugs to zutils\-bug@nongnu.org
|
||||||
.br
|
.br
|
||||||
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
Copyright \(co 2013 Antonio Diaz Diaz.
|
Copyright \(co 2014 Antonio Diaz Diaz.
|
||||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||||
.br
|
.br
|
||||||
This is free software: you are free to change and redistribute it.
|
This is free software: you are free to change and redistribute it.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
||||||
.TH ZTEST "1" "October 2013" "Ztest (zutils) 1.2-pre3" "User Commands"
|
.TH ZTEST "1" "February 2014" "Ztest (zutils) 1.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
Ztest \- verify integrity of compressed files
|
Ztest \- verify integrity of compressed files
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -58,7 +58,7 @@ Report bugs to zutils\-bug@nongnu.org
|
||||||
.br
|
.br
|
||||||
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
Copyright \(co 2013 Antonio Diaz Diaz.
|
Copyright \(co 2014 Antonio Diaz Diaz.
|
||||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||||
.br
|
.br
|
||||||
This is free software: you are free to change and redistribute it.
|
This is free software: you are free to change and redistribute it.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
|
||||||
.TH ZUPDATE "1" "October 2013" "Zupdate (zutils) 1.2-pre3" "User Commands"
|
.TH ZUPDATE "1" "February 2014" "Zupdate (zutils) 1.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
Zupdate \- recompress bzip2, gzip, xz files to lzip files
|
Zupdate \- recompress bzip2, gzip, xz files to lzip files
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -17,10 +17,10 @@ appropriate for long\-term data archiving.
|
||||||
.PP
|
.PP
|
||||||
If the lzip compressed version of a file already exists, the file is
|
If the lzip compressed version of a file already exists, the file is
|
||||||
skipped unless the '\-\-force' option is given. In this case, if the
|
skipped unless the '\-\-force' option is given. In this case, if the
|
||||||
comparison fails, an error is returned and the original file is not
|
comparison with the existing lzip version fails, an error is returned
|
||||||
deleted. The operation of zupdate is meant to be safe and not produce
|
and the original file is not deleted. The operation of zupdate is meant
|
||||||
any data loss. Therefore, existing lzip compressed files are never
|
to be safe and not produce any data loss. Therefore, existing lzip
|
||||||
overwritten nor deleted.
|
compressed files are never overwritten nor deleted.
|
||||||
.PP
|
.PP
|
||||||
Exit status is 0 if all the compressed files were successfully
|
Exit status is 0 if all the compressed files were successfully
|
||||||
recompressed (if needed), compared and deleted. Non\-zero otherwise.
|
recompressed (if needed), compared and deleted. Non\-zero otherwise.
|
||||||
|
@ -72,7 +72,7 @@ Report bugs to zutils\-bug@nongnu.org
|
||||||
.br
|
.br
|
||||||
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
Zutils home page: http://www.nongnu.org/zutils/zutils.html
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
Copyright \(co 2013 Antonio Diaz Diaz.
|
Copyright \(co 2014 Antonio Diaz Diaz.
|
||||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||||
.br
|
.br
|
||||||
This is free software: you are free to change and redistribute it.
|
This is free software: you are free to change and redistribute it.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
This is zutils.info, produced by makeinfo version 4.13+ from
|
This is zutils.info, produced by makeinfo version 4.13+ from
|
||||||
zutils.texinfo.
|
zutils.texi.
|
||||||
|
|
||||||
INFO-DIR-SECTION Data Compression
|
INFO-DIR-SECTION Data Compression
|
||||||
START-INFO-DIR-ENTRY
|
START-INFO-DIR-ENTRY
|
||||||
|
@ -12,7 +12,7 @@ File: zutils.info, Node: Top, Next: Introduction, Up: (dir)
|
||||||
Zutils Manual
|
Zutils Manual
|
||||||
*************
|
*************
|
||||||
|
|
||||||
This manual is for Zutils (version 1.2-pre3, 11 October 2013).
|
This manual is for Zutils (version 1.2, 1 February 2014).
|
||||||
|
|
||||||
* Menu:
|
* Menu:
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ This manual is for Zutils (version 1.2-pre3, 11 October 2013).
|
||||||
* Concept index:: Index of concepts
|
* Concept index:: Index of concepts
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This manual is free documentation: you have unlimited permission to
|
This manual is free documentation: you have unlimited permission to
|
||||||
copy, distribute and modify it.
|
copy, distribute and modify it.
|
||||||
|
@ -607,10 +607,10 @@ long-term data archiving.
|
||||||
|
|
||||||
If the lzip compressed version of a file already exists, the file is
|
If the lzip compressed version of a file already exists, the file is
|
||||||
skipped unless the '--force' option is given. In this case, if the
|
skipped unless the '--force' option is given. In this case, if the
|
||||||
comparison fails, an error is returned and the original file is not
|
comparison with the existing lzip version fails, an error is returned
|
||||||
deleted. The operation of zupdate is meant to be safe and not produce
|
and the original file is not deleted. The operation of zupdate is meant
|
||||||
any data loss. Therefore, existing lzip compressed files are never
|
to be safe and not produce any data loss. Therefore, existing lzip
|
||||||
overwritten nor deleted.
|
compressed files are never overwritten nor deleted.
|
||||||
|
|
||||||
The names of the original files must have one of the following
|
The names of the original files must have one of the following
|
||||||
extensions: '.bz2', '.tbz', '.tbz2', '.gz', '.tgz', '.xz', '.txz'. The
|
extensions: '.bz2', '.tbz', '.tbz2', '.gz', '.tgz', '.xz', '.txz'. The
|
||||||
|
@ -629,8 +629,8 @@ recompressed (if needed), compared and deleted. Non-zero otherwise.
|
||||||
'--force'
|
'--force'
|
||||||
Do not skip a file for which a lzip compressed version already
|
Do not skip a file for which a lzip compressed version already
|
||||||
exists. '--force' compares the content of the input file with the
|
exists. '--force' compares the content of the input file with the
|
||||||
content of the lzip file and deletes the input file if both
|
content of the existing lzip file and deletes the input file if
|
||||||
contents are identical.
|
both contents are identical.
|
||||||
|
|
||||||
'-k'
|
'-k'
|
||||||
'--keep'
|
'--keep'
|
||||||
|
@ -675,7 +675,7 @@ for all eternity, if not longer.
|
||||||
|
|
||||||
If you find a bug in zutils, please send electronic mail to
|
If you find a bug in zutils, please send electronic mail to
|
||||||
<zutils-bug@nongnu.org>. Include the version number, which you can find
|
<zutils-bug@nongnu.org>. Include the version number, which you can find
|
||||||
by running 'zcmp --version'.
|
by running 'zupdate --version'.
|
||||||
|
|
||||||
|
|
||||||
File: zutils.info, Node: Concept index, Prev: Problems, Up: Top
|
File: zutils.info, Node: Concept index, Prev: Problems, Up: Top
|
||||||
|
@ -701,18 +701,18 @@ Concept index
|
||||||
|
|
||||||
|
|
||||||
Tag Table:
|
Tag Table:
|
||||||
Node: Top225
|
Node: Top222
|
||||||
Node: Introduction1156
|
Node: Introduction1154
|
||||||
Node: Common options3259
|
Node: Common options3257
|
||||||
Node: The zutilsrc file4508
|
Node: The zutilsrc file4506
|
||||||
Node: Zcat5434
|
Node: Zcat5432
|
||||||
Node: Zcmp7356
|
Node: Zcmp7354
|
||||||
Node: Zdiff9680
|
Node: Zdiff9678
|
||||||
Node: Zgrep12183
|
Node: Zgrep12181
|
||||||
Node: Ztest15151
|
Node: Ztest15149
|
||||||
Node: Zupdate16375
|
Node: Zupdate16373
|
||||||
Node: Problems18708
|
Node: Problems18746
|
||||||
Node: Concept index19239
|
Node: Concept index19280
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
@finalout
|
@finalout
|
||||||
@c %**end of header
|
@c %**end of header
|
||||||
|
|
||||||
@set UPDATED 11 October 2013
|
@set UPDATED 1 February 2014
|
||||||
@set VERSION 1.2-pre3
|
@set VERSION 1.2
|
||||||
|
|
||||||
@dircategory Data Compression
|
@dircategory Data Compression
|
||||||
@direntry
|
@direntry
|
||||||
|
@ -49,7 +49,8 @@ This manual is for Zutils (version @value{VERSION}, @value{UPDATED}).
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@sp 1
|
@sp 1
|
||||||
Copyright @copyright{} 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright @copyright{} 2009, 2010, 2011, 2012, 2013, 2014
|
||||||
|
Antonio Diaz Diaz.
|
||||||
|
|
||||||
This manual is free documentation: you have unlimited permission
|
This manual is free documentation: you have unlimited permission
|
||||||
to copy, distribute and modify it.
|
to copy, distribute and modify it.
|
||||||
|
@ -660,10 +661,10 @@ long-term data archiving.
|
||||||
|
|
||||||
If the lzip compressed version of a file already exists, the file is
|
If the lzip compressed version of a file already exists, the file is
|
||||||
skipped unless the @samp{--force} option is given. In this case, if the
|
skipped unless the @samp{--force} option is given. In this case, if the
|
||||||
comparison fails, an error is returned and the original file is not
|
comparison with the existing lzip version fails, an error is returned
|
||||||
deleted. The operation of zupdate is meant to be safe and not produce
|
and the original file is not deleted. The operation of zupdate is meant
|
||||||
any data loss. Therefore, existing lzip compressed files are never
|
to be safe and not produce any data loss. Therefore, existing lzip
|
||||||
overwritten nor deleted.
|
compressed files are never overwritten nor deleted.
|
||||||
|
|
||||||
The names of the original files must have one of the following
|
The names of the original files must have one of the following
|
||||||
extensions: @samp{.bz2}, @samp{.tbz}, @samp{.tbz2}, @samp{.gz},
|
extensions: @samp{.bz2}, @samp{.tbz}, @samp{.tbz2}, @samp{.gz},
|
||||||
|
@ -687,8 +688,8 @@ Zupdate supports the following options:
|
||||||
@itemx --force
|
@itemx --force
|
||||||
Do not skip a file for which a lzip compressed version already exists.
|
Do not skip a file for which a lzip compressed version already exists.
|
||||||
@samp{--force} compares the content of the input file with the content
|
@samp{--force} compares the content of the input file with the content
|
||||||
of the lzip file and deletes the input file if both contents are
|
of the existing lzip file and deletes the input file if both contents
|
||||||
identical.
|
are identical.
|
||||||
|
|
||||||
@item -k
|
@item -k
|
||||||
@itemx --keep
|
@itemx --keep
|
||||||
|
@ -733,7 +734,7 @@ for all eternity, if not longer.
|
||||||
|
|
||||||
If you find a bug in zutils, please send electronic mail to
|
If you find a bug in zutils, please send electronic mail to
|
||||||
@email{zutils-bug@@nongnu.org}. Include the version number, which you can
|
@email{zutils-bug@@nongnu.org}. Include the version number, which you can
|
||||||
find by running @w{@samp{zcmp --version}}.
|
find by running @w{@samp{zupdate --version}}.
|
||||||
|
|
||||||
|
|
||||||
@node Concept index
|
@node Concept index
|
4
rc.cc
4
rc.cc
|
@ -1,5 +1,5 @@
|
||||||
/* Zutils - Utilities dealing with compressed files
|
/* Zutils - Utilities dealing with compressed files
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -37,7 +37,7 @@ int verbosity = 0;
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
const char * const config_file_name = "zutilsrc";
|
const char * const config_file_name = "zutilsrc";
|
||||||
const char * const program_year = "2013";
|
const char * const program_year = "2014";
|
||||||
|
|
||||||
std::string compressor_names[num_formats] =
|
std::string compressor_names[num_formats] =
|
||||||
{ "bzip2", "gzip", "lzip", "xz" }; // default compressor names
|
{ "bzip2", "gzip", "lzip", "xz" }; // default compressor names
|
||||||
|
|
2
rc.h
2
rc.h
|
@ -1,5 +1,5 @@
|
||||||
/* Zutils - Utilities dealing with compressed files
|
/* Zutils - Utilities dealing with compressed files
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Zutils - Utilities dealing with compressed files
|
/* Zutils - Utilities dealing with compressed files
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# check script for Zutils - Utilities dealing with compressed files
|
# check script for Zutils - Utilities dealing with compressed files
|
||||||
# Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
#
|
#
|
||||||
# This script is free software: you have unlimited permission
|
# This script is free software: you have unlimited permission
|
||||||
# to copy, distribute and modify it.
|
# to copy, distribute and modify it.
|
||||||
|
@ -232,7 +232,7 @@ printf .
|
||||||
printf .
|
printf .
|
||||||
"${ZDIFF}" -N -q --format=bz2 in.bz2 2> /dev/null
|
"${ZDIFF}" -N -q --format=bz2 in.bz2 2> /dev/null
|
||||||
if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi
|
if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi
|
||||||
"${ZDIFF}" -N -q --format=,lz in.lz in.bz2 > /dev/null 2> /dev/null
|
"${ZDIFF}" -N -q --format=,lz in.lz in.bz2 > /dev/null 2>&1
|
||||||
if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi
|
if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi
|
||||||
"${ZDIFF}" -N --bad-option 2> /dev/null
|
"${ZDIFF}" -N --bad-option 2> /dev/null
|
||||||
if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi
|
if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi
|
||||||
|
@ -347,7 +347,7 @@ cat in.bz2 > x.bz2 || framework_failure
|
||||||
cat in.gz > x.gz || framework_failure
|
cat in.gz > x.gz || framework_failure
|
||||||
"${ZUPDATE}" -N --bz2=bad_command x.bz2 2> /dev/null
|
"${ZUPDATE}" -N --bz2=bad_command x.bz2 2> /dev/null
|
||||||
if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi
|
if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi
|
||||||
"${ZUPDATE}" -N --bz2='bzip2 --bad-option' x.bz2 > /dev/null 2> /dev/null
|
"${ZUPDATE}" -N --bz2='bzip2 --bad-option' x.bz2 > /dev/null 2>&1
|
||||||
if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi
|
if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi
|
||||||
"${ZUPDATE}" -N --gz=bad_command x.gz 2> /dev/null
|
"${ZUPDATE}" -N --gz=bad_command x.gz 2> /dev/null
|
||||||
if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi
|
if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi
|
||||||
|
|
2
zcat.cc
2
zcat.cc
|
@ -1,5 +1,5 @@
|
||||||
/* Zcat - decompress and concatenate files to standard output
|
/* Zcat - decompress and concatenate files to standard output
|
||||||
Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
2
zcmp.cc
2
zcmp.cc
|
@ -1,5 +1,5 @@
|
||||||
/* Zcmp - decompress and compare two files byte by byte
|
/* Zcmp - decompress and compare two files byte by byte
|
||||||
Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Common code for Zcmp and Zdiff
|
/* Common code for Zcmp and Zdiff
|
||||||
Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -34,7 +34,7 @@ struct { const char * from; const char * to; } const known_extensions[] = {
|
||||||
|
|
||||||
int open_instream( const std::string & input_filename )
|
int open_instream( const std::string & input_filename )
|
||||||
{
|
{
|
||||||
int infd = open( input_filename.c_str(), O_RDONLY | O_BINARY );
|
const int infd = open( input_filename.c_str(), O_RDONLY | O_BINARY );
|
||||||
if( infd < 0 )
|
if( infd < 0 )
|
||||||
show_error2( "Can't open input file", input_filename.c_str() );
|
show_error2( "Can't open input file", input_filename.c_str() );
|
||||||
return infd;
|
return infd;
|
||||||
|
|
2
zdiff.cc
2
zdiff.cc
|
@ -1,5 +1,5 @@
|
||||||
/* Zdiff - decompress and compare two files line by line
|
/* Zdiff - decompress and compare two files line by line
|
||||||
Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
2
zgrep.cc
2
zgrep.cc
|
@ -1,5 +1,5 @@
|
||||||
/* Zgrep - search compressed files for a regular expression
|
/* Zgrep - search compressed files for a regular expression
|
||||||
Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
4
ztest.cc
4
ztest.cc
|
@ -1,5 +1,5 @@
|
||||||
/* Ztest - verify integrity of compressed files
|
/* Ztest - verify integrity of compressed files
|
||||||
Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -79,7 +79,7 @@ void show_help()
|
||||||
|
|
||||||
int open_instream( std::string & input_filename )
|
int open_instream( std::string & input_filename )
|
||||||
{
|
{
|
||||||
int infd = open( input_filename.c_str(), O_RDONLY | O_BINARY );
|
const int infd = open( input_filename.c_str(), O_RDONLY | O_BINARY );
|
||||||
if( infd < 0 )
|
if( infd < 0 )
|
||||||
show_error2( "Can't open input file", input_filename.c_str() );
|
show_error2( "Can't open input file", input_filename.c_str() );
|
||||||
return infd;
|
return infd;
|
||||||
|
|
22
zupdate.cc
22
zupdate.cc
|
@ -1,5 +1,5 @@
|
||||||
/* Zupdate - recompress bzip2, gzip, xz files to lzip files
|
/* Zupdate - recompress bzip2, gzip, xz files to lzip files
|
||||||
Copyright (C) 2013 Antonio Diaz Diaz.
|
Copyright (C) 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -60,10 +60,10 @@ void show_help()
|
||||||
"appropriate for long-term data archiving.\n"
|
"appropriate for long-term data archiving.\n"
|
||||||
"\nIf the lzip compressed version of a file already exists, the file is\n"
|
"\nIf the lzip compressed version of a file already exists, the file is\n"
|
||||||
"skipped unless the '--force' option is given. In this case, if the\n"
|
"skipped unless the '--force' option is given. In this case, if the\n"
|
||||||
"comparison fails, an error is returned and the original file is not\n"
|
"comparison with the existing lzip version fails, an error is returned\n"
|
||||||
"deleted. The operation of zupdate is meant to be safe and not produce\n"
|
"and the original file is not deleted. The operation of zupdate is meant\n"
|
||||||
"any data loss. Therefore, existing lzip compressed files are never\n"
|
"to be safe and not produce any data loss. Therefore, existing lzip\n"
|
||||||
"overwritten nor deleted.\n"
|
"compressed files are never overwritten nor deleted.\n"
|
||||||
"\nUsage: zupdate [options] [files]\n"
|
"\nUsage: zupdate [options] [files]\n"
|
||||||
"\nExit status is 0 if all the compressed files were successfully\n"
|
"\nExit status is 0 if all the compressed files were successfully\n"
|
||||||
"recompressed (if needed), compared and deleted. Non-zero otherwise.\n"
|
"recompressed (if needed), compared and deleted. Non-zero otherwise.\n"
|
||||||
|
@ -105,10 +105,14 @@ int cant_execute( const std::string & command, const int status )
|
||||||
void set_permissions( const char * const rname, const struct stat & in_stats )
|
void set_permissions( const char * const rname, const struct stat & in_stats )
|
||||||
{
|
{
|
||||||
bool warning = false;
|
bool warning = false;
|
||||||
// fchown will in many cases return with EPERM, which can be safely ignored.
|
const mode_t mode = in_stats.st_mode;
|
||||||
if( ( chown( rname, in_stats.st_uid, in_stats.st_gid ) != 0 &&
|
// chown will in many cases return with EPERM, which can be safely ignored.
|
||||||
errno != EPERM ) ||
|
if( chown( rname, in_stats.st_uid, in_stats.st_gid ) == 0 )
|
||||||
chmod( rname, in_stats.st_mode ) != 0 ) warning = true;
|
{ if( chmod( rname, mode ) != 0 ) warning = true; }
|
||||||
|
else
|
||||||
|
if( errno != EPERM ||
|
||||||
|
chmod( rname, mode & ~( S_ISUID | S_ISGID | S_ISVTX ) ) != 0 )
|
||||||
|
warning = true;
|
||||||
struct utimbuf t;
|
struct utimbuf t;
|
||||||
t.actime = in_stats.st_atime;
|
t.actime = in_stats.st_atime;
|
||||||
t.modtime = in_stats.st_mtime;
|
t.modtime = in_stats.st_mtime;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Zutils - Utilities dealing with compressed files
|
/* Zutils - Utilities dealing with compressed files
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -96,7 +96,7 @@ int readblock( const int fd, uint8_t * const buf, const int size )
|
||||||
const int n = read( fd, buf + size - rest, rest );
|
const int n = read( fd, buf + size - rest, rest );
|
||||||
if( n > 0 ) rest -= n;
|
if( n > 0 ) rest -= n;
|
||||||
else if( n == 0 ) break; // EOF
|
else if( n == 0 ) break; // EOF
|
||||||
else if( errno != EINTR && errno != EAGAIN ) break;
|
else if( errno != EINTR ) break;
|
||||||
errno = 0;
|
errno = 0;
|
||||||
}
|
}
|
||||||
return size - rest;
|
return size - rest;
|
||||||
|
@ -114,7 +114,7 @@ int writeblock( const int fd, const uint8_t * const buf, const int size )
|
||||||
{
|
{
|
||||||
const int n = write( fd, buf + size - rest, rest );
|
const int n = write( fd, buf + size - rest, rest );
|
||||||
if( n > 0 ) rest -= n;
|
if( n > 0 ) rest -= n;
|
||||||
else if( n < 0 && errno != EINTR && errno != EAGAIN ) break;
|
else if( n < 0 && errno != EINTR ) break;
|
||||||
errno = 0;
|
errno = 0;
|
||||||
}
|
}
|
||||||
return size - rest;
|
return size - rest;
|
||||||
|
|
2
zutils.h
2
zutils.h
|
@ -1,5 +1,5 @@
|
||||||
/* Zutils - Utilities dealing with compressed files
|
/* Zutils - Utilities dealing with compressed files
|
||||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
Loading…
Add table
Reference in a new issue