Magellan Linux

Contents of /smage/trunk/core/openssl/openssl-1.0.2h-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9000 - (show annotations) (download)
Tue Jun 7 14:33:12 2016 UTC (7 years, 10 months ago) by niro
File size: 3356 byte(s)
auto added: ver bump to 1.0.2h-r1
1 # $Id$
2
3 PNAME="openssl"
4 PVER="1.0.2h"
5 PBUILD="r1"
6
7 PCAT="dev-libs"
8
9 DESCRIPTION="Provides libraries for SSL v2/3 and TLS v1."
10 HOMEPAGE="http://www.openssl.org/"
11
12 DEPEND=">= virtual/glibc
13 >= app-crypt/openssl-c_rehash-1.6"
14
15 SDEPEND=">= dev-lang/perl-5
16 >= virtual/sed"
17
18 SRCFILE="${PNAME}-${PVER}.tar.gz"
19 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
20
21 ALX_PKG_KEEP="usr/$(mlibdir)/libcrypto.so
22 usr/$(mlibdir)/libcrypto.so.*
23 usr/$(mlibdir)/libssl.so
24 usr/$(mlibdir)/libssl.so.*
25 usr/bin/openssl
26 etc/ssl/openssl.cnf"
27 sminclude multilib mtools alx-split
28 msetfeature "!check"
29
30 MKCERTS_CVS_REV=1.3
31
32 SRC_URI=(
33 http://www.openssl.org/source/${SRCFILE}
34 mirror://${PNAME}/${SRCFILE}
35 mirror://${PNAME}/openssl-make-certs.sh-${MKCERTS_CVS_REV}
36 mirror://${PNAME}/${PNAME}-1.0.2b-magellan.patch
37 )
38
39 UP2DATE="updatecmd http://ftp.openssl.org/source/ | grep '${PNAME}-[0-9]' | highesttarball gz"
40
41 # pkgs to rebuild: openssh, openvpn, proftpd, dovecot, subversion, neon, nxssh
42
43 src_prepare()
44 {
45 munpack ${SRCFILE} || die
46
47 # fix CFLAGS and allow x86_64 multilib builds
48 mpatch ${PNAME}-1.0.2b-magellan.patch || die
49 }
50
51 src_compile()
52 {
53 local abi
54 local libdir
55 local myopts
56
57 for abi in ${MULTILIB_ABIS}
58 do
59 cd ${SRCDIR}-${abi}
60
61 case ${abi} in
62 m32) libdir="lib" ;;
63 m64) libdir="lib64" ;;
64 esac
65
66 myopts="linux-${ARCH}-${abi}"
67 [[ ${ARCH} = i*86 ]] && myopts="linux-elf"
68
69 echo "Compiler: ${myopts}"
70
71 ./Configure \
72 --openssldir=/etc/ssl \
73 --prefix=/usr \
74 --libdir=${libdir} \
75 shared threads zlib ${myopts} || die
76
77 make depend || die
78 done
79
80 mmake -j1 MANDIR=/usr/share/man || die
81 }
82
83 alx_generic_src_install()
84 {
85 cd ${SRCDIR}
86
87 # needed directories
88 minstalldir /etc/ssl || die
89
90 mmake -j1 INSTALL_PREFIX=${BINDIR} MANDIR=/usr/share/man install || die
91
92 # fix permissions
93 mchmod 0755 /usr/$(mlibdir)/pkgconfig || die
94
95 # install certs, make install left them out
96 cp -r certs ${BINDIR}/etc/ssl || die
97 rm -r ${BINDIR}/etc/ssl/certs/{demo,expired} || die
98
99 # keep these directories
100 mkeepdir /etc/ssl/certs || die
101 mkeepdir /etc/ssl/private || die
102 mchmod 0700 /etc/ssl/private || die
103
104 # install our simple certificate creation script
105 minstalldir /usr/sbin || die
106 minstallexec -s openssl-make-certs.sh-${MKCERTS_CVS_REV} /usr/sbin/openssl-make-certs || die
107
108 # namespace openssl programs to prevent conflicts with other man pages (from gentoo)
109 cd ${BINDIR}/usr/share/man
110 local m d s
111 for m in $(find . -type f | xargs grep -L '#include')
112 do
113 d=${m%/*} ; d=${d#./} ; m=${m##*/}
114 [[ ${m} == openssl.1* ]] && continue
115 [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
116 mv ${d}/{,ssl-}${m}
117 # fix up references to renamed man pages
118 sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
119 ln -s ssl-${m} ${d}/openssl-${m}
120 # locate any symlinks that point to this man page ... we assume
121 # that any broken links are due to the above renaming
122 for s in $(find -L ${d} -type l)
123 do
124 s=${s##*/}
125 rm -f ${d}/${s}
126 ln -s ssl-${m} ${d}/ssl-${s}
127 ln -s ssl-${s} ${d}/openssl-${s}
128 done
129 done
130 [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
131
132 # install docs
133 minstalldocs CHANGES* FAQ LICENSE NEWS README doc/*.txt || die
134
135 # rename orig c_rehash to c_rehash.pl on alx, we use an shell script to drop the perl runtime dep
136 mv ${BINDIR}/usr/bin/c_rehash{,.pl} || die
137 }