mirror of https://gitee.com/openkylin/bzip2.git
Import Debian changes 1.0.8-ok1
bzip2 (1.0.8-ok1) yangtze; urgency=medium * Sync kylin-desktop
This commit is contained in:
parent
04f6225752
commit
30acf19c57
|
@ -0,0 +1,182 @@
|
|||
#!/bin/sh
|
||||
# gzexe: compressor for Unix executables.
|
||||
# Use this only for binaries that you do not use frequently.
|
||||
#
|
||||
# The compressed version is a shell script which decompresses itself after
|
||||
# skipping $skip lines of shell commands. We try invoking the compressed
|
||||
# executable with the original name (for programs looking at their name).
|
||||
# We also try to retain the original file permissions on the compressed file.
|
||||
# For safety reasons, gzexe will not create setuid or setgid shell scripts.
|
||||
|
||||
# WARNING: the first line of this file must be either : or #!/bin/sh
|
||||
# The : is required for some old versions of csh.
|
||||
# On Ultrix, /bin/sh is too buggy, change the first line to: #!/bin/sh5
|
||||
|
||||
|
||||
# Copyright (C) 1998, 2002 Free Software Foundation
|
||||
# Copyright (C) 1993 Jean-loup Gailly
|
||||
|
||||
# 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
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
|
||||
PATH="/usr/bin:$PATH"
|
||||
x=`basename $0`
|
||||
if test $# = 0; then
|
||||
echo compress executables. original file foo is renamed to foo~
|
||||
echo usage: ${x} [-d] files...
|
||||
echo " -d decompress the executables"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -C
|
||||
tmp=gz$$
|
||||
trap "rm -f $tmp; exit 1" HUP INT QUIT TRAP USR1 PIPE TERM
|
||||
: > $tmp || exit 1
|
||||
|
||||
decomp=0
|
||||
res=0
|
||||
test "$x" = "ungzexe" && decomp=1
|
||||
if test "x$1" = "x-d"; then
|
||||
decomp=1
|
||||
shift
|
||||
fi
|
||||
|
||||
echo hi > zfoo1$$ || exit 1
|
||||
echo hi > zfoo2$$ || exit 1
|
||||
if test -z "`(${CPMOD-cpmod} zfoo1$$ zfoo2$$) 2>&1`"; then
|
||||
cpmod=${CPMOD-cpmod}
|
||||
fi
|
||||
rm -f zfoo[12]$$
|
||||
|
||||
tail=""
|
||||
IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test -f $dir/tail; then
|
||||
tail="$dir/tail"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$saveifs"
|
||||
if test -z "$tail"; then
|
||||
echo cannot find tail
|
||||
exit 1
|
||||
fi
|
||||
case `echo foo | $tail -n +1 2>/dev/null` in
|
||||
foo) tail="$tail -n";;
|
||||
esac
|
||||
|
||||
for i do
|
||||
if test ! -f "$i" ; then
|
||||
echo ${x}: $i not a file
|
||||
res=1
|
||||
continue
|
||||
fi
|
||||
if test $decomp -eq 0; then
|
||||
if sed -e 1d -e 2q "$i" | grep "^skip=[0-9]*$" >/dev/null; then
|
||||
echo "${x}: $i is already gzexe'd"
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
if ls -l "$i" | grep '^...[sS]' > /dev/null; then
|
||||
echo "${x}: $i has setuid permission, unchanged"
|
||||
continue
|
||||
fi
|
||||
if ls -l "$i" | grep '^......[sS]' > /dev/null; then
|
||||
echo "${x}: $i has setgid permission, unchanged"
|
||||
continue
|
||||
fi
|
||||
case "`basename $i`" in
|
||||
bzip2 | tail | sed | chmod | ln | sleep | rm)
|
||||
echo "${x}: $i would depend on itself"; continue ;;
|
||||
esac
|
||||
if test -z "$cpmod"; then
|
||||
cp -p "$i" $tmp 2>/dev/null || cp "$i" $tmp
|
||||
if test -w $tmp 2>/dev/null; then
|
||||
writable=1
|
||||
else
|
||||
writable=0
|
||||
chmod u+w $tmp 2>/dev/null
|
||||
fi
|
||||
: >| $tmp # truncate the file, ignoring set -C
|
||||
fi
|
||||
if test $decomp -eq 0; then
|
||||
sed 1q $0 >> $tmp
|
||||
sed "s|^if tail|if $tail|" >> $tmp <<'EOF'
|
||||
skip=23
|
||||
set -C
|
||||
umask=`umask`
|
||||
umask 77
|
||||
tmpfile=`tempfile -p gztmp -d /tmp` || exit 1
|
||||
if tail +$skip "$0" | /bin/bzip2 -cd >> $tmpfile; then
|
||||
umask $umask
|
||||
/bin/chmod 700 $tmpfile
|
||||
prog="`echo $0 | /bin/sed 's|^.*/||'`"
|
||||
if /bin/ln -T $tmpfile "/tmp/$prog" 2>/dev/null; then
|
||||
trap '/bin/rm -f $tmpfile "/tmp/$prog"; exit $res' 0
|
||||
(/bin/sleep 5; /bin/rm -f $tmpfile "/tmp/$prog") 2>/dev/null &
|
||||
/tmp/"$prog" ${1+"$@"}; res=$?
|
||||
else
|
||||
trap '/bin/rm -f $tmpfile; exit $res' 0
|
||||
(/bin/sleep 5; /bin/rm -f $tmpfile) 2>/dev/null &
|
||||
$tmpfile ${1+"$@"}; res=$?
|
||||
fi
|
||||
else
|
||||
echo Cannot decompress $0; exit 1
|
||||
fi; exit $res
|
||||
EOF
|
||||
bzip2 -cv9 "$i" >> $tmp || {
|
||||
/bin/rm -f $tmp
|
||||
echo ${x}: compression not possible for $i, file unchanged.
|
||||
res=1
|
||||
continue
|
||||
}
|
||||
|
||||
else
|
||||
# decompression
|
||||
skip=23
|
||||
if sed -e 1d -e 2q "$i" | grep "^skip=[0-9]*$" >/dev/null; then
|
||||
eval `sed -e 1d -e 2q "$i"`
|
||||
fi
|
||||
if tail +$skip "$i" | bzip2 -cd > $tmp; then
|
||||
:
|
||||
else
|
||||
echo ${x}: $i probably not in gzexe format, file unchanged.
|
||||
res=1
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
rm -f "$i~"
|
||||
mv "$i" "$i~" || {
|
||||
echo ${x}: cannot backup $i as $i~
|
||||
rm -f $tmp
|
||||
res=1
|
||||
continue
|
||||
}
|
||||
mv $tmp "$i" || cp -p $tmp "$i" 2>/dev/null || cp $tmp "$i" || {
|
||||
echo ${x}: cannot create $i
|
||||
rm -f $tmp
|
||||
res=1
|
||||
continue
|
||||
}
|
||||
rm -f $tmp
|
||||
if test -n "$cpmod"; then
|
||||
$cpmod "$i~" "$i" 2>/dev/null
|
||||
elif test $writable -eq 0; then
|
||||
chmod u-w $i 2>/dev/null
|
||||
fi
|
||||
done
|
||||
exit $res
|
|
@ -0,0 +1,43 @@
|
|||
.TH BZEXE 1
|
||||
.SH NAME
|
||||
bzexe \- compress executable files in place
|
||||
.SH SYNOPSIS
|
||||
.B bzexe
|
||||
[ name ... ]
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.I bzexe
|
||||
utility allows you to compress executables in place and have them
|
||||
automatically uncompress and execute when you run them (at a penalty
|
||||
in performance). For example if you execute ``bzexe /bin/cat'' it
|
||||
will create the following two files:
|
||||
.nf
|
||||
.br
|
||||
-r-xr-xr-x 1 root bin 9644 Feb 11 11:16 /bin/cat
|
||||
-r-xr-xr-x 1 bin bin 24576 Nov 23 13:21 /bin/cat~
|
||||
.fi
|
||||
/bin/cat~ is the original file and /bin/cat is the self-uncompressing
|
||||
executable file. You can remove /bin/cat~ once you are sure that
|
||||
/bin/cat works properly.
|
||||
.PP
|
||||
This utility is most useful on systems with very small disks.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-d
|
||||
Decompress the given executables instead of compressing them.
|
||||
.SH "SEE ALSO"
|
||||
bzip2(1), znew(1), zmore(1), zcmp(1), zforce(1)
|
||||
.SH CAVEATS
|
||||
The compressed executable is a shell script. This may create some
|
||||
security holes. In particular, the compressed executable relies
|
||||
on the PATH environment variable to find
|
||||
.I gzip
|
||||
and some other utilities
|
||||
.I (tail, chmod, ln, sleep).
|
||||
.SH "BUGS"
|
||||
.I bzexe
|
||||
attempts to retain the original file attributes on the compressed executable,
|
||||
but you may have to fix them manually in some cases, using
|
||||
.I chmod
|
||||
or
|
||||
.I chown.
|
|
@ -0,0 +1,23 @@
|
|||
Document: bzip2
|
||||
Title: bzip2 and libbzip2: a program and library for data compression
|
||||
Author: Julian Seward <jseward@acm.org>
|
||||
Abstract: bzip2 compresses files using the Burrows-Wheeler block-sorting
|
||||
text compression algorithm, and Huffman coding. Compression is generally
|
||||
considerably better than that achieved by more conventional
|
||||
LZ77/LZ78-based compressors, and approaches the performance of the PPM
|
||||
family of statistical compressors.
|
||||
Section: File Management
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/bzip2/manual.html
|
||||
Files: /usr/share/doc/bzip2/manual.html
|
||||
|
||||
Format: PDF
|
||||
Files: /usr/share/doc/bzip2/manual.pdf.gz
|
||||
|
||||
Format: PostScript
|
||||
Files: /usr/share/doc/bzip2/manual.ps.gz
|
||||
|
||||
Format: Info
|
||||
Index: /usr/share/doc/bzip2/manual.texi.gz
|
||||
Files: /usr/share/doc/bzip2/manual.texi.gz
|
|
@ -0,0 +1,4 @@
|
|||
*.pdf
|
||||
*.ps
|
||||
*.html
|
||||
*.texi
|
|
@ -0,0 +1 @@
|
|||
bzip2.info*
|
|
@ -0,0 +1,2 @@
|
|||
bin
|
||||
debian/bzexe bin
|
|
@ -0,0 +1,8 @@
|
|||
bin/bzdiff bin/bzcmp
|
||||
bin/bzgrep bin/bzegrep
|
||||
bin/bzgrep bin/bzfgrep
|
||||
bin/bzmore bin/bzless
|
||||
|
||||
usr/share/man/man1/bzip2.1.gz usr/share/man/man1/bunzip2.1.gz
|
||||
usr/share/man/man1/bzip2.1.gz usr/share/man/man1/bzcat.1.gz
|
||||
usr/share/man/man1/bzip2.1.gz usr/share/man/man1/bzip2recover.1.gz
|
|
@ -0,0 +1,2 @@
|
|||
man/man1/*
|
||||
debian/bzexe.1
|
|
@ -0,0 +1,5 @@
|
|||
bzip2 (1.0.8-ok1) yangtze; urgency=medium
|
||||
|
||||
* Sync kylin-desktop
|
||||
|
||||
-- Luo Yaoming <luoyaoming@kylinos.cn> Sun, 14 Aug 2022 13:53:59 +0800
|
|
@ -0,0 +1,5 @@
|
|||
*.sho
|
||||
libbz2.so*
|
||||
bzip2.info*
|
||||
manual.fmt
|
||||
manual.texi
|
|
@ -0,0 +1 @@
|
|||
11
|
|
@ -0,0 +1,95 @@
|
|||
Source: bzip2
|
||||
Section: utils
|
||||
Priority: important
|
||||
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
|
||||
Uploaders: Santiago Ruano Rincón <santiago@debian.org>,
|
||||
Anthony Fok <foka@debian.org>
|
||||
Standards-Version: 4.2.0
|
||||
Build-Depends: dpkg-dev (>= 1.16.0), debhelper (>= 11)
|
||||
Build-Depends-Indep: texinfo, docbook-xml, docbook2x, xsltproc
|
||||
Homepage: https://sourceware.org/bzip2/
|
||||
Vcs-Git: https://salsa.debian.org/debian/bzip2.git
|
||||
Vcs-Browser: https://salsa.debian.org/debian/bzip2
|
||||
|
||||
Package: libbz2-1.0
|
||||
Section: libs
|
||||
Multi-Arch: same
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Description: high-quality block-sorting file compressor library - runtime
|
||||
This package contains libbzip2 which is used by the bzip2 compressor.
|
||||
.
|
||||
bzip2 is a freely available, patent free, data compressor.
|
||||
.
|
||||
bzip2 compresses files using the Burrows-Wheeler block-sorting text
|
||||
compression algorithm, and Huffman coding. Compression is generally
|
||||
considerably better than that achieved by more conventional
|
||||
LZ77/LZ78-based compressors, and approaches the performance of the PPM
|
||||
family of statistical compressors.
|
||||
.
|
||||
The archive file format of bzip2 (.bz2) is incompatible with that of its
|
||||
predecessor, bzip (.bz).
|
||||
|
||||
Package: libbz2-dev
|
||||
Priority: optional
|
||||
Section: libdevel
|
||||
Multi-Arch: same
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, libbz2-1.0 (=${binary:Version}), libc6-dev | libc-dev
|
||||
Replaces: bzip2 (<<0.9.5d-3)
|
||||
Recommends: bzip2-doc
|
||||
Description: high-quality block-sorting file compressor library - development
|
||||
Static libraries and include files for the bzip2 compressor library.
|
||||
.
|
||||
bzip2 is a freely available, patent free, data compressor.
|
||||
.
|
||||
bzip2 compresses files using the Burrows-Wheeler block-sorting text
|
||||
compression algorithm, and Huffman coding. Compression is generally
|
||||
considerably better than that achieved by more conventional
|
||||
LZ77/LZ78-based compressors, and approaches the performance of the PPM
|
||||
family of statistical compressors.
|
||||
.
|
||||
The archive file format of bzip2 (.bz2) is incompatible with that of its
|
||||
predecessor, bzip (.bz).
|
||||
|
||||
Package: bzip2
|
||||
Priority: standard
|
||||
Architecture: any
|
||||
Multi-Arch: foreign
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}, libbz2-1.0 (=${binary:Version})
|
||||
Suggests: bzip2-doc
|
||||
Replaces: libbz2 (<<0.9.5d-3)
|
||||
Description: high-quality block-sorting file compressor - utilities
|
||||
bzip2 is a freely available, patent free, data compressor.
|
||||
.
|
||||
bzip2 compresses files using the Burrows-Wheeler block-sorting text
|
||||
compression algorithm, and Huffman coding. Compression is generally
|
||||
considerably better than that achieved by more conventional
|
||||
LZ77/LZ78-based compressors, and approaches the performance of the PPM
|
||||
family of statistical compressors.
|
||||
.
|
||||
The archive file format of bzip2 (.bz2) is incompatible with that of its
|
||||
predecessor, bzip (.bz).
|
||||
|
||||
Package: bzip2-doc
|
||||
Priority: optional
|
||||
Section: doc
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
|
||||
Replaces: bzip2 (<< 1.0.4-0ubuntu2)
|
||||
Description: high-quality block-sorting file compressor - documentation
|
||||
This package contains the bzip2 user manual in HTML, PDF, PS and Texinfo
|
||||
formats.
|
||||
.
|
||||
bzip2 is a freely available, patent free, data compressor.
|
||||
.
|
||||
bzip2 compresses files using the Burrows-Wheeler block-sorting text
|
||||
compression algorithm, and Huffman coding. Compression is generally
|
||||
considerably better than that achieved by more conventional
|
||||
LZ77/LZ78-based compressors, and approaches the performance of the PPM
|
||||
family of statistical compressors.
|
||||
.
|
||||
The archive file format of bzip2 (.bz2) is incompatible with that of its
|
||||
predecessor, bzip (.bz).
|
|
@ -0,0 +1,48 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: bzip2
|
||||
Source: http://www.bzip.org/
|
||||
|
||||
Files: *
|
||||
Copyright: 1996-2010 Julian R Seward <jseward@bzip.org>
|
||||
License: BSD-variant
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
.
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
.
|
||||
2. The origin of this software must not be misrepresented; you must
|
||||
not claim that you wrote the original software. If you use this
|
||||
software in a product, an acknowledgment in the product
|
||||
documentation would be appreciated but is not required.
|
||||
.
|
||||
3. Altered source versions must be plainly marked as such, and must
|
||||
not be misrepresented as being the original software.
|
||||
.
|
||||
4. The name of the author may not be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
||||
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2018 Nicolas Boulenguez <nicolas.boulenguez@free.fr>
|
||||
2012-2015 Santiago Ruano Rincón <santiago@debian.org>
|
||||
2014 Canonical Ltd.
|
||||
2004-2011 Anibal Monsalve Salazar <anibal@debian.org>
|
||||
1999-2002 Philippe Troin <phil@fifi.org>
|
||||
1997-1999 Anthony Fok <foka@debian.org>
|
||||
License: GPL-2
|
||||
The full text of the GNU General Public License version 2
|
||||
can be found in /usr/share/common-licenses/GPL-2.
|
|
@ -0,0 +1 @@
|
|||
libbz2 1.0 libbz2-1.0
|
|
@ -0,0 +1 @@
|
|||
include /usr
|
|
@ -0,0 +1,2 @@
|
|||
# Replaced with a symbolick link conforming to policy in usr/lib.
|
||||
lib/libbz2.so
|
|
@ -0,0 +1,373 @@
|
|||
Description: remove blank spaces in man page and drop the .PU macro.
|
||||
The man page was once generated from manual.xml.
|
||||
It would be nice to fix the generation process and build from source.
|
||||
Author: Bjarni Ingi Gislason
|
||||
Bug-Debian: https://bugs.debian.org/675380
|
||||
|
||||
Index: bzip2/bzip2.1
|
||||
===================================================================
|
||||
--- bzip2.orig/bzip2.1
|
||||
+++ bzip2/bzip2.1
|
||||
@@ -1,4 +1,3 @@
|
||||
-.PU
|
||||
.TH bzip2 1
|
||||
.SH NAME
|
||||
bzip2, bunzip2 \- a block-sorting file compressor, v1.0.8
|
||||
@@ -18,13 +17,13 @@ bzip2recover \- recovers data from damag
|
||||
.br
|
||||
.B bunzip2
|
||||
.RB [ " \-fkvsVL " ]
|
||||
-[
|
||||
+[
|
||||
.I "filenames \&..."
|
||||
]
|
||||
.br
|
||||
.B bzcat
|
||||
.RB [ " \-s " ]
|
||||
-[
|
||||
+[
|
||||
.I "filenames \&..."
|
||||
]
|
||||
.br
|
||||
@@ -39,15 +38,15 @@ generally considerably better than that
|
||||
LZ77/LZ78-based compressors, and approaches the performance of the PPM
|
||||
family of statistical compressors.
|
||||
|
||||
-The command-line options are deliberately very similar to
|
||||
-those of
|
||||
-.I GNU gzip,
|
||||
+The command-line options are deliberately very similar to
|
||||
+those of
|
||||
+.I GNU gzip,
|
||||
but they are not identical.
|
||||
|
||||
.I bzip2
|
||||
expects a list of file names to accompany the
|
||||
command-line flags. Each file is replaced by a compressed version of
|
||||
-itself, with the name "original_name.bz2".
|
||||
+itself, with the name "original_name.bz2".
|
||||
Each compressed file
|
||||
has the same modification date, permissions, and, when possible,
|
||||
ownership as the corresponding original, so that these properties can
|
||||
@@ -74,13 +73,13 @@ incomprehensible and therefore pointless
|
||||
|
||||
.I bunzip2
|
||||
(or
|
||||
-.I bzip2 \-d)
|
||||
+.I bzip2 \-d)
|
||||
decompresses all
|
||||
-specified files. Files which were not created by
|
||||
+specified files. Files which were not created by
|
||||
.I bzip2
|
||||
-will be detected and ignored, and a warning issued.
|
||||
+will be detected and ignored, and a warning issued.
|
||||
.I bzip2
|
||||
-attempts to guess the filename for the decompressed file
|
||||
+attempts to guess the filename for the decompressed file
|
||||
from that of the compressed file as follows:
|
||||
|
||||
filename.bz2 becomes filename
|
||||
@@ -89,13 +88,13 @@ from that of the compressed file as foll
|
||||
filename.tbz becomes filename.tar
|
||||
anyothername becomes anyothername.out
|
||||
|
||||
-If the file does not end in one of the recognised endings,
|
||||
-.I .bz2,
|
||||
-.I .bz,
|
||||
+If the file does not end in one of the recognised endings,
|
||||
+.I .bz2,
|
||||
+.I .bz,
|
||||
.I .tbz2
|
||||
or
|
||||
-.I .tbz,
|
||||
-.I bzip2
|
||||
+.I .tbz,
|
||||
+.I bzip2
|
||||
complains that it cannot
|
||||
guess the name of the original file, and uses the original name
|
||||
with
|
||||
@@ -103,25 +102,25 @@ with
|
||||
appended.
|
||||
|
||||
As with compression, supplying no
|
||||
-filenames causes decompression from
|
||||
+filenames causes decompression from
|
||||
standard input to standard output.
|
||||
|
||||
-.I bunzip2
|
||||
+.I bunzip2
|
||||
will correctly decompress a file which is the
|
||||
concatenation of two or more compressed files. The result is the
|
||||
concatenation of the corresponding uncompressed files. Integrity
|
||||
-testing (\-t)
|
||||
-of concatenated
|
||||
+testing (\-t)
|
||||
+of concatenated
|
||||
compressed files is also supported.
|
||||
|
||||
You can also compress or decompress files to the standard output by
|
||||
giving the \-c flag. Multiple files may be compressed and
|
||||
decompressed like this. The resulting outputs are fed sequentially to
|
||||
-stdout. Compression of multiple files
|
||||
+stdout. Compression of multiple files
|
||||
in this manner generates a stream
|
||||
containing multiple compressed file representations. Such a stream
|
||||
can be decompressed correctly only by
|
||||
-.I bzip2
|
||||
+.I bzip2
|
||||
version 0.9.0 or
|
||||
later. Earlier versions of
|
||||
.I bzip2
|
||||
@@ -130,7 +129,7 @@ the first file in the stream.
|
||||
|
||||
.I bzcat
|
||||
(or
|
||||
-.I bzip2 -dc)
|
||||
+.I bzip2 -dc)
|
||||
decompresses all specified files to
|
||||
the standard output.
|
||||
|
||||
@@ -140,10 +139,10 @@ will read arguments from the environment
|
||||
and
|
||||
.I BZIP,
|
||||
in that order, and will process them
|
||||
-before any arguments read from the command line. This gives a
|
||||
+before any arguments read from the command line. This gives a
|
||||
convenient way to supply default arguments.
|
||||
|
||||
-Compression is always performed, even if the compressed
|
||||
+Compression is always performed, even if the compressed
|
||||
file is slightly
|
||||
larger than the original. Files of less than about one hundred bytes
|
||||
tend to get larger, since the compression mechanism has a constant
|
||||
@@ -151,9 +150,8 @@ overhead in the region of 50 bytes. Ran
|
||||
of most file compressors) is coded at about 8.05 bits per byte, giving
|
||||
an expansion of around 0.5%.
|
||||
|
||||
-As a self-check for your protection,
|
||||
-.I
|
||||
-bzip2
|
||||
+As a self-check for your protection,
|
||||
+.I bzip2
|
||||
uses 32-bit CRCs to
|
||||
make sure that the decompressed version of a file is identical to the
|
||||
original. This guards against corruption of the compressed data, and
|
||||
@@ -163,9 +161,9 @@ against undetected bugs in
|
||||
chances of data corruption going undetected is microscopic, about one
|
||||
chance in four billion for each file processed. Be aware, though, that
|
||||
the check occurs upon decompression, so it can only tell you that
|
||||
-something is wrong. It can't help you
|
||||
+something is wrong. It can't help you
|
||||
recover the original uncompressed
|
||||
-data. You can use
|
||||
+data. You can use
|
||||
.I bzip2recover
|
||||
to try to recover data from
|
||||
damaged files.
|
||||
@@ -183,15 +181,15 @@ to panic.
|
||||
Compress or decompress to standard output.
|
||||
.TP
|
||||
.B \-d --decompress
|
||||
-Force decompression.
|
||||
-.I bzip2,
|
||||
-.I bunzip2
|
||||
+Force decompression.
|
||||
+.I bzip2,
|
||||
+.I bunzip2
|
||||
and
|
||||
-.I bzcat
|
||||
+.I bzcat
|
||||
are
|
||||
really the same program, and the decision about what actions to take is
|
||||
done on the basis of which name is used. This flag overrides that
|
||||
-mechanism, and forces
|
||||
+mechanism, and forces
|
||||
.I bzip2
|
||||
to decompress.
|
||||
.TP
|
||||
@@ -205,10 +203,10 @@ This really performs a trial decompressi
|
||||
.TP
|
||||
.B \-f --force
|
||||
Force overwrite of output files. Normally,
|
||||
-.I bzip2
|
||||
+.I bzip2
|
||||
will not overwrite
|
||||
-existing output files. Also forces
|
||||
-.I bzip2
|
||||
+existing output files. Also forces
|
||||
+.I bzip2
|
||||
to break hard links
|
||||
to files, which it otherwise wouldn't do.
|
||||
|
||||
@@ -224,9 +222,9 @@ or decompression.
|
||||
Reduce memory usage, for compression, decompression and testing. Files
|
||||
are decompressed and tested using a modified algorithm which only
|
||||
requires 2.5 bytes per block byte. This means any file can be
|
||||
-decompressed in 2300k of memory, albeit at about half the normal speed.
|
||||
+decompressed in 2300\ k of memory, albeit at about half the normal speed.
|
||||
|
||||
-During compression, \-s selects a block size of 200k, which limits
|
||||
+During compression, \-s selects a block size of 200\ k, which limits
|
||||
memory use to around the same figure, at the expense of your compression
|
||||
ratio. In short, if your machine is low on memory (8 megabytes or
|
||||
less), use \-s for everything. See MEMORY MANAGEMENT below.
|
||||
@@ -244,11 +242,11 @@ information which is primarily of intere
|
||||
Display the software version, license terms and conditions.
|
||||
.TP
|
||||
.B \-1 (or \-\-fast) to \-9 (or \-\-best)
|
||||
-Set the block size to 100 k, 200 k .. 900 k when compressing. Has no
|
||||
+Set the block size to 100 k, 200 k ... 900 k when compressing. Has no
|
||||
effect when decompressing. See MEMORY MANAGEMENT below.
|
||||
-The \-\-fast and \-\-best aliases are primarily for GNU gzip
|
||||
+The \-\-fast and \-\-best aliases are primarily for GNU gzip
|
||||
compatibility. In particular, \-\-fast doesn't make things
|
||||
-significantly faster.
|
||||
+significantly faster.
|
||||
And \-\-best merely selects the default behaviour.
|
||||
.TP
|
||||
.B \--
|
||||
@@ -263,7 +261,7 @@ earlier versions, which was sometimes us
|
||||
improved algorithm which renders these flags irrelevant.
|
||||
|
||||
.SH MEMORY MANAGEMENT
|
||||
-.I bzip2
|
||||
+.I bzip2
|
||||
compresses large files in blocks. The block size affects
|
||||
both the compression ratio achieved, and the amount of memory needed for
|
||||
compression and decompression. The flags \-1 through \-9
|
||||
@@ -276,13 +274,13 @@ the file. Since block sizes are stored
|
||||
that the flags \-1 to \-9 are irrelevant to and so ignored
|
||||
during decompression.
|
||||
|
||||
-Compression and decompression requirements,
|
||||
+Compression and decompression requirements,
|
||||
in bytes, can be estimated as:
|
||||
|
||||
- Compression: 400k + ( 8 x block size )
|
||||
+ Compression: 400\ k + ( 8 x block size )
|
||||
|
||||
- Decompression: 100k + ( 4 x block size ), or
|
||||
- 100k + ( 2.5 x block size )
|
||||
+ Decompression: 100\ k + ( 4 x block size ), or
|
||||
+ 100\ k + ( 2.5 x block size )
|
||||
|
||||
Larger block sizes give rapidly diminishing marginal returns. Most of
|
||||
the compression comes from the first two or three hundred k of block
|
||||
@@ -292,10 +290,10 @@ on small machines.
|
||||
It is also important to appreciate that the decompression memory
|
||||
requirement is set at compression time by the choice of block size.
|
||||
|
||||
-For files compressed with the default 900k block size,
|
||||
+For files compressed with the default 900\ k block size,
|
||||
.I bunzip2
|
||||
will require about 3700 kbytes to decompress. To support decompression
|
||||
-of any file on a 4 megabyte machine,
|
||||
+of any file on a 4 megabyte machine,
|
||||
.I bunzip2
|
||||
has an option to
|
||||
decompress using approximately half this amount of memory, about 2300
|
||||
@@ -311,9 +309,9 @@ Another significant point applies to fil
|
||||
amount of real memory touched is proportional to the size of the file,
|
||||
since the file is smaller than a block. For example, compressing a file
|
||||
20,000 bytes long with the flag -9 will cause the compressor to
|
||||
-allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
|
||||
-kbytes of it. Similarly, the decompressor will allocate 3700k but only
|
||||
-touch 100k + 20000 * 4 = 180 kbytes.
|
||||
+allocate around 7600\ k of memory, but only touch 400\ k + 20000 * 8 = 560
|
||||
+kbytes of it. Similarly, the decompressor will allocate 3700\ k but only
|
||||
+touch 100\ k + 20000 * 4 = 180 kbytes.
|
||||
|
||||
Here is a table which summarises the maximum memory usage for different
|
||||
block sizes. Also recorded is the total compressed size for 14 files of
|
||||
@@ -337,7 +335,7 @@ larger files, since the Corpus is domina
|
||||
|
||||
.SH RECOVERING DATA FROM DAMAGED FILES
|
||||
.I bzip2
|
||||
-compresses files in blocks, usually 900kbytes long. Each
|
||||
+compresses files in blocks, usually 900\ kbytes long. Each
|
||||
block is handled independently. If a media or transmission error causes
|
||||
a multi-block .bz2
|
||||
file to become damaged, it may be possible to
|
||||
@@ -350,36 +348,36 @@ damaged blocks can be distinguished from
|
||||
|
||||
.I bzip2recover
|
||||
is a simple program whose purpose is to search for
|
||||
-blocks in .bz2 files, and write each block out into its own .bz2
|
||||
+blocks in .bz2 files, and write each block out into its own .bz2
|
||||
file. You can then use
|
||||
-.I bzip2
|
||||
+.I bzip2
|
||||
\-t
|
||||
to test the
|
||||
integrity of the resulting files, and decompress those which are
|
||||
undamaged.
|
||||
|
||||
.I bzip2recover
|
||||
-takes a single argument, the name of the damaged file,
|
||||
+takes a single argument, the name of the damaged file,
|
||||
and writes a number of files "rec00001file.bz2",
|
||||
-"rec00002file.bz2", etc, containing the extracted blocks.
|
||||
-The output filenames are designed so that the use of
|
||||
-wildcards in subsequent processing -- for example,
|
||||
-"bzip2 -dc rec*file.bz2 > recovered_data" -- processes the files in
|
||||
+"rec00002file.bz2", etc., containing the extracted blocks.
|
||||
+The output filenames are designed so that the use of
|
||||
+wildcards in subsequent processing -- for example,
|
||||
+"bzip2 -dc rec*file.bz2 > recovered_data" -- processes the files in
|
||||
the correct order.
|
||||
|
||||
.I bzip2recover
|
||||
should be of most use dealing with large .bz2
|
||||
-files, as these will contain many blocks. It is clearly
|
||||
-futile to use it on damaged single-block files, since a
|
||||
-damaged block cannot be recovered. If you wish to minimise
|
||||
-any potential data loss through media or transmission errors,
|
||||
+files, as these will contain many blocks. It is clearly
|
||||
+futile to use it on damaged single-block files, since a
|
||||
+damaged block cannot be recovered. If you wish to minimise
|
||||
+any potential data loss through media or transmission errors,
|
||||
you might consider compressing with a smaller
|
||||
block size.
|
||||
|
||||
.SH PERFORMANCE NOTES
|
||||
The sorting phase of compression gathers together similar strings in the
|
||||
file. Because of this, files containing very long runs of repeated
|
||||
-symbols, like "aabaabaabaab ..." (repeated several hundred times) may
|
||||
+symbols, like "aabaabaabaab ...\&" (repeated several hundred times) may
|
||||
compress more slowly than normal. Versions 0.9.5 and above fare much
|
||||
better than previous versions in this respect. The ratio between
|
||||
worst-case and average-case compression time is in the region of 10:1.
|
||||
@@ -395,7 +393,7 @@ that performance, both for compressing a
|
||||
determined by the speed at which your machine can service cache misses.
|
||||
Because of this, small changes to the code to reduce the miss rate have
|
||||
been observed to give disproportionately large performance improvements.
|
||||
-I imagine
|
||||
+I imagine
|
||||
.I bzip2
|
||||
will perform best on machines with very large caches.
|
||||
|
||||
@@ -406,7 +404,7 @@ tries hard to detect I/O errors and exit
|
||||
what the problem is sometimes seem rather misleading.
|
||||
|
||||
This manual page pertains to version 1.0.8 of
|
||||
-.I bzip2.
|
||||
+.I bzip2.
|
||||
Compressed data created by this version is entirely forwards and
|
||||
backwards compatible with the previous public releases, versions
|
||||
0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 and above, but with the following
|
||||
@@ -440,13 +438,13 @@ Fenwick (for the structured coding model
|
||||
.I bzip,
|
||||
and many refinements), and Alistair Moffat, Radford Neal and Ian Witten
|
||||
(for the arithmetic coder in the original
|
||||
-.I bzip).
|
||||
+.I bzip).
|
||||
I am much
|
||||
indebted for their help, support and advice. See the manual in the
|
||||
source distribution for pointers to sources of documentation. Christian
|
||||
von Roques encouraged me to look for faster sorting algorithms, so as to
|
||||
speed up compression. Bela Lubkin encouraged me to improve the
|
||||
-worst-case compression performance.
|
||||
+worst-case compression performance.
|
||||
Donna Robinson XMLised the documentation.
|
||||
The bz* scripts are derived from those of GNU gzip.
|
||||
Many people sent patches, helped
|
|
@ -0,0 +1,232 @@
|
|||
Description: various changes specific to Debian.
|
||||
This patch gathers all changes before source format 3.0.
|
||||
Most of its history is lost.
|
||||
Some parts should probably be forwarded upstream.
|
||||
|
||||
Index: bzip2/bzgrep
|
||||
===================================================================
|
||||
--- bzip2.orig/bzgrep
|
||||
+++ bzip2/bzgrep
|
||||
@@ -1,27 +1,75 @@
|
||||
#!/bin/sh
|
||||
|
||||
-# Bzgrep wrapped for bzip2,
|
||||
-# adapted from zgrep by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
|
||||
-## zgrep notice:
|
||||
-## zgrep -- a wrapper around a grep program that decompresses files as needed
|
||||
-## Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
|
||||
+# bzgrep -- a wrapper around a grep program that decompresses files as needed
|
||||
+# Adapted from zgrep of the Debian gzip package by Anibal Monsalve Salazar.
|
||||
+# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
|
||||
+
|
||||
+# Copyright (C) 1998, 2001, 2002 Free Software Foundation
|
||||
+# Copyright (C) 1993 Jean-loup Gailly
|
||||
+
|
||||
+# 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
|
||||
+# the Free Software Foundation; either version 2, or (at your option)
|
||||
+# any later version.
|
||||
+
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
+# 02111-1307, USA.
|
||||
|
||||
PATH="/usr/bin:$PATH"; export PATH
|
||||
|
||||
-prog=`echo $0 | sed 's|.*/||'`
|
||||
+prog=`echo "$0" | sed 's|.*/||'`
|
||||
case "$prog" in
|
||||
*egrep) grep=${EGREP-egrep} ;;
|
||||
*fgrep) grep=${FGREP-fgrep} ;;
|
||||
*) grep=${GREP-grep} ;;
|
||||
esac
|
||||
+
|
||||
pat=""
|
||||
+after_dash_dash=""
|
||||
+files_with_matches=0
|
||||
+files_without_matches=0
|
||||
+no_filename=0
|
||||
+with_filename=0
|
||||
+
|
||||
while test $# -ne 0; do
|
||||
- case "$1" in
|
||||
- -e | -f) opt="$opt $1"; shift; pat="$1"
|
||||
+ case "$after_dash_dash$1" in
|
||||
+ --d* | --rec*) echo >&2 "$0: $1: option not supported"; exit 2;;
|
||||
+ --files-with-*) files_with_matches=1;;
|
||||
+ --files-witho*) files_without_matches=1;;
|
||||
+ --no-f*) no_filename=1;;
|
||||
+ --wi*) with_filename=1;;
|
||||
+ --*) ;;
|
||||
+ -*)
|
||||
+ case "$1" in
|
||||
+ -*[dr]*) echo >&2 "$0: $1: option not supported"; exit 2;;
|
||||
+ esac
|
||||
+ case "$1" in
|
||||
+ -*H*) with_filename=1;;
|
||||
+ esac
|
||||
+ case "$1" in
|
||||
+ -*h*) no_filename=1;;
|
||||
+ esac
|
||||
+ case "$1" in
|
||||
+ -*L*) files_without_matches=1;;
|
||||
+ esac
|
||||
+ case "$1" in
|
||||
+ -*l*) files_with_matches=1;;
|
||||
+ esac;;
|
||||
+ esac
|
||||
+ case "$after_dash_dash$1" in
|
||||
+ -[ef]) opt="$opt $1"; shift; pat="$1"
|
||||
if test "$grep" = grep; then # grep is buggy with -e on SVR4
|
||||
grep=egrep
|
||||
fi;;
|
||||
- -A | -B) opt="$opt $1 $2"; shift;;
|
||||
+ -[ABCdm])opt="$opt $1 $2"; shift;;
|
||||
+ --) opt="$opt $1"; after_dash_dash=1;;
|
||||
-*) opt="$opt $1";;
|
||||
*) if test -z "$pat"; then
|
||||
pat="$1"
|
||||
@@ -35,19 +83,9 @@ done
|
||||
if test -z "$pat"; then
|
||||
echo "grep through bzip2 files"
|
||||
echo "usage: $prog [grep_options] pattern [files]"
|
||||
- exit 1
|
||||
+ exit 2
|
||||
fi
|
||||
|
||||
-list=0
|
||||
-silent=0
|
||||
-op=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
|
||||
-case "$op" in
|
||||
- *l*) list=1
|
||||
-esac
|
||||
-case "$op" in
|
||||
- *h*) silent=1
|
||||
-esac
|
||||
-
|
||||
if test $# -eq 0; then
|
||||
bzip2 -cdfq | $grep $opt "$pat"
|
||||
exit $?
|
||||
@@ -56,30 +94,40 @@ fi
|
||||
res=0
|
||||
for i do
|
||||
if test -f "$i"; then :; else if test -f "$i.bz2"; then i="$i.bz2"; fi; fi
|
||||
- if test $list -eq 1; then
|
||||
- bzip2 -cdfq "$i" | $grep $opt "$pat" 2>&1 > /dev/null && echo $i
|
||||
- r=$?
|
||||
- elif test $# -eq 1 -o $silent -eq 1; then
|
||||
- bzip2 -cdfq "$i" | $grep $opt "$pat"
|
||||
- r=$?
|
||||
- else
|
||||
- j=$(echo "$i" | sed 's/\\/&&/g;s/|/\\&/g;s/&/\\&/g')
|
||||
- j=`printf "%s" "$j" | tr '\n' ' '`
|
||||
- # A trick adapted from
|
||||
- # https://groups.google.com/forum/#!original/comp.unix.shell/x1345iu10eg/Nn1n-1r1uU0J
|
||||
- # that has the same effect as the following bash code:
|
||||
- # bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|"
|
||||
- # r=${PIPESTATUS[1]}
|
||||
- exec 3>&1
|
||||
- eval `
|
||||
+ bzip2 -cdfq -- "$i" |
|
||||
+ if test $files_with_matches -eq 1; then
|
||||
+ $grep $opt "$pat" > /dev/null && printf "%s\n" "$i"
|
||||
+ elif test $files_without_matches -eq 1; then
|
||||
+ $grep $opt "$pat" > /dev/null || printf "%s\n" "$i"
|
||||
+ elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then
|
||||
+ $grep $opt "$pat"
|
||||
+ else
|
||||
+ i=$(echo "$i" | sed -e 's/[\\|&]/\\&/g')
|
||||
+ if test $with_filename -eq 1; then
|
||||
+ sed_script="s|^[^:]*:|${i}:|"
|
||||
+ else
|
||||
+ sed_script="s|^|${i}:|"
|
||||
+ fi
|
||||
+ # Hack adapted from GPLed code at
|
||||
+ # https://groups.google.com/forum/#!original/comp.unix.shell/x1345iu10eg/Nn1n-1r1uU0J
|
||||
+ # Has the same effect as the following two lines of bash:
|
||||
+ #
|
||||
+ # $grep $opt "$pat" | sed "$sed_script"
|
||||
+ # exit ${PIPESTATUS[0]}
|
||||
+ #
|
||||
+ # Inside the `...`, fd4 goes to the pipe whose other end is read
|
||||
+ # and passed to eval; fd1 is the normal standard output
|
||||
+ # preserved the line before with exec 3>&1
|
||||
+ exec 3>&1
|
||||
+ eval `
|
||||
exec 4>&1 >&3 3>&-
|
||||
{
|
||||
- bzip2 -cdfq "$i" 4>&-
|
||||
- } | {
|
||||
- $grep $opt "$pat" 4>&-; echo "r=$?;" >&4
|
||||
- } | sed "s|^|${j}:|"
|
||||
- `
|
||||
- fi
|
||||
- test "$r" -ne 0 && res="$r"
|
||||
+ $grep $opt "$pat" 4>&-; echo "r=$?;" >&4
|
||||
+ } | sed "$sed_script"
|
||||
+ `
|
||||
+ exit $r
|
||||
+ fi
|
||||
+ r=$?
|
||||
+ test $res -lt $r && res=$r
|
||||
done
|
||||
exit $res
|
||||
Index: bzip2/bzmore
|
||||
===================================================================
|
||||
--- bzip2.orig/bzmore
|
||||
+++ bzip2/bzmore
|
||||
@@ -24,10 +24,10 @@ else
|
||||
# 'stty min 1' resets eof to ^a on both SunOS and SysV!
|
||||
cb='min 1 -icanon'; ncb='icanon eof ^d'
|
||||
fi
|
||||
-if test $? -eq 0 -a -n "$oldtty"; then
|
||||
- trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
|
||||
+if test $? -eq 0 && test -n "$oldtty"; then
|
||||
+ trap 'stty $oldtty 2>/dev/null; exit' 0 INT QUIT TRAP USR1 PIPE TERM
|
||||
else
|
||||
- trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
|
||||
+ trap 'stty $ncb echo 2>/dev/null; exit' 0 INT QUIT TRAP USR1 PIPE TERM
|
||||
fi
|
||||
|
||||
if test $# = 0; then
|
||||
@@ -46,7 +46,7 @@ else
|
||||
ANS=`dd bs=1 count=1 2>/dev/null`
|
||||
stty $ncb echo 2>/dev/null
|
||||
echo " "
|
||||
- if test "$ANS" = 'e' -o "$ANS" = 'q'; then
|
||||
+ if test "$ANS" = 'e' || test "$ANS" = 'q'; then
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
Index: bzip2/bzip2.c
|
||||
===================================================================
|
||||
--- bzip2.orig/bzip2.c
|
||||
+++ bzip2/bzip2.c
|
||||
@@ -1890,7 +1890,9 @@ IntNative main ( IntNative argc, Char *a
|
||||
case '8': blockSize100k = 8; break;
|
||||
case '9': blockSize100k = 9; break;
|
||||
case 'V':
|
||||
- case 'L': license(); break;
|
||||
+ case 'L': license();
|
||||
+ exit ( 0 );
|
||||
+ break;
|
||||
case 'v': verbosity++; break;
|
||||
case 'h': usage ( progName );
|
||||
exit ( 0 );
|
||||
@@ -1916,8 +1918,8 @@ IntNative main ( IntNative argc, Char *a
|
||||
if (ISFLAG("--keep")) keepInputFiles = True; else
|
||||
if (ISFLAG("--small")) smallMode = True; else
|
||||
if (ISFLAG("--quiet")) noisy = False; else
|
||||
- if (ISFLAG("--version")) license(); else
|
||||
- if (ISFLAG("--license")) license(); else
|
||||
+ if (ISFLAG("--version")) { license(); exit ( 0 ); } else
|
||||
+ if (ISFLAG("--license")) { license(); exit ( 0 ); } else
|
||||
if (ISFLAG("--exponential")) workFactor = 1; else
|
||||
if (ISFLAG("--repetitive-best")) redundant(aa->name); else
|
||||
if (ISFLAG("--repetitive-fast")) redundant(aa->name); else
|
|
@ -0,0 +1,29 @@
|
|||
Description: bzdiff: properly pass -I (ignore regex) option to diff
|
||||
This patch is far from sufficient. See the bug log for details.
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bzip2/+bug/735675
|
||||
Origin: ubuntu, https://bugs.launchpad.net/ubuntu/+source/bzip2/+bug/735675
|
||||
|
||||
--- a/bzdiff
|
||||
+++ b/bzdiff
|
||||
@@ -24,7 +24,11 @@
|
||||
for ARG
|
||||
do
|
||||
case "$ARG" in
|
||||
- -*) OPTIONS="$OPTIONS $ARG";;
|
||||
+ -*) if test -z "$OPTIONS"; then
|
||||
+ OPTIONS="$ARG"
|
||||
+ else
|
||||
+ OPTIONS="$OPTIONS $ARG"
|
||||
+ fi ;;
|
||||
*) if test -f "$ARG"; then
|
||||
FILES="$FILES $ARG"
|
||||
else
|
||||
@@ -54,7 +58,7 @@
|
||||
exit 1
|
||||
}
|
||||
bzip2 -cdfq "$2" > "$tmp"
|
||||
- bzip2 -cdfq "$1" | $comp $OPTIONS - "$tmp"
|
||||
+ bzip2 -cdfq "$1" | $comp "$OPTIONS" - "$tmp"
|
||||
STAT="$?"
|
||||
/bin/rm -f "$tmp";;
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
Description: fix unsafe race condition in opening output files.
|
||||
Author: Colin Phipps <crp22@cam.ac.uk>
|
||||
Bug-Debian: https://bugs.debian.org/56386
|
||||
|
||||
Index: bzip2/bzip2recover.c
|
||||
===================================================================
|
||||
--- bzip2.orig/bzip2recover.c
|
||||
+++ bzip2/bzip2recover.c
|
||||
@@ -24,6 +24,8 @@
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
|
||||
/* This program records bit locations in the file to be recovered.
|
||||
@@ -269,6 +271,19 @@ static Bool endsInBz2 ( Char* name )
|
||||
name[n-1] == '2');
|
||||
}
|
||||
|
||||
+/*---------------------------------------------*/
|
||||
+/* Open an output file safely with O_EXCL and good permissions */
|
||||
+FILE* fopen_output( Char* name, const char* mode )
|
||||
+{
|
||||
+ FILE *fp;
|
||||
+ int fh;
|
||||
+
|
||||
+ fh = open(name, O_WRONLY|O_CREAT|O_EXCL, 0600);
|
||||
+ if (fh == -1) return NULL;
|
||||
+ fp = fdopen(fh, mode);
|
||||
+ if (fp == NULL) close(fh);
|
||||
+ return fp;
|
||||
+}
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
/*--- ---*/
|
||||
@@ -488,7 +503,7 @@ Int32 main ( Int32 argc, Char** argv )
|
||||
fprintf ( stderr, " writing block %d to `%s' ...\n",
|
||||
wrBlock+1, outFileName );
|
||||
|
||||
- outFile = fopen ( outFileName, "wb" );
|
||||
+ outFile = fopen_output ( outFileName, "wb" );
|
||||
if (outFile == NULL) {
|
||||
fprintf ( stderr, "%s: can't write `%s'\n",
|
||||
progName, outFileName );
|
|
@ -0,0 +1,79 @@
|
|||
Description: mention the --help command line option in the documentation
|
||||
Bug-Debian: https://bugs.debian.org/517257
|
||||
|
||||
--- a/manual.xml
|
||||
+++ b/manual.xml
|
||||
@@ -160,12 +160,21 @@
|
||||
<listitem><para><computeroutput>bzip2</computeroutput> [
|
||||
-cdfkqstvzVL123456789 ] [ filenames ... ]</para></listitem>
|
||||
|
||||
+ <listitem><para><computeroutput>bzip2</computeroutput> [
|
||||
+ -h | --help ]</para></listitem>
|
||||
+
|
||||
<listitem><para><computeroutput>bunzip2</computeroutput> [
|
||||
-fkvsVL ] [ filenames ... ]</para></listitem>
|
||||
|
||||
+ <listitem><para><computeroutput>bunzip2</computeroutput> [
|
||||
+ -h | --help ]</para></listitem>
|
||||
+
|
||||
<listitem><para><computeroutput>bzcat</computeroutput> [ -s ] [
|
||||
filenames ... ]</para></listitem>
|
||||
|
||||
+ <listitem><para><computeroutput>bzcat</computeroutput> [
|
||||
+ -h | --help ]</para></listitem>
|
||||
+
|
||||
<listitem><para><computeroutput>bzip2recover</computeroutput>
|
||||
filename</para></listitem>
|
||||
|
||||
@@ -397,6 +406,10 @@
|
||||
will not be suppressed.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
+ <varlistentry><term><computeroutput>-h --help</computeroutput></term>
|
||||
+ <listitem><para>Print a help message and exit.</para></listitem>
|
||||
+ </varlistentry>
|
||||
+
|
||||
<varlistentry>
|
||||
<term><computeroutput>-v --verbose</computeroutput></term>
|
||||
<listitem><para>Verbose mode -- show the compression ratio for
|
||||
--- a/bzip2.1
|
||||
+++ b/bzip2.1
|
||||
@@ -13,6 +13,9 @@
|
||||
[
|
||||
.I "filenames \&..."
|
||||
]
|
||||
+.br
|
||||
+.B bzip2
|
||||
+.RB [ " \-h|\-\-help " ]
|
||||
.ll -8
|
||||
.br
|
||||
.B bunzip2
|
||||
@@ -21,12 +24,18 @@
|
||||
.I "filenames \&..."
|
||||
]
|
||||
.br
|
||||
+.B bunzip2
|
||||
+.RB [ " \-h|\-\-help " ]
|
||||
+.br
|
||||
.B bzcat
|
||||
.RB [ " \-s " ]
|
||||
[
|
||||
.I "filenames \&..."
|
||||
]
|
||||
.br
|
||||
+.B bzcat
|
||||
+.RB [ " \-h|\-\-help " ]
|
||||
+.br
|
||||
.B bzip2recover
|
||||
.I "filename"
|
||||
|
||||
@@ -238,6 +247,9 @@
|
||||
Further \-v's increase the verbosity level, spewing out lots of
|
||||
information which is primarily of interest for diagnostic purposes.
|
||||
.TP
|
||||
+.B \-h \-\-help
|
||||
+Print a help message and exit.
|
||||
+.TP
|
||||
.B \-L --license -V --version
|
||||
Display the software version, license terms and conditions.
|
||||
.TP
|
|
@ -0,0 +1,133 @@
|
|||
Description: handle build flags and build a shared library.
|
||||
These are two distinct problems, but a single patch avoid
|
||||
merging changes.
|
||||
.
|
||||
The part handling CFLAGS should be forwarded.
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -12,6 +12,8 @@
|
||||
# in the file LICENSE.
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
+somajor=1.0
|
||||
+sominor=$(somajor).4
|
||||
SHELL=/bin/sh
|
||||
|
||||
# To assist in cross-compiling
|
||||
@@ -37,29 +39,50 @@
|
||||
|
||||
all: libbz2.a bzip2 bzip2recover test
|
||||
|
||||
-bzip2: libbz2.a bzip2.o
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2
|
||||
+bzip2: libbz2.so bzip2.o
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2
|
||||
|
||||
bzip2recover: bzip2recover.o
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2recover bzip2recover.o
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o bzip2recover bzip2recover.o
|
||||
|
||||
libbz2.a: $(OBJS)
|
||||
rm -f libbz2.a
|
||||
$(AR) cq libbz2.a $(OBJS)
|
||||
- @if ( test -f $(RANLIB) -o -f /usr/bin/ranlib -o \
|
||||
- -f /bin/ranlib -o -f /usr/ccs/bin/ranlib ) ; then \
|
||||
+ @if ( test -f $(RANLIB) || test -f /usr/bin/ranlib || \
|
||||
+ test -f /bin/ranlib || test -f /usr/ccs/bin/ranlib ) ; then \
|
||||
echo $(RANLIB) libbz2.a ; \
|
||||
$(RANLIB) libbz2.a ; \
|
||||
fi
|
||||
|
||||
+libbz2.so: libbz2.so.$(somajor)
|
||||
+ ln -sf $^ $@
|
||||
+
|
||||
+libbz2.so.$(somajor): libbz2.so.$(sominor)
|
||||
+ ln -sf $^ $@
|
||||
+
|
||||
+libbz2.so.$(sominor): $(OBJS:%.o=%.sho)
|
||||
+ $(CC) -o libbz2.so.$(sominor) -shared $(LDFLAGS) \
|
||||
+ -Wl,-soname,libbz2.so.$(somajor) $^ -lc
|
||||
+
|
||||
+$(OBJS:%.o=%.sho) bzip2.sho bzip2recover.sho: %.sho: %.c
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -o $@ -c $<
|
||||
+$(OBJS) bzip2.o bzip2recover.o: %.o: %.c
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
|
||||
+
|
||||
check: test
|
||||
test: bzip2
|
||||
@cat words1
|
||||
+ LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \
|
||||
./bzip2 -1 < sample1.ref > sample1.rb2
|
||||
+ LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \
|
||||
./bzip2 -2 < sample2.ref > sample2.rb2
|
||||
+ LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \
|
||||
./bzip2 -3 < sample3.ref > sample3.rb2
|
||||
+ LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \
|
||||
./bzip2 -d < sample1.bz2 > sample1.tst
|
||||
+ LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \
|
||||
./bzip2 -d < sample2.bz2 > sample2.tst
|
||||
+ LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \
|
||||
./bzip2 -ds < sample3.bz2 > sample3.tst
|
||||
cmp sample1.bz2 sample1.rb2
|
||||
cmp sample2.bz2 sample2.rb2
|
||||
@@ -69,15 +92,15 @@
|
||||
cmp sample3.tst sample3.ref
|
||||
@cat words3
|
||||
|
||||
-install: bzip2 bzip2recover
|
||||
+install: bzip2 bzip2recover libbz2.a
|
||||
if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
|
||||
if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
|
||||
if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi
|
||||
if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi
|
||||
if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
|
||||
cp -f bzip2 $(PREFIX)/bin/bzip2
|
||||
- cp -f bzip2 $(PREFIX)/bin/bunzip2
|
||||
- cp -f bzip2 $(PREFIX)/bin/bzcat
|
||||
+ ln $(PREFIX)/bin/bzip2 $(PREFIX)/bin/bunzip2
|
||||
+ ln $(PREFIX)/bin/bzip2 $(PREFIX)/bin/bzcat
|
||||
cp -f bzip2recover $(PREFIX)/bin/bzip2recover
|
||||
chmod a+x $(PREFIX)/bin/bzip2
|
||||
chmod a+x $(PREFIX)/bin/bunzip2
|
||||
@@ -87,7 +110,7 @@
|
||||
chmod a+r $(PREFIX)/man/man1/bzip2.1
|
||||
cp -f bzlib.h $(PREFIX)/include
|
||||
chmod a+r $(PREFIX)/include/bzlib.h
|
||||
- cp -f libbz2.a $(PREFIX)/lib
|
||||
+ cp -fa libbz2.a libbz2.so* $(PREFIX)/lib
|
||||
chmod a+r $(PREFIX)/lib/libbz2.a
|
||||
cp -f bzgrep $(PREFIX)/bin/bzgrep
|
||||
ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
|
||||
@@ -109,30 +132,10 @@
|
||||
echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
|
||||
|
||||
clean:
|
||||
- rm -f *.o libbz2.a bzip2 bzip2recover \
|
||||
+ rm -f *.o *.sho libbz2.a libbz2.so* bzip2 bzip2recover \
|
||||
sample1.rb2 sample2.rb2 sample3.rb2 \
|
||||
sample1.tst sample2.tst sample3.tst
|
||||
|
||||
-blocksort.o: blocksort.c
|
||||
- @cat words0
|
||||
- $(CC) $(CFLAGS) -c blocksort.c
|
||||
-huffman.o: huffman.c
|
||||
- $(CC) $(CFLAGS) -c huffman.c
|
||||
-crctable.o: crctable.c
|
||||
- $(CC) $(CFLAGS) -c crctable.c
|
||||
-randtable.o: randtable.c
|
||||
- $(CC) $(CFLAGS) -c randtable.c
|
||||
-compress.o: compress.c
|
||||
- $(CC) $(CFLAGS) -c compress.c
|
||||
-decompress.o: decompress.c
|
||||
- $(CC) $(CFLAGS) -c decompress.c
|
||||
-bzlib.o: bzlib.c
|
||||
- $(CC) $(CFLAGS) -c bzlib.c
|
||||
-bzip2.o: bzip2.c
|
||||
- $(CC) $(CFLAGS) -c bzip2.c
|
||||
-bzip2recover.o: bzip2recover.c
|
||||
- $(CC) $(CFLAGS) -c bzip2recover.c
|
||||
-
|
||||
|
||||
distclean: clean
|
||||
rm -f manual.ps manual.html manual.pdf
|
|
@ -0,0 +1,7 @@
|
|||
10-bzip2.1.patch
|
||||
20-legacy.patch
|
||||
xml-manual-escape.diff
|
||||
help-option.diff
|
||||
makefile.diff
|
||||
bzip2recover-race-open-output.diff
|
||||
40-bzdiff-l.patch
|
|
@ -0,0 +1,157 @@
|
|||
Description: escape special characters in XML source of the manual.
|
||||
|
||||
--- a/manual.xml
|
||||
+++ b/manual.xml
|
||||
@@ -1162,9 +1162,9 @@
|
||||
if the library has been mis-compiled
|
||||
BZ_PARAM_ERROR
|
||||
if strm is NULL
|
||||
- or blockSize < 1 or blockSize > 9
|
||||
- or verbosity < 0 or verbosity > 4
|
||||
- or workFactor < 0 or workFactor > 250
|
||||
+ or blockSize < 1 or blockSize > 9
|
||||
+ or verbosity < 0 or verbosity > 4
|
||||
+ or workFactor < 0 or workFactor > 250
|
||||
BZ_MEM_ERROR
|
||||
if not enough memory is available
|
||||
BZ_OK
|
||||
@@ -1474,8 +1474,8 @@
|
||||
BZ_CONFIG_ERROR
|
||||
if the library has been mis-compiled
|
||||
BZ_PARAM_ERROR
|
||||
- if ( small != 0 && small != 1 )
|
||||
- or (verbosity <; 0 || verbosity > 4)
|
||||
+ if ( small != 0 && small != 1 )
|
||||
+ or (verbosity < 0 || verbosity > 4)
|
||||
BZ_MEM_ERROR
|
||||
if insufficient memory is available
|
||||
</programlisting>
|
||||
@@ -1560,7 +1560,7 @@
|
||||
<programlisting>
|
||||
BZ_PARAM_ERROR
|
||||
if strm is NULL or strm->s is NULL
|
||||
- or strm->avail_out < 1
|
||||
+ or strm->avail_out < 1
|
||||
BZ_DATA_ERROR
|
||||
if a data integrity error is detected in the compressed stream
|
||||
BZ_DATA_ERROR_MAGIC
|
||||
@@ -1733,8 +1733,8 @@
|
||||
BZ_PARAM_ERROR
|
||||
if f is NULL
|
||||
or small is neither 0 nor 1
|
||||
- or ( unused == NULL && nUnused != 0 )
|
||||
- or ( unused != NULL && !(0 <= nUnused <= BZ_MAX_UNUSED) )
|
||||
+ or ( unused == NULL && nUnused != 0 )
|
||||
+ or ( unused != NULL && !(0 <= nUnused <= BZ_MAX_UNUSED) )
|
||||
BZ_IO_ERROR
|
||||
if ferror(f) is nonzero
|
||||
BZ_MEM_ERROR
|
||||
@@ -1813,7 +1813,7 @@
|
||||
|
||||
<programlisting>
|
||||
BZ_PARAM_ERROR
|
||||
- if b is NULL or buf is NULL or len < 0
|
||||
+ if b is NULL or buf is NULL or len < 0
|
||||
BZ_SEQUENCE_ERROR
|
||||
if b was opened with BZ2_bzWriteOpen
|
||||
BZ_IO_ERROR
|
||||
@@ -1971,7 +1971,7 @@
|
||||
if the library has been mis-compiled
|
||||
BZ_PARAM_ERROR
|
||||
if f is NULL
|
||||
- or blockSize100k < 1 or blockSize100k > 9
|
||||
+ or blockSize100k < 1 or blockSize100k > 9
|
||||
BZ_IO_ERROR
|
||||
if ferror(f) is nonzero
|
||||
BZ_MEM_ERROR
|
||||
@@ -2018,7 +2018,7 @@
|
||||
|
||||
<programlisting>
|
||||
BZ_PARAM_ERROR
|
||||
- if b is NULL or buf is NULL or len < 0
|
||||
+ if b is NULL or buf is NULL or len < 0
|
||||
BZ_SEQUENCE_ERROR
|
||||
if b was opened with BZ2_bzReadOpen
|
||||
BZ_IO_ERROR
|
||||
@@ -2169,7 +2169,7 @@
|
||||
if ( !f ) {
|
||||
/* handle error */
|
||||
}
|
||||
-b = BZ2_bzWriteOpen( &bzerror, f, 9 );
|
||||
+b = BZ2_bzWriteOpen( &bzerror, f, 9 );
|
||||
if (bzerror != BZ_OK) {
|
||||
BZ2_bzWriteClose ( b );
|
||||
/* handle error */
|
||||
@@ -2177,14 +2177,14 @@
|
||||
|
||||
while ( /* condition */ ) {
|
||||
/* get data to write into buf, and set nBuf appropriately */
|
||||
- nWritten = BZ2_bzWrite ( &bzerror, b, buf, nBuf );
|
||||
+ nWritten = BZ2_bzWrite ( &bzerror, b, buf, nBuf );
|
||||
if (bzerror == BZ_IO_ERROR) {
|
||||
- BZ2_bzWriteClose ( &bzerror, b );
|
||||
+ BZ2_bzWriteClose ( &bzerror, b );
|
||||
/* handle error */
|
||||
}
|
||||
}
|
||||
|
||||
-BZ2_bzWriteClose( &bzerror, b );
|
||||
+BZ2_bzWriteClose( &bzerror, b );
|
||||
if (bzerror == BZ_IO_ERROR) {
|
||||
/* handle error */
|
||||
}
|
||||
@@ -2204,24 +2204,24 @@
|
||||
if ( !f ) {
|
||||
/* handle error */
|
||||
}
|
||||
-b = BZ2_bzReadOpen ( &bzerror, f, 0, NULL, 0 );
|
||||
+b = BZ2_bzReadOpen ( &bzerror, f, 0, NULL, 0 );
|
||||
if ( bzerror != BZ_OK ) {
|
||||
- BZ2_bzReadClose ( &bzerror, b );
|
||||
+ BZ2_bzReadClose ( &bzerror, b );
|
||||
/* handle error */
|
||||
}
|
||||
|
||||
bzerror = BZ_OK;
|
||||
-while ( bzerror == BZ_OK && /* arbitrary other conditions */) {
|
||||
- nBuf = BZ2_bzRead ( &bzerror, b, buf, /* size of buf */ );
|
||||
+while ( bzerror == BZ_OK && /* arbitrary other conditions */) {
|
||||
+ nBuf = BZ2_bzRead ( &bzerror, b, buf, /* size of buf */ );
|
||||
if ( bzerror == BZ_OK ) {
|
||||
/* do something with buf[0 .. nBuf-1] */
|
||||
}
|
||||
}
|
||||
if ( bzerror != BZ_STREAM_END ) {
|
||||
- BZ2_bzReadClose ( &bzerror, b );
|
||||
+ BZ2_bzReadClose ( &bzerror, b );
|
||||
/* handle error */
|
||||
} else {
|
||||
- BZ2_bzReadClose ( &bzerror, b );
|
||||
+ BZ2_bzReadClose ( &bzerror, b );
|
||||
}
|
||||
</programlisting>
|
||||
|
||||
@@ -2287,9 +2287,9 @@
|
||||
if the library has been mis-compiled
|
||||
BZ_PARAM_ERROR
|
||||
if dest is NULL or destLen is NULL
|
||||
- or blockSize100k < 1 or blockSize100k > 9
|
||||
- or verbosity < 0 or verbosity > 4
|
||||
- or workFactor < 0 or workFactor > 250
|
||||
+ or blockSize100k < 1 or blockSize100k > 9
|
||||
+ or verbosity < 0 or verbosity > 4
|
||||
+ or workFactor < 0 or workFactor > 250
|
||||
BZ_MEM_ERROR
|
||||
if insufficient memory is available
|
||||
BZ_OUTBUFF_FULL
|
||||
@@ -2355,8 +2355,8 @@
|
||||
if the library has been mis-compiled
|
||||
BZ_PARAM_ERROR
|
||||
if dest is NULL or destLen is NULL
|
||||
- or small != 0 && small != 1
|
||||
- or verbosity < 0 or verbosity > 4
|
||||
+ or small != 0 && small != 1
|
||||
+ or verbosity < 0 or verbosity > 4
|
||||
BZ_MEM_ERROR
|
||||
if insufficient memory is available
|
||||
BZ_OUTBUFF_FULL
|
|
@ -0,0 +1,94 @@
|
|||
#!/usr/bin/make -f
|
||||
# debian/rules file for building the Debian GNU/Linux package bzip2.
|
||||
# Copyright (C) 1999, 2000, 2001, 2002 Philippe Troin
|
||||
# Copyright (C) 2004-2007 Anibal Monsalve Salazar <anibal@debian.org>
|
||||
# Copyright 2014 Canonical Ltd.
|
||||
|
||||
include /usr/share/dpkg/architecture.mk
|
||||
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
|
||||
CC=$(DEB_HOST_GNU_TYPE)-gcc
|
||||
else
|
||||
CC=gcc
|
||||
endif
|
||||
|
||||
DEB_BUILD_MAINT_OPTIONS := hardening=+all
|
||||
DEB_CFLAGS_MAINT_APPEND := -Wall -Winline
|
||||
DEB_CPPFLAGS_MAINT_APPEND := -D_REENTRANT
|
||||
include /usr/share/dpkg/buildflags.mk
|
||||
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
|
||||
lib_pkg := libbz2-1.0
|
||||
dev_pkg := libbz2-dev
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
.PHONY: override_dh_auto_build-arch
|
||||
override_dh_auto_build-arch:
|
||||
dh_auto_build -- libbz2.a bzip2 bzip2recover \
|
||||
$(foreach v,CC CFLAGS CPPFLAGS LDFLAGS,'$(v)=$($(v))')
|
||||
|
||||
.PHONY: override_dh_auto_build-indep
|
||||
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
|
||||
override_dh_auto_build-indep: bzip2.info
|
||||
endif
|
||||
|
||||
bzip2.info: manual.texi
|
||||
makeinfo -o bzip2.info manual.texi
|
||||
|
||||
.PHONY: override_dh_auto_test-arch
|
||||
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
||||
override_dh_auto_test-arch:
|
||||
dh_auto_test -- \
|
||||
$(foreach v,CC CFLAGS CPPFLAGS LDFLAGS,'$(v)=$($(v))')
|
||||
endif
|
||||
|
||||
# Documentation is not tested.
|
||||
.PHONY: override_dh_auto_test-indep
|
||||
|
||||
# requires: docbook-xml docbook2x
|
||||
manual.texi: manual.xml
|
||||
docbook2x-texi \
|
||||
--string-param directory-category=Development \
|
||||
--string-param directory-description='A program and library for data compression' \
|
||||
--string-param output-file=manual \
|
||||
--to-stdout $< > $@
|
||||
|
||||
.PHONY: override_dh_auto_clean
|
||||
override_dh_auto_clean:
|
||||
# dh_auto_clean calls `make distclean' which removes manual.{html,ps,pdf},
|
||||
# so we'd need to rebuild them. Call `make clean' instead.
|
||||
[ -f Makefile ] && $(MAKE) clean
|
||||
|
||||
.PHONY: override_dh_auto_install-arch
|
||||
override_dh_auto_install-arch:
|
||||
dh_auto_install -- PREFIX=$(CURDIR)/debian/tmp
|
||||
|
||||
# Documentation is installed directly, not in debian/tmp.
|
||||
.PHONY: override_dh_auto_install-indep
|
||||
|
||||
.PHONY: override_dh_link
|
||||
override_dh_link:
|
||||
# This isn't the soname, and nothing should be looking for this file,
|
||||
# but leave it alone for now
|
||||
dh_link -p$(lib_pkg) lib/$(DEB_HOST_MULTIARCH)/libbz2.so.1.0.4 \
|
||||
lib/$(DEB_HOST_MULTIARCH)/libbz2.so.1
|
||||
dh_link -p$(dev_pkg) lib/$(DEB_HOST_MULTIARCH)/libbz2.so.1.0 \
|
||||
usr/lib/$(DEB_HOST_MULTIARCH)/libbz2.so
|
||||
dh_link --remaining-packages
|
||||
|
||||
override_dh_install:
|
||||
dh_install -p$(lib_pkg) lib/libbz2.so.* lib/$(DEB_HOST_MULTIARCH)
|
||||
dh_install -p$(dev_pkg) lib/libbz2.a usr/lib/$(DEB_HOST_MULTIARCH)
|
||||
dh_install --remaining-packages
|
||||
|
||||
# --fail-missing becomes the default with debhelper 12.
|
||||
.PHONY: override_dh_missing
|
||||
override_dh_missing:
|
||||
dh_missing --fail-missing
|
||||
|
||||
.PHONY: override_dh_installdocs
|
||||
override_dh_installdocs:
|
||||
dh_installdocs -plibbz2-dev --link-doc=libbz2-1.0
|
||||
dh_installdocs --remaining-packages
|
|
@ -0,0 +1,3 @@
|
|||
include:
|
||||
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
|
||||
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
|
|
@ -0,0 +1 @@
|
|||
3.0 (quilt)
|
|
@ -0,0 +1,2 @@
|
|||
compression = "bzip2"
|
||||
compression-level = 9
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
set -C -e -f -u
|
||||
cd "$AUTOPKGTEST_TMP"
|
||||
echo Hello > hello
|
||||
bzip2 -c hello > hello.bz2
|
||||
bzip2 -cd hello.bz2 | diff hello -
|
|
@ -0,0 +1,2 @@
|
|||
Tests: compress grep link-with-shared
|
||||
Depends: @, @builddeps@
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
set -C -e -f -u
|
||||
cd "$AUTOPKGTEST_TMP"
|
||||
echo Hello > hello
|
||||
bzip2 -c hello > hello.bz2
|
||||
bzgrep ell hello.bz2
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
set -C -e -f -u
|
||||
cd "$AUTOPKGTEST_TMP"
|
||||
cat > hello.c <<EOF
|
||||
#include <stdlib.h>
|
||||
#include <bzlib.h>
|
||||
int main () {
|
||||
char dst [500];
|
||||
char src [10];
|
||||
unsigned int dstLen = sizeof (dst);
|
||||
if (BZ2_bzBuffToBuffCompress (dst, &dstLen, src, sizeof (src), 1, 0, 0) == BZ_OK)
|
||||
exit (EXIT_SUCCESS);
|
||||
else
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
EOF
|
||||
cc hello.c -lbz2 -o hello
|
||||
./hello
|
|
@ -0,0 +1,8 @@
|
|||
version=4
|
||||
|
||||
opts=\
|
||||
uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/,\
|
||||
dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \
|
||||
\
|
||||
https://sourceware.org/pub/bzip2/ \
|
||||
(?:.*/)?@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
|
Loading…
Reference in New Issue