From 113c65cb56d04c59a0e145f85864fb431419dfa9 Mon Sep 17 00:00:00 2001 From: Jonathan Brandmeyer Date: Thu, 2 Apr 2020 16:35:15 -0600 Subject: databases/sqlite: Update to 3.31.1 closes #3927. --- rtems/config/databases/sqlite-3.31.1-1.cfg | 23 +++++++++++++++ rtems/config/databases/sqlite-3.8.8.1-1.cfg | 27 ------------------ rtems/config/databases/sqlite.bset | 2 +- source-builder/config/sqlite-3-1.cfg | 44 ++++++++++++++++------------- 4 files changed, 49 insertions(+), 47 deletions(-) create mode 100644 rtems/config/databases/sqlite-3.31.1-1.cfg delete mode 100644 rtems/config/databases/sqlite-3.8.8.1-1.cfg diff --git a/rtems/config/databases/sqlite-3.31.1-1.cfg b/rtems/config/databases/sqlite-3.31.1-1.cfg new file mode 100644 index 0000000..cd2b5ef --- /dev/null +++ b/rtems/config/databases/sqlite-3.31.1-1.cfg @@ -0,0 +1,23 @@ +# +# Sqlite 3.31.1 +# + +%if %{release} == %{nil} + %define release 1 +%endif + +%include %{_configdir}/rtems-bsp.cfg + +# +# Sqlite Version. +# +%define sqlite_version 3.31.1 +%define sqlite_src_version 3310100 +%define sqlite_src_year 2020 + +%hash sha512 sqlite-autoconf-%{sqlite_src_version}.tar.gz d85250ba5f78f0c918880f663741709aba662192f04888b2324a0df17affdf5b8540e8428c6c7315119806e7adad758ea281c9b403c0ad94ac6a9bd1b93fd617 + +# +# Sqlite configuration +# +%include %{_configdir}/sqlite-3-1.cfg diff --git a/rtems/config/databases/sqlite-3.8.8.1-1.cfg b/rtems/config/databases/sqlite-3.8.8.1-1.cfg deleted file mode 100644 index aac06be..0000000 --- a/rtems/config/databases/sqlite-3.8.8.1-1.cfg +++ /dev/null @@ -1,27 +0,0 @@ -# -# Sqlite 3.8.8.1 -# - -%if %{release} == %{nil} - %define release 1 -%endif - -%include %{_configdir}/rtems-bsp.cfg - -# -# Sqlite Version. -# -# Sqlite uses a different version number label in source to the -# actual version number. I suppose this is related to Windows. -# -# -%define sqlite_version 3.8.8.1 -%define sqlite_src_version 3080801 -%define sqlite_src_year 2015 - -%hash sha512 sqlite-src-%{sqlite_src_version}.zip 4f09228cb0c9c608e492da6e480afe3d27a63e27ccdcf33a88d5e56427f0846efab8930c81026b8e608f1bbb8d63e8d937dd26571deb828617f7efa27a765950 - -# -# Sqlite configuration -# -%include %{_configdir}/sqlite-3-1.cfg diff --git a/rtems/config/databases/sqlite.bset b/rtems/config/databases/sqlite.bset index f7c97b6..9f84f5d 100644 --- a/rtems/config/databases/sqlite.bset +++ b/rtems/config/databases/sqlite.bset @@ -12,4 +12,4 @@ # # Build Sqlite # -databases/sqlite-3.8.8.1-1 +databases/sqlite-3.31.1-1 diff --git a/source-builder/config/sqlite-3-1.cfg b/source-builder/config/sqlite-3-1.cfg index 07699fd..d7ba101 100644 --- a/source-builder/config/sqlite-3-1.cfg +++ b/source-builder/config/sqlite-3-1.cfg @@ -11,15 +11,15 @@ Name: sqlite-%{sqlite_version}-%{_host}-%{release} Summary: SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, - transactional SQL database engine. + transactional SQL database engine. Version: %{sqlite_version} Release: %{release} -URL: http://www.sqlite.org/ +URL: http://www.sqlite.org/ # # Sqlite Source # -%source set sqlite http://www.sqlite.org/%{sqlite_src_year}/sqlite-src-%{sqlite_src_version}.zip +%source set sqlite http://www.sqlite.org/%{sqlite_src_year}/sqlite-autoconf-%{sqlite_src_version}.tar.gz # # Prepare the source code. @@ -27,8 +27,8 @@ URL: http://www.sqlite.org/ %prep build_top=$(pwd) - source_dir_sqlite="sqlite-src-%{sqlite_src_version}" - %source setup sqlite -q -n sqlite-src-%{sqlite_src_version} + source_dir_sqlite="sqlite-autoconf-%{sqlite_src_version}" + %source setup sqlite -q -n sqlite-autoconf-%{sqlite_src_version} %patch setup sqlite -p1 cd ${build_top} @@ -43,7 +43,21 @@ URL: http://www.sqlite.org/ %{host_build_flags} - CFLAGS="${CFLAGS} -DSQLITE_OMIT_WAL=1 -DSQLITE_ENABLE_COLUMN_METADATA=1" + # RTEMS-specific SQLite configuration options. + # See also + # - https://sqlite.org/wal.html#noshm + # - https://sqlite.org/malloc.html + # + # Many other compile-time options may be passed in via CFLAGS. + # See also https://sqlite.org/compile.html + # + # RTEMS filesystems do not support POSIX advisory file locks. Applications + # must choose an appropriate SQLite VFS which avoids them, such as unix-none + # (no locking at all: Application logic must avoid collisions) or + # unix-dotfile. This step must be performed at application startup time. + # See also https://sqlite.org/c3ref/vfs_find.html + # + CFLAGS="${CFLAGS} -DSQLITE_MAX_MMAP_SIZE=0 -DSQLITE_DEFAULT_LOCKING_MODE=1 -DSQLITE_ENABLE_MEMSYS5" ../${source_dir_sqlite}/configure \ --host=%{_host} \ @@ -57,17 +71,10 @@ URL: http://www.sqlite.org/ --infodir=%{_infodir} \ --datadir=%{_datadir} \ --disable-largefile \ - --disable-tcl \ - --disable-readline \ - --disable-amalgamation + --disable-readline %{__make} %{?_smp_mflags} sqlite3.h libsqlite3.la - # - # Create the sqlite shell executable so the install works. - # - touch sqlite3 - cd ${build_top} %install @@ -76,10 +83,9 @@ URL: http://www.sqlite.org/ %{__rmdir} $SB_BUILD_ROOT cd ${build_dir} - %{__make} DESTDIR=$SB_BUILD_ROOT install + # Warning: The unusual install targets avoid attempting to compile and link + # the SQLite3 command-line shell. The SQLite3 shell is not supported by + # RTEMS. + %{__make} DESTDIR=$SB_BUILD_ROOT install-data install-libLTLIBRARIES cd ${build_top} - # - # Remove the sqlite shell as it is just a touch. - # - %{__rm} $SB_BUILD_ROOT%{_bindir}/sqlite3 -- cgit v1.2.3