summaryrefslogtreecommitdiffstats
path: root/ocsinventory.spec
diff options
context:
space:
mode:
Diffstat (limited to 'ocsinventory.spec')
-rw-r--r--ocsinventory.spec385
1 files changed, 385 insertions, 0 deletions
diff --git a/ocsinventory.spec b/ocsinventory.spec
new file mode 100644
index 0000000..1190686
--- /dev/null
+++ b/ocsinventory.spec
@@ -0,0 +1,385 @@
+%if %{?fedora}%{?rhel} >= 5
+%global useselinux 1
+%else
+%global useselinux 0
+%endif
+
+# Remember to change this and Source0 for each release. thanks to launchpad :(
+%global tarname OCSNG_UNIX_SERVER
+
+
+Name: ocsinventory
+Summary: Open Computer and Software Inventory Next Generation
+
+Version: 1.3.3
+Release: 4%{?dist}
+
+Group: Applications/Internet
+License: GPLv2
+URL: http://www.ocsinventory-ng.org/
+
+# This change for each version... thanks launchpad :(
+Source0: http://launchpad.net/ocsinventory-server/stable-1.3/%{version}/+download/%{tarname}-%{version}.tar.gz
+Source1: ocsinventory-reports.conf
+
+# Upstream patch from Bzr
+Patch1: %{name}-upstream.patch
+
+
+BuildArch: noarch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: perl(ExtUtils::MakeMaker)
+BuildRequires: perl(Apache::DBI)
+BuildRequires: perl(DBD::mysql)
+BuildRequires: perl(Net::IP)
+BuildRequires: perl(XML::Simple)
+
+# Main package is a dummy package
+Requires: ocsinventory-server = %{version}-%{release}
+Requires: ocsinventory-reports = %{version}-%{release}
+Requires: mysql-server
+
+
+%description
+Open Computer and Software Inventory Next Generation is an application
+designed to help a network or system administrator keep track of the
+computers configuration and software that are installed on the network.
+
+OCS Inventory is also able to detect all active devices on your network,
+such as switch, router, network printer and unattended devices.
+
+OCS Inventory NG includes package deployment feature on client computers.
+
+ocsinventory is a metapackage that will install the communication server,
+the administration console and the database server (MySQL).
+
+%description -l fr
+Open Computer and Software Inventory Next Generation est une application
+destinée à aider l'administrateur système ou réseau à surveiller la
+configuration des machines du réseau et les logiciels qui y sont installés.
+
+OCS Inventory est aussi capable de détecter tout périphérique actif sur
+le réseau, comme les commutateurs, routeurs, imprimantes et autres matériels
+autonomes.
+
+OCS Inventory NG intègre des fonctionnalités de télédiffusion de paquets
+sur les machines clients.
+
+ocsinventory est un méta-paquet qui installera le serveur de communication,
+la console d'administration et le serveur de base de données (MySQL).
+
+
+%package server
+Group: Applications/Internet
+Summary: OCS Inventory NG - Communication server
+Requires: mod_perl
+%if 0%{?rhel} != 4
+# when use with mod_perl2
+Requires: perl(SOAP::Transport::HTTP2)
+%endif
+Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+# Required by the original setup script, but not detected automatically :
+# Apache::DBI drags in DBI
+Requires: perl(Apache::DBI)
+Requires: perl(Net::IP)
+Requires: perl(DBD::mysql)
+# Optional, not detected automatically :
+Requires: perl(SOAP::Lite)
+Requires: perl(XML::Entities)
+%if %{useselinux}
+Requires: policycoreutils
+%endif
+
+%description server
+This package provides the Communication server, which will handle HTTP
+communications between database server and agents.
+
+%description -l fr server
+Ce paquet fournit le serveur de communication (Communication server),
+qui gère les communications HTTP entre les agents et le serveur de base
+de données.
+
+
+%package reports
+Group: Applications/Internet
+Summary: OCS Inventory NG - Communication server
+# From PHP_Compat : date, mysql, ereg, pcre, zip, hash, xml, gd, zlib
+Requires: php
+Requires: php-mysql php-gd php-domxml
+%if 0%{?fedora} < 16
+Requires: php-zip
+%endif
+# Required by the original setup script, but not detected automatically :
+Requires: perl(DBD::mysql)
+# Required by ipdiscover-util.pl (nmap and nmblookup)
+Requires: nmap
+# nmblookup is provided by samba or samba3x (EL-5)
+Requires: %{_bindir}/nmblookup
+%if %{useselinux}
+Requires: policycoreutils
+%endif
+
+%description reports
+This package provides the Administration console, which will allow
+administrators to query the database server through their favorite browser.
+
+%description -l fr reports
+Ce paquet fournit la console d'administration (Administration console),
+qui autorise les administrateurs à interroger la base de données via leur
+navigateur favori.
+
+
+%prep
+%setup -q -n %{tarname}-%{version}
+
+%patch1 -p0
+
+
+%build
+cd Apache
+%{__perl} Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
+
+
+%install
+rm -rf %{buildroot}
+
+# --- ocsinventory-server --- communication server
+cd Apache
+make pure_install PERL_INSTALL_ROOT=%{buildroot}
+find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
+find %{buildroot} -type d -depth -exec rmdir {} 2>/dev/null ';'
+
+chmod -R u+rwX,go+rX,go-w %{buildroot}/*
+find %{buildroot}%{perl_vendorlib}/Apache -name \*.pm -exec chmod -x {} \;
+
+%if 0%{?rhel} == 4
+# To avoid bad dependency on perl(mod_perl2)
+rm -f %{buildroot}%{perl_vendorlib}/Apache/Ocsinventory/Server/Modperl2.pm
+%else
+# To avoid bad dependency on perl(mod_perl) : RHEL >= 5 && Fedora >= 4
+rm -f %{buildroot}%{perl_vendorlib}/Apache/Ocsinventory/Server/Modperl1.pm
+%endif
+
+cd ..
+
+%{__mkdir_p} %{buildroot}%{_localstatedir}/log/ocsinventory-server
+
+%{__mkdir_p} %{buildroot}%{_sysconfdir}/logrotate.d
+%{__sed} -e 's;PATH_TO_LOG_DIRECTORY;%{_localstatedir}/log/ocsinventory-server;' \
+ ./etc/logrotate.d/ocsinventory-server >%{buildroot}%{_sysconfdir}/logrotate.d/ocsinventory-server
+
+# default configuration (localhost) should work on "simple" installation
+%{__mkdir_p} %{buildroot}%{_sysconfdir}/httpd/conf.d
+%{__sed} -e "s;DATABASE_SERVER;localhost;g" \
+ -e "s;DATABASE_PORT;3306;g" \
+%if 0%{?rhel} == 4
+ -e "s;VERSION_MP;1;g" \
+%else
+ -e "s;VERSION_MP;2;g" \
+%endif
+ -e "s;PATH_TO_LOG_DIRECTORY;%{_localstatedir}/log/ocsinventory-server;g" \
+ ./etc/ocsinventory/ocsinventory-server.conf | \
+ grep -v IfModule >%{buildroot}%{_sysconfdir}/httpd/conf.d/ocsinventory-server.conf
+
+# --- ocsinventory-reports --- administration console
+
+%{__mkdir_p} %{buildroot}/%{_datadir}/ocsinventory-reports
+cp -ar ocsreports %{buildroot}/%{_datadir}/ocsinventory-reports
+find %{buildroot}/%{_datadir}/ocsinventory-reports \( -name \*.php -o -name \*.css \) -exec chmod -x {} \;
+
+%{__mkdir_p} %{buildroot}/%{_sysconfdir}/ocsinventory/ocsinventory-reports
+
+mv %{buildroot}/%{_datadir}/ocsinventory-reports/ocsreports/dbconfig.inc.php \
+ %{buildroot}/%{_sysconfdir}/ocsinventory/ocsinventory-reports/dbconfig.inc.php
+ln -s ../../../../%{_sysconfdir}/ocsinventory/ocsinventory-reports/dbconfig.inc.php %{buildroot}/%{_datadir}/ocsinventory-reports/ocsreports/dbconfig.inc.php
+
+
+%{__mkdir_p} %{buildroot}%{_localstatedir}/lib/ocsinventory-reports/{download,ipd}
+
+%{__install} -pm 755 binutils/ipdiscover-util.pl %{buildroot}/%{_datadir}/ocsinventory-reports/ocsreports/ipdiscover-util.pl
+
+%{__mkdir_p} %{buildroot}%{_sysconfdir}/httpd/conf.d
+%{__sed} -e "s;OCSREPORTS_ALIAS;/ocsreports;g" \
+ -e "s;PATH_TO_OCSREPORTS_DIR;%{_datadir}/ocsinventory-reports/ocsreports;g" \
+ -e "s;PACKAGES_ALIAS;/download;g" \
+ -e "s;PATH_TO_PACKAGES_DIR;%{_localstatedir}/lib/ocsinventory-reports/download;g" \
+ %{SOURCE1} >%{buildroot}%{_sysconfdir}/httpd/conf.d/ocsinventory-reports.conf
+
+
+%clean
+rm -rf %{buildroot}
+
+
+%post server
+%if %{useselinux}
+(
+# New File context
+semanage fcontext -a -s system_u -t httpd_log_t -r s0 "%{_localstatedir}/log/ocsinventory-server(/.*)?"
+# files created by app
+restorecon -R %{_localstatedir}/log/ocsinventory-server
+) &>/dev/null ||:
+%endif
+
+
+%post reports
+%if %{useselinux}
+(
+# New File context
+semanage fcontext -a -s system_u -t httpd_sys_script_rw_t -r s0 "%{_sysconfdir}/ocsinventory/ocsinventory-reports(/.*)?"
+semanage fcontext -a -s system_u -t httpd_sys_script_rw_t -r s0 "%{_localstatedir}/lib/ocsinventory-reports(/.*)?"
+# files created by app
+restorecon -R %{_sysconfdir}/ocsinventory/ocsinventory-reports
+restorecon -R %{_localstatedir}/lib/ocsinventory-reports
+) &>/dev/null ||:
+%endif
+
+
+%postun server
+%if %{useselinux}
+if [ "$1" -eq "0" ]; then
+ # Remove the File Context
+ semanage fcontext -d "%{_localstatedir}/log/ocsinventory-server(/.*)?" &>/dev/null || :
+fi
+%endif
+
+
+%postun reports
+%if %{useselinux}
+if [ "$1" -eq "0" ]; then
+ # Remove the File Context
+ semanage fcontext -d "%{_sysconfdir}/ocsinventory/ocsinventory-reports(/.*)?" &>/dev/null ||:
+ semanage fcontext -d "%{_localstatedir}/lib/ocsinventory-reports(/.*)?" &>/dev/null ||:
+fi
+%endif
+
+
+%files
+%defattr(-, root, root, -)
+
+
+%files server
+%defattr(-, root, root, -)
+%doc LICENSE.txt README Apache/Changes
+%config(noreplace) %{_sysconfdir}/logrotate.d/ocsinventory-server
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/ocsinventory-server.conf
+%attr(755,apache,root) %{_localstatedir}/log/ocsinventory-server
+%{perl_vendorlib}/Apache
+
+
+%files reports
+%defattr(-, root, root, -)
+%doc LICENSE.txt README
+%dir %{_sysconfdir}/ocsinventory
+%dir %{_sysconfdir}/ocsinventory/ocsinventory-reports
+%attr(640,apache,root) %config(noreplace) %{_sysconfdir}/ocsinventory/ocsinventory-reports/dbconfig.inc.php
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/ocsinventory-reports.conf
+%{_datadir}/ocsinventory-reports
+%attr(755,apache,root) %dir %{_localstatedir}/lib/ocsinventory-reports
+%attr(755,apache,root) %dir %{_localstatedir}/lib/ocsinventory-reports/ipd
+%attr(755,apache,root) %dir %{_localstatedir}/lib/ocsinventory-reports/download
+
+
+%changelog
+* Tue Jul 19 2011 Petr Sabata <contyk@redhat.com> - 1.3.3-4
+- Perl mass rebuild
+
+* Sat Apr 09 2011 Xavier Bachelot <xavier@bachelot.org> 1.3.3-3
+- Don't require php-zip for F16 and up.
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Wed Nov 24 2010 Remi Collet <Fedora@famillecollet.com> - 1.3.3-1
+- update to 1.3.3 (bugfix)
+- clean applied patches
+- requires nbmlookup instead of samba-client, fix #654252
+
+* Sat Jun 19 2010 Remi Collet <Fedora@famillecollet.com> - 1.3.2-4
+- upstream patch to set XML default parser
+ (workaround XML::SAX issue on EL5, see #641735)
+
+* Sat Jun 19 2010 Remi Collet <Fedora@famillecollet.com> - 1.3.2-3
+- upstream patches
+
+* Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 1.3.2-2
+- Mass rebuild with perl-5.12.0
+
+* Thu May 13 2010 Remi Collet <Fedora@famillecollet.com> 1.3.2-1
+- update to new version
+- remove schema patch (upstream)
+- remove shorttag option
+
+* Thu Feb 18 2010 Remi Collet <Fedora@famillecollet.com> 1.3.1-1
+- update to new version
+- improved patch for schema
+
+* Sun Feb 07 2010 Remi Collet <Fedora@famillecollet.com> 1.3-1
+- update to new version
+- add a patch to improve schema check (when install / upgrade needed)
+
+* Fri Feb 05 2010 Remi Collet <Fedora@famillecollet.com> 1.02.3-1
+- Security Fixes - Bug #560737
+
+* Mon Aug 17 2009 Remi Collet <Fedora@famillecollet.com> 1.02.1-3
+- add ChangeLog
+- Security Fixes (internal version 5003) Bug #517837
+
+* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.02.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Sat May 30 2009 Remi Collet <Fedora@famillecollet.com> 1.02.1-1
+- update to OCS Inventory NG 1.02.1 - Security Fixes (internal version 5003)
+
+* Mon Apr 20 2009 Remi Collet <Fedora@famillecollet.com> 1.02-1
+- update to OCS Inventory NG 1.02 final release (internal version 5003)
+
+* Sun Jan 18 2009 Remi Collet <Fedora@famillecollet.com> 1.02-0.10.rc3.el4.1
+- fix php-xml > php-domxml in EL-4
+
+* Sun Jan 11 2009 Remi Collet <Fedora@famillecollet.com> 1.02-0.10.rc3
+- add r1447 and r1462 patch
+- change log selinux context (httpd_log_t)
+
+* Fri Oct 17 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.9.rc3
+- upstream r1423 patch - migration script
+
+* Sat Oct 11 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.8.rc3
+- upstream r1413 patch - database schema
+
+* Sat Oct 11 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.7.rc3
+- update to RC3
+
+* Tue Jul 22 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.6.rc2
+- add missing requires perl(SOAP::Transport::HTTP2) (with mod_perl2)
+- AddDefaultCharset ISO-8859-1 in httpd config
+- fix SElinux path
+
+* Sat Jun 14 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.5.rc2
+- change dir from /var/lib/ocsinventory-server to /var/lib/ocsinventory-reports
+- add Requires nmap and samba-client (nmblookup)
+
+* Sun May 18 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.4.rc2
+- remove <IfModule> from ocsinventory-server.conf
+- change perm to 755 on /var/lib/ocsinventory-server
+- metapackage description closer to upstream components name
+- add BR perl(DBD::mysql) to avoid build warning
+
+* Fri May 16 2008 Xavier Bachelot <xavier@bachelot.org> 1.02-0.3.rc2.1
+- Fix BuildRequires and Requires.
+- Fix %%description french translations and a few typos.
+- Rename apache confs.
+
+* Sat May 10 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.3.rc2
+- add missing requires for php extensions (from PHP_Compat result)
+- add selinux stuff
+
+* Thu May 08 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.2.rc2
+- update to RC2
+
+* Sun Mar 15 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.2.rc1
+- fix download dir
+
+* Sat Mar 8 2008 Remi Collet <Fedora@famillecollet.com> 1.02-0.1.rc1
+- Initial RPM
+