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>  | 
