Armadito-Agent

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

		INSTALLLIB           => '$(PREFIX)\\lib',
		INSTALLSITELIB       => '$(PREFIX)\\lib',
		INSTALLVENDORLIB     => '$(PREFIX)\\lib',
		INSTALLMAN1DIR       => '$(PREFIX)\\share\\man\\man1',
		INSTALLSITEMAN1DIR   => '$(PREFIX)\\share\\man\\man1',
		INSTALLVENDORMAN1DIR => '$(PREFIX)\\share\\man\\man1',
		INSTALLMAN3DIR       => '$(PREFIX)\\share\\man\\man3',
		INSTALLSITEMAN3DIR   => '$(PREFIX)\\share\\man\\man3',
		INSTALLVENDORMAN3DIR => '$(PREFIX)\\share\\man\\man3',
		SYSCONFDIR           => '$(PREFIX)\\etc',
		DATADIR              => '$(PREFIX)\\share',
		LOCALSTATEDIR        => '$(PREFIX)\\var',
	);
}

sub setLinuxVariables {

	%Variables = (
		DESTDIR              => '',
		PREFIX               => '/usr/local',
		INSTALLSCRIPT        => '$(PREFIX)/bin',
		INSTALLSITESCRIPT    => '$(PREFIX)/bin',
		INSTALLVENDORSCRIPT  => '$(PREFIX)/bin',
		INSTALLLIB           => '$(DATADIR)/lib',
		INSTALLSITELIB       => '$(DATADIR)/lib',
		INSTALLVENDORLIB     => '$(DATADIR)/lib',
		INSTALLMAN1DIR       => '$(DESTDIR)$(PREFIX)/share/man/man1',
		INSTALLSITEMAN1DIR   => '$(DESTDIR)$(PREFIX)/share/man/man1',
		INSTALLVENDORMAN1DIR => '$(DESTDIR)$(PREFIX)/share/man/man1',
		INSTALLMAN3DIR       => '$(DESTDIR)$(PREFIX)/share/man/man3',
		INSTALLSITEMAN3DIR   => '$(DESTDIR)$(PREFIX)/share/man/man3',
		INSTALLVENDORMAN3DIR => '$(DESTDIR)$(PREFIX)/share/man/man3',
		SYSCONFDIR           => '$(DESTDIR)$(PREFIX)/etc/armadito-agent',
		DATADIR              => '$(DESTDIR)$(PREFIX)/share/armadito-agent',
		LOCALSTATEDIR        => '$(DESTDIR)$(PREFIX)/var/armadito-agent',
	);
}

sub overrideVariablesWithArgs {
	my ($self) = @_;

	foreach my $name ( keys %Variables ) {
		$Variables{$name} = $self->{ARGS}->{$name} if $self->{ARGS}->{$name};
	}
}

sub parseConstantDefinition {
	my ($constant_definition) = @_;

	if ( $constant_definition =~ /^\s*#/ ) {
		return "";
	}

	if ( $constant_definition !~ /^([A-Z0-9_]+) =/ ) {
		return "";
	}

	return $1;
}

sub updateConstants {
	my ($self) = @_;

	my @constants = split( /\n/, $self->SUPER::constants(@_) );

	foreach my $constant_definition (@constants) {
		my $constant = parseConstantDefinition($constant_definition);

		if ( $constant ne ""
			&& defined( $Variables{$constant} ) )
		{
			$constant_definition = "$constant = $Variables{$constant}";
		}
	}

	foreach my $constant (qw/SYSCONFDIR DATADIR LOCALSTATEDIR/) {
		push @constants, "$constant = $Variables{$constant}";
	}

	return join( "\n", @constants );
}

sub constants {
	my ($self) = @_;

	if ( $OSNAME eq "MSWin32" ) {
		setWin32Variables();
	}
	else {
		setLinuxVariables();
	}

	overrideVariablesWithArgs($self);

	return updateConstants($self);
}

sub install {
	my ($self) = @_;
	my $install = $self->SUPER::install(@_);

	$install =~ s/install :: pure_install doc_install/install :: pure_install config_install data_install/;
	$install =~ s/install :: all pure_install doc_install/install :: all pure_install config_install data_install/;
	$install =~ s/.*\.packlist \\\n//g;

	if ( $OSNAME eq "MSWin32" ) {
		$install .= getWin32Install();
	}
	else {
		$install .= getLinuxInstall();
	}

	$install =~ s/[ ]{4}/\t/msg;

	return $install;
}

sub getLinuxInstall {

	return '
config_install :



( run in 2.056 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )