[FFE] CouchDB 1.4.0 needed to work with Erlang 16.b.1
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
couchdb (Ubuntu) |
Fix Released
|
High
|
Jason Gerard DeRose |
Bug Description
CouchDB 1.2.0 doesn't work at all with Erlang 16.b.1, so the current CouchDB package in Saucy is completely broken and should be removed if it can't be upgraded.
To work with Erlang 16.b.1, we'll have to upgrade to the recently released CouchDB 1.4.0. The needed compatibility fixes are extensive and include upgrading CouchDB's internal mochiweb server, so backporting the needed changes to CouchDB 1.2.0 isn't practical.
Following is an overview of the testing I've done, results, and known issues:
== Unit Tests ==
CouchDB 1.4.0 now has quite extensive unit tests, which I'm running during the build. These tests are (generally) passing fine when building with pbuilder, and when building in a PPA (i386 and amd64).
Note I've not tried a build on armhf yet.
There are a few unit tests that occasionally fail when building on Raring, but so far I haven't encountered this when building on Saucy. It is however possible to get successful builds on Raring, you just might have to retry a build or two.
== Reverse Dependencies ==
I've built several CouchDB consumers against my proposed CouchDB package in a PPA, on both Saucy and Raring. These reverse dependencies have extensive CouchDB using unit tests and are therefor a good measure of the correctness of my proposed CouchDB 1.4.0 package, and the quality of the upstream CouchDB 1.4.0 release.
UserCouch: https:/
* Good coverage of key configuration permutations (bind address, port, basic auth, oauth, file_compression)
* Good coverage of SSL options, both for httpd and the replicator
* Provides good confidence that CouchDB actually starts, and starts in a timely manner, across all config permutations
* IPv4 and IPv6 tests
Microfiber: https:/
* Good coverage of core DB, doc, and attachment REST APIs
* Deep tests for _bulk_docs API, testing both "non-atomic" and "all-or-nothing" update semantics
* Basic view tests
* Basic replication tests
* IPv4 and IPv6 tests
Dmedia: https:/
* Complex, demanding application with lots of "real-world" test scenarios
* Extensive view tests with complex map functions (but _count, _sum, and _stats are the only reduce functions Dmedia uses)
* Full-stack replication tests with SSL (and client-side SSL certs)
* Tests for complex conflict scenarios
== Manual Testing ==
I've done extensive manual testing with Dmedia. I peered 3 different computers and imported around 20k files into Dmedia, made sure all metadata got replicated between all peers. I ran through my standard battery of abuse using things like PurgeAll and DowngradeAll, and in all scenarios the library successfully converged to its equilibrium state in a reasonable amount of time.
I've also done extensive manual testing with the `couchdb` binary package and its new upstart job. I confirmed that:
1) The daemon is started when the package is installed
2) The daemon starts during the boot sequence after a reboot and a cold boot
3) All daemon processes are killed with `sudo stop couchdb`
4) You can start the daemon with `sudo start couchdb`
5) `sudo restart couchdb` works as expected
6) Upstart respawn works as expected if I manually `kill $PID` on the daemon process
7) All daemon processes are killed with `sudo apt-get remove couchdb`
8) `sudo apt-get purge couchdb` removes /var/lib/couchdb and /var/log/couchdb
== Upgrade Testing ==
I tested the upgrade from 1.2.0 when only `couchdb-bin` is installed, and when `couchdb` and `couchdb-bin` are installed. Both work as expected, although these tests were done on Raring. I haven't yet done an upgrade test via a Raring=>Saucy update, but that's difficult to do when 1.4.0 is still only in a PPA (update process can't be properly simulated as the PPA will be disabled during the update).
A remaining issue is that sometimes the `couchdb` 1.2.0 daemon is not successfully terminated during the package upgrade. (Well, it sort of is, and then Erlang respawns more processes that don't ever get killed.) So you'll end up with the new, correct 1.4.0 processes running, plus some lingering 1.2.0 garbage processes running. This is due to fundamental problems in the upstream init.d script, and this is a big part of why I switched to Upstart.
A work-around is to stop couchdb before you upgrade:
sudo service couchdb stop
Or simply reboot after you upgrade (which most will do anyway).
This is probably a difficult issue to solve as the problem is that the previous package version isn't correctly shutting down its CouchDB daemon. On the upside, no such problems exist with the Upstart job in my 1.4.0 package.
Related branches
- Andrew Starr-Bochicchio (community): Approve
- Chad Miller (community): Approve
- Jason Gerard DeRose (community): Needs Resubmitting
- Ubuntu branches: Pending requested
-
Diff: 173949 lines (+110026/-36696)496 files modified.pc/applied-patches (+0/-8)
.pc/couchdb_own_rundir.patch/etc/init/couchdb.tpl.in (+0/-156)
.pc/couchdb_sighup.patch/bin/couchdb.tpl.in (+0/-335)
.pc/force-reload.patch/etc/init/couchdb.tpl.in (+0/-156)
.pc/improve_parsing_of_mochiweb_relative_paths.patch/src/mochiweb/mochiweb_util.erl (+0/-973)
.pc/improve_script_url_validation.patch/share/www/script/couch_test_runner.js (+0/-472)
.pc/include_a_comment_before_jsonp_output.patch/src/couchdb/couch_httpd.erl (+0/-1081)
.pc/logrotate_as_couchdb.patch/etc/logrotate.d/couchdb.tpl.in (+0/-9)
.pc/wait_for_couchdb_stop.patch/etc/init/couchdb.tpl.in (+0/-157)
AUTHORS (+6/-0)
BUGS (+5/-3)
CHANGES (+0/-874)
DEVELOPERS (+128/-22)
INSTALL (+171/-35)
INSTALL.Unix (+80/-44)
INSTALL.Windows (+72/-21)
LICENSE (+489/-12)
Makefile.am (+63/-59)
Makefile.in (+329/-188)
NEWS (+0/-418)
NOTICE (+98/-10)
README (+0/-83)
README.rst (+95/-0)
THANKS (+55/-4)
acinclude.m4 (+1/-1)
aclocal.m4 (+962/-140)
bin/Makefile.am (+59/-30)
bin/Makefile.in (+212/-140)
bin/couch-config.tpl.in (+1/-1)
bin/couchdb.1 (+2/-2)
bin/couchdb.bat.tpl.in (+1/-1)
bin/couchdb.tpl.in (+34/-5)
build-aux/config.guess (+343/-293)
build-aux/config.sub (+294/-103)
build-aux/depcomp (+207/-83)
build-aux/dist-error (+28/-0)
build-aux/install-sh (+141/-121)
build-aux/ltmain.sh (+1640/-749)
build-aux/missing (+29/-65)
build-aux/sphinx-build (+67/-0)
build-aux/sphinx-touch (+24/-0)
config.h.in (+48/-7)
configure (+8546/-8152)
configure.ac (+356/-214)
debian/README.Debian (+0/-26)
debian/README.source (+0/-20)
debian/changelog (+41/-0)
debian/compat (+1/-1)
debian/control (+39/-19)
debian/couchdb-bin.install (+4/-1)
debian/couchdb-bin.postrm (+0/-16)
debian/couchdb-common.install (+3/-0)
debian/couchdb.install (+0/-2)
debian/couchdb.lintian-overrides (+2/-1)
debian/couchdb.postinst (+6/-0)
debian/couchdb.postrm (+0/-5)
debian/couchdb.upstart (+19/-0)
debian/patches/couchdb_own_rundir.patch (+0/-20)
debian/patches/couchdb_sighup.patch (+0/-22)
debian/patches/force-reload.patch (+0/-21)
debian/patches/improve_parsing_of_mochiweb_relative_paths.patch (+0/-40)
debian/patches/improve_script_url_validation.patch (+0/-26)
debian/patches/include_a_comment_before_jsonp_output.patch (+0/-20)
debian/patches/logrotate_as_couchdb.patch (+0/-16)
debian/patches/series (+0/-8)
debian/patches/wait_for_couchdb_stop.patch (+0/-30)
debian/rules (+20/-51)
debian/watch (+1/-1)
etc/Makefile.in (+218/-96)
etc/couchdb/Makefile.am (+10/-3)
etc/couchdb/Makefile.in (+122/-40)
etc/couchdb/default.ini.tpl.in (+55/-12)
etc/couchdb/local.ini (+13/-4)
etc/default/Makefile.in (+76/-24)
etc/init/Makefile.in (+76/-24)
etc/init/couchdb.tpl.in (+6/-15)
etc/launchd/Makefile.in (+76/-24)
etc/logrotate.d/Makefile.in (+76/-24)
etc/logrotate.d/couchdb.tpl.in (+0/-2)
etc/windows/Makefile.in (+76/-24)
etc/windows/couchdb.iss.tpl (+8/-4)
license.skip (+59/-36)
m4/ac_check_curl.m4 (+0/-69)
m4/ac_check_icu.m4 (+0/-74)
m4/libtool.m4 (+762/-355)
m4/ltversion.m4 (+6/-6)
m4/pkg.m4 (+0/-157)
share/Makefile.am (+20/-1)
share/Makefile.in (+408/-100)
share/doc/Makefile.am (+14/-0)
share/doc/Makefile.in (+644/-0)
share/doc/build/Makefile.am (+329/-0)
share/doc/build/Makefile.in (+752/-0)
share/doc/build/html/_sources/api-basics.txt (+463/-0)
share/doc/build/html/_sources/api/authn.txt (+41/-0)
share/doc/build/html/_sources/api/configuration.txt (+297/-0)
share/doc/build/html/_sources/api/database.txt (+1471/-0)
share/doc/build/html/_sources/api/design.txt (+1264/-0)
share/doc/build/html/_sources/api/documents.txt (+973/-0)
share/doc/build/html/_sources/api/local.txt (+169/-0)
share/doc/build/html/_sources/api/misc.txt (+867/-0)
share/doc/build/html/_sources/api/reference.txt (+42/-0)
share/doc/build/html/_sources/changelog.txt (+1489/-0)
share/doc/build/html/_sources/changes.txt (+227/-0)
share/doc/build/html/_sources/config_reference.txt (+330/-0)
share/doc/build/html/_sources/configuring.txt (+629/-0)
share/doc/build/html/_sources/contributing.txt (+167/-0)
share/doc/build/html/_sources/ddocs.txt (+751/-0)
share/doc/build/html/_sources/index.txt (+46/-0)
share/doc/build/html/_sources/intro.txt (+309/-0)
share/doc/build/html/_sources/json-structure.txt (+825/-0)
share/doc/build/html/_sources/query-servers.txt (+436/-0)
share/doc/build/html/_sources/replication.txt (+95/-0)
share/doc/build/html/_sources/replicator.txt (+383/-0)
share/doc/build/html/_static/basic.css (+540/-0)
share/doc/build/html/_static/default.css (+256/-0)
share/doc/build/html/_static/doctools.js (+247/-0)
share/doc/build/html/_static/jquery.js (+154/-0)
share/doc/build/html/_static/pygments.css (+62/-0)
share/doc/build/html/_static/rtd.css (+795/-0)
share/doc/build/html/_static/searchtools.js (+560/-0)
share/doc/build/html/_static/sidebar.js (+151/-0)
share/doc/build/html/_static/underscore.js (+23/-0)
share/doc/build/html/_static/websupport.js (+808/-0)
share/doc/build/html/api-basics.html (+556/-0)
share/doc/build/html/api/authn.html (+222/-0)
share/doc/build/html/api/configuration.html (+467/-0)
share/doc/build/html/api/database.html (+1646/-0)
share/doc/build/html/api/design.html (+1384/-0)
share/doc/build/html/api/documents.html (+1136/-0)
share/doc/build/html/api/local.html (+363/-0)
share/doc/build/html/api/misc.html (+1222/-0)
share/doc/build/html/api/reference.html (+273/-0)
share/doc/build/html/changelog.html (+2043/-0)
share/doc/build/html/changes.html (+414/-0)
share/doc/build/html/config_reference.html (+743/-0)
share/doc/build/html/configuring.html (+682/-0)
share/doc/build/html/ddocs.html (+976/-0)
share/doc/build/html/genindex.html (+360/-0)
share/doc/build/html/index.html (+316/-0)
share/doc/build/html/intro.html (+423/-0)
share/doc/build/html/json-structure.html (+1278/-0)
share/doc/build/html/query-servers.html (+739/-0)
share/doc/build/html/replication.html (+247/-0)
share/doc/build/html/replicator.html (+503/-0)
share/doc/build/html/search.html (+177/-0)
share/doc/build/html/searchindex.js (+1/-0)
share/doc/build/texinfo/CouchDB.info (+16106/-0)
share/doc/src/api-basics.rst (+463/-0)
share/doc/src/api/authn.rst (+41/-0)
share/doc/src/api/configuration.rst (+297/-0)
share/doc/src/api/database.rst (+1471/-0)
share/doc/src/api/design.rst (+1264/-0)
share/doc/src/api/documents.rst (+973/-0)
share/doc/src/api/local.rst (+169/-0)
share/doc/src/api/misc.rst (+867/-0)
share/doc/src/api/reference.rst (+42/-0)
share/doc/src/changelog.rst (+1489/-0)
share/doc/src/changes.rst (+227/-0)
share/doc/src/conf.py (+88/-0)
share/doc/src/config_reference.rst (+330/-0)
share/doc/src/configuring.rst (+629/-0)
share/doc/src/contributing.rst (+167/-0)
share/doc/src/ddocs.rst (+751/-0)
share/doc/src/index.rst (+46/-0)
share/doc/src/intro.rst (+309/-0)
share/doc/src/json-structure.rst (+825/-0)
share/doc/src/query-servers.rst (+436/-0)
share/doc/src/replication.rst (+95/-0)
share/doc/src/replicator.rst (+383/-0)
share/doc/static/rtd.css (+795/-0)
share/doc/templates/help.html (+24/-0)
share/doc/templates/searchbox.html (+31/-0)
share/doc/templates/utilities.html (+22/-0)
share/server/filter.js (+1/-1)
share/server/loop.js (+5/-3)
share/server/render.js (+17/-5)
share/server/util.js (+18/-9)
share/server/validate.js (+4/-1)
share/server/views.js (+2/-1)
share/www/_sidebar.html (+7/-6)
share/www/config.html (+5/-5)
share/www/couch_tests.html (+6/-6)
share/www/custom_test.html (+7/-7)
share/www/database.html (+14/-11)
share/www/dialog/_delete_database.html (+4/-2)
share/www/document.html (+9/-9)
share/www/index.html (+6/-6)
share/www/replicator.html (+4/-4)
share/www/script/couch.js (+52/-5)
share/www/script/couch_test_runner.js (+3/-1)
share/www/script/couch_tests.js (+18/-1)
share/www/script/futon.browse.js (+46/-6)
share/www/script/futon.js (+30/-0)
share/www/script/jquery.couch.js (+10/-6)
share/www/script/jquery.js (+5655/-5164)
share/www/script/jquery.suggest.js (+0/-2)
share/www/script/replicator_db_inc.js (+96/-0)
share/www/script/test/attachment_names.js (+0/-2)
share/www/script/test/attachment_ranges.js (+5/-0)
share/www/script/test/attachments.js (+27/-0)
share/www/script/test/attachments_multipart.js (+32/-29)
share/www/script/test/changes.js (+139/-44)
share/www/script/test/config.js (+49/-1)
share/www/script/test/content_negotiation.js (+2/-2)
share/www/script/test/cookie_auth.js (+25/-20)
share/www/script/test/etags_views.js (+2/-2)
share/www/script/test/form_submit.js (+0/-1)
share/www/script/test/list_views.js (+37/-0)
share/www/script/test/oauth.js (+2/-1)
share/www/script/test/reader_acl.js (+7/-0)
share/www/script/test/replication.js (+11/-0)
share/www/script/test/replicator_db.js (+0/-1547)
share/www/script/test/replicator_db_bad_rep_id.js (+77/-0)
share/www/script/test/replicator_db_by_doc_id.js (+99/-0)
share/www/script/test/replicator_db_compact_rep_db.js (+119/-0)
share/www/script/test/replicator_db_continuous.js (+137/-0)
share/www/script/test/replicator_db_credential_delegation.js (+149/-0)
share/www/script/test/replicator_db_field_validation.js (+178/-0)
share/www/script/test/replicator_db_filtered.js (+105/-0)
share/www/script/test/replicator_db_identical.js (+87/-0)
share/www/script/test/replicator_db_identical_continuous.js (+132/-0)
share/www/script/test/replicator_db_invalid_filter.js (+115/-0)
share/www/script/test/replicator_db_security.js (+12/-8)
share/www/script/test/replicator_db_simple.js (+114/-0)
share/www/script/test/replicator_db_successive.js (+127/-0)
share/www/script/test/replicator_db_survives.js (+126/-0)
share/www/script/test/replicator_db_swap_rep_db.js (+170/-0)
share/www/script/test/replicator_db_update_security.js (+92/-0)
share/www/script/test/replicator_db_user_ctx.js (+272/-0)
share/www/script/test/replicator_db_write_auth.js (+102/-0)
share/www/script/test/rev_stemming.js (+3/-0)
share/www/script/test/rewrite.js (+173/-119)
share/www/script/test/security_validation.js (+2/-2)
share/www/script/test/show_documents.js (+2/-2)
share/www/script/test/update_documents.js (+56/-2)
share/www/script/test/users_db.js (+38/-0)
share/www/script/test/users_db_security.js (+111/-9)
share/www/script/test/utf8.js (+1/-0)
share/www/script/test/uuids.js (+26/-1)
share/www/script/test/view_compaction.js (+10/-10)
share/www/script/test/view_multi_key_all_docs.js (+4/-0)
share/www/script/test/view_multi_key_design.js (+4/-0)
share/www/script/test/view_multi_key_temp.js (+3/-0)
share/www/session.html (+6/-6)
share/www/spec/run.html (+1/-0)
share/www/status.html (+4/-4)
share/www/style/layout.css (+4/-0)
share/www/verify_install.html (+8/-7)
src/Makefile.am (+12/-1)
src/Makefile.in (+163/-59)
src/couch_dbupdates/Makefile.am (+33/-0)
src/couch_dbupdates/Makefile.in (+519/-0)
src/couch_dbupdates/src/couch_dbupdates.app.src (+11/-0)
src/couch_dbupdates/src/couch_dbupdates.erl (+46/-0)
src/couch_dbupdates/src/couch_dbupdates_httpd.erl (+69/-0)
src/couch_index/Makefile.am (+40/-0)
src/couch_index/Makefile.in (+525/-0)
src/couch_index/src/couch_index.app.src (+22/-0)
src/couch_index/src/couch_index.erl (+340/-0)
src/couch_index/src/couch_index_api.erl (+54/-0)
src/couch_index/src/couch_index_compactor.erl (+114/-0)
src/couch_index/src/couch_index_server.erl (+201/-0)
src/couch_index/src/couch_index_updater.erl (+200/-0)
src/couch_index/src/couch_index_util.erl (+78/-0)
src/couch_mrview/Makefile.am (+73/-0)
src/couch_mrview/Makefile.in (+582/-0)
src/couch_mrview/include/couch_mrview.hrl (+80/-0)
src/couch_mrview/src/couch_mrview.app.src (+28/-0)
src/couch_mrview/src/couch_mrview.erl (+387/-0)
src/couch_mrview/src/couch_mrview_cleanup.erl (+47/-0)
src/couch_mrview/src/couch_mrview_compactor.erl (+178/-0)
src/couch_mrview/src/couch_mrview_http.erl (+378/-0)
src/couch_mrview/src/couch_mrview_index.erl (+162/-0)
src/couch_mrview/src/couch_mrview_show.erl (+368/-0)
src/couch_mrview/src/couch_mrview_test_util.erl (+91/-0)
src/couch_mrview/src/couch_mrview_updater.erl (+282/-0)
src/couch_mrview/src/couch_mrview_util.erl (+802/-0)
src/couch_mrview/test/01-load.t (+34/-0)
src/couch_mrview/test/02-map-views.t (+131/-0)
src/couch_mrview/test/03-red-views.t (+78/-0)
src/couch_mrview/test/04-index-info.t (+54/-0)
src/couch_mrview/test/05-collation.t (+163/-0)
src/couch_mrview/test/06-all-docs.t (+127/-0)
src/couch_mrview/test/07-compact-swap.t (+57/-0)
src/couch_replicator/Makefile.am (+77/-0)
src/couch_replicator/Makefile.in (+586/-0)
src/couch_replicator/src/couch_replicator.app.src (+33/-0)
src/couch_replicator/src/couch_replicator.erl (+955/-0)
src/couch_replicator/src/couch_replicator.hrl (+30/-0)
src/couch_replicator/src/couch_replicator_api_wrap.erl (+780/-0)
src/couch_replicator/src/couch_replicator_api_wrap.hrl (+36/-0)
src/couch_replicator/src/couch_replicator_httpc.erl (+297/-0)
src/couch_replicator/src/couch_replicator_httpc_pool.erl (+138/-0)
src/couch_replicator/src/couch_replicator_httpd.erl (+66/-0)
src/couch_replicator/src/couch_replicator_job_sup.erl (+31/-0)
src/couch_replicator/src/couch_replicator_js_functions.hrl (+151/-0)
src/couch_replicator/src/couch_replicator_manager.erl (+703/-0)
src/couch_replicator/src/couch_replicator_notifier.erl (+57/-0)
src/couch_replicator/src/couch_replicator_utils.erl (+388/-0)
src/couch_replicator/src/couch_replicator_worker.erl (+515/-0)
src/couch_replicator/test/01-load.t (+37/-0)
src/couch_replicator/test/02-httpc-pool.t (+250/-0)
src/couch_replicator/test/03-replication-compact.t (+488/-0)
src/couch_replicator/test/04-replication-large-atts.t (+267/-0)
src/couch_replicator/test/05-replication-many-leaves.t (+294/-0)
src/couch_replicator/test/06-doc-missing-stubs.t (+304/-0)
src/couchdb/Makefile.am (+10/-39)
src/couchdb/Makefile.in (+210/-120)
src/couchdb/couch.app.tpl.in (+1/-3)
src/couchdb/couch_api_wrap.erl (+0/-779)
src/couchdb/couch_api_wrap.hrl (+0/-36)
src/couchdb/couch_api_wrap_httpc.erl (+0/-286)
src/couchdb/couch_app.erl (+1/-1)
src/couchdb/couch_auth_cache.erl (+25/-10)
src/couchdb/couch_changes.erl (+19/-7)
src/couchdb/couch_compaction_daemon.erl (+9/-10)
src/couchdb/couch_config.erl (+2/-2)
src/couchdb/couch_config_writer.erl (+1/-1)
src/couchdb/couch_db.erl (+47/-25)
src/couchdb/couch_db.hrl (+13/-29)
src/couchdb/couch_db_update_notifier.erl (+11/-2)
src/couchdb/couch_db_updater.erl (+19/-17)
src/couchdb/couch_doc.erl (+64/-10)
src/couchdb/couch_ejson_compare.erl (+12/-1)
src/couchdb/couch_file.erl (+27/-3)
src/couchdb/couch_httpc_pool.erl (+0/-138)
src/couchdb/couch_httpd.erl (+122/-90)
src/couchdb/couch_httpd_auth.erl (+31/-19)
src/couchdb/couch_httpd_cors.erl (+349/-0)
src/couchdb/couch_httpd_db.erl (+118/-280)
src/couchdb/couch_httpd_external.erl (+11/-7)
src/couchdb/couch_httpd_misc_handlers.erl (+77/-13)
src/couchdb/couch_httpd_oauth.erl (+10/-9)
src/couchdb/couch_httpd_replicator.erl (+0/-66)
src/couchdb/couch_httpd_rewrite.erl (+18/-5)
src/couchdb/couch_httpd_show.erl (+0/-407)
src/couchdb/couch_httpd_vhost.erl (+34/-26)
src/couchdb/couch_httpd_view.erl (+0/-777)
src/couchdb/couch_js_functions.hrl (+11/-142)
src/couchdb/couch_log.erl (+61/-10)
src/couchdb/couch_os_daemons.erl (+11/-1)
src/couchdb/couch_os_process.erl (+1/-1)
src/couchdb/couch_passwords.erl (+119/-0)
src/couchdb/couch_primary_sup.erl (+3/-3)
src/couchdb/couch_rep_sup.erl (+0/-31)
src/couchdb/couch_replication_manager.erl (+0/-694)
src/couchdb/couch_replication_notifier.erl (+0/-57)
src/couchdb/couch_replicator.erl (+0/-952)
src/couchdb/couch_replicator.hrl (+0/-30)
src/couchdb/couch_replicator_utils.erl (+0/-382)
src/couchdb/couch_replicator_worker.erl (+0/-515)
src/couchdb/couch_server.erl (+55/-30)
src/couchdb/couch_stream.erl (+13/-8)
src/couchdb/couch_users_db.erl (+27/-9)
src/couchdb/couch_util.erl (+61/-8)
src/couchdb/couch_uuids.erl (+9/-1)
src/couchdb/couch_view.erl (+0/-437)
src/couchdb/couch_view_compactor.erl (+0/-152)
src/couchdb/couch_view_group.erl (+0/-699)
src/couchdb/couch_view_updater.erl (+0/-283)
src/couchdb/couch_work_queue.erl (+1/-1)
src/couchdb/priv/Makefile.am (+43/-13)
src/couchdb/priv/Makefile.in (+313/-215)
src/couchdb/priv/couch_ejson_compare/couch_ejson_compare.c (+11/-10)
src/couchdb/priv/couch_js/help.h (+4/-2)
src/couchdb/priv/couch_js/http.c (+63/-3)
src/couchdb/priv/couch_js/http.h (+3/-0)
src/couchdb/priv/couch_js/sm170.c (+50/-30)
src/couchdb/priv/couch_js/sm180.c (+50/-30)
src/couchdb/priv/couch_js/sm185.c (+58/-28)
src/couchdb/priv/couch_js/util.c (+79/-37)
src/couchdb/priv/couch_js/util.h (+6/-4)
src/couchdb/priv/couchjs.1 (+8/-4)
src/ejson/Makefile.in (+183/-98)
src/ejson/ejson.erl (+2/-0)
src/ejson/yajl/yajl_encode.c (+7/-0)
src/erlang-oauth/Makefile.am (+2/-13)
src/erlang-oauth/Makefile.in (+114/-49)
src/erlang-oauth/oauth.erl (+276/-68)
src/erlang-oauth/oauth_hmac_sha1.erl (+0/-11)
src/erlang-oauth/oauth_http.erl (+0/-22)
src/erlang-oauth/oauth_plaintext.erl (+0/-10)
src/erlang-oauth/oauth_rsa_sha1.erl (+0/-30)
src/erlang-oauth/oauth_unix.erl (+0/-16)
src/erlang-oauth/oauth_uri.erl (+0/-100)
src/etap/Makefile.am (+2/-18)
src/etap/Makefile.in (+114/-54)
src/etap/etap.erl (+273/-76)
src/etap/etap_application.erl (+0/-72)
src/etap/etap_can.erl (+0/-79)
src/etap/etap_exception.erl (+0/-66)
src/etap/etap_process.erl (+0/-42)
src/etap/etap_report.erl (+0/-343)
src/etap/etap_request.erl (+0/-89)
src/etap/etap_string.erl (+0/-47)
src/etap/etap_web.erl (+0/-65)
src/ibrowse/Makefile.in (+112/-36)
src/ibrowse/ibrowse.app.in (+4/-10)
src/ibrowse/ibrowse.erl (+158/-92)
src/ibrowse/ibrowse_http_client.erl (+175/-109)
src/ibrowse/ibrowse_lb.erl (+54/-37)
src/ibrowse/ibrowse_lib.erl (+62/-12)
src/ibrowse/ibrowse_test.erl (+122/-10)
src/mochiweb/Makefile.am (+0/-1)
src/mochiweb/Makefile.in (+112/-37)
src/mochiweb/mochifmt.erl (+1/-1)
src/mochiweb/mochifmt_records.erl (+10/-6)
src/mochiweb/mochifmt_std.erl (+12/-9)
src/mochiweb/mochiglobal.erl (+2/-2)
src/mochiweb/mochihex.erl (+1/-4)
src/mochiweb/mochijson.erl (+1/-3)
src/mochiweb/mochijson2.erl (+52/-12)
src/mochiweb/mochilists.erl (+1/-1)
src/mochiweb/mochilogfile2.erl (+1/-1)
src/mochiweb/mochinum.erl (+1/-1)
src/mochiweb/mochitemp.erl (+2/-1)
src/mochiweb/mochiutf8.erl (+4/-3)
src/mochiweb/mochiweb.app.in (+5/-28)
src/mochiweb/mochiweb.app.src (+0/-9)
src/mochiweb/mochiweb.erl (+19/-27)
src/mochiweb/mochiweb_acceptor.erl (+7/-4)
src/mochiweb/mochiweb_charref.erl (+2131/-256)
src/mochiweb/mochiweb_cookies.erl (+29/-7)
src/mochiweb/mochiweb_cover.erl (+1/-1)
src/mochiweb/mochiweb_echo.erl (+9/-6)
src/mochiweb/mochiweb_headers.erl (+125/-4)
src/mochiweb/mochiweb_html.erl (+100/-32)
src/mochiweb/mochiweb_http.erl (+41/-67)
src/mochiweb/mochiweb_io.erl (+1/-4)
src/mochiweb/mochiweb_mime.erl (+360/-39)
src/mochiweb/mochiweb_multipart.erl (+73/-25)
src/mochiweb/mochiweb_request.erl (+299/-192)
src/mochiweb/mochiweb_request_tests.erl (+120/-1)
src/mochiweb/mochiweb_response.erl (+27/-19)
src/mochiweb/mochiweb_socket.erl (+7/-8)
src/mochiweb/mochiweb_socket_server.erl (+33/-47)
src/mochiweb/mochiweb_util.erl (+11/-5)
src/mochiweb/reloader.erl (+2/-2)
src/snappy/Makefile.am (+3/-3)
src/snappy/Makefile.in (+168/-83)
src/snappy/google-snappy/config.h.in (+33/-38)
src/snappy/google-snappy/snappy-sinksource.cc (+0/-1)
src/snappy/google-snappy/snappy-sinksource.h (+1/-0)
src/snappy/google-snappy/snappy-stubs-internal.h (+99/-5)
src/snappy/google-snappy/snappy.cc (+152/-62)
src/snappy/google-snappy/snappy.h (+2/-2)
src/snappy/snappy.app.in (+1/-1)
test/Makefile.am (+1/-0)
test/Makefile.in (+151/-58)
test/bench/Makefile.in (+76/-24)
test/etap/001-load.t (+2/-17)
test/etap/020-btree-basics.t (+2/-2)
test/etap/040-util.t (+2/-2)
test/etap/041-uuid-gen-id.ini (+20/-0)
test/etap/041-uuid-gen.t (+31/-2)
test/etap/050-stream.t (+4/-4)
test/etap/072-cleanup.t (+3/-3)
test/etap/073-changes.t (+1/-1)
test/etap/074-doc-update-conflicts.t (+218/-0)
test/etap/075-auth-cache.t (+3/-1)
test/etap/076-file-compression.t (+7/-6)
test/etap/077-couch-db-fast-db-delete-create.t (+61/-0)
test/etap/080-config-get-set.t (+1/-1)
test/etap/083-config-no-files.t (+0/-2)
test/etap/090-task-status.t (+0/-3)
test/etap/120-stats-collect.t (+7/-7)
test/etap/140-attachment-comp.t (+4/-1)
test/etap/160-vhosts.t (+12/-31)
test/etap/200-view-group-no-db-leaks.t (+21/-49)
test/etap/201-view-group-shutdown.t (+9/-19)
test/etap/220-compaction-daemon.t (+19/-21)
test/etap/230-httpc-pool.t (+0/-250)
test/etap/230-pbkfd2.t (+38/-0)
test/etap/231-cors.t (+449/-0)
test/etap/240-replication-compact.t (+0/-488)
test/etap/241-replication-large-atts.t (+0/-267)
test/etap/242-replication-many-leaves.t (+0/-294)
test/etap/243-doc-missing-stubs.t (+0/-304)
test/etap/250-upgrade-legacy-view-files.t (+168/-0)
test/etap/Makefile.am (+19/-9)
test/etap/Makefile.in (+130/-61)
test/etap/random_port.ini (+0/-19)
test/etap/run.tpl (+16/-11)
test/etap/test_util.erl.in (+25/-3)
test/javascript/Makefile.am (+2/-0)
test/javascript/Makefile.in (+78/-24)
test/javascript/cli_runner.js (+34/-39)
test/javascript/couch_http.js (+16/-5)
test/javascript/run.tpl (+91/-12)
test/javascript/test_setup.js (+89/-0)
test/random_port.ini (+19/-0)
test/view_server/Makefile.in (+76/-24)
utils/Makefile.am (+1/-1)
utils/Makefile.in (+77/-25)
var/Makefile.in (+76/-25)
description: | updated |
Changed in couchdb (Ubuntu): | |
assignee: | nobody → Jason Gerard DeRose (jderose) |
Changed in couchdb (Ubuntu): | |
status: | In Progress → New |
summary: |
- Saucy: CouchDB 1.4.0 needed to work with Erlang 16.b.1 + [FFE] CouchDB 1.4.0 needed to work with Erlang 16.b.1 |
description: | updated |
Changed in couchdb (Ubuntu): | |
status: | Fix Committed → Fix Released |
Debhelper is the way, and you're using it properly. Kill CDBS.
I like and approve of just taking it over and doing it right, Jason.
I'm not a MOTU either, but I will look over the packaging if and when you want.