Date: Friday, October 21, 2022 @ 21:05:52
Author: foutrelis
Revision: 1333307
archrelease: copy trunk to community-staging-x86_64
Added:
couchdb/repos/community-staging-x86_64/
couchdb/repos/community-staging-x86_64/PKGBUILD
(from rev 1333306, couchdb/trunk/PKGBUILD)
couchdb/repos/community-staging-x86_64/couchdb.default
(from rev 1333306, couchdb/trunk/couchdb.default)
couchdb/repos/community-staging-x86_64/couchdb.service
(from rev 1333306, couchdb/trunk/couchdb.service)
couchdb/repos/community-staging-x86_64/couchdb.sysusers
(from rev 1333306, couchdb/trunk/couchdb.sysusers)
couchdb/repos/community-staging-x86_64/couchdb.tmpfiles
(from rev 1333306, couchdb/trunk/couchdb.tmpfiles)
couchdb/repos/community-staging-x86_64/erlang-25-snappy.patch
(from rev 1333306, couchdb/trunk/erlang-25-snappy.patch)
couchdb/repos/community-staging-x86_64/erlang-25.patch
(from rev 1333306, couchdb/trunk/erlang-25.patch)
couchdb/repos/community-staging-x86_64/keys/
------------------------+
PKGBUILD | 81 +++++++++++++++++++++++++++++++++++++++++++++++
couchdb.default | 3 +
couchdb.service | 42 ++++++++++++++++++++++++
couchdb.sysusers | 1
couchdb.tmpfiles | 3 +
erlang-25-snappy.patch | 19 +++++++++++
erlang-25.patch | 48 +++++++++++++++++++++++++++
7 files changed, 197 insertions(+)
Copied: couchdb/repos/community-staging-x86_64/PKGBUILD (from rev 1333306,
couchdb/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2022-10-21 21:05:52 UTC (rev 1333307)
@@ -0,0 +1,81 @@
+# Maintainer: Bruno Pagani <[email protected]>
+# Contributor: Sergej Pupykin <[email protected]>
+# Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua
+# Contributor: Michael Fellinger <[email protected]>
+
+pkgname=couchdb
+pkgver=3.2.2
+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"
+license=(Apache)
+depends=(icu js91 zlib)
+optdepends=('erlang-nox: for weatherreport')
+makedepends=(erlang-nox)
+backup=(etc/couchdb/local.ini
+ etc/couchdb/vm.args
+ 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
+ couchdb.tmpfiles)
+sha256sums=('69c9fd6f80133557f68a02e92dda72a4fd646d646f429f45bb8329a30f82f20e'
+ 'SKIP'
+ 'a999351d956d3ed10c33a6dd7e9435e674e519b5b82a46d60361afdb83062fd8'
+ '59a8a92200321f670f20746848fcadae35d1818f6bdacbedaf49012866dcfc27'
+ '8a74ae8cc5c5a54cd0a65f7aeed55af257eef8912630b953bfeb8d9329228b4b'
+ '0d21fdd7851b3a6fa099b030cab0e96705b1d5a3a83a4ff1c871814d8742cae9'
+ '6ab3d362f3fcd9079036c883dc09dc597584cb627831460f2e0c68a31aa052ae'
+ '3ed1ad2a37a068ce194b03fb72eb35285d60fa7faf2d2c2bb710703d229108a8'
+ '7331b9675e3668c5f0d632bee5d154c061cc3e60d451bef3dc0d0ab2dadfa006')
+
+# https://downloads.apache.org/couchdb/KEYS
+validpgpkeys=(2EC788AE3F239FA13E82D215CDE711289384AE37 # Joan Touzet (CODE
SIGNING KEY) <[email protected]>
+ D2B17F9DA23C0A10991AF2E3D9EE01E47852AEE4 # Jan Lehnardt
<[email protected]>
+ 0BD7A98499C4AB41C910EE65FC04DFBC9657A78E) # Nick Vatamaniuc
<[email protected]>
+
+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
+}
+
+build() {
+ cd apache-couchdb-${pkgver}
+ ./configure --spidermonkey-version 91
+ make release
+}
+
+package() {
+ cd apache-couchdb-${pkgver}
+ install -dm755 "${pkgdir}"/usr/lib
+ install -dm755 "${pkgdir}"/etc/couchdb
+
+ cp -r rel/couchdb "${pkgdir}"/usr/lib/couchdb
+ mv "${pkgdir}"/usr/lib/couchdb/etc/{default.ini,local.ini,vm.args}
"${pkgdir}"/etc/couchdb/
+
+ cd "${srcdir}"
+ install -Dm644 ${pkgname}.default "${pkgdir}"/etc/default/${pkgname}
+ install -Dm644 ${pkgname}.service -t "${pkgdir}"/usr/lib/systemd/system/
+ install -Dm644 ${pkgname}.tmpfiles
"${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
+ install -Dm644 ${pkgname}.sysusers
"${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
+
+ # Remove some cruft
+ 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}
+}
Copied: couchdb/repos/community-staging-x86_64/couchdb.default (from rev
1333306, couchdb/trunk/couchdb.default)
===================================================================
--- community-staging-x86_64/couchdb.default (rev 0)
+++ community-staging-x86_64/couchdb.default 2022-10-21 21:05:52 UTC (rev
1333307)
@@ -0,0 +1,3 @@
+ERL_EPMD_ADDRESS=127.0.0.1
+COUCHDB_ARGS_FILE=/etc/couchdb/vm.args
+COUCHDB_INI_FILES=/etc/couchdb/default.ini /etc/couchdb/local.ini
Copied: couchdb/repos/community-staging-x86_64/couchdb.service (from rev
1333306, couchdb/trunk/couchdb.service)
===================================================================
--- community-staging-x86_64/couchdb.service (rev 0)
+++ community-staging-x86_64/couchdb.service 2022-10-21 21:05:52 UTC (rev
1333307)
@@ -0,0 +1,42 @@
+[Unit]
+Description=CouchDB Server
+
+[Service]
+User=couchdb
+Group=couchdb
+Type=simple
+WorkingDirectory=~
+StateDirectory=couchdb
+EnvironmentFile=/etc/default/couchdb
+ExecStart=/usr/lib/couchdb/bin/couchdb
+ReadWritePaths=/etc/couchdb/local.ini
+Restart=always
+RestartSec=2s
+AmbientCapabilities=
+CapabilityBoundingSet=
+LockPersonality=true
+# Not compatible with the use of JS
+#MemoryDenyWriteExecute=true
+NoNewPrivileges=True
+PrivateDevices=true
+PrivateTmp=true
+PrivateUsers=true
+ProtectClock=true
+ProtectControlGroups=yes
+ProtectHome=true
+ProtectHostname=true
+ProtectKernelLogs=true
+ProtectKernelModules=yes
+ProtectKernelTunables=true
+ProtectProc=invisible
+ProtectSystem=strict
+RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX
+RestrictNamespaces=true
+RestrictRealtime=true
+RestrictSUIDSGID=true
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+SystemCallErrorNumber=EPERM
+
+[Install]
+WantedBy=multi-user.target
Copied: couchdb/repos/community-staging-x86_64/couchdb.sysusers (from rev
1333306, couchdb/trunk/couchdb.sysusers)
===================================================================
--- community-staging-x86_64/couchdb.sysusers (rev 0)
+++ community-staging-x86_64/couchdb.sysusers 2022-10-21 21:05:52 UTC (rev
1333307)
@@ -0,0 +1 @@
+u couchdb - "CouchDB daemon" /var/lib/couchdb
Copied: couchdb/repos/community-staging-x86_64/couchdb.tmpfiles (from rev
1333306, couchdb/trunk/couchdb.tmpfiles)
===================================================================
--- community-staging-x86_64/couchdb.tmpfiles (rev 0)
+++ community-staging-x86_64/couchdb.tmpfiles 2022-10-21 21:05:52 UTC (rev
1333307)
@@ -0,0 +1,3 @@
+z /etc/couchdb/local.ini - couchdb couchdb
+d /var/lib/couchdb 0755 couchdb couchdb
+x /var/lib/couchdb
Copied: couchdb/repos/community-staging-x86_64/erlang-25-snappy.patch (from rev
1333306, couchdb/trunk/erlang-25-snappy.patch)
===================================================================
--- community-staging-x86_64/erlang-25-snappy.patch
(rev 0)
+++ community-staging-x86_64/erlang-25-snappy.patch 2022-10-21 21:05:52 UTC
(rev 1333307)
@@ -0,0 +1,19 @@
+From 7ed2207259db0ef82fa3d3ead52af3d3414ec350 Mon Sep 17 00:00:00 2001
+From: Ronny <[email protected]>
+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",
Copied: couchdb/repos/community-staging-x86_64/erlang-25.patch (from rev
1333306, couchdb/trunk/erlang-25.patch)
===================================================================
--- community-staging-x86_64/erlang-25.patch (rev 0)
+++ community-staging-x86_64/erlang-25.patch 2022-10-21 21:05:52 UTC (rev
1333307)
@@ -0,0 +1,48 @@
+From 592837abc8b07f9b28898fa91c31658e2beecfc4 Mon Sep 17 00:00:00 2001
+From: Ronny Berndt <[email protected]>
+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 <[email protected]>
+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)