1 |
# $Id: phpki.spec,v 1.5 2009/08/26 17:49:59 vip-ire Exp $ |
2 |
# Authority: vip-ire |
3 |
# Name: Daniel Berteaud |
4 |
|
5 |
%define name phpki |
6 |
%define version 0.82 |
7 |
%define release 12 |
8 |
Summary: Phpki is a simple certificate management suite |
9 |
Name: %{name} |
10 |
Version: %{version} |
11 |
Release: %{release}%{?dist} |
12 |
License: GNU GPL version 2 |
13 |
URL: http://sourceforge.net/projects/phpki/ |
14 |
Group: SMEserver/addon |
15 |
#wget http://www.fooweb.com/downloads/foo-3.6.431.tar.gz |
16 |
Source: phpki-0.82.tar.gz |
17 |
Patch1: phpki-0.82-email_signing.patch |
18 |
Patch2: phpki-0.82-sme_openvpn_bridge_compat.patch |
19 |
Patch3: phpki-0.82-sme_admin_user.patch |
20 |
Patch4: phpki-0.82-openvpn_static_key.patch |
21 |
Patch5: phpki-0.82-expirey.patch |
22 |
Patch6: phpki-0.82-dl_display_ta_dh.patch |
23 |
Patch7: phpki-0.82-dl_crl_in_pem.patch |
24 |
Patch8: phpki-0.82-remove_email_from_upload_file_name.patch |
25 |
Patch9: phpki-0.82-display_root_pem.patch |
26 |
Patch10: phpki-0.82-disable_download_after_create.patch |
27 |
Patch11: phpki-0.82-remove_security_warning.patch |
28 |
Patch12: phpki-0.82-remove_email_from_upload_file_name.patch2 |
29 |
Patch13: phpki-0.82-ca_help.patch |
30 |
Patch14: phpki-0.82-empty_pass_php_5.2.patch |
31 |
Patch15: phpki-0.82-update_crl_via_cron.patch |
32 |
|
33 |
BuildArch: noarch |
34 |
BuildRoot: /var/tmp/%{name}-%{version} |
35 |
|
36 |
BuildRequires: e-smith-devtools |
37 |
|
38 |
Requires: e-smith-release >= 7.0 |
39 |
Requires: php |
40 |
Requires: openssl |
41 |
Requires: openvpn |
42 |
AutoReqProv: no |
43 |
|
44 |
%description |
45 |
http://sourceforge.net/projects/phpki/ |
46 |
PHPki is an Open Source Web application for managing a multi-agency PKI for HIPAA compliance. |
47 |
With it, you may create and centrally manage X.509 certificates for use with S/MIME enabled |
48 |
e-mail clients, SSL servers, and VPN applications. |
49 |
|
50 |
%changelog |
51 |
* Fri May 28 2010 Daniel B. <daniel@firewall-services.com> [0.82-12] |
52 |
- Weekly update the CRL via cron so MS Crypto API will be happy |
53 |
|
54 |
* Thu Mar 18 2010 Daniel B. <daniel@firewall-services.com> [0.82-11] |
55 |
- Fixe empty password with PHP 5.2 (SME 8b5) |
56 |
|
57 |
* Wed Aug 26 2009 Daniel B. <daniel@firewall-services.com> [0.82-10] |
58 |
- Fixe links for CA help page |
59 |
|
60 |
* Mon Mar 23 2009 Daniel B. <daniel@firewall-services.com> [0.82-9] |
61 |
- Remove links after uninstall so you can easily re-install the contrib |
62 |
later [SME: 5091] |
63 |
|
64 |
* Tue Mar 03 2009 Daniel B. <daniel@firewall-services.com> [0.82-8] |
65 |
- Add e-smith-devtools as a dependencie |
66 |
|
67 |
* Tue Jan 20 2009 Daniel B. <daniel@firewall-services.com> [0.82-7] |
68 |
- Don't replace config file on upgrades |
69 |
|
70 |
* Wed Jan 07 2009 Daniel B. <daniel@firewall-services.com> [0.82-6] |
71 |
- Remove the email address from the file name during upload (in search page) |
72 |
- Remove secure.sh script |
73 |
|
74 |
* Tue Dec 16 2008 Daniel B. <daniel@firewall-services.com> [0.82-5] |
75 |
- Link index.php to setup-presetup.php |
76 |
|
77 |
* Mon Dec 08 2008 Daniel B. <daniel@firewall-services.com> [0.82-4] |
78 |
- Changes so certificates imported from openvpn-bridge are recognized |
79 |
- Configure default admin user to 'admin' |
80 |
- Create a static key for OpenVPN TLS auth (requires openvpn) |
81 |
- Add expirey values (3 Months, 6 Months) |
82 |
- Display or download takey.pem and dhparam1024.pem from |
83 |
the certificate management menue |
84 |
- Display the Root certificate in PEM format |
85 |
- Possibility to download the CRL in PEM format |
86 |
- Remove the email address from the file name during upload |
87 |
- Disable download of certificate after creating a new one |
88 |
- Remove security warning after setup |
89 |
|
90 |
* Wed Dec 05 2008 Daniel B. <daniel@firewall-services.com> [0.82-3] |
91 |
- Correct extension name for email_signing certificates |
92 |
- Remove links, and recreate them in the %post section so upgrade can be done smoothly |
93 |
|
94 |
* Wed Nov 26 2008 Daniel B. <daniel@firewall-services.com> [0.82-0] |
95 |
- initial release |
96 |
- builds from unchanged .tar.gz |
97 |
|
98 |
%prep |
99 |
%setup -c -n %{name} |
100 |
%patch1 -p1 |
101 |
%patch2 -p1 |
102 |
%patch3 -p1 |
103 |
%patch4 -p1 |
104 |
%patch5 -p1 |
105 |
%patch6 -p1 |
106 |
%patch7 -p1 |
107 |
%patch8 -p1 |
108 |
%patch9 -p1 |
109 |
%patch10 -p1 |
110 |
%patch11 -p1 |
111 |
%patch12 -p1 |
112 |
%patch13 -p1 |
113 |
%patch14 -p1 |
114 |
%patch15 -p1 |
115 |
|
116 |
%build |
117 |
%{__mkdir_p} root/opt/phpki/html |
118 |
%{__mkdir_p} root/opt/phpki/phpki-store |
119 |
%{__mkdir_p} root/opt/phpki/bin |
120 |
%{__mkdir_p} root/%{_sysconfdir}/cron.weekly/ |
121 |
%{__mv} %{name}-%{version}/gen_crl.php root/opt/phpki/bin/ |
122 |
%{__mv} %{name}-%{version}/* root/opt/phpki/html/ |
123 |
|
124 |
|
125 |
cat <<"HERE" > root/%{_sysconfdir}/cron.weekly/phpki_update_crl |
126 |
#!/bin/bash |
127 |
|
128 |
cd /opt/phpki/bin |
129 |
php ./gen_crl.php 2>&1 > /dev/null |
130 |
|
131 |
HERE |
132 |
|
133 |
|
134 |
# Remove links to setup page so upgrades can be done smoothly |
135 |
%{__rm} -f root/opt/phpki/html/index.php |
136 |
%{__rm} -f root/opt/phpki/html/ca/index.php |
137 |
%{__rm} -f root/opt/phpki/html/setup.php |
138 |
|
139 |
# This script shouldn't be here |
140 |
%{__rm} -f root/opt/phpki/html/secure.sh |
141 |
|
142 |
|
143 |
%install |
144 |
rm -rf $RPM_BUILD_ROOT |
145 |
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) |
146 |
rm -f %{name}-%{version}-filelist |
147 |
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \ |
148 |
--file '/opt/phpki/html/config.php' 'attr(660,root,phpki) %config(noreplace)' \ |
149 |
--file '/opt/phpki/html/openssl.cnf' 'attr(660,root,phpki) %config(noreplace)' \ |
150 |
--file '%{_sysconfdir}/cron.weekly/phpki_update_crl' 'attr(744,root,root)' \ |
151 |
--dir '/opt/phpki/html' 'attr(770,root,phpki)' \ |
152 |
--dir '/opt/phpki/html/ca' 'attr(770,root,phpki)' \ |
153 |
--dir '/opt/phpki/phpki-store' 'attr(750,phpki,phpki)' \ |
154 |
> %{name}-%{version}-filelist |
155 |
|
156 |
%files -f %{name}-%{version}-filelist |
157 |
%defattr(-,root,root) |
158 |
|
159 |
%clean |
160 |
cd .. |
161 |
rm -rf $RPM_BUILD_ROOT |
162 |
|
163 |
%pre |
164 |
if ! /usr/bin/id phpki &>/dev/null; then |
165 |
/usr/sbin/useradd -c 'Phpki User' -s /sbin/nologin -r -d /opt/phpki/phpki-store phpki &>/dev/null || \ |
166 |
%logmsg "Unexpected error adding user \"phpki\". Abort installation." |
167 |
fi |
168 |
|
169 |
%preun |
170 |
|
171 |
%post |
172 |
# First install, point index.php to setup.php |
173 |
if [ $1 == 1 ]; then |
174 |
%{__ln_s} /opt/phpki/html/setup.php-presetup /opt/phpki/html/index.php |
175 |
%{__ln_s} /opt/phpki/html/setup.php-presetup /opt/phpki/html/setup.php |
176 |
echo "<?php |
177 |
header(\"Location: ./../index.php\"); |
178 |
?> |
179 |
" > /opt/phpki/html/ca/index.php |
180 |
fi |
181 |
|
182 |
%postun |
183 |
# Remove the links to index.php after uninstall |
184 |
if [ $1 == 0 ]; then |
185 |
%{__rm} -f /opt/phpki/html/index.php |
186 |
%{__rm} -f /opt/phpki/html/setup.php |
187 |
%{__rm} -f /opt/phpki/html/ca/index.php |
188 |
fi |
189 |
|
190 |
|
191 |
true |