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

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

Revision 20392, 13.3 KB (checked in by chninkel, 2 months ago)

openssl/trunk: fixed direct binding checkpkg override

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