Date: Fri, 30 Mar 2007 05:25:36 GMT From: Matt Jacob <mjacob@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 116905 for review Message-ID: <200703300525.l2U5PaPT086875@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=116905 Change 116905 by mjacob@mjexp on 2007/03/30 05:25:31 IFC Affected files ... .. //depot/projects/mjexp/ObsoleteFiles.inc#11 integrate .. //depot/projects/mjexp/contrib/bzip2/CHANGES#2 integrate .. //depot/projects/mjexp/contrib/bzip2/FREEBSD-upgrade#2 integrate .. //depot/projects/mjexp/contrib/bzip2/LICENSE#2 integrate .. //depot/projects/mjexp/contrib/bzip2/Makefile#2 integrate .. //depot/projects/mjexp/contrib/bzip2/Makefile-libbz2_so#2 integrate .. //depot/projects/mjexp/contrib/bzip2/README#2 integrate .. //depot/projects/mjexp/contrib/bzip2/README.COMPILATION.PROBLEMS#2 integrate .. //depot/projects/mjexp/contrib/bzip2/Y2K_INFO#2 delete .. //depot/projects/mjexp/contrib/bzip2/blocksort.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/bzip2.1#2 integrate .. //depot/projects/mjexp/contrib/bzip2/bzip2.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/bzip2recover.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/bzlib.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/bzlib.h#2 integrate .. //depot/projects/mjexp/contrib/bzip2/bzlib_private.h#2 integrate .. //depot/projects/mjexp/contrib/bzip2/compress.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/crctable.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/decompress.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/dlltest.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/huffman.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/manual.texi#2 delete .. //depot/projects/mjexp/contrib/bzip2/randtable.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/sample1.bz2.uu#2 integrate .. //depot/projects/mjexp/contrib/bzip2/sample1.ref.gz.uu#2 integrate .. //depot/projects/mjexp/contrib/bzip2/sample2.bz2.uu#2 integrate .. //depot/projects/mjexp/contrib/bzip2/sample2.ref.gz.uu#2 integrate .. //depot/projects/mjexp/contrib/bzip2/sample3.bz2.uu#2 integrate .. //depot/projects/mjexp/contrib/bzip2/sample3.ref.gz.uu#2 integrate .. //depot/projects/mjexp/contrib/bzip2/spewG.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/unzcrash.c#2 integrate .. //depot/projects/mjexp/contrib/bzip2/words0#2 integrate .. //depot/projects/mjexp/contrib/bzip2/words2#2 integrate .. //depot/projects/mjexp/contrib/bzip2/words3#2 integrate .. //depot/projects/mjexp/contrib/netcat/nc.1#2 integrate .. //depot/projects/mjexp/contrib/netcat/netcat.c#2 integrate .. //depot/projects/mjexp/contrib/netcat/socks.c#2 integrate .. //depot/projects/mjexp/etc/defaults/rc.conf#8 integrate .. //depot/projects/mjexp/etc/network.subr#5 integrate .. //depot/projects/mjexp/games/fortune/datfiles/fortunes#11 integrate .. //depot/projects/mjexp/games/fortune/datfiles/fortunes-o.real#3 integrate .. //depot/projects/mjexp/lib/libc/gen/valloc.3#3 integrate .. //depot/projects/mjexp/lib/libc/stdlib/malloc.3#2 integrate .. //depot/projects/mjexp/lib/libc/stdlib/malloc.c#6 integrate .. //depot/projects/mjexp/lib/libc/stdlib/posix_memalign.3#2 integrate .. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#9 integrate .. //depot/projects/mjexp/sbin/ifconfig/ifconfig.8#8 integrate .. //depot/projects/mjexp/share/man/man3/pthread_cond_timedwait.3#2 integrate .. //depot/projects/mjexp/share/man/man3/pthread_cond_wait.3#2 integrate .. //depot/projects/mjexp/share/man/man4/watchdog.4#3 integrate .. //depot/projects/mjexp/share/man/man9/Makefile#13 integrate .. //depot/projects/mjexp/share/man/man9/watchdog.9#3 integrate .. //depot/projects/mjexp/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/mjexp/sys/amd64/amd64/genassym.c#5 integrate .. //depot/projects/mjexp/sys/amd64/amd64/machdep.c#9 integrate .. //depot/projects/mjexp/sys/amd64/amd64/support.S#3 integrate .. //depot/projects/mjexp/sys/amd64/include/pcb.h#2 integrate .. //depot/projects/mjexp/sys/amd64/include/segments.h#2 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_locore.s#2 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_machdep.c#11 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_proto.h#9 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_syscall.h#9 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysent.c#9 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/mjexp/sys/amd64/linux32/syscalls.master#8 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_futex.c#3 integrate .. //depot/projects/mjexp/sys/dev/isp/isp.c#19 integrate .. //depot/projects/mjexp/sys/i386/i386/support.s#3 integrate .. //depot/projects/mjexp/sys/netinet/in.c#5 integrate .. //depot/projects/mjexp/usr.bin/bzip2/Makefile#2 integrate .. //depot/projects/mjexp/usr.bin/bzip2/doc/Makefile#2 delete .. //depot/projects/mjexp/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/mjexp/usr.sbin/acpi/acpidump/acpidump.h#2 integrate .. //depot/projects/mjexp/usr.sbin/arp/arp.4#2 integrate .. //depot/projects/mjexp/usr.sbin/gstat/gstat.c#2 integrate .. //depot/projects/mjexp/usr.sbin/ngctl/Makefile#3 integrate .. //depot/projects/mjexp/usr.sbin/pkg_install/lib/exec.c#2 integrate .. //depot/projects/mjexp/usr.sbin/pkg_install/lib/lib.h#2 integrate .. //depot/projects/mjexp/usr.sbin/pkg_install/lib/plist.c#2 integrate .. //depot/projects/mjexp/usr.sbin/pkg_install/lib/url.c#3 integrate Differences ... ==== //depot/projects/mjexp/ObsoleteFiles.inc#11 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.76 2007/03/19 11:15:53 delphij Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.77 2007/03/28 07:49:57 delphij Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070328: bzip2 1.0.4 +OLD_FILES+=usr/share/info/bzip2.info.gz # 20070303: libarchive 2.0 OLD_LIBS+=usr/lib/libarchive.so.3 # 20070301: remove addr2ascii and ascii2addr ==== //depot/projects/mjexp/contrib/bzip2/CHANGES#2 (text+ko) ==== @@ -1,5 +1,18 @@ + ------------------------------------------------------------------ + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. + bzip2/libbzip2 version 1.0.4 of 20 December 2006 + Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. + + This program is released under the terms of the license contained + in the file LICENSE. + ------------------------------------------------------------------ + + 0.9.0 ~~~~~ First version. @@ -261,7 +274,7 @@ decompressor to crash, loop or access memory which does not belong to it. If you are using bzip2 or the library to decompress bitstreams from untrusted sources, an upgrade - to 1.0.3 is recommended. + to 1.0.3 is recommended. This fixes CAN-2005-1260. * The documentation has been converted to XML, from which html and pdf can be derived. @@ -273,3 +286,29 @@ * The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2. This has been fixed. + + +1.0.4 (20 Dec 06) +~~~~~~~~~~~~~~~~~ +Fixes some minor bugs since the last version, 1.0.3. + +* Fix file permissions race problem (CAN-2005-0953). + +* Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD + scan. + +* 'const'/prototype cleanups in the C code. + +* Change default install location to /usr/local, and handle multiple + 'make install's without error. + +* Sanitise file names more carefully in bzgrep. Fixes CAN-2005-0758 + to the extent that applies to bzgrep. + +* Use 'mktemp' rather than 'tempfile' in bzdiff. + +* Tighten up a couple of assertions in blocksort.c following automated + analysis. + +* Fix minor doc/comment bugs. + ==== //depot/projects/mjexp/contrib/bzip2/FREEBSD-upgrade#2 (text+ko) ==== @@ -1,18 +1,18 @@ -$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.2 2005/05/16 18:56:30 obrien Exp $ +$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.3 2007/03/28 07:56:14 delphij Exp $ Julian Seward's bzip2 originals can be found at: http://sources.redhat.com/bzip2/ Imported by: - cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.3." \ - src/contrib/bzip2 BZIP2 v1_0_3 + cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.4." \ + src/contrib/bzip2 BZIP2 v1_0_4 Notes: The following log shows details of trimming: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - tar xvfz bzip2-1.0.3.tar.gz -X FREEBSD-Xlist - cd bzip2-1.0.3 + tar xvfz bzip2-1.0.4.tar.gz -X FREEBSD-Xlist + cd bzip2-1.0.4 uuencode sample1.bz2 sample1.bz2 > sample1.bz2.uu uuencode sample2.bz2 sample2.bz2 > sample2.bz2.uu uuencode sample3.bz2 sample3.bz2 > sample3.bz2.uu ==== //depot/projects/mjexp/contrib/bzip2/LICENSE#2 (text+ko) ==== @@ -1,6 +1,8 @@ +-------------------------------------------------------------------------- + This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2005 Julian R Seward. All +documentation, are copyright (C) 1996-2006 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -35,6 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Julian Seward, Cambridge, UK. -jseward@acm.org -bzip2/libbzip2 version 1.0.3 of 15 February 2005 +jseward@bzip.org +bzip2/libbzip2 version 1.0.4 of 20 December 2006 +-------------------------------------------------------------------------- ==== //depot/projects/mjexp/contrib/bzip2/Makefile#2 (text+ko) ==== @@ -1,3 +1,16 @@ +# ------------------------------------------------------------------ +# This file is part of bzip2/libbzip2, a program and library for +# lossless, block-sorting data compression. +# +# bzip2/libbzip2 version 1.0.4 of 20 December 2006 +# Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> +# +# Please read the WARNING, DISCLAIMER and PATENTS sections in the +# README file. +# +# This program is released under the terms of the license contained +# in the file LICENSE. +# ------------------------------------------------------------------ SHELL=/bin/sh @@ -8,10 +21,10 @@ LDFLAGS= BIGFILES=-D_FILE_OFFSET_BITS=64 -CFLAGS=-Wall -Winline -O -g $(BIGFILES) +CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) # Where you want it installed when you do 'make install' -PREFIX=/usr +PREFIX=/usr/local OBJS= blocksort.o \ @@ -77,14 +90,14 @@ cp -f libbz2.a $(PREFIX)/lib chmod a+r $(PREFIX)/lib/libbz2.a cp -f bzgrep $(PREFIX)/bin/bzgrep - ln $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep - ln $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep + 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 $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless + ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless chmod a+x $(PREFIX)/bin/bzmore cp -f bzdiff $(PREFIX)/bin/bzdiff - ln $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp + 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 @@ -124,10 +137,10 @@ distclean: clean rm -f manual.ps manual.html manual.pdf -DISTNAME=bzip2-1.0.3 +DISTNAME=bzip2-1.0.4 dist: check manual rm -f $(DISTNAME) - ln -sf . $(DISTNAME) + ln -s -f . $(DISTNAME) tar cvf $(DISTNAME).tar \ $(DISTNAME)/blocksort.c \ $(DISTNAME)/huffman.c \ @@ -167,7 +180,6 @@ $(DISTNAME)/libbz2.dsp \ $(DISTNAME)/dlltest.dsp \ $(DISTNAME)/makefile.msc \ - $(DISTNAME)/Y2K_INFO \ $(DISTNAME)/unzcrash.c \ $(DISTNAME)/spewG.c \ $(DISTNAME)/mk251.c \ ==== //depot/projects/mjexp/contrib/bzip2/Makefile-libbz2_so#2 (text+ko) ==== @@ -1,15 +1,30 @@ # This Makefile builds a shared version of the library, -# libbz2.so.1.0.3, with soname libbz2.so.1.0, +# libbz2.so.1.0.4, with soname libbz2.so.1.0, # at least on x86-Linux (RedHat 7.2), # with gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98). -# Please see the README file for some -# important info about building the library like this. +# Please see the README file for some important info +# about building the library like this. + +# ------------------------------------------------------------------ +# This file is part of bzip2/libbzip2, a program and library for +# lossless, block-sorting data compression. +# +# bzip2/libbzip2 version 1.0.4 of 20 December 2006 +# Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> +# +# Please read the WARNING, DISCLAIMER and PATENTS sections in the +# README file. +# +# This program is released under the terms of the license contained +# in the file LICENSE. +# ------------------------------------------------------------------ + SHELL=/bin/sh CC=gcc BIGFILES=-D_FILE_OFFSET_BITS=64 -CFLAGS=-fpic -fPIC -Wall -Winline -O -g +CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES) OBJS= blocksort.o \ huffman.o \ @@ -20,13 +35,13 @@ bzlib.o all: $(OBJS) - $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.3 $(OBJS) - $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.3 + $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.4 $(OBJS) + $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.4 rm -f libbz2.so.1.0 - ln -s libbz2.so.1.0.3 libbz2.so.1.0 + ln -s libbz2.so.1.0.4 libbz2.so.1.0 clean: - rm -f $(OBJS) bzip2.o libbz2.so.1.0.3 libbz2.so.1.0 bzip2-shared + rm -f $(OBJS) bzip2.o libbz2.so.1.0.4 libbz2.so.1.0 bzip2-shared blocksort.o: blocksort.c $(CC) $(CFLAGS) -c blocksort.c ==== //depot/projects/mjexp/contrib/bzip2/README#2 (text+ko) ==== @@ -1,33 +1,48 @@ -This is the README for bzip2, a block-sorting file compressor, version -1.0.3. This version is fully compatible with the previous public -releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and 1.0.2. +This is the README for bzip2/libzip2. +This version is fully compatible with the previous public releases. + +------------------------------------------------------------------ +This file is part of bzip2/libbzip2, a program and library for +lossless, block-sorting data compression. + +bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + +Please read the WARNING, DISCLAIMER and PATENTS sections in this file. -bzip2-1.0.3 is distributed under a BSD-style license. For details, -see the file LICENSE. +This program is released under the terms of the license contained +in the file LICENSE. +------------------------------------------------------------------ Complete documentation is available in Postscript form (manual.ps), PDF (manual.pdf) or html (manual.html). A plain-text version of the -manual page is available as bzip2.txt. A statement about Y2K issues -is now included in the file Y2K_INFO. +manual page is available as bzip2.txt. HOW TO BUILD -- UNIX -Type `make'. This builds the library libbz2.a and then the -programs bzip2 and bzip2recover. Six self-tests are run. -If the self-tests complete ok, carry on to installation: +Type 'make'. This builds the library libbz2.a and then the programs +bzip2 and bzip2recover. Six self-tests are run. If the self-tests +complete ok, carry on to installation: + +To install in /usr/local/bin, /usr/local/lib, /usr/local/man and +/usr/local/include, type -To install in /usr/bin, /usr/lib, /usr/man and /usr/include, type make install -To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type + +To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type + make install PREFIX=/xxx/yyy + If you are (justifiably) paranoid and want to see what 'make install' is going to do, you can first do + make -n install or make -n install PREFIX=/xxx/yyy respectively. -The -n instructs make to show the commands it would execute, but -not actually execute them. + +The -n instructs make to show the commands it would execute, but not +actually execute them. HOW TO BUILD -- UNIX, shared library libbz2.so. @@ -49,23 +64,25 @@ bzCompress to BZ2_bzCompress, to avoid namespace pollution. Unfortunately this means that the libbz2.so created by Makefile-libbz2_so will not work with any program which used an older -version of the library. Sorry. I do encourage library clients to -make the effort to upgrade to use version 1.0, since it is both faster -and more robust than previous versions. +version of the library. I do encourage library clients to make the +effort to upgrade to use version 1.0, since it is both faster and more +robust than previous versions. HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc. It's difficult for me to support compilation on all these platforms. My approach is to collect binaries for these platforms, and put them -on the master web page (http://sources.redhat.com/bzip2). Look there. -However (FWIW), bzip2-1.0.X is very standard ANSI C and should compile +on the master web site (http://www.bzip.org). Look there. However +(FWIW), bzip2-1.0.X is very standard ANSI C and should compile unmodified with MS Visual C. If you have difficulties building, you might want to read README.COMPILATION.PROBLEMS. At least using MS Visual C++ 6, you can build from the unmodified sources by issuing, in a command shell: + nmake -f makefile.msc + (you may need to first run the MSVC-provided script VCVARS32.BAT so as to set up paths to the MSVC tools correctly). @@ -86,18 +103,19 @@ WARNING: - This program (attempts to) compress data by performing several - non-trivial transformations on it. Unless you are 100% familiar - with *all* the algorithms contained herein, and with the - consequences of modifying them, you should NOT meddle with the - compression or decompression machinery. Incorrect changes can and - very likely *will* lead to disastrous loss of data. + This program and library (attempts to) compress data by + performing several non-trivial transformations on it. + Unless you are 100% familiar with *all* the algorithms + contained herein, and with the consequences of modifying them, + you should NOT meddle with the compression or decompression + machinery. Incorrect changes can and very likely *will* + lead to disastrous loss of data. DISCLAIMER: I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE - USE OF THIS PROGRAM, HOWSOEVER CAUSED. + USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED. Every compression of a file implies an assumption that the compressed file can be decompressed to reproduce the original. @@ -110,19 +128,18 @@ PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER SMALL, THAT THE DATA WILL NOT BE RECOVERABLE. - That is not to say this program is inherently unreliable. Indeed, - I very much hope the opposite is true. bzip2 has been carefully - constructed and extensively tested. + That is not to say this program is inherently unreliable. + Indeed, I very much hope the opposite is true. bzip2/libbzip2 + has been carefully constructed and extensively tested. PATENTS: - To the best of my knowledge, bzip2 does not use any patented - algorithms. However, I do not have the resources to carry out - a patent search. Therefore I cannot give any guarantee of the - above statement. + To the best of my knowledge, bzip2/libbzip2 does not use any + patented algorithms. However, I do not have the resources + to carry out a patent search. Therefore I cannot give any + guarantee of the above statement. -End of legalities. WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ? @@ -156,21 +173,23 @@ See the CHANGES file. +WHAT'S NEW IN 1.0.4 ? + + See the CHANGES file. + I hope you find bzip2 useful. Feel free to contact me at jseward@bzip.org if you have any suggestions or queries. Many people mailed me with comments, suggestions and patches after the releases of bzip-0.15, -bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and -1.0.2, and the changes in bzip2 are largely a result of this feedback. -I thank you for your comments. +bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, +1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this +feedback. I thank you for your comments. -At least for the time being, bzip2's "home" is (or can be reached via) -http://www.bzip.org +bzip2's "home" is http://www.bzip.org/ Julian Seward jseward@bzip.org - Cambridge, UK. 18 July 1996 (version 0.15) @@ -183,3 +202,4 @@ 5 May 2000 (bzip2, version 1.0pre8) 30 December 2001 (bzip2, version 1.0.2pre1) 15 February 2005 (bzip2, version 1.0.3) +20 December 2006 (bzip2, version 1.0.4) ==== //depot/projects/mjexp/contrib/bzip2/README.COMPILATION.PROBLEMS#2 (text+ko) ==== @@ -1,32 +1,47 @@ +------------------------------------------------------------------ +This file is part of bzip2/libbzip2, a program and library for +lossless, block-sorting data compression. + +bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> -bzip2-1.0.3 should compile without problems on the vast majority of +Please read the WARNING, DISCLAIMER and PATENTS sections in the +README file. + +This program is released under the terms of the license contained +in the file LICENSE. +------------------------------------------------------------------ + +bzip2-1.0.4 should compile without problems on the vast majority of platforms. Using the supplied Makefile, I've built and tested it -myself for x86-linux and x86_64-linux. With makefile.msc, Visual C++ +myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ 6.0 and nmake, you can build a native Win32 version too. Large file -support seems to work correctly on at least alpha-tru64unix and -x86-cygwin32 (on Windows 2000). +support seems to work correctly on at least on amd64-linux. When I say "large file" I mean a file of size 2,147,483,648 (2^31) bytes or above. Many older OSs can't handle files above this size, but many newer ones can. Large files are pretty huge -- most files you'll encounter are not Large Files. -Earlier versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide -variety of platforms without difficulty, and I hope this version will -continue in that tradition. However, in order to support large files, -I've had to include the define -D_FILE_OFFSET_BITS=64 in the Makefile. -This can cause problems. +Early versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety +of platforms without difficulty, and I hope this version will continue +in that tradition. However, in order to support large files, I've had +to include the define -D_FILE_OFFSET_BITS=64 in the Makefile. This +can cause problems. The technique of adding -D_FILE_OFFSET_BITS=64 to get large file support is, as far as I know, the Recommended Way to get correct large file support. For more details, see the Large File Support Specification, published by the Large File Summit, at + http://ftp.sas.com/standards/large.file As a general comment, if you get compilation errors which you think are related to large file support, try removing the above define from the Makefile, ie, delete the line + BIGFILES=-D_FILE_OFFSET_BITS=64 + from the Makefile, and do 'make clean ; make'. This will give you a version of bzip2 without large file support, which, for most applications, is probably not a problem. @@ -37,3 +52,7 @@ large file support, if you are feeling paranoid. Be aware though that any compilation problems which affect bzip2 will also affect spewG.c, alas. + +AIX: I have reports that for large file support, you need to specify +-D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64. I have not tested +this myself. ==== //depot/projects/mjexp/contrib/bzip2/blocksort.c#2 (text+ko) ==== @@ -4,68 +4,21 @@ /*--- blocksort.c ---*/ /*-------------------------------------------------------------*/ -/*-- - This file is a part of bzip2 and/or libbzip2, a program and - library for lossless, block-sorting data compression. +/* ------------------------------------------------------------------ + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. - Copyright (C) 1996-2005 Julian R Seward. All rights reserved. + bzip2/libbzip2 version 1.0.4 of 20 December 2006 + Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. - 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. + This program is released under the terms of the license contained + in the file LICENSE. + ------------------------------------------------------------------ */ - 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. - - Julian Seward, Cambridge, UK. - jseward@bzip.org - bzip2/libbzip2 version 1.0 of 21 March 2000 - - This program is based on (at least) the work of: - Mike Burrows - David Wheeler - Peter Fenwick - Alistair Moffat - Radford Neal - Ian H. Witten - Robert Sedgewick - Jon L. Bentley - - For more information on these sources, see the manual. - - To get some idea how the block sorting algorithms in this file - work, read my paper - On the Performance of BWT Sorting Algorithms - in Proceedings of the IEEE Data Compression Conference 2000, - Snowbird, Utah, USA, 27-30 March 2000. The main sort in this - file implements the algorithm called cache in the paper. ---*/ - - #include "bzlib_private.h" /*---------------------------------------------*/ @@ -155,7 +108,7 @@ while (sp > 0) { - AssertH ( sp < FALLBACK_QSORT_STACK_SIZE, 1004 ); + AssertH ( sp < FALLBACK_QSORT_STACK_SIZE - 1, 1004 ); fpop ( lo, hi ); if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) { @@ -690,7 +643,7 @@ while (sp > 0) { - AssertH ( sp < MAIN_QSORT_STACK_SIZE, 1001 ); + AssertH ( sp < MAIN_QSORT_STACK_SIZE - 2, 1001 ); mpop ( lo, hi, d ); if (hi - lo < MAIN_QSORT_SMALL_THRESH || ==== //depot/projects/mjexp/contrib/bzip2/bzip2.1#2 (text+ko) ==== @@ -1,7 +1,7 @@ .PU .TH bzip2 1 .SH NAME -bzip2, bunzip2 \- a block-sorting file compressor, v1.0.3 +bzip2, bunzip2 \- a block-sorting file compressor, v1.0.4 .br bzcat \- decompresses files to stdout .br @@ -405,11 +405,11 @@ tries hard to detect I/O errors and exit cleanly, but the details of what the problem is sometimes seem rather misleading. -This manual page pertains to version 1.0.3 of +This manual page pertains to version 1.0.4 of .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 and 1.0.2, but with the following +0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 and 1.0.3, but with the following exception: 0.9.0 and above can correctly decompress multiple concatenated compressed files. 0.1pl2 cannot do this; it will stop after decompressing just the first file in the stream. ==== //depot/projects/mjexp/contrib/bzip2/bzip2.c#2 (text+ko) ==== @@ -3,119 +3,26 @@ /*--- A block-sorting, lossless compressor bzip2.c ---*/ /*-----------------------------------------------------------*/ -/*-- - This file is a part of bzip2 and/or libbzip2, a program and - library for lossless, block-sorting data compression. +/* ------------------------------------------------------------------ + This file is part of bzip2/libbzip2, a program and library for + lossless, block-sorting data compression. - Copyright (C) 1996-2005 Julian R Seward. All rights reserved. + bzip2/libbzip2 version 1.0.4 of 20 December 2006 + Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: + Please read the WARNING, DISCLAIMER and PATENTS sections in the + README file. - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + This program is released under the terms of the license contained + in the file LICENSE. + ------------------------------------------------------------------ */ - 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. - - Julian Seward, Cambridge, UK. - jseward@bzip.org - bzip2/libbzip2 version 1.0 of 21 March 2000 - - This program is based on (at least) the work of: - Mike Burrows - David Wheeler - Peter Fenwick - Alistair Moffat - Radford Neal - Ian H. Witten - Robert Sedgewick - Jon L. Bentley - - For more information on these sources, see the manual. ---*/ - - -/*----------------------------------------------------*/ -/*--- IMPORTANT ---*/ -/*----------------------------------------------------*/ - -/*-- - WARNING: - This program and library (attempts to) compress data by - performing several non-trivial transformations on it. - Unless you are 100% familiar with *all* the algorithms - contained herein, and with the consequences of modifying them, - you should NOT meddle with the compression or decompression - machinery. Incorrect changes can and very likely *will* - lead to disasterous loss of data. - - DISCLAIMER: - I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE - USE OF THIS PROGRAM, HOWSOEVER CAUSED. - - Every compression of a file implies an assumption that the - compressed file can be decompressed to reproduce the original. - Great efforts in design, coding and testing have been made to - ensure that this program works correctly. However, the - complexity of the algorithms, and, in particular, the presence - of various special cases in the code which occur with very low - but non-zero probability make it impossible to rule out the - possibility of bugs remaining in the program. DO NOT COMPRESS - ANY DATA WITH THIS PROGRAM AND/OR LIBRARY UNLESS YOU ARE PREPARED - TO ACCEPT THE POSSIBILITY, HOWEVER SMALL, THAT THE DATA WILL - NOT BE RECOVERABLE. - - That is not to say this program is inherently unreliable. - Indeed, I very much hope the opposite is true. bzip2/libbzip2 - has been carefully constructed and extensively tested. - - PATENTS: - To the best of my knowledge, bzip2/libbzip2 does not use any - patented algorithms. However, I do not have the resources - available to carry out a full patent search. Therefore I cannot - give any guarantee of the above statement. ---*/ - -/* $FreeBSD: src/contrib/bzip2/bzip2.c,v 1.2 2005/06/29 21:36:49 simon Exp $ */ - - -/*----------------------------------------------------*/ -/*--- and now for something much more pleasant :-) ---*/ -/*----------------------------------------------------*/ - -/*---------------------------------------------*/ -/*-- - Place a 1 beside your platform, and 0 elsewhere. ---*/ - -/*-- - Generic 32-bit Unix. - Also works on 64-bit Unix boxes. - This is the default. ---*/ +/* Place a 1 beside your platform, and 0 elsewhere. + Generic 32-bit Unix. + Also works on 64-bit Unix boxes. + This is the default. +*/ #define BZ_UNIX 1 /*-- @@ -303,17 +210,17 @@ FILE *outputHandleJustInCase; Int32 workFactor; -static void panic ( Char* ) NORETURN; -static void ioError ( void ) NORETURN; -static void outOfMemory ( void ) NORETURN; -static void configError ( void ) NORETURN; -static void crcError ( void ) NORETURN; -static void cleanUpAndFail ( Int32 ) NORETURN; -static void compressedStreamEOF ( void ) NORETURN; +static void panic ( const Char* ) NORETURN; +static void ioError ( void ) NORETURN; +static void outOfMemory ( void ) NORETURN; +static void configError ( void ) NORETURN; +static void crcError ( void ) NORETURN; +static void cleanUpAndFail ( Int32 ) NORETURN; +static void compressedStreamEOF ( void ) NORETURN; static void copyFileName ( Char*, Char* ); static void* myMalloc ( Int32 ); -static int applySavedFileAttrToOutputFile ( int fd ); +static void applySavedFileAttrToOutputFile ( IntNative fd ); @@ -459,10 +366,9 @@ ret = fflush ( zStream ); if (ret == EOF) goto errhandler_io; if (zStream != stdout) { - int fd = fileno ( zStream ); + Int32 fd = fileno ( zStream ); if (fd < 0) goto errhandler_io; - ret = applySavedFileAttrToOutputFile ( fd ); - if (ret != 0) goto errhandler_io; + applySavedFileAttrToOutputFile ( fd ); ret = fclose ( zStream ); outputHandleJustInCase = NULL; if (ret == EOF) goto errhandler_io; @@ -575,11 +481,10 @@ closeok: if (ferror(zStream)) goto errhandler_io; - if ( stream != stdout) { - int fd = fileno ( stream ); + if (stream != stdout) { + Int32 fd = fileno ( stream ); if (fd < 0) goto errhandler_io; - ret = applySavedFileAttrToOutputFile ( fd ); - if (ret != 0) goto errhandler_io; + applySavedFileAttrToOutputFile ( fd ); } ret = fclose ( zStream ); if (ret == EOF) goto errhandler_io; @@ -838,7 +743,7 @@ /*---------------------------------------------*/ static -void panic ( Char* s ) +void panic ( const Char* s ) { fprintf ( stderr, "\n%s: PANIC -- internal consistency error:\n" @@ -1051,6 +956,7 @@ For non-Unix platforms, if we are not worrying about security issues, simple this simply behaves like fopen. */ +static FILE* fopen_output_safely ( Char* name, const char* mode ) { # if BZ_UNIX @@ -1156,20 +1062,18 @@ } static -int applySavedFileAttrToOutputFile ( int fd ) +void applySavedFileAttrToOutputFile ( IntNative fd ) { # if BZ_UNIX - IntNative retVal; + IntNative retVal; retVal = fchmod ( fd, fileMetaInfo.st_mode ); - if (retVal != 0) - return retVal; + ERROR_IF_NOT_ZERO ( retVal ); (void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid ); /* chown() will in many cases return with EPERM, which can be safely ignored. */ - return 0; # endif } @@ -1197,13 +1101,13 @@ /*---------------------------------------------*/ #define BZ_N_SUFFIX_PAIRS 4 -Char* zSuffix[BZ_N_SUFFIX_PAIRS] +const Char* zSuffix[BZ_N_SUFFIX_PAIRS] = { ".bz2", ".bz", ".tbz2", ".tbz" }; -Char* unzSuffix[BZ_N_SUFFIX_PAIRS] +const Char* unzSuffix[BZ_N_SUFFIX_PAIRS] = { "", "", ".tar", ".tar" }; static -Bool hasSuffix ( Char* s, Char* suffix ) +Bool hasSuffix ( Char* s, const Char* suffix ) { Int32 ns = strlen(s); Int32 nx = strlen(suffix); @@ -1214,7 +1118,8 @@ static Bool mapSuffix ( Char* name, - Char* oldSuffix, Char* newSuffix ) + const Char* oldSuffix, + const Char* newSuffix ) { if (!hasSuffix(name,oldSuffix)) return False; name[strlen(name)-strlen(oldSuffix)] = 0; @@ -1239,8 +1144,8 @@ switch (srcMode) { case SM_I2O: - copyFileName ( inName, "(stdin)" ); - copyFileName ( outName, "(stdout)" ); + copyFileName ( inName, (Char*)"(stdin)" ); + copyFileName ( outName, (Char*)"(stdout)" ); break; case SM_F2F: copyFileName ( inName, name ); @@ -1249,7 +1154,7 @@ break; >>> TRUNCATED FOR MAIL (1000 lines) <<<help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200703300525.l2U5PaPT086875>
