Hello community, here is the log from the commit of package abi-compliance-checker for openSUSE:Factory checked in at 2016-07-18 21:24:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/abi-compliance-checker (Old) and /work/SRC/openSUSE:Factory/.abi-compliance-checker.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "abi-compliance-checker" Changes: -------- --- /work/SRC/openSUSE:Factory/abi-compliance-checker/abi-compliance-checker.changes 2016-06-09 16:15:49.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.abi-compliance-checker.new/abi-compliance-checker.changes 2016-07-18 21:25:18.000000000 +0200 @@ -1,0 +2,9 @@ +Fri Jul 15 21:16:32 UTC 2016 - astie...@suse.com + +- Update to 1.99.22: + * New style of the report + * -old-style: generate old-style report + * Fixed handling of patterns in -skip-* options + * Fixed rounding of the BC rate in the report + +------------------------------------------------------------------- Old: ---- abi-compliance-checker-1.99.21.tar.gz New: ---- abi-compliance-checker-1.99.22.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ abi-compliance-checker.spec ++++++ --- /var/tmp/diff_new_pack.hSF3YD/_old 2016-07-18 21:25:19.000000000 +0200 +++ /var/tmp/diff_new_pack.hSF3YD/_new 2016-07-18 21:25:19.000000000 +0200 @@ -17,7 +17,7 @@ Name: abi-compliance-checker -Version: 1.99.21 +Version: 1.99.22 Release: 0 Summary: A Compliance Checker For library ABIs License: GPL-2.0+ or LGPL-2.0+ ++++++ abi-compliance-checker-1.99.21.tar.gz -> abi-compliance-checker-1.99.22.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abi-compliance-checker-1.99.21/INSTALL new/abi-compliance-checker-1.99.22/INSTALL --- old/abi-compliance-checker-1.99.21/INSTALL 2016-05-26 22:44:58.000000000 +0200 +++ new/abi-compliance-checker-1.99.22/INSTALL 2016-07-04 18:12:19.000000000 +0200 @@ -9,8 +9,8 @@ RELEASE INFORMATION Project: ABI Compliance Checker (ABICC) -Version: 1.99.21 -Date: 2016-05-26 +Version: 1.99.22 +Date: 2016-07-04 This file explains how to install and setup environment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abi-compliance-checker-1.99.21/abi-compliance-checker.pl new/abi-compliance-checker-1.99.22/abi-compliance-checker.pl --- old/abi-compliance-checker-1.99.21/abi-compliance-checker.pl 2016-05-26 22:44:58.000000000 +0200 +++ new/abi-compliance-checker-1.99.22/abi-compliance-checker.pl 2016-07-04 18:12:19.000000000 +0200 @@ -1,6 +1,6 @@ #!/usr/bin/perl ########################################################################### -# ABI Compliance Checker (ABICC) 1.99.21 +# ABI Compliance Checker (ABICC) 1.99.22 # A tool for checking backward compatibility of a C/C++ library API # # Copyright (C) 2009-2011 Institute for System Programming, RAS @@ -60,7 +60,7 @@ use Data::Dumper; use Config; -my $TOOL_VERSION = "1.99.21"; +my $TOOL_VERSION = "1.99.22"; my $ABI_DUMP_VERSION = "3.2"; my $XML_REPORT_VERSION = "1.2"; my $XML_ABI_DUMP_VERSION = "1.2"; @@ -91,7 +91,7 @@ $ExtraInfo, $ExtraDump, $Force, $Tolerance, $Tolerant, $SkipSymbolsListPath, $CheckInfo, $Quick, $AffectLimit, $AllAffected, $CppIncompat, $SkipInternalSymbols, $SkipInternalTypes, $TargetArch, $GccOptions, -$TypesListPath, $SkipTypesListPath, $CheckPrivateABI, $CountSymbols); +$TypesListPath, $SkipTypesListPath, $CheckPrivateABI, $CountSymbols, $OldStyle); my $CmdName = get_filename($0); my %OS_LibExt = ( @@ -222,6 +222,7 @@ "source|src|api!" => \$SourceOnly, "limit-affected|affected-limit=s" => \$AffectLimit, "count-symbols=s" => \$CountSymbols, + "old-style!" => \$OldStyle, # other options "test!" => \$TestTool, "test-dump!" => \$TestDump, @@ -615,6 +616,9 @@ -count-symbols PATH Count total public symbols in the ABI dump. + + -old-style + Generate old-style report. OTHER OPTIONS: -test @@ -739,7 +743,7 @@ Levels: 1 - skip non-Linux headers (e.g. win32_*.h, etc.) 2 - skip internal headers (e.g. *_p.h, impl/*.h, etc.) - 3 - skip headers that iclude non-Linux headers + 3 - skip headers that include non-Linux headers 4 - skip headers included by others -tolerant @@ -1771,7 +1775,6 @@ my $Path = $_[0]; if($Path=~/[\*\+\(\[\|]/) { # pattern - $Path=~s/\\/\\\\/g; return ($Path, "Pattern"); } elsif($Path=~/[\/\\]/) @@ -11383,7 +11386,7 @@ { my ($Pos, $TypeRef) = @_; my $Name = $TypeRef->{"Memb"}{$Pos}{"name"}; - if($Name=~/last|count|max|total/i) + if($Name=~/last|count|max|total|num/i) { # GST_LEVEL_COUNT, GST_RTSP_ELAST return 1; } @@ -15622,8 +15625,14 @@ if(my @Headers = get_CheckedHeaders(1)) { - $CheckedHeaders = "<a name='Headers'></a><h2>Header Files <span class='gray'> ".($#Headers+1)." </span></h2><hr/>\n"; - $CheckedHeaders .= "<div class='h_list'>\n"; + $CheckedHeaders = "<a name='Headers'></a>"; + if($OldStyle) { + $CheckedHeaders .= "<h2>Header Files (".($#Headers+1).")</h2>"; + } + else { + $CheckedHeaders .= "<h2>Header Files <span class='gray'> ".($#Headers+1)." </span></h2>"; + } + $CheckedHeaders .= "<hr/>\n<div class='h_list'>\n"; foreach my $Header_Path (sort {lc($Registered_Headers{1}{$a}{"Identity"}) cmp lc($Registered_Headers{1}{$b}{"Identity"})} @Headers) { my $Identity = $Registered_Headers{1}{$Header_Path}{"Identity"}; @@ -15637,8 +15646,14 @@ if(my @Sources = keys(%{$Registered_Sources{1}})) { - $CheckedSources = "<a name='Sources'></a><h2>Source Files <span class='gray'> ".($#Sources+1)." </span></h2><hr/>\n"; - $CheckedSources .= "<div class='h_list'>\n"; + $CheckedSources = "<a name='Sources'></a>"; + if($OldStyle) { + $CheckedSources .= "<h2>Source Files (".($#Sources+1).")</h2>"; + } + else { + $CheckedSources .= "<h2>Source Files <span class='gray'> ".($#Sources+1)." </span></h2>"; + } + $CheckedSources .= "<hr/>\n<div class='h_list'>\n"; foreach my $Header_Path (sort {lc($Registered_Sources{1}{$a}{"Identity"}) cmp lc($Registered_Sources{1}{$b}{"Identity"})} @Sources) { my $Identity = $Registered_Sources{1}{$Header_Path}{"Identity"}; @@ -15652,11 +15667,15 @@ if(not $CheckHeadersOnly) { - $CheckedLibs = "<a name='Libs'></a><h2>".get_ObjTitle()." <span class='gray'> ".keys(%{$Library_Symbol{1}})." </span></h2><hr/>\n"; - $CheckedLibs .= "<div class='lib_list'>\n"; - foreach my $Library (sort {lc($a) cmp lc($b)} keys(%{$Library_Symbol{1}})) - { - # $Library .= " (.$LIB_EXT)" if($Library!~/\.\w+\Z/); + $CheckedLibs = "<a name='Libs'></a>"; + if($OldStyle) { + $CheckedLibs .= "<h2>".get_ObjTitle()." (".keys(%{$Library_Symbol{1}}).")</h2>"; + } + else { + $CheckedLibs .= "<h2>".get_ObjTitle()." <span class='gray'> ".keys(%{$Library_Symbol{1}})." </span></h2>"; + } + $CheckedLibs .= "<hr/>\n<div class='lib_list'>\n"; + foreach my $Library (sort {lc($a) cmp lc($b)} keys(%{$Library_Symbol{1}})) { $CheckedLibs .= $Library."<br/>\n"; } $CheckedLibs .= "</div>\n"; @@ -16091,7 +16110,7 @@ $META_DATA = "kind:".lc($Level).";".$META_DATA; } - my $BC_Rate = 100 - $RESULT{$Level}{"Affected"}; + my $BC_Rate = show_number(100 - $RESULT{$Level}{"Affected"}); $TestResults .= "<tr><th>Compatibility</th>\n"; if($RESULT{$Level}{"Verdict"} eq "incompatible") @@ -16369,7 +16388,13 @@ { # Safe Changes $Title = "Other Changes in Constants"; } - $CHANGED_CONSTANTS = "<a name='".get_Anchor("Constant", $Level, $TargetSeverity)."'></a><h2>$Title <span".getStyle("C", $TargetSeverity, $ProblemsNum)."> $ProblemsNum </span></h2><hr/>\n".$CHANGED_CONSTANTS.$TOP_REF."<br/>\n"; + if($OldStyle) { + $CHANGED_CONSTANTS = "<h2>$Title ($ProblemsNum)</h2><hr/>\n".$CHANGED_CONSTANTS; + } + else { + $CHANGED_CONSTANTS = "<h2>$Title <span".getStyle("C", $TargetSeverity, $ProblemsNum)."> $ProblemsNum </span></h2><hr/>\n".$CHANGED_CONSTANTS; + } + $CHANGED_CONSTANTS = "<a name='".get_Anchor("Constant", $Level, $TargetSeverity)."'></a>\n".$CHANGED_CONSTANTS.$TOP_REF."<br/>\n"; } } return $CHANGED_CONSTANTS; @@ -16492,7 +16517,13 @@ if($JoinReport) { $Anchor = "<a name='".$Level."_Added'></a>"; } - $ADDED_INTERFACES = $Anchor."<h2>Added Symbols <span".getStyle("I", "Added", $Added_Number)."> $Added_Number </span></h2><hr/>\n".$ADDED_INTERFACES.$TOP_REF."<br/>\n"; + if($OldStyle) { + $ADDED_INTERFACES = "<h2>Added Symbols ($Added_Number)</h2><hr/>\n".$ADDED_INTERFACES; + } + else { + $ADDED_INTERFACES = "<h2>Added Symbols <span".getStyle("I", "Added", $Added_Number)."> $Added_Number </span></h2><hr/>\n".$ADDED_INTERFACES; + } + $ADDED_INTERFACES = $Anchor.$ADDED_INTERFACES.$TOP_REF."<br/>\n"; } } return $ADDED_INTERFACES; @@ -16588,7 +16619,14 @@ if($JoinReport) { $Anchor = "<a name='".$Level."_Removed'></a><a name='".$Level."_Withdrawn'></a>"; } - $REMOVED_INTERFACES = $Anchor."<h2>Removed Symbols <span".getStyle("I", "Removed", $Removed_Number)."> $Removed_Number </span></h2><hr/>\n".$REMOVED_INTERFACES.$TOP_REF."<br/>\n"; + if($OldStyle) { + $REMOVED_INTERFACES = "<h2>Removed Symbols ($Removed_Number)</h2><hr/>\n".$REMOVED_INTERFACES; + } + else { + $REMOVED_INTERFACES = "<h2>Removed Symbols <span".getStyle("I", "Removed", $Removed_Number)."> $Removed_Number </span></h2><hr/>\n".$REMOVED_INTERFACES; + } + + $REMOVED_INTERFACES = $Anchor.$REMOVED_INTERFACES.$TOP_REF."<br/>\n"; } } return $REMOVED_INTERFACES; @@ -16863,7 +16901,14 @@ $ShowSymbol = cut_Namespace($ShowSymbol, $NameSpace); } - $INTERFACE_PROBLEMS .= $ContentSpanStart."<span class='ext'>[+]</span> ".$ShowSymbol." <span".getStyle("I", $TargetSeverity, $ProblemNum)."> $ProblemNum </span>".$ContentSpanEnd."<br/>\n"; + $INTERFACE_PROBLEMS .= $ContentSpanStart."<span class='ext'>[+]</span> ".$ShowSymbol; + if($OldStyle) { + $INTERFACE_PROBLEMS .= " ($ProblemNum)"; + } + else { + $INTERFACE_PROBLEMS .= " <span".getStyle("I", $TargetSeverity, $ProblemNum)."> $ProblemNum </span>"; + } + $INTERFACE_PROBLEMS .= $ContentSpanEnd."<br/>\n"; $INTERFACE_PROBLEMS .= $ContentDivStart."\n"; if(my $NSign = $NewSignature{$Symbol}) @@ -16895,7 +16940,13 @@ { # Safe Changes $Title = "Other Changes in Symbols"; } - $INTERFACE_PROBLEMS = "<a name=\'".get_Anchor("Symbol", $Level, $TargetSeverity)."\'></a><a name=\'".get_Anchor("Interface", $Level, $TargetSeverity)."\'></a>\n<h2>$Title <span".getStyle("I", $TargetSeverity, $ProblemsNum)."> $ProblemsNum </span></h2><hr/>\n".$INTERFACE_PROBLEMS.$TOP_REF."<br/>\n"; + if($OldStyle) { + $INTERFACE_PROBLEMS = "<h2>$Title ($ProblemsNum)</h2><hr/>\n".$INTERFACE_PROBLEMS; + } + else { + $INTERFACE_PROBLEMS = "<h2>$Title <span".getStyle("I", $TargetSeverity, $ProblemsNum)."> $ProblemsNum </span></h2><hr/>\n".$INTERFACE_PROBLEMS; + } + $INTERFACE_PROBLEMS = "<a name=\'".get_Anchor("Symbol", $Level, $TargetSeverity)."\'></a><a name=\'".get_Anchor("Interface", $Level, $TargetSeverity)."\'></a>\n".$INTERFACE_PROBLEMS.$TOP_REF."<br/>\n"; } } return $INTERFACE_PROBLEMS; @@ -17039,7 +17090,14 @@ $ShowVTables = cut_Namespace($ShowVTables, $NameSpace); } - $TYPE_PROBLEMS .= $ContentSpanStart."<span class='ext'>[+]</span> ".$ShowType." <span".getStyle("T", $TargetSeverity, $ProblemNum)."> $ProblemNum </span>".$ContentSpanEnd; + $TYPE_PROBLEMS .= $ContentSpanStart."<span class='ext'>[+]</span> ".$ShowType; + if($OldStyle) { + $TYPE_PROBLEMS .= " ($ProblemNum)"; + } + else { + $TYPE_PROBLEMS .= " <span".getStyle("T", $TargetSeverity, $ProblemNum)."> $ProblemNum </span>"; + } + $TYPE_PROBLEMS .= $ContentSpanEnd; $TYPE_PROBLEMS .= "<br/>\n".$ContentDivStart."<table class='ptable'><tr>\n"; $TYPE_PROBLEMS .= "<th width='2%'></th><th width='47%'>Change</th>\n"; $TYPE_PROBLEMS .= "<th>Effect</th></tr>".$TYPE_REPORT."</table>\n"; @@ -17058,7 +17116,13 @@ { # Safe Changes $Title = "Other Changes in Data Types"; } - $TYPE_PROBLEMS = "<a name=\'".get_Anchor("Type", $Level, $TargetSeverity)."\'></a>\n<h2>$Title <span".getStyle("T", $TargetSeverity, $ProblemsNum)."> $ProblemsNum </span></h2><hr/>\n".$TYPE_PROBLEMS.$TOP_REF."<br/>\n"; + if($OldStyle) { + $TYPE_PROBLEMS = "<h2>$Title ($ProblemsNum)</h2><hr/>\n".$TYPE_PROBLEMS; + } + else { + $TYPE_PROBLEMS = "<h2>$Title <span".getStyle("T", $TargetSeverity, $ProblemsNum)."> $ProblemsNum </span></h2><hr/>\n".$TYPE_PROBLEMS; + } + $TYPE_PROBLEMS = "<a name=\'".get_Anchor("Type", $Level, $TargetSeverity)."\'></a>\n".$TYPE_PROBLEMS.$TOP_REF."<br/>\n"; } } return $TYPE_PROBLEMS; @@ -22814,7 +22878,7 @@ detect_default_paths("bin|gcc"); # to compile libs loadModule("RegTests"); testTool($TestDump, $Debug, $Quiet, $ExtendedCheck, $LogMode, $ReportFormat, $DumpFormat, - $LIB_EXT, $GCC_PATH, $SortDump, $CheckHeadersOnly); + $LIB_EXT, $GCC_PATH, $SortDump, $CheckHeadersOnly, $OldStyle); exit(0); } if($DumpSystem) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abi-compliance-checker-1.99.21/doc/Changelog.html new/abi-compliance-checker-1.99.22/doc/Changelog.html --- old/abi-compliance-checker-1.99.21/doc/Changelog.html 2016-05-26 22:44:58.000000000 +0200 +++ new/abi-compliance-checker-1.99.22/doc/Changelog.html 2016-07-04 18:12:19.000000000 +0200 @@ -44,6 +44,30 @@ <p/> <br/> +<b>Version 1.99.22 (July 04, 2016)</b><br/> +<b>Improvements</b> +<ul> + <li> + New style of the report + </li> +</ul> +<b>New Options</b> +<ul> + <li> + -old-style: generate old-style report + </li> +</ul> +<b>Bug Fixes</b> +<ul> + <li> + Fixed handling of patterns in -skip-* options + </li> + <li> + Fixed rounding of the BC rate in the report + </li> +</ul> +<br/> + <b>Version 1.99.21 (May 26, 2016)</b><br/> <b>Improvements</b> <ul> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abi-compliance-checker-1.99.21/modules/Internals/RegTests.pm new/abi-compliance-checker-1.99.22/modules/Internals/RegTests.pm --- old/abi-compliance-checker-1.99.21/modules/Internals/RegTests.pm 2016-05-26 22:44:58.000000000 +0200 +++ new/abi-compliance-checker-1.99.22/modules/Internals/RegTests.pm 2016-07-04 18:12:19.000000000 +0200 @@ -24,14 +24,15 @@ use strict; my ($TestDump, $Debug, $Quiet, $ExtendedCheck, $LogMode, $ReportFormat, -$DumpFormat, $LIB_EXT, $GCC_PATH, $SortDump, -$CheckHeadersOnly); +$DumpFormat, $LIB_EXT, $GCC_PATH, $SortDump, $CheckHeadersOnly, +$OldStyle); my $OSgroup = get_OSgroup(); sub testTool($$$$$$$$$$$) { ($TestDump, $Debug, $Quiet, $ExtendedCheck, $LogMode, $ReportFormat, - $DumpFormat, $LIB_EXT, $GCC_PATH, $SortDump, $CheckHeadersOnly) = @_; + $DumpFormat, $LIB_EXT, $GCC_PATH, $SortDump, $CheckHeadersOnly, + $OldStyle) = @_; testC(); testCpp(); @@ -4885,6 +4886,9 @@ if($CheckHeadersOnly) { @Cmd = (@Cmd, "-headers-only"); } + if($OldStyle) { + @Cmd = (@Cmd, "-old-style"); + } if($Debug) { # debug mode @Cmd = (@Cmd, "-debug"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abi-compliance-checker-1.99.21/modules/Internals/Styles/Report.css new/abi-compliance-checker-1.99.22/modules/Internals/Styles/Report.css --- old/abi-compliance-checker-1.99.21/modules/Internals/Styles/Report.css 2016-05-26 22:44:58.000000000 +0200 +++ new/abi-compliance-checker-1.99.22/modules/Internals/Styles/Report.css 2016-07-04 18:12:19.000000000 +0200 @@ -141,7 +141,7 @@ font-weight:bold; color:#333333; font-family:Verdana, Arial; - font-size:0.81em; + font-size:0.875em; border:1px solid gray; text-align:center; vertical-align:top; @@ -205,27 +205,35 @@ } .passed { background-color:#CCFFCC; + font-weight:100; } .warning { background-color:#F4F4AF; + font-weight:100; } .failed { background-color:#FFCCCC; + font-weight:100; } .new { background-color:#C6DEFF; + font-weight:100; } .compatible { background-color:#CCFFCC; + font-weight:100; } .almost_compatible { background-color:#FFDAA3; + font-weight:100; } .incompatible { background-color:#FFCCCC; + font-weight:100; } .gray { background-color:#DCDCDC; + font-weight:100; } .top_ref { font-size:0.69em;