summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--setup_native/source/packinfo/packinfo_ure.txt6
-rw-r--r--solenv/bin/modules/installer/epmfile.pm43
2 files changed, 34 insertions, 15 deletions
diff --git a/setup_native/source/packinfo/packinfo_ure.txt b/setup_native/source/packinfo/packinfo_ure.txt
index dfa037510252..36ebc0dc93b0 100644
--- a/setup_native/source/packinfo/packinfo_ure.txt
+++ b/setup_native/source/packinfo/packinfo_ure.txt
@@ -21,7 +21,8 @@ module = "gid_Module_Root"
solarispackagename = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure"
solarisrequires = "SUNWzlibr"
solarisprovides = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-stdlibs"
-provides = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-stdlibs"
+linuxreplaces = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-stdlibs"
+linuxincompat = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-stdlibs"
packagename = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure"
copyright = "2012 The Document Foundation"
solariscopyright = "solariscopyrightfile"
@@ -36,7 +37,8 @@ module = "gid_Module_Root_Ure_Hidden"
solarispackagename = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure"
solarisrequires = "SUNWzlibr"
solarisprovides = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-stdlibs"
-provides = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-stdlibs"
+linuxreplaces = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-stdlibs"
+linuxincompat = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-stdlibs"
packagename = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure"
copyright = "2012 The Document Foundation"
solariscopyright = "solariscopyrightfile"
diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm
index fa66fd91db8e..26406cc2cd15 100644
--- a/solenv/bin/modules/installer/epmfile.pm
+++ b/solenv/bin/modules/installer/epmfile.pm
@@ -265,6 +265,8 @@ sub create_epm_header
# %readme /test/replace/01/README01
# %requires foo
# %provides bar
+ # %replaces bar
+ # %incompat bar
# The first language in the languages array determines the language of license and readme file
@@ -512,23 +514,38 @@ sub create_epm_header
$onereplaces = debian_rewrite($onereplaces);
$line = "%replaces" . " " . $onereplaces . "\n";
push(@epmheader, $line);
+ }
+ }
+ }
- # Force the openofficeorg packages to get removed,
- # see http://www.debian.org/doc/debian-policy/ch-relationships.html
- # 7.5.2 Replacing whole packages, forcing their removal
+ # including %incompat
- if ( $installer::globals::debian )
- {
- $line = "%incompat" . " " . $onereplaces . "\n";
- push(@epmheader, $line);
- }
- }
+ my $incompat = "";
+
+ if (( $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::patch ))
+ {
+ $incompat = "solarisincompat"; # the name in the packagelist
+ }
+ elsif (( $installer::globals::islinuxbuild ) && ( ! $installer::globals::patch ))
+ {
+ $incompat = "linuxincompat"; # the name in the packagelist
+ }
- if ( $installer::globals::debian && $variableshashref->{'UNIXPRODUCTNAME'} eq 'libreoffice' )
+ if (( $incompat ) && ( ! $installer::globals::patch ))
+ {
+ if ( $onepackage->{$incompat} )
+ {
+ my $incompatstring = $onepackage->{$incompat};
+
+ my $allincompat = installer::converter::convert_stringlist_into_array(\$incompatstring, ",");
+
+ for ( my $i = 0; $i <= $#{$allincompat}; $i++ )
{
- $line = "%provides" . " libreoffice-unbundled\n";
- push(@epmheader, $line);
- $line = "%incompat" . " libreoffice-bundled\n";
+ my $oneincompat = ${$allincompat}[$i];
+ $oneincompat =~ s/\s*$//;
+ installer::packagelist::resolve_packagevariables(\$oneincompat, $variableshashref, 1);
+ $oneincompat = debian_rewrite($oneincompat);
+ $line = "%incompat" . " " . $oneincompat . "\n";
push(@epmheader, $line);
}
}