# Fedora/remirepo spec file for glpi # # Copyright (c) 2007-2015 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global gh_commit f4143e32c122073948ee8b372261e787601b309d %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_date 20160923 %global gh_owner glpi-project %global gh_project glpi %if 0%{?fedora} < 20 # See https://bugzilla.redhat.com/1033025 # selinux-policy : Please include policy for GLPI %global useselinux 1 %else # System policy includes GLPI rules %global useselinux 0 %endif %if 0%{?fedora} >= 21 # nginx 1.6 with nginx-filesystem %global with_nginx 1 # httpd 2.4 with httpd-filesystem %global with_httpd 1 %else %global with_nginx 0 %global with_httpd 0 %endif #%global with_tests 0%{?_with_tests:1} %global with_tests 1 Name: %{gh_project} Version: 9.1 Release: 0.1.%{gh_date}git%{gh_short}%{?dist} 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/ # Upstream sources (not the github auto-generated archive) Source0: https://github.com/%{gh_owner}/%{name}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz Source1: %{name}-httpd.conf Source2: %{name}-9.1-config_path.php Source12: %{name}-9.1-config_path_test.php Source13: %{name}-9.1-config_db_test.php Source3: %{name}-logrotate Source4: %{name}-nginx.conf Source5: %{name}-fedora-autoloader.php BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: gettext %if %{with_tests} BuildRequires: php-cli BuildRequires: %{_bindir}/phpunit BuildRequires: mariadb-server #PHP libs BuildRequires: php-PHPMailer BuildRequires: php-tcpdf BuildRequires: php-htmLawed BuildRequires: php-simplepie BuildRequires: php-composer(zendframework/zend-cache) BuildRequires: php-composer(zendframework/zend-i18n) BuildRequires: php-composer(zendframework/zend-loader) BuildRequires: php-composer(guzzlehttp/guzzle) BuildRequires: php-composer(jasig/phpcas) BuildRequires: php-composer(iamcal/lib_autolink) BuildRequires: php-composer(sabre/vobject) BuildRequires: php-composer(michelf/php-markdown) BuildRequires: php-composer(true/punycode) >= 2 BuildRequires: php-mysqli BuildRequires: php-xmlrpc %if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 BuildRequires: php-composer(zetacomponents/graph) %endif %endif %if %{with_nginx} Requires: nginx-filesystem %endif %if %{with_httpd} Requires: httpd-filesystem %endif %if %{with_httpd} || %{with_nginx} Requires: webserver Requires: php(httpd) %else Requires: httpd, mod_php %endif Requires: php(language) >= 5.5 Requires: php-ctype Requires: php-curl Requires: php-date Requires: php-exif Requires: php-fileinfo Requires: php-gd Requires: php-imap Requires: php-json Requires: php-ldap Requires: php-mbstring Requires: php-mysqli Requires: php-pcre Requires: php-session Requires: php-simplexml Requires: php-wddx Requires: php-xmlrpc Requires: php-zlib Requires: php-PHPMailer Requires: php-tcpdf Requires: php-htmLawed Requires: php-simplepie Requires: php-composer(zendframework/zend-cache) Requires: php-composer(zendframework/zend-i18n) Requires: php-composer(zendframework/zend-loader) Requires: php-composer(guzzlehttp/guzzle) Requires: php-composer(jasig/phpcas) Requires: php-composer(iamcal/lib_autolink) Requires: php-composer(sabre/vobject) Requires: php-composer(michelf/php-markdown) Requires: php-composer(true/punycode) >= 2 %if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 Requires: php-composer(zetacomponents/graph) 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: crontabs %if 0%{?fedora} >= 22 Recommends: php-pecl-apcu %endif %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 %{name}-%{gh_commit} grep %{version} config/define.php find . -name \*.orig -exec rm {} \; -print # Drop bundled Flash files find lib -name \*.swf -exec rm {} \; -print # Use system lib rm -rf lib/htmlawed : bundled JS libraries ls lib %if 0%{?fedora} < 9 && 0%{?rhel} < 6 # fix font path on old version sed -e '/GLPI_FONT_FREESANS/s/gnu-free/freefont/' \ %{SOURCE2} >config/config_path.php %else cp %{SOURCE2} config/config_path.php %endif cp %{SOURCE5} ./%{name}-autoload.php sed -i "s,##DATADIR##,%{_datadir}," %{name}-autoload.php sed -e "s|vendor/autoload\.php|%{name}-autoload.php|" -i inc/autoload.function.php mv lib/tiny_mce/license.txt LICENSE.tiny_mce rm scripts/glpi_cron_*.sh sed -i -e 's/\r//' LICENSE.tiny_mce for fic in LISEZMOI.txt do iconv -f ISO-8859-15 -t UTF-8 $fic >a && mv a $fic done cat >cron <%{name}.lang %check %if %{with_tests} : Running a PHP server php -S localhost:8088& PHPPID=$! : Running a MariaDB server MYSQL_TEST_HOST=127.0.0.1 MYSQL_TEST_PORT=3308 MYSQL_TEST_SOCKET=$PWD/mysql.sock MYSQL_PID_FILE=$PWD/mysql.pid rm -rf data mkdir data %{_bindir}/mysql_install_db \ --datadir=$PWD/data %{_libexecdir}/mysqld \ --socket=$MYSQL_TEST_SOCKET \ --log-error=$PWD/mysql.log \ --pid-file=$MYSQL_PID_FILE \ --port=$MYSQL_TEST_PORT \ --datadir=$PWD/data & n=15 while [ $n -gt 0 ]; do RESPONSE=$(%{_bindir}/mysqladmin --no-defaults --socket="$MYSQL_TEST_SOCKET" --user=root ping 2>&1 || :) if [ "$RESPONSE" == "mysqld is alive" ]; then break fi n=$(expr $n - 1) sleep 1 done : Set tests configuration cp %{SOURCE12} config/config_path.php cp %{SOURCE13} config/config_db.php : Run upstream test suite php tools/cliinstall.php --host=127.0.0.1 --db=glpitest --user=root --tests --force --lang=en_US %{_bindir}/phpunit --verbose : Cleanup if [ -s $MYSQL_PID_FILE ]; then kill $(cat $MYSQL_PID_FILE) fi kill $PHPPID exit $RET %else : Test disabled %endif %clean rm -rf %{buildroot} %post %if %{useselinux} ( # New File context %if 0%{?rhel} == 5 semanage fcontext -a -s system_u -t httpd_sys_script_rw_t -r s0 "%{_sysconfdir}/%{name}(/.*)?" semanage fcontext -a -s system_u -t httpd_sys_script_rw_t -r s0 "%{_localstatedir}/lib/%{name}(/.*)?" %else semanage fcontext -a -s system_u -t httpd_sys_rw_content_t -r s0 "%{_sysconfdir}/%{name}(/.*)?" semanage fcontext -a -s system_u -t httpd_var_lib_t -r s0 "%{_localstatedir}/lib/%{name}(/.*)?" %endif semanage fcontext -a -s system_u -t httpd_sys_content_t -r s0 "%{_datadir}/%{name}(/.*)?" semanage fcontext -a -s system_u -t httpd_log_t -r s0 "%{_localstatedir}/log/%{name}(/.*)?" # files created by app restorecon -R %{_sysconfdir}/%{name} restorecon -R %{_datadir}/%{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}/%{name}(/.*)?" semanage fcontext -d "%{_datadir}/%{name}(/.*)?" semanage fcontext -d "%{_localstatedir}/log/%{name}(/.*)?" semanage fcontext -d "%{_localstatedir}/lib/%{name}(/.*)?" ) &>/dev/null fi %endif /sbin/service httpd condrestart > /dev/null 2>&1 || : %files -f %{name}.lang %defattr(-,root,root,-) %doc *.txt LICENSE.* %attr(2770,root,apache) %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} %if %{with_nginx} %config(noreplace) %{_sysconfdir}/nginx/default.d/glpi.conf %endif # This folder can contain private information (sessions, docs, ...) %dir %_localstatedir/lib/%{name} %attr(2770,root,apache) %{_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(2770,root,apache) %dir %{_localstatedir}/log/%{name} %dir %{_datadir}/%{name}/locales %changelog * Thu Sep 23 2016 Johan Cwiklinski - 9.1-0.1.20160922gitf4143e3 - First pre-build for 9.1 series - Drop upstream patches - Add unit tests * Wed Jul 27 2016 Remi Collet - 0.90.5-1 - update to 0.90.5 https://github.com/glpi-project/glpi/issues?q=milestone:0.90.5 * Sat Jul 23 2016 Remi Collet - 0.90.4-2 - fix regression in document form, adding upstream patch * Tue Jul 19 2016 Remi Collet - 0.90.4-1 - update to 0.90.4 https://github.com/glpi-project/glpi/issues?q=milestone:0.90.4 * Wed Jun 22 2016 Remi Collet - 0.90.3-2 - add upstream patch, drop dependency on zend-version * Tue Apr 12 2016 Remi Collet - 0.90.3-1 - update to 0.90.3 https://github.com/glpi-project/glpi/issues?q=milestone:0.90.3 * Tue Apr 5 2016 Remi Collet - 0.90.2-2 - fix logrotate configuration for recent version * Fri Apr 1 2016 Remi Collet - 0.90.2-1 - update to 0.90.2 * Thu Mar 24 2016 Remi Collet - 0.90.1-4 - add upstream patch to fix compatibility with ZF 2.5 - recommend APCu * Thu Feb 18 2016 Remi Collet - 0.90.1-3 - fix Zend autoloader (to allow ZF 2.5) * Fri Nov 27 2015 Remi Collet - 0.90.1-1 - update to 0.90.1 * Thu Oct 8 2015 Remi Collet - 0.90-1 - update to 0.90 * Tue Oct 6 2015 Remi Collet - 0.90-0.1.RC2 - update to 0.90-RC2 * Wed Sep 16 2015 Remi Collet - 0.85.5-1 - update to 0.85.5 https://github.com/glpi-project/glpi/issues?q=milestone:0.85.5 - use system ircmaxell/password-compat * Wed Jun 3 2015 Remi Collet - 0.85.4-2 - switch from eZ component to Zeta component * Mon May 4 2015 Remi Collet - 0.85.4-1 - update to 0.85.4 https://forge.indepnet.net/versions/1136 - fix SELinux context on EL-5 * Fri Apr 17 2015 Remi Collet - 0.85.3-1 - update to 0.85.3 https://forge.indepnet.net/versions/1118 * Fri Feb 27 2015 Remi Collet - 0.85.2-2 - add security fix https://forge.indepnet.net/issues/5218 - add fix for temporary directory relocation * Wed Jan 21 2015 Remi Collet - 0.85.2-1 - update to 0.85.2 https://forge.indepnet.net/versions/1110 * Mon Dec 22 2014 Remi Collet - 0.85.1-2 - increase system cron frequency and limit - cleanup patched files * Wed Dec 17 2014 Remi Collet - 0.85.1-1 - update to 0.85.1 0.85 https://forge.indepnet.net/versions/539 0.85.1 https://forge.indepnet.net/versions/1071 - drop dependency on pear/Cache_Lite - add dependency on php-tcpdf * Fri Nov 7 2014 Remi Collet - 0.84.8-2 - use httpd_var_lib_t selinux context for /var/lib/glpi - don't rely on system selinux policy in EPEL-7 - fix apache configuration when mod_php not enabled * Fri Oct 17 2014 Remi Collet - 0.84.8-1 - update to 0.84.8 https://forge.indepnet.net/versions/1072 * Sun Oct 5 2014 Remi Collet - 0.84.7-2 - provide nginx configuration (Fedora >= 21) - rely on system SELinux policy (Fedora >= 20, EPEL-7) * Fri Jul 11 2014 Remi Collet - 0.84.7-1 - update to 0.84.7 https://forge.indepnet.net/versions/1068 * Wed Jun 18 2014 Remi Collet - 0.84.6-1 - update to 0.84.6 https://forge.indepnet.net/versions/1028 * Wed Feb 26 2014 Remi Collet - 0.84.5-1 - update to 0.84.5 https://forge.indepnet.net/projects/glpi/versions/1011 * Wed Jan 22 2014 Remi Collet - 0.84.4-1 - update to 0.84.4 https://forge.indepnet.net/projects/glpi/versions/993 * Thu Nov 21 2013 Remi Collet - 0.84.3-2 - fix SELinux context #1032995 use httpd_sys_rw_content_t instead of httpd_sys_script_rw_t * Sun Nov 3 2013 Remi Collet - 0.84.3-1 - update to 0.84.3 https://forge.indepnet.net/projects/glpi/versions/973 * Wed Oct 2 2013 Remi Collet - 0.84.2-1 - update to 0.84.2 - add upstream patch for Zend autoload - use system ZendFramework2 and SimplePie * Thu Sep 12 2013 Remi Collet - 0.83.9.1-4 - restrict access for install to local for security * Fri Aug 23 2013 Remi Collet - 0.83.9.1-3 - drop bundled Flash files files, #1000251 * Sat Jul 27 2013 Jóhann B. Guðmundsson - 0.83.9.1-2 - Add a missing requirement on crontabs to spec file * Tue Jun 25 2013 Remi Collet - 0.83.9.1-1 - version 0.83.91 released (security) https://forge.indepnet.net/versions/show/928 * Thu Jun 20 2013 Remi Collet - 0.83.9-1 - version 0.83.9 released (security and bugfix) https://forge.indepnet.net/projects/glpi/versions/915 * Tue Apr 2 2013 Remi Collet - 0.83.8-1 - version 0.83.8 released (bugfix) https://forge.indepnet.net/projects/glpi/versions/866 * Wed Feb 13 2013 Fedora Release Engineering - 0.83.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Tue Dec 4 2012 Remi Collet - 0.83.7-1 - version 0.83.7 released (bugfix) https://forge.indepnet.net/projects/glpi/versions/843 * Tue Oct 16 2012 Remi Collet - 0.83.6-1 - version 0.83.6 released (bugfix) https://forge.indepnet.net/projects/glpi/versions/841 * Tue Oct 9 2012 Remi Collet - 0.83.5-1 - version 0.83.5 released (bugfix) https://forge.indepnet.net/projects/glpi/versions/800 * Fri Jul 27 2012 Remi Collet - 0.83.4-1 - version 0.83.4 released (bugfix) https://forge.indepnet.net/projects/glpi/versions/777 * Thu Jul 19 2012 Fedora Release Engineering - 0.83.3.1-1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Jul 12 2012 Remi Collet - 0.83.3.1-1 - version 0.83.3 released (bugfix + security) https://forge.indepnet.net/projects/glpi/versions/771 - new dependency on htmLawed * Thu May 31 2012 Remi Collet - 0.83.2-1 - version 0.83.2 released https://forge.indepnet.net/projects/glpi/versions/750 * Thu Apr 19 2012 Remi Collet - 0.83.1-2 - fix cron patch * Wed Apr 18 2012 Remi Collet - 0.83.1-1 - version 0.83.1 released 0.83.1 https://forge.indepnet.net/projects/glpi/versions/696 0.83 https://forge.indepnet.net/projects/glpi/versions/538 - adapt config for httpd 2.4 * Thu Feb 09 2012 Remi Collet - 0.80.7-1 - version 0.80.7 released (security) https://forge.indepnet.net/projects/glpi/versions/685 * Thu Jan 05 2012 Remi Collet - 0.80.6.1-1 - version 0.80.61 released (bugfix) https://forge.indepnet.net/projects/glpi/versions/677 * Thu Jan 05 2012 Remi Collet - 0.80.6-1 - version 0.80.6 released (bugfix) https://forge.indepnet.net/projects/glpi/versions/657 - add patch for https://forge.indepnet.net/issues/3299 * Wed Nov 30 2011 Remi Collet - 0.80.5-1 - version 0.80.5 released (bugfix) 0.80.5 https://forge.indepnet.net/projects/glpi/versions/643 0.80.4 https://forge.indepnet.net/projects/glpi/versions/632 0.80.3 https://forge.indepnet.net/projects/glpi/versions/621 0.80.2 https://forge.indepnet.net/projects/glpi/versions/605 0.80.1 https://forge.indepnet.net/projects/glpi/versions/575 0.80 https://forge.indepnet.net/projects/glpi/versions/466 - increase cron run frequency (3 tasks each 3 minutes) * Sun Jul 24 2011 Remi Collet - 0.78.5-3.svn14966 - use system EZC only if available (not in EL-5) * Fri Jul 22 2011 Remi Collet - 0.78.5-2.svn14966 - bug and security fix from SVN. * Sat Jun 11 2011 Remi Collet - 0.78.5-1 - version 0.78.5 released * Tue Feb 08 2011 Fedora Release Engineering - 0.72.4-4.svn11497 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu May 20 2010 Remi Collet - 0.72.4-3.svn11497 - use system phpCAS instead of bundled copy - minor bug fixes from SVN * Mon Mar 22 2010 Remi Collet - 0.72.4-2.svn11035 - update embedded phpCAS to 1.1.0RC7 (security fix - #575906) * Tue Mar 2 2010 Remi Collet - 0.72.4-1 - update to 0.72.4 * Tue Oct 27 2009 Remi Collet - 0.72.3-1 - update to 0.72.3 * Wed Sep 09 2009 Remi Collet - 0.72.2.1-1 - update to 0.72.21 * Tue Aug 18 2009 Remi Collet - 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 - 0.71.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue Jun 02 2009 Remi Collet - 0.71.6-1 - update to 0.71.6 (Bugfix Release) * Fri May 22 2009 Remi Collet - 0.71.5-4 - post 0.71.5 patches (7910=>8321) * Sun Apr 26 2009 Remi Collet - 0.71.5-3 - post 0.71.5 patches (7910=>8236) * Tue Feb 24 2009 Fedora Release Engineering - 0.71.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Mon Jan 26 2009 Remi Collet - 0.71.5-1 - update to 0.71.5 (Fix regression in 0.71.4) * Mon Jan 26 2009 Remi Collet - 0.71.4-1 - update to 0.71.4 (Security Release) * Sun Nov 30 2008 Remi Collet - 0.71.3-1 - update to 0.71.3 (bugfix release) * Sun Sep 28 2008 Remi Collet - 0.71.2-1.el4.1 - Fix MySQL 4.1 compatibility issue * Mon Sep 15 2008 Remi Collet - 0.71.2-1 - update to 0.71.2 bugfix * Sat Aug 09 2008 Remi Collet - 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 - 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 - 0.71-1 - update to 0.71 stable - fix bug #452353 (selinux) * Fri Apr 25 2008 Remi Collet - 0.70.2-3 - remplace module policy by simple semanage (#442706) * Mon Jan 28 2008 Remi Collet - 0.70.2-2 - rebuild (fix sources tarball) * Sun Jan 27 2008 Remi Collet - 0.70.2-1 - bugfixes update * Tue Jan 15 2008 Remi Collet - 0.70.1a-1 - update * Sun Jan 13 2008 Remi Collet - 0.70.1-2 - fix typo in lang files * Sun Jan 13 2008 Remi Collet - 0.70.1-1 - update to 0.70.1 (0.70 + bugfixes) * Thu Jan 03 2008 Remi Collet - 0.70-4 - Changeset 6226 + 6228 - disable SELinux in EL-5 * Sat Dec 29 2007 Remi Collet - 0.70-3 - Changeset 6191 + 6194 + 6196 * Fri Dec 28 2007 Remi Collet - 0.70-2 - Changeset 6190 * Fri Dec 21 2007 Remi Collet - 0.70-1 - 0.70 final * Fri Nov 16 2007 Remi Collet - 0.70-0.4.rc3 - Release Candidate 3 * Thu Nov 01 2007 Remi Collet - 0.70-0.3.rc2 - correct source * Thu Nov 01 2007 Remi Collet - 0.70-0.2.rc2 - Release Candidate 2 * Mon Oct 08 2007 Remi Collet - 0.70-0.2.rc1 - From review #322781 : fix Source0 and macros - Requires php-domxml for EL4 * Sun Sep 30 2007 Remi Collet - 0.70-0.1.rc1 - GLPI Version 0.7-RC1 - initial SPEC for Fedora Review * Thu May 03 2007 Remi Collet - 0.70-0.beta.20070503 - initial RPM