summaryrefslogtreecommitdiffstats
path: root/glpi.spec
blob: e86dfc8b67126d8ac13c6a10a489c8e3b29e7ac7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
%global useselinux 1

Name:           glpi
Version:        0.83.1
%if 0%{?svnrelease}
Release:        0.2.svn%{svnrelease}%{?dist}
%else
Release:        2%{?dist}
%endif
Summary:        Free IT asset management software
Summary(fr):    Gestion Libre de Parc Informatique

Group:          Applications/Internet
License:        GPLv2+ and GPLv3+
URL:            http://www.glpi-project.org/
%if 0%{?svnrelease}
# launch mktar %{svnrelease} to create
Source0:        glpi-0.83-%{svnrelease}.tar.gz
Source99:       mktar.sh
%else
Source0:        https://forge.indepnet.net/attachments/download/1151/glpi-0.83.1.tar.gz
%endif

Source1:        glpi-httpd.conf
Source2:        glpi-config_path.php
Source3:        glpi-logrotate

# Switch all internal cron tasks to system
Patch0:         glpi-0.83-cron.patch


BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:      noarch

Requires:       php >= 5.2.0, php-mysql, httpd, php-gd, php-ldap, php-imap, php-mbstring, php-xml, php-json
Requires:       php-pear(Cache_Lite) >= 1.7.4
Requires:       php-PHPMailer
Requires:       php-pear-CAS >= 1.2.0
Requires:       php-pear(components.ez.no/Graph) >= 1.5
%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6
Requires:       gnu-free-sans-fonts
%else
Requires:       freefont
%endif
Requires:         %{_sysconfdir}/logrotate.d
Requires(postun): /sbin/service
Requires(post):   /sbin/service
%if %{useselinux}
Requires(post):   /sbin/restorecon
Requires(post):   /usr/sbin/semanage
Requires(postun): /usr/sbin/semanage
%endif
Requires:         %{_sysconfdir}/cron.d


%description
GLPI is the Information Resource-Manager with an additional Administration-
Interface. You can use it to build up a database with an inventory for your 
company (computer, software, printers...). It has enhanced functions to make
the daily life for the administrators easier, like a job-tracking-system with
mail-notification and methods to build a database with basic information 
about your network-topology.


%description -l fr
GLPI est une application libre, distribuée sous licence GPL destinée à la
gestion de parc informatique et de helpdesk.

GLPI est composé d’un ensemble de services web écrits en PHP qui permettent
de recenser et de gérer l’intégralité des composantes matérielles ou 
logicielles d’un parc informatique, et ainsi d’optimiser le travail des
techniciens grâce à une maintenance plus cohérente.


%prep
%setup -q -n glpi

%patch0 -p0
find . -name \*.orig -exec rm {} \; -print

# Use system lib
rm -rf lib/cache_lite
rm -rf lib/phpmailer
rm -rf lib/phpcas
rm -rf lib/ezcomponents

%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6
cp %{SOURCE2} config/config_path.php 
%else
# fix font path on old version
sed -e /GLPI_FONT_FREESANS/s/gnu-free/freefont/ %{SOURCE2} >config/config_path.php
%endif

mv lib/tiny_mce/license.txt LICENSE.tiny_mce
mv lib/extjs/gpl-3.0.txt    LICENSE.extjs
mv lib/icalcreator/lgpl.txt LICENSE.icalcreator
rm scripts/glpi_cron_*.sh

sed -i -e 's/\r//' LICENSE.tiny_mce
for fic in LISEZMOI.txt README.txt
do
   iconv -f ISO-8859-15 -t UTF-8 $fic >a && mv a $fic
done

cat >cron <<EOF
# GLPI core
# Run cron from to execute task even when no user connected
*/3 * * * * apache %{_bindir}/php %{_datadir}/%{name}/front/cron.php
EOF


%build
# empty build


%install
rm -rf %{buildroot} 

# ===== application =====
mkdir -p %{buildroot}/%{_datadir}/%{name}
cp -a COPYING.txt *.php *.js %{buildroot}/%{_datadir}/%{name}/

for i in ajax css front inc install lib locales pics plugins scripts
do   cp -ar $i %{buildroot}/%{_datadir}/%{name}/$i
done

find %{buildroot}/%{_datadir}/%{name} -type f -exec chmod 644 {} \; 

# ===== apache =====
mkdir -p %{buildroot}/%{_sysconfdir}/httpd/conf.d/
install --mode 644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/httpd/conf.d/glpi.conf

# ===== config =====
cp -ar config %{buildroot}/%{_datadir}/%{name}/config

mkdir -p %{buildroot}/%{_sysconfdir}/%{name}
touch %{buildroot}%{_sysconfdir}/%{name}/config_db.php

# ===== files =====
mkdir -p %{buildroot}/%{_localstatedir}/lib/%{name}
cp -ar files %{buildroot}/%{_localstatedir}/lib/%{name}/files

# ===== log =====
mkdir -p %{buildroot}%{_localstatedir}/log
mv %{buildroot}/%{_localstatedir}/lib/%{name}/files/_log %{buildroot}%{_localstatedir}/log/%{name}

mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}

# ====== Cron =====
mkdir -p %{buildroot}%{_sysconfdir}/cron.d
install -m 644 cron %{buildroot}%{_sysconfdir}/cron.d/%{name}

# cleanup
find %{buildroot} -name remove.txt -exec rm -f {} \; -print

# Directories not in apache space
rm -f %{buildroot}%{_localstatedir}/lib/%{name}/files/.htaccess
# Proctection in /etc/httpd/conf.d/glpi.conf
rm -f %{buildroot}%{_datadir}/%{name}/install/mysql/.htaccess
rm -f %{buildroot}%{_datadir}/%{name}/locales/.htaccess
rm -f %{buildroot}%{_datadir}/%{name}/config/.htaccess
rm -f %{buildroot}%{_datadir}/%{name}/scripts/.htaccess


# Lang
for i in %{buildroot}%{_datadir}/%{name}/locales/*
do
  lang=$(basename $i)
  echo "%lang(${lang:0:2}) %{_datadir}/%{name}/locales/${lang}"
done >%{name}.lang


%clean
rm -rf %{buildroot} 


%post
%if %{useselinux}
(
# New File context
semanage fcontext -a -s system_u -t httpd_sys_script_rw_t -r s0 "%{_sysconfdir}/glpi(/.*)?" 
semanage fcontext -a -s system_u -t httpd_log_t           -r s0 "%{_localstatedir}/log/glpi(/.*)?"
# keep httpd_sys_script_rw_t (httpd_var_lib_t prevent dir creation)
semanage fcontext -a -s system_u -t httpd_sys_script_rw_t -r s0 "%{_localstatedir}/lib/glpi(/.*)?"
# files created by app
restorecon -R %{_sysconfdir}/%{name}
restorecon -R %{_localstatedir}/lib/%{name}
restorecon -R %{_localstatedir}/log/%{name}
) &>/dev/null
%endif
/sbin/service httpd condrestart > /dev/null 2>&1 || :


%postun
%if %{useselinux}
if [ "$1" -eq "0" ]; then
    # Remove the File Context
    (
    semanage fcontext -d "%{_sysconfdir}/glpi(/.*)?"
    semanage fcontext -d "%{_localstatedir}/log/glpi(/.*)?"
    semanage fcontext -d "%{_localstatedir}/lib/glpi(/.*)?"
    ) &>/dev/null
fi
%endif
/sbin/service httpd condrestart > /dev/null 2>&1 || :


%files -f %{name}.lang
%defattr(-,root,root,-)
%doc *.txt LICENSE.*

%attr(750,apache,root) %dir %{_sysconfdir}/%{name}
%ghost %config(noreplace,missingok) %{_sysconfdir}/%{name}/config_db.php
%config(noreplace) %{_sysconfdir}/httpd/conf.d/glpi.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/cron.d/%{name}

# This folder can contain private information (sessions, docs, ...)
%dir %_localstatedir/lib/%{name}
%attr(750,apache,root) %{_localstatedir}/lib/%{name}/files

%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*.php
%{_datadir}/%{name}/*.js
# License file required by installation process
%{_datadir}/%{name}/COPYING.txt
%{_datadir}/%{name}/ajax
%{_datadir}/%{name}/config
%{_datadir}/%{name}/css
%{_datadir}/%{name}/front
%{_datadir}/%{name}/inc
%{_datadir}/%{name}/install
%{_datadir}/%{name}/lib
%{_datadir}/%{name}/pics
%{_datadir}/%{name}/plugins
%{_datadir}/%{name}/scripts
%attr(750,apache,root) %dir %{_localstatedir}/log/%{name}
%dir %{_datadir}/%{name}/locales


%changelog
* Thu Apr 19 2012 Remi Collet <remi@fedoraproject.org> - 0.83.1-2
- fix cron patch

* Wed Apr 18 2012 Remi Collet <remi@fedoraproject.org> - 0.83.1-1
- version 0.83.1 released
  https://forge.indepnet.net/projects/glpi/versions/696

* Fri Apr 06 2012 Remi Collet <remi@fedoraproject.org> - 0.83-2
- patch from upstream: selinux tests blocks upgrade

* Thu Apr 05 2012 Remi Collet <remi@fedoraproject.org> - 0.83-1
- version 0.83 released
  https://forge.indepnet.net/projects/glpi/versions/538

* Wed Mar 14 2012 Remi Collet <remi@fedoraproject.org> - 0.83-0.2.svn17842
- new SVN snapshot

* Sun Feb 26 2012 Remi Collet <remi@fedoraproject.org> - 0.83-0.1.svn17620
- version 0.83 post RC3

* Tue Oct 25 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.80.5-1
- version 0.80.5 released (bugfix)
  https://forge.indepnet.net/projects/glpi/versions/643

* Tue Sep 27 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.80.4-1
- version 0.80.4 released (bugfix)
  https://forge.indepnet.net/projects/glpi/versions/632
- patch for https://forge.indepnet.net/issues/3157

* Tue Sep 20 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.80.3-1
- version 0.80.3 released (bugfix)
  https://forge.indepnet.net/projects/glpi/versions/621

* Mon Aug 22 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.80.2-2
- fix SElinux dependencies (semanage + restorecon)
- increase cron run frequency (3 tasks each 3 minutes)

* Fri Jul 22 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.80.2-1
- version 0.80.2 released (bug + security fix)
  https://forge.indepnet.net/projects/glpi/versions/605

* Tue Jun 28 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.80.1-1
- version 0.80.1 released (bugfix)
  https://forge.indepnet.net/projects/glpi/versions/575

* Mon Jun 13 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.80-1
- version 0.80 released
  https://forge.indepnet.net/projects/glpi/versions/466

* Tue May  3 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.78.5-1
- version 0.78.4 released
  https://forge.indepnet.net/projects/glpi/versions/563

* Tue Apr  5 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.78.4-1
- version 0.78.4 released
  https://forge.indepnet.net/projects/glpi/versions/557

* Tue Mar  8 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.78.3-1
- version 0.78.3 released
  https://forge.indepnet.net/projects/glpi/versions/537

* Tue Jan 18 2011 Remi Collet <Fedora@FamilleCollet.com> - 0.78.2-1
- version 0.78.2 released
  https://forge.indepnet.net/projects/glpi/versions/529

* Mon Nov 15 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78.1-1
- version 0.78.1 released
  https://forge.indepnet.net/projects/glpi/versions/522

* Sun Oct 31 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-2.svn12930
- Patches from SVN (12691-12930) for know 0.78 issues
  https://forge.indepnet.net/issues/2374
  https://forge.indepnet.net/issues/2378
  https://forge.indepnet.net/issues/2380
  https://forge.indepnet.net/issues/2382

* Tue Oct 12 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-2.svn12852
- Patches from SVN (12691-12852) for know 0.78 issues
  https://forge.indepnet.net/issues/2313
  https://forge.indepnet.net/issues/2314
  https://forge.indepnet.net/issues/2315
  https://forge.indepnet.net/issues/2317
  https://forge.indepnet.net/issues/2326
  https://forge.indepnet.net/issues/2329
  https://forge.indepnet.net/issues/2330
  https://forge.indepnet.net/issues/2332
  https://forge.indepnet.net/issues/2333
  https://forge.indepnet.net/issues/2334
  https://forge.indepnet.net/issues/2335
  https://forge.indepnet.net/issues/2337

* Tue Oct 12 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-1
- version 0.78 released
  https://forge.indepnet.net/projects/glpi/versions/32

* Sat Sep 18 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn12452
- new svn snapshot (which is > RC3)

* Sat Sep 04 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn12271
- new svn snapshot

* Wed Aug 25 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn12190
- new svn snapshot

* Tue Aug 10 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn12085
- new svn snapshot

* Sun Jul 25 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn11932
- new svn snapshot

* Wed Jul 07 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn11874
- new svn snapshot (which is RC2)

* Fri Jul 02 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn11854
- new svn snapshot

* Sat Jun 19 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn11771
- new svn snapshot
- switch from gnu-free-sans-fonts to freefont on fedora <= 10 and EL <= 5

* Sat Jun 19 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn11763
- new svn snapshot

* Tue Jun 15 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.78-0.1.svn11723
- update to 0.78 RC (svn snapshot)
- use system ezComponents
- use system font

* Thu May 20 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.72.4-3.svn11497
- use system phpCAS instead of bundled copy
- minor bug fixes from SVN

* Mon Mar 22 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.72.4-2.svn11035
- update embedded phpCAS to 1.1.0RC7 (security fix - #575906)

* Tue Mar  2 2010 Remi Collet <Fedora@FamilleCollet.com> - 0.72.4-1
- update to 0.72.4

* Tue Oct 27 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.72.3-1
- update to 0.72.3

* Wed Sep 09 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.72.2.1-1
- update to 0.72.21

* Tue Aug 18 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.72.1-1.svn8743
- update to 0.72.1 svn revision 8743
- use system PHPMailer
- now requires php > 5

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.71.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Jun 02 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.71.6-1
- update to 0.71.6 (Bugfix Release)

* Fri May 22 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.71.5-4
- post 0.71.5 patches (7910=>8321)

* Sun Apr 26 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.71.5-3
- post 0.71.5 patches (7910=>8236)

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.71.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Jan 26 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.71.5-1
- update to 0.71.5 (Fix regression in 0.71.4)

* Mon Jan 26 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.71.4-1
- update to 0.71.4 (Security Release)

* Sun Nov 30 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.71.3-1
- update to 0.71.3 (bugfix release)

* Sun Sep 28 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.71.2-1.el4.1
- Fix MySQL 4.1 compatibility issue

* Mon Sep 15 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.71.2-1
- update to 0.71.2 bugfix

* Sat Aug 09 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.71.1-2
- fix SElinux bug on install test (glpi-check.patch)
- add create option on logrotate conf

* Fri Aug 01 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.71.1-1
- update to 0.71.1 bugfix
- use system cron
- increase memory_limit / max_execution_time for upgrade

* Fri Jul 11 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.71-1
- update to 0.71 stable
- fix bug #452353 (selinux)

* Fri Apr 25 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.2-3
- remplace module policy by simple semanage (#442706)

* Mon Jan 28 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.2-2
- rebuild (fix sources tarball)

* Sun Jan 27 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.2-1
- bugfixes update 

* Mon Jan 15 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.1a-1
- update 

* Sun Jan 13 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.1-2
- fix typo in lang files

* Sun Jan 13 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.1-1
- update to 0.70.1 (0.70 + bugfixes)

* Thu Jan 03 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70-4
- Changeset 6226 + 6228
- disable SELinux in EL-5

* Sat Dec 29 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-3
- Changeset 6191 + 6194 + 6196

* Fri Dec 28 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-2
- Changeset 6190

* Fri Dec 21 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-1
- 0.70 final

* Fri Nov 16 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.4.rc3
- Release Candidate 3

* Thu Nov 01 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.3.rc2
- correct source

* Thu Nov 01 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.2.rc2
- Release Candidate 2

* Mon Oct 08 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.2.rc1
- From review #322781 : fix Source0 and macros
- Requires php-domxml for EL4

* Sun Sep 30 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.1.rc1
- GLPI Version 0.7-RC1
- initial SPEC for Fedora Review

* Thu May 03 2007 Remi Collet <RPMS@FamilleCollet.com> - 0.70-0.beta.20070503
- initial RPM