[couchdb-helm] branch master updated (e92fe33 -> bd9bce1)

2022-03-06 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git.


 discard e92fe33  Try using master to redirect ghp_branch
 discard 7c83df5  Merge pull request #36 from apache/update-couchdb-310
omit 85e57c5  Bump chart version and publish
omit 470a8f2  Default to CouchDB 3.1.0
 add 34e1788  Add doc to use Authenticate Basic with require_valid_user
 add 95baeab  Merge pull request #31 from robsonvn/patch-1
 add ffbf510  Update the apiVersion since the previous one appears to be no 
longer supported and this one is what the kind documentation identifies.
 add 669b9f9  Fix broken test due to a linting failure of values.yaml
 add c63f1c3  Merge pull request #51 from KognitionAI/main
 add a75233c  Bump default CouchDB version to 3.1.1
 add 633c8ff  Merge pull request #54 from apache/update-couchdb-311
 add 252e73b  Bump chart to 3.4.0  CouchDB to 3.2.0
 add 8b56d97  Merge pull request #57 from sag/expose-prometheus
 add 12a27e0  Deploy GH Pages from main, add branch protection
 add b995942  Merge pull request #60 from apache/update-pages-deploy-branch
 add ffd44b6  Fix chart rendering when annotations specified
 add 6e46579  Publish updated chart
 add 024f2cd  Merge pull request #38 from apache/annotations_fix
 add 9f10dad  Add topologySpreadConstraints parameter to be used in 
StatefulSet (#59)
 add c9e0b5f  Roll deployment if auth secrets change
 add 23426a8  Update to CouchDB 3.2.1
 add e727842  Bump chart version and publish
 add e3daa03  Use v1 instead of v1beta for Ingress
 add a79a7ab  Update tests to use current versions
 add b9997c4  Fix Ingress definition
 add dc2899b  Bump chart version and publish
 add 22761f9  Add helm post-install hook to automate placement tagging in 
CouchDB nodes  (#66)
 add 625d143  Generate a unique Erlang cookie by default (#68)
 add bd9bce1  Bump chart version and publish

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (e92fe33)
\
 N -- N -- N   refs/heads/master (bd9bce1)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 couchdb/Chart.yaml  |   5 +-
 couchdb/README.md   |  11 +-
 couchdb/ci/required-values.yaml |   2 +
 couchdb/templates/configmap.yaml|   8 ++
 couchdb/templates/headless.yaml |   4 +
 couchdb/templates/ingress.yaml  |   9 +-
 couchdb/templates/networkpolicy.yaml|   4 +
 couchdb/templates/placementmanager.yaml |  44 
 couchdb/templates/secrets.yaml  |   1 +
 couchdb/templates/statefulset.yaml  |  31 +-
 couchdb/values.yaml |  43 +++-
 docs/couchdb-3.3.4.tgz  | Bin 9668 -> 9604 bytes
 docs/couchdb-3.4.0.tgz  | Bin 0 -> 9864 bytes
 docs/couchdb-3.4.1.tgz  | Bin 0 -> 9870 bytes
 docs/couchdb-3.5.0.tgz  | Bin 0 -> 13310 bytes
 docs/couchdb-3.5.1.tgz  | Bin 0 -> 10161 bytes
 docs/couchdb-3.5.2.tgz  | Bin 0 -> 10233 bytes
 docs/couchdb-3.6.0.tgz  | Bin 0 -> 11347 bytes
 docs/couchdb-3.6.1.tgz  | Bin 0 -> 10961 bytes
 docs/index.yaml | 178 ++--
 test/e2e-kind.sh|   6 +-
 test/kind-config.yaml   |   2 +-
 22 files changed, 323 insertions(+), 25 deletions(-)
 create mode 100644 couchdb/templates/placementmanager.yaml
 create mode 100644 docs/couchdb-3.4.0.tgz
 create mode 100644 docs/couchdb-3.4.1.tgz
 create mode 100644 docs/couchdb-3.5.0.tgz
 create mode 100644 docs/couchdb-3.5.1.tgz
 create mode 100644 docs/couchdb-3.5.2.tgz
 create mode 100644 docs/couchdb-3.6.0.tgz
 create mode 100644 docs/couchdb-3.6.1.tgz


[couchdb-helm] branch master updated: Try using master to redirect ghp_branch

2022-03-06 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git


The following commit(s) were added to refs/heads/master by this push:
 new e92fe33  Try using master to redirect ghp_branch
e92fe33 is described below

commit e92fe33035da2ab374af3dc427443ae5f5b7b159
Author: Adam Kocoloski 
AuthorDate: Sun Mar 6 17:42:31 2022 -0500

Try using master to redirect ghp_branch
---
 .asf.yaml | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/.asf.yaml b/.asf.yaml
index 898063f..3c754c3 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -1,3 +1,12 @@
 github:
-  ghp_branch:  master
+  description: "Apache CouchDB Helm Chart"
+  labels:
+- couchdb
+- helm
+- kubernetes
+  protected_branches:
+main:
+  required_status_checks:
+strict: true
+  ghp_branch:  main
   ghp_path:/docs


[couchdb] branch merge-devcontainer-jenkins updated (20a3c2b -> 2099c70)

2022-02-28 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from 20a3c2b  A bit more debugging
 add 2099c70  Very puzzling, this

No new revisions were added by this update.

Summary of changes:
 .devcontainer/create_cluster_file.bash | 5 +
 1 file changed, 5 insertions(+)


[couchdb] branch merge-devcontainer-jenkins updated (95467f0 -> 20a3c2b)

2022-02-28 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from 95467f0  Use getent instead of dig to support container links
 add 20a3c2b  A bit more debugging

No new revisions were added by this update.

Summary of changes:
 build-aux/Jenkinsfile.pr | 3 +++
 1 file changed, 3 insertions(+)


[couchdb] branch merge-devcontainer-jenkins updated (6ead351 -> 95467f0)

2022-02-27 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from 6ead351  Minor fixup
 add 95467f0  Use getent instead of dig to support container links

No new revisions were added by this update.

Summary of changes:
 .devcontainer/create_cluster_file.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[couchdb] branch merge-devcontainer-jenkins updated (d80ba3d -> 6ead351)

2022-02-27 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from d80ba3d  Try new images
 add 6ead351  Minor fixup

No new revisions were added by this update.

Summary of changes:
 build-aux/Jenkinsfile.pr | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[couchdb] branch merge-devcontainer-jenkins updated (a5b1f00 -> d80ba3d)

2022-02-27 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from a5b1f00  Use a matrix for building devcontainer images
 add d80ba3d  Try new images

No new revisions were added by this update.

Summary of changes:
 build-aux/Jenkinsfile.pr | 30 +++---
 1 file changed, 19 insertions(+), 11 deletions(-)


[couchdb] branch merge-devcontainer-jenkins updated (9d741e1 -> a5b1f00)

2022-02-27 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from 9d741e1  Experiment with linking an FDB sidecar container
 add a5b1f00  Use a matrix for building devcontainer images

No new revisions were added by this update.

Summary of changes:
 .github/workflows/devcontainer-builder.yml | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)


[couchdb] branch merge-devcontainer-jenkins updated (130bad7 -> 9d741e1)

2022-02-27 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


 discard 130bad7  Experiment with linking an FDB sidecar container
 add 9d741e1  Experiment with linking an FDB sidecar container

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (130bad7)
\
 N -- N -- N   refs/heads/merge-devcontainer-jenkins (9d741e1)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 build-aux/Jenkinsfile.pr | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[couchdb] branch merge-devcontainer-jenkins updated: Experiment with linking an FDB sidecar container

2022-02-27 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/merge-devcontainer-jenkins by 
this push:
 new 130bad7  Experiment with linking an FDB sidecar container
130bad7 is described below

commit 130bad7f200ac28c036507beb47c7dc5b518bb20
Author: Adam Kocoloski 
AuthorDate: Sun Feb 27 17:38:43 2022 -0500

Experiment with linking an FDB sidecar container
---
 build-aux/Jenkinsfile.pr | 109 +--
 1 file changed, 57 insertions(+), 52 deletions(-)

diff --git a/build-aux/Jenkinsfile.pr b/build-aux/Jenkinsfile.pr
index be352d1..031a0c2 100644
--- a/build-aux/Jenkinsfile.pr
+++ b/build-aux/Jenkinsfile.pr
@@ -13,6 +13,56 @@
 // License for the specific language governing permissions and limitations 
under
 // the License.
 
+meta = [
+  '21': [],
+  '22': [],
+  '23': [],
+  '24': []
+]
+
+def generateStage(ERLANG_VERSION) {
+  return {
+stage(ERLANG_VERSION) {
+  node('docker') {
+docker.image('foundation/foundationdb:6.3.23').withRun() { c ->
+  
docker.image("${DOCKER_IMAGE_BASE}-${ERLANG_VERSION}").inside("${DOCKER_ARGS} 
--link ${c.id}:fdb") {
+timeout(time: 90, unit: "MINUTES") {
+  stage("Erlang ${ERLANG_VERSION}") {
+try {
+  echo "Building CouchDB PR using Erlang ${ERLANG_VERSION} and 
SpiderMonkey ${SM_VSN}"
+  sh( script: "rm -rf build-${ERLANG_VERSION} 
apache-couchdb-*", label: 'Clean out workspace' )
+  unstash 'release-tarball'
+  sh( script: "mkdir -p ${COUCHDB_IO_LOG_DIR} 
build-${ERLANG_VERSION}" )
+  sh( script: "tar -xf apache-couchdb-*.tar.gz -C 
build-${ERLANG_VERSION} --strip-components=1", label: 'Unpack release' )
+  dir( "build-${ERLANG_VERSION}" ) {
+sh( script: './configure --skip-deps', label: 'Configure 
CouchDB build system' )
+sh( script: 'make', label: 'Build CouchDB' )
+sh( script: 'make eunit', label: 'EUnit test suite' )
+sh( script: 'make elixir-suite', label: 'ExUnit unit test 
suite' )
+sh( script: 'make exunit', label: 'ExUnit integration test 
suite' )
+sh( script: 'make mango-test', label: 'Python-based Mango 
query test suite' )
+  }
+}
+catch (err) {
+  dir( "build-${ERLANG_VERSION}" ) {
+sh 'ls -l'
+sh 'make build-report'
+  }
+  error("Build step failed with error: ${err.getMessage()}")
+}
+finally {
+  junit '**/.eunit/*.xml, **/_build/*/lib/couchdbtest/*.xml, 
**/src/mango/nosetests.xml, **/test/javascript/junit.xml'
+  sh 'rm -rf ${WORKSPACE}/* ${COUCHDB_IO_LOG_DIR}'
+}
+  }
+}
+  }
+}
+  }
+}
+  }
+}
+
 pipeline {
 
   // no top-level agent; agents must be declared for each stage
@@ -85,60 +135,15 @@ pipeline {
 } // stage Build Release Tarball
 
 stage('Make Check') {
-  matrix {
-axes {
-  axis {
-name 'ERLANG_VERSION'
-values '21', '22', '23', '24'
+  steps {
+script {
+  // Including failFast: true in map fails the build immediately if 
any parallel step fails
+  parallelStagesMap = meta.collectEntries( [failFast: false] ) { key, 
values ->
+["${key}": generateStage(key)]
   }
+  parallel parallelStagesMap
 }
-
-stages {
-  stage('Build and Test') {
-agent {
-  docker {
-image "${DOCKER_IMAGE_BASE}-${ERLANG_VERSION}"
-label 'docker'
-args "${DOCKER_ARGS}"
-  }
-}
-options {
-  skipDefaultCheckout()
-}
-steps {
-  timeout(time: 90, unit: "MINUTES") {
-echo "Building CouchDB PR using Erlang ${ERLANG_VERSION} and 
SpiderMonkey ${SM_VSN}"
-sh( script: "rm -rf build-${ERLANG_VERSION} apache-couchdb-*", 
label: 'Clean out workspace' )
-unstash 'release-ta

[couchdb] branch merge-devcontainer-jenkins created (now 6463832)

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


  at 6463832  Upgrade devcontainer to be usable for Jenkins PRs

This branch includes the following new commits:

 new 237f5a9  Bump erlfdb to v1.3.5
 new 6463832  Upgrade devcontainer to be usable for Jenkins PRs

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb] 02/02: Upgrade devcontainer to be usable for Jenkins PRs

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 64638321b7f4b8d99ad3a648a675f7bb9bca7543
Author: Adam Kocoloski 
AuthorDate: Sat Feb 26 23:19:46 2022 -0500

Upgrade devcontainer to be usable for Jenkins PRs

Still a work in progress, but the idea is that developers should be
working with the same base image that we use to validate Pull Requests
in CI. I've also started to add a GitHub Action that could publish
these devcontainer images on a regularly scheduled basis to pick up
fixes and new patch releases from upstream.
---
 .devcontainer/Dockerfile   | 74 -
 .devcontainer/create_cluster_file.bash | 52 +
 .devcontainer/docker-compose.yaml  | 41 
 .devcontainer/install_dependencies.sh  | 75 ++
 .github/workflows/devcontainer-builder.yml | 57 +++
 5 files changed, 236 insertions(+), 63 deletions(-)

diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 3272dad..5befb13 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -1,45 +1,33 @@
-ARG FDB_VERSION
-ARG ELIXIR_VERSION
-
-# Grab fdbcli and client library from same image as server
-FROM foundationdb/foundationdb:${FDB_VERSION} as fdb
-
-# Debian image with Erlang + Elixir installed (we need elixir for test suite)
-FROM elixir:${ELIXIR_VERSION}
-
-# The FROM directive above sweeps out the ARGs so we need to re-declare here
-# in order to use it again to download the FDB client package
-ARG FDB_VERSION
-
-# Install SpiderMonkey 60 and tell CouchDB to use it in configure
-ARG SM_VSN
-ENV SM_VSN=${SM_VSN:-60}
-
-RUN set -ex; \
-wget 
https://www.foundationdb.org/downloads/${FDB_VERSION}/ubuntu/installers/foundationdb-clients_${FDB_VERSION}-1_amd64.deb;
 \
-mkdir /var/lib/foundationdb; \
-dpkg -i foundationdb-clients_${FDB_VERSION}-1_amd64.deb
-
-# Use NodeSource binaries for Node.js (Fauxton dependency)
-RUN set -ex; \
-curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add 
-; \
-echo "deb https://deb.nodesource.com/node_10.x buster main" | tee 
/etc/apt/sources.list.d/nodesource.list; \
-echo "deb-src https://deb.nodesource.com/node_10.x buster main" | tee -a 
/etc/apt/sources.list.d/nodesource.list
-
-RUN set -ex; \
-apt-get update; \
-apt-get install -y --no-install-recommends \
-dnsutils \
-libmozjs-${SM_VSN}-dev \
-libicu-dev \
-python3-venv \
-python3-pip \
-python3-sphinx \
-nodejs
-
-# Documentation theme
-RUN pip3 install sphinx_rtd_theme
-
-COPY --from=fdb /var/fdb/scripts/create_cluster_file.bash /usr/local/bin/
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ARG ERLANG_VSN
+FROM erlang:${ERLANG_VSN}
+
+ARG ERLANG_VSN
+ARG FDB_VSN
+ARG NODE_VSN
+
+# Create Jenkins user and group for usage in CI
+RUN groupadd --gid 910 jenkins; \
+useradd --uid 910 --gid jenkins --create-home jenkins
+
+COPY install_dependencies.sh /tmp/
+
+RUN ERLANG_VSN=${ERLANG_VSN} FDB_VSN=${FDB_VSN} NODE_VSN=${NODE_VSN} 
/tmp/install_dependencies.sh
+
+# Allow Jenkins to sudo
+RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/jenkins
+
+COPY create_cluster_file.bash /usr/local/bin/
 
 CMD sleep infinity
diff --git a/.devcontainer/create_cluster_file.bash 
b/.devcontainer/create_cluster_file.bash
new file mode 100644
index 000..c1bb959
--- /dev/null
+++ b/.devcontainer/create_cluster_file.bash
@@ -0,0 +1,52 @@
+#! /bin/bash
+
+#
+# create_cluster_file.bash
+#
+# This source file is part of the FoundationDB open source project
+#
+# Copyright 2013-2018 Apple Inc. and the FoundationDB project authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitati

[couchdb] 01/02: Bump erlfdb to v1.3.5

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch merge-devcontainer-jenkins
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 237f5a92e3e5b2376424307601db7634040d6fca
Author: Adam Kocoloski 
AuthorDate: Sat Feb 26 23:13:26 2022 -0500

Bump erlfdb to v1.3.5

Long overdue, lots of build improvements and a couple of bug fixes
in that patch release.
---
 rebar.config.script | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rebar.config.script b/rebar.config.script
index fdbc194..0a45027 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -140,7 +140,7 @@ DepDescs = [
 %% Independent Apps
 {config,   "config",   {tag, "2.1.9"}},
 {b64url,   "b64url",   {tag, "1.0.2"}},
-{erlfdb,   "erlfdb",   {tag, "v1.3.4"}},
+{erlfdb,   "erlfdb",   {tag, "v1.3.5"}},
 {ets_lru,  "ets-lru",  {tag, "1.1.0"}},
 
 %% Non-Erlang deps


[couchdb-docker] branch main updated (efa6e93 -> 4dc3a6b)

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git.


from efa6e93  Listen for COUCHDB_ERLANG_COOKIE and write it down
 new beb5062  Revert "Drop ppc64le until suitable CI replacement identified 
(#199)"
 new 4dc3a6b  Update Debian / Erlang / SpiderMonkey versions

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 3.2.1/Dockerfile |  6 +++---
 build.sh | 10 +++---
 2 files changed, 10 insertions(+), 6 deletions(-)


[couchdb-docker] 02/02: Update Debian / Erlang / SpiderMonkey versions

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git

commit 4dc3a6b1f2bd8d46489cad5828912f0a64bf0b36
Author: Adam Kocoloski 
AuthorDate: Fri Feb 25 16:47:28 2022 -0500

Update Debian / Erlang / SpiderMonkey versions

Debian: 10 -> 11
Erlang: 20 -> 23
SpiderMonkey: 60 -> 78 (implicit in Debian upgrade)
---
 3.2.1/Dockerfile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/3.2.1/Dockerfile b/3.2.1/Dockerfile
index 61b43b7..27e9d9c 100644
--- a/3.2.1/Dockerfile
+++ b/3.2.1/Dockerfile
@@ -10,7 +10,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-FROM debian:buster-slim
+FROM debian:bullseye-slim
 
 LABEL maintainer="CouchDB Developers d...@couchdb.apache.org"
 
@@ -54,7 +54,7 @@ RUN set -eux; \
 apt purge -y --autoremove curl; \
 rm -rf /var/lib/apt/lists/*
 
-ENV COUCHDB_VERSION 3.2.1
+ENV COUCHDB_VERSION 3.2.1-1
 
 RUN . /etc/os-release; \
 echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] 
https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" | \
@@ -67,7 +67,7 @@ RUN set -eux; \
 echo "couchdb couchdb/mode select none" | debconf-set-selections; \
 # we DO want recommends this time
 DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-downgrades 
--allow-remove-essential --allow-change-held-packages \
-couchdb="$COUCHDB_VERSION"~buster \
+couchdb="$COUCHDB_VERSION"~bullseye \
 ; \
 # Undo symlinks to /var/log and /var/lib
 rmdir /var/lib/couchdb /var/log/couchdb; \


[couchdb-docker] 01/02: Revert "Drop ppc64le until suitable CI replacement identified (#199)"

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git

commit beb5062a64fc293d6cb7f9df39b4f04336d6a695
Author: Adam Kocoloski 
AuthorDate: Fri Feb 25 15:53:16 2022 -0500

Revert "Drop ppc64le until suitable CI replacement identified (#199)"

This reverts commit e3ca492, since ppc64le machines are back in the CI
matrix.
---
 build.sh | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/build.sh b/build.sh
index 44a4f58..e3f7cf2 100755
--- a/build.sh
+++ b/build.sh
@@ -33,8 +33,8 @@ set -e
 
 PROMPT="Are you sure (y/n)? "
 QEMU="YES"
-PLATFORMS="amd64 arm64v8"
-BUILDX_PLATFORMS="linux/amd64,linux/arm64/v8"
+PLATFORMS="amd64 arm64v8 ppc64le"
+BUILDX_PLATFORMS="linux/amd64,linux/arm64/v8,linux/ppc64le"
 
 prompt() {
   if [ -z "${PROMPT}" ]
@@ -153,11 +153,15 @@ push() {
   fi
   docker manifest create apache/couchdb:$tag_as \
 apache/couchdb:amd64-$1 \
-apache/couchdb:arm64v8-$1
+apache/couchdb:arm64v8-$1 \
+apache/couchdb:ppc64le-$1
 
   docker manifest annotate apache/couchdb:$tag_as \
 apache/couchdb:arm64v8-$1 --os linux --arch arm64 --variant v8
 
+  docker manifest annotate apache/couchdb:$tag_as \
+apache/couchdb:ppc64le-$1 --os linux --arch ppc64le
+
   docker manifest push --purge apache/couchdb:$tag_as
 
   docker manifest inspect apache/couchdb:$tag_as


[couchdb-helm] branch main updated: Bump chart version and publish

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git


The following commit(s) were added to refs/heads/main by this push:
 new bd9bce1  Bump chart version and publish
bd9bce1 is described below

commit bd9bce1a54cebd85448ff620e79ed0f64d18a7b4
Author: Adam Kocoloski 
AuthorDate: Sat Feb 26 11:38:57 2022 -0500

Bump chart version and publish
---
 couchdb/Chart.yaml |   2 +-
 docs/couchdb-3.6.1.tgz | Bin 0 -> 10961 bytes
 docs/index.yaml|  26 +-
 3 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/couchdb/Chart.yaml b/couchdb/Chart.yaml
index 80269a0..1c825b8 100644
--- a/couchdb/Chart.yaml
+++ b/couchdb/Chart.yaml
@@ -1,6 +1,6 @@
 apiVersion: v1
 name: couchdb
-version: 3.6.0
+version: 3.6.1
 appVersion: 3.2.1
 description: A database featuring seamless multi-master sync, that scales from
   big data to mobile, with an intuitive HTTP/JSON API and designed for
diff --git a/docs/couchdb-3.6.1.tgz b/docs/couchdb-3.6.1.tgz
new file mode 100644
index 000..d46b1e5
Binary files /dev/null and b/docs/couchdb-3.6.1.tgz differ
diff --git a/docs/index.yaml b/docs/index.yaml
index 05bde67..3e8ae7a 100644
--- a/docs/index.yaml
+++ b/docs/index.yaml
@@ -3,6 +3,30 @@ entries:
   couchdb:
   - apiVersion: v1
 appVersion: 3.2.1
+created: "2022-02-26T11:38:38.223409-05:00"
+description: A database featuring seamless multi-master sync, that scales 
from
+  big data to mobile, with an intuitive HTTP/JSON API and designed for 
reliability.
+digest: a04f5c774f9696270562b01721e17b52b03a6bca2ef3fa55129b5d0a320552c8
+home: https://couchdb.apache.org/
+icon: 
http://couchdb.apache.org/CouchDB-visual-identity/logo/CouchDB-couch-symbol.svg
+keywords:
+- couchdb
+- database
+- nosql
+maintainers:
+- email: kocol...@apache.org
+  name: kocolosk
+- email: willhol...@apache.org
+  name: willholley
+name: couchdb
+sources:
+- https://github.com/apache/couchdb-helm
+- https://github.com/apache/couchdb-docker
+urls:
+- https://apache.github.io/couchdb-helm/couchdb-3.6.1.tgz
+version: 3.6.1
+  - apiVersion: v1
+appVersion: 3.2.1
 created: "2022-01-27T12:14:55.94368627-03:00"
 description: A database featuring seamless multi-master sync, that scales 
from
   big data to mobile, with an intuitive HTTP/JSON API and designed for 
reliability.
@@ -417,4 +441,4 @@ entries:
 urls:
 - https://apache.github.io/couchdb-helm/couchdb-2.2.0.tgz
 version: 2.2.0
-generated: "2022-01-27T12:14:55.941950611-03:00"
+generated: "2022-02-26T11:38:38.58-05:00"


[couchdb-ci] branch multi-arch-updates updated (d8266d4 -> dc30cf0)

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch multi-arch-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git.


 discard d8266d4  Remove always-outdated matrix, link to Docker Hub
 discard ed7c197  Restore old xplat support, add new buildx targets
 add 3b8001b  Restore old xplat support, add new buildx targets
 add dc30cf0  Remove always-outdated matrix, link to Docker Hub

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (d8266d4)
\
 N -- N -- N   refs/heads/multi-arch-updates (dc30cf0)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 build.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[couchdb-ci] branch multi-arch-updates updated (53539f4 -> d8266d4)

2022-02-26 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch multi-arch-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git.


from 53539f4  Add image builder action
 add c3a86b1  Choose package repo dynamically
 add ed7c197  Restore old xplat support, add new buildx targets
 add d8266d4  Remove always-outdated matrix, link to Docker Hub

No new revisions were added by this update.

Summary of changes:
 .github/workflows/image-builder.yml |  2 +-
 README.md   | 80 +-
 build.sh| 87 +
 dockerfiles/debian-bullseye |  4 +-
 dockerfiles/debian-buster   |  5 ++-
 dockerfiles/debian-stretch  |  4 +-
 6 files changed, 138 insertions(+), 44 deletions(-)


[couchdb-helm] branch main updated: Generate a unique Erlang cookie by default (#68)

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git


The following commit(s) were added to refs/heads/main by this push:
 new 625d143  Generate a unique Erlang cookie by default (#68)
625d143 is described below

commit 625d14364c0a1c23f7c384ccbc7bb0627abd8a86
Author: Adam Kocoloski 
AuthorDate: Fri Feb 25 21:27:35 2022 -0500

Generate a unique Erlang cookie by default (#68)

This relies on new support for the COUCHDB_ERLANG_COOKIE env to
generate a Secret that is written down into ~/.erlang.cookie instead
of passing the cookie in the ERL_FLAGS. I suppose it would be possible
to merge the generated cookie into ERL_FLAGS, but this approach seemed
cleaner and more maintainable going forward.
---
 couchdb/templates/secrets.yaml | 1 +
 couchdb/templates/statefulset.yaml | 5 +
 couchdb/values.yaml| 9 ++---
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/couchdb/templates/secrets.yaml b/couchdb/templates/secrets.yaml
index 92f55c6..857543b 100644
--- a/couchdb/templates/secrets.yaml
+++ b/couchdb/templates/secrets.yaml
@@ -12,6 +12,7 @@ type: Opaque
 data:
   adminUsername: {{ template "couchdb.defaultsecret" .Values.adminUsername }}
   adminPassword: {{ template "couchdb.defaultsecret" .Values.adminPassword }}
+  erlangCookie: {{ template "couchdb.defaultsecret" 
.Values.erlangFlags.setcookie }}
   cookieAuthSecret: {{ template "couchdb.defaultsecret" 
.Values.cookieAuthSecret }}
 {{- if  .Values.adminHash  }}
   password.ini: {{ tpl (.Files.Get "password.ini") . | b64enc }}
diff --git a/couchdb/templates/statefulset.yaml 
b/couchdb/templates/statefulset.yaml
index 233441d..03ae8bd 100644
--- a/couchdb/templates/statefulset.yaml
+++ b/couchdb/templates/statefulset.yaml
@@ -92,6 +92,11 @@ spec:
   name: {{ template "couchdb.fullname" . }}
   key: cookieAuthSecret
 {{- end }}
+- name: COUCHDB_ERLANG_COOKIE
+  valueFrom:
+secretKeyRef:
+  name: {{ template "couchdb.fullname" . }}
+  key: erlangCookie
 - name: ERL_FLAGS
   value: "{{ range $k, $v := .Values.erlangFlags }} -{{ $k }} {{ 
$v }} {{ end }}"
 {{- if .Values.livenessProbe.enabled }}
diff --git a/couchdb/values.yaml b/couchdb/values.yaml
index f76dc25..44f74df 100644
--- a/couchdb/values.yaml
+++ b/couchdb/values.yaml
@@ -152,12 +152,15 @@ resources:
   #  memory: 256Gi
 
 ## erlangFlags is a map that is passed to the Erlang VM as flags using the
-## ERL_FLAGS env. `name` and `setcookie` flags are minimally required to
-## establish connectivity between cluster nodes.
+## ERL_FLAGS env. The `name` flag is required to establish connectivity
+## between cluster nodes.
 ## ref: http://erlang.org/doc/man/erl.html#init_flags
 erlangFlags:
   name: couchdb
-  setcookie: monster
+  # Older versions of the official CouchDB image (anything prior to 3.2.1)
+  # do not act on the COUCHDB_ERLANG_COOKIE environment variable, so if you
+  # want to cluster these deployments it's necessary to pass in a cookie here
+  # setcookie: make-something-up
 
 ## couchdbConfig will override default CouchDB configuration settings.
 ## The contents of this map are reformatted into a .ini file laid down


[couchdb-pkg] 01/01: Add RPM signing example

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch update-docs
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit c3ade502836e8eb06a076abfab78f49b0cf6cd68
Author: Adam Kocoloski 
AuthorDate: Fri Feb 25 17:41:31 2022 -0500

Add RPM signing example

Also a couple of other small fixes
---
 README.md | 51 ++-
 build.sh  |  4 ++--
 2 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md
index 0e31880..e7b6559 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ make couch-js-debs PLATFORM=$(lsb_release -cs)
 
 ### CouchDB
 
- rpms or debs from `master` branch:
+ rpms or debs from `main` branch:
 
 ```shell
 cd .. && git clone https://github.com/apache/couchdb
@@ -41,11 +41,10 @@ make copy-couch $(lsb_release -cs) 
COUCHTARBALL=path/to/couchdb-#.#.#.tar.gz PLA
 
 -
 
-## Building inside the `couchdbdev` docker containers
+## Building inside the CI docker containers
 
 You must first pull down the image or images you need from Docker Hub, or 
build the images
-using the [apache/couchdb-ci](https://github.com/apache/couchdb-ci) 
repository. A full
-list of supported environments is at https://hub.docker.com/u/couchdbdev/ .
+using the [apache/couchdb-ci](https://github.com/apache/couchdb-ci) repository.
 
 ### SpiderMonkey 1.8.5
 
@@ -100,9 +99,51 @@ Packages will be placed in the `pkgs/couch` subdirectory.
 
 A similar `js-all` target exists, should the SpiderMonkey packages need to be 
regenerated.
 
+## Signing RPMs
+
+If you're building RPMs inside the CI containers you'll need to export your 
code signing key:
+
+```
+gpg --export-secret-keys -a $KEYID > my_private_key.asc
+gpg --export -a $KEYID > my_public_key.asc
+```
+
+Import it inside the container:
+
+```
+✗ docker run -it --mount type=bind,src=`pwd`,dst=/home/jenkins/couchdb-pkg -u 
0 -w /home/jenkins/couchdb-pkg --platform linux/amd64 
apache/couchdbci-centos:7-erlang-23.3.4.10
+[root@38a8b375b3cb couchdb-pkg]# ls *.asc
+my_private_key.asc  my_public_key.asc
+[root@38a8b375b3cb couchdb-pkg]# gpg --import *.asc
+gpg: directory `/root/.gnupg' created
+gpg: new configuration file `/root/.gnupg/gpg.conf' created
+gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during 
this run
+gpg: keyring `/root/.gnupg/secring.gpg' created
+gpg: keyring `/root/.gnupg/pubring.gpg' created
+gpg: key 232EF177: secret key imported
+gpg: /root/.gnupg/trustdb.gpg: trustdb created
+gpg: key 232EF177: public key "Adam Kocoloski (CODE SIGNING KEY) 
" imported
+gpg: key 232EF177: "Adam Kocoloski (CODE SIGNING KEY) " 
not changed
+gpg: Total number processed: 2
+gpg:   imported: 1  (RSA: 1)
+gpg:  unchanged: 1
+gpg:   secret keys read: 1
+gpg:   secret keys imported: 1
+```
+
+Ensure `%_gpg_name` is configured, and then it's time to sign:
+
+```
+[root@38a8b375b3cb couchdb-pkg]# echo "%_gpg_name Adam Kocoloski (CODE SIGNING 
KEY) " > ~/.rpmmacros
+[root@38a8b375b3cb couchdb-pkg]# rpmsign --addsign 
pkgs/couch/centos-7/couchdb-3.2.1-2.el7.x86_64.rpm
+Enter pass phrase:
+Pass phrase is good.
+pkgs/couch/centos-7/couchdb-3.2.1-2.el7.x86_64.rpm:
+```
+
 ## Uploading the packages
 
-If you have Apache credentials (set your `BINARY_CREDS` environment variable 
appropriately), after building all CouchDB packages above, **and signing the 
rpms with the appropriate GPG key using the `rpmsign --addsign ` 
command**, simply run:
+If you have Apache credentials (set your `BINARY_CREDS` environment variable 
using credentials from Artifactory), after building all CouchDB packages above, 
**and signing the rpms with the appropriate GPG key using the `rpmsign 
--addsign ` command above**, simply run:
 
 ./build.sh couch-upload-all
 
diff --git a/build.sh b/build.sh
index 1a4aaf4..5480225 100755
--- a/build.sh
+++ b/build.sh
@@ -131,8 +131,8 @@ binary-upload() {
 upload-couch() {
   # invoke with $1 as plat, expect to find the binaries under 
pkgs/couch/$plat/*
   if [ -z ${BINARY_CREDS+x} ]; then
-echo "Please set your upload credentials before using this command:"
-echo "  export BINARY_CREDS="
+echo "Please set your Artifactory upload credentials before using this 
command:"
+echo "  export BINARY_CREDS=username:KEYGOESHERE"
 exit 1
   fi
   for PKG in $(ls pkgs/couch/$1/*.deb 2>/dev/null); do


[couchdb-pkg] branch update-docs created (now c3ade50)

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch update-docs
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git.


  at c3ade50  Add RPM signing example

This branch includes the following new commits:

 new c3ade50  Add RPM signing example

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb-docker] branch update-debian-erlang-spidermonkey created (now cbfc24a)

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch update-debian-erlang-spidermonkey
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git.


  at cbfc24a  Update Debian / Erlang / SpiderMonkey versions

This branch includes the following new commits:

 new b83ced7  Revert "Drop ppc64le until suitable CI replacement identified 
(#199)"
 new cbfc24a  Update Debian / Erlang / SpiderMonkey versions

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb-docker] 01/02: Revert "Drop ppc64le until suitable CI replacement identified (#199)"

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch update-debian-erlang-spidermonkey
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git

commit b83ced77598c6eae186f95ec15691adb68f3e005
Author: Adam Kocoloski 
AuthorDate: Fri Feb 25 15:53:16 2022 -0500

Revert "Drop ppc64le until suitable CI replacement identified (#199)"

This reverts commit e3ca492, since ppc64le machines are back in the CI
matrix.
---
 build.sh | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/build.sh b/build.sh
index 44a4f58..e3f7cf2 100755
--- a/build.sh
+++ b/build.sh
@@ -33,8 +33,8 @@ set -e
 
 PROMPT="Are you sure (y/n)? "
 QEMU="YES"
-PLATFORMS="amd64 arm64v8"
-BUILDX_PLATFORMS="linux/amd64,linux/arm64/v8"
+PLATFORMS="amd64 arm64v8 ppc64le"
+BUILDX_PLATFORMS="linux/amd64,linux/arm64/v8,linux/ppc64le"
 
 prompt() {
   if [ -z "${PROMPT}" ]
@@ -153,11 +153,15 @@ push() {
   fi
   docker manifest create apache/couchdb:$tag_as \
 apache/couchdb:amd64-$1 \
-apache/couchdb:arm64v8-$1
+apache/couchdb:arm64v8-$1 \
+apache/couchdb:ppc64le-$1
 
   docker manifest annotate apache/couchdb:$tag_as \
 apache/couchdb:arm64v8-$1 --os linux --arch arm64 --variant v8
 
+  docker manifest annotate apache/couchdb:$tag_as \
+apache/couchdb:ppc64le-$1 --os linux --arch ppc64le
+
   docker manifest push --purge apache/couchdb:$tag_as
 
   docker manifest inspect apache/couchdb:$tag_as


[couchdb-docker] 02/02: Update Debian / Erlang / SpiderMonkey versions

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch update-debian-erlang-spidermonkey
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git

commit cbfc24a6e23bd4184f15efdb7de8b15b7a6dd4b6
Author: Adam Kocoloski 
AuthorDate: Fri Feb 25 16:47:28 2022 -0500

Update Debian / Erlang / SpiderMonkey versions

Debian: 10 -> 11
Erlang: 20 -> 23
SpiderMonkey: 60 -> 78 (implicit in Debian upgrade)
---
 3.2.1/Dockerfile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/3.2.1/Dockerfile b/3.2.1/Dockerfile
index 61b43b7..27e9d9c 100644
--- a/3.2.1/Dockerfile
+++ b/3.2.1/Dockerfile
@@ -10,7 +10,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-FROM debian:buster-slim
+FROM debian:bullseye-slim
 
 LABEL maintainer="CouchDB Developers d...@couchdb.apache.org"
 
@@ -54,7 +54,7 @@ RUN set -eux; \
 apt purge -y --autoremove curl; \
 rm -rf /var/lib/apt/lists/*
 
-ENV COUCHDB_VERSION 3.2.1
+ENV COUCHDB_VERSION 3.2.1-1
 
 RUN . /etc/os-release; \
 echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] 
https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" | \
@@ -67,7 +67,7 @@ RUN set -eux; \
 echo "couchdb couchdb/mode select none" | debconf-set-selections; \
 # we DO want recommends this time
 DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-downgrades 
--allow-remove-essential --allow-change-held-packages \
-couchdb="$COUCHDB_VERSION"~buster \
+couchdb="$COUCHDB_VERSION"~bullseye \
 ; \
 # Undo symlinks to /var/log and /var/lib
 rmdir /var/lib/couchdb /var/log/couchdb; \


[couchdb-docker] branch main updated: Listen for COUCHDB_ERLANG_COOKIE and write it down

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git


The following commit(s) were added to refs/heads/main by this push:
 new efa6e93  Listen for COUCHDB_ERLANG_COOKIE and write it down
efa6e93 is described below

commit efa6e93389c0d1b7980894f9059fb3a5775864b1
Author: Adam Kocoloski 
AuthorDate: Tue Feb 8 18:50:23 2022 -0500

Listen for COUCHDB_ERLANG_COOKIE and write it down
---
 3.2.1/docker-entrypoint.sh | 15 +++
 README.md  |  9 -
 dev/docker-entrypoint.sh   | 15 +++
 3 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/3.2.1/docker-entrypoint.sh b/3.2.1/docker-entrypoint.sh
index 4b8b4f4..8d6456d 100755
--- a/3.2.1/docker-entrypoint.sh
+++ b/3.2.1/docker-entrypoint.sh
@@ -77,6 +77,21 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
fi
fi
 
+   if [ "$COUCHDB_ERLANG_COOKIE" ]; then
+   cookieFile='/opt/couchdb/.erlang.cookie'
+   if [ -e "$cookieFile" ]; then
+   if [ "$(cat "$cookieFile" 2>/dev/null)" != 
"$COUCHDB_ERLANG_COOKIE" ]; then
+   echo >&2
+   echo >&2 "warning: $cookieFile contents do not 
match COUCHDB_ERLANG_COOKIE"
+   echo >&2
+   fi
+   else
+   echo "$COUCHDB_ERLANG_COOKIE" > "$cookieFile"
+   fi
+   chown couchdb:couchdb "$cookieFile"
+   chmod 600 "$cookieFile"
+   fi
+
if [ "$(id -u)" = '0' ]; then
chown -f couchdb:couchdb /opt/couchdb/etc/local.d/docker.ini || 
true
fi
diff --git a/README.md b/README.md
index 66110e0..db30db5 100644
--- a/README.md
+++ b/README.md
@@ -52,7 +52,14 @@ If you intend to network this CouchDB instance with others 
in a cluster, you wil
 
 Start your multiple CouchDB instances, then follow the Setup Wizard in the 
[official CouchDB 
documentation](http://docs.couchdb.org/en/stable/setup/cluster.html) to 
complete the process.
 
-For a CouchDB cluster you need to provide the `NODENAME` setting as well as 
the erlang cookie. Settings to Erlang can be made with the environment variable 
`ERL_FLAGS`, e.g. `ERL_FLAGS=-setcookie "brumbrum"`.
+For a CouchDB cluster you need to provide the `NODENAME` setting as well as the
+Erlang distribution cookie. The current version of this image allows the Erlang
+cookie to be set directly using the `COUCHDB_ERLANG_COOKIE` environment
+variable. The contents of that environment variable will be written to
+`/opt/couchdb/.erlang.cookie` with the proper permissions. Previously one would
+need to provide the `-setcookie` flag in the environment variable `ERL_FLAGS`,
+e.g. `ERL_FLAGS=-setcookie "brumbrum"`.
+
 By default, this image exposes the `epmd` port `4369` and the Erlang cluster 
communication port `9100` (i.e. `inet_dist_listen_min` and 
`inet_dist_listen_max` are both 9100).
 Further information can be found 
[here](http://docs.couchdb.org/en/stable/cluster/setup.html).
 
diff --git a/dev/docker-entrypoint.sh b/dev/docker-entrypoint.sh
index 4c1f9bf..95691c2 100755
--- a/dev/docker-entrypoint.sh
+++ b/dev/docker-entrypoint.sh
@@ -69,6 +69,21 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
fi
fi
 
+   if [ "$COUCHDB_ERLANG_COOKIE" ]; then
+   cookieFile='/opt/couchdb/.erlang.cookie'
+   if [ -e "$cookieFile" ]; then
+   if [ "$(cat "$cookieFile" 2>/dev/null)" != 
"$COUCHDB_ERLANG_COOKIE" ]; then
+   echo >&2
+   echo >&2 "warning: $cookieFile contents do not 
match COUCHDB_ERLANG_COOKIE"
+   echo >&2
+   fi
+   else
+   echo "$COUCHDB_ERLANG_COOKIE" > "$cookieFile"
+   fi
+   chown couchdb:couchdb "$cookieFile"
+   chmod 600 "$cookieFile"
+   fi
+
chown -f couchdb:couchdb /opt/couchdb/etc/local.d/docker.ini || true
 
# if we don't find an [admins] section followed by a non-comment, 
display a warning


[couchdb-pkg] annotated tag 3.2.1-1 updated (1c4c992 -> 2afd380)

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to annotated tag 3.2.1-1
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git.


*** WARNING: tag 3.2.1-1 was modified! ***

from 1c4c992  (commit)
  to 2afd380  (tag)
 tagging 1c4c992291bc743b07494c2e42142ec25a12cab9 (commit)
 replaces 2.0.0
  by Adam Kocoloski
  on Fri Feb 25 11:40:28 2022 -0500

- Log -
Tag updated packaging revision

This revision uses Erlang 23 instead of Erlang 20.

DEB: 3.2.1-1
RPM: 3.2.1-2
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEBl5r7ibkQQAxJ6I51cOMLiMu8XcFAmIZBoIACgkQ1cOMLiMu
8XcwgA//YA5L8eDz2CyunYDoiNiw/1g2XFYPLxlpwfg/CKAqeBxQgFHPeDMokm4W
pCiF5yDfGVmJqaQhJWczLajxB9kYkDqu8k5tJ5oh9xJmFWeeeuikCwlzXjI75DAG
8tLGLB3jgMKV94msahd9RCld/XF84eflYdyjiKnaxpVnyhACZNs3yvYOLzVlFD3Y
ddqotIUXP7U1/9DEgtUhudvOG8QxkkcMV2t4f6xjgSy08N7NhjmTnLHpY9qNosBS
YvBUVIz9Zi0ogZo4XkjJrPOKiybFLZIy5mFQNbEg0wSIpJnnGPXOG5s5jy5ZRvNi
CjJnj65PTvwve+z82hua4t+XhAw3JULHYSecy4IkEx5GoGLO/j8H+qJCjjAEf1fR
TEnbaB+dkUPhnqJ+nJoF4tt8shH/rF/7sHaVXxTKbiXoFjibdmEiN7XeAeDZRO3B
/XkPFBIl+NTH7k/EqmtI27gZ+tT/p1LrKEcHQABpnD7Wfzyy2FN06mBETvyW3k0Q
8jVn00HDcNoKRtburh/PdTXMrefaJVHzuk+4YxhLxYPgBG1xr5xQ/U3KNH30Uu9J
vS+VHUpjvcNPJX28IGlVgtuySXrMFnxHtBW7PeWqhfSsAeNm2rzEbF4Df8ApAbpL
cnQvfA+JmRhVElpglQ/lJS3mgptW0QJ4+M5B8xTShTeye1ojLxc=
=u0e6
-END PGP SIGNATURE-
---


No new revisions were added by this update.

Summary of changes:


[couchdb-pkg] 02/02: Update package metadata

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.2.1
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit 1c4c992291bc743b07494c2e42142ec25a12cab9
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 09:35:56 2022 -0500

Update package metadata
---
 Makefile  | 7 +--
 rpm/SPECS/couchdb.spec.in | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 34d849c..196fc46 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,10 @@
 # the License.
 
 COUCHDIR=../couchdb
-DEBCHANGELOG="Automatically generated package from upstream."
+DEBCHANGELOG="Bump to Erlang 23"
+
+# Define DEBVERSION to append a package version to the upstream CouchDB version
+DEBVERSION="1"
 
 JS_DEBCHANGELOG="Automatically generated package from couchdb-ci repository."
 JS_VERSION=1.8.5-1.0.0+couch-2
@@ -194,7 +197,7 @@ copy-debian:
cp -R debian $(DISTDIR)
 
 update-changelog:
-   cd $(DISTDIR) && dch -v $(VERSION)~$(PLATFORM) $(DEBCHANGELOG)
+   cd $(DISTDIR) && dch -v $(VERSION)-$(DEBVERSION)~$(PLATFORM) 
$(DEBCHANGELOG)
 
 dpkg:
cd $(DISTDIR) && dpkg-buildpackage -b -us -uc
diff --git a/rpm/SPECS/couchdb.spec.in b/rpm/SPECS/couchdb.spec.in
index 990d8b8..2ba1a35 100644
--- a/rpm/SPECS/couchdb.spec.in
+++ b/rpm/SPECS/couchdb.spec.in
@@ -18,7 +18,7 @@ Summary:   RESTful document oriented database
 License:   Apache License v2.0
 Name:  %{name}
 Version:   %{_version}
-Release:   1%{?dist}
+Release:   2%{?dist}
 Source:
https://www.apache.org/dist/couchdb/source/${version}/apache-couchdb-%{version}.tar.gz
 Source1:   %{name}.service
 Source2:   %{name}.init


[couchdb-pkg] 01/02: Backport configure fix to allow SM68 on ARM

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.2.1
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit e3130565e617abcd41321190e195fc4935b780ae
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 11:56:56 2022 -0500

Backport configure fix to allow SM68 on ARM
---
 ...0001-Properly-test-for-SM60-on-ARM-builds.patch | 29 ++
 debian/patches/series  |  1 +
 2 files changed, 30 insertions(+)

diff --git a/debian/patches/0001-Properly-test-for-SM60-on-ARM-builds.patch 
b/debian/patches/0001-Properly-test-for-SM60-on-ARM-builds.patch
new file mode 100644
index 000..40fd1ca
--- /dev/null
+++ b/debian/patches/0001-Properly-test-for-SM60-on-ARM-builds.patch
@@ -0,0 +1,29 @@
+From 016385f408e83e4058fbc8116c257fd579cc5688 Mon Sep 17 00:00:00 2001
+From: Adam Kocoloski 
+Date: Thu, 20 Jan 2022 19:55:32 -0500
+Subject: [PATCH] Properly test for SM60 on ARM builds
+
+Already fixed by @lostnet on main.
+---
+ configure | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 9c22181a1..0bcbfaef3 100755
+--- a/configure
 b/configure
+@@ -224,9 +224,9 @@ parse_opts() {
+ 
+ parse_opts $@
+ 
+-if [ "${ARCH}" = "aarch64" ] && [ "${SM_VSN}" != "1.8.5" ]
++if [ "${ARCH}" = "aarch64" ] && [ "${SM_VSN}" = "60" ]
+ then
+-  echo "ERROR: SpiderMonkey 60 is known broken on ARM 64 (aarch64). Use 1.8.5 
instead."
++  echo "ERROR: SpiderMonkey 60 is known broken on ARM 64 (aarch64). Use 
another version instead."
+   exit 1
+ fi
+ 
+-- 
+2.34.1
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..ae636c4
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-Properly-test-for-SM60-on-ARM-builds.patch


[couchdb-pkg] branch 3.2.1 updated (d59bd6c -> 1c4c992)

2022-02-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch 3.2.1
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git.


 discard d59bd6c  Update package metadata
omit ac4e680  Use --platform to select container arch at runtime
omit 6c69bb2  Default to Erlang 23 + Debian 11
 add 7c7eb6d  feat: initial js68 support
 add 9387f4f  feat: add aarch64-rhel build support
 add 5869af0  chore: create rpm subfolder for js68
 add 54151f7  Default to Erlang 23 + Debian 11
 add 7f1e10a  Use --platform to select container arch at runtime
 new e313056  Backport configure fix to allow SM68 on ARM
 new 1c4c992  Update package metadata

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (d59bd6c)
\
 N -- N -- N   refs/heads/3.2.1 (1c4c992)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore |   1 +
 Makefile   |  13 +
 ...0001-Properly-test-for-SM60-on-ARM-builds.patch |  29 ++
 debian/patches/series  |   1 +
 .../SOURCES/Exclude-failing-tests-on-s390x.patch   |  29 ++
 ...e-unused-LLVM-and-Rust-build-dependencies.patch |  72 +
 ...able_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch |  10 +
 js68/rpm/SOURCES/build-icu-big-endian.patch|  12 +
 js68/rpm/SOURCES/copy-headers.patch|  29 ++
 js68/rpm/SOURCES/emitter.patch |  14 +
 js68/rpm/SOURCES/emitter_test.patch|  27 ++
 js68/rpm/SOURCES/fix-soname.patch  |  25 ++
 ...s_data-Write-command-output-to-our-stderr.patch |  34 +++
 ...ata.py-Decouple-from-Mozilla-build-system.patch |  26 ++
 js68/rpm/SOURCES/init_patch.patch  |  13 +
 js68/rpm/SOURCES/jstests_python-3.patch|  57 
 js68/rpm/SOURCES/sources   |   1 +
 js68/rpm/SOURCES/spidermonkey_checks_disable.patch |  10 +
 .../spidermonkey_style_check_disable_s390x.patch   |  11 +
 js68/rpm/SOURCES/tests-increase-timeout.patch  |  22 ++
 js68/rpm/SPECS/js68.spec   | 336 +
 rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch  |  23 ++
 rpm/SPECS/couchdb.spec.in  |  10 +-
 23 files changed, 803 insertions(+), 2 deletions(-)
 create mode 100644 
debian/patches/0001-Properly-test-for-SM60-on-ARM-builds.patch
 create mode 100644 debian/patches/series
 create mode 100644 js68/rpm/SOURCES/Exclude-failing-tests-on-s390x.patch
 create mode 100644 
js68/rpm/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch
 create mode 100644 
js68/rpm/SOURCES/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
 create mode 100644 js68/rpm/SOURCES/build-icu-big-endian.patch
 create mode 100644 js68/rpm/SOURCES/copy-headers.patch
 create mode 100644 js68/rpm/SOURCES/emitter.patch
 create mode 100644 js68/rpm/SOURCES/emitter_test.patch
 create mode 100644 js68/rpm/SOURCES/fix-soname.patch
 create mode 100644 
js68/rpm/SOURCES/icu_sources_data-Write-command-output-to-our-stderr.patch
 create mode 100644 
js68/rpm/SOURCES/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
 create mode 100644 js68/rpm/SOURCES/init_patch.patch
 create mode 100644 js68/rpm/SOURCES/jstests_python-3.patch
 create mode 100644 js68/rpm/SOURCES/sources
 create mode 100644 js68/rpm/SOURCES/spidermonkey_checks_disable.patch
 create mode 100644 
js68/rpm/SOURCES/spidermonkey_style_check_disable_s390x.patch
 create mode 100644 js68/rpm/SOURCES/tests-increase-timeout.patch
 create mode 100644 js68/rpm/SPECS/js68.spec
 create mode 100644 rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch


[couchdb] branch jenkins-frapa-autodetect_spidermonkey_version updated (d8062c2 -> fa54f11)

2022-02-24 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch jenkins-frapa-autodetect_spidermonkey_version
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


 discard d8062c2  Autodetect spidermonkey version in ./configure
 add fa54f11  Autodetect spidermonkey version in ./configure

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (d8062c2)
\
 N -- N -- N   
refs/heads/jenkins-frapa-autodetect_spidermonkey_version (fa54f11)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 build-aux/Jenkinsfile.full |  5 -
 configure  | 10 --
 2 files changed, 12 insertions(+), 3 deletions(-)


[couchdb] branch 3939-multipart-replicated-changes-race updated (883ad53 -> 000419d)

2022-02-24 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch 3939-multipart-replicated-changes-race
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from 883ad53  Ensure the parser always monitors the worker
 add 000419d  Preserve support for single-node couch_httpd path

No new revisions were added by this update.

Summary of changes:
 src/couch/src/couch_httpd_multipart.erl | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)


[couchdb] branch 3939-multipart-replicated-changes-race updated: Ensure the parser always monitors the worker

2022-02-23 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3939-multipart-replicated-changes-race
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to 
refs/heads/3939-multipart-replicated-changes-race by this push:
 new 883ad53  Ensure the parser always monitors the worker
883ad53 is described below

commit 883ad531bc091b631d522115c7f79198c58be372
Author: Adam Kocoloski 
AuthorDate: Wed Feb 23 15:45:57 2022 -0500

Ensure the parser always monitors the worker

This adds an extra `hello_from_writer` message into the handshake
between the process that reads the multipart attachment data from the
socket and the writer processes (potentially on remote nodes) that
persist the data into each shard file. This ensures that even in the
case where a writer does not end up asking for the data (e.g. because
the revision already exists in the tree), the parser will monitor the
writer and therefore know when the writer has exited.

The patch makes some assumptions that the attachment flush function is
executed in the same process as the initial one that is spawned to
handle the fabric_rpc work request. That's true today, but if it
changed in the future it would be a non-obvious breakage to debug.
---
 src/couch/src/couch_httpd_multipart.erl | 22 +-
 src/fabric/src/fabric_rpc.erl   | 16 +++-
 2 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/src/couch/src/couch_httpd_multipart.erl 
b/src/couch/src/couch_httpd_multipart.erl
index ecdf105..26febfb 100644
--- a/src/couch/src/couch_httpd_multipart.erl
+++ b/src/couch/src/couch_httpd_multipart.erl
@@ -104,6 +104,10 @@ mp_parse_atts(eof, {Ref, Chunks, Offset, Counters, 
Waiting}) ->
 receive
 abort_parsing ->
 ok;
+{hello_from_writer, Ref, WriterPid} ->
+WriterRef = erlang:monitor(process, WriterPid),
+NewCounters = orddict:store(WriterPid, {WriterRef, 0}, 
Counters),
+mp_parse_atts(eof, {Ref, Chunks, Offset, NewCounters, 
Waiting});
 {get_bytes, Ref, From} ->
 C2 = update_writer(From, Counters),
 case maybe_send_data({Ref, Chunks, Offset, C2, [From | 
Waiting]}) of
@@ -134,6 +138,10 @@ mp_abort_parse_atts(_, _) ->
 
 maybe_send_data({Ref, Chunks, Offset, Counters, Waiting}) ->
 receive
+{hello_from_writer, Ref, WriterPid} ->
+WriterRef = erlang:monitor(process, WriterPid),
+NewCounters = orddict:store(WriterPid, {WriterRef, 0}, Counters),
+maybe_send_data({Ref, Chunks, Offset, NewCounters, Waiting});
 {get_bytes, Ref, From} ->
 NewCounters = update_writer(From, Counters),
 maybe_send_data({Ref, Chunks, Offset, NewCounters, [From | 
Waiting]})
@@ -195,6 +203,10 @@ maybe_send_data({Ref, Chunks, Offset, Counters, Waiting}) 
->
 NewAcc = {Ref, NewChunks, NewOffset, C2, 
RestWaiting},
 maybe_send_data(NewAcc)
 end;
+{hello_from_writer, Ref, WriterPid} ->
+WriterRef = erlang:monitor(process, WriterPid),
+C2 = orddict:store(WriterPid, {WriterRef, 0}, 
Counters),
+maybe_send_data({Ref, NewChunks, NewOffset, C2, 
Waiting});
 {get_bytes, Ref, X} ->
 C2 = update_writer(X, Counters),
 maybe_send_data({Ref, NewChunks, NewOffset, C2, [X | 
NewWaiting]})
@@ -206,15 +218,7 @@ maybe_send_data({Ref, Chunks, Offset, Counters, Waiting}) 
->
 
 update_writer(WriterPid, Counters) ->
 UpdateFun = fun({WriterRef, Count}) -> {WriterRef, Count + 1} end,
-InitialValue =
-case orddict:find(WriterPid, Counters) of
-{ok, IV} ->
-IV;
-error ->
-WriterRef = erlang:monitor(process, WriterPid),
-{WriterRef, 1}
-end,
-orddict:update(WriterPid, UpdateFun, InitialValue, Counters).
+orddict:update(WriterPid, UpdateFun, Counters).
 
 remove_writer(WriterPid, WriterRef, Counters) ->
 case orddict:find(WriterPid, Counters) of
diff --git a/src/fabric/src/fabric_rpc.erl b/src/fabric/src/fabric_rpc.erl
index a90c94a..80a2de6 100644
--- a/src/fabric/src/fabric_rpc.erl
+++ b/src/fabric/src/fabric_rpc.erl
@@ -638,16 +638,14 @@ make_att_readers([#doc{atts = Atts0} = Doc | Rest]) ->
 [Doc#doc{atts = Atts} | make_att_readers(Rest)].
 
 make_att_reader({follows, Parser, Ref}) ->
+% This code will fail if the returned closure is called by a
+% process other than the one that called make_att_reader/1 in the
+% first place. The reason

[couchdb] 01/01: Add an integration test

2022-02-23 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3939-multipart-replicated-changes-race
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit e85e343592827d3bf040c563bc0b211e4cac1eb5
Author: Adam Kocoloski 
AuthorDate: Wed Feb 23 13:27:14 2022 -0500

Add an integration test

This doesn't actually work as you'd expect. The response for the
new_edits=false request does return quickly, but the request body
is never consumed and so the _next_ request on the wire will hang.
---
 test/elixir/test/attachments_multipart_test.exs | 57 +
 test/elixir/test/config/suite.elixir|  3 +-
 2 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/test/elixir/test/attachments_multipart_test.exs 
b/test/elixir/test/attachments_multipart_test.exs
index f7d5d95..c5cd8fc 100644
--- a/test/elixir/test/attachments_multipart_test.exs
+++ b/test/elixir/test/attachments_multipart_test.exs
@@ -260,6 +260,63 @@ defmodule AttachmentMultipartTest do
 )
   end
 
+  @tag :with_db
+  test "multipart attachments with new_edits=false", context do
+db_name = context[:db_name]
+
+document = """
+{
+  "body": "This is a body.",
+  "_attachments": {
+"foo.txt": {
+  "follows": true,
+  "content_type": "application/test",
+  "length": 21
+}
+  }
+}
+"""
+
+multipart_data =
+  "--abc123\r\n" <>
+"content-type: application/json\r\n" <>
+"\r\n" <>
+document <>
+"\r\n--abc123\r\n" <>
+"\r\n" <>
+"this is 21 chars long" <>
+"\r\n--abc123--epilogue"
+
+resp =
+  Couch.put(
+"/#{db_name}/multipart_replicated_changes",
+body: multipart_data,
+headers: ["Content-Type": "multipart/related;boundary=\"abc123\""]
+  )
+
+assert resp.status_code in [201, 202]
+assert resp.body["ok"] == true
+
+rev = resp.body["rev"]
+
+resp = Couch.get("/#{db_name}/multipart_replicated_changes/foo.txt")
+
+assert resp.body == "this is 21 chars long"
+
+# https://github.com/apache/couchdb/issues/3939
+# Repeating the request should not hang
+resp =
+  Couch.put(
+"/#{db_name}/multipart_replicated_changes?new_edits=false&rev=#{rev}",
+body: multipart_data,
+headers: ["Content-Type": "multipart/related;boundary=\"abc123\""]
+  )
+
+assert resp.status_code in [201, 202]
+assert resp.body["ok"] == true
+
+  end
+
   defp test_multipart_att_compression(dbname) do
 doc = %{
   "_id" => "foobar"
diff --git a/test/elixir/test/config/suite.elixir 
b/test/elixir/test/config/suite.elixir
index 2e97553..e071da8 100644
--- a/test/elixir/test/config/suite.elixir
+++ b/test/elixir/test/config/suite.elixir
@@ -10,7 +10,8 @@
   ],
   "AttachmentMultipartTest": [
 "manages attachments multipart requests successfully",
-"manages compressed attachments successfully"
+"manages compressed attachments successfully",
+"multipart attachments with new_edits=false"
   ],
   "AttachmentNamesTest": [
 "saves attachment names successfully"


[couchdb] branch 3939-multipart-replicated-changes-race updated (90298de -> e85e343)

2022-02-23 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch 3939-multipart-replicated-changes-race
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


 discard 90298de  Add an integration test
 new e85e343  Add an integration test

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (90298de)
\
 N -- N -- N   refs/heads/3939-multipart-replicated-changes-race 
(e85e343)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 test/elixir/test/attachments_multipart_test.exs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[couchdb] branch 3939-multipart-replicated-changes-race updated: Add an integration test

2022-02-23 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3939-multipart-replicated-changes-race
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to 
refs/heads/3939-multipart-replicated-changes-race by this push:
 new 90298de  Add an integration test
90298de is described below

commit 90298debd3a9ef3509e7266feae0d439244862c0
Author: Adam Kocoloski 
AuthorDate: Wed Feb 23 13:27:14 2022 -0500

Add an integration test

This doesn't actually work as you'd expect. The response for the
new_edits=false request does return quickly, but the request body
is never consumed and so the _next_ request on the wire will hang.
---
 test/elixir/test/attachments_multipart_test.exs | 57 +
 test/elixir/test/config/suite.elixir|  3 +-
 2 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/test/elixir/test/attachments_multipart_test.exs 
b/test/elixir/test/attachments_multipart_test.exs
index f7d5d95..e661bd6 100644
--- a/test/elixir/test/attachments_multipart_test.exs
+++ b/test/elixir/test/attachments_multipart_test.exs
@@ -260,6 +260,63 @@ defmodule AttachmentMultipartTest do
 )
   end
 
+  @tag :with_db
+  test "multipart attachments with new_edits=false", context do
+db_name = context[:db_name]
+
+document = """
+{
+  "body": "This is a body.",
+  "_attachments": {
+"foo.txt": {
+  "follows": true,
+  "content_type": "application/test",
+  "length": 21
+}
+  }
+}
+"""
+
+multipart_data =
+  "--abc123\r\n" <>
+"content-type: application/json\r\n" <>
+"\r\n" <>
+document <>
+"\r\n--abc123\r\n" <>
+"\r\n" <>
+"this is 21 chars long" <>
+"\r\n--abc123--epilogue"
+
+resp =
+  Couch.put(
+"/#{db_name}/multipart_replicated_changes",
+body: multipart_data,
+headers: ["Content-Type": "multipart/related;boundary=\"abc123\""]
+  )
+
+assert resp.status_code in [201, 202]
+assert resp.body["ok"] == true
+
+rev = resp.body["rev"]
+
+resp = Couch.get("/#{db_name}/multipart_replicated_changes/foo.txt")
+
+assert resp.body == "this is 21 chars long"
+
+# https://github.com/apache/couchdb/issues/3939
+# Repeating the request should not hang
+resp =
+  Couch.put(
+"/#{db_name}/replicated_changes?new_edits=false&rev=#{rev}",
+body: multipart_data,
+headers: ["Content-Type": "multipart/related;boundary=\"abc123\""]
+  )
+
+assert resp.status_code in [201, 202]
+assert resp.body["ok"] == true
+
+  end
+
   defp test_multipart_att_compression(dbname) do
 doc = %{
   "_id" => "foobar"
diff --git a/test/elixir/test/config/suite.elixir 
b/test/elixir/test/config/suite.elixir
index 2e97553..e071da8 100644
--- a/test/elixir/test/config/suite.elixir
+++ b/test/elixir/test/config/suite.elixir
@@ -10,7 +10,8 @@
   ],
   "AttachmentMultipartTest": [
 "manages attachments multipart requests successfully",
-"manages compressed attachments successfully"
+"manages compressed attachments successfully",
+"multipart attachments with new_edits=false"
   ],
   "AttachmentNamesTest": [
 "saves attachment names successfully"


[couchdb] branch 3939-multipart-replicated-changes-race created (now e4b8a46)

2022-02-23 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch 3939-multipart-replicated-changes-race
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


  at e4b8a46  Merge pull request #3933 from 
cloudant/debug-for-sharded-index-server

No new revisions were added by this update.


[couchdb] branch jenkins-frapa-autodetect_spidermonkey_version created (now d8062c2)

2022-02-22 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch jenkins-frapa-autodetect_spidermonkey_version
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


  at d8062c2  Autodetect spidermonkey version in ./configure

No new revisions were added by this update.


[couchdb-pkg] 01/02: Default to Erlang 23 + Debian 11

2022-02-10 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit 54151f7245a1ce250b24846020e48fc71e7b636f
Author: Adam Kocoloski 
AuthorDate: Sun Feb 6 15:46:10 2022 -0500

Default to Erlang 23 + Debian 11
---
 .travis.yml | 45 -
 build.sh|  6 +++---
 2 files changed, 3 insertions(+), 48 deletions(-)

diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index ec4c330..000
--- a/.travis.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-dist: xenial
-
-language: minimal
-
-services:
-  - docker
-
-# Avoid double build on PRs (See 
https://github.com/travis-ci/travis-ci/issues/1147)
-branches:
-  only:
-- master
-
-env:
-  global:
-- ERLANGVERSION=20.3.8.25-1
-- 
TARBALL_URL=https://dist.apache.org/repos/dist/release/couchdb/source/3.1.0/apache-couchdb-3.1.0.tar.gz
-- TARBALL=apache-couchdb-3.1.0.tar.gz
-  matrix:
-- TARGET="js debian-stretch"
-- TARGET="couch debian-stretch ${TARBALL_URL}"
-- TARGET="js debian-buster"
-- TARGET="couch debian-buster ${TARBALL_URL}"
-# Too slow, have to comment out...
-#- TARGET="js arm64v8-debian-buster"
-#- TARGET="couch arm64v8-debian-buster ${TARBALL_URL}"
-- TARGET="js ubuntu-xenial"
-- TARGET="couch ubuntu-xenial ${TARBALL_URL}"
-- TARGET="js ubuntu-bionic"
-- TARGET="couch ubuntu-bionic ${TARBALL_URL}"
-- TARGET="js centos-6"
-- TARGET="couch centos-6 ${TARBALL_URL}"
-- TARGET="js centos-7"
-- TARGET="couch centos-7 ${TARBALL_URL}"
-- TARGET="js centos-8"
-- TARGET="couch centos-8 ${TARBALL_URL}"
-
-before_install:
-  - docker --version
-  - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
-
-script:
-  - ERLANGVERSION=${ERLANGVERSION} ./build.sh ${TARGET}
-
-after_script:
-  - ls -laR pkgs/
diff --git a/build.sh b/build.sh
index bbc9817..ac6cd37 100755
--- a/build.sh
+++ b/build.sh
@@ -31,10 +31,10 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd 
)"
 DEBIANS="debian-stretch debian-buster debian-bullseye"
 UBUNTUS="ubuntu-bionic ubuntu-focal"
 CENTOSES="centos-7 centos-8"
-XPLAT_BASE="debian-buster"
+XPLAT_BASE="debian-bullseye"
 XPLAT_ARCHES="arm64v8 ppc64le"
 BINARY_API="https://apache.jfrog.io/artifactory";
-ERLANGVERSION=${ERLANGVERSION:-20.3.8.26-1}
+ERLANGVERSION=${ERLANGVERSION:-23.3.4.10}
 
 split-os-ver() {
   OLDIFS=$IFS
@@ -94,7 +94,7 @@ build-couch() {
 docker run \
 --mount type=bind,src=${SCRIPTPATH},dst=/home/jenkins/couchdb-pkg \
 -u 0 -w /home/jenkins/couchdb-pkg \
-
apache/couchdbci-${os}:${CONTAINERARCH}-${version}-erlang-${ERLANGVERSION} \
+apache/couchdbci-${os}:${version}-erlang-${ERLANGVERSION} \
 make copy-couch ${CONTAINERARCH}-$1 COUCHTARBALL=${COUCHTARBALL}
   fi
   make clean


[couchdb-pkg] branch main updated (5869af0 -> 7f1e10a)

2022-02-10 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git.


from 5869af0  chore: create rpm subfolder for js68
 new 54151f7  Default to Erlang 23 + Debian 11
 new 7f1e10a  Use --platform to select container arch at runtime

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .travis.yml | 45 -
 Makefile|  1 +
 build.sh| 10 ++
 3 files changed, 7 insertions(+), 49 deletions(-)
 delete mode 100644 .travis.yml


[couchdb-pkg] 02/02: Use --platform to select container arch at runtime

2022-02-10 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit 7f1e10a3302e5ee9b292ea5ded8ad89b8b768bf8
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 09:32:49 2022 -0500

Use --platform to select container arch at runtime

The bugs seem to have been worked out here, so we can use multi-platform
container images like the ones we've generated for CI and still select
the runtime architecture we want if we need to build packages via QEMU.
---
 Makefile | 1 +
 build.sh | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 36bda2f..34d849c 100644
--- a/Makefile
+++ b/Makefile
@@ -91,6 +91,7 @@ debian-bullseye: SPIDERMONKEY_DEV=libmozjs-78-dev
 debian-bullseye: SM_VER=78
 debian-bullseye: bullseye
 
+arm64-debian-bullseye: aarch64-debian-bullseye
 arm64v8-debian-bullseye: aarch64-debian-bullseye
 aarch64-debian-bullseye: PLATFORM=bullseye
 aarch64-debian-bullseye: DIST=debian-bullseye
diff --git a/build.sh b/build.sh
index ac6cd37..1a4aaf4 100755
--- a/build.sh
+++ b/build.sh
@@ -32,7 +32,7 @@ DEBIANS="debian-stretch debian-buster debian-bullseye"
 UBUNTUS="ubuntu-bionic ubuntu-focal"
 CENTOSES="centos-7 centos-8"
 XPLAT_BASE="debian-bullseye"
-XPLAT_ARCHES="arm64v8 ppc64le"
+XPLAT_ARCHES="arm64 ppc64le"
 BINARY_API="https://apache.jfrog.io/artifactory";
 ERLANGVERSION=${ERLANGVERSION:-23.3.4.10}
 
@@ -88,12 +88,14 @@ build-couch() {
 docker run \
 --mount type=bind,src=${SCRIPTPATH},dst=/home/jenkins/couchdb-pkg \
 -u 0 -w /home/jenkins/couchdb-pkg \
+--platform linux/amd64 \
 apache/couchdbci-${os}:${version}-erlang-${ERLANGVERSION} \
 make copy-couch $1 COUCHTARBALL=${COUCHTARBALL}
   else
 docker run \
 --mount type=bind,src=${SCRIPTPATH},dst=/home/jenkins/couchdb-pkg \
 -u 0 -w /home/jenkins/couchdb-pkg \
+--platform linux/${CONTAINERARCH} \
 apache/couchdbci-${os}:${version}-erlang-${ERLANGVERSION} \
 make copy-couch ${CONTAINERARCH}-$1 COUCHTARBALL=${COUCHTARBALL}
   fi


[couchdb-helm] branch generate-erlang-cookie created (now eb1ca20)

2022-02-09 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch generate-erlang-cookie
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git.


  at eb1ca20  Generate a unique Erlang cookie by default

This branch includes the following new commits:

 new eb1ca20  Generate a unique Erlang cookie by default

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb-helm] 01/01: Generate a unique Erlang cookie by default

2022-02-09 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch generate-erlang-cookie
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git

commit eb1ca208330cb5ea92b0249180d8b4ed59aa2d90
Author: Adam Kocoloski 
AuthorDate: Wed Feb 9 13:14:59 2022 -0500

Generate a unique Erlang cookie by default

This relies on new support for the COUCHDB_ERLANG_COOKIE env to
generate a Secret that is written down into ~/.erlang.cookie instead
of passing the cookie in the ERL_FLAGS. I suppose it would be possible
to merge the generated cookie into ERL_FLAGS, but this approach seemed
cleaner and more maintainable going forward.
---
 couchdb/templates/secrets.yaml | 1 +
 couchdb/templates/statefulset.yaml | 5 +
 couchdb/values.yaml| 9 ++---
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/couchdb/templates/secrets.yaml b/couchdb/templates/secrets.yaml
index 92f55c6..857543b 100644
--- a/couchdb/templates/secrets.yaml
+++ b/couchdb/templates/secrets.yaml
@@ -12,6 +12,7 @@ type: Opaque
 data:
   adminUsername: {{ template "couchdb.defaultsecret" .Values.adminUsername }}
   adminPassword: {{ template "couchdb.defaultsecret" .Values.adminPassword }}
+  erlangCookie: {{ template "couchdb.defaultsecret" 
.Values.erlangFlags.setcookie }}
   cookieAuthSecret: {{ template "couchdb.defaultsecret" 
.Values.cookieAuthSecret }}
 {{- if  .Values.adminHash  }}
   password.ini: {{ tpl (.Files.Get "password.ini") . | b64enc }}
diff --git a/couchdb/templates/statefulset.yaml 
b/couchdb/templates/statefulset.yaml
index 233441d..03ae8bd 100644
--- a/couchdb/templates/statefulset.yaml
+++ b/couchdb/templates/statefulset.yaml
@@ -92,6 +92,11 @@ spec:
   name: {{ template "couchdb.fullname" . }}
   key: cookieAuthSecret
 {{- end }}
+- name: COUCHDB_ERLANG_COOKIE
+  valueFrom:
+secretKeyRef:
+  name: {{ template "couchdb.fullname" . }}
+  key: erlangCookie
 - name: ERL_FLAGS
   value: "{{ range $k, $v := .Values.erlangFlags }} -{{ $k }} {{ 
$v }} {{ end }}"
 {{- if .Values.livenessProbe.enabled }}
diff --git a/couchdb/values.yaml b/couchdb/values.yaml
index f76dc25..44f74df 100644
--- a/couchdb/values.yaml
+++ b/couchdb/values.yaml
@@ -152,12 +152,15 @@ resources:
   #  memory: 256Gi
 
 ## erlangFlags is a map that is passed to the Erlang VM as flags using the
-## ERL_FLAGS env. `name` and `setcookie` flags are minimally required to
-## establish connectivity between cluster nodes.
+## ERL_FLAGS env. The `name` flag is required to establish connectivity
+## between cluster nodes.
 ## ref: http://erlang.org/doc/man/erl.html#init_flags
 erlangFlags:
   name: couchdb
-  setcookie: monster
+  # Older versions of the official CouchDB image (anything prior to 3.2.1)
+  # do not act on the COUCHDB_ERLANG_COOKIE environment variable, so if you
+  # want to cluster these deployments it's necessary to pass in a cookie here
+  # setcookie: make-something-up
 
 ## couchdbConfig will override default CouchDB configuration settings.
 ## The contents of this map are reformatted into a .ini file laid down


[couchdb-docker] branch magic-cookie-writer updated (3eefe2c -> 0ece163)

2022-02-08 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch magic-cookie-writer
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git.


 discard 3eefe2c  Listen for COUCHDB_ERLANG_COOKIE and write it down
 add 0ece163  Listen for COUCHDB_ERLANG_COOKIE and write it down

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (3eefe2c)
\
 N -- N -- N   refs/heads/magic-cookie-writer (0ece163)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 README.md | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)


[couchdb-docker] 01/01: Listen for COUCHDB_ERLANG_COOKIE and write it down

2022-02-08 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch magic-cookie-writer
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git

commit 3eefe2ca7fcffb8dad333f673958e2b278145b7d
Author: Adam Kocoloski 
AuthorDate: Tue Feb 8 18:50:23 2022 -0500

Listen for COUCHDB_ERLANG_COOKIE and write it down
---
 3.2.1/docker-entrypoint.sh | 15 +++
 dev/docker-entrypoint.sh   | 15 +++
 2 files changed, 30 insertions(+)

diff --git a/3.2.1/docker-entrypoint.sh b/3.2.1/docker-entrypoint.sh
index 4b8b4f4..8d6456d 100755
--- a/3.2.1/docker-entrypoint.sh
+++ b/3.2.1/docker-entrypoint.sh
@@ -77,6 +77,21 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
fi
fi
 
+   if [ "$COUCHDB_ERLANG_COOKIE" ]; then
+   cookieFile='/opt/couchdb/.erlang.cookie'
+   if [ -e "$cookieFile" ]; then
+   if [ "$(cat "$cookieFile" 2>/dev/null)" != 
"$COUCHDB_ERLANG_COOKIE" ]; then
+   echo >&2
+   echo >&2 "warning: $cookieFile contents do not 
match COUCHDB_ERLANG_COOKIE"
+   echo >&2
+   fi
+   else
+   echo "$COUCHDB_ERLANG_COOKIE" > "$cookieFile"
+   fi
+   chown couchdb:couchdb "$cookieFile"
+   chmod 600 "$cookieFile"
+   fi
+
if [ "$(id -u)" = '0' ]; then
chown -f couchdb:couchdb /opt/couchdb/etc/local.d/docker.ini || 
true
fi
diff --git a/dev/docker-entrypoint.sh b/dev/docker-entrypoint.sh
index 4c1f9bf..95691c2 100755
--- a/dev/docker-entrypoint.sh
+++ b/dev/docker-entrypoint.sh
@@ -69,6 +69,21 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
fi
fi
 
+   if [ "$COUCHDB_ERLANG_COOKIE" ]; then
+   cookieFile='/opt/couchdb/.erlang.cookie'
+   if [ -e "$cookieFile" ]; then
+   if [ "$(cat "$cookieFile" 2>/dev/null)" != 
"$COUCHDB_ERLANG_COOKIE" ]; then
+   echo >&2
+   echo >&2 "warning: $cookieFile contents do not 
match COUCHDB_ERLANG_COOKIE"
+   echo >&2
+   fi
+   else
+   echo "$COUCHDB_ERLANG_COOKIE" > "$cookieFile"
+   fi
+   chown couchdb:couchdb "$cookieFile"
+   chmod 600 "$cookieFile"
+   fi
+
chown -f couchdb:couchdb /opt/couchdb/etc/local.d/docker.ini || true
 
# if we don't find an [admins] section followed by a non-comment, 
display a warning


[couchdb-docker] branch magic-cookie-writer created (now 3eefe2c)

2022-02-08 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch magic-cookie-writer
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git.


  at 3eefe2c  Listen for COUCHDB_ERLANG_COOKIE and write it down

This branch includes the following new commits:

 new 3eefe2c  Listen for COUCHDB_ERLANG_COOKIE and write it down

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb-ci] 02/04: Use buildx plugin for multi-arch images

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch multi-arch-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git

commit 5c78da42cbc8c4433e74970b9dbdd8638db841de
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 22:04:54 2022 -0500

Use buildx plugin for multi-arch images
---
 README.md   | 41 +++--
 build.sh| 31 +--
 dockerfiles/debian-bullseye |  5 +
 dockerfiles/debian-buster   |  4 +---
 dockerfiles/debian-stretch  |  5 +
 5 files changed, 35 insertions(+), 51 deletions(-)

diff --git a/README.md b/README.md
index 67973be..50a35a2 100644
--- a/README.md
+++ b/README.md
@@ -31,6 +31,12 @@ These images are used by [Apache Jenkins 
CI](https://ci-couchdb.apache.org/blue/
 
 For those OSes that support Docker, we run builds inside of Docker containers. 
These containers are built using the `build.sh` command at the root level.
 
+## Authenticating to Docker Hub
+
+1.  You need a Docker Cloud account with access to the `apache` organization 
to upload new images. Ask the CouchDB PMC for assistance with this.
+2. `export DOCKER_ID_USER="username"`
+3. `docker login -u "username"` and enter your password.
+
 ## Building a "platform image"
 
 The platform images include all of the build dependencies necessary to build 
and full test CouchDB on a given OS/version/architecture combination.
@@ -59,31 +65,38 @@ the [kerl](https://github.com/kerl/kerl) build system, and 
installs them to
 `/usr/local/kerl` for activation before builds. This version is intended for 
use
 in standard CI runs, such as for pull requests.
 
-# Building a cross-architecture Docker image
+## Building a cross-architecture Docker image
 
-This only works from an `x86_64` build host.
-
-First, configure your machine with the correct dependencies to build 
multi-arch binaries:
+We can use Docker's
+[Buildx](https://docs.docker.com/buildx/working-with-buildx/) plugin to 
generate
+multi-architecture container images with a single command invocation. Docker
+Desktop ships with buildx support, but you'll need to create a new builder to
+use it:
 
 ```
-docker run --privileged --rm tonistiigi/binfmt --install all
+docker buildx create --use
 ```
 
-This is a one-time setup step. This docker container run will install the 
correct qemu static binaries necessary for running foreign architecture 
binaries on your host machine. It includes special magic to ensure `sudo` works 
correctly inside a container, too.
-
-Then, override the `CONTAINERARCH` environment variable when starting 
`build.sh`:
-
+Then, add the `--platform` flag to spin up parallel builders for each desired
+architecture. For example:
 
 ```
-CONTAINERARCH=aarch64 ./build.sh platform debian-stretch
+buildargs="--platform linux/amd64,linux/arm64,linux/ppc64le --push" ./build.sh 
platform debian-bullseye
 ```
 
+will build **and upload** a new multi-arch container image to the registory.
+Currently `docker images` can only accept single-platform images, so this is 
one
+downside of the simplified build approach. Omitting the `--push` option will
+just leave the build result in the build cache, which isn't terribly useful.
+
 ## Publishing a container
 
-1.  You need a Docker Cloud account with access to the `apache` organization. 
Ask the CouchDB PMC for assistance with this.
-2. `export DOCKER_ID_USER="username"`
-3. `docker login -u "username"` and enter your password.
-4. `./build.sh platform-upload -` just as above.
+If you built a single-architecture container image and did not supply `--push`
+as a build arg to upload it automatically you can upload the image using
+
+```
+./build.sh platform-upload -
+```
 
 ---
 
diff --git a/build.sh b/build.sh
index 611d2fc..ca142c9 100755
--- a/build.sh
+++ b/build.sh
@@ -46,9 +46,6 @@ DEBIANS="debian-stretch debian-buster debian-bullseye"
 UBUNTUS="ubuntu-bionic ubuntu-focal"
 CENTOSES="centos-7 centos-8"
 ERLANGALL_BASE="debian-bullseye"
-XPLAT_BASE="debian-buster"
-# XPLAT_ARCHES="arm64v8 ppc64le"
-XPLAT_ARCHES="arm64v8"
 BINTRAY_API="https://api.bintray.com";
 PASSED_BUILDARGS="$buildargs"
 
@@ -67,11 +64,6 @@ check-envs() {
   then
 buildargs="$buildargs --build-arg elixirversion=${ELIXIRVERSION} "
   fi
-  if [ ! -z "${CONTAINERARCH}" ]
-  then
-buildargs="$buildargs --build-arg containerarch=${CONTAINERARCH} "
-CONTAINERARCH="${CONTAINERARCH}-"
-  fi
 }
 
 split-os-ver() {
@@ -87,11 +79,11 @@ build-base-platform() {
   split-os-ver $1
   # invoke as build-base 
   # base images never get JavaScript, nor Erlang
-  docker build -f dockerfiles/${os}-${version} \
+  docker buildx build -f dockerfiles/${os}-${version} \
   --build-arg js=no

[couchdb-ci] 01/04: Restrict FDB to amd64 containers for now

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch multi-arch-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git

commit 5bfc9b3b286035392a59d3aeb3075ae491e97209
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 20:39:24 2022 -0500

Restrict FDB to amd64 containers for now
---
 bin/apt-dependencies.sh | 21 -
 bin/yum-dependencies.sh | 14 +-
 2 files changed, 5 insertions(+), 30 deletions(-)

diff --git a/bin/apt-dependencies.sh b/bin/apt-dependencies.sh
index f8b6394..483e786 100755
--- a/bin/apt-dependencies.sh
+++ b/bin/apt-dependencies.sh
@@ -178,7 +178,6 @@ fi
 # Erlang is installed by apt-erlang.sh
 
 # FoundationDB - but only for amd64 right now
-# TODO: fix for ppc64le and s390x - get IBM to help build these packages maybe?
 if [ "${ARCH}" == "x86_64" ]; then
   wget 
https://github.com/apple/foundationdb/releases/download/6.3.23/foundationdb-clients_6.3.23-1_amd64.deb
   wget 
https://github.com/apple/foundationdb/releases/download/6.3.23/foundationdb-server_6.3.23-1_amd64.deb
@@ -186,26 +185,6 @@ if [ "${ARCH}" == "x86_64" ]; then
   pkill -f fdb || true
   pkill -f foundation || true
   rm -rf ./foundationdb*deb
-else
-  apt install --no-install-recommends -y cmake mono-devel ninja-build 
libboost-all-dev liblz4-dev dos2unix fakeroot liblz4-1
-  git clone https://github.com/apple/foundationdb/
-  cd foundationdb && git checkout 6.3.23
-  git apply /root/couchdb-ci/files/no-bintray.patch || true
-  mkdir .build && cd .build
-  if [ "${ARCH}" == "ppc64le" ]; then
-cmake -DCMAKE_CXX_FLAGS="-DNO_WARN_X86_INTRINSICS" -G Ninja ..
-  else
-cmake -G Ninja ..
-  fi
-  ninja -j2
-  fakeroot cpack -G DEB
-  # see 
https://forums.foundationdb.org/t/possible-missing-dependency-in-6-3-x-deb-package/2579
-  ln -nfs /usr/bin/update-alternatives /usr/bin/alternatives
-  mkdir -p /var/lib/foundationdb/data
-  dpkg -i packages/foundationdb-clients*deb packages/foundationdb-server*deb 
|| true
-  apt purge -y cmake mono-devel ninja-build libboost-all-dev liblz4-dev 
dos2unix
-  apt autoremove -y
-  cd ../../ && rm -rf foundationdb
 fi
 
 # clean up
diff --git a/bin/yum-dependencies.sh b/bin/yum-dependencies.sh
index 2886cd8..6d5f322 100755
--- a/bin/yum-dependencies.sh
+++ b/bin/yum-dependencies.sh
@@ -192,20 +192,16 @@ else
   yum install -y libffi-devel
 fi
 
-# FoundationDB
-if [[ ${VERSION_ID} -eq 6 ]]; then
-  wget 
https://github.com/apple/foundationdb/releases/download/6.3.23/foundationdb-clients-6.3.23-1.el6.x86_64.rpm
-  wget 
https://github.com/apple/foundationdb/releases/download/6.3.23/foundationdb-server-6.3.23-1.el6.x86_64.rpm
-  yum --nogpgcheck localinstall -y foundationdb*rpm
-else
+# FoundationDB - but only for amd64 right now
+if [ "${ARCH}" == "x86_64" ]; then
   wget 
https://github.com/apple/foundationdb/releases/download/6.3.23/foundationdb-clients-6.3.23-1.el7.x86_64.rpm
   wget 
https://github.com/apple/foundationdb/releases/download/6.3.23/foundationdb-server-6.3.23-1.el7.x86_64.rpm
   # Buggy FoundationDB packages require this workaround
   rpm -i --nodeps ./foundationdb*rpm
+  pkill -f fdb || true
+  pkill -f foundation || true
+  rm -rf ./foundationdb*rpm
 fi
-pkill -f fdb || true
-pkill -f foundation || true
-rm -rf ./foundationdb*rpm
 
 # clean up
 yum clean all -y


[couchdb-ci] 04/04: Add image builder action

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch multi-arch-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git

commit 53539f480d9ae255960e2b3a7abf775b67cee646
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 22:13:35 2022 -0500

Add image builder action
---
 .github/workflows/image-builder.yml | 63 +
 1 file changed, 63 insertions(+)

diff --git a/.github/workflows/image-builder.yml 
b/.github/workflows/image-builder.yml
new file mode 100644
index 000..c98dcc5
--- /dev/null
+++ b/.github/workflows/image-builder.yml
@@ -0,0 +1,63 @@
+name: Image Builder
+
+on:
+  workflow_dispatch:
+inputs:
+  dockerfile:
+description: 'Dockerfile'
+required: true
+default: 'debian-bullseye'
+  erlangVersion:
+description: 'Erlang/OTP Version'
+required: true
+default: '24.2'
+  elixirVersion:
+description: 'Elixir Version'
+required: true
+default: 'v1.12.3'
+  platforms:
+description: 'Target Platforms'
+required: true
+default: 'linux/amd64'
+
+jobs:
+  build-and-push-image:
+runs-on: ubuntu-latest
+
+steps:
+  - name: Authenticate to container registry
+uses: docker/login-action@v1
+with:
+  registry: ghcr.io
+  username: ${{ github.actor }}
+  password: ${{ secrets.GITHUB_TOKEN }}
+
+  - name: Set up QEMU
+uses: docker/setup-qemu-action@v1
+
+  - name: Set up Docker Buildx
+id: buildx
+uses: docker/setup-buildx-action@v1
+
+  - name: Inspect builder
+run: |
+  echo "Name:  ${{ steps.buildx.outputs.name }}"
+  echo "Endpoint:  ${{ steps.buildx.outputs.endpoint }}"
+  echo "Status:${{ steps.buildx.outputs.status }}"
+  echo "Flags: ${{ steps.buildx.outputs.flags }}"
+  echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
+
+  - name: Build and push
+uses: docker/build-push-action@v2
+with:
+  file: dockerfiles/${{ github.event.inputs.dockerfile }}
+
+  push: true
+
+  platforms: ${{ github.event.inputs.platforms }}
+
+  build-args: |
+erlangversion=${{ github.event.inputs.erlangVersion }}
+elixirversion=${{ github.event.inputs.elixirVersion }}
+  tags: |
+ghcr.io/apache/couchdb-ci:${{ github.event.inputs.dockerfile 
}}-erlang-${{ github.event.inputs.erlangVersion }}


[couchdb-ci] 03/04: Remove old Bintray reference

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch multi-arch-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git

commit 65d8ae0196063a9714b8d12c8b97f2f3e37e1935
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 22:05:45 2022 -0500

Remove old Bintray reference
---
 build.sh | 1 -
 1 file changed, 1 deletion(-)

diff --git a/build.sh b/build.sh
index ca142c9..100582d 100755
--- a/build.sh
+++ b/build.sh
@@ -46,7 +46,6 @@ DEBIANS="debian-stretch debian-buster debian-bullseye"
 UBUNTUS="ubuntu-bionic ubuntu-focal"
 CENTOSES="centos-7 centos-8"
 ERLANGALL_BASE="debian-bullseye"
-BINTRAY_API="https://api.bintray.com";
 PASSED_BUILDARGS="$buildargs"
 
 


[couchdb-ci] branch multi-arch-updates created (now 53539f4)

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch multi-arch-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git.


  at 53539f4  Add image builder action

This branch includes the following new commits:

 new 5bfc9b3  Restrict FDB to amd64 containers for now
 new 5c78da4  Use buildx plugin for multi-arch images
 new 65d8ae0  Remove old Bintray reference
 new 53539f4  Add image builder action

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb-pkg] branch packaging-updates created (now ac4e680)

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch packaging-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git.


  at ac4e680  Use --platform to select container arch at runtime

No new revisions were added by this update.


[couchdb-pkg] 03/03: Update package metadata

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.2.1
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit d59bd6cca5dcddb2959b9539a9ae2af4fde3aba5
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 09:35:56 2022 -0500

Update package metadata
---
 Makefile  | 7 +--
 rpm/SPECS/couchdb.spec.in | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index d000a56..add825f 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,10 @@
 # the License.
 
 COUCHDIR=../couchdb
-DEBCHANGELOG="Automatically generated package from upstream."
+DEBCHANGELOG="Bump to Erlang 23"
+
+# Define DEBVERSION to append a package version to the upstream CouchDB version
+DEBVERSION="1"
 
 JS_DEBCHANGELOG="Automatically generated package from couchdb-ci repository."
 JS_VERSION=1.8.5-1.0.0+couch-2
@@ -186,7 +189,7 @@ copy-debian:
cp -R debian $(DISTDIR)
 
 update-changelog:
-   cd $(DISTDIR) && dch -v $(VERSION)~$(PLATFORM) $(DEBCHANGELOG)
+   cd $(DISTDIR) && dch -v $(VERSION)-$(DEBVERSION)~$(PLATFORM) 
$(DEBCHANGELOG)
 
 dpkg:
cd $(DISTDIR) && dpkg-buildpackage -b -us -uc
diff --git a/rpm/SPECS/couchdb.spec.in b/rpm/SPECS/couchdb.spec.in
index bbb611c..85a5a41 100644
--- a/rpm/SPECS/couchdb.spec.in
+++ b/rpm/SPECS/couchdb.spec.in
@@ -18,7 +18,7 @@ Summary:   RESTful document oriented database
 License:   Apache License v2.0
 Name:  %{name}
 Version:   %{_version}
-Release:   1%{?dist}
+Release:   2%{?dist}
 Source:
https://www.apache.org/dist/couchdb/source/${version}/apache-couchdb-%{version}.tar.gz
 Source1:   %{name}.service
 Source2:   %{name}.init


[couchdb-pkg] 01/03: Default to Erlang 23 + Debian 11

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.2.1
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit 6c69bb2ce7c157f55a255f4e4eee14e43774979f
Author: Adam Kocoloski 
AuthorDate: Sun Feb 6 15:46:10 2022 -0500

Default to Erlang 23 + Debian 11
---
 .travis.yml | 45 -
 build.sh|  6 +++---
 2 files changed, 3 insertions(+), 48 deletions(-)

diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index ec4c330..000
--- a/.travis.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-dist: xenial
-
-language: minimal
-
-services:
-  - docker
-
-# Avoid double build on PRs (See 
https://github.com/travis-ci/travis-ci/issues/1147)
-branches:
-  only:
-- master
-
-env:
-  global:
-- ERLANGVERSION=20.3.8.25-1
-- 
TARBALL_URL=https://dist.apache.org/repos/dist/release/couchdb/source/3.1.0/apache-couchdb-3.1.0.tar.gz
-- TARBALL=apache-couchdb-3.1.0.tar.gz
-  matrix:
-- TARGET="js debian-stretch"
-- TARGET="couch debian-stretch ${TARBALL_URL}"
-- TARGET="js debian-buster"
-- TARGET="couch debian-buster ${TARBALL_URL}"
-# Too slow, have to comment out...
-#- TARGET="js arm64v8-debian-buster"
-#- TARGET="couch arm64v8-debian-buster ${TARBALL_URL}"
-- TARGET="js ubuntu-xenial"
-- TARGET="couch ubuntu-xenial ${TARBALL_URL}"
-- TARGET="js ubuntu-bionic"
-- TARGET="couch ubuntu-bionic ${TARBALL_URL}"
-- TARGET="js centos-6"
-- TARGET="couch centos-6 ${TARBALL_URL}"
-- TARGET="js centos-7"
-- TARGET="couch centos-7 ${TARBALL_URL}"
-- TARGET="js centos-8"
-- TARGET="couch centos-8 ${TARBALL_URL}"
-
-before_install:
-  - docker --version
-  - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
-
-script:
-  - ERLANGVERSION=${ERLANGVERSION} ./build.sh ${TARGET}
-
-after_script:
-  - ls -laR pkgs/
diff --git a/build.sh b/build.sh
index bbc9817..ac6cd37 100755
--- a/build.sh
+++ b/build.sh
@@ -31,10 +31,10 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd 
)"
 DEBIANS="debian-stretch debian-buster debian-bullseye"
 UBUNTUS="ubuntu-bionic ubuntu-focal"
 CENTOSES="centos-7 centos-8"
-XPLAT_BASE="debian-buster"
+XPLAT_BASE="debian-bullseye"
 XPLAT_ARCHES="arm64v8 ppc64le"
 BINARY_API="https://apache.jfrog.io/artifactory";
-ERLANGVERSION=${ERLANGVERSION:-20.3.8.26-1}
+ERLANGVERSION=${ERLANGVERSION:-23.3.4.10}
 
 split-os-ver() {
   OLDIFS=$IFS
@@ -94,7 +94,7 @@ build-couch() {
 docker run \
 --mount type=bind,src=${SCRIPTPATH},dst=/home/jenkins/couchdb-pkg \
 -u 0 -w /home/jenkins/couchdb-pkg \
-
apache/couchdbci-${os}:${CONTAINERARCH}-${version}-erlang-${ERLANGVERSION} \
+apache/couchdbci-${os}:${version}-erlang-${ERLANGVERSION} \
 make copy-couch ${CONTAINERARCH}-$1 COUCHTARBALL=${COUCHTARBALL}
   fi
   make clean


[couchdb-pkg] 02/03: Use --platform to select container arch at runtime

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.2.1
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit ac4e680468488e48929bbdd340ea700692788419
Author: Adam Kocoloski 
AuthorDate: Mon Feb 7 09:32:49 2022 -0500

Use --platform to select container arch at runtime

The bugs seem to have been worked out here, so we can use multi-platform
container images like the ones we've generated for CI and still select
the runtime architecture we want if we need to build packages via QEMU.
---
 Makefile | 1 +
 build.sh | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 8366e15..d000a56 100644
--- a/Makefile
+++ b/Makefile
@@ -91,6 +91,7 @@ debian-bullseye: SPIDERMONKEY_DEV=libmozjs-78-dev
 debian-bullseye: SM_VER=78
 debian-bullseye: bullseye
 
+arm64-debian-bullseye: aarch64-debian-bullseye
 arm64v8-debian-bullseye: aarch64-debian-bullseye
 aarch64-debian-bullseye: PLATFORM=bullseye
 aarch64-debian-bullseye: DIST=debian-bullseye
diff --git a/build.sh b/build.sh
index ac6cd37..1a4aaf4 100755
--- a/build.sh
+++ b/build.sh
@@ -32,7 +32,7 @@ DEBIANS="debian-stretch debian-buster debian-bullseye"
 UBUNTUS="ubuntu-bionic ubuntu-focal"
 CENTOSES="centos-7 centos-8"
 XPLAT_BASE="debian-bullseye"
-XPLAT_ARCHES="arm64v8 ppc64le"
+XPLAT_ARCHES="arm64 ppc64le"
 BINARY_API="https://apache.jfrog.io/artifactory";
 ERLANGVERSION=${ERLANGVERSION:-23.3.4.10}
 
@@ -88,12 +88,14 @@ build-couch() {
 docker run \
 --mount type=bind,src=${SCRIPTPATH},dst=/home/jenkins/couchdb-pkg \
 -u 0 -w /home/jenkins/couchdb-pkg \
+--platform linux/amd64 \
 apache/couchdbci-${os}:${version}-erlang-${ERLANGVERSION} \
 make copy-couch $1 COUCHTARBALL=${COUCHTARBALL}
   else
 docker run \
 --mount type=bind,src=${SCRIPTPATH},dst=/home/jenkins/couchdb-pkg \
 -u 0 -w /home/jenkins/couchdb-pkg \
+--platform linux/${CONTAINERARCH} \
 apache/couchdbci-${os}:${version}-erlang-${ERLANGVERSION} \
 make copy-couch ${CONTAINERARCH}-$1 COUCHTARBALL=${COUCHTARBALL}
   fi


[couchdb-pkg] branch 3.2.1 created (now d59bd6c)

2022-02-07 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch 3.2.1
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git.


  at d59bd6c  Update package metadata

This branch includes the following new commits:

 new 6c69bb2  Default to Erlang 23 + Debian 11
 new ac4e680  Use --platform to select container arch at runtime
 new d59bd6c  Update package metadata

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb-pkg] branch main updated (7a653fa -> 5869af0)

2022-02-06 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git.


from 7a653fa  Add bullseye to distributions
 new 7c7eb6d  feat: initial js68 support
 new 9387f4f  feat: add aarch64-rhel build support
 new 5869af0  chore: create rpm subfolder for js68

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore |   1 +
 Makefile   |  13 +
 .../SOURCES/Exclude-failing-tests-on-s390x.patch   |  29 ++
 ...e-unused-LLVM-and-Rust-build-dependencies.patch |  72 +
 ...able_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch |  10 +
 js68/rpm/SOURCES/build-icu-big-endian.patch|  12 +
 js68/rpm/SOURCES/copy-headers.patch|  29 ++
 js68/rpm/SOURCES/emitter.patch |  14 +
 js68/rpm/SOURCES/emitter_test.patch|  27 ++
 js68/rpm/SOURCES/fix-soname.patch  |  25 ++
 ...s_data-Write-command-output-to-our-stderr.patch |  34 +++
 ...ata.py-Decouple-from-Mozilla-build-system.patch |  26 ++
 js68/rpm/SOURCES/init_patch.patch  |  13 +
 js68/rpm/SOURCES/jstests_python-3.patch|  57 
 js68/rpm/SOURCES/sources   |   1 +
 js68/rpm/SOURCES/spidermonkey_checks_disable.patch |  10 +
 .../spidermonkey_style_check_disable_s390x.patch   |  11 +
 js68/rpm/SOURCES/tests-increase-timeout.patch  |  22 ++
 js68/rpm/SPECS/js68.spec   | 336 +
 rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch  |  23 ++
 rpm/SPECS/couchdb.spec.in  |  10 +-
 21 files changed, 773 insertions(+), 2 deletions(-)
 create mode 100644 js68/rpm/SOURCES/Exclude-failing-tests-on-s390x.patch
 create mode 100644 
js68/rpm/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch
 create mode 100644 
js68/rpm/SOURCES/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
 create mode 100644 js68/rpm/SOURCES/build-icu-big-endian.patch
 create mode 100644 js68/rpm/SOURCES/copy-headers.patch
 create mode 100644 js68/rpm/SOURCES/emitter.patch
 create mode 100644 js68/rpm/SOURCES/emitter_test.patch
 create mode 100644 js68/rpm/SOURCES/fix-soname.patch
 create mode 100644 
js68/rpm/SOURCES/icu_sources_data-Write-command-output-to-our-stderr.patch
 create mode 100644 
js68/rpm/SOURCES/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
 create mode 100644 js68/rpm/SOURCES/init_patch.patch
 create mode 100644 js68/rpm/SOURCES/jstests_python-3.patch
 create mode 100644 js68/rpm/SOURCES/sources
 create mode 100644 js68/rpm/SOURCES/spidermonkey_checks_disable.patch
 create mode 100644 
js68/rpm/SOURCES/spidermonkey_style_check_disable_s390x.patch
 create mode 100644 js68/rpm/SOURCES/tests-increase-timeout.patch
 create mode 100644 js68/rpm/SPECS/js68.spec
 create mode 100644 rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch


[couchdb-pkg] 03/03: chore: create rpm subfolder for js68

2022-02-06 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit 5869af0db17d4b351a309c0c826bebcb3f2c732b
Author: mokou 
AuthorDate: Wed Feb 2 15:22:08 2022 +0100

chore: create rpm subfolder for js68
---
 js68/{ => rpm}/SOURCES/Exclude-failing-tests-on-s390x.patch   | 0
 .../SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch  | 0
 .../SOURCES/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch  | 0
 js68/{ => rpm}/SOURCES/build-icu-big-endian.patch | 0
 js68/{ => rpm}/SOURCES/copy-headers.patch | 0
 js68/{ => rpm}/SOURCES/emitter.patch  | 0
 js68/{ => rpm}/SOURCES/emitter_test.patch | 0
 js68/{ => rpm}/SOURCES/fix-soname.patch   | 0
 .../SOURCES/icu_sources_data-Write-command-output-to-our-stderr.patch | 0
 .../SOURCES/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch  | 0
 js68/{ => rpm}/SOURCES/init_patch.patch   | 0
 js68/{ => rpm}/SOURCES/jstests_python-3.patch | 0
 js68/{ => rpm}/SOURCES/sources| 0
 js68/{ => rpm}/SOURCES/spidermonkey_checks_disable.patch  | 0
 js68/{ => rpm}/SOURCES/spidermonkey_style_check_disable_s390x.patch   | 0
 js68/{ => rpm}/SOURCES/tests-increase-timeout.patch   | 0
 js68/{ => rpm}/SPECS/js68.spec| 0
 17 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/js68/SOURCES/Exclude-failing-tests-on-s390x.patch 
b/js68/rpm/SOURCES/Exclude-failing-tests-on-s390x.patch
similarity index 100%
rename from js68/SOURCES/Exclude-failing-tests-on-s390x.patch
rename to js68/rpm/SOURCES/Exclude-failing-tests-on-s390x.patch
diff --git a/js68/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch 
b/js68/rpm/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch
similarity index 100%
rename from js68/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch
rename to js68/rpm/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch
diff --git 
a/js68/SOURCES/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch 
b/js68/rpm/SOURCES/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
similarity index 100%
rename from 
js68/SOURCES/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
rename to 
js68/rpm/SOURCES/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
diff --git a/js68/SOURCES/build-icu-big-endian.patch 
b/js68/rpm/SOURCES/build-icu-big-endian.patch
similarity index 100%
rename from js68/SOURCES/build-icu-big-endian.patch
rename to js68/rpm/SOURCES/build-icu-big-endian.patch
diff --git a/js68/SOURCES/copy-headers.patch 
b/js68/rpm/SOURCES/copy-headers.patch
similarity index 100%
rename from js68/SOURCES/copy-headers.patch
rename to js68/rpm/SOURCES/copy-headers.patch
diff --git a/js68/SOURCES/emitter.patch b/js68/rpm/SOURCES/emitter.patch
similarity index 100%
rename from js68/SOURCES/emitter.patch
rename to js68/rpm/SOURCES/emitter.patch
diff --git a/js68/SOURCES/emitter_test.patch 
b/js68/rpm/SOURCES/emitter_test.patch
similarity index 100%
rename from js68/SOURCES/emitter_test.patch
rename to js68/rpm/SOURCES/emitter_test.patch
diff --git a/js68/SOURCES/fix-soname.patch b/js68/rpm/SOURCES/fix-soname.patch
similarity index 100%
rename from js68/SOURCES/fix-soname.patch
rename to js68/rpm/SOURCES/fix-soname.patch
diff --git 
a/js68/SOURCES/icu_sources_data-Write-command-output-to-our-stderr.patch 
b/js68/rpm/SOURCES/icu_sources_data-Write-command-output-to-our-stderr.patch
similarity index 100%
rename from 
js68/SOURCES/icu_sources_data-Write-command-output-to-our-stderr.patch
rename to 
js68/rpm/SOURCES/icu_sources_data-Write-command-output-to-our-stderr.patch
diff --git 
a/js68/SOURCES/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch 
b/js68/rpm/SOURCES/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
similarity index 100%
rename from 
js68/SOURCES/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
rename to 
js68/rpm/SOURCES/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
diff --git a/js68/SOURCES/init_patch.patch b/js68/rpm/SOURCES/init_patch.patch
similarity index 100%
rename from js68/SOURCES/init_patch.patch
rename to js68/rpm/SOURCES/init_patch.patch
diff --git a/js68/SOURCES/jstests_python-3.patch 
b/js68/rpm/SOURCES/jstests_python-3.patch
similarity index 100%
rename from js68/SOURCES/jstests_python-3.patch
rename to js68/rpm/SOURCES/jstests_python-3.patch
diff --git a/js68/SOURCES/sources b/js68/rpm/SOURCES/sources
similarity index 100%
rename from js68/SOURCES/sources
rename to js68/rpm/SOURCES/sources
diff --git a/js68/SOURCES/spider

[couchdb-pkg] 02/03: feat: add aarch64-rhel build support

2022-02-06 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit 9387f4fdc4c1013fb32bb8442147988a529df7f0
Author: mokou 
AuthorDate: Wed Jan 12 14:12:47 2022 +0100

feat: add aarch64-rhel build support
---
 Makefile  |  8 
 rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch | 23 +++
 rpm/SPECS/couchdb.spec.in | 10 --
 3 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 77fdfa0..36bda2f 100644
--- a/Makefile
+++ b/Makefile
@@ -148,6 +148,14 @@ centos8: SPIDERMONKEY_DEV=mozjs60-devel
 centos8: SM_VER=60
 centos8: sm-ver-rpm make-rpmbuild centos
 
+# aarch64 RHEL-based
+aarch64-rhel: DIST=rhel
+# Needs 68 for aarch compat, we're using the included one here
+aarch64-rhel: SPIDERMONKEY=couch-js-68
+aarch64-rhel: SPIDERMONKEY_DEV=couch-js-68-devel
+aarch64-rhel: SM_VER=68
+aarch64-rhel: sm-ver-rpm make-rpmbuild centos
+
 openSUSE: centos7
 
 
diff --git a/rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch 
b/rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch
new file mode 100644
index 000..a96213e
--- /dev/null
+++ b/rpm/SOURCES/0001-build-with-sm68-on-aarch64.patch
@@ -0,0 +1,23 @@
+From: Peter Lemenkov 
+Date: Thu, 5 Mar 2020 16:36:42 +0300
+Subject: [PATCH] Build with SpiderMonkey 60 on ARM 64
+
+Signed-off-by: Peter Lemenkov 
+
+diff --git a/configure b/configure
+index 38e62e317..995b537f8 100755
+--- a/configure
 b/configure
+@@ -178,12 +178,6 @@ parse_opts() {
+
+ parse_opts $@
+
+-if [ "${ARCH}" = "aarch64" ] && [ "${SM_VSN}" != "1.8.5" ]
+-then
+-  echo "ERROR: SpiderMonkey 60 is known broken on ARM 64 (aarch64). Use 1.8.5 
instead."
+-  exit 1
+-fi
+-
+ echo "==> configuring couchdb in rel/couchdb.config"
+ cat > rel/couchdb.config << EOF
+ % Licensed under the Apache License, Version 2.0 (the "License"); you may not
diff --git a/rpm/SPECS/couchdb.spec.in b/rpm/SPECS/couchdb.spec.in
index bbb611c..990d8b8 100644
--- a/rpm/SPECS/couchdb.spec.in
+++ b/rpm/SPECS/couchdb.spec.in
@@ -28,10 +28,11 @@ Prefix:%{prefix}
 Group: Applications/Databases
 URL:   https://couchdb.apache.org/
 Vendor:The Apache Software Foundation
-BuildArch: x86_64 ppc64le
-ExclusiveArch: x86_64 ppc64le
+BuildArch: x86_64 ppc64le aarch64
+ExclusiveArch: x86_64 ppc64le aarch64
 Exclusiveos:   linux
 Packager:  CouchDB Developers 
+Patch1:0001-build-with-sm68-on-aarch64.patch
 
 %if 0%{?suse_version}
 BuildRequires: erlang
@@ -92,6 +93,11 @@ languages and environments.
 # NOTE: Stripping binaries causes issues so we skip it.
 %define __os_install_post %{nil}
 
+%prep
+%ifarch aarch64
+%patch01 -p1
+%endif
+
 %build
 ./configure --spidermonkey-version=%SM_VER%
 %{__make} release


[couchdb-pkg] 01/03: feat: initial js68 support

2022-02-06 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit 7c7eb6dc0f181f717872bbce9a8a7e2a00dccaa4
Author: mokou 
AuthorDate: Wed Jan 12 11:59:55 2022 +0100

feat: initial js68 support
---
 .gitignore |   1 +
 Makefile   |   5 +
 js68/SOURCES/Exclude-failing-tests-on-s390x.patch  |  29 ++
 ...e-unused-LLVM-and-Rust-build-dependencies.patch |  72 +
 ...able_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch |  10 +
 js68/SOURCES/build-icu-big-endian.patch|  12 +
 js68/SOURCES/copy-headers.patch|  29 ++
 js68/SOURCES/emitter.patch |  14 +
 js68/SOURCES/emitter_test.patch|  27 ++
 js68/SOURCES/fix-soname.patch  |  25 ++
 ...s_data-Write-command-output-to-our-stderr.patch |  34 +++
 ...ata.py-Decouple-from-Mozilla-build-system.patch |  26 ++
 js68/SOURCES/init_patch.patch  |  13 +
 js68/SOURCES/jstests_python-3.patch|  57 
 js68/SOURCES/sources   |   1 +
 js68/SOURCES/spidermonkey_checks_disable.patch |  10 +
 .../spidermonkey_style_check_disable_s390x.patch   |  11 +
 js68/SOURCES/tests-increase-timeout.patch  |  22 ++
 js68/SPECS/js68.spec   | 336 +
 19 files changed, 734 insertions(+)

diff --git a/.gitignore b/.gitignore
index d630ae8..395f1d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@ stage/
 *.tar.gz
 *.bak
 *~
+.idea/
diff --git a/Makefile b/Makefile
index 8366e15..77fdfa0 100644
--- a/Makefile
+++ b/Makefile
@@ -243,3 +243,8 @@ couch-js-rpms: couch-js-clean
cp js/src/js185-1.0.0.tar.gz ../rpmbuild/SOURCES
cd ../rpmbuild && rpmbuild --verbose -bb SPECS/js.spec
 
+couch-js-68-rpms: couch-js-clean
+   mkdir -p ../rpmbuild
+   cp -R js68/* ../rpmbuild
+   cd ../rpmbuild/SOURCES && curl -O 
https://ftp.mozilla.org/pub/firefox/releases/68.12.0esr/source/firefox-68.12.0esr.source.tar.xz
+   cd ../rpmbuild && rpmbuild --verbose -bb SPECS/js68.spec
diff --git a/js68/SOURCES/Exclude-failing-tests-on-s390x.patch 
b/js68/SOURCES/Exclude-failing-tests-on-s390x.patch
new file mode 100644
index 000..064f868
--- /dev/null
+++ b/js68/SOURCES/Exclude-failing-tests-on-s390x.patch
@@ -0,0 +1,29 @@
+From b9e1976edca1af828a219d5ac35d07202170e5ba Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= 
+Date: Mon, 24 Aug 2020 15:45:36 +0200
+Subject: [PATCH] Exclude failing tests on s390x
+
+---
+ js/src/tests/jstests.list | 6 ++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
+index 8f5c0df..75f80f8 100644
+--- a/js/src/tests/jstests.list
 b/js/src/tests/jstests.list
+@@ -493,6 +493,12 @@ skip script 
test262/language/expressions/class/elements/derived-cls-direct-eval-
+ skip script 
test262/language/statements/class/elements/derived-cls-direct-eval-err-contains-superproperty-1.js
+ skip script 
test262/language/statements/class/elements/derived-cls-direct-eval-err-contains-superproperty-2.js
+
++# Crashes on s390x and ppc64, avoid it
++skip-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-/)) script 
non262/extensions/clone-errors.js
++
++# Crashes on s390x
++skip-if(xulRuntime.XPCOMABI.match(/s390x/)) script 
test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
++skip-if(xulRuntime.XPCOMABI.match(/s390x/)) script 
non262/Intl/DateTimeFormat/timeZone_backward_links.js
+
+ ###
+ # Tests disabled due to issues in test262 importer script #
+--
+2.26.2
+
diff --git a/js68/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch 
b/js68/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch
new file mode 100644
index 000..d98b577
--- /dev/null
+++ b/js68/SOURCES/Remove-unused-LLVM-and-Rust-build-dependencies.patch
@@ -0,0 +1,72 @@
+Description: Remove unused LLVM and Rust build dependencies
+ Since the Javascript engine is normally part of Firefox, its build
+ system has dependencies on the LLVM and Rust toolchains. This limits
+ the number of architectures which mozjs68 can be built on.
+ .
+ It turns out, however, that neither LLVM nor Rust are used when mozjs68
+ is being built and these build dependencies are therefore not necessary.
+ .
+ This patch removes them and allows mozjs68 to be built on any architecture.
+ .
+Author: John Paul Adrian Glaubitz 
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959144
+Forwarded: no
+Last-Update: 2020-04-30
+
+Index: mozjs68-68.6.0/js/moz.configure
+===
+--- mozjs68-68.6.0.orig/js/moz.configure
 mozjs68-68.6.0/js/moz.configure

[couchdb] branch main updated: Fix publication of nightly packages (#3926)

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/main by this push:
 new a2f3626  Fix publication of nightly packages (#3926)
a2f3626 is described below

commit a2f3626a523808a73310ee90732129ec094ec513
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 17:23:53 2022 -0500

Fix publication of nightly packages (#3926)
---
 build-aux/Jenkinsfile.full | 40 +---
 1 file changed, 17 insertions(+), 23 deletions(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index 328812c..26cec87 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -381,7 +381,7 @@ pipeline {
 stage('Publish') {
 
   when {
-expression { return env.BRANCH_NAME ==~ 
/master|2.*.x|3.*.x|4.*.x|jenkins-.*/ }
+expression { return env.BRANCH_NAME ==~ 
/main|2.*.x|3.*.x|4.*.x|jenkins-.*/ }
   }
 
   agent {
@@ -404,36 +404,31 @@ pipeline {
   unstash 'tarball'
   unarchive mapping: ['pkgs/' : '.']
 
-  echo 'Retrieving & cleaning current repo-nightly tree...'
-  sh '''
+  sh( label: 'Retrieve & clean current repo-nightly tree', script: '''
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/$BRANCH_NAME . || mkdir -p 
$BRANCH_NAME
-rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6/* $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
-mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el6 $BRANCH_NAME/el7 
$BRANCH_NAME/el8 $BRANCH_NAME/source
+rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6 $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
+mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el7 $BRANCH_NAME/el8 
$BRANCH_NAME/source
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/js .
-  '''
+  ''' )
 
-  echo 'Building Debian repo...'
-  sh '''
+  sh( label: 'Build Debian repo', script: '''
 git clone https://github.com/apache/couchdb-pkg
 cp js/debian-stretch/*.deb pkgs/stretch
-reprepro -b couchdb-pkg/repo includedeb stretch pkgs/stretch/*.deb
-cp js/debian-buster/*.deb pkgs/stretch
-reprepro -b couchdb-pkg/repo includedeb buster pkgs/buster/*.deb
 cp js/ubuntu-bionic/*.deb pkgs/bionic
-reprepro -b couchdb-pkg/repo includedeb bionic pkgs/bionic/*.deb
-reprepro -b couchdb-pkg/repo includedeb focal pkgs/focal/*.deb
-  '''
+for plat in stretch buster bullseye bionic focal
+do
+  reprepro -b couchdb-pkg/repo includedeb $plat pkgs/$plat/*.deb
+done
+  ''' )
 
-  echo 'Building CentOS repos...'
-  sh '''
+  sh( label: 'Build CentOS repos', script: '''
 cp js/centos-7/*rpm pkgs/centos7
 cp js/centos-8/*rpm pkgs/centos8
 cd pkgs/centos7 && createrepo_c --database .
 cd ../centos8 && createrepo_c --database .
-  '''
+  ''' )
 
-  echo 'Building tree to upload...'
-  sh '''
+  sh( label: 'Build tree to upload', script: '''
 mv couchdb-pkg/repo/pool $BRANCH_NAME/debian
 mv couchdb-pkg/repo/dists $BRANCH_NAME/debian
 mv pkgs/centos7/* $BRANCH_NAME/el7
@@ -442,13 +437,12 @@ pipeline {
 cd $BRANCH_NAME/source
 ls -1tr | head -n -10 | xargs -d '\n' rm -f --
 cd ../..
-  '''
+  ''' )
 
-  echo 'rsyncing tree to repo-nightly...'
-  sh '''
+  sh( label: 'Sync tree back to repo-nightly', script: '''
 rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
$BRANCH_NAME jenk...@repo-nightly.couchdb.org:/var/www/html
 rm -rf $BRANCH_NAME couchdb-pkg *.tar.gz
-  '''
+  ''' )
 } // withCredentials
   } // steps
 } // stage


[couchdb] branch add-bullseye-repo-main updated (2512cd3 -> 6b00ec8)

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch add-bullseye-repo-main
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


 discard 2512cd3  Fix publication of nightly packages (#3925)
 add 6b00ec8  Fix publication of nightly packages

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (2512cd3)
\
 N -- N -- N   refs/heads/add-bullseye-repo-main (6b00ec8)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:


[couchdb] 01/01: Fix publication of nightly packages (#3925)

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch add-bullseye-repo-main
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 2512cd38e90340203f1ab6736e598b2f732af51e
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 14:45:30 2022 -0500

Fix publication of nightly packages (#3925)

* Remove leftover CentOS 6 RPM bits

* Stop publishing SM 1.8.5 package for Debian 10

We're using the native SM 60 package in the CI system. If you look
closely you'll see that we weren't actually successfully publishing that
package anyway, so removing this line is a no-op.

* Publish Debian 11 packages

* Publish packages on main, not master

* Apply labels directly to build steps
---
 build-aux/Jenkinsfile.full | 40 +---
 1 file changed, 17 insertions(+), 23 deletions(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index 328812c..26cec87 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -381,7 +381,7 @@ pipeline {
 stage('Publish') {
 
   when {
-expression { return env.BRANCH_NAME ==~ 
/master|2.*.x|3.*.x|4.*.x|jenkins-.*/ }
+expression { return env.BRANCH_NAME ==~ 
/main|2.*.x|3.*.x|4.*.x|jenkins-.*/ }
   }
 
   agent {
@@ -404,36 +404,31 @@ pipeline {
   unstash 'tarball'
   unarchive mapping: ['pkgs/' : '.']
 
-  echo 'Retrieving & cleaning current repo-nightly tree...'
-  sh '''
+  sh( label: 'Retrieve & clean current repo-nightly tree', script: '''
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/$BRANCH_NAME . || mkdir -p 
$BRANCH_NAME
-rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6/* $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
-mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el6 $BRANCH_NAME/el7 
$BRANCH_NAME/el8 $BRANCH_NAME/source
+rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6 $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
+mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el7 $BRANCH_NAME/el8 
$BRANCH_NAME/source
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/js .
-  '''
+  ''' )
 
-  echo 'Building Debian repo...'
-  sh '''
+  sh( label: 'Build Debian repo', script: '''
 git clone https://github.com/apache/couchdb-pkg
 cp js/debian-stretch/*.deb pkgs/stretch
-reprepro -b couchdb-pkg/repo includedeb stretch pkgs/stretch/*.deb
-cp js/debian-buster/*.deb pkgs/stretch
-reprepro -b couchdb-pkg/repo includedeb buster pkgs/buster/*.deb
 cp js/ubuntu-bionic/*.deb pkgs/bionic
-reprepro -b couchdb-pkg/repo includedeb bionic pkgs/bionic/*.deb
-reprepro -b couchdb-pkg/repo includedeb focal pkgs/focal/*.deb
-  '''
+for plat in stretch buster bullseye bionic focal
+do
+  reprepro -b couchdb-pkg/repo includedeb $plat pkgs/$plat/*.deb
+done
+  ''' )
 
-  echo 'Building CentOS repos...'
-  sh '''
+  sh( label: 'Build CentOS repos', script: '''
 cp js/centos-7/*rpm pkgs/centos7
 cp js/centos-8/*rpm pkgs/centos8
 cd pkgs/centos7 && createrepo_c --database .
 cd ../centos8 && createrepo_c --database .
-  '''
+  ''' )
 
-  echo 'Building tree to upload...'
-  sh '''
+  sh( label: 'Build tree to upload', script: '''
 mv couchdb-pkg/repo/pool $BRANCH_NAME/debian
 mv couchdb-pkg/repo/dists $BRANCH_NAME/debian
 mv pkgs/centos7/* $BRANCH_NAME/el7
@@ -442,13 +437,12 @@ pipeline {
 cd $BRANCH_NAME/source
 ls -1tr | head -n -10 | xargs -d '\n' rm -f --
 cd ../..
-  '''
+  ''' )
 
-  echo 'rsyncing tree to repo-nightly...'
-  sh '''
+  sh( label: 'Sync tree back to repo-nightly', script: '''
 rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
$BRANCH_NAME jenk...@repo-nightly.couchdb.org:/var/www/html
 rm -rf $BRANCH_NAME couchdb-pkg *.tar.gz
-  '''
+  ''' )
 } // withCredentials
   } // steps
 } // stage


[couchdb] branch add-bullseye-repo-main created (now 2512cd3)

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch add-bullseye-repo-main
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


  at 2512cd3  Fix publication of nightly packages (#3925)

This branch includes the following new commits:

 new 2512cd3  Fix publication of nightly packages (#3925)

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb] branch 3.x updated: Fix publication of nightly packages (#3925)

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.x
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/3.x by this push:
 new 6594045  Fix publication of nightly packages (#3925)
6594045 is described below

commit 6594045637ba3b7388c419ae31e5bd2491278b99
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 14:45:30 2022 -0500

Fix publication of nightly packages (#3925)

* Remove leftover CentOS 6 RPM bits

* Stop publishing SM 1.8.5 package for Debian 10

We're using the native SM 60 package in the CI system. If you look
closely you'll see that we weren't actually successfully publishing that
package anyway, so removing this line is a no-op.

* Publish Debian 11 packages

* Publish packages on main, not master

* Apply labels directly to build steps
---
 build-aux/Jenkinsfile.full | 40 +---
 1 file changed, 17 insertions(+), 23 deletions(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index a443d1d..0132eb5 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -381,7 +381,7 @@ pipeline {
 stage('Publish') {
 
   when {
-expression { return env.BRANCH_NAME ==~ 
/master|2.*.x|3.*.x|4.*.x|jenkins-.*/ }
+expression { return env.BRANCH_NAME ==~ 
/main|2.*.x|3.*.x|4.*.x|jenkins-.*/ }
   }
 
   agent {
@@ -404,36 +404,31 @@ pipeline {
   unstash 'tarball'
   unarchive mapping: ['pkgs/' : '.']
 
-  echo 'Retrieving & cleaning current repo-nightly tree...'
-  sh '''
+  sh( label: 'Retrieve & clean current repo-nightly tree', script: '''
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/$BRANCH_NAME . || mkdir -p 
$BRANCH_NAME
-rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6/* $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
-mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el6 $BRANCH_NAME/el7 
$BRANCH_NAME/el8 $BRANCH_NAME/source
+rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6 $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
+mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el7 $BRANCH_NAME/el8 
$BRANCH_NAME/source
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/js .
-  '''
+  ''' )
 
-  echo 'Building Debian repo...'
-  sh '''
+  sh( label: 'Build Debian repo', script: '''
 git clone https://github.com/apache/couchdb-pkg
 cp js/debian-stretch/*.deb pkgs/stretch
-reprepro -b couchdb-pkg/repo includedeb stretch pkgs/stretch/*.deb
-cp js/debian-buster/*.deb pkgs/stretch
-reprepro -b couchdb-pkg/repo includedeb buster pkgs/buster/*.deb
 cp js/ubuntu-bionic/*.deb pkgs/bionic
-reprepro -b couchdb-pkg/repo includedeb bionic pkgs/bionic/*.deb
-reprepro -b couchdb-pkg/repo includedeb focal pkgs/focal/*.deb
-  '''
+for plat in stretch buster bullseye bionic focal
+do
+  reprepro -b couchdb-pkg/repo includedeb $plat pkgs/$plat/*.deb
+done
+  ''' )
 
-  echo 'Building CentOS repos...'
-  sh '''
+  sh( label: 'Build CentOS repos', script: '''
 cp js/centos-7/*rpm pkgs/centos7
 cp js/centos-8/*rpm pkgs/centos8
 cd pkgs/centos7 && createrepo_c --database .
 cd ../centos8 && createrepo_c --database .
-  '''
+  ''' )
 
-  echo 'Building tree to upload...'
-  sh '''
+  sh( label: 'Build tree to upload', script: '''
 mv couchdb-pkg/repo/pool $BRANCH_NAME/debian
 mv couchdb-pkg/repo/dists $BRANCH_NAME/debian
 mv pkgs/centos7/* $BRANCH_NAME/el7
@@ -442,13 +437,12 @@ pipeline {
 cd $BRANCH_NAME/source
 ls -1tr | head -n -10 | xargs -d '\n' rm -f --
 cd ../..
-  '''
+  ''' )
 
-  echo 'rsyncing tree to repo-nightly...'
-  sh '''
+  sh( label: 'Sync tree back to repo-nightly', script: '''
 rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
$BRANCH_NAME jenk...@repo-nightly.couchdb.org:/var/www/html
 rm -rf $BRANCH_NAME couchdb-pkg *.tar.gz
-  '''
+  ''' )
 } // withCredentials
   } // steps
 } // stage


[couchdb-pkg] branch main updated: Add bullseye to distributions

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git


The following commit(s) were added to refs/heads/main by this push:
 new 7a653fa  Add bullseye to distributions
7a653fa is described below

commit 7a653faf4b641aee5a17a85c7e218f4d213bdc7f
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 11:36:29 2022 -0500

Add bullseye to distributions
---
 repo/conf/distributions | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/repo/conf/distributions b/repo/conf/distributions
index 09ea0c1..c9fd711 100644
--- a/repo/conf/distributions
+++ b/repo/conf/distributions
@@ -11,7 +11,12 @@ Description: Official CouchDB Debian stretch repository
 Codename: buster
 Components: main
 Architectures: amd64 arm64 ppc64el
-Description: Official CouchDB Debian stretch repository
+Description: Official CouchDB Debian buster repository
+
+Codename: bullseye
+Components: main
+Architectures: amd64 arm64 ppc64el
+Description: Official CouchDB Debian bullseye repository
 
 Codename: xenial
 Components: main


[couchdb-pkg] 01/01: Add bullseye to distributions

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch add-bullseye-repo
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git

commit fc4f27eddff6f1a01d5831b342215c413113327e
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 11:36:29 2022 -0500

Add bullseye to distributions
---
 repo/conf/distributions | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/repo/conf/distributions b/repo/conf/distributions
index 09ea0c1..c9fd711 100644
--- a/repo/conf/distributions
+++ b/repo/conf/distributions
@@ -11,7 +11,12 @@ Description: Official CouchDB Debian stretch repository
 Codename: buster
 Components: main
 Architectures: amd64 arm64 ppc64el
-Description: Official CouchDB Debian stretch repository
+Description: Official CouchDB Debian buster repository
+
+Codename: bullseye
+Components: main
+Architectures: amd64 arm64 ppc64el
+Description: Official CouchDB Debian bullseye repository
 
 Codename: xenial
 Components: main


[couchdb-pkg] branch add-bullseye-repo created (now fc4f27e)

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch add-bullseye-repo
in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git.


  at fc4f27e  Add bullseye to distributions

This branch includes the following new commits:

 new fc4f27e  Add bullseye to distributions

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb] 05/05: Apply labels directly to build steps

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch jenkins-bullseye-nightly
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 1e00e47e755e94bf3892a79925aea19e04fc90f5
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 10:34:18 2022 -0500

Apply labels directly to build steps
---
 build-aux/Jenkinsfile.full | 25 ++---
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index 8bb6de9..0132eb5 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -404,16 +404,14 @@ pipeline {
   unstash 'tarball'
   unarchive mapping: ['pkgs/' : '.']
 
-  echo 'Retrieving & cleaning current repo-nightly tree...'
-  sh '''
+  sh( label: 'Retrieve & clean current repo-nightly tree', script: '''
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/$BRANCH_NAME . || mkdir -p 
$BRANCH_NAME
 rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6 $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
 mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el7 $BRANCH_NAME/el8 
$BRANCH_NAME/source
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/js .
-  '''
+  ''' )
 
-  echo 'Building Debian repo...'
-  sh '''
+  sh( label: 'Build Debian repo', script: '''
 git clone https://github.com/apache/couchdb-pkg
 cp js/debian-stretch/*.deb pkgs/stretch
 cp js/ubuntu-bionic/*.deb pkgs/bionic
@@ -421,18 +419,16 @@ pipeline {
 do
   reprepro -b couchdb-pkg/repo includedeb $plat pkgs/$plat/*.deb
 done
-  '''
+  ''' )
 
-  echo 'Building CentOS repos...'
-  sh '''
+  sh( label: 'Build CentOS repos', script: '''
 cp js/centos-7/*rpm pkgs/centos7
 cp js/centos-8/*rpm pkgs/centos8
 cd pkgs/centos7 && createrepo_c --database .
 cd ../centos8 && createrepo_c --database .
-  '''
+  ''' )
 
-  echo 'Building tree to upload...'
-  sh '''
+  sh( label: 'Build tree to upload', script: '''
 mv couchdb-pkg/repo/pool $BRANCH_NAME/debian
 mv couchdb-pkg/repo/dists $BRANCH_NAME/debian
 mv pkgs/centos7/* $BRANCH_NAME/el7
@@ -441,13 +437,12 @@ pipeline {
 cd $BRANCH_NAME/source
 ls -1tr | head -n -10 | xargs -d '\n' rm -f --
 cd ../..
-  '''
+  ''' )
 
-  echo 'rsyncing tree to repo-nightly...'
-  sh '''
+  sh( label: 'Sync tree back to repo-nightly', script: '''
 rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
$BRANCH_NAME jenk...@repo-nightly.couchdb.org:/var/www/html
 rm -rf $BRANCH_NAME couchdb-pkg *.tar.gz
-  '''
+  ''' )
 } // withCredentials
   } // steps
 } // stage


[couchdb] 04/05: Publish packages on main, not master

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch jenkins-bullseye-nightly
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 8460bb43b26f5686f0df18cfe6aa7af6e46a3b7a
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 10:29:49 2022 -0500

Publish packages on main, not master
---
 build-aux/Jenkinsfile.full | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index 9228a97..8bb6de9 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -381,7 +381,7 @@ pipeline {
 stage('Publish') {
 
   when {
-expression { return env.BRANCH_NAME ==~ 
/master|2.*.x|3.*.x|4.*.x|jenkins-.*/ }
+expression { return env.BRANCH_NAME ==~ 
/main|2.*.x|3.*.x|4.*.x|jenkins-.*/ }
   }
 
   agent {


[couchdb] 01/05: Remove leftover CentOS 6 RPM bits

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch jenkins-bullseye-nightly
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit d4aff5d6736ed09fd42476dcbf6d60e98118feb0
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 10:19:50 2022 -0500

Remove leftover CentOS 6 RPM bits
---
 build-aux/Jenkinsfile.full | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index a443d1d..c318394 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -407,8 +407,8 @@ pipeline {
   echo 'Retrieving & cleaning current repo-nightly tree...'
   sh '''
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/$BRANCH_NAME . || mkdir -p 
$BRANCH_NAME
-rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6/* $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
-mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el6 $BRANCH_NAME/el7 
$BRANCH_NAME/el8 $BRANCH_NAME/source
+rm -rf $BRANCH_NAME/debian/* $BRANCH_NAME/el6 $BRANCH_NAME/el7/* 
$BRANCH_NAME/el8/*
+mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el7 $BRANCH_NAME/el8 
$BRANCH_NAME/source
 rsync -avz -e "ssh -o StrictHostKeyChecking=no -i $KEY" 
jenk...@repo-nightly.couchdb.org:/var/www/html/js .
   '''
 


[couchdb] 02/05: Stop publishing SM 1.8.5 package for Debian 10

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch jenkins-bullseye-nightly
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 5416f6c3573a76e1f91b2a681c85b0f85ec8a137
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 10:20:04 2022 -0500

Stop publishing SM 1.8.5 package for Debian 10

We're using the native SM 60 package in the CI system. If you look
closely you'll see that we weren't actually successfully publishing that
package anyway, so removing this line is a no-op.
---
 build-aux/Jenkinsfile.full | 1 -
 1 file changed, 1 deletion(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index c318394..95bf022 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -417,7 +417,6 @@ pipeline {
 git clone https://github.com/apache/couchdb-pkg
 cp js/debian-stretch/*.deb pkgs/stretch
 reprepro -b couchdb-pkg/repo includedeb stretch pkgs/stretch/*.deb
-cp js/debian-buster/*.deb pkgs/stretch
 reprepro -b couchdb-pkg/repo includedeb buster pkgs/buster/*.deb
 cp js/ubuntu-bionic/*.deb pkgs/bionic
 reprepro -b couchdb-pkg/repo includedeb bionic pkgs/bionic/*.deb


[couchdb] 03/05: Publish Debian 11 packages

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch jenkins-bullseye-nightly
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 8ff804e34b85e1fcc2d3e972210a422d8c1af390
Author: Adam Kocoloski 
AuthorDate: Sat Feb 5 10:27:58 2022 -0500

Publish Debian 11 packages
---
 build-aux/Jenkinsfile.full | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index 95bf022..9228a97 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -416,11 +416,11 @@ pipeline {
   sh '''
 git clone https://github.com/apache/couchdb-pkg
 cp js/debian-stretch/*.deb pkgs/stretch
-reprepro -b couchdb-pkg/repo includedeb stretch pkgs/stretch/*.deb
-reprepro -b couchdb-pkg/repo includedeb buster pkgs/buster/*.deb
 cp js/ubuntu-bionic/*.deb pkgs/bionic
-reprepro -b couchdb-pkg/repo includedeb bionic pkgs/bionic/*.deb
-reprepro -b couchdb-pkg/repo includedeb focal pkgs/focal/*.deb
+for plat in stretch buster bullseye bionic focal
+do
+  reprepro -b couchdb-pkg/repo includedeb $plat pkgs/$plat/*.deb
+done
   '''
 
   echo 'Building CentOS repos...'


[couchdb] branch jenkins-bullseye-nightly created (now 1e00e47)

2022-02-05 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch jenkins-bullseye-nightly
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


  at 1e00e47  Apply labels directly to build steps

This branch includes the following new commits:

 new d4aff5d  Remove leftover CentOS 6 RPM bits
 new 5416f6c  Stop publishing SM 1.8.5 package for Debian 10
 new 8ff804e  Publish Debian 11 packages
 new 8460bb4  Publish packages on main, not master
 new 1e00e47  Apply labels directly to build steps

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb-docker] branch main updated: fix(entrypoint): move secret from [couch_httpd_auth] to [chttpd_auth] section for CouchDB 3.2.x

2022-02-03 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-docker.git


The following commit(s) were added to refs/heads/main by this push:
 new c2c672e  fix(entrypoint): move secret from [couch_httpd_auth] to 
[chttpd_auth] section for CouchDB 3.2.x
c2c672e is described below

commit c2c672efb39b6269c8e020bfd6c90c92af586bba
Author: Tobias Gesellchen 
AuthorDate: Thu Feb 3 23:49:42 2022 +0100

fix(entrypoint): move secret from [couch_httpd_auth] to [chttpd_auth] 
section for CouchDB 3.2.x
---
 3.2.0-ubi-clouseau/resources/docker-entrypoint.sh | 4 ++--
 3.2.0/docker-entrypoint.sh| 4 ++--
 3.2.1/docker-entrypoint.sh| 4 ++--
 dev/docker-entrypoint.sh  | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/3.2.0-ubi-clouseau/resources/docker-entrypoint.sh 
b/3.2.0-ubi-clouseau/resources/docker-entrypoint.sh
index 094a8f9..0592c68 100755
--- a/3.2.0-ubi-clouseau/resources/docker-entrypoint.sh
+++ b/3.2.0-ubi-clouseau/resources/docker-entrypoint.sh
@@ -101,8 +101,8 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
 
if [ "$COUCHDB_SECRET" ]; then
# Set secret only if not already present
-   if ! grep -Pzoqr "\[couch_httpd_auth\]\nsecret =" 
/opt/couchdb/etc/local.d/*.ini; then
-   printf "\n[couch_httpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
+   if ! grep -Pzoqr "\[chttpd_auth\]\nsecret =" 
/opt/couchdb/etc/local.d/*.ini; then
+   printf "\n[chttpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
fi
fi
 
diff --git a/3.2.0/docker-entrypoint.sh b/3.2.0/docker-entrypoint.sh
index acf3675..4b8b4f4 100755
--- a/3.2.0/docker-entrypoint.sh
+++ b/3.2.0/docker-entrypoint.sh
@@ -72,8 +72,8 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
 
if [ "$COUCHDB_SECRET" ]; then
# Set secret only if not already present
-   if ! grep -Pzoqr "\[couch_httpd_auth\]\nsecret =" 
/opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then
-   printf "\n[couch_httpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
+   if ! grep -Pzoqr "\[chttpd_auth\]\nsecret =" 
/opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then
+   printf "\n[chttpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
fi
fi
 
diff --git a/3.2.1/docker-entrypoint.sh b/3.2.1/docker-entrypoint.sh
index acf3675..4b8b4f4 100755
--- a/3.2.1/docker-entrypoint.sh
+++ b/3.2.1/docker-entrypoint.sh
@@ -72,8 +72,8 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
 
if [ "$COUCHDB_SECRET" ]; then
# Set secret only if not already present
-   if ! grep -Pzoqr "\[couch_httpd_auth\]\nsecret =" 
/opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then
-   printf "\n[couch_httpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
+   if ! grep -Pzoqr "\[chttpd_auth\]\nsecret =" 
/opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then
+   printf "\n[chttpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
fi
fi
 
diff --git a/dev/docker-entrypoint.sh b/dev/docker-entrypoint.sh
index 7390bd4..4c1f9bf 100755
--- a/dev/docker-entrypoint.sh
+++ b/dev/docker-entrypoint.sh
@@ -64,8 +64,8 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
 
if [ "$COUCHDB_SECRET" ]; then
# Set secret only if not already present
-   if ! grep -Pzoqr "\[couch_httpd_auth\]\nsecret =" 
/opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then
-   printf "\n[couch_httpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
+   if ! grep -Pzoqr "\[chttpd_auth\]\nsecret =" 
/opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then
+   printf "\n[chttpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
fi
fi
 


[couchdb] branch main updated: Random bits of cleanup (#3914)

2022-02-01 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/main by this push:
 new 76fb5b9  Random bits of cleanup (#3914)
76fb5b9 is described below

commit 76fb5b96484f369ca81d524f1a06fea151fd4a4c
Author: Adam Kocoloski 
AuthorDate: Tue Feb 1 11:12:08 2022 -0500

Random bits of cleanup (#3914)

* Remove emilio-related Python script

The Emilio style checker was removed in #3674.

* Remove unused scripts from autotools days

* Update credo to support Elixir v1.12

* Ensure the bin directory sticks around
---
 bin/.keep  |   1 +
 bin/erlang-version.escript |   3 --
 bin/warnings_in_scope  | 125 -
 build-aux/dist-error   |  28 --
 build-aux/sphinx-build |  34 
 build-aux/sphinx-touch |  24 -
 mix.lock   |   4 +-
 7 files changed, 3 insertions(+), 216 deletions(-)

diff --git a/bin/.keep b/bin/.keep
new file mode 100644
index 000..ae3b702
--- /dev/null
+++ b/bin/.keep
@@ -0,0 +1 @@
+The build system expects to drop `rebar`, `rebar3` and `erlfmt` in here, and 
doesn't try to create the directory first.
diff --git a/bin/erlang-version.escript b/bin/erlang-version.escript
deleted file mode 100644
index 66aae1c..000
--- a/bin/erlang-version.escript
+++ /dev/null
@@ -1,3 +0,0 @@
-
-main(_) ->
-  io:format("~s~n", [erlang:system_info(otp_release)]).
diff --git a/bin/warnings_in_scope b/bin/warnings_in_scope
deleted file mode 100755
index 2a85421..000
--- a/bin/warnings_in_scope
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/usr/bin/env python3
-import os
-import subprocess
-from pathlib import Path
-import optparse
-import sys
-import re
-
-def run(command, cwd=None):
-try:
-return subprocess.Popen(
-command, shell=True, cwd=cwd,
-stdout=subprocess.PIPE,
-stderr=subprocess.PIPE)
-except OSError as err:
-raise OSError("Error in command '{0}': {1}".format(command, err))
-
-def parse_location(line):
-# take substring between @@
-# take second part of it
-location = line.split(b'@@')[1].strip().split(b' ')[1]
-tokens = location.split(b',')
-if len(tokens) == 1:
-return (int(tokens[0][1:]), 1)
-elif len(tokens) == 2:
-return (int(tokens[0][1:]), int(tokens[1]))
-
-def changed_files(directory, scope):
-result = {}
-proc = run('git diff --no-prefix --unified={0}'.format(scope), 
cwd=str(directory))
-file_path = None
-for line in iter(proc.stdout.readline, b''):
-if line.startswith(b'diff --git '):
-# this would be problematic if directory has space in the name
-file_name = line.split(b' ')[3].strip()
-file_path = str(directory.joinpath(str(file_name, 'utf-8')))
-result[file_path] = set()
-continue
-if line.startswith(b'@@'):
-start_pos, number_of_lines = parse_location(line)
-for line_number in range(start_pos, start_pos + number_of_lines):
-result[file_path].add(line_number)
-return result
-
-def print_changed(file_name, line_number):
-print('{0}:{1}'.format(str(file_name), str(line_number)))
-
-def changes(dirs, scope):
-result = {}
-for directory in dirs:
-result.update(changed_files(directory, scope))
-return result
-
-def repositories(root):
-for directory in Path(root).rglob('.git'):
-if not directory.is_dir():
-continue
-yield directory.parent
-
-def setup_argparse():
-parser = optparse.OptionParser(description="Filter output to remove 
unrelated warning")
-parser.add_option(
-"-r",
-"--regexp",
-dest="regexp",
-default='(?P[^:]+):(?P\d+).*',
-help="Regexp used to extract file_name and line number",
-)
-parser.add_option(
-"-s",
-"--scope",
-dest="scope",
-default=0,
-help="Number of lines surrounding the change we consider relevant",
-)
-parser.add_option(
-"-p",
-"--print-only",
-action="store_true",
-dest="print_only",
-default=False,
-help="Print changed lines only",
-)
-return parser.parse_args()
-
-def filter_stdin(regexp, changes):
-any_matches = False
-for line in iter(sys.stdin.readline, ''):
-matches = re.match(regexp, line)
-if matches:
-file_name = matches.group('file_name')
- 

[couchdb] branch random-bits-of-cleanup updated (6fac23d -> 9479eca)

2022-02-01 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch random-bits-of-cleanup
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from 6fac23d  Ensure the bin directory sticks around
 add bef7838  Fix typos (#3916)
 add 9479eca  Merge branch 'main' into random-bits-of-cleanup

No new revisions were added by this update.

Summary of changes:
 COMMITTERS.md |  2 +-
 FDB_NOTES.md  | 17 -
 2 files changed, 9 insertions(+), 10 deletions(-)


[couchdb] branch random-bits-of-cleanup updated (5a8819f -> 6fac23d)

2022-01-29 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch random-bits-of-cleanup
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from 5a8819f  Update credo to support Elixir v1.12
 add 6fac23d  Ensure the bin directory sticks around

No new revisions were added by this update.

Summary of changes:
 bin/.keep | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 bin/.keep


[couchdb-helm] branch main updated: Add helm post-install hook to automate placement tagging in CouchDB nodes (#66)

2022-01-29 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git


The following commit(s) were added to refs/heads/main by this push:
 new 22761f9  Add helm post-install hook to automate placement tagging in 
CouchDB nodes  (#66)
22761f9 is described below

commit 22761f957d8ac44bd76821f2c697ebcfa67abc46
Author: Francisco Alberto Salazar Herrera 
AuthorDate: Sat Jan 29 22:45:32 2022 -0300

Add helm post-install hook to automate placement tagging in CouchDB nodes  
(#66)

* Add placementManager Job to automate placement tagging
* Bump chart version to 3.6.0
---
 couchdb/Chart.yaml  |   2 +-
 couchdb/README.md   |   4 +++
 couchdb/templates/placementmanager.yaml |  44 
 couchdb/values.yaml |  10 
 docs/couchdb-3.6.0.tgz  | Bin 0 -> 11347 bytes
 docs/index.yaml |  26 ++-
 6 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/couchdb/Chart.yaml b/couchdb/Chart.yaml
index 8d1cbae..80269a0 100644
--- a/couchdb/Chart.yaml
+++ b/couchdb/Chart.yaml
@@ -1,6 +1,6 @@
 apiVersion: v1
 name: couchdb
-version: 3.5.2
+version: 3.6.0
 appVersion: 3.2.1
 description: A database featuring seamless multi-master sync, that scales from
   big data to mobile, with an intuitive HTTP/JSON API and designed for
diff --git a/couchdb/README.md b/couchdb/README.md
index 6cb285a..bd06357 100644
--- a/couchdb/README.md
+++ b/couchdb/README.md
@@ -214,6 +214,10 @@ A variety of other parameters are also configurable. See 
the comments in the
 | `prometheusPort.enabled` | false 
 |
 | `prometheusPort.port`| 17896 
 |
 | `prometheusPort.bind_address`| 0.0.0.0   
 |
+| `placementConfig.enabled`| false 
 |
+| `placementConfig.image.repository`   | 
caligrafix/couchdb-autoscaler-placement-manager|
+| `placementConfig.image.tag`  | 0.1.0 
 |
+
 ## Feedback, Issues, Contributing
 
 General feedback is welcome at our [user][1] or [developer][2] mailing lists.
diff --git a/couchdb/templates/placementmanager.yaml 
b/couchdb/templates/placementmanager.yaml
new file mode 100644
index 000..b77d723
--- /dev/null
+++ b/couchdb/templates/placementmanager.yaml
@@ -0,0 +1,44 @@
+{{- if .Values.placementConfig.enabled -}}
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ template "couchdb.fullname" . }}
+  labels:
+app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
+app.kubernetes.io/instance: {{ .Release.Name | quote }}
+app.kubernetes.io/version: {{ .Chart.AppVersion }}
+helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+  annotations:
+# This is what defines this resource as a hook. Without this line, the
+# job is considered part of the release.
+"helm.sh/hook": post-install
+"helm.sh/hook-weight": "-5"
+"helm.sh/hook-delete-policy": before-hook-creation
+spec:
+  template:
+metadata:
+  name: "{{ .Release.Name }}"
+  labels:
+app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
+app.kubernetes.io/instance: {{ .Release.Name | quote }}
+helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+spec:
+  restartPolicy: OnFailure
+  containers:
+  - name: placement-tagging-job
+image: {{ .Values.placementConfig.image.repository }}:{{ 
.Values.placementConfig.image.tag }}
+imagePullPolicy: Always
+args: ["--placement-manager"]
+envFrom:
+  - secretRef:
+  name: couchdb-couchdb
+  - configMapRef:
+  name: {{ template "couchdb.fullname" . }}
+env:
+  - name: NAMESPACE
+value: {{ .Release.Namespace }}
+  - name: COUCHDB_SVC
+value: {{ template "couchdb.svcname" . }}
+  - name: COUCHDB_PORT
+value: {{ .Values.service.externalPort | quote }}
+{{- end -}}
diff --git a/couchdb/values.yaml b/couchdb/values.yaml
index e45f56b..f76dc25 100644
--- a/couchdb/values.yaml
+++ b/couchdb/values.yaml
@@ -221,3 +221,13 @@ sidecars: {}
   #   volumeMounts:
   # - name: database-storage
   #   mountPath: /opt/couchdb/data/
+
+
+# Placement manager to annotate each document in the nodes DB with "zone" 
attribute
+# recording the zone where node has been scheduled
+# Ref: 
https://docs.couchdb.org/en/stable/cluster/sharding.html#specifying-database-placement
+placementConfig:
+  enabled: false
+  image:
+repository: caligrafix/couch

[couchdb-documentation] branch main updated: Update link to spidermonkey (#702)

2022-01-29 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git


The following commit(s) were added to refs/heads/main by this push:
 new 4531443  Update link to spidermonkey (#702)
4531443 is described below

commit 4531443b2853b958f625a45ee15bea28ae9a9c81
Author: Ronny 
AuthorDate: Sun Jan 30 02:34:46 2022 +0100

Update link to spidermonkey (#702)
---
 src/install/unix.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/install/unix.rst b/src/install/unix.rst
index dfe1364..6472b1b 100644
--- a/src/install/unix.rst
+++ b/src/install/unix.rst
@@ -146,7 +146,7 @@ You should have the following installed:
 * `Erlang OTP (20.x >= 21.3.8.5, 21.x >= 21.2.3, 22.x >= 22.0.5, 23.x, 24.x) 
<http://erlang.org/>`_
 * `ICU  <http://icu-project.org/>`_
 * `OpenSSL  <http://www.openssl.org/>`_
-* `Mozilla SpiderMonkey (1.8.5, 60, 68, 78) 
<https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey>`_
+* `Mozilla SpiderMonkey (1.8.5, 60, 68, 78) <https://spidermonkey.dev/>`_
 * `GNU Make <http://www.gnu.org/software/make/>`_
 * `GNU Compiler Collection  <http://gcc.gnu.org/>`_
 * `libcurl  <http://curl.haxx.se/libcurl/>`_


[couchdb] 03/03: Update credo to support Elixir v1.12

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch random-bits-of-cleanup
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 5a8819f3a9e97edfc4acabbbca4bc5ff81311f7c
Author: Adam Kocoloski 
AuthorDate: Tue Jan 25 20:58:04 2022 -0500

Update credo to support Elixir v1.12
---
 mix.lock | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mix.lock b/mix.lock
index 505d7f2..48e7c71 100644
--- a/mix.lock
+++ b/mix.lock
@@ -1,14 +1,14 @@
 %{
   "bunt": {:hex, :bunt, "0.2.0", 
"951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], 
"hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"},
   "certifi": {:hex, :certifi, "2.5.1", 
"867ce347f7c7d78563450a18a6a28a8090331e77fa02380b4a21962a65d36ee5", [:rebar3], 
[{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], 
"hexpm", "805abd97539caf89ec6d4732c91e62ba9da0cda51ac462380bbd28ee697a8c42"},
-  "credo": {:hex, :credo, "1.5.4", 
"9914180105b438e378e94a844ec3a5088ae5875626fc945b7c1462b41afc3198", [:mix], 
[{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, 
{:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: 
false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], 
"hexpm", "cf51af45eadc0a3f39ba13b56fdac415c91b34f7b7533a13dc13550277141bc4"},
+  "credo": {:hex, :credo, "1.5.6", 
"e04cc0fdc236fefbb578e0c04bd01a471081616e741d386909e527ac146016c6", [:mix], 
[{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, 
{:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: 
false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], 
"hexpm", "4b52a3e558bd64e30de62a648518a5ea2b6e3e5d2b164ef5296244753fc7eb17"},
   "excoveralls": {:hex, :excoveralls, "0.12.1", 
"a553c59f6850d0aff3770e4729515762ba7c8e41eedde03208182a8dc9d0ce07", [:mix], 
[{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}, 
{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", 
"5c1f717066a299b1b732249e736c5da96bb4120d1e55dc2e6f442d251e18a812"},
   "file_system": {:hex, :file_system, "0.2.10", 
"fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], 
"hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
   "hackney": {:hex, :hackney, "1.15.2", 
"07e33c794f8f8964ee86cebec1a8ed88db5070e52e904b8f12209773c1036085", [:rebar3], 
[{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, 
"6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", 
[hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: 
:mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.5", [hex: 
:ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "e0100 [...]
   "httpotion": {:hex, :httpotion, "3.1.3", 
"fdaf1e16b9318dcb722de57e75ac368c93d4c6e3c9125f93e960f953a750fb77", [:mix], 
[{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}], 
"hexpm", "e420172ef697a0f1f4dc40f89a319d5a3aad90ec51fa424f08c115f04192ae43"},
   "ibrowse": {:hex, :ibrowse, "4.4.0", 
"2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], 
[], "hexpm"},
   "idna": {:hex, :idna, "6.0.0", 
"689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], 
[{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", 
optional: false]}], "hexpm", 
"4bdd305eb64e18b0273864920695cb18d7a2021f31a11b9c5fbcd9a253f936e2"},
-  "jason": {:hex, :jason, "1.2.2", 
"ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], 
[{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: 
true]}], "hexpm", 
"18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"},
+  "jason": {:hex, :jason, "1.3.0", 
"fa6b82a934feb176263ad2df0dbd91bf633d4a46ebfdffea0c8ae82953714946", [:mix], 
[{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: 
true]}], "hexpm", 
"53fc1f51255390e0ec7e50f9cb41e751c260d065dcba2bf0d08dc51a4002c2ac"},
   "jiffy": {:hex, :jiffy, "0.15.2", 
"de266c390111fd4ea28b9302f0bc3d7472468f3b8e0aceabfbefa26d08cd73b7", [:rebar3], 
[], "hexpm"},
   "junit_formatter": {:hex, :junit_formatter, "3.0.0", 
"13950d944dbd295da7d8cc4798b8faee808a8bb9b637c88069954eac078ac9da", [:mix], [], 
"hexpm", "d77b7b9a1601185b18dfe7682b27c46d5d12721f12fdc75180a6fc573b4e64b1"},
   "metrics": {:hex, :metrics, "1.0.1", 
"25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], 
[], "hexpm", 
"69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},


[couchdb] 01/03: Remove emilio-related Python script

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch random-bits-of-cleanup
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit be33934271cce93ff2826e5efe03707cb7876be5
Author: Adam Kocoloski 
AuthorDate: Tue Jan 25 20:14:57 2022 -0500

Remove emilio-related Python script

The Emilio style checker was removed in #3674.
---
 bin/warnings_in_scope | 125 --
 1 file changed, 125 deletions(-)

diff --git a/bin/warnings_in_scope b/bin/warnings_in_scope
deleted file mode 100755
index 2a85421..000
--- a/bin/warnings_in_scope
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/usr/bin/env python3
-import os
-import subprocess
-from pathlib import Path
-import optparse
-import sys
-import re
-
-def run(command, cwd=None):
-try:
-return subprocess.Popen(
-command, shell=True, cwd=cwd,
-stdout=subprocess.PIPE,
-stderr=subprocess.PIPE)
-except OSError as err:
-raise OSError("Error in command '{0}': {1}".format(command, err))
-
-def parse_location(line):
-# take substring between @@
-# take second part of it
-location = line.split(b'@@')[1].strip().split(b' ')[1]
-tokens = location.split(b',')
-if len(tokens) == 1:
-return (int(tokens[0][1:]), 1)
-elif len(tokens) == 2:
-return (int(tokens[0][1:]), int(tokens[1]))
-
-def changed_files(directory, scope):
-result = {}
-proc = run('git diff --no-prefix --unified={0}'.format(scope), 
cwd=str(directory))
-file_path = None
-for line in iter(proc.stdout.readline, b''):
-if line.startswith(b'diff --git '):
-# this would be problematic if directory has space in the name
-file_name = line.split(b' ')[3].strip()
-file_path = str(directory.joinpath(str(file_name, 'utf-8')))
-result[file_path] = set()
-continue
-if line.startswith(b'@@'):
-start_pos, number_of_lines = parse_location(line)
-for line_number in range(start_pos, start_pos + number_of_lines):
-result[file_path].add(line_number)
-return result
-
-def print_changed(file_name, line_number):
-print('{0}:{1}'.format(str(file_name), str(line_number)))
-
-def changes(dirs, scope):
-result = {}
-for directory in dirs:
-result.update(changed_files(directory, scope))
-return result
-
-def repositories(root):
-for directory in Path(root).rglob('.git'):
-if not directory.is_dir():
-continue
-yield directory.parent
-
-def setup_argparse():
-parser = optparse.OptionParser(description="Filter output to remove 
unrelated warning")
-parser.add_option(
-"-r",
-"--regexp",
-dest="regexp",
-default='(?P[^:]+):(?P\d+).*',
-help="Regexp used to extract file_name and line number",
-)
-parser.add_option(
-"-s",
-"--scope",
-dest="scope",
-default=0,
-help="Number of lines surrounding the change we consider relevant",
-)
-parser.add_option(
-"-p",
-"--print-only",
-action="store_true",
-dest="print_only",
-default=False,
-help="Print changed lines only",
-)
-return parser.parse_args()
-
-def filter_stdin(regexp, changes):
-any_matches = False
-for line in iter(sys.stdin.readline, ''):
-matches = re.match(regexp, line)
-if matches:
-file_name = matches.group('file_name')
-line_number = int(matches.group('line'))
-if file_name in changes and line_number in changes[file_name]:
-print(line, end='')
-any_matches = True
-return any_matches
-
-def validate_regexp(regexp):
-index = regexp.groupindex
-if 'file_name' in index and 'line' in index:
-return True
-else:
-raise TypeError("Regexp must define following groups:\n  - file_name\n 
 - line")
-
-def main():
-opts, args = setup_argparse()
-if opts.print_only:
-for file_name, changed_lines in changes(repositories('.'), 
opts.scope).items():
-for line_number in changed_lines:
-print_changed(file_name, line_number)
-return 0
-else:
-regexp = re.compile(opts.regexp)
-validate_regexp(regexp)
-if filter_stdin(regexp, changes(repositories('.'), opts.scope)):
-return 1
-else:
-return 0
-
-if __name__ == "__main__":
-try:
-sys.exit(main())
-except KeyboardInterrupt:
-pass
-


[couchdb] branch random-bits-of-cleanup created (now 5a8819f)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch random-bits-of-cleanup
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


  at 5a8819f  Update credo to support Elixir v1.12

This branch includes the following new commits:

 new be33934  Remove emilio-related Python script
 new e1fedae  Remove unused scripts from autotools days
 new 5a8819f  Update credo to support Elixir v1.12

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb] 02/03: Remove unused scripts from autotools days

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch random-bits-of-cleanup
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit e1fedae4bbf9eaeb832c3e6570f70d3c134cad7f
Author: Adam Kocoloski 
AuthorDate: Tue Jan 25 20:57:50 2022 -0500

Remove unused scripts from autotools days
---
 bin/erlang-version.escript |  3 ---
 build-aux/dist-error   | 28 
 build-aux/sphinx-build | 34 --
 build-aux/sphinx-touch | 24 
 4 files changed, 89 deletions(-)

diff --git a/bin/erlang-version.escript b/bin/erlang-version.escript
deleted file mode 100644
index 66aae1c..000
--- a/bin/erlang-version.escript
+++ /dev/null
@@ -1,3 +0,0 @@
-
-main(_) ->
-  io:format("~s~n", [erlang:system_info(otp_release)]).
diff --git a/build-aux/dist-error b/build-aux/dist-error
deleted file mode 100755
index 73486b5..000
--- a/build-aux/dist-error
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh -e
-
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-# This script is called by the build system and is used to provide an error
-# about missing or empty files. Some files are optional, and will be built when
-# the environment allows. But these files are required for distribution.
-
-cat << EOF
-ERROR: This file is missing or incomplete:
-
-   $1
-
-   This file is optional at build and install time,
-   but is required when preparing a distribution.
-EOF
-
-exit 1
diff --git a/build-aux/sphinx-build b/build-aux/sphinx-build
deleted file mode 100755
index 8ecf43a..000
--- a/build-aux/sphinx-build
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh -e
-
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-# This script is called by the build system and is used to call sphinx-build if
-# is is available, or alternatively, emit a warning, and perform a no-op. Any
-# required directories or Makefiles are created and stubbed out as appropriate.
-
-if test -z "`which sphinx-build`"; then
-missing=yes
-cat << EOF
-WARNING: 'sphinx-build' is needed, and is missing on your system.
- You might have modified some files without having the
- proper tools for further handling them.
-EOF
-fi
-
-if test "$2" = "html"; then
-if test "$missing" != "yes"; then
-sphinx-build $*
-else
-mkdir -p html
-fi
-fi
diff --git a/build-aux/sphinx-touch b/build-aux/sphinx-touch
deleted file mode 100755
index ed7217d..000
--- a/build-aux/sphinx-touch
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh -e
-
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-# This script is called by the build system and is used to touch the list of
-# expected output files when sphinx-build is not available. If the files exist,
-# this will satisfy make. If they do not exist, we create of empty files.
-
-if test -z "`which sphinx-build`"; then
-for file in $*; do
-mkdir -p `dirname $file`
-touch $file
-done
-fi
\ No newline at end of file


[couchdb] 01/04: Refactor Jenkins to dynamically generate stages

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.x
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 77f34a1bbc7c76aefa59777da21e2e76e79f7ec8
Author: Adam Kocoloski 
AuthorDate: Wed Jan 19 22:37:44 2022 -0500

Refactor Jenkins to dynamically generate stages

This is one of those situations where you go in to make a small change,
see an opportunity for some refactoring, and get sucked into a rabbit
hole that leaves you wondering if you have any idea how computers
actually work. My initial goal was simply to update the Erlang version
used in our binary packages to a modern supported release. Along the
way I decided I wanted to figure out how to eliminate all the copypasta
we generate for making any change to this file, and after a few days of
hacking here we are. This rewrite has the following features:

* Updates to use Debian 11 (current stable) as the base image for
  building releases and packaging repos.

* Defaults to Erlang 23 as the embedded Erlang version in packages. We
  avoid Erlang 24 for now because Clouseau is not currently compatible.

* Dynamically generates the parallel build stages used to test and
  package CouchDB on various OSes. This is accomplished through a bit
  of scripted pipeline code that relies on two new methods defined at
  the beginning of the Jenkinsfile, one for "native" builds on macOS
  and FreeBSD and one for container-based builds. See comments in the
  Jenkinsfile for additional details.

* Expands commands like `make check` into a series of steps to improve
  visibility. The Jenkins UI will now show the time spent in each step
  of the build process, and if a step (e.g. `make eunit`) fails it will
  only expand the logs for that step by default instead of showing the
  logs for the entire build stage. The downside is that if we do make
  changes to the series of targets underneath `check` we need to
  remember to update the Jenkinsfile as well.

* Starts per-stage timer _after_ agent is acquired. Previously builds could
  fail with a 15m timeout when all they did was sit in the build queue.

This is a cherry-pick of 9b6454b with the following modifications:

- Drop the MINIMUM_ERLANG_VERSION to 20
- Drop the packaging ERLANG_VERSION to 23
- Add the weatherreport-test as a build step
- Add ARM and POWER back into the matrix using a new buildx-based
  multi-architecture container image.
---
 build-aux/Jenkinsfile.full  | 794 ++--
 build-aux/{README.Jenkins => README.md} |  70 ++-
 2 files changed, 278 insertions(+), 586 deletions(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index 37f49e2..a443d1d 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -13,40 +13,227 @@
 // License for the specific language governing permissions and limitations 
under
 // the License.
 
-build_and_test = '''
-mkdir -p ${COUCHDB_IO_LOG_DIR} ${platform}
-cd ${platform}
-rm -rf build
-mkdir build
-cd build
-tar -xf ${WORKSPACE}/apache-couchdb-*.tar.gz
-cd apache-couchdb-*
-./configure --spidermonkey-version ${sm_ver}
-make check || (make build-report && false)
-'''
-
-make_packages = '''
-cd ${platform}
-git clone https://github.com/apache/couchdb-pkg
-rm -rf couchdb
-mkdir couchdb
-cp ${WORKSPACE}/apache-couchdb-*.tar.gz couchdb
-tar -xf ${WORKSPACE}/apache-couchdb-*.tar.gz -C couchdb
-cd couchdb-pkg
-make
-'''
-
-cleanup_and_save = '''
-rm -rf ${WORKSPACE}/pkgs/${platform}
-mkdir -p ${WORKSPACE}/pkgs/${platform}
-mv ${WORKSPACE}/${platform}/rpmbuild/RPMS/$(arch)/*rpm 
${WORKSPACE}/pkgs/${platform} || true
-mv ${WORKSPACE}/${platform}/couchdb/*.deb ${WORKSPACE}/pkgs/${platform} || true
-'''
-
-update_qemu = '''
-docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
-'''
+// Erlang version embedded in binary packages
+ERLANG_VERSION = '23'
+
+// Erlang version used for rebar in release process. CouchDB will not build 
from
+// the release tarball on Erlang versions older than this
+MINIMUM_ERLANG_VERSION = '20'
+
+// We create parallel build / test / package stages for each OS using the 
metadata
+// in this map. Adding a new OS should ideally only involve adding a new entry 
here.
+meta = [
+  'centos7': [
+name: 'CentOS 7',
+spidermonkey_vsn: '1.8.5',
+image: "apache/couchdbci-centos:7-erlang-${ERLANG_VERSION}"
+  ],
+
+  'centos8': [
+name: 'CentOS 8',
+spidermonkey_vsn: '60',
+image: "apache/couchdbci-centos:8-erlang-${ERLANG_VERSION}"
+  ],
+
+  'bionic': [
+

[couchdb] 02/04: Properly test for SM60 on ARM builds

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.x
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 016385f408e83e4058fbc8116c257fd579cc5688
Author: Adam Kocoloski 
AuthorDate: Thu Jan 20 19:55:32 2022 -0500

Properly test for SM60 on ARM builds

Already fixed by @lostnet on main.
---
 configure | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 9c22181..0bcbfae 100755
--- a/configure
+++ b/configure
@@ -224,9 +224,9 @@ parse_opts() {
 
 parse_opts $@
 
-if [ "${ARCH}" = "aarch64" ] && [ "${SM_VSN}" != "1.8.5" ]
+if [ "${ARCH}" = "aarch64" ] && [ "${SM_VSN}" = "60" ]
 then
-  echo "ERROR: SpiderMonkey 60 is known broken on ARM 64 (aarch64). Use 1.8.5 
instead."
+  echo "ERROR: SpiderMonkey 60 is known broken on ARM 64 (aarch64). Use 
another version instead."
   exit 1
 fi
 


[couchdb] 03/04: Update mix.lock

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.x
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 9cebe1ea49add1f84d0d9a9e3c6809ad8471fab7
Author: Adam Kocoloski 
AuthorDate: Thu Jan 20 21:50:19 2022 -0500

Update mix.lock
---
 mix.lock | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mix.lock b/mix.lock
index 505d7f2..48e7c71 100644
--- a/mix.lock
+++ b/mix.lock
@@ -1,14 +1,14 @@
 %{
   "bunt": {:hex, :bunt, "0.2.0", 
"951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], 
"hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"},
   "certifi": {:hex, :certifi, "2.5.1", 
"867ce347f7c7d78563450a18a6a28a8090331e77fa02380b4a21962a65d36ee5", [:rebar3], 
[{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], 
"hexpm", "805abd97539caf89ec6d4732c91e62ba9da0cda51ac462380bbd28ee697a8c42"},
-  "credo": {:hex, :credo, "1.5.4", 
"9914180105b438e378e94a844ec3a5088ae5875626fc945b7c1462b41afc3198", [:mix], 
[{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, 
{:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: 
false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], 
"hexpm", "cf51af45eadc0a3f39ba13b56fdac415c91b34f7b7533a13dc13550277141bc4"},
+  "credo": {:hex, :credo, "1.5.6", 
"e04cc0fdc236fefbb578e0c04bd01a471081616e741d386909e527ac146016c6", [:mix], 
[{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, 
{:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: 
false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], 
"hexpm", "4b52a3e558bd64e30de62a648518a5ea2b6e3e5d2b164ef5296244753fc7eb17"},
   "excoveralls": {:hex, :excoveralls, "0.12.1", 
"a553c59f6850d0aff3770e4729515762ba7c8e41eedde03208182a8dc9d0ce07", [:mix], 
[{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}, 
{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", 
"5c1f717066a299b1b732249e736c5da96bb4120d1e55dc2e6f442d251e18a812"},
   "file_system": {:hex, :file_system, "0.2.10", 
"fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], 
"hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
   "hackney": {:hex, :hackney, "1.15.2", 
"07e33c794f8f8964ee86cebec1a8ed88db5070e52e904b8f12209773c1036085", [:rebar3], 
[{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, 
"6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", 
[hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: 
:mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.5", [hex: 
:ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "e0100 [...]
   "httpotion": {:hex, :httpotion, "3.1.3", 
"fdaf1e16b9318dcb722de57e75ac368c93d4c6e3c9125f93e960f953a750fb77", [:mix], 
[{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}], 
"hexpm", "e420172ef697a0f1f4dc40f89a319d5a3aad90ec51fa424f08c115f04192ae43"},
   "ibrowse": {:hex, :ibrowse, "4.4.0", 
"2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], 
[], "hexpm"},
   "idna": {:hex, :idna, "6.0.0", 
"689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], 
[{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", 
optional: false]}], "hexpm", 
"4bdd305eb64e18b0273864920695cb18d7a2021f31a11b9c5fbcd9a253f936e2"},
-  "jason": {:hex, :jason, "1.2.2", 
"ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], 
[{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: 
true]}], "hexpm", 
"18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"},
+  "jason": {:hex, :jason, "1.3.0", 
"fa6b82a934feb176263ad2df0dbd91bf633d4a46ebfdffea0c8ae82953714946", [:mix], 
[{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: 
true]}], "hexpm", 
"53fc1f51255390e0ec7e50f9cb41e751c260d065dcba2bf0d08dc51a4002c2ac"},
   "jiffy": {:hex, :jiffy, "0.15.2", 
"de266c390111fd4ea28b9302f0bc3d7472468f3b8e0aceabfbefa26d08cd73b7", [:rebar3], 
[], "hexpm"},
   "junit_formatter": {:hex, :junit_formatter, "3.0.0", 
"13950d944dbd295da7d8cc4798b8faee808a8bb9b637c88069954eac078ac9da", [:mix], [], 
"hexpm", "d77b7b9a1601185b18dfe7682b27c46d5d12721f12fdc75180a6fc573b4e64b1"},
   "metrics": {:hex, :metrics, "1.0.1", 
"25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], 
[], "hexpm", 
"69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},


[couchdb] 04/04: Display 3.x build status in README

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch 3.x
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit a0fb595b3e8fdb5f429fbd9833786fd7d64a
Author: Adam Kocoloski 
AuthorDate: Tue Jan 25 08:27:46 2022 -0500

Display 3.x build status in README
---
 README.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.rst b/README.rst
index 47ce32e..4c51de8 100644
--- a/README.rst
+++ b/README.rst
@@ -5,8 +5,8 @@ Apache CouchDB README
 | |1| |
 +-+
 
-.. |1| image:: 
https://ci-couchdb.apache.org/job/jenkins-cm1/job/FullPlatformMatrix/job/master/badge/icon?subject=master%20build
-:target: 
https://ci-couchdb.apache.org/blue/organizations/jenkins/jenkins-cm1%2FFullPlatformMatrix/activity?branch=master
+.. |1| image:: 
https://ci-couchdb.apache.org/job/jenkins-cm1/job/FullPlatformMatrix/job/3.x/badge/icon?subject=3.x
+:target: 
https://ci-couchdb.apache.org/blue/organizations/jenkins/jenkins-cm1%2FFullPlatformMatrix/activity?branch=3.x
 
 Installation
 


[couchdb] branch 3.x updated (9b7fb37 -> a0fb595)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch 3.x
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


from 9b7fb37  fixup get _dbs_info corner case
 new 77f34a1  Refactor Jenkins to dynamically generate stages
 new 016385f  Properly test for SM60 on ARM builds
 new 9cebe1e  Update mix.lock
 new a0fb595  Display 3.x build status in README

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.rst  |   4 +-
 build-aux/Jenkinsfile.full  | 794 ++--
 build-aux/{README.Jenkins => README.md} |  70 ++-
 configure   |   4 +-
 mix.lock|   4 +-
 5 files changed, 284 insertions(+), 592 deletions(-)
 rename build-aux/{README.Jenkins => README.md} (70%)


[couchdb-erlfdb] 01/02: Fix issues caused by foundationdb.org breakage

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git

commit 651631d02a91e11016e2acfb1b2e0ec311b88657
Author: Adam Kocoloski 
AuthorDate: Tue Jan 25 14:39:05 2022 -0500

Fix issues caused by foundationdb.org breakage

The foundationdb.org collapse and subsequent move to GitHub created a
bit of fallout:

* Update package URLs from foundationdb.org to github.com

* Install Python package via pip as it's not published on GitHub

* Bump version to 6.3.23 as pypi has limited release selection

* Vendor the create_cluster_file.bash script (FDB elected to remove it
  from their published container builds).
---
 .devcontainer/Dockerfile   | 23 ++-
 .devcontainer/create_cluster_file.bash | 52 ++
 .devcontainer/docker-compose.yaml  |  4 +--
 3 files changed, 62 insertions(+), 17 deletions(-)

diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 2dec11e..fb9e43c 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -13,23 +13,11 @@ ARG FDB_VERSION
 
 # Install the FDB client used underneath erlfdb
 RUN set -ex; \
-wget 
https://www.foundationdb.org/downloads/${FDB_VERSION}/ubuntu/installers/foundationdb-clients_${FDB_VERSION}-1_amd64.deb;
 \
+wget 
https://github.com/apple/foundationdb/releases/download/${FDB_VERSION}/foundationdb-clients_${FDB_VERSION}-1_amd64.deb;
 \
 mkdir /var/lib/foundationdb; \
 dpkg -i foundationdb-clients_${FDB_VERSION}-1_amd64.deb; \
 rm foundationdb-clients_${FDB_VERSION}-1_amd64.deb
 
-# FDB bindings tester uses the Python bindings; install them from a
-# package to avoid building FDB from source
-RUN set -ex; \
-wget 
https://www.foundationdb.org/downloads/${FDB_VERSION}/bindings/python/foundationdb-${FDB_VERSION}.tar.gz;
 \
-tar zxf foundationdb-${FDB_VERSION}.tar.gz; \
-cd foundationdb-${FDB_VERSION}; \
-if [ "${FDB_VERSION}" < "6.3.0" ]; then \
-python setup.py install; \
-else \
-python3 setup.py install; \
-fi; \
-rm ../foundationdb-${FDB_VERSION}.tar.gz
 
 # Clone FoundationDB repo to retrieve bindings tester package and
 # patch it to support erlfdb
@@ -43,9 +31,14 @@ RUN set -ex; \
 RUN set -ex; \
 apt-get update; \
 apt-get install -y --no-install-recommends \
-dnsutils; \
+dnsutils \
+python3-setuptools \
+python3-pip; \
 rm -rf /var/lib/apt/lists/*
 
-COPY --from=fdb /var/fdb/scripts/create_cluster_file.bash /usr/local/bin/
+# FDB bindings tester uses the Python bindings
+RUN pip3 install foundationdb==${FDB_VERSION}
+
+COPY create_cluster_file.bash /usr/local/bin/
 
 CMD sleep infinity
diff --git a/.devcontainer/create_cluster_file.bash 
b/.devcontainer/create_cluster_file.bash
new file mode 100644
index 000..73b9b12
--- /dev/null
+++ b/.devcontainer/create_cluster_file.bash
@@ -0,0 +1,52 @@
+#! /bin/bash
+
+#
+# create_cluster_file.bash
+#
+# This source file is part of the FoundationDB open source project
+#
+# Copyright 2013-2018 Apple Inc. and the FoundationDB project authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This script creates a cluster file for a server or client.
+# This takes the cluster file path from the FDB_CLUSTER_FILE
+# environment variable, with a default of /etc/foundationdb/fdb.cluster
+#
+# The name of the coordinator must be defined in the FDB_COORDINATOR 
environment
+# variable, and it must be a name that can be resolved through DNS.
+
+function create_cluster_file() {
+   FDB_CLUSTER_FILE=${FDB_CLUSTER_FILE:-/etc/foundationdb/fdb.cluster}
+   mkdir -p $(dirname $FDB_CLUSTER_FILE)
+
+   if [[ -n "$FDB_CLUSTER_FILE_CONTENTS" ]]; then
+   echo "$FDB_CLUSTER_FILE_CONTENTS" > $FDB_CLUSTER_FILE
+   elif [[ -n $FDB_COORDINATOR ]]; then
+   coordinator_ip=$(dig +short $FDB_COORDINATOR)
+   if [[ -z "$coordinator_ip" ]]; then
+   echo "Failed to look up coordinator address for 
$FDB_COORDINATOR" 1>&2
+   exit 1
+   fi
+   coordinator_port=${FDB_COORDINATOR_PORT:-4500}
+   echo "docker:docker@$coordinator_ip:$coordinator_port" &g

[couchdb-erlfdb] branch main updated (20ae851 -> 46af08f)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git.


from 20ae851  Update URL for FDB packages
 new 651631d  Fix issues caused by foundationdb.org breakage
 new 46af08f  Install FDB synchronously

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .devcontainer/Dockerfile   | 23 ++-
 .devcontainer/create_cluster_file.bash | 52 ++
 .devcontainer/docker-compose.yaml  |  4 +--
 .github/workflows/ci.yml   |  4 +--
 4 files changed, 64 insertions(+), 19 deletions(-)
 create mode 100644 .devcontainer/create_cluster_file.bash


[couchdb-erlfdb] 02/02: Install FDB synchronously

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git

commit 46af08f50f543d1ddca6e545b726ec2b31a3bc88
Author: Adam Kocoloski 
AuthorDate: Tue Jan 25 18:19:47 2022 -0500

Install FDB synchronously

We were seeing CI failures where the FDB installation would not be
completed before we tried to invoke `fdbcli --version`
---
 .github/workflows/ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index da00984..8b5b64c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -99,8 +99,8 @@ jobs:
 run: |
   Set-PSDebug -Trace 1
   Invoke-WebRequest -Uri 
https://github.com/apple/foundationdb/releases/download/$env:FDB_VERSION/foundationdb-$env:FDB_VERSION-x64.msi
 -OutFile foundationdb-$env:FDB_VERSION-x64.msi
-  msiexec /i foundationdb-$env:FDB_VERSION-x64.msi /passive
-  echo "c:/Program Files/foundationdb/bin" | Out-File -FilePath 
$env:GITHUB_PATH -Encoding utf8 -Append
+  Start-Process -Wait -FilePath msiexec -ArgumentList /i, 
foundationdb-$env:FDB_VERSION-x64.msi, /passive
+  echo "C:\Program Files\foundationdb\bin" | Out-File -FilePath 
$env:GITHUB_PATH -Encoding utf8 -Append
   - name: Install FoundationDB (macOS)
 if: ${{ matrix.os == 'macos-latest' }}
 run: |


[couchdb-erlfdb] branch fix-devcontainer-package-retrieval updated (7cb8beb -> f26e3e2)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch fix-devcontainer-package-retrieval
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git.


 discard 7cb8beb  Install FDB synchronously
 discard eab3616  More debugging
 discard ebd68ca  Debug FDB Windows install
 discard 446f8d1  Revert "Debug retrieval of MaxAPIVersion"
 discard 9f4fd7f  Debug retrieval of MaxAPIVersion
 add f26e3e2  Install FDB synchronously

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (7cb8beb)
\
 N -- N -- N   refs/heads/fix-devcontainer-package-retrieval 
(f26e3e2)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/workflows/ci.yml | 3 ---
 1 file changed, 3 deletions(-)


[couchdb-erlfdb] branch fix-devcontainer-package-retrieval updated (eab3616 -> 7cb8beb)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch fix-devcontainer-package-retrieval
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git.


from eab3616  More debugging
 add 7cb8beb  Install FDB synchronously

No new revisions were added by this update.

Summary of changes:
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[couchdb-erlfdb] branch fix-devcontainer-package-retrieval updated (ebd68ca -> eab3616)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch fix-devcontainer-package-retrieval
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git.


from ebd68ca  Debug FDB Windows install
 add eab3616  More debugging

No new revisions were added by this update.

Summary of changes:
 .github/workflows/ci.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


[couchdb-erlfdb] branch fix-devcontainer-package-retrieval updated (76ec26c -> ebd68ca)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch fix-devcontainer-package-retrieval
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git.


 discard 76ec26c  Debug retrieval of MaxAPIVersion
 discard 1c1c486  Fix issues caused by foundationdb.org breakage
 add a2e6505  Deallocate future mutex in the future resource destructor
 add 20ae851  Update URL for FDB packages
 add 81ba855  Fix issues caused by foundationdb.org breakage
 add 9f4fd7f  Debug retrieval of MaxAPIVersion
 add 446f8d1  Revert "Debug retrieval of MaxAPIVersion"
 add ebd68ca  Debug FDB Windows install

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (76ec26c)
\
 N -- N -- N   refs/heads/fix-devcontainer-package-retrieval 
(ebd68ca)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/workflows/ci.yml | 14 --
 c_src/resources.c|  4 
 rebar.config.script  |  1 -
 3 files changed, 12 insertions(+), 7 deletions(-)


[couchdb-erlfdb] branch fix-devcontainer-package-retrieval updated (1c1c486 -> 76ec26c)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch fix-devcontainer-package-retrieval
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git.


from 1c1c486  Fix issues caused by foundationdb.org breakage
 add 76ec26c  Debug retrieval of MaxAPIVersion

No new revisions were added by this update.

Summary of changes:
 rebar.config.script | 1 +
 1 file changed, 1 insertion(+)


[couchdb-erlfdb] branch fix-devcontainer-package-retrieval created (now 1c1c486)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch fix-devcontainer-package-retrieval
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git.


  at 1c1c486  Fix issues caused by foundationdb.org breakage

This branch includes the following new commits:

 new 1c1c486  Fix issues caused by foundationdb.org breakage

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb-erlfdb] 01/01: Fix issues caused by foundationdb.org breakage

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch fix-devcontainer-package-retrieval
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git

commit 1c1c4860ea16dd68348ef17cf32a481a0ddf0ee3
Author: Adam Kocoloski 
AuthorDate: Tue Jan 25 14:39:05 2022 -0500

Fix issues caused by foundationdb.org breakage

The foundationdb.org collapse and subsequent move to GitHub created a
bit of fallout:

* Update package URLs from foundationdb.org to github.com

* Install Python package via pip as it's not published on GitHub

* Bump version to 6.3.23 as pypi has limited release selection

* Vendor the create_cluster_file.bash script (FDB elected to remove it
  from their published container builds).
---
 .devcontainer/Dockerfile   | 23 ++-
 .devcontainer/create_cluster_file.bash | 52 ++
 .devcontainer/docker-compose.yaml  |  4 +--
 3 files changed, 62 insertions(+), 17 deletions(-)

diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 2dec11e..fb9e43c 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -13,23 +13,11 @@ ARG FDB_VERSION
 
 # Install the FDB client used underneath erlfdb
 RUN set -ex; \
-wget 
https://www.foundationdb.org/downloads/${FDB_VERSION}/ubuntu/installers/foundationdb-clients_${FDB_VERSION}-1_amd64.deb;
 \
+wget 
https://github.com/apple/foundationdb/releases/download/${FDB_VERSION}/foundationdb-clients_${FDB_VERSION}-1_amd64.deb;
 \
 mkdir /var/lib/foundationdb; \
 dpkg -i foundationdb-clients_${FDB_VERSION}-1_amd64.deb; \
 rm foundationdb-clients_${FDB_VERSION}-1_amd64.deb
 
-# FDB bindings tester uses the Python bindings; install them from a
-# package to avoid building FDB from source
-RUN set -ex; \
-wget 
https://www.foundationdb.org/downloads/${FDB_VERSION}/bindings/python/foundationdb-${FDB_VERSION}.tar.gz;
 \
-tar zxf foundationdb-${FDB_VERSION}.tar.gz; \
-cd foundationdb-${FDB_VERSION}; \
-if [ "${FDB_VERSION}" < "6.3.0" ]; then \
-python setup.py install; \
-else \
-python3 setup.py install; \
-fi; \
-rm ../foundationdb-${FDB_VERSION}.tar.gz
 
 # Clone FoundationDB repo to retrieve bindings tester package and
 # patch it to support erlfdb
@@ -43,9 +31,14 @@ RUN set -ex; \
 RUN set -ex; \
 apt-get update; \
 apt-get install -y --no-install-recommends \
-dnsutils; \
+dnsutils \
+python3-setuptools \
+python3-pip; \
 rm -rf /var/lib/apt/lists/*
 
-COPY --from=fdb /var/fdb/scripts/create_cluster_file.bash /usr/local/bin/
+# FDB bindings tester uses the Python bindings
+RUN pip3 install foundationdb==${FDB_VERSION}
+
+COPY create_cluster_file.bash /usr/local/bin/
 
 CMD sleep infinity
diff --git a/.devcontainer/create_cluster_file.bash 
b/.devcontainer/create_cluster_file.bash
new file mode 100644
index 000..73b9b12
--- /dev/null
+++ b/.devcontainer/create_cluster_file.bash
@@ -0,0 +1,52 @@
+#! /bin/bash
+
+#
+# create_cluster_file.bash
+#
+# This source file is part of the FoundationDB open source project
+#
+# Copyright 2013-2018 Apple Inc. and the FoundationDB project authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This script creates a cluster file for a server or client.
+# This takes the cluster file path from the FDB_CLUSTER_FILE
+# environment variable, with a default of /etc/foundationdb/fdb.cluster
+#
+# The name of the coordinator must be defined in the FDB_COORDINATOR 
environment
+# variable, and it must be a name that can be resolved through DNS.
+
+function create_cluster_file() {
+   FDB_CLUSTER_FILE=${FDB_CLUSTER_FILE:-/etc/foundationdb/fdb.cluster}
+   mkdir -p $(dirname $FDB_CLUSTER_FILE)
+
+   if [[ -n "$FDB_CLUSTER_FILE_CONTENTS" ]]; then
+   echo "$FDB_CLUSTER_FILE_CONTENTS" > $FDB_CLUSTER_FILE
+   elif [[ -n $FDB_COORDINATOR ]]; then
+   coordinator_ip=$(dig +short $FDB_COORDINATOR)
+   if [[ -z "$coordinator_ip" ]]; then
+   echo "Failed to look up coordinator address for 
$FDB_COORDINATOR" 1>&2
+   exit 1
+   fi
+   coordinator_port=${FDB_COORDINATOR_PORT:-4500}
+   echo "docker:docker@$coordinator_ip

[couchdb-erlfdb] branch deallocate-future-mutex-in-resource-destructor updated (47d3331 -> 61332f6)

2022-01-25 Thread kocolosk
This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a change to branch 
deallocate-future-mutex-in-resource-destructor
in repository https://gitbox.apache.org/repos/asf/couchdb-erlfdb.git.


 discard 47d3331  Update URL for FDB packages
 add 61332f6  Update URL for FDB packages

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (47d3331)
\
 N -- N -- N   
refs/heads/deallocate-future-mutex-in-resource-destructor (61332f6)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/workflows/ci.yml | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)


  1   2   3   4   5   6   7   8   9   10   >