From cf680c470e338abdf8512d7c28453ed597b18903 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 23 Oct 2011 14:32:04 +0200 Subject: import ocsinventory from rawhide --- Makefile | 4 + ocsinventory-reports.conf | 65 ++++++++ ocsinventory-upstream.patch | 14 ++ ocsinventory.spec | 385 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 468 insertions(+) create mode 100644 Makefile create mode 100644 ocsinventory-reports.conf create mode 100644 ocsinventory-upstream.patch create mode 100644 ocsinventory.spec diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1e65467 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../common/Makefile + diff --git a/ocsinventory-reports.conf b/ocsinventory-reports.conf new file mode 100644 index 0000000..43cee66 --- /dev/null +++ b/ocsinventory-reports.conf @@ -0,0 +1,65 @@ +################################################################################ +# +# OCS Inventory NG Administration Server +# +# Copyleft 2008 OCS Inventory NG Team +# Web: http://www.ocsinventory-ng.org +# +# This code is open source and may be copied and modified as long as the source +# code is always made freely available. +# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt +################################################################################ + +# +# ANY CHANGE ON THIS FILE REQUIRES APACHE RESTART TO TAKE EFFECT +# + +################################################################################ +# Administration console public pages +# + +# Uncomment if you want a virtual host for OCS Inventory NG +# +# ServerName ocsinventory-ng +# ServerAlias ocsinventory-ng.yourdomain.tld +# DocumentRoot PATH_TO_OCSREPORTS_DIR + +Alias OCSREPORTS_ALIAS PATH_TO_OCSREPORTS_DIR + + + # By default, users can use console from everywhere + Order deny,allow + Allow from all + + AddDefaultCharset ISO-8859-1 + + Options Indexes FollowSymLinks + DirectoryIndex index.php + + # Uncomment following to force use of HTTPS in Administration Server + #SSLRequireSSL + + #php_flag short_open_tag on + php_flag file_uploads on + + # Some PHP tuning for deployement feature up to 50 MB + php_value post_max_size 51M + php_value upload_max_filesize 50M + + # You may have to uncomment following on errors + #php_value memory_limit 16M + #php_value max_execution_time -1 + #php_value max_input_time -1 + + # Uncomment following to allow HTTP body request up to 4 MB + # instead default 512 KB + #LimitRequestBody 4194304 + + +################################################################################ +# Deployment packages download area +# +Alias PACKAGES_ALIAS PATH_TO_PACKAGES_DIR + +# + diff --git a/ocsinventory-upstream.patch b/ocsinventory-upstream.patch new file mode 100644 index 0000000..c29c00b --- /dev/null +++ b/ocsinventory-upstream.patch @@ -0,0 +1,14 @@ +http://bazaar.launchpad.net/~ocsinventory-dev/ocsinventory-ocsreports/stable/diff/66 + +=== modified file 'dbconfig.inc.php' +--- ocsreports/dbconfig.inc.php 2010-11-23 08:28:16 +0000 ++++ ocsreports/dbconfig.inc.php 2010-11-24 17:11:46 +0000 +@@ -1,5 +1,5 @@ + +\ No newline at end of file + 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 - 1.3.3-4 +- Perl mass rebuild + +* Sat Apr 09 2011 Xavier Bachelot 1.3.3-3 +- Don't require php-zip for F16 and up. + +* Tue Feb 08 2011 Fedora Release Engineering - 1.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Nov 24 2010 Remi Collet - 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 - 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 - 1.3.2-3 +- upstream patches + +* Tue Jun 01 2010 Marcela Maslanova - 1.3.2-2 +- Mass rebuild with perl-5.12.0 + +* Thu May 13 2010 Remi Collet 1.3.2-1 +- update to new version +- remove schema patch (upstream) +- remove shorttag option + +* Thu Feb 18 2010 Remi Collet 1.3.1-1 +- update to new version +- improved patch for schema + +* Sun Feb 07 2010 Remi Collet 1.3-1 +- update to new version +- add a patch to improve schema check (when install / upgrade needed) + +* Fri Feb 05 2010 Remi Collet 1.02.3-1 +- Security Fixes - Bug #560737 + +* Mon Aug 17 2009 Remi Collet 1.02.1-3 +- add ChangeLog +- Security Fixes (internal version 5003) Bug #517837 + +* Sat Jul 25 2009 Fedora Release Engineering - 1.02.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat May 30 2009 Remi Collet 1.02.1-1 +- update to OCS Inventory NG 1.02.1 - Security Fixes (internal version 5003) + +* Mon Apr 20 2009 Remi Collet 1.02-1 +- update to OCS Inventory NG 1.02 final release (internal version 5003) + +* Sun Jan 18 2009 Remi Collet 1.02-0.10.rc3.el4.1 +- fix php-xml > php-domxml in EL-4 + +* Sun Jan 11 2009 Remi Collet 1.02-0.10.rc3 +- add r1447 and r1462 patch +- change log selinux context (httpd_log_t) + +* Fri Oct 17 2008 Remi Collet 1.02-0.9.rc3 +- upstream r1423 patch - migration script + +* Sat Oct 11 2008 Remi Collet 1.02-0.8.rc3 +- upstream r1413 patch - database schema + +* Sat Oct 11 2008 Remi Collet 1.02-0.7.rc3 +- update to RC3 + +* Tue Jul 22 2008 Remi Collet 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 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 1.02-0.4.rc2 +- remove 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 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 1.02-0.3.rc2 +- add missing requires for php extensions (from PHP_Compat result) +- add selinux stuff + +* Thu May 08 2008 Remi Collet 1.02-0.2.rc2 +- update to RC2 + +* Sun Mar 15 2008 Remi Collet 1.02-0.2.rc1 +- fix download dir + +* Sat Mar 8 2008 Remi Collet 1.02-0.1.rc1 +- Initial RPM + -- cgit