aboutsummaryrefslogtreecommitdiffstats
path: root/main/redis/APKBUILD
blob: fe91675d15b02e9354cb0dcdeac8a70868b0db26 (plain) (blame)
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
# Contributor: V.Krishn <vkrishn4@gmail.com>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=redis
pkgver=4.0.14
pkgrel=0
pkgdesc="Advanced key-value store"
url="https://redis.io/"
arch="all"
license="BSD-3-Clause"
pkgusers="redis"
pkggroups="redis"
makedepends="linux-headers"
checkdepends="tcl procps"
install="$pkgname.pre-install $pkgname.post-install"
subpackages="$pkgname-openrc"
source="http://download.redis.io/releases/$pkgname-$pkgver.tar.gz
	makefile-dont-duplicate-binary.patch
	redis.conf.patch
	sentinel.conf.patch
	$pkgname.initd
	$pkgname.confd
	$pkgname-sentinel.initd
	$pkgname.logrotate
	"
builddir="$srcdir/$pkgname-$pkgver"

# secfixes:
#   4.0.14-r0:
#     - CVE-2019-10192
#     - CVE-2019-10193

prepare() {
	default_prepare
	cd "$builddir"

	# disable broken tests
	# see: https://github.com/antirez/redis/issues/2814
	#      https://github.com/antirez/redis/issues/3810
	sed -i -e '/integration\/aof/d' \
		-e '/integration\/logging/d' \
		tests/test_helper.tcl
}

build() {
	cd "$builddir"
	case "$CARCH" in mips|mipsel*) _libatomic="-latomic";; esac
	make PREFIX=/usr \
		INSTALL_BIN="$pkgdir"/usr/bin \
		MALLOC=libc \
		FINAL_LIBS="-lm -ldl -pthread $_libatomic" \
		all
}

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

package() {
	cd "$builddir"

	make install PREFIX=/usr INSTALL_BIN="$pkgdir/usr/bin"

	cd "$pkgdir"

	install -D -m 644 "$builddir"/redis.conf etc/redis.conf

	# This file must be writable for redis, otherwise Sentinel fails to start.
	install -D -m 644 -o redis -g redis "$builddir"/sentinel.conf etc/sentinel.conf

	install -D -m 755 "$srcdir"/redis.initd etc/init.d/redis
	install -D -m 755 "$srcdir"/redis-sentinel.initd etc/init.d/redis-sentinel
	install -D -m 644 "$srcdir"/redis.confd etc/conf.d/redis
	install -D -m 644 "$srcdir"/redis.logrotate etc/logrotate.d/redis

	install -d -o redis -g redis \
		var/lib/redis \
		var/log/redis
}

sha512sums="7730a4083962046f8fee674a8ce95e1d3e8c8dcc2d64a65491dc3b851413b2d745942be7a94ee77074aa530da5f3d458c4e7388d7950a8495d8ee9f4862b7e06  redis-4.0.14.tar.gz
5fd8a478771642b9c0dc285f1d95896f7680b94c7edab0ce60ad19ba0c2979028c7d9b0afb846dbf3e1be146ec5ded52ebb059a5b25b0a8e52bf8e57f18c0cf4  makefile-dont-duplicate-binary.patch
c8a35e3c30be99fef8678acb2502f424bcca478dcc1ef1750f8c8c8e9e9c462f97586159f32ebba84b6a4eb398a9d568e3200241fb0de1f96293c9fdaafb06c9  redis.conf.patch
d9bbb3fcc69022633d7fea3227c41d8777422ce9778623efb6aa539468fc51d2d1de09d364e21c7c8b45c61e7bbc7aaaf22745257d60ea937f77a8673facf286  sentinel.conf.patch
f6dcdad1edd6b5fb6aa28ba774bfc8aba035f316695da261fb2ad291b76f00f177479f9d74434d06c26bd15f131edc9a2f55c9880758cf0987800d2031069738  redis.initd
6752e99df632b14d62a3266929e80c3d667be5c270e4f34e0dcf2b7f9b1754fe0ce9d4569fa413dbbe207e406ff2848a64e0c47629997536ae1d14ca84ebd56b  redis.confd
e7a60a090df53eef05d58d73709f07536135a93efb34e48ad933e3859d3d1c0f476975a3232df18f57476bf7fc3b0548471e1c86445878457ac8507b3da71384  redis-sentinel.initd
bf2def2077a989047e9bfff8a7f754bcdf96e020fd4a470f8967ee1fca601e11f044cfb3742f00e932cc013e0d0b199045d78c8878a0e529715c9f77786d353f  redis.logrotate"