From 728191cf7826b41ce87ca014b57349dc10568d35 Mon Sep 17 00:00:00 2001 From: Andrew de los Reyes Date: Thu, 27 Oct 2011 14:03:26 -0700 Subject: [PATCH] Upgraded the bzip2 Portage package Upgraded app-arch/bzip2 to version 1.0.6-r2 on arm, x86 BUG=chromium-os:6861 TEST=built image, updated to it, updated again Change-Id: I90cee800f47bf4c5cc7a1d16c53531cb704affc8 Reviewed-on: https://gerrit.chromium.org/gerrit/10825 Reviewed-by: Matt Tennant Reviewed-by: Mike Frysinger Tested-by: Andrew de los Reyes --- .../app-arch/bzip2/bzip2-1.0.6-r2.ebuild | 73 ++++++++ .../bzip2/files/bzip2-1.0.3-no-test.patch | 9 + .../bzip2/files/bzip2-1.0.4-POSIX-shell.patch | 21 +++ .../files/bzip2-1.0.4-makefile-CFLAGS.patch | 25 +++ .../bzip2/files/bzip2-1.0.4-man-links.patch | 12 ++ .../bzip2/files/bzip2-1.0.6-progress.patch | 163 ++++++++++++++++++ .../bzip2/files/bzip2-1.0.6-saneso.patch | 13 ++ 7 files changed, 316 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/bzip2/bzip2-1.0.6-r2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.6-progress.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch diff --git a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/bzip2-1.0.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/bzip2-1.0.6-r2.ebuild new file mode 100644 index 0000000000..9245154f9a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/bzip2-1.0.6-r2.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-arch/bzip2/bzip2-1.0.6-r2.ebuild,v 1.7 2011/08/29 06:25:24 jer Exp $ + +EAPI="2" + +inherit eutils multilib toolchain-funcs flag-o-matic + +DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux" +HOMEPAGE="http://www.bzip.org/" +SRC_URI="http://www.bzip.org/${PV}/${P}.tar.gz" + +LICENSE="BZIP2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" +IUSE="static" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch + epatch "${FILESDIR}"/${PN}-1.0.6-saneso.patch + epatch "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986 + epatch "${FILESDIR}"/${PN}-1.0.6-progress.patch + epatch "${FILESDIR}"/${PN}-1.0.3-no-test.patch + epatch "${FILESDIR}"/${PN}-1.0.4-POSIX-shell.patch #193365 + + # - Use right man path + # - Generate symlinks instead of hardlinks + # - pass custom variables to control libdir + sed -i \ + -e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \ + -e 's:ln -s -f $(PREFIX)/bin/:ln -s :' \ + -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \ + Makefile || die +} + +bemake() { + emake \ + CC="$(tc-getCC)" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" \ + "$@" || die +} +src_compile() { + bemake -f Makefile-libbz2_so all || die + use static && append-flags -static + bemake all || die +} + +src_install() { + emake PREFIX="${D}"/usr LIBDIR=$(get_libdir) install || die + dodoc README* CHANGES bzip2.txt manual.* + + # Install the shared lib manually. We install: + # .x.x.x - standard shared lib behavior + # .x.x - SONAME some distros use #338321 + # .x - SONAME Gentoo uses + dolib.so libbz2.so.${PV} || die + local s + for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do + dosym libbz2.so.${PV} /usr/$(get_libdir)/${v} || die + done + gen_usr_ldscript -a bz2 + + if ! use static ; then + newbin bzip2-shared bzip2 || die + fi + + # move "important" bzip2 binaries to /bin and use the shared libbz2.so + dodir /bin + mv "${D}"/usr/bin/b{zip2,zcat,unzip2} "${D}"/bin/ || die + dosym bzip2 /bin/bzcat || die + dosym bzip2 /bin/bunzip2 || die +} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch new file mode 100644 index 0000000000..672c89dfbd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch @@ -0,0 +1,9 @@ +--- Makefile ++++ Makefile +@@ -23,5 +23,5 @@ + bzlib.o + +-all: libbz2.a bzip2 bzip2recover test ++all: libbz2.a bzip2 bzip2recover + + bzip2: libbz2.a bzip2.o diff --git a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch new file mode 100644 index 0000000000..b31cc061db --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch @@ -0,0 +1,21 @@ +bzgrep uses !/bin/sh but then uses the bashism ${var//} so replace those +with calls to sed so POSIX shells work + +http://bugs.gentoo.org/193365 + +--- bzgrep ++++ bzgrep +@@ -63,10 +63,9 @@ + bzip2 -cdfq "$i" | $grep $opt "$pat" + r=$? + else +- j=${i//\\/\\\\} +- j=${j//|/\\|} +- j=${j//&/\\&} +- j=`printf "%s" "$j" | tr '\n' ' '` ++ # the backslashes here are doubled up as we have to escape each one for the ++ # shell and then escape each one for the sed expression ++ j=`printf "%s" "${i}" | sed -e 's:\\\\:\\\\\\\\:g' -e 's:[|]:\\\\|:g' -e 's:[&]:\\\\&:g' | tr '\n' ' '` + bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|" + r=$? + fi diff --git a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch new file mode 100644 index 0000000000..5a95ed68b2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch @@ -0,0 +1,25 @@ +--- Makefile ++++ Makefile +@@ -18,10 +18,9 @@ + CC=gcc + AR=ar + RANLIB=ranlib +-LDFLAGS= + + BIGFILES=-D_FILE_OFFSET_BITS=64 +-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) ++CFLAGS+=-Wall -Winline $(BIGFILES) $(CPPFLAGS) + + # Where you want it installed when you do 'make install' + PREFIX=/usr/local +--- Makefile-libbz2_so ++++ Makefile-libbz2_so +@@ -24,7 +24,7 @@ + SHELL=/bin/sh + CC=gcc + BIGFILES=-D_FILE_OFFSET_BITS=64 +-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES) ++CFLAGS+=-fpic -fPIC -Wall -Winline $(BIGFILES) $(CPPFLAGS) + + OBJS= blocksort.o \ + huffman.o \ diff --git a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch new file mode 100644 index 0000000000..2427d6a7fb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch @@ -0,0 +1,12 @@ +http://bugs.gentoo.org/172986 + +--- bzip2-1.0.4/Makefile ++++ bzip2-1.0.4/Makefile +@@ -85,4 +85,7 @@ + cp -f bzip2.1 $(PREFIX)/share/man/man1 + chmod a+r $(PREFIX)/share/man/man1/bzip2.1 ++ ln -s bzip2.1 $(PREFIX)/share/man/man1/bunzip2.1 ++ ln -s bzip2.1 $(PREFIX)/share/man/man1/bzcat.1 ++ ln -s bzip2.1 $(PREFIX)/share/man/man1/bzip2recover.1 + cp -f bzlib.h $(PREFIX)/include + chmod a+r $(PREFIX)/include/bzlib.h diff --git a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.6-progress.patch b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.6-progress.patch new file mode 100644 index 0000000000..7691d63e27 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.6-progress.patch @@ -0,0 +1,163 @@ +Ripped from Mandrake + +http://bugs.gentoo.org/82192 + +--- bzip2-1.0.6/bzip2.1 ++++ bzip2-1.0.6/bzip2.1 +@@ -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 +--- bzip2-1.0.6/bzip2.c ++++ bzip2-1.0.6/bzip2.c +@@ -145,6 +145,7 @@ + #include + #include + #include ++#include + #include + #include "bzlib.h" + +@@ -301,6 +302,7 @@ + Char progNameReally[FILE_NAME_LEN]; + FILE *outputHandleJustInCase; + Int32 workFactor; ++Char showProgress; + + static void panic ( Char* ) NORETURN; + static void ioError ( void ) NORETURN; +@@ -425,6 +427,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); +@@ -432,12 +440,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; +@@ -446,6 +463,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, +@@ -526,6 +559,8 @@ + UChar unused[BZ_MAX_UNUSED]; + Int32 nUnused; + UChar* unusedTmp; ++ double fileSize = 0; /* initialized to make the compiler stop crying */ ++ time_t startTime, currentTime; + + nUnused = 0; + streamNo = 0; +@@ -533,9 +568,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 ( +@@ -551,6 +596,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; + +@@ -1872,6 +1927,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); +@@ -1949,6 +2005,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; +@@ -1985,6 +2042,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 --git a/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch new file mode 100644 index 0000000000..9c4ddf0530 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch @@ -0,0 +1,13 @@ +--- Makefile-libbz2_so ++++ Makefile-libbz2_so +@@ -35,8 +35,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) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.6 $(OBJS) ++ $(CC) $(LDFLAGS) $(CFLAGS) -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 +