Authen-Krb5-Admin

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

print 'checking for kadm5/admin.h ... ';
my $KRB5_DEFS = '';
if ( -f "$KRB5_INCDIR/kadm5/admin.h" ) {
  print "found\n";
} else {
  print "not found, assuming this is Kerberos 1.6\n";
  $KRB5_DEFS .= ' -DUSE_LOCAL_ADMINH';
}

print 'checking for kdb.h ... ';
if ( -f "$KRB5_INCDIR/kdb.h" ) {
  print "found\n";
  $KRB5_DEFS .= ' -DHAVE_KDB_H';
} else {
  print "not found, assuming this is Kerberos 1.6\n";
}

# get values for test suite

unless ($KADM5_PRINCIPAL) {
    print 'Authenticate as user/instance[@REALM] for testing ',
          "[$default_admin]: ";
    $KADM5_PRINCIPAL = <STDIN>;
    chomp $KADM5_PRINCIPAL;
    $KADM5_PRINCIPAL ||= $default_admin;
}

unless ($KADM5_TEST_NAME) {
    print 'Use user/instance (should NOT exist!) for testing ',
          "[$default_test_name]: ";
    $KADM5_TEST_NAME = <STDIN>;
    chomp $KADM5_TEST_NAME;
    $KADM5_TEST_NAME ||= $default_test_name;
}

unless ($KADM5_TEST_NAME_2) {
    print 'Use user/instance (should NOT exist!) for testing renames ',
          "[$default_test_name_2]: ";
    $KADM5_TEST_NAME_2 = <STDIN>;
    chomp $KADM5_TEST_NAME_2;
    $KADM5_TEST_NAME_2 ||= $default_test_name_2;
}

sub MY::insert_kinit_maybe {
    my ($commands) = @_;
    my $test_cache = $ENV{PERL_KADM5_TEST_CACHE} || '/tmp/perl_test';
    my $new_vars = join ' ', "PERL_KADM5_PRINCIPAL=$KADM5_PRINCIPAL",
                             "PERL_KADM5_TEST_NAME=$KADM5_TEST_NAME",
                             "PERL_KADM5_TEST_NAME_2=$KADM5_TEST_NAME_2",
                             "PERL_KADM5_TEST_CACHE=$test_cache ";
    $commands =~ s/PERL_DL_NONLAZY=1 /$new_vars /;
    return exists $ENV{PERL_KADM5_TEST_CACHE}
         ? $commands
         : "\t$KRB5_BINDIR/kinit -S kadmin/admin -c $test_cache -l 50m "
           . "$KADM5_PRINCIPAL\n$commands"
         ;
}

sub MY::test_via_harness {
    package MY;
    return insert_kinit_maybe shift->SUPER::test_via_harness(@_);
}

sub MY::test_via_script {
    package MY;
    return insert_kinit_maybe shift->SUPER::test_via_script(@_);
}

WriteMakefile(
    DEFINE       => "$KRB5_DEFS",
    INC          => "-I$KRB5_INCDIR $KRB5_EXTRAINCS",
    LIBS         => ["-L$KRB5_LIBDIR -lkadm5clnt -lcom_err",
                     $KRB5_EXTRALIBS],
    NAME         => 'Authen::Krb5::Admin',
    NO_META      => 1,
    PREREQ_PM    => {'Authen::Krb5' => 1.2},
    VERSION_FROM => 'Admin.pm',
);



( run in 1.145 second using v1.01-cache-2.11-cpan-364913b4093 )