Rich Burridge
2013-03-18 a549a2cf782147c107859cc135d75eda44a0ff1b
PSARC 2012/095 pbzip2 version 1.1.6 - parallel bzip2
15636394 SUNBT6943710 Parallel bzip2 - pbzip2 - should be part of the Solaris distro
4 files added
175 ■■■■■ changed files
components/pbzip2/Makefile 57 ●●●●● patch | view | raw | blame | history
components/pbzip2/patches/Makefile.patch 29 ●●●●● patch | view | raw | blame | history
components/pbzip2/pbzip2.license 40 ●●●●● patch | view | raw | blame | history
components/pbzip2/pbzip2.p5m 49 ●●●●● patch | view | raw | blame | history
components/pbzip2/Makefile
New file
@@ -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
components/pbzip2/patches/Makefile.patch
New file
@@ -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
@@ -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
@@ -30,7 +31,6 @@
 # Libraries
 LDFLAGS = -lbz2
-LDFLAGS += -lpthread
 # Where you want pbzip2 installed when you do 'make install'
 PREFIX = /usr
components/pbzip2/pbzip2.license
New file
@@ -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.
pbzip2@compression.ca
pbzip2 version 1.1.6 of Oct 30, 2011
components/pbzip2/pbzip2.p5m
New file
@@ -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/pbzip2@$(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"