Version bookkeeping for an Apache OpenOffice source tree. Both scripts read the tree's current state and derive everything else, so the same commands are correct on any release branch (AOO41X, AOO50X, trunk, ...).
updateVersion.sh [options] <version> [oo_path]
Sets the product version everywhere it is recorded:
| file | what it gets |
|---|---|
main/solenv/inc/minor.mk | RSCVERSION, RSCREVISION, BUILD, LAST_MINOR, SOURCEVERSION |
main/solenv/inc/version.lst | major/minor/micro, and the release date with --date |
main/sysui/desktop/productversion.mk | PRODUCTVERSION, PRODUCTVERSIONSHORT |
main/odk/util/makefile.pmk | PRODUCT_RELEASE |
main/solenv/bin/srcrelease.xml | aoo.ver |
main/setup_native/source/win32/nsis/downloadtemplate.nsi | VIProductVersion |
main/instsetoo_native/util/openoffice.lst | the version, package, brand, service-tag, database-name and update-URL entries |
Options: -b/--build <n|keep> (default: current BUILD + 1), -m/--milestone <n> (default 1), -p/--previous <ver|none>, -d/--date <yyyy-mm-dd>, -c/--config <file>, -n/--dry-run. Run the dry run first; it prints every line it would touch. Progress is also appended to /tmp/updateVersion_<date>.log.
./updateVersion.sh -n 4.1.18 ../openoffice # AOO41X ./updateVersion.sh 5.0.1 ../openoffice # AOO50X
Values that differ per branch are handled by reading, not by assuming:
PRODUCTVERSION in productversion.mk stays 4.1.18 on AOO41X and 5.0 on AOO50X.RSCVERSION/SOURCEVERSION are the version's digits joined: 4.1.18 -> 4118, 5.0.1 -> 501.UPDATEURL, DATABASENAME, SERVICETAG_*NAME) are rewritten only where the version being replaced actually appears, so AOO41X‘s aoo4117 becomes aoo4118 while AOO50X’s version-independent aoonext URLs are left alone.PREVIOUS_VERSION is set to the version being replaced only when the bump stays inside one release line; use --previous to set it across lines.updateVersion.config maps files to keys and rules; its header documents the format. Files a branch does not have are skipped.
bump.pl [oo_path]
For the rebuilds between two version bumps: increments the build number and the milestone in minor.mk and the build field of VIProductVersion in downloadtemplate.nsi, leaving the product version alone.
Moving to a new major line (4.x -> 5.x) additionally changes install paths, SDK examples and extension min/max versions in a few dozen files (openoffice4 -> openoffice5 and friends). That is a one-off, done by hand.