Package Details: libcouchbase 2.9.3-1

Git Clone URL: https://aur.archlinux.org/libcouchbase.git (read-only)
Package Base: libcouchbase
Description: The C library provides fast access to documents in the latest Couchbase Server
Upstream URL: https://github.com/couchbase/libcouchbase
Licenses: Apache
Submitter: None
Maintainer: Granitosaurus
Last Packager: Granitosaurus
Votes: 3
Popularity: 0.963745
First Submitted: 2012-04-09 19:26
Last Updated: 2018-08-14 10:47

Latest Comments

1 2 Next › Last »

alien2003 commented on 2018-07-19 11:10

[ 96%] Building C object plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/plugin-libuv.c.o In file included from /tmp/makepkg/libcouchbase/src/libcouchbase-2.8.4/plugins/io/libuv/plugin-internal.h:31, from /tmp/makepkg/libcouchbase/src/libcouchbase-2.8.4/plugins/io/libuv/plugin-libuv.c:18: /tmp/makepkg/libcouchbase/src/libcouchbase-2.8.4/plugins/io/libuv/libuv_compat.h: In function ‘uv_uv2syserr’: /tmp/makepkg/libcouchbase/src/libcouchbase-2.8.4/plugins/io/libuv/libuv_compat.h:200:7: error: ‘EFTYPE’ undeclared (first use in this function); did you mean ‘UV_EFTYPE’? UV_ERRNO_MAP(X) ^~~~~~~~~~~~ /tmp/makepkg/libcouchbase/src/libcouchbase-2.8.4/plugins/io/libuv/libuv_compat.h:199:63: note: in definition of macro ‘X’ #define X(name, desc) if (status == UV_##name) { return name; } ^~~~ /tmp/makepkg/libcouchbase/src/libcouchbase-2.8.4/plugins/io/libuv/libuv_compat.h:200:7: note: each undeclared identifier is reported only once for each function it appears in UV_ERRNO_MAP(X) ^~~~~~~~~~~~ /tmp/makepkg/libcouchbase/src/libcouchbase-2.8.4/plugins/io/libuv/libuv_compat.h:199:63: note: in definition of macro ‘X’ #define X(name, desc) if (status == UV_##name) { return name; } ^~~~ make[2]: [plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/build.make:63: plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/plugin-libuv.c.o] Error 1 make[1]: [CMakeFiles/Makefile2:1832: plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 96%] Linking CXX shared library ../../lib/libgtest.so [ 96%] Built target gtest make: [Makefile:163: all] Error 2

Granitosaurus commented on 2017-11-28 21:09

Updated to 2.8.3 and change source to github as couchbase moved it there themselves. There's very little actual change to pkgbuild itself, but if someone could confirm it works it would be great!

chjgcn commented on 2017-07-21 06:40

This is my patch for version 2.7.6 , it changes 'cbc' to 'couchbase', and 'cbc-xxx' to 'couchbase-xxx':

--- CMakeLists.txt
+++ CMakeLists.txt
@@ -20,6 +20,8 @@
### BEGIN CONFIGURABLES ###
# These variables can be modified as needed

+# Allow duplicate custom targets to be created
+SET_PROPERTY(GLOBAL PROPERTY ALLOW_DUPLICATE_CUSTOM_TARGETS 1)
# Couchbase mock path to download
SET(COUCHBASE_MOCK_VERSION CouchbaseMock-LATEST.jar)
# Maven repository where ${COUCHBASE_MOCK_VERSION} is to be found
--- doc/cbc.markdown
+++ doc/cbc.markdown
@@ -1,43 +1,43 @@
-# cbc(1) - Couchbase Client Commandline Utility
+# couchbase(1) - Couchbase Client Commandline Utility

## SYNOPSIS

-`cbc` _COMMAND_ [_OPTIONS_]<br>
-`cbc help`<br>
-`cbc version`<br>
-`cbc cat` _KEYS_ ... [_OPTIONS_]<br>
-`cbc create` _KEY_ _-V VALUE_ [_OPTIONS_]<br>
-`cbc create` _KEY_ [_OPTIONS_]<br>
-`cbc cp` _FILES_ ... [_OPTIONS_]<br>
-`cbc incr` _KEY_ [_OPTIONS_]<br>
-`cbc decr` _KEY_ [_OPTIONS_]<br>
-`cbc rm` _KEY_ [_OPTIONS_]<br>
-`cbc hash` _KEY_ [_OPTIONS_]<br>
-`cbc stats` _KEYS_ ... [_OPTIONS_]<br>
-`cbc observe` _KEYS_ ... [_OPTIONS_]<br>
-`cbc view` _VIEWPATH_ [_OPTIONS_]<br>
-`cbc lock` _KEY_ [_OPTIONS_]<br>
-`cbc unlock` _KEY_ _CAS_ [_OPTIONS_]<br>
-`cbc admin` _-P PASSWORD_ _RESTAPI_ [_OPTIONS_]<br>
-`cbc bucket-create` _-P PASSWORD_ _NAME_ [_OPTIONS_]<br>
-`cbc bucket-delete` _-P PASSWORD_ _NAME_ [_OPTIONS_]<br>
-`cbc bucket-flush` _NAME_ [_OPTIONS_]<br>
-`cbc connstr` _SPEC_<br>
-`cbc n1ql` _QUERY_ ... [_OPTIONS_]<br>
+`couchbase` _COMMAND_ [_OPTIONS_]<br>
+`couchbase help`<br>
+`couchbase version`<br>
+`couchbase cat` _KEYS_ ... [_OPTIONS_]<br>
+`couchbase create` _KEY_ _-V VALUE_ [_OPTIONS_]<br>
+`couchbase create` _KEY_ [_OPTIONS_]<br>
+`couchbase cp` _FILES_ ... [_OPTIONS_]<br>
+`couchbase incr` _KEY_ [_OPTIONS_]<br>
+`couchbase decr` _KEY_ [_OPTIONS_]<br>
+`couchbase rm` _KEY_ [_OPTIONS_]<br>
+`couchbase hash` _KEY_ [_OPTIONS_]<br>
+`couchbase stats` _KEYS_ ... [_OPTIONS_]<br>
+`couchbase observe` _KEYS_ ... [_OPTIONS_]<br>
+`couchbase view` _VIEWPATH_ [_OPTIONS_]<br>
+`couchbase lock` _KEY_ [_OPTIONS_]<br>
+`couchbase unlock` _KEY_ _CAS_ [_OPTIONS_]<br>
+`couchbase admin` _-P PASSWORD_ _RESTAPI_ [_OPTIONS_]<br>
+`couchbase bucket-create` _-P PASSWORD_ _NAME_ [_OPTIONS_]<br>
+`couchbase bucket-delete` _-P PASSWORD_ _NAME_ [_OPTIONS_]<br>
+`couchbase bucket-flush` _NAME_ [_OPTIONS_]<br>
+`couchbase connstr` _SPEC_<br>
+`couchbase n1ql` _QUERY_ ... [_OPTIONS_]<br>

## DESCRIPTION

-`cbc` is a utility for communicating with a Couchbase cluster.
+`couchbase` is a utility for communicating with a Couchbase cluster.

-`cbc` should be invoked with the command name first and then a series of command
-options appropriate for the specific command. `cbc help` will always show the full
+`couchbase` should be invoked with the command name first and then a series of command
+options appropriate for the specific command. `couchbase help` will always show the full
list of available commands.

<a name="OPTIONS"></a>
## OPTIONS

Options may be read either from the command line, or from a configuration file
-(see cbcrc(4)):
+(see couchbaserc(4)):

The following common options may be applied to most of the commands

@@ -119,7 +119,7 @@

## COMMANDS

-The following commands are supported by `cbc`. Unless otherwise specified, each
+The following commands are supported by `couchbase`. Unless otherwise specified, each
command supports all of the options above.

### cat
@@ -294,7 +294,7 @@
### version

Display information about the underlying version of _libcouchbase_ to which the
-`cbc` binary is linked.
+`couchbase` binary is linked.

### verbosity

@@ -323,7 +323,7 @@
This command accepts one positional argument which is the _path_ (relative to the
bucket) to execute. Thus to query the `brewery_beers` view in the `beer` design
document within the `beer-sample` bucket one would do:
- cbc view -U couchbase://localhost/beer-sample _design/beer/_view/brewery_beers
+ couchbase view -U couchbase://localhost/beer-sample _design/beer/_view/brewery_beers

In addition to the [OPTIONS](#OPTIONS) specified above, the following options are recognized:

@@ -358,7 +358,7 @@

Execute an administrative request against the management REST API.
Note that in order to perform an administrative API you will need to provide
-_administrative_ credentials to `cbc admin`. This means the username and password
+_administrative_ credentials to `couchbase admin`. This means the username and password
used to log into the administration console.

This command accepts a single positional argument which is the REST API endpoint
@@ -477,76 +477,76 @@

Run against a bucket (`a_bucket`) on a cluster on a remote host:

- cbc cat key -U couchbase://192.168.33.101/a_bucket
+ couchbase cat key -U couchbase://192.168.33.101/a_bucket

Connect to an SSL cluster at `secure.net`. The certificate for the cluster is
stored locally at `/home/couchbase/couchbase_cert.pem`:

- cbc cat key -U couchbases://secure.net/topsecret_bucket?certpath=/home/couchbase/couchbase_cert.pem
+ couchbase cat key -U couchbases://secure.net/topsecret_bucket?certpath=/home/couchbase/couchbase_cert.pem

Connect to an SSL cluster at `secure.net`, ignoring certificate verification.
This is insecure but handy for testing:

- cbc cat key -U couchbases://secure.net/topsecret_bucket?ssl=no_verify
+ couchbase cat key -U couchbases://secure.net/topsecret_bucket?ssl=no_verify

Connect to a password protected bucket (`protected`) on a remote host:

- cbc cat key -U couchbase://remote.host.net/protected -P-
+ couchbase cat key -U couchbase://remote.host.net/protected -P-
Bucket password:
...

Connect to a password protected bucket, specifying the password on the
command line (INSECURE, but useful for testing dummy environments)

- cbc cat key -U couchbase://remote.host.net/protected -P t0ps3cr3t
+ couchbase cat key -U couchbase://remote.host.net/protected -P t0ps3cr3t

Connect to a bucket running on a cluster with a custom REST API port

- cbc cat key -U http://localhost:9000/default
+ couchbase cat key -U http://localhost:9000/default

Connec to bucket running on a cluster with a custom memcached port

- cbc cat key -U couchbase://localhost:12000/default
+ couchbase cat key -U couchbase://localhost:12000/default

Connect to a *memcached* (http://memcached.org)
cluster using the binary protocol. A vanilla memcached cluster is not the same
as a memcached bucket residing within a couchbase cluster (use the normal
`couchbase://` scheme for that):

- cbc cat key -U memcached://host1,host2,host3,host4
+ couchbase cat key -U memcached://host1,host2,host3,host4


Connect to a cluster using the HTTP protocol for bootstrap, and set the
operation timeout to 5 seconds

- cbc cat key -U couchbase://host/bucket -Dbootstrap_on=http -Doperation_timeout=5
+ couchbase cat key -U couchbase://host/bucket -Dbootstrap_on=http -Doperation_timeout=5


### OPERATION EXAMPLES

Store a file to the cluster:

- $ cbc cp mystuff.txt
+ $ couchbase cp mystuff.txt
mystuff.txt Stored. CAS=0xe15dbe22efc1e00


Retrieve persistence/replication information about an item (note that _Status_
is a set of bits):

- $ cbc observe mystuff.txt
+ $ couchbase observe mystuff.txt
mystuff [Master] Status=0x80, CAS=0x0


Display mapping information about keys:

- $cbc hash foo bar baz
+ $couchbase hash foo bar baz
foo: [vBucket=115, Index=3] Server: cbnode3:11210, CouchAPI: http://cbnode3:8092/default
bar: [vBucket=767, Index=0] Server: cbnode1:11210, CouchAPI: http://cbnode1:8092/default
baz: [vBucket=36, Index=2] Server: cbnode2:11210, CouchAPI: http://cbnode2:8092/default

Create a bucket:

- $ cbc bucket-create --bucket-type=memcached --ram-quota=100 --password=letmein -u Administrator -P 123456 mybucket
+ $ couchbase bucket-create --bucket-type=memcached --ram-quota=100 --password=letmein -u Administrator -P 123456 mybucket
Requesting /pools/default/buckets
202
Cache-Control: no-cache
@@ -558,7 +558,7 @@

Flush a bucket:

- $ cbc bucket-flush default
+ $ couchbase bucket-flush default
Requesting /pools/default/buckets/default/controller/doFlush


@@ -571,7 +571,7 @@

Delete a bucket:

- $ cbc bucket-delete mybucket -P123456
+ $ couchbase bucket-delete mybucket -P123456
Requesting /pools/default/buckets/mybucket
200
Cache-Control: no-cache
@@ -580,16 +580,16 @@
Pragma: no-cache
Server: Couchbase Server

-Use `cbc stats` to determine the minimum and maximum timeouts for a lock operation:
+Use `couchbase stats` to determine the minimum and maximum timeouts for a lock operation:

- $ cbc stats | grep ep_getl
+ $ couchbase stats | grep ep_getl
localhost:11210 ep_getl_default_timeout 15
localhost:11210 ep_getl_max_timeout 30


Create a design document:

- $ echo '{"views":{"all":{"map":"function(doc,meta){emit(meta.id,null)}"}}}' | cbc view -X PUT _design/blog
+ $ echo '{"views":{"all":{"map":"function(doc,meta){emit(meta.id,null)}"}}}' | couchbase view -X PUT _design/blog
201
Cache-Control: must-revalidate
Content-Length: 32
@@ -602,7 +602,7 @@

Query a view:

- $ cbc view _design/blog/_view/all?limit=5
+ $ couchbase view _design/blog/_view/all?limit=5
200
Cache-Control: must-revalidate
Content-Type: application/json
@@ -621,12 +621,12 @@

Issue a N1QL query:

- $ cbc n1ql 'SELECT * FROM `travel-sample` WHERE type="airport" AND city=$city' -Qscan_consistency=request_plus -A'$city=\"Reno\"'
+ $ couchbase n1ql 'SELECT * FROM `travel-sample` WHERE type="airport" AND city=$city' -Qscan_consistency=request_plus -A'$city=\"Reno\"'

## FILES

-cbc(1) and cbc-pillowfight(1) may also read options from cbcrc(4). The default
-path for `cbcrc` is `$HOME/.cbcrc`, but may be overridden by setting the
+couchbase(1) and couchbase-pillowfight(1) may also read options from couchbaserc(4). The default
+path for `couchbaserc` is `$HOME/.couchbaserc`, but may be overridden by setting the
`CBC_CONFIG` evironment variable to an alternate path.

## BUGS
@@ -637,10 +637,10 @@

## SEE ALSO

-cbc-pillowfight(1), cbcrc(4)
+couchbase-pillowfight(1), couchbaserc(4)


## History

-The cbc command first appeared in version 0.3.0 of the library. It was significantly
+The couchbase command first appeared in version 0.3.0 of the library. It was significantly
rewritten in version 2.4.0
--- doc/cbc-n1qlback.markdown
+++ doc/cbc-n1qlback.markdown
@@ -1,15 +1,15 @@
-# cbc-n1qlback(1) - Stress Test for Couchbase Query (N1QL)
+# couchbase-n1qlback(1) - Stress Test for Couchbase Query (N1QL)

## SYNOPSIS

-`cbc-n1qlback` -f QUERYFILE [_OPTIONS_]
+`couchbase-n1qlback` -f QUERYFILE [_OPTIONS_]

## DESCRIPTION

-`cbc-n1qlback` creates a specified number of threads each executing a set
+`couchbase-n1qlback` creates a specified number of threads each executing a set
of user defined queries.

-`cbc-n1qlback` requires that it be passed the path to a file containing
+`couchbase-n1qlback` requires that it be passed the path to a file containing
the queries to execute; one per line. The query should be in the format of
the actual HTTP POST body (in JSON format) to be sent to the server.
For simple queries, only the `statement` field needs to be set:
@@ -37,7 +37,7 @@
concurrently. Each thread is assigned its own client object.


-The following options control how `cbc-n1qlback` connects to the cluster
+The following options control how `couchbase-n1qlback` connects to the cluster

* `-U`, `--spec`=_SPEC_:
A string describing the cluster to connect to. The string is in a URI-like syntax,
@@ -123,8 +123,8 @@
The following will create a file with 3 queries and 5 threads alternating
between them. It also creates indexes on the `travel-sample` bucket

- cbc n1ql -U couchbase://192.168.72.101/a_bucket 'CREATE INDEX ix_name ON `travel-sample`(name)'
- cbc n1ql -U couchbase://192.168.72.101/a_bucket 'CREATE INDEX ix_country ON `travel-sample`(country)'
+ couchbase n1ql -U couchbase://192.168.72.101/a_bucket 'CREATE INDEX ix_name ON `travel-sample`(name)'
+ couchbase n1ql -U couchbase://192.168.72.101/a_bucket 'CREATE INDEX ix_country ON `travel-sample`(country)'

cat queries.txt <<EOF
{"statement":"SELECT country FROM `travel-sample` WHERE `travel-sample`.country = \"United States\""}
@@ -132,7 +132,7 @@
{"statement":"SELECT country, COUNT(country) FROM `travel-sample` GROUP BY country"}
EOF

- cbc-n1qlback -U couchbase://192.168.72.101/a_bucket -t 5 -f queries.txt
+ couchbase-n1qlback -U couchbase://192.168.72.101/a_bucket -t 5 -f queries.txt

## BUGS

@@ -140,8 +140,8 @@

## SEE ALSO

-cbc(1), cbc-pillowfight(1), cbcrc(4)
+couchbase(1), couchbase-pillowfight(1), couchbaserc(4)

## HISTORY

-The `cbc-n1qlback` tool was first introduced in libcouchbase 2.4.10
+The `couchbase-n1qlback` tool was first introduced in libcouchbase 2.4.10
--- doc/cbc-pillowfight.markdown
+++ doc/cbc-pillowfight.markdown
@@ -1,12 +1,12 @@
-# cbc-pillowfight(1) - Stress Test for Couchbase Client and Cluster
+# couchbase-pillowfight(1) - Stress Test for Couchbase Client and Cluster

## SYNOPSIS

-`cbc-pillowfight` [_OPTIONS_]
+`couchbase-pillowfight` [_OPTIONS_]

## DESCRIPTION

-`cbc-pillowfight` creates a specified number of threads each looping and
+`couchbase-pillowfight` creates a specified number of threads each looping and
performing get and set operations within the cluster.

The stress test operates in the following order
@@ -49,7 +49,7 @@
## OPTIONS

Options may be read either from the command line, or from a configuration file
-(see cbcrc(4)):
+(see couchbaserc(4)):

The following options control workload generation:

@@ -75,7 +75,7 @@
only mutations while a value of 0 means only retrievals.

* `-n`, `--no-population`:
- By default `cbc-pillowfight` will load all the items (see `--num-items`) into
+ By default `couchbase-pillowfight` will load all the items (see `--num-items`) into
the cluster and then begin performing the normal workload. Specifying this
option bypasses this stage. Useful if the items have already been loaded in a
previous run.
@@ -232,52 +232,52 @@

Run against a bucket (`a_bucket`) on a cluster on a remote host:

- cbc cat key -U couchbase://192.168.33.101/a_bucket
+ couchbase cat key -U couchbase://192.168.33.101/a_bucket

Connect to an SSL cluster at `secure.net`. The certificate for the cluster is
stored locally at `/home/couchbase/couchbase_cert.pem`:

- cbc cat key -U couchbases://secure.net/topsecret_bucket?certpath=/home/couchbase/couchbase_cert.pem
+ couchbase cat key -U couchbases://secure.net/topsecret_bucket?certpath=/home/couchbase/couchbase_cert.pem

Connect to an SSL cluster at `secure.net`, ignoring certificate verification.
This is insecure but handy for testing:

- cbc cat key -U couchbases://secure.net/topsecret_bucket?ssl=no_verify
+ couchbase cat key -U couchbases://secure.net/topsecret_bucket?ssl=no_verify

Connect to a password protected bucket (`protected`) on a remote host:

- cbc cat key -U couchbase://remote.host.net/protected -P -
+ couchbase cat key -U couchbase://remote.host.net/protected -P -
Bucket password:
...

Connect to a password protected bucket, specifying the password on the
command line (INSECURE, but useful for testing dummy environments)

- cbc cat key -U couchbase://remote.host.net/protected -P t0ps3cr3t
+ couchbase cat key -U couchbase://remote.host.net/protected -P t0ps3cr3t

Connect to a bucket running on a cluster with a custom REST API port

- cbc cat key -U http://localhost:9000/default
+ couchbase cat key -U http://localhost:9000/default

Connec to bucket running on a cluster with a custom memcached port

- cbc cat key -U couchbase://localhost:12000/default
+ couchbase cat key -U couchbase://localhost:12000/default

Connect to a *memcached* (http://memcached.org)
cluster using the binary protocol. A vanilla memcached cluster is not the same
as a memcached bucket residing within a couchbase cluster (use the normal
`couchbase://` scheme for that):

- cbc cat key -U memcached://host1,host2,host3,host4
+ couchbase cat key -U memcached://host1,host2,host3,host4

Connect to an SSL cluster at `secure.net`:

- cbc-pillowfight -U couchbases://secure.net/topsecret_bucket
+ couchbase-pillowfight -U couchbases://secure.net/topsecret_bucket


Run against a bucket (`a_bucket`) on a cluster on a remote host:

- cbc-pillowfight -U couchbase://192.168.33.101/a_bucket
+ couchbase-pillowfight -U couchbase://192.168.33.101/a_bucket

### BENCHMARK EXAMPLES

@@ -286,19 +286,19 @@

Run with 20 threads/instances, each doing one operation at a time:

- cbc-pillowfight -t 20 -B 1
+ couchbase-pillowfight -t 20 -B 1

Run 100 iterations of 2MB item sizes, using a dataset of 50 items

- cbc-pillowfight -M $(1024*1024) -m $(1024*1024) -c 100 -I 50
+ couchbase-pillowfight -M $(1024*1024) -m $(1024*1024) -c 100 -I 50

Use JSON documents of 100k each

- cbc-pillowfight --json -m 100000 -M 100000
+ couchbase-pillowfight --json -m 100000 -M 100000

Stress-test sub-document mutations

- cbc-pillowfight --json --subdoc --set-pct 100
+ couchbase-pillowfight --json --subdoc --set-pct 100


## TODO
@@ -312,8 +312,8 @@

## SEE ALSO

-cbc(1), cbcrc(4)
+couchbase(1), couchbaserc(4)

## HISTORY

-The `cbc-pillowfight` tool was first introduced in libcouchbase 2.0.7
+The `couchbase-pillowfight` tool was first introduced in libcouchbase 2.0.7
--- doc/cbcrc.markdown
+++ doc/cbcrc.markdown
@@ -1,15 +1,15 @@
-# cbcrc(4) - Configuration file for Couchbase command line tools
+# couchbaserc(4) - Configuration file for Couchbase command line tools

## SYNOPSIS

-`~/.cbcrc`
+`~/.couchbaserc`

## DESCRIPTION

-cbcrc is an optional configuration file used to provide default values for the
-cbc(1) and cbc-pillowfight(1) utilities. It should be placed in
+couchbaserc is an optional configuration file used to provide default values for the
+couchbase(1) and couchbase-pillowfight(1) utilities. It should be placed in

-Each entry in the cbcrc file is a line with a key-value pair in the following
+Each entry in the couchbaserc file is a line with a key-value pair in the following
form:

# optional comments
@@ -39,11 +39,11 @@

## NOTES

-* You can generate such a file from the cbc(1) itself using the `write-config`
+* You can generate such a file from the couchbase(1) itself using the `write-config`
subcommand

* Most other options can be specified within the connection string

## SEE ALSO

-cbc(1), cbc-pillowfight(1)
+couchbase(1), couchbase-pillowfight(1)
--- doc/genman.sh
+++ doc/genman.sh
@@ -6,16 +6,18 @@
OUTDIR=man
SRCDIR=.

-ronn --pipe --roff $SRCDIR/cbc.markdown > $OUTDIR/cbc.1
-ronn --pipe --roff $SRCDIR/cbc-pillowfight.markdown > $OUTDIR/cbc-pillowfight.1
-ronn --pipe --roff $SRCDIR/cbc-n1qlback.markdown > $OUTDIR/cbc-n1qlback.1
-ronn --pipe --roff $SRCDIR/cbcrc.markdown > $OUTDIR/cbcrc.4
+rm -f $OUTDIR/*
+
+ronn --pipe --roff $SRCDIR/cbc.markdown > $OUTDIR/couchbase.1
+ronn --pipe --roff $SRCDIR/cbc-pillowfight.markdown > $OUTDIR/couchbase-pillowfight.1
+ronn --pipe --roff $SRCDIR/cbc-n1qlback.markdown > $OUTDIR/couchbase-n1qlback.1
+ronn --pipe --roff $SRCDIR/cbcrc.markdown > $OUTDIR/couchbaserc.4

MANLINKS="cat cp create observe flush hash lock unlock rm stats \
version verbosity view admin bucket-create bucket-delete connstr \
role-list user-list user-upsert user-delete"

for link in $MANLINKS; do
- dest="$OUTDIR/cbc-${link}.1"
- echo ".so man1/cbc.1" > "$dest"
+ dest="$OUTDIR/couchbase-${link}.1"
+ echo ".so man1/couchbase.1" > "$dest"
done
--- tools/cbc.cc
+++ tools/cbc.cc
@@ -201,7 +201,7 @@
unsigned flags_u = 0;
sscanf(value.c_str(), "%u", &flags_u);
flags_u = htonl(flags_u);
- fprintf(stdout, "\t%u (cbc: converted via htonl)", flags_u);
+ fprintf(stdout, "\t%u (couchbase: converted via htonl)", flags_u);
} else {
fprintf(stdout, "\t%s", value.c_str());
}
@@ -753,7 +753,7 @@
if (err != LCB_SUCCESS) {
changeset = "UNKNOWN";
}
- fprintf(stderr, "cbc:\n");
+ fprintf(stderr, "couchbase:\n");
fprintf(stderr, " Runtime: Version=%s, Changeset=%s\n",
lcb_get_version(NULL), changeset);
fprintf(stderr, " Headers: Version=%s, Changeset=%s\n",
@@ -1476,7 +1476,7 @@
HANDLER_DESCRIPTION("Show help")
protected:
void run() {
- fprintf(stderr, "Usage: cbc <command> [options]\n");
+ fprintf(stderr, "Usage: couchbase <command> [options]\n");
fprintf(stderr, "command may be:\n");
for (const char ** cur = optionsOrder; *cur; cur++) {
const Handler *handler = handlers[*cur];
@@ -1575,14 +1575,14 @@
cmdname = basename(argv[0]);
size_t dashpos;

- if (cmdname.find("cbc") != 0) {
+ if (cmdname.find("couchbase") != 0) {
cmdname.clear();
- // Doesn't start with cbc
+ // Doesn't start with couchbase
return;
}

if ((dashpos = cmdname.find('-')) != string::npos &&
- cmdname.find("cbc") != string::npos &&
+ cmdname.find("couchbase") != string::npos &&
dashpos+1 < cmdname.size()) {

// Get the actual command name
@@ -1601,16 +1601,16 @@
#ifdef _POSIX_VERSION
vector<char *> args;
string exePath(argv[0]);
- size_t cbc_pos = exePath.find("cbc");
+ size_t cbc_pos = exePath.find("couchbase");

if (cbc_pos == string::npos) {
throw BadArg("Couldn't invoke " + name);
}

- exePath.replace(cbc_pos, 3, name);
+ exePath.replace(cbc_pos, 9, name);
args.push_back((char*)exePath.c_str());

- // { "cbc", "name" }
+ // { "couchbase", "name" }
argv += 2; argc -= 2;
for (int ii = 0; ii < argc; ii++) {
args.push_back(argv[ii]);
@@ -1638,9 +1638,9 @@
// Wrap external binaries immediately
if (argc >= 2) {
if (strcmp(argv[1], "pillowfight") == 0) {
- wrapExternalBinary(argc, argv, "cbc-pillowfight");
+ wrapExternalBinary(argc, argv, "couchbase-pillowfight");
} else if (strcmp(argv[1], "n1qlback") == 0) {
- wrapExternalBinary(argc, argv, "cbc-n1qlback");
+ wrapExternalBinary(argc, argv, "couchbase-n1qlback");
}
}

--- tools/cbc-pillowfight.cc
+++ tools/cbc-pillowfight.cc
@@ -757,7 +757,7 @@
int exit_code = EXIT_SUCCESS;
setup_sigint_handler();

- Parser parser("cbc-pillowfight");
+ Parser parser("couchbase-pillowfight");
config.addOptions(parser);
try {
parser.parse(argc, argv, false);
--- tools/CMakeLists.txt
+++ tools/CMakeLists.txt
@@ -3,32 +3,33 @@
FILE(GLOB T_COMMONSRC common/*.cc)
ADD_LIBRARY(lcbtools OBJECT ${T_COMMONSRC})

-ADD_EXECUTABLE(cbc cbc.cc
+ADD_EXECUTABLE(couchbase-tools cbc.cc
$<TARGET_OBJECTS:lcbtools> $<TARGET_OBJECTS:cliopts> $<TARGET_OBJECTS:lcb_jsoncpp>)
-TARGET_LINK_LIBRARIES(cbc couchbase)
+TARGET_LINK_LIBRARIES(couchbase-tools couchbase)
+SET_TARGET_PROPERTIES(couchbase-tools PROPERTIES OUTPUT_NAME couchbase)

-ADD_EXECUTABLE(cbc-pillowfight cbc-pillowfight.cc
+ADD_EXECUTABLE(couchbase-pillowfight cbc-pillowfight.cc
$<TARGET_OBJECTS:lcbtools> $<TARGET_OBJECTS:cliopts> $<TARGET_OBJECTS:lcb_jsoncpp>)

-TARGET_LINK_LIBRARIES(cbc-pillowfight couchbase)
+TARGET_LINK_LIBRARIES(couchbase-pillowfight couchbase)

-ADD_EXECUTABLE(cbc-n1qlback cbc-n1qlback.cc
+ADD_EXECUTABLE(couchbase-n1qlback cbc-n1qlback.cc
$<TARGET_OBJECTS:lcbtools> $<TARGET_OBJECTS:cliopts>)
-TARGET_LINK_LIBRARIES(cbc-n1qlback couchbase)
+TARGET_LINK_LIBRARIES(couchbase-n1qlback couchbase)

-INSTALL(TARGETS cbc cbc-pillowfight cbc-n1qlback
+INSTALL(TARGETS couchbase-tools couchbase-pillowfight couchbase-n1qlback
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

# Set this before INSTALL_PDBS in order to set the correct output name
IF(MSVC)
- SET_TARGET_PROPERTIES(cbc PROPERTIES DEBUG_OUTPUT_NAME cbc_d)
- SET_TARGET_PROPERTIES(cbc-pillowfight PROPERTIES DEBUG_OUTPUT_NAME cbc-pillowfight_d)
- SET_TARGET_PROPERTIES(cbc-n1qlback PROPERTIES DEBUG_OUTPUT_NAME cbc-n1qlback_d)
+ SET_TARGET_PROPERTIES(couchbase-tools PROPERTIES DEBUG_OUTPUT_NAME cbc_d)
+ SET_TARGET_PROPERTIES(couchbase-pillowfight PROPERTIES DEBUG_OUTPUT_NAME cbc-pillowfight_d)
+ SET_TARGET_PROPERTIES(couchbase-n1qlback PROPERTIES DEBUG_OUTPUT_NAME cbc-n1qlback_d)
ENDIF()

-INSTALL_PDBS(cbc)
-INSTALL_PDBS(cbc-pillowfight)
-INSTALL_PDBS(cbc-n1qlback)
+INSTALL_PDBS(couchbase-tools)
+INSTALL_PDBS(couchbase-pillowfight)
+INSTALL_PDBS(couchbase-n1qlback)

SET_TARGET_PROPERTIES(lcbtools PROPERTIES COMPILE_FLAGS "${LCB_CORE_CXXFLAGS}")
SET_SOURCE_FILES_PROPERTIES(cbc.cc cbc-pillowfight.cc cbc-n1qlback.cc PROPERTIES COMPILE_FLAGS "${LCB_CORE_CXXFLAGS}")
@@ -41,11 +42,11 @@
touch role-list user-list user-upsert user-delete)

FOREACH(subcmd IN ITEMS ${CBC_SUBCOMMANDS})
- ADD_CUSTOM_COMMAND(TARGET cbc POST_BUILD
- COMMAND ln -sf cbc "cbc-${subcmd}"
+ ADD_CUSTOM_COMMAND(TARGET couchbase-tools POST_BUILD
+ COMMAND ln -sf couchbase "couchbase-${subcmd}"
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- COMMENT "Linking cbc -> cbc-${subcmd}")
- INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cbc-${subcmd}
+ COMMENT "Linking couchbase -> couchbase-${subcmd}")
+ INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/couchbase-${subcmd}
DESTINATION ${CMAKE_INSTALL_BINDIR})
ENDFOREACH()
ENDIF()
--- tools/common/options.cc
+++ tools/common/options.cc
@@ -246,7 +246,7 @@

time_t now = time(NULL);
const char *timestr = ctime(&now);
- f << "# Generated by cbc at " << string(timestr) << endl;
+ f << "# Generated by couchbase at " << string(timestr) << endl;

if (!connstr.empty()) {
// Contains bucket, user
--- tools/common/options.h
+++ tools/common/options.h
@@ -9,7 +9,7 @@
#include <sstream>
#include "contrib/cliopts/cliopts.h"

-#define CBC_CONFIG_FILENAME ".cbcrc"
+#define CBC_CONFIG_FILENAME ".couchbaserc"
#define CBC_WIN32_APPDIR "Couchbase CBC Utility"

namespace cbc {

srm commented on 2017-06-27 08:19

Can you update it to 2.7.5 please, we can't use pecl install couchbase without the version 2.7.5

avsej commented on 2017-03-17 10:06

This package should not use github tag, as it is not claimed by maintainers as release-ready tarball.

README of the project explicitly refers to Installation page of the official documentation, where it lists pre-built binaries as well as release tarballs:
https://developer.couchbase.com/server/other-products/release-notes-archives/c-sdk

In short, use http://packages.couchbase.com/clients/c/libcouchbase-2.7.2.tar.gz, where "2.7.2" is current version of the library

rafaelcapucho commented on 2016-10-12 06:14

After install the 2.6.2-1 version with yaourt I'm getting errors to download the driver from pypi package.

The python package isn't finding libcouchbase, returning:
"Couchbase Python SDK requires libcouchbase 2.5.8 or greater"

Error: http://pastebin.com/raw/XYc0HKNz

Compiling libcouchbase manually from github I was able to install the driver from pypi properly.

nvllsvm commented on 2015-12-07 23:23

When modifying the package for 2.5.4, you should include the following patch. There's an upstream bug which prevents the LCB_VERSION from being correctly propagated to configuration.h when building from something other than the git repo. Without the fix, attempting to build the couchbase Python module on PyPI will fail.

https://gist.github.com/nvllsvm/f9b97cca4001ff2df42b

chjgcn commented on 2015-09-02 01:48

# PKGBUILD
# Generate html documention and install then in /usr/share/doc/libcouchbase .

pkgname=libcouchbase
pkgver=2.5.2
pkgrel=1
pkgdesc="The C library provides fast access to documents in the latest Couchbase Server"
arch=('i686' 'x86_64')
url="https://github.com/couchbase/${pkgname}"
license=('Apache')
options=('!emptydirs' '!strip')
depends=('libevent' 'openssl')
optdepends=('libev')
makedepends=('cmake' 'doxygen' 'ruby-ronn')
source=(
"${pkgname}-${pkgver}.tar.gz::https://github.com/couchbase/${pkgname}/archive/${pkgver}.tar.gz"
"${pkgname}-fix_name_clash.patch"
)
sha256sums=(
'4a092eee4366c7a115f8bac8e9f4e2a10db52f5407041184346b9673f672e89a'
'2b6c494ff09c620060c5ffc31e2664608906731282d9f6749d5e22b6ba223394'
)

build() {
cd "${srcdir}/${pkgname}-${pkgver}"
patch -p0 -i "${srcdir}/${pkgname}-fix_name_clash.patch"

cd "${srcdir}/${pkgname}-${pkgver}"
doxygen doc/Doxyfile
cd "${srcdir}/${pkgname}-${pkgver}/doc"
./genman.sh

cd "${srcdir}/${pkgname}-${pkgver}"
cmake -DCMAKE_INSTALL_PREFIX=/usr -DLCB_NO_MOCK=1 CMakeLists.txt
make || return 1
}

package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
install -dm755 "${pkgdir}/usr/share/doc/libcouchbase"
cp -a "${srcdir}/${pkgname}-${pkgver}/doc/html" "${pkgdir}/usr/share/doc/libcouchbase/"
install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}


# libcouchbase-fix_name_clash.patch
# Make all binary files and manuals start with 'couchbase-' .

--- tools/CMakeLists.txt 2015-05-14 01:25:30.000000000 +0800
+++ tools/CMakeLists.txt 2015-08-18 17:30:05.388233578 +0800
@@ -3,32 +3,32 @@
FILE(GLOB T_COMMONSRC common/*.cc)
ADD_LIBRARY(lcbtools OBJECT ${T_COMMONSRC})

-ADD_EXECUTABLE(cbc cbc.cc
+ADD_EXECUTABLE(couchbase-cbc cbc.cc
$<TARGET_OBJECTS:lcbtools> $<TARGET_OBJECTS:cliopts>)
-TARGET_LINK_LIBRARIES(cbc couchbase)
+TARGET_LINK_LIBRARIES(couchbase-cbc couchbase)

-ADD_EXECUTABLE(cbc-pillowfight cbc-pillowfight.cc
+ADD_EXECUTABLE(couchbase-pillowfight cbc-pillowfight.cc
$<TARGET_OBJECTS:lcbtools> $<TARGET_OBJECTS:cliopts>)

-TARGET_LINK_LIBRARIES(cbc-pillowfight couchbase)
+TARGET_LINK_LIBRARIES(couchbase-pillowfight couchbase)

-ADD_EXECUTABLE(cbc-n1qlback cbc-n1qlback.cc
+ADD_EXECUTABLE(couchbase-n1qlback cbc-n1qlback.cc
$<TARGET_OBJECTS:lcbtools> $<TARGET_OBJECTS:cliopts>)
-TARGET_LINK_LIBRARIES(cbc-n1qlback couchbase)
+TARGET_LINK_LIBRARIES(couchbase-n1qlback couchbase)

-INSTALL(TARGETS cbc cbc-pillowfight cbc-n1qlback
+INSTALL(TARGETS couchbase-cbc couchbase-pillowfight couchbase-n1qlback
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

# Set this before INSTALL_PDBS in order to set the correct output name
IF(MSVC)
- SET_TARGET_PROPERTIES(cbc PROPERTIES DEBUG_OUTPUT_NAME cbc_d)
- SET_TARGET_PROPERTIES(cbc-pillowfight PROPERTIES DEBUG_OUTPUT_NAME cbc-pillowfight_d)
- SET_TARGET_PROPERTIES(cbc-n1qlback PROPERTIES DEBUG_OUTPUT_NAME cbc-n1qlback_d)
+ SET_TARGET_PROPERTIES(couchbase-cbc PROPERTIES DEBUG_OUTPUT_NAME cbc_d)
+ SET_TARGET_PROPERTIES(couchbase-pillowfight PROPERTIES DEBUG_OUTPUT_NAME cbc-pillowfight_d)
+ SET_TARGET_PROPERTIES(couchbase-n1qlback PROPERTIES DEBUG_OUTPUT_NAME cbc-n1qlback_d)
ENDIF()

-INSTALL_PDBS(cbc)
-INSTALL_PDBS(cbc-pillowfight)
-INSTALL_PDBS(cbc-n1qlback)
+INSTALL_PDBS(couchbase-cbc)
+INSTALL_PDBS(couchbase-pillowfight)
+INSTALL_PDBS(couchbase-n1qlback)

SET_TARGET_PROPERTIES(lcbtools PROPERTIES COMPILE_FLAGS "${LCB_CORE_CXXFLAGS}")
SET_SOURCE_FILES_PROPERTIES(cbc.cc cbc-pillowfight.cc cbc-n1qlback.cc PROPERTIES COMPILE_FLAGS "${LCB_CORE_CXXFLAGS}")
@@ -40,11 +40,11 @@
bucket-create bucket-delete bucket-flush connstr write-config strerror)

FOREACH(subcmd IN ITEMS ${CBC_SUBCOMMANDS})
- ADD_CUSTOM_COMMAND(TARGET cbc POST_BUILD
- COMMAND ln -sf cbc "cbc-${subcmd}"
+ ADD_CUSTOM_COMMAND(TARGET couchbase-cbc POST_BUILD
+ COMMAND ln -sf couchbase-cbc "couchbase-${subcmd}"
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- COMMENT "Linking cbc -> cbc-${subcmd}")
- INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cbc-${subcmd}
+ COMMENT "Linking couchbase-cbc -> couchbase-${subcmd}")
+ INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/couchbase-${subcmd}
DESTINATION ${CMAKE_INSTALL_BINDIR})
ENDFOREACH()
ENDIF()
--- doc/genman.sh 2015-05-14 01:25:29.000000000 +0800
+++ doc/genman.sh 2015-08-18 20:12:53.028322427 +0800
@@ -6,15 +6,17 @@
OUTDIR=man
SRCDIR=.

-ronn --pipe --roff $SRCDIR/cbc.markdown > $OUTDIR/cbc.1
-ronn --pipe --roff $SRCDIR/cbc-pillowfight.markdown > $OUTDIR/cbc-pillowfight.1
-ronn --pipe --roff $SRCDIR/cbc-n1qlback.markdown > $OUTDIR/cbc-n1qlback.1
-ronn --pipe --roff $SRCDIR/cbcrc.markdown > $OUTDIR/cbcrc.4
+rm -f $OUTDIR/*

-MANLINKS="cat cp create observe flush hash lock unlock rm stats"
+ronn --pipe --roff $SRCDIR/cbc.markdown > $OUTDIR/couchbase-cbc.1
+ronn --pipe --roff $SRCDIR/cbc-pillowfight.markdown > $OUTDIR/couchbase-pillowfight.1
+ronn --pipe --roff $SRCDIR/cbc-n1qlback.markdown > $OUTDIR/couchbase-n1qlback.1
+ronn --pipe --roff $SRCDIR/cbcrc.markdown > $OUTDIR/couchbase-cbcrc.4
+
+MANLINKS="cat cp create observe flush hash lock unlock rm stats dsn"
MANLINKS="$MANLINKS version verbosity view admin bucket-create bucket-delete connstr"

for link in $MANLINKS; do
- dest="$OUTDIR/cbc-${link}.1"
- echo ".so man1/cbc.1" > "$dest"
+ dest="$OUTDIR/couchbase-${link}.1"
+ echo ".so man1/couchbase-cbc.1" > "$dest"
done

chjgcn commented on 2015-09-02 01:36

Version 2.5.2 was released.

efyx commented on 2015-02-13 09:13

Update to 2.4.6 (2.4.4 does not build on my system)

# Maintainer: Gabriel Garrido <kainlite@gmail.com>
# Contributors: Lev Lybin <lev.lybin@gmail.com>, Kiswono <kiswono@gmail.com>

pkgname=libcouchbase
pkgver=2.4.6
pkgrel=1
pkgdesc="The C library provides fast access to documents in Couchbase Server 2.0."
arch=('i686' 'x86_64')
url="https://github.com/couchbase/libcouchbase"
license=('Apache')
options=('!emptydirs' '!strip')
depends=('libevent')
source=("https://github.com/couchbase/libcouchbase/archive/${pkgver}.tar.gz")
md5sums=('40e266ba8e21fa2037b1de8df90f0734')

build() {
tar -xzf ${pkgver}.tar.gz -C "${srcdir}/libcouchbase-${pkgver}"
cd "${srcdir}/libcouchbase-${pkgver}"
cmake CMakeLists.txt
make || return 1
}

package() {
cd "${srcdir}/libcouchbase-${pkgver}"
make DESTDIR="${pkgdir}" install
install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE "{$pkgdir}/usr/share/licenses/{$pkgname}/LICENSE"
}