Page MenuHomeFreeBSD

Upgrade devel/lcov to 0.13; fix several issues with port
AbandonedPublic

Authored by ngie on Jul 11 2017, 3:27 AM.
Tags
None
Referenced Files
Unknown Object (File)
Jan 15 2024, 9:22 PM
Unknown Object (File)
Dec 29 2023, 3:36 AM
Unknown Object (File)
Dec 20 2023, 1:36 AM
Unknown Object (File)
Nov 23 2023, 10:24 AM
Unknown Object (File)
Nov 23 2023, 9:49 AM
Unknown Object (File)
Nov 15 2023, 8:40 AM
Unknown Object (File)
Nov 12 2023, 8:07 AM
Unknown Object (File)
Nov 6 2023, 8:59 PM
Subscribers

Details

Reviewers
None
Summary

Upgrade devel/lcov to 0.13

  • Rely on gmake and a pkg-plist when installing the port instead of a custom list of files.
  • Fix the license (the project is released with a GPLv2 license).
  • Apply shebangfix to all scripts under bin/ matching *.pl and *.sh .
  • Make the port STAGEDIR aware.

PR: 220617

Test Plan
  • Ran portlint:
$ portlint devel/lcov/
looks fine.
$
  • Ran "DEVELOPER=yes make reinstall":
$ sudo make -C devel/lcov reinstall DEVELOPER=yes
===>   Generating temporary packing list
cd /usr/obj/usr/ports/devel/lcov/work/lcov-1.13 && DESTDIR=/usr/obj/usr/ports/devel/lcov/work/stage gmake install
gmake[3]: Entering directory '/usr/obj/usr/ports/devel/lcov/work/lcov-1.13'
bin/install.sh bin/lcov /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/lcov -m 755
bin/install.sh bin/genhtml /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/genhtml -m 755
bin/install.sh bin/geninfo /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/geninfo -m 755
bin/install.sh bin/genpng /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/genpng -m 755
bin/install.sh bin/gendesc /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/gendesc -m 755
bin/install.sh man/lcov.1 /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/lcov.1 -m 644
bin/install.sh man/genhtml.1 /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/genhtml.1 -m 644
bin/install.sh man/geninfo.1 /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/geninfo.1 -m 644
bin/install.sh man/genpng.1 /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/genpng.1 -m 644
bin/install.sh man/gendesc.1 /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/gendesc.1 -m 644
bin/install.sh man/lcovrc.5 /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man5/lcovrc.5 -m 644
bin/install.sh lcovrc /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/etc/lcovrc -m 644
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/lcov 1.13 1 1.13
Updating bin tool /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/lcov
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/genhtml 1.13 1 1.13
Updating bin tool /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/genhtml
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/geninfo 1.13 1 1.13
Updating bin tool /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/geninfo
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/genpng 1.13 1 1.13
Updating bin tool /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/genpng
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/gendesc 1.13 1 1.13
Updating bin tool /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/bin/gendesc
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/lcov.1 1.13 1 1.13
Updating man page /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/lcov.1
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/genhtml.1 1.13 1 1.13
Updating man page /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/genhtml.1
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/geninfo.1 1.13 1 1.13
Updating man page /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/geninfo.1
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/genpng.1 1.13 1 1.13
Updating man page /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/genpng.1
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/gendesc.1 1.13 1 1.13
Updating man page /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man1/gendesc.1
Done.
bin/updateversion.pl /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man5/lcovrc.5 1.13 1 1.13
Updating man page /usr/obj/usr/ports/devel/lcov/work/stage/usr/local/share/man/man5/lcovrc.5
Done.
gmake[3]: Leaving directory '/usr/obj/usr/ports/devel/lcov/work/lcov-1.13'
====> Compressing man pages (compress-man)
====> Running Q/A tests (stage-qa)
===>  Installing for lcov-1.13
===>   Registering installation for lcov-1.13
Installing lcov-1.13...
$ echo $?
0
$
  • Ran lcov/genhtml and looked at the output:
$ (export MAKEFLAGS=-s; cd ~/nfs/git/scratch/coverage-with-shared-libs-freebsd/; make obj; make; make get-coverage)
===> lib (obj)
===> bin (obj)
===> lib (all)
===> bin (all)
This is foo
Capturing coverage data from /usr/obj/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd
Found gcov version: 4.2.1
Scanning /usr/obj/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd for .gcda files ...
Found 2 data files in /usr/obj/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd
Processing lib/foo.gcda
/usr/obj/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd/lib/foo.gcno:version '402*', prefer '402p'
/usr/obj/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd/lib/foo.gcda:version '402*', prefer version '402p'
Processing bin/foo.gcda
/usr/obj/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd/bin/foo.gcno:version '402*', prefer '402p'
/usr/obj/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd/bin/foo.gcda:version '402*', prefer version '402p'
Finished .info-file creation
Reading data file /usr/obj/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd/coverage.info
Found 2 entries.
Found common filename prefix "/home/ngie/nfs/git/scratch/coverage-with-shared-libs-freebsd"
Writing .css and .png files.
Generating output.
Processing file bin/foo.c
Processing file lib/foo.c
Writing directory view page.
Overall coverage rate:
  lines......: 75.0% (3 of 4 lines)
  functions..: 100.0% (2 of 2 functions)

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 10425
Build 10835: arc lint + arc unit

Event Timeline

ngie edited the test plan for this revision. (Show Details)
ngie edited the test plan for this revision. (Show Details)

Fix a number of issues with the port

  • Fix the license version (it's GPLv2, not GPLv1).
  • Use gmake instead of make, COPYTREE_BIN, etc (zi noted that it wasn't doing the right thing with poudriere testport).
  • Fix the install version embedded in various scripts via "gmake install"

portlint now chokes on bogus warnings, but "DEVELOPER=1 make stage-qa" passes.

ngie retitled this revision from Upgrade devel/lcov to 0.13 to Upgrade devel/lcov to 0.13; fix several issues with port.Jul 11 2017, 5:18 AM
ngie edited the summary of this revision. (Show Details)
ngie edited the test plan for this revision. (Show Details)
ngie added a subscriber: zi.
  • Pet portlint:
    • Use ${MAKE_CMD} instead of gmake (bareword).
    • Remove SHEBANGLANG= perl to mute noise from portlint about perl needing to be ${PERL}.

A patch based on this (but improved to deal with --mandir properly) was committed by romain@ in rP445470.