dev-util/lcov: Add patch to fix bad error code var

There is a mistake in the lcov code for inconsistent line numbers, the
ignorable error code is an undefined variable. This causes errors like
genhtml: ERROR: "/mnt/host/source/src/platform/ec/common/vboot/vb21_lib.c":18: function 'vb21_is_packed_key
_valid last line is 24 but is 25 in testcase 'vboot'
        (use "genhtml --ignore-errors code_ ..." to bypass this error)

Switch to the correct variable that was fixed in
6f48bf214a (diff-173ac1b8ad02cbcecdc47f8c7fa7762bbcc7050d0efa6a375ffb74eb1517f68cL5342)
but not included in the 2.0 release.

Signed-off-by: Jeremy Bettis <jbettis@google.com>
Closes: https://github.com/gentoo/gentoo/pull/34888
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Jeremy Bettis
2024-01-18 20:00:50 +00:00
committed by Sam James
parent ce0d94369c
commit 3a2c07fded
2 changed files with 107 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
From: Jeremy Bettis <jbettis@google.com>
Fix incorrect error code usage.
Bug: https://github.com/linux-test-project/lcov/issues/259
Signed-off-by: Jeremy Bettis <jbettis@google.com>
--- lcov-2.0/lib/lcovutil.pm
+++ lcov-2.0-fixed/lib/lcovutil.pm
@@ -4219,7 +4219,7 @@
} else {
if ($f->end_line() != $func->end_line()) {
lcovutil::ignorable_error(
- $lcovutil::ERROR_INCONSISTENT,
+ $lcovutil::ERROR_INCONSISTENT_DATA,
'"' . $func->file() .
'":' . $first . ': function \'' .
$func->name() . ' last line is ' .

View File

@@ -0,0 +1,89 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit optfeature prefix python-any-r1
DESCRIPTION="A graphical front-end for GCC's coverage testing tool gcov"
HOMEPAGE="https://github.com/linux-test-project/lcov"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/linux-test-project/lcov.git"
inherit git-r3
else
SRC_URI="https://github.com/linux-test-project/lcov/releases/download/v${PV}/${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux ~x64-macos"
fi
LICENSE="GPL-2+"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
# Python is used for spreadsheet.py
RDEPEND="
dev-lang/perl
dev-perl/Capture-Tiny
dev-perl/DateTime
|| (
dev-perl/JSON-XS
dev-perl/Cpanel-JSON-XS
virtual/perl-JSON-PP
dev-perl/JSON
)
dev-perl/PerlIO-gzip
"
BDEPEND="
test? (
${RDEPEND}
dev-perl/GD
$(python_gen_any_dep '
dev-python/xlsxwriter[${PYTHON_USEDEP}]
')
)
"
PATCHES=(
"${FILESDIR}"/${P}-wrong-error-code.patch
)
python_check_deps() {
python_has_version "dev-python/xlsxwriter[${PYTHON_USEDEP}]"
}
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
default
if use prefix; then
hprefixify bin/*.{pl,sh}
fi
}
src_compile() { :; }
src_test() {
emake -j1 check
}
src_install() {
emake -j1 \
DESTDIR="${D}" \
CFG_DIR="${EPREFIX}/etc" \
PREFIX="${EPREFIX}/usr" \
LCOV_PERL_PATH="${EPREFIX}/usr/bin/perl" \
install
}
pkg_postinst() {
optfeature_header "Optional outuput support:"
optfeature "png output support" dev-perl/GD[png]
optfeature "spreadsheet output support" dev-python/xlsxwriter
optfeature_header "Optional language support:"
optfeature "Python code coverage support" dev-python/coverage
optfeature "Perl code coverage support" dev-perl/Devel-Cover
}