Issue 110653

Summary: have OOOBaseVersion available during build
Product: Build Tools Reporter: Stephan Bergmann <stephan.bergmann.secondary>
Component: codeAssignee: Stephan Bergmann <stephan.bergmann.secondary>
Status: CLOSED FIXED QA Contact: issues@tools <issues>
Severity: Trivial    
Priority: P3 CC: ingo.schmidt-rosbiegal, issues
Version: DEV300m75   
Target Milestone: OOo 3.3   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on:    
Issue Blocks: 111112, 112606    

Description Stephan Bergmann 2010-04-06 15:31:43 UTC
Today, the underlying OOo version major.minor appears to be only available in
instsetoo_native/util/openoffice.lst (OOOBASEVERSION, used to set OOOBaseVersion
in the version ini-file in the basis layer program directory).  The TODO
my_version assignment in desktop/test/deployment/boxt/makefile.mk (introduced
with the fix for issue 110548) is a place where this information would be needed
in a makefile.mk during the build.  (There are further files that appear to
contain manually updated copies of this information: solenv/inc/version.hrc and
desktop/util/ooverinfo2.hrc both contain C-sytle defines of VERSION and
SUBVERSION, where SUBVERSION is still 2 for DEV300_m75 towards OOo 3.3.)
Comment 1 ingo.schmidt-rosbiegal 2010-04-06 16:03:41 UTC
Accepting issue
Comment 2 ingo.schmidt-rosbiegal 2010-05-19 09:42:19 UTC
Looking for a solution in OOo 3.3 timeframe.
Comment 3 ingo.schmidt-rosbiegal 2010-06-03 13:40:12 UTC
Setting new target
Comment 4 ingo.schmidt-rosbiegal 2010-06-04 09:43:25 UTC
Using new target OOo 3.4
Comment 5 ingo.schmidt-rosbiegal 2010-06-22 16:08:04 UTC
Setting target OOo 3.3 again.
It is only necessary to include versionlist.mk into makefile, so that the variables
OOOBASEVERSIONMAJOR=3
OOOBASEVERSIONMINOR=2
OOOBASEVERSIONMICRO=1
will be available.
Additionally this values are delivered in version.lst and with this file
included into global property list, that is available to the packaging process.
Comment 6 kai.sommerfeld 2010-07-04 10:54:51 UTC
Changed desktop/test/deployment/boxt/makefile.mk to use data from versionlist.mk

Bumped minor version number to 3 in solenv/inc/version.hrc and
desktop/util/ooverinfo2.hrc

Wrote follow-up issue 112913 for hard-coded version numbers in
solenv/inc/version.hrc and desktop/util/ooverinfo2.hrc
Comment 7 Stephan Bergmann 2010-07-07 08:35:48 UTC
*** Issue 112606 has been marked as a duplicate of this issue. ***
Comment 8 kai.sommerfeld 2010-07-12 15:24:01 UTC
sb: Please verify in CWS kso45.
Comment 9 Stephan Bergmann 2010-07-12 16:10:40 UTC
Not sure what the changes in
<http://hg.services.openoffice.org/cws/kso45/rev/9d0ff9a75a13> to
instsetoo_native/util/openoffice.lst, solenv/inc/version.lst,
solenv/inc/versionlist.mk, and solenv/prj/d.lst are good for.  Apparently,
defining just OOOBASEVERSIONMAJOR/MINOR directly in solenv/inc/versionlist.mk,
without also exporting them, would suffice for
<http://hg.services.openoffice.org/cws/kso45/rev/4d9c85e73e96>.  What is missing
from instsetoo_native/util/openoffice.lst is getting rid of the hard-coded
definition of OOOBASEVERSION there.
Comment 10 ingo.schmidt-rosbiegal 2010-07-12 16:52:59 UTC
IS -> SB:

The three new properties are now available in every packaging process. Looking
into a log file in cws kso45 you can see, that the list of properties now
contains the three following lines:

Setting of variable: OOOBASEVERSIONMAJOR = 3
Setting of variable: OOOBASEVERSIONMINOR = 3
Setting of variable: OOOBASEVERSIONMICRO = 0

So in any project a definition like ${OOOBASEVERSIONMAJOR} can be made and the
packaging process automatically sets the correct values. This is not used in
kso45, but this are three more available properties. Additionally in a future
step existing properties like OOOBASEVERSION can be replaced by the new
properties. But I did not do that in cws kso45. 

In this cws a new process was introduced, in which properties are defined in
solenv, are therefore available in all makefiles and can addtionally be used
during the packaging process. 
Comment 11 Stephan Bergmann 2010-07-13 08:46:26 UTC
@is:  But the fix is a regression, as it increases (rather than decreases) the
number of places where changes need to be made when changing the OOo base
version.  Also, changes now needlessly need to be made to the unused definition
of OOOBASEVERSIONMICRO whenever the OOo base version micro changes.
Comment 12 ingo.schmidt-rosbiegal 2010-07-13 09:59:17 UTC
@sb: I also do not like, that there is one more place, where product versions
can be defined, but that was exactly the todo in this issue. Of course we can
think about moving the complete content of openoffice.lst from instsetoo_native
to another module, but I think that kso45 was not the correct place for such a
huge change. Therefore we now have properties in solenv and properties in
instsetoo_native. But this are different properties, and therefore this is no
regression.
I do not know, if someone uses OOOBASEVERSIONMICRO. Is the micro not required
for extension version checks? 
Comment 13 Stephan Bergmann 2010-07-14 08:24:06 UTC
anyway, verified for now (hoping that this gets consolidated over time)
Comment 14 Stephan Bergmann 2010-09-09 13:45:03 UTC
.