aboutsummaryrefslogtreecommitdiffstats
path: root/main/sqlite/APKBUILD
blob: 44425f92f833ba597113acc41e632eea38781bd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
pkgname=sqlite
pkgver=3.28.0
pkgrel=2
pkgdesc="C library that implements an SQL database engine"
url="https://www.sqlite.org/"
arch="all"
options=""
license="Public-Domain"
depends=""
makedepends="readline-dev"
subpackages="$pkgname-static $pkgname-doc $pkgname-dev $pkgname-libs"

# compute _ver
_a=${pkgver%%.*}
_b=${pkgver#${_a}.}
_b=${_b%%.*}
_c=${pkgver#${_a}.${_b}.}
_c=${_c%%.*}
case $pkgver in
	*.*.*.*)_d=${pkgver##*.};;
	*.*.*)	_d=0;;
esac
[ $_b -lt 10 ] && _b=0$_b
[ $_c -lt 10 ] && _c=0$_c
[ $_d -lt 10 ] && _d=0$_d
_ver=${_a}${_b}${_c}${_d}

# these variables depend on _ver being set
builddir="$srcdir/$pkgname-autoconf-$_ver"
source="https://www.sqlite.org/2019/$pkgname-autoconf-$_ver.tar.gz
	license.txt
	CVE-2019-16168.patch
	CVE-2019-19242.patch
	CVE-2019-19244.patch
	"

# secfixes:
#   3.28.0-r2:
#     - CVE-2019-19242
#     - CVE-2019-19242
#   3.28.0-r1:
#     - CVE-2019-16168
#   3.28.0-r0:
#     - CVE-2019-5018
#     - CVE-2019-8457

# additional CFLAGS to set
_amalgamation="-DSQLITE_ENABLE_FTS4 \
	-DSQLITE_ENABLE_FTS3_PARENTHESIS \
	-DSQLITE_ENABLE_FTS3 \
	-DSQLITE_ENABLE_FTS5 \
	-DSQLITE_ENABLE_COLUMN_METADATA \
	-DSQLITE_SECURE_DELETE \
	-DSQLITE_ENABLE_UNLOCK_NOTIFY \
	-DSQLITE_ENABLE_RTREE \
	-DSQLITE_ENABLE_GEOPOLY \
	-DSQLITE_USE_URI \
	-DSQLITE_ENABLE_DBSTAT_VTAB \
	-DSQLITE_MAX_VARIABLE_NUMBER=250000 \
	-DSQLITE_ENABLE_JSON1"

build() {
	cd "$builddir"

	export CFLAGS="$CFLAGS $_amalgamation"
	./configure \
		--build="$CBUILD" \
		--host="$CHOST" \
		--prefix=/usr \
		--enable-threadsafe \
		--enable-readline \
		--enable-static \
		--enable-dynamic-extensions \
		--enable-fts3

	# rpath removal
	sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
	sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

	make
}

check() {
	cd "$builddir"
	make check
}

package() {
	cd "$builddir"

	make -j1 DESTDIR="$pkgdir" install

	install -Dm0644 sqlite3.1 \
		"$pkgdir"/usr/share/man/man1/sqlite3.1
	install -Dm644 "$srcdir"/license.txt \
		"$pkgdir"/usr/share/licenses/$pkgname/license.txt
}

libs() {
	replaces="sqlite"
	pkgdesc="Sqlite3 library"

	mkdir -p "$subpkgdir"/usr
	mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
}

static() {
	pkgdesc="Sqlite3 static library"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/lib*.a "$subpkgdir"/usr/lib/
}
sha512sums="e800c0d9e6c8c01ccf1d714c6c4da4b98e9610c4c06557dda6393d0792a8ae09788703d4a74dcb21844c49b3629ff7ed95a4a86ff79872aafd2b49c672c7a570  sqlite-autoconf-3280000.tar.gz
5bde14bec5bf18cc686b8b90a8b2324c8c6600bca1ae56431a795bb34b8b5ae85527143f3b5f0c845c776bce60eaa537624104cefc3a47b3820d43083f40c6e9  license.txt
db937bc87068b486e5163a5493acba2d7b89aa6b45d55cbc1c8b53e6889c53e6be060997f340dfad44c3df328c7891b49277f56299a9531248381a214fb4079d  CVE-2019-16168.patch
e0cbb73e56cfd37cb5fbc5b003a40d1853fb527a63319ff78dbcd9d15d9469f75451f4abd572d5a2a1e936c8739f8f031428090b48368f28f97ba6fbf0654dbe  CVE-2019-19242.patch
e7982014a62b4fa465918fd65384cec406ea09598f3e0511eb2b68f618983b2f29a932267397aff9b88b97367dc8e05c4074fa8e276e3f4294ac019df498a724  CVE-2019-19244.patch"