Bug 205377

Summary: [NEW PORT] databases/libcouchbase: Multithreaded noSQL database (client and library)
Product: Ports & Packages Reporter: gebhart
Component: Individual Port(s)Assignee: Kurt Jaeger <pi>
Status: Closed FIXED    
Severity: Affects Only Me CC: gebhart, pi, sergey.avseyev
Priority: --- Keywords: feature, patch-ready
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://github.com/couchbase/libcouchbase/
Attachments:
Description Flags
shar with port files
none
fixed .shar file
koobs: maintainer-approval-
Updated to libcouchbase-2.6.2, re-enabled DTrace probes, marked as unsafe for parallel make
none
Removed configure script invocation (just use CMake), do not compile tests (skips mock jar file downloading) none

Description gebhart 2015-12-17 15:23:47 UTC
Created attachment 164313 [details]
shar with port files

This is the C client library for Couchbase. It communicates with the cluster
and speaks the relevant protocols necessary to connect to the cluster and
execute data operations.

https://github.com/couchbase/libcouchbase/


The suitable perl module for this will follow soon.
Comment 1 Kurt Jaeger freebsd_committer freebsd_triage 2016-01-22 20:55:20 UTC
Please, can you check the submission with

portlint -AC

There are issues in the Makefile and the pkg-plist.
Comment 2 gebhart 2016-01-24 17:01:37 UTC
(In reply to Kurt Jaeger from comment #1)
Oh, ok. I only checked with portlint without any options.
I will fix that and upload a new shar.
Comment 3 gebhart 2016-01-25 05:11:56 UTC
Created attachment 166081 [details]
fixed .shar file

Ok, here is the updated .shar file.
This time it passes "portlint -AC" and also "port test ..."
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2016-01-25 11:53:10 UTC
Testbuilds@work
Comment 5 Kurt Jaeger freebsd_committer freebsd_triage 2016-01-25 12:24:26 UTC
Fails to build in poudriere due to dtrace issues (!)

See for example

http://people.freebsd.org/~pi/logs/databases__libcouchbase-10a-1453722509.txt

or the other files.

If we set LCB_BUILD_DTRACE OFF in CMakeLists, then it fails while downloading

http://packages.couchbase.com/clients/c/mock/CouchbaseMock-1.2.0-g85062e3.jar

which is not allowed while running in poudriere. The necessary distfiles
need to be downloaded in the fetch phase. See

http://people.freebsd.org/~pi/logs/databases__libcouchbase-10a-1453724462.txt

etc.
Comment 6 gebhart 2016-01-25 16:57:11 UTC
(In reply to Kurt Jaeger from comment #5)
Thank you. In the meantime I've also set up poudriere and can now better check it.
I thought it's only making a network connection to localhost for testing but obviously it does more :-(
I'll have a look at it.
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2016-01-25 18:12:33 UTC
Comment on attachment 166081 [details]
fixed .shar file

Fails QA
Comment 8 Sergey Avseyev 2016-08-05 09:40:14 UTC
Created attachment 173308 [details]
Updated to libcouchbase-2.6.2, re-enabled DTrace probes, marked as unsafe for parallel make

Please, do not disable DTrace in libcouchbase, the problem is that it is generated by custom perl-script which does not work with parallel build.

I will take ownership on this as I part of Couchbase SDK team, and my PHP extension is depending on libcouchbase.
Comment 9 Kurt Jaeger freebsd_committer freebsd_triage 2016-09-02 20:53:59 UTC
I test-built on 12a, 11a, 10i, 9.3a with poudriere. All builds
at the same place. See for example:

http://people.freebsd.org/~pi/logs/databases__libcouchbase-11a-1472848864.txt

Any ideas on how to make it build in poudriere ?

It builds on 12a outside of poudriere, btw.
Comment 10 Sergey Avseyev 2016-09-02 21:44:00 UTC
Created attachment 174326 [details]
Removed configure script invocation (just use CMake), do not compile tests (skips mock jar file downloading)
Comment 11 Kurt Jaeger freebsd_committer freebsd_triage 2016-09-03 06:23:10 UTC
Testbuilds are ok with small modification.
Comment 12 commit-hook freebsd_committer freebsd_triage 2016-09-03 06:25:29 UTC
A commit references this bug:

Author: pi
Date: Sat Sep  3 06:24:28 UTC 2016
New revision: 421281
URL: https://svnweb.freebsd.org/changeset/ports/421281

Log:
  New port: databases/libcouchbase

  This is the C client library for Couchbase. It communicates with the cluster
  and speaks the relevant protocols necessary to connect to the cluster and
  execute data operations.

  https://github.com/couchbase/libcouchbase/

  PR:		205377
  Submitted by:	gebhart@secnetix.de, Sergey Avseyev <sergey.avseyev@gmail.com>

Changes:
  head/databases/Makefile
  head/databases/libcouchbase/
  head/databases/libcouchbase/Makefile
  head/databases/libcouchbase/distinfo
  head/databases/libcouchbase/files/
  head/databases/libcouchbase/files/patch-CMakeLists.txt
  head/databases/libcouchbase/pkg-descr
  head/databases/libcouchbase/pkg-plist
Comment 13 Kurt Jaeger freebsd_committer freebsd_triage 2016-09-03 06:27:03 UTC
Committed, and thanks for your persistence!
Comment 14 commit-hook freebsd_committer freebsd_triage 2017-04-21 22:02:31 UTC
A commit references this bug:

Author: danfe
Date: Fri Apr 21 22:02:02 UTC 2017
New revision: 439130
URL: https://svnweb.freebsd.org/changeset/ports/439130

Log:
  Remove MAKE_JOBS_UNSAFE marker: it was added as part of r421281 upon the
  port's inception as of version 2.6.2, however, it was neither present in
  submitted PR nor explained in the original commit log by pi@.  So far my
  quick tests do not show evidence that it is parallel-build unsafe.

  We'll ask for forgiveness if it is indeed broken against -j X builds and
  reinstate MAKE_JOBS_UNSAFE, but with a proper explanation this time.

  While here, remove needless += from CMAKE_ARGS and place them at a better
  location within the Makefile.

  PR:	205377

Changes:
  head/databases/libcouchbase/Makefile