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:
.debfiles, as used by Debian, Ubuntu, and derivatives
.rpmfiles, as used by CentOS, RedHat, and derivatives
snapcraftfiles, as used by the Ubuntu Snappy package manager
make couch-js-debs PLATFORM=$(lsb_release -cs)
cd .. && git clone https://github.com/apache/couchdb cd couchdb-pkg && make build-couch $(lsb_release -cs) PLATFORM=$(lsb_release -cs)
make copy-couch $(lsb_release -cs) COUCHTARBALL=path/to/couchdb-#.#.#.tar.gz PLATFORM=$(lsb_release -cs)
You must first pull down the image or images you need from Docker Hub, or build the images using the apache/couchdb-ci repository. A full list of supported environments is at https://hub.docker.com/u/couchdbdev/ .
docker pull couchdbdev/<os>-<codename>-base ./build.sh js <os>-<codename> # for example, debian-stretch, ubuntu-bionic or centos-7.
From a downloaded CouchDB tarball:
docker pull couchdbdev/<osname>-<codename>-erlang-<erlang-version> ERLANGVERSION=<erlang-version> ./build.sh couch <os>-<codename> path/to/couchdb-#.#.#.tar.gz
Directly from the Apache source CDN:
docker pull couchdbdev/<osname>-<codename>-erlang-<erlang-version> ./build.sh couch <os>-<codename> https://dist.apache.org/repos/dist/release/couchdb/source/#.#.#/apache-couchdb-#.#.#.tar.gz
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 https://couchdb.apache.org/). The package's version number will be derived from the filename of the CouchDB dist tarball.
$ ./build.sh couch-all path/to/apache-couchdb-VERSION.tar.gz
$ ./build.sh couch-all http://url/to/apache-couchdb-VERSION.tar.gz
Packages will be placed in the
js-all target exists, should the SpiderMonkey packages need to be regenerated.
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 <file.rpm> command, simply run:
Or, for the SpiderMonkey packages:
Apache CouchDB has a CONTRIBUTING file with details on how to get started with issue reporting or contributing to the upkeep of this project.