[Fusioninventory-devel] Building the FusionInventory Agent Windows package...
Tomás Abad
tabadgp at gmail.com
Wed Jul 18 12:15:34 UTC 2012
Hello Góneri,
On Wed, Jul 18, 2012 at 12:39 PM, Gonéri Le Bouder <goneri at rulezlan.org>
wrote:
> Hi Tomás Abad,
>
> First, thank you for the great helpful work you do. We are lucky to
> have someone like you in the team.
It's a pleasure for me Goneri. I hope you like the new installer.
>> Whether I'm not wrong, the Perl modules required for FusionInventory
> The is some more if we include the Task::* distributions, for example Net::SNMP,
> POE::Component::Client::PING.
>
> LibXML and XML::Simple are not required, we use XML::TreePP especially
> to avoid them.
I have read all Makefile.PL files from FusionInventory-Agent-2.2.3
and FusionInventory-Agent-Task-* (see http://search.cpan.org/~fusinv/)
and this is the definitive list of Perl modules that the package that
I'm building will take into account (unless you tell me otherwise).
Perl modules for FusionInventory-Agent-2.2.3
-----------------------------------------------------------------
.- Digest-MD5-2.52 (Digest::MD5)
(The last version in CPAN)
.- File-Which-1.09 (File::Which)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- HTTP-Daemon-6.01 (HTTP::Daemon)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- IO-Compress-2.052 (Compress::Zlib)
(The last version in CPAN)
.- IO-Socket-SSL-1.76 (IO::Socket::SSL)
(The last version in CPAN)
.- libwww-perl-6.04 (LWP)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- LWP-Protocol-https-6.03 (LWP::Protocol::https)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- Net-IP-1.25 (Net::IP)
(The last version in CPAN)
.- Text-Template-1.45 (Text::Template)
(The last version in CPAN)
.- UNIVERSAL-require-0.13 (UNIVERSAL::require)
(The last version in CPAN)
.- Win32-OLE-0.1709 (Win32::OLE)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- Win32-TieRegistry-0.26 (Win32::TieRegistry)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- XML-TreePP-0.41 (XML:TreePP)
(The last version in CPAN)
Perl modules for FusionInventory-Agent-Task-Deploy-2.0.2
--------------------------------------------------------
.- Archive-Extract-0.60 (Archive::Extract)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- Digest-SHA-5.71 (Digest::SHA)
(The last version in CPAN)
.- File-Copy-Recursive-0.38 (File::Copy::Recursive)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- JSON-2.53 (JSON)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
.- POE-Component-Client-Ping-1.171 (POE::Component::Client::Ping)
(The last version in CPAN)
.- UNIVERSAL-require-0.13 (UNIVERSAL::require)
(The last version in CPAN)
.- URI-1.60 (URI::Escape)
(The last version in CPAN)
Perl modules for FusionInventory-Agent-Task-ESX-2.1.0
-----------------------------------------------------
.- JSON-2.53 (JSON)
(The last version in CPAN)
(Included into Strawberry Perl v5.16.0.1 - 32 & 64 bits)
Perl modules for FusionInventory-Agent-Task-NetDiscovery-2.1
------------------------------------------------------------
.- Net-IP-1.25 (Net::IP)
(The last version in CPAN)
.- Net-NBName-0.26 (Net::NBName)
(The last version in CPAN)
.- Net-SNMP-v6.0.1 (Net::SNMP)
(The last version in CPAN)
.- threads-1.86 (threads)
(The last version in CPAN)
.- XML-TreePP-0.41 (XML:TreePP)
(The last version in CPAN)
Perl modules for FusionInventory-Agent-Task-NetInventory-2.1
------------------------------------------------------------
.- Net-IP-1.25 (Net::IP)
(The last version in CPAN)
.- Net-SNMP-v6.0.1 (Net::SNMP)
(The last version in CPAN)
.- threads-1.86 (threads)
(The last version in CPAN)
.- XML-TreePP-0.41 (XML:TreePP)
(The last version in CPAN)
>> c) Is there any problem if I make use of these Perl modules
>> included in Strawberry Perl or it's better whether I make use
>> the last Perl modules releases?
> So far, I worked this way:
>
> 1) I did a tarball of Perl and the requirement:
> a) I took the very last Strawberry Perl (5.12 at this time).
> b) Built all the dependency
> c) Dropped the useless stuff like database drivers
> d) Create an tarball from that.
> 2) And now, everytime I generate an installer, I extract this tarball,
> add FusionInventory
> sources and recompress the result.
I have done some like you did. I have build this tree
Perl/
|-- Modules
| |-- Digest-MD5-2.52
| |-- IO-Compress-2.052
| |-- IO-Socket-SSL-1.76
| |-- Net-IP-1.25
| |-- Text-Template-1.45
| |-- UNIVERSAL-require-0.13
| `-- XML-TreePP-0.41
`-- Strawberry
`-- 5.16.0.1
|-- 32bits
| |-- c
| |-- cpan
| |-- data
| |-- licenses
| |-- perl
| `-- win32
`-- 64bits
|-- c
|-- cpan
|-- data
|-- licenses
|-- perl
`-- win32
Then the NSIS script will install only the needed files, but
without modify the tree content.
> Today, this solution has some limitation. First it's hard to follow
> the changes or to upgrade to a new Perl version. For example, I had a hard time to
> upgrade from Crypt::SSLeay to IO::Socket::SSL. I think a more sensible solution would be:
> 1) A script fetch the last strawberry Perl, call the "cpan" command to
> install the FusionInventory distribution. The dependencies will be pulled from the "cpan".
> 2) I clean he unwanter stuff
> 3) call NSIS to generate the installer from that
I like your idea. I'll think about that.
Best regards.
More information about the Fusioninventory-devel
mailing list