Difference between revisions of "Building old versions"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Add the patch for the gnu++98 C++ standard.)
(Add the unzip patch.)
Line 96: Line 96:
 
| 1729921
 
| 1729921
 
| #i126840# - Windows/MSVC build often fails in main/icu
 
| #i126840# - Windows/MSVC build often fails in main/icu
 +
|-
 +
| [https://github.com/apache/openoffice/commit/94125ed6f90993f06f9ee4e1d88bf2ce57e20a2f 94125ed6f90993f06f9ee4e1d88bf2ce57e20a2f]
 +
|
 +
| *BSD: call unzip with just -u, instead of -o and -u which breaks the build.
 
|-
 
|-
 
| [https://github.com/apache/openoffice/commit/cfc83b6cba931dcb75a6f071ffbe6124a7b88561 cfc83b6cba931dcb75a6f071ffbe6124a7b88561]
 
| [https://github.com/apache/openoffice/commit/cfc83b6cba931dcb75a6f071ffbe6124a7b88561 cfc83b6cba931dcb75a6f071ffbe6124a7b88561]

Revision as of 08:07, 29 January 2023


Introduction

It can be useful to build an old version of Apache OpenOffice, for example in order to regression test a bug in the latest version.

However, over time, patches get committed to allow building on newer build environments (newer operating systems, newer settings, newer libraries (as old ones may be unavailable), etc). Thus old AOO versions may be unable to build with the latest operating systems and latest libraries. Instead of the long and difficult process of setting up an old build environment, we can backport certain patches that added the features we need, and still build older versions on newer build environments.

How to

From the base directory of trunk/, for each patch that is newer than the version you are building and that you need, run this in REVERSE ORDER of the order given below, (ie. bottom to top, which is oldest to newest):

git show <commit> | patch -p1
(eg. git show 9fbe0120861764e7e644476857de32c44186c400 | patch -p1)
or with SVN:
svn diff -c <version> | patch -p0
(eg. svn diff -c 1825798 | patch -p0)

Git commit SVN revision Feature provided
8ef8ad062493ab86aa92fbefc05347f372e8d25c *nix: get Boost building with Clang and -std=gnu++98.
f884850fece86ece56c7194bb1e746641f77c0a0 *nix: Use functions and types compatible with both OpenSSL 1.0.x and 1.1.x.
f134535553051695dfbb71310003ab610fda2c83 *nix: Use the python-X.Y-embed package on system Python >= 3.8
9b7130f9b6bdb7e9969615395186cb3b328a259d bison: define YYDEBUG so the yytname table can be found.
7f3d5d1d1e5d0e51092276ddff205b8a31aab26f All: fix issue with GNU make 4.3
00503fad63e905b0ef1d175bb9780a358bc27263 *nix: fix linking with system Python 3
9fbe0120861764e7e644476857de32c44186c400 1863883 *nix: detection of Java > 1.8
76c3a0c573cde39048d0726c858eb62004271068 1863875 All: detection of AdoptOpenJDK's JRE.
f120c164ea44222b65c3fd8c31dc63804109d6a4 All: remove unused basebmp code that breaks with newer compilers.
787e11305af165407f2c520f206d71868383ca89 *nix: fix potential memory alignment issues on X86_64.
e3393df0b128281faf562e0d0704b7b031c09194 *nix: target the gnu++98 C++ standard.
d496b0995fb8aa8b6c60a683761ad01f8d0d32d6 1825849 All: fix building lucene with Java 1.9
16cc2feaee8ae594780687837b53b2d50018df78
d72465840bb64335098446c0558b486b239519f7
1825802
1825798
Windows: support building on Windows using Cygwin64.
a77ce2d13c887a68f707e5b1c8c737146e59d1bf 1825763 Windows: allow oowintool to auto-detect Java 1.9
adb6f5d8a37c5b86304c6f182c17e5b29dcc384a 1815542 Windows: allow oowintool to auto-detect 32 bit VC++ on Cygwin64.
668ddc0174366a152e11e62b3e5599a8fb50bcb2 1814757 Windows: allow oowintool to auto-detect Java 1.8
910dbabb8417f5fbef278baca67290f523163a45 1729921 #i126840# - Windows/MSVC build often fails in main/icu
94125ed6f90993f06f9ee4e1d88bf2ce57e20a2f *BSD: call unzip with just -u, instead of -o and -u which breaks the build.
cfc83b6cba931dcb75a6f071ffbe6124a7b88561 Rename configure.in to configure.ac (so other patches to configure.ac can apply).
2ed47956e3ec22116d5164494008afeac3f699a1 1700078 #i126258# Fix build on systems using a recent version of GNU Patch.
cddbce83059662dad08c06a4f7b247d7fbbbaa9d Move operator to the public section. This solves visibility issues with modern gcc.
Personal tools