[couchdb-helm] branch master updated (e92fe33 -> bd9bce1)
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
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)
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)
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)
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)
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)
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)
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)
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
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)
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
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
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)
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
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)"
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
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)
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)
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)
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
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)
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)
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)"
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
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
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)
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
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
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)
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)
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)
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
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
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)
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
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)
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)
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
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)
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
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)
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
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)
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
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)
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
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
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
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
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)
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)
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
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
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
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)
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)
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
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
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
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)
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)
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)
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)
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)
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
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
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)
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
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
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
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
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
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)
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
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)
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)
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)
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)
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)
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
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
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)
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
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
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
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
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
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)
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
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)
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
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)
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)
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)
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)
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)
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)
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
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)
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(-)