Control: tags -1 + patch Hello pollux
As promised in my last mail, here is a patch for apache 2.4.
diff -u ocsinventory-server-2.0.5/debian/changelog ocsinventory-server-2.0.5/debian/changelog --- ocsinventory-server-2.0.5/debian/changelog +++ ocsinventory-server-2.0.5/debian/changelog @@ -1,3 +1,27 @@ +ocsinventory-server (2.0.5-1.2) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Add support for apache2.4: (Closes: #718475) + - debian/conf/ocsinventory.conf: Minimal patch for require directive. + - debian/rules: Add dh_apache2. + - renamed files in debian/conf/ to match package names. + - debian/control: Add build-depends on dh-apache2|apache2-dev, drop hard + depends on apache2 for recommends on ${misc:Recommends}. + - debian/*apache2: New files to setup conf snipet in apache. + - (pre|post)(inst|rm): + . Uses apache2-maintscript-helper to enable modules + . Remove apache conf files setup, let dh_apache2 do it. + . Delete obsolete links in /etc/apache2/conf.d/. + . Detect user change in non-conffile /etc/ocsinventory/ocsinventory.conf + and delete it or move it to new location in + /etc/apache2/conf-available. Fix common incompatible change in require + directive syntax. + - New ocsinventory-reports.maintscript for moving the other real conffile. + * Refreshed patch 01-compat_with_other_agents.patch, create missing series + quilt file. + + -- Jean-Michel Nirgal Vourgère <jmv_...@nirgal.com> Sun, 09 Nov 2014 17:42:58 +0100 + ocsinventory-server (2.0.5-1.1) unstable; urgency=low * Non-maintainer upload. reverted: --- ocsinventory-server-2.0.5/debian/conf/ocsinventory.conf +++ ocsinventory-server-2.0.5.orig/debian/conf/ocsinventory.conf @@ -1,306 +0,0 @@ -################################################################################ -# -# OCS Inventory NG Communication Server Perl Module Setup -# -# Copyleft 2006 Pascal DANEK -# 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 -################################################################################ - -<IfModule mod_perl.c> - - # Which version of mod_perl we are using - # For mod_perl <= 1.999_21, replace VERSION_MP by 1 - # For mod_perl > 1.999_21, replace VERSION_MP by 2 - PerlSetEnv OCS_MODPERL_VERSION 2 - - # Master Database settings - # Replace DATABASE_SERVER by hostname or ip of MySQL server for WRITE - PerlSetEnv OCS_DB_HOST localhost - # Replace DATABASE_PORT by port where running MySQL server, generally 3306 - PerlSetEnv OCS_DB_PORT 3306 - # Name of database - PerlSetEnv OCS_DB_NAME ocsweb - PerlSetEnv OCS_DB_LOCAL ocsweb - # User allowed to connect to database - PerlSetEnv OCS_DB_USER ocs - # Password for user - PerlSetVar OCS_DB_PWD ocs - - # Slave Database settings - # Replace DATABASE_SERVER by hostname or ip of MySQL server for READ - # Useful if you handle mysql slave databases - # PerlSetEnv OCS_DB_SL_HOST DATABASE_SERVER - # Replace DATABASE_PORT by port where running MySQL server, generally 3306 - # PerlSetEnv OCS_DB_SL_PORT_SLAVE DATABASE_PORT - # User allowed to connect to database - # PerlSetEnv OCS_DB_SL_USER ocs - # Name of the database - # PerlSetEnv OCS_DB_SL_NAME ocsweb - # Password for user - # PerlSetVar OCS_DB_SL_PWD ocs - - # Path to log directory (must be writeable) - PerlSetEnv OCS_OPT_LOGPATH "/var/log/ocsinventory-server/" - - # If you need to specify a mysql socket that the client's built-in - #PerlSetEnv OCS_OPT_DBI_MYSQL_SOCKET "path/to/mysql/unix/socket" - # DBI verbosity - PerlSetEnv OCS_OPT_DBI_PRINT_ERROR 0 - - # Unicode support - PerlSetEnv OCS_OPT_UNICODE_SUPPORT 1 - - # If you are using a multi server architecture, - # Put the ip addresses of the slaves on the master - # (This is read as perl regular expressions) - PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1 - #PerlAddVar OCS_OPT_TRUSTED_IP XXX.XXX.XXX.XXX - -# ===== WEB SERVICE (SOAP) SETTINGS ===== - - PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0 - PerlSetEnv OCS_OPT_WEB_SERVICE_RESULTS_LIMIT 100 - # PerlSetEnv OCS_OPT_WEB_SERVICE_PRIV_MODS_CONF "WEBSERV_PRIV_MOD_CONF_FILE" - -# Be careful: you must restart apache to make settings taking effects - - # Configure engine to use the settings from this file - PerlSetEnv OCS_OPT_OPTIONS_NOT_OVERLOADED 0 - - # Try to use other compress algorythm than raw zlib - # GUNZIP and clear XML are supported - PerlSetEnv OCS_OPT_COMPRESS_TRY_OTHERS 1 - -############################################################## -# ===== OPTIONS BELOW ARE OVERLOADED IF YOU USE OCS GUI =====# -############################################################## - -# NOTE: IF YOU WANT TO USE THIS CONFIG FILE INSTEAD, set OCS_OPT_OPTIONS_NOT_OVERLOADED to '1' - -# ===== MAIN SETTINGS ===== - - # Enable engine logs (see LOGPATH setting) - PerlSetEnv OCS_OPT_LOGLEVEL 0 - # Specify agent's prolog frequency - PerlSetEnv OCS_OPT_PROLOG_FREQ 12 - # Configure the duplicates detection system - PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15 - # Futur security improvements - PerlSetEnv OCS_OPT_SECURITY_LEVEL 0 - # Validity of a computer's lock - PerlSetEnv OCS_OPT_LOCK_REUSE_TIME 600 - # Enable the history tracking system (useful for external data synchronisation - PerlSetEnv OCS_OPT_TRACE_DELETED 0 - -# ===== INVENTORY SETTINGS ===== - - # Specify the validity of inventory data - PerlSetEnv OCS_OPT_FREQUENCY 0 - # Configure engine to update inventory regarding to CHECKSUM agent value (lower DB backend load) - PerlSetEnv OCS_OPT_INVENTORY_DIFF 1 - # Make engine consider an inventory as a transaction (lower concurency, better disk usage) - PerlSetEnv OCS_OPT_INVENTORY_TRANSACTION 1 - # Configure engine to make a differential update of inventory sections (row level). Lower DB backend load, higher frontend load - PerlSetEnv OCS_OPT_INVENTORY_WRITE_DIFF 1 - # Enable some stuff to improve DB queries, especially for GUI multicriteria searching system - PerlSetEnv OCS_OPT_INVENTORY_CACHE_ENABLED 1 - # Specify when the engine will clean the inventory cache structures - PerlSetEnv OCS_OPT_INVENTORY_CACHE_REVALIDATE 7 - # Enable you to keep trace of every elements encountered in db life - PerlSetEnv OCS_OPT_INVENTORY_CACHE_KEEP 1 - -# ===== SOFTWARES DEPLOYMENT SETTINGS ===== - - # Enable this feature - PerlSetEnv OCS_OPT_DOWNLOAD 0 - # Package wich have a priority superior than this value will not be downloaded - PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LENGTH 10 - # Time between two download cycles (bandwidth control) - PerlSetEnv OCS_OPT_DOWNLOAD_CYCLE_LATENCY 60 - # Time between two fragment downloads (bandwidth control) - PerlSetEnv OCS_OPT_DOWNLOAD_FRAG_LATENCY 60 - # Specify if you want to track packages affected to a group on computer's level - PerlSetEnv OCS_OPT_DOWNLOAD_GROUPS_TRACE_EVENTS 1 - # Time between two download periods (bandwidth control) - PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LATENCY 60 - # Agents will send ERR_TIMEOUT event and clean the package it is older than this setting - PerlSetEnv OCS_OPT_DOWNLOAD_TIMEOUT 7 - # Number of cycle within a period - - # Enable ocs engine to deliver agent's files (deprecated) - PerlSetEnv OCS_OPT_DEPLOY 0 - # Enable the softwares deployment capacity (bandwidth control) - -# ===== GROUPS SETTINGS ===== - - # Enable the computer\s groups feature - PerlSetEnv OCS_OPT_ENABLE_GROUPS 1 - # Random number computed in the defined range. Designed to avoid computing many groups in the same process - PerlSetEnv OCS_OPT_GROUPS_CACHE_OFFSET 43200 - # Specify the validity of computer's groups (default: compute it once a day - see offset) - PerlSetEnv OCS_OPT_GROUPS_CACHE_REVALIDATE 43200 - -# ===== IPDISCOVER SETTINGS ===== - - # Specify how much agent per LAN will discovered connected peripherals (0 to disable) - PerlSetEnv OCS_OPT_IPDISCOVER 2 - # Specify the minimal difference to replace an ipdiscover agent - PerlSetEnv OCS_OPT_IPDISCOVER_BETTER_THRESHOLD 1 - # Time between 2 arp requests (mini: 10 ms) - PerlSetEnv OCS_OPT_IPDISCOVER_LATENCY 100 - # Specify when to remove a computer when it has not come until this period - PerlSetEnv OCS_OPT_IPDISCOVER_MAX_ALIVE 14 - # Disable the time before a first election (not recommended) - PerlSetEnv OCS_OPT_IPDISCOVER_NO_POSTPONE 0 - # Enable groups for ipdiscover (for example, you might want to prevent some groups to be ipdiscover agents) - PerlSetEnv OCS_OPT_IPDISCOVER_USE_GROUPS 1 - -# ===== INVENTORY FILES MAPPING SETTINGS ===== - - # Use with ocsinventory-injector, enable the multi entities feature - PerlSetEnv OCS_OPT_GENERATE_OCS_FILES 0 - # Generate either compressed file or clear XML text - PerlSetEnv OCS_OPT_OCS_FILES_FORMAT OCS - # Specify if you want to keep trace of all inventory between to synchronisation with the higher level server - PerlSetEnv OCS_OPT_OCS_FILES_OVERWRITE 0 - # Path to ocs files directory (must be writeable) - PerlSetEnv OCS_OPT_OCS_FILES_PATH /tmp - -# ===== FILTER SETTINGS ===== - - # Enable prolog filter stack - PerlSetEnv OCS_OPT_PROLOG_FILTER_ON 0 - # Enable core filter system to modify some things "on the fly" - PerlSetEnv OCS_OPT_INVENTORY_FILTER_ENABLED 0 - # Enable inventory flooding filter. A dedicated ipaddress ia allowed to send a new computer only once in this period - PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP 0 - # Period definition for INVENTORY_FILTER_FLOOD_IP - PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP_CACHE_TIME 300 - # Enable inventory filter stack - PerlSetEnv OCS_OPT_INVENTORY_FILTER_ON 0 - -# ===== DATA FILTER ===== - - #Enable the dat filtering capacity - PerlSetEnv OCS_OPT_DATA_FILTER 0 - - # Set the table names and the field associated you want to filter - #PerlAddVar OCS_OPT_DATA_TO_FILTER HARDWARE - #PerlAddVar OCS_OPT_DATA_TO_FILTER USERID - - -# ===== REGISTRY SETTINGS ===== - - # Enable the registry capacity - PerlSetEnv OCS_OPT_REGISTRY 1 - -# ===== SNMP SETTINGS ===== - - # Enable the SNMP capacity - PerlSetEnv OCS_OPT_SNMP 0 - - # Configure engine to update snmp inventory regarding to snmp_laststate table (lower DB backend load) - PerlSetEnv OCS_OPT_SNMP_INVENTORY_DIFF 1 - -# ===== SESSION SETTINGS ===== -# Not yet in GUI - - # Validity of a session (prolog=>postinventory) - PerlSetEnv OCS_OPT_SESSION_VALIDITY_TIME 600 - # Consider a session obsolete if it is older thant this value - PerlSetEnv OCS_OPT_SESSION_CLEAN_TIME 86400 - # Accept an inventory only if required by server - #( Refuse "forced" inventory) - PerlSetEnv OCS_OPT_INVENTORY_SESSION_ONLY 0 - -# ===== TAG ===== - - # The default behavior of the server is to ignore TAG changes from the - # agent. - PerlSetEnv OCS_OPT_ACCEPT_TAG_UPDATE_FROM_CLIENT 0 - - -# ===== DEPRECATED ===== - - # Set the proxy cache validity in http headers when sending a file - PerlSetEnv OCS_OPT_PROXY_REVALIDATE_DELAY 3600 - # Deprecated - PerlSetEnv OCS_OPT_UPDATE 0 - -############ DO NOT MODIFY BELOW ! ####################### - - # External modules - PerlModule Apache::DBI - PerlModule Compress::Zlib - PerlModule XML::Simple - - # Ocs - PerlModule Apache::Ocsinventory - PerlModule Apache::Ocsinventory::Server::Constants - PerlModule Apache::Ocsinventory::Server::System - PerlModule Apache::Ocsinventory::Server::Communication - PerlModule Apache::Ocsinventory::Server::Inventory - PerlModule Apache::Ocsinventory::Server::Duplicate - - # Capacities - PerlModule Apache::Ocsinventory::Server::Capacities::Registry - PerlModule Apache::Ocsinventory::Server::Capacities::Update - PerlModule Apache::Ocsinventory::Server::Capacities::Ipdiscover - PerlModule Apache::Ocsinventory::Server::Capacities::Download - PerlModule Apache::Ocsinventory::Server::Capacities::Notify - PerlModule Apache::Ocsinventory::Server::Capacities::Snmp - # This module guides you through the module creation - # PerlModule Apache::Ocsinventory::Server::Capacities::Example - # This module adds some rules to filter some request sent to ocs server in the prolog and inventory stages - # PerlModule Apache::Ocsinventory::Server::Capacities::Filter - # This module add availibity to filter data from HARDWARE section (data filtered won't be stored in database) - # PerlModule Apache::Ocsinventory::Server::Capacities::Datafilter - - # PerlTaintCheck On - - # SSL apache settings - #SSLEngine "SSL_ENABLE" - #SSLCertificateFile "SSL_CERTIFICATE_FILE" - #SSLCertificateKeyFile "SSL_CERTIFICATE_KEY_FILE" - #SSLCACertificateFile "SSL_CERTIFICATE_FILE" - #SSLCACertificatePath "SSL_CERTIFICATE_PATH" - #SSLVerifyClient "SSL_VALIDATE_CLIENT" - - # Engine apache settings - # "Virtual" directory for handling OCS Inventory NG agents communications - # Be careful, do not create such directory into your web server root document ! - <Location /ocsinventory> - order deny,allow - allow from all - Satisfy Any - # If you protect this area you have to deal with http_auth_* agent's parameters - # AuthType Basic - # AuthName "OCS Inventory agent area" - # AuthUserFile "APACHE_AUTH_USER_FILE" - # require valid-user - SetHandler perl-script - PerlHandler Apache::Ocsinventory - </Location> - - # Web service apache settings - PerlModule Apache::Ocsinventory::SOAP - - <location /ocsinterface> - SetHandler perl-script - PerlHandler "Apache::Ocsinventory::SOAP" - - # By default, you can query web service from everywhere with a valid user - Order deny,allow - Allow from all - AuthType Basic - AuthName "OCS Inventory SOAP Area" - # Use htpasswd to create/update soap-user (or another granted user) - AuthUserFile "APACHE_AUTH_USER_FILE" - require "SOAP_USER" - </location> -</IfModule> - reverted: --- ocsinventory-server-2.0.5/debian/conf/ocsreports.conf +++ ocsinventory-server-2.0.5.orig/debian/conf/ocsreports.conf @@ -1,65 +0,0 @@ -################################################################################ -# -# 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 -# -# Alias used to put Administration Server static page (typically PHP) outside -# Apache document root directory -# -Alias /ocsreports /usr/share/ocsinventory-reports/ - -<Directory /usr/share/ocsinventory-reports> - # By default, users can use console from everywhere - Order deny,allow - Allow from all - Options Indexes FollowSymLinks - DirectoryIndex index.php - AllowOverride Options - - # Uncomment following to force use of HTTPS in Administration Server - #SSLRequireSSL - - # PHP tuning (not working on all distribution, use php.ini instead) - AddType application/x-httpd-php .php - php_flag file_uploads on - # Some PHP tuning for deployement feature up to 8 MB - # post_max_size must be greater than upload_max_filesize - # because of HTTP headers - php_value post_max_size 101m - php_value upload_max_filesize 100m - # You may have to uncomment following on errors - #php_value max_execution_time -1 - #php_value max_input_time -1 - - #!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly) - php_flag magic_quotes_gpc off - - # Uncomment following to allow HTTP body request up to 4 MB - # instead default 512 KB - #LimitRequestBody 4194304 - - # Uncomment following if you need to specify a mysql socket - #php_value mysql.default_socket "path/to/mysql/unix/socket" - -</Directory> - -################################################################################ -# Deployment packages download area -# -# Alias to put Deployement package files outside Apache document root directory -# -Alias /download /var/lib/ocsinventory-reports/download diff -u ocsinventory-server-2.0.5/debian/control ocsinventory-server-2.0.5/debian/control --- ocsinventory-server-2.0.5/debian/control +++ ocsinventory-server-2.0.5/debian/control @@ -3,7 +3,7 @@ Priority: extra Maintainer: Pierre Chifflier <pol...@debian.org> Uploaders: Eric Décornod <e...@decornod.com>, Yves Guimard <yves.guim...@gmail.com> -Build-Depends: debhelper (>= 7), quilt +Build-Depends: debhelper (>= 7), quilt, dh-apache2 | apache2-dev Standards-Version: 3.9.3 Homepage: http://www.ocsinventory-ng.org/ @@ -19,9 +19,9 @@ libnet-ip-perl, libphp-pclzip, libapache-dbi-perl, - libjs-jquery, - apache2, -Recommends: ocsinventory-reports + libjs-jquery +Recommends: ${misc:Recommends}, + ocsinventory-reports Suggests: mysql-server, libsoap-lite-perl, ocsinventory-agent, nmap, samba-common Description: Hardware and software inventory tool (Communication Server) Open Computer and Software Inventory Next Generation is an application @@ -40,14 +40,14 @@ Package: ocsinventory-reports Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, - apache2, php5, libapache2-mod-php5, php5-mysql, php5-gd, mysql-client, php-net-ldap -Recommends: ocsinventory-server, libdbi-perl, libdbd-mysql-perl, libnet-ip-perl, libxml-simple-perl, nmap, samba-common +Recommends: ${misc:Recommends}, + ocsinventory-server, libdbi-perl, libdbd-mysql-perl, libnet-ip-perl, libxml-simple-perl, nmap, samba-common Description: Hardware and software inventory tool (Administration Console) Open Computer and Software Inventory Next Generation is an application designed to help a network or system administrator keep track of the diff -u ocsinventory-server-2.0.5/debian/ocsinventory-reports.install ocsinventory-server-2.0.5/debian/ocsinventory-reports.install --- ocsinventory-server-2.0.5/debian/ocsinventory-reports.install +++ ocsinventory-server-2.0.5/debian/ocsinventory-reports.install @@ -2 +1,0 @@ -debian/conf/ocsreports.conf etc/ocsinventory diff -u ocsinventory-server-2.0.5/debian/ocsinventory-reports.postinst ocsinventory-server-2.0.5/debian/ocsinventory-reports.postinst --- ocsinventory-server-2.0.5/debian/ocsinventory-reports.postinst +++ ocsinventory-server-2.0.5/debian/ocsinventory-reports.postinst @@ -7,8 +7,6 @@ pkgpath="/usr/share/ocsinventory-reports" varpath="/var/lib/ocsinventory-reports" -confpath="/etc/ocsinventory" -conffile="ocsreports.conf" # Allow php to write there for dirname in ipd download snmp; do @@ -21,21 +19,23 @@ done if [ "$1" = "configure" ]; then + if dpkg --compare-versions "$2" le-nl "2.0.5-1.1"; then + # remove obsolete link + if [ -L /etc/apache2/conf.d/ocsreports.conf ]; then + rm /etc/apache2/conf.d/ocsreports.conf + fi + fi # enable required apache modules - a2enmod php5 - a2enmod rewrite - webserver="apache2" - if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/$conffile ]; then - ln -s $confpath/$conffile /etc/$webserver/conf.d/$conffile - fi -if [ -f /etc/init.d/$webserver ] ; then - if [ -x /usr/sbin/invoke-rc.d ]; then - invoke-rc.d $webserver reload || true - else - /etc/init.d/$webserver reload || true - fi - fi + if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then + . /usr/share/apache2/apache2-maintscript-helper + if ! a2query -qm php5 ; then + apache2_invoke enmod php5 + fi + if ! a2query -qm rewrite ; then + apache2_invoke enmod rewrite + fi + fi fi #DEBHELPER# diff -u ocsinventory-server-2.0.5/debian/ocsinventory-reports.postrm ocsinventory-server-2.0.5/debian/ocsinventory-reports.postrm --- ocsinventory-server-2.0.5/debian/ocsinventory-reports.postrm +++ ocsinventory-server-2.0.5/debian/ocsinventory-reports.postrm @@ -8,30 +8,8 @@ -confpath="/etc/ocsinventory" -conffile="ocsreports.conf" if [ "$1" = purge ] ; then - rm -f $confpath/$conffile rm -rf $varpath fi - -if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then - - webserver="apache2" - if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/$conffile ]; then - rm -f /etc/$webserver/conf.d/$conffile - fi - -if [ -f /etc/init.d/$webserver ] ; then - if [ -x /usr/sbin/invoke-rc.d ]; then - invoke-rc.d $webserver restart 3>/dev/null || true - else - /etc/init.d/$webserver restart 3>/dev/null || true - fi - fi -fi - #DEBHELPER# exit 0 - - reverted: --- ocsinventory-server-2.0.5/debian/ocsinventory-server.install +++ ocsinventory-server-2.0.5.orig/debian/ocsinventory-server.install @@ -1 +0,0 @@ -debian/conf/ocsinventory.conf usr/share/ocsinventory-server/files/ diff -u ocsinventory-server-2.0.5/debian/ocsinventory-server.postinst ocsinventory-server-2.0.5/debian/ocsinventory-server.postinst --- ocsinventory-server-2.0.5/debian/ocsinventory-server.postinst +++ ocsinventory-server-2.0.5/debian/ocsinventory-server.postinst @@ -2,8 +2,6 @@ set -e -confpath="/etc/ocsinventory" -conffile="ocsinventory.conf" log="/var/log/ocsinventory-server" # allow mod_perl to write on log files @@ -11,29 +9,35 @@ chown -R www-data:www-data $log chmod -R g+w $log - -if [ "$1" = "configure" -a "$#" -eq 2 ]; then - if [ ! -f $confpath/$conffile ]; then - cp /usr/share/ocsinventory-server/files/$conffile $confpath/$conffile - fi -fi - if [ "$1" = "configure" ]; then - - # enable required apache modules - a2enmod perl - - # link apache config files in apache's conf.d dir - webserver="apache2" - if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/$conffile ]; then - ln -s $confpath/$conffile /etc/$webserver/conf.d/$conffile - fi - if [ -f /etc/init.d/$webserver ] ; then - if [ -x /usr/sbin/invoke-rc.d ]; then - invoke-rc.d $webserver reload || true + if dpkg --compare-versions "$2" le-nl "2.0.5-1.1"; then + # remove obsolete link + if [ -L /etc/apache2/conf.d/ocsinventory.conf ]; then + rm /etc/apache2/conf.d/ocsinventory.conf + fi + + # clean up /etc/ocsinventory/ocsinventory.conf that was NOT a conffile + if [ -e /etc/ocsinventory/ocsinventory.conf ]; then + if [ $(md5sum /etc/ocsinventory/ocsinventory.conf | cut -d \ -f 1) = '024b0d2e135eb4810e3ff1316ce1e3db' ]; then + # file unchanged since wheezy + rm /etc/ocsinventory/ocsinventory.conf else - /etc/init.d/$webserver reload || true - fi + echo Preserving your changes in /etc/apache2/conf-available/ocsinventory-server.conf + mv /etc/ocsinventory/ocsinventory.conf /etc/apache2/conf-available/ocsinventory-server.conf + echo "Changing 'require \"SOAP_USER\"' by 'require user \"SOAP_USER\"'" + sed -i.old 's/require "SOAP_USER"/require user "SOAP_USER"/' /etc/apache2/conf-available/ocsinventory-server.conf + echo Backup is available in ocsinventory-server.conf.old + fi + fi + rmdir --ignore-fail-on-non-empty /etc/ocsinventory/ + fi + + if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then + # enable required apache modules + . /usr/share/apache2/apache2-maintscript-helper + if ! a2query -qm perl ; then + apache2_invoke enmod perl + fi fi fi reverted: --- ocsinventory-server-2.0.5/debian/ocsinventory-server.postrm +++ ocsinventory-server-2.0.5.orig/debian/ocsinventory-server.postrm @@ -1,30 +0,0 @@ -#!/bin/sh - -set -e -#set -x - -if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then - - webserver="apache2" - conffile="ocsinventory.conf" -confpath="/etc/ocsinventory" -if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/$conffile ]; then - rm -f /etc/$webserver/conf.d/$conffile - fi - -if [ -f /etc/init.d/$webserver ] ; then - if [ -x /usr/sbin/invoke-rc.d ]; then - invoke-rc.d $webserver restart 3>/dev/null || true - else - /etc/init.d/$webserver restart 3>/dev/null || true - fi - fi -fi - -if [ "$1" = "purge" ]; then - rm -f $confpath/$conffile -fi - -#DEBHELPER# - -exit 0 reverted: --- ocsinventory-server-2.0.5/debian/ocsinventory-server.preinst +++ ocsinventory-server-2.0.5.orig/debian/ocsinventory-server.preinst @@ -1,43 +0,0 @@ -#!/bin/sh -# preinst script for ocsinventory-reports -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <new-preinst> `install' -# * <new-preinst> `install' <old-version> -# * <new-preinst> `upgrade' <old-version> -# * <old-preinst> `abort-upgrade' <new-version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - install) - ;; - - upgrade) - if dpkg --compare-versions "$2" lt-nl "1.02-1"; then - # move old file out of the way - mv /etc/ocsinventory/ocsinventory.conf /etc/ocsinventory/ocsinventory.conf-$2 - ucf --debconf-ok --purge /etc/ocsinventory/ocsinventory.conf - fi - ;; - - abort-upgrade) - ;; - - *) - echo "preinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff -u ocsinventory-server-2.0.5/debian/patches/01-compat_with_other_agents.patch ocsinventory-server-2.0.5/debian/patches/01-compat_with_other_agents.patch --- ocsinventory-server-2.0.5/debian/patches/01-compat_with_other_agents.patch +++ ocsinventory-server-2.0.5/debian/patches/01-compat_with_other_agents.patch @@ -2,19 +2,19 @@ ocsinventory blocks user-agents by default, so allow fusioninventory. Origin: vendor, http://forge.fusioninventory.org/projects/fusioninventory-agent/wiki/Patch_ocs_server Author: Pierre Chifflier <pol...@debian.org> -Index: ocsinventory-server/Apache/Ocsinventory/Server/Useragent.pm +Index: ocsinventory-server-2.0.5/Apache/Ocsinventory/Server/Useragent.pm =================================================================== ---- ocsinventory-server.orig/Apache/Ocsinventory/Server/Useragent.pm 2011-07-10 11:14:32.000000000 +0200 -+++ ocsinventory-server/Apache/Ocsinventory/Server/Useragent.pm 2011-07-10 11:15:52.000000000 +0200 -@@ -54,6 +54,7 @@ - 'OCS-NG_windows_client' => [4032,4062], - 'OCS-NG_WINDOWS_AGENT' => undef, +--- ocsinventory-server-2.0.5.orig/Apache/Ocsinventory/Server/Useragent.pm ++++ ocsinventory-server-2.0.5/Apache/Ocsinventory/Server/Useragent.pm +@@ -56,6 +56,7 @@ my %ocsagents = ( 'OCS-NG_windows_mobile_agent' => undef, + 'OCS-NG_iOS_agent' => undef, + 'OCS-NG_Android_agent' => undef, + 'FusionInventory-Agent' => undef, ); sub useragent_prolog_read{ -@@ -70,6 +71,8 @@ +@@ -72,6 +73,8 @@ sub useragent_prolog_read{ unless ($ocsagents{$useragent->{NAME}}) { #If no version specifed in hash if ($useragent->{'VERSION'} <= $srvver) { $stop=0; diff -u ocsinventory-server-2.0.5/debian/rules ocsinventory-server-2.0.5/debian/rules --- ocsinventory-server-2.0.5/debian/rules +++ ocsinventory-server-2.0.5/debian/rules @@ -88,6 +88,7 @@ dh_installdocs dh_installexamples dh_install + dh_apache2 # fix permissions for scripts and images find $(CURDIR)/debian/ocsinventory-reports/usr/share/ocsinventory-reports -type f -exec chmod a-x {} \; # Remove embedded copy of jquery.js only in patch2: unchanged: --- ocsinventory-server-2.0.5.orig/debian/conf/ocsinventory-reports.conf +++ ocsinventory-server-2.0.5/debian/conf/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 +# +# Alias used to put Administration Server static page (typically PHP) outside +# Apache document root directory +# +Alias /ocsreports /usr/share/ocsinventory-reports/ + +<Directory /usr/share/ocsinventory-reports> + # By default, users can use console from everywhere + Order deny,allow + Allow from all + Options Indexes FollowSymLinks + DirectoryIndex index.php + AllowOverride Options + + # Uncomment following to force use of HTTPS in Administration Server + #SSLRequireSSL + + # PHP tuning (not working on all distribution, use php.ini instead) + AddType application/x-httpd-php .php + php_flag file_uploads on + # Some PHP tuning for deployement feature up to 8 MB + # post_max_size must be greater than upload_max_filesize + # because of HTTP headers + php_value post_max_size 101m + php_value upload_max_filesize 100m + # You may have to uncomment following on errors + #php_value max_execution_time -1 + #php_value max_input_time -1 + + #!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly) + php_flag magic_quotes_gpc off + + # Uncomment following to allow HTTP body request up to 4 MB + # instead default 512 KB + #LimitRequestBody 4194304 + + # Uncomment following if you need to specify a mysql socket + #php_value mysql.default_socket "path/to/mysql/unix/socket" + +</Directory> + +################################################################################ +# Deployment packages download area +# +# Alias to put Deployement package files outside Apache document root directory +# +Alias /download /var/lib/ocsinventory-reports/download only in patch2: unchanged: --- ocsinventory-server-2.0.5.orig/debian/conf/ocsinventory-server.conf +++ ocsinventory-server-2.0.5/debian/conf/ocsinventory-server.conf @@ -0,0 +1,306 @@ +################################################################################ +# +# OCS Inventory NG Communication Server Perl Module Setup +# +# Copyleft 2006 Pascal DANEK +# 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 +################################################################################ + +<IfModule mod_perl.c> + + # Which version of mod_perl we are using + # For mod_perl <= 1.999_21, replace VERSION_MP by 1 + # For mod_perl > 1.999_21, replace VERSION_MP by 2 + PerlSetEnv OCS_MODPERL_VERSION 2 + + # Master Database settings + # Replace DATABASE_SERVER by hostname or ip of MySQL server for WRITE + PerlSetEnv OCS_DB_HOST localhost + # Replace DATABASE_PORT by port where running MySQL server, generally 3306 + PerlSetEnv OCS_DB_PORT 3306 + # Name of database + PerlSetEnv OCS_DB_NAME ocsweb + PerlSetEnv OCS_DB_LOCAL ocsweb + # User allowed to connect to database + PerlSetEnv OCS_DB_USER ocs + # Password for user + PerlSetVar OCS_DB_PWD ocs + + # Slave Database settings + # Replace DATABASE_SERVER by hostname or ip of MySQL server for READ + # Useful if you handle mysql slave databases + # PerlSetEnv OCS_DB_SL_HOST DATABASE_SERVER + # Replace DATABASE_PORT by port where running MySQL server, generally 3306 + # PerlSetEnv OCS_DB_SL_PORT_SLAVE DATABASE_PORT + # User allowed to connect to database + # PerlSetEnv OCS_DB_SL_USER ocs + # Name of the database + # PerlSetEnv OCS_DB_SL_NAME ocsweb + # Password for user + # PerlSetVar OCS_DB_SL_PWD ocs + + # Path to log directory (must be writeable) + PerlSetEnv OCS_OPT_LOGPATH "/var/log/ocsinventory-server/" + + # If you need to specify a mysql socket that the client's built-in + #PerlSetEnv OCS_OPT_DBI_MYSQL_SOCKET "path/to/mysql/unix/socket" + # DBI verbosity + PerlSetEnv OCS_OPT_DBI_PRINT_ERROR 0 + + # Unicode support + PerlSetEnv OCS_OPT_UNICODE_SUPPORT 1 + + # If you are using a multi server architecture, + # Put the ip addresses of the slaves on the master + # (This is read as perl regular expressions) + PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1 + #PerlAddVar OCS_OPT_TRUSTED_IP XXX.XXX.XXX.XXX + +# ===== WEB SERVICE (SOAP) SETTINGS ===== + + PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0 + PerlSetEnv OCS_OPT_WEB_SERVICE_RESULTS_LIMIT 100 + # PerlSetEnv OCS_OPT_WEB_SERVICE_PRIV_MODS_CONF "WEBSERV_PRIV_MOD_CONF_FILE" + +# Be careful: you must restart apache to make settings taking effects + + # Configure engine to use the settings from this file + PerlSetEnv OCS_OPT_OPTIONS_NOT_OVERLOADED 0 + + # Try to use other compress algorythm than raw zlib + # GUNZIP and clear XML are supported + PerlSetEnv OCS_OPT_COMPRESS_TRY_OTHERS 1 + +############################################################## +# ===== OPTIONS BELOW ARE OVERLOADED IF YOU USE OCS GUI =====# +############################################################## + +# NOTE: IF YOU WANT TO USE THIS CONFIG FILE INSTEAD, set OCS_OPT_OPTIONS_NOT_OVERLOADED to '1' + +# ===== MAIN SETTINGS ===== + + # Enable engine logs (see LOGPATH setting) + PerlSetEnv OCS_OPT_LOGLEVEL 0 + # Specify agent's prolog frequency + PerlSetEnv OCS_OPT_PROLOG_FREQ 12 + # Configure the duplicates detection system + PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15 + # Futur security improvements + PerlSetEnv OCS_OPT_SECURITY_LEVEL 0 + # Validity of a computer's lock + PerlSetEnv OCS_OPT_LOCK_REUSE_TIME 600 + # Enable the history tracking system (useful for external data synchronisation + PerlSetEnv OCS_OPT_TRACE_DELETED 0 + +# ===== INVENTORY SETTINGS ===== + + # Specify the validity of inventory data + PerlSetEnv OCS_OPT_FREQUENCY 0 + # Configure engine to update inventory regarding to CHECKSUM agent value (lower DB backend load) + PerlSetEnv OCS_OPT_INVENTORY_DIFF 1 + # Make engine consider an inventory as a transaction (lower concurency, better disk usage) + PerlSetEnv OCS_OPT_INVENTORY_TRANSACTION 1 + # Configure engine to make a differential update of inventory sections (row level). Lower DB backend load, higher frontend load + PerlSetEnv OCS_OPT_INVENTORY_WRITE_DIFF 1 + # Enable some stuff to improve DB queries, especially for GUI multicriteria searching system + PerlSetEnv OCS_OPT_INVENTORY_CACHE_ENABLED 1 + # Specify when the engine will clean the inventory cache structures + PerlSetEnv OCS_OPT_INVENTORY_CACHE_REVALIDATE 7 + # Enable you to keep trace of every elements encountered in db life + PerlSetEnv OCS_OPT_INVENTORY_CACHE_KEEP 1 + +# ===== SOFTWARES DEPLOYMENT SETTINGS ===== + + # Enable this feature + PerlSetEnv OCS_OPT_DOWNLOAD 0 + # Package wich have a priority superior than this value will not be downloaded + PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LENGTH 10 + # Time between two download cycles (bandwidth control) + PerlSetEnv OCS_OPT_DOWNLOAD_CYCLE_LATENCY 60 + # Time between two fragment downloads (bandwidth control) + PerlSetEnv OCS_OPT_DOWNLOAD_FRAG_LATENCY 60 + # Specify if you want to track packages affected to a group on computer's level + PerlSetEnv OCS_OPT_DOWNLOAD_GROUPS_TRACE_EVENTS 1 + # Time between two download periods (bandwidth control) + PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LATENCY 60 + # Agents will send ERR_TIMEOUT event and clean the package it is older than this setting + PerlSetEnv OCS_OPT_DOWNLOAD_TIMEOUT 7 + # Number of cycle within a period + + # Enable ocs engine to deliver agent's files (deprecated) + PerlSetEnv OCS_OPT_DEPLOY 0 + # Enable the softwares deployment capacity (bandwidth control) + +# ===== GROUPS SETTINGS ===== + + # Enable the computer\s groups feature + PerlSetEnv OCS_OPT_ENABLE_GROUPS 1 + # Random number computed in the defined range. Designed to avoid computing many groups in the same process + PerlSetEnv OCS_OPT_GROUPS_CACHE_OFFSET 43200 + # Specify the validity of computer's groups (default: compute it once a day - see offset) + PerlSetEnv OCS_OPT_GROUPS_CACHE_REVALIDATE 43200 + +# ===== IPDISCOVER SETTINGS ===== + + # Specify how much agent per LAN will discovered connected peripherals (0 to disable) + PerlSetEnv OCS_OPT_IPDISCOVER 2 + # Specify the minimal difference to replace an ipdiscover agent + PerlSetEnv OCS_OPT_IPDISCOVER_BETTER_THRESHOLD 1 + # Time between 2 arp requests (mini: 10 ms) + PerlSetEnv OCS_OPT_IPDISCOVER_LATENCY 100 + # Specify when to remove a computer when it has not come until this period + PerlSetEnv OCS_OPT_IPDISCOVER_MAX_ALIVE 14 + # Disable the time before a first election (not recommended) + PerlSetEnv OCS_OPT_IPDISCOVER_NO_POSTPONE 0 + # Enable groups for ipdiscover (for example, you might want to prevent some groups to be ipdiscover agents) + PerlSetEnv OCS_OPT_IPDISCOVER_USE_GROUPS 1 + +# ===== INVENTORY FILES MAPPING SETTINGS ===== + + # Use with ocsinventory-injector, enable the multi entities feature + PerlSetEnv OCS_OPT_GENERATE_OCS_FILES 0 + # Generate either compressed file or clear XML text + PerlSetEnv OCS_OPT_OCS_FILES_FORMAT OCS + # Specify if you want to keep trace of all inventory between to synchronisation with the higher level server + PerlSetEnv OCS_OPT_OCS_FILES_OVERWRITE 0 + # Path to ocs files directory (must be writeable) + PerlSetEnv OCS_OPT_OCS_FILES_PATH /tmp + +# ===== FILTER SETTINGS ===== + + # Enable prolog filter stack + PerlSetEnv OCS_OPT_PROLOG_FILTER_ON 0 + # Enable core filter system to modify some things "on the fly" + PerlSetEnv OCS_OPT_INVENTORY_FILTER_ENABLED 0 + # Enable inventory flooding filter. A dedicated ipaddress ia allowed to send a new computer only once in this period + PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP 0 + # Period definition for INVENTORY_FILTER_FLOOD_IP + PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP_CACHE_TIME 300 + # Enable inventory filter stack + PerlSetEnv OCS_OPT_INVENTORY_FILTER_ON 0 + +# ===== DATA FILTER ===== + + #Enable the dat filtering capacity + PerlSetEnv OCS_OPT_DATA_FILTER 0 + + # Set the table names and the field associated you want to filter + #PerlAddVar OCS_OPT_DATA_TO_FILTER HARDWARE + #PerlAddVar OCS_OPT_DATA_TO_FILTER USERID + + +# ===== REGISTRY SETTINGS ===== + + # Enable the registry capacity + PerlSetEnv OCS_OPT_REGISTRY 1 + +# ===== SNMP SETTINGS ===== + + # Enable the SNMP capacity + PerlSetEnv OCS_OPT_SNMP 0 + + # Configure engine to update snmp inventory regarding to snmp_laststate table (lower DB backend load) + PerlSetEnv OCS_OPT_SNMP_INVENTORY_DIFF 1 + +# ===== SESSION SETTINGS ===== +# Not yet in GUI + + # Validity of a session (prolog=>postinventory) + PerlSetEnv OCS_OPT_SESSION_VALIDITY_TIME 600 + # Consider a session obsolete if it is older thant this value + PerlSetEnv OCS_OPT_SESSION_CLEAN_TIME 86400 + # Accept an inventory only if required by server + #( Refuse "forced" inventory) + PerlSetEnv OCS_OPT_INVENTORY_SESSION_ONLY 0 + +# ===== TAG ===== + + # The default behavior of the server is to ignore TAG changes from the + # agent. + PerlSetEnv OCS_OPT_ACCEPT_TAG_UPDATE_FROM_CLIENT 0 + + +# ===== DEPRECATED ===== + + # Set the proxy cache validity in http headers when sending a file + PerlSetEnv OCS_OPT_PROXY_REVALIDATE_DELAY 3600 + # Deprecated + PerlSetEnv OCS_OPT_UPDATE 0 + +############ DO NOT MODIFY BELOW ! ####################### + + # External modules + PerlModule Apache::DBI + PerlModule Compress::Zlib + PerlModule XML::Simple + + # Ocs + PerlModule Apache::Ocsinventory + PerlModule Apache::Ocsinventory::Server::Constants + PerlModule Apache::Ocsinventory::Server::System + PerlModule Apache::Ocsinventory::Server::Communication + PerlModule Apache::Ocsinventory::Server::Inventory + PerlModule Apache::Ocsinventory::Server::Duplicate + + # Capacities + PerlModule Apache::Ocsinventory::Server::Capacities::Registry + PerlModule Apache::Ocsinventory::Server::Capacities::Update + PerlModule Apache::Ocsinventory::Server::Capacities::Ipdiscover + PerlModule Apache::Ocsinventory::Server::Capacities::Download + PerlModule Apache::Ocsinventory::Server::Capacities::Notify + PerlModule Apache::Ocsinventory::Server::Capacities::Snmp + # This module guides you through the module creation + # PerlModule Apache::Ocsinventory::Server::Capacities::Example + # This module adds some rules to filter some request sent to ocs server in the prolog and inventory stages + # PerlModule Apache::Ocsinventory::Server::Capacities::Filter + # This module add availibity to filter data from HARDWARE section (data filtered won't be stored in database) + # PerlModule Apache::Ocsinventory::Server::Capacities::Datafilter + + # PerlTaintCheck On + + # SSL apache settings + #SSLEngine "SSL_ENABLE" + #SSLCertificateFile "SSL_CERTIFICATE_FILE" + #SSLCertificateKeyFile "SSL_CERTIFICATE_KEY_FILE" + #SSLCACertificateFile "SSL_CERTIFICATE_FILE" + #SSLCACertificatePath "SSL_CERTIFICATE_PATH" + #SSLVerifyClient "SSL_VALIDATE_CLIENT" + + # Engine apache settings + # "Virtual" directory for handling OCS Inventory NG agents communications + # Be careful, do not create such directory into your web server root document ! + <Location /ocsinventory> + order deny,allow + allow from all + Satisfy Any + # If you protect this area you have to deal with http_auth_* agent's parameters + # AuthType Basic + # AuthName "OCS Inventory agent area" + # AuthUserFile "APACHE_AUTH_USER_FILE" + # require valid-user + SetHandler perl-script + PerlHandler Apache::Ocsinventory + </Location> + + # Web service apache settings + PerlModule Apache::Ocsinventory::SOAP + + <location /ocsinterface> + SetHandler perl-script + PerlHandler "Apache::Ocsinventory::SOAP" + + # By default, you can query web service from everywhere with a valid user + Order deny,allow + Allow from all + AuthType Basic + AuthName "OCS Inventory SOAP Area" + # Use htpasswd to create/update soap-user (or another granted user) + AuthUserFile "APACHE_AUTH_USER_FILE" + require user "SOAP_USER" + </location> +</IfModule> + only in patch2: unchanged: --- ocsinventory-server-2.0.5.orig/debian/ocsinventory-reports.apache2 +++ ocsinventory-server-2.0.5/debian/ocsinventory-reports.apache2 @@ -0,0 +1 @@ +conf debian/conf/ocsinventory-reports.conf only in patch2: unchanged: --- ocsinventory-server-2.0.5.orig/debian/ocsinventory-reports.maintscript +++ ocsinventory-server-2.0.5/debian/ocsinventory-reports.maintscript @@ -0,0 +1 @@ +mv_conffile /etc/ocsinventory/ocsreports.conf /etc/apache2/conf-available/ocsinventory-reports.conf 2.0.5-1.2~ only in patch2: unchanged: --- ocsinventory-server-2.0.5.orig/debian/ocsinventory-server.apache2 +++ ocsinventory-server-2.0.5/debian/ocsinventory-server.apache2 @@ -0,0 +1 @@ +conf debian/conf/ocsinventory-server.conf only in patch2: unchanged: --- ocsinventory-server-2.0.5.orig/debian/patches/series +++ ocsinventory-server-2.0.5/debian/patches/series @@ -0,0 +1 @@ +01-compat_with_other_agents.patch
signature.asc
Description: OpenPGP digital signature