Apache OpenOffice (AOO) Bugzilla – Issue 35263
simplify readlicense_oo/prj/d.lst
Last modified: 2005-01-25 15:59:11 UTC
Delivery mechanism in readlicense_oo is braindamage. I'm going to add Danish (da) language support into my build. It failed because of missing lines in d.lst here: +..\%__SRC%\misc\license\%GUI%\LICENSE %_DEST%\bin%_EXT%\da\osl\LICENSE_da +..\%__SRC%\misc\license\WNT\license.txt %_DEST%\bin%_EXT%\da\osl\license_da.txt +..\%__SRC%\misc\license\%GUI%\license.html %_DEST%\bin%_EXT%\da\osl\LICENSE_da.html Please make it simpler so it is not needed to insert new lines for new languages. I do not think we need three lines for all ISO codes we support. The same applies for license, although da ISO code has its entries there.
set target. This is quite important for l10n.
hjs: could you please have a look at this issue?
.
since license files are not localized it makes absolut no sense to duplicate them oever and over :-( i would suggest just ..\%__SRC%\misc\license\%GUI%\LICENSE %_DEST%\bin%_EXT%\osl\LICENSE ..\%__SRC%\misc\license\WNT\license.txt %_DEST%\bin%_EXT%\osl\license.txt ..\%__SRC%\misc\license\%GUI%\license.html %_DEST%\bin%_EXT%\osl\LICENSE.html until there are plans to localize these files. for the readme files it's noticeable that "util/makefile.pmk" uses the language directory of the target to fetch the language parameter for processing ( lang1=$(@:d:d:b) ). since the the files themself contain the iso code, something like lang1=$(@:b:s/_/./:e:s/.//). this way also for readme files the language directory in the local output tree is no longer used. modified that way, "d.lst" would just contain another three lines for all languages to handle readme files (without language dir in solver, of cause). CC'ed ingo as changing the location in "solver" will for sure require changes in "scp*" or the packing itself. also the SO readme module sufferes the same "d.lst" issues and should be fixed the same way...
hjs: I know about several projects who do translate license but still leave: "Please refer to the original English version for authoritative license conditions." at the end of it. E.g. Czech builds contain license translated by legal translator and approved by Sun Microsystems Czech and its legal department. In fact, translated license was required by them, IIRC. I think we should make LICENSE ready for translation.
Created attachment 19861 [details] avoid language directory level for output
Created attachment 19867 [details] Fixed d.lst for ause' patch
So, the status with these two patches is: oo@oo:~/BuildDir-SRC680_m63-1101761266/ooo_SRC680_m63_src/solver/680/unxlngi6.pr o> find . -name readme* -o -name license*|sort ./bin/osl/license.html ./bin/osl/license.rtf ./bin/osl/license.txt ./bin/osl/readme_cs.html ./bin/osl/readme_cs.txt ./bin/osl/readme_de.html ./bin/osl/readme_de.txt ./bin/osl/readme_en-US.html ./bin/osl/readme_en-US.txt ./bin/osl/readme_et.html ./bin/osl/readme_et.txt ./bin/osl/readme_fi.html ./bin/osl/readme_fi.txt ./bin/osl/readme_sl.html ./bin/osl/readme_sl.txt oo@oo:~/BuildDir-SRC680_m63-1101761266/ooo_SRC680_m63_src/solver/680/unxlngi6.pr o> This is a change from previous builds, because previous d.lst also did renaming like: ..\%__SRC%\misc\license\%GUI%\LICENSE %_DEST%\bin%_EXT%\cs\osl\LICENSE_cs ..\%__SRC%\misc\license\WNT\license.txt %_DEST%\bin%_EXT%\cs\osl\license_cs.txt ..\%__SRC%\misc\license\%GUI%\license.html %_DEST%\bin%_EXT%\cs\osl\LICENSE_cs.html and we now only have license.txt and license.html. What now? Do we want to unify file names on unx and wnt? Or do we want to go via the less changes the better? We can uppercasify the names also here - in makefile.pmk... The same applies to readme file: ..\%__SRC%\misc\cs\readme_cs.txt %_DEST%\bin%_EXT%\cs\osl\README_cs ..\%__SRC%\misc\cs\readme_cs.html %_DEST%\bin%_EXT%\cs\osl\README_cs.html but right now, we only have readme_cs.html and readme_cs.txt. The fastest change would be to do the renaming during the build in makefile.pmk. Ause?
we should now clearify the naming requirements for these files in solver -> is at least the additional language directiry should be obsolete.
IS: The following files are packed into the installation sets for the language "xy" (case sensitive!): license_xy.txt (for Windows) license_xy.html (for Windows) license_xy.rtf (for Windows) LICENSE_xy (for Unix) LICENSE_xy.html (for Unix) readme_xy.txt (for Windows) readme_xy.html (for Windows) README_xy (for Unix) README_xy.html (for Unix)
So: will we rename (and unify!) packed files or should we copy/rename/hack filenames during the build and deliver all of them so scp2 can stay unchanged? I prefer the first solution. Unified filenames across all platforms (where on Windows, we will use DOS line-endings).
Ingo?
For me it is not important, that the file names in scp2 keep constant. I would not like to rename the files in packing process (that would only shift the problem from the d.lst to the packing process). So from my point of view, the first solution would be the best, BUT: This is a legal issue (at least a small one). Our user experience has to decide, whether the names of license and readme files can be changed. And how about documentation? Are there references to a file like readme.txt or README or to the license files. If we change the filenames this is not only done in scp2. In the packing process there are mechanisms for copying this files into the installation root after the installation. Furthermore the rtf file is included into the Windows Installer database. So, honestly, in my opinion this is an "OOo Later" task .
Created attachment 21146 [details] take care of desired case for readme
Created attachment 21147 [details] take care of desired case for readme
Created attachment 21214 [details] complete set of changes. note the first few lines as the contain the new names of the license files
Created attachment 21217 [details] patch required to get language fallback for files without extension
there are still some points to clearify with is (language fallback in OOo/SO builds) and mh (renaming, localization). so i keep the changes here for the moment.
Tested it on GNU/Linux. Two issues: 1. solenv/bin/modules/installer/epmfile.pm's function create_epm_header contains another instance of hardcoded "LICENSE" and "license.txt" strings -> the build stops, because we renamed them with: mv readlicense_oo/source/license/unx/LICENSE readlicense_oo/source/license/unx/LICENSE_en-US mv readlicense_oo/source/license/unx/license.html readlicense_oo/source/license/unx/LICENSE_en-US.html mv readlicense_oo/source/license/wnt/license.html readlicense_oo/source/license/unx/license_en-US.html mv readlicense_oo/source/license/wnt/license.txt readlicense_oo/source/license/unx/license_en-US.txt mv readlicense_oo/source/license/wnt/license.rtf readlicense_oo/source/license/unx/license_en-US.rtf 2. the patch for scriptitems.pm (IMHO) makes the problem with palettes*zip files. I build with export DEFAULT_TO_ENGLISH_FOR_PACKING="yes" and my build failed with palettes_et.zip not found. But palettes_en-US.zip exist... Other files get substitued OK, e.g.: WARNING: Using LICENSE_en-US instead of LICENSE_cs WARNING: Using LICENSE_en-US.html instead of LICENSE_cs.html or WARNING: Using autocorr_en-US.zip instead of autocorr_et.zip WARNING: Using autotextshare_en-US.zip instead of autotextshare_et.zip WARNING: Using autotextuser_en-US.zip instead of autotextuser_et.zip
Second issue is about missing backslash before dot in + $onefile->{'Name'} =~ s/$oldlanguage(.|$)/$newlanguage$1/; # Example: tplwizfax_it.zip -> tplwizfax_en-US.zip The question is if it is OK to solve the first issue by renaming the files in the function create_epm_header.
I changed the names in create_epm_header and core packages are OK, but not language packs, e.g. cs language pack won't be built, because of missing LICENSE_en-US.
Created attachment 21464 [details] this patch obsoletes the previous one for "readlicense_oo/makefile.mk"
giving up the aproach of using language fallback at packing time. the attched patch now duplicates again.
hjs: works for me, because I do have WITH_LANG="en-US cs ..." everywhere, except AMD64 where I have WITH_LANG="en-US" only and thus: /home/oo/BuildDir/ooo_SRC680_m71s1_src/readlicense_oo ------------- converting license files dmake: Error -- `just_for_nice_optics' not found, and can't be made '---* tg_merge.mk *---' ERROR: Error 65280 occurred while making /home/oo/BuildDir/ooo_SRC680_m71s1_src/readlicense_oo oo@amd64:~/BuildDir/ooo_SRC680_m71s1_src/readlicense_oo>
On Windows: ... removing directory /cygdrive/c/DOCUME~1/pjanik/LOCALS~1/Temp/1/instsetunpack_2 ... *************************************************************** ERROR: Could not find license_cs.rtf! in function: get_rtflicensefilesource Saved logfile: e:/home/pavel/BuildDir/ooo_SRC680_m71s1_src/instsetoo_native/wntmsci10.pro/OpenOffice/logging/cs/log_SRC680__ *************************************************************** Sun Jan 16 07:10:49 2005 (01:36 min.) dmake: Error code 255, while making 'openoffice_cs'
Windows issue can be fixed by new d.lst which unifies delivery of *.rtf files too. Attached.
Created attachment 21563 [details] New d.lst - delivery of RTF files unified with other license.*
verified on Windows, GNU/Linux and Solaris/SPARC.
*** Issue 41030 has been marked as a duplicate of this issue. ***