This is an automated email from the ASF dual-hosted git repository. wohali pushed a commit to branch debian_2.0 in repository https://gitbox.apache.org/repos/asf/couchdb-pkg.git
commit 22c3b5709ba6c044b00f57ac7f3879d448aea0fc Author: Joan Touzet <jo...@atypical.net> AuthorDate: Sat Apr 22 13:57:38 2017 -0400 initial debian/ubuntu 2.0 support --- .gitignore | 9 +- debian/10-filelog.ini | 4 + debian/NO_LONGER_USED_MOVED_TO_opt_couchdb_etc | 0 debian/README.Debian | 107 +++ debian/changelog | 961 +++++++++++++++++++++++++ debian/compat | 1 + debian/conffiles | 2 + debian/control | 60 ++ debian/copyright | 739 +++++++++++++++++++ debian/couchdb.config | 124 ++++ debian/couchdb.dirs | 6 + debian/couchdb.doc-base | 9 + debian/couchdb.docs | 1 + debian/couchdb.init | 159 ++++ debian/couchdb.install | 4 + debian/couchdb.links | 2 + debian/couchdb.lintian-overrides | 14 + debian/couchdb.logrotate | 9 + debian/couchdb.manpages | 1 + debian/couchdb.postinst | 201 ++++++ debian/couchdb.postrm | 44 ++ debian/couchdb.preinst | 21 + debian/couchdb.service | 15 + debian/couchdb.templates | 96 +++ debian/couchdb.upstart | 11 + debian/po/POTFILES.in | 1 + debian/po/templates.pot | 238 ++++++ debian/rules | 37 + debian/source/format | 1 + debian/source/lintian-overrides | 10 + debian/source/options | 2 + debian/watch | 3 + lintian-profiles/couchdb-debian.profile | 3 + lintian-profiles/couchdb-ubuntu.profile | 3 + ubuntu-notes.txt | 38 + 35 files changed, 2933 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 8181e4a..3bc6f41 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ -*.swp -*~ - +debian/*.log +debian/*.debhelper +debian/*.substvars +debian/files +debian/couchdb +debian/tmp diff --git a/debian/10-filelog.ini b/debian/10-filelog.ini new file mode 100644 index 0000000..6e0d7cf --- /dev/null +++ b/debian/10-filelog.ini @@ -0,0 +1,4 @@ +[log] +writer = file +file = /var/log/couchdb/couchdb.log +level = info diff --git a/debian/NO_LONGER_USED_MOVED_TO_opt_couchdb_etc b/debian/NO_LONGER_USED_MOVED_TO_opt_couchdb_etc new file mode 100644 index 0000000..e69de29 diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..079f076 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,107 @@ +CouchDB 2.0 for Debian +---------------------- + +CouchDB 2.0 uses an erlang rebar release for installation. This is akin +to a python virtualenv or a ruby rbenv setup. This relocatable CouchDB +install contains the Erlang BEAM VM, all support libraries, the CouchDB +libraries (including any natively-compiled code), couchjs, and so on. + +Because of this upstream architectural change, it has become impractical +to install couchdb into the standard /usr hierarchy. + +This package installs CouchDB 2.0 into /opt/couchdb, with the following +exceptions: + + * Database files are stored and expected in /var/lib/couchdb + * Log files are stored in /var/log/couchdb + +This means that CouchDB configuration files are NO LONGER stored in +/etc/couchdb, but instead are located at /opt/couchdb/etc/*.ini. +A reminder has been placed in /etc/couchdb in case you forget. + +This package does NOT create the _global_changes database. If you +wish to enable this functionality, simply create the _global_changes +database: + + curl -X PUT http://localhost:5984/_global_changes + + +Logging +------- + +CouchDB 2.0 changed default logging to be stderr only. Unfortunately, +currently for Debian and Ubuntu, systemd's journal is not persisted +to disk, only to a ring buffer in /run. rsyslogd still maintains +the contents of /var/log. + +This package overrides this behaviour and logs to /var/log/couchdb +as in 1.x. + +If, in the future, Debian and Ubuntu enable systemd logging via the +journal, this file will be removed. + +Administrators who wish to override this behaviour can specify a +new [log] stanza in local.ini or any local.d/*.ini file. + + +Pre-seeding package configuration +--------------------------------- + +The Debian and Ubuntu CouchDB 2.0 packages support pre-seeding answers +to configuration questions via debconf-set-selections. This allows +for unattended, non-interactive ("headless") installation of CouchDB +while supporting configuration in standalone, clustered or "no-config" +mode. + +The following commands will install CouchDB in standalone mode, +bound to 127.0.0.1, and set an admin password of "password": + +COUCHDB_PASSWORD=password +echo "couchdb couchdb/mode select standalone +couchdb couchdb/mode seen true +couchdb couchdb/bindaddress string 127.0.0.1 +couchdb couchdb/bindaddress seen true +couchdb couchdb/adminpass password ${COUCHDB_PASSWORD} +couchdb couchdb/adminpass seen true +couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD} +couchdb couchdb/adminpass_again seen true" | debconf-set-selections +DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes couchdb + +The following commands will install CouchDB in clustered mode, +bound to all interfaces, and set the Erlang nodename, cookie, and +admin password: + +COUCHDB_PASSWORD=password +echo "couchdb couchdb/mode select clustered +couchdb couchdb/mode seen true +couchdb couchdb/nodename string couc...@machine.domain.com +couchdb couchdb/nodename seen true +couchdb couchdb/cookie string elmo +couchdb couchdb/cookie seen true +couchdb couchdb/bindaddress string 0.0.0.0 +couchdb couchdb/bindaddress seen true +couchdb couchdb/adminpass password ${COUCHDB_PASSWORD} +couchdb couchdb/adminpass seen true +couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD} +couchdb couchdb/adminpass_again seen true" | debconf-set-selections +DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes couchdb + +And the following commands will install CouchDB with absolutely +no configuration (suitable for configuration via external tools): + +echo "couchdb couchdb/mode select none" | debconf-set-selections +DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes couchdb + + +Upgrading from CouchDB 1.x +-------------------------- + +The installer attempts to detect if any CouchDB 1.x databases exist +in /var/lib/couchdb. If so, the installer will warn that manual +action is required to migrate these databases to CouchDB 2.0, and +includes instructions on how to perform the migration step. + +Migration is accomplished via the /opt/couchdb/bin/couchup tool. Run +this program to see the invocation parameters and display other help. + + -- Joan Touzet <woh...@apache.org>, Thu, 06 Apr 2017 02:50:15 -0400 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..cbacbdd --- /dev/null +++ b/debian/changelog @@ -0,0 +1,961 @@ +couchdb (2.0.0-1) unstable; urgency=low + + * New upstream release with lots of bug fixes and feature improvements. + + -- CouchDB Developers <d...@couchdb.apache.org> Tue, 04 Apr 2017 17:43:38 -0400 + +couchdb (1.6.0-0ubuntu8) yakkety; urgency=medium + + * No-change rebuild for libicu soname change. + + -- Matthias Klose <d...@ubuntu.com> Fri, 22 Apr 2016 22:54:07 +0000 + +couchdb (1.6.0-0ubuntu7) wily; urgency=medium + + * No-change rebuild against new libicu + + -- Iain Lane <i...@orangesquash.org.uk> Wed, 05 Aug 2015 17:39:30 +0100 + +couchdb (1.6.0-0ubuntu6) wily; urgency=medium + + * Add debian/couchdb.service to start system-wide CouchDB instance via + systemd (LP: #1457464) + * debian/rules: call dh --with systemd + * debian/control: Add `dh-systemd` to Build-Depends + * Add debian/patches/support-erlang-18.diff that patches configure.ac to + enable building against Erlang 18 + + -- Jason Gerard DeRose <ja...@system76.com> Fri, 10 Jul 2015 09:18:51 -0600 + +couchdb (1.6.0-0ubuntu5) vivid; urgency=medium + + * debian/rules: Reinstate init.d script, for insserv and systemd + compatibility. Taken from Debian package. + * Drop upstart dependency. + + -- Martin Pitt <martin.p...@ubuntu.com> Mon, 12 Jan 2015 15:40:44 +0100 + +couchdb (1.6.0-0ubuntu4) utopic; urgency=medium + + * Build-depend on pkg-config. + + -- Matthias Klose <d...@ubuntu.com> Thu, 21 Aug 2014 16:43:28 +0200 + +couchdb (1.6.0-0ubuntu3) utopic; urgency=medium + + * Fix pthread autoconf test. + + -- Matthias Klose <d...@ubuntu.com> Thu, 21 Aug 2014 16:02:56 +0200 + +couchdb (1.6.0-0ubuntu2) utopic; urgency=medium + + * Build using dh-autoreconf. LP: #1359738. + * Build-depend on autoconf-archive. + + -- Matthias Klose <d...@ubuntu.com> Thu, 21 Aug 2014 15:28:04 +0200 + +couchdb (1.6.0-0ubuntu1) utopic; urgency=low + + * New upstream release (LP: #1212481) + * debian/control: bump Standards-Version to 3.9.5 + + -- Jason Gerard DeRose <ja...@system76.com> Sun, 20 Jul 2014 16:31:46 -0600 + +couchdb (1.5.0-0ubuntu1) trusty; urgency=low + + * New upstream release (LP: #1254371) + * Don't include `couchdb` info page in `couchdb-bin` binary package as it + provides no meaningful benefit over the `couchdb` man page (note this change + means we don't need to add a Build-Depends on `install-info` for Trusty) + * Remove Build-Depends: texlive-latex-base, texlive-latex-recommended, + texlive-latex-extra, texlive-fonts-recommended, texinfo (as documentation + thus produced doesn't get included in the binary packages anyway) + * debian/rules: don't call ./configure with --enable-strictness as we dropped + Build-Depends on `texlive-*`, `texinfo`, plus didn't add `install-info` + * Add Build-Depends: lsb-release (used for [vendor] info in default.ini) + * debian/rules: insert proper [vendor] info in default.ini (note this should + be improved once there is a better mechanism upstream) + * debian/couchdb.upstart: start on filesystem and static-network-up, + stop on deconfiguring-networking, plus add "author" line + + -- Jason Gerard DeRose <ja...@system76.com> Sun, 01 Dec 2013 16:55:05 -0700 + +couchdb (1.4.0-0ubuntu1) saucy; urgency=low + + * New upstream release (LP: #1212481) + * Switch from CDBS to pure debhelper (compat 9) + * Bump Standards-Version to 3.9.4 + * Use an Upstart job instead of the upstream SysV init.d script + * Remove Build-Depends: cdbs, libreadline-dev + * Add Build-Depends: erlang-os-mon, erlang-syntax-tools, python-sphinx, + texlive-latex-base, texlive-latex-recommended, texlive-latex-extra, + texlive-fonts-recommended, texinfo + * Remove couchdb-bin Depends: procps, lsb-base (needed for SysV init.d script) + * Remove couchdb-bin Depends: libjs-jquery (1.7.2 is in Saucy, but the + internal CouchDB jquery is now at version 1.8.3) + * Simplify Erlang couchdb-bin Depends to just: + ${erlang-abi:Depends}, ${erlang:Depends} + * Add couchdb Depends: upstart + * Remove deprecated couchdb-bin.postrm + * Thanks to the Upstart job, couchdb.postrm no longer needs `sleep 3` hack, + nor needs to `rm -r -f "/var/run/couchdb"` + * Stop using versioned database_dir /var/lib/couchdb/VERSION as this isn't + done upstream and CouchDB is no longer considered alpha software + * Remove README.Debian, README.source as they're no longer applicable + * Drop patches superseded upstream for CVE-2012-5649, CVE-2012-5650: + - improve_parsing_of_mochiweb_relative_paths.patch + - improve_script_url_validation.patch + - include_a_comment_before_jsonp_output.patch + * Because of the switch to Upstart, drop unneeded SysV init.d script patches: + - force-reload.patch + - couchdb_own_rundir.patch + - wait_for_couchdb_stop.patch + * Drop couchdb_sighup.patch, superseded upstream + * Drop logrotate_as_couchdb.patch as it doesn't make sense for the CouchDB + daemon to be able to modify its own archived log files + * Move static data and docs in "/usr/share/couchdb" from `couchdb-bin` into + new `couchdb-common` Architecture:all package + * Add couchdb-bin Depends: couchdb-common (= ${source:Version}) + * debian/watch: point to current download location + * debian/rules: replace `get-orig-source` with `get-packaged-orig-source` + + -- Jason Gerard DeRose <ja...@system76.com> Wed, 28 Aug 2013 16:28:32 -0600 + +couchdb (1.2.0-5ubuntu1) raring; urgency=low + + * Merge from Debian unstable. Remaining changes: + - debian/rules, debian/control: Split couchdb and couchdb-bin. + - debian/postinst: Rename to couchdb-bin.postinst. + - debian/couchdb-bin.postrm: Don't try to delete couchdb system + user/group. + + -- Logan Rosen <logatron...@gmail.com> Mon, 21 Jan 2013 17:26:25 -0500 + +couchdb (1.2.0-5) unstable; urgency=high + + * Fix debian/patches/series for CVE-2012-5649 and CVE-2012-5650 fixes. + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Fri, 18 Jan 2013 22:04:32 +0100 + +couchdb (1.2.0-4) unstable; urgency=high + + * Fix CVE-2012-5649 and CVE-2012-5650 with adding upstream fixes as patches: + improve_parsing_of_mochiweb_relative_paths.patch , + improve_script_url_validation.patch and + include_a_comment_before_jsonp_output.patch (closes: #698439). + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Fri, 18 Jan 2013 20:04:01 +0100 + +couchdb (1.2.0-3ubuntu1) raring; urgency=low + + * Merge from Debian unstable. Remaining changes: + - debian/rules, debian/control: Split couchdb and couchdb-bin. + - debian/postinst: Rename to couchdb-bin.postinst. + - debian/couchdb-bin.postrm: Don't try to delete couchdb system + user/group. + + -- Logan Rosen <logatron...@gmail.com> Tue, 25 Dec 2012 03:35:04 -0500 + +couchdb (1.2.0-3) unstable; urgency=low + + * Rework couchdb own run directory (updates: #681549). + * Use SIGTERM instead of SIGHUP for graceful shutdown (closes: #692295). + * Wait until complete stop of service. + * Use couchdb user for logrotate (closes: #652172). + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Sun, 18 Nov 2012 12:24:24 +0100 + +couchdb (1.2.0-2ubuntu1) quantal; urgency=low + + * Merge from Debian unstable (LP: #1022515, LP: #817656): + - fixes ownership of /etc/couchdb. LP: #731272. + * Remaining changes: + - Use pkg-config instead of the js-config script shipped by libmozjs + - debian/rules, debian/control: split couchdb and couchdb-bin + - debian/postinst: renamed to couchdb-bin.postinst + - debian/couchdb-bin.postrm: don't try to delete couchdb system + user/group + * Dropped changes, superseded upstream: + - Backport svn r1039345 from 1.0.3 + - debian/patches/couchio-*: patchset from CouchIO to fix U1 replication + over SSL. It's not clear if these were upstreamed, but most of the + source files they applied to no longer exist at all upstream, so if + these are still needed they will need to be redone. + - debian/patches/fix-help2man.patch: dropped, no longer needed + - debian/patches/jquery15-fix.patch: Make Futon work with jQuery 1.5 + - debian/patches/moz*.patch: Spidermonkey 1.8.54 patchset + * Dropped changes, included in Debian: + - debian/control - bump standards version + - debian/control - fix lintian error not-binnmuable-all-depends-any + - Build against a proper libmozjs + - Update build-depends/depends/build config (we no longer need the + --with-js build flags) + * Dropped changes, superseded in Debian: + - source/format - mark package as 1.0 format + - change the default permissions on /etc/couchdb to 0775 and files to + 0664 + + [ Jason Gerard DeRose ] + * /etc/couchdb/default.ini and /etc/couchdb/default.d are delivered in the + `couchdb-bin` package and are owned by root + * /etc/couchdb/local.ini and /etc/couchdb/local.d are delivered in the + * The `couchdb-bin` package does not create nor require the "couchdb" user + (this is now done in the `couchdb` package instead). LP: #1007125. + * Added a short sleep delay in couchdb.postrm so couchdb is more likely to + have actually terminated by the time we `deluser couchdb`, which is needed + for `sudo apt-get purge couchdb` to work when couchdb is running + + -- Steve Langasek <steve.langa...@ubuntu.com> Tue, 31 Jul 2012 02:04:48 +0000 + +couchdb (1.2.0-2) unstable; urgency=low + + * Make couchdb user own its run directory (closes: #681549). + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Thu, 19 Jul 2012 20:13:25 +0200 + +couchdb (1.2.0-1) unstable; urgency=low + + * New major upstream release (closes: #672141). + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Tue, 10 Apr 2012 21:14:05 +0200 + +couchdb (1.1.1-2) unstable; urgency=low + + * Declare correct libmozjs-dev build dependency to make views working again, + thanks to Joan Touzet <jo...@atypical.net> for clarification + (closes: #644545). + * Update Standards-Version to 3.9.3 , update debian/copyright to match it. + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Tue, 20 Mar 2012 06:41:16 +0100 + +couchdb (1.1.1-1) unstable; urgency=low + + * New upstream release. + * Drop mawk dependency, not needed anymore (closes: 647173). + * Update Erlang dependency to match upstream recommendation + (closes: #632975). + * Enable experimental Mozilla SpiderMonkey JavaScript support, mozjs.patch + doesn't needed anymore. + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Sun, 27 Nov 2011 09:06:57 +0100 + +couchdb (1.1.0-2) unstable; urgency=low + + [ Mike Hommey ] + * debian/patches/mozjs.patch: Backported changes to allow to build against + newer libmozjs (closes: #631031, #642218). + + [ Laszlo Boszormenyi (GCS) <g...@debian.hu> ] + * Restore missing changelog entries and fixes. + * Drop init.patch , couchdb can be stopped again (closes: #601339). + * Change to 3.0 (quilt) source format. + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Sat, 06 Aug 2011 09:33:58 +0200 + +couchdb (1.1.0-1) unstable; urgency=low + + * New upstream release (closes: #590334). + * Version jQuery dependency (closes: #582022, #614941). + * Empty dependency_libs in *.la (closes: #621202). + * Drop pid.patch , applied upstream and drop icu-config.patch not needed. + * Fix postrm , remove_file_collection is missing. + * Fix several lintian errors and warnings: + - add patch to implement force-reload initscript option + - use real erlang dependency, not just the virtual ABI one + - remove embedded jquery.form.js , depend on its package + - remove var/run/couchdb from the package, it'll be created on demand + + -- Laszlo Boszormenyi (GCS) <g...@debian.hu> Thu, 14 Apr 2011 11:56:01 +0200 + +couchdb (1.0.1-0ubuntu18) precise; urgency=low + + * Rebuild for libicu48. + + -- Colin Watson <cjwat...@ubuntu.com> Mon, 21 Nov 2011 16:06:03 +0000 + +couchdb (1.0.1-0ubuntu17) oneiric; urgency=high + + * Backport svn r1039345 from 1.0.3 (LP: #780972) + + -- John S Gruber <johnsgru...@gmail.com> Fri, 02 Sep 2011 01:02:01 -0400 + +couchdb (1.0.1-0ubuntu16) oneiric; urgency=low + + * Update Spidermonkey 1.8.5 patchset to the more palatable ones I'm + forwarding upstream + - update debian/patches/moz0001-spidermonkey1.8.5.patch + - update debian/patches/moz0002-libmozjs.patch + - update debian/patches/moz0003-spidermonkey1.8.5_autotools.patch + + -- Chris Coulson <chris.coul...@canonical.com> Tue, 14 Jun 2011 17:47:09 +0100 + +couchdb (1.0.1-0ubuntu15) natty; urgency=low + + * Rebuild against latest libmozjs, since we turned on --enable-threadsafe + * Also switch to using pkg-config rather than using the js-config script + shipped by libmozjs. The latter is totally broken since turning on + --enable-ctypes + - update debian/patches/moz0002-libmozjs.patch + - update debian/patches/moz0003-spidermonkey1.8.5_autotools.patch + - Fixes (LP: #758895) + + -- Chris Coulson <chris.coul...@canonical.com> Fri, 15 Apr 2011 13:21:56 +0100 + +couchdb (1.0.1-0ubuntu14) natty; urgency=low + + * Build against a proper libmozjs \o/ + - FFe LP: #740815 + * Note, we rename a couple of existing patches so that they apply in the + right order and the names make sense + - rename mozjs2.0.patch => moz0001-spidermonkey1.8.5.patch + - rename mozjs2.0_autotools.patch => + moz0003-spidermonkey1.8.5_autotools.patch + * Drop unneeded patch which added LD_LIBRARY_PATH kludge + - remove debian/patches/mozjs1.9_ldlibpath.patch + * Add support to build system for configuring mozjs with js-config + - add debian/patches/moz0002-libmozjs.patch + * Update build-depends/depends/build config (we no longer need the --with-js + build flags) + - update debian/rules + - update debian/control + * Refresh debian/patches/moz0003-spidermonkey1.8.5_autotools.patch + + -- Chris Coulson <chris.coul...@canonical.com> Thu, 24 Mar 2011 01:02:03 +0000 + +couchdb (1.0.1-0ubuntu13) natty; urgency=low + + * Fix LP: #736847 - couchjs doesn't search in xulrunner release path + for libmozjs. I made it search in all paths for the 2.0 beta and + point releases, but missed this one. D'oh! + - update debian/mozjs1.9_ldlibpath.patch + + -- Chris Coulson <chris.coul...@canonical.com> Fri, 18 Mar 2011 00:09:31 +0000 + +couchdb (1.0.1-0ubuntu12) natty; urgency=low + + * debian/patches/jquery15-fix.patch: Make Futon work with jQuery 1.5 via + git commit 064a1d9483cfa33bd0fcc97cb1d97e8e342fdeaf (LP: #716237) + + -- Jason Gerard DeRose <jder...@novacut.com> Fri, 04 Mar 2011 11:08:10 +0100 + +couchdb (1.0.1-0ubuntu11) natty; urgency=low + + * Fix LP: #725064 - Rebuild for libmozjs ABI breakage, again :( + + -- Chris Coulson <chris.coul...@canonical.com> Mon, 28 Feb 2011 10:48:58 +0000 + +couchdb (1.0.1-0ubuntu10) natty; urgency=low + + * Rebuild due to ABI break in libmozjs + * Update to use a single compartment. This avoids some assertions that + were happening when running against debug builds of libmozjs + - update debian/mozjs2.0.patch + + -- Chris Coulson <chris.coul...@canonical.com> Tue, 08 Feb 2011 12:18:20 +0000 + +couchdb (1.0.1-0ubuntu9) natty; urgency=low + + * Fix LP: #709324 - couchjs crashes with SIGSEGV in JS_EvaluateUCScript. + Guard calls in the sandbox context with the new + JS_{Enter/Leave}CrossCompartmentCall API + - update debian/patches/mozjs2.0.patch + - update debian/patches/mozjs2.0_autotools.patch + + -- Chris Coulson <chris.coul...@canonical.com> Sat, 29 Jan 2011 02:52:44 +0000 + +couchdb (1.0.1-0ubuntu8) natty; urgency=low + + * Fix LP: #707774 - couchjs crashed with SIGSEGV in JS_NewGlobalObject(), + since compartments landed. Use JS_NewCompartmentAndGlobalObject instead + - update debian/patches/mozjs2.0.patch + - update debian/patches/mozjs2.0_autotools.patch + + -- Chris Coulson <chris.coul...@canonical.com> Fri, 28 Jan 2011 12:03:46 +0000 + +couchdb (1.0.1-0ubuntu7) natty; urgency=low + + * Fix LP: #703353 - couchjs doesn't start because of ABI break in + Spidermonkey. Use the new API for getting a character array from a + JSString + - update debian/patches/mozjs2.0.patch + - update debian/patches/mozjs2.0_autotools.patch + + -- Chris Coulson <chris.coul...@canonical.com> Wed, 19 Jan 2011 11:49:30 +0000 + +couchdb (1.0.1-0ubuntu6) natty; urgency=low + + * Fix LP: #682866 - CouchDatabase() call hangs because couchjs crashes, + due to semantic differences between fgets and js_fgets. Use a local + implementation of js_fgets when it's not available otherwise + - update debian/patches/mozjs2.0.patch + - update debian/patches/mozjs2.0_autotools.patch + + -- Chris Coulson <chris.coul...@canonical.com> Mon, 06 Dec 2010 10:23:54 +0000 + +couchdb (1.0.1-0ubuntu5) natty; urgency=low + + * Native functions must always set rval when returning success in + the latest version of Spidermonkey, because of the JSFastNative => + JSNative changes + - update debian/patches/mozjs2.0.patch + * Remove a lot of #ifdefs by turning on JSFastNative in pre 2.0 builds. + Also make the configure checks more fine-grained + - update debian/patches/mozjs2.0.patch + + -- Chris Coulson <chris.coul...@canonical.com> Thu, 25 Nov 2010 12:33:55 +0000 + +couchdb (1.0.1-0ubuntu4) natty; urgency=low + + * Fix LP: #421422 - Update dependencies to not pull in the entire + Gecko runtime (+ GTK and X etc). Depend on only the package providing + Spidermonkey. Update launcher scripts to not use the xulrunner binary to + discover the Spidermonkey install location, as it's not available now. The + new method is actually faster, because it doesn't block on starting XPCOM + - update debian/rules + - update debian/control + - update debian/patches/mozjs1.9_ldlibpath.patch + * Update for Spidermonkey 2.0 API changes + - add debian/patches/mozjs2.0.patch + - add debian/patches/mozjs2.0_autotools.patch + * Handle beta versions of xulrunner when generating the binary depends + for couchdb-bin + - update debian/rules + + -- Chris Coulson <chris.coul...@canonical.com> Thu, 25 Nov 2010 02:46:22 +0000 + +couchdb (1.0.1-0ubuntu3) maverick; urgency=low + + * Patchset from CouchIO to fix U1 replication over SSL (LP: #422178) + - couchio-fix-0001-replicator_redirect_atts.patch + - couchio-fix-0002-replicator_db_proxy_fix.patch + - couchio-fix-0003-changes_redirect_1.patch + - couchio-fix-0004-changes_redirect_2.patch + - couchio-fix-0005-changes_proxy.patch + - couchio-fix-0006-replicator_reader_errors.patch + - couchio-fix-0007-ibrowse_upgrade.patch + - couchio-fix-0008-replicator_doc_id_encoding.patch + - couchio-fix-0009-replicator_changes_error.patch + - couchio-fix-0010-replicator_changes_connection_close.patch + - couchio-fix-0011-ibrowse_chunked_encoding_streaming.patch + - couchio-fix-0012-replicator_ssl.patch [fixed up] + + -- Samuele Pedroni <samuele.pedr...@canonical.com> Fri, 24 Sep 2010 14:53:26 -0400 + +couchdb (1.0.1-0ubuntu2) maverick; urgency=low + + * SECURITY UPDATE: Untrusted search path vulnerability + - debian/patches/mozjs_ldlibpath.patch: updated to make sure + $LD_LIBRARY_PATH exists before using it, so we don't end up searching + in the current working directory. + - CVE-2010-2953 + + -- Marc Deslauriers <marc.deslauri...@ubuntu.com> Wed, 22 Sep 2010 16:33:30 -0400 + +couchdb (1.0.1-0ubuntu1) maverick; urgency=low + + * Upstream microrelease to address data loss (LP: #615224) + - Fix data corruption bug COUCHDB-844. Please see + http://couchdb.apache.org/notice/1.0.1.html for details. + - Added support for replication via an HTTP/HTTP proxy. + - Fixed various replicator bugs for interop with older + CouchDB versions. + - Show fields saved along with _deleted=true. + Allows for auditing of deletes. + - Enable basic-auth popup when required to access the server, + to prevent people from getting locked out. + - User interface element for querying stale (cached) views. + * debian/patches/auth_patch.patch dropped, included upstream. + * debian/patches/remove_users.patch dropped, included upstream. + + -- Elliot Murphy <ell...@ubuntu.com> Mon, 16 Aug 2010 19:45:48 -0400 + +couchdb (1.0.0-0ubuntu1) maverick; urgency=low + + * New upstream release (LP: #609728) + * debian/patches/auth_cache.patch (already forwarded upstream) + - fix a loop in the auth cache that stopped people from logging into futon + * debian/patches/remove_users.patch (already forwarded upstream) + - fix failure to delete couch users + * source/format - mark package as 1.0 format + * debian/control - bump standards version + * debian/control - fix lintian error not-binnmuable-all-depends-any + + -- Elliot Murphy <ell...@ubuntu.com> Mon, 26 Jul 2010 10:24:11 -0400 + +couchdb (0.11.0-2.3) unstable; urgency=high + + * Non-maintainer upload. + * debian/rules: make sure /var/{lib,log}/couchdb have permission set to 750 + (related to #600051). + + -- Serafeim Zanikolas <s...@debian.org> Mon, 01 Nov 2010 20:08:08 +0100 + +couchdb (0.11.0-2.2) unstable; urgency=high + + * Non-maintainer upload. + * Apply permission settings during package build (as opposed to during + package installation) (Closes: #600051). Setting high urgency for RC bug. + + -- Serafeim Zanikolas <s...@debian.org> Sat, 30 Oct 2010 13:03:20 +0200 + +couchdb (0.11.0-2.1) unstable; urgency=high + + * Non-maintainer upload by the Security Team. + * CVE-2010-2234: fix Cross-site request forgery vulnerability + (Closes: #570013) + + -- Giuseppe Iuculano <iucul...@debian.org> Sun, 26 Sep 2010 11:09:53 +0200 + +couchdb (0.11.0-2) unstable; urgency=low + + * Added patch from upstream which fixes compatibiluty with Erlang R14A + (closes: #587768, #587386). + + -- Sergei Golovan <sgolo...@debian.org> Mon, 05 Jul 2010 23:04:45 +0400 + +couchdb (0.11.0-1ubuntu1) maverick; urgency=low + + * Merge from debian unstable. Remaining changes: (LP: #591444) + - debian/patches/fix-help2man.patch, debian/control: build with help2man + >= 1.37; add --no-discard-stderr + - debian/patches/init.patch: updated to account for upstream conflicting + changes + - debian/rules, debian/control: split couchdb and couchdb-bin + - debian/control: add missing erlang-{inets,crypto,xmerl} + (build-)dependencies + - debian/patches/mozjs_ldlibpath.patch, debian/control: change version + of xulrunner to xulrunner-1.9.2 + - debian/control: transition from libmozjs-dev to xulrunner-dev in + ubuntu + - debian/rules, debian/control: grab the current xulrunner version with + "xulrunner --gre-version" to use as a dependency + - debian/postinst: renamed to couchdb-bin.postinst, change the default + permissions on /etc/couchdb to 0775 and files to 0664 + - debian/couchdb-bin.postrm: don't try to delete couchdb system + user/group + * erlang-depends, pass explicit -pcouchdb-bin + + -- Clint Byrum <cl...@ubuntu.com> Tue, 08 Jun 2010 23:16:21 -0700 + +couchdb (0.11.0-1) unstable; urgency=medium (security fixes) + + * New upstream release, including security fix for CVE-2010-00009. + (closes: #576304, #577417) + * Removed debian/patches/icu-patch.patch, as it's no longer needed. + + -- Sam Bisbee <sbis...@computervip.com> Fri, 16 Apr 2010 18:04:47 +0400 + +couchdb (0.10.1-2) unstable; urgency=low + + [ Elliot Murphy ] + * Updated debian/control, added Elliot to Uploaders + * Dropped $ENABLE_SERVER portion of debian/patches/init.patch + + [ Sam Bisbee ] + * Updated debian/patches/init.patch, adding a grace period to the init + script's stop task to allow couchdb's child processes (ie., heart) a chance + to exit before deciding whether the task was successful or not. This adds a + dependency on procps (`ps` command). + * Removed debian/preinst, undoing killall preinst patch from 0.10.0-1 that is + no longer needed due to the grace period init patch in this release. This + also removes the dependency on psmisc. (closes: #562901) + * Updated debian/control, bumping Debian standards version to 3.8.4. + * Updated debian/control, adding mawk as a dependency. The majority of + systems will have it installed with the base system, but it's required and + not essential. (closes: #569965) + + -- Sam Bisbee <sbis...@computervip.com> Tue, 09 Mar 2010 21:55:59 +0300 + +couchdb (0.10.1-1) unstable; urgency=low + + * New upstream release (closes: #550782). + * Cleaning up nmu related lintian warnings. + + -- Sam Bisbee <sbis...@computervip.com> Wed, 23 Dec 2009 23:15:27 -0500 + +couchdb (0.10.0-1ubuntu2) lucid; urgency=low + + * debian/patches/fix-help2man.patch, debian/control: build with help2man 1.37; + add --no-discard-stderr for 1.37 help2man version (LP: #536740) + * debian/patches/mozjs_ldlibpath.patch, debian/control: change version of + xulrunner to xulrunner-1.9.2 (LP: #536737) + + -- Micah Gersten <mic...@ubuntu.com> Tue, 09 Mar 2010 12:27:55 -0600 + +couchdb (0.10.0-1ubuntu1) lucid; urgency=low + + * Merge from Debian testing, remaining changes: + - split package into couchdb and couchdb-bin binary packages, so that + the programs can be installed without starting the system service + - debian/control: add missing erlang-{inets,crypto,xmerl} + (build-)dependencies + - debian/control: transition from libmozjs-dev to xulrunner-dev in + ubuntu + - debian/rules, debian/control: grab the current xulrunner version with + "xulrunner --gre-version" to use as a dependency + - debian/patches/mozjs_ldlibpath.patch: explicitly set LD_LIBRARY_PATH to + pkglibdir of current installed xulrunner version on startup; this works + around the fact that couchdb relies on the not publicly exported + libmozjs + - debian/postinst: change the default permissions on /etc/couchdb to + 0775, and /etc/couchdb/default.ini and /etc/couchdb/local.ini to 0774 + - debian/patches/http-redirect-query-string-fix.patch: fix replication + over OAuth, which was broken because of incorrect query-string handling + after HTTP redirection + - debian/couchdb-bin.postrm: don't try to delete couchdb system + user/group + - debian/rules, debian/couchdb.{postinst,postrm}: create + /var/{log,lib}/couchdb/${couchdbversion}, so couchdb will run. + * Dropped changes, superseded in Debian: + - debian/control: bump the Standards-Version to 3.8.2 (latest) + - debian/copyright: added src/etap/* to copyright file + * debian/rules: don't munge debian/couchdb-bin.postrm, it doesn't contain + the VERSION tag anymore + * Fix permissions on files in /etc/couchdb to be 0664, not 0774 - config + files should not be executable! + * Remove the debian/preinst, and drop the build-dependency on psmisc which + doesn't do the right thing /anyway/. A preinst invocation implies a + Pre-Depends, not a Build-Depends, and the heuristic being used here with + 'killall' is useless. + * Don't recursively chmod /var/lib/couchdb, only chmod the directories - + we don't want the files to wind up executable. + * debian/rules: fix dh_installinit invocation to only add scripts for the + couchdb package, not couchdb-bin. + + -- Steve Langasek <steve.langa...@ubuntu.com> Tue, 29 Dec 2009 13:24:28 -0800 + +couchdb (0.10.0-1) unstable; urgency=low + + [ Elliot Murphy ] + * Updated debian/copyright, added src/etap* + * Updated debian/control, changed Maintainer to Erlang team address + * Updated debian/control, changed Vcs- links to new locations. + + [ Sergei Golovan ] + * New upstream release (closes: #551212, #554080, #554593). + * Removed unnecessary build dependency on transitional erlang-nox package. + * Replaced subst variables in dependencies by ${erlang:Depends} which allows + to calculate dependencies automatically. This removes erlang-nox from + dependencies (closes: #532756). + * Bumped standards version to 3.8.3. + * It's normal if /etc/init.d script is left after package removal as a + config file (and the binary isn't available). Therefore made it return + success in case if /usr/bin/couchdb doesn't exist or isn't an executable. + * Change current directory to /var/run/couchdb in init script to prevent + error messages about access violation by code server if the current dir + isn't readable by the couchdb user. + * Put log files directly into /var/log/couchdb directory. There's no reason + to have different log subdirectories for different couchdb versions. + + [ Noah Slater ] + * Updated debian/control, updated Build-Depends on debhelper to 7.2.11. + + [ Sam Bisbee ] + * Updated debian/control, repointed Vcs links. + * Fix "replacing libreadline5-dev build dependency with libreadline- + dev" Updated debian/control, changed libreadline5-dev dependency to + libreadline-dev. (Closes: #553742) + * Updated debian/README.Debian, removed log directory partitioning info + per Sergei's related changes to put all logs in one directory. + * Updated debian/postrm, rmdir didn't like that its target directories + weren't non-empty (despite passed args), causing errors and failing to + remove directories. Also removed the version partitioning cases. + * Created debian/preinst, now we make sure that couchdb isn't running any + beam processes on upgrade. Upgrading from 0.9.0-2 was leaving old code in a + running beam process, so you were running 0.9.0 couchdb but had 0.10.0 code + installed until you killed the process. Adds a dependency on psmisc. + + -- Sam Bisbee <sbis...@computervip.com> Sat, 21 Nov 2009 17:10:39 -0500 + +couchdb (0.10.0-0ubuntu3) karmic; urgency=low + + * Fix replication over OAuth, which was broken because of incorrect + query-string handling after HTTP redirection. (LP: #456234) + * create /var/log/couchdb/${couchdbversion} also, as couchdb does not + create it. (LP: #453049) + + -- Chad Miller <chad.mil...@canonical.com> Tue, 20 Oct 2009 16:30:45 -0400 + +couchdb (0.10.0-0ubuntu2) karmic; urgency=low + + * create /var/log/couchdb so that couchdb installs/runs (LP: #453049) + + -- Chad Miller <chad.mil...@canonical.com> Mon, 19 Oct 2009 09:37:43 -0400 + +couchdb (0.10.0-0ubuntu1) karmic; urgency=low + + * Final 0.10.0 upstream release. (LP: #450442) + - CouchDB 0.10.0 is now a beta version, not alpha. + - Fixes replication with 0.9 servers. + - Fix UUID's tests. + - Includes ETap into the test suite. + - Fix UUID's ETags. + - Fix cookie and oauth+replication. + - OAuth support for https URL scheme. + - Reject invalid UTF-8. + * debian/patches + - dropped oauth-replication-crash-fix-backport.patch + * debian/copyright + - added src/etap/* to copyright file. + + -- Elliot Murphy <ell...@ubuntu.com> Tue, 13 Oct 2009 16:50:35 -0400 + +couchdb (0.10.0~svn818859-0ubuntu3) karmic; urgency=low + + * Finish split of couchdb-bin and couchdb by renaming substvar file + for xulrunner dependency. (LP: #449653) + + -- Chad Miller <chad.mil...@canonical.com> Mon, 12 Oct 2009 12:11:29 -0400 + +couchdb (0.10.0~svn818859-0ubuntu2) karmic; urgency=low + + * Backport future patches that fixes replication crash for authenticated + connections from other couchdb instances. (LP: #439499) + * Remove explicit version from debian/couchdb-bin/postinst . + + -- Chad Miller <c...@ubuntu.com> Thu, 01 Oct 2009 09:56:37 -0400 + +couchdb (0.10.0~svn818859-0ubuntu1) karmic; urgency=low + + * Import code from pre-release branch. (LP: #427860, #408909) + + Build and System Integration: + * Changed `couchdb` script configuration options. + * Added default.d and local.d configuration directories to load + sequence. + + HTTP Interface: + * Added optional cookie-based authentication handler. + * Added optional two-legged OAuth authentication handler. + * Packaging of couchdb-bin must replace pre-split couchdb. + (LP: #432219) + * Move all of /etc and /var out of the couchdb-bin package, to the + couchdb package. + * /etc/couchdb must be in couchdb-bin, as config files are needed + by all servers. + + So the couchdb user must be managed by couchdb-bin. + + Split postinst/postrm files to manage different files. + + Set Replaces of couchdb-bin by couchdb so that config files + migrate. + * Update the version number in postrm. (!) + * Use the new "Breaks" field in control file to help split pkg. + + [Ken VanDine] + * debian/couchdb.install: + - removed /var + * debian/rules: + - removed bootstrap + * debian/couchdb.postinst: + - Added the debhelper tag + + -- Chad Miller <c...@ubuntu.com> Fri, 25 Sep 2009 19:18:26 -0400 + +couchdb (0.10.0~svn813472-0ubuntu2) karmic; urgency=low + + * Split couchdb into couchdb (to hold only the init) and couchdb-bin + (to hold everything else). (LP: #427036) + + -- Chad Miller <c...@ubuntu.com> Wed, 16 Sep 2009 14:12:56 -0400 + +couchdb (0.10.0~svn813472-0ubuntu1) karmic; urgency=low + + * New snapshot of couchdb 0.10.x stable prerelease branch + - pass config reset option to recursed background startup (LP: #424330) + closes COUCHDB-498 + - Fix for building on snow leopard COUCHDB-490 + - Fix SSL replication (LP: #422178) COUCHDB-491 + - Fix continuous-after-normal replication + - Use the same password hash calculation for user creation via ini + file and user db, closes COUCHDB-492 + - Fix for WebKit XHR, closes COUCHDB-483 + - Don't check for response code text, closes COUCHDB-482 + - Remove a debugging leftover + + -- Elliot Murphy <ell...@ubuntu.com> Thu, 10 Sep 2009 11:35:54 -0400 + +couchdb (0.10.0~svn809550-0ubuntu1) karmic; urgency=low + + * New snapshot of couchdb 0.10.x stable prerelease branch (LP: #421971) + - fixes a process leak in local changes feed consumer + - disables internal gen_server timeouts + - minimize the number of full commits + - follow 302 redirects during replication + - more precise and accurate calculation of replication progress + - added crypto export notice to README + - Fix for problem where HEAD requests that would have a chunked responses + would send the chunked response anyway. + - send deleted docs to changes filters and protect against missing + filters. + - merge cascading auth patch by Jason Davies, closes COUCHDB-478 + * Drop debian/patches/oauth_ini_users.patch as it has been merged upstream. + * debian/postrm + - don't try to delete couchdb system user/group (LP: #387945) + + -- Elliot Murphy <ell...@ubuntu.com> Mon, 31 Aug 2009 09:06:26 -0400 + +couchdb (0.10.0~svn806985-0ubuntu2) karmic; urgency=low + + * Pick up the xulrunner dep from xulrunner --gre-version instead of + hard-coding it in debian/control; this gets us onto xulrunner-1.9.1, + which we're already building against, instead of xulrunner-1.9. + + -- Steve Langasek <steve.langa...@ubuntu.com> Fri, 28 Aug 2009 23:21:39 +0000 + +couchdb (0.10.0~svn806985-0ubuntu1) karmic; urgency=low + + * First snapshot of couchdb 0.10pre, from + http://build.couchdb.org/0.10.x-UNOFFICIAL (LP: #418288) + * debian/postinst + - Make /etc/couchdb/local.ini world readable (LP: #403575) + + [Elliot Murphy] + * Added debian/patches/oauth_ini_users.patch from + http://issues.apache.org/jira/browse/COUCHDB-478 + + -- Ken VanDine <ken.vand...@canonical.com> Mon, 24 Aug 2009 15:44:14 -0400 + +couchdb (0.9.0-2ubuntu5) karmic; urgency=low + + * Fixes LP: #389089 - couchdb fails to start: looking for absent 'xulrunner' + - Use version-specific xulrunner binary in couchdb wrapper script. + + -- Elliot Murphy <ell...@ubuntu.com> Wed, 05 Aug 2009 11:27:30 +0100 + +couchdb (0.9.0-2ubuntu4) karmic; urgency=low + + * debian/postinst + - Change the default permissions on /etc/couchdb to 0775, + /etc/couchdb/default.ini to 0774 and /etc/couchdb/local.ini + to 0770 (LP: #403575) + * debian/control + - Bump the Standards-Version to 3.8.2 (latest) + + -- Ken VanDine <ken.vand...@canonical.com> Thu, 23 Jul 2009 13:35:12 -0400 + +couchdb (0.9.0-2ubuntu3) karmic; urgency=low + + * Add missing erlang-{crypto,xmerl} dependencies, thanks James Henstridge! + (LP: #385104) + + -- Martin Pitt <martin.p...@ubuntu.com> Fri, 12 Jun 2009 18:06:25 +0200 + +couchdb (0.9.0-2ubuntu2) karmic; urgency=low + + * Change erlang-nox dependency to erlang-inets. (LP: #385104) + + -- James Henstridge <ja...@jamesh.id.au> Tue, 02 Jun 2009 17:17:40 +0800 + +couchdb (0.9.0-2ubuntu1) karmic; urgency=low + + De-libmoz-dev'ification (LP: #352968) + * debian/control: transition from libmozjs-dev to xulrunner-dev in ubuntu + * debian/control: add xulrunner-1.9 as explicit dependency for couchdb package + * debian/patches/mozjs_ldlibpath.patch: explicitly set LD_LIBRARY_PATH to + pkglibdir of current installed xulrunner version on startup; this works around + the fact that couchdb relies on the not publicly exported libmozjs + + -- Alexander Sack <a...@ubuntu.com> Wed, 10 Jun 2009 15:39:54 +0200 + +couchdb (0.9.0-2) unstable; urgency=low + + * Updated debian/dirs, removed /var/run/couchdb directory per policy. + * Updated debian/patches/pid.patch, create /var/run/couchdb dynamically. + * Updated debian/postrm, added VERSION variable. + * Updated debian/postrm, added missing removal of log directories. + * Updated debian/postrm, fixed missing function error. + * Updated debian/rules, added patch for debian/postrm to update VERSION. + * Updated debian/rules, fixed bug with configure patch. + * Updated debian/control, added build-dependency on erlang-dev >= 1:13.b + to make transition to Erlang R13B easier. + + -- Noah Slater <nsla...@tumbolia.org> Mon, 11 May 2009 11:26:55 +0400 + +couchdb (0.9.0-1) unstable; urgency=low + + * New upstream release. Closes: #522051 + * Added debian/patches/pid.patch, corrects daemon pidfile handling. + * Updated debian/control, added Build-Depends on libcurl4-openssl-dev. + * Updated debian/control, changed Homepage and Description. + * Updated debian/control, changed Standards-Version to 3.8.0. + * Updated debian/copyright, changed maintainer email address. + * Updated debian/postinst, changed owner of /etc/couchdb directory. + * Updated debian/postrm, changed so only empty data directories are removed. + * Updated debian/rules, improved uscan options for get-orig-source. + + -- Noah Slater <nsla...@tumbolia.org> Tue, 14 Apr 2009 16:32:45 +0100 + +couchdb (0.8.1-1) experimental; urgency=low + + * New upstream release. + * Updated debian/control, added Depends on libjs-jquery. + * Updated debian/control, removed Depends on mime-support. + * Updated debian/rules, added standard uscan options for get-orig-source. + * Removed debian/patches/directory-version.patch, replaces manual sed invocation. + + -- Noah Slater <nsla...@tumbolia.org> Mon, 18 Aug 2008 15:10:07 +0100 + +couchdb (0.8.0-2) unstable; urgency=low + + * Added debian/README.source, contains upstream source information. + * Updated debian/README.Debian, added note about python-couchdb. + * Updated debian/control, changed Standards-Version to 3.8.0. + * Updated debian/copyright, changed for latest proposed format. + * Updated debian/rules, changed binary-arch and binary-indep targets + to depend on the build target as a workaround for #486848. + * Updated debian/watch, updated version number. + + -- Noah Slater <nsla...@tumbolia.org> Fri, 11 Jul 2008 11:29:17 +0100 + +couchdb (0.8.0-1) unstable; urgency=low + + * New upstream release. + * Added debian/watch, upstream information for uscan. + * Updated debian/copyright, changed to use Apache Licence from common-licenses. + * Updated debian/rules, changed get-orig-source to work with uscan. + + -- Noah Slater <nsla...@tumbolia.org> Wed, 25 Jun 2008 20:19:40 +0100 + +couchdb (0.7.3~svn650270-2) unstable; urgency=low + + * Updated debian/rules, added release partitioning to data directories. + * Updated debian/postrm, changed so that log files are not removed. + + -- Noah Slater <nsla...@tumbolia.org> Sat, 24 May 2008 16:30:21 +0100 + +couchdb (0.7.3~svn650270-1) experimental; urgency=low + + * New upstream snapshot, database format change, no boot file, no + SpiderMonkey and all tests pass. Closes: #465592, #465722, #466424 + * Updated debian/control, removed Debian revision from erlang-dev Build-Depends. + * Updated debian/control, removed Depends on libicu-dev. Closes: #466076 + * Updated debian/copyright, changed for latest proposed format. + + -- Noah Slater <nsla...@tumbolia.org> Thu, 01 May 2008 12:07:31 +0100 + +couchdb (0.7.3~svn684-1) unstable; urgency=low + + * New upstream snapshot. + * Updated debian/control, changed Standards-Version to 3.7.3. + + -- Noah Slater <nsla...@tumbolia.org> Wed, 06 Feb 2008 17:03:38 +0000 + +couchdb (0.7.2-2) experimental; urgency=low + + * Updated debian/control, added Build-Depends on libicu-dev as an + alternative to libicu36-dev which is removed from unstable. + + -- Sergei Golovan <sgolo...@debian.org> Wed, 19 Dec 2007 17:54:47 +0300 + +couchdb (0.7.2-1) experimental; urgency=low + + * New upstream release. + * Updated debian/rules, changed to pass -fPIC to compiler. Closes: #451996 + * Updated debian/rules, changed to force removal of unwanted files. + * Updated debian/rules, added a get-orig-source target. + + -- Noah Slater <nsla...@tumbolia.org> Sat, 08 Dec 2007 01:21:01 +0300 + +couchdb (0.7.0-1) experimental; urgency=low + + * Initial release. Closes: #445880 + + -- Noah Slater <nsla...@tumbolia.org> Sat, 6 Oct 2007 19:44:36 +0100 + diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/conffiles b/debian/conffiles new file mode 100644 index 0000000..3b117a2 --- /dev/null +++ b/debian/conffiles @@ -0,0 +1,2 @@ +/opt/couchdb/etc/local.ini +/opt/couchdb/etc/vm.args diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..014ef35 --- /dev/null +++ b/debian/control @@ -0,0 +1,60 @@ +Source: couchdb +Section: misc +Priority: optional +Maintainer: CouchDB Developers <d...@couchdb.apache.org> +Standards-Version: 3.9.6 +Build-Depends: debhelper (>= 9), + dh-exec, + dh-systemd (>= 1.5), + erlang-dev (>= 1:16.b.3), + nodejs (>= 6.10.1), + erlang-crypto, + erlang-dialyzer, + erlang-eunit, + erlang-inets, + erlang-xmerl, + erlang-os-mon, + erlang-reltool, + erlang-syntax-tools, + git, + help2man, + libcurl4-openssl-dev, + libicu-dev, + libmozjs185-dev, + lsb-release, + po-debconf, + python-sphinx, + shunit2 +Homepage: http://couchdb.apache.org/ + +Package: couchdb +Architecture: any +Depends: adduser, + curl, + debconf, + init-system-helpers, + procps, + python-requests, + ${misc:Depends}, + ${shlibs:Depends}, + ${misc:Depends} +Recommends: python-progressbar +Replaces: couchdb-bin (<= 1.9.99), + couchdb-common (<= 1.9.99) +Description: RESTful document oriented database + Apache CouchDB is a distributed, fault-tolerant and schema-free + document-oriented database accessible via a RESTful HTTP/JSON API. Among other + features, it provides robust, incremental replication with bi-directional + conflict detection and resolution, and is queryable and indexable using a + table-oriented view engine with JavaScript acting as the default view + definition language. + . + CouchDB is written in Erlang, but can be easily accessed from any environment + that provides means to make HTTP requests. There are a multitude of third-party + client libraries that make this even easier for a variety of programming + languages and environments. + . + This package prompts at install time whether the instance will be a + standalone node or part of a cluster, and associated other parameters as + necessary. It adds the systemd / init job and other items needed for a + system-wide CouchDB instance that is started at boot. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..181f096 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,739 @@ +Upstream-Name: CouchDB +Upstream-Maintainer: CouchDB Developers <d...@couchdb.apache.org> +Upstream-Source: https://couchdb.apache.org/ + +Copyright: Copyright 2017, The Apache Software Foundation +License: Apache-2.0 + On Debian systems the full text of the Apache License (Version 2) can be found + in the `/usr/share/common-licenses/Apache-2.0' file. + +Files: share/www/script/json2.js +License: PD + Public Domain + . + No warranty expressed or implied. Use at your own risk. + +Files: src/mochiweb/* +Copyright: Copyright 2007, Mochi Media, Inc. +License: MIT + +Files: src/ibrowse/* +Copyright: Copyright 2006, Chandrashekhar Mullaparthi +License: BSD + +Files: src/oauth/* +Copyright: Copyright (c) 2008-2011 Tim Fletcher <http://tfletcher.com/> +License: MIT + +Files: src/couch_log/src/couch_log_trunc_io*erl +License: EPL + +Files: src/jiffy/* +Copyright: Copyright 2011 Paul J. Davis <paul.joseph.da...@gmail.com> +License: MIT + +Files: src/jiffy/c_src/double-conversion +Copyright: Copyright 2006-2011, the V8 project authors. All rights reserved. +License: BSD + +Files: src/jiffy/test/cases/*.json +Copyright: Copyright 2010, Lloyd Hilaiel. +License: BSD + +Files: src/snappy/c_src/erl_nif_compat.h +Copyright: Copyright (c) 2010-2011 Basho Technologies, Inc. With some minor modifications for Apache CouchDB +License: Apache-2.0 + +Files: src/snappy/c_src/snappy/* +Copyright: Copyright 2011, Google Inc. +License: BSD + +Files: share/server/coffee-script.js +Copyright: Copyright (c) 2011 Jeremy Ashkenas +License: MIT + +Files: dev/pbkdf2.py +Copyright: Copyright (c) 2011 by Armin Ronacher, Reed O'Brien +License: BSD + +Files: src/fauxton/assets/js/plugins/beautify.js +Copyright: Copyright (c) 2007-2013 Einar Lielmanis and contributors. +License: MIT + +Files: src/fauxton/assets/fonts/FontAwesome.otf +License: SIL-OFL-1.1 + +Files: src/fauxton/assets/less/bootstrap/font-awesome/* +Copyright: Copyright (c) 2013 Dave Gandy +License: MIT + +Files: src/fauxton/test/nightwatch_tests/custom-commands/waitForAttribute.js +Copyright: Copyright (c) 2014 Dave Koo +License: MIT + +Files: src/fauxton/app/*react-select* +Copyright: Copyright (c) 2016 Jed Watson +License: MIT + +Files: src/fauxton/app/*jquery* +Copyright: Copyright JS Foundation and other contributors, https://js.foundation/ +License: MIT + +Files: src/fauxton/app/*lodash* +Copyright: Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/> +License: MIT + +Files: src/fauxton/app/*backbone* +Copyright: Copyright (c) 2010-2016 Jeremy Ashkenas, DocumentCloud +License: MIT + +Files: src/fauxton/app/*d3* +Copyright: Copyright (c) 2010-2016, Michael Bostock All rights reserved. +License: BSD + +Files: src/fauxton/app/*moment* +Copyright: Copyright (c) 2011-2016 Tim Wood, Iskren Chernev, Moment.js contributors +License: MIT + +Files: src/fauxton/app/*backbone.layoutmanager* +Copyright: Copyright (c) 2015 Tim Branyen +License: MIT + +Files: src/fauxton/app/*react* +Copyright: Copyright (c) 2013-present, Facebook, Inc. All rights reserved. +License: BSD + +Files: src/fauxton/app/*object-assign* +Copyright: Copyright (c) Sindre Sorhus <sindresor...@gmail.com> (sindresorhus.com) +License: MIT + +Files: src/fauxton/app/*react-dom* +Copyright: Copyright (c) 2013-present, Facebook, Inc. +License: BSD + +Files: src/fauxton/app/*flux* +Copyright: Copyright (c) 2014-2015, Facebook, Inc. All rights reserved. +License: BSD + +Files: src/fauxton/app/*css-loader* +Copyright: Author Tobias Koppers @sokra +License: MIT + +Files: src/fauxton/app/*style-loader* +Copyright: Author Tobias Koppers @sokra +License: MIT + +Files: src/fauxton/app/*zeroclipboard* +Copyright: Copyright (c) 2009-2014 Jon Rohan, James M. Greene +License: MIT + +Files: src/fauxton/app/*react-bootstrap* +Copyright: Copyright (c) 2014 Stephen J. Collings, Matthew Honnibal, Pieter Vanderwerff +License: MIT + +Files: src/fauxton/app/*babel-runtime* +Copyright: Copyright (c) 2014-2016 Sebastian McKenzie <seb...@gmail.com> +License: MIT + +Files: src/fauxton/app/*core-js* +Copyright: Copyright (c) 2015 Denis Pushkarev +License: MIT + +Files: src/fauxton/app/*react-prop-types* +Copyright: Copyright (c) 2015 react-bootstrap +License: MIT + +Files: src/fauxton/app/*invariant* +License: BSD + +Files: src/fauxton/app/*warning* +Copyright: Copyright (c) 2013-2015, Facebook, Inc. +License: BSD + +Files: src/fauxton/app/*classnames* +Copyright: Copyright (c) 2016 Jed Watson +License: MIT + +Files: src/fauxton/app/*dom-helpers* +Copyright: Copyright (c) 2015 Jason Quense +License: MIT + +Files: src/fauxton/app/*react-overlays* +Copyright: Copyright (c) 2015 react-bootstrap +License: MIT + +Files: src/fauxton/app/*keycode* +Copyright: Copyright (c) 2014 Tim Oxley +License: MIT + +Files: src/fauxton/app/*lodash-compat* +Copyright: Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>, Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/> +License: MIT + +Files: src/fauxton/app/*uncontrollable* +Copyright: Copyright (c) 2015 Jason Quense +License: MIT + +Files: src/fauxton/app/*velocity-animate* +Copyright: Copyright (c) 2014 Julian Shapiro +License: MIT + +Files: src/fauxton/app/*react-addons-css-transition-group* +Copyright: Copyright (c) 2013-present, Facebook, Inc. All rights reserved. +License: BSD + +Files: src/fauxton/app/*brace* +Copyright: Copyright 2013 Thorsten Lorenz. All rights reserved. +License: MIT + +Files: src/fauxton/app/*w3c-blob* +License: MIT + +Files: src/fauxton/app/*velocity-react* +Copyright: Copyright (c) 2015 Twitter and other contributors +License: MIT + +Files: src/fauxton/app/*react-addons-transition-group* +Copyright: Copyright (c) 2013-present, Facebook, Inc. All rights reserved. +License: BSD + +Files: src/fauxton/app/*react-input-autosize* +Copyright: Copyright (c) 2016 Jed Watson +License: MIT + +Files: src/fauxton/app/*visualizeRevTree* +Copyright: Copyright (c) 2013 Tomasz Kołodziejski +License: MIT + +Files: src/fauxton/app/*process* +Copyright: Copyright (c) 2013 Roman Shtylman <shtyl...@gmail.com> +License: MIT + +Files: src/fauxton/app/*js-extend* +License: ISC + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + +Files: src/fauxton/app/*debug* +Copyright: Copyright (c) 2014 TJ Holowaychuk <t...@vision-media.ca> +License: MIT + +Files: src/fauxton/app/*ms* +Copyright: Copyright (c) 2014 Guillermo Rauch <rau...@gmail.com> +License: MIT + +Files: src/fauxton/app/*inherits* +Copyright: Copyright (c) Isaac Z. Schlueter +License: ISC + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + +Files: src/fauxton/app/*lie* +Copyright: Copyright (c) 2014 Calvin Metcalf +License: MIT + +Files: src/fauxton/app/*immediate* +Copyright: Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier +License: MIT + +Files: src/fauxton/app/*argsarray* +License: + # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + ## TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + . + 0. You just DO WHAT THE FUCK YOU WANT TO. + +Files: src/fauxton/app/*events* +Copyright: Copyright Joyent, Inc. and other Node contributors. +License: MIT + +Files: src/fauxton/app/*scope-eval* +Copyright: Copyright (c) 2015 Alex David +License: MIT + +Files: src/fauxton/app/*spark-md* +Copyright: Copyright (C) 2015 André Cruz <amdfc...@gmail.com> +License: DWTFYWTPL-2.0 + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + . + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + . + 0. You just DO WHAT THE FUCK YOU WANT TO. + +Files: src/fauxton/app/*es6-promise-pool* +Copyright: Copyright (c) 2015 Tim De Pauw <https://tmdpw.eu/> +License: MIT + +Files: src/fauxton/app/*jsondiffpatch* +Copyright: Copyright (c) 2014 Benjamín Eidelman twitter.com/beneidel +License: MIT + +Files: src/fauxton/app/*chalk* +Copyright: Sindre Sorhus http://sindresorhus.com +License: MIT + +Files: src/fauxton/app/*ansi-styles* +Copyright: Sindre Sorhus http://sindresorhus.com +License: MIT + +Files: src/fauxton/app/*strip-ansi +Copyright: Sindre Sorhus http://sindresorhus.com +License: MIT + +Files: src/fauxton/app/*ansi-regex* +Copyright: Sindre Sorhus http://sindresorhus.com +License: MIT + +Files: src/fauxton/app/*has-ansi* +Copyright: Sindre Sorhus http://sindresorhus.com +License: MIT + +Files: src/fauxton/app/*supports-color* +Copyright: Sindre Sorhus http://sindresorhus.com +License: MIT + +Files: src/fauxton/app/*escape-string-regexp* +Copyright: Copyright (c) Sindre Sorhus <sindresor...@gmail.com> (sindresorhus.com) +License: MIT + +License: MIT + Copyright (c) <year> <copyright holders> + . + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +License: EPL + ERLANG PUBLIC LICENSE + Version 1.1 + . + 1. Definitions. + . + 1.1. ``Contributor'' means each entity that creates or contributes to + the creation of Modifications. + . + 1.2. ``Contributor Version'' means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + . + 1.3. ``Covered Code'' means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + . + 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + . + 1.5. ``Executable'' means Covered Code in any form other than Source + Code. + . + 1.6. ``Initial Developer'' means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + . + 1.7. ``Larger Work'' means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + . + 1.8. ``License'' means this document. + . + 1.9. ``Modifications'' means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + . + A. Any addition to or deletion from the contents of a file containing + Original Code or previous Modifications. + . + B. Any new file that contains any part of the Original Code or + previous Modifications. + . + 1.10. ``Original Code'' means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + . + 1.11. ``Source Code'' means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or a list of source + code differential comparisons against either the Original Code or + another well known, available Covered Code of the Contributor's + choice. The Source Code can be in a compressed or archival form, + provided the appropriate decompression or de-archiving software is + widely available for no charge. + . + 1.12. ``You'' means an individual or a legal entity exercising rights + under, and complying with all of the terms of, this License. For legal + entities,``You'' includes any entity which controls, is controlled by, + or is under common control with You. For purposes of this definition, + ``control'' means (a) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (b) ownership of fifty percent (50%) or more of the + outstanding shares or beneficial ownership of such entity. + . + 2. Source Code License. + . + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + . + (a) to use, reproduce, modify, display, perform, sublicense and + distribute the Original Code (or portions thereof) with or without + Modifications, or as part of a Larger Work; and + . + (b) under patents now or hereafter owned or controlled by Initial + Developer, to make, have made, use and sell (``Utilize'') the + Original Code (or portions thereof), but solely to the extent that + any such patent is reasonably necessary to enable You to Utilize + the Original Code (or portions thereof) and not to any greater + extent that may be necessary to Utilize further Modifications or + combinations. + . + 2.2. Contributor Grant. + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + . + (a) to use, reproduce, modify, display, perform, sublicense and + distribute the Modifications created by such Contributor (or + portions thereof) either on an unmodified basis, with other + Modifications, as Covered Code or as part of a Larger Work; and + . + (b) under patents now or hereafter owned or controlled by Contributor, + to Utilize the Contributor Version (or portions thereof), but + solely to the extent that any such patent is reasonably necessary + to enable You to Utilize the Contributor Version (or portions + thereof), and not to any greater extent that may be necessary to + Utilize further Modifications or combinations. + . + 3. Distribution Obligations. + . + 3.1. Application of License. + The Modifications which You contribute are governed by the terms of + this License, including without limitation Section 2.2. The Source + Code version of Covered Code may be distributed only under the terms + of this License, and You must include a copy of this License with + every copy of the Source Code You distribute. You may not offer or + impose any terms on any Source Code version that alters or restricts + the applicable version of this License or the recipients' rights + hereunder. However, You may include an additional document offering + the additional rights described in Section 3.5. + . + 3.2. Availability of Source Code. + Any Modification which You contribute must be made available in Source + Code form under the terms of this License either on the same media as + an Executable version or via an accepted Electronic Distribution + Mechanism to anyone to whom you made an Executable version available; + and if made available via Electronic Distribution Mechanism, must + remain available for at least twelve (12) months after the date it + initially became available, or at least six (6) months after a + subsequent version of that particular Modification has been made + available to such recipients. You are responsible for ensuring that + the Source Code version remains available even if the Electronic + Distribution Mechanism is maintained by a third party. + . + 3.3. Description of Modifications. + You must cause all Covered Code to which you contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + . + 3.4. Intellectual Property Matters + . + (a) Third Party Claims. + If You have knowledge that a party claims an intellectual property + right in particular functionality or code (or its utilization + under this License), you must include a text file with the source + code distribution titled ``LEGAL'' which describes the claim and + the party making the claim in sufficient detail that a recipient + will know whom to contact. If you obtain such knowledge after You + make Your Modification available as described in Section 3.2, You + shall promptly modify the LEGAL file in all copies You make + available thereafter and shall take other steps (such as notifying + appropriate mailing lists or newsgroups) reasonably calculated to + inform those who received the Covered Code that new knowledge has + been obtained. + . + (b) Contributor APIs. + If Your Modification is an application programming interface and + You own or control patents which are reasonably necessary to + implement that API, you must also include this information in the + LEGAL file. + . + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code, and this License in any documentation for the Source Code, where + You describe recipients' rights relating to Covered Code. If You + created one or more Modification(s), You may add your name as a + Contributor to the notice described in Exhibit A. If it is not + possible to put such notice in a particular Source Code file due to + its structure, then you must include such notice in a location (such + as a relevant directory file) where a user would be likely to look for + such a notice. You may choose to offer, and to charge a fee for, + warranty, support, indemnity or liability obligations to one or more + recipients of Covered Code. However, You may do so only on Your own + behalf, and not on behalf of the Initial Developer or any + Contributor. You must make it absolutely clear than any such warranty, + support, indemnity or liability obligation is offered by You alone, + and You hereby agree to indemnify the Initial Developer and every + Contributor for any liability incurred by the Initial Developer or + such Contributor as a result of warranty, support, indemnity or + liability terms You offer. + . + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code under a license of Your choice, which may contain terms different + from this License, provided that You are in compliance with the terms + of this License and that the license for the Executable version does + not attempt to limit or alter the recipient's rights in the Source + Code version from the rights set forth in this License. If You + distribute the Executable version under a different license You must + make it absolutely clear that any terms which differ from this License + are offered by You alone, not by the Initial Developer or any + Contributor. You hereby agree to indemnify the Initial Developer and + every Contributor for any liability incurred by the Initial Developer + or such Contributor as a result of any such terms You offer. + . + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + . + 4. Inability to Comply Due to Statute or Regulation. + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to statute + or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and + the code they affect. Such description must be included in the LEGAL + file described in Section 3.4 and must be included with all + distributions of the Source Code. Except to the extent prohibited by + statute or regulation, such description must be sufficiently detailed + for a recipient of ordinary skill to be able to understand it. + . + 5. Application of this License. + . + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A, and to related Covered Code. + . + 6. CONNECTION TO MOZILLA PUBLIC LICENSE + . + This Erlang License is a derivative work of the Mozilla Public + License, Version 1.0. It contains terms which differ from the Mozilla + Public License, Version 1.0. + . + 7. DISCLAIMER OF WARRANTY. + . + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR + NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF + THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE + IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER + CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR + CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART + OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER + EXCEPT UNDER THIS DISCLAIMER. + . + 8. TERMINATION. + This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + . + 9. DISCLAIMER OF LIABILITY + Any utilization of Covered Code shall not cause the Initial Developer + or any Contributor to be liable for any damages (neither direct nor + indirect). + . + 10. MISCELLANEOUS + This License represents the complete agreement concerning the subject + matter hereof. If any provision is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. This License shall be construed by and in accordance with + the substantive laws of Sweden. Any dispute, controversy or claim + arising out of or relating to this License, or the breach, termination + or invalidity thereof, shall be subject to the exclusive jurisdiction + of Swedish courts, with the Stockholm City Court as the first + instance. + . + EXHIBIT A. + . + ``The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved via the world wide web at http://www.erlang.org/. + . + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + . + The Initial Developer of the Original Code is Ericsson Utvecklings AB. + Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings + AB. All Rights Reserved.'' + +License: SIL-OFL-1.1 + PREAMBLE + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font creation + efforts of academic and linguistic communities, and to provide a free and + open framework in which fonts may be shared and improved in partnership + with others. + . + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply + to any document created using the fonts or their derivatives. + . + DEFINITIONS + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + . + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + . + "Original Version" refers to the collection of Font Software components as + distributed by the Copyright Holder(s). + . + "Modified Version" refers to any derivative made by adding to, deleting, + or substituting -- in part or in whole -- any of the components of the + Original Version, by changing formats or by porting the Font Software to a + new environment. + . + "Author" refers to any designer, engineer, programmer, technical + writer or other person who contributed to the Font Software. + . + PERMISSION & CONDITIONS + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + . + 1) Neither the Font Software nor any of its individual components, + in Original or Modified Versions, may be sold by itself. + . + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + . + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the corresponding + Copyright Holder. This restriction only applies to the primary font name as + presented to the users. + . + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + . + 5) The Font Software, modified or unmodified, in part or in whole, + must be distributed entirely under this license, and must not be + distributed under any other license. The requirement for fonts to + remain under this license does not apply to any document created + using the Font Software. + . + TERMINATION + This license becomes null and void if any of the above conditions are + not met. + . + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. + +License: BSD + Copyright <YEAR> <COPYRIGHT HOLDER> + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + diff --git a/debian/couchdb.config b/debian/couchdb.config new file mode 100755 index 0000000..c08f071 --- /dev/null +++ b/debian/couchdb.config @@ -0,0 +1,124 @@ +#!/bin/sh +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +set -e + +. /usr/share/debconf/confmodule + +alias stripwhitespace="sed -e 's/^[[:blank:]]*//' -e 's/[[:blank:]]*$//'" + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 } + +# prompt for password + confirmation until we get matching entries +# or an empty password +promptpass() { + while :; do + RET="" + db_input high couchdb/adminpass || true + db_go + db_get couchdb/adminpass + # if password isn't empty we ask for password verification + if [ -z "$RET" ]; then + db_fset couchdb/adminpass seen false + db_fset couchdb/adminpass_again seen false + break + fi + ADMIN_PW="$RET" + db_input high couchdb/adminpass_again || true + db_go + db_get couchdb/adminpass_again + if [ "$RET" = "$ADMIN_PW" ]; then + ADMIN_PW='' + break + fi + db_fset couchdb/adminpass_mismatch seen false + db_input critical couchdb/adminpass_mismatch + db_set couchdb/adminpass "" + db_set couchdb/adminpass_again "" + db_go + done +} + +promptbind() { + while :; do + RET="" + db_input high couchdb/bindaddress || true + db_go + db_get couchdb/bindaddress + # don't allow whatever is passed in + if [ "$RET" != "$1" ]; then + break + fi + db_fset couchdb/bindaddress seen false + done +} + +# if they exist, make current settings debconf's defaults +if [ -e /opt/couchdb/etc/vm.args ] ; then + cookie="$(grep '^-setcookie' /opt/couchdb/etc/vm.args | cut -d ' ' -f 2 | stripwhitespace)" + nodename="$(grep '^-name' /opt/couchdb/etc/vm.args | cut -d ' ' -f 2 | stripwhitespace)" + if [ "${cookie}" != "monster" ]; then + db_set couchdb/cookie "${cookie}" + fi + if [ "${nodename}" != "couchdb@localhost" ]; then + db_set couchdb/nodename "${nodename}" + fi +fi +if [ -e /opt/couchdb/etc/local.ini ]; then + if grep -q '^bind_address =' /opt/couchdb/etc/local.ini; then + bindaddress="$(grep '^bind_address' /opt/couchdb/etc/local.ini | cut -d ' ' -f 3 | stripwhitepsace)" + db_set couchdb/bindaddress "${bindaddress}" + fi +fi +# might be overridden by a local.d file +if [ -d /opt/couchdb/etc/local.d -a ls /opt/couchdb/etc/local.d/*.ini >/dev/null 2>&1 ]; then + for f in $(ls /opt/couchdb/etc/local.d/*.ini); do + if grep -q '^bind_address =' $f; then + bindaddress="$(grep '^bind_address' $f | cut -d ' ' -f 3 | stripwhitepsace)" + db_set couchdb/bindaddress "${bindaddress}" + fi + done +fi + +db_input high couchdb/mode || true +db_go +db_get couchdb/mode +case "$RET" in +none) + # Poor misguded one... + db_fset couchdb/nodename seen false + db_fset couchdb/cookie seen false + db_fset couchdb/adminpass seen false + db_fset couchdb/adminpass_again seen false + ;; +standalone) + db_fset couchdb/nodename seen false + db_fset couchdb/cookie seen false + promptbind w.x.y.z + # still prompt for password + promptpass + ;; +clustered) + if [ -z "$bindaddress" ]; then + db_set couchdb/bindaddress "0.0.0.0" + fi + db_input high couchdb/nodename || true + db_go + db_input high couchdb/cookie || true + db_go + # do not allow binding to loopback in clustered mode + promptbind 127.0.0.1 + promptpass + ;; +esac diff --git a/debian/couchdb.dirs b/debian/couchdb.dirs new file mode 100644 index 0000000..b6c5398 --- /dev/null +++ b/debian/couchdb.dirs @@ -0,0 +1,6 @@ +opt/couchdb +opt/couchdb/etc/default.d +opt/couchdb/etc/local.d +var/lib/couchdb +var/log/couchdb +etc/couchdb diff --git a/debian/couchdb.doc-base b/debian/couchdb.doc-base new file mode 100644 index 0000000..9492b4b --- /dev/null +++ b/debian/couchdb.doc-base @@ -0,0 +1,9 @@ +Document: couchdb +Title: CouchDB Manual +Author: CouchDB Developers <d...@couchdb.apache.org> +Abstract: This manual describes what Apache CouchDB is, and how it can be used. +Section: Data Management + +Format: HTML +Index: /opt/couchdb/share/www/docs/index.html +Files: /opt/couchdb/share/www/docs/* diff --git a/debian/couchdb.docs b/debian/couchdb.docs new file mode 100644 index 0000000..a1320b1 --- /dev/null +++ b/debian/couchdb.docs @@ -0,0 +1 @@ +README.rst diff --git a/debian/couchdb.init b/debian/couchdb.init new file mode 100644 index 0000000..0fee249 --- /dev/null +++ b/debian/couchdb.init @@ -0,0 +1,159 @@ +#!/bin/sh +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +### BEGIN INIT INFO +# Provides: couchdb +# Required-Start: $remote_fs $syslog $network +# Required-Stop: $remote_fs $syslog $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Apache CouchDB, a RESTful document oriented database +# Description: Apache CouchDB is a distributed, fault-tolerant and schema-free +# document-oriented database accessible via a RESTful HTTP/JSON API. Among other +# features, it provides robust, incremental replication with bi-directional +# conflict detection and resolution, and is queryable and indexable using a +# table-oriented view engine with JavaScript acting as the default view +# definition language. +### END INIT INFO +# Author: CouchDB Developers <d...@couchdb.apache.org> + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +export PATH + +. /lib/lsb/init-functions + +PID="$(pgrep -u couchdb beam* || true)" +PIDFILE=/var/run/couchdb.pid +NAME="couchdb" +DESC="Apache CouchDB" +DAEMON=/opt/couchdb/bin/couchdb +START_ARGS="--chuid couchdb:couchdb --chdir /opt/couchdb --background" +STOP_ARGS="--pid $PID" + +do_usage() { + echo "Usage: couchdb {start|stop|status|restart|try-restart|force-reload}" >&2 +} + +do_start_cmd() { + start-stop-daemon --start --quiet ${PIDFILE:+--pidfile ${PIDFILE}} \ + $START_ARGS \ + --startas $DAEMON --name $NAME --exec $DAEMON --test > /dev/null \ + || return 1 + start-stop-daemon --start --quiet ${PIDFILE:+--pidfile ${PIDFILE}} \ + $START_ARGS \ + --startas $DAEMON --name $NAME --exec $DAEMON -- $DAEMON_ARGS \ + || return 2 +} + +do_start() { + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start_cmd + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac +} + +do_stop_cmd() { + RETVAL=2 + if [ ! -z "$PID" ]; then + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ + --pid $PID + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + fi + return $RETVAL +} + +do_stop() { + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop_cmd + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac +} + +do_restart() { + [ "$VERBOSE" != no ] && log_daemon_msg "Restarting $DESC" "$NAME" + do_stop_cmd + do_start_cmd + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac +} + +do_force_reload() { + do_restart +} + +do_status() { + pgrep -u couchdb beam* > /dev/null && status="$?" || status="$?" + if [ "$status" = 0 ]; then + log_success_msg "$NAME is running" + return 0 + elif [ "$status" = 4 ]; then + log_failure_msg "could not access PID file for $NAME" + return $status + else + log_failure_msg "$NAME is not running" + return $status + fi + +} + +if [ "$DEBUG" = "true" ] ; then + set -x +fi + +# Exit if the package is not installed +if [ none != "$DAEMON" ] && [ ! -x "$DAEMON" ] ; then + exit 0 +fi + +case "$1" in + start) + do_start + ;; + stop) + do_stop + ;; + status) + do_status + ;; + reload) + do_usage + exit 3 + ;; + force-reload) + do_force_reload + ;; + restart) + do_restart + ;; + try-restart) + log_daemon_msg "Trying to restart $DESC" "$NAME" + if do_status > /dev/null 2>&1 ; then + do_restart + log_end_msg $? + else + log_progress_msg "is not running." + log_end_msg 1 + fi + ;; + '') + do_usage + exit 3 + ;; +esac +exit 0 diff --git a/debian/couchdb.install b/debian/couchdb.install new file mode 100755 index 0000000..7e1513b --- /dev/null +++ b/debian/couchdb.install @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec +debian/NO_LONGER_USED_MOVED_TO_opt_couchdb_etc => etc/couchdb/NO_LONGER_USED_MOVED_TO_opt_couchdb_etc +debian/10-filelog.ini => opt/couchdb/etc/default.d/10-filelog.ini +rel/couchdb /opt diff --git a/debian/couchdb.links b/debian/couchdb.links new file mode 100644 index 0000000..4d9d741 --- /dev/null +++ b/debian/couchdb.links @@ -0,0 +1,2 @@ +var/log/couchdb opt/couchdb/var/log +var/lib/couchdb opt/couchdb/data diff --git a/debian/couchdb.lintian-overrides b/debian/couchdb.lintian-overrides new file mode 100644 index 0000000..fd3520c --- /dev/null +++ b/debian/couchdb.lintian-overrides @@ -0,0 +1,14 @@ +# We rely on upstream Erlang binary packages that do not specify ld -z relro +couchdb: hardening-no-relro + +# CouchDB is installed as a fully self-contained release that includes +# bundled assets we can't rely on the system to provide for us, esp. +# at the correct version. +couchdb: duplicate-font-file opt/couchdb/share/www/dashboard.assets/fonts/fontawesome-webfont.ttf also in fonts-font-awesome + +# This file is not user-executable and thus does not need chmod +x +couchdb: script-not-executable opt/couchdb/lib/couch-2.0.0/priv/spawnkillable/couchspawnkillable.sh + +# And we want to be extra sure our license is not ignored +couchdb: extra-license-file opt/couchdb/LICENSE + diff --git a/debian/couchdb.logrotate b/debian/couchdb.logrotate new file mode 100644 index 0000000..1ef2fdb --- /dev/null +++ b/debian/couchdb.logrotate @@ -0,0 +1,9 @@ +/var/log/couchdb/couchdb.log { + weekly + rotate 10 + copytruncate + delaycompress + compress + notifempty + missingok +} diff --git a/debian/couchdb.manpages b/debian/couchdb.manpages new file mode 100644 index 0000000..a596258 --- /dev/null +++ b/debian/couchdb.manpages @@ -0,0 +1 @@ +rel/couchdb/share/docs/couchdb.1 diff --git a/debian/couchdb.postinst b/debian/couchdb.postinst new file mode 100644 index 0000000..927dbf8 --- /dev/null +++ b/debian/couchdb.postinst @@ -0,0 +1,201 @@ +#!/bin/sh +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +set -e +# without this, debconf doesn't run on initial install +. /usr/share/debconf/confmodule + +db_get couchdb/mode && mode="$RET" + +setadminpass() { + # don't try and set a password if debconf didn't get one + # this allows Admin Party if a blank password is entered + db_fget "couchdb/adminpass" seen || true + password_set="$RET" + if [ "${password_set}" != "true" ]; then + return 0 + fi + + # don't overwrite an admin password already in an ini file + for i in /opt/couchdb/etc/default.ini \ + /opt/couchdb/etc/default.d/*.ini \ + /opt/couchdb/etc/local.ini \ + /opt/couchdb/etc/local.d/*.ini; do + if grep -q '^admin = ' $i >/dev/null 2>&1; then + return 0 + fi + done + + db_get couchdb/adminpass && adminpw="$RET" + + # forget we ever saw the password. + # don't use reset, to keep the seen status + db_set couchdb/adminpass "" + db_set couchdb/adminpass_again "" + + # this avoids us having to call "curl" with $adminpw + # CouchDB hashes the password for us on startup + adminsinifile=' +# Package-introduced administrative user +[admins] +admin = '"${adminpw}"' +' + echo "${adminsinifile}" > /opt/couchdb/etc/local.d/10-admins.ini +} + +setbindaddress() { + db_fget "couchdb/bindaddress" seen || true + bindaddress_set="$RET" + if [ "${bindaddress_set}" != "true" ]; then + return 0 + fi + + # don't overwrite a bind address already in an ini file + # other than default.ini + for i in /opt/couchdb/etc/default.d/*.ini \ + /opt/couchdb/etc/local.ini \ + /opt/couchdb/etc/local.d/*.ini; do + if grep -q '^bind_address = ' $i >/dev/null 2>&1; then + return 0 + fi + done + + db_get couchdb/bindaddress && bindaddr="$RET" + bindinifile=' +# Package-introduced bind address +[chttpd] +bind_address = '"${bindaddr}"' +' + echo "${bindinifile}" > /opt/couchdb/etc/default.d/10-bind-address.ini +} + +createdb() { + # see if db already exists; if not, create DB + db=$1 + db_get couchdb/bindaddress && ip="$RET" + if [ "${ip}" = "0.0.0.0" ]; then + ip=127.0.0.1 + fi + if [ ! -z "${adminpw}" ]; then + url="http://admin:${adminpw}@${ip}:5984" + else + url="http://${ip}:5984" + fi + if curl -s "${url}/${db}" | grep -q "${db}"; then + return 0 + fi + curl -s -X PUT "${url}/${db}" >/dev/null 2>&1 + return $? +} + +case $1 in + configure) + if dpkg --compare-versions "$2" lt-nl 1.2.0-2ubuntu1; then + # Hack to make the upgrade from the 1.0.1 Ubuntu package more correct: + chown root:root /etc/couchdb + chown root:root /etc/couchdb/default.ini + chown -R root:root /etc/couchdb/default.d + chmod 755 /etc/couchdb + chmod 644 /etc/couchdb/default.ini + chmod 755 /etc/couchdb/default.d + fi + if ! getent passwd couchdb > /dev/null; then + adduser --system --quiet \ + --home /opt/couchdb --no-create-home \ + --disabled-login --disabled-password \ + --shell /bin/bash --group \ + --gecos "CouchDB Administrator" \ + couchdb + fi + if test "`id -u couchdb`" -eq 0; then + echo "The couchdb administrative user must not be root." >&2 + false + fi + if test "`id -g couchdb`" -eq 0; then + echo "The couchdb administrative group must not be root." >&2 + false + fi + + case $mode in + none) + ;; + standalone) + setbindaddress + if ! setadminpass; then + password_error="yes" + fi + ;; + clustered) + db_get couchdb/nodename && nodename="$RET" + db_get couchdb/cookie && cookie="$RET" + + sed -i "s/^-name .*$/-name ${nodename}/" /opt/couchdb/etc/vm.args + sed -i "s/^-setcookie .*$/-setcookie ${cookie}/" /opt/couchdb/etc/vm.args + + setbindaddress + + if ! setadminpass; then + password_error="yes" + fi + ;; + *) + echo "incomprehensible couchdb mode '$mode'!" 1>&2 + exit 1 + ;; + esac + + # These should be owned by the couchdb user and group: + chown -R couchdb:couchdb /opt/couchdb/etc + chown -R couchdb:couchdb /var/lib/couchdb + chown -R couchdb:couchdb /var/log/couchdb + # These should also not be world readable or writable: + find /opt/couchdb/etc -name *.ini -exec chmod 0640 {} \; + chmod 0750 /var/log/couchdb + chmod 0750 /var/lib/couchdb + + if [ "${password_error}" = "yes" ]; then + db_input high couchdb/error_setting_password || true + db_go + fi + + if ls /var/lib/couchdb/[A-Za-z0-9]*.couch >/dev/null 2>&1; then + db_input high couchdb/have_1x_databases || true + db_go + fi + + #DEBHELPER# + + # just in case - CouchDB can be slow to startup + sleep 5 + + # if standalone, create _users and _replicator DBs + case $mode in + standalone) + createdb _users + createdb _replicator + ;; + clustered) + ;; + *) + ;; + esac + ;; + + abort-upgrade|abort-remove|abort-configure) + ;; + + *) + echo "postinst called with unknown argument '$1'" 1>&2 + exit 1 + ;; +esac diff --git a/debian/couchdb.postrm b/debian/couchdb.postrm new file mode 100644 index 0000000..c844e43 --- /dev/null +++ b/debian/couchdb.postrm @@ -0,0 +1,44 @@ +#!/bin/sh -e +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +. /usr/share/debconf/confmodule + +case $1 in + purge) + rm -rf /opt/couchdb/erl_crash.dump + if test -d "/opt/couchdb/etc"; then + rm -rf "/opt/couchdb/etc" + fi + if test -d "/var/lib/couchdb"; then + rm -rf "/var/lib/couchdb" + fi + if test -d "/var/log/couchdb"; then + rm -rf "/var/log/couchdb" + fi + pkill -u couchdb >/dev/null 2>&1 || true + if getent passwd couchdb > /dev/null; then + deluser couchdb >/dev/null 2>&1 + fi + if getent group couchdb > /dev/null; then + delgroup couchdb >/dev/null 2>&1 + fi + db_reset couchdb/mode + db_reset couchdb/nodename + db_reset couchdb/cookie + db_reset couchdb/adminpass + db_reset couchdb/adminpass_again + db_reset couchdb/bindaddress + ;; +esac + +#DEBHELPER# diff --git a/debian/couchdb.preinst b/debian/couchdb.preinst new file mode 100644 index 0000000..2ae4730 --- /dev/null +++ b/debian/couchdb.preinst @@ -0,0 +1,21 @@ +#!/bin/sh +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +set -e + +if test -s /etc/couchdb/local.ini +then + echo "Warning! Configuration files found in /etc/couchdb, these require manual migration!" +fi + +#DEBHELPER# diff --git a/debian/couchdb.service b/debian/couchdb.service new file mode 100644 index 0000000..4b882bc --- /dev/null +++ b/debian/couchdb.service @@ -0,0 +1,15 @@ +[Unit] +Description=Apache CouchDB +Wants=network-online.target +After=network-online.target + +[Service] +RuntimeDirectory=couchdb +User=couchdb +Group=couchdb +ExecStart=/opt/couchdb/bin/couchdb +Restart=on-failure + +[Install] +WantedBy=multi-user.target + diff --git a/debian/couchdb.templates b/debian/couchdb.templates new file mode 100644 index 0000000..0fc5acd --- /dev/null +++ b/debian/couchdb.templates @@ -0,0 +1,96 @@ +# NOTE TO DEVELOPERS +# If you change this file, run debconf-updatepo ! +# Failure to do so will result in a rejected pull request. + +Template: couchdb/mode +Type: select +__Choices: standalone, clustered, none +Default: standalone +_Description: General type of CouchDB configuration: + Please select the CouchDB server configuration type that best meets your needs. + . + For single-server configurations, select standalone mode. This will set up + CouchDB to run as a single server. + . + For clustered configuration, select clustered mode. This will prompt for + additional parameters required to configure CouchDB in a clustered + configuration. + . + If you prefer to configure CouchDB yourself, select none. You will then + need to edit /opt/couchdb/etc/vm.args and /opt/couchdb/etc/local.d/*.ini + yourself. Be aware that this will bypass *all* configuration steps, including + setup of a CouchDB admin user - leaving CouchDB in "admin party" mode. + +Template: couchdb/nodename +Type: string +Default: couchdb@localhost +_Description: CouchDB Erlang node name: + A CouchDB node has an Erlang node name of the form couchdb@<name>. + . + For clustered installations, it is REQUIRED that the node name be of the + form couc...@fully.qualified.domain.name. It is also REQUIRED that all nodes + in the cluster be able to resolve other node names via DNS. + . + If you have trouble joining a node to a cluster, double-check that you + have correctly specified the FQDN for the node name, and that DNS resolution + for this FQDN works across the cluster. + +Template: couchdb/cookie +Type: string +Default: monster +_Description: CouchDB Erlang magic cookie: + A CouchDB node has an Erlang magic cookie value set at startup. + . + This value must match for all nodes in the cluster. If they do not match, + attempts to connect the node to the cluster will be rejected. + +Template: couchdb/bindaddress +Type: string +Default: 127.0.0.1 +_Description: CouchDB interface bind address: + A CouchDB node must bind to a specific network interface. This is done + via IP address. Only a single address is supported at this time. + . + The special value '0.0.0.0' binds CouchDB to all network interfaces. + . + The default is 127.0.0.1 (loopback) for standalone nodes, and 0.0.0.0 + (all interfaces) for clustered nodes. In clustered mode, it is not allowed + to bind to 127.0.0.1. + +Template: couchdb/adminpass +Type: password +_Description: Password for the CouchDB "admin" user: + It is highly recommended that you create a CouchDB admin user, which + takes CouchDB out of the insecure "admin party" mode. Entering a password + here will take care of this step for you. + . + If this field is left blank, an admin user will not be created. + . + A pre-existing admin user will not be overwritten by this package. + +Template: couchdb/adminpass_again +Type: password +_Description: Repeat password for the CouchDB "admin" user: + +Template: couchdb/adminpass_mismatch +Type: error +_Description: Password input error + The two passwords you entered were not the same. Please try again. + +Template: couchdb/error_setting_password +Type: error +_Description: Unable to set password for the CouchDB "admin" user + An error occurred while setting the password for the CouchDB + administrative user. This may have happened because the account + already has a password, or because of local edits to the + /opt/couchdb/etc/local.ini file. + . + You should check the account's password after the package installation. + +Template: couchdb/have_1x_databases +Type: note +_Description: CouchDB 1.x databases found + During installation, unsharded databases have been detected in the + /var/lib/couchdb directory. These need migration to be used in + CouchDB 2.x and forward. Use the `couchup' utility to assist in + the migration process. diff --git a/debian/couchdb.upstart b/debian/couchdb.upstart new file mode 100644 index 0000000..3c91f17 --- /dev/null +++ b/debian/couchdb.upstart @@ -0,0 +1,11 @@ +# couchdb - a RESTful document oriented database + +description "Start Apache CouchDB" +author "CouchDB Developers <d...@couchdb.apache.org>" + +start on filesystem and static-network-up +stop on deconfiguring-networking +respawn + +exec su couchdb -c /opt/couchdb/bin/couchdb + diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in new file mode 100644 index 0000000..6b0e2b7 --- /dev/null +++ b/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] couchdb.templates diff --git a/debian/po/templates.pot b/debian/po/templates.pot new file mode 100644 index 0000000..92ad5e9 --- /dev/null +++ b/debian/po/templates.pot @@ -0,0 +1,238 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: couchdb\n" +"Report-Msgid-Bugs-To: couc...@packages.debian.org\n" +"POT-Creation-Date: 2017-04-22 06:31+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <l...@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: select +#. Choices +#: ../couchdb.templates:2001 +msgid "standalone" +msgstr "" + +#. Type: select +#. Choices +#: ../couchdb.templates:2001 +msgid "clustered" +msgstr "" + +#. Type: select +#. Choices +#: ../couchdb.templates:2001 +msgid "none" +msgstr "" + +#. Type: select +#. Description +#: ../couchdb.templates:2002 +msgid "General type of CouchDB configuration:" +msgstr "" + +#. Type: select +#. Description +#: ../couchdb.templates:2002 +msgid "" +"Please select the CouchDB server configuration type that best meets your " +"needs." +msgstr "" + +#. Type: select +#. Description +#: ../couchdb.templates:2002 +msgid "" +"For single-server configurations, select standalone mode. This will set up " +"CouchDB to run as a single server." +msgstr "" + +#. Type: select +#. Description +#: ../couchdb.templates:2002 +msgid "" +"For clustered configuration, select clustered mode. This will prompt for " +"additional parameters required to configure CouchDB in a clustered " +"configuration." +msgstr "" + +#. Type: select +#. Description +#: ../couchdb.templates:2002 +msgid "" +"If you prefer to configure CouchDB yourself, select none. You will then need " +"to edit /opt/couchdb/etc/vm.args and /opt/couchdb/etc/local.d/*.ini " +"yourself. Be aware that this will bypass *all* configuration steps, " +"including setup of a CouchDB admin user - leaving CouchDB in \"admin party\" " +"mode." +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:3001 +msgid "CouchDB Erlang node name:" +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:3001 +msgid "A CouchDB node has an Erlang node name of the form couchdb@<name>." +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:3001 +msgid "" +"For clustered installations, it is REQUIRED that the node name be of the " +"form couc...@fully.qualified.domain.name. It is also REQUIRED that all nodes " +"in the cluster be able to resolve other node names via DNS." +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:3001 +msgid "" +"If you have trouble joining a node to a cluster, double-check that you have " +"correctly specified the FQDN for the node name, and that DNS resolution for " +"this FQDN works across the cluster." +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:4001 +msgid "CouchDB Erlang magic cookie:" +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:4001 +msgid "A CouchDB node has an Erlang magic cookie value set at startup." +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:4001 +msgid "" +"This value must match for all nodes in the cluster. If they do not match, " +"attempts to connect the node to the cluster will be rejected." +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:5001 +msgid "CouchDB interface bind address:" +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:5001 +msgid "" +"A CouchDB node must bind to a specific network interface. This is done via " +"IP address. Only a single address is supported at this time." +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:5001 +msgid "The special value '0.0.0.0' binds CouchDB to all network interfaces." +msgstr "" + +#. Type: string +#. Description +#: ../couchdb.templates:5001 +msgid "" +"The default is 127.0.0.1 (loopback) for standalone nodes, and 0.0.0.0 (all " +"interfaces) for clustered nodes. In clustered mode, it is not allowed to " +"bind to 127.0.0.1." +msgstr "" + +#. Type: password +#. Description +#: ../couchdb.templates:6001 +msgid "Password for the CouchDB \"admin\" user:" +msgstr "" + +#. Type: password +#. Description +#: ../couchdb.templates:6001 +msgid "" +"It is highly recommended that you create a CouchDB admin user, which takes " +"CouchDB out of the insecure \"admin party\" mode. Entering a password here " +"will take care of this step for you." +msgstr "" + +#. Type: password +#. Description +#: ../couchdb.templates:6001 +msgid "If this field is left blank, an admin user will not be created." +msgstr "" + +#. Type: password +#. Description +#: ../couchdb.templates:6001 +msgid "A pre-existing admin user will not be overwritten by this package." +msgstr "" + +#. Type: password +#. Description +#: ../couchdb.templates:7001 +msgid "Repeat password for the CouchDB \"admin\" user:" +msgstr "" + +#. Type: error +#. Description +#: ../couchdb.templates:8001 +msgid "Password input error" +msgstr "" + +#. Type: error +#. Description +#: ../couchdb.templates:8001 +msgid "The two passwords you entered were not the same. Please try again." +msgstr "" + +#. Type: error +#. Description +#: ../couchdb.templates:9001 +msgid "Unable to set password for the CouchDB \"admin\" user" +msgstr "" + +#. Type: error +#. Description +#: ../couchdb.templates:9001 +msgid "" +"An error occurred while setting the password for the CouchDB administrative " +"user. This may have happened because the account already has a password, or " +"because of local edits to the /opt/couchdb/etc/local.ini file." +msgstr "" + +#. Type: error +#. Description +#: ../couchdb.templates:9001 +msgid "You should check the account's password after the package installation." +msgstr "" + +#. Type: note +#. Description +#: ../couchdb.templates:10001 +msgid "CouchDB 1.x databases found" +msgstr "" + +#. Type: note +#. Description +#: ../couchdb.templates:10001 +msgid "" +"During installation, unsharded databases have been detected in the /var/lib/" +"couchdb directory. These need migration to be used in CouchDB 2.x and " +"forward. Use the `couchup' utility to assist in the migration process." +msgstr "" diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..825eff6 --- /dev/null +++ b/debian/rules @@ -0,0 +1,37 @@ +#!/usr/bin/make -f +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +%: + dh $@ --with=systemd + +override_dh_auto_clean: + dh_auto_clean + -mv src/mango/src/mango_cursor_text.erl.nocompile src/mango/src/mango_cursor_text.erl + -mv src/mango/src/mango_cursor_text.nocompile src/mango/src/mango_cursor_text.erl + +override_dh_auto_configure: + ./configure -c + +override_dh_auto_build: + dh_auto_build -- release + rm -rf rel/couchdb/var/log + -rm -rf rel/couchdb/data + +# skipping tests until suite is 100% reliable +override_dh_auto_test: + +# instead we rely on dh_install and the couchdb.install file +override_dh_auto_install: + +get-orig-source: + uscan --noconf --download-current-version --destdir=. --rename diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 0000000..d344040 --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1,10 @@ +# The following are misidentified minified source files +couchdb source: source-is-missing share/server/coffee-script.js +couchdb source: source-is-missing share/www/dashboard.assets/ZeroClipboard.swf +couchdb source: source-is-missing share/docs/html/_static/underscore.js +couchdb source: source-is-missing share/docs/html/_static/jquery.js +couchdb source: source-is-missing src/fauxton/assets/js/plugins/prettify.js +couchdb source: source-is-missing src/fauxton/assets/js/libs/spin.min.js +couchdb source: source-is-missing src/docs/themes/couchdb/static/underscore.js +couchdb source: source-is-missing src/docs/themes/couchdb/static/jquery.js + diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..779dbfd --- /dev/null +++ b/debian/source/options @@ -0,0 +1,2 @@ +compression = "bzip2" +compression-level = 9 diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..c922dc7 --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +# watch control file for uscan +version=3 +http://www.apache.org/dist/couchdb/source/([\d\.]+)/apache-couchdb-([\d\.]+)\.tar\.gz diff --git a/lintian-profiles/couchdb-debian.profile b/lintian-profiles/couchdb-debian.profile new file mode 100644 index 0000000..0c80791 --- /dev/null +++ b/lintian-profiles/couchdb-debian.profile @@ -0,0 +1,3 @@ +Profile: couchdb/main +Extends: debian/main +Disable-Tags: dir-or-file-in-opt, source-is-missing, non-etc-file-marked-as-conffile, embedded-javascript-library, embedded-library \ No newline at end of file diff --git a/lintian-profiles/couchdb-ubuntu.profile b/lintian-profiles/couchdb-ubuntu.profile new file mode 100644 index 0000000..efe959a --- /dev/null +++ b/lintian-profiles/couchdb-ubuntu.profile @@ -0,0 +1,3 @@ +Profile: couchdb/main +Extends: ubuntu/main +Disable-Tags: dir-or-file-in-opt, non-etc-file-marked-as-conffile, embedded-javascript-library, embedded-library diff --git a/ubuntu-notes.txt b/ubuntu-notes.txt new file mode 100644 index 0000000..dcb0fb8 --- /dev/null +++ b/ubuntu-notes.txt @@ -0,0 +1,38 @@ +Build notes +----------- + +Debian 8 +======== +Works perfectly. + +Ubuntu 12.04 (precise) +====================== +1. remove dh-systemd from control file +2. remove dependency on init-system-helpers from control file +3. edit rules file to remove --with-systemd +4. build as usual + +Ubuntu 14.04 (trusty) +===================== +1. erlang solutions has no 18.3 packages?! grumble. + +Ubuntu 16.04 (xenial) +===================== +1. Does not recognize vendor profiles anywhere but /usr/share/lintian/profiles + + +Current build script +-------------------- + +``` +curl http://www.apache.org/dist/couchdb/source/2.0.0/apache-couchdb-2.0.0.tar.gz> apache-couchdb-2.0.0.tar.gz +mv apache-couchdb-2.0.0.tar.gz /usr/src/couchdb/couchdb_2.0.0.orig.tar.gz +cd /usr/src/couchdb && tar xfz couchdb_2.0.0.orig.tar.gz +cd apache-couchdb-2.0.0 +cp -R /path/to/couchdb-pkg/debian . +export DEBEMAIL="d...@couchdb.apache.org" +export DEBFULLNAME="CouchDB Developers" +dpkg-buildpackage -us -uc +# optional +cd .. && lintian --profile couchdb couch*deb +``` -- To stop receiving notification emails like this one, please contact "commits@couchdb.apache.org" <commits@couchdb.apache.org>.