Mailinglist Archive: opensuse-commit (1903 mails)

< Previous Next >
commit zchunk for openSUSE:Factory
Hello community,

here is the log from the commit of package zchunk for openSUSE:Factory checked
in at 2019-04-04 11:59:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zchunk (Old)
and /work/SRC/openSUSE:Factory/.zchunk.new.3908 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "zchunk"

Thu Apr 4 11:59:18 2019 rev:6 rq:690189 version:1.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/zchunk/zchunk.changes 2019-01-25
22:45:19.439083323 +0100
+++ /work/SRC/openSUSE:Factory/.zchunk.new.3908/zchunk.changes 2019-04-04
11:59:25.929230939 +0200
@@ -1,0 +2,7 @@
+Sun Mar 31 15:01:07 UTC 2019 - Neal Gompa <ngompa13@xxxxxxxxx>
+
+- Update to version 1.1.0
+ + Fix multipart boundary bug when dealing with lighttpd servers
+ + Optimize chunk matching while downloading, significantly reducing CPU usage
+
+-------------------------------------------------------------------

Old:
----
zchunk-1.0.3.tar.gz

New:
----
zchunk-1.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ zchunk.spec ++++++
--- /var/tmp/diff_new_pack.UhOLGv/_old 2019-04-04 11:59:27.813232150 +0200
+++ /var/tmp/diff_new_pack.UhOLGv/_new 2019-04-04 11:59:27.829232160 +0200
@@ -22,7 +22,7 @@
%global devname libzck-devel

Name: zchunk
-Version: 1.0.3
+Version: 1.1.0
Release: 0
Summary: Compressed file format that allows easy deltas
License: BSD-2-Clause AND MIT

++++++ zchunk-1.0.3.tar.gz -> zchunk-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zchunk-1.0.3/meson.build new/zchunk-1.1.0/meson.build
--- old/zchunk-1.0.3/meson.build 2019-01-24 21:43:19.000000000 +0100
+++ new/zchunk-1.1.0/meson.build 2019-03-23 23:22:50.000000000 +0100
@@ -1,5 +1,5 @@
project('zck', 'c',
- version : '1.0.3',
+ version : '1.1.0',
meson_version : '>=0.44.0',
default_options : ['c_std=gnu99'])

diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zchunk-1.0.3/src/lib/dl/dl.c
new/zchunk-1.1.0/src/lib/dl/dl.c
--- old/zchunk-1.0.3/src/lib/dl/dl.c 2019-01-24 21:43:19.000000000 +0100
+++ new/zchunk-1.1.0/src/lib/dl/dl.c 2019-03-23 23:22:50.000000000 +0100
@@ -191,34 +191,34 @@
if(dl->tgt_check && !set_chunk_valid(dl))
return false;

- for(zckChunk *chk = dl->range->index.first; chk; chk = chk->next) {
- if(dl->dl_chunk_data == chk->start) {
- int count = 0;
- for(zckChunk *tgt_chk = dl->zck->index.first; tgt_chk;
- tgt_chk = tgt_chk->next, count++) {
- if(tgt_chk->valid == 1)
- continue;
- if(chk->comp_length == tgt_chk->comp_length &&
- memcmp(chk->digest, tgt_chk->digest,
- chk->digest_size) == 0) {
- dl->tgt_check = tgt_chk;
- dl->tgt_number = count;
- if(!hash_init(dl->zck, &(dl->zck->check_chunk_hash),
- &(dl->zck->chunk_hash_type)))
- return 0;
- dl->write_in_chunk = chk->comp_length;
- if(!seek_data(dl->zck,
- dl->zck->data_offset + tgt_chk->start,
- SEEK_SET))
- return 0;
- chk = NULL;
- tgt_chk = NULL;
- break;
- }
- }
- }
- if(!chk)
+ if(dl->range->index.current == NULL)
+ dl->range->index.current = dl->range->index.first;
+ for(zckChunk *chk = dl->range->index.current; chk; chk = chk->next) {
+ if(dl->dl_chunk_data != chk->start)
+ continue;
+
+ int count = 0;
+ zckChunk *tgt_chk = chk->src;
+ if(tgt_chk->valid == 1)
+ continue;
+ if(chk->comp_length == tgt_chk->comp_length &&
+ memcmp(chk->digest, tgt_chk->digest,
+ chk->digest_size) == 0) {
+ dl->tgt_check = tgt_chk;
+ dl->tgt_number = count;
+ if(!hash_init(dl->zck, &(dl->zck->check_chunk_hash),
+ &(dl->zck->chunk_hash_type)))
+ return 0;
+ dl->write_in_chunk = chk->comp_length;
+ if(!seek_data(dl->zck,
+ dl->zck->data_offset + tgt_chk->start,
+ SEEK_SET))
+ return 0;
+ dl->range->index.current = chk->next;
+ chk = NULL;
+ tgt_chk = NULL;
break;
+ }
}
}
int wb2 = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zchunk-1.0.3/src/lib/dl/multipart.c
new/zchunk-1.1.0/src/lib/dl/multipart.c
--- old/zchunk-1.0.3/src/lib/dl/multipart.c 2019-01-24 21:43:19.000000000
+0100
+++ new/zchunk-1.1.0/src/lib/dl/multipart.c 2019-03-23 23:22:50.000000000
+0100
@@ -68,8 +68,11 @@
ALLOCD_BOOL(NULL, dl);
VALIDATE_BOOL(dl->zck);

- char *next = "\r\n--%s\r\ncontent-type:.*\r\n" \
- "content-range: *bytes *([0-9]+) *- *([0-9]+) */.*\r\n\r";
+ char *next = "\r\n--%s\r\n" \
+ "(content-type:.*\r\n" \
+ "content-range: *bytes *([0-9]+) *- *([0-9]+) */[0-9]+
*\r\n\r|" \
+ "content-range: *bytes *([0-9]+) *- *([0-9]+) */[0-9]+
*\r\n" \
+ "content-type:.*\r\n\r)";
char *end = "\r\n--%s--\r\n\r";
char *regex_n = add_boundary_to_regex(dl->zck, next, dl->boundary);
if(regex_n == NULL)
@@ -180,24 +183,29 @@
continue;

/* Run regex against download range string */
- regmatch_t match[4] = {{0}};
- if(regexec(dl->dl_regex, i, 3, match, 0) != 0) {
- if(regexec(dl->end_regex, i, 3, match, 0) != 0)
+ regmatch_t match[7] = {{0}};
+ if(regexec(dl->dl_regex, i, 6, match, 0) != 0) {
+ if(regexec(dl->end_regex, i, 6, match, 0) != 0)
set_error(dl->zck, "Unable to find multipart download range");
goto end;
}

+ /* Set match offset to 2 if content-type and content-range is reversed
*/
+ int m = 0;
+ if(match[2].rm_so < 0)
+ m = 2;
+
/* Get range start from regex */
size_t rstart = 0;
- for(char *c=i + match[1].rm_so; c < i + match[1].rm_eo; c++)
+ for(char *c=i + match[2 + m].rm_so; c < i + match[2 + m].rm_eo; c++)
rstart = rstart*10 + (size_t)(c[0] - 48);

/* Get range end from regex */
size_t rend = 0;
- for(char *c=i + match[2].rm_so; c < i + match[2].rm_eo; c++)
+ for(char *c=i + match[3 + m].rm_so; c < i + match[3 + m].rm_eo; c++)
rend = rend*10 + (size_t)(c[0] - 48);

- i += match[0].rm_eo + 1;
+ i += match[1].rm_eo + 1;
zck_log(ZCK_LOG_DEBUG, "Download range: %lu-%lu", rstart, rend);
mp->length = rend-rstart+1;
mp->state = 1;
@@ -214,7 +222,7 @@

/* Create regex to find boundary */
if(dl->hdr_regex == NULL) {
- char *regex = "boundary *= *([0-9a-fA-F]+)";
+ char *regex = "boundary *= *(.*?) *\r";
dl->hdr_regex = zmalloc(sizeof(regex_t));
if(!create_regex(dl->zck, dl->hdr_regex, regex))
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zchunk-1.0.3/src/lib/dl/range.c
new/zchunk-1.1.0/src/lib/dl/range.c
--- old/zchunk-1.0.3/src/lib/dl/range.c 2019-01-24 21:43:19.000000000 +0100
+++ new/zchunk-1.1.0/src/lib/dl/range.c 2019-03-23 23:22:50.000000000 +0100
@@ -54,7 +54,7 @@
}
if(add_index)
if(!index_new_chunk(zck, &(info->index), idx->digest, idx->digest_size,
- end-start+1, end-start+1, false)) {
+ end-start+1, end-start+1, idx, false)) {
free(new);
return NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zchunk-1.0.3/src/lib/index/index_create.c
new/zchunk-1.1.0/src/lib/index/index_create.c
--- old/zchunk-1.0.3/src/lib/index/index_create.c 2019-01-24
21:43:19.000000000 +0100
+++ new/zchunk-1.1.0/src/lib/index/index_create.c 2019-03-23
23:22:50.000000000 +0100
@@ -60,11 +60,9 @@
if(index->first == NULL) {
index->first = item;
} else {
- zckChunk *tmp = index->first;
- while(tmp->next)
- tmp = tmp->next;
- tmp->next = item;
+ index->last->next = item;
}
+ index->last = item;
index->count += 1;
index->length += item->comp_length;
return true;
@@ -122,8 +120,9 @@
return true;
}

-bool index_new_chunk(zckCtx *zck, zckIndex *index, char *digest, int
digest_size,
- size_t comp_size, size_t orig_size, bool finished) {
+bool index_new_chunk(zckCtx *zck, zckIndex *index, char *digest,
+ int digest_size, size_t comp_size, size_t orig_size,
+ zckChunk *src, bool finished) {
VALIDATE_BOOL(zck);

if(index == NULL) {
@@ -138,6 +137,7 @@
index->digest_size = digest_size;
chk->comp_length = comp_size;
chk->length = orig_size;
+ chk->src = src;
return finish_chunk(index, chk, digest, finished, zck);
}

diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zchunk-1.0.3/src/lib/zck_private.h
new/zchunk-1.1.0/src/lib/zck_private.h
--- old/zchunk-1.0.3/src/lib/zck_private.h 2019-01-24 21:43:19.000000000
+0100
+++ new/zchunk-1.1.0/src/lib/zck_private.h 2019-03-23 23:22:50.000000000
+0100
@@ -159,6 +159,7 @@
size_t comp_length;
size_t length;
struct zckChunk *next;
+ struct zckChunk *src;
zckCtx *zck;
UT_hash_handle hh;
} zckChunk;
@@ -170,6 +171,8 @@
int hash_type;
size_t digest_size;
zckChunk *first;
+ zckChunk *last;
+ zckChunk *current;
zckChunk *ht;
} zckIndex;

@@ -340,7 +343,7 @@
bool index_create(zckCtx *zck)
__attribute__ ((warn_unused_result));
bool index_new_chunk(zckCtx *zck, zckIndex *index, char *digest, int
digest_size,
- size_t comp_size, size_t orig_size, bool valid)
+ size_t comp_size, size_t orig_size, zckChunk *src, bool
valid)
__attribute__ ((warn_unused_result));
bool index_add_to_chunk(zckCtx *zck, char *data, size_t comp_size,
size_t orig_size)
Binary files old/zchunk-1.0.3/test/abi/stable/libzck.so.1.0.3 and
new/zchunk-1.1.0/test/abi/stable/libzck.so.1.0.3 differ
Binary files old/zchunk-1.0.3/test/abi/stable/libzck.so.1.1.0 and
new/zchunk-1.1.0/test/abi/stable/libzck.so.1.1.0 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zchunk-1.0.3/test/abi/stable/zck.h
new/zchunk-1.1.0/test/abi/stable/zck.h
--- old/zchunk-1.0.3/test/abi/stable/zck.h 2019-01-24 21:43:19.000000000
+0100
+++ new/zchunk-1.1.0/test/abi/stable/zck.h 2019-03-23 23:22:50.000000000
+0100
@@ -1,7 +1,7 @@
#ifndef ZCK_H
#define ZCK_H

-#define ZCK_VERSION "1.0.3"
+#define ZCK_VERSION "1.1.0"

#include <stdlib.h>
#include <stdbool.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zchunk-1.0.3/test/compat_reports/zchunk/1.0.2_to_1.0.3/compat_report.html
new/zchunk-1.1.0/test/compat_reports/zchunk/1.0.2_to_1.0.3/compat_report.html
---
old/zchunk-1.0.3/test/compat_reports/zchunk/1.0.2_to_1.0.3/compat_report.html
2019-01-24 21:43:19.000000000 +0100
+++
new/zchunk-1.1.0/test/compat_reports/zchunk/1.0.2_to_1.0.3/compat_report.html
1970-01-01 01:00:00.000000000 +0100
@@ -1,475 +0,0 @@
-<!--
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.3
-->
-<!--
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:0;tool_version:2.3
-->
-<!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="viewport" content="width=device-width,initial-scale=1" />
-<meta name="keywords" content="zchunk, compatibility, API, ABI, report" />
-<meta name="description" content="API/ABI compatibility report for the zchunk
object between 1.0.2 and 1.0.3 versions" />
-<meta name="robots" content="noindex" />
-<title>zchunk: 1.0.2 to 1.0.3 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,"[&minus;]");
- }
- 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;'>libzck.so</span> object
between <span style='color:Red;'>1.0.2</span> and <span
style='color:Red;'>1.0.3</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>Module Name</th><td>zchunk</td></tr>
-<tr><th>Version #1</th><td>1.0.2</td></tr>
-<tr><th>Version #2</th><td>1.0.3</td></tr>
-<tr><th>Arch</th><td>x86_64</td></tr>
-<tr><th>GCC Version</th><td>8.2.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;'>1</a></td></tr>
-<tr><th>Total Objects</th><td><a href='#Libs'
style='color:Blue;'>1</a></td></tr>
-<tr><th>Total Symbols / Types</th><td>75 / 13</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'>&nbsp;1&nbsp;</span></h2><hr/>
-<div class='h_list'>
-zck.h<br/>
-</div>
-<br/><a class='top_ref' href='#Top'>to the top</a><br/>
-<a name='Libs'></a><h2>Objects <span
class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
-<div class='lib_list'>
-libzck.so.1.0.2<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>Module Name</th><td>zchunk</td></tr>
-<tr><th>Version #1</th><td>1.0.2</td></tr>
-<tr><th>Version #2</th><td>1.0.3</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;'>1</a></td></tr>
-<tr><th>Total Objects</th><td><a href='#Libs'
style='color:Blue;'>1</a></td></tr>
-<tr><th>Total Symbols / Types</th><td>75 / 13</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'>&nbsp;1&nbsp;</span></h2><hr/>
-<div class='h_list'>
-zck.h<br/>
-</div>
-<br/><a class='top_ref' href='#Top'>to the top</a><br/>
-<a name='Libs'></a><h2>Objects <span
class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
-<div class='lib_list'>
-libzck.so.1.0.2<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.3 &#160;</i>
-</div>
-<br/>
-
-</body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zchunk-1.0.3/test/compat_reports/zchunk/1.0.4_to_1.1.0/compat_report.html
new/zchunk-1.1.0/test/compat_reports/zchunk/1.0.4_to_1.1.0/compat_report.html
---
old/zchunk-1.0.3/test/compat_reports/zchunk/1.0.4_to_1.1.0/compat_report.html
1970-01-01 01:00:00.000000000 +0100
+++
new/zchunk-1.1.0/test/compat_reports/zchunk/1.0.4_to_1.1.0/compat_report.html
2019-03-23 23:22:50.000000000 +0100
@@ -0,0 +1,475 @@
+<!--
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.3
-->
+<!--
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:0;tool_version:2.3
-->
+<!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="viewport" content="width=device-width,initial-scale=1" />
+<meta name="keywords" content="zchunk, compatibility, API, ABI, report" />
+<meta name="description" content="API/ABI compatibility report for the zchunk
object between 1.0.4 and 1.1.0 versions" />
+<meta name="robots" content="noindex" />
+<title>zchunk: 1.0.4 to 1.1.0 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,"[&minus;]");
+ }
+ 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;'>libzck.so</span> object
between <span style='color:Red;'>1.0.4</span> and <span
style='color:Red;'>1.1.0</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>Module Name</th><td>zchunk</td></tr>
+<tr><th>Version #1</th><td>1.0.4</td></tr>
+<tr><th>Version #2</th><td>1.1.0</td></tr>
+<tr><th>Arch</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>9.0.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;'>1</a></td></tr>
+<tr><th>Total Objects</th><td><a href='#Libs'
style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>75 / 13</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'>&nbsp;1&nbsp;</span></h2><hr/>
+<div class='h_list'>
+zck.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Objects <span
class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
+<div class='lib_list'>
+libzck.so.1.0.4<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>Module Name</th><td>zchunk</td></tr>
+<tr><th>Version #1</th><td>1.0.4</td></tr>
+<tr><th>Version #2</th><td>1.1.0</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;'>1</a></td></tr>
+<tr><th>Total Objects</th><td><a href='#Libs'
style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>75 / 13</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'>&nbsp;1&nbsp;</span></h2><hr/>
+<div class='h_list'>
+zck.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Objects <span
class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
+<div class='lib_list'>
+libzck.so.1.0.4<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.3 &#160;</i>
+</div>
+<br/>
+
+</body></html>


< Previous Next >
This Thread
  • No further messages