3468336
%if %{?fedora}%{?rhel} >= 6
db9cbcb
%define useselinux 1
db9cbcb
%else
db9cbcb
%define useselinux 0
db9cbcb
%endif
db9cbcb
db9cbcb
Name:           glpi
967f81c
Version:        0.70.2
38e8ddc
Release:        2%{?dist}
db9cbcb
Summary:        Free IT asset management software
db9cbcb
Summary(fr):    Gestion Libre de Parc Informatique
db9cbcb
db9cbcb
Group:          Applications/Internet
0d4cd42
License:        GPLv2+
db9cbcb
URL:            http://www.glpi-project.org/
aad9d55
Source0:        http://www.glpi-project.org/IMG/gz/%{name}-%{version}.tar.gz
db9cbcb
db9cbcb
Source1:        glpi-httpd.conf
db9cbcb
Source2:        glpi-config_path.php
db9cbcb
Source3:        glpi-logrotate
db9cbcb
db9cbcb
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
db9cbcb
BuildArch:      noarch
db9cbcb
aad9d55
Requires:       php, php-mysql, httpd, php-gd, php-ldap, php-imap
db9cbcb
%if 0%{?rhel} == 4
db9cbcb
Requires:       php-domxml
db9cbcb
%else
db9cbcb
Requires:       php-xml
db9cbcb
%endif
db9cbcb
Requires:       %{_sysconfdir}/logrotate.d
db9cbcb
Requires(postun): /sbin/service
db9cbcb
Requires(post): /sbin/service
db9cbcb
BuildRequires:  dos2unix
db9cbcb
%if %{useselinux}
db9cbcb
Requires:       policycoreutils
db9cbcb
BuildRequires:  selinux-policy-devel, checkpolicy
db9cbcb
%endif
db9cbcb
db9cbcb
%description
db9cbcb
GLPI is the Information Resource-Manager with an additional Administration-
db9cbcb
Interface. You can use it to build up a database with an inventory for your 
db9cbcb
company (computer, software, printers...). It has enhanced functions to make
db9cbcb
the daily life for the administrators easier, like a job-tracking-system with
db9cbcb
mail-notification and methods to build a database with basic information 
db9cbcb
about your network-topology.
db9cbcb
db9cbcb
db9cbcb
%description -l fr
db9cbcb
GLPI est une application libre, distribuée sous licence GPL destinée à la
db9cbcb
gestion de parc informatique et de helpdesk.
db9cbcb
db9cbcb
GLPI est composé d’un ensemble de services web écrits en PHP qui permettent
db9cbcb
de recenser et de gérer l’intégralité des composantes matérielles ou 
db9cbcb
logicielles d’un parc informatique, et ainsi d’optimiser le travail des
db9cbcb
techniciens grâce à une maintenance plus cohérente.
db9cbcb
db9cbcb
db9cbcb
%prep
db9cbcb
%setup -q -n glpi
db9cbcb
db9cbcb
mv lib/cache_lite/LICENSE   LICENSE.cache_lite
db9cbcb
mv lib/phpmailer/LICENSE    LICENSE.phpmailer
db9cbcb
mv lib/tiny_mce/license.txt LICENSE.tiny_mce
db9cbcb
dos2unix -o LICENSE.phpmailer LICENSE.tiny_mce
db9cbcb
iconv -f ISO-8859-15 -t UTF-8 LISEZMOI.txt >a && mv a LISEZMOI.txt
db9cbcb
iconv -f ISO-8859-15 -t UTF-8 README.txt   >a && mv a README.txt
db9cbcb
db9cbcb
%if %{useselinux}
db9cbcb
mkdir selinux
db9cbcb
pushd selinux
db9cbcb
db9cbcb
cat >%{name}.te <
0d4cd42
policy_module(%{name},0.70)
db9cbcb
require {
db9cbcb
  type httpd_sys_content_t;
db9cbcb
  type httpd_log_t;
db9cbcb
  type httpd_var_lib_t;
db9cbcb
}
db9cbcb
EOF
db9cbcb
db9cbcb
cat >%{name}.fc <
db9cbcb
%{_sysconfdir}/%{name}(/.*)?          root:object_r:httpd_sys_content_t:s0
db9cbcb
%{_localstatedir}/log/%{name}(/.*)?   system_u:object_r:httpd_sys_content_t:s0
db9cbcb
%{_localstatedir}/lib/%{name}(/.*)?   system_u:object_r:httpd_sys_content_t:s0
db9cbcb
EOF
0d4cd42
popd
db9cbcb
%endif
db9cbcb
db9cbcb
db9cbcb
%build
db9cbcb
%if %{useselinux}
db9cbcb
# SElinux 
db9cbcb
pushd selinux
db9cbcb
make -f %{_datadir}/selinux/devel/Makefile
db9cbcb
popd
db9cbcb
%endif
db9cbcb
db9cbcb
db9cbcb
%install
db9cbcb
rm -rf %{buildroot} 
db9cbcb
db9cbcb
# ===== application =====
db9cbcb
mkdir -p %{buildroot}/%{_datadir}/%{name}
db9cbcb
cp -a *.php *.js %{buildroot}/%{_datadir}/%{name}/
db9cbcb
db9cbcb
for i in ajax css front help inc install lib locales pics plugins scripts
db9cbcb
do   cp -ar $i %{buildroot}/%{_datadir}/%{name}/$i
db9cbcb
done
db9cbcb
db9cbcb
find %{buildroot}/%{_datadir}/%{name} -type f -exec chmod 644 {} \; 
db9cbcb
# chmod 755 %{buildroot}/%{_datadir}/%{name}/scripts/*.sh
db9cbcb
db9cbcb
# ===== apache =====
db9cbcb
mkdir -p %{buildroot}/%{_sysconfdir}/httpd/conf.d/
db9cbcb
install --mode 644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/httpd/conf.d/glpi.conf
db9cbcb
db9cbcb
# ===== config =====
db9cbcb
cp -ar config %{buildroot}/%{_datadir}/%{name}/config
db9cbcb
install --mode 644 %{SOURCE2} %{buildroot}/%{_datadir}/%{name}/config/config_path.php
db9cbcb
db9cbcb
mkdir -p %{buildroot}/%{_sysconfdir}/%{name}
db9cbcb
touch %{buildroot}%{_sysconfdir}/%{name}/config_db.php
db9cbcb
db9cbcb
# ===== files =====
db9cbcb
mkdir -p %{buildroot}/%{_localstatedir}/lib/%{name}
db9cbcb
cp -ar files %{buildroot}/%{_localstatedir}/lib/%{name}/files
db9cbcb
db9cbcb
# ===== log =====
db9cbcb
mkdir -p %{buildroot}%{_localstatedir}/log
db9cbcb
mv %{buildroot}/%{_localstatedir}/lib/%{name}/files/_log %{buildroot}%{_localstatedir}/log/%{name}
db9cbcb
db9cbcb
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
db9cbcb
install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
db9cbcb
db9cbcb
# cleanup
db9cbcb
find %{buildroot} -name remove.txt -exec rm -f {} \; -print
db9cbcb
db9cbcb
# Directories not in apache space
db9cbcb
rm -f %{buildroot}%{_localstatedir}/lib/%{name}/files/.htaccess
db9cbcb
# Proctection in /etc/httpd/conf.d/glpi.conf
db9cbcb
rm -f %{buildroot}%{_datadir}/%{name}/install/mysql/.htaccess
db9cbcb
rm -f %{buildroot}%{_datadir}/%{name}/locales/.htaccess
db9cbcb
rm -f %{buildroot}%{_datadir}/%{name}/config/.htaccess
db9cbcb
rm -f %{buildroot}%{_datadir}/%{name}/scripts/.htaccess
db9cbcb
db9cbcb
%if %{useselinux}
db9cbcb
# SElinux 
db9cbcb
mkdir -p %{buildroot}%{_datadir}/selinux/packages/%{name}
db9cbcb
install -m644 selinux/%{name}.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}.pp
db9cbcb
%endif
db9cbcb
5088b15
# Lang
5088b15
for i in %{buildroot}%{_datadir}/%{name}/locales/*
5088b15
do
5088b15
  lang=$(basename $i)
5088b15
  echo "%lang(${lang:0:2}) %{_datadir}/%{name}/locales/${lang}"
5088b15
done >%{name}.lang
5088b15
db9cbcb
db9cbcb
%clean
db9cbcb
rm -rf %{buildroot} 
db9cbcb
db9cbcb
db9cbcb
%post
db9cbcb
%if %{useselinux}
db9cbcb
# Install/update Selinux policy
db9cbcb
semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp
db9cbcb
# files owned by RPM
db9cbcb
fixfiles -R %{name} restore
db9cbcb
# files created by app
db9cbcb
restorecon -R %{_sysconfdir}/%{name}
db9cbcb
restorecon -R %{_localstatedir}/lib/%{name}
db9cbcb
restorecon -R %{_localstatedir}/log/%{name}
db9cbcb
%endif
db9cbcb
/sbin/service httpd condrestart > /dev/null 2>&1 || :
db9cbcb
db9cbcb
db9cbcb
%postun
db9cbcb
/sbin/service httpd condrestart > /dev/null 2>&1 || :
db9cbcb
%if %{useselinux}
db9cbcb
if [ "$1" -eq "0" ]; then
db9cbcb
    # Remove the SElinux policy.
db9cbcb
    semodule -r %{name} || :
db9cbcb
fi
db9cbcb
%endif
db9cbcb
db9cbcb
5088b15
%files -f %{name}.lang
db9cbcb
%defattr(-,root,root,-)
db9cbcb
%doc *.txt LICENSE.*
db9cbcb
db9cbcb
%attr(750,apache,root) %dir %{_sysconfdir}/%{name}
db9cbcb
%ghost %config(noreplace,missingok) %{_sysconfdir}/%{name}/config_db.php
db9cbcb
%config(noreplace) %{_sysconfdir}/httpd/conf.d/glpi.conf
db9cbcb
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
db9cbcb
db9cbcb
%dir %_localstatedir/lib/%{name}
db9cbcb
%attr(750,apache,root) %{_localstatedir}/lib/%{name}/files
db9cbcb
db9cbcb
%dir %{_datadir}/%{name}
db9cbcb
%{_datadir}/%{name}/*.php
db9cbcb
%{_datadir}/%{name}/*.js
db9cbcb
%{_datadir}/%{name}/ajax
db9cbcb
%{_datadir}/%{name}/config
db9cbcb
%{_datadir}/%{name}/css
db9cbcb
%{_datadir}/%{name}/front
db9cbcb
%{_datadir}/%{name}/help
db9cbcb
%{_datadir}/%{name}/inc
db9cbcb
%{_datadir}/%{name}/install
db9cbcb
%{_datadir}/%{name}/lib
db9cbcb
%{_datadir}/%{name}/pics
db9cbcb
%{_datadir}/%{name}/plugins
db9cbcb
%{_datadir}/%{name}/scripts
db9cbcb
%attr(750,apache,root) %dir %{_localstatedir}/log/%{name}
db9cbcb
%dir %{_datadir}/%{name}/locales
db9cbcb
db9cbcb
%if %{useselinux}
db9cbcb
%{_datadir}/selinux/packages/%{name}/%{name}.pp
db9cbcb
%endif
db9cbcb
db9cbcb
%changelog
38e8ddc
* Mon Jan 28 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.2-2
38e8ddc
- rebuild (fix sources tarball)
38e8ddc
967f81c
* Sun Jan 27 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.2-1
967f81c
- bugfixes update 
967f81c
0271d30
* Mon Jan 15 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.1a-1
0271d30
- update 
0271d30
5088b15
* Sun Jan 13 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.1-2
5088b15
- fix typo in lang files
5088b15
5088b15
* Sun Jan 13 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70.1-1
5088b15
- update to 0.70.1 (0.70 + bugfixes)
5088b15
3468336
* Thu Jan 03 2008 Remi Collet <Fedora@FamilleCollet.com> - 0.70-4
3468336
- Changeset 6226 + 6228
3468336
- disable SELinux in EL-5
3468336
0d4cd42
* Sat Dec 29 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-3
0d4cd42
- Changeset 6191 + 6194 + 6196
0d4cd42
0d4cd42
* Fri Dec 28 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-2
0d4cd42
- Changeset 6190
0d4cd42
aad9d55
* Fri Dec 21 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-1
aad9d55
- 0.70 final
aad9d55
a6ce698
* Fri Nov 16 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.4.rc3
a6ce698
- Release Candidate 3
a6ce698
41cdf5c
* Thu Nov 01 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.3.rc2
41cdf5c
- correct source
41cdf5c
41cdf5c
* Thu Nov 01 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.2.rc2
41cdf5c
- Release Candidate 2
41cdf5c
db9cbcb
* Mon Oct 08 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.2.rc1
db9cbcb
- From review #322781 : fix Source0 and macros
db9cbcb
- Requires php-domxml for EL4
db9cbcb
db9cbcb
* Sun Sep 30 2007 Remi Collet <Fedora@FamilleCollet.com> - 0.70-0.1.rc1
db9cbcb
- GLPI Version 0.7-RC1
db9cbcb
- initial SPEC for Fedora Review
db9cbcb
db9cbcb
* Thu May 03 2007 Remi Collet <RPMS@FamilleCollet.com> - 0.70-0.beta.20070503
db9cbcb
- initial RPM
db9cbcb