community/couchdb to 3.2.2-4

This commit is contained in:
Kevin Mihelich 2022-10-22 14:42:51 +00:00
parent 3f77c20a67
commit d0a10cf156
6 changed files with 352 additions and 2 deletions

View file

@ -8,7 +8,7 @@
pkgname=couchdb
pkgver=3.2.2
pkgrel=3
pkgrel=4
pkgdesc="Document-oriented database that can be queried and indexed in a MapReduce fashion using JSON"
arch=(x86_64)
url="https://couchdb.apache.org"
@ -21,6 +21,9 @@ backup=(etc/couchdb/local.ini
etc/default/couchdb)
options=(debug)
source=("https://archive.apache.org/dist/${pkgname}/source/${pkgver}/apache-${pkgname}-${pkgver}.tar.gz"{,.asc}
https://github.com/davisp/jiffy/archive/1.1.1/jiffy-1.1.1.tar.gz
erlang-25.patch
erlang-25-snappy.patch
couchdb.default
couchdb.service
couchdb.sysusers
@ -28,6 +31,9 @@ source=("https://archive.apache.org/dist/${pkgname}/source/${pkgver}/apache-${pk
arm.patch)
sha256sums=('69c9fd6f80133557f68a02e92dda72a4fd646d646f429f45bb8329a30f82f20e'
'SKIP'
'a999351d956d3ed10c33a6dd7e9435e674e519b5b82a46d60361afdb83062fd8'
'59a8a92200321f670f20746848fcadae35d1818f6bdacbedaf49012866dcfc27'
'8a74ae8cc5c5a54cd0a65f7aeed55af257eef8912630b953bfeb8d9329228b4b'
'0d21fdd7851b3a6fa099b030cab0e96705b1d5a3a83a4ff1c871814d8742cae9'
'6ab3d362f3fcd9079036c883dc09dc597584cb627831460f2e0c68a31aa052ae'
'3ed1ad2a37a068ce194b03fb72eb35285d60fa7faf2d2c2bb710703d229108a8'
@ -42,6 +48,16 @@ validpgpkeys=(2EC788AE3F239FA13E82D215CDE711289384AE37 # Joan Touzet (CODE SIGN
prepare() {
cd apache-couchdb-${pkgver}
sed -i 's|./data|/var/lib/couchdb|' configure
# force recompilation of "rebar" with current erlang
rm bin/rebar
# use newer jiffy which doesn't ship an "enc" binary
rm -r src/jiffy
mv ../jiffy-1.1.1 src/jiffy
patch -Np1 <../erlang-25.patch
patch -Np1 -d src/snappy <../erlang-25-snappy.patch
patch -p1 -i ../arm.patch
}
@ -66,7 +82,7 @@ package() {
install -Dm644 ${pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
# Remove some cruft
rm -r "${pkgdir}"/usr/lib/couchdb/erts-12.3/{doc,include,lib,man,src}
rm -r "${pkgdir}"/usr/lib/couchdb/erts-13.1.1/{doc,include,lib,man,src}
rm -rv "${pkgdir}"/usr/lib/couchdb/etc/
rm -rv "${pkgdir}"/usr/lib/couchdb/lib/couch-${pkgver}/priv/couch_{ejson_compare,js}
}

View file

@ -0,0 +1,19 @@
From 7ed2207259db0ef82fa3d3ead52af3d3414ec350 Mon Sep 17 00:00:00 2001
From: Ronny <ronny@apache.org>
Date: Sat, 11 Jun 2022 14:00:32 +0200
Subject: [PATCH] Add Erlang 25 support
---
rebar.config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rebar.config b/rebar.config
index a6a3b70..3b93f8a 100644
--- a/rebar.config
+++ b/rebar.config
@@ -1,4 +1,4 @@
-{require_otp_vsn, "R14|R15|R16|17|18|19|20|21|22|23|24"}.
+{require_otp_vsn, "R14|R15|R16|17|18|19|20|21|22|23|24|25"}.
{erl_opts, [debug_info, warn_unused_vars, warn_shadow_vars, warn_unused_import]}.
{port_sources, ["c_src/*.cc",

View file

@ -0,0 +1,48 @@
From 592837abc8b07f9b28898fa91c31658e2beecfc4 Mon Sep 17 00:00:00 2001
From: Ronny Berndt <ronny@apache.org>
Date: Sat, 11 Jun 2022 14:18:54 +0200
Subject: [PATCH] Add Erlang 25 support
Before merging this PR, PR #16 in couchdb-snappy needs to get merged and tagged with CouchDB-1.0.8
---
rebar.config.script | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rebar.config.script b/rebar.config.script
index 31855098b3..44c4d61b1a 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -192,7 +192,7 @@ MakeDep = fun
end.
AddConfig = [
- {require_otp_vsn, "20|21|22|23|24"},
+ {require_otp_vsn, "20|21|22|23|24|25"},
{deps_dir, "src"},
{deps, lists:map(MakeDep, DepDescs ++ OptionalDeps)},
{sub_dirs, SubDirs},
From 6da9405ff97acae745ae85f3f9ce92484a7722df Mon Sep 17 00:00:00 2001
From: Nick Vatamaniuc <vatamane@gmail.com>
Date: Fri, 17 Jun 2022 16:47:12 -0400
Subject: [PATCH] Erlang 25 compatibility - http_uri:parse -> uri_string:parse
This fixes the replicator eunit failure:
https://github.com/apache/couchdb/pull/4060#issuecomment-1154391783
---
.../test/eunit/couch_replicator_error_reporting_tests.erl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/couch_replicator/test/eunit/couch_replicator_error_reporting_tests.erl b/src/couch_replicator/test/eunit/couch_replicator_error_reporting_tests.erl
index 7778bd77de..b0863614c3 100644
--- a/src/couch_replicator/test/eunit/couch_replicator_error_reporting_tests.erl
+++ b/src/couch_replicator/test/eunit/couch_replicator_error_reporting_tests.erl
@@ -165,7 +165,7 @@ mock_fail_req(Path, Return) ->
send_req_direct,
fun(W, Url, Headers, Meth, Body, Opts, TOut) ->
Args = [W, Url, Headers, Meth, Body, Opts, TOut],
- {ok, {_, _, _, _, UPath, _}} = http_uri:parse(Url),
+ #{path := UPath} = uri_string:parse(Url),
case lists:suffix(Path, UPath) of
true -> Return;
false -> meck:passthrough(Args)

View file

@ -0,0 +1,65 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
BGNlCuiimiRQ5uics6BMyh7hPKGZsqja
=d/3m
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,51 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFl7vVUBEAC4T5HNXlfA64ICEg65LZOGAB1hABWrVe08X0Ak1CGBMSmPr7tC
r8cnIxyYFeFVtl8vA2uH/AH927fzlrfvTTrvA5HkkWRXJ2dSau4xOXWR2mkznUVV
QbVxSHUm5noHNl7A10Hh5q8So29yJPl/RnBwGoFO+Ldk6QHIC6G7JZBDa66M1kTS
orCsLA2lzsgAUVWxK7etOKcmxq3BBreUxi6IUOtaY/3riesTNdZ0ngowT4/m5rm3
ft/nxuL0JGJjuFdKIqD0Xw41HScB0hemx6K6zYDoJHOxsxMMmlaiVcZ8qKPyzLUN
/m9KrHDKg9DDOoocFCukeSoyDUqp6+5wo+bPgx1Mms01pYFqSkvARs49rkFwMFEX
LSuL8B3Q1nEov6Ss4faXkj89L8OXGC5hLSkIg+Hbk+XFf/RaLsvEnkW6hY81Wgrg
YlngGALRXLQUewW4NlwpKZlhWFiNuoGTyLjKrMlm6/EAa7IykgWXfEbaXqQVy4+5
YPPlSF7TMkACMa+CSiMr8O344NbPBjYsDmaJ7jt4UuP52xVtEbsJ0Yuo4J3jRCh0
9QDzN9niRymENP8aBRuqDsyMy9XbevmLbE02Xb4geD3B0aGHti6/5vHKI2a7XZwC
FGiyL5QlbYlICVpUa1Aa4lQqUFZ007CqZX3nzhNdrXuZCSkXnz/ddbVf0QARAQAB
tDJKb2FuIFRvdXpldCAoQ09ERSBTSUdOSU5HIEtFWSkgPHdvaGFsaUBhcGFjaGUu
b3JnPokCPQQTAQgAJwUCWXu9VQIbAwUJCWYBgAULCQgHAwUVCgkICwUWAgMBAAIe
AQIXgAAKCRDN5xEok4SuNxh3EACi5p2DEhXy99dQXsHGiCR8g/MiKQfWQy/lDkxB
pnrAo5jqpJnq3tjySBPUZqND4jupsbmusf7vFLMpTWdFsDhSs7eTTAeSd1v/pXG9
M35yh722FIs9X7/pDecIc7jdnp1IDbancmKLYvUFWtSF2UlYVTk82UXFKpCjD4uJ
vTVnaLWIrdwbAzRv+4vUKs2qegc7W9ecMKphgfYC4uAPElBtBp35wrIXafza50RT
o2WRjLXH+mCFbqE0Zjwp+VzTdNaTQigS9YgU8F+S5RotKt4G+muRzYt5XEmLR466
BdG3YlqPKvx+Z41BAVzZZjOVkxoQuqhxo7XMFrLK0/vzOAz+HLNH+jrfgc4lzmcQ
xcvcU9GlKAlcVX8JYxzYGkLrHwrXdchSnsSuZXceGvFDFDUDPxBMm+IdiAzdO1wy
Etc+JEVHF+hOmL0FWP0vtJCzzkHLvTEKTbfOL1LWd7foIEZB/fV1T6DnHKlC3izJ
Os6tddxUPg4yosrFdozo7P/PXUZkgDKL7lZOJdemuJ1PvHqUoEdZcuTizZnhKbkT
FHOlvvaWXaOlx9/T03SHqyzuhDktRwuvQkINGJRubcZKQZAq6Sch3o2WH3sBBNtC
WVLhKlQQu87xFyeVkOVVAPzpziRQEkgYbUK9dMSTfxJJ14ccGu4AZ3y8QbdQAFAS
hUI+yrkCDQRZe71VARAAvaUCOAdepT92KuVvhLyow770NG5uSMPgJZmPSWwFWVcm
ryTc0G3qj0T95oIdCl9V6W787kFaE1QPmGuT40HT+1QeTeDdPSoquEjnroTadZlT
YcpBnUNKCRRSb9eAtfDF8ZNhVFu7b0HbqN3WBuLTVM7zz6BkeK5OiKeI4nqluXoD
+g+Auz//PEXQehnzC+bcn+Tqhs+8LYoUwYhAmp9bVBMC5Wmzr8rCpiFWN/1ial6c
6n40CjLMdJU30VD54wOAf97ULvX7CDQDpbrJarcPju0q0SjwcUUiIzCm/xMUavDW
DlIJeCjf64Jr98baqSKPKSTBiYCYHWbDAva81AQ0BN86gj9pX7aGVB+0mR7+Ebp8
Vy2xchNAgRtJmhR6nvnIPsalMw9FQY1MDFROwCp9wbWvKAXLZgxLZLm3Y6EEVBK7
7gxYsRNncJ4VHET0qNIxxoZmtFVRNzLYpIAgmzbiCuHKgusffnCrGjMyFPWtmJuG
NF25vEeNdSceOZsDAvT5j9FupHDN+bnXLI5xhoieprT81+WeWuJMc9dosJ9Jx1yA
JY4knWHU2lUvIQsno2FpFDAGtfhN3ztqJQ7J7BNexQei+dMJUV3l3DGut7Y7459w
MR7guZ5PRuJfqq6WMTXWpn4mHLIS+0N05NBQwW/EChuOI8ayPiRn2DIMIlFhtSUA
EQEAAYkCJQQYAQgADwUCWXu9VQIbDAUJCWYBgAAKCRDN5xEok4SuNxuoD/94OuxH
un1r3mg278NRLIXOqJ5Gymq7FXEu0NLqOrzdrioQk2uwgaau4uVWJV2snIoNv/jP
NXGzWsuQX/vA8yGz7WOlcnFf8U3WhKk+97UwHOfz83agJ7p17+KvF+OIIeJBXp6E
e8emImAzPM+4HotQel/pf+LLDH9J/UosO6c9ONnsbZh97EZESlYoYuXnsCvYG2Ab
u1CS5kEZ46oCRCK5eI4vE9vwGGeTANeo5SvEHwRyHNG+fnY+FtHJifbVArrQmfIL
g+7kw4wAWVHB4NbE+qKpbrGblhuEn/mVFFOmR6ImJdYUTDJfhX0gQ8kFhdSkMISj
7IHXCouz5nqi3H1aRXPcqM0ovhlal4XmqSTxDkZB9fsafXpoKEXOWwdWDPpx/8jq
lGle9R1BF8iJ9CnRE8pmJPHLgHHqHsvmPvLQanwyNx9LQr/fOWa3cKFNrFY87FD0
qiGRHz4Vp0aMXafFYU5eWN7zwXILe1VIivC5UMXpPAsajIpr6L1i4pZQQBaxq+A1
bKbHtWsX6qj3GBQhlQyh8ve7KGGyL9E6GpWUAe2ktncKa0AK91+VAzkBCPXymTCj
5pE2Yd3WVf0S5HpAvaHPkt/Cmc9xY4yRpdru61EfZg/lDpecTx4xd8PXhRAQIyGo
bIk68HPuEF/zhvmAbr/mOVDV7mSaqTnPBPXxKg==
=xUmT
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,151 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
axerui+ARRldHCQ5G2YBwfk=
=BuvN
-----END PGP PUBLIC KEY BLOCK-----