| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/aclocal.m4 bzip2-1.0.6/aclocal.m4 |
| --- bzip2-1.0.6.original/aclocal.m4 2019-05-22 01:40:00.132080700 +0200 |
| +++ bzip2-1.0.6/aclocal.m4 2019-05-22 01:39:56.803508200 +0200 |
| @@ -0,0 +1,115 @@ |
| +# aclocal.m4 -*- Autoconf -*- vim: filetype=config |
| +# ------------------------------------------------------------------ |
| +# This file is part of bzip2/libbzip2, a program and library for |
| +# lossless, block-sorting data compression. |
| +# |
| +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 |
| +# Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> |
| +# |
| +# File: aclocal.m4 for autoconf configuration |
| +# Contributed by Keith Marshall <keithmarshall@users.sourceforge.net> |
| +# |
| +# 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_AC_WINDOWS_HOST |
| +# --------------------- |
| +# Check if the runtime platform is a native MS-Windows host. |
| +# FIXME: is checking _WIN64 an appropriate choice, for 64-bit Windows? |
| +# Because we only need to know whether the host is (native) win32 |
| +# or not, we can avoid the expensive AC_CANONICAL_HOST checks. |
| +# |
| +AC_DEFUN([BZIP2_AC_WINDOWS_HOST], |
| +[AC_CACHE_CHECK([whether we are building for an MS-Windows host], |
| + [bzip2_cv_windows_host], |
| + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ |
| +@%:@if defined _WIN32 || defined _WIN64 |
| + choke me |
| +@%:@endif]])], |
| +[bzip2_cv_windows_host=no], [bzip2_cv_windows_host=yes]))dnl |
| +])# BZIP2_AC_WINDOWS_HOST |
| + |
| +# BZIP2_AC_CYGWIN_HOST |
| +# --------------------- |
| +# Check if the runtime platform is a cygwin host. |
| +# Because we only need to know whether the host is cygwin |
| +# or not, we can avoid the expensive AC_CANONICAL_HOST checks. |
| +# |
| +AC_DEFUN([BZIP2_AC_CYGWIN_HOST], |
| +[AC_CACHE_CHECK([whether we are building for a cygwin host], |
| + [bzip2_cv_cygwin_host], |
| + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ |
| +@%:@if defined __CYGWIN__ |
| + choke me |
| +@%:@endif]])], |
| +[bzip2_cv_cygwin_host=no], [bzip2_cv_cygwin_host=yes]))dnl |
| +])# BZIP2_AC_CYGWIN_HOST |
| + |
| +# BZIP2_AC_ENABLE_SHARED |
| +# ---------------------- |
| +# Check if the user is configuring with `--enable-shared'; |
| +# if yes, activate shared library build support as appropriate, |
| +# for the host on which this build is to be deployed. |
| +# |
| +AC_DEFUN([BZIP2_AC_ENABLE_SHARED], |
| +[AC_REQUIRE([BZIP2_AC_WINDOWS_HOST])dnl |
| + AC_REQUIRE([BZIP2_AC_CYGWIN_HOST])dnl |
| + AC_MSG_CHECKING([for make goal to build shared libraries]) |
| + AC_ARG_ENABLE([shared], |
| + [AS_HELP_STRING([--enable-shared], |
| + [enable building as a shared library @<:@default=no@:>@])], |
| + [if test "x$enable_shared" = xyes |
| + then |
| + if test "x${bzip2_cv_windows_host}" = xyes || |
| + test "x${bzip2_cv_cygwin_host}" = xyes |
| + then |
| + enable_shared="all-dll-shared" |
| + else |
| + enable_shared="all-bzip2-shared" |
| + fi |
| + else |
| + enable_shared="none" |
| + fi |
| + ], [enable_shared="none"])dnl |
| + AC_MSG_RESULT([${enable_shared}]) |
| + [test "x$enable_shared" = xnone && enable_shared=""] |
| + AC_SUBST([enable_shared])dnl |
| +])# BZIP2_AC_ENABLE_SHARED |
| + |
| +# BZIP2_AC_SUBST_DLLVER |
| +# --------------------- |
| +# Establish the ABI version number for MS-Windows shared libraries; |
| +# this is derived from the universal SO_VER and SO_AGE properties, as |
| +# specified in `Makefile.in'; (nominally, it is SO_VER - SO_AGE, but |
| +# see the note in `Makefile.in', explaining why, in this instance, |
| +# we use one more than that nominal value for $host = mingw32) |
| +# |
| +AC_DEFUN([BZIP2_AC_SUBST_DLLVER], |
| +[AC_REQUIRE([BZIP2_AC_WINDOWS_HOST])dnl |
| + AC_MSG_CHECKING([for API version of DLL shared libraries]) |
| + [SO_VER=`FS=' ';sed -n "/^[$FS]*SO_VER[$FS]*=[$FS]*/s///p" ${srcdir}/Makefile.in`] |
| + [SO_AGE=`FS=' ';sed -n "/^[$FS]*SO_AGE[$FS]*=[$FS]*/s///p" ${srcdir}/Makefile.in`] |
| + [dllver=`expr ${SO_VER} - ${SO_AGE}` |
| + test "x$bzip2_cv_windows_host" = xyes && dllver=`expr ${SO_VER} - ${SO_AGE}`] |
| + AC_SUBST([DLLVER], [${dllver}]) |
| + AC_MSG_RESULT([${dllver}])dnl |
| +])# BZIP2_AC_SUBST_DLLVER |
| + |
| +# BZIP2_AC_SUBST_DLLNAME |
| +# ---------------------- |
| +# Establish the base name MS-Windows or cygwin shared libraries; |
| +# |
| +AC_DEFUN([BZIP2_AC_SUBST_DLLNAME], |
| +[AC_REQUIRE([BZIP2_AC_WINDOWS_HOST])dnl |
| + AC_MSG_CHECKING([for base name of DLL shared libraries]) |
| + [dllname=cygbz2 |
| + test "x$bzip2_cv_windows_host" = xyes && dllname=libbz2] |
| + AC_SUBST([DLLNAME], [${dllname}]) |
| + AC_MSG_RESULT([${dllname}])dnl |
| +])# BZIP2_AC_SUBST_DLLNAME |
| + |
| +# aclocal.m4: end of file |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/bzgrep bzip2-1.0.6/bzgrep |
| --- bzip2-1.0.6.original/bzgrep 2019-05-22 01:40:01.268378300 +0200 |
| +++ bzip2-1.0.6/bzgrep 2019-05-22 01:39:54.741148300 +0200 |
| @@ -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 @@ |
| 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 $? |
| @@ -55,21 +93,40 @@ |
| |
| 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=${i//\\/\\\\} |
| - j=${j//|/\\|} |
| - j=${j//&/\\&} |
| - j=`printf "%s" "$j" | tr '\n' ' '` |
| - bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|" |
| - r=$? |
| - fi |
| - test "$r" -ne 0 && res="$r" |
| + 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 |
| + # http://home.comcast.net/~j.p.h/cus-faq-2 |
| + # 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>&- |
| + { |
| + $grep $opt "$pat" 4>&-; echo "r=$?;" >&4 |
| + } | sed "$sed_script" |
| + ` |
| + exit $r |
| + fi |
| + r=$? |
| + test $res -lt $r && res=$r |
| done |
| exit $res |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/bzip2.1 bzip2-1.0.6/bzip2.1 |
| --- bzip2-1.0.6.original/bzip2.1 2019-05-22 01:40:01.585617900 +0200 |
| +++ bzip2-1.0.6/bzip2.1 2019-05-22 01:39:56.225421700 +0200 |
| @@ -235,6 +235,10 @@ |
| Suppress non-essential warning messages. Messages pertaining to |
| I/O errors and other critical events will not be suppressed. |
| .TP |
| +.B \-p \-\-show\-progress |
| +Show percentage of input\-file done and while compressing show the percentage |
| +of the original file the new file is. |
| +.TP |
| .B \-v --verbose |
| Verbose mode -- show the compression ratio for each file processed. |
| Further \-v's increase the verbosity level, spewing out lots of |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/bzip2.c bzip2-1.0.6/bzip2.c |
| --- bzip2-1.0.6.original/bzip2.c 2019-05-22 01:40:01.822845600 +0200 |
| +++ bzip2-1.0.6/bzip2.c 2019-05-22 01:39:57.131589400 +0200 |
| @@ -53,6 +53,7 @@ |
| #include <signal.h> |
| #include <math.h> |
| #include <errno.h> |
| +#include <time.h> |
| #include <ctype.h> |
| #include "bzlib.h" |
| |
| @@ -128,7 +129,7 @@ |
| #if BZ_LCCWIN32 |
| # include <io.h> |
| # include <fcntl.h> |
| -# include <sys\stat.h> |
| +# include <sys/stat.h> |
| |
| # define NORETURN /**/ |
| # define PATH_SEP '\\' |
| @@ -209,6 +210,7 @@ |
| Char progNameReally[FILE_NAME_LEN]; |
| FILE *outputHandleJustInCase; |
| Int32 workFactor; |
| +Char showProgress; |
| |
| static void panic ( const Char* ) NORETURN; |
| static void ioError ( void ) NORETURN; |
| @@ -334,6 +336,12 @@ |
| UInt32 nbytes_in_lo32, nbytes_in_hi32; |
| UInt32 nbytes_out_lo32, nbytes_out_hi32; |
| Int32 bzerr, bzerr_dummy, ret; |
| + double fileSize = 0; /* initialized to make the compiler stop crying */ |
| + /* double because big files might otherwhise give |
| + * overflows. not long long since not all compilers |
| + * support that one |
| + */ |
| + time_t startTime, currentTime; |
| |
| SET_BINARY_MODE(stream); |
| SET_BINARY_MODE(zStream); |
| @@ -341,12 +349,21 @@ |
| if (ferror(stream)) goto errhandler_io; |
| if (ferror(zStream)) goto errhandler_io; |
| |
| + if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) { |
| + (void)fseek(stream, 0, SEEK_END); |
| + fileSize = ftello(stream); |
| + rewind(stream); |
| + if (verbosity >= 1) |
| + fprintf(stderr, "Input-file size: %ld\n", (long)fileSize); |
| + } |
| + |
| bzf = BZ2_bzWriteOpen ( &bzerr, zStream, |
| blockSize100k, verbosity, workFactor ); |
| if (bzerr != BZ_OK) goto errhandler; |
| |
| if (verbosity >= 2) fprintf ( stderr, "\n" ); |
| |
| + time(&startTime); |
| while (True) { |
| |
| if (myfeof(stream)) break; |
| @@ -355,6 +372,22 @@ |
| if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf ); |
| if (bzerr != BZ_OK) goto errhandler; |
| |
| + if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) { |
| + time(¤tTime); |
| + |
| + if ((currentTime - startTime) > 1) { /* show progress every 2 seconds */ |
| + double curInPos = ftello(stream); |
| + double curOutPos = ftello(zStream); |
| + |
| + startTime = currentTime; |
| + |
| + fprintf(stderr, "%.2f%% done", (curInPos * 100.0) / fileSize); |
| + if (srcMode == SM_F2F) |
| + fprintf(stderr, ", new size: %.2f%%", (curOutPos * 100.0) / curInPos); |
| + |
| + fprintf(stderr, " \r"); |
| + } |
| + } |
| } |
| |
| BZ2_bzWriteClose64 ( &bzerr, bzf, 0, |
| @@ -439,6 +472,8 @@ |
| Int32 nUnused; |
| void* unusedTmpV; |
| UChar* unusedTmp; |
| + double fileSize = 0; /* initialized to make the compiler stop crying */ |
| + time_t startTime, currentTime; |
| |
| nUnused = 0; |
| streamNo = 0; |
| @@ -446,9 +481,19 @@ |
| SET_BINARY_MODE(stream); |
| SET_BINARY_MODE(zStream); |
| |
| + if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) { |
| + off_t dummy = ftello(zStream); |
| + (void)fseeko(zStream, 0, SEEK_END); |
| + fileSize = ftello(zStream); |
| + (void)fseeko(zStream, dummy, SEEK_SET); |
| + if (verbosity >= 1) |
| + fprintf(stderr, "Input-file size: %ld\n", (long)fileSize); |
| + } |
| + |
| if (ferror(stream)) goto errhandler_io; |
| if (ferror(zStream)) goto errhandler_io; |
| |
| + time(&startTime); |
| while (True) { |
| |
| bzf = BZ2_bzReadOpen ( |
| @@ -464,6 +509,16 @@ |
| if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0) |
| fwrite ( obuf, sizeof(UChar), nread, stream ); |
| if (ferror(stream)) goto errhandler_io; |
| + |
| + if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) { |
| + time(¤tTime); |
| + if ((currentTime - startTime) >= 2) { |
| + double curInPos = ftello(zStream); |
| + startTime = currentTime; |
| + |
| + fprintf(stderr, "%.2f%% done\r", (curInPos * 100.0) / fileSize); |
| + } |
| + } |
| } |
| if (bzerr != BZ_STREAM_END) goto errhandler; |
| |
| @@ -1132,8 +1187,8 @@ |
| static |
| void compress ( Char *name ) |
| { |
| - FILE *inStr; |
| - FILE *outStr; |
| + FILE *inStr = NULL; |
| + FILE *outStr = NULL; |
| Int32 n, i; |
| struct MY_STAT statBuf; |
| |
| @@ -1313,8 +1368,8 @@ |
| static |
| void uncompress ( Char *name ) |
| { |
| - FILE *inStr; |
| - FILE *outStr; |
| + FILE *inStr = NULL; |
| + FILE *outStr = NULL; |
| Int32 n, i; |
| Bool magicNumberOK; |
| Bool cantGuess; |
| @@ -1511,7 +1566,7 @@ |
| static |
| void testf ( Char *name ) |
| { |
| - FILE *inStr; |
| + FILE *inStr = NULL; |
| Bool allOK; |
| struct MY_STAT statBuf; |
| |
| @@ -1803,6 +1858,7 @@ |
| deleteOutputOnInterrupt = False; |
| exitValue = 0; |
| i = j = 0; /* avoid bogus warning from egcs-1.1.X */ |
| + showProgress = False; |
| |
| /*-- Set up signal handlers for mem access errors --*/ |
| signal (SIGSEGV, mySIGSEGVorSIGBUScatcher); |
| @@ -1880,6 +1936,7 @@ |
| case 'k': keepInputFiles = True; break; |
| case 's': smallMode = True; break; |
| case 'q': noisy = False; break; |
| + case 'p': showProgress = True; break; |
| case '1': blockSize100k = 1; break; |
| case '2': blockSize100k = 2; break; |
| case '3': blockSize100k = 3; break; |
| @@ -1916,6 +1973,7 @@ |
| if (ISFLAG("--keep")) keepInputFiles = True; else |
| if (ISFLAG("--small")) smallMode = True; else |
| if (ISFLAG("--quiet")) noisy = False; else |
| + if (ISFLAG("--show-progress")) showProgress = True; else |
| if (ISFLAG("--version")) license(); else |
| if (ISFLAG("--license")) license(); else |
| if (ISFLAG("--exponential")) workFactor = 1; else |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/bzip2.pc.in bzip2-1.0.6/bzip2.pc.in |
| --- bzip2-1.0.6.original/bzip2.pc.in 2019-05-22 01:40:01.922776200 +0200 |
| +++ bzip2-1.0.6/bzip2.pc.in 2019-05-22 01:39:56.912874100 +0200 |
| @@ -0,0 +1,11 @@ |
| +prefix=@prefix@ |
| +exec_prefix=@exec_prefix@ |
| +bindir=@bindir@ |
| +libdir=@libdir@ |
| +includedir=@includedir@ |
| + |
| +Name: bzip2 |
| +Description: Lossless, block-sorting data compression |
| +Version: @PACKAGE_VERSION@ |
| +Libs: -L${libdir} -lbz2 |
| +Cflags: -I${includedir} |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/bzip2recover.c bzip2-1.0.6/bzip2recover.c |
| --- bzip2-1.0.6.original/bzip2recover.c 2019-05-22 01:40:02.147451600 +0200 |
| +++ bzip2-1.0.6/bzip2recover.c 2019-05-22 01:39:59.240836300 +0200 |
| @@ -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 @@ |
| 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; |
| +} |
| |
| /*---------------------------------------------------*/ |
| /*--- ---*/ |
| @@ -306,10 +321,12 @@ |
| Int32 b, wrBlock, currBlock, rbCtr; |
| MaybeUInt64 bitsRead; |
| |
| + |
| UInt32 buffHi, buffLo, blockCRC; |
| Char* p; |
| |
| - strcpy ( progName, argv[0] ); |
| + strncpy ( progName, argv[0], BZ_MAX_FILENAME-1); |
| + progName[BZ_MAX_FILENAME-1]='\0'; |
| inFileName[0] = outFileName[0] = 0; |
| |
| fprintf ( stderr, |
| @@ -486,7 +503,7 @@ |
| 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 ); |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/bzlib.c bzip2-1.0.6/bzlib.c |
| --- bzip2-1.0.6.original/bzlib.c 2019-05-22 01:40:02.248058800 +0200 |
| +++ bzip2-1.0.6/bzlib.c 2019-05-22 01:39:59.303313800 +0200 |
| @@ -1372,7 +1372,7 @@ |
| #ifndef BZ_NO_STDIO |
| /*---------------------------------------------------*/ |
| |
| -#if defined(_WIN32) || defined(OS2) || defined(MSDOS) |
| +#if defined(_WIN32) || defined(OS2) || defined(MSDOS) || defined(__CYGWIN__) |
| # include <fcntl.h> |
| # include <io.h> |
| # define SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY) |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/bzlib.h bzip2-1.0.6/bzlib.h |
| --- bzip2-1.0.6.original/bzlib.h 2019-05-22 01:40:02.364211800 +0200 |
| +++ bzip2-1.0.6/bzlib.h 2019-05-22 01:39:59.381452600 +0200 |
| @@ -75,21 +75,39 @@ |
| #include <stdio.h> |
| #endif |
| |
| -#ifdef _WIN32 |
| +#if defined(_WIN32) && !defined(__CYGWIN__) |
| # include <windows.h> |
| # ifdef small |
| /* windows.h define small to char */ |
| # undef small |
| # endif |
| -# ifdef BZ_EXPORT |
| -# define BZ_API(func) WINAPI func |
| -# define BZ_EXTERN extern |
| +# ifndef __GNUC__ |
| + /* Use these rules only for non-gcc native win32 */ |
| +# ifdef BZ_EXPORT |
| +# define BZ_API(func) WINAPI func |
| +# define BZ_EXTERN extern |
| +# else |
| + /* import windows dll dynamically */ |
| +# define BZ_API(func) (WINAPI * func) |
| +# define BZ_EXTERN |
| +# endif |
| # else |
| - /* import windows dll dynamically */ |
| -# define BZ_API(func) (WINAPI * func) |
| -# define BZ_EXTERN |
| + /* For gcc on native win32, use import library trampoline */ |
| + /* functions on DLL import. This avoids requiring clients to */ |
| + /* use special compilation flags depending on whether eventual */ |
| + /* link will be against static libbz2 or against DLL, at the */ |
| + /* expense of a small loss of efficiency. */ |
| + |
| + /* Because libbz2 does not export any DATA items, GNU ld's */ |
| + /* "auto-import" is not a factor; the MinGW-built DLL can be */ |
| + /* used by other compilers, provided an import library suitable */ |
| + /* for that compiler is (manually) constructed using the .def */ |
| + /* file and the appropriate tool. */ |
| +# define BZ_API(func) func |
| +# define BZ_EXTERN extern |
| # endif |
| #else |
| + /* non-win32 platforms, and cygwin */ |
| # define BZ_API(func) func |
| # define BZ_EXTERN extern |
| #endif |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/bzmore bzip2-1.0.6/bzmore |
| --- bzip2-1.0.6.original/bzmore 2019-05-22 01:40:02.576336700 +0200 |
| +++ bzip2-1.0.6/bzmore 2019-05-22 01:39:59.443940900 +0200 |
| @@ -24,10 +24,10 @@ |
| # '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 @@ |
| 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 |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/configure.ac bzip2-1.0.6/configure.ac |
| --- bzip2-1.0.6.original/configure.ac 2019-05-22 01:40:03.018024300 +0200 |
| +++ bzip2-1.0.6/configure.ac 2019-05-22 01:39:56.850371600 +0200 |
| @@ -0,0 +1,39 @@ |
| +AC_INIT([bzip2],[1.0.6]) |
| +# ------------------------------------------------------------------ |
| +# This file is part of bzip2/libbzip2, a program and library for |
| +# lossless, block-sorting data compression. |
| +# |
| +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 |
| +# Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> |
| +# |
| +# File: configure.ac for autoconf configuration |
| +# Contributed by Keith Marshall <keithmarshall@users.sourceforge.net> |
| +# |
| +# 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. |
| +# ------------------------------------------------------------------ |
| +AC_PROG_CC |
| +AC_PROG_LN_S |
| + |
| +BZIP2_AC_ENABLE_SHARED |
| +BZIP2_AC_SUBST_DLLVER |
| +BZIP2_AC_SUBST_DLLNAME |
| + |
| +AC_ARG_VAR([AR],[Archive librarian command]) |
| +AC_ARG_VAR([ARFLAGS],[Archive librarian control flags, e.g. cq]) |
| +AC_ARG_VAR([RANLIB],[Archive library indexing command]) |
| + |
| +AC_CHECK_TOOL([AR],[ar],[ar]) |
| +AC_CHECK_TOOL([RANLIB],[ranlib],[true]) |
| + |
| +AC_MSG_CHECKING([for flags to pass to ${AR}]) |
| +AC_SUBST([ARFLAGS],[${ARFLAGS-cq}]) |
| +AC_MSG_RESULT([${ARFLAGS}]) |
| + |
| +AC_CONFIG_FILES([Makefile bzip2.pc]) |
| +AC_OUTPUT |
| + |
| +# configure.ac: end of file |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/libbz2.def.in bzip2-1.0.6/libbz2.def.in |
| --- bzip2-1.0.6.original/libbz2.def.in 2019-05-22 01:40:04.056205300 +0200 |
| +++ bzip2-1.0.6/libbz2.def.in 2019-05-22 01:39:56.912874100 +0200 |
| @@ -0,0 +1,27 @@ |
| +LIBRARY %DLLNAME%-%DLLVER% |
| +DESCRIPTION "libbzip2: library for data compression" |
| +EXPORTS |
| + BZ2_bzCompressInit |
| + BZ2_bzCompress |
| + BZ2_bzCompressEnd |
| + BZ2_bzDecompressInit |
| + BZ2_bzDecompress |
| + BZ2_bzDecompressEnd |
| + BZ2_bzReadOpen |
| + BZ2_bzReadClose |
| + BZ2_bzReadGetUnused |
| + BZ2_bzRead |
| + BZ2_bzWriteOpen |
| + BZ2_bzWrite |
| + BZ2_bzWriteClose |
| + BZ2_bzWriteClose64 |
| + BZ2_bzBuffToBuffCompress |
| + BZ2_bzBuffToBuffDecompress |
| + BZ2_bzlibVersion |
| + BZ2_bzopen |
| + BZ2_bzdopen |
| + BZ2_bzread |
| + BZ2_bzwrite |
| + BZ2_bzflush |
| + BZ2_bzclose |
| + BZ2_bzerror |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/Makefile.in bzip2-1.0.6/Makefile.in |
| --- bzip2-1.0.6.original/Makefile.in 2019-05-22 01:40:04.867701600 +0200 |
| +++ bzip2-1.0.6/Makefile.in 2019-05-22 01:39:56.647259100 +0200 |
| @@ -0,0 +1,386 @@ |
| +# @configure_input@ |
| +# ------------------------------------------------------------------ |
| +# This file is part of bzip2/libbzip2, a program and library for |
| +# lossless, block-sorting data compression. |
| +# |
| +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 |
| +# Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> |
| +# |
| +# File: Makefile.in for autoconf configuration |
| +# Contributed by Keith Marshall <keithmarshall@users.sourceforge.net> |
| +# |
| +# 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. |
| +# ------------------------------------------------------------------ |
| + |
| +PACKAGE = @PACKAGE_TARNAME@ |
| +VERSION = @PACKAGE_VERSION@ |
| + |
| +# If building libbz2 as a shared library, we use these version tags, |
| +SO_VER = 1 |
| +SO_AGE = 0 |
| +SO_REV = 6 |
| +# |
| +# This yields a shared object library name below, following the |
| +# normal naming rules -- most linux distributions patch Julian's |
| +# original makefile to do something similar. |
| +# |
| +SO_MAJOR := $(shell expr $(SO_VER) - $(SO_AGE)) |
| +SONAME = libbz2.so.$(SO_MAJOR) |
| +SOFULL = $(SONAME).$(SO_AGE).$(SO_REV) |
| + |
| +# For MS-Windows hosts, Julian's original build strategy, (and that |
| +# still adopted for building with MSVC), creates an unversioned DLL, |
| +# exporting functions using the __stdcall (WINAPI) calling convention. |
| +# Conversly, MinGW developers have chosen to sanitise the libbz2 ABI, |
| +# avoiding the use of the __stdcall calling convention, in favour of |
| +# the more GNU/Linux-alike __cdecl convention. |
| +# |
| +# To permit MinGW builds of libbz2.dll to co-exist, in the developer |
| +# universe, with MSVC builds, the MinGW Project has specified a scheme |
| +# for distribution of versioned DLLs, unambiguously named libbz2-N.dll, |
| +# where N is an ABI version number, nominally computed as: |
| +# |
| +# SO_VER - SO_AGE (ignoring SO_REV) |
| +# |
| +# Unfortunately, at an early stage in the evolution of the MinGW |
| +# versioned libbz2-N.dll, at a time when this version paradigm would |
| +# have yielded N = 1, a libbz2-1.dll was released, which employed the |
| +# __stdcall calling convention. Thus, to avoid potential confusion |
| +# with this early release, and specific to the case of libbz2-N.dll, |
| +# the DLLVER for the __cdecl releases, as computed by the configure |
| +# script will lead the nominal value by one, becoming effectively: |
| +# |
| +# 1 + SO_VER - SO_AGE |
| +# |
| +# Note that for cygwin, a similar scheme (SO_VER - SO_AGE) is used, |
| +# but on that platform the extra +1 is not needed. |
| +DLLVER = @DLLVER@ |
| +DLLNAME = @DLLNAME@ |
| +LIBNAME = libbz2 |
| + |
| + |
| +# Shell used by make... |
| +# |
| +SHELL = @SHELL@ |
| + |
| +# Where to find the sources... |
| +# |
| +VPATH = ${srcdir} |
| +srcdir = @srcdir@ |
| + |
| +# To assist in cross-compiling... |
| +# |
| +CC = @CC@ |
| +AR = @AR@ |
| +RANLIB = @RANLIB@ |
| +LN_S = @LN_S@ |
| + |
| +OBJEXT = @OBJEXT@ |
| +EXEEXT = @EXEEXT@ |
| + |
| +BIGFILES = -D_FILE_OFFSET_BITS=64 |
| +CFLAGS = @CFLAGS@ $(BIGFILES) |
| +LDFLAGS = @LDFLAGS@ |
| +ARFLAGS = @ARFLAGS@ |
| + |
| +# Where you want it installed when you do 'make install' |
| +# |
| +PREFIX = @prefix@ |
| + |
| +OBJS= blocksort.$(OBJEXT) \ |
| + huffman.$(OBJEXT) \ |
| + crctable.$(OBJEXT) \ |
| + randtable.$(OBJEXT) \ |
| + compress.$(OBJEXT) \ |
| + decompress.$(OBJEXT) \ |
| + bzlib.$(OBJEXT) |
| + |
| +# Default build goals... |
| +# |
| +all: all-libs bzip2$(EXEEXT) bzip2recover$(EXEEXT) |
| +all-libs: libbz2.a @enable_shared@ |
| + |
| +bzip2$(EXEEXT): libbz2.a bzip2.$(OBJEXT) |
| + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ bzip2.$(OBJEXT) -L. -lbz2 |
| + |
| +bzip2recover$(EXEEXT): bzip2recover.$(OBJEXT) |
| + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ |
| + |
| +libbz2.a: $(OBJS) |
| + rm -f $@ |
| + $(AR) $(ARFLAGS) $@ $(OBJS) |
| + $(RANLIB) $@ |
| + |
| +blocksort.$(OBJEXT): blocksort.c |
| + @cat ${srcdir}/words0 |
| + $(CC) $(CFLAGS) -c -o $@ $^ |
| + |
| +%.$(OBJEXT): %.c |
| + $(CC) $(CFLAGS) -c -o$@ $< |
| + |
| +# Building using a shared library, for dynamic linking on GNU/Linux... |
| +# (Invoked when configured with `--enable-shared' for a non-Win32 host). |
| +# |
| +# This is incorporated from Julian's original Makefile-libbz2_so. |
| +# It is reported to work successfully on x86-Linux (Red Hat 7.2), with |
| +# gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98); YMMV. |
| +# |
| +# Please refer to README, for important information regarding building |
| +# libbz2 as a shared library, in this manner. |
| +# |
| +PICFLAGS = -fpic -fPIC -Wall -Winline $(CFLAGS) |
| + |
| +all-bzip2-shared: bzip2-shared$(EXEEXT) |
| +bzip2-shared$(EXEEXT): bzip2.c $(SOFULL) |
| + $(CC) $(PICFLAGS) -o $@ $^ |
| + |
| +$(SOFULL): $(OBJS:.$(OBJEXT)=-pic.$(OBJEXT)) |
| + $(CC) -shared -Wl,-soname -Wl,$(SONAME) -o $@ $^ |
| + rm -f $(SONAME); $(LN_S) $@ $(SONAME) |
| + rm -f $(SONAME).$(SO_AGE); $(LN_S) $@ $(SONAME).$(SO_AGE) |
| + |
| +%-pic.$(OBJEXT): %.c |
| + $(CC) $(PICFLAGS) -c -o $@ $< |
| + |
| +# Building using a shared library, for dynamic linking on MS-Windows |
| +# and cygwin... |
| +# (Invoked when configured with `--enable-shared' for a Win32/cygwin host) |
| + |
| +all-dll-shared: $(LIBNAME).dll.a |
| + |
| +$(LIBNAME).dll.a: $(DLLNAME)-$(DLLVER).dll |
| + |
| +$(DLLNAME)-$(DLLVER).dll: libbz2.def $(OBJS) |
| + $(CC) -shared -o $@ $(LDFLAGS) -Wl,--out-implib=$(LIBNAME).dll.a $(OBJS) |
| + |
| +libbz2.def: libbz2.def.in |
| + sed -e s,%DLLNAME%,$(DLLNAME), -e s,%DLLVER%,$(DLLVER), $^ > $@ |
| + |
| +# Build validation... |
| +# |
| +check: test |
| +test: bzip2$(EXEEXT) |
| + @cat ${srcdir}/words1 |
| + ./bzip2$(EXEEXT) -1 < ${srcdir}/sample1.ref > sample1.rb2 |
| + ./bzip2$(EXEEXT) -2 < ${srcdir}/sample2.ref > sample2.rb2 |
| + ./bzip2$(EXEEXT) -3 < ${srcdir}/sample3.ref > sample3.rb2 |
| + ./bzip2$(EXEEXT) -d < ${srcdir}/sample1.bz2 > sample1.tst |
| + ./bzip2$(EXEEXT) -d < ${srcdir}/sample2.bz2 > sample2.tst |
| + ./bzip2$(EXEEXT) -ds < ${srcdir}/sample3.bz2 > sample3.tst |
| + cmp ${srcdir}/sample1.bz2 sample1.rb2 |
| + cmp ${srcdir}/sample2.bz2 sample2.rb2 |
| + cmp ${srcdir}/sample3.bz2 sample3.rb2 |
| + cmp sample1.tst ${srcdir}/sample1.ref |
| + cmp sample2.tst ${srcdir}/sample2.ref |
| + cmp sample3.tst ${srcdir}/sample3.ref |
| + @cat ${srcdir}/words3 |
| + |
| +# GNU Standard Specifications for Installation Directories... |
| +# |
| +prefix = $(PREFIX) |
| +exec_prefix = @exec_prefix@ |
| + |
| +bindir = @bindir@ |
| +datarootdir = @datarootdir@ |
| +includedir = @includedir@ |
| +libdir = @libdir@ |
| + |
| +# `man' Documentation Hierarchy, in Terms of GNU Standards... |
| +# |
| +# FIXME: Julian's original distribution wasn't fully compliant |
| +# with current GNU Standards; to achieve compliance, we must use |
| +# this autotool standard definition: |
| +# |
| +# mandir = @mandir@ |
| +# |
| +# in place of: |
| +# |
| +# mandir = $(PREFIX)/man |
| +# |
| +# which preserves Julian's original configuration. |
| +# |
| +mandir = $(PREFIX)/share/man |
| +man1dir = ${mandir}/man1 |
| + |
| +pkgconfigdir = $(libdir)/pkgconfig |
| +pkgconfig_DATA = bzip2.pc |
| + |
| +# Installation... |
| +# |
| +FORCE: |
| +${bindir} ${includedir} ${libdir} ${man1dir} ${pkgconfigdir}: FORCE |
| + test -d ${DESTDIR}$@ || mkdir -p ${DESTDIR}$@ |
| + |
| +install: all ${bindir} ${includedir} ${libdir} ${man1dir} ${pkgconfigdir} |
| + cp -f ${pkgconfig_DATA} ${DESTDIR}${pkgconfigdir}/${pkgconfig_DATA} |
| + cp -f bzip2$(EXEEXT) ${DESTDIR}${bindir}/bzip2$(EXEEXT) |
| + cp -f bzip2$(EXEEXT) ${DESTDIR}${bindir}/bunzip2$(EXEEXT) |
| + cp -f bzip2$(EXEEXT) ${DESTDIR}${bindir}/bzcat$(EXEEXT) |
| + cp -f bzip2recover$(EXEEXT) ${DESTDIR}${bindir}/bzip2recover$(EXEEXT) |
| + if test -f $(DLLNAME)-$(DLLVER).dll; \ |
| + then \ |
| + cp -f $(DLLNAME)-$(DLLVER).dll ${DESTDIR}${bindir}/$(DLLNAME)-$(DLLVER).dll; \ |
| + chmod a+rx ${DESTDIR}${bindir}/$(DLLNAME)-$(DLLVER).dll; \ |
| + fi |
| + chmod a+x ${DESTDIR}${bindir}/bzip2$(EXEEXT) |
| + chmod a+x ${DESTDIR}${bindir}/bunzip2$(EXEEXT) |
| + chmod a+x ${DESTDIR}${bindir}/bzcat$(EXEEXT) |
| + chmod a+x ${DESTDIR}${bindir}/bzip2recover$(EXEEXT) |
| + cp -f ${srcdir}/bzlib.h ${DESTDIR}${includedir} |
| + chmod a+r ${DESTDIR}${includedir}/bzlib.h |
| + cp -f libbz2.a ${DESTDIR}${libdir} |
| + if test -f $(LIBNAME).dll.a; \ |
| + then \ |
| + cp -f $(LIBNAME).dll.a ${DESTDIR}${libdir}/$(LIBNAME).dll.a; \ |
| + chmod a+r ${DESTDIR}${libdir}/$(LIBNAME).dll.a; \ |
| + fi |
| + chmod a+r ${DESTDIR}${libdir}/libbz2.a |
| + if test -f $(SOFULL); \ |
| + then \ |
| + cp -f $(SOFULL) ${DESTDIR}${libdir}; \ |
| + cd ${DESTDIR}${libdir}; rm -f $(SO_NAME).$(SO_AGE) $(SONAME); \ |
| + $(LN_S) $(SOFULL) $(SONAME).$(SO_AGE); \ |
| + $(LN_S) $(SOFULL) $(SONAME); \ |
| + chmod a+r $(SOFULL); \ |
| + fi |
| + cp -f ${srcdir}/bzgrep ${DESTDIR}${bindir}/bzgrep |
| + cd ${DESTDIR}${bindir}; $(LN_S) -f bzgrep bzegrep |
| + cd ${DESTDIR}${bindir}; $(LN_S) -f bzgrep bzfgrep |
| + chmod a+x ${DESTDIR}${bindir}/bzgrep |
| + cp -f ${srcdir}/bzmore ${DESTDIR}${bindir}/bzmore |
| + cd ${DESTDIR}${bindir}; $(LN_S) -f bzmore bzless |
| + chmod a+x ${DESTDIR}${bindir}/bzmore |
| + cp -f ${srcdir}/bzdiff ${DESTDIR}${bindir}/bzdiff |
| + cd ${DESTDIR}${bindir}; $(LN_S) -f bzdiff bzcmp |
| + chmod a+x ${DESTDIR}${bindir}/bzdiff |
| + cd ${srcdir}; cp -f bzip2.1 bzgrep.1 bzmore.1 bzdiff.1 ${DESTDIR}${man1dir} |
| + chmod a+r ${DESTDIR}${man1dir}/bzip2.1 |
| + chmod a+r ${DESTDIR}${man1dir}/bzgrep.1 |
| + chmod a+r ${DESTDIR}${man1dir}/bzmore.1 |
| + chmod a+r ${DESTDIR}${man1dir}/bzdiff.1 |
| + echo ".so man1/bzgrep.1" > ${DESTDIR}${man1dir}/bzegrep.1 |
| + echo ".so man1/bzgrep.1" > ${DESTDIR}${man1dir}/bzfgrep.1 |
| + echo ".so man1/bzmore.1" > ${DESTDIR}${man1dir}/bzless.1 |
| + echo ".so man1/bzdiff.1" > ${DESTDIR}${man1dir}/bzcmp.1 |
| + |
| +ldconfig: |
| + ldconfig -n ${DESTDIR}${libdir} |
| + |
| +# Housekeeping... |
| +# |
| +clean: |
| + cmp > /dev/null 2>&1 ${srcdir}/libbz2.def libbz2.def \ |
| + || rm -f libbz2.def |
| + rm -f *.$(OBJEXT) libbz2*.a $(DLLNAME)*.dll \ |
| + bzip2$(EXEEXT) bzip2recover$(EXEEXT) \ |
| + sample1.rb2 sample2.rb2 sample3.rb2 \ |
| + sample1.tst sample2.tst sample3.tst |
| + |
| +distclean: clean |
| + rm -f config.status config.log Makefile |
| + |
| +# NOTE: Julian's original Makefile had these in `distclean'. |
| +# Since they are `distributables', that might have surprised |
| +# users expecting GNU standard behaviour; they rightfully |
| +# belong in `maintainer-clean'. |
| +# |
| +maintainer-clean: clean |
| + rm -f manual.ps manual.html manual.pdf |
| + |
| +# Distribution... |
| +# |
| +DISTNAME = $(PACKAGE)-$(VERSION) |
| +# |
| +# FIXME: this method of creating a source distribution works fine |
| +# on systems which fully support symbolic links between directories; |
| +# it cannot be used reliably, on MS-Windows hosts running MSYS. |
| +# |
| +dist: manual |
| + rm -f $(DISTNAME) $(DISTNAME)$(SNAPSHOT).* |
| + $(LN_S) -f ${srcdir} $(DISTNAME) |
| + tar cvf $(DISTNAME)$(SNAPSHOT).tar \ |
| + $(DISTNAME)/aclocal.m4 \ |
| + $(DISTNAME)/configure \ |
| + $(DISTNAME)/configure.ac \ |
| + $(DISTNAME)/Makefile.in \ |
| + $(DISTNAME)/blocksort.c \ |
| + $(DISTNAME)/huffman.c \ |
| + $(DISTNAME)/crctable.c \ |
| + $(DISTNAME)/randtable.c \ |
| + $(DISTNAME)/compress.c \ |
| + $(DISTNAME)/decompress.c \ |
| + $(DISTNAME)/bzlib.c \ |
| + $(DISTNAME)/bzip2.c \ |
| + $(DISTNAME)/bzip2recover.c \ |
| + $(DISTNAME)/bzlib.h \ |
| + $(DISTNAME)/bzlib_private.h \ |
| + $(DISTNAME)/LICENSE \ |
| + $(DISTNAME)/bzip2.1 \ |
| + $(DISTNAME)/bzip2.1.preformatted \ |
| + $(DISTNAME)/bzip2.pc.in \ |
| + $(DISTNAME)/bzip2.txt \ |
| + $(DISTNAME)/words0 \ |
| + $(DISTNAME)/words1 \ |
| + $(DISTNAME)/words2 \ |
| + $(DISTNAME)/words3 \ |
| + $(DISTNAME)/sample1.ref \ |
| + $(DISTNAME)/sample2.ref \ |
| + $(DISTNAME)/sample3.ref \ |
| + $(DISTNAME)/sample1.bz2 \ |
| + $(DISTNAME)/sample2.bz2 \ |
| + $(DISTNAME)/sample3.bz2 \ |
| + $(DISTNAME)/dlltest.c \ |
| + $(DISTNAME)/manual.html \ |
| + $(DISTNAME)/manual.pdf \ |
| + $(DISTNAME)/manual.ps \ |
| + $(DISTNAME)/README \ |
| + $(DISTNAME)/README.COMPILATION.PROBLEMS \ |
| + $(DISTNAME)/README.XML.STUFF \ |
| + $(DISTNAME)/CHANGES \ |
| + $(DISTNAME)/libbz2.def \ |
| + $(DISTNAME)/libbz2.def.in \ |
| + $(DISTNAME)/libbz2.dsp \ |
| + $(DISTNAME)/dlltest.dsp \ |
| + $(DISTNAME)/makefile.msc \ |
| + $(DISTNAME)/unzcrash.c \ |
| + $(DISTNAME)/spewG.c \ |
| + $(DISTNAME)/mk251.c \ |
| + $(DISTNAME)/bzdiff \ |
| + $(DISTNAME)/bzdiff.1 \ |
| + $(DISTNAME)/bzmore \ |
| + $(DISTNAME)/bzmore.1 \ |
| + $(DISTNAME)/bzgrep \ |
| + $(DISTNAME)/bzgrep.1 \ |
| + $(DISTNAME)/Makefile-libbz2_so \ |
| + $(DISTNAME)/bz-common.xsl \ |
| + $(DISTNAME)/bz-fo.xsl \ |
| + $(DISTNAME)/bz-html.xsl \ |
| + $(DISTNAME)/bzip.css \ |
| + $(DISTNAME)/entities.xml \ |
| + $(DISTNAME)/manual.xml \ |
| + $(DISTNAME)/format.pl \ |
| + $(DISTNAME)/xmlproc.sh |
| + gzip -v $(DISTNAME)$(SNAPSHOT).tar |
| + rm -f $(DISTNAME) |
| + |
| +# For rebuilding the manual from sources on Julian's SuSE 9.1 box |
| +# |
| +MANUAL_SRCS = bz-common.xsl bz-fo.xsl bz-html.xsl bzip.css \ |
| + entities.xml manual.xml |
| + |
| +manual: manual.html manual.ps manual.pdf |
| + |
| +manual.ps: $(MANUAL_SRCS) |
| + ${srcdir}/xmlproc.sh -ps manual.xml |
| + |
| +manual.pdf: $(MANUAL_SRCS) |
| + ${srcdir}/xmlproc.sh -pdf manual.xml |
| + |
| +manual.html: $(MANUAL_SRCS) |
| + ${srcdir}/xmlproc.sh -html manual.xml |
| + |
| +# Makefile: end of file |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/Makefile.win-gcc bzip2-1.0.6/Makefile.win-gcc |
| --- bzip2-1.0.6.original/Makefile.win-gcc 2019-05-22 01:40:05.097607800 +0200 |
| +++ bzip2-1.0.6/Makefile.win-gcc 2019-05-22 01:39:54.288040100 +0200 |
| @@ -0,0 +1,77 @@ |
| +#BEWARE: this Makefile was designed for GNU make and uses some specific syntax |
| +# that can be incompatible with other make tools |
| + |
| +#### the following is package-specific #### |
| + |
| +BASENAME =libbz2 |
| +DLLBASE =$(BASENAME) |
| +CFLAGS =-Wall -O2 -D_FILE_OFFSET_BITS=64 |
| +LIBS =-L$(LIBDIR) |
| +OBJS =blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o |
| + |
| +#### end of packcage-specific #### |
| + |
| +ifeq ($(NOPERL), 1) |
| + ECHO = @echo |
| + CP = cp |
| + MV = mv |
| + RM_F = rm -f |
| + RM_RF = rm -rf |
| + MKPATH = mkdir -p |
| + SED = sed |
| +else |
| + ECHO = @perl -l -e "print qq{@ARGV}" -- |
| + CP = perl -MExtUtils::Command -e "cp" -- |
| + MV = perl -MExtUtils::Command -e "mv" -- |
| + RM_F = perl -MExtUtils::Command -e "rm_f" -- |
| + RM_RF = perl -MExtUtils::Command -e "rm_rf" -- |
| + MKPATH = perl -MExtUtils::Command -e "mkpath" -- |
| + SED = perl -pe |
| +endif |
| + |
| +RANLIB = ranlib |
| +CC = gcc |
| +CXX = g++ |
| +STRIP = strip |
| +AR = ar |
| +ARFLAGS = csr |
| + |
| +#by default we assume 32-bit target platform |
| +BITS=32 |
| + |
| +PREFIX =./_output_ |
| +BINDIR =$(PREFIX)/bin |
| +INCDIR =$(PREFIX)/include |
| +LIBDIR =$(PREFIX)/lib |
| + |
| +STATIC_LIB=$(BASENAME).a |
| +IMPORT_LIB=$(BASENAME).dll.a |
| +SHARED_LIB=$(DLLBASE)$(DLLSUFFIX).dll |
| + |
| +#BEWARE: all you put into TARGETS will be deleted by 'make clean' |
| +TARGETS = $(STATIC_LIB) $(SHARED_LIB) |
| + |
| +all: $(TARGETS) |
| + |
| +clean: |
| + $(RM_F) $(OBJS) $( $(TARGETS) |
| + |
| +$(STATIC_LIB): $(OBJS) |
| + $(AR) $(ARFLAGS) $@ $^ |
| + $(RANLIB) $@ |
| + |
| +$(SHARED_LIB): $(OBJS) |
| + $(CC) -s -shared -o $@ $^ -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(IMPORT_LIB) $(LIBS) |
| + $(STRIP) -S $(SHARED_LIB) |
| + |
| +%.o : %.c ; $(CC) $(CFLAGS) -c $< -o $@ |
| + |
| +#### the rest of the makefile is package-specific #### |
| + |
| +install: all |
| + $(MKPATH) $(BINDIR) |
| + $(MKPATH) $(LIBDIR) |
| + $(MKPATH) $(INCDIR) |
| + $(CP) "bzlib.h" "$(INCDIR)" |
| + $(CP) $(IMPORT_LIB) $(STATIC_LIB) "$(LIBDIR)" |
| + $(CP) $(SHARED_LIB) "$(BINDIR)" |
| \ No newline at end of file |
| diff -r -u --strip-trailing-cr bzip2-1.0.6.original/README.CYGMING bzip2-1.0.6/README.CYGMING |
| --- bzip2-1.0.6.original/README.CYGMING 2019-05-22 01:40:06.080602500 +0200 |
| +++ bzip2-1.0.6/README.CYGMING 2019-05-22 01:39:56.725386400 +0200 |
| @@ -0,0 +1,49 @@ |
| +This distribution was built using an alternate build system. The original |
| +distribution used a simple Makefile, which had to be heavily customized to |
| +meet the needs of modern cygwin and MinGW systems. Furthermore, it was |
| +wholly unsuited for building the distribution in a cross-hosted environment. |
| + |
| +Keith Marshall <keithmarshall@users.sf.net> implemented an autoconf-based |
| +build system, to facilitate cross-hosted building for use with MinGW. This |
| +build system consists of the following original files: |
| + configure.ac |
| + Makefile.in |
| + aclocal.m4 |
| + libbz2.def.in |
| +found in the 'cygming-autotools-buildfiles.tar.gz' tarball included within |
| +the bzip2-$VER-$REL-mingw-src tarball. |
| + |
| +The source preparation phase of the build runs autoconf, which creates the |
| +following file(s): |
| + configure |
| +In addition, the source preparation phase explicitly removes the original |
| +Makefile from the $srcdir, as a new Makefile will be generated in the |
| +$builddir by the configure phase of the build. |
| + |
| +This configure script is NOT distributed in this package; it is assumed that |
| +the 'autoconf' tool is available. The proper (non-automated) procedure is: |
| + |
| + unpack bzip2-$VER-$REL-mingw-src.tar.gz |
| + |
| +This will create a number of new files, included several additional |
| +tarballs and patches. |
| + |
| + unpack the upstream source tarball bzip2-$VER.tar.gz |
| + unpack the extra 'cygming-autotools-buildfiles.tar.gz' tarball |
| + cd bzip2-$VER |
| + autoconf |
| + mkdir ../build |
| + cd ../build |
| + ../bzip2-$VER/configure [various options] |
| + make |
| + |
| +However, the automated procedure, which can be used to exactly reproduce |
| +the official mingw package, is: |
| + |
| + mgwport bzip2-${VER}-${REL}.mgwport all |
| + |
| +which performs all of the above steps, as well as applying various additional |
| +patches (from Debian and elsewhere), installing into a local staging area, |
| +and generating the mingw-get compatible installation packages. See |
| +MINGW-PATCHES/bzip2.README for more information. |
| + |