X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sqlite3.spec;h=44376d556d972e6e89123747b1ff17a1bb069037;hb=3f64860a7ca908948c95673d35bcc19a60ced024;hp=10d979b5e9c835ec91b4736e9df98b2634a43de5;hpb=c386019525dbc1670d0f73db9c35e8835329d30f;p=packages%2Fsqlite3.git diff --git a/sqlite3.spec b/sqlite3.spec index 10d979b..44376d5 100644 --- a/sqlite3.spec +++ b/sqlite3.spec @@ -1,7 +1,7 @@ # TODO: # - some tests fail with tcl8.5, it's tcl fault, # if someone REALLY cares (s)he can look into it -# - configure.ac present, but doesn't support all -DEFINES, also it uses bash syntax (var+=value) +# - sqlite binary is linked statically with sqlite library # # Conditional build: %bcond_with tests # run tests @@ -11,8 +11,9 @@ %bcond_without unlock_notify # disable unlock notify API %bcond_without load_extension # enable load extension API %bcond_with icu # ICU tokenizer support +%bcond_without wal_replication # WAL replication support -%ifarch alpha sparc %{x8664} +%ifarch %{x8664} %undefine with_tests %endif @@ -24,25 +25,28 @@ # sqlite3 version with zero padded without any dots (3 08 10 01 is 3.8.10.1) # but trailing 00 means no 4rd part (3 11 01 00 is 3.11.1) -%define vnum 3200000 +%define vnum 3270100 %define ver %{lua:vn=rpm.expand("%vnum");v="";for i in string.gmatch(string.format("%08d", vn), "..") do v=v.."."..i:gsub("^0", "");end;v=v:gsub("^.",""):gsub("\.0$","");print(v)} +# wal replication version +%define walver 3.27.1 + %define tclver 8.6 Summary: SQLite3 library Summary(pl.UTF-8): Biblioteka SQLite3 Name: sqlite3 Version: %{ver} -Release: 1 +Release: 2 License: Public Domain Group: Libraries # Source0Download: http://www.sqlite.org/download.html -Source0: http://www.sqlite.org/2017/sqlite-src-%{vnum}.zip -# Source0-md5: 8336ec9194bff2ee1f8215778e8017b9 +Source0: https://www.sqlite.org/2019/sqlite-src-%{vnum}.zip +# Source0-md5: ef90404683efdcc8d82ec750bc254546 Patch0: %{name}-sign-function.patch -URL: http://www.sqlite.org/ -%{?with_load_extension:Provides: %{name}(load_extension)} -%{?with_unlock_notify:Provides: %{name}(unlock_notify)} -%{?with_icu:Provides: %{name}(icu)} +# https://github.com/CanonicalLtd/dqlite/issues/91 +Patch1: https://github.com/CanonicalLtd/sqlite/releases/download/version-%{walver}+replication3/sqlite-%{walver}.diff +# Patch1-md5: 280abeb0aa494fb1165ca66bec7c3d95 +URL: https://www.sqlite.org/ BuildRequires: autoconf >= 2.50 BuildRequires: automake %{!?with_readline:BuildRequires: libedit-devel} @@ -52,6 +56,11 @@ BuildRequires: libtool BuildRequires: tcl %{?with_tcl:BuildRequires: tcl-devel >= %{tclver}} BuildRequires: unzip +Requires: %{name}-libs = %{version}-%{release} +%{?with_icu:Provides: %{name}(icu) = %{version}} +%{?with_load_extension:Provides: %{name}(load_extension) = %{version}} +%{?with_unlock_notify:Provides: %{name}(unlock_notify) = %{version}} +%{?with_wal_replication:Provides: %{name}(wal_replication) = %{version}} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _ulibdir /usr/lib @@ -81,20 +90,37 @@ bazodanowych przy większości operacji na bazie danych. Dodatkowo oprócz biblioteki języka C, dostarczany jest program do zarządzania bazami danych. +%package libs +Summary: Shared library for the sqlite3 embeddable SQL database engine +Summary(pl.UTF-8): Biblioteka współdzielona osadzalnego silnika baz danych SQL sqlite3 +Group: Libraries +%{?with_icu:Provides: %{name}-libs(icu) = %{version}} +%{?with_load_extension:Provides: %{name}-libs(load_extension) = %{version}} +%{?with_unlock_notify:Provides: %{name}-libs(unlock_notify) = %{version}} +%{?with_wal_replication:Provides: %{name}-libs(wal_replication) = %{version}} +Conflicts: sqlite3 < 3.23.1-2 + +%description libs +This package contains the SQLite 3 shared library. + +%description libs -l pl.UTF-8 +Ten pakiet zawiera bibliotekę współdzieloną SQLite 3. + %package devel Summary: Header files for SQLite development Summary(pl.UTF-8): Pliki nagłówkowe SQLite Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} %if %{with unlock_notify} -Provides: %{name}-devel(unlock_notify) +Provides: %{name}-devel(unlock_notify) = %{version} %endif %if %{with load_extension} -Provides: %{name}-devel(load_extension) +Provides: %{name}-devel(load_extension) = %{version} %endif %if %{with icu} -Provides: %{name}-devel(icu) +Provides: %{name}-devel(icu) = %{version} %endif +%{?with_wal_replication:Provides: %{name}-devel(wal_replication) = %{version}} %description devel SQLite is a C library that implements an SQL database engine. A large @@ -138,6 +164,7 @@ Provides: %{name}-static(unlock_notify) %if %{with load_extension} Provides: %{name}-static(load_extension) %endif +%{?with_wal_replication:Provides: %{name}-static(wal_replication)} %description static SQLite is a C library that implements an SQL database engine. A large @@ -182,6 +209,7 @@ Rozszerzenie sqlite3 dla Tcl. %prep %setup -q -n sqlite-src-%{vnum} %patch0 -p1 +%{?with_wal_replication:%patch1 -p1} %{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile.in @@ -209,6 +237,9 @@ export TCLLIBDIR="%{tcl_sitearch}/sqlite3" append-cppflags -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_SECURE_DELETE +# Support for optional ORDER BY and LIMIT clause on UPDATE and DELETE statements +append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT + # Support column metadata functions. # http://sqlite.org/c3ref/column_database_name.html # http://sqlite.org/c3ref/table_column_metadata.html @@ -224,6 +255,10 @@ append-cppflags -DSQLITE_ENABLE_FTS3_TOKENIZER # http://sqlite.org/rtree.html append-cppflags -DSQLITE_ENABLE_RTREE +# Support Geopoly module (new as of 3.25.0) +# https://www.sqlite.org/geopoly.html +append-cppflags -DSQLITE_ENABLE_GEOPOLY + # Support soundex() function. # http://sqlite.org/lang_corefunc.html#soundex #append-cppflags -DSQLITE_SOUNDEX @@ -232,6 +267,10 @@ append-cppflags -DSQLITE_ENABLE_RTREE # https://www.sqlite.org/dbstat.html append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB +# Support for session extension (record changes to a changeset). +# https://www.sqlite.org/sessionintro.html +append-cppflags -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_PREUPDATE_HOOK + %if %{with unlock_notify} # Support unlock notification. # http://sqlite.org/unlock_notify.html @@ -247,11 +286,17 @@ append-libs "-licui18n -licuuc" append-libs "-ldl" %endif +%if %{with wal_replication} +# A patched version of SQLite with support for WAL-based replication +append-cppflags -DSQLITE_ENABLE_WAL_REPLICATION +%endif + %configure \ %{?with_readline:--disable-editline} \ %{!?with_tcl:--disable-tcl}%{?with_tcl:--with-tcl=%{_ulibdir}} \ %{__enable_disable load_extension load-extension} \ - --enable-threadsafe + --enable-threadsafe \ + --enable-fts5 %{__make} @@ -278,15 +323,18 @@ cp -p sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1 %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.* +%attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0 %files %defattr(644,root,root,755) %doc README.md %attr(755,root,root) %{_bindir}/sqlite3 -%attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.* -%attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0 %{_mandir}/man1/sqlite3.1* %files devel