udpated changelogs for 2013.03.7
[tine20] / scripts / packaging / fedora / SPECS / tine20.spec
1 # TODO: strip out OpenLayers and require openlayers
2 # TODO: add postxxx sections calling the setup.php as command line tool
3 # FIXME: change selinux context to httpd_log_t for /var/log/tine20/tine20.log
4 # FIXME: SELinux is preventing /usr/sbin/httpd from create access on the None zend_cache--a.
5
6 # This package contains some bundled libraries, here is what has to be done with those:
7 # Ajam/         - not found in Fedora
8 # ExtJS/        - not found in Fedora
9 # GeoExt/       - not found in Fedora
10 # Hash/         - not found in Fedora
11 # HTMLPurifier/ - found php-channel-htmlpurifier, but that one doesn't seem to
12 #                 be enough requirable, will rest with the one delivered with
13 #                 Tine 2.0
14 # idnaconvert/  - Fedora has php-IDNA_Convert-0.6.3-4.fc15.noarch
15 #                 Tine 2.0 has 0.8.0. Either the Fedora package should be
16 #                 updated, or we stay at the Tine 2.0 version
17 # jsb2tk/       - not found in Fedora
18 # OpenDocument/ - not found in Fedora
19 # OpenLayers/   - found openlayers-2.9.1-4.fc15.noarch, will be stripped out
20 # PHPExcel/     - not found in Fedora
21 # qCal/         - not found in Fedora
22 # Sabre/        - not found in Fedora
23 # StreamFilter/ - not found in Fedora
24 # vcardphp/     - not found in Fedora
25 # Wbxml/        - not found in Fedora
26 # Zend/         - there is php-ZendFramework, strip it out
27
28 %global vyear 2013
29 %global vmonth 03
30 %global vmin 7
31
32 Name:           tine20
33 Version:        %{vyear}.%{vmonth}.%{vmin}
34 Release:        1%{?dist}
35 Summary:        Open Source Groupware and CRM
36
37 License:        AGPLv3, GPLv3, BSD, LGPLv2.1+, LGPLv2.1
38 URL:            http://www.tine20.org/
39 Source0:        http://www.tine20.org/downloads/%{version}/%{name}-allinone_%{version}.tar.bz2
40 Source1:        %{name}-httpd.conf
41 Source2:        %{name}-php.ini
42 Source3:        %{name}-config.inc.php
43 Source4:        %{name}-logrotate.conf
44 Source5:        %{name}-README.fedora
45 Source6:        %{name}-cron
46 Source7:        http://www.tine20.org/downloads/%{version}/%{name}-humanresources_%{version}.tar.bz2
47
48 Requires:       %{name}-webstack = %{version}
49 Requires:       mysql-server
50
51 BuildArch:      noarch
52
53 %description
54 Tine 2.0 is an open source project which combines groupware and CRM in one
55 consistent interface. Tine 2.0 is web-based and optimises collaboration and
56 organisation of groups in a lasting manner. Tine 2.0 unites all the
57 advantages of open source software with an extraordinarily high level of
58 usability and an equally high standard of professional software development.
59 This is what makes the difference between Tine 2.0 and many other existing
60 groupware solutions.
61
62 Tine 2.0 includes address book, calendar, email, tasks, time tracking and
63 CRM. Intelligent functions and links make collaboration in Tine 2.0 a true
64 pleasure and include:
65
66  * Synchronising mobile telephones
67  * VoiP integration
68  * Flexible assigning of authorisation rights
69  * Dynamic lists
70  * Search functions
71  * History
72  * PDF export
73
74 %package webstack
75 Summary:        Tine 2.0 webserver integration package
76 Requires:       httpd
77 Requires:       php >= 5.3.0
78 Requires:       php-gd php-mysqli php-mcrypt php-pecl-apc
79 Requires:       php-ZendFramework php-ZendFramework-Ldap
80 Requires:       %{name}-tinebase %{name}-activesync %{name}-calendar %{name}-crm %{name}-felamimail %{name}-filemanager %{name}-projects %{name}-sales %{name}-tasks %{name}-timetracker
81
82 %description webstack
83 This package integrates Tine 2.0 with the webserver, by installing all needed
84 dependencies to make Tine 2.0 available via HTTP(S).
85
86 %package tinebase
87 Summary:        Tine 2.0 base package
88 Requires:       %{name}-libraries = %{version}
89
90 %description tinebase
91 This package contains the base which at least is necessary to run Tine 2.0.
92
93 %package libraries
94 Summary:        Additional libraries required by Tine 2.0
95
96 %description libraries
97 Libraries bundled with upstream Tine 2.0 source package, but developed by other developers.
98
99 %package activesync
100 Summary:        Tine 2.0 activesync module
101 Requires:       %{name}-tinebase = %{version}
102
103 %description activesync
104 This package contains the activesync module for Tine 2.0.
105
106 %package calendar
107 Summary:        Tine 2.0 calendar module
108 Requires:       %{name}-tinebase = %{version}
109
110 %description calendar
111 This package contains the calendar module for Tine 2.0.
112
113
114 %package crm
115 Summary:        Tine 2.0 CRM module
116 Requires:       %{name}-tinebase = %{version}
117 Requires:       %{name}-sales = %{version}
118 Requires:       %{name}-tasks = %{version}
119
120 %description crm
121 This package contains the CRM module for Tine 2.0.
122
123
124 %package felamimail
125 Summary:        Tine 2.0 mail client module
126 Requires:       %{name}-tinebase = %{version}
127
128 %description felamimail
129 This package contains the mail client module for Tine 2.0 called "Felamimail".
130
131
132 %package filemanager
133 Summary:        Tine 2.0 file manager module
134 Requires:       %{name}-tinebase = %{version}
135
136 %description filemanager
137 This package contains the file manager module for Tine 2.0.
138
139
140 %package projects
141 Summary:        Tine 2.0 project module
142 Requires:       %{name}-tinebase = %{version}
143
144 %description projects
145 This package contains the projects module for Tine 2.0.
146
147 %package sales
148 Summary:        Tine 2.0 sales module
149 Requires:       %{name}-tinebase = %{version}
150
151 %description sales
152 This package contains the sales module for Tine 2.0.
153
154
155 %package tasks
156 Summary:        Tine 2.0 tasks module
157 Requires:       %{name}-tinebase = %{version}
158
159 %description tasks
160 This package contains the tasks module for Tine 2.0.
161
162
163 %package timetracker
164 Summary:        Tine 2.0 time tracker module
165 Requires:       %{name}-tinebase = %{version}
166
167 %description timetracker
168 This package contains the time tracker module for Tine 2.0.
169
170
171 %prep
172 %setup -q -c -n %{name}-%{version}
173 %{__cp} -a %{SOURCE5} README.fedora
174
175
176 %build
177 # nothing to do here so far..
178
179 %install
180 %{__rm} -rf $RPM_BUILD_ROOT
181
182
183 ## remove the bundled ZendFramework, the Fedora-shipped one is referenced from
184 ## tine20-httpd.conf which will be installed as /etc/httpd/conf.d/tine20.conf
185 #%{__rm} -rf library/Zend/
186
187
188 # installation of code to /usr/share/tine20
189 %{__install} -d $RPM_BUILD_ROOT%{_datadir}/%{name}/
190 %{__cp} -ad * $RPM_BUILD_ROOT%{_datadir}/%{name}/
191 %{__rm} -f $RPM_BUILD_ROOT%{_datadir}/%{name}/{[R]*,config.inc.php.dist}
192
193 # session and other stuff
194 %{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}/{tmp,sessions,files,cache}
195
196 # httpd configuration
197 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/
198 %{__install} -pm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/%{name}.conf
199
200 # php.ini needed if FastCGI is used
201 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d/
202 %{__install} -pm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/%{name}.ini
203
204 # Tine 2.0 configuration
205 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/
206 %{__install} -pm 640 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.inc.php
207
208 # logging
209 %{__install} -d $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}
210 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
211 %{__install} -pm 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
212
213 # cron
214 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/
215 %{__install} -pm 644 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
216
217 %post
218 if [ "$1" -eq "1" ]; then
219     export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
220         | sha1sum | awk '{print $1}' )
221     sed -i "s/SETUP PASSWORD/$NEWPASS/" %{_sysconfdir}/%{name}/config.inc.php
222 fi
223
224 %files
225
226
227 %files tinebase
228 %doc LICENSE PRIVACY README RELEASENOTES config.inc.php.dist README.fedora docs/htaccess
229 %dir %{_datadir}/%{name}/
230 %{_datadir}/%{name}/Addressbook/
231 %{_datadir}/%{name}/Admin/
232 %{_datadir}/%{name}/images/
233 %{_datadir}/%{name}/index.php
234 %{_datadir}/%{name}/langHelper.php
235 %{_datadir}/%{name}/Setup/
236 %{_datadir}/%{name}/setup.php
237 %{_datadir}/%{name}/styles/
238 %{_datadir}/%{name}/%{name}.php
239 %{_datadir}/%{name}/Tinebase/
240 %{_datadir}/%{name}/Zend/
241 %{_datadir}/%{name}/LICENSE
242 %{_datadir}/%{name}/PRIVACY
243 %{_datadir}/%{name}/bootstrap.php
244 %{_datadir}/%{name}/CREDITS
245 %{_datadir}/%{name}/docs/htaccess
246
247 %dir %{_sysconfdir}/%{name}/
248 %config(noreplace) %attr(0640,root,apache) %{_sysconfdir}/%{name}/config.inc.php
249 %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf
250 %config(noreplace) %{_sysconfdir}/php.d/tine20.ini
251 %config            %{_sysconfdir}/cron.d/tine20
252
253 %dir %{_sharedstatedir}/%{name}/
254 %dir %attr(0750,apache,apache) %{_sharedstatedir}/%{name}/tmp
255 %dir %attr(0750,apache,apache) %{_sharedstatedir}/%{name}/sessions
256 %dir %attr(0750,apache,apache) %{_sharedstatedir}/%{name}/files
257 %dir %attr(0750,apache,apache) %{_sharedstatedir}/%{name}/cache
258
259 %dir %attr(0750,apache,apache) %{_localstatedir}/log/%{name}/
260 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
261
262 %files libraries
263 %{_datadir}/%{name}/library/
264
265 %files activesync
266 %{_datadir}/%{name}/ActiveSync/
267
268
269 %files calendar
270 %{_datadir}/%{name}/Calendar/
271
272
273 %files crm
274 %{_datadir}/%{name}/Crm/
275
276
277 %files felamimail
278 %{_datadir}/%{name}/Felamimail/
279
280
281 %files filemanager
282 %{_datadir}/%{name}/Filemanager/
283
284
285 %files projects
286 %{_datadir}/%{name}/Projects/
287
288
289 %files sales
290 %{_datadir}/%{name}/Sales/
291
292
293 %files tasks
294 %{_datadir}/%{name}/Tasks/
295
296
297 %files timetracker
298 %{_datadir}/%{name}/Timetracker/
299
300
301 %files webstack
302
303 %changelog
304 * Thu Aug 15 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.7-1
305 - New upstream release Kristina Service Release 6
306
307 * Thu Jul 18 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.6-1
308 - New upstream release Kristina Service Release 5
309
310 * Thu May 23 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.4-1
311 - New upstream release Kristina Service Release 3
312
313 * Thu Apr 25 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.3-1
314 - New upstream release Kristina Service Release 2
315
316 * Thu Feb 07 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.1~alpha1-1
317 - New upstream release Kristina Alpha 1
318
319 * Wed Jan 04 2013 Lars Kneschke <l.kneschke@metaways.de> - 2012.10.3-1
320 - New upstream release Joey SR 3 (2012.10.3)
321
322 * Wed Jan 02 2013 Lars Kneschke <l.kneschke@metaways.de> - 2012.10.2-1
323 - new upstream release 2012.10.2
324
325 * Mon Nov 05 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2012.10.1-1
326 - new upstream release 2012.10.1
327
328 * Thu Aug 02 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2012.03.5-2
329 - re-enable the Tine 2.0 delivered Zend Framework
330   
331 * Fri Jun 29 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2012.03.5-1
332 - Update to new upstream release 2012.03.05
333
334 * Tue Mar 13 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2012.03.1-1
335 - Update to new upstream release 2012.03.01
336
337 * Sat Feb 04 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2011.05.6-1
338 - Update to new service release 2011.05.06
339 - comment out the Filemanager subpackage, the module disappeared in 2011-05-06
340 - fix the sed-command for setting the setup password
341
342 * Tue Dec 27 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 2011.05.5-1
343 - Update to new service release 2011.05.05
344 - link to php-ZendFramework shipped with Fedora
345 - don't remove files LICENSE and PRIVACY, they are reference from setup.php
346
347 * Sun Nov 13 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 2011.05.4-1
348 - initial Fedora package of Tine 2.0