]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blob - openssl/openssl.nm
file: Update to 5.18.
[people/ms/ipfire-3.x.git] / openssl / openssl.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = openssl
7 version = 1.0.1e
8 release = 1
9
10 maintainer = Michael Tremer <michael.tremer@ipfire.org>
11 groups = System/Libraries
12 url = http://www.openssl.org/
13 license = OpenSSL
14 summary = A general purpose cryptography library with TLS implementation.
15
16 description
17 The OpenSSL toolkit provides support for secure communications between
18 machines. OpenSSL includes a certificate management tool and shared
19 libraries which provide various cryptographic algorithms and protocols.
20 end
21
22 source_dl = http://openssl.org/source/
23
24 build
25 requires
26 bc
27 gnutls-devel
28 perl
29 util-linux
30 zlib-devel
31 end
32
33 CFLAGS += -DPURIFY
34 export RPM_OPT_FLAGS = %{CFLAGS}
35
36 prepare_cmds
37 sed -e 's/SHLIB_VERSION_NUMBER "1.0.0"/SHLIB_VERSION_NUMBER "%{version}"/' \
38 -i crypto/opensslv.h
39
40 find crypto/ -name Makefile -exec \
41 sed 's/^ASFLAGS=/&-Wa,--noexecstack /' -i {} \;
42
43 # Modify the various perl scripts to reference perl in the right location.
44 perl util/perlpath.pl /usr/bin
45
46 # Generate a table with the compile settings for my perusal.
47 touch Makefile
48 make TABLE PERL=/usr/bin/perl
49 end
50
51 # Set default ssl_arch.
52 ssl_arch = linux-%{DISTRO_ARCH}
53
54 if "%{DISTRO_ARCH}" == "i686"
55 # 386 implies no-sse2
56 ssl_arch = linux-elf no-asm 386
57 end
58
59 if "%{DISTRO_ARCH}" == "armv5tel"
60 ssl_arch = linux-generic32
61 end
62
63 if "%{DISTRO_ARCH}" == "armv7hl"
64 ssl_arch = linux-generic32
65 end
66
67 build
68 ./Configure \
69 --prefix=/usr \
70 --openssldir=/etc/pki/tls \
71 --enginesdir=%{libdir}/openssl/engines \
72 shared \
73 zlib-dynamic \
74 enable-camellia \
75 enable-md2 \
76 enable-seed \
77 enable-tlsext \
78 enable-rfc3779 \
79 no-idea \
80 no-mdc2 \
81 no-rc5 \
82 no-ec no-ec2m no-ecdh no-ecdsa \
83 no-srp \
84 -DSSL_FORBID_ENULL \
85 %{ssl_arch} \
86 fips
87
88 # Build.
89 make depend
90 make all
91
92 # Generate hashes for the included certs.
93 make rehash
94 end
95
96 test
97 # Revert ca-dir patch. Otherwise the tests will fail.
98 patch -Np1 -R < %{DIR_PATCHES}/openssl-1.0.0-beta4-ca-dir.patch
99
100 make test
101 end
102
103 install
104 make install build-shared INSTALL_PREFIX=%{BUILDROOT}
105
106 # Install manpages do right place
107 mkdir -pv %{BUILDROOT}/usr/share
108 mv -v %{BUILDROOT}/etc/pki/tls/man %{BUILDROOT}/usr/share/
109
110 mkdir -pv %{BUILDROOT}%{libdir}/openssl
111 mv -v %{BUILDROOT}%{libdir}/engines %{BUILDROOT}%{libdir}/openssl
112
113 mkdir -pv %{BUILDROOT}/etc/pki/CA/private
114 chmod -v 700 -R %{BUILDROOT}/etc/pki/CA
115
116 mkdir -pv %{BUILDROOT}/etc/pki/tls
117 install -m 0644 %{DIR_SOURCE}/openssl.cnf %{BUILDROOT}/etc/pki/tls
118 cp -v -r certs %{BUILDROOT}/etc/pki/tls
119
120 # Rename man pages so that they don't conflict with other system man pages.
121 pushd %{BUILDROOT}%{mandir}
122 for manpage in man*/*; do
123 if [ -L ${manpage} ]; then
124 TARGET=`ls -l ${manpage} | awk '{ print $NF }'`
125 ln -snf ${TARGET}ssl ${manpage}ssl
126 rm -f ${manpage}
127 else
128 mv ${manpage} ${manpage}ssl
129 fi
130 done
131 popd
132 end
133 end
134
135 packages
136 package %{name}
137
138 package %{name}-libs
139 template LIBS
140
141 requires += ca-certificates
142
143 files += %{libdir}/openssl
144 end
145
146 package %{name}-devel
147 template DEVEL
148 end
149
150 package %{name}-debuginfo
151 template DEBUGINFO
152 end
153 end