1 |
commit: 1aef598197cf2bcf68a9ba77eeaf1827eff6707b |
2 |
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 26 09:32:51 2021 +0000 |
4 |
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 26 09:33:32 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1aef5981 |
7 |
|
8 |
Revert "sys-libs/db: drop 18.1.32-r1" |
9 |
|
10 |
This reverts commit d0ba134ae40238c9b466890e48a5b9533235c40d. |
11 |
Which is the last version where Oracle did not remove features. |
12 |
|
13 |
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org> |
14 |
|
15 |
sys-libs/db/Manifest | 1 + |
16 |
sys-libs/db/db-18.1.32-r1.ebuild | 247 +++++++++++++++++++++++++++++++++++++++ |
17 |
2 files changed, 248 insertions(+) |
18 |
|
19 |
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest |
20 |
index 5e107989be8..317ca5d8dac 100644 |
21 |
--- a/sys-libs/db/Manifest |
22 |
+++ b/sys-libs/db/Manifest |
23 |
@@ -1,4 +1,5 @@ |
24 |
DIST db-1.85-r3.1.patch.bz2 14641 BLAKE2B 5ca59487a433a5e5b5fed7a8737c20df041be56733fe9209047f9e53845fa034576c29ad74407509ab96473e4eef0138a3a47de6c348d27209f0e39df85b9f5f SHA512 32b1810515476758ece7415f241378460a4051bf5ee23fb464748f84a90a56ff2c5119ed93028114d64f1b1691b1c694c2301ff825edd89cdee90a870a68b6f4 |
25 |
+DIST db-18.1.32.tar.gz 44244747 BLAKE2B b539d8966a269f6a9440ef442248849f12c6b1eda79b9a41074e1eb0eb4930fd4674dd0e20a114e4020fe2ce19832572c4c86d458835da39a99f639dc3c4e23e SHA512 890b3047c28114ac30794c0234126b0b2a3e699f3ed259831091f02d51885e3583dd10c0ef0cecc215b9b8d80b48a2d3a82a5793cd3816afb45f6cc19ae23f25 |
26 |
DIST db-18.1.40.tar.gz 30763705 BLAKE2B c7235cbdf82d8e38450c98baa1ff67132f6132d59a43dd2d6ed8bc2672b7924b4cbd93320278a0a3a78e454caff622b4480abe8dcc20c94ae56a78b3569a76fd SHA512 53787164fb8a198a0178c7f58d891c2b0943d1c52b11fe9de525938469327e85664f0bc63e33d740c171bc370954710a6b3e8b9be2a08237fb9757a795c5b19e |
27 |
DIST db-3.2.9.tar.gz 2085238 BLAKE2B 10cb1c102bf5db52ec16181ccbb02a8c4560f42afd2382689ee4903fcd63bf3ab4802482a065a85b1d34c8fb9f620fceb985155b1390de7ca404c121b6b4b6bc SHA512 5f07b27ae0cbd2832e5db9473cd4f2d4aebeee25ed8245ebd2c297a576571635ca5cf75e63e0967b1e90978128a5b6f5d8112559c56927d5bc5eb0d9fd3a2e95 |
28 |
DIST db-4.2.52.tar.gz 4073147 BLAKE2B 0bb9649a08df9b425f28471eb65c0efac0b7833b4c5c841b9ef53a142669b549e1f1b78cf42eeceea05ebb271aacd513d115070ea028f77fb1830bb9fcc7c8a9 SHA512 47a4e1353fe4f5c2160952a8f7a09b73fdf2dfcd222a8214e12630cec3139a624907bba83a06f10f8492b4dce328a979e9155ee049b9a88798edaca62cfe60d1 |
29 |
|
30 |
diff --git a/sys-libs/db/db-18.1.32-r1.ebuild b/sys-libs/db/db-18.1.32-r1.ebuild |
31 |
new file mode 100644 |
32 |
index 00000000000..ba0c4dac5df |
33 |
--- /dev/null |
34 |
+++ b/sys-libs/db/db-18.1.32-r1.ebuild |
35 |
@@ -0,0 +1,247 @@ |
36 |
+# Copyright 1999-2021 Gentoo Authors |
37 |
+# Distributed under the terms of the GNU General Public License v2 |
38 |
+ |
39 |
+EAPI=6 |
40 |
+inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs |
41 |
+ |
42 |
+#Number of official patches |
43 |
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` |
44 |
+PATCHNO=${PV/*.*.*_p} |
45 |
+if [[ ${PATCHNO} == "${PV}" ]] ; then |
46 |
+ MY_PV=${PV} |
47 |
+ MY_P=${P} |
48 |
+ PATCHNO=0 |
49 |
+else |
50 |
+ MY_PV=${PV/_p${PATCHNO}} |
51 |
+ MY_P=${PN}-${MY_PV} |
52 |
+fi |
53 |
+ |
54 |
+RESTRICT="!test? ( test )" |
55 |
+ |
56 |
+S_BASE="${WORKDIR}/${MY_P}" |
57 |
+S="${S_BASE}/dist" |
58 |
+DESCRIPTION="Oracle Berkeley DB" |
59 |
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html" |
60 |
+SRC_URI="https://download.oracle.com/otn/berkeley-db/${MY_P}.tar.gz |
61 |
+ mirror://gentoo/${MY_P}.tar.gz" |
62 |
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do |
63 |
+ SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}" |
64 |
+done |
65 |
+ |
66 |
+LICENSE="AGPL-3" |
67 |
+SLOT="$(ver_cut 1-2)" |
68 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86" |
69 |
+IUSE="doc java cxx tcl test" |
70 |
+ |
71 |
+REQUIRED_USE="test? ( tcl )" |
72 |
+ |
73 |
+# the entire testsuite needs the TCL functionality |
74 |
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) |
75 |
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) |
76 |
+ java? ( >=virtual/jdk-1.8 ) |
77 |
+ >=sys-devel/binutils-2.16.1" |
78 |
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) |
79 |
+ java? ( >=virtual/jre-1.8 )" |
80 |
+ |
81 |
+MULTILIB_WRAPPED_HEADERS=( |
82 |
+ /usr/include/db$(ver_cut 1-2)/db.h |
83 |
+) |
84 |
+ |
85 |
+PATCHES=( |
86 |
+ # bug #510506 |
87 |
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch |
88 |
+ |
89 |
+ # use the includes from the prefix |
90 |
+ "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch |
91 |
+ "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch |
92 |
+ |
93 |
+ # sqlite configure call has an extra leading .. |
94 |
+ # upstreamed:5.2.36, missing in 5.3.x/6.x |
95 |
+ # still needs to be patched in 6.0.20 |
96 |
+ "${FILESDIR}"/${PN}-18.1.25-sqlite-configure-path.patch |
97 |
+ |
98 |
+ # The upstream testsuite copies .lib and the binaries for each parallel test |
99 |
+ # core, ~300MB each. This patch uses links instead, saves a lot of space. |
100 |
+ "${FILESDIR}"/${PN}-18.1.25-test-link.patch |
101 |
+) |
102 |
+ |
103 |
+src_prepare() { |
104 |
+ cd "${WORKDIR}"/"${MY_P}" |
105 |
+ for (( i=1 ; i<=${PATCHNO} ; i++ )) |
106 |
+ do |
107 |
+ eapply "${DISTDIR}"/patch."${MY_PV}"."${i}" |
108 |
+ done |
109 |
+ |
110 |
+ default |
111 |
+ |
112 |
+ # Upstream release script grabs the dates when the script was run, so lets |
113 |
+ # end-run them to keep the date the same. |
114 |
+ export REAL_DB_RELEASE_DATE="$(awk \ |
115 |
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \ |
116 |
+ "${S_BASE}"/dist/configure)" |
117 |
+ sed -r -i \ |
118 |
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ |
119 |
+ "${S_BASE}"/dist/RELEASE || die |
120 |
+ |
121 |
+ # Include the SLOT for Java JAR files |
122 |
+ # This supersedes the unused jarlocation patches. |
123 |
+ sed -r -i \ |
124 |
+ -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ |
125 |
+ "${S_BASE}"/dist/Makefile.in || die |
126 |
+ |
127 |
+ cd "${S_BASE}"/dist || die |
128 |
+ rm -f aclocal/libtool.m4 |
129 |
+ sed -i \ |
130 |
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \ |
131 |
+ configure.ac || die |
132 |
+ sed -i \ |
133 |
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ |
134 |
+ aclocal/programs.m4 || die |
135 |
+ AT_M4DIR="aclocal aclocal_java" eautoreconf |
136 |
+ # Upstream sucks - they do autoconf and THEN replace the version variables. |
137 |
+ . ./RELEASE |
138 |
+ for v in \ |
139 |
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ |
140 |
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \ |
141 |
+ DB_VERSION \ |
142 |
+ DB_RELEASE_DATE ; do |
143 |
+ local ev="__EDIT_${v}__" |
144 |
+ sed -i -e "s/${ev}/${!v}/g" configure || die |
145 |
+ done |
146 |
+ |
147 |
+ # This is a false positive skip in the tests as the test-reviewer code |
148 |
+ # looks for 'Skipping\s' |
149 |
+ sed -i \ |
150 |
+ -e '/db_repsite/s,Skipping:,Skipping,g' \ |
151 |
+ "${S_BASE}"/test/tcl/reputils.tcl || die |
152 |
+} |
153 |
+ |
154 |
+multilib_src_configure() { |
155 |
+ # sql_compat will cause a collision with sqlite3 |
156 |
+ # --enable-sql_compat |
157 |
+ # Don't --enable-sql* because we don't want to use bundled sqlite. |
158 |
+ # See Gentoo bug #605688 |
159 |
+ local myeconfargs=( |
160 |
+ --enable-compat185 |
161 |
+ --enable-dbm |
162 |
+ --enable-o_direct |
163 |
+ # Requires openssl-1.0 |
164 |
+ --with-repmgr-ssl=no |
165 |
+ --without-uniquename |
166 |
+ --disable-sql |
167 |
+ --disable-sql_codegen |
168 |
+ --disable-sql_compat |
169 |
+ $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) |
170 |
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) |
171 |
+ $(use_enable cxx) |
172 |
+ $(use_enable cxx stl) |
173 |
+ $(multilib_native_use_enable java) |
174 |
+ $(use_enable test) |
175 |
+ ) |
176 |
+ |
177 |
+ tc-ld-force-bfd #470634 #729510 |
178 |
+ |
179 |
+ # compilation with -O0 fails on amd64, see bug #171231 |
180 |
+ if [[ ${ABI} == amd64 ]]; then |
181 |
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS} |
182 |
+ replace-flags -O0 -O2 |
183 |
+ is-flagq -O[s123] || append-flags -O2 |
184 |
+ fi |
185 |
+ |
186 |
+ # Add linker versions to the symbols. Easier to do, and safer than header file |
187 |
+ # mumbo jumbo. |
188 |
+ if use userland_GNU ; then |
189 |
+ append-ldflags -Wl,--default-symver |
190 |
+ fi |
191 |
+ |
192 |
+ # use `set` here since the java opts will contain whitespace |
193 |
+ if multilib_is_native_abi && use java ; then |
194 |
+ myconf+=( |
195 |
+ --with-java-prefix="${JAVA_HOME}" |
196 |
+ --with-javac-flags="$(java-pkg_javac-args)" |
197 |
+ ) |
198 |
+ fi |
199 |
+ |
200 |
+ # Bug #270851: test needs TCL support |
201 |
+ if use tcl || use test ; then |
202 |
+ myeconfargs+=( |
203 |
+ --enable-tcl |
204 |
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)" |
205 |
+ ) |
206 |
+ else |
207 |
+ myeconfargs+=(--disable-tcl ) |
208 |
+ fi |
209 |
+ |
210 |
+ ECONF_SOURCE="${S_BASE}"/dist \ |
211 |
+ STRIP="true" \ |
212 |
+ econf "${myeconfargs[@]}" |
213 |
+} |
214 |
+ |
215 |
+multilib_src_install() { |
216 |
+ emake install DESTDIR="${D}" |
217 |
+ |
218 |
+ db_src_install_headerslot |
219 |
+ |
220 |
+ db_src_install_usrlibcleanup |
221 |
+ |
222 |
+ if multilib_is_native_abi && use java; then |
223 |
+ java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so |
224 |
+ java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar |
225 |
+ rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar |
226 |
+ fi |
227 |
+} |
228 |
+ |
229 |
+multilib_src_install_all() { |
230 |
+ db_src_install_usrbinslot |
231 |
+ |
232 |
+ db_src_install_doc |
233 |
+ |
234 |
+ dodir /usr/sbin |
235 |
+ # This file is not always built, and no longer exists as of db-4.8 |
236 |
+ if [[ -f "${ED%/}"/usr/bin/berkeley_db_svc ]] ; then |
237 |
+ mv "${ED%/}"/usr/bin/berkeley_db_svc \ |
238 |
+ "${ED%/}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die |
239 |
+ fi |
240 |
+} |
241 |
+ |
242 |
+pkg_postinst() { |
243 |
+ multilib_foreach_abi db_fix_so |
244 |
+} |
245 |
+ |
246 |
+pkg_postrm() { |
247 |
+ multilib_foreach_abi db_fix_so |
248 |
+} |
249 |
+ |
250 |
+src_test() { |
251 |
+ # db_repsite is impossible to build, as upstream strips those sources. |
252 |
+ # db_repsite is used directly in the setup_site_prog, |
253 |
+ # setup_site_prog is called from open_site_prog |
254 |
+ # which is called only from tests in the multi_repmgr group. |
255 |
+ #sed -ri \ |
256 |
+ # -e '/set subs/s,multi_repmgr,,g' \ |
257 |
+ # "${S_BASE}/test/testparams.tcl" |
258 |
+ sed -ri \ |
259 |
+ -e '/multi_repmgr/d' \ |
260 |
+ "${S_BASE}/test/tcl/test.tcl" || die |
261 |
+ |
262 |
+ # This is the only failure in 5.2.28 so far, and looks like a false positive. |
263 |
+ # Repmgr018 (btree): Test of repmgr stats. |
264 |
+ # Repmgr018.a: Start a master. |
265 |
+ # Repmgr018.b: Start a client. |
266 |
+ # Repmgr018.c: Run some transactions at master. |
267 |
+ # Rep_test: btree 20 key/data pairs starting at 0 |
268 |
+ # Rep_test.a: put/get loop |
269 |
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1 |
270 |
+ sed -ri \ |
271 |
+ -e '/set parms.*repmgr018/d' \ |
272 |
+ -e 's/repmgr018//g' \ |
273 |
+ "${S_BASE}/test/tcl/test.tcl" || die |
274 |
+ |
275 |
+ multilib-minimal_src_test |
276 |
+} |
277 |
+ |
278 |
+multilib_src_test() { |
279 |
+ multilib_is_native_abi || return |
280 |
+ |
281 |
+ S=${BUILD_DIR} db_src_test |
282 |
+} |