source: devel/pb-modules/Makefile.PL @ 1509

Last change on this file since 1509 was 1509, checked in by bruno, 7 years ago
  • Fix a build bug with the new prefix variable in pb-module. Only use if it exists !
  • pb_conf_init is called at low level on the default project to avoid PBPROJ to be undefined and creatin lots of error msgs. pbdistrocheck works again with it
  • Fix sbx2setupvm in order to call pb_conf_init correctly at start of the pbinit script.
File size: 2.4 KB
Line 
1use 5.006001;
2use ExtUtils::MakeMaker;
3use strict;
4
5# See lib/ExtUtils/MakeMaker.pm for details of how to influence
6# the contents of the Makefile that is written.
7WriteMakefile(
8    NAME         => 'PBPKG',
9    DISTNAME     => 'PBPKG',
10    VERSION      => 'PBVER',
11    INST_SCRIPT  => 'blib/bin',
12    INSTALLDIRS  => 'perl',
13    PREREQ_PM    => {
14            #HTTP::Headers                    => 1.59,
15            #Template                         => 0,
16    },    # e.g., Module::Name => 1.1
17    #ABSTRACT_FROM => 'bin/pb',   # retrieve abstract from module
18    AUTHOR        => 'Bruno Cornec <bruno#project-builder.org>',
19    EXE_FILES     => [ qw( bin/pbdistrocheck ) ],
20    MAN1PODS      => { 'bin/pbdistrocheck' => '$(INST_MAN1DIR)/pbdistrocheck.$(MAN1EXT)', },
21#   MAN3PODS      => {  'lib/ProjectBuilder/Distribution.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Distribution.$(MAN3EXT)',
22                        #'lib/ProjectBuilder/Conf.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Conf.$(MAN3EXT)',
23                        #'lib/ProjectBuilder/Display.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Display.$(MAN3EXT)',
24                        #'lib/ProjectBuilder/Log.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Log.$(MAN3EXT)',
25                        #'lib/ProjectBuilder/Log/Item.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Log::Item.$(MAN3EXT)',
26                        #'lib/ProjectBuilder/Base.pm' => '$(INST_MAN3DIR)/ProjectBuilder::Base.$(MAN3EXT)', },
27);
28
29package MY;
30
31sub postamble {
32
33    # Determine location of etc conf files
34    my $text ="";
35
36    # Grab out any CONFDIR or MANDIR param
37    my $etcdir = undef;
38    my $mandir = undef;
39    my $prefix = undef;
40
41    while (my $arg = shift @ARGV) {
42        my ($key, $value) = split /=/, $arg;
43        if ($key =~ /^CONFDIR$/) {
44            $etcdir = $value;
45        } elsif ($key =~ /^MANDIR$/) {
46            $mandir = $value;
47        } elsif ($key =~ /^PREFIX$/) {
48            $prefix = $value;
49        }
50    }
51
52    $etcdir ||= "$prefix/etc/pb" if (defined $prefix);
53    $mandir ||= "$prefix/share/man" if (defined $prefix);
54    $etcdir ||= "/usr/local/etc/pb";
55    $mandir ||= "/usr/local/share/man";
56
57    # Use that conf dir info to modify Distribution.pm
58    system("perl -pi -e \"s~CCCC~$etcdir~\" lib/ProjectBuilder/Distribution.pm");
59
60    $text .= "install ::\n";
61    $text .= "\t".'mkdir -p $(DESTDIR)'."$etcdir\n";
62    $text .= "\t".'chmod 755 $(DESTDIR)'."$etcdir\n";
63    $text .= "\t".'cp etc/pb.conf $(DESTDIR)'."$etcdir\n";
64
65    # Produce the man page for pb.conf
66    $text .= "\t".'mkdir -p $(DESTDIR)'."$mandir/man5\n";
67    $text .= "\t".'pod2man --section=5 etc/pb.conf.pod > $(DESTDIR)'."$mandir/man5/pb.conf.5\n";
68    return($text);
69}
Note: See TracBrowser for help on using the repository browser.