diff options
-rw-r--r-- | 0001-enforce-system-crypto-policies.patch | 26 | ||||
-rw-r--r-- | 0002-do-not-install-plugins-into-libdir.patch | 62 | ||||
-rw-r--r-- | 0003-fix-pkgconfig-paths.patch | 28 | ||||
-rw-r--r-- | compat_reports/2.8.1_to_2.8.2/compat_report.html | 591 | ||||
-rw-r--r-- | libcouchbase.spec | 123 | ||||
-rw-r--r-- | libcouchbase.xml | 2 |
6 files changed, 813 insertions, 19 deletions
diff --git a/0001-enforce-system-crypto-policies.patch b/0001-enforce-system-crypto-policies.patch new file mode 100644 index 0000000..32a5833 --- /dev/null +++ b/0001-enforce-system-crypto-policies.patch @@ -0,0 +1,26 @@ +From bc5b9aecd78fe638f50dbe104fc83a67d87c0615 Mon Sep 17 00:00:00 2001 +From: Sergey Avseyev <sergey.avseyev@gmail.com> +Date: Tue, 26 Sep 2017 19:26:02 +0300 +Subject: [PATCH] Enforce system crypto policies + +--- + src/ssl/ssl_common.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/ssl/ssl_common.c b/src/ssl/ssl_common.c +index b752b5d2..8a615cfd 100644 +--- a/src/ssl/ssl_common.c ++++ b/src/ssl/ssl_common.c +@@ -277,8 +277,7 @@ lcbio_ssl_new(const char *cafile, int noverify, lcb_error_t *errp, + goto GT_ERR; + + } +- SSL_CTX_set_cipher_list(ret->ctx, "DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:SEED-SHA:RC2-CBC-MD5:RC4-SHA:RC4-MD5:RC4-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-RC4-MD5:EXP-RC4-MD5"); +-// SSL_CTX_set_cipher_list(ret->ctx, "!NULL"); ++ SSL_CTX_set_cipher_list(ret->ctx, "PROFILE=SYSTEM"); + + if (cafile) { + if (!SSL_CTX_load_verify_locations(ret->ctx, cafile, NULL)) { +-- +2.13.5 + diff --git a/0002-do-not-install-plugins-into-libdir.patch b/0002-do-not-install-plugins-into-libdir.patch new file mode 100644 index 0000000..e487861 --- /dev/null +++ b/0002-do-not-install-plugins-into-libdir.patch @@ -0,0 +1,62 @@ +From 1816689ab59fb5eb120d044a9f55f67f373ab376 Mon Sep 17 00:00:00 2001 +From: Sergey Avseyev <sergey.avseyev@gmail.com> +Date: Wed, 27 Sep 2017 02:04:00 +0300 +Subject: [PATCH] Do not install plugins into libdir + +--- + cmake/config-cmake.h.in | 2 +- + plugins/io/libev/CMakeLists.txt | 2 +- + plugins/io/libevent/CMakeLists.txt | 2 +- + plugins/io/libuv/CMakeLists.txt | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/cmake/config-cmake.h.in b/cmake/config-cmake.h.in +index 81128091..f97d8bf5 100644 +--- a/cmake/config-cmake.h.in ++++ b/cmake/config-cmake.h.in +@@ -56,7 +56,7 @@ + + #cmakedefine LCB_USE_HDR_HISTOGRAM + +-#define LCB_LIBDIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" ++#define LCB_LIBDIR "${CMAKE_INSTALL_LIBDIR}/libcouchbase" + + #include "config_static.h" + #endif +diff --git a/plugins/io/libev/CMakeLists.txt b/plugins/io/libev/CMakeLists.txt +index 6eaa62f6..1ad13736 100644 +--- a/plugins/io/libev/CMakeLists.txt ++++ b/plugins/io/libev/CMakeLists.txt +@@ -26,4 +26,4 @@ ENDIF() + + INSTALL(TARGETS + couchbase_libev +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/libcouchbase") +diff --git a/plugins/io/libevent/CMakeLists.txt b/plugins/io/libevent/CMakeLists.txt +index 1b96a9e3..95ff434b 100644 +--- a/plugins/io/libevent/CMakeLists.txt ++++ b/plugins/io/libevent/CMakeLists.txt +@@ -22,7 +22,7 @@ IF(LCB_EMBED_PLUGIN_LIBEVENT) + SET(LCB_LINK_SPEC "${LCB_LINKS_SPEC} ${LIBEVENT_LIBRARIES}") + ELSE() + ADD_LIBRARY(couchbase_libevent SHARED plugin-libevent.c) +- INSTALL(TARGETS couchbase_libevent LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ INSTALL(TARGETS couchbase_libevent LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/libcouchbase") + TARGET_LINK_LIBRARIES(couchbase_libevent ${LIBEVENT_LIBRARIES}) + ENDIF() + +diff --git a/plugins/io/libuv/CMakeLists.txt b/plugins/io/libuv/CMakeLists.txt +index 2492a835..86f31687 100644 +--- a/plugins/io/libuv/CMakeLists.txt ++++ b/plugins/io/libuv/CMakeLists.txt +@@ -38,5 +38,5 @@ INCLUDE_DIRECTORIES(AFTER ${LIBUV_INCLUDE_DIR}) + ADD_DEFINITIONS(-DLIBCOUCHBASE_INTERNAL=1) + INSTALL(TARGETS + couchbase_libuv +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/libcouchbase" + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +-- +2.13.5 + diff --git a/0003-fix-pkgconfig-paths.patch b/0003-fix-pkgconfig-paths.patch new file mode 100644 index 0000000..29e3985 --- /dev/null +++ b/0003-fix-pkgconfig-paths.patch @@ -0,0 +1,28 @@ +From 8355c1d68e8825e4aa006418ccd91eadbac6c02a Mon Sep 17 00:00:00 2001 +From: Sergey Avseyev <sergey.avseyev@gmail.com> +Date: Wed, 27 Sep 2017 12:30:44 +0300 +Subject: [PATCH] Fix pkgconfig paths + +Change-Id: I8459fc3d602266dd7bb9791f05f235da9308c562 +--- + packaging/libcouchbase.pc.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/packaging/libcouchbase.pc.in b/packaging/libcouchbase.pc.in +index 94820a65..c7171fcf 100644 +--- a/packaging/libcouchbase.pc.in ++++ b/packaging/libcouchbase.pc.in +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ +-exec_prefix=${prefix}/@CMAKE_INSTALL_BINDIR@ +-includedir=${prefix}/include +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++exec_prefix=@CMAKE_INSTALL_PREFIX@ ++includedir=@CMAKE_INSTALL_PREFIX@/include ++libdir=@CMAKE_INSTALL_LIBDIR@ + + Name: libcouchbase @LCB_VERSION@ + Description: Couchbase client library +-- +2.13.5 + diff --git a/compat_reports/2.8.1_to_2.8.2/compat_report.html b/compat_reports/2.8.1_to_2.8.2/compat_report.html new file mode 100644 index 0000000..d7253af --- /dev/null +++ b/compat_reports/2.8.1_to_2.8.2/compat_report.html @@ -0,0 +1,591 @@ +<!-- kind:binary;verdict:compatible;affected:0;added:0;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:2.2 --> +<!-- kind:source;verdict:compatible;affected:0;added:0;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:3;tool_version:2.2 --> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="keywords" content="libcouchbase, compatibility, API, ABI, report" /> +<meta name="description" content="API/ABI compatibility report for the libcouchbase library between 2.8.1 and 2.8.2 versions" /> +<title>libcouchbase: 2.8.1 to 2.8.2 compatibility report</title> +<style type="text/css"> +body { + font-family:Arial, sans-serif; + background-color:White; + color:Black; +} +hr { + color:Black; + background-color:Black; + height:1px; + border:0; +} +h1 { + margin-bottom:0px; + padding-bottom:0px; + font-size:1.625em; +} +h2 { + margin-bottom:0px; + padding-bottom:0px; + font-size:1.25em; + white-space:nowrap; +} +span.section { + font-weight:bold; + cursor:pointer; + color:#003E69; + white-space:nowrap; + margin-left:0.3125em; +} +span.new_sign { + font-weight:bold; + margin-left:1.65em; + color:#003E69; +} +span.new_sign_lbl { + margin-left:3em; + font-size:1em; + color:Black; +} +span:hover.section { + color:#336699; +} +span.sect_aff { + cursor:pointer; + padding-left:1.55em; + font-size:0.875em; + color:#cc3300; +} +span.sect_info { + cursor:pointer; + padding-left:1.55em; + font-size:0.875em; + color:Black; +} +span.ext { + font-weight:normal; +} +span.h_name { + color:#cc3300; + font-size:0.875em; + font-weight:bold; +} +div.h_list, div.lib_list { + font-size:0.94em; + padding-left:0.4em; +} +span.ns { + color:#408080; + font-size:0.94em; +} +span.lib_name { + color:Green; + font-size:0.875em; + font-weight:bold; +} +span.iname { + font-weight:bold; + color:#003E69; + margin-left:0.3125em; +} +span.iname_b { + font-weight:bold; +} +span.iname_a { + color:#333333; + font-weight:bold; + font-size:0.94em; +} +span.sym_p { + font-weight:normal; + white-space:normal; +} +span.sym_pd { + white-space:normal; +} +span.sym_p span, span.sym_pd span { + white-space:nowrap; +} +div.affect { + padding-left:1em; + padding-bottom:10px; + font-size:0.87em; + font-style:italic; + line-height:0.9em; +} +div.affected { + padding-left:1.9em; + padding-top:10px; +} +table.ptable { + border-collapse:collapse; + border:1px outset black; + margin-left:0.95em; + margin-top:3px; + margin-bottom:3px; + width:56.25em; +} +table.ptable td { + border:1px solid gray; + padding:3px; + font-size:0.875em; + text-align:left; + vertical-align:top; + max-width:28em; + word-wrap:break-word; +} +table.ptable th.pn { + width:2%; +} +table.ptable th.chg { + width:47%; +} +table.vtable { + border-collapse:collapse; + border:1px outset black; + margin-left:1.9em; + margin-top:0.7em; +} +table.vtable td { + border:1px solid gray; + padding:3px; + font-size:0.875em; + vertical-align:top; + max-width:450px; + word-wrap:break-word; +} +table.ptable th, table.vtable th { + background-color:#eeeeee; + font-weight:bold; + color:#333333; + font-family:Verdana, Arial; + font-size:0.875em; + border:1px solid gray; + text-align:center; + vertical-align:top; + white-space:nowrap; + padding:3px; +} +table.summary { + border-collapse:collapse; + border:1px outset black; +} +table.summary th { + background-color:#eeeeee; + font-weight:normal; + text-align:left; + font-size:0.94em; + white-space:nowrap; + border:1px inset gray; + padding:3px; +} +table.summary td { + text-align:right; + white-space:nowrap; + border:1px inset gray; + padding:3px 5px 3px 10px; +} +span.mngl { + padding-left:1em; + font-size:0.875em; + cursor:text; + color:#444444; + font-weight:bold; +} +span.pleft { + padding-left:2.5em; +} +span.sym_ver { + color:#333333; + white-space:nowrap; + font-family:"DejaVu Sans Mono", Monospace; +} +span.attr { + color:#333333; + font-weight:normal; +} +span.color_p { + font-style:italic; + color:Brown; +} +span.p { + font-style:italic; +} +span.fp { + font-style:italic; + background-color:#DCDCDC; +} +span.ttype { + font-weight:normal; +} +span.nowrap { + white-space:nowrap; +} +span.value { + font-weight:bold; +} +.passed { + background-color:#CCFFCC; + font-weight:normal; +} +.warning { + background-color:#F4F4AF; + font-weight:normal; +} +.failed { + background-color:#FFCCCC; + font-weight:normal; +} +.new { + background-color:#C6DEFF; + font-weight:normal; +} +.compatible { + background-color:#CCFFCC; + font-weight:normal; +} +.almost_compatible { + background-color:#FFDAA3; + font-weight:normal; +} +.incompatible { + background-color:#FFCCCC; + font-weight:normal; +} +.gray { + background-color:#DCDCDC; + font-weight:normal; +} +.top_ref { + font-size:0.69em; +} +.footer { + font-size:0.75em; +} + +.tabset { + float:left; +} +a.tab { + border:1px solid Black; + float:left; + margin:0px 5px -1px 0px; + padding:3px 5px 3px 5px; + position:relative; + font-size:0.875em; + background-color:#DDD; + text-decoration:none; + color:Black; +} +a.disabled:hover +{ + color:Black; + background:#EEE; +} +a.active:hover +{ + color:Black; + background:White; +} +a.active { + border-bottom-color:White; + background-color:White; +} +div.tab { + border-top:1px solid Black; + padding:0px; + width:100%; + clear:both; +} +</style> +<script type="text/javascript" language="JavaScript"> +<!-- +function showContent(header, id) +{ + e = document.getElementById(id); + if(e.style.display == 'none') + { + e.style.display = 'block'; + e.style.visibility = 'visible'; + header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]"); + } + else + { + e.style.display = 'none'; + e.style.visibility = 'hidden'; + header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]"); + } +} +function initTabs() +{ + var url = window.location.href; + if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1) + { + var tab1 = document.getElementById('BinaryID'); + var tab2 = document.getElementById('SourceID'); + tab1.className='tab disabled'; + tab2.className='tab active'; + } + var sets = document.getElementsByTagName('div'); + for (var i = 0; i < sets.length; i++) + { + if (sets[i].className.indexOf('tabset') != -1) + { + var tabs = []; + var links = sets[i].getElementsByTagName('a'); + for (var j = 0; j < links.length; j++) + { + if (links[j].className.indexOf('tab') != -1) + { + tabs.push(links[j]); + links[j].tabs = tabs; + var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1)); + //reset all tabs on start + if (tab) + { + if (links[j].className.indexOf('active')!=-1) { + tab.style.display = 'block'; + } + else { + tab.style.display = 'none'; + } + } + links[j].onclick = function() + { + var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1)); + if (tab) + { + //reset all tabs before change + for (var k = 0; k < this.tabs.length; k++) + { + document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none'; + this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled'); + } + this.className = 'tab active'; + tab.style.display = 'block'; + // window.location.hash = this.id.replace('ID', ''); + return false; + } + } + } + } + } + } + if(url.indexOf('#')!=-1) { + location.href=location.href; + } +} +if (window.addEventListener) window.addEventListener('load', initTabs, false); +else if (window.attachEvent) window.attachEvent('onload', initTabs); +--> +</script> +</head> +<body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libcouchbase</span> library between <span style='color:Red;'>2.8.1</span> and <span style='color:Red;'>2.8.2</span> versions on <span style='color:Blue;'>x86_64</span></h1> + + <br/> + <div class='tabset'> + <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a> + <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a> + </div><div id='BinaryTab' class='tab'> +<h2>Test Info</h2><hr/> +<table class='summary'> +<tr><th>Library Name</th><td>libcouchbase</td></tr> +<tr><th>Version #1</th><td>2.8.1</td></tr> +<tr><th>Version #2</th><td>2.8.2</td></tr> +<tr><th>Arch</th><td>x86_64</td></tr> +<tr><th>GCC Version</th><td>6.4.1</td></tr> +<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr> +</table> +<h2>Test Results</h2><hr/> +<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>29</a></td></tr> +<tr><th>Total Libraries</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> +<tr><th>Total Symbols / Types</th><td>225 / 399</td></tr> +<tr><th>Compatibility</th> +<td class='compatible'>100%</td> +</tr> +</table> +<h2>Problem Summary</h2><hr/> +<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr> +<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr> +<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr> +<tr><td>Medium</td><td>0</td></tr> +<tr><td>Low</td><td>0</td></tr> +<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> +<tr><td>Medium</td><td>0</td></tr> +<tr><td>Low</td><td>0</td></tr> +<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> +</table> + +<a name='Headers'></a><h2>Header Files <span class='gray'> 29 </span></h2><hr/> +<div class='h_list'> +_cxxwrap.h<br/> +api-legacy.h<br/> +api3.h<br/> +assert.h<br/> +auth.h<br/> +cbft.h<br/> +cntl-private.h<br/> +cntl.h<br/> +configuration.h<br/> +couchbase.h<br/> +deprecated.h<br/> +http.h<br/> +iops.h<br/> +ixmgmt.h<br/> +kvbuf.h<br/> +libev_io_opts.h<br/> +libevent_io_opts.h<br/> +libuv_compat.h<br/> +libuv_io_opts.h<br/> +n1ql.h<br/> +pktfwd.h<br/> +plugin-internal.h<br/> +select_io_opts.h<br/> +subdoc.h<br/> +sysdefs.h<br/> +vbucket.h<br/> +views.h<br/> +visibility.h<br/> +wsaerr.h<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Libs'></a><h2>Libraries <span class='gray'> 1 </span></h2><hr/> +<div class='lib_list'> +libcouchbase.so.2.0.49<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<br/><br/><br/></div><div id='SourceTab' class='tab'> +<h2>Test Info</h2><hr/> +<table class='summary'> +<tr><th>Library Name</th><td>libcouchbase</td></tr> +<tr><th>Version #1</th><td>2.8.1</td></tr> +<tr><th>Version #2</th><td>2.8.2</td></tr> +<tr><th>Arch</th><td>x86_64</td></tr> +<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr> +</table> +<h2>Test Results</h2><hr/> +<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>29</a></td></tr> +<tr><th>Total Libraries</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> +<tr><th>Total Symbols / Types</th><td>434 / 406</td></tr> +<tr><th>Compatibility</th> +<td class='compatible'>100%</td> +</tr> +</table> +<h2>Problem Summary</h2><hr/> +<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr> +<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr> +<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr> +<tr><td>Medium</td><td>0</td></tr> +<tr><td>Low</td><td>0</td></tr> +<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> +<tr><td>Medium</td><td>0</td></tr> +<tr><td>Low</td><td>0</td></tr> +<tr><th>Problems with<br/>Constants</th><td>Low</td><td class='warning'><a href='#Constant_Source_Problems_Low' style='color:Blue;'>3</a></td></tr> +</table> + +<a name='Low_Risk_Source_Problems'></a><a name='Constant_Source_Problems_Low'></a> +<h2>Problems with Constants, Low Severity <span class='warning'> 3 </span></h2><hr/> +<span class='h_name'>configuration.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_1')"> +<span class='ext'>[+]</span> LCB_VERSION</span> +<br/> +<div id="c_1" style="display:none;"> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>The value of constant <b>LCB_VERSION</b> has been changed from <b>0x020801</b> to <b>0x020802</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> + +<span class="section" onclick="javascript:showContent(this, 'c_2')"> +<span class='ext'>[+]</span> LCB_VERSION_CHANGESET</span> +<br/> +<div id="c_2" style="display:none;"> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>The value of constant <b>LCB_VERSION_CHANGESET</b> has been changed from <b>"5a66d8607605bb23e66ed7ae9e7196fe45be6856"</b> to <b>"5b8d57a3a0051f43792b14db541880a2638b357a"</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> + +<span class="section" onclick="javascript:showContent(this, 'c_3')"> +<span class='ext'>[+]</span> LCB_VERSION_STRING</span> +<br/> +<div id="c_3" style="display:none;"> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>The value of constant <b>LCB_VERSION_STRING</b> has been changed from <b>"2.8.1"</b> to <b>"2.8.2"</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Headers'></a><h2>Header Files <span class='gray'> 29 </span></h2><hr/> +<div class='h_list'> +_cxxwrap.h<br/> +api-legacy.h<br/> +api3.h<br/> +assert.h<br/> +auth.h<br/> +cbft.h<br/> +cntl-private.h<br/> +cntl.h<br/> +configuration.h<br/> +couchbase.h<br/> +deprecated.h<br/> +http.h<br/> +iops.h<br/> +ixmgmt.h<br/> +kvbuf.h<br/> +libev_io_opts.h<br/> +libevent_io_opts.h<br/> +libuv_compat.h<br/> +libuv_io_opts.h<br/> +n1ql.h<br/> +pktfwd.h<br/> +plugin-internal.h<br/> +select_io_opts.h<br/> +subdoc.h<br/> +sysdefs.h<br/> +vbucket.h<br/> +views.h<br/> +visibility.h<br/> +wsaerr.h<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Libs'></a><h2>Libraries <span class='gray'> 1 </span></h2><hr/> +<div class='lib_list'> +libcouchbase.so.2.0.49<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<br/><br/><br/></div><hr/> +<div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.2  </i> +</div> +<br/> + +</body></html> diff --git a/libcouchbase.spec b/libcouchbase.spec index 0681c77..144298a 100644 --- a/libcouchbase.spec +++ b/libcouchbase.spec @@ -7,13 +7,28 @@ # Please, preserve the changelog entries # -# Tests require some need which are downloaded during make +%if 0%{?fedora} >= 25 || 0%{?rhel} >= 8 +%global with_tests 0%{!?_without_tests:1} +%else +# check-select-sock-tests hangs (btw, libevent backend is mandatory) %global with_tests 0%{?_with_tests:1} +%endif + +# Dtrace breaks parallel build - not enabled in Fedora package +%global with_dtrace 0 + +%if 0%{?fedora} >= 22 || 0%{?rhel} >= 7 +%global with_uv 1 +%else +%global with_uv 0 +%endif -%global with_dtrace 1 +# Notices: +# snappy supported but not enabled by default (upstream) +# hdrhistrogram suppoort seems broken, so not enabled Name: libcouchbase -Version: 2.8.1 +Version: 2.8.2 Release: 1%{?dist} Summary: Couchbase client library Group: System Environment/Libraries @@ -21,16 +36,30 @@ License: ASL 2.0 URL: http://www.couchbase.com/communities/c/getting-started Source0: http://packages.couchbase.com/clients/c/%{name}-%{version}.tar.gz +Patch0: 0001-enforce-system-crypto-policies.patch +Patch1: 0002-do-not-install-plugins-into-libdir.patch +Patch2: 0003-fix-pkgconfig-paths.patch + BuildRequires: libtool BuildRequires: openssl-devel -BuildRequires: cyrus-sasl-devel BuildRequires: cmake >= 2.8.9 BuildRequires: pkgconfig(libevent) >= 2.0.20 BuildRequires: libev-devel >= 3 +%if %{with_uv} +BuildRequires: pkgconfig(libuv) >= 1 +%endif %if %{with_dtrace} BuildRequires: systemtap-sdt-devel >= 1.8 %endif +%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 +Recommends: %{name}-libevent%{_isa} = %{version}-%{release} +Suggests: %{name}-libev%{_isa} = %{version}-%{release} +Suggests: %{name}-tools%{_isa} = %{version}-%{release} +%else +Requires: %{name}-libevent%{_isa} = %{version}-%{release} +%endif + %description The C library provides fast access to documents in Couchbase Server 2.0. @@ -53,10 +82,40 @@ The %{name}-devel package contains libraries and header files for developing applications that use %{name}. +%package libevent +Summary: Couchbase client library - libevent IO back-end +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description libevent +This package provides libevent back-end for libcouchbase. + + +%package libev +Summary: Couchbase client library - libev IO back-end +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description libev +This package provides libev back-end for libcouchbase. + + +%if %{with_uv} +%package libuv +Summary: Couchbase client library - libuv IO back-end +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description libuv +This package provides libuv back-end for libcouchbase. +%endif + + %package tools Summary: Couchbase tools Group: Applications/System Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libevent%{?_isa} = %{version}-%{release} %description tools The %{name}-tools package contains some command line tools to manage @@ -65,12 +124,26 @@ a Couchbase Server. %prep %setup -q +%patch0 -p1 -b .crypto +%patch1 -p1 -b .plug +%patch2 -p1 -b .pkgc %build %cmake \ - -DLCB_NO_TESTS=1 \ - -DLCB_BUILD_LIBUV=OFF + -DLCB_BUILD_LIBEVENT=ON \ + -DLCB_BUILD_LIBEV=ON \ +%if %{with_uv} + -DLCB_BUILD_LIBUV=ON \ +%else + -DLCB_BUILD_LIBUV=OFF \ +%endif +%if %{with_dtrace} + -DLCB_BUILD_DTRACE=ON \ +%else + -DLCB_BUILD_DTRACE=OFF \ +%endif + -DLCB_NO_MOCK=1 make %{?_smp_mflags} V=1 @@ -78,32 +151,38 @@ make %{?_smp_mflags} V=1 %install make install DESTDIR=%{buildroot} -# Remove uneeded files -rm -f %{buildroot}%{_libdir}/*.la - %check %if %{with_tests} -make check +make test %else -: check disabled, missing '--with tests' option +: check disabled %endif +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + + %files %{!?_licensedir:%global license %%doc} +%doc README.markdown RELEASE_NOTES.markdown %license LICENSE %{_libdir}/%{name}.so.2* -# Backends -%{_libdir}/%{name}_libevent.so -%{_libdir}/%{name}_libev.so + +%files libevent +%{_libdir}/%{name}/%{name}_libevent.so + +%files libev +%{_libdir}/%{name}/%{name}_libev.so + +%if %{with_uv} +%files libuv +%{_libdir}/%{name}/%{name}_libuv.so +%endif %files devel -%doc RELEASE_NOTES.markdown %{_includedir}/%{name} -#{_mandir}/man3/libcouch* -#{_mandir}/man3/lcb* -#{_mandir}/man5/lcb* %{_libdir}/%{name}.so %{_libdir}/pkgconfig/%{name}.pc @@ -114,6 +193,14 @@ make check %changelog +* Thu Nov 2 2017 Remi Collet <remi@remirepo.net> - 2.8.2-1 +- update to 2.8.2 +- pull patches and other changes from Fedora +- add libuv backend +- move backends in optional sub-packages +- enable upstream test suite on F25+ +- disable dtrace + * Wed Sep 20 2017 Remi Collet <remi@remirepo.net> - 2.8.1-1 - update to 2.8.1 diff --git a/libcouchbase.xml b/libcouchbase.xml index 52511b4..ae38777 100644 --- a/libcouchbase.xml +++ b/libcouchbase.xml @@ -9,7 +9,7 @@ <version> <!-- Version of the library --> -2.8.1 +2.8.2 </version> <headers> |