Exit just after version output

Homebrew jenkins found this issue:
http://bot.brew.sh/job/Homebrew%20Pull%20Requests/617/version=lion/console

Change-Id: Id50e0766777c7f5b28b144190a656c772a7fe01b
Reviewed-on: http://review.couchbase.org/27359
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Fix compile error with -Werror

Change-Id: Ifac2f0b1c06534bc85bad5fe2b2594c4eb208dda
Reviewed-on: http://review.couchbase.org/27387
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Allow builds with -DNDEBUG

Change-Id: Idfd9c7a7a057301c88f9aaec15d46dd86fbe5844
Reviewed-on: http://review.couchbase.org/27463
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Re-Indent CMakeLists

Change-Id: I39325290755d9f04244c828bb14ca2099bcd51e8
Reviewed-on: http://review.couchbase.org/27435
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Sort lists in CMakeLists.txt alphabetically

Change-Id: I39d1c8e280bc1d536ae0e9f36090d480ce327c45
Reviewed-on: http://review.couchbase.org/27531
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Include CMakeLists.txt into tarball

Change-Id: I1901182bd1a4ed975e116316775f213f48e715a4
Reviewed-on: http://review.couchbase.org/27536
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Disable MockUnitTest.testPurgedBody temporarily

Change-Id: Ic5f37892771efbb19266bb1b946a8ad5f24cfa3e
Reviewed-on: http://review.couchbase.org/27532
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Fix 'make distcheck' (homebrew acceptance test)

Change-Id: Ie61efb963f30a4548c97dfe63e261db36c2b66e2
Reviewed-on: http://review.couchbase.org/27533
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Implement circular list

Change-Id: I7edf4525508c125c3b3e7af9d76cc3cffe3cba46
Reviewed-on: http://review.couchbase.org/27515
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Implement select(2) plugin

Change-Id: Ia7ca11cba8e69da4a5d4fc7c1b09fb328f903287
Reviewed-on: http://review.couchbase.org/27516
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Rewrite test for CCBC-103 to use lcb_list_t

Change-Id: I9ad4023f50cd00d71e401d698da8610ae25f65a1
Reviewed-on: http://review.couchbase.org/27534
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Remove win32 plugin (replaced with select plugin)

Change-Id: Iace331c481cf39b6c548c169adc12b6a71509fcb
Reviewed-on: http://review.couchbase.org/27535
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Update packaging layout in response to select plugin

New select(2)-based plugin allows to ship highly portable IO plugin
with the core library (although not as performant on big numbers of
sockets/events, which is fit most of needs of network client).

Therefore we can simplify packaging layout. So that the user can
install completely working solution  with the following command

    # with headers to compile libcouchbase-based clients
    sudo apt-get install libcouchbase-dev
    sudo yum install libcouchbase-devel

    # without headers if in case of just binary depency
    sudo apt-get install libcouchbase2
    sudo yum install libcouchbase2

This patch is making following changes:

* Remove libcouchbase2-backend virtual package
  There no need in this package, because plugin packages selected more
  explicitly. This change doesn't influence on upgdade.

* Make libcouchbase2 package virtual. It will be alias to
  libcouchbase2-core

* Remove libcouchbase2-all virtual package, this package will just
  dissapear and and doesn't influence on upgrade

Change-Id: I090cea1ba1f6596f0eb92b10f6a4a0e7232235a8
Reviewed-on: http://review.couchbase.org/27539
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reformat the code

Change-Id: I20fea173d8ca6416c3046582362a452b41723a3e
Reviewed-on: http://review.couchbase.org/27565
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Add hashtable

This is a slightly modified version of Dustin's 'genhash'. The
modifications were primarily to fix up some build issues.

There's also a wrapper function to create common hash tables (i.e. one
which doesn't copy keys/values).

Change-Id: I7fdb9abac62fe92acc684e7c5afb6f445436b3b0
Reviewed-on: http://review.couchbase.org/27563
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Fix compilation for MSVC

"inline" is not supported in C89. (and make the prototypes
look like the rest of the project)

Change-Id: Ie64f3f012dcb75ee6b150d4d2d63f37f20921081
Reviewed-on: http://review.couchbase.org/27593
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
CCBC-228, CCBC-229: Fix get replica on negative replies

Change-Id: Ic3e03adb91852e7755bd05e8899d2caf017436e7
Reviewed-on: http://review.couchbase.org/27492
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
CCBC-213: Unify connection routines

The basic idea is to unify the structures for the connections used for
all our objects which depend on their own TCP connections.

The history here was largely borrowed from another rewrite

Change-Id: Iffa9e7b0d8787ae42731f2716d9dc4e9f8f8a314
Reviewed-on: http://review.couchbase.org/26462
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Abstract io notification requests

This basically wraps the update_event functions

Change-Id: I35f0b00ebf75e182cf4545a36f7b602ebf1b0cd2
Reviewed-on: http://review.couchbase.org/26473
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Unify read/write functions and refactor them from parsers

- Now our parsing code is sectioned out from our I/O functions. Parsers
  work with a ringbuffer (or similar) structure, and the I/O functions
  are unified in the 'io/readwrite.c' file.

Change-Id: I3e0c87372dc308b99f6aa2de3c96284cbf6b42f1
Reviewed-on: http://review.couchbase.org/26478
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>