--- ocsinventory-agent-2.0.orig/debian/README.Debian +++ ocsinventory-agent-2.0/debian/README.Debian @@ -0,0 +1,28 @@ +ocsinventory-agent for Debian +----------------------------- + +More documentation can be found on the upstream website: +http://ocsinventory.sourceforge.net/ + +In particular, you can find the file +OCS_Inventory_NG_Installation_and_Administration_Guide_1.7_EN.pdf +on this web page: +http://ocsinventory.sourceforge.net/index.php?page=1_0_rc3-1 + +FEATURES: +--------- + The auto-update feature is disabled in the Debian Package: software should be +updated with dpkg/apt. + +FILES: +------ + In the Debian package, files are moved in order to respect the FHS. +That is: +* upstream /etc/ocsinventory-client/last-state is moved to + /var/cache/ocsinventory-client/last-state in this package +* upstream /etc/ocsinventory-client/ocsinv.adm is moved to + /var/lib/ocsinventory-client/ocsinv.adm in this package +* upstream /bin/ocsinv is moved to /usr/bin/ocsinv in this package + + + -- Pierre Chifflier Mon, 15 Jan 2007 12:28:59 +0100 --- ocsinventory-agent-2.0.orig/debian/README.source +++ ocsinventory-agent-2.0/debian/README.source @@ -0,0 +1,2 @@ +This package uses quilt for patch management, for more information see +the file /usr/share/doc/quilt/README.source in the quilt package. --- ocsinventory-agent-2.0.orig/debian/changelog +++ ocsinventory-agent-2.0/debian/changelog @@ -0,0 +1,266 @@ +ocsinventory-agent (2:2.0-1ubuntu1) oneiric; urgency=low + + * merged OCS 2.0-1 debian with ubuntu + + -- Richard Sellam Fri, 09 Sep 2011 16:34:44 +0200 + + +ocsinventory-agent (2:2.0-1) unstable; urgency=low + + * Imported Upstream version 2.0 (Closes: #629047) + * Removed patch no-ExtUtils-Installed.diff, applied upstream + * Bump Standards Version to 3.9.2 + * Add build-arch and build-indep targets (fix lintian warnings) + * Remove temporary file in postinst (Closes: #602407) + * Add hdparm to recommended packages (Closes: #609879) + + -- Pierre Chifflier Fri, 29 Jul 2011 23:51:45 +0200 + +ocsinventory-agent (2:1.1.1-2.3) unstable; urgency=low + + * Non-maintainer upload. + * Fix encoding of Danish debconf translation. + + -- Christian Perrier Tue, 11 Jan 2011 22:07:19 +0100 + +ocsinventory-agent (2:1.1.1-2.2) unstable; urgency=low + + * Non-maintainer upload. + * Do not use ExtUtils::Installed to find module (Closes: #590879) + ExtUtils::Installed looks all the @INC directory for .pack files, + including '.'. When the agent was launched by a cron task or in + daemon mode, the current directory is / and so the whole system was + scanned, thank you Remi COLLET for pointing this issue. + + -- Gonéri Le Bouder Fri, 24 Sep 2010 22:08:09 +0200 + +ocsinventory-agent (2:1.1.1-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Explicitly use 1.0 as source format. + * Drop Gonéri Le Bouder from Uploaders on his request + * Fix pending l10n issues. Debconf translations: + - Japanese (Hideki Yamane (Debian-JP)). Closes: #564298 + - Danish (Joe Hansen). Closes: #581037 + - Vietnamese (Clytie Siddall). Closes: #581540 + + -- Christian Perrier Mon, 17 May 2010 07:14:39 +0200 + +ocsinventory-agent (2:1.1.1-2) unstable; urgency=low + + * New upstream release + + -- Gonéri Le Bouder Sun, 03 Jan 2010 16:29:14 +0100 + +ocsinventory-agent (2:1.1.1-1) unstable; urgency=low + + * New upstream release + - disable kvm-detection.diff and pod-syntax.diff, merged upstream + * ja.po translation added, thanks Hideki Yamane (Closes: #554093) + + -- Gonéri Le Bouder Mon, 21 Dec 2009 23:10:03 +0100 + +ocsinventory-agent (2:1.1-1) unstable; urgency=low + + * New upstream release + * debian/ocsinventory-agent.templates, change _Choices to __Choices + * Bump the epoch since for dpkg, 1.1beta1 > 1.1 + + -- Gonéri Le Bouder Sat, 14 Nov 2009 19:50:29 +0100 + +ocsinventory-agent (1:1.1beta1-1) experimental; urgency=low + + * New upstream beta release + * Standard Version: 3.8.3 + - add a minimalist README.source + * Don't check for /usr/bin/ucf presence to make lintian happy, BTW there + is already a dependency on ucf + + -- Gonéri Le Bouder Fri, 18 Sep 2009 17:45:14 +0200 + +ocsinventory-agent (1:1.0.1-4) unstable; urgency=low + + * Add ru translation (Closes: #541757) + + -- Gonéri Le Bouder Mon, 17 Aug 2009 11:21:58 +0200 + +ocsinventory-agent (1:1.0.1-3) unstable; urgency=low + + * Add two new packages in suggests: + - read-edid can be used to identify the screen + - smartmontools is used to detect RAID system + + -- Gonéri Le Bouder Tue, 28 Jul 2009 16:05:59 +0200 + +ocsinventory-agent (1:1.0.1-2) unstable; urgency=low + + * Fails to install/upgrade with mktemp 1.6-2, thanks Cyril Brulebois + (Closes: #521213) + * Bump Standard Version to 3.8.1 + * Drop the debian/: file + * Add Swedish translation, thanks Martin Bagge (Closes: #506598) + + -- Gonéri Le Bouder Wed, 25 Mar 2009 21:38:59 +0100 + +ocsinventory-agent (1:1.0.1-1) unstable; urgency=low + + * New upstream release + - update debian/copyright + - Suggests: nmap + - drop the patches, merged upstream + - calls ucf with --debconf-ok, when it should reuse the debconf instance + * clean up debian/rules + + -- Gonéri Le Bouder Sun, 22 Mar 2009 20:29:36 +0100 + +ocsinventory-agent (1:0.0.9.2repack1-5) unstable; urgency=low + + * New patch exclude_curdir_recursion: + Do not recurse all directories from . (especially when . is /) + Closes: #506416 (important) + + -- Pierre Chifflier Fri, 21 Nov 2008 12:53:55 +0100 + +ocsinventory-agent (1:0.0.9.2repack1-4) unstable; urgency=low + + * fix: --nosoftware option has no effect and give a warning + - add patch from upstream CVS, thanks Laurent Léonard (Closes: #497710) + + -- Gonéri Le Bouder Fri, 05 Sep 2008 16:55:52 +0200 + +ocsinventory-agent (1:0.0.9.2repack1-3) unstable; urgency=low + + * Add Romanian debconf template (Closes: #488738) + + -- Gonéri Le Bouder Sat, 09 Aug 2008 14:15:19 +0200 + +ocsinventory-agent (1:0.0.9.2repack1-2) unstable; urgency=low + + * Fix path in post[inst,rm} scripts + * Bump standards version to 3.8.0 + * Update homepage + + -- Pierre Chifflier Wed, 11 Jun 2008 12:02:26 +0200 + +ocsinventory-agent (1:0.0.9.2repack1-1) unstable; urgency=low + + * repack the archive to avoid the non-free IETF RFC/I-D, + thanks Simon Josefsson (Closes: #478107) + * remove the first entry of the changelog. It'd been created + by dch by mistake + * clean: remove quilt's .pc directory + + -- Gonéri Le Bouder Sun, 27 Apr 2008 18:54:47 +0200 + +ocsinventory-agent (1:0.0.9.2-1) unstable; urgency=low + + [ Pierre Chifflier ] + * Add Spanish debconf template (Closes: #476283) + + [ Gonéri Le Bouder ] + * New upstream release (Closes: #476549) + * Add myself as comaintainer + * Fix the watchfile to use CPAN + + -- Pierre Chifflier Sat, 19 Apr 2008 12:42:42 +0200 + +ocsinventory-agent (1:0.0.8-3) unstable; urgency=low + + * Add dependency on libproc-daemon-perl (Closes: #475410) + * Call db_stop after ucf (Closes: #469513) + * Add Brazilian Portuguese debconf templates (Closes: #471484) + + -- Pierre Chifflier Sat, 12 Apr 2008 15:05:29 +0200 + +ocsinventory-agent (1:0.0.8-2) unstable; urgency=low + + * Call db_stop after ucf (Closes: #468101) + + -- Pierre Chifflier Mon, 10 Mar 2008 10:19:14 +0100 + +ocsinventory-agent (1:0.0.8-1) unstable; urgency=medium + + * New upstream release, without RFC files (Closes: #463937) + * urgency medium because bug is RC + + -- Pierre Chifflier Tue, 05 Feb 2008 16:47:03 +0100 + +ocsinventory-agent (1:0.0.7-1) unstable; urgency=low + + * New upstream release (switch to ocsinventory-agent) + * Add epoch to handle change in version + * Set arch to all + * Drop patches + * Update my email address + * Disable watch file temporarily + * Ask for server only if using http method + * Bum standards version (no changes) + + -- Pierre Chifflier Fri, 25 Jan 2008 21:34:50 +0100 + +ocsinventory-agent (1.01-6) unstable; urgency=medium + + * Build only for architectures where dmidecode is available + (Closes: #431300) + * urgency=medium because of RC bug + + -- Pierre Chifflier Mon, 02 Jul 2007 00:34:59 +0200 + +ocsinventory-agent (1.01-5) unstable; urgency=low + + * Debconf templates review (Closes: #422695) + + Arabic (Closes: #423613) + + Bulgarian (Closes: #423537) + + Czech (Closes: #426053) + + Dutch (Closes: #425712) + + French (Closes: #426347) + + Galician (Closes: #423546) + + German (Closes: #425160) + + Italian (Closes: #426254) + + Portuguese (Closes: #422488) + + -- Pierre Chifflier Tue, 29 May 2007 10:32:55 +0200 + +ocsinventory-agent (1.01-4) unstable; urgency=medium + + * Install file ocsinv.adm in correct path, and do not try to copy it + (Closes: #422189) + * Urgency = medium because of the above bug + + -- Pierre Chifflier Fri, 4 May 2007 09:55:38 +0200 + +ocsinventory-agent (1.01-3) unstable; urgency=low + + * Fix logrotate file (Closes: #419346) + * Fix ocsinv.adm path in create-ucf-config-files.pl to set tag correctly + (Closes: #419355) + + -- Pierre Chifflier Sun, 15 Apr 2007 12:00:01 +0200 + +ocsinventory-agent (1.01-2) unstable; urgency=low + + * Debconf translations: + + add German (Closes: #418751) + + -- Pierre Chifflier Sat, 14 Apr 2007 11:13:03 +0200 + +ocsinventory-agent (1.01-1) unstable; urgency=low + + * New upstream release + * Update my email address + + -- Pierre Chifflier Tue, 03 Apr 2007 10:39:15 +0200 + +ocsinventory-agent (1.0+debian-1) unstable; urgency=low + + * New upstream release + * Repackage upstream tarball to remove CVS and tgz files + + -- Pierre Chifflier Sun, 28 Jan 2007 21:18:27 +0100 + +ocsinventory-agent (1.0~rc3-1) unstable; urgency=low + + * Initial release (Closes: #406964) based on the work of Vincent Danjean + + -- Pierre Chifflier Mon, 15 Jan 2007 12:28:59 +0100 + --- ocsinventory-agent-2.0.orig/debian/compat +++ ocsinventory-agent-2.0/debian/compat @@ -0,0 +1 @@ +5 --- ocsinventory-agent-2.0.orig/debian/control +++ ocsinventory-agent-2.0/debian/control @@ -0,0 +1,36 @@ +Source: ocsinventory-agent +Section: net +Priority: extra +Maintainer: Richard Sellam +XSBC-Original-Maintainer: Pierre Chifflier +Build-Depends: debhelper (>= 5), + libxml-simple-perl, libnet-ip-perl, + libcompress-zlib-perl, + libwww-perl, libnet-ssleay-perl, + po-debconf, perl, quilt +Standards-Version: 3.9.2 +Homepage: http://www.ocsinventory-ng.org/ + +Package: ocsinventory-agent +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, + debconf (>= 0.5) | debconf-2.0, po-debconf, + ucf, + libxml-simple-perl, libcompress-zlib-perl, + libnet-ip-perl, libwww-perl, libdigest-md5-file-perl, + libnet-ssleay-perl, dmidecode +Recommends: hdparm, pciutils +Suggests: libcrypt-ssleay-perl, libnet-snmp-perl, + libproc-pid-file-perl, libproc-daemon-perl, + net-tools, libsys-syslog-perl, + ipmitool, read-edid, libnet-cups-perl, + nmap, libnmap-parser-perl +Description: Hardware and software inventory tool (client) + Open Computer and Software Inventory Next Generation is an + application designed to help a network or system administrator to + keep track of the hardware and software configurations of computers + that are installed on the network. It also allows deploying + software, scripts and files on client computers. + . + This package contains the client part. + --- ocsinventory-agent-2.0.orig/debian/copyright +++ ocsinventory-agent-2.0/debian/copyright @@ -0,0 +1,39 @@ +This package was debianized by Pierre Chifflier on +Mon, 15 Jan 2007 12:28:59 +0100. + +It was downloaded from http://search.cpan.org/dist/Ocsinventory-Agent/ + +Upstream maintainer: OCS Inventory Team +Copyright (C) 2006-2009 Gonéri LE BOUDER +Copyright (C) 2005-2008 Pascal DANEK +Copyright (C) 2007 Olivier ANDREOTTI +Copyright (C) 2007 Thierry LACOSTE +Copyright (C) 2007 Didier LIROULET +Copyright (C) 2008 Nicolas DORFSMAN +Copyright (C) 2008 Wes YOUNG +Copyright (C) 2008 Edouard GAMIN +Copyright (C) 2008 Christoph HALMES +Copyright (C) 2008 Jean PARPAILLON +Copyright (C) 2008 David DURIEUX + + + +License: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + + +The Debian packaging is (C) 2007, Pierre Chifflier and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. + --- ocsinventory-agent-2.0.orig/debian/logrotate +++ ocsinventory-agent-2.0/debian/logrotate @@ -0,0 +1,7 @@ +/var/log/ocsinventory-client/*.log { + weekly + rotate 7 + compress + notifempty +} + --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.config +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.config @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +action=$1 +version=$2 + +# Source debconf library. +. /usr/share/debconf/confmodule +db_version 2.0 + +db_input high ocsinventory-agent/method || true +db_go + +db_get ocsinventory-agent/method || true +if [ "$RET" = "http" ]; then + db_input high ocsinventory-agent/server || true +fi + +db_input medium ocsinventory-agent/tag || true + +db_go + +db_stop + +exit 0 + --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.cron.daily +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.cron.daily @@ -0,0 +1,19 @@ +#!/bin/sh + +PROG=/usr/bin/ocsinventory-agent +#RUNDIR=/var/run +#ENABLED_FILE=$RUNDIR/ocsinventory-client-enabled + +if [ ! -x "$PROG" ]; then + exit 0 +fi + +#if [ ! -f "$ENABLED_FILE" ]; then +# perl -e \ +# 'print localtime()." => Service disabled: not running the cron job\n"'\ +# >> /var/log/ocsinventory-client/ocsinv.log +# exit 0 +#fi + +$PROG > /dev/null 2>&1 + --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.dirs +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.dirs @@ -0,0 +1,7 @@ +etc/cron.daily +etc/logrotate.d +etc/ocsinventory +usr/bin +var/cache/ocsinventory-agent +var/lib/ocsinventory-agent +var/log/ocsinventory-client --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.docs +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.docs @@ -0,0 +1 @@ +README --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.files +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.files @@ -0,0 +1 @@ +ocsinventory-agent_1.0~rc3-1_i386.deb net extra --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.install +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.install @@ -0,0 +1,4 @@ +etc/ocsinventory +usr/bin/ocsinventory-agent +usr/share/man +usr/share/perl5 --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.links +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.links @@ -0,0 +1 @@ +/usr/share/man/man3/Ocsinventory::Agent.3pm.gz /usr/share/man/man1/ocsinventory-agent.1pm.gz --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.logrotate +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.logrotate @@ -0,0 +1,21 @@ +################################################################################ +# +# OCS Inventory NG Agent +# +# Copyleft 2006 Didier LIROULET +# Web: http://ocsinventory.sourceforge.net +# +# 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 +################################################################################ +# +# Rotate OCS Inventory NG agent logs daily, only if not empty +# Save 7 days old logs under compressed mode +/var/log/ocsinventory-client/*.log { + daily + rotate 7 + compress + notifempty + missingok +} --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.postinst +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.postinst @@ -0,0 +1,85 @@ +#!/bin/sh +# postinst script for ocsinventory-agent +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +case "$1" in + configure|reconfigure) + + if [ -f /etc/ocsinventory-client/last_state ]; then + echo "Moving autogenerated file to right directory" + mv -v /etc/ocsinventory-client/last_state \ + /var/cache/ocsinventory-agent/ + fi + if [ -f /etc/ocsinventory-client/ocsinv.adm ]; then + echo "Moving autogenerated file to right directory" + mv -v /etc/ocsinventory-client/ocsinv.adm \ + /var/lib/ocsinventory-agent/ + ucf --purge /etc/ocsinventory-client/ocsinv.adm + fi + if [ -f /etc/init.d/ocsinventory-client ]; then + echo "Deleting old init.d file" + rm -fv /etc/init.d/ocsinventory-client + update-rc.d ocsinventory-client remove >/dev/null || exit 0 + fi + + # source debconf library + . /usr/share/debconf/confmodule + + SERVER="" + db_get ocsinventory-agent/method || true + if [ "$RET" = "http" ]; then + db_get ocsinventory-agent/server || true + SERVER="$RET" + fi + db_get ocsinventory-agent/tag || true + TAG="$RET" + + # Creating local sample config + TMPFILE=`mktemp /tmp/ocsinv.XXXXXXXX` + if [ -n "$SERVER" ]; then + echo "server=$SERVER" >> $TMPFILE + fi + if [ -n "$TAG" ]; then + echo "tag=$TAG" >> $TMPFILE + fi + + # Install the config + ucf --debconf-ok $TMPFILE /etc/ocsinventory/ocsinventory-agent.cfg + + db_stop + rm -f $TMPFILE + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst 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 + + --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.postrm +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.postrm @@ -0,0 +1,51 @@ +#!/bin/sh +# postrm script for ocsinventory-agent +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge) + ucf --purge /etc/ocsinventory-client/ocsinv.conf + ucf --purge /etc/ocsinventory/ocsinventory-agent.cfg + rm -f /etc/ocsinventory-client/ocsinv.conf + rm -f /etc/ocsinventory/ocsinventory-agent.cfg + rm -f /var/lib/ocsinventory-agent/ocsinv.adm + rm -f /usr/share/ocsinventory-client/ocsinv.conf + rm -f /usr/share/ocsinventory-client/ocsinv.adm + rm -f /var/cache/ocsinventory-agent/last_state + rm -f /var/log/ocsinventory-client/ocsinv.log + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm 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 + + --- ocsinventory-agent-2.0.orig/debian/ocsinventory-agent.templates +++ ocsinventory-agent-2.0/debian/ocsinventory-agent.templates @@ -0,0 +1,32 @@ +# These templates have been reviewed by the debian-l10n-english +# team +# +# If modifications/additions/rewording are needed, please ask +# for an advice to debian-l10n-english@lists.debian.org +# +# Even minor modifications require translation updates and such +# changes should be coordinated with translators and reviewers. + +Template: ocsinventory-agent/method +Type: select +__Choices: local, http +Default: local +_Description: Method used to generate the inventory: + Choose the 'local' method if you do not have a network connection. + . + Choose the 'http' method if an OCS Inventory server is set up. + +Template: ocsinventory-agent/server +Type: string +_Description: OCS Inventory server host name: + Please enter the host name of the OCS inventory server. + +Template: ocsinventory-agent/tag +Type: string +_Description: Tag for the generated inventory: + Each inventory can have an associated tag. Please enter the tag you would + like for the new inventory. + . + This field can be left blank to continue without setting a new tag for the + inventory. + --- ocsinventory-agent-2.0.orig/debian/rules +++ ocsinventory-agent-2.0/debian/rules @@ -0,0 +1,90 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + +DEB_DH_INSTALL_CRON_ARGS=--name=ocsinventory-agent + +configure: configure-stamp +configure-stamp: + dh_testdir + + QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2 + + touch configure-stamp + + +build: build-arch build-indep +build-arch: build-stamp +build-indep: build-stamp + +build-stamp: configure-stamp + dh_testdir + + PERL_AUTOINSTALL=--skip perl Makefile.PL INSTALLDIRS=vendor + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) clean + rm -f Makefile.old + + QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2 + rm -rf .pc + [ ! -f ipdiscover ] || rm -f ipdiscover + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + + install -d -m 0755 $(CURDIR)/debian/tmp/etc/ocsinventory + install -m 0644 etc/ocsinventory-agent/modules.conf $(CURDIR)/debian/tmp/etc/ocsinventory/ + + dh_install --list-missing --sourcedir=debian/tmp + + + +# Build architecture-dependent files here. +binary-arch: build install +# We have nothing to do by default. + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot + dh_installchangelogs Changes + dh_installdocs + dh_installexamples +# dh_install + dh_installdebconf + dh_installlogrotate +# dh_installinit + dh_installcron $(DEB_DH_INSTALL_CRON_ARGS) +# dh_installinfo + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_perl +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- ocsinventory-agent-2.0.orig/debian/watch +++ ocsinventory-agent-2.0/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://search.cpan.org/dist/Ocsinventory-Agent/ .*/Ocsinventory-Agent-([[:digit:]].*)\.tar\.gz --- ocsinventory-agent-2.0.orig/debian/patches/exclude_curdir_recursion.patch +++ ocsinventory-agent-2.0/debian/patches/exclude_curdir_recursion.patch @@ -0,0 +1,12 @@ +Index: ocsinventory-agent-0.0.9.2repack1/lib/Ocsinventory/Agent/Backend.pm +=================================================================== +--- ocsinventory-agent-0.0.9.2repack1.orig/lib/Ocsinventory/Agent/Backend.pm 2008-11-21 11:31:12.000000000 +0100 ++++ ocsinventory-agent-0.0.9.2repack1/lib/Ocsinventory/Agent/Backend.pm 2008-11-21 11:31:20.000000000 +0100 +@@ -46,6 +46,7 @@ + # changes the @INC content if i use $_ directly + # thanks to @rgs on irc.perl.org + foreach my $d (@INC) { ++ next if $d eq "."; + next unless -d $d; + File::Find::find( sub { + push @installed_mod, $File::Find::name if $File::Find::name =~ /Ocsinventory\/Agent\/Backend\/.*\.pm$/; --- ocsinventory-agent-2.0.orig/debian/patches/fix-no-software.patch +++ ocsinventory-agent-2.0/debian/patches/fix-no-software.patch @@ -0,0 +1,54 @@ +diff -Nru Ocsinventory-Agent-0.0.9.2/lib/Ocsinventory/Agent/Backend/OS/AIX/Software.pm Ocsinventory-Agent-0.0.9.2-nosoftware/lib/Ocsinventory/Agent/Backend/OS/AIX/Software.pm +--- Ocsinventory-Agent-0.0.9.2/lib/Ocsinventory/Agent/Backend/OS/AIX/Software.pm 2008-04-02 17:33:20.000000000 +0200 ++++ Ocsinventory-Agent-0.0.9.2-nosoftware/lib/Ocsinventory/Agent/Backend/OS/AIX/Software.pm 2008-09-03 15:15:05.000000000 +0200 +@@ -6,8 +6,8 @@ + sub check { + my $params = shift; + +- # Do not run an package inventory if there is the --nosoft parameter +- return if ($params->{params}->{nosoft}); ++ # Do not run an package inventory if there is the --nosoftware parameter ++ return if ($params->{params}->{nosoftware}); + + `lslpp -l 2>&1`; + return if ($? >> 8)!=0; +diff -Nru Ocsinventory-Agent-0.0.9.2/lib/Ocsinventory/Agent/Backend/OS/Generic/Packaging.pm Ocsinventory-Agent-0.0.9.2-nosoftware/lib/Ocsinventory/Agent/Backend/OS/Generic/Packaging.pm +--- Ocsinventory-Agent-0.0.9.2/lib/Ocsinventory/Agent/Backend/OS/Generic/Packaging.pm 2008-04-02 17:33:20.000000000 +0200 ++++ Ocsinventory-Agent-0.0.9.2-nosoftware/lib/Ocsinventory/Agent/Backend/OS/Generic/Packaging.pm 2008-09-03 15:15:18.000000000 +0200 +@@ -5,8 +5,8 @@ + sub check { + my $params = shift; + +- # Do not run an package inventory if there is the --nosoft parameter +- return if ($params->{params}->{nosoft}); ++ # Do not run an package inventory if there is the --nosoftware parameter ++ return if ($params->{params}->{nosoftware}); + + 1; + } +diff -Nru Ocsinventory-Agent-0.0.9.2/lib/Ocsinventory/Agent/Backend/OS/Solaris/Packages.pm Ocsinventory-Agent-0.0.9.2-nosoftware/lib/Ocsinventory/Agent/Backend/OS/Solaris/Packages.pm +--- Ocsinventory-Agent-0.0.9.2/lib/Ocsinventory/Agent/Backend/OS/Solaris/Packages.pm 2008-04-02 17:33:20.000000000 +0200 ++++ Ocsinventory-Agent-0.0.9.2-nosoftware/lib/Ocsinventory/Agent/Backend/OS/Solaris/Packages.pm 2008-09-03 15:15:33.000000000 +0200 +@@ -6,8 +6,8 @@ + sub check { + my $params = shift; + +- # Do not run an package inventory if there is the --nosoft parameter +- return if ($params->{params}->{nosoft}); ++ # Do not run an package inventory if there is the --nosoftware parameter ++ return if ($params->{params}->{nosoftware}); + + `which pkginfo 2>&1`; + return if ($? >> 8)!=0; +diff -Nru Ocsinventory-Agent-0.0.9.2/ocsinventory-agent Ocsinventory-Agent-0.0.9.2-nosoftware/ocsinventory-agent +--- Ocsinventory-Agent-0.0.9.2/ocsinventory-agent 2008-04-18 18:49:44.000000000 +0200 ++++ Ocsinventory-Agent-0.0.9.2-nosoftware/ocsinventory-agent 2008-09-03 15:24:25.000000000 +0200 +@@ -210,7 +210,7 @@ + + }); + +-if ($params->{nosoftware}) { ++if ($params->{nosoft}) { + $logger->info("the parameter --nosoft is deprecated and may be removed in a futur release, please use --nosoftware instead."); + $params->{nosoftware} = 1 + } --- ocsinventory-agent-2.0.orig/debian/patches/kvm-detection.diff +++ ocsinventory-agent-2.0/debian/patches/kvm-detection.diff @@ -0,0 +1,11 @@ +--- Ocsinventory-Agent-1.1.orig/lib/Ocsinventory/Agent/Backend/Virtualization/Qemu.pm ++++ Ocsinventory-Agent-1.1/lib/Ocsinventory/Agent/Backend/Virtualization/Qemu.pm +@@ -3,7 +3,7 @@ + + use strict; + +-sub check { return (can_run('qemu') || can_run('qemu'))} ++sub check { return (can_run('qemu') || can_run('kvm'))} + + sub run { + my $params = shift; --- ocsinventory-agent-2.0.orig/debian/patches/no-ExtUtils-Installed.diff +++ ocsinventory-agent-2.0/debian/patches/no-ExtUtils-Installed.diff @@ -0,0 +1,26 @@ +--- ocsinventory-agent-1.1.1.orig/lib/Ocsinventory/Agent/Backend.pm ++++ ocsinventory-agent-1.1.1/lib/Ocsinventory/Agent/Backend.pm +@@ -4,8 +4,6 @@ + no strict 'refs'; + use warnings; + +-use ExtUtils::Installed; +- + sub new { + my (undef, $params) = @_; + +@@ -88,14 +86,6 @@ + # devlib enable, I only search for backend module in ./lib + push (@dirToScan, './lib'); + } else { +- my ($inst) = ExtUtils::Installed->new(); +- +- eval {@installed_files = +- $inst->files('Ocsinventory')}; +- +-# ExtUtils::Installed is nice but it needs properly installed package with +-# .packlist +-# This is a workaround for 'invalide' installations... + foreach (@INC) { + next if ! -d || (-l && -d readlink) || /^(\.|lib)$/; + push @dirToScan, $_; --- ocsinventory-agent-2.0.orig/debian/patches/no_postinst_questions +++ ocsinventory-agent-2.0/debian/patches/no_postinst_questions @@ -0,0 +1,13 @@ +Index: Ocsinventory-Agent-0.0.7/Makefile.PL +=================================================================== +--- Ocsinventory-Agent-0.0.7.orig/Makefile.PL 2008-01-13 11:19:13.000000000 +0100 ++++ Ocsinventory-Agent-0.0.7/Makefile.PL 2008-01-13 11:19:22.000000000 +0100 +@@ -7,7 +7,7 @@ + return ' + install :: all pure_install doc_install + $(NOECHO) $(NOOP) +- [ ! -f run-postinst ] || perl postinst.pl ++ #[ ! -f run-postinst ] || perl postinst.pl + '; + } + --- ocsinventory-agent-2.0.orig/debian/patches/pod-syntax.diff +++ ocsinventory-agent-2.0/debian/patches/pod-syntax.diff @@ -0,0 +1,11 @@ +--- Ocsinventory-Agent-1.1.orig/ocsinventory-agent ++++ Ocsinventory-Agent-1.1/ocsinventory-agent +@@ -221,6 +221,8 @@ + + It looks for the file in these directory: + ++=over ++ + =item /etc/ocsinventory + + =item /usr/local/etc/ocsinventory --- ocsinventory-agent-2.0.orig/debian/patches/series +++ ocsinventory-agent-2.0/debian/patches/series @@ -0,0 +1 @@ +#pod-syntax.diff --- ocsinventory-agent-2.0.orig/debian/po/POTFILES.in +++ ocsinventory-agent-2.0/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] ocsinventory-agent.templates --- ocsinventory-agent-2.0.orig/debian/po/ar.po +++ ocsinventory-agent-2.0/debian/po/ar.po @@ -0,0 +1,85 @@ +# translation of templates.po to Arabic +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Ossama M. Khayat , 2007. +msgid "" +msgstr "" +"Project-Id-Version: templates\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-13 17:08+0300\n" +"Last-Translator: Ossama M. Khayat \n" +"Language-Team: Arabic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=6; plural=n==1 ? 0 : n==0 ? 1 : n==2 ? 2: n%100>=3 && " +"n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "local" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "الطريقة المستخدمة لتوليد المخزون:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "اختر الطريقة 'local' إن لم يكن لديك اتصال شبكي." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "اختر الطريقة 'http' إن كان هناك خادم مخزون OCS Inventory مُعدّ." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "اسم خادم مخزون OCS Inventory:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "الرجاء إدخال اسم المضيف لخادم مخزون OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "مسمى المخزون الناتج:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"يمكن لكل مخزون أن يكون له مسمى معين. الرجاء إدخال المسمى الذي تود استخدامه " +"للمخزون الجديد." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "يمكن ترك هذا الحقل فارغاً دون تحديد مسمى للمخزون الجديد." --- ocsinventory-agent-2.0.orig/debian/po/bg.po +++ ocsinventory-agent-2.0/debian/po/bg.po @@ -0,0 +1,83 @@ +# translation of bg.po to Bulgarian +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Damyan Ivanov , 2007. +msgid "" +msgstr "" +"Project-Id-Version: bg\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-12 19:17+0300\n" +"Last-Translator: Damyan Ivanov \n" +"Language-Team: Bulgarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "локално" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "на сървър" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Съхранение на информацията за инвентара:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Изберете „локално“ ако нямате връзка с OCS-сървър." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "Изберете „на OCS-сървър“ ако имате достъп до инвентарен сървър." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "OCS-сървър:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Въведете името на хоста, където е инсталиран OCS-сървъра." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Етикет:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Всеки инвентар може да има присвоен етикет. Въведете етикета, който искате " +"да се използва с новия инвентар." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "Ако не желаете да присвоите етикет, оставете полето празно." --- ocsinventory-agent-2.0.orig/debian/po/cs.po +++ ocsinventory-agent-2.0/debian/po/cs.po @@ -0,0 +1,84 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-25 23:37+0200\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "lokální" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Způsob vytvoření inventáře:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Nejste-li připojeni k síti, zvolte 'lokální'." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "Pokud již máte nastaven server OCS Inventory, zvolte 'http'." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Jméno serveru OCS Inventory:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Zadejte prosím jméno počítače, na kterém běží OCS Inventory server." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Značka vytvořeného inventáře:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Každý inventář má přidělenu značku. Zadejte značku, kterou chcete použít pro " +"nový inventář." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Toto pole můžete nechat prázdné a novému inventáři tak žádnou značku " +"nepřidělit." --- ocsinventory-agent-2.0.orig/debian/po/da.po +++ ocsinventory-agent-2.0/debian/po/da.po @@ -0,0 +1,85 @@ +# Danish translation ocsinventory-agent. +# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the ocsinventory-agent package. +# Joe Hansen , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2010-05-10 17:30+01:00\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "lokal" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Metode brugt til at oprette lageret:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Vælg metoden lokal hvis du ikke har en netværksforbindelse." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "Vælg metoden http hvis en OCS-lagerserver er sat op." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Serverværtsnavn for OCS-lager:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Indtast venligst værtsnavnet på OCS-lagerserveren." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Mærke for det oprettede lager:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Hvert lager kan have et associeret mærke. Indtast venligst det mærke du " +"ønsker for dette nye lager." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Dette felt kan efterlades uudfyldt for at fortsætte uden et nyt mærke for " +"lageret." --- ocsinventory-agent-2.0.orig/debian/po/de.po +++ ocsinventory-agent-2.0/debian/po/de.po @@ -0,0 +1,88 @@ +# Translation of ocsinventory-agent debconf templates to German +# Copyright (C) Helge Kreutzmann , 2007. +# This file is distributed under the same license as the ocsinventory-agent package. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent 1.0+debian-3\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-15 21:13+0200\n" +"Last-Translator: Helge Kreutzmann \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "lokal" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "HTTP" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Methode zum Erstellen der Inventarliste:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Wählen Sie die »lokal«-Methode, falls Sie keine Netzverbindung haben." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"Wählen Sie die »HTTP«-Methode, falls ein OCS-Inventory-Server eingerichtet " +"ist." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Rechnername des OCS-Inventory-Servers:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Bitte geben Sie den Rechnernamen des OCS-Inventory-Servers ein." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Markierung (»Tag«) für die erstellte Inventarliste:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Jede Inventarliste kann eine zugeordnete Markierung enthalten. Bitte geben " +"Sie die Markierung ein, die Sie für die Inventarliste haben möchten." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Dieses Feld kann leer bleiben, um ohne Setzen einer neuen Markierung für die " +"Inventarliste fortzufahren." + +#~ msgid "Leave blank to ignore" +#~ msgstr "Leer lassen zum Ignorieren" --- ocsinventory-agent-2.0.orig/debian/po/es.po +++ ocsinventory-agent-2.0/debian/po/es.po @@ -0,0 +1,99 @@ +# ocsinventory-agent translation to spanish. +# Copyright (C) 2007 THE ocsinventory-agent'S COPYRIGHT HOLDER +# This file is distributed under the same license as the ocsinventory-agent package. +# Changes: +# - Initial translation +# Maria Germana Oliveira Blazetic, 2007. +# Traductores, si no conoce el formato PO, merece la pena leer la +# documentación de gettext, especialmente las secciones dedicadas a este +# formato, por ejemplo ejecutando: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Equipo de traducción al español, por favor lean antes de traducir +# los siguientes documentos: +# - El proyecto de traducción de Debian al español +# http://www.debian.org/intl/spanish/coordinacion +# especialmente las notas de traducción en +# http://www.debian.org/intl/spanish/notas +# +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent 1:0.0.8-1\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2008-04-09 07:51-0430\n" +"Last-Translator: Maria Germana Oliveira Blazetic \n" +"Language-Team: Spanish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "local" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Método usado para generar el inventario:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Seleccione el método «local» si no posee una conexión de red." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "Seleccione el método «http» si posee un servidor de inventario OCS." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Nombre del servidor de inventario OCS:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Introduzca el nombre del servidor de inventario OCS." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Etiqueta del inventario generado:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Cada inventario puede tener una etiqueta asociada. Introduzca la etiqueta a " +"utilizar con el nuevo inventario." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Puede dejar este campo en blanco para continuar sin asignar una nueva " +"etiqueta al inventario." --- ocsinventory-agent-2.0.orig/debian/po/fr.po +++ ocsinventory-agent-2.0/debian/po/fr.po @@ -0,0 +1,88 @@ +# This file is distributed under the same license as the ocsinventory-agent package. +# +# Christian Perrier , 2007. +msgid "" +msgstr "" +"Project-Id-Version: fr\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-16 07:19+0200\n" +"Last-Translator: Christian Perrier \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "Locale" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "HTTP" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Méthode de création de l'inventaire :" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "" +"Veuillez choisir la méthode « Locale » pour ne pas utiliser de connexion " +"réseau." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"La méthode « HTTP » doit être utilisée si un serveur d'inventaire OCS est " +"configuré." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Nom d'hôte du serveur d'inventaire OCS :" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Veuillez indiquer le nom d'hôte du serveur d'inventaire OCS." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Étiquette de l'inventaire créé :" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Chaque inventaire peut se voir associé une étiquette (« tag »). Veuillez " +"indiquer celle que vous souhaitez utiliser pour l'inventaire de cette " +"machine." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Ce champ peut être laissé vide pour ne pas utiliser d'étiquette avec cet " +"inventaire." --- ocsinventory-agent-2.0.orig/debian/po/gl.po +++ ocsinventory-agent-2.0/debian/po/gl.po @@ -0,0 +1,84 @@ +# Galician translation of ocsinventory-agent's debconf templates +# This file is distributed under the same license as the ocsinventory-agent package. +# Jacobo Tarrio , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-12 19:59+0200\n" +"Last-Translator: Jacobo Tarrio \n" +"Language-Team: Galician \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "local" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Método para xerar o inventario:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Escolla o método \"local\" se non ten unha conexión á rede." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"Escolla o método \"http\" se hai configurado un servidor de OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Nome do servidor de OCS Inventory:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Introduza o nome do servidor de OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Etiqueta para o inventario xerado:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Cada inventario pode ter unha etiqueta asociada. Introduza a etiqueta que " +"quere para o novo inventario." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Pode deixar este campo baleiro para continuar sen establecer unha nova " +"etiqueta para o inventario." --- ocsinventory-agent-2.0.orig/debian/po/it.po +++ ocsinventory-agent-2.0/debian/po/it.po @@ -0,0 +1,84 @@ +# Italian (it) translation of debconf templates for ocsinventory-agent +# Copyright (C) 2007 Software in the Public Interest +# This file is distributed under the same license as the ocsinventory-agent package. +# Luca Monducci , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent italian debconf templates\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-27 16:16+0200\n" +"Last-Translator: Luca Monducci \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "locale" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Metodo per la generazione dell'inventario:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Scegliere \"locale\" se non si dispone di una connessione di rete." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "Scegliere \"http\" se è attivo un server OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Nome host con il server OCS Inventory:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Inserire il nome dell'host con il server OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Etichetta per l'inventario:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Ad ogni inventario può essere associata un'etichetta. Inserire l'etichetta " +"che si desidera usare per il nuovo inventario." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Questo campo può essere lasciato in bianco per proseguire senza impostare " +"un'etichetta per l'inventario." --- ocsinventory-agent-2.0.orig/debian/po/ja.po +++ ocsinventory-agent-2.0/debian/po/ja.po @@ -0,0 +1,85 @@ +# Copyright (C) 2009 Pierre Chifflier +# This file is distributed under the same license as ocsinventory-agent package. +# Hideki Yamane , 2009-2010 +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent 2:1.1.1-2\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2010-01-09 11:21+0200\n" +"Last-Translator: Hideki Yamane (Debian-JP) \n" +"Language-Team: Japanese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "ローカル" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "インベントリを生成するのに使うメソッド:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "ネットワーク接続が無い場合は 'local' メソッドを選んでください。" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"OSC インベントリサーバが設定されている場合は 'http' メソッドを選んでくださ" +"い。" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "OCS インベントリサーバのホスト名:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "OSC インベントリサーバのホスト名を入力してください。" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "生成したインベントリ用のタグ:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"各インベントリは関連するタグを持つことができます。新しいインベントリに使いた" +"いタグを入力してください。" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"この欄を空白のままにしておいて、インベントリに新しいタグを設定しないで進める" +"こともできます。" --- ocsinventory-agent-2.0.orig/debian/po/nl.po +++ ocsinventory-agent-2.0/debian/po/nl.po @@ -0,0 +1,86 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-16 19:54+0100\n" +"Last-Translator: Bart Cornelis \n" +"Language-Team: debian-l10n-dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Dutch\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "lokaal" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Bij het inventariseren te gebruiken methode:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Als u geen netwerkverbinding heeft kiest u best de methode 'lokaal'." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"Als u een OCS-inventaris-server opgezet heeft kies dan de methode 'http'." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Computernaam van de OCS-inventaris-server:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Wat is de computernaam van de OCS-inventaris-server?" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Label voor de gegenereerde inventaris:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Met elke inventaris kan label geassocieerd worden. Welk label wilt u met de " +"nieuwe inventaris associëren?" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Als u geen label wilt instellen voor de inventaris kunt u dit veld gewoon " +"leeg laten." --- ocsinventory-agent-2.0.orig/debian/po/pt.po +++ ocsinventory-agent-2.0/debian/po/pt.po @@ -0,0 +1,89 @@ +# Portuguese translations for ocsinventory-agent package. +# Copyright (C) 2007 Miguel Figueiredo +# This file is distributed under the same license as the ocsinventory-agent package. +# Miguel Figueiredo , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent 1.01-3\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-01 21:18+0100\n" +"Last-Translator: Miguel Figueiredo \n" +"Language-Team: Portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "local" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Método utilizado para gerar o inventário:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Escolha o método 'local' se não tiver uma ligação de rede." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"Escolha o método 'http' se tiver instalado um servidor de OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Nome da máquina do servidor de OCS Inventory:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Por favor, introduza o nome da máquina do servidor de OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Etiqueta para o inventário gerado:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Cada inventário pode ter associado uma etiqueta. Por favor introduza a " +"etiqueta que gostaria de ter para o novo inventário." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Este campo pode ser deixado em branco para continuar sem definir uma nova " +"etiqueta para o inventário." + +#~ msgid "Leave blank to ignore" +#~ msgstr "Deixe em branco para ignorar" --- ocsinventory-agent-2.0.orig/debian/po/pt_BR.po +++ ocsinventory-agent-2.0/debian/po/pt_BR.po @@ -0,0 +1,86 @@ +# ocsinventory-agent Brazilian Portuguese po-debconf Translation. +# Copyright (C) 2008 THE ocsinventory-agent COPYRIGHT HOLDER +# This file is distributed under the same license as the ocsinventory-agent package. +# Jefferson Alexandre dos Santos , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2008-03-14 13:10-0300\n" +"Last-Translator: Jefferson Alexandre dos Santos \n" +"Language-Team: l10n portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"pt_BR utf-8\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "local" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Método utilizado para gerar o inventário:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Escolha o método 'local' se você não tem uma conexão de rede." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"Escolha o método 'http' se um servidor OCS Inventory já está configurado." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Nome de máquina do servidor OCS Inventory:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Por favor, informe o nome de máquina do servidor OCS inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Etiqueta para os inventários gerados:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Cada inventário pode ter uma etiqueta associada. Por favor, informe a tag " +"que você gostaria para o novo inventário." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Este campo pode ser deixado em branco para continuar sem configurar uma nova " +"etiqueta para o inventário." --- ocsinventory-agent-2.0.orig/debian/po/ro.po +++ ocsinventory-agent-2.0/debian/po/ro.po @@ -0,0 +1,83 @@ +# translation of ocsinventory-agent to Romanian +# Copyright (C) 2007 +# This file is distributed under the same license as the ocsinventory-agent package. +# Igor Știrbu , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2007-05-25 02:55+0300\n" +"Last-Translator: Igor Știrbu \n" +"Language-Team: Romanian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "local" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Metoda utilizată pentru a genera inventarul:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Alegeți metoda „local” dacă nu sunteți conectați la rețea." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "Alegeți metoda „http” dacă este instalat un server OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Numele serverului OCS Inventory:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Introduceți numele serverului OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Eticheta pentru inventarul generat:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Fiecare inventar poate avea asociată o etichetă. Introduceți eticheta dorită " +"pentru noul inventar." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Puteți continua și fără etichetarea inventarului lăsând liber acest câmp." --- ocsinventory-agent-2.0.orig/debian/po/ru.po +++ ocsinventory-agent-2.0/debian/po/ru.po @@ -0,0 +1,86 @@ +# translation of ru.po to Russian +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Yuri Kozlov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent 1:1.0.1-3\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2009-08-05 21:18+0400\n" +"Last-Translator: Yuri Kozlov \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "локальный" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Метод для генерации описи:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Выберите метод 'локальный', если не имеете сетевых подключений." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "Выберите метод 'http', если имеется сервер OCS Inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Имя хоста сервера OCS Inventory:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Введите имя хоста для сервера OCS inventory." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Метка для создаваемой описи:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Каждой описи можно присвоить связанную с ней метку. Введите метку для новой " +"описи." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Это поле можно оставить пустым, чтобы не задавать новую метку для описи." --- ocsinventory-agent-2.0.orig/debian/po/sv.po +++ ocsinventory-agent-2.0/debian/po/sv.po @@ -0,0 +1,86 @@ +# translation of ocsinventory-agent.po to swedish +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Bagge , 2008. +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2008-11-22 22:15+0100\n" +"Last-Translator: Martin Bagge \n" +"Language-Team: swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "lokal" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Metod som ska användas för att skapa innehållsförteckning:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Välj metoden 'lokal' om du inte har en nätverksanslutning." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"Välj metoden 'http' om det finns anslutning till en OCS Inventory-server." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Värdnamn för OCS Inventory server:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Ange värdnamnet för OCS Inventory-servern." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Ettikett för den skapade innehållsförteckningen:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Alla innehållsförteckningarna kan ha ettiketter, Ange ettikett som du vill " +"använda för den nya innehållsförteckningen." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Fältet kan lämnas blankt om ingen ettikett ska sättas på " +"innehållsförteckningen." --- ocsinventory-agent-2.0.orig/debian/po/templates.pot +++ ocsinventory-agent-2.0/debian/po/templates.pot @@ -0,0 +1,81 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" --- ocsinventory-agent-2.0.orig/debian/po/vi.po +++ ocsinventory-agent-2.0/debian/po/vi.po @@ -0,0 +1,87 @@ +# Vietnamese translation for OCS Inventory Agent. +# Copyright © 2010 Free Software Foundation, Inc. +# Clytie Siddall , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: ocsinventory-agent\n" +"Report-Msgid-Bugs-To: ocsinventory-agent@packages.debian.org\n" +"POT-Creation-Date: 2009-11-14 21:31+0100\n" +"PO-Revision-Date: 2010-05-13 23:05+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "local" +msgstr "cục bộ" + +#. Type: select +#. Choices +#: ../ocsinventory-agent.templates:2001 +msgid "http" +msgstr "http" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Method used to generate the inventory:" +msgstr "Phương pháp dùng để tạo ra bản kiểm kê:" + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'local' method if you do not have a network connection." +msgstr "Không có kết nối đến mạng nên chọn phương pháp « cục bộ »." + +#. Type: select +#. Description +#: ../ocsinventory-agent.templates:2002 +msgid "Choose the 'http' method if an OCS Inventory server is set up." +msgstr "" +"Đã thiết lập một máy phục vụ Kiểm Kê OCS (OCS Inventory) nên chọn phương " +"pháp « http »." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "OCS Inventory server host name:" +msgstr "Tên máy chủ kiểm kê OCS:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:3001 +msgid "Please enter the host name of the OCS inventory server." +msgstr "Hãy nhập tên máy của máy phục vụ kiểm kê OCS." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "Tag for the generated inventory:" +msgstr "Thẻ cho bản kiểm kê đã tạo ra:" + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"Each inventory can have an associated tag. Please enter the tag you would " +"like for the new inventory." +msgstr "" +"Mỗi bản kiểm kê có thể được gán một thẻ. Hãy nhập thẻ thích hợp với bản kiểm " +"kê mới." + +#. Type: string +#. Description +#: ../ocsinventory-agent.templates:4001 +msgid "" +"This field can be left blank to continue without setting a new tag for the " +"inventory." +msgstr "" +"Cũng có thể bỏ trống trường này, để tiếp tục mà không lập một thẻ mới cho " +"bản kiểm kê." --- ocsinventory-agent-2.0.orig/debian/source/format +++ ocsinventory-agent-2.0/debian/source/format @@ -0,0 +1 @@ +1.0 --- ocsinventory-agent-2.0.orig/lib/Ocsinventory/Agent/Option/Download.pm +++ ocsinventory-agent-2.0/lib/Ocsinventory/Agent/Option/Download.pm @@ -0,0 +1,918 @@ +############################################################################### +## OCSINVENTORY-NG +## Copyleft Pascal DANEK 2005 +## Web : http://ocsinventory.sourceforge.net +## +## 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 +################################################################################ +# Function by hook: +# -download_prolog_reader, download_message, download +# -download_inventory_handler +# -download_end_handler, begin, done, clean, finish, period, download, execute, +# check_signature and build_package +package Ocsinventory::Agent::Option::Download; + +use strict; + +require Exporter; + +our @ISA = qw /Exporter/; + +our @EXPORT = qw/ + download_inventory_handler + download_prolog_reader + download_end_handler +/; + +use Fcntl qw/:flock/; +use XML::Simple; +use LWP::UserAgent; +use Compress::Zlib; +use Ocsinventory::Agent::Common qw/_uncompress _get_path _already_in_array/; +use Digest::MD5; +use File::Path; +use Socket; +use Net::SSLeay qw(die_now die_if_ssl_error); + +# Can be missing. By default, we use MD5 +# You have to install it if you want to use SHA1 digest +eval{ require Digest::SHA1 }; +use constant HTTPS_PORT => '443'; +# Time to wait between scheduler periods, scheduling cycles and fragments downloads +use constant FRAG_LATENCY_DEFAULT => 10; +use constant PERIOD_LATENCY_DEFAULT => 0; +use constant CYCLE_LATENCY_DEFAULT => 10; +use constant MAX_ERROR_COUNT => 30; +# Number of loops for one period +use constant PERIOD_LENGTH_DEFAULT => 10; +# Errors +use constant CODE_SUCCESS => 'SUCCESS'; +use constant ERR_BAD_ID => 'ERR_BAD_ID'; +use constant ERR_DOWNLOAD_INFO => 'ERR_DOWNLOAD_INFO'; +use constant ERR_BAD_DIGEST => 'ERR_BAD_DIGEST'; +use constant ERR_DOWNLOAD_PACK => 'ERR_DOWNLOAD_PACK'; +use constant ERR_BUILD => 'ERR_BUILD'; +use constant ERR_EXECUTE => 'ERR_EXECUTE'; +use constant ERR_CLEAN => 'ERR_CLEAN'; +use constant ERR_TIMEOUT => 'ERR_TIMEOUT'; +use constant ERR_ALREADY_SETUP => 'ERR_ALREADY_SETUP'; + +my @packages; +my $current_context; +my $ua; +my $config; +my $error; +my $debug; + +# Read prolog response +sub download_prolog_reader{ + $current_context = shift; + my $prolog = shift; + + $debug = $::debug; + + &log($prolog); + + $prolog = XML::Simple::XMLin( $prolog, ForceArray => ['OPTION', 'PARAM']); + my $option; + # Create working directory + my $opt_dir = $current_context->{'OCS_AGENT_INSTALL_PATH'}.'/download'; + mkdir($opt_dir) unless -d $opt_dir; + + # We create a file to tell to download process that we are running + open SUSPEND, ">$opt_dir/suspend"; + close(SUSPEND); + + # Create history file if needed + unless(-e "$opt_dir/history"){ + open HISTORY, ">$opt_dir/history" or die("Cannot create history file: $!"); + close(HISTORY); + } + + # Create lock file if needed + unless(-e "$opt_dir/lock"){ + open LOCK, ">$opt_dir/lock" or die("Cannot create lock file: $!"); + close(LOCK); + } + + # Retrieve our options + for $option (@{$prolog->{OPTION}}){ + if( $option->{NAME} =~/download/i){ + for ( @{ $option->{PARAM} } ) { + # Type of param + if($_->{'TYPE'} eq 'CONF'){ + # Writing configuration + open FH, ">$opt_dir/config" or die("Cannot open/create + config file ($opt_dir/config)"); + if(flock(FH, LOCK_EX)){ + &log("Writing config file."); + print FH XMLout($_, RootName => 'CONF'); + close(FH); + $config = $_; + }else{ + &log("Cannot lock config file !!"); + close(FH); + return 0; + } + + # Apply config + # ON ? + if($_->{'ON'} == '0'){ + &log("Download is off."); + open LOCK, "$opt_dir/lock" or die("Cannot open lock file: $!"); + if(flock(LOCK, LOCK_EX|LOCK_NB)){ + close(LOCK); + unlink("$opt_dir/suspend"); + return 0; + }else{ + &log("Try to kill current download process..."); + my $pid = ; + close(LOCK); + &log("Sending USR1 to $pid..."); + if(kill("USR1", $pid)){ + &log("Success."); + }else{ + &log("Failed."); + } + return 0; + } + } + # Maybe a new package to download + }elsif($_->{'TYPE'} eq 'PACK'){ + push @packages, { + 'PACK_LOC' => $_->{'PACK_LOC'}, + 'INFO_LOC' => $_->{'INFO_LOC'}, + 'ID' => $_->{'ID'}, + 'CERT_PATH' => $_->{'CERT_PATH'}, + 'CERT_FILE' => $_->{'CERT_FILE'} + }; + } + } + } + } + + # We are now in download child + # Connect to server + $ua = LWP::UserAgent->new(); + $ua->agent('OCS-NG_linux_client_v'.$current_context->{'OCS_AGENT_VERSION'}); + $ua->credentials( $current_context->{'OCS_AGENT_SERVER_NAME'}, + $current_context->{'OCS_AGENT_AUTH_REALM'}, + $current_context->{'OCS_AGENT_AUTH_USER'} => $current_context->{'OCS_AGENT_AUTH_PWD'} + ); + + # Check history file + unless(open HISTORY, "$opt_dir/history") { + flock(HISTORY, LOCK_EX); + unlink("$opt_dir/suspend"); + &log("Cannot read history file: $!"); + return 1; + } + + chomp(my @done = ); + close(HISTORY); + + # Package is maybe already handled + for(@packages){ + my $dir = $opt_dir."/".$_->{'ID'}; + my $fileid = $_->{'ID'}; + my $infofile = 'info'; + my $location = $_->{'INFO_LOC'}; + + if(_already_in_array($fileid, @done)){ + &log("Will not download $fileid. (already in history file)"); + &download_message({ 'ID' => $fileid }, ERR_ALREADY_SETUP); + next; + } + + # Looking for packages status + unless(-d $dir){ + &log("Making working directory for $fileid."); + mkdir($dir) or die("Cannot create $fileid directory: $!"); + open FH, ">$dir/since" or die("Cannot create $fileid since file: $!");; + print FH time(); + close(FH); + } + + # Retrieve and writing info file if needed + unless(-f "$dir/$infofile"){ + # Special value INSTALL_PATH + $_->{CERT_PATH} =~ s/INSTALL_PATH/$current_context->{OCS_AGENT_INSTALL_PATH}/; + $_->{CERT_FILE} =~ s/INSTALL_PATH/$current_context->{OCS_AGENT_INSTALL_PATH}/; + + if (!-f $_->{CERT_FILE}) { + &log("No certificat found in ".$_->{CERT_FILE}); + } + + # Getting info file + &log("Retrieving info file for $fileid"); + + my ($ctx, $ssl, $ra); + eval { + $| = 1; + &log('Initialize ssl layer...'); + + # Initialize openssl + if ( -e '/dev/urandom') { + $Net::SSLeay::random_device = '/dev/urandom'; + $Net::SSLeay::how_random = 512; + } + else { + srand (time ^ $$ ^ unpack "%L*", `ps wwaxl | gzip`); + $ENV{RND_SEED} = rand 4294967296; + } + + Net::SSLeay::randomize(); + Net::SSLeay::load_error_strings(); + Net::SSLeay::ERR_load_crypto_strings(); + Net::SSLeay::SSLeay_add_ssl_algorithms(); + + #Create ctx object + $ctx = Net::SSLeay::CTX_new() or die_now("Failed to create SSL_CTX $!"); + Net::SSLeay::CTX_load_verify_locations( $ctx, $_->{CERT_FILE}, $_->{CERT_PATH} ) + or die_now("CTX load verify loc: $!"); + # Tell to SSLeay where to find AC file (or dir) + Net::SSLeay::CTX_set_verify($ctx, &Net::SSLeay::VERIFY_PEER, \&ssl_verify_callback); + die_if_ssl_error('callback: ctx set verify'); + + my($server_name,$server_port,$server_dir); + + if($_->{INFO_LOC}=~ /^([^:]+):(\d{1,5})(.*)$/){ + $server_name = $1; + $server_port = $2; + $server_dir = $3; + }elsif($_->{INFO_LOC}=~ /^([^\/]+)(.*)$/){ + $server_name = $1; + $server_dir = $2; + $server_port = HTTPS_PORT; + } + $server_dir .= '/' unless $server_dir=~/\/$/; + + $server_name = gethostbyname ($server_name) or die; + my $dest_serv_params = pack ('S n a4 x8', &AF_INET, $server_port, $server_name ); + + # Connect to server + &log("Connect to server: $_->{INFO_LOC}..."); + socket (S, &AF_INET, &SOCK_STREAM, 0) or die "socket: $!"; + connect (S, $dest_serv_params) or die "connect: $!"; + + # Flush socket + select (S); $| = 1; select (STDOUT); + $ssl = Net::SSLeay::new($ctx) or die_now("Failed to create SSL $!"); + Net::SSLeay::set_fd($ssl, fileno(S)); + + # SSL handshake + &log('Starting SSL connection...'); + Net::SSLeay::connect($ssl); + die_if_ssl_error('callback: ssl connect!'); + + # Get info file + my $http_request = "GET /$server_dir".$fileid."/info HTTP/1.0\n\n"; + Net::SSLeay::ssl_write_all($ssl, $http_request); + shutdown S, 1; + + $ra = Net::SSLeay::ssl_read_all($ssl); + $ra = (split("\r\n\r\n", $ra))[1] or die; + &log("Info file: $ra"); + + my $xml = XML::Simple::XMLin( $ra ) or die; + + $xml->{PACK_LOC} = $_->{PACK_LOC}; + + $ra = XML::Simple::XMLout( $xml ) or die; + + open FH, ">$dir/info" or die("Cannot open info file: $!"); + print FH $ra; + close FH; + }; + if($@){ + download_message({ 'ID' => $fileid }, ERR_DOWNLOAD_INFO); + &log("Error: SSL hanshake has failed"); + next; + } + else { + &log("Success. :-)"); + } + Net::SSLeay::free ($ssl); + Net::SSLeay::CTX_free ($ctx); + close S; + sleep(1); + } + } + unless(unlink("$opt_dir/suspend")){ + &log("Cannot delete suspend file: $!"); + return 1; + } + return 0; +} + +sub ssl_verify_callback { + my ($ok, $x509_store_ctx) = @_; + return $ok; +} + +sub download_inventory_handler{ + # Adding the ocs package ids to softwares + my $current_context = shift; + my $inventory = shift; + my @history; + # Read download history file + if( open PACKAGES, "$current_context->{OCS_AGENT_INSTALL_PATH}/download/history" ){ + flock(PACKAGES, LOCK_SH); + while(){ + chomp( $_ ); + push @history, { ID => $_ }; + } + } + close(PACKAGES); + # Add it to inventory (will be handled by Download.pm server module + push @{ $inventory->{'CONTENT'}->{'DOWNLOAD'}->{'HISTORY'} },{ + 'PACKAGE'=> \@history + }; +} + +sub download_end_handler{ + # Get global structure + $current_context = shift; + my $dir = $current_context->{'OCS_AGENT_INSTALL_PATH'}."/download"; + my $pidfile = $dir."/lock"; + + return 0 unless -d $dir; + + # We have jobs, we do it alone + my $fork = fork(); + if($fork>0){ + return 0; + }elsif($fork<0){ + return 1; + }else{ + $SIG{'USR1'} = sub { + print "Exiting on signal...\n"; + &finish(); + }; + # Go into working directory + chdir($dir) or die("Cannot chdir to working directory...Abort\n"); + } + + unless($debug){ + open STDOUT, '>/dev/null' or die("Cannot redirect STDOUT"); + open STDERR, '>/dev/null' or die("Cannot redirect STDERR"); + } + + # Maybe an other process is running + exit(0) if begin($pidfile); + # Retrieve the packages to download + opendir DIR, $dir or die("Cannot read working directory: $!"); + + my $end; + + while(1){ + # If agent is running, we wait + if (-e "suspend") { + &log('Found a suspend file... Will wait 10 seconds before retry'); + sleep(10); + next; + } + + $end = 1; + undef @packages; + # Reading configuration + open FH, "$dir/config" or die("Cannot read config file: $!"); + if(flock(FH, LOCK_SH)){ + $config = XMLin("$dir/config"); + close(FH); + # If Frag latency is null, download is off + if($config->{'ON'} eq '0'){ + &log("Option turned off. Exiting."); + finish(); + } + }else{ + &log("Cannot read config file :-( . Exiting."); + close(FH); + finish(); + } + + # Retrieving packages to download and their priority + while(my $entry = readdir(DIR)){ + next if $entry !~ /^\d+$/; + + next unless(-d $entry); + + # Clean package if info file does not still exist + unless(-e "$entry/info"){ + &log("No info file found for $entry!!"); + clean( { 'ID' => $entry } ); + next; + } + my $info = XML::Simple::XMLin( "$entry/info" ) or next; + + # Check that fileid == directory name + if($info->{'ID'} ne $entry){ + &log("ID in info file does not correspond!!"); + clean( { 'ID' => $entry } ); + download_message({ 'ID' => $entry }, ERR_BAD_ID); + next; + } + + # Manage package timeout + # Clean package if since timestamp is not present + unless(-e "$entry/since"){ + &log("No since file found!!"); + clean( { 'ID' => $entry } ); + next; + }else{ + my $time = time(); + if(open SINCE, "$entry/since"){ + my $since = ; + if($since=~/\d+/){ + if( (($time-$since)/86400) > $config->{TIMEOUT}){ + &log("Timeout Reached for $entry."); + clean( { 'ID' => $entry } ); + &download_message('ID' => $entry, ERR_TIMEOUT); + close(SINCE); + next; + }else{ + &log("Checking timeout for $entry... OK"); + } + }else{ + &log("Since data for $entry is incorrect."); + clean( { 'ID' => $entry } ); + &download_message('ID' => $entry, ERR_TIMEOUT); + close(SINCE); + next; + } + close(SINCE); + }else{ + &log("Cannot find since data for $entry."); + clean( { 'ID' => $entry } ); + &download_message('ID' => $entry, ERR_TIMEOUT); + next; + } + } + + # Building task file if needed + unless( -f "$entry/task" and -f "$entry/task_done" ){ + open FH, ">$entry/task" or die("Cannot create task file for $entry: $!"); + + my $i; + my $frags = $info->{'FRAGS'}; + # There are no frags if there is only a command + if($frags){ + for($i=1;$i<=$frags;$i++){ + print FH "$entry-$i\n"; + } + }; + close FH; + # To be sure that task file is fully created + open FLAG, ">$entry/task_done" or die ("Cannot create task flag file for $entry: $!"); + close(FLAG); + } + # Push package XML description + push @packages, $info; + $end = 0; + } + # Rewind directory + rewinddir(DIR); + # Call packages scheduler + if($end){ + last; + }else{ + period(\@packages); + } + } + &log("No more package to download."); + finish(); +} + +# Schedule the packages +sub period{ + my $packages = shift; + my @rt; + my $i; + + @rt = grep {$_->{'PRI'} eq "0"} @$packages; + + &log("New period. Nb of cycles: ". + (defined($config->{'PERIOD_LENGTH'})?$config->{'PERIOD_LENGTH'}:PERIOD_LENGTH_DEFAULT)); + + for($i=1;$i<=( defined($config->{'PERIOD_LENGTH'})?$config->{'PERIOD_LENGTH'}:PERIOD_LENGTH_DEFAULT);$i++){ + # Highest priority + if(@rt){ + &log("Managing ".scalar(@rt)." package(s) with absolute priority."); + for(@rt){ + # If done file found, clean package + if(-e "$_->{'ID'}/done"){ + &log("done file found!!"); + done($_); + next; + } + download($_); + &log("Now pausing for a cycle latency => ".( + defined($config->{'FRAG_LATENCY'})?$config->{'FRAG_LATENCY'}:FRAG_LATENCY_DEFAULT) + ." seconds"); + sleep( defined($config->{'FRAG_LATENCY'})?$config->{'FRAG_LATENCY'}:FRAG_LATENCY_DEFAULT ); + } + next; + } + # Normal priority + for(@$packages){ + # If done file found, clean package + if(-e "$_->{'ID'}/done"){ + &log("done file found!!"); + done($_); + next; + } + next if $i % $_->{'PRI'} != 0; + download($_); + + &log("Now pausing for a fragment latency => ". + (defined( $config->{'FRAG_LATENCY'} )?$config->{'FRAG_LATENCY'}:FRAG_LATENCY_DEFAULT) + ." seconds"); + + sleep(defined($config->{'FRAG_LATENCY'})?$config->{'FRAG_LATENCY'}:FRAG_LATENCY_DEFAULT); + } + + &log("Now pausing for a cycle latency => ".( + defined($config->{'CYCLE_LATENCY'})?$config->{'CYCLE_LATENCY'}:CYCLE_LATENCY_DEFAULT) + ." seconds"); + + sleep(defined($config->{'CYCLE_LATENCY'})?$config->{'CYCLE_LATENCY'}:CYCLE_LATENCY_DEFAULT); + } + sleep($config->{'PERIOD_LATENCY'}?$config->{'PERIOD_LATENCY'}:PERIOD_LATENCY_DEFAULT); +} + +# Download a fragment of the specified package +sub download{ + my $p = shift; + my $proto = $p->{'PROTO'}; + my $location = $p->{'PACK_LOC'}; + my $id = $p->{'ID'}; + my $URI = "$proto://$location/$id/"; + + # If we find a temp file, we know that the update of the task file has failed for any reason. So we retrieve it from this file + if(-e "$id/task.temp") { + unlink("$id/task.temp"); + rename("$id/task.temp","$id/task") or return 1; + } + + # Retrieve fragments already downloaded + unless(open TASK, "$id/task"){ + &log("Download: Cannot open $id/task."); + return 1; + } + my @task = ; + + # Done + if(!@task){ + &log("Download of $p->{'ID'}... Finished."); + close(TASK); + execute($p); + return 0; + } + + my $fragment = shift(@task); + my $request = HTTP::Request->new(GET => $URI.$fragment); + + &log("Downloading $fragment..."); + + # Using proxy if possible + $ua->env_proxy; + my $res = $ua->request($request); + + # Checking if connected + if($res->is_success) { + &log("Success :-)"); + $error = 0; + open FRAGMENT, ">$id/$fragment" or return 1; + print FRAGMENT $res->content; + close(FRAGMENT); + + # Updating task file + rename(">$id/task", ">$id/task.temp"); + open TASK, ">$id/task" or return 1; + print TASK @task; + close(TASK); + unlink(">$id/task.temp"); + + } + else { + #download_message($p, ERR_DOWNLOAD_PACK); + close(TASK); + &log("Error :-( ".$res->code); + $error++; + if($error > MAX_ERROR_COUNT){ + &log("Error : Max errors count reached"); + finish(); + } + return 1; + } + return 0; +} + +# Assemble and handle downloaded package +sub execute{ + my $p = shift; + my $tmp = $p->{'ID'}."/tmp"; + my $exit_code; + + &log("Execute orders for package $p->{'ID'}."); + + if(build_package($p)){ + clean($p); + return 1; + }else{ + # First, we get in temp directory + unless( chdir($tmp) ){ + &log("Cannot chdir to working directory: $!"); + download_message($p, ERR_EXECUTE); + clean($p); + return 1; + } + + # Executing preorders (notify user, auto launch, etc.... + # $p->{NOTIFY_USER} + # $p->{NOTIFY_TEXT} + # $p->{NOTIFY_COUNTDOWN} + # $p->{NOTIFY_CAN_ABORT} + # TODO: notification to send through DBUS to the user + + + eval{ + # Execute instructions + if($p->{'ACT'} eq 'LAUNCH'){ + my $exe_line = $p->{'NAME'}; + $p->{'NAME'} =~ s/^([^ -]+).*/$1/; + # Exec specified file (LAUNCH => NAME) + if(-e $p->{'NAME'}){ + &log("Launching $p->{'NAME'}..."); + chmod(0755, $p->{'NAME'}) or die("Cannot chmod: $!"); + $exit_code = system( "./".$exe_line ); + }else{ + die(); + } + + }elsif($p->{'ACT'} eq 'EXECUTE'){ + # Exec specified command EXECUTE => COMMAND + &log("Execute $p->{'COMMAND'}..."); + system( $p->{'COMMAND'} ) and die(); + + }elsif($p->{'ACT'} eq 'STORE'){ + # Store files in specified path STORE => PATH + $p->{'PATH'} =~ s/INSTALL_PATH/$current_context->{OCS_AGENT_INSTALL_PATH}/; + + # Build it if needed + my @dir = split('/', $p->{'PATH'}); + my $dir; + + for(@dir){ + $dir .= "$_/"; + unless(-e $dir){ + mkdir($dir); + &log("Create $dir..."); + } + } + + &log("Storing package to $p->{'PATH'}..."); + # Stefano Brandimarte => Stevenson! + system(&_get_path('cp')." -dpr * ".$p->{'PATH'}) and die(); + } + }; + if($@){ + # Notify success to ocs server + download_message($p, ERR_EXECUTE); + chdir("../..") or die("Cannot go back to download directory: $!"); + clean($p); + return 1; + }else{ + chdir("../..") or die("Cannot go back to download directory: $!"); + done($p, (defined($exit_code)?$exit_code:'_NONE_')); + return 0; + } + } +} + +# Check package integrity +sub build_package{ + my $p = shift; + my $id = $p->{'ID'}; + my $count = $p->{'FRAGS'}; + my $i; + my $tmp = "./$id/tmp"; + + unless(-d $tmp){ + mkdir("$tmp"); + } + # No job if no files + return 0 unless $count; + + # Assemble package + &log("Building package for $p->{'ID'}."); + + for($i=1;$i<=$count;$i++){ + if(-f "./$id/$id-$i"){ + # We make a tmp working directory + if($i==1){ + open PACKAGE, ">$tmp/build.tar.gz" or return 1; + } + # We write each fragment in the final package + open FRAGMENT, "./$id/$id-$i" or return 1; + my $row; + while($row = ){ + print PACKAGE $row; + } + close(FRAGMENT); + }else{ + return 1; + } + } + close(PACKAGE); + # + if(check_signature($p->{'DIGEST'}, "$tmp/build.tar.gz", $p->{'DIGEST_ALGO'}, $p->{'DIGEST_ENCODE'})){ + download_message($p, ERR_BAD_DIGEST); + return 1; + } + + if( system( &_get_path("tar")." -xvzf $tmp/build.tar.gz -C $tmp") ){ + &log("Cannot extract $p->{'ID'}."); + download_message($p, ERR_BUILD); + return 1; + } + &log("Building of $p->{'ID'}... Success."); + unlink("$tmp/build.tar.gz") or die ("Cannot remove build file: $!\n"); + return 0; +} + +sub check_signature{ + my ($checksum, $file, $digest, $encode) = @_; + + &log("Checking signature for $file."); + + my $base64; + + # Open file + unless(open FILE, $file){ + &log("cannot open $file: $!"); + return 1; + } + + binmode(FILE); + # Retrieving encoding form + if($encode =~ /base64/i){ + $base64 = 1; + &log('Digest format: Base 64'); + }elsif($encode =~ /hexa/i){ + &log('Digest format: Hexadecimal'); + }else{ + &log('Digest format: Not supported'); + return 1; + } + + eval{ + # Check it + if($digest eq 'MD5'){ + &log('Digest algo: MD5'); + if($base64){ + die unless Digest::MD5->new->addfile(*FILE)->b64digest eq $checksum; + } + else{ + die unless Digest::MD5->new->addfile(*FILE)->hexdigest eq $checksum; + } + }elsif($digest eq 'SHA1'){ + &log('Digest algo: SHA1'); + if($base64){ + die unless Digest::SHA1->new->addfile(*FILE)->b64digest eq $checksum; + } + else{ + die unless Digest::SHA1->new->addfile(*FILE)->hexdigest eq $checksum; + } + }else{ + &log('Digest algo unknown: '.$digest); + die; + } + }; + if($@){ + &log("Digest checking error !!"); + close(FILE); + return 1; + }else{ + close(FILE); + &log("Digest OK..."); + return 0; + } +} + +# Launch a download error to ocs server +sub download_message{ + my ($p, $code) = @_; + + &log("Sending message for $p->{'ID'}, code=$code."); + + my $xml = { + 'DEVICEID' => $current_context->{'OCS_AGENT_DEVICEID'}, + 'QUERY' => 'DOWNLOAD', + 'ID' => $p->{'ID'}, + 'ERR' => $code + }; + + # Generate xml + $xml = XMLout($xml, RootName => 'REQUEST'); + + # Compress data + $xml = Compress::Zlib::compress( $xml ); + + my $URI = $current_context->{'OCS_AGENT_SERVER_NAME'}; + + # Send request + my $request = HTTP::Request->new(POST => $URI); + $request->header('Pragma' => 'no-cache', 'Content-type', 'application/x-compress'); + $request->content($xml); + my $res = $ua->request($request); + + # Checking result + if($res->is_success) { + return 0; + }else{ + return 1; + } +} + +# At the beginning of end handler +sub begin{ + my $pidfile = shift; + open LOCK_R, "$pidfile" or die("Cannot open pid file: $!"); + if(flock(LOCK_R,LOCK_EX|LOCK_NB)){ + open LOCK_W, ">$pidfile" or die("Cannot open pid file: $!"); + select(LOCK_W) and $|=1; + select(STDOUT) and $|=1; + print LOCK_W $$; + &log("Beginning work. I am $$."); + return 0; + }else{ + close(LOCK_R); + &log("$pidfile locked. Cannot begin work... :-("); + return 1; + } +} + +sub done{ + my $p = shift; + my $suffix = shift; + &log("Package $p->{'ID'}... Done. Sending message..."); + # Trace installed package + open DONE, ">$p->{'ID'}/done"; + close(DONE); + # Put it in history file + open DONE, "history" or warn("Cannot open history file: $!"); + flock(DONE, LOCK_EX); + my @historyIds = ; + if( &_already_in_array($p->{'ID'}, @historyIds) ){ + &log("Warning: id $p->{'ID'} has been found in the history file!!"); + } + else { + print DONE $p->{'ID'},"\n"; + } + close(DONE); + + # Notify success to ocs server + my $code; + if($suffix ne '_NONE_'){ + $code = CODE_SUCCESS."_$suffix"; + } + else{ + $code = CODE_SUCCESS; + } + unless(download_message($p, $code)){ + # Clean package + clean($p); + }else{ + sleep( defined($config->{'FRAG_LATENCY'})?$config->{'FRAG_LATENCY'}:FRAG_LATENCY_DEFAULT ); + } + return 0; +} + +sub clean{ + my $p = shift; + &log("Cleaning $p->{'ID'} package."); + unless(File::Path::rmtree($p->{'ID'}, $debug, 0)){ + &log("Cannot clean $p->{'ID'}!! Abort..."); + download_message($p, ERR_CLEAN); + die(); + } + return 0; +} + +# At the end +sub finish{ + open LOCK, '>'.$current_context->{'OCS_AGENT_INSTALL_PATH'}.'/download/lock'; + &log("End of work...\n"); + exit(0); +} + +sub log{ + return 0 unless $debug; + my $message = shift; + print "DOWNLOAD: $message\n"; +} + +1;