source: ocsinventory-agent/trunk/fuentes/lib/Ocsinventory/Agent/Backend/OS/Generic/Packaging/ByHand.pm @ 468

Last change on this file since 468 was 468, checked in by mabarracus, 4 years ago

Copyt trusty code

File size: 1.7 KB
Line 
1package Ocsinventory::Agent::Backend::OS::Generic::Packaging::ByHand;
2#How does it work ?
3#
4#Create a directory called software in place where you have your
5#"modules.conf" file.
6#Put your scripts in this directory.
7#The scripts have to write on the STDIO with the following format :
8#publisher#software#version#comment
9#
10
11use strict;
12use warnings;
13
14
15sub check { 
16    return(1);
17    1;
18}
19sub run()
20{
21    my $params = shift;
22    my $common = $params->{common};
23    my $ligne;
24    my $soft;
25    my $comm;
26    my $version;
27    my $file;
28    my $vendor;
29    my $commentaire;
30    my @dots;
31
32    #if (!$file || !-d $file) {
33        foreach (@{$common->{config}{etcdir}}) {
34            $file = $_.'/softwares';
35            last if -d $file;
36        }
37    #}
38    my $logger = $params->{logger};
39
40    if ( opendir(my $dh, $file) )
41    {
42        @dots = readdir($dh);
43        foreach (@dots) { 
44            if ( -f $file."/".$_ )
45            {
46                $comm = $file."/".$_;
47                $logger->debug("Running appli detection scripts from ".$comm);
48                foreach (`$comm`)
49                {
50                    $ligne = $_;
51                    chomp($ligne);
52                    ($vendor,$soft,$version,$commentaire) = split(/\#/,$ligne);
53                    $common->addSoftware ({
54                            'PUBLISHER' => $vendor,
55                            'NAME'          => $soft,
56                            'VERSION'       => $version,
57                            'FILESIZE'      => "",
58                            'COMMENTS'      => $commentaire,
59                            'FROM'          => 'ByHand'
60                        });
61                }       
62            }
63
64        }               
65
66
67
68        closedir $dh;
69    }
70    1;
71}
721;
Note: See TracBrowser for help on using the repository browser.