Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 21549 | Differences between
and this patch

Collapse All | Expand All

(-)bricolage-1.10.2.orig/Makefile (-3 / +13 lines)
Lines 24-29 PERL = /usr/bin/perl Link Here
24
# Blank by default, but set to QUIET to ask essential questions only
24
# Blank by default, but set to QUIET to ask essential questions only
25
INSTALL_VERBOSITY?= STANDARD
25
INSTALL_VERBOSITY?= STANDARD
26
26
27
# Destdir support
28
DESTDIR?= /
29
30
# INSTALLDIRS support
31
INSTALLDIRS?= site
32
33
USE_DEFAULTS?=standard
34
27
# can't load Bric since it loads Bric::Config which has dependencies
35
# can't load Bric since it loads Bric::Config which has dependencies
28
# that won't be solved till make install.
36
# that won't be solved till make install.
29
BRIC_VERSION = `$(PERL) -ne '/VERSION.*?([\d\.]+)/ and print $$1 and exit' < lib/Bric.pm`
37
BRIC_VERSION = `$(PERL) -ne '/VERSION.*?([\d\.]+)/ and print $$1 and exit' < lib/Bric.pm`
Lines 53-59 postgres.db : inst/postgres.pl required Link Here
53
	$(PERL) inst/postgres.pl $(INSTALL_VERBOSITY)
61
	$(PERL) inst/postgres.pl $(INSTALL_VERBOSITY)
54
62
55
config.db	: inst/config.pl required.db apache.db postgres.db
63
config.db	: inst/config.pl required.db apache.db postgres.db
56
	$(PERL) inst/config.pl $(INSTALL_VERBOSITY)
64
	$(PERL) inst/config.pl INSTALL_VERBOSITY=$(INSTALL_VERBOSITY) \
65
		DESTDIR=$(DESTDIR) INSTALLDIRS=$(INSTALLDIRS) \
66
		USE_DEFAULTS=$(USE_DEFAULTS)
57
67
58
bconf/bricolage.conf	:  required.db inst/conf.pl
68
bconf/bricolage.conf	:  required.db inst/conf.pl
59
	$(PERL) inst/conf.pl INSTALL $(BRIC_VERSION)
69
	$(PERL) inst/conf.pl INSTALL $(BRIC_VERSION)
Lines 184-194 cpan : modules.db postgres.db inst/cpa Link Here
184
194
185
lib 		: 
195
lib 		: 
186
	-rm -f lib/Makefile
196
	-rm -f lib/Makefile
187
	cd lib; $(PERL) Makefile.PL; $(MAKE) install
197
	cd lib; $(PERL) Makefile.PL INSTALLDIRS=$(INSTALLDIRS) DESTDIR=$(DESTDIR) ; $(MAKE) install
188
198
189
bin 		:
199
bin 		:
190
	-rm -f bin/Makefile
200
	-rm -f bin/Makefile
191
	cd bin; $(PERL) Makefile.PL; $(MAKE) install
201
	cd bin; $(PERL) Makefile.PL INSTALLDIRS=$(INSTALLDIRS) DESTDIR=$(DESTDIR) ; $(MAKE) install
192
202
193
files 		: config.db bconf/bricolage.conf
203
files 		: config.db bconf/bricolage.conf
194
	$(PERL) inst/files.pl
204
	$(PERL) inst/files.pl
(-)bricolage-1.10.2.orig/Makefile.PL (+16 lines)
Lines 7-15 use File::Copy; Link Here
7
7
8
my $old = 'Makefile';
8
my $old = 'Makefile';
9
my $new = 'Makefile.new';
9
my $new = 'Makefile.new';
10
my $PREFIX = "";
11
my $DESTDIR = "/";
12
my $INSTALLDIRS="site";
10
13
11
open OLD, "<", $old or die "Unable to open $old: $!\n";
14
open OLD, "<", $old or die "Unable to open $old: $!\n";
12
open NEW, ">", $new or die "Unable to open $new: $!\n";
15
open NEW, ">", $new or die "Unable to open $new: $!\n";
16
17
foreach my $key (@ARGV) { 
18
	if ($key =~ m/^PREFIX/) { $PREFIX = $key }
19
	if ($key =~ m/^DESTDIR/) { $DESTDIR = $key }
20
	if ($key =~ m/^INSTALLDIRS/) { $INSTALLDIRS = $key }
21
}
22
13
my $flag;
23
my $flag;
14
while (<OLD>) {
24
while (<OLD>) {
15
    if ($flag) {
25
    if ($flag) {
Lines 17-22 while (<OLD>) { Link Here
17
        next;
27
        next;
18
    } elsif (/^PERL\s*=\s*/) {
28
    } elsif (/^PERL\s*=\s*/) {
19
        print NEW "PERL = $Config{perlpath}\n";
29
        print NEW "PERL = $Config{perlpath}\n";
30
    } elsif (/^PREFIX/) {
31
		print NEW "$PREFIX\n"
32
	} elsif (/^DESTDIR/) {
33
		print NEW "$DESTDIR\n";
34
	} elsif (/^INSTALLDIRS/) {
35
		print NEW "$INSTALLDIRS\n"
20
    } else {
36
    } else {
21
        print NEW;
37
        print NEW;
22
    }
38
    }
(-)bricolage-1.10.2.orig/bin/Makefile.PL (-3 / +13 lines)
Lines 30-47 manifypods: Link Here
30
    }
30
    }
31
}
31
}
32
32
33
my $DESTDIR;
34
if ( exists $CONFIG->{DESTDIR} && -d $CONFIG->{DESTDIR} ) {
35
	$DESTDIR = $CONFIG->{DESTDIR}
36
} else {
37
	$DESTDIR = ""
38
}
39
33
# Write out the Makefile
40
# Write out the Makefile
34
WriteMakefile(NAME           => 'bric_bin',
41
WriteMakefile(NAME           => 'bric_bin',
35
	      EXE_FILES      => \@EXE,
42
	      EXE_FILES      => \@EXE,
36
	      ( exists $CONFIG->{MODULE_DIR} ? 
43
	      ( exists $CONFIG->{MODULE_DIR} ? 
37
		( INSTALLSITELIB => $CONFIG->{MODULE_DIR} ) :
44
		( INSTALLSITELIB => "$DESTDIR/$CONFIG->{MODULE_DIR}" ) :
38
		()),
45
		()),
46
    	( exists $CONFIG->{DESTDIR} ?
47
		( DESTDIR => $CONFIG->{DESTDIR} ) :
48
		 ()),
39
	      ( exists $CONFIG->{BIN_DIR} ? 
49
	      ( exists $CONFIG->{BIN_DIR} ? 
40
		( INSTALLSCRIPT => $CONFIG->{BIN_DIR},
50
		( INSTALLSCRIPT => $CONFIG->{BIN_DIR},
41
                  INSTALLSITEBIN => $CONFIG->{BIN_DIR} ) :
51
                  INSTALLSITEBIN => "$DESTDIR/$CONFIG->{BIN_DIR}" ) :
42
		()),
52
		()),
43
	      ( exists $CONFIG->{MAN_DIR} ? 
53
	      ( exists $CONFIG->{MAN_DIR} ? 
44
		( INSTALLMAN1DIR => "$CONFIG->{MAN_DIR}/man1",
54
		( INSTALLMAN1DIR => "$CONFIG->{MAN_DIR}/man1",
45
                  INSTALLSITEMAN1DIR => "$CONFIG->{MAN_DIR}/man1") :
55
                  INSTALLSITEMAN1DIR => "$DESTDIR/$CONFIG->{MAN_DIR}/man1") :
46
		()));
56
		()));
47
57
(-)bricolage-1.10.2.orig/inst/config.pl (-6 / +20 lines)
Lines 38-46 use Cwd; Link Here
38
38
39
# check whether questions should be asked
39
# check whether questions should be asked
40
our $QUIET;
40
our $QUIET;
41
$QUIET = 1 if $ARGV[0] and $ARGV[0] eq 'QUIET';
41
our $INSTALLDIRS;
42
our $DESTDIR;
43
our $INSTALL_VERBOSITY;
44
45
$INSTALLDIRS = $ENV{'INSTALLDIRS'};
46
$DESTDIR = $ENV{'DESTDIR'};
47
if ($ENV{'INSTALL_VERBOSITY'} eq "QUIET" ) { $QUIET=1}
48
 
49
print "\n\n==> $QUIET $INSTALL_VERBOSITY Gathering User Configuration <==\n\n";
42
50
43
print "\n\n==> Gathering User Configuration <==\n\n";
44
our %CONFIG;
51
our %CONFIG;
45
52
46
# our $REQ;
53
# our $REQ;
Lines 52-57 do "./apache.db" or die "Failed to read Link Here
52
choose_defaults();
59
choose_defaults();
53
confirm_settings();
60
confirm_settings();
54
61
62
# Just to be safe, just add 'em to Config
63
$CONFIG{INSTALLDIRS} = "$INSTALLDIRS";
64
$CONFIG{DESTDIR} = "$DESTDIR";
65
55
# all done, dump out apache database, announce success and exit
66
# all done, dump out apache database, announce success and exit
56
open(OUT, ">config.db") or die "Unable to open config.db : $!";
67
open(OUT, ">config.db") or die "Unable to open config.db : $!";
57
print OUT Data::Dumper->Dump([\%CONFIG],['CONFIG']);
68
print OUT Data::Dumper->Dump([\%CONFIG],['CONFIG']);
Lines 85-93 END Link Here
85
    # setup the default
96
    # setup the default
86
    if ($CONFIG{set} eq 's') {
97
    if ($CONFIG{set} eq 's') {
87
        # single system defaults
98
        # single system defaults
88
        $CONFIG{BRICOLAGE_ROOT}  = '/usr/local/bricolage';
99
        $CONFIG{BRICOLAGE_ROOT}  = $ENV{BRICOLAGE_ROOT}||'/usr/local/bricolage';
89
        $CONFIG{TEMP_DIR}        = tmpdir();
100
        $CONFIG{TEMP_DIR}        = tmpdir();
90
        $CONFIG{MODULE_DIR}      = $Config{sitelib};
101
        $CONFIG{MODULE_DIR}      = $Config{vendorlib};
91
        $CONFIG{BIN_DIR}         = $Config{scriptdir};
102
        $CONFIG{BIN_DIR}         = $Config{scriptdir};
92
        $CONFIG{MAN_DIR}         = $Config{man3dir};
103
        $CONFIG{MAN_DIR}         = $Config{man3dir};
93
        $CONFIG{MASON_COMP_ROOT} = '$CONFIG{BRICOLAGE_ROOT}/comp';
104
        $CONFIG{MASON_COMP_ROOT} = '$CONFIG{BRICOLAGE_ROOT}/comp';
Lines 115-121 END Link Here
115
126
116
    } else {
127
    } else {
117
        # multi system defaults
128
        # multi system defaults
118
        $CONFIG{BRICOLAGE_ROOT}  = '/usr/local/bricolage';
129
        $CONFIG{BRICOLAGE_ROOT}  = $ENV{BRICOLAGE_ROOT}||'/usr/local/bricolage';
130
119
131
120
        # evaluated after BRICOLAGE_ROOT is set
132
        # evaluated after BRICOLAGE_ROOT is set
121
        $CONFIG{TEMP_DIR}         = '$CONFIG{BRICOLAGE_ROOT}/tmp';
133
        $CONFIG{TEMP_DIR}         = '$CONFIG{BRICOLAGE_ROOT}/tmp';
Lines 126-131 END Link Here
126
        $CONFIG{PID_FILE}         = '$CONFIG{BRICOLAGE_ROOT}/log/httpd.pid';
138
        $CONFIG{PID_FILE}         = '$CONFIG{BRICOLAGE_ROOT}/log/httpd.pid';
127
        $CONFIG{MASON_COMP_ROOT}  = '$CONFIG{BRICOLAGE_ROOT}/comp';
139
        $CONFIG{MASON_COMP_ROOT}  = '$CONFIG{BRICOLAGE_ROOT}/comp';
128
        $CONFIG{MASON_DATA_ROOT}  = '$CONFIG{BRICOLAGE_ROOT}/data';
140
        $CONFIG{MASON_DATA_ROOT}  = '$CONFIG{BRICOLAGE_ROOT}/data';
141
        $CONFIG{DESTDIR}          = get_default("DESTDIR");
142
129
    }
143
    }
130
} else {
144
} else {
131
    # use QUIET defaults
145
    # use QUIET defaults
Lines 165-171 sub confirm_settings { Link Here
165
179
166
  # some prefs are based on BRICOLAGE_ROOT, need to eval them now
180
  # some prefs are based on BRICOLAGE_ROOT, need to eval them now
167
  foreach (qw(TEMP_DIR MODULE_DIR BIN_DIR MAN_DIR LOG_DIR PID_FILE
181
  foreach (qw(TEMP_DIR MODULE_DIR BIN_DIR MAN_DIR LOG_DIR PID_FILE
168
              MASON_COMP_ROOT MASON_DATA_ROOT)) {
182
              MASON_COMP_ROOT MASON_DATA_ROOT DESTDIR)) {
169
    $CONFIG{$_} = eval qq{"$CONFIG{$_}"};
183
    $CONFIG{$_} = eval qq{"$CONFIG{$_}"};
170
  }
184
  }
171
185
(-)bricolage-1.10.2.orig/inst/files.pl (-9 / +10 lines)
Lines 83-93 exit 0; Link Here
83
83
84
# create paths configured by the user
84
# create paths configured by the user
85
sub create_paths {
85
sub create_paths {
86
    mkpath([catdir($CONFIG->{MASON_COMP_ROOT}, "data"),
86
    mkpath([catdir($CONFIG->{DESTDIR},$CONFIG->{MASON_COMP_ROOT}, "data"),
87
	    $CONFIG->{MASON_DATA_ROOT},
87
	    catdir($CONFIG->{DESTDIR},$CONFIG->{MASON_DATA_ROOT}),
88
	    catdir($CONFIG->{BRICOLAGE_ROOT}, "conf"),
88
	    catdir($CONFIG->{DESTDIR},$CONFIG->{BRICOLAGE_ROOT}, "conf"),
89
	    catdir($CONFIG->{TEMP_DIR}, "bricolage"),
89
	    catdir($CONFIG->{DESTDIR},$CONFIG->{TEMP_DIR}, "bricolage"),
90
	    $CONFIG->{LOG_DIR}],
90
	    catdir($CONFIG->{DESTDIR},$CONFIG->{LOG_DIR})],
91
	   1,
91
	   1,
92
	   0755);
92
	   0755);
93
}
93
}
Lines 95-100 sub create_paths { Link Here
95
# copy files - should be called by a find() with no_chdir set
95
# copy files - should be called by a find() with no_chdir set
96
sub copy_files {
96
sub copy_files {
97
    my $root = shift;
97
    my $root = shift;
98
    if ($CONFIG->{DESTDIR}) { $root = $CONFIG->{DESTDIR}."$root"}
98
    return if /\.$/;
99
    return if /\.$/;
99
    return if /.svn/;
100
    return if /.svn/;
100
    return if $UPGRADE and m!/data/!; # Don't upgrade data files.
101
    return if $UPGRADE and m!/data/!; # Don't upgrade data files.
Lines 120-130 sub copy_files { Link Here
120
# and the files beneath them.
121
# and the files beneath them.
121
sub assign_permissions {
122
sub assign_permissions {
122
    system("chown", "-R", $AP->{user} . ':' . $AP->{group},
123
    system("chown", "-R", $AP->{user} . ':' . $AP->{group},
123
	   catdir($CONFIG->{MASON_COMP_ROOT}, "data"));
124
       catdir($CONFIG->{DESTDIR},$CONFIG->{MASON_COMP_ROOT}, "data"));
124
    system("chown", "-R", $AP->{user} . ':' . $AP->{group},
125
    system("chown", "-R", $AP->{user} . ':' . $AP->{group},
125
	   $CONFIG->{MASON_DATA_ROOT});
126
        catdir($CONFIG->{DESTDIR},$CONFIG->{MASON_DATA_ROOT}));
126
    system("chown", "-R", $AP->{user} . ':' . $AP->{group},
127
    system("chown", "-R", $AP->{user} . ':' . $AP->{group},
127
	   catdir($CONFIG->{TEMP_DIR}, "bricolage"));
128
        catdir($CONFIG->{DESTDIR},$CONFIG->{TEMP_DIR}, "bricolage"));
128
    system("chown", "-R", $AP->{user} . ':' . $AP->{group},
129
    system("chown", "-R", $AP->{user} . ':' . $AP->{group},
129
	   catdir($CONFIG->{LOG_DIR}));
130
        catdir($CONFIG->{DESTDIR},$CONFIG->{LOG_DIR}));
130
}
131
}
(-)bricolage-1.10.2.orig/lib/Makefile.PL (-1 / +11 lines)
Lines 21-26 find({no_chdir => 1, Link Here
21
      }},
21
      }},
22
     File::Spec->curdir);
22
     File::Spec->curdir);
23
23
24
my $DESTDIR;
25
if ( exists $CONFIG->{DESTDIR} && -d $CONFIG->{DESTDIR} ) {
26
	$DESTDIR = $CONFIG->{DESTDIR}
27
} else {
28
	$DESTDIR = ""
29
}
30
24
# skip manifying PODs if '!' is given as MAN_DIR
31
# skip manifying PODs if '!' is given as MAN_DIR
25
sub MY::manifypods {
32
sub MY::manifypods {
26
    if (exists $CONFIG->{MAN_DIR} && $CONFIG->{MAN_DIR} eq '!') {
33
    if (exists $CONFIG->{MAN_DIR} && $CONFIG->{MAN_DIR} eq '!') {
Lines 38-45 manifypods: Link Here
38
WriteMakefile(NAME           => 'Bric',
45
WriteMakefile(NAME           => 'Bric',
39
              PM             => \%PM,
46
              PM             => \%PM,
40
              ( exists $CONFIG->{MODULE_DIR} ?
47
              ( exists $CONFIG->{MODULE_DIR} ?
41
                ( INSTALLSITELIB => $CONFIG->{MODULE_DIR} ) :
48
                ( INSTALLSITELIB => "$CONFIG->{MODULE_DIR}" ) :
42
                ()),
49
                ()),
50
              ( exists $CONFIG->{DESTDIR} ?
51
			    ( DESTDIR => "$CONFIG->{DESTDIR}" ) : 
52
				()),
43
              ( exists $CONFIG->{MAN_DIR} ?
53
              ( exists $CONFIG->{MAN_DIR} ?
44
                ( INSTALLMAN3DIR => "$CONFIG->{MAN_DIR}/man3",
54
                ( INSTALLMAN3DIR => "$CONFIG->{MAN_DIR}/man3",
45
                  INSTALLSITEMAN3DIR => "$CONFIG->{MAN_DIR}/man3") :
55
                  INSTALLSITEMAN3DIR => "$CONFIG->{MAN_DIR}/man3") :

Return to bug 21549