You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by af...@apache.org on 2013/12/10 09:50:51 UTC
svn commit: r1549786 - in /openoffice/trunk/main:
instsetoo_native/util/makefile.mk solenv/bin/modules/installer/languages.pm
solenv/bin/modules/installer/windows/msiglobal.pm
Author: af
Date: Tue Dec 10 08:50:51 2013
New Revision: 1549786
URL: http://svn.apache.org/r1549786
Log:
123531: Better support for multiple languages when creating patches.
Modified:
openoffice/trunk/main/instsetoo_native/util/makefile.mk
openoffice/trunk/main/solenv/bin/modules/installer/languages.pm
openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm
Modified: openoffice/trunk/main/instsetoo_native/util/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/instsetoo_native/util/makefile.mk?rev=1549786&r1=1549785&r2=1549786&view=diff
==============================================================================
--- openoffice/trunk/main/instsetoo_native/util/makefile.mk (original)
+++ openoffice/trunk/main/instsetoo_native/util/makefile.mk Tue Dec 10 08:50:51 2013
@@ -59,6 +59,17 @@ INSTALLDIR=$(OUT)
.INCLUDE: target.mk
+.IF "$(FORCE2ARCHIVE)" == "TRUE"
+PKGFORMAT = archive
+.END
+.IF "$(MAKETARGETS:e)"!=""
+PKGFORMAT+=$(MAKETARGETS:e:s/.//)
+.ENDIF
+# PKGFORMAT may contain the standard package format twice at this time.
+# Provide its content with duplicates removed.
+PACKAGE_FORMATS=$(uniq $(PKGFORMAT))
+
+
# The help target belongs after the inclusion of target.mk to not become the default target.
help .PHONY :
@echo "known targets:"
@@ -73,9 +84,9 @@ help .PHONY :
@echo " sdkoodev"
@echo
@echo "experimental targets:"
- @echo " patch_create create a patch for updating an installed office (Windows only)"
- @echo " patch_apply apply a previously created patch"
- @echo " patch_update_releases_xml"
+ @echo " patch-create create a patch for updating an installed office (Windows only)"
+ @echo " patch-apply apply a previously created patch"
+ @echo " patch-update-releases-xml"
@echo
@echo "Most targets (all except aoo_srcrelease and updatepack) accept suffixes"
@echo " add _<language> to build a target for one language only"
@@ -110,13 +121,6 @@ ALLTAR : updatepack
.ENDIF # "$(UPDATER)"=="" || "$(USE_PACKAGER)"==""
.ENDIF # "$(GUI)"!="WNT" && "$(EPM)"=="NO" && "$(USE_PACKAGER)"==""
-.IF "$(FORCE2ARCHIVE)" == "TRUE"
-PKGFORMAT = archive
-.END
-
-.IF "$(MAKETARGETS:e)"!=""
-PKGFORMAT+=$(MAKETARGETS:e:s/.//)
-.ENDIF # "$(MAKETARGETS:e)"!=""
# Independent of PKGFORMAT, always build a default-language openoffice product
# also in archive format, so that tests that require an OOo installation (like
@@ -172,6 +176,7 @@ ooodevlanguagepack: $(foreach,i,$(alllan
sdkoo: $(foreach,i,$(alllangiso) sdkoo_$i)
sdkoodev: $(foreach,i,$(alllangiso) sdkoodev_$i)
+patch-create: $(foreach,i,$(alllangiso) patch-create_$i)
MSIOFFICETEMPLATESOURCE=$(PRJ)$/inc_openoffice$/windows$/msi_templates
MSILANGPACKTEMPLATESOURCE=$(PRJ)$/inc_ooolangpack$/windows$/msi_templates
@@ -219,6 +224,7 @@ $(foreach,i,$(alllangiso) ooolanguagepac
$(foreach,i,$(alllangiso) ooodevlanguagepack_$i) : $$@{$(PKGFORMAT:^".")}
$(foreach,i,$(alllangiso) sdkoo_$i) : $$@{$(PKGFORMAT:^".")}
$(foreach,i,$(alllangiso) sdkoodev_$i) : $$@{$(PKGFORMAT:^".")}
+$(foreach,i,$(alllangiso) patch-create_$i) : $$@{$(PKGFORMAT:^".")}
# This macro makes calling the make_installer.pl script a bit easier.
@@ -307,20 +313,25 @@ $(BIN)$/dev$/intro.zip : $(SOLARCOMMONPC
.IF "$(OS)" == "WNT"
-patch_create .PHONY : $(PRJ)$/data
+$(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) patch-create_$L.$P)) .PHONY :
+ @echo building $@
perl -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl \
create \
--product-name Apache_OpenOffice \
--output-path $(OUT) \
--data-path $(PRJ)$/data \
- --lst-file $(PRJ)$/util$/openoffice.lst
-patch_apply .PHONY :
+ --lst-file $(PRJ)$/util$/openoffice.lst \
+ --language $(subst,$(@:s/_/ /:1)_, $(@:b)) \
+ --package-format $(@:e:s/.//)
+patch-apply .PHONY :
perl -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl \
apply \
--product-name Apache_OpenOffice \
--output-path $(OUT) \
- --lst-file $(PRJ)$/util$/openoffice.lst
-patch_update_releases_xml .PHONY:
+ --lst-file $(PRJ)$/util$/openoffice.lst \
+ --language en-US \
+ --package-format msi
+patch-update-releases-xml .PHONY:
perl -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl \
update-releases-xml \
--product-name Apache_OpenOffice \
@@ -331,7 +342,11 @@ patch_update_releases_xml .PHONY:
$(PRJ)$/data :
mkdir $@
.ELSE
-patch .PHONY :
+$(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) patch-create_$L.$P)) .PHONY :
+ @echo "patches can only be created on Windows at the moment"
+patch-apply .PHONY :
+ @echo "patches can only be created on Windows at the moment"
+patch-update-releases-xml .PHONY:
@echo "patches can only be created on Windows at the moment"
.ENDIF
Modified: openoffice/trunk/main/solenv/bin/modules/installer/languages.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/languages.pm?rev=1549786&r1=1549785&r2=1549786&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/languages.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/languages.pm Tue Dec 10 08:50:51 2013
@@ -476,8 +476,19 @@ sub get_key_language ($)
sub get_normalized_language ($)
{
my ($language) = @_;
-
- if ($language =~ /^.*?_(.*)$/)
+
+ if (ref($language) eq "ARRAY")
+ {
+ if (scalar @$language > 1 && $language->[0] eq "en-US")
+ {
+ return $language->[1];
+ }
+ else
+ {
+ return $language;
+ }
+ }
+ elsif ($language =~ /^.*?_(.*)$/)
{
return $1;
}
Modified: openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm?rev=1549786&r1=1549785&r2=1549786&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm Tue Dec 10 08:50:51 2013
@@ -1630,7 +1630,8 @@ sub get_source_codes ($)
if ( ! defined $installer::globals::source_version)
{
- return;
+ $installer::logger::Lang->printf("no source version defined\n");
+ return (undef, undef);
}
my $onelanguage = installer::languages::get_key_language($languagesref);
@@ -1640,7 +1641,8 @@ sub get_source_codes ($)
->{$installer::globals::packageformat};
if (defined $release_data)
{
- my $language_data = $release_data->{$onelanguage};
+ my $normalized_language = installer::languages::get_normalized_language($languagesref);
+ my $language_data = $release_data->{$normalized_language};
if (defined $language_data)
{
$installer::logger::Lang->printf("source product code is %s\n", $language_data->{'product-code'});
@@ -1654,9 +1656,11 @@ sub get_source_codes ($)
else
{
$installer::logger::Info->printf(
- "Warning: can not access information about previous version %s and language %s\n",
+ "Warning: can not access information about previous version %s and language %s/%s/%s\n",
$installer::globals::source_version,
- $onelanguage);
+ $onelanguage,
+ join(", ",@$languagesref),
+ $normalized_language);
return (undef,undef);
}
}
@@ -1736,6 +1740,7 @@ sub set_global_code_variables ($$)
# Just create two new uuids.
$target_product_code = "{" . create_guid() . "}";
$target_upgrade_code = "{" . create_guid() . "}";
+ $installer::logger::Lang->printf("there is no source version => created new guids\n");
}
$installer::globals::productcode = $target_product_code;