PSARC 2012/095 pbzip2 version 1.1.6 - parallel bzip2
authorRich Burridge <rich.burridge@oracle.com>
Mon, 18 Mar 2013 14:10:55 -0700
changeset 1219 cdd8157bab31
parent 1218 3de6dd637a9a
child 1220 b7cde4a36cef
PSARC 2012/095 pbzip2 version 1.1.6 - parallel bzip2 15636394 SUNBT6943710 Parallel bzip2 - pbzip2 - should be part of the Solaris distro
components/pbzip2/Makefile
components/pbzip2/patches/Makefile.patch
components/pbzip2/pbzip2.license
components/pbzip2/pbzip2.p5m
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/pbzip2/Makefile	Mon Mar 18 14:10:55 2013 -0700
@@ -0,0 +1,57 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+#
+
+include ../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=		pbzip2
+COMPONENT_VERSION=	1.1.6
+COMPONENT_PROJECT_URL=	http://compression.ca/pbzip2/
+COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH=	\
+    sha256:86bd6d58e5a6c13cf8c709620ebfe186fca423c2724225bb30431fa7a453aee2
+COMPONENT_ARCHIVE_URL=	$(COMPONENT_PROJECT_URL)$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=	utility/pbzip2
+
+include ../../make-rules/prep.mk
+include ../../make-rules/justmake.mk
+include ../../make-rules/ips.mk
+
+# pbzip2 Solaris Sun Studio build uses a non-standard Makefile
+COMPONENT_BUILD_ARGS +=		CC="$(CXX)"
+COMPONENT_BUILD_ARGS +=		-f Makefile.solaris.sunstudio
+COMPONENT_INSTALL_ARGS +=	-f Makefile.solaris.sunstudio
+COMPONENT_INSTALL_ARGS +=	PREFIX=$(PROTOUSRDIR)
+
+ASLR_MODE = $(ASLR_ENABLE)
+
+# common targets
+build:		$(BUILD_64)
+
+install:	$(INSTALL_64)
+
+test:		$(NO_TESTS)
+
+include ../../make-rules/depend.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/pbzip2/patches/Makefile.patch	Mon Mar 18 14:10:55 2013 -0700
@@ -0,0 +1,29 @@
+Adjust the CFLAGS in the Solaris Studio Makefile to not include build
+options like '-fast' and '-lpthread', use -D_REENTRANT instead of -mt
+and to not set a run path.
+
+--- pbzip2-1.1.6/Makefile.solaris.sunstudio.orig	2013-03-18 08:53:39.894869460 -0700
++++ pbzip2-1.1.6/Makefile.solaris.sunstudio	2013-03-18 10:37:02.531235184 -0700
[email protected]@ -4,11 +4,12 @@
+ # Compiler to use
+ CC=CC
+ CFLAGS = -m64
+-CFLAGS += -fast -xO5
++CFLAGS += -xO5
+ 
+ #CFLAGS += -Wall
+ #CFLAGS += -g
+-CFLAGS += -mt -lpthread
++CFLAGS += -D_REENTRANT
++CFLAGS += -norunpath
+ 
+ # Comment out CFLAGS line below for compatability mode for 32bit file sizes
+ # (less than 2GB) and systems that have compilers that treat int as 64bit
[email protected]@ -30,7 +31,6 @@
+ 
+ # Libraries
+ LDFLAGS = -lbz2
+-LDFLAGS += -lpthread
+ 
+ # Where you want pbzip2 installed when you do 'make install'
+ PREFIX = /usr
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/pbzip2/pbzip2.license	Mon Mar 18 14:10:55 2013 -0700
@@ -0,0 +1,40 @@
+This program, "pbzip2" is copyright (C) 2003-2011 Jeff Gilchrist.
+All rights reserved.
+
+The library "libbzip2" which pbzip2 uses, is copyright
+(C) 1996-2008 Julian R Seward.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+2. The origin of this software must not be misrepresented; you must 
+   not claim that you wrote the original software.  If you use this 
+   software in a product, an acknowledgment in the product 
+   documentation would be appreciated but is not required.
+
+3. Altered source versions must be plainly marked as such, and must
+   not be misrepresented as being the original software.
+
+4. The name of the author may not be used to endorse or promote 
+   products derived from this software without specific prior written 
+   permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Jeff Gilchrist, Ottawa, Canada.
[email protected]
+pbzip2 version 1.1.6 of Oct 30, 2011
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/pbzip2/pbzip2.p5m	Mon Mar 18 14:10:55 2013 -0700
@@ -0,0 +1,49 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
+set name=pkg.fmri \
+    value=pkg:/compress/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="parallel implementation of bzip2"
+set name=pkg.description \
+    value="pbzip2 is a parallel implementation of the bzip2 block-sorting file compressor, which should be fully compatible with bzip2."
+set name=com.oracle.info.description value="pbzip2, a parallel bzip2"
+set name=com.oracle.info.tpno value=11059
+set name=info.classification \
+    value="org.opensolaris.category.2008:Applications/System Utilities"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2012/095
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+dir  path=usr
+dir  path=usr/bin
+link path=usr/bin/pbunzip2 target=./pbzip2
+link path=usr/bin/pbzcat target=./pbzip2
+file path=usr/bin/pbzip2
+dir  path=usr/share
+dir  path=usr/share/man
+dir  path=usr/share/man/man1
+file usr/man/man1/pbzip2.1 path=usr/share/man/man1/pbzip2.1
+license pbzip2.license license="pbzip2 license"