[arch-commits] Commit in sqlite/repos (4 files)

Andreas Radke andyrtr at gemini.archlinux.org
Mon Aug 1 13:47:09 UTC 2022


    Date: Monday, August 1, 2022 @ 13:47:09
  Author: andyrtr
Revision: 451817

archrelease: copy trunk to testing-x86_64

Added:
  sqlite/repos/testing-x86_64/
  sqlite/repos/testing-x86_64/PKGBUILD
    (from rev 451816, sqlite/trunk/PKGBUILD)
  sqlite/repos/testing-x86_64/license.txt
    (from rev 451816, sqlite/trunk/license.txt)
  sqlite/repos/testing-x86_64/sqlite-lemon-system-template.patch
    (from rev 451816, sqlite/trunk/sqlite-lemon-system-template.patch)

------------------------------------+
 PKGBUILD                           |  147 +++++++++++++++++++++++++++++++++++
 license.txt                        |   33 +++++++
 sqlite-lemon-system-template.patch |   13 +++
 3 files changed, 193 insertions(+)

Copied: sqlite/repos/testing-x86_64/PKGBUILD (from rev 451816, sqlite/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2022-08-01 13:47:09 UTC (rev 451817)
@@ -0,0 +1,147 @@
+# Maintainer: Andreas Radke <andyrtr at archlinux.org>
+# Contributor: Tom Newsom <Jeepster at gmx.co.uk>
+
+pkgbase="sqlite"
+pkgname=('sqlite' 'sqlite-tcl' 'sqlite-analyzer' 'lemon' 'sqlite-doc')
+_srcver=3390200
+_docver=${_srcver}
+#_docver=3330000
+pkgver=3.39.2
+pkgrel=1
+pkgdesc="A C library that implements an SQL database engine"
+arch=('x86_64')
+license=('custom:Public Domain')
+url="https://www.sqlite.org/"
+makedepends=('tcl' 'readline' 'zlib')
+source=(https://www.sqlite.org/2022/sqlite-src-${_srcver}.zip
+        https://www.sqlite.org/2022/sqlite-doc-${_docver}.zip
+        sqlite-lemon-system-template.patch
+        license.txt)
+options=('!emptydirs')
+# upstream now switched to sha3sums - currently not suppoerted by makepkg
+sha256sums=('e933d77000f45f3fbc8605f0050586a3013505a8de9b44032bd00ed72f1586f0'
+            '50f08a09e8858b023f24b59963e0559e1cf2e24a0c4d9ca61f35414a900d409e'
+            '55746d93b0df4b349c4aa4f09535746dac3530f9fd6de241c9f38e2c92e8ee97'
+            '4e57d9ac979f1c9872e69799c2597eeef4c6ce7224f3ede0bf9dc8d217b1e65d')
+
+prepare() {
+  cd sqlite-src-$_srcver
+
+  # patch taken from Fedora
+  # https://src.fedoraproject.org/rpms/sqlite/blob/master/f/sqlite.spec
+  patch -Np1 -i ../sqlite-lemon-system-template.patch
+
+  #autoreconf -vfi
+}
+
+build() {
+  export CPPFLAGS="$CPPFLAGS \
+	-DSQLITE_ENABLE_COLUMN_METADATA=1 \
+	-DSQLITE_ENABLE_UNLOCK_NOTIFY \
+	-DSQLITE_ENABLE_DBSTAT_VTAB=1 \
+	-DSQLITE_ENABLE_FTS3_TOKENIZER=1 \
+	-DSQLITE_SECURE_DELETE \
+	-DSQLITE_ENABLE_STMTVTAB \
+	-DSQLITE_MAX_VARIABLE_NUMBER=250000 \
+	-DSQLITE_MAX_EXPR_DEPTH=10000 \
+	-DSQLITE_ENABLE_MATH_FUNCTIONS"
+
+  # build sqlite
+  cd sqlite-src-$_srcver
+  ./configure --prefix=/usr \
+	--disable-static \
+	--enable-fts3 \
+	--enable-fts4 \
+	--enable-fts5 \
+	--enable-rtree \
+	TCLLIBDIR=/usr/lib/sqlite$pkgver
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+  make
+  # build additional tools
+  make showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
+}
+
+package_sqlite() {
+
+ pkgdesc="A C library that implements an SQL database engine"
+ depends=('readline' 'zlib')
+ provides=("sqlite3=$pkgver")
+ replaces=("sqlite3")
+
+  cd sqlite-src-$_srcver
+  make DESTDIR="${pkgdir}" install
+
+  install -m755 showdb showjournal showstat4 showwal sqldiff "${pkgdir}"/usr/bin/
+
+  # install manpage
+  install -m755 -d "${pkgdir}"/usr/share/man/man1
+  install -m644 sqlite3.1 "${pkgdir}"/usr/share/man/man1/
+
+  # license - no linking required because pkgbase=pkgname
+  install -D -m644 "${srcdir}"/license.txt "${pkgdir}"/usr/share/licenses/${pkgbase}/license.txt
+
+  # split out tcl extension
+  mkdir "$srcdir"/tcl
+  mv "$pkgdir"/usr/lib/sqlite* "$srcdir"/tcl
+}
+
+package_sqlite-tcl() {
+
+ pkgdesc="sqlite Tcl Extension Architecture (TEA)"
+ depends=('sqlite')
+ provides=("sqlite3-tcl=$pkgver")
+ replaces=("sqlite3-tcl")
+
+  install -m755 -d "${pkgdir}"/usr/lib
+  mv "$srcdir"/tcl/* "${pkgdir}"/usr/lib
+
+  # install manpage
+  install -m755 -d "${pkgdir}"/usr/share/man/mann
+  install -m644 "${srcdir}"/sqlite-src-$_srcver/autoconf/tea/doc/sqlite3.n "${pkgdir}"/usr/share/man/mann/
+
+  # link license
+  install -m755 -d "${pkgdir}"/usr/share/licenses
+  ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+package_sqlite-analyzer() {
+
+ pkgdesc="An analysis program for sqlite3 database files"
+ depends=('sqlite' 'tcl')
+
+  cd sqlite-src-$_srcver
+  install -m755 -d "${pkgdir}"/usr/bin
+  install -m755 sqlite3_analyzer "${pkgdir}"/usr/bin/
+}
+
+package_lemon() {
+
+ # https://www.sqlite.org/lemon.html
+ pkgdesc="A parser generator"
+ depends=('glibc')
+
+  cd sqlite-src-$_srcver
+  # ELF file ('usr/bin/lemon') lacks FULL RELRO, check LDFLAGS. - no fix found so far
+  install -Dm755 lemon ${pkgdir}/usr/bin/lemon
+  install -Dm644 lempar.c ${pkgdir}/usr/share/lemon/lempar.c
+  
+  mkdir -p "${pkgdir}"/usr/share/doc/${pkgname}
+  cp ../sqlite-doc-${_docver}/lemon.html  "${pkgdir}"/usr/share/doc/${pkgname}/
+  install -m755 -d "${pkgdir}"/usr/share/licenses
+  ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}"
+
+}
+
+package_sqlite-doc() {
+
+ pkgdesc="most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation"
+ #arch=('any') - not yet supported
+ provides=("sqlite3-doc=$pkgver")
+ replaces=("sqlite3-doc")
+
+  cd sqlite-doc-${_docver}
+  mkdir -p "${pkgdir}"/usr/share/doc/${pkgbase}
+  cp -R *  "${pkgdir}"/usr/share/doc/${pkgbase}/
+  
+  rm "${pkgdir}"/usr/share/doc/${pkgbase}/lemon.html
+}

Copied: sqlite/repos/testing-x86_64/license.txt (from rev 451816, sqlite/trunk/license.txt)
===================================================================
--- testing-x86_64/license.txt	                        (rev 0)
+++ testing-x86_64/license.txt	2022-08-01 13:47:09 UTC (rev 451817)
@@ -0,0 +1,33 @@
+SQLite Copyright
+SQLite is in the
+Public Domain 
+
+
+All of the deliverable code in SQLite has been dedicated to the public domain by the authors. All code authors, and representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. 
+
+The previous paragraph applies to the deliverable code in SQLite - those parts of the SQLite library that you actually bundle and ship with a larger application. Portions of the documentation and some code used as part of the build process might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation and build code so much because none of these things are part of the core deliverable SQLite library. 
+
+All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from the open internet. Every line of code can be traced back to its original author, and all of those authors have public domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects. 
+Obtaining An Explicit License To Use SQLite
+
+Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway. Some reasons for obtaining a license include: 
+You are using SQLite in a jurisdiction that does not recognize the public domain. 
+You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain. 
+You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite. 
+Your legal department tells you that you have to purchase a license. 
+
+If you feel like you really have to purchase a license for SQLite, Hwaci, the company that employs the architect and principal developers of SQLite, will sell you one. 
+Contributed Code
+
+In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement: 
+The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law. 
+
+We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to:
+Hwaci
+6200 Maple Cove Lane
+Charlotte, NC 28269
+USA 
+
+A template copyright release is available in PDF or HTML. You can use this release to make future changes.
+
+see http://www.sqlite.org/copyright.html
\ No newline at end of file

Copied: sqlite/repos/testing-x86_64/sqlite-lemon-system-template.patch (from rev 451816, sqlite/trunk/sqlite-lemon-system-template.patch)
===================================================================
--- testing-x86_64/sqlite-lemon-system-template.patch	                        (rev 0)
+++ testing-x86_64/sqlite-lemon-system-template.patch	2022-08-01 13:47:09 UTC (rev 451817)
@@ -0,0 +1,13 @@
+diff --git a/tool/lemon.c b/tool/lemon.c
+index 54c8946..ac14a06 100644
+--- a/tool/lemon.c
++++ b/tool/lemon.c
+@@ -3668,6 +3668,8 @@ PRIVATE FILE *tplt_open(struct lemon *lemp)
+     tpltname = buf;
+   }else if( access(templatename,004)==0 ){
+     tpltname = templatename;
++  }else if( access("/usr/share/lemon/lempar.c", R_OK)==0){
++    tpltname = "/usr/share/lemon/lempar.c";
+   }else{
+     toFree = tpltname = pathsearch(lemp->argv0,templatename,0);
+   }



More information about the arch-commits mailing list