1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

root/csw/mgar/pkg/openssl/trunk/Makefile

Revision 17999, 12.9 KB (checked in by chninkel, 13 days ago)

openssl/trunk: added checkpkg overrides

Line 
1#####################################################################
2# OpenCSW build recipe for OpenSSL
3#
4# Copyright 2009 Yann Rouillard <yann@pleiades.fr.eu.org>
5# All rights reserved.  Use is subject to license terms.
6#
7# Redistribution and/or use, with or without modification, is
8# permitted.  This software is without warranty of any kind.  The
9# author(s) shall not be liable in the event that use of the
10# software causes damage.
11#####################################################################
12
13# Uncomment to enable PKCS11 engine
14PKCS11 = 1
15
16###### Package information #######
17
18NAME = openssl
19VERSION = 0.9.8x
20CATEGORIES = lib
21GARTYPE = v2
22
23DESCRIPTION = The Open Source toolkit for SSL and TLS
24define BLURB
25  The OpenSSL Project is a collaborative effort to develop a robust,
26  commercial-grade, fully featured, and Open Source toolkit implementing the
27  Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) as well
28  as a full-strength general-purpose cryptography library.
29endef
30
31PACKAGES = CSWopenssl CSWlibssl0-9-8 CSWlibssl-dev CSWopenssl-utils
32
33SPKG_DESC_CSWopenssl = Openssl meta package
34CATALOGNAME_CSWopenssl = openssl
35RUNTIME_DEP_PKGS_CSWopenssl = CSWlibssl-dev CSWopenssl-utils CSWlibssl0-9-8
36ARCHALL_CSWopenssl = 1
37OBSOLETED_BY_CSWopenssl = CSWossl
38CHECKPKG_OVERRIDES_CSWossl += surplus-dependency|CSWopenssl
39
40SPKG_DESC_CSWlibssl0-9-8 = Openssl runtime libraries
41CATALOGNAME_CSWlibssl0-9-8 = libssl0_9_8
42RUNTIME_DEP_PKGS_CSWlibssl0-9-8 = CSWcacertificates
43OBSOLETED_BY_CSWlibssl0-9-8 = CSWosslrt
44CHECKPKG_OVERRIDES_CSWosslrt += surplus-dependency|CSWlibssl0-9-8
45
46SPKG_DESC_CSWlibssl-dev = Openssl development libraries and headers
47CATALOGNAME_CSWlibssl-dev = libssl_dev
48RUNTIME_DEP_PKGS_CSWlibssl-dev = CSWlibssl0-9-8
49OBSOLETED_BY_CSWlibssl-dev = CSWossldevel
50CHECKPKG_OVERRIDES_CSWossldevel += archall-devel-package
51
52SPKG_DESC_CSWopenssl-utils = Openssl binaries and related tools
53CATALOGNAME_CSWopenssl-utils = openssl_utils
54RUNTIME_DEP_PKGS_CSWopenssl-utils = CSWlibssl0-9-8
55SPKG_CLASSES_CSWopenssl-utils = none cswpreserveconf
56OBSOLETED_BY_CSWopenssl-utils = CSWosslutils
57CHECKPKG_OVERRIDES_CSWosslutils += surplus-dependency|CSWopenssl-utils
58
59# openssl is a meta-package
60CHECKPKG_OVERRIDES_CSWopenssl += surplus-dependency|CSWopenssl-utils
61CHECKPKG_OVERRIDES_CSWopenssl += surplus-dependency|CSWlibssl-dev
62CHECKPKG_OVERRIDES_CSWopenssl += surplus-dependency|CSWlibssl0-9-8
63
64# we use sun perl not csw one
65CHECKPKG_OVERRIDES_CSWopenssl-utils += missing-dependency|CSWperl
66
67#CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += surplus-dependency|CSWcacertificates
68
69# this package contains several libraries files and we will not split
70#CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += non-uniform-lib-versions-in-package|sonames=libcrypto.so.0.9.7,libcrypto.so.0.9.8,libssl.so.0.9.7,libssl.so.0.9.8
71CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/libcrypto.so.0.9.7|soname=libcrypto.so.0.9.7|pkgname=CSWlibssl0-9-8|expected=CSWlibcrypto0-9-7
72CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/libcrypto.so.0.9.8|soname=libcrypto.so.0.9.8|pkgname=CSWlibssl0-9-8|expected=CSWlibcrypto0-9-8
73CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/libssl.so.0.9.7|soname=libssl.so.0.9.7|pkgname=CSWlibssl0-9-8|expected=CSWlibssl0-9-7
74ifeq ($(shell /usr/bin/uname -p),sparc)
75CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv8plus+vis/libcrypto.so.0.9.7|soname=libcrypto.so.0.9.7|pkgname=CSWlibssl0-9-8|expected=CSWlibcrypto0-9-7
76CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv8plus+vis/libcrypto.so.0.9.8|soname=libcrypto.so.0.9.8|pkgname=CSWlibssl0-9-8|expected=CSWlibcrypto0-9-8
77CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv8plus+vis/libssl.so.0.9.7|soname=libssl.so.0.9.7|pkgname=CSWlibssl0-9-8|expected=CSWlibssl0-9-7
78CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv9/libcrypto.so.0.9.7|soname=libcrypto.so.0.9.7|pkgname=CSWlibssl0-9-8|expected=CSWlibcrypto0-9-7
79CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv9/libcrypto.so.0.9.8|soname=libcrypto.so.0.9.8|pkgname=CSWlibssl0-9-8|expected=CSWlibcrypto0-9-8
80CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv9/libssl.so.0.9.7|soname=libssl.so.0.9.7|pkgname=CSWlibssl0-9-8|expected=CSWlibssl0-9-7
81else
82CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += shared-lib-pkgname-mismatch|file=opt/csw/lib/amd64/libcrypto.so.0.9.8|soname=libcrypto.so.0.9.8|pkgname=CSWlibssl0-9-8|expected=CSWlibcrypto0-9-8
83endif
84
85# we will not recompile old 0.9.7 version for now
86ifeq ($(shell /usr/bin/uname -p),sparc)
87#CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += bad-rpath-entry|/opt/csw/lib/sparcv8plus+vis
88#CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += bad-rpath-entry|/opt/csw/lib/sparcv8plus+vis
89CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += bad-rpath-entry
90else
91CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += file-with-bad-content|/export/home|root/opt/csw/lib/pentium_pro/libcrypto.so.0.9.7
92CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += file-with-bad-content|/export/home|root/opt/csw/lib/pentium_pro/libssl.so.0.9.7
93CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += file-with-bad-content|/export/home|root/opt/csw/lib/libcrypto.so.0.9.7
94CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += file-with-bad-content|/export/home|root/opt/csw/lib/libssl.so.0.9.7
95endif
96
97
98# we do ship .a files in the devel package
99CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/libcrypto.a
100CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/libssl.a
101ifeq ($(shell /usr/bin/uname -p),sparc)
102CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/sparcv8plus+vis/libcrypto.a
103CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/sparcv8plus+vis/libssl.a
104CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/sparcv9/libcrypto.a
105CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/sparcv9/libssl.a
106else
107CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/amd64/libcrypto.a
108CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/amd64/libssl.a
109CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/pentium_pro/libcrypto.a
110CHECKPKG_OVERRIDES_CSWlibssl-dev += discouraged-path-in-pkgmap|/opt/csw/lib/pentium_pro/libssl.a
111endif
112
113# the /usr/local references in the documents files are relevant
114CHECKPKG_OVERRIDES_CSWopenssl-utils += file-with-bad-content|/usr/local|root/opt/csw/share/doc/openssl_utils/FAQ
115CHECKPKG_OVERRIDES_CSWopenssl-utils += file-with-bad-content|/usr/local|root/opt/csw/share/doc/openssl_utils/INSTALL
116CHECKPKG_OVERRIDES_CSWopenssl-utils += file-with-bad-content|/usr/local|root/opt/csw/share/doc/openssl_utils/CHANGES
117CHECKPKG_OVERRIDES_CSWopenssl += file-with-bad-content|/usr/local|root/opt/csw/share/doc/openssl/INSTALL
118CHECKPKG_OVERRIDES_CSWopenssl += file-with-bad-content|/usr/local|root/opt/csw/share/doc/openssl/CHANGES
119CHECKPKG_OVERRIDES_CSWopenssl += file-with-bad-content|/usr/local|root/opt/csw/share/doc/openssl/FAQ
120CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += file-with-bad-content|/usr/local|root/opt/csw/share/doc/libssl0_9_8/INSTALL
121CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += file-with-bad-content|/usr/local|root/opt/csw/share/doc/libssl0_9_8/FAQ
122CHECKPKG_OVERRIDES_CSWlibssl0-9-8 += file-with-bad-content|/usr/local|root/opt/csw/share/doc/libssl0_9_8/CHANGES
123CHECKPKG_OVERRIDES_CSWlibssl-dev += file-with-bad-content|/usr/local|root/opt/csw/share/doc/libssl_dev/CHANGES
124CHECKPKG_OVERRIDES_CSWlibssl-dev += file-with-bad-content|/usr/local|root/opt/csw/share/doc/libssl_dev/FAQ
125CHECKPKG_OVERRIDES_CSWlibssl-dev += file-with-bad-content|/usr/local|root/opt/csw/share/doc/libssl_dev/INSTALL
126
127
128
129###### Upstream and opencsw files information #######
130
131MASTER_SITES = http://www.openssl.org/source/ http://openssl.org/news/
132UPSTREAM_MASTER_SITES = http://www.openssl.org/source/
133
134# We define upstream file regex so we can be notifed of new upstream software release
135UFILES_REGEX = $(NAME)-(0.9.8[a-z]).tar.gz
136
137DISTFILES  = $(NAME)-$(VERSION).tar.gz
138DISTFILES += CSWopenssl.prototype
139DISTFILES += CSWlibssl0-9-8.checkinstall CSWlibssl0-9-8.preinstall CSWlibssl0-9-8.postinstall CSWlibssl0-9-8.prototype-i386 CSWlibssl0-9-8.prototype-sparc
140DISTFILES += CSWlibssl-dev.prototype-i386 CSWlibssl-dev.prototype-sparc
141DISTFILES += CSWopenssl-utils.prototype
142DISTFILES += changelog.CSW README.CSW
143
144DOCFILES = CHANGES CHANGES.SSLeay PROBLEMS README FAQ README.ASN1 INSTALL NEWS README.ENGINE
145
146# This patch add optimised build targets for some solaris isa, ie:
147# solaris-386-cc, solaris-pentium-cc, solaris-pentium_pro-cc, solaris-sparcv9+vis-cc
148PATCHFILES = more_configure_targets.patch
149
150# Update openssl.cnf path in man page to follow opencsw standard
151PATCHFILES += opencsw_paths.patch
152
153# Let's always block some compromised CA, whatever the CA configured
154# (patchs taken from Debian Package)
155PATCHFILES += block_bad_certificates.patch
156
157LICENSE=LICENSE
158
159##### Build and installation information #####
160
161# Sun Studio 12 incorrectly outputs v8plus code instead of
162# v8 code under Solaris 10 so we use Sun Studio 12 update 1
163ifneq ($(shell /usr/bin/uname -r),5.9)
164        GARCOMPILER = SOS12U1
165endif
166
167# The list of instructions set for which we will
168# provide optimized libraries and binaries
169BUILD64 = 1
170BUILD64_LIBS_ONLY = 1
171EXTRA_BUILD_ISAS_i386 = pentium_pro
172EXTRA_BUILD_ISAS_sparc = sparcv8plus+vis
173
174# we keep building the i386 even under 5.10 to keep the
175# same prototype file for Solaris 9 and Solaris 10 packages
176# (could switch to dynamic prototype to avoid that)
177ISA_DEFAULT_i386-5.10 = i386
178
179# GAR wants and puts sparcv9 in lib/64 but openssl build system
180# isn't the standard autoconf/automake one so we disable this
181# relocation for now
182ISALIBDIR_sparcv9 = .
183libdir = /opt/csw/lib
184
185# we include *.a files in the devel package so we don't want them excluded
186MERGE_EXCLUDE_STATICLIBS = 
187
188# The corresponding os/compiler to pass to the
189# openssl Configure script
190i386_OS_COMPILER        = solaris-386-cc
191pentium_OS_COMPILER     = solaris-pentium-cc
192pentium_pro_OS_COMPILER = solaris-pentium_pro-cc
193amd64_OS_COMPILER       = solaris64-x86_64-cc
194
195sparcv8_OS_COMPILER             = solaris-sparcv8-cc
196sparcv8plus_OS_COMPILER         = solaris-sparcv9-cc
197sparcv8plus+vis_OS_COMPILER     = solaris-sparcv9+vis-cc
198sparcv9_OS_COMPILER             = solaris64-sparcv9-cc
199
200CONFIGURE_ARGS = --prefix=$(prefix) shared $($(ISA)_OS_COMPILER) --install_prefix=$(DESTDIR)
201
202# We want the csw perl to be used
203#CONFIGURE_ENV += PERL="/opt/csw/bin/perl"
204# For now we want the sun perl to be used
205CONFIGURE_ENV += PERL="/usr/bin/perl"
206
207# Some optimization
208EXT_CFLAGS   += -mt -xstrconst
209EXT_CXXFLAGS += -noex -mt
210
211# By default, the install target put man pages under
212# /opt/csw/ssl/man, but we want them under /opt/csw/share/man
213INSTALL_ARGS += MANDIR=$(mandir)
214
215# we include previous release of libraries file for comptability purpose
216OLDLIBS                 = 0.9.7m
217
218# support for pkcs11 engine http://blogs.sun.com/chichang1/entry/how_to_integrate_pkcs11_engine
219ifdef PKCS11
220        PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386 solaris10-sparc solaris10-i386
221ifneq ($(shell /usr/bin/uname -r),5.9)
222        PATCHFILES += pkcs11_engine-0.9.8o.patch.2010-09-03
223        CONFIGURE_ARGS += --pk11-libname=$(abspath /usr/lib/$(MM_LIBDIR)/libpkcs11.so) 
224endif
225endif
226
227TEST_SCRIPTS =
228
229include gar/category.mk
230
231
232pre-configure-modulated:
233        echo " ==> Creating configure script"
234        cd $(WORKSRC) && ln -nf Configure configure
235        @$(MAKECOOKIE)
236
237# we remove every debug information except symbol table
238# (should rather be done in the gar scripts)
239post-install-modulated:
240        echo " ==> Stripping libraries"
241        chmod -R u+w $(DESTDIR)$(libdir)
242        find $(DESTDIR)$(libdir) -name "*.so*" -exec strip -x '{}' ';'
243
244install-changelog:
245        for CATALOGNAME in $(foreach PKG, $(PACKAGES), $(call catalogname,$(PKG))); do \
246                ginstall -D $(WORKDIR_FIRSTMOD)/changelog.CSW $(PKGROOT)/$(docdir)/$$CATALOGNAME/changelog.CSW; \
247        done   
248        @$(MAKECOOKIE)
249
250install-doc:
251        for CATALOGNAME in $(foreach PKG, $(PACKAGES), $(call catalogname,$(PKG))); do \
252                ginstall -d $(PKGROOT)/$(docdir)/$$CATALOGNAME; \
253                (cd $(WORKSRC_FIRSTMOD)/ && ginstall $(DOCFILES) $(PKGROOT)/$(docdir)/$$CATALOGNAME/); \
254                ginstall -D $(WORKDIR_FIRSTMOD)/README.CSW $(PKGROOT)/$(docdir)/$$CATALOGNAME/README.CSW; \
255        done
256        @$(MAKECOOKIE)
257
258install-certs:
259        [ -f $(PKGROOT)$(prefix)/ssl/openssl.cnf ] && \
260                ginstall -D $(PKGROOT)$(prefix)/ssl/openssl.cnf $(PKGROOT)$(sysconfdir)/ssl/openssl.cnf.CSW
261
262fix-paths:
263        gsed -i -e 's,/usr/local/ssl/lib,/opt/csw/etc/ssl,' $(PKGROOT)$(mandir)/man1/ca.1
264        gsed -i -e 's,/usr/local/ssl,/opt/csw/ssl,' $(PKGROOT)$(bindir)/c_rehash
265        @$(MAKECOOKIE)
266
267install-oldlibs: $(addprefix install-oldlibs-,$(OLDLIBS))
268install-oldlibs-%:
269        @echo " ==> Installing old libraries $* from archive oldlibs.$*-$(GARCH).tar.gz"
270        cd $(PKGROOT) && gunzip -c $(CURDIR)/$(FILEDIR)/oldlibs.$*-$(GARCH).tar.gz | tar xvf -
271        @$(MAKECOOKIE)
272
273pre-package: install-certs install-oldlibs install-changelog install-doc fix-paths
Note: See TracBrowser for help on using the browser.