mirror of
https://abf.rosa.ru/djam/fusioninventory-agent.git
synced 2025-02-23 09:22:53 +00:00
update to 2.3.8, add agent config
This commit is contained in:
parent
7ac37329d0
commit
d39aee1ab6
3 changed files with 417 additions and 14 deletions
4
.abf.yml
4
.abf.yml
|
@ -1,2 +1,4 @@
|
||||||
|
removed_sources:
|
||||||
|
FusionInventory-Agent-2.1.9.tar.gz: 01e14f27f5c4339abc71338203b2308cf3af7968
|
||||||
sources:
|
sources:
|
||||||
"FusionInventory-Agent-2.1.9.tar.gz": 01e14f27f5c4339abc71338203b2308cf3af7968
|
FusionInventory-Agent-2.3.8.tar.gz: 3511183b65a0957204d6bab6c447971a1e651239
|
||||||
|
|
392
fusioninventory-agent-config
Executable file
392
fusioninventory-agent-config
Executable file
|
@ -0,0 +1,392 @@
|
||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
use lib 'lib';
|
||||||
|
|
||||||
|
use File::Path;
|
||||||
|
use UNIVERSAL::require;
|
||||||
|
use FusionInventory::Agent::Config;
|
||||||
|
|
||||||
|
|
||||||
|
# DEB/RPM/... maintainers, turn this to '1'
|
||||||
|
my $packaged = 0;
|
||||||
|
|
||||||
|
my $config;
|
||||||
|
my @cacert;
|
||||||
|
my $randomtime;
|
||||||
|
my $cron_line;
|
||||||
|
|
||||||
|
sub loadModules {
|
||||||
|
my @modules = @_;
|
||||||
|
|
||||||
|
foreach my $module (@modules) {
|
||||||
|
$module->require();
|
||||||
|
$module->import();
|
||||||
|
if ($@) {
|
||||||
|
print STDERR "Failed to load '$module': $@. Please install it and ".
|
||||||
|
"restart the fusioninventory-agent-config script.\n";
|
||||||
|
exit 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
sub ask_yn {
|
||||||
|
my $promptUser = shift;
|
||||||
|
my $default = shift;
|
||||||
|
|
||||||
|
die unless $default =~ /^(y|n)$/;
|
||||||
|
|
||||||
|
my $cpt = 5;
|
||||||
|
while (1) {
|
||||||
|
my $line = prompt("$promptUser\nPlease enter 'y' or 'n'?>", $default);
|
||||||
|
return 1 if $line =~ /^y$/;
|
||||||
|
return if $line =~ /^n$/;
|
||||||
|
if ($cpt-- < 0) {
|
||||||
|
print STDERR "to much user input, exit...\n";
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub promptUser {
|
||||||
|
my ($promptUser, $default, $regex, $notice) = @_;
|
||||||
|
|
||||||
|
my $string = $promptUser;
|
||||||
|
$string .= "?>";
|
||||||
|
|
||||||
|
my $line;
|
||||||
|
my $cpt = 5;
|
||||||
|
while (1) {
|
||||||
|
|
||||||
|
$line = prompt($string, $default);
|
||||||
|
|
||||||
|
if ($regex && $line !~ /$regex/) {
|
||||||
|
print STDERR $notice."\n";
|
||||||
|
} else {
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($cpt-- < 0) {
|
||||||
|
print STDERR "to much user input, exit...\n";
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return $line;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub pickConfigdir {
|
||||||
|
my ($args) = @_;
|
||||||
|
|
||||||
|
my $dirs = $args->{dirs};
|
||||||
|
my $files = $args->{files};
|
||||||
|
|
||||||
|
|
||||||
|
foreach my $dir (@$dirs) {
|
||||||
|
foreach my $file (@$files) {
|
||||||
|
my $t = $dir.'/'.$file;
|
||||||
|
if (-f $t) {
|
||||||
|
return $dir."/".$file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub mkFullServerUrl {
|
||||||
|
|
||||||
|
my $server = shift;
|
||||||
|
|
||||||
|
my $ret = 'http://' unless $server =~ /^http(s|):\/\//;
|
||||||
|
$ret .= $server;
|
||||||
|
|
||||||
|
if ($server !~ /http(|s):\/\/\S+\/\S+/) {
|
||||||
|
$ret .= '/ocsinventory';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
####################################################
|
||||||
|
################### main ###########################
|
||||||
|
####################################################
|
||||||
|
|
||||||
|
loadModules (qw/XML::Simple ExtUtils::MakeMaker/);
|
||||||
|
|
||||||
|
if (!ask_yn("Do you want to configure the agent", 'y')) {
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $defaultConfigDir = "/etc/fusioninventory";
|
||||||
|
my $defaultCfgFile = "agent.cfg";
|
||||||
|
my $newConfigFile = pickConfigdir ({
|
||||||
|
dirs => [
|
||||||
|
$defaultConfigDir,
|
||||||
|
"/usr/local/etc/fusioninventory"
|
||||||
|
],
|
||||||
|
files => [$defaultCfgFile]
|
||||||
|
});
|
||||||
|
my $ocsConfigFile = pickConfigdir ({
|
||||||
|
dirs => [
|
||||||
|
"/etc/ocsinventory",
|
||||||
|
"/usr/local/etc/ocsinventory",
|
||||||
|
"/etc/ocsinventory-agent"
|
||||||
|
],
|
||||||
|
files => ['ocsinventory-agent.cfg']
|
||||||
|
});
|
||||||
|
my $oldOcsConfigdir = "/etc/ocsinventory-client";
|
||||||
|
|
||||||
|
if (!-d $defaultConfigDir) {
|
||||||
|
if (ask_yn ("Do you want to create the directory ".
|
||||||
|
$defaultConfigDir."?", 'y')) {
|
||||||
|
if (!mkdir $defaultConfigDir) {
|
||||||
|
print "Failed to create ".$defaultConfigDir.". Are you root?\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print "Please create the ".$defaultConfigDir." directory first.\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (-f $oldOcsConfigdir.'/ocsinv.conf' && ask_yn("Should the old linux_agent settings be imported?", 'y')) {
|
||||||
|
my $ocsinv = XMLin($oldOcsConfigdir.'/ocsinv.conf');
|
||||||
|
$config->{server} = mkFullServerUrl($ocsinv->{'OCSFSERVER'});
|
||||||
|
|
||||||
|
if (-f $oldOcsConfigdir.'/cacert.pem') {
|
||||||
|
open CACERT, $oldOcsConfigdir.'/cacert.pem' or die "Can'i import the CA certificat: ".$!;
|
||||||
|
@cacert = <CACERT>;
|
||||||
|
close CACERT;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $admcontent = '';
|
||||||
|
|
||||||
|
|
||||||
|
if (-f "$oldOcsConfigdir/ocsinv.adm") {
|
||||||
|
if (!open(ADM, "<:encoding(iso-8859-1)", "$oldOcsConfigdir/ocsinv.adm")) {
|
||||||
|
warn "Can't open $oldOcsConfigdir/ocsinv.adm";
|
||||||
|
} else {
|
||||||
|
$admcontent .= $_ foreach (<ADM>);
|
||||||
|
close ADM;
|
||||||
|
my $admdata = XMLin($admcontent) or die;
|
||||||
|
if (ref ($admdata->{ACCOUNTINFO}) eq 'ARRAY') {
|
||||||
|
foreach (@{$admdata->{ACCOUNTINFO}}) {
|
||||||
|
$config->{tag} = $_->{KEYVALUE} if $_->{KEYNAME} =~ /^TAG$/;
|
||||||
|
}
|
||||||
|
} elsif (
|
||||||
|
exists($admdata->{ACCOUNTINFO}->{KEYNAME}) &&
|
||||||
|
exists($admdata->{ACCOUNTINFO}->{KEYVALUE}) &&
|
||||||
|
$admdata->{ACCOUNTINFO}->{KEYNAME} eq 'TAG'
|
||||||
|
) {
|
||||||
|
print $admdata->{ACCOUNTINFO}->{KEYVALUE}."\n";
|
||||||
|
$config->{tag} = $admdata->{ACCOUNTINFO}->{KEYVALUE};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($newConfigFile, $ocsConfigFile) {
|
||||||
|
if (-f $_) {
|
||||||
|
open (CONFIG, "<".$_) or
|
||||||
|
die "Can't open ".$_.": ".$!;
|
||||||
|
print "Load settings from $_\n";
|
||||||
|
|
||||||
|
foreach (<CONFIG>) {
|
||||||
|
s/#.+//;
|
||||||
|
if (/(\w+)\s*=\s*(.+)/) {
|
||||||
|
my $key = $1;
|
||||||
|
my $val = $2;
|
||||||
|
# Remove the quotes
|
||||||
|
$val =~ s/\s+$//;
|
||||||
|
$val =~ s/^'(.*)'$/$1/;
|
||||||
|
$val =~ s/^"(.*)"$/$1/;
|
||||||
|
$config->{$key} = $val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close CONFIG;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print "[info] The config file will be written in $defaultConfigDir/$defaultCfgFile,\n";
|
||||||
|
|
||||||
|
my $tmp = promptUser('What are the address of your inventory servers? You can enter a list of multiple servers separated by a comma (,).', exists
|
||||||
|
($config->{server})?$config->{server}:'http://ocsinventory-ng/ocsinventory');
|
||||||
|
$config->{server} = mkFullServerUrl($tmp);
|
||||||
|
if (!$config->{server}) {
|
||||||
|
print "Server is empty. Leaving...\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ask_yn ("Do you need credential for the server? (You probably don't)", 'n')) {
|
||||||
|
$config->{user} = promptUser("user", $config->{user});
|
||||||
|
$config->{password} = promptUser("password");
|
||||||
|
print "[info] The realm can be found in the login popup of your Internet browser.\n[info] In general, it's something like 'Restricted Area'.\n";
|
||||||
|
$config->{realm} = promptUser("realm");
|
||||||
|
} else {
|
||||||
|
delete ($config->{user});
|
||||||
|
delete ($config->{password});
|
||||||
|
delete ($config->{realm});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ask_yn('Do you want to apply an administrative tag on this machine', 'y')) {
|
||||||
|
|
||||||
|
$config->{tag} = promptUser("tag", $config->{tag});
|
||||||
|
} else {
|
||||||
|
delete($config->{tag});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
chomp(my $binpath = `which fusioninventory-agent 2>/dev/null`);
|
||||||
|
print $binpath."\n";
|
||||||
|
if (! -x $binpath) {
|
||||||
|
# Packaged version with perl and agent ?
|
||||||
|
$binpath = $^X;
|
||||||
|
$binpath =~ s/perl/fusioninventory-agent/;
|
||||||
|
}
|
||||||
|
if (! -x $binpath) {
|
||||||
|
print "sorry, can't find fusioninventory-agent in \$PATH\n";
|
||||||
|
exit 1;
|
||||||
|
} else {
|
||||||
|
print "FusionInventory Agent found: $binpath\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (!$packaged) {
|
||||||
|
$randomtime = int(rand(60)).' '.int(rand(24));
|
||||||
|
$cron_line = $randomtime." * * * root $binpath --lazy > /dev/null 2>&1\n";
|
||||||
|
|
||||||
|
if ($^O =~ /solaris/) {
|
||||||
|
if (ask_yn("Do yo want to install the cron task in current user crontab ?", 'y')) {
|
||||||
|
my $crontab = `crontab -l`;
|
||||||
|
|
||||||
|
# Let's suppress Linux cron/anacron user column
|
||||||
|
$cron_line =~ s/ root / /;
|
||||||
|
$crontab .= $cron_line;
|
||||||
|
|
||||||
|
open CRONP, "| crontab" || die "Can't run crontab: $!";
|
||||||
|
print CRONP $crontab;
|
||||||
|
close(CRONP);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elsif (-d "/etc/cron.d") {
|
||||||
|
if (ask_yn("Do yo want to install the cron task in /etc/cron.d", 'y')) {
|
||||||
|
|
||||||
|
open DEST, '>/etc/cron.d/fusioninventory-agent' or die $!;
|
||||||
|
# Save the root PATH
|
||||||
|
print DEST "PATH=".$ENV{PATH}."\n";
|
||||||
|
print DEST $randomtime." * * * root $binpath --lazy > /dev/null 2>&1\n";
|
||||||
|
close DEST;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
my $old_vardir;
|
||||||
|
my $default_vardir = $config->{basevardir};
|
||||||
|
if ($^O =~ /solaris/) {
|
||||||
|
$default_vardir = '/var/opt/fusioninventory-agent';
|
||||||
|
$old_vardir = '/var/opt/ocsinventory-agent';
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$default_vardir = '/var/lib/fusioninventory-agent';
|
||||||
|
$old_vardir = '/var/lib/ocsinventory-agent';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$config->{basevardir} = promptUser('Where do you want the agent to store its files? (You probably don\'t need to change it)', exists ($config->{basevardir})?$config->{basevardir}:$default_vardir, '^\/\w+', 'The location must begin with /');
|
||||||
|
|
||||||
|
if (!-d $config->{basevardir}) {
|
||||||
|
if (ask_yn ("Do you want to create the ".$config->{basevardir}." directory?\n", 'y')) {
|
||||||
|
mkdir $config->{basevardir} or die $!;
|
||||||
|
} else {
|
||||||
|
print "Please create the ".$config->{basevardir}." directory\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-d $config->{basevardir} && !-d $default_vardir && ask_yn("Do yo want to ".
|
||||||
|
"migration $old_vardir for FusionInventory Agent", 'y')) {
|
||||||
|
system('mv', $old_vardir, $default_vardir);
|
||||||
|
}
|
||||||
|
|
||||||
|
my @oldFiles = qw(
|
||||||
|
/etc/ocsinventory-client
|
||||||
|
/etc/logrotate.d/ocsinventory-agent
|
||||||
|
/etc/logrotate.d/ocsinventory-client
|
||||||
|
/usr/sbin/ocsinventory-agent
|
||||||
|
/usr/bin/ocsinventory-agent
|
||||||
|
/usr/sbin/ocsinventory-client.pl
|
||||||
|
/etc/cron.d/ocsinventory-client
|
||||||
|
/bin/ocsinv);
|
||||||
|
|
||||||
|
my $doCleanUp;
|
||||||
|
foreach (@oldFiles) {
|
||||||
|
if (-f||-d||-l) {
|
||||||
|
$doCleanUp=1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($doCleanUp && ask_yn ("Should I remove the Ocsinventory Agent files", 'n')) {
|
||||||
|
foreach (@oldFiles) {
|
||||||
|
next unless -f;
|
||||||
|
print $_."\n";
|
||||||
|
rmdir if -d;
|
||||||
|
unlink if -f || -l;
|
||||||
|
}
|
||||||
|
print "done\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create the vardirectory for this server
|
||||||
|
my $dir = $config->{server};
|
||||||
|
$dir =~ s/\//_/g;
|
||||||
|
$dir =~ s/:/../g if $^O =~ /^MSWin/; # Conditional because there is
|
||||||
|
my $vardir = $config->{basevardir}."/".$dir;
|
||||||
|
if (!-d $vardir && !mkpath($vardir)) {
|
||||||
|
die "Can't create $vardir!";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (@cacert) { # we need to migrate the certificat
|
||||||
|
open CACERT, ">".$vardir."/cacert.pem" or die "Can't open ".$vardir.'/cacert.pem: '.$!;
|
||||||
|
print CACERT foreach (@cacert);
|
||||||
|
close CACERT;
|
||||||
|
print "Certificat copied in ".$vardir."/cacert.pem\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
open CONFIG, ">$defaultConfigDir/$defaultCfgFile" or die "Can't write the config file in $defaultConfigDir/$defaultCfgFile: ".$!;
|
||||||
|
print CONFIG $_."=".$config->{$_}."\n" foreach (keys %$config);
|
||||||
|
close CONFIG;
|
||||||
|
chmod 0600, "$defaultConfigDir/$defaultCfgFile";
|
||||||
|
|
||||||
|
if (ask_yn("Do you want to send an inventory of this machine?", 'y')) {
|
||||||
|
system("$binpath --force");
|
||||||
|
}
|
||||||
|
|
||||||
|
print "################################\n";
|
||||||
|
print "New settings written! Thank you for using FusionInventory!\n";
|
||||||
|
print " http://www.FusionInventory.org\n";
|
||||||
|
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
fusioninventory-agent-config - FusionInventory Agent configuration script
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
B<fusioninventory-agent-config>
|
||||||
|
|
||||||
|
|
|
@ -3,17 +3,21 @@
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: fusioninventory-agent
|
Name: fusioninventory-agent
|
||||||
Version: 2.1.9
|
Version: 2.3.8
|
||||||
Release: 4
|
Release: 2
|
||||||
Summary: Linux agent for OCSNG
|
Summary: Linux agent for OCSNG
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: System/Servers
|
Group: System/Servers
|
||||||
URL: http://fusioninventory.org/wordpress/
|
URL: http://fusioninventory.org/wordpress/
|
||||||
Source0: http://search.cpan.org/CPAN/authors/id/F/FU/FUSINV/FusionInventory-Agent-%{version}.tar.gz
|
Source0: http://search.cpan.org/CPAN/authors/id/F/FU/FUSINV/FusionInventory-Agent-%{version}.tar.gz
|
||||||
Source1: %{name}.init
|
Source1: %{name}.init
|
||||||
|
Source2: %{name}-config
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires: perl-Net-SSLeay
|
Requires: perl-Net-SSLeay
|
||||||
BuildRequires: perl-devel
|
BuildRequires: perl-devel
|
||||||
|
BuildRequires: perl-Proc-Daemon
|
||||||
|
BuildRequires: perl(Module::Install)
|
||||||
|
BuildRequires: perl(Module::CoreList)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
FusionInventory-Agent is an agent for OCS NG & GLPI.
|
FusionInventory-Agent is an agent for OCS NG & GLPI.
|
||||||
|
@ -22,7 +26,7 @@ FusionInventory-Agent is an agent for OCS NG & GLPI.
|
||||||
%setup -q -n FusionInventory-Agent-%{version}
|
%setup -q -n FusionInventory-Agent-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%__perl Makefile.PL INSTALLDIRS=vendor
|
%__perl Makefile.PL INSTALLDIRS=vendor PREFIX=/usr SYSCONFDIR=/etc/fusioninventory
|
||||||
%make
|
%make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
@ -54,22 +58,27 @@ EOF
|
||||||
install -d -m 755 %{buildroot}%{_initrddir}
|
install -d -m 755 %{buildroot}%{_initrddir}
|
||||||
install -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/fusioninventory-agent
|
install -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/fusioninventory-agent
|
||||||
|
|
||||||
|
install -d -m 755 %{buildroot}%{_bindir}
|
||||||
|
install -m 755 %{SOURCE2} %{buildroot}%{_bindir}/%{name}-config
|
||||||
|
|
||||||
install -d -m 755 %{buildroot}%{_localstatedir}/log/%{name}
|
install -d -m 755 %{buildroot}%{_localstatedir}/log/%{name}
|
||||||
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc AUTHORS Changes THANKS LICENSE
|
%doc README Changes THANKS LICENSE
|
||||||
%{_bindir}/fusioninventory-agent
|
#{_bindir}/fusioninventory-agent
|
||||||
%{_bindir}/fusioninventory-agent-config
|
#{_bindir}/fusioninventory-agent-config
|
||||||
%{_bindir}/fusioninventory-injector
|
%{_bindir}/fusioninventory-*
|
||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
%{_mandir}/man3/*
|
#{_mandir}/man3/*
|
||||||
%{perl_vendorlib}/FusionInventory
|
%{_datadir}/fusioninventory
|
||||||
%{perl_vendorlib}/auto/share/dist/FusionInventory-Agent
|
#{_sysconfdir}/fusioniventory/agent.cfg
|
||||||
|
#{perl_vendorlib}/FusionInventory
|
||||||
|
#{perl_vendorlib}/auto/share/dist/FusionInventory-Agent
|
||||||
%{_localstatedir}/log/fusioninventory-agent
|
%{_localstatedir}/log/fusioninventory-agent
|
||||||
%{_localstatedir}/lib/fusioninventory-agent
|
%{_localstatedir}/lib/fusioninventory-agent
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/fusioninventory-agent
|
%config(noreplace) %{_sysconfdir}/sysconfig/fusioninventory-agent
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/fusioninventory-agent
|
%config(noreplace) %{_sysconfdir}/logrotate.d/fusioninventory-agent
|
||||||
%config(noreplace) %{_sysconfdir}/cron.daily/fusioninventory-agent
|
%config(noreplace) %{_sysconfdir}/cron.daily/fusioninventory-agent
|
||||||
%{_initrddir}/fusioninventory-agent
|
%{_initrddir}/fusioninventory-agent
|
||||||
|
%config(noreplace) %{_sysconfdir}/fusioninventory/agent.cfg
|
||||||
|
|
Loading…
Add table
Reference in a new issue