[Fusioninventory-devel] Perl modules dependance and

Tomás Abad tabadgp at gmail.com
Fri Aug 17 00:34:40 UTC 2012


   Hello to everybody,

   I would like to resolve automatically the Perl modules dependence
(both, required and recommended) for FusionInventory Agent and
FusionInventory Agent Tasks with 'cpanm' (1).

   I'm trying to do it in a Microsoft Windows 7 Professional x64 with
Strawberry Perl 5.16.1.1 / 64bits (2) and some scripts. I have written
one of them to show what Perl modules I should to install in a newly
installed Strawberry Perl 5.16.1.1 / 64bits distribution (see the
attached file 'show-missing-modules-dependence.gbat').

   Nowadays this is the last version of the agent and the agent tasks:

      .- FusionInventory-Agent-2.2.5
      .- FusionInventory-Agent-Task-Deploy-2.0.2
      .- FusionInventory-Agent-Task-ESX-2.1.0
      .- FusionInventory-Agent-Task-NetDiscovery-2.1
      .- FusionInventory-Agent-Task-NetInventory-2.1


   When I launch 'show-missing-modules-dependence.bat' I get this:

==== 'show-missing-modules-dependence.bat' output ====
C:\Users\Supervisor\Documents\fusioninventory-nsis-tabad\Perl\Strawberry\5.16.1.
1\x64>show-missing-modules-dependence.bat
Perl executable:
C:\Users\Supervisor\Documents\fusioninventory-nsis-tabad\Perl\S
trawberry\5.16.1.1\x64\perl\bin\perl.exe
Perl version   : 5.16.1 / MSWin32-x64-multi-thread
FusionInventory-Agent-2.2.5
\_ Test-MockModule-0.05
\_ IO-Capture-0.05
\_ HTTP-Proxy-0.25
\_ HTTP-Server-Simple-Authen-0.04
 \_ Authen-Simple-0.5
  \_ Class-Data-Inheritable-0.08
  \_ Crypt-PasswdMD5-1.3
\_ XML-TreePP-0.41
\_ Net-IP-1.25
\_ Win32-Job-0.04
\_ UNIVERSAL-require-0.13
\_ Text-Template-1.45
FusionInventory-Agent-Task-Deploy-2.0.2
\_ Test-HTTP-Server-Simple-0.11
 \_ Win32-IPC-1.09
\_ Test-Compile-0.20
\_ POE-Component-Client-Ping-1.171
 \_ POE-Test-Loops-1.351
 \_ POE-1.354
  \_ Win32-Console-0.09
FusionInventory-Agent-Task-ESX-2.1.0
\_ Test-MockObject-1.20120301
 \_ UNIVERSAL-isa-1.20120726
 \_ UNIVERSAL-can-1.20120726
FusionInventory-Agent-Task-NetDiscovery-2.1
\_ Net-NBName-0.26
\_ Net-SNMP-v6.0.1
FusionInventory-Agent-Task-NetInventory-2.1

==== 'show-missing-modules-dependence.bat' output ====


   All the required and recommended Perl modules for FusionInventory
Agent and FusionInventory Agent Task are resolved except one of them;
the Win32::Daemon, a recommended module for FusionInventory Agent.

   Why this module not and the rest of recommended modules yes?

   Thanks in advance.

NOTES:
   (1) cpanm
http://search.cpan.org/~miyagawa/App-cpanminus-1.5017/bin/cpanm

   (2) Strawberry Perl Releases
http://strawberryperl.com/releases.html

--
Tomas Abad
Ingeniero de Sistemas / Systems Engineer
-------------- next part --------------
:: ------------------------------------------------------------------------
:: FusionInventory
:: Copyright (C) 2010-2012 by the FusionInventory Development Team.
::
:: http://www.fusioninventory.org/   http://forge.fusioninventory.org/
:: ------------------------------------------------------------------------
::
:: LICENSE
::
:: This file is part of FusionInventory project.
::
:: FusionInventory is free software: you can [...]
::
:: FusionInventory 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 Affero General Public License for more details.
::
:: You should have received a copy of [...]
::
:: ------------------------------------------------------------------------
::
:: @package   FusionInventory Agent Installer for Microsoft Windows
:: @file      .\Perl\Scripts\show-missing-modules-dependence.bat    
:: @author    Tomas Abad
:: @copyright Copyright (c) 2010-2012 FusionInventory Team
:: @license   [...]
:: @link      http://www.fusioninventory.org/
:: @link      http://forge.fusioninventory.org/projects/fusioninventory-agent
:: @since     2012
::
:: ------------------------------------------------------------------------


@echo off
set drive=%~dp0
set drivep=%drive%
if #%drive:~-1%# == #\# set drivep=%drive:~0,-1%
set PATH=%drivep%\perl\site\bin;%drivep%\perl\bin;%drivep%\c\bin;%PATH%
rem env variables
set TERM=dumb
rem avoid collisions with other perl stuff on your system
set PERL_JSON_BACKEND=
set PERL_YAML_BACKEND=
set PERL5LIB=
set PERL5OPT=
set PERL_MM_OPT=
set PERL_MB_OPT=
:: show Perl information
perl -MConfig -e "printf("""Perl executable: %%s\nPerl version   : %%vd / $Config{archname}\n""", $^X, $^V)" 2>nul
if ERRORLEVEL==1 echo.&echo FATAL ERROR: 'perl' does not work; check if your strawberry pack is complete!

:: set proxy environment variables
::    Uncomment and defines the lines below to use the proxy server 
:: set HTTP_PROXY=http://[username:password@]your.http.server.proxy:port/
:: set HTTPS_PROXY=https://[username:password@]your.https.server.proxy:port/
:: set FTP_PROXY=ftp://[username:password@]your.ftp.server.proxy:port/
:: set NO_PROXY=localhost,...

:: set more variables
set FUSINV_AGENT=FusionInventory::Agent
set FUSINV_TASK_DEPLOY=FusionInventory::Agent::Task::Deploy
set FUSINV_TASK_ESX=FusionInventory::Agent::Task::ESX
set FUSINV_TASK_NETDISCOVERY=FusionInventory::Agent::Task::NetDiscovery
set FUSINV_TASK_NETINVENTORY=FusionInventory::Agent::Task::NetInventory
set FUSINV_TASKS=%FUSINV_TASK_DEPLOY% %FUSINV_TASK_ESX% %FUSINV_TASK_NETDISCOVERY% %FUSINV_TASK_NETINVENTORY%

:: show missing modules dependence 
perl %drivep%\perl\bin\cpanm --quiet --scandeps %FUSINV_AGENT% %FUSINV_TASKS%


More information about the Fusioninventory-devel mailing list