updates changelogs for 2014.09.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 2014
29 %global vmonth 09
30 %global vmin 7
31 # comment out release suffix when not an unstable release
32 # %global rsuffix rc2
33
34 Name:           tine20
35 Summary:        Open Source Groupware and CRM
36 Version:        %{vyear}.%{vmonth}.%{vmin}
37
38 %if %{?rsuffix}
39 Release:        0.%{rsuffix}.1
40 %global         source_suffix ~%{rsuffix}
41 %else
42 Release:        1
43 %endif
44
45 License:        AGPLv3, GPLv3, BSD, LGPLv2.1+, LGPLv2.1
46 URL:            http://www.tine20.org/
47 Source0:        http://www.tine20.org/downloads/%{version}%{?source_suffix}/%{name}-allinone_%{version}%{?source_suffix}.tar.bz2
48 Source1:        %{name}-httpd.conf
49 Source2:        %{name}-php.ini
50 Source3:        %{name}-config.inc.php
51 Source4:        %{name}-logrotate.conf
52 Source5:        %{name}-README.fedora
53 Source6:        %{name}-cron
54 Source7:        http://www.tine20.org/downloads/%{version}%{?source_suffix}/%{name}-humanresources_%{version}%{?source_suffix}.tar.bz2
55
56 Requires:       %{name}-webstack = %{version}
57 Requires:       mysql-server
58
59 BuildArch:      noarch
60
61 %description
62 Tine 2.0 is an open source project which combines groupware and CRM in one
63 consistent interface. Tine 2.0 is web-based and optimises collaboration and
64 organisation of groups in a lasting manner. Tine 2.0 unites all the
65 advantages of open source software with an extraordinarily high level of
66 usability and an equally high standard of professional software development.
67 This is what makes the difference between Tine 2.0 and many other existing
68 groupware solutions.
69
70 Tine 2.0 includes address book, calendar, email, tasks, time tracking and
71 CRM. Intelligent functions and links make collaboration in Tine 2.0 a true
72 pleasure and include:
73
74  * Synchronising mobile telephones
75  * VoiP integration
76  * Flexible assigning of authorisation rights
77  * Dynamic lists
78  * Search functions
79  * History
80  * PDF export
81
82 %package webstack
83 Summary:        Tine 2.0 webserver integration package
84 Requires:       httpd
85 Requires:       php >= 5.3.0
86 Requires:       php-gd php-mysqlnd php-mcrypt php-opcache
87 #Requires:       php-ZendFramework php-ZendFramework-Ldap
88 Requires:       %{name}-tinebase %{name}-activesync %{name}-calendar %{name}-crm %{name}-felamimail %{name}-filemanager %{name}-projects %{name}-sales %{name}-tasks %{name}-timetracker
89
90 %description webstack
91 This package integrates Tine 2.0 with the webserver, by installing all needed
92 dependencies to make Tine 2.0 available via HTTP(S).
93
94 %package tinebase
95 Summary:        Tine 2.0 base package
96 Requires:       %{name}-libraries = %{version}
97
98 %description tinebase
99 This package contains the base which at least is necessary to run Tine 2.0.
100
101 %package libraries
102 Summary:        Additional libraries required by Tine 2.0
103
104 %description libraries
105 Libraries bundled with upstream Tine 2.0 source package, but developed by other developers.
106
107 %package activesync
108 Summary:        Tine 2.0 activesync module
109 Requires:       %{name}-tinebase = %{version}
110
111 %description activesync
112 This package contains the activesync module for Tine 2.0.
113
114 %package calendar
115 Summary:        Tine 2.0 calendar module
116 Requires:       %{name}-tinebase = %{version}
117
118 %description calendar
119 This package contains the calendar module for Tine 2.0.
120
121
122 %package crm
123 Summary:        Tine 2.0 CRM module
124 Requires:       %{name}-tinebase = %{version}
125 Requires:       %{name}-sales = %{version}
126 Requires:       %{name}-tasks = %{version}
127
128 %description crm
129 This package contains the CRM module for Tine 2.0.
130
131
132 %package felamimail
133 Summary:        Tine 2.0 mail client module
134 Requires:       %{name}-tinebase = %{version}
135
136 %description felamimail
137 This package contains the mail client module for Tine 2.0 called "Felamimail".
138
139
140 %package filemanager
141 Summary:        Tine 2.0 file manager module
142 Requires:       %{name}-tinebase = %{version}
143
144 %description filemanager
145 This package contains the file manager module for Tine 2.0.
146
147
148 %package projects
149 Summary:        Tine 2.0 project module
150 Requires:       %{name}-tinebase = %{version}
151
152 %description projects
153 This package contains the projects module for Tine 2.0.
154
155 %package sales
156 Summary:        Tine 2.0 sales module
157 Requires:       %{name}-tinebase = %{version}
158
159 %description sales
160 This package contains the sales module for Tine 2.0.
161
162
163 %package tasks
164 Summary:        Tine 2.0 tasks module
165 Requires:       %{name}-tinebase = %{version}
166
167 %description tasks
168 This package contains the tasks module for Tine 2.0.
169
170
171 %package timetracker
172 Summary:        Tine 2.0 time tracker module
173 Requires:       %{name}-tinebase = %{version}
174
175 %description timetracker
176 This package contains the time tracker module for Tine 2.0.
177
178
179 %package worker
180 Summary:        Tine 2.0 asynchronous worker
181 Requires:       %{name}-worker = %{version}
182
183 %description worker
184 This package contains the files neede to process asynchronous jobs for Tine 2.0.
185
186
187 %prep
188 %setup -q -c -n %{name}-%{version}
189 %{__cp} -a %{SOURCE5} README.fedora
190
191
192 %build
193 # nothing to do here so far..
194
195
196 %install
197 %{__rm} -rf $RPM_BUILD_ROOT
198
199 # installation of code to /usr/share/tine20
200 %{__install} -d $RPM_BUILD_ROOT%{_datadir}/%{name}/
201 %{__cp} -ad * $RPM_BUILD_ROOT%{_datadir}/%{name}/
202
203 # session and other stuff
204 %{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}/{tmp,sessions,files,cache}
205
206 # httpd configuration
207 # tine20-httpd.conf which will be installed as /etc/httpd/conf.d/tine20.conf
208 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/
209 %{__install} -pm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/%{name}.conf
210
211 # php.ini needed if FastCGI is used
212 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d/
213 %{__install} -pm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/%{name}.ini
214
215 # Tine 2.0 configuration
216 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/
217 %{__install} -pm 660 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.inc.php
218
219 # logging
220 %{__install} -d $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}
221 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
222 %{__install} -pm 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
223
224 # cron
225 %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/
226 %{__install} -pm 644 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
227
228 # cleanup
229 %{__rm} -f $RPM_BUILD_ROOT%{_datadir}/%{name}/{[R]*,config.inc.php.dist}
230 %{__rm} -f $RPM_BUILD_ROOT%{_datadir}/%{name}/docs/htaccess
231
232
233 %post
234 if [ "$1" -eq "1" ]; then
235     # database password
236     export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
237         | sha1sum | awk '{print $1}' )
238     sed -i "s/DATABASE PASSWORD/$NEWPASS/" %{_sysconfdir}/%{name}/config.inc.php
239     
240     # setup password
241     export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
242         | sha1sum | awk '{print $1}' )
243     sed -i "s/SETUP PASSWORD/$NEWPASS/" %{_sysconfdir}/%{name}/config.inc.php
244 fi
245
246 %files
247
248
249 %files tinebase
250 %doc LICENSE PRIVACY README RELEASENOTES config.inc.php.dist README.fedora docs/htaccess
251 %dir %{_datadir}/%{name}/
252 %{_datadir}/%{name}/Addressbook/
253 %{_datadir}/%{name}/Admin/
254 %{_datadir}/%{name}/Setup/
255 %{_datadir}/%{name}/Tinebase/
256 %{_datadir}/%{name}/Zend/
257 %{_datadir}/%{name}/CREDITS
258 %{_datadir}/%{name}/LICENSE
259 %{_datadir}/%{name}/PRIVACY
260 %{_datadir}/%{name}/bootstrap.php
261 %{_datadir}/%{name}/images/
262 %{_datadir}/%{name}/fonts/
263 %{_datadir}/%{name}/index.php
264 %{_datadir}/%{name}/langHelper.php
265 %{_datadir}/%{name}/setup.php
266 %{_datadir}/%{name}/status.php
267 %{_datadir}/%{name}/%{name}.php
268 %{_datadir}/%{name}/init_plugins.php
269 %{_datadir}/%{name}/themes
270
271 %dir %{_sysconfdir}/%{name}/
272 %config(noreplace) %attr(0660,root,apache) %{_sysconfdir}/%{name}/config.inc.php
273 %config(noreplace) %{_sysconfdir}/php.d/tine20.ini
274 %config            %{_sysconfdir}/cron.d/tine20
275
276 %dir %{_sharedstatedir}/%{name}/
277 %dir %attr(0750,apache,apache) %{_sharedstatedir}/%{name}/tmp
278 %dir %attr(0750,apache,apache) %{_sharedstatedir}/%{name}/sessions
279 %dir %attr(0750,apache,apache) %{_sharedstatedir}/%{name}/files
280 %dir %attr(0750,apache,apache) %{_sharedstatedir}/%{name}/cache
281
282 %dir %attr(0750,apache,apache) %{_localstatedir}/log/%{name}/
283 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
284
285
286 %files libraries
287 %{_datadir}/%{name}/library/
288 %{_datadir}/%{name}/vendor/
289
290
291 %files activesync
292 %{_datadir}/%{name}/ActiveSync/
293
294
295 %files calendar
296 %{_datadir}/%{name}/Calendar/
297
298
299 %files crm
300 %{_datadir}/%{name}/Crm/
301
302
303 %files felamimail
304 %{_datadir}/%{name}/Felamimail/
305
306
307 %files filemanager
308 %{_datadir}/%{name}/Filemanager/
309
310
311 %files projects
312 %{_datadir}/%{name}/Projects/
313
314
315 %files sales
316 %{_datadir}/%{name}/Sales/
317
318
319 %files tasks
320 %{_datadir}/%{name}/Tasks/
321
322
323 %files timetracker
324 %{_datadir}/%{name}/Timetracker/
325
326
327 %files webstack
328 %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf
329
330
331 %files worker
332 %{_datadir}/%{name}/worker.php
333
334
335 %changelog
336 * Fri Jan 08 2015 Philipp Schüle <p.schuele@metaways.de> - 2014.09.7-0
337 - New upstream release Koriander Service Release 6
338
339 * Thu Jan 08 2015 Philipp Schüle <p.schuele@metaways.de> - 2014.09.6-0
340 - New upstream release Koriander Service Release 5
341
342 * Mon Dec 01 2014 Philipp Schüle <p.schuele@metaways.de> - 2014.09.5-0
343 - New upstream release Koriander Service Release 4
344
345 * Mon Nov 17 2014 Philipp Schüle <p.schuele@metaways.de> - 2014.09.4-0
346 - New upstream release Koriander Service Release 3
347
348 * Thu Nov 13 2014 Philipp Schüle <p.schuele@metaways.de> - 2014.09.3-0
349 - New upstream release Koriander Service Release 2
350
351 * Thu Oct 16 2014 Philipp Schüle <p.schuele@metaways.de> - 2014.09.2-0
352 - New upstream release Koriander Service Release 1
353
354 * Thu Sep 11 2014 Philipp Schüle <p.schuele@metaways.de> - 2014.09.1-0
355 - New upstream release Koriander
356
357 * Wed Feb 14 2014 Philipp Schüle <p.schuele@metaways.de> - 2013.10.6-0
358 - New upstream release Collin Service Release 5
359
360 * Wed Feb 12 2014 Philipp Schüle <p.schuele@metaways.de> - 2013.10.5-0
361 - New upstream release Collin Service Release 4
362
363 * Thu Jan 16 2014 Philipp Schüle <p.schuele@metaways.de> - 2013.10.4-0
364 - New upstream release Collin Service Release 3
365
366 * Thu Dec 19 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.10.3-0
367 - New upstream release Collin Service Release 2
368
369 * Thu Nov 21 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.10.2-0
370 - New upstream release Collin Service Release 1
371
372 * Thu Oct 24 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.10.1-0
373 - New upstream release Collin
374
375 * Thu Oct 17 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.10.1-0.rc2.1
376 - New upstream release Collin Release Candidate 2
377
378 * Thu Sep 19 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.8-1
379 - New upstream release Kristina Service Release 7
380
381 * Thu Aug 15 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.7-1
382 - New upstream release Kristina Service Release 6
383
384 * Thu Jul 18 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.6-1
385 - New upstream release Kristina Service Release 5
386
387 * Thu May 23 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.4-1
388 - New upstream release Kristina Service Release 3
389
390 * Thu Apr 25 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.3-1
391 - New upstream release Kristina Service Release 2
392
393 * Thu Feb 07 2013 Philipp Schüle <p.schuele@metaways.de> - 2013.03.1~alpha1-1
394 - New upstream release Kristina Alpha 1
395
396 * Fri Jan 04 2013 Lars Kneschke <l.kneschke@metaways.de> - 2012.10.3-1
397 - New upstream release Joey SR 3 (2012.10.3)
398
399 * Wed Jan 02 2013 Lars Kneschke <l.kneschke@metaways.de> - 2012.10.2-1
400 - new upstream release 2012.10.2
401
402 * Mon Nov 05 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2012.10.1-1
403 - new upstream release 2012.10.1
404
405 * Thu Aug 02 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2012.03.5-2
406 - re-enable the Tine 2.0 delivered Zend Framework
407   
408 * Fri Jun 29 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2012.03.5-1
409 - Update to new upstream release 2012.03.05
410
411 * Tue Mar 13 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2012.03.1-1
412 - Update to new upstream release 2012.03.01
413
414 * Sat Feb 04 2012 Dominic Hopf <dmaphy@fedoraproject.org> - 2011.05.6-1
415 - Update to new service release 2011.05.06
416 - comment out the Filemanager subpackage, the module disappeared in 2011-05-06
417 - fix the sed-command for setting the setup password
418
419 * Tue Dec 27 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 2011.05.5-1
420 - Update to new service release 2011.05.05
421 - link to php-ZendFramework shipped with Fedora
422 - don't remove files LICENSE and PRIVACY, they are reference from setup.php
423
424 * Sun Nov 13 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 2011.05.4-1
425 - initial Fedora package of Tine 2.0