This is an automated email from the ASF dual-hosted git repository.

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

commit 562aba6ca82cf95516a1212210454a7b21f37075
Author: Joan Touzet <[email protected]>
AuthorDate: Wed Jul 25 20:05:26 2018 -0700

    Prep 2.2.0 docker iamge
---
 .travis.yml                            |   2 +-
 {2.1.2 => 2.2.0}/10-docker-default.ini |   0
 {2.1.2 => 2.2.0}/Dockerfile            | 108 +++++++++++++++++++--------------
 {2.1.2 => 2.2.0}/docker-entrypoint.sh  |   0
 {2.1.2 => 2.2.0}/vm.args               |   0
 dev/Dockerfile                         |  86 ++++++++++++--------------
 dev/docker-entrypoint.sh               |   4 +-
 7 files changed, 103 insertions(+), 97 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 5811b4c..fb7596c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ services:
 
 env:
   - RELEASES="1.7.2 1.7.2-couchperuser"
-  - RELEASES=2.1.2
+  - RELEASES=2.2.0
   - RELEASES=dev
   - RELEASES=dev-cluster
 
diff --git a/2.1.2/10-docker-default.ini b/2.2.0/10-docker-default.ini
similarity index 100%
rename from 2.1.2/10-docker-default.ini
rename to 2.2.0/10-docker-default.ini
diff --git a/2.1.2/Dockerfile b/2.2.0/Dockerfile
similarity index 54%
rename from 2.1.2/Dockerfile
rename to 2.2.0/Dockerfile
index ed9cc38..551604f 100644
--- a/2.1.2/Dockerfile
+++ b/2.2.0/Dockerfile
@@ -17,17 +17,24 @@ MAINTAINER CouchDB Developers [email protected]
 # Add CouchDB user account
 RUN groupadd -g 5984 -r couchdb && useradd -u 5984 -d /opt/couchdb -g couchdb 
couchdb
 
-RUN apt-get update -y && apt-get install -y --no-install-recommends \
-    ca-certificates \
-    curl \
-    erlang-nox \
-    erlang-reltool \
-    libicu57 \
-    libmozjs185-1.0 \
-    openssl \
-    gpg \
-    dirmngr \
-  && rm -rf /var/lib/apt/lists/*
+RUN apt-get update -y && apt-get install -y --no-install-recommends 
apt-transport-https dirmngr gnupg && \
+    echo "deb https://apache.bintray.com/couchdb-deb stretch main" \
+        | tee /etc/apt/sources.list.d/couchdb.list \
+    && for server in $(shuf -e pgpkeys.mit.edu \
+            ha.pool.sks-keyservers.net \
+            hkp://p80.pool.sks-keyservers.net:80 \
+            pgp.mit.edu) ; do \
+        gpg --keyserver $server --recv-keys 379CE192D401AB61 && break || : ; \
+        done \
+    && gpg -a --export 379CE192D401AB61 | apt-key add - \
+    && apt-get update -y && apt-get install -y --no-install-recommends \
+        ca-certificates \
+        couch-libmozjs185-1.0 \
+        curl \
+        libicu57 \
+        openssl \
+        python \
+    && rm -rf /var/lib/apt/lists/*
 
 # grab gosu for easy step-down from root and tini for signal handling
 # see https://github.com/apache/couchdb-docker/pull/28#discussion_r141112407
@@ -45,17 +52,27 @@ RUN set -ex; \
        wget -O /usr/local/bin/gosu 
"https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-$dpkgArch";;
 \
        wget -O /usr/local/bin/gosu.asc 
"https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc";;
 \
        export GNUPGHOME="$(mktemp -d)"; \
-       gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 
B42F6819007F00F88E364FD4036A9C25BF357DD4; \
+        for server in $(shuf -e pgpkeys.mit.edu \
+            ha.pool.sks-keyservers.net \
+            hkp://p80.pool.sks-keyservers.net:80 \
+            pgp.mit.edu) ; do \
+        gpg --keyserver $server --recv-keys 
B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \
+        done; \
        gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
        rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc; \
        chmod +x /usr/local/bin/gosu; \
        gosu nobody true; \
-       \
+    \
 # install tini
        wget -O /usr/local/bin/tini 
"https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch";;
 \
        wget -O /usr/local/bin/tini.asc 
"https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch.asc";;
 \
        export GNUPGHOME="$(mktemp -d)"; \
-       gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 
595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7; \
+        for server in $(shuf -e pgpkeys.mit.edu \
+            ha.pool.sks-keyservers.net \
+            hkp://p80.pool.sks-keyservers.net:80 \
+            pgp.mit.edu) ; do \
+        gpg --keyserver $server --recv-keys 
595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \
+        done; \
        gpg --batch --verify /usr/local/bin/tini.asc /usr/local/bin/tini; \
        rm -r "$GNUPGHOME" /usr/local/bin/tini.asc; \
        chmod +x /usr/local/bin/tini; \
@@ -77,46 +94,45 @@ ENV GPG_KEYS \
   29E4F38113DF707D722A6EF91FE9AF73118F1A7C \
   2EC788AE3F239FA13E82D215CDE711289384AE37
 RUN set -xe \
-  && for key in $GPG_KEYS; do \
-    gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
-  done
+    && for key in $GPG_KEYS; do \
+        gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
+    done
 
-ENV COUCHDB_VERSION 2.1.2
+ENV COUCHDB_VERSION 2.2.0
 
 # Download dev dependencies
 RUN buildDeps=' \
-    apt-transport-https \
-    gcc \
-    g++ \
-    erlang-dev \
-    libcurl4-openssl-dev \
-    libicu-dev \
-    libmozjs185-dev \
-    make \
-  ' \
- && apt-get update -y -qq && apt-get install -y --no-install-recommends 
$buildDeps \
- # Acquire CouchDB source code
- && cd /usr/src && mkdir couchdb \
- && curl -fSL 
https://dist.apache.org/repos/dist/release/couchdb/source/$COUCHDB_VERSION/apache-couchdb-$COUCHDB_VERSION.tar.gz
 -o couchdb.tar.gz \
- && curl -fSL 
https://dist.apache.org/repos/dist/release/couchdb/source/$COUCHDB_VERSION/apache-couchdb-$COUCHDB_VERSION.tar.gz.asc
 -o couchdb.tar.gz.asc \
- && gpg --batch --verify couchdb.tar.gz.asc couchdb.tar.gz \
- && tar -xzf couchdb.tar.gz -C couchdb --strip-components=1 \
- && cd couchdb \
- # Build the release and install into /opt
- && ./configure --disable-docs \
- && make release \
- && mv /usr/src/couchdb/rel/couchdb /opt/ \
- # Cleanup build detritus
- && apt-get purge -y --auto-remove $buildDeps \
- && rm -rf /var/lib/apt/lists/* /usr/src/couchdb* \
- && mkdir /opt/couchdb/data \
- && chown -R couchdb:couchdb /opt/couchdb
+        apt-transport-https \
+        build-essential \
+        couch-libmozjs185-dev \
+        erlang-dev \
+        erlang-reltool \
+        libcurl4-openssl-dev \
+        libicu-dev \
+        make \
+    ' \
+    && apt-get update -y -qq && apt-get install -y --no-install-recommends 
$buildDeps \
+    # Acquire CouchDB source code
+    && cd /usr/src && mkdir couchdb \
+    && curl -fSL 
https://dist.apache.org/repos/dist/release/couchdb/source/$COUCHDB_VERSION/apache-couchdb-$COUCHDB_VERSION.tar.gz
 -o couchdb.tar.gz \
+    && curl -fSL 
https://dist.apache.org/repos/dist/release/couchdb/source/$COUCHDB_VERSION/apache-couchdb-$COUCHDB_VERSION.tar.gz.asc
 -o couchdb.tar.gz.asc \
+    && gpg --batch --verify couchdb.tar.gz.asc couchdb.tar.gz \
+    && tar -xzf couchdb.tar.gz -C couchdb --strip-components=1 \
+    && cd couchdb \
+    # Build the release and install into /opt
+    && ./configure \
+    && make release \
+    && mv /usr/src/couchdb/rel/couchdb /opt/ \
+    # Cleanup build detritus
+    && apt-get purge -y --auto-remove $buildDeps \
+    && rm -rf /var/lib/apt/lists/* /usr/src/couchdb* \
+    && mkdir /opt/couchdb/data \
+    && chown -R couchdb:couchdb /opt/couchdb
 
 # Add configuration
 COPY 10-docker-default.ini /opt/couchdb/etc/default.d/
 COPY vm.args /opt/couchdb/etc/
-
-COPY ./docker-entrypoint.sh /
+COPY docker-entrypoint.sh /
 
 # Setup directories and permissions
 RUN chown -R couchdb:couchdb /opt/couchdb/etc/default.d/ 
/opt/couchdb/etc/vm.args
diff --git a/2.1.2/docker-entrypoint.sh b/2.2.0/docker-entrypoint.sh
similarity index 100%
rename from 2.1.2/docker-entrypoint.sh
rename to 2.2.0/docker-entrypoint.sh
diff --git a/2.1.2/vm.args b/2.2.0/vm.args
similarity index 100%
rename from 2.1.2/vm.args
rename to 2.2.0/vm.args
diff --git a/dev/Dockerfile b/dev/Dockerfile
index 24db534..7799177 100644
--- a/dev/Dockerfile
+++ b/dev/Dockerfile
@@ -17,59 +17,50 @@ FROM debian:stretch as runtime
 MAINTAINER CouchDB Developers [email protected]
 
 # Add CouchDB user account
-RUN groupadd -r couchdb && useradd -d /opt/couchdb -g couchdb couchdb
-
-RUN apt-get update -y && apt-get install -y --no-install-recommends \
-    ca-certificates \
-    curl \
-    dirmngr \
-    gnupg \
-    libicu57 \
-    libmozjs185-1.0 \
-    openssl \
-    python && \
-  rm -rf /var/lib/apt/lists/*
+RUN groupadd -g 5984 -r couchdb && useradd -u 5984 -d /opt/couchdb -g couchdb 
couchdb
+
+RUN apt-get update -y && apt-get install -y --no-install-recommends 
apt-transport-https && \
+    echo "deb https://apache.bintray.com/couchdb-deb stretch main" \
+        | tee -a /etc/apt/sources.list \
+    && apt-get update -y && apt-get install -y --no-install-recommends \
+        ca-certificates \
+        couch-libmozjs185-1.0 \
+        curl \
+        dirmngr \
+        gnupg \
+        libicu57 \
+        openssl \
+        python \
+    && rm -rf /var/lib/apt/lists/*
 
 # grab gosu for easy step-down from root and tini for signal handling
 # see https://github.com/apache/couchdb-docker/pull/28#discussion_r141112407
 ENV GOSU_VERSION 1.10
 ENV TINI_VERSION 0.16.1
 RUN set -ex; \
-  apt-get update; \
-  apt-get install -y --no-install-recommends wget; \
-  rm -rf /var/lib/apt/lists/*; \
-  dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
+    apt-get update; \
+    apt-get install -y --no-install-recommends wget; \
+    rm -rf /var/lib/apt/lists/*; \
+    dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
 # install gosu
-  wget -O /usr/local/bin/gosu 
"https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-$dpkgArch";;
 \
-  wget -O /usr/local/bin/gosu.asc 
"https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc";;
 \
-  export GNUPGHOME="$(mktemp -d)"; \
-  for server in $(shuf -e ha.pool.sks-keyservers.net \
-                          hkp://p80.pool.sks-keyservers.net:80 \
-                          keyserver.ubuntu.com \
-                          hkp://keyserver.ubuntu.com:80 \
-                          pgp.mit.edu) ; do \
-    gpg --keyserver "$server" --recv-keys 
B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \
-  done; \
-  gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
-  rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
-  chmod +x /usr/local/bin/gosu; \
-  gosu nobody true; \
+    wget -O /usr/local/bin/gosu 
"https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-$dpkgArch";;
 \
+    wget -O /usr/local/bin/gosu.asc 
"https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc";;
 \
+    export GNUPGHOME="$(mktemp -d)"; \
+    gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 
B42F6819007F00F88E364FD4036A9C25BF357DD4; \
+    gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
+    rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
+    chmod +x /usr/local/bin/gosu; \
+    gosu nobody true; \
 # install tini
-  wget -O /usr/local/bin/tini 
"https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch";;
 \
-  wget -O /usr/local/bin/tini.asc 
"https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch.asc";;
 \
-  export GNUPGHOME="$(mktemp -d)"; \
-  for server in $(shuf -e ha.pool.sks-keyservers.net \
-                          hkp://p80.pool.sks-keyservers.net:80 \
-                          keyserver.ubuntu.com \
-                          hkp://keyserver.ubuntu.com:80 \
-                          pgp.mit.edu) ; do \
-    gpg --keyserver "$server" --recv-keys 
595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && break || : ; \
-  done; \
-  gpg --batch --verify /usr/local/bin/tini.asc /usr/local/bin/tini; \
-  rm -rf "$GNUPGHOME" /usr/local/bin/tini.asc; \
-  chmod +x /usr/local/bin/tini; \
-  tini --version; \
-  apt-get purge -y --auto-remove wget
+    wget -O /usr/local/bin/tini 
"https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch";;
 \
+    wget -O /usr/local/bin/tini.asc 
"https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$dpkgArch.asc";;
 \
+    export GNUPGHOME="$(mktemp -d)"; \
+    gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 
595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7; \
+    gpg --batch --verify /usr/local/bin/tini.asc /usr/local/bin/tini; \
+    rm -rf "$GNUPGHOME" /usr/local/bin/tini.asc; \
+    chmod +x /usr/local/bin/tini; \
+    tini --version; \
+    apt-get purge -y --auto-remove wget
 
 # Dependencies only needed during build time. This layer will also be cached
 FROM runtime AS build_dependencies
@@ -77,13 +68,13 @@ FROM runtime AS build_dependencies
 RUN apt-get update -y && apt-get install -y --no-install-recommends \
     apt-transport-https \
     build-essential \
+    couch-libmozjs185-dev \
     erlang-nox \
     erlang-reltool \
     erlang-dev \
     git \
     libcurl4-openssl-dev \
     libicu-dev \
-    libmozjs185-dev \
     python-setuptools \ 
     python-pip \
     python-sphinx \
@@ -100,9 +91,8 @@ RUN set -ex; \
     apt-get update -y && apt-get install -y nodejs; \
     npm install -g grunt-cli
 
-
 # Clone CouchDB source code including all dependencies
-ARG clone_url=https://gitbox.apache.org/repos/asf/couchdb.git
+ARG clone_url=https://github.com/apache/couchdb.git
 RUN git clone $clone_url /usr/src/couchdb
 WORKDIR /usr/src/couchdb
 RUN ./configure
diff --git a/dev/docker-entrypoint.sh b/dev/docker-entrypoint.sh
index c60c957..4ba69b4 100755
--- a/dev/docker-entrypoint.sh
+++ b/dev/docker-entrypoint.sh
@@ -43,14 +43,14 @@ if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
        if [ "$COUCHDB_USER" ] && [ "$COUCHDB_PASSWORD" ]; then
                # Create admin only if not already present
                if ! grep -Pzoqr "\[admins\]\n$COUCHDB_USER =" 
/opt/couchdb/etc/local.d/*.ini; then
-                       printf "[admins]\n%s = %s\n" "$COUCHDB_USER" 
"$COUCHDB_PASSWORD" >> /opt/couchdb/etc/local.d/docker.ini
+                       printf "\n[admins]\n%s = %s\n" "$COUCHDB_USER" 
"$COUCHDB_PASSWORD" >> /opt/couchdb/etc/local.d/docker.ini
                fi
        fi
 
        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 "[couch_httpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
+                       printf "\n[couch_httpd_auth]\nsecret = %s\n" 
"$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
                fi
        fi
 

Reply via email to