Issue 118662 - IP clearance: Replace and remove BerkeleyDB library
Summary: IP clearance: Replace and remove BerkeleyDB library
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: external prerequisites (show other issues)
Version: 4.0.0-dev
Hardware: All All
: P2 Critical (vote)
Target Milestone: ---
Assignee: Oliver-Rainer Wittmann
QA Contact:
URL:
Keywords:
Depends on:
Blocks: 113229 118566
  Show dependency tree
 
Reported: 2011-12-01 10:11 UTC by Oliver-Rainer Wittmann
Modified: 2013-02-21 23:22 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
replace berkeleydb in the desktop module (17.08 KB, patch)
2011-12-06 09:38 UTC, hdu@apache.org
no flags Details | Diff
replace berkeleydb in the desktop module, v2 (27.39 KB, patch)
2011-12-06 13:15 UTC, hdu@apache.org
no flags Details | Diff
replace berkeleydb in the desktop module, v3 (28.17 KB, patch)
2011-12-08 07:02 UTC, hdu@apache.org
no flags Details | Diff
patch to remove dependency on Berkeley DB in module l10ntools (11.25 KB, patch)
2011-12-08 15:43 UTC, Oliver-Rainer Wittmann
no flags Details | Diff
patch to remove dependency on Berkeley DB in module xmlhelp (40.52 KB, patch)
2011-12-08 15:43 UTC, Oliver-Rainer Wittmann
no flags Details | Diff
patch to replace Berkeley DB in module desktop, containing hdu's patch + minor stuff in makefiles (32.50 KB, application/octet-stream)
2011-12-08 15:45 UTC, Oliver-Rainer Wittmann
no flags Details
patch to remove 3rd party component Berkeley DB (55.79 KB, patch)
2011-12-08 15:46 UTC, Oliver-Rainer Wittmann
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description Oliver-Rainer Wittmann 2011-12-01 10:11:13 UTC
As the 3rd party component Berkeley DB has a non-permissive license due to Apache's 3rd party licensing policy it has to be removed and replaced.

Modules depending on Berkeley DB:
- l10ntools
- xmlhelp
- desktop

Dependency in module l10ntools is by 'dead' code. This can be easily removed.

Deeper investigation needed for modules xmlhelp and desktop
Comment 1 Oliver-Rainer Wittmann 2011-12-01 12:32:32 UTC
Ok, somehow too fast.

Changing this issue due to the corresponding post on mailing list ooo-dev and JIRA-legal issue https://issues.apache.org/jira/browse/LEGAL-113 regarding the discussion of the Berkeley DB license.
Comment 2 hdu@apache.org 2011-12-06 09:38:19 UTC
Created attachment 77061 [details]
replace berkeleydb in the desktop module

Removes the berkeleydb dependency from the desktop module. It replaces the use of *.db files with *.pmap files, which are used to keep the internal key-value map persistent.

It also makes the files db.hxx and db.cxx of the desktop module superfluous. So when committing they should be removed too.
Comment 3 hdu@apache.org 2011-12-06 13:15:10 UTC
Created attachment 77062 [details]
replace berkeleydb in the desktop module, v2

The second version of the patch prevents the creation of *.pmap files if they would end up being empty of information. The patch also deletes the source files db.hxx and db.cxx that are no longer needed.
Comment 4 hdu@apache.org 2011-12-08 07:02:20 UTC
Created attachment 77065 [details]
replace berkeleydb in the desktop module, v3

Updated patch to check the header magic, to handle positive cases of PersistentMap::has() (thanks Oliver-Rainer!) and to delimit the *.pmap file's key-value enumeration (in the form of an empty key name).
Comment 5 Oliver-Rainer Wittmann 2011-12-08 15:43:19 UTC
Created attachment 77067 [details]
patch to remove dependency on Berkeley DB in module l10ntools
Comment 6 Oliver-Rainer Wittmann 2011-12-08 15:43:55 UTC
Created attachment 77068 [details]
patch to remove dependency on Berkeley DB in module xmlhelp
Comment 7 Oliver-Rainer Wittmann 2011-12-08 15:45:29 UTC
Created attachment 77069 [details]
patch to replace Berkeley DB in module desktop, containing hdu's patch + minor stuff in makefiles
Comment 8 Oliver-Rainer Wittmann 2011-12-08 15:46:43 UTC
Created attachment 77070 [details]
patch to remove 3rd party component Berkeley DB
Comment 9 Oliver-Rainer Wittmann 2011-12-08 15:50:42 UTC
Attached you find four patches to replace and remove the 3rd party component Berkeley DB (BDB):
- removal of dependency on BDB in module l10ntools - 'dead code'
- removal of dependency on BDB in module xmlhelp - more or less 'dead code'
- replace usage of BDB in module desktop - thanks to hdu (Herbert Dürr)
- removal of BDB itself

These patches affect the help system and the extension management.
I have tested these patches on Windows. Before committing to trunk I am asking for testing it on other platforms - at least on Mac OS X and Linux.
Thanks in advance.
Comment 10 eric.bachard 2011-12-09 10:58:34 UTC
Patches tested on Mac OS X Intel (10.4 aka Tiger)

* No fuzz, nor reject
* Builds ok (en-US, fr, de)
* Installs finely
* Help works, no apparent issue
* Opening various document, no problem detected

I built and installed presenter screen extension,

* installed without a glitch (got to go, so not tested though)


HTH
Comment 11 hdu@apache.org 2011-12-12 09:28:11 UTC
Also tested on Linux. Builds as fine as current trunk. Help works, also searching in it. Extension manager works fine.

With Win/Mac/Linux tested I committed my part of the patches as
  http://svn.apache.org/viewvc?view=revision&revision=1213171
and the remaining changes for the desktop modules (by Oliver-Rainer) as
  http://svn.apache.org/viewvc?view=revision&revision=1213174
Comment 12 hdu@apache.org 2011-12-12 11:25:50 UTC
On Oliver-Rainer's request I also committed his changes for xmlhelp
    http://svn.apache.org/viewvc?view=revision&revision=1213188
for l10tools
    http://svn.apache.org/viewvc?view=revision&revision=1213189
and for the wholesale removal of berkeleydb from AOO
    http://svn.apache.org/viewvc?view=revision&revision=1213190
Comment 13 hdu@apache.org 2012-01-16 08:53:52 UTC
Closing resolved issue.