.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "PRISTINE-GZ 1" .TH PRISTINE-GZ 1 2024-03-12 "perl v5.38.2" pristine-gz .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME pristine\-gz \- regenerate pristine gz files .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBpristine-gz\fR [OPTIONS] gendelta \fIfile.gz\fR \fIdelta\fR .PP \&\fBpristine-gz\fR [OPTIONS] gengz \fIdelta\fR \fIfile\fR .SH DESCRIPTION .IX Header "DESCRIPTION" This is a complement to the \fBpristine\-tar\fR\|(1) command. Normally you don't need to run it by hand, since pristine-tar calls it as necessary to handle \&.tar.gz files. .PP pristine-gz gendelta takes the specified \fIgz\fR file, and generates a small binary \fIdelta\fR file that can later be used by pristine-gz gengz to recreate the original file. .PP pristine-gz gengz takes the specified \fIdelta\fR file, and compresses the specified input \fIfile\fR (which must be identical to the contents of the original gz file). The resulting file will be identical to the original gz file used to create the delta. .PP The approach used to regenerate the original gz file is to figure out how it was produced \-\- what compression level was used, whether it was built with GNU \fBgzip\fR\|(1) or with a library or BSD version, whether the \-\-rsyncable option was used, etc, and to reproduce this build environment when regenerating the gz. .PP This approach will work for about 99.5% of cases. One example of a case it cannot currently support is a gz file that has been produced by appending together multiple gz files. .PP For the few where it doesn't work, a binary diff will be included in the delta between the closest regneratable gz file and the original. In the worst case, the diff will include the entire content of the original gz file, resulting in a larger than usual delta. If the delta is much larger than usual, pristine-gz will print a warning. .PP If the delta filename is "\-", pristine-gz reads or writes it to stdio. .SH OPTIONS .IX Header "OPTIONS" .IP \-v 4 .IX Item "-v" .PD 0 .IP \-\-verbose 4 .IX Item "--verbose" .PD Verbose mode, show each command that is run. .IP \-d 4 .IX Item "-d" .PD 0 .IP \-\-debug 4 .IX Item "--debug" .PD Debug mode. .IP \-k 4 .IX Item "-k" .PD 0 .IP \-\-keep 4 .IX Item "--keep" .PD Don't clean up the temporary directory on exit. .SH ENVIRONMENT .IX Header "ENVIRONMENT" .IP \fBTMPDIR\fR 4 .IX Item "TMPDIR" Specifies a location to place temporary files, other than the default. .SH AUTHOR .IX Header "AUTHOR" Joey Hess , Faidon Liambotis Josh Triplett .PP Licensed under the GPL, version 2.