Magellan Linux

Contents of /smage/trunk/extras/openssl/openssl-1.0.2d-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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