-
Notifications
You must be signed in to change notification settings - Fork 15
/
Skeleton.pm
117 lines (84 loc) · 2.25 KB
/
Skeleton.pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# Package Namespace is hardcoded. Modules must live in
# PGBuild::Modules
package PGBuild::Modules::Skeleton;
use PGBuild::Options;
use PGBuild::SCM;
use strict;
+use vars qw($VERSION); $VERSION = 'REL_4.6';
my $hooks = {
'checkout' => \&checkout,
'setup-target' => \&setup_target,
'need-run' => \&need_run,
'configure' => \&configure,
'build' => \&build,
'install' => \&install,
'installcheck' => \&installcheck,
'cleanup' => \&cleanup,
};
sub setup
{
my $class = __PACKAGE__;
my $buildroot = shift; # where we're building
my $branch = shift; # The branch of Postgres that's being built.
my $conf = shift; # ref to the whole config object
my $pgsql = shift; # postgres build dir
# could even set up several of these (e.g. for different branches)
my $self = {
buildroot => $buildroot,
pgbranch=> $branch,
bfconf => $conf,
pgsql => $pgsql
};
bless($self, $class);
# for each instance you create, do:
main::register_module_hooks($self,$hooks);
}
sub checkout
{
my $self = shift;
my $savescmlog = shift; # array ref to the log lines
print main::time_str(), "checking out ",__PACKAGE__,"\n" if $verbose;
push(@$savescmlog,"Skeleton processed checkout\n");
}
sub setup_target
{
my $self = shift;
# copy the code or setup a vpath dir if supported as appropriate
print main::time_str(), "setting up ",__PACKAGE__,"\n" if $verbose;
}
sub need_run
{
my $self = shift;
my $run_needed = shift; # ref to flag
# to force a run do:
# $$run_needed = 1;
print main::time_str(), "checking if run needed by ",__PACKAGE__,"\n"
if $verbose;
}
sub configure
{
my $self = shift;
print main::time_str(), "configuring ",__PACKAGE__,"\n" if $verbose;
}
sub build
{
my $self = shift;
print main::time_str(), "building ",__PACKAGE__,"\n" if $verbose;
}
sub install
{
my $self = shift;
print main::time_str(), "installing ",__PACKAGE__,"\n" if $verbose;
}
sub installcheck
{
my $self = shift;
my $locale = shift;
print main::time_str(), "checking ",__PACKAGE__,"\n" if $verbose;
}
sub cleanup
{
my $self = shift;
print main::time_str(), "cleaning up ",__PACKAGE__,"\n" if $verbose;
}
1;