diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2020-09-14 11:00:00 +0000 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2020-09-15 14:33:39 -0400 |
commit | 022a6609aaf851c09482de563a692407b4a4a472 (patch) | |
tree | e978218d304f5fb6734d669dad7f5518939b1a70 /dev-db | |
parent | dev-python/protobuf-python: Version bump (3.13.0). (diff) | |
download | gentoo-022a6609aaf851c09482de563a692407b4a4a472.tar.gz gentoo-022a6609aaf851c09482de563a692407b4a4a472.tar.bz2 gentoo-022a6609aaf851c09482de563a692407b4a4a472.zip |
dev-db/sqlite: Delete old version (3.32.3).
Bug: https://bugs.gentoo.org/732604
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch | 146 | ||||
-rw-r--r-- | dev-db/sqlite/sqlite-3.32.3.ebuild | 340 |
2 files changed, 0 insertions, 486 deletions
diff --git a/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch b/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch deleted file mode 100644 index ad2a3bfe16d0..000000000000 --- a/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch +++ /dev/null @@ -1,146 +0,0 @@ -https://sqlite.org/src/info/cc888878ea8d5bc7 -https://sqlite.org/src/info/be545f85a6ef09cc -https://sqlite.org/src/info/6e0ffa2053124168 -https://sqlite.org/src/info/4d0cfb1236884349 - ---- /ext/fts3/fts3.c -+++ /ext/fts3/fts3.c -@@ -5208,10 +5208,12 @@ - ); - if( res ){ - nNew = (int)(pOut - pPhrase->doclist.pList) - 1; -- assert( pPhrase->doclist.pList[nNew]=='\0' ); -- assert( nNew<=pPhrase->doclist.nList && nNew>0 ); -- memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew); -- pPhrase->doclist.nList = nNew; -+ if( nNew>=0 ){ -+ assert( pPhrase->doclist.pList[nNew]=='\0' ); -+ assert( nNew<=pPhrase->doclist.nList && nNew>0 ); -+ memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew); -+ pPhrase->doclist.nList = nNew; -+ } - *paPoslist = pPhrase->doclist.pList; - *pnToken = pPhrase->nToken; - } ---- /ext/fts3/fts3_write.c -+++ /ext/fts3/fts3_write.c -@@ -341,7 +341,9 @@ - ** created by merging the oldest :2 segments from absolute level :1. See - ** function sqlite3Fts3Incrmerge() for details. */ - /* 29 */ "SELECT 2 * total(1 + leaves_end_block - start_block) " -- " FROM %Q.'%q_segdir' WHERE level = ? AND idx < ?", -+ " FROM (SELECT * FROM %Q.'%q_segdir' " -+ " WHERE level = ? ORDER BY idx ASC LIMIT ?" -+ " )", - - /* SQL_DELETE_SEGDIR_ENTRY - ** Delete the %_segdir entry on absolute level :1 with index :2. */ -@@ -2853,6 +2855,19 @@ - return SQLITE_OK; - } - -+static int fts3GrowSegReaderBuffer(Fts3MultiSegReader *pCsr, int nReq){ -+ if( nReq>pCsr->nBuffer ){ -+ char *aNew; -+ pCsr->nBuffer = nReq*2; -+ aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer); -+ if( !aNew ){ -+ return SQLITE_NOMEM; -+ } -+ pCsr->aBuffer = aNew; -+ } -+ return SQLITE_OK; -+} -+ - - int sqlite3Fts3SegReaderStep( - Fts3Table *p, /* Virtual table handle */ -@@ -2987,15 +3002,9 @@ - } - - nByte = sqlite3Fts3VarintLen(iDelta) + (isRequirePos?nList+1:0); -- if( nDoclist+nByte>pCsr->nBuffer ){ -- char *aNew; -- pCsr->nBuffer = (nDoclist+nByte)*2; -- aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer); -- if( !aNew ){ -- return SQLITE_NOMEM; -- } -- pCsr->aBuffer = aNew; -- } -+ -+ rc = fts3GrowSegReaderBuffer(pCsr, nByte+nDoclist); -+ if( rc ) return rc; - - if( isFirst ){ - char *a = &pCsr->aBuffer[nDoclist]; -@@ -3020,6 +3029,9 @@ - fts3SegReaderSort(apSegment, nMerge, j, xCmp); - } - if( nDoclist>0 ){ -+ rc = fts3GrowSegReaderBuffer(pCsr, nDoclist+FTS3_NODE_PADDING); -+ if( rc ) return rc; -+ memset(&pCsr->aBuffer[nDoclist], 0, FTS3_NODE_PADDING); - pCsr->aDoclist = pCsr->aBuffer; - pCsr->nDoclist = nDoclist; - rc = SQLITE_ROW; ---- /src/expr.c -+++ /src/expr.c -@@ -4272,7 +4272,9 @@ - int nCol; - testcase( op==TK_EXISTS ); - testcase( op==TK_SELECT ); -- if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ -+ if( pParse->db->mallocFailed ){ -+ return 0; -+ }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ - sqlite3SubselectError(pParse, nCol, 1); - }else{ - return sqlite3CodeSubselect(pParse, pExpr); ---- /test/fts3corrupt4.test -+++ /test/fts3corrupt4.test -@@ -6123,4 +6123,44 @@ - SELECT offsets(t1) FROM t1 WHERE t1 MATCH 'rtree ner "json1^enable"'; - } - -+#------------------------------------------------------------------------- -+do_execsql_test 42.1 { -+ CREATE VIRTUAL TABLE f USING fts3(a, b); -+} -+do_execsql_test 42.2 { -+ INSERT INTO f_segdir VALUES(0,2,1111,0,0,X'00'); -+ INSERT INTO f_segdir VALUES(0,3,0 ,0,0,X'00013003010200'); -+} -+do_execsql_test 42.3 { -+ INSERT INTO f(f) VALUES ('merge=107,2'); -+} -+ -+#------------------------------------------------------------------------- -+reset_db -+set saved $sqlite_fts3_enable_parentheses -+set sqlite_fts3_enable_parentheses 1 -+do_execsql_test 43.1 { -+ CREATE VIRTUAL TABLE def USING fts3(xyz); -+ INSERT INTO def_segdir VALUES(0,0,0,0,0, X'0001310301c9000103323334050d81'); -+} {} -+ -+do_execsql_test 43.2 { -+ SELECT rowid FROM def WHERE def MATCH '1 NEAR 1' -+} {1} -+ -+set sqlite_fts3_enable_parentheses $saved -+ -+#------------------------------------------------------------------------- -+reset_db -+do_execsql_test 44.1 { -+ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY); -+ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL); -+ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'00013103010200010332333405010201ba00000461616161050101020200000462626262050101030200'); -+} -+ -+do_execsql_test 44.2 { -+ SELECT matchinfo(t0, t0) IS NULL FROM t0 WHERE t0 MATCH '1*' -+} {0} -+ -+ - finish_test diff --git a/dev-db/sqlite/sqlite-3.32.3.ebuild b/dev-db/sqlite/sqlite-3.32.3.ebuild deleted file mode 100644 index fd258a4bd4c0..000000000000 --- a/dev-db/sqlite/sqlite-3.32.3.ebuild +++ /dev/null @@ -1,340 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -if [[ "${PV}" != "9999" ]]; then - SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))" - DOC_PV="${SRC_PV}" - # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))" -fi - -DESCRIPTION="SQL database engine" -HOMEPAGE="https://sqlite.org/" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip )" -fi - -LICENSE="public-domain" -SLOT="3" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" -if [[ "${PV}" == "9999" ]]; then - PROPERTIES="live" -fi -RESTRICT="!test? ( test )" - -if [[ "${PV}" == "9999" ]]; then - BDEPEND=">=dev-lang/tcl-8.6:0 - dev-vcs/fossil" -else - BDEPEND="app-arch/unzip - >=dev-lang/tcl-8.6:0" -fi -RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}] - icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )" - -if [[ "${PV}" == "9999" ]]; then - S="${WORKDIR}/${PN}" -else - S="${WORKDIR}/${PN}-src-${SRC_PV}" -fi - -src_unpack() { - if [[ "${PV}" == "9999" ]]; then - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - addwrite "${distdir}" - mkdir -p "${distdir}/fossil-src/${PN}" || die - - mkdir "${WORKDIR}/${PN}" || die - pushd "${WORKDIR}/${PN}" > /dev/null || die - if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite.fossil" ]]; then - einfo fossil clone --verbose https://sqlite.org/src sqlite.fossil - fossil clone --verbose https://sqlite.org/src sqlite.fossil || die - echo - else - cp -p "${distdir}/fossil-src/${PN}/sqlite.fossil" . || die - einfo fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src - fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src || die - echo - fi - cp -p sqlite.fossil "${distdir}/fossil-src/${PN}" || die - einfo fossil open --quiet sqlite.fossil - fossil open --quiet sqlite.fossil || die - echo - popd > /dev/null || die - - if use doc; then - mkdir "${WORKDIR}/${PN}-doc" || die - pushd "${WORKDIR}/${PN}-doc" > /dev/null || die - if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" ]]; then - einfo fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil - fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil || die - echo - else - cp -p "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" . || die - einfo fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc - fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc || die - echo - fi - cp -p sqlite-doc.fossil "${distdir}/fossil-src/${PN}" || die - einfo fossil open --quiet sqlite-doc.fossil - fossil open --quiet sqlite-doc.fossil || die - echo - popd > /dev/null || die - fi - else - default - fi -} - -src_prepare() { - eapply "${FILESDIR}/${PN}-3.32.1-full_archive-build_1.patch" - eapply "${FILESDIR}/${PN}-3.32.1-full_archive-build_2.patch" - eapply "${FILESDIR}/${PN}-3.32.3-security_fixes.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" - - eautoreconf - - multilib_copy_sources -} - -multilib_src_configure() { - local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" - local options=() - - options+=( - --enable-load-extension - --enable-threadsafe - ) - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support bytecode and tables_used virtual tables. - # https://sqlite.org/bytecodevtab.html - append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB - - # Support column metadata functions. - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support sqlite_dbpage virtual table. - # https://sqlite.org/dbpage.html - append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB - - # Support dbstat virtual table. - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support sqlite3_serialize() and sqlite3_deserialize() functions. - # https://sqlite.org/c3ref/serialize.html - # https://sqlite.org/c3ref/deserialize.html - append-cppflags -DSQLITE_ENABLE_DESERIALIZE - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 - options+=(--enable-fts5) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support JSON1 extension. - # https://sqlite.org/json1.html - append-cppflags -DSQLITE_ENABLE_JSON1 - - # Support memsys5 memory allocator. - # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 - - # Support sqlite3_normalized_sql() function. - # https://sqlite.org/c3ref/expanded_sql.html - append-cppflags -DSQLITE_ENABLE_NORMALIZE - - # Support sqlite_offset() function. - # https://sqlite.org/lang_corefunc.html#sqlite_offset - append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC - - # Support pre-update hook functions. - # https://sqlite.org/c3ref/preupdate_count.html - append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK - - # Support Resumable Bulk Update extension. - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/rtree.html - # https://sqlite.org/geopoly.html - append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY - - # Support scan status functions. - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support sqlite_stmt virtual table. - # https://sqlite.org/stmt.html - append-cppflags -DSQLITE_ENABLE_STMTVTAB - - # Support Session extension. - # https://sqlite.org/sessionintro.html - options+=(--enable-session) - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. - # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses - # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses - append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT - - # Support soundex() function. - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # Support URI filenames. - # https://sqlite.org/uri.html - append-cppflags -DSQLITE_USE_URI - - # debug USE flag. - options+=($(use_enable debug)) - - # icu USE flag. - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi - - # readline USE flag. - options+=( - --disable-editline - $(use_enable readline) - ) - if use readline; then - options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline") - fi - - # secure-delete USE flag. - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - # static-libs USE flag. - options+=($(use_enable static-libs static)) - - # tcl, test, tools USE flags. - options+=(--enable-tcl) - - if [[ "${CHOST}" == *-mint* ]]; then - append-cppflags -DSQLITE_OMIT_WAL - fi - - if [[ "${ABI}" == "x86" ]]; then - if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then - append-cflags -mfpmath=sse - else - append-cflags -ffloat-store - fi - fi - - econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" - - emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbdump sqlite3-db-dump - install_tool dbhash sqlite3-db-hash - install_tool dbtotxt sqlite3-db-to-txt - install_tool index_usage sqlite3-index-usage - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showshm sqlite3-show-shm - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - install_tool sqlite3_checker sqlite3-checker - install_tool sqlite3_expert sqlite3-expert - install_tool sqltclsh sqlite3-tclsh - - unset -f install_tool - fi -} - -multilib_src_install_all() { - find "${D}" -name "*.la" -type f -delete || die - - doman sqlite3.1 - - if use doc; then - rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} || die - ( - docinto html - dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* - ) - fi -} |