Add aarch64-debian-stretch platform
3 files changed
tree: c66de8cbd616f3fba6930070d5a5da312e6899eb
  1. .github/
  2. .gitignore
  3. .travis.yml
  5. Makefile
  7. bin/
  9. debian/
  10. js/
  11. lintian-profiles/
  12. pkgs/
  13. repo/
  14. rpm/
  15. snap/

CouchDB Packaging support repo

The main purpose of this repository is to provide packaging support files for Apache CouchDB and its SpiderMoneky 1.8.5 dependency, for a number of well-known and used packaging formats, namely:

  • .deb files, as used by Debian, Ubuntu, and derivatives
  • .rpm files, as used by CentOS, RedHat, and derivatives
  • snapcraft files, as used by the Ubuntu Snappy package manager


On a system with all necessary build-time dependencies:

SpiderMonkey 1.8.5


make couch-js-rpms


make couch-js-debs PLATFORM=$(lsb_release -cs)


rpms or debs from master branch:

cd .. && git clone
cd couchdb-pkg && make build-couch $(lsb_release -cs) PLATFORM=$(lsb_release -cs)

rpms or debs from a release tarball:

make copy-couch $(lsb_release -cs) COUCHTARBALL=path/to/couchdb-#.#.#.tar.gz PLATFORM=$(lsb_release -cs)

Building inside the couchdbdev 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 repository. Example:

docker pull couchdbdev/<osname>-<codename>-erlang-<erlang-version>

A full list of supported environments is at .

SpiderMonkey 1.8.5

./ js <os>-<codename>    # for example, debian-stretch, ubuntu-bionic or centos-7.


./ couch <os>-<codename> path/to/couchdb-#.#.#.tar.gz

or, if you want to build directly from the Apache distribution repository,

./ couch <os>-<codename>

Building packages for a release


  1. Linux running Docker
  2. The current user must be capable of running docker run.
  3. Enough free disk space to download all of the Docker images + build CouchDB.

Running the package build

You can either build packages from a local CouchDB dist tarball (the output of make dist), or from a URL of a published CouchDB dist tarball (such as the ones on The package's version number will be derived from the filename of the CouchDB dist tarball.


$ ./ couch-all path/to/apache-couchdb-VERSION.tar.gz


$ ./ couch-all http://url/to/apache-couchdb-VERSION.tar.gz

Packages will be placed in the pkgs/couch subdirectory.

A similar js-all target exists, should the SpiderMonkey packages need to be regenerated.

Uploading the packages

If you have Apache Bintray credentials (set your BINTRAY_USER and BINTRAY_API_KEY environment variables appropriately), after building all CouchDB packages above, simply run:

./ couch-upload-all

Or, for the SpiderMonkey packages:

./ js-upload-all

Building snaps


  1. Ubuntu 16.04
  2. sudo apt install snapd snapcraft

How to do it

  1. Edit snap/snapcraft.yaml to point to the correct tag (e.g. 2.3.0)
  2. snapcraft

Feedback, Issues, Contributing

General feedback is welcome at our user or developer mailing lists.

Apache CouchDB has a CONTRIBUTING file with details on how to get started with issue reporting or contributing to the upkeep of this project.