17 |
|
# scramprojectdb() : return the scram project DB object |
18 |
|
# areatoolbox(ConfigArea) : return the toolbox of the specified area |
19 |
|
# setuptoolsinarea($area[,$toolname[,$toolversion[,toolfile]) : setup |
20 |
+ |
# arch() : get/set the architecture string |
21 |
|
|
22 |
|
package Scram::ScramFunctions; |
23 |
|
use URL::URLcache; |
48 |
|
require Configuration::BootStrapProject; |
49 |
|
my $bs=Configuration::BootStrapProject-> |
50 |
|
new($self->globalcache(),$installarea); |
51 |
+ |
$self->verbose("BootStrapping $url"); |
52 |
|
my $area=$bs->boot($url,$areaname); |
53 |
+ |
if ( ! defined $area ) { |
54 |
+ |
$self->error("Unable to create project area"); |
55 |
+ |
} |
56 |
+ |
$area->archname($self->arch()); |
57 |
|
|
58 |
|
# -- download all tool description files |
59 |
|
my $req=$self->arearequirements($area); |
111 |
|
|
112 |
|
# -- create satellite |
113 |
|
my $area=$relarea->satellite($installarea,$areaname); |
114 |
+ |
$area->archname($self->arch()); |
115 |
+ |
|
116 |
+ |
# -- copy setup info - deprecated by toolbox copy method |
117 |
+ |
#$relarea->copysetup($area->location()); |
118 |
|
|
119 |
< |
# -- copy setup info |
120 |
< |
$relarea->copysetup($area->location()); |
119 |
> |
# -- copy toolbox |
120 |
> |
my $rtb=$self->areatoolbox($relarea); |
121 |
> |
my $tb=$self->areatoolbox($area); |
122 |
> |
$rtb->copytools($tb); |
123 |
|
|
124 |
|
# -- copy configuration directory |
125 |
|
if ( ! -d $area->location()."/".$area->configurationdir() ) { |
179 |
|
} |
180 |
|
return $self->{scramprojectsdb}; |
181 |
|
} |
182 |
< |
|
182 |
> |
|
183 |
|
sub areatoolbox { |
184 |
|
my $self=shift; |
185 |
|
my $area=shift; |
204 |
|
require BuildSystem::Requirements; |
205 |
|
my $doc=$area->requirementsdoc(); |
206 |
|
my $cache=$area->cache(); |
207 |
+ |
my $db=$area->objectstore(); |
208 |
|
$self->{requirements}{$name}= |
209 |
< |
BuildSystem::Requirements->new($doc,$cache); |
209 |
> |
BuildSystem::Requirements->new("file:".$doc,$cache,$db); |
210 |
|
$self->{requirements}{$name}->verbosity($self->verbosity()); |
211 |
|
$self->verbose("Requirements Doc (".$self->{requirements}{$name}. |
212 |
|
") for area :\n $name\n initiated from $doc"); |
217 |
|
return $self->{requirements}{$name}; |
218 |
|
} |
219 |
|
|
220 |
+ |
sub arch { |
221 |
+ |
my $self=shift; |
222 |
+ |
|
223 |
+ |
@_?$self->{arch}=shift |
224 |
+ |
:$self->{arch}; |
225 |
+ |
} |
226 |
+ |
|
227 |
|
# -------------- Support Routines ------------------------------ |
228 |
|
|
229 |
|
|