[2032] | 1 | # (c) B.Cornec 2007-2016
|
---|
[1528] | 2 | # Eric Anderson's changes are (c) Copyright 2012 Hewlett Packard
|
---|
| 3 | # Provided under the GPL v2
|
---|
[283] | 4 | use 5.006001;
|
---|
[33] | 5 | use ExtUtils::MakeMaker;
|
---|
[867] | 6 | use strict;
|
---|
[33] | 7 |
|
---|
| 8 | # See lib/ExtUtils/MakeMaker.pm for details of how to influence
|
---|
| 9 | # the contents of the Makefile that is written.
|
---|
| 10 | WriteMakefile(
|
---|
[867] | 11 | NAME => 'PBPKG',
|
---|
| 12 | DISTNAME => 'PBPKG',
|
---|
| 13 | VERSION => 'PBVER',
|
---|
| 14 | INST_SCRIPT => 'blib/bin',
|
---|
[338] | 15 | INSTALLDIRS => 'perl',
|
---|
[867] | 16 | PREREQ_PM => {
|
---|
[33] | 17 | #HTTP::Headers => 1.59,
|
---|
| 18 | #Template => 0,
|
---|
[867] | 19 | }, # e.g., Module::Name => 1.1
|
---|
[63] | 20 | #ABSTRACT_FROM => 'bin/pb', # retrieve abstract from module
|
---|
[867] | 21 | AUTHOR => 'Bruno Cornec <bruno#project-builder.org>',
|
---|
[1899] | 22 | EXE_FILES => [ qw(bin/pbdistrocheck bin/pbgetparam) ],
|
---|
[1694] | 23 | MAN1PODS => {
|
---|
[2136] | 24 | 'bin/pbdistrocheck' => '$(INST_MAN1DIR)/pbdistrocheck.$(MAN1EXT)',
|
---|
| 25 | 'bin/pbgetparam' => '$(INST_MAN1DIR)/pbgetparam.$(MAN1EXT)',
|
---|
[1694] | 26 | },
|
---|
[1290] | 27 | # MAN3PODS => { 'lib/ProjectBuilder/Distribution.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Distribution.$(MAN3EXT)',
|
---|
| 28 | #'lib/ProjectBuilder/Conf.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Conf.$(MAN3EXT)',
|
---|
| 29 | #'lib/ProjectBuilder/Display.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Display.$(MAN3EXT)',
|
---|
| 30 | #'lib/ProjectBuilder/Log.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Log.$(MAN3EXT)',
|
---|
| 31 | #'lib/ProjectBuilder/Log/Item.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Log::Item.$(MAN3EXT)',
|
---|
| 32 | #'lib/ProjectBuilder/Base.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Base.$(MAN3EXT)', },
|
---|
[33] | 33 | );
|
---|
[867] | 34 |
|
---|
| 35 | package MY;
|
---|
| 36 |
|
---|
| 37 | sub postamble {
|
---|
| 38 |
|
---|
[2136] | 39 | # Determine location of conf files
|
---|
[867] | 40 | my $text ="";
|
---|
| 41 |
|
---|
[2136] | 42 | # Grab out any SYSCONFDIR, CONFDIR or MANDIR param
|
---|
| 43 | my $sharedir = undef;
|
---|
[989] | 44 | my $mandir = undef;
|
---|
[2136] | 45 | my $sysconfdir = undef;
|
---|
[1503] | 46 | my $prefix = undef;
|
---|
[867] | 47 |
|
---|
| 48 | while (my $arg = shift @ARGV) {
|
---|
| 49 | my ($key, $value) = split /=/, $arg;
|
---|
| 50 | if ($key =~ /^CONFDIR$/) {
|
---|
[2136] | 51 | $sharedir = $value;
|
---|
| 52 | } elsif ($key =~ /^SYSCONFDIR$/) {
|
---|
| 53 | $sysconfdir = $value;
|
---|
[989] | 54 | } elsif ($key =~ /^MANDIR$/) {
|
---|
| 55 | $mandir = $value;
|
---|
[1503] | 56 | } elsif ($key =~ /^PREFIX$/) {
|
---|
| 57 | $prefix = $value;
|
---|
[867] | 58 | }
|
---|
| 59 | }
|
---|
| 60 |
|
---|
[2136] | 61 | $sharedir ||= "$prefix/share/pb" if (defined $prefix);
|
---|
[1509] | 62 | $mandir ||= "$prefix/share/man" if (defined $prefix);
|
---|
[2136] | 63 | $sysconfdir ||= "$prefix/etc/pb" if (defined $prefix);
|
---|
| 64 | $sharedir ||= "/usr/local/share/pb";
|
---|
[1503] | 65 | $mandir ||= "/usr/local/share/man";
|
---|
[2136] | 66 | $sysconfdir ||= "/etc/pb";
|
---|
[867] | 67 |
|
---|
| 68 | # Use that conf dir info to modify Distribution.pm
|
---|
[2136] | 69 | system("perl -pi -e \"s~CCCC~$sharedir~\" lib/ProjectBuilder/Distribution.pm");
|
---|
| 70 | system("perl -pi -e \"s~SSSS~$sysconfdir~\" lib/ProjectBuilder/Distribution.pm");
|
---|
[867] | 71 |
|
---|
| 72 | $text .= "install ::\n";
|
---|
[2136] | 73 | $text .= "\t".'mkdir -p $(DESTDIR)'."$sharedir\n";
|
---|
| 74 | $text .= "\t".'chmod 755 $(DESTDIR)'."$sharedir\n";
|
---|
[2279] | 75 | $text .= "\t".'cp etc/pb.yml $(DESTDIR)'."$sharedir\n";
|
---|
[2338] | 76 | $text .= "\t".'cp etc/api.yml $(DESTDIR)'."$sharedir\n";
|
---|
[989] | 77 |
|
---|
[2136] | 78 | # Also create a fake version in /etc/pb for sysadmin to modify
|
---|
| 79 | $text .= "\t".'mkdir -p $(DESTDIR)'."$sysconfdir\n";
|
---|
| 80 | $text .= "\t".'chmod 755 $(DESTDIR)'."$sysconfdir\n";
|
---|
[2279] | 81 | $text .= "\t".'perl -p -e \'s|^|#|\' etc/pb.yml > $(DESTDIR)/'."$sysconfdir/pb.yml\n";
|
---|
[2136] | 82 | # Doesn't seem to work in the makefile generated for now :-(
|
---|
[2279] | 83 | #$text .= "\t".'perl -p -e \'s|^([^#])|#$1|\' etc/pb.yml > $(DESTDIR)/'."$sysconfdir/pb.yml\n";
|
---|
[2136] | 84 |
|
---|
[2279] | 85 | # Produce the man page for pb.yml
|
---|
[989] | 86 | $text .= "\t".'mkdir -p $(DESTDIR)'."$mandir/man5\n";
|
---|
[2289] | 87 | $text .= "\t".'pod2man --section=5 etc/pb.yml.pod > $(DESTDIR)'."$mandir/man5/pb.yml.5\n";
|
---|
[867] | 88 | return($text);
|
---|
| 89 | }
|
---|