mirror of
https://abf.rosa.ru/djam/bzip2.git
synced 2025-02-23 19:02:54 +00:00
Automatic import for version 1.0.6
This commit is contained in:
commit
e323ebdc4f
6 changed files with 880 additions and 0 deletions
2
.abf.yml
Normal file
2
.abf.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
sources:
|
||||||
|
"bzip2-1.0.6.tar.gz": 3f89f861209ce81a6bab1fd1998c0ef311712002
|
68
bzgrep
Normal file
68
bzgrep
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# zgrep -- a wrapper around a grep program that decompresses files as needed
|
||||||
|
# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
|
||||||
|
# Adapted to bzip2 by Bernhard Rosenkraenzer <bero@redhat.com>
|
||||||
|
|
||||||
|
PATH="/usr/bin:$PATH"; export PATH
|
||||||
|
|
||||||
|
prog=`echo $0 | sed 's|.*/||'`
|
||||||
|
case "$prog" in
|
||||||
|
*egrep) grep=${EGREP-egrep} ;;
|
||||||
|
*fgrep) grep=${FGREP-fgrep} ;;
|
||||||
|
*) grep=${GREP-grep} ;;
|
||||||
|
esac
|
||||||
|
pat=""
|
||||||
|
while test $# -ne 0; do
|
||||||
|
case "$1" in
|
||||||
|
-e | -f) 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;;
|
||||||
|
-*) opt="$opt $1";;
|
||||||
|
*) if test -z "$pat"; then
|
||||||
|
pat="$1"
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
fi;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if test -z "$pat"; then
|
||||||
|
echo "grep through bzip2 files"
|
||||||
|
echo "usage: $prog [grep_options] pattern [files]"
|
||||||
|
exit 1
|
||||||
|
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 $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
res=0
|
||||||
|
for i do
|
||||||
|
if test $list -eq 1; then
|
||||||
|
bzip2 -cdfq "$i" | $grep $opt "$pat" > /dev/null && echo $i
|
||||||
|
r=$?
|
||||||
|
elif test $# -eq 1 -o $silent -eq 1; then
|
||||||
|
bzip2 -cdfq "$i" | $grep $opt "$pat"
|
||||||
|
r=$?
|
||||||
|
else
|
||||||
|
bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${i}:|"
|
||||||
|
r=$?
|
||||||
|
fi
|
||||||
|
test "$r" -ne 0 && res="$r"
|
||||||
|
done
|
||||||
|
exit $res
|
217
bzip2-1.0.6-makefile.diff
Normal file
217
bzip2-1.0.6-makefile.diff
Normal file
|
@ -0,0 +1,217 @@
|
||||||
|
diff -Naur bzip2-1.0.6/Makefile bzip2-1.0.6.oden/Makefile
|
||||||
|
--- bzip2-1.0.6/Makefile 2010-09-11 00:46:02.000000000 +0200
|
||||||
|
+++ bzip2-1.0.6.oden/Makefile 2010-09-20 12:22:58.718326583 +0200
|
||||||
|
@@ -12,45 +12,76 @@
|
||||||
|
# in the file LICENSE.
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
+include config.in
|
||||||
|
+
|
||||||
|
+# define libdir name
|
||||||
|
+lib ?= lib
|
||||||
|
+
|
||||||
|
+# define standard opt flags
|
||||||
|
+CFLAGS ?= -O2 -fomit-frame-pointer
|
||||||
|
+
|
||||||
|
SHELL=/bin/sh
|
||||||
|
|
||||||
|
# To assist in cross-compiling
|
||||||
|
CC=gcc
|
||||||
|
AR=ar
|
||||||
|
RANLIB=ranlib
|
||||||
|
-LDFLAGS=
|
||||||
|
+LDFLAGS+=
|
||||||
|
|
||||||
|
-BIGFILES=-D_FILE_OFFSET_BITS=64
|
||||||
|
-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
|
||||||
|
+# Large file support
|
||||||
|
+CFLAGS += -D_FILE_OFFSET_BITS=64
|
||||||
|
|
||||||
|
-# Where you want it installed when you do 'make install'
|
||||||
|
-PREFIX=/usr/local
|
||||||
|
+# Warnings
|
||||||
|
+CFLAGS += -Wall -Winline
|
||||||
|
|
||||||
|
-
|
||||||
|
-OBJS= blocksort.o \
|
||||||
|
- huffman.o \
|
||||||
|
- crctable.o \
|
||||||
|
- randtable.o \
|
||||||
|
- compress.o \
|
||||||
|
- decompress.o \
|
||||||
|
- bzlib.o
|
||||||
|
-
|
||||||
|
-all: libbz2.a bzip2 bzip2recover test
|
||||||
|
-
|
||||||
|
-bzip2: libbz2.a bzip2.o
|
||||||
|
- $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2
|
||||||
|
-
|
||||||
|
-bzip2recover: bzip2recover.o
|
||||||
|
- $(CC) $(CFLAGS) $(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 \
|
||||||
|
- echo $(RANLIB) libbz2.a ; \
|
||||||
|
- $(RANLIB) libbz2.a ; \
|
||||||
|
- fi
|
||||||
|
+OBJS= blocksort.lo \
|
||||||
|
+ huffman.lo \
|
||||||
|
+ crctable.lo \
|
||||||
|
+ randtable.lo \
|
||||||
|
+ compress.lo \
|
||||||
|
+ decompress.lo \
|
||||||
|
+ bzlib.lo
|
||||||
|
+
|
||||||
|
+LIB=libbz2.la
|
||||||
|
+
|
||||||
|
+prefix=/usr
|
||||||
|
+bindir=$(prefix)/bin
|
||||||
|
+libdir=$(prefix)/$(lib)
|
||||||
|
+mandir=$(prefix)/share/man
|
||||||
|
+includedir=$(prefix)/include
|
||||||
|
+DESTDIR=
|
||||||
|
+
|
||||||
|
+all: $(LIB) bzip2 bzip2recover test
|
||||||
|
+
|
||||||
|
+install: all test
|
||||||
|
+ mkdir -p $(DESTDIR)$(bindir)
|
||||||
|
+ libtool --mode=install install -s -m 0755 bzip2 $(DESTDIR)$(bindir)/
|
||||||
|
+ libtool --mode=install install -s -m 0755 bzip2recover $(DESTDIR)$(bindir)/
|
||||||
|
+ libtool --mode=install install -m 0755 bzdiff $(DESTDIR)$(bindir)/
|
||||||
|
+ libtool --mode=install install -m 0755 bzmore $(DESTDIR)$(bindir)/
|
||||||
|
+ ln -sf bzip2 $(DESTDIR)$(bindir)/bunzip2
|
||||||
|
+ ln -sf bzip2 $(DESTDIR)$(bindir)/bzcat
|
||||||
|
+ mkdir -p $(DESTDIR)$(mandir)/man1
|
||||||
|
+ install -c -m 0644 bzip2.1 $(DESTDIR)$(mandir)/man1/
|
||||||
|
+ install -c -m 0644 bzdiff.1 $(DESTDIR)$(mandir)/man1/
|
||||||
|
+ install -c -m 0644 bzmore.1 $(DESTDIR)$(mandir)/man1/
|
||||||
|
+ ln -sf bzip2.1 $(DESTDIR)$(mandir)/man1/bunzip2.1
|
||||||
|
+ ln -sf bzip2.1 $(DESTDIR)$(mandir)/man1/bzcat.1
|
||||||
|
+ ln -sf bzip2.1 $(DESTDIR)$(mandir)/man1/bzip2recover.1
|
||||||
|
+ mkdir -p $(DESTDIR)$(libdir)
|
||||||
|
+ libtool --mode=install install $(LIB) $(DESTDIR)$(libdir)
|
||||||
|
+ mkdir -p $(DESTDIR)$(includedir)
|
||||||
|
+ install -c -m 0644 bzlib.h $(DESTDIR)$(includedir)
|
||||||
|
+
|
||||||
|
+bzip2: bzip2.c $(LIB)
|
||||||
|
+ libtool --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ bzip2.c $(LIB)
|
||||||
|
+
|
||||||
|
+bzip2recover: bzip2recover.c
|
||||||
|
+ libtool --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ bzip2recover.c
|
||||||
|
+
|
||||||
|
+$(LIB): $(OBJS)
|
||||||
|
+ libtool --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) -rpath $(libdir) \
|
||||||
|
+ -version-info 1:0:0
|
||||||
|
|
||||||
|
check: test
|
||||||
|
test: bzip2
|
||||||
|
@@ -69,70 +100,18 @@
|
||||||
|
cmp sample3.tst sample3.ref
|
||||||
|
@cat words3
|
||||||
|
|
||||||
|
-install: bzip2 bzip2recover
|
||||||
|
- 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
|
||||||
|
- cp -f bzip2recover $(PREFIX)/bin/bzip2recover
|
||||||
|
- chmod a+x $(PREFIX)/bin/bzip2
|
||||||
|
- chmod a+x $(PREFIX)/bin/bunzip2
|
||||||
|
- chmod a+x $(PREFIX)/bin/bzcat
|
||||||
|
- chmod a+x $(PREFIX)/bin/bzip2recover
|
||||||
|
- cp -f bzip2.1 $(PREFIX)/man/man1
|
||||||
|
- 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
|
||||||
|
- chmod a+r $(PREFIX)/lib/libbz2.a
|
||||||
|
- cp -f bzgrep $(PREFIX)/bin/bzgrep
|
||||||
|
- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
|
||||||
|
- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
|
||||||
|
- chmod a+x $(PREFIX)/bin/bzgrep
|
||||||
|
- cp -f bzmore $(PREFIX)/bin/bzmore
|
||||||
|
- ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
|
||||||
|
- chmod a+x $(PREFIX)/bin/bzmore
|
||||||
|
- cp -f bzdiff $(PREFIX)/bin/bzdiff
|
||||||
|
- ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
|
||||||
|
- chmod a+x $(PREFIX)/bin/bzdiff
|
||||||
|
- cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
|
||||||
|
- chmod a+r $(PREFIX)/man/man1/bzgrep.1
|
||||||
|
- chmod a+r $(PREFIX)/man/man1/bzmore.1
|
||||||
|
- chmod a+r $(PREFIX)/man/man1/bzdiff.1
|
||||||
|
- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1
|
||||||
|
- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1
|
||||||
|
- echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1
|
||||||
|
- echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
|
||||||
|
-
|
||||||
|
clean:
|
||||||
|
- rm -f *.o libbz2.a bzip2 bzip2recover \
|
||||||
|
+ rm -f *.o *.lo *.a $(LIB) 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
|
||||||
|
+.SUFFIXES: .c .o .lo
|
||||||
|
+
|
||||||
|
+%.o: %.c bzlib.h bzlib_private.h
|
||||||
|
+ $(CC) $(CFLAGS) -c $<
|
||||||
|
|
||||||
|
+%.lo: %.c bzlib.h bzlib_private.h
|
||||||
|
+ libtool --mode=compile $(CC) $(CFLAGS) -c $<
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm -f manual.ps manual.html manual.pdf
|
||||||
|
diff -Naur bzip2-1.0.6/Makefile-libbz2_so bzip2-1.0.6.oden/Makefile-libbz2_so
|
||||||
|
--- bzip2-1.0.6/Makefile-libbz2_so 2010-09-11 01:07:52.000000000 +0200
|
||||||
|
+++ bzip2-1.0.6.oden/Makefile-libbz2_so 2010-09-20 12:22:58.719327028 +0200
|
||||||
|
@@ -20,11 +20,13 @@
|
||||||
|
# in the file LICENSE.
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
+include config.in
|
||||||
|
|
||||||
|
SHELL=/bin/sh
|
||||||
|
CC=gcc
|
||||||
|
BIGFILES=-D_FILE_OFFSET_BITS=64
|
||||||
|
-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
|
||||||
|
+CFLAGS +=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
|
||||||
|
+LDFLAGS +=
|
||||||
|
|
||||||
|
OBJS= blocksort.o \
|
||||||
|
huffman.o \
|
||||||
|
@@ -35,8 +37,8 @@
|
||||||
|
bzlib.o
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
|
||||||
|
- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
|
||||||
|
+ $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1.0 $(LDFLAGS) -o libbz2.so.1.0.6 $(OBJS)
|
||||||
|
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
|
||||||
|
rm -f libbz2.so.1.0
|
||||||
|
ln -s libbz2.so.1.0.6 libbz2.so.1.0
|
||||||
|
|
235
bzip2.spec
Normal file
235
bzip2.spec
Normal file
|
@ -0,0 +1,235 @@
|
||||||
|
%define major 1
|
||||||
|
%define libname %mklibname %{name}_ %{major}
|
||||||
|
%define develname %mklibname %{name} -d
|
||||||
|
|
||||||
|
%define buildpdf 0
|
||||||
|
|
||||||
|
Summary: Extremely powerful file compression utility
|
||||||
|
Name: bzip2
|
||||||
|
Version: 1.0.6
|
||||||
|
Release: %mkrel 3
|
||||||
|
License: BSD
|
||||||
|
Group: Archiving/Compression
|
||||||
|
URL: http://www.bzip.org/index.html
|
||||||
|
Source0: http://www.bzip.org/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Source1: bzgrep
|
||||||
|
Source2: bzme
|
||||||
|
Source3: bzme.1
|
||||||
|
Patch0: bzip2-1.0.6-makefile.diff
|
||||||
|
Requires: mktemp
|
||||||
|
Requires: %{libname} = %{version}-%{release}
|
||||||
|
%if %buildpdf
|
||||||
|
BuildRequires: tetex-dvips
|
||||||
|
BuildRequires: tetex-latex
|
||||||
|
%endif
|
||||||
|
BuildRequires: texinfo
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||||
|
|
||||||
|
%description
|
||||||
|
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 command-line options are deliberately very similar to those of GNU Gzip,
|
||||||
|
but they are not identical.
|
||||||
|
|
||||||
|
%package -n %{libname}
|
||||||
|
Summary: Libraries for developing apps which will use bzip2
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n %{libname}
|
||||||
|
Library of bzip2 functions, for developing apps which will use the
|
||||||
|
bzip2 library (aka libz2).
|
||||||
|
|
||||||
|
%package -n %{develname}
|
||||||
|
Summary: Header files for developing apps which will use bzip2
|
||||||
|
Group: Development/C
|
||||||
|
Requires: %{libname} = %{version}-%{release}
|
||||||
|
Provides: lib%{name}-devel = %{version}-%{release}
|
||||||
|
Provides: %{name}-devel = %{version}-%{release}
|
||||||
|
Obsoletes: %{mklibname bzip2_ 1 -d} < 1.0.5-3
|
||||||
|
Provides: %{mklibname bzip2_ 1 -d}
|
||||||
|
|
||||||
|
%description -n %{develname}
|
||||||
|
Header files and static library of bzip2 functions, for developing apps which
|
||||||
|
will use the bzip2 library (aka libz2).
|
||||||
|
|
||||||
|
%prep
|
||||||
|
|
||||||
|
%setup -q
|
||||||
|
%patch0 -p1 -b .makefile
|
||||||
|
|
||||||
|
echo "lib = %{_lib}" >> config.in
|
||||||
|
echo "CFLAGS = %{optflags}" >> config.in
|
||||||
|
echo "LDFLAGS = %{ldflags}" >> config.in
|
||||||
|
|
||||||
|
cp %{SOURCE1} bzgrep
|
||||||
|
cp %{SOURCE2} bzme
|
||||||
|
cp %{SOURCE3} bzme.1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%make -f Makefile-libbz2_so
|
||||||
|
%make
|
||||||
|
|
||||||
|
%if %buildpdf
|
||||||
|
texi2dvi --pdf manual.texi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
%makeinstall_std
|
||||||
|
|
||||||
|
install -m0755 bzme %{buildroot}%{_bindir}/
|
||||||
|
install -m0755 bzgrep %{buildroot}%{_bindir}/
|
||||||
|
install -m0644 bzgrep.1 %{buildroot}%{_mandir}/man1/
|
||||||
|
|
||||||
|
cat > %{buildroot}%{_bindir}/bzless <<EOF
|
||||||
|
#!/bin/sh
|
||||||
|
%{_bindir}/bunzip2 -c "\$@" | %{_bindir}/less
|
||||||
|
EOF
|
||||||
|
chmod 755 %{buildroot}%{_bindir}/bzless
|
||||||
|
install -m 644 %{SOURCE3} %{buildroot}%{_mandir}/man1/
|
||||||
|
|
||||||
|
%if %mdkversion < 200900
|
||||||
|
%post -n %{libname} -p /sbin/ldconfig
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %mdkversion < 200900
|
||||||
|
%postun -n %{libname} -p /sbin/ldconfig
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,755)
|
||||||
|
%doc README LICENSE CHANGES
|
||||||
|
%{_bindir}/*
|
||||||
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
|
%files -n %{libname}
|
||||||
|
%defattr(-,root,root,755)
|
||||||
|
%doc LICENSE
|
||||||
|
%{_libdir}/libbz2.so.%{major}*
|
||||||
|
|
||||||
|
%files -n %{develname}
|
||||||
|
%defattr(-,root,root,755)
|
||||||
|
%doc *.html LICENSE
|
||||||
|
%if %buildpdf
|
||||||
|
%doc manual.pdf
|
||||||
|
%endif
|
||||||
|
%{_libdir}/libbz2.a
|
||||||
|
%{_libdir}/libbz2.la
|
||||||
|
%{_libdir}/libbz2.so
|
||||||
|
%{_includedir}/*.h
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue May 03 2011 Oden Eriksson <oeriksson@mandriva.com> 1.0.6-3mdv2011.0
|
||||||
|
+ Revision: 663345
|
||||||
|
- mass rebuild
|
||||||
|
|
||||||
|
* Fri Oct 15 2010 Thierry Vignaud <tv@mandriva.org> 1.0.6-2mdv2011.0
|
||||||
|
+ Revision: 585829
|
||||||
|
- bzme: able to recompress rar files too
|
||||||
|
- bzme: adapt for Fedora/RHEL
|
||||||
|
|
||||||
|
* Mon Sep 20 2010 Oden Eriksson <oeriksson@mandriva.com> 1.0.6-1mdv2011.0
|
||||||
|
+ Revision: 579942
|
||||||
|
- 1.0.6
|
||||||
|
- rediffed P0
|
||||||
|
|
||||||
|
* Sun Mar 14 2010 Oden Eriksson <oeriksson@mandriva.com> 1.0.5-7mdv2010.1
|
||||||
|
+ Revision: 518988
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Sun Aug 09 2009 Oden Eriksson <oeriksson@mandriva.com> 1.0.5-6mdv2010.0
|
||||||
|
+ Revision: 413193
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Sat Jan 10 2009 Tomasz Pawel Gajc <tpg@mandriva.org> 1.0.5-5mdv2009.1
|
||||||
|
+ Revision: 328087
|
||||||
|
- merge both patches into one
|
||||||
|
- make sure that -D_FILE_OFFSET_BITS=64 is always passed during compilation (mdvbz #46851)
|
||||||
|
|
||||||
|
* Sat Dec 20 2008 Oden Eriksson <oeriksson@mandriva.com> 1.0.5-4mdv2009.1
|
||||||
|
+ Revision: 316557
|
||||||
|
- use -fPIC
|
||||||
|
- really use %%{optflags} and %%{ldflags}
|
||||||
|
|
||||||
|
* Sun Jul 06 2008 Tomasz Pawel Gajc <tpg@mandriva.org> 1.0.5-3mdv2009.0
|
||||||
|
+ Revision: 232090
|
||||||
|
- new library policy
|
||||||
|
- protect major
|
||||||
|
- spec file clean
|
||||||
|
|
||||||
|
* Mon Jun 16 2008 Thierry Vignaud <tv@mandriva.org> 1.0.5-2mdv2009.0
|
||||||
|
+ Revision: 220495
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
+ Pixel <pixel@mandriva.com>
|
||||||
|
- do not call ldconfig in %%post/%%postun, it is now handled by filetriggers
|
||||||
|
|
||||||
|
* Fri Mar 21 2008 Gustavo De Nardin <gustavodn@mandriva.com> 1.0.5-1mdv2008.1
|
||||||
|
+ Revision: 189334
|
||||||
|
- new version, 1.0.5, fixes a security hole
|
||||||
|
|
||||||
|
* Fri Jan 11 2008 Thierry Vignaud <tv@mandriva.org> 1.0.4-3mdv2008.1
|
||||||
|
+ Revision: 149066
|
||||||
|
- rebuild
|
||||||
|
- kill re-definition of %%buildroot on Pixel's request
|
||||||
|
|
||||||
|
+ Olivier Blin <oblin@mandriva.com>
|
||||||
|
- restore BuildRoot
|
||||||
|
|
||||||
|
* Thu Aug 16 2007 Thierry Vignaud <tv@mandriva.org> 1.0.4-2mdv2008.0
|
||||||
|
+ Revision: 64221
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
|
||||||
|
* Fri Jan 05 2007 Oden Eriksson <oeriksson@mandriva.com> 1.0.4-1mdv2007.0
|
||||||
|
+ Revision: 104592
|
||||||
|
- 1.0.4
|
||||||
|
- rediffed the makefile patch (now P0)
|
||||||
|
- nuked upstream fixes for CAN-2005-0953, CAN-2005-0758 and other sec holes
|
||||||
|
- rebuild
|
||||||
|
- Import bzip2
|
||||||
|
|
||||||
|
* Sun Jul 30 2006 Oden Eriksson <oeriksson@mandriva.com> 1.0.3-6mdk
|
||||||
|
- sync with fedora (1.0.3-2.2.1)
|
||||||
|
- dropped the progress patch (P2) because it don't work with
|
||||||
|
large files, fixes #22262
|
||||||
|
|
||||||
|
* Sat May 13 2006 Stefan van der Eijk <stefan@eijk.nu> 1.0.3-5mdk
|
||||||
|
- rebuild for sparc
|
||||||
|
|
||||||
|
* Tue Jan 31 2006 Oden Eriksson <oeriksson@mandriva.com> 1.0.3-4mdk
|
||||||
|
- merge with the 1.0.3-1.2.20060mdk relese (CVE-2005-0953,CVE-2005-0758)
|
||||||
|
|
||||||
|
* Sat Jan 07 2006 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.0.3-3mdk
|
||||||
|
- add BuildRequires: libtool
|
||||||
|
|
||||||
|
* Sat Dec 31 2005 Mandriva Linux Team <http://www.mandrivaexpert.com/> 1.0.3-2mdk
|
||||||
|
- Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 08 2005 Götz Waschk <waschk@mandriva.org> 1.0.3-1mdk
|
||||||
|
- update patch 1
|
||||||
|
- fix URLs
|
||||||
|
- new version
|
||||||
|
|
||||||
|
* Fri Feb 11 2005 Olivier Blin <oblin@mandrakesoft.com> 1.0.2-20mdk
|
||||||
|
- bzme: allow to force compression with -F option
|
||||||
|
(#11183, patch from Michael Scherer)
|
||||||
|
- fix summary ended with dot
|
||||||
|
|
||||||
|
* Fri Sep 17 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.0.2-19mdk
|
||||||
|
- ship with bzdiff, bzmore
|
||||||
|
- automake build is evil here for a so small project
|
||||||
|
|
||||||
|
* Tue Apr 06 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.0.2-18mdk
|
||||||
|
- fix url
|
||||||
|
|
212
bzme
Normal file
212
bzme
Normal file
|
@ -0,0 +1,212 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# bzme re-compress gzip, zip, ... files into bzip2
|
||||||
|
#==============================================================================
|
||||||
|
# Copyright (C) 1999-2002 MandrakeSoft (tvignaud@mandrakesoft.com)
|
||||||
|
# By Thierry Vignaud <tvignaud@mandrakesoft.com>
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# The GNU General Public License can be read at
|
||||||
|
# http://www.fsf.org/copyleft/gpl.html
|
||||||
|
#==============================================================================
|
||||||
|
#
|
||||||
|
# Know bugs:
|
||||||
|
# ----------
|
||||||
|
# - bash getopt isn't gnu style aware, ie cmd opt1 file1 file2 opt2
|
||||||
|
# will result in ignoring opt2 option
|
||||||
|
#
|
||||||
|
#==============================================================================
|
||||||
|
#
|
||||||
|
# Changelog:
|
||||||
|
# ----------
|
||||||
|
# v1.0: original release
|
||||||
|
# v1.1: fix space usage (use pipe rather than temp file)
|
||||||
|
# v1.2: keep source file, not bz2 one if eof while decompressing
|
||||||
|
# v1.3: reduce used cpu time (decompressing only one time;
|
||||||
|
# source crc error 're detected through PIPESTATUS)
|
||||||
|
# v1.4: add zip support on popular^h^h^h^h^hGwenole request
|
||||||
|
# v1.5:
|
||||||
|
# - make zip method acting as z one (remove original file,
|
||||||
|
# keeping only smallest file, displaying size gain, ...)
|
||||||
|
# thus giving occasion to factorize some common code
|
||||||
|
# - check that the source file does exists
|
||||||
|
# - handle corrupted zip source file
|
||||||
|
# - comment the script and verbos-ize() some old changes
|
||||||
|
# - use cheaper shell tests
|
||||||
|
# - add GPL reference
|
||||||
|
# - update online help to reflect optional options and newer
|
||||||
|
# supported formats
|
||||||
|
# - remove dependency on sed by using ${1%old}new_extension
|
||||||
|
# v1.6:
|
||||||
|
# - print error message on stderr rather than on stdin
|
||||||
|
# - factorize/simplify zip method (fix erase temp files on bzip2ing
|
||||||
|
# error)
|
||||||
|
# - typo fixes
|
||||||
|
# - simplify for_each(file) loop
|
||||||
|
# - add "Know bugs" and TODO sections
|
||||||
|
# - add -h and -k options
|
||||||
|
# - if -k (keep) option is used, keep all files
|
||||||
|
# v1.7: - handle file names with spaces
|
||||||
|
# v1.8:
|
||||||
|
# - able to recompress rar files too
|
||||||
|
# - adapt for Fedora/RHEL
|
||||||
|
#==============================================================================
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# TODO:
|
||||||
|
# - retrieve my patch for solaris file utils
|
||||||
|
# - add trap for zip method (is it really useful?)
|
||||||
|
# - add a man page
|
||||||
|
# - move bzme in its own package that requires tar too
|
||||||
|
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
force=
|
||||||
|
keep=
|
||||||
|
|
||||||
|
# Corrupted source error message
|
||||||
|
src_err_msg ()
|
||||||
|
{ if [ "$2" != 0 ]; then
|
||||||
|
echo "Corrupted source file ($1) !" 1>&2
|
||||||
|
rm -f "$TARGET"
|
||||||
|
STATUS=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
gz_compr ()
|
||||||
|
{ zcat "$1" | bzip2 -9 > "$TARGET"
|
||||||
|
# Keep PIPESTATUS
|
||||||
|
MY_STATUS=( ${PIPESTATUS[*]} )
|
||||||
|
src_err_msg "$1" ${MY_STATUS[0]}
|
||||||
|
if [[ "${MY_STATUS[1]}" != "0" ]]; then
|
||||||
|
echo "error while bziping !" 1>&2
|
||||||
|
STATUS=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
create_temp_dir ()
|
||||||
|
{
|
||||||
|
[[ -z "$TMPDIR" ]] && TMPDIR=$TMP
|
||||||
|
[[ -z "$TMPDIR" ]] && TMPDIR=~/tmp
|
||||||
|
MY_TMP=$(mktemp -d $TMPDIR/gzme.XXXXXX)
|
||||||
|
}
|
||||||
|
|
||||||
|
rar_compr ()
|
||||||
|
{
|
||||||
|
create_temp_dir
|
||||||
|
(cd $MY_TMP; unrar x "$OLDPWD/$1") > /dev/null
|
||||||
|
src_err_msg "$1" $?
|
||||||
|
tar cfj "$TARGET" -C $MY_TMP .
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
echo "error while taring !" 1>&2
|
||||||
|
STATUS=1
|
||||||
|
fi
|
||||||
|
# Removing temporary files
|
||||||
|
rm -fr $MY_TMP
|
||||||
|
}
|
||||||
|
|
||||||
|
zip_compr ()
|
||||||
|
{
|
||||||
|
create_temp_dir
|
||||||
|
unzip -qd $MY_TMP "$1"
|
||||||
|
src_err_msg "$1" $?
|
||||||
|
tar cfj "$TARGET" -C $MY_TMP .
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
echo "error while taring !" 1>&2
|
||||||
|
STATUS=1
|
||||||
|
fi
|
||||||
|
# Removing temporary files
|
||||||
|
rm -fr $MY_TMP
|
||||||
|
}
|
||||||
|
|
||||||
|
compress ()
|
||||||
|
{ echo -n "Compressing $1 ... "
|
||||||
|
if [[ ! -f "$1" ]]; then
|
||||||
|
echo "Source file doesn't exist" 1>&2
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
STATUS=0
|
||||||
|
SIZE=$(du "$1"|cut -f 1 -d " ")
|
||||||
|
SIZE_o=$(du -b "$1"|cut -f 1 -d " ")
|
||||||
|
if [[ -f "$TARGET" ]]; then
|
||||||
|
if [[ -n $force ]];then
|
||||||
|
rm -f "$TARGET"
|
||||||
|
else
|
||||||
|
echo "$TARGET already exists !!" 1>&2
|
||||||
|
echo "Use -f to force it"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# Do the real compression job
|
||||||
|
$METHOD "$1"
|
||||||
|
# if there was an error
|
||||||
|
if [[ $STATUS = 1 ]]; then
|
||||||
|
[[ -z $keep ]] && rm -f "$TARGET"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
# Compare size in order to only keep the smallest file
|
||||||
|
SIZE2=$(du "$TARGET"|cut -f 1 -d " ")
|
||||||
|
SIZE2_o=$(du -b "$TARGET"|cut -f 1 -d " ")
|
||||||
|
if [[ $SIZE_o -lt $SIZE2_o && -z $force_compress ]]
|
||||||
|
then
|
||||||
|
echo "=> $TARGET is bigger than $1 ($SIZE"kb" => $SIZE2"kb") !!!"
|
||||||
|
echo "Use -F to force the recompression"
|
||||||
|
[[ -z $keep ]] && rm -f "$TARGET"
|
||||||
|
else
|
||||||
|
echo "=> $TARGET ($SIZE"kb" => $SIZE2"kb")"
|
||||||
|
|
||||||
|
[[ -z $keep ]] && rm -f "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
while getopts Ffhk opt; do
|
||||||
|
case "$opt" in
|
||||||
|
F) force_compress="yes";;
|
||||||
|
f) force="yes";;
|
||||||
|
k) keep="yes";;
|
||||||
|
h)
|
||||||
|
echo "Usage: bzme [-Ffhk] file.*.({,t}gz|Z|zip)"
|
||||||
|
exit 1;;
|
||||||
|
*)
|
||||||
|
echo "See bzme -h for usage"
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND - 1))
|
||||||
|
|
||||||
|
echo keeping: $keep
|
||||||
|
|
||||||
|
while [[ "$1" != "" ]]
|
||||||
|
do
|
||||||
|
#default method is gz,.Z,.z,..
|
||||||
|
METHOD=gz_compr
|
||||||
|
case "$1" in
|
||||||
|
*.bz2) echo "$1: already compressed!"; shift;continue;;
|
||||||
|
*.tgz) TARGET=${1%.tgz}.tar.bz2;;
|
||||||
|
*.Z) TARGET=${1%.Z}.bz2;;
|
||||||
|
*.gz) TARGET=${1%.gz}.bz2;;
|
||||||
|
*.rar)
|
||||||
|
METHOD=rar_compr
|
||||||
|
TARGET=${1%.rar}.bz2
|
||||||
|
;;
|
||||||
|
*.zip)
|
||||||
|
METHOD=zip_compr
|
||||||
|
TARGET=${1%.zip}.tar.bz2
|
||||||
|
;;
|
||||||
|
*) echo "$1: unknown file extension => ignored"; shift; continue;;
|
||||||
|
esac
|
||||||
|
compress "$1"
|
||||||
|
shift
|
||||||
|
done
|
146
bzme.1
Normal file
146
bzme.1
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
.PU
|
||||||
|
.TH bzip2 1
|
||||||
|
.SH NAME
|
||||||
|
bzme \- recompress gziped, ziped, ... files into bzip2
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.ll +8
|
||||||
|
.B bzmz
|
||||||
|
.RB [ " \-fh " ]
|
||||||
|
[
|
||||||
|
.I "filenames \&..."
|
||||||
|
]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.I bzme
|
||||||
|
recompresses 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.
|
||||||
|
|
||||||
|
.I bzme
|
||||||
|
expects a list of file names to accompany the command-line flags.
|
||||||
|
Each file is replaced by a recompressed version of itself, with the name
|
||||||
|
as described in
|
||||||
|
.B "NEW NAMES"
|
||||||
|
section.
|
||||||
|
|
||||||
|
.I bzme
|
||||||
|
won't overwrite by default existing files. If you want this to happen, specify
|
||||||
|
the \-f flag.
|
||||||
|
|
||||||
|
.SH "NEW NAMES"
|
||||||
|
.I bzip2
|
||||||
|
attempts to guess the filename for the decompressed file
|
||||||
|
from that of the compressed file as follows:
|
||||||
|
|
||||||
|
filename.tgz becomes filename.tar.bz2
|
||||||
|
filename.tar.gz becomes filename.tar.bz2
|
||||||
|
filename.zip becomes filename.tar.bz2
|
||||||
|
filename.z becomes filename.bz2
|
||||||
|
filename.Z becomes filename.bz2
|
||||||
|
filename.gz becomes filename.bz2
|
||||||
|
|
||||||
|
If the file does not end in one of the recognised endings, \fI.tgz\fP,
|
||||||
|
|
||||||
|
or \fI.zip\fP,
|
||||||
|
.I bzme
|
||||||
|
complains that it cannot guess if the name of the recompressed file (ie it
|
||||||
|
doesn't detect the original name to be a file compressed in a known format)
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.B \-f
|
||||||
|
Force overwrite of output files, even if
|
||||||
|
.I -k
|
||||||
|
is used. Normally,
|
||||||
|
.I bzip2
|
||||||
|
will not overwrite existing output files.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-k
|
||||||
|
Keep (don't delete) input files during compression
|
||||||
|
or decompression.
|
||||||
|
.".TP
|
||||||
|
.".B \-q --quiet
|
||||||
|
."Suppress non-essential warning messages. Messages pertaining to
|
||||||
|
."I/O errors and other critical events will not be suppressed.
|
||||||
|
.".TP
|
||||||
|
.".B \-v --verbose
|
||||||
|
."Verbose mode -- dysplay space gain (default)
|
||||||
|
.".TP
|
||||||
|
.".B \-L --license -V --version
|
||||||
|
."Display the software version, license terms and conditions.
|
||||||
|
|
||||||
|
.SH SECURITY
|
||||||
|
.I bzme
|
||||||
|
will keep source file if there's an error while decompressing source file
|
||||||
|
or recompressing new file (or
|
||||||
|
.I -k
|
||||||
|
option is used of course).
|
||||||
|
|
||||||
|
.I bzme
|
||||||
|
won't overwite the target file, even if
|
||||||
|
.I -k
|
||||||
|
option is used, if the source file doesn't exists.
|
||||||
|
|
||||||
|
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.
|
||||||
|
.BR
|
||||||
|
This offers a better protection against corruption
|
||||||
|
of the compressed data than offered by gzip.
|
||||||
|
|
||||||
|
.SH SPACE GAIN
|
||||||
|
Compression is only performed if the compressed file is smaller than the
|
||||||
|
original: the original file is only removed if the newly compressed file
|
||||||
|
is smaller, else the new recompressed file is deleted.
|
||||||
|
|
||||||
|
Text (aka non binary) files're quite nearly always better compressed
|
||||||
|
by bzip2 rather than gzip.
|
||||||
|
|
||||||
|
.SH MEMORY VS SPACE TRADEOFF
|
||||||
|
There're two things :
|
||||||
|
.TP
|
||||||
|
.B Consumed CPU time
|
||||||
|
The needed cpu time is reduced by decompressing only one time.
|
||||||
|
Files to recompress were compressed through compress or gzip, used to be
|
||||||
|
decompressed by gunzip -t in order to check that the original file was ok.
|
||||||
|
This resulted in passing two times the data in the decompression process
|
||||||
|
(one to check integrity, one to recompress).
|
||||||
|
temporary space usage will be zero since bzme will use a pipe
|
||||||
|
rather than a temporary file as it does in the early ages.
|
||||||
|
Source error're detected through bash PIPESTATUS feature.
|
||||||
|
.TP
|
||||||
|
.B Occupied space
|
||||||
|
While recompressing files, if they were compressed through compress or gzip,
|
||||||
|
temporary space usage will be zero since bzme will use a pipe
|
||||||
|
rather than a temporary file as it did in the early ages.
|
||||||
|
Source error're detected through bash PIPESTATUS feature.
|
||||||
|
Zip files're still fully decompressed on disk.
|
||||||
|
|
||||||
|
As for the recompressed file and original file, only the smallest file
|
||||||
|
is kept.
|
||||||
|
|
||||||
|
.SH RETURN VALUES
|
||||||
|
0 for a normal exit.
|
||||||
|
1 will be returned if an unknown option is passed.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
Bash getopt (which is used to analyse options) isn't gnu style aware, ie cmd
|
||||||
|
opt1 file1 file2 opt2 will result in ignoring opt2 option.
|
||||||
|
|
||||||
|
Solaris/SunOs du doesn't supports gnu option, and thus, bzme won't
|
||||||
|
work on those OSes unless GNU fileutils got installed.
|
||||||
|
.BR
|
||||||
|
I had once a day patched bzme to use right options for solaris but i had
|
||||||
|
lost my changes.
|
||||||
|
.LP
|
||||||
|
So solaris remains unsupported.
|
||||||
|
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
bzip2(1), bunzip2(1)
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999-2002
|
Loading…
Add table
Reference in a new issue