You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by wo...@apache.org on 2020/11/25 20:01:24 UTC

[couchdb-pkg] 01/01: [snap] bump to 3.1.1

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

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

commit e3bc73ca95a3873713881c5ce6b642782775a6d5
Author: Joan Touzet <wo...@apache.org>
AuthorDate: Wed Nov 25 12:00:04 2020 -0800

    [snap] bump to 3.1.1
---
 .gitignore          |  1 +
 README-SNAP.md      | 21 ++++++++++-----------
 snap/snapcraft.yaml | 45 ++++++++++++++-------------------------------
 3 files changed, 25 insertions(+), 42 deletions(-)

diff --git a/.gitignore b/.gitignore
index 77e52d5..0d70b4a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+archive/
 debian/control
 debian/*.log
 debian/*.debhelper
diff --git a/README-SNAP.md b/README-SNAP.md
index b78baac..0eed800 100644
--- a/README-SNAP.md
+++ b/README-SNAP.md
@@ -253,19 +253,18 @@ you are using the default.
 ```
 # Building this snap <a name="building"></a>
 
-This build requires Ubuntu 18.04, the `core18` core, and the `snapcraft` tool.  The
-CouchDB team builds this using the
-[`yakshaveinc/snapcraft`](https://hub.docker.com/r/yakshaveinc/snapcraft) image, which is
-the [official `snapcore/snapcraft` Docker
-image](https://snapcraft.io/docs/build-on-docker) patched for Ubuntu 18.04. (When the
-upstream image is fully patched for `core18`, we'll move to it instead.)
+This build requires `core20`. On Ubuntu 18.04, you will need to do the following:
 
-From an Ubuntu 18.04 machine with Docker installed:
+```
+sudo apt remove snapcraft
+sudo snap remove snapcraft
+sudo snap install snapcraft --classic
+```
+
+Then building is easy:
 
 ```bash
-$ git clone https://github.com/couchdb/couchdb-pkg && cd couchdb-pkg
-$ docker pull yakshaveinc/snapcraft:core18
-$ docker run -it -v "$PWD":/build:Z -w /build yakshaveinc/snapcraft:core18 snapcraft
+$ snapcraft
 ```
 
 The self-built snap will need to be installed using `--dangerous`:
@@ -277,5 +276,5 @@ sudo snap install ./couchdb_3.0.0_amd64.snap --dangerous
 Clean up with:
 
 ```bash
-$docker run -it -v "$PWD":/build:Z -w /build yakshaveinc/snapcraft:core18-edge snapcraft clean
+$ sudo snapcraft clean          # sudo may not be required but is safe
 ```
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index bff10f8..6340c7d 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -1,5 +1,5 @@
 name: couchdb
-version: 3.0.0
+version: 3.1.1
 summary: Official Apache CouchDB snap - a clustering document oriented database
 description: |
   CouchDB is a database that completely embraces the web. Store your data with
@@ -11,7 +11,7 @@ architectures:
   - build-on: amd64
     run-on: amd64
 assumes: [command-chain, common-data-dir]
-base: core18
+base: core20
 grade: stable
 confinement: strict
 
@@ -23,7 +23,7 @@ parts:
       apt-get upgrade -yy
       apt-get install -y --no-install-recommends apt-transport-https \
                                                 gnupg ca-certificates
-      echo "deb https://apache.bintray.com/couchdb-deb bionic main" | \
+      echo "deb https://apache.bintray.com/couchdb-deb focal main" | \
            tee /etc/apt/sources.list.d/custom.list
       apt-key adv --keyserver keyserver.ubuntu.com --recv-keys \
                         8756C4F765C9AC3CB6B85D62379CE192D401AB61
@@ -31,47 +31,24 @@ parts:
   couchdb:
     after: [add-repo]
     plugin: dump
-    source: https://apache.bintray.com/couchdb-deb/pool/C/CouchDB/couchdb_3.0.0~bionic_amd64.deb
+    source: https://apache.bintray.com/couchdb-deb/pool/C/CouchDB/couchdb_3.1.1~focal_amd64.deb
     source-type: deb
     # because this doesn't use apt, we have to manually list all of our
     # dependencies :(
-    # the following are all in core18, and warning output can safely be ignored:
-    # lib/x86_64-linux-gnu/libbz2.so.1.0
-    # lib/x86_64-linux-gnu/libc.so.6
-    # lib/x86_64-linux-gnu/libcrypt.so.1
-    # lib/x86_64-linux-gnu/libdl.so.2
-    # lib/x86_64-linux-gnu/libgcrypt.so.20
-    # lib/x86_64-linux-gnu/libgpg-error.so.0
-    # lib/x86_64-linux-gnu/liblzma.so.5
-    # lib/x86_64-linux-gnu/libm.so.6
-    # lib/x86_64-linux-gnu/libncurses.so.5
-    # lib/x86_64-linux-gnu/libncursesw.so.5
-    # lib/x86_64-linux-gnu/libnsl.so.1
-    # lib/x86_64-linux-gnu/libpthread.so.0
-    # lib/x86_64-linux-gnu/libresolv.so.2
-    # lib/x86_64-linux-gnu/librt.so.1
-    # lib/x86_64-linux-gnu/libsystemd.so.0
-    # lib/x86_64-linux-gnu/libutil.so.1
-    # lib/x86_64-linux-gnu/libz.so.1
-    # usr/lib/x86_64-linux-gnu/libdb-5.3.so
-    # usr/lib/x86_64-linux-gnu/liblz4.so.1
-    # usr/lib/x86_64-linux-gnu/libpanelw.so.5
-    # usr/lib/x86_64-linux-gnu/libstdc++.so.6
     build-packages:
       - adduser
       - debconf
       - ca-certificates
       - init-system-helpers
       - lsb-base
-      - curl
       - libgcc1
     stage-packages:
-      - couch-libmozjs185-1.0
+      - libmozjs-68-0
       - procps
       - libcurl4
-      - libicu60
-      - libssl1.0.0
-      - libtinfo5
+      - libicu66
+      - libssl1.1
+      - libtinfo6
     override-pull: |
       snapcraftctl pull
       rm -f opt/couchdb/data opt/couchdb/var/log opt/couchdb/etc/default.d/*
@@ -81,6 +58,12 @@ parts:
     override-build: |
       echo "couchdb couchdb/mode select none" | debconf-set-selections
       snapcraftctl build
+    override-stage: |
+      # focal libmozjs is busted...
+      ln -s libmozjs-68.so.68.6.0 /root/parts/couchdb/install/usr/lib/x86_64-linux-gnu/libmozjs-68.so.0
+      snapcraftctl stage
+    override-prime: |
+      snapcraftctl prime
 
 layout:
   # Database and log files are common across upgrades