summaryrefslogtreecommitdiffstats
path: root/solenv
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-09-12 00:04:39 +0200
committerMichael Stahl <mstahl@redhat.com>2013-09-12 00:20:39 +0200
commitf89cce877cc0480e00ee226780dec887f9d0063a (patch)
treea4210971073b0bef8aad434213a07e4e26b5a3ca /solenv
parentinstaller: remove support for FILE_CAN_MISS style (diff)
downloadcore-f89cce877cc0480e00ee226780dec887f9d0063a.tar.gz
core-f89cce877cc0480e00ee226780dec887f9d0063a.zip
installer: search files in INSTDIR
INSTDIR has everything that will be installed anyway, so ideally the file search patch should only be INSTDIR + whatever is needed to get the Package file lists; especially WORKDIR seems inappropriate there. The exception is extension .oxt files which apparently are not in INSTDIR; not sure what to do about those. Change-Id: I2477c25ab9fcf953fae9c219e76c467e14729cda
Diffstat (limited to 'solenv')
-rw-r--r--solenv/bin/modules/installer/environment.pm6
-rw-r--r--solenv/bin/modules/installer/scriptitems.pm15
2 files changed, 21 insertions, 0 deletions
diff --git a/solenv/bin/modules/installer/environment.pm b/solenv/bin/modules/installer/environment.pm
index 7591fc0e9946..e76037ba2ba6 100644
--- a/solenv/bin/modules/installer/environment.pm
+++ b/solenv/bin/modules/installer/environment.pm
@@ -58,6 +58,12 @@ sub create_pathvariables
my $platformname = $environment->{'OUTPATH'};
$variables{'platformname'} = $platformname;
+ my $instdir = $ENV{'INSTDIR'};
+ $variables{'instdir'} = $instdir;
+
+ my $extensionsdir = $environment->{'WORKDIR'} . $installer::globals::separator . "Extension";
+ $variables{'extensionsdir'} = $extensionsdir;
+
my $filelistpath = $environment->{'WORKDIR'};
$variables{'filelistpath'} = $filelistpath;
diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm
index bc1ac37af167..626763847acf 100644
--- a/solenv/bin/modules/installer/scriptitems.pm
+++ b/solenv/bin/modules/installer/scriptitems.pm
@@ -1068,8 +1068,23 @@ sub get_Source_Directory_For_Files_From_Includepathlist
my $sourcepathref = "";
+ my $destination = $onefile->{'destination'};
+ my $instdirdestination;
+ if ($destination)
+ {
+ $instdirdestination = $ENV{'INSTDIR'} . $installer::globals::separator . $onefile->{'destination'};
+ }
+ if ($instdirdestination && -f $instdirdestination)
+ {
+ $infoline = "SUCCESS: INSTDIR Source for $onefilename: $instdirdestination\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ $$sourcepathref = $instdirdestination;
+ }
+ else
+ {
if ( $file_can_miss ) { $sourcepathref = get_sourcepath_from_filename_and_includepath(\$onefilename, $includepatharrayref, 0); }
else { $sourcepathref = get_sourcepath_from_filename_and_includepath(\$onefilename, $includepatharrayref, 1); }
+ }
$onefile->{'sourcepath'} = $$sourcepathref; # This $$sourcepathref is empty, if no source was found
}