/usr/local/CPAN/Test-AutoBuild/Makefile.PL


# $Id: Makefile.PL,v 1.33 2007/12/10 04:45:18 danpb Exp $
# -*- perl -*-

use strict;
use warnings;
use ExtUtils::MakeMaker;

WriteMakefile(
              NAME => "Test-AutoBuild",
              VERSION_FROM => 'lib/Test/AutoBuild.pm',
              AUTHOR => "Daniel Berrange (dan[at]berrange[dot]com)",
              EXE_FILES => ['bin/auto-build', 'bin/auto-build-make-root', 'bin/auto-build-clean-root'],
              NO_META => 1,
              PREREQ_PM => {
                  'BSD::Resource' => "1.10",
                  'Carp' => '0',
                  'Class::MethodMaker' => '0',
		  'Config' => '0',
		  'Cwd' => '0',
                  'Config::Record' => '1.1.0',
		  'Data::Dumper' => '0',
                  'Date::Manip' => '0',
                  'Digest::MD5' => '0',
                  'Fcntl' => '0',
                  'File::Copy' => '0',
                  'File::Find' => '0',
		  'File::Glob' => '0',
                  'File::Path' => '0',
		  'File::Spec' => '0',
		  'File::stat' => '0',
		  'IO::File' => '0',
                  'IO::Scalar' => '0',
		  'List::Util' => '0',
                  'Log::Log4perl' => "0",
                  'Net::SMTP' => "2.15",
                  'POSIX' => '0',
		  'Storable' => '0',
		  'Symbol' => '0',
                  'Sys::Hostname' => '0',
                  'Template' => '0',
		  'Test::More' => '0',
		  'XML::Simple' => '0',
              },
              dist =>
              {
                  COMPRESS => 'gzip --force --best',
              },
              clean =>
              {
                  FILES => '*.bak *~',
              },
              depend => {
                  Makefile => '$(VERSION_FROM)',
                  #'Test-AutoBuild.spec' => '$(VERSION_FROM)',
                  dist => 'Test-AutoBuild.spec META.yml',
              },
              realclean => {
                  FILES => 'Test-AutoBuild-*.tar.gz Test-AutoBuild.spec',
              },
              );

package MY;

sub libscan {
    my ($self, $path) = @_;
    ($path =~ /\~$/ || $path =~ m,/CVS/,) ? undef : $path;
}


sub postamble {
    '
WITH_SELINUX    = 0

sysconfdir      = $(PREFIX)/etc
bindir          = $(PREFIX)/bin
pkgsysconfdir   = $(sysconfdir)/auto-build.d
pkgdatadir      = $(PREFIX)/share/$(DISTNAME)-$(VERSION)
selinuxdir      = $(PREFIX)/share/selinux
selinuxpkgdir   = $(selinuxdir)/packages

# NB do not use prefix here
selinuxdevdir   = /usr/share/selinux/devel

pure_all ::
		test -d $(selinuxdevdir) -a $(WITH_SELINUX) = 1 && make -C conf/selinux ||:

clean ::
		test -d $(selinuxdevdir) -a $(WITH_SELINUX) = 1 && make -C conf/selinux clean ||:

install ::
		install -d -m 0755 $(pkgsysconfdir)
		for i in conf/*.conf ; do \
				conf=`echo $$i | sed -e \'s/conf\///\'`; \
				if [ -f $(pkgsysconfdir)/$$conf ]; then \
						install -c -m 0644 $$i $(pkgsysconfdir)/$$conf-example; \
						echo "Not overwriting existing config file $(pkgsysconfdir)/$$conf" ; \
				else \
						install -c -m 0644 $$i $(pkgsysconfdir)/$$conf; \
				fi \
		done
		install -d -m 0755 $(pkgsysconfdir)/engine
		for i in conf/engine/*.conf ; do \
	        	        conf=`echo $$i | sed -e \'s/conf\///\'`; \
	        	        if [ -f $(pkgsysconfdir)/$$conf ]; then \
	                	                install -c -m 0644 $$i $(pkgsysconfdir)/$$conf-example; \
	                	                echo "Not overwriting existing config file $(pkgsysconfdir)/$$conf" ; \
	        	        else \
	                	                install -c -m 0644 $$i $(pkgsysconfdir)/$$conf; \
	        	        fi \
		done
		install -d -m 0755 $(pkgsysconfdir)/cron
		for i in conf/cron/*.conf ; do \
	        	        conf=`echo $$i | sed -e \'s/conf\///\'`; \
	        	        if [ -f $(pkgsysconfdir)/$$conf ]; then \
	                	                install -c -m 0644 $$i $(pkgsysconfdir)/$$conf-example; \
	                	                echo "Not overwriting existing config file $(pkgsysconfdir)/$$conf" ; \
	        	        else \
	                	                install -c -m 0644 $$i $(pkgsysconfdir)/$$conf; \
	        	        fi \
		done
		install -d -m 0755 $(pkgsysconfdir)/httpd
		for i in conf/httpd/*.conf ; do \
	        	        conf=`echo $$i | sed -e \'s/conf\///\'`; \
	        	        if [ -f $(pkgsysconfdir)/$$conf ]; then \
	                	                install -c -m 0644 $$i $(pkgsysconfdir)/$$conf-example; \
	                	                echo "Not overwriting existing config file $(pkgsysconfdir)/$$conf" ; \
	        	        else \
	                	                install -c -m 0644 $$i $(pkgsysconfdir)/$$conf; \
	        	        fi \
		done
		install -d -m 0755 $(pkgsysconfdir)/templates
		install -c -m 0644 templates/*.txt $(pkgsysconfdir)/templates/
		install -c -m 0644 templates/*.html $(pkgsysconfdir)/templates/
		install -c -m 0644 templates/*.tt $(pkgsysconfdir)/templates/
		install -c -m 0644 templates/*.css $(pkgsysconfdir)/templates/
		install -c -m 0644 templates/*.rss $(pkgsysconfdir)/templates/
		install -c -m 0644 templates/*.png $(pkgsysconfdir)/templates/
		if [ -d $(selinuxdevdir) -a $(WITH_SELINUX) = 1 ]; then \
				install -d -m 0755 $(selinuxpkgdir)/auto-build/ ;\
				install -c -m 0644 conf/selinux/auto-build.pp $(selinuxpkgdir)/auto-build/auto-build.pp ;\
				install -c -m 0755 blib/script/auto-build $(bindir)/auto-build-secure ;\
		fi


HTMLDIR = blib/html

HTMLURLPREFIX = /
HTMLPODS = $(MAN3PODS:lib/%.pm=$(HTMLDIR)/%.html)

MAN5EXT = 5
INST_MAN5DIR = blib/man5

$(INST_MAN5DIR)/.exists :: $(INST_MAN3DIR)/.exists
		$(NOECHO) $(MKPATH) $(INST_MAN5DIR)
		$(NOECHO) $(EQUALIZE_TIMESTAMP) $(INST_MAN3DIR)/.exists $(INST_MAN5DIR)/.exists
		-$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_MAN5DIR)

all:: manify5pods

manify5pods: $(INST_MAN5DIR)/.exists conf/auto-build.conf.pod
		$(NOECHO) $(POD2MAN_EXE) --section=5 --perm_rw=$(PERM_RW)\
                    conf/auto-build.conf.pod $(INST_MAN5DIR)/auto-build.conf.$(MAN5EXT)

INSTALLMAN5DIR = $(PERLPREFIX)/share/man/man5
DESTINSTALLMAN5DIR = $(DESTDIR)$(INSTALLMAN5DIR)
INSTALLSITEMAN5DIR = $(SITEPREFIX)/share/man/man5
DESTINSTALLSITEMAN5DIR = $(DESTDIR)$(INSTALLSITEMAN5DIR)
INSTALLVENDORMAN5DIR = $(VENDORPREFIX)/share/man/man5
DESTINSTALLVENDORMAN5DIR = $(DESTDIR)$(INSTALLVENDORMAN5DIR)

pure_perl_install ::
		install -d -m 0755 $(DESTINSTALLMAN5DIR)
		install -c -m 644 $(INST_MAN5DIR)/* $(DESTINSTALLMAN5DIR)

pure_site_install ::
		install -d -m 0755 $(DESTINSTALLSITEMAN5DIR)
		install -c -m 644 $(INST_MAN5DIR)/* $(DESTINSTALLSITEMAN5DIR)

pure_vendor_install ::
		install -d -m 0755 $(DESTINSTALLVENDORMAN5DIR)
		install -c -m 644 $(INST_MAN5DIR)/* $(DESTINSTALLVENDORMAN5DIR)


htmlifypods: $(HTMLDIR) $(HTMLPODS)

$(HTMLDIR):
		mkdir $@

$(HTMLDIR)/%.html: lib/%.pm
		mkdir -p `dirname $@`
		pod2html --htmlroot=$(HTMLURLPREFIX) --infile=$< --outfile=$@ --podpath=$(HTMLDIR)

';
}

sub test {
    my $self = shift;
    my $mm_test = $self->SUPER::test(@_);

    return '
test :: META.yml
' . $mm_test;
  }

__END__