commit | c4d15dd4c095d7f4f74be1b5f57cc387ec09fec2 | [log] [tgz] |
---|---|---|
author | Nick Vatamaniuc <vatamane@gmail.com> | Mon Jun 13 15:13:05 2022 -0400 |
committer | Nick Vatamaniuc <nickva@users.noreply.github.com> | Mon Jun 13 15:42:29 2022 -0400 |
tree | 09d4cdb86a5fca29c96631ceae338831e6b1ad2c | |
parent | 46d3e4a2246f903c11bcbdf3e19ea29cef11a4b7 [diff] |
Improve /dev/random usage when generating cookies for RPM distros In a low entropy environments, `/dev/random` will block, so make sure to use only as many bytes as we'll need instead of reading and discarding bytes as we did previously.
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 derivativessnapcraft
files, as used by the Ubuntu Snappy package managermake couch-js-rpms
make couch-js-debs PLATFORM=$(lsb_release -cs)
master
branch: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)
couchdbdev
docker containersYou 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
docker run
.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.
Run:
$ ./build.sh couch-all path/to/apache-couchdb-VERSION.tar.gz
or
$ ./build.sh 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.
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:
./build.sh couch-upload-all
Or, for the SpiderMonkey packages:
./build.sh js-upload-all
See README-SNAP.md.
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.