[ooo-build-commit] 2 commits - patches/dev300 patches/lwp
Tor Lillqvist
tml at kemper.freedesktop.org
Tue Aug 11 05:10:30 PDT 2009
patches/dev300/win32-multi-lang-installer.diff | 1054 ++++++++++++-------------
patches/lwp/lwp-filter-component.diff | 8
2 files changed, 524 insertions(+), 538 deletions(-)
New commits:
commit ada9b2b3d5ffd8ac4a89e70af496c4eed6ae4289
Author: Tor Lillqvist <tlillqvist at novell.com>
Date: Tue Aug 11 15:09:04 2009 +0300
Adapt win32-multi-lang-installer.diff for dev300-m54
* patches/dev300/win32-multi-lang-installer.diff: Adapt for dev300-m54.
diff --git a/patches/dev300/win32-multi-lang-installer.diff b/patches/dev300/win32-multi-lang-installer.diff
index 50185e1..87b2a7f 100644
--- a/patches/dev300/win32-multi-lang-installer.diff
+++ b/patches/dev300/win32-multi-lang-installer.diff
@@ -1,534 +1,520 @@
---- ../../../2.0.2-pristine/build/OOO_2_0_2/scp2/source/ooo/file_library_ooo.scp 2006-06-02 13:06:38.003914500 +0000
-+++ scp2/source/ooo/file_library_ooo.scp 2006-05-31 16:15:01.893875000 +0000
-@@ -2168,3 +2168,12 @@
- STD_UNO_LIB_FILE_PATCH( gid_File_Lib_For, for)
- STD_LIB_FILE_PATCH( gid_File_Lib_Forui, forui)
-
-+
-+#ifdef WNT
-+File gid_File_Lib_sellangmsi
-+ TXT_FILE_BODY;
-+ Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
-+ Dir = gid_Dir_Program;
-+ Name = "sellangmsi.dll";
-+End
-+#endif
-dummy line to avoid confusing diff-mode
---- scp2/source/ooo/windowscustomaction_ooo.scp
-+++ scp2/source/ooo/windowscustomaction_ooo.scp
-@@ -443,3 +443,11 @@
- Assignment1 = ("InstallExecuteSequence", "(Not Installed or ISPATCH) and Not REMOVE=\"ALL\"", "end");
- End
-
-+WindowsCustomAction gid_Customaction_SelectLanguage
-+ Name = "SelectLanguage";
-+ Typ = "321";
-+ Source = "sellangmsi.dll";
-+ Target = "SelectLanguage";
-+ Inbinarytable = 1;
-+ Assignment1 = ("ControlEvent", "SetupType", "Next", "DoAction", "SelectLanguage", "1", "1");
-+End
---- setup_native/prj/build.lst
-+++ setup_native/prj/build.lst
-@@ -5,6 +5,7 @@
- pk setup_native\source\win32\customactions\regactivex nmake - w sn_regactivex NULL
- pk setup_native\source\win32\customactions\regpatchactivex nmake - w sn_regpatchactivex NULL
- pk setup_native\source\win32\customactions\reg4allmsdoc nmake - w sn_reg4allmsdoc NULL
-+pk setup_native\source\win32\customactions\sellang nmake - w sn_sellang NULL
- pk setup_native\source\win32\customactions\javafilter nmake - w sn_javafilter NULL
- pk setup_native\source\win32\customactions\quickstarter nmake - w sn_quickstarter NULL
- pk setup_native\source\win32\customactions\shellextensions nmake - w sn_shellextensions sn_tools.w NULL
---- /dev/null
-+++ setup_native/source/win32/customactions/sellang/exports.dxp 2006-05-31 12:15:54.268875000 +0000
-@@ -0,0 +1 @@
-+SelectLanguage
---- /dev/null
-+++ setup_native/source/win32/customactions/sellang/makefile.mk 2006-05-31 12:13:28.331375000 +0000
-@@ -0,0 +1,80 @@
-+#*************************************************************************
-+#
-+# OpenOffice.org - a multi-platform office productivity suite
-+#
-+# The Contents of this file are made available subject to
-+# the terms of GNU Lesser General Public License Version 2.1.
-+#
-+#
-+# GNU Lesser General Public License Version 2.1
-+# =============================================
-+# Copyright 2005 by Sun Microsystems, Inc.
-+# 901 San Antonio Road, Palo Alto, CA 94303, USA
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Lesser General Public
-+# License version 2.1, as published by the Free Software Foundation.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Lesser General Public License for more details.
-+#
-+# You should have received a copy of the GNU Lesser General Public
-+# License along with this library; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+# MA 02111-1307 USA
-+#
-+#*************************************************************************
-+
-+PRJ=..$/..$/..$/..
-+PRJNAME=setup_native
-+TARGET=sellangmsi
-+
-+.IF "$(GUI)"=="WNT"
-+
-+# --- Settings -----------------------------------------------------
-+
-+ENABLE_EXCEPTIONS=TRUE
-+NO_DEFAULT_STL=TRUE
-+DYNAMIC_CRT=
-+USE_DEFFILE=TRUE
-+
-+.INCLUDE : settings.mk
-+
-+CFLAGS+=-D_STLP_USE_STATIC_LIB
-+
-+# --- Files --------------------------------------------------------
-+
-+UWINAPILIB=
-+
-+SLOFILES = \
-+ $(SLO)$/sellang.obj
-+
-+SHL1STDLIBS= kernel32.lib\
-+ user32.lib\
-+ advapi32.lib\
-+ shell32.lib\
-+ msi.lib\
-+ $(LIBSTLPORTST)
-+
-+SHL1LIBS = $(SLB)$/$(TARGET).lib
-+
-+SHL1TARGET = $(TARGET)
-+SHL1IMPLIB = i$(TARGET)
-+
-+SHL1DEF = $(MISC)$/$(SHL1TARGET).def
-+SHL1DEPN = $(SLB)$/$(TARGET).lib
-+SHL1BASE = 0x1c000000
-+DEF1NAME=$(SHL1TARGET)
-+DEF1EXPORTFILE=exports.dxp
-+
-+# --- Targets --------------------------------------------------------------
-+
-+.INCLUDE : target.mk
-+
-+# -------------------------------------------------------------------------
-+
-+
-+.ENDIF
-+
---- /dev/null
-+++ setup_native/source/win32/customactions/sellang/sellang.cxx 2006-06-02 09:13:53.893875000 +0000
-@@ -0,0 +1,347 @@
-+/*************************************************************************
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * The Contents of this file are made available subject to
-+ * the terms of GNU Lesser General Public License Version 2.1.
-+ *
-+ *
-+ * GNU Lesser General Public License Version 2.1
-+ * =============================================
-+ * Copyright 2005 by Sun Microsystems, Inc.
-+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License version 2.1, as published by the Free Software Foundation.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ *
-+ ************************************************************************/
-+
-+#define WIN32_LEAN_AND_MEAN
-+#define _WIN32_WINNT 0x0500
-+#undef WINVER
-+#define WINVER 0x0500
-+
-+#pragma warning(push, 1) /* disable warnings within system headers as
-+ * warnings are now treated as errors...
-+ */
-+#include <windows.h>
-+#include <msiquery.h>
-+#include <malloc.h>
-+
-+#ifdef UNICODE
-+#define _UNICODE
-+#define _tstring wstring
-+#else
-+#define _tstring string
-+#endif
-+#include <tchar.h>
-+#include <string>
-+#include <stdio.h>
-+#pragma warning(pop)
-+
-+#include <systools/win32/uwinapi.h>
-+
-+/* #define VERBOSE_DEBUG_OUTPUT 1 */
-+
-+static const char *
-+langid_to_string( LANGID langid, int *have_default_lang )
-+{
-+ /* Map from LANGID to string. The languages below are in the same
-+ * seemingly random order as in
-+ * setup_native/source/win32/msi-encodinglist.txt.
-+ * Only the language part is returned in the string.
-+ */
-+ switch (PRIMARYLANGID (langid)) {
-+ case LANG_ENGLISH:
-+ if (have_default_lang != NULL &&
-+ langid == MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT))
-+ *have_default_lang = 1;
-+ return "en";
-+#define CASE(primary, name) \
-+ case LANG_##primary: return #name
-+ CASE(PORTUGUESE, pt);
-+ CASE(RUSSIAN, ru);
-+ CASE(GREEK, el);
-+ CASE(DUTCH, nl);
-+ CASE(FRENCH, fr);
-+ CASE(SPANISH, es);
-+ CASE(FINNISH, fi);
-+ CASE(HUNGARIAN, hu);
-+ CASE(CATALAN, ca);
-+ CASE(ITALIAN, it);
-+ CASE(CZECH, cs);
-+ CASE(SLOVAK, sk);
-+ CASE(DANISH, da);
-+ CASE(SWEDISH, sv);
-+ CASE(POLISH, pl);
-+ CASE(GERMAN, de);
-+ CASE(THAI, th);
-+ CASE(ESTONIAN, et);
-+ CASE(JAPANESE, ja);
-+ CASE(KOREAN, ko);
-+ // CASE(KHMER, km);
-+ // CASE(WELSH, cy);
-+ CASE(CHINESE, zh);
-+ CASE(TURKISH, tr);
-+ CASE(HINDI, hi);
-+ CASE(PUNJABI, pa);
-+ CASE(TAMIL, ta);
-+ CASE(ARABIC, ar);
-+ CASE(HEBREW, he);
-+ CASE(AFRIKAANS, af);
-+ CASE(ALBANIAN, sq);
-+ CASE(ARMENIAN, hy);
-+ CASE(BASQUE, eu);
-+ CASE(BELARUSIAN, be);
-+ CASE(BENGALI, bn);
-+ CASE(BULGARIAN, bg);
-+ CASE(ICELANDIC, is);
-+ CASE(INDONESIAN, id);
-+ // CASE(LAO, lo);
-+ CASE(LATVIAN, lv);
-+ CASE(LITHUANIAN, lt);
-+ // CASE(MALTESE, mt);
-+ // CASE(ROMANSH, rm);
-+ CASE(ROMANIAN, ro);
-+ // CASE(KINYARWANDA, rw);
-+ CASE(SANSKRIT, sa);
-+ // CASE(SETSWANA, tn);
-+ CASE(FARSI, fa);
-+ CASE(FAEROESE, fo);
-+ CASE(SLOVENIAN, sl);
-+ // CASE(SORBIAN, sb);
-+ // CASE(SUTU, st);
-+ CASE(SWAHILI, sw);
-+ CASE(TATAR, tt);
-+ // CASE(TSONGA, ts);
-+ CASE(UKRAINIAN, uk);
-+ CASE(URDU, ur);
-+ CASE(VIETNAMESE, vi);
-+ // CASE(XHOSA, xh);
-+ // CASE(YIDDISH, yi);
-+ // CASE(ZULU, zu);
-+ CASE(GUJARATI, gu);
-+ // CASE(BRETON, br);
-+ CASE(NEPALI, ne);
-+ // CASE(NDEBELE, nr);
-+ // CASE(SWAZI, ss);
-+ // CASE(VENDA, ve);
-+ // CASE(IRISH, ga);
-+ CASE(MACEDONIAN, mk);
-+ CASE(TELUGU, te);
-+ CASE(MALAYALAM, ml);
-+ CASE(MARATHI, mr);
-+ CASE(ORIYA, or);
-+ // CASE(KURDISH, ku);
-+ // CASE(TAGALOG, tg);
-+ // CASE(TIGRINYA, ti);
-+ CASE(GALICIAN, gl);
-+ CASE(KANNADA, kn);
-+ CASE(MALAY, ms);
-+ // CASE(TAJIK, tg);
-+ CASE(GEORGIAN, ka);
-+ // CASE(ESPERANTO, eo);
-+#undef CASE
-+ /* Special cases */
-+ default:
-+ switch (langid) {
-+ case MAKELANGID(LANG_SERBIAN, 0x05): return "bs";
-+#define CASE(primary, sub, name) \
-+ case MAKELANGID(LANG_##primary, SUBLANG_##sub): return #name
-+
-+ CASE(NORWEGIAN, NORWEGIAN_BOKMAL, nb);
-+ CASE(NORWEGIAN, NORWEGIAN_NYNORSK, nn);
-+ CASE(SERBIAN, DEFAULT, hr);
-+ CASE(SERBIAN, SERBIAN_LATIN, sh);
-+ CASE(SERBIAN, SERBIAN_CYRILLIC, sr);
-+ // CASE(SOTHO, DEFAULT, ns);
-+ // CASE(SOTHO, SOTHO_SOUTHERN, st);
-+#undef CASE
-+ default: return "";
-+ }
-+ }
-+}
-+
-+static const char *ui_langs[100];
-+static int num_ui_langs = 0;
-+
-+BOOL CALLBACK
-+enum_ui_lang_proc (LPTSTR language, LONG_PTR /* unused_lParam */)
-+{
-+ long langid = strtol(language, NULL, 16);
-+ if (langid > 0xFFFF)
-+ return TRUE;
-+ ui_langs[num_ui_langs] = langid_to_string((LANGID) langid, NULL);
-+ num_ui_langs++;
-+ if (num_ui_langs == sizeof(ui_langs) / sizeof(ui_langs[0]))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+static BOOL
-+present_in_ui_langs(const char *lang)
-+{
-+ for (int i = 0; i < num_ui_langs; i++)
-+ if (memcmp (ui_langs[i], lang, 2) == 0)
-+ return TRUE;
-+ return FALSE;
-+}
-+
-+extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle )
-+{
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ char tem[2000];
-+#endif
-+ char feature[100];
-+ MSIHANDLE database, view, record;
-+ DWORD length;
-+ int nlangs = 0;
-+ /* Keeping this code simple and stupid... won't bother with any
-+ * dynamic arrays or whatnot. 100 is more than enough for this purpose.
-+ */
-+ char langs[100][6];
-+
-+ database = MsiGetActiveDatabase(handle);
-+
-+ if (MsiDatabaseOpenViewA(database, "SELECT Feature from Feature WHERE Feature_Parent = 'gm_Langpack_Languageroot'", &view) != ERROR_SUCCESS) {
-+ MsiCloseHandle(database);
-+ return ERROR_SUCCESS;
-+ }
-+
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ MessageBoxA(NULL, "MsiDatabaseOpenViewA success!", "SelectLanguage", MB_OK);
-+#endif
-+
-+ if (MsiViewExecute(view, NULL) != ERROR_SUCCESS) {
-+ MsiCloseHandle(view);
-+ MsiCloseHandle(database);
-+ return ERROR_SUCCESS;
-+ }
-+
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ MessageBoxA(NULL, "MsiViewExecute success!", "SelectLanguage", MB_OK);
-+#endif
-+
-+ while (MsiViewFetch(view, &record) == ERROR_SUCCESS) {
-+ length = sizeof(feature);
-+ if (MsiRecordGetStringA(record, 1, feature, &length) != ERROR_SUCCESS) {
-+ MsiCloseHandle(record);
-+ MsiCloseHandle(view);
-+ MsiCloseHandle(database);
-+ return ERROR_SUCCESS;
-+ }
-+
-+ /* Keep track of what languages are included in this installer, if
-+ * it is a multilanguage one.
-+ */
-+ if (strcmp(feature, "gm_Langpack_r_en_US") != 0)
-+ strcpy(langs[nlangs++], feature + strlen("gm_Langpack_r_"));
-+
-+ MsiCloseHandle(record);
-+ }
-+
-+ MsiCloseHandle(view);
-+
-+ if (nlangs > 0) {
-+ /* Deselect those languages that don't match any of the UI languages
-+ * available on the system.
-+ */
-+
-+ int i;
-+ int have_system_default_lang = 0;
-+ const char *system_default_lang = langid_to_string(GetSystemDefaultUILanguage(), &have_system_default_lang);
-+ const char *user_locale_lang = langid_to_string(LANGIDFROMLCID(GetThreadLocale()), NULL);
-+
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ sprintf(tem, "GetSystemDefaultUILanguage(): %#x = %s", GetSystemDefaultUILanguage(), system_default_lang);
-+ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
-+#endif
-+
-+ EnumUILanguagesA(enum_ui_lang_proc, 0, 0);
-+
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ sprintf(tem, "Have %d UI languages: ", num_ui_langs);
-+ for (i = 0; i < num_ui_langs; i++) {
-+ char *p = tem + strlen(tem);
-+ sprintf(p, "%s%s",
-+ ui_langs[i],
-+ (i + 1 < num_ui_langs) ? ", " : "");
-+ }
-+ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
-+#endif
-+
-+ /* If one of the alternative languages in a multi-language installer
-+ * is the system default UI language, deselect those languages that
-+ * aren't among the UI languages available on the system.
-+ * (On most Windows installations, just one UI language is present,
-+ * which obviously is the same as the default UI language. But
-+ * we want to be generic.)
-+ * If none of the languages in a multi-language installer is the
-+ * system default UI language (this happens now in 2.4.0 where we
-+ * cannot put as many UI languages into the installer as we would
-+ * like, but only half a dozen: en-US,de,es,fr,it,pt-BR), pretend
-+ * that English is the system default UI language,
-+ * so that we will by default deselect everything except
-+ * English. We don't want to by default install all half dozen
-+ * languages for an unsuspecting user of a Finnish Windows, for
-+ * instance. Sigh.
-+ */
-+ if (system_default_lang[0]) {
-+ for (i = 0; i < nlangs; i++) {
-+ if (memcmp (system_default_lang, langs[i], 2) == 0) {
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ sprintf(tem, "We have the system default language %s in the installer", system_default_lang);
-+ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
-+#endif
-+ have_system_default_lang = 1;
-+ }
-+ }
-+ }
-+
-+ if (!have_system_default_lang) {
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ sprintf(tem, "We don't have the system default language %s in the installer, so pretend that English is the system default, sigh.", system_default_lang);
-+ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
-+#endif
-+ system_default_lang = "en";
-+ have_system_default_lang = 1;
-+ }
-+ if (have_system_default_lang) {
-+ for (i = 0; i < nlangs; i++) {
-+ if (memcmp(system_default_lang, langs[i], 2) != 0 &&
-+ memcmp(user_locale_lang, langs[i], 2) != 0 &&
-+ !present_in_ui_langs(langs[i])) {
-+ UINT rc;
-+ sprintf(feature, "gm_Langpack_r_%s", langs[i]);
-+ rc = MsiSetFeatureStateA(handle, feature, INSTALLSTATE_ABSENT);
-+ if (rc != ERROR_SUCCESS) {
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ sprintf(tem, "MsiSetFeatureStateA %s failed: %d", feature, rc);
-+ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
-+#endif
-+ } else {
-+#ifdef VERBOSE_DEBUG_OUTPUT
-+ sprintf(tem, "MsiSetFeatureStateA %s OK!", feature);
-+ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
-+#endif
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ MsiCloseHandle(database);
-+
-+ return ERROR_SUCCESS;
-+}
---- solenv/bin/modules/installer/download.pm.orig 2008-06-05 12:22:33.000000000 +0800
-+++ solenv/bin/modules/installer/download.pm 2008-06-05 12:23:44.000000000 +0800
-@@ -827,12 +827,9 @@ sub put_windows_productpath_into_templat
-
- my $productpath = $variableshashref->{'PROPERTYTABLEPRODUCTNAME'};
-
-- my $locallangs = $$languagestringref;
-- $locallangs =~ s/_/ /g;
- if (length($locallangs) > $installer::globals::max_lang_length) { $locallangs = "multi lingual"; }
-
-- if ( ! $installer::globals::languagepack ) { $productpath = $productpath . " (" . $locallangs . ")"; }
--
-+ if ( ! $installer::globals::languagepack ) { $productpath = $productpath . " (" . sprintf('%x', time()) . ")"; }
- # if (( $installer::globals::languagepack ) && ( $installer::globals::unicodensis )) { $productpath = convert_textstring_to_utf16($productpath, $localnsisdir, "stringhelper.txt"); }
-
- replace_one_variable($templatefile, "PRODUCTPATHPLACEHOLDER", $productpath);
-@@ -1041,7 +1041,6 @@
- elsif ( $language eq "ja" ) { $nsislanguage = "Japanese"; }
- elsif ( $language eq "ko" ) { $nsislanguage = "Korean"; }
- elsif ( $language eq "th" ) { $nsislanguage = "Thai"; }
-- elsif ( $language eq "vi" ) { $nsislanguage = "Vietnamese"; }
- elsif ( $language eq "zh-CN" ) { $nsislanguage = "SimpChinese"; }
- elsif ( $language eq "zh-TW" ) { $nsislanguage = "TradChinese"; }
- else {
---- solenv/bin/modules/installer/windows/update.pm
-+++ solenv/bin/modules/installer/windows/update.pm
-@@ -51,7 +51,9 @@
-
- # Export of all tables by using "*"
-
-- $systemcall = $msidb . " -d " . $fulldatabasepath . " -f " . $workdir . " -e \*";
-+ $workdir = qx(cygpath -w $workdir);
-+ chomp ($workdir);
-+ $systemcall = $msidb . " -d " . $fulldatabasepath . " -f '" . $workdir . "' -e \\*";
- $returnvalue = system($systemcall);
-
- $infoline = "Systemcall: $systemcall\n";
---- instsetoo_native/util/makefile.mk
-+++ instsetoo_native/util/makefile.mk
-@@ -222,7 +222,7 @@
- openoffice_% :
- .ENDIF # "$(PKGFORMAT)"!=""
- $(PERL) -w $(SOLARENV)$/bin$/make_installer.pl -f $(PRJ)$/util$/openoffice.lst -l $(subst,$(@:s/_/ /:1)_, $(@:b)) -p OpenOffice -u $(OUT) -buildid $(BUILD) -msitemplate $(MSIOFFICETEMPLATEDIR) -msilanguage $(COMMONMISC)$/win_ulffiles $(subst,xxx,$(@:e:s/.//) $(PKGFORMATSWITCH) $(VERBOSESWITCH))
-- $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
-+ $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/`date +%Y%m%d_%H%M`_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
-
- .IF "$(PKGFORMAT)"!=""
- $(foreach,i,$(alllangiso) openofficewithjre_$i) : $$@{$(PKGFORMAT:^".")}
-@@ -250,7 +250,7 @@
- openofficedev_% :
- .ENDIF # "$(PKGFORMAT)"!=""
- $(PERL) -w $(SOLARENV)$/bin$/make_installer.pl -f $(PRJ)$/util$/openoffice.lst -l $(subst,$(@:s/_/ /:1)_, $(@:b)) -p OpenOffice_Dev -u $(OUT) -buildid $(BUILD) -msitemplate $(MSIOFFICETEMPLATEDIR) -msilanguage $(COMMONMISC)$/win_ulffiles $(subst,xxx,$(@:e:s/.//) $(PKGFORMATSWITCH) $(VERBOSESWITCH))
-- $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice_Dev --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
-+ $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice_Dev --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/`date +%Y%m%d_%H%M`_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
-
- .IF "$(PKGFORMAT)"!=""
- $(foreach,i,$(alllangiso) ooolanguagepack_$i) : $$@{$(PKGFORMAT:^".")}
+--- scp2/source/ooo/file_library_ooo.scp
++++ scp2/source/ooo/file_library_ooo.scp
+@@ -2168,3 +2168,12 @@
+ STD_UNO_LIB_FILE( gid_File_Lib_For, for)
+ STD_LIB_FILE( gid_File_Lib_Forui, forui)
+
++
++#ifdef WNT
++File gid_File_Lib_sellangmsi
++ TXT_FILE_BODY;
++ Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
++ Dir = gid_Dir_Program;
++ Name = "sellangmsi.dll";
++End
++#endif
+--- scp2/source/ooo/windowscustomaction_ooo.scp
++++ scp2/source/ooo/windowscustomaction_ooo.scp
+@@ -443,2 +443,11 @@
+ Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" and Not UPGRADINGPRODUCTCODE", "end");
+ End
++
++WindowsCustomAction gid_Customaction_SelectLanguage
++ Name = "SelectLanguage";
++ Typ = "321";
++ Source = "sellangmsi.dll";
++ Target = "SelectLanguage";
++ Inbinarytable = 1;
++ Assignment1 = ("ControlEvent", "SetupType", "Next", "DoAction", "SelectLanguage", "1", "1");
++End
+--- setup_native/prj/build.lst
++++ setup_native/prj/build.lst
+@@ -5,6 +5,7 @@
+ pk setup_native\source\win32\customactions\regactivex nmake - w sn_regactivex NULL
+ pk setup_native\source\win32\customactions\regpatchactivex nmake - w sn_regpatchactivex NULL
+ pk setup_native\source\win32\customactions\reg4allmsdoc nmake - w sn_reg4allmsdoc NULL
++pk setup_native\source\win32\customactions\sellang nmake - w sn_sellang NULL
+ pk setup_native\source\win32\customactions\javafilter nmake - w sn_javafilter NULL
+ pk setup_native\source\win32\customactions\quickstarter nmake - w sn_quickstarter NULL
+ pk setup_native\source\win32\customactions\shellextensions nmake - w sn_shellextensions sn_tools.w NULL
+--- /dev/null
++++ setup_native/source/win32/customactions/sellang/exports.dxp 2006-05-31 12:15:54.268875000 +0000
+@@ -0,0 +1 @@
++SelectLanguage
+--- /dev/null
++++ setup_native/source/win32/customactions/sellang/makefile.mk 2006-05-31 12:13:28.331375000 +0000
+@@ -0,0 +1,80 @@
++#*************************************************************************
++#
++# OpenOffice.org - a multi-platform office productivity suite
++#
++# The Contents of this file are made available subject to
++# the terms of GNU Lesser General Public License Version 2.1.
++#
++#
++# GNU Lesser General Public License Version 2.1
++# =============================================
++# Copyright 2005 by Sun Microsystems, Inc.
++# 901 San Antonio Road, Palo Alto, CA 94303, USA
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public
++# License version 2.1, as published by the Free Software Foundation.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Lesser General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public
++# License along with this library; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++# MA 02111-1307 USA
++#
++#*************************************************************************
++
++PRJ=..$/..$/..$/..
++PRJNAME=setup_native
++TARGET=sellangmsi
++
++.IF "$(GUI)"=="WNT"
++
++# --- Settings -----------------------------------------------------
++
++ENABLE_EXCEPTIONS=TRUE
++NO_DEFAULT_STL=TRUE
++DYNAMIC_CRT=
++USE_DEFFILE=TRUE
++
++.INCLUDE : settings.mk
++
++CFLAGS+=-D_STLP_USE_STATIC_LIB
++
++# --- Files --------------------------------------------------------
++
++UWINAPILIB=
++
++SLOFILES = \
++ $(SLO)$/sellang.obj
++
++SHL1STDLIBS= kernel32.lib\
++ user32.lib\
++ advapi32.lib\
++ shell32.lib\
++ msi.lib\
++ $(LIBSTLPORTST)
++
++SHL1LIBS = $(SLB)$/$(TARGET).lib
++
++SHL1TARGET = $(TARGET)
++SHL1IMPLIB = i$(TARGET)
++
++SHL1DEF = $(MISC)$/$(SHL1TARGET).def
++SHL1DEPN = $(SLB)$/$(TARGET).lib
++SHL1BASE = 0x1c000000
++DEF1NAME=$(SHL1TARGET)
++DEF1EXPORTFILE=exports.dxp
++
++# --- Targets --------------------------------------------------------------
++
++.INCLUDE : target.mk
++
++# -------------------------------------------------------------------------
++
++
++.ENDIF
++
+--- /dev/null
++++ setup_native/source/win32/customactions/sellang/sellang.cxx 2006-06-02 09:13:53.893875000 +0000
+@@ -0,0 +1,347 @@
++/*************************************************************************
++ *
++ * OpenOffice.org - a multi-platform office productivity suite
++ *
++ * The Contents of this file are made available subject to
++ * the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ * GNU Lesser General Public License Version 2.1
++ * =============================================
++ * Copyright 2005 by Sun Microsystems, Inc.
++ * 901 San Antonio Road, Palo Alto, CA 94303, USA
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License version 2.1, as published by the Free Software Foundation.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ *
++ ************************************************************************/
++
++#define WIN32_LEAN_AND_MEAN
++#define _WIN32_WINNT 0x0500
++#undef WINVER
++#define WINVER 0x0500
++
++#pragma warning(push, 1) /* disable warnings within system headers as
++ * warnings are now treated as errors...
++ */
++#include <windows.h>
++#include <msiquery.h>
++#include <malloc.h>
++
++#ifdef UNICODE
++#define _UNICODE
++#define _tstring wstring
++#else
++#define _tstring string
++#endif
++#include <tchar.h>
++#include <string>
++#include <stdio.h>
++#pragma warning(pop)
++
++#include <systools/win32/uwinapi.h>
++
++/* #define VERBOSE_DEBUG_OUTPUT 1 */
++
++static const char *
++langid_to_string( LANGID langid, int *have_default_lang )
++{
++ /* Map from LANGID to string. The languages below are in the same
++ * seemingly random order as in
++ * setup_native/source/win32/msi-encodinglist.txt.
++ * Only the language part is returned in the string.
++ */
++ switch (PRIMARYLANGID (langid)) {
++ case LANG_ENGLISH:
++ if (have_default_lang != NULL &&
++ langid == MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT))
++ *have_default_lang = 1;
++ return "en";
++#define CASE(primary, name) \
++ case LANG_##primary: return #name
++ CASE(PORTUGUESE, pt);
++ CASE(RUSSIAN, ru);
++ CASE(GREEK, el);
++ CASE(DUTCH, nl);
++ CASE(FRENCH, fr);
++ CASE(SPANISH, es);
++ CASE(FINNISH, fi);
++ CASE(HUNGARIAN, hu);
++ CASE(CATALAN, ca);
++ CASE(ITALIAN, it);
++ CASE(CZECH, cs);
++ CASE(SLOVAK, sk);
++ CASE(DANISH, da);
++ CASE(SWEDISH, sv);
++ CASE(POLISH, pl);
++ CASE(GERMAN, de);
++ CASE(THAI, th);
++ CASE(ESTONIAN, et);
++ CASE(JAPANESE, ja);
++ CASE(KOREAN, ko);
++ // CASE(KHMER, km);
++ // CASE(WELSH, cy);
++ CASE(CHINESE, zh);
++ CASE(TURKISH, tr);
++ CASE(HINDI, hi);
++ CASE(PUNJABI, pa);
++ CASE(TAMIL, ta);
++ CASE(ARABIC, ar);
++ CASE(HEBREW, he);
++ CASE(AFRIKAANS, af);
++ CASE(ALBANIAN, sq);
++ CASE(ARMENIAN, hy);
++ CASE(BASQUE, eu);
++ CASE(BELARUSIAN, be);
++ CASE(BENGALI, bn);
++ CASE(BULGARIAN, bg);
++ CASE(ICELANDIC, is);
++ CASE(INDONESIAN, id);
++ // CASE(LAO, lo);
++ CASE(LATVIAN, lv);
++ CASE(LITHUANIAN, lt);
++ // CASE(MALTESE, mt);
++ // CASE(ROMANSH, rm);
++ CASE(ROMANIAN, ro);
++ // CASE(KINYARWANDA, rw);
++ CASE(SANSKRIT, sa);
++ // CASE(SETSWANA, tn);
++ CASE(FARSI, fa);
++ CASE(FAEROESE, fo);
++ CASE(SLOVENIAN, sl);
++ // CASE(SORBIAN, sb);
++ // CASE(SUTU, st);
++ CASE(SWAHILI, sw);
++ CASE(TATAR, tt);
++ // CASE(TSONGA, ts);
++ CASE(UKRAINIAN, uk);
++ CASE(URDU, ur);
++ CASE(VIETNAMESE, vi);
++ // CASE(XHOSA, xh);
++ // CASE(YIDDISH, yi);
++ // CASE(ZULU, zu);
++ CASE(GUJARATI, gu);
++ // CASE(BRETON, br);
++ CASE(NEPALI, ne);
++ // CASE(NDEBELE, nr);
++ // CASE(SWAZI, ss);
++ // CASE(VENDA, ve);
++ // CASE(IRISH, ga);
++ CASE(MACEDONIAN, mk);
++ CASE(TELUGU, te);
++ CASE(MALAYALAM, ml);
++ CASE(MARATHI, mr);
++ CASE(ORIYA, or);
++ // CASE(KURDISH, ku);
++ // CASE(TAGALOG, tg);
++ // CASE(TIGRINYA, ti);
++ CASE(GALICIAN, gl);
++ CASE(KANNADA, kn);
++ CASE(MALAY, ms);
++ // CASE(TAJIK, tg);
++ CASE(GEORGIAN, ka);
++ // CASE(ESPERANTO, eo);
++#undef CASE
++ /* Special cases */
++ default:
++ switch (langid) {
++ case MAKELANGID(LANG_SERBIAN, 0x05): return "bs";
++#define CASE(primary, sub, name) \
++ case MAKELANGID(LANG_##primary, SUBLANG_##sub): return #name
++
++ CASE(NORWEGIAN, NORWEGIAN_BOKMAL, nb);
++ CASE(NORWEGIAN, NORWEGIAN_NYNORSK, nn);
++ CASE(SERBIAN, DEFAULT, hr);
++ CASE(SERBIAN, SERBIAN_LATIN, sh);
++ CASE(SERBIAN, SERBIAN_CYRILLIC, sr);
++ // CASE(SOTHO, DEFAULT, ns);
++ // CASE(SOTHO, SOTHO_SOUTHERN, st);
++#undef CASE
++ default: return "";
++ }
++ }
++}
++
++static const char *ui_langs[100];
++static int num_ui_langs = 0;
++
++BOOL CALLBACK
++enum_ui_lang_proc (LPTSTR language, LONG_PTR /* unused_lParam */)
++{
++ long langid = strtol(language, NULL, 16);
++ if (langid > 0xFFFF)
++ return TRUE;
++ ui_langs[num_ui_langs] = langid_to_string((LANGID) langid, NULL);
++ num_ui_langs++;
++ if (num_ui_langs == sizeof(ui_langs) / sizeof(ui_langs[0]))
++ return FALSE;
++ return TRUE;
++}
++
++static BOOL
++present_in_ui_langs(const char *lang)
++{
++ for (int i = 0; i < num_ui_langs; i++)
++ if (memcmp (ui_langs[i], lang, 2) == 0)
++ return TRUE;
++ return FALSE;
++}
++
++extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle )
++{
++#ifdef VERBOSE_DEBUG_OUTPUT
++ char tem[2000];
++#endif
++ char feature[100];
++ MSIHANDLE database, view, record;
++ DWORD length;
++ int nlangs = 0;
++ /* Keeping this code simple and stupid... won't bother with any
++ * dynamic arrays or whatnot. 100 is more than enough for this purpose.
++ */
++ char langs[100][6];
++
++ database = MsiGetActiveDatabase(handle);
++
++ if (MsiDatabaseOpenViewA(database, "SELECT Feature from Feature WHERE Feature_Parent = 'gm_Langpack_Languageroot'", &view) != ERROR_SUCCESS) {
++ MsiCloseHandle(database);
++ return ERROR_SUCCESS;
++ }
++
++#ifdef VERBOSE_DEBUG_OUTPUT
++ MessageBoxA(NULL, "MsiDatabaseOpenViewA success!", "SelectLanguage", MB_OK);
++#endif
++
++ if (MsiViewExecute(view, NULL) != ERROR_SUCCESS) {
++ MsiCloseHandle(view);
++ MsiCloseHandle(database);
++ return ERROR_SUCCESS;
++ }
++
++#ifdef VERBOSE_DEBUG_OUTPUT
++ MessageBoxA(NULL, "MsiViewExecute success!", "SelectLanguage", MB_OK);
++#endif
++
++ while (MsiViewFetch(view, &record) == ERROR_SUCCESS) {
++ length = sizeof(feature);
++ if (MsiRecordGetStringA(record, 1, feature, &length) != ERROR_SUCCESS) {
++ MsiCloseHandle(record);
++ MsiCloseHandle(view);
++ MsiCloseHandle(database);
++ return ERROR_SUCCESS;
++ }
++
++ /* Keep track of what languages are included in this installer, if
++ * it is a multilanguage one.
++ */
++ if (strcmp(feature, "gm_Langpack_r_en_US") != 0)
++ strcpy(langs[nlangs++], feature + strlen("gm_Langpack_r_"));
++
++ MsiCloseHandle(record);
++ }
++
++ MsiCloseHandle(view);
++
++ if (nlangs > 0) {
++ /* Deselect those languages that don't match any of the UI languages
++ * available on the system.
++ */
++
++ int i;
++ int have_system_default_lang = 0;
++ const char *system_default_lang = langid_to_string(GetSystemDefaultUILanguage(), &have_system_default_lang);
++ const char *user_locale_lang = langid_to_string(LANGIDFROMLCID(GetThreadLocale()), NULL);
++
++#ifdef VERBOSE_DEBUG_OUTPUT
++ sprintf(tem, "GetSystemDefaultUILanguage(): %#x = %s", GetSystemDefaultUILanguage(), system_default_lang);
++ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
++#endif
++
++ EnumUILanguagesA(enum_ui_lang_proc, 0, 0);
++
++#ifdef VERBOSE_DEBUG_OUTPUT
++ sprintf(tem, "Have %d UI languages: ", num_ui_langs);
++ for (i = 0; i < num_ui_langs; i++) {
++ char *p = tem + strlen(tem);
++ sprintf(p, "%s%s",
++ ui_langs[i],
++ (i + 1 < num_ui_langs) ? ", " : "");
++ }
++ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
++#endif
++
++ /* If one of the alternative languages in a multi-language installer
++ * is the system default UI language, deselect those languages that
++ * aren't among the UI languages available on the system.
++ * (On most Windows installations, just one UI language is present,
++ * which obviously is the same as the default UI language. But
++ * we want to be generic.)
++ * If none of the languages in a multi-language installer is the
++ * system default UI language (this happens now in 2.4.0 where we
++ * cannot put as many UI languages into the installer as we would
++ * like, but only half a dozen: en-US,de,es,fr,it,pt-BR), pretend
++ * that English is the system default UI language,
++ * so that we will by default deselect everything except
++ * English. We don't want to by default install all half dozen
++ * languages for an unsuspecting user of a Finnish Windows, for
++ * instance. Sigh.
++ */
++ if (system_default_lang[0]) {
++ for (i = 0; i < nlangs; i++) {
++ if (memcmp (system_default_lang, langs[i], 2) == 0) {
++#ifdef VERBOSE_DEBUG_OUTPUT
++ sprintf(tem, "We have the system default language %s in the installer", system_default_lang);
++ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
++#endif
++ have_system_default_lang = 1;
++ }
++ }
++ }
++
++ if (!have_system_default_lang) {
++#ifdef VERBOSE_DEBUG_OUTPUT
++ sprintf(tem, "We don't have the system default language %s in the installer, so pretend that English is the system default, sigh.", system_default_lang);
++ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
++#endif
++ system_default_lang = "en";
++ have_system_default_lang = 1;
++ }
++ if (have_system_default_lang) {
++ for (i = 0; i < nlangs; i++) {
++ if (memcmp(system_default_lang, langs[i], 2) != 0 &&
++ memcmp(user_locale_lang, langs[i], 2) != 0 &&
++ !present_in_ui_langs(langs[i])) {
++ UINT rc;
++ sprintf(feature, "gm_Langpack_r_%s", langs[i]);
++ rc = MsiSetFeatureStateA(handle, feature, INSTALLSTATE_ABSENT);
++ if (rc != ERROR_SUCCESS) {
++#ifdef VERBOSE_DEBUG_OUTPUT
++ sprintf(tem, "MsiSetFeatureStateA %s failed: %d", feature, rc);
++ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
++#endif
++ } else {
++#ifdef VERBOSE_DEBUG_OUTPUT
++ sprintf(tem, "MsiSetFeatureStateA %s OK!", feature);
++ MessageBoxA(NULL, tem, "SelectLanguage", MB_OK);
++#endif
++ }
++ }
++ }
++ }
++ }
++
++ MsiCloseHandle(database);
++
++ return ERROR_SUCCESS;
++}
+--- solenv/bin/modules/installer/download.pm.orig 2008-06-05 12:22:33.000000000 +0800
++++ solenv/bin/modules/installer/download.pm 2008-06-05 12:23:44.000000000 +0800
+@@ -827,12 +827,9 @@ sub put_windows_productpath_into_templat
+
+ my $productpath = $variableshashref->{'PROPERTYTABLEPRODUCTNAME'};
+
+- my $locallangs = $$languagestringref;
+- $locallangs =~ s/_/ /g;
+ if (length($locallangs) > $installer::globals::max_lang_length) { $locallangs = "multi lingual"; }
+
+- if ( ! $installer::globals::languagepack ) { $productpath = $productpath . " (" . $locallangs . ")"; }
+-
++ if ( ! $installer::globals::languagepack ) { $productpath = $productpath . " (" . sprintf('%x', time()) . ")"; }
+ # if (( $installer::globals::languagepack ) && ( $installer::globals::unicodensis )) { $productpath = convert_textstring_to_utf16($productpath, $localnsisdir, "stringhelper.txt"); }
+
+ replace_one_variable($templatefile, "PRODUCTPATHPLACEHOLDER", $productpath);
+@@ -1041,7 +1041,6 @@
+ elsif ( $language eq "ja" ) { $nsislanguage = "Japanese"; }
+ elsif ( $language eq "ko" ) { $nsislanguage = "Korean"; }
+ elsif ( $language eq "th" ) { $nsislanguage = "Thai"; }
+- elsif ( $language eq "vi" ) { $nsislanguage = "Vietnamese"; }
+ elsif ( $language eq "zh-CN" ) { $nsislanguage = "SimpChinese"; }
+ elsif ( $language eq "zh-TW" ) { $nsislanguage = "TradChinese"; }
+ else {
+--- instsetoo_native/util/makefile.mk
++++ instsetoo_native/util/makefile.mk
+@@ -222,7 +222,7 @@
+ openoffice_% :
+ .ENDIF # "$(PKGFORMAT)"!=""
+ $(PERL) -w $(SOLARENV)$/bin$/make_installer.pl -f $(PRJ)$/util$/openoffice.lst -l $(subst,$(@:s/_/ /:1)_, $(@:b)) -p OpenOffice -u $(OUT) -buildid $(BUILD) -msitemplate $(MSIOFFICETEMPLATEDIR) -msilanguage $(COMMONMISC)$/win_ulffiles $(subst,xxx,$(@:e:s/.//) $(PKGFORMATSWITCH) $(VERBOSESWITCH))
+- $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
++ $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/`date +%Y%m%d_%H%M`_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
+
+ .IF "$(PKGFORMAT)"!=""
+ $(foreach,i,$(alllangiso) openofficewithjre_$i) : $$@{$(PKGFORMAT:^".")}
+@@ -250,7 +250,7 @@
+ openofficedev_% :
+ .ENDIF # "$(PKGFORMAT)"!=""
+ $(PERL) -w $(SOLARENV)$/bin$/make_installer.pl -f $(PRJ)$/util$/openoffice.lst -l $(subst,$(@:s/_/ /:1)_, $(@:b)) -p OpenOffice_Dev -u $(OUT) -buildid $(BUILD) -msitemplate $(MSIOFFICETEMPLATEDIR) -msilanguage $(COMMONMISC)$/win_ulffiles $(subst,xxx,$(@:e:s/.//) $(PKGFORMATSWITCH) $(VERBOSESWITCH))
+- $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice_Dev --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
++ $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice_Dev --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/`date +%Y%m%d_%H%M`_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
+
+ .IF "$(PKGFORMAT)"!=""
+ $(foreach,i,$(alllangiso) ooolanguagepack_$i) : $$@{$(PKGFORMAT:^".")}
commit 723d69aa11b0adfa38f6fd3442e1cf0d28ba7458
Author: Tor Lillqvist <tlillqvist at novell.com>
Date: Tue Aug 11 14:59:20 2009 +0300
Adapt lwp-filter-component.diff to dev300-m54
* patches/lwp/lwp-filter-component.diff: Adapt to dev300-m54.
diff --git a/patches/lwp/lwp-filter-component.diff b/patches/lwp/lwp-filter-component.diff
index 4be06ab..96c02c1 100644
--- a/patches/lwp/lwp-filter-component.diff
+++ b/patches/lwp/lwp-filter-component.diff
@@ -722,11 +722,11 @@
gid_File_Share_Config_Sofficecfg_Writer_Menubar_Xml,
gid_File_Share_Config_Sofficecfg_Writerweb_Menubar_Xml,
gid_File_Share_Config_Sofficecfg_Writerglobal_Menubar_Xml,
---- sw/prj/build.lst.old 2009-04-02 10:50:58.000000000 +0000
-+++ sw/prj/build.lst 2009-04-06 16:41:57.000000000 +0000
+--- sw/prj/build.lst
++++ sw/prj/build.lst
@@ -1,4 +1,4 @@
--sw sw : connectivity OOo:writerperfect svx stoc uui NULL
-+sw sw : connectivity OOo:writerperfect OOo:lotuswordpro svx stoc uui NULL
+-sw sw : l10n connectivity OOo:writerperfect svx stoc uui NULL
++sw sw : l10n connectivity OOo:writerperfect OOo:lotuswordpro svx stoc uui NULL
sw sw usr1 - all sw_mkout NULL
sw sw\inc nmake - all sw_inc NULL
sw sw\uiconfig\layout nmake - all sw_layout NULL
More information about the ooo-build-commit
mailing list