ZMK.COVERITY(5)
π zmk.Coverity(5) π
okay so bestie, welcome to zmk.Coverity, section 5 of the manual β yes she's a file format / module page, and yes she's iconic. this is the Coverity module: it's how you talk to the Coverity static analysis tool without losing your mind. let's get into it π
β¨ NAME β¨
Coverity β a module for interacting with the Coverity static analysis tool. that's it, that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
include z.mk
# additional definitions required
$(eval $(call ZMK.Import,Coverity))
so you include z.mk first, then there's additional definitions required (aka the variables down below, don't skip them, i'm begging π₯Ί), and then you import the module with that $(eval $(call ZMK.Import,Coverity)) line. no cap, that eval-call combo is doing the heavy lifting. π
π« DESCRIPTION π«
the Coverity module lets you prepare and upload scan artifacts to a hosted Coverity instance. that's the whole job. she preps, she ships, she slays. β¨
π TARGETS π
this module hands you the following targets. main character energy, every single one.
π upload-coverity-scan
this phony target uses curl to upload the archived scan artifacts to the coverity scanning service. it's giving "just send it" π€π
π clean
this phony target removes the cov-int directory as well as the cov-int.$(NAME)-$(VERSION).tar.gz archive. both. gone. so satisfying honestly π§Ήβ¨
π cov-int
this target invokes the cov-build program to forcibly re-build the whole project and collect information for analysis. forcibly. she said what she said. πͺ
π cov-int.$(NAME)-$(VERSION).tar.gz
this target archives the cov-int directory. zip zip, tarball, done. π
π¦ VARIABLES π¦
this module provides the following variables. heads up bestie: four of these have no default value, which means you must set them before importing the module. no setting, no slay. π€
Coverity.Sourcesβ list of source files to consider as analysis dependency.
there is no default value. this variable must be set before importing the module.
Coverity.ProjectNameβ name of the project registered on the Coverity instance.
there is no default value. this variable must be set before importing the module.
Coverity.Emailβ e-mail address of the project maintainer, as registered on the Coverity instance.
there is no default value. this variable must be set before importing the module.
Coverity.Tokenβ the token used to authorize uploads of scan artifacts.
there is no default value. this variable must be set before importing the module.
Coverity.ScanURLβ the URL used for submitting scan artifacts.
the default value is https://scan.coverity.com/builds β yes queen, this one has a default π
π BUGS π
this module uses recursive make invocation and is therefore not safe to execute concurrently with other scanners that use this strategy. fr fr, don't run her in parallel with her siblings, it goes bad. π
π EXAMPLES π
here's the cute little demo: how Coverity can be used to scan a sample project. the code assumes that your local installation of the coverity scanner lives in /opt/cov-analysis-linux64-2019.03. the project name and maintainer email are provided in-line, but the authentication token is expected to come from the environment variable COVERITY_TOKEN. iykyk π
include z.mk
COVERITY_TOKEN ?=
ifneq (,$(COVERITY_TOKEN)) # enable coverity if secret token is available
Coverity.Sources=foo.c
Coverity.ProjectName=foo
Coverity.Email=maintainer@example.com
Coverity.Token=$(COVERITY_TOKEN)
cov-int: PATH := $(PATH):/opt/cov-analysis-linux64-2019.03/bin
$(eval $(call ZMK.Import,Coverity))
endif
see how the whole thing is wrapped in that ifneq? that's the "only turn her on if the secret token is available" move. obsessed. π
π HISTORY π
the Coverity module first appeared in zmk 0.1. she's been here since day one, a true veteran. π
π AUTHORS π
Zygmunt Krynicki <me@zygoon.pl> β thank you for the module king π«Ά
and that's the whole page bestie!! this lil manual is from zmk 0.5.1, dated Jan 8 2021, and it's the zmk.Coverity(5) page. now go set those variables before you import, or she will simply not work π
β¨π
π¦ where this page comes from
- debian bookworm: zmk-doc 0.5.1-2 Β· LGPL-3.0-only
- debian trixie: zmk-doc 0.5.1-2 Β· LGPL-3.0-only
- ubuntu jammy: zmk-doc 0.5.1-2 Β· LGPL-3.0-only
- ubuntu noble: zmk-doc 0.5.1-2 Β· LGPL-3.0-only
- ubuntu questing: zmk-doc 0.5.1-2
- ubuntu resolute: zmk-doc 0.5.1-2build1 Β· LGPL-3.0-only
- ubuntu stonking: zmk-doc 0.5.1-2build1 Β· LGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms