]> git.ipfire.org Git - ipfire-3.x.git/blob - openssl/openssl.nm
openssl: Rename man pages to not conflict with system man pages.
[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.0e
8 release = 2
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 prepare_cmds
34 find crypto/ -name Makefile -exec \
35 sed 's/^ASFLAGS=/&-Wa,--noexecstack /' -i {} \;
36
37 # # Modify the various perl scripts to reference perl in the right location.
38 perl util/perlpath.pl /usr/bin
39
40 # Generate a table with the compile settings for my perusal.
41 touch Makefile
42 make TABLE PERL=/usr/bin/perl
43 end
44
45 if "%{DISTRO_ARCH}" == "i686"
46 SSL_ARCH = no-asm 386 # 386 implies no-sse2
47 end
48
49 build
50 ./Configure \
51 --prefix=/usr \
52 --openssldir=/etc/pki/tls \
53 --enginesdir=/usr/lib/openssl/engines \
54 linux-elf \
55 shared \
56 zlib-dynamic \
57 enable-camellia \
58 enable-md2 \
59 enable-seed \
60 enable-tlsext \
61 enable-rfc3779 \
62 no-idea \
63 no-mdc2 \
64 no-rc5 \
65 -DSSL_FORBID_ENULL \
66 %{SSL_ARCH}
67
68 # Build.
69 make depend all build-shared RPM_OPT_FLAGS="%{CFLAGS}" #%{PARALLELISMFLAGS}
70
71 # Generate hashes for the included certs.
72 make rehash build-shared
73 end
74
75 test
76 make test
77 end
78
79 install
80 make install build-shared INSTALL_PREFIX=%{BUILDROOT}
81
82 mkdir -pv %{BUILDROOT}/lib
83 mv -vf %{BUILDROOT}/usr/lib/lib{crypto,ssl}.so.* %{BUILDROOT}/lib
84 ln -svf ../../lib/libcrypto.so.10 %{BUILDROOT}/usr/lib/libcrypto.so
85 ln -svf ../../lib/libssl.so.10 %{BUILDROOT}/usr/lib/libssl.so
86
87 # Install manpages do right place
88 mkdir -pv %{BUILDROOT}/usr/share
89 mv -v %{BUILDROOT}/etc/pki/tls/man %{BUILDROOT}/usr/share/
90
91 mkdir -pv %{BUILDROOT}/usr/lib/openssl
92 mv -v %{BUILDROOT}/usr/lib/engines %{BUILDROOT}/usr/lib/openssl
93
94 mkdir -pv %{BUILDROOT}/etc/pki/CA/private
95 chmod -v 700 -R %{BUILDROOT}/etc/pki/CA
96
97 mkdir -pv %{BUILDROOT}/etc/pki/tls
98 install -m 0644 %{DIR_SOURCE}/openssl.cnf %{BUILDROOT}/etc/pki/tls
99 cp -v -r certs %{BUILDROOT}/etc/pki/tls
100
101 # Rename man pages so that they don't conflict with other system man pages.
102 pushd ${BUILDROOT}/usr/share/man
103 for manpage in man*/*; do
104 if [ -L ${manpage} ]; then
105 TARGET=`ls -l ${manpage} | awk '{ print $NF }'`
106 ln -snf ${TARGET}ssl ${manpage}ssl
107 rm -f ${manpage}
108 else
109 mv ${manpage} ${manpage}ssl
110 fi
111 done
112
113 mv -v %{BUILDROOT}/usr/share/man/man1/{,ssl}passwd.1
114 mv -v %{BUILDROOT}/usr/share/man/man1/{,ssl}rand.1
115 popd
116 end
117 end
118
119 packages
120 package %{name}
121
122 package %{name}-devel
123 template DEVEL
124 end
125 end