Berkeley Database 4.5.20 - LSARC 2007/299 1. Project Summary Berkeley DB (BDB) is a C-based, record-level database package. This ARC case is to establish BDB 4.5.20, the latest version of the Berkeley Database, as an accepted database technology for product use within Sun, including Solaris, and the Sun Java Enterprise System. BDB 4.2.52, approved by ARC (2003/585), is currently used by a number of Sun products and is available in Nevada/S10 and the Java Enterprise System as a shared component. 2. Issue Requiring ARC Guidance Due to a number of customers running legacy systems on BDB 4.2 and not willing to upgrade to BDB 4.5, we need to deliver both versions. How do we do this taking into account the lack of versioning in the existing package names ie: SUNWbdb, SUNWbdbj? 3. Proposal In preinception ARC proposed we deliver both libaries in the same package. See Appendix A for package maps layouts. 3.1 Packaging Proposal As mentioned we will deliver BDB 4.2 and BDB 4.5 in the same packages,ie: SUNWbdb - Berkeley DB for C/C++ applications SUNWbdbj - Berkeley DB for Java applications BDB 4.2 is currently installed under: /usr/lib/bdb - c utilities /usr/lib - libraries (versioned ie: libdb.so.1, libdb_java.so.1) /usr/share - db.jar We propose to install BDB 4.5 under: /usr/lib/bdb45 - c utilities /usr/lib - libraries (versioned ie: libdb.so.3, libdb_java.so.3) /usr/share/bdb45 - db.jar 3.2 Upgrading The new packages will not overwrite an old install of BDB. Versioning of the libraries will allow old and new applications to determine which library they need to link to. eg: so.1 and so.3. To upgrade customers will need to recompile their application against the new library. Database upgrade is supported from 4.2 to 4.5 with the use of the db_upgrade utility provided in the package. Note the database format is the same, but log files change between versions. 4. Other Issues Requiring ARC Guidance 4.1 Valid 64 bit subdirectory name We currently install 64 bit packages under the subdirectory name sparcv ie: for BDB 4.2 64-bit we install to /usr/lib/sparcv9/bdb Is sparcv9 a valid subdirectory name? 4.2 Solaris AMD 64 Also we'd like to notify ARC that we plan to deliver BDB on Solaris AMD 64 bit. Currently, BDB is avilable in Solaris for sparc 32/64 bit and x86 32 bit. Appendix A ---------- Proposed Solaris package map containg both BDB 4.2.52 & 4.5.20. Pkgmap for SUNWbdbj : 1 14580 1 i copyright 93 8257 1190393157 1 i depend 72 6053 1190393157 1 i pkginfo 579 46811 1190393157 1 f none usr/lib/libdb_java.so.1 0755 root bin 1340532 28954 1190390939 1 f none usr/lib/libdb_java.so.3 0755 root bin 1970232 39812 1190391138 1 f none usr/lib/sparcv9/libdb_java.so.1 0755 root bin 1531360 65315 1190391922 1 f none usr/lib/sparcv9/libdb_java.so.3 0755 root bin 2225720 35617 1190392298 1 d none usr/share/bdb45 0755 root bin 1 f none usr/share/bdb45/db.jar 0444 root bin 163073 52193 1190390984 1 f none usr/share/db.jar 0444 root bin 163073 52193 1190390984 Pkgmap for SUNWbdb : 1 14254 1 i copyright 93 8257 1190393152 1 i depend 72 6053 1190393152 1 i pkginfo 579 46718 1190393152 1 d none usr/lib/bdb 0755 root bin 1 f none usr/lib/bdb/NOTICE 0444 root bin 384 36065 1190390997 1 f none usr/lib/bdb/db_archive 0555 root bin 9368 29912 1190390985 1 f none usr/lib/bdb/db_checkpoint 0555 root bin 12240 966 1190390985 1 f none usr/lib/bdb/db_deadlock 0555 root bin 11792 43156 1190390985 1 f none usr/lib/bdb/db_dump 0555 root bin 16868 44857 1190390986 1 f none usr/lib/bdb/db_load 0555 root bin 25488 38836 1190390986 1 f none usr/lib/bdb/db_printlog 0555 root bin 12236 17888 1190390986 1 f none usr/lib/bdb/db_recover 0555 root bin 10540 34770 1190390987 1 f none usr/lib/bdb/db_stat 0555 root bin 34748 34944 1190390987 1 f none usr/lib/bdb/db_upgrade 0555 root bin 9748 50050 1190390987 1 f none usr/lib/bdb/db_verify 0555 root bin 12060 21808 1190390988 1 d none usr/lib/bdb45 0755 root bin 1 f none usr/lib/bdb45/NOTICE 0444 root bin 384 36065 1190391230 1 f none usr/lib/bdb45/db_archive 0555 root bin 10456 35576 1190391213 1 f none usr/lib/bdb45/db_checkpoint 0555 root bin 13600 24758 1190391213 1 f none usr/lib/bdb45/db_deadlock 0555 root bin 13840 40102 1190391214 1 f none usr/lib/bdb45/db_dump 0555 root bin 16628 17592 1190391214 1 f none usr/lib/bdb45/db_hotbackup 0555 root bin 19484 64238 1190391215 1 f none usr/lib/bdb45/db_load 0555 root bin 28368 28511 1190391215 1 f none usr/lib/bdb45/db_printlog 0555 root bin 85424 55579 1190391215 1 f none usr/lib/bdb45/db_recover 0555 root bin 11636 42065 1190391216 1 f none usr/lib/bdb45/db_stat 0555 root bin 15288 34347 1190391216 1 f none usr/lib/bdb45/db_upgrade 0555 root bin 11020 3817 1190391217 1 f none usr/lib/bdb45/db_verify 0555 root bin 13404 39976 1190391217 1 f none usr/lib/libdb.so.1 0755 root bin 1198064 31921 1190390922 1 f none usr/lib/libdb.so.3 0755 root bin 1779608 16571 1190391114 1 d none usr/lib/sparcv9/bdb 0755 root bin 1 f none usr/lib/sparcv9/bdb/NOTICE 0444 root bin 384 36065 1190391984 1 f none usr/lib/sparcv9/bdb/db_archive 0555 root bin 11968 45719 1190391969 1 f none usr/lib/sparcv9/bdb/db_checkpoint 0555 root bin 15216 17786 1190391970 1 f none usr/lib/sparcv9/bdb/db_deadlock 0555 root bin 14616 59955 1190391970 1 f none usr/lib/sparcv9/bdb/db_dump 0555 root bin 20424 29889 1190391970 1 f none usr/lib/sparcv9/bdb/db_load 0555 root bin 30344 55510 1190391971 1 f none usr/lib/sparcv9/bdb/db_printlog 0555 root bin 15688 38814 1190391971 1 f none usr/lib/sparcv9/bdb/db_recover 0555 root bin 13272 49572 1190391971 1 f none usr/lib/sparcv9/bdb/db_stat 0555 root bin 40120 52839 1190391972 1 f none usr/lib/sparcv9/bdb/db_upgrade 0555 root bin 12392 6234 1190391972 1 f none usr/lib/sparcv9/bdb/db_verify 0555 root bin 14648 45501 1190391972 1 d none usr/lib/sparcv9/bdb45 0755 root bin 1 f none usr/lib/sparcv9/bdb45/NOTICE 0444 root bin 384 36065 1190392400 1 f none usr/lib/sparcv9/bdb45/db_archive 0555 root bin 13168 46078 1190392377 1 f none usr/lib/sparcv9/bdb45/db_checkpoint 0555 root bin 16832 45512 1190392378 1 f none usr/lib/sparcv9/bdb45/db_deadlock 0555 root bin 17112 52282 1190392378 1 f none usr/lib/sparcv9/bdb45/db_dump 0555 root bin 19936 45208 1190392378 1 f none usr/lib/sparcv9/bdb45/db_hotbackup 0555 root bin 24128 2522 1190392379 1 f none usr/lib/sparcv9/bdb45/db_load 0555 root bin 33032 14182 1190392379 1 f none usr/lib/sparcv9/bdb45/db_printlog 0555 root bin 99896 50213 1190392380 1 f none usr/lib/sparcv9/bdb45/db_recover 0555 root bin 14456 56102 1190392380 1 f none usr/lib/sparcv9/bdb45/db_stat 0555 root bin 18256 63706 1190392380 1 f none usr/lib/sparcv9/bdb45/db_upgrade 0555 root bin 13832 15637 1190392381 1 f none usr/lib/sparcv9/bdb45/db_verify 0555 root bin 16088 59610 1190392381 1 f none usr/lib/sparcv9/libdb.so.1 0755 root bin 1354216 50524 1190391904 1 f none usr/lib/sparcv9/libdb.so.3 0755 root bin 1984312 34654 1190392273