.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "alint" "5" "2024-10-14" .PP .SH NAME .PP alint - linting labels and tags .PP .SH DESCRIPTION .PP A label and a tag are 2 attributes given to each test in alint, a label is composed by a collection of words separated by dashes and it is meant to convey the general idea of what the test does.\& A tag is a string with AL followed by an integer, those being assigned in increasing order as new tests are made but never re-using old ones.\& .PP tests can be skipped by setting an environment variable composed of SKIP_ + the label in uppercase with the dashes replaced by underscore or by setting an environment variable composed of SKIP_ + the tag.\& .PP .SH Severity .PP Severity is assigned to each tag and indicates how serious the violation found is: .PP .SS Serious (S) .PP Will cause problems during build or when the package is delivered to users.\& Should be fixed immediately.\& .PP .SS Important (I) .PP Might cause problems during build or when the package is delivered to users in certain situations.\& Should be fixed soon.\& .PP .SS Minor (M) .PP Won'\&t directly cause issues during build or when the package is delivered to users.\& Should be fixed when convenient.\& .PP This also holds style issues that are dictated on the CODINGSTYLE.\&md file.\& .PP .SS STYLE (T) .PP Won'\&t cause any issues, are specific style issues pertinent to a concerned developer or contributor.\& the \fIAPKBUILD_STYLE\fR variable can be set to a specific value to enable a subset of checks that the specific developer or user uses.\& .PP When a check belongs to this category this manual page also provides information on which developers use a specific style check as developers can sometimes both want to have the same check done on their own style.\& .PP Current valid values are: .PP .PD 0 .IP \(bu 4 leo (style linting for leo) .PD .PP .SH Certainty .PP Certainty is assigned to each tag and indicates how certain a test is that the violation found is not a false positive .PP .SS Certain (C) .PP The test is certain that this is not a false positive .PP .SS Possible (P) .PP The test is not certain that this is a false positive, but there is a high chance it isn'\&t .PP .SH TABLE .PP The following is a table of every tag, along with its tag, label, severity, certainty, along with linter (which binary checks for it) and fixer (whether apkbuild-fixer can fix it automatically).\& .PP .TS allbox;l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c l c c c c c. T{ \fBtag\fR T} T{ \fIlabel\fR T} T{ \fIseverity\fR T} T{ \fIcertainty\fR T} T{ \fIlinter\fR T} T{ \fIfixer\fR T} T{ \fBAL1\fR T} T{ default-builddir-value T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL2\fR T} T{ unnecessary-return-1 T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL3\fR T} T{ pkgname-quoted T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL4\fR T} T{ pkgver-quoted T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL5\fR T} T{ empty-variable T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL6\fR T} T{ custom-variable T} T{ Important T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL7\fR T} T{ indent-tabs T} T{ Important T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL8\fR T} T{ trailing-whitespace T} T{ Important T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL9\fR T} T{ function-keyword T} T{ Serious T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL10\fR T} T{ space-before-function-parenthesis T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL11\fR T} T{ space-after-function-parenthesis T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL12\fR T} T{ newline-opening-brace T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL13\fR T} T{ superfluous-cd-builddir T} T{ Minor T} T{ Possible T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL14\fR T} T{ pkgname-has-uppercase T} T{ Serious T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL15\fR T} T{ pkgver-has-pkgrel T} T{ Serious T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL16\fR T} T{ upper-repo-depends T} T{ Serious T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL17\fR T} T{ duplicate-depends T} T{ Minor T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL18\fR T} T{ upper-repo-makedepends T} T{ Serious T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL19\fR T} T{ duplicate-makedepends T} T{ Minor T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL20\fR T} T{ upper-repo-makedepends T} T{ Serious T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL21\fR T} T{ duplicate-makedepends T} T{ Minor T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL22\fR T} T{ duplicate-package T} T{ Serious T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL23\fR T} T{ pkgname-dirname-mismatch T} T{ Important T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL24\fR T} T{ depends-makedepends-checkdepends-overlap T} T{ Important T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL25\fR T} T{ backticks-usage T} T{ Serious T} T{ Possible T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL26\fR T} T{ _builddir-is-set T} T{ Serious T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL28\fR T} T{ literal-integer-is-quoted T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL29\fR T} T{ pkgname-used-in-source T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL30\fR T} T{ double-underscore-in-variable T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL31\fR T} T{ variable-capitalized T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL32\fR T} T{ braced-variable T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL33\fR T} T{ unexpected-shebang-line T} T{ Important T} T{ Certain T} T{ initd-lint T} T{ N/A T} T{ \fBAL34\fR T} T{ custom-start-stop-function T} T{ Important T} T{ Certain T} T{ initd-lint T} T{ N/A T} T{ \fBAL35\fR T} T{ cpan-variable T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL36\fR T} T{ overwrite-xflags T} T{ Serious T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL37\fR T} T{ secfixes-missing-colon T} T{ Serious T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL38\fR T} T{ pkgver-pkgrel-missing-colon T} T{ Serious T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL39\fR T} T{ pkgver-pkgrel-invalid-pkgver T} T{ Serious T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL40\fR T} T{ pkgver-pkgrel-invalid-pkgrel T} T{ Serious T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL41\fR T} T{ security-identifier-missing-hyphen T} T{ Serious T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL47\fR T} T{ security-identifier-wrong-indent T} T{ Serious T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL48\fR T} T{ pkgver-pkgrel-wrong-indent T} T{ Serious T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL49\fR T} T{ invalid-option T} T{ Minor T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL50\fR T} T{ cve-identifier-formatted-incorrectly T} T{ Minor T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL51\fR T} T{ gnutls-sa-identifier-formatted-incorrectly T} T{ Minor T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL52\fR T} T{ unknown-security-identifier T} T{ Minor T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL53\fR T} T{ xsa-identifier-formatted-incorrectly T} T{ Minor T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL54\fR T} T{ missing-default-prepare T} T{ Serious T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL56\fR T} T{ missing-patch-description T} T{ Minor T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL57\fR T} T{ invalid-arch T} T{ Serious T} T{ Certain T} T{ apkbuild-lint T} T{ YES T} T{ \fBAL58\fR T} T{ deprecated-packages T} T{ Serious T} T{ Certain T} T{ aports-lint T} T{ N/A T} T{ \fBAL59\fR T} T{ duplicate-identifier-value T} T{ Serious T} T{ Certain T} T{ secfixes-check T} T{ N/A T} T{ \fBAL61\fR T} T{ bad-version T} T{ Important T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL62\fR T} T{ volatile-source T} T{ Serious T} T{ Certain T} T{ apkbuild-lint T} T{ NO T} T{ \fBAL63\fR T} T{ ghsl-identifier-formatted-incorrectly T} T{ Minor T} T{ Certain T} T{ secfixes-check T} T{ NO T} .TE .sp 1 .SH LABELS TAGS (aports-lint) .PP The following labels and tags are used by the \fBaports-lint\fR program.\& .PP .SS duplicate-package [AL22] .PP The Package being introduced is already present in another repo.\& Solve the conflict by: .PP .PD 0 .IP \(bu 4 If the package in the uppermost repo has more recent changes, merge them.\& .IP \(bu 4 Then delete the package in the upper repo.\& .PD .PP Duplicate packages will shadow each other in the repo and the one with the higher version will win, it can also cause programs to compile against the wrong version of a package.\& E.\&g: if \fBmain/foo-1-r0\fR and \fBtesting/foo-2-r0\fR exist and \fBmain/bar\fR is updated to version 2 which requires \fBfoo>=2-r0\fR then it will fail because it will only find \fBmain/foo-1-r0\fR and not \fBtesting/foo-2-r0\fR.\& .PP Severity: Serious, Certainty: Certain .PP .SS upper-repo-depends [AL16] .PP The package depends on a package in a upper repo.\& The package must be moved to the upper repo or the dependency moved to the repo the package is.\& .PP Packages cannot depend on a package on an upper repo.\& Packages in main cannot depend on packages in other repos.\& Packages in community can depend on main and itself only.\& Packages in testing can depend on main, community and itself only.\& Packages in unmaintained can depend on package on any repo but non-free.\& .PP Severity: Serious, Certainty: Certain .PP .SS duplicate-depends [AL17] .PP The APKBUILD has duplicate depends.\& One of them must be removed.\& .PP Declaring duplicate dependencies is superfluous.\& .PP Severity: Minor, Certainty: Certain .PP .SS upper-repo-makedepends [AL18] .PP The package makedepends on a package in a upper repo.\& The package must be moved to the upper repo or the dependency moved to the repo the package is.\& .PP Packages cannot makedepend on a package on an upper repo.\& Packages in main cannot makedepend on packages in other repos.\& Packages in community can depend on main and itself only.\& Packages in testing can makedepend on main, community and itself only.\& Packages in unmaintained can makedepend on packages of any repo but non-free.\& .PP Severity: Serious, Certainty: Certain .PP .SS duplicate-makedepends [AL19] .PP The APKBUILD has duplicate makedepends.\& One of them must be removed.\& .PP Declaring duplicate dependencies is superfluous.\& .PP Severity: Minor, Certainty: Certain .PP .SS upper-repo-checkdepends [AL20] .PP The package checkdepends on a package in a upper repo.\& The package must be moved to the upper repo or the dependency moved to the repo the package is.\& .PP Packages cannot checkdepend on a package on an upper repo.\& Packages in main cannot checkdepend on packages in other repos.\& Packages in community can checkdepend on main and itself only.\& Packages in testing can checkdepend on main, community and itself only.\& Packages in unmaintained can checkdepend on package on any repo but non-free.\& .PP Severity: Serious, Certainty: Certain .PP .SS duplicate-checkdepends [AL21] .PP The APKBUILD has duplicate checkdepends.\& One of them must be removed.\& .PP Declaring duplicate dependencies is superfluous.\& .PP Severity: Minor, Certainty: Certain .PP .SS pkgname-dirname-mismatch [AL23] .PP The pkgname variable of the APKBUILD has value \fBfoo\fR but the directory in which the APKBUILD is found is not named \fBfoo\fR .PP Severity: Important, Certainty: Certain .PP .SS depends-makedepends-checkdepends-overlap [AL24] .PP A package is present in 2 to 3 of the 3 types of following dependencies: depends, makedepends and checkdepends.\& All of them are installed during creation of the package, please specify only once in the lowest common denominator location.\& .PP Severity: Important, Certainty: Certain .PP .SS deprecated-packages [AL58] .PP A package is present in depends, makedepends or checkdepends that is considered deprecated.\& .PP The deprecated packages are hard-coded into aports-lint with the option of adding custom ones via CUSTOM_DEPRECATED_PACKAGES variable.\& They are considered no longer fit for usage in Alpine Linux and should be removed IMMEDIATELY.\& .PP Severity: Serious, Certainty: Certain .PP .SS missing-patch-description [AL56] .PP A patch specified in `$sources` is missing a description.\& The description should at the very least explain why the patch is necessary.\& .PP Severity: Minor, Certainty: Certain .PP .SH LABELS TAGS (apkbuild-lint) .PP The following labels and tags are used by the \fBapkbuild-lint\fR program .PP .SS default-builddir-value [AL1] .PP The value of builddir matches the default of \fB$srcdir/$pkgname-$pkgver\fR.\& The \fBbuilddir\fR declaration can be removed.\& .PP Starting with v2.\&29.\&0 (Alpine version 3.\&3) of \fBabuild\fR the value is set automatically.\& .PP Some packages are excluded from this as they are built by abuild during bootstrap and as such are built with the pkgname plus the -bootstrap suffix.\& .PP More packages can be added to the exceptions by passing a whitespace-separated list in the variable CUSTOM_BOOTSTRAP_PACKAGES.\& .PP Severity: Minor, Certainty: Certain .PP .SS unnecessary-return-1 [AL2] .PP The APKBUILD has \fB|| return 1\fR statements.\& They can be safely removed.\& .PP Starting with version v2.\&15.\&0 of \fBabuild\fR the building process is executed with \fBset -e\fR effectively adding a \fB|| return 1\fR to every command.\& .PP Severity: Minor, Certainty: Certain .PP .SS pkgname-quoted [AL3] .PP The APKBUILD'\&s \fBpkgname\fR variable is quoted.\& It must not be quoted.\& .PP Severity: Minor, Certainty: Certain .PP .SS pkgver-quoted [AL4] .PP The APKBUILD'\&s \fBpkgver\fR variable is quoted.\& It must not be quoted.\& .PP Severity: Minor, Certainty: Certain .PP .SS empty-variable [AL5] .PP The APKBUILD has variables that are empty values, they can safely be removed.\& .PP Empty variables can be removed to make the APKBUILD smaller and more concise.\& .PP Severity: Minor, Certainty: Certain .PP .SS custom-variable [AL6] .PP The APKBUILD has custom variables that are not prefixed with an underscore.\& prefix the variables with underscore.\& .PP Variables that do no affect behavior of \fBabuild\fR should be prefixed with an underscore so maintainers and contributors can easily distinguish their importance.\& .PP Severity: Important, Certainty: Certain .PP .SS indent-tabs [AL7] .PP The APKBUILD is using spaces instead of tabs for indenting.\& Replace the spaces with tabs.\& .PP APKBUILDs use tab characters (t) not spaces for indentation.\& .PP Severity: Important, Certainty: Certain .PP .SS trailing-whitespace [AL8] .PP The APKBUILD has trailing whitespace characters.\& Remove them.\& .PP Trailing whitespace is superfluous.\& .PP Severity: Important, Certainty: Certain .PP .SS backticks-usage [AL25] .PP The APKBUILD uses backticks for running a shell command, use `$()` instead.\& .PP Severity: Serious, Certainty: Possible .PP .SS function-keyword [AL9] .PP The APKBUILD uses the function keyword to declare a function.\& Use \fBfunction()\fR instead.\& .PP the function keyword is a bashism.\& \fBabuild\fR uses Posix-compliant shell with the \fBlocal\fR keyword.\& .PP Severity: Serious, Certainty: Certain .PP .SS space-before-function-parenthesis [AL10] .PP The APKBUILD has a space character between the name of a function and the parenthesis that denote it is a function.\& Remove the superfluous space.\& .PP Severity: Minor, Certainty: Certain .PP .SS space-after-function-parenthesis [AL11] .PP The APKBUILD doesn'\&t have a space after the function parenthesis or has more than one space.\& Use only one space after the function parenthesis.\& .PP Severity: Minor, Certainty: Certain .PP .SS newline-opening-brace [AL12] .PP The APKBUILD has a newline before the opening brace of a function.\& Put the opening brace in the same line as the declaration with one space after the function parenthesis.\& .PP Severity: Minor, Certainty: Certain .PP .SS superfluous-cd-builddir [AL13] .PP The APKBUILD has \fBcd "$builddir"\fR statements that are superfluous.\& Remove them.\& .PP Staring with v3.\&3.\&0 of \fBabuild\fR the \fBprepare\fR, \fBbuild\fR, \fBcheck\fR and \fBpackage\fR functions automatically have their working directory set to the value of \fBbuilddir\fR.\& It is also possible that there are 2 \fBcd "$builddir"\fR statements one after the other.\& .PP Severity: Minor, Certainty: Possible .PP .SS pkgname-has-uppercase [AL14] .PP pkgname has uppercase characters, pkgname must have only lowercase characters.\& .PP More pkgnames can be added to the exceptions by passing a whitespace-separated list in the variable CUSTOM_UPPERCASE_PKGNAMES.\& .PP Severity: Serious, Certainty: Certain .PP .SS pkgver-has-pkgrel [AL15] .PP pkgver has \fB-r\fR followed by a number, that is reserved for the relaease of a package as defined by the \fBpkgrel\fR variable.\& .PP Severity: Serious, Certainty: Certain .PP .SS _builddir-is-set [AL26] .PP _builddir is set instead of builddir, which is an old variable from before builddir existed as a concept understood by abuild.\& .PP Severity: Serious, Certainty: Certain .PP .SS literal-integer-is-quoted [AL28] .PP A variable declaration containing only integers should not be quoted.\& .PP Severity: Minor, Certainty: Certain .PP .SS pkgname-used-in-source [AL29] .PP "$pkgname" is used in the source url.\& This tightly couples the pkgname to the upstream name, which makes it harder to rename packages or create specialized / variants of packages.\& .PP Instead, use the upstream name fully written out.\& This only counts for the url itself, not the local archive name prefix.\& .PP Severity: Minor, Certainty: Certain .PP .SS double-underscore-in-variable [AL30] .PP Usage of double underscore in variables is forbidden, use always one underscore for variables that are not used by abuild.\& .PP Severity: Minor, Certainty: Certain .PP .SS variable-capitalized [AL31] .PP Variables should have no capitalized letters .PP Severity: Minor, Certainty: Certain .PP .SS braced-variable [AL32] .PP Variable has braces around it while it is not required, remove the braces.\& .PP Severity: Minor, Certainty: Possible .PP .SS cpan-variable [AL35] .PP The variables `cpandepends`, `cpanmakedepends` and `cpancheckdepends` were created by the apkbuild-cpan program but are now deprecated and their contents must be merged into the contents of its respective variable.\& .PP Severity: Minor, Certainty: Certain .PP .SS overwrite-xflags [AL36] .PP Don'\&t overwrite `CFLAGS`, `GOFLAGS`, `CPPFLAGS`, `CXXFLAGS` and `FFLAGS`.\& There flags are generally defined outside the of the APKBUILD and should not be overwritten because they contain important flags that should not be discarded.\& Instead, expand the variable.\& For example: `CFLAGS="$CFLAGS .\&.\&"` .PP It is still possible to change the flags by using variable substitution.\& For example: `CFLAGS="${CFLAGS/-Dflag}"` .PP This list might be expanded as more variables are found that should not be overwritten.\& .PP Severity: Serious, Certainty: Certain .PP .SS invalid-option [AL49] .PP A option in the option= variable has a value that is not used by abuild, while it most likely won'\&t cause any problems it is considered good form to remove it.\& .PP The variable VALID_CUSTOM_OPTIONS can be used to denote other options that are acceptable, it takes a whitespace-separated list.\& .PP Severity: Minor, Certainty: Certain .PP .SS missing-default-prepare [AL54] .PP The prepare() function is defined but a call to default_prepare (which applies all patches in source=) is missing.\& Please add default_prepare where appropriate in the definition of prepare().\& .PP Severity: Serious, Certainty: Certain .PP .SS invalid-arch [AL57] .PP The variable '\&arch'\& in the APKBUILD has an invalid value in it, the only options are the name of the arches used by Alpine Linux and the strings '\&noarch'\& and '\&all'\&.\& .PP The acceptable arches are taken from /usr/share/abuild/functions.\&sh as those are the ones recognized by abuild and thus Alpine Linux as valid arches, if you have other arches, read below.\& .PP The variable CUSTOM_VALID_ARCHES can be used to denote other arches that are to be considered valid, it takes a whitespace-separated list.\& .PP Severity: Serious, Certainty: Certain .PP .SS bad-version [AL61] .PP The pkgver matches a regex for a bad version, this means that the pkgver is a version that is not desirable, like a testing/experimental branch.\& .PP The variable CUSTOM_BAD_VERSIONS can be used to add more pkgname@regexes.\&.\&.\& combinations, separated by whitespace.\& .PP Severity: Important, Certainty: Certain .PP .SS volatile-source [AL62] .PP The given URL is volatile and will change checksum due to unexpected factors.\& .PP The most common example is GitHub pull-requests/GitLab Merge Requests which change as the author pushes commits, another is GitHub commits which might change as GitHub changes their version of Git in their infrastructure.\& .PP Severity: Serious, Certainty: Certain .PP .SH LABELS TAGS (initd-lint) .PP .SS unexpected-shebang-line [AL33] .PP OpenRC service files need to use `#!\&/sbin/openrc-run` to properly work.\& See https://github.\&com/OpenRC/openrc/blob/master/service-script-guide.\&md#syntax-of-service-scripts for more details.\& .PP Severity: Important, Certainty: Certain .PP .SS custom-start-stop-function [AL34] .PP It'\&s discouraged to write custom start / stop function for service files.\& In most cases it suffices to define `command`, `command_args`, and `pidfile`.\& See https://github.\&com/OpenRC/openrc/blob/master/service-script-guide.\&md#dont-write-your-own-startstop-functions for more information.\& .PP Severity: Important, Certainty: Certain .PP .SH LABEL TAGS (secfixes-check) .PP .SS secfixes-missing-colon [AL37] .PP The secfixes header is missing a colon at the end.\& .PP Severity: Serious, Certainty: Certain .PP .SS pkgver-pkgrel-missing-colon [AL38] .PP The pkgver-pkgrel header is colon at the end.\& .PP Severity: Serious, Certainty: Certain .PP .SS pkgver-pkgrel-invalid-pkgver [AL39] .PP The pkgver-pkgrel header has an invalid pkgver.\& .PP Severity: Serious, Certainty: Certain .PP .SS pkgver-pkgrel-invalid-pkgrel [AL40] .PP The pkgver-pkgrel header has an invalid pkgrel.\& .PP Severity: Serious, Certainty: Certain .PP .SS security-identifier-missing-hyphen [AL41] .PP The security identifier is missing a leading hyphen.\& .PP Severity: Serious, Certainty: Certain .PP .SS security-identifier-wrong-indent [AL47] .PP The CVE identifier has too many or too few leading whitespaces, it must have exactly 5 whitespaces between the comment marker and the mapping hyphen.\& .PP Severity: Serious, Certainty: Certain .PP .SS pkgver-pkgrel-wrong-indent [AL48] .PP The pkgver-pkgrel header has too many or too few leading whitespaces, it must have exactly 3 whitespaces between the comment marker and the mapping hyphen.\& .PP Severity: Serious, Certainty: Certain .PP .SS cve-identifier-formatted-incorrectly [AL50] .PP The CVE identifier is not formatted correctly, please check the output string for the reason why.\& .PP Severity: Minor, Certainty: Certain .PP .SS gnutls-sa-identifier-formatted-incorrectly [AL51] .PP The GNUTLS-SA identifier is not formatted correctly, please check the output string for the reason why.\& .PP Severity: Minor, Certainty: Certain .PP .SS unknown-security-identifier [AL52] .PP An unknown identifier was passed, if it is a legitimate identifier then please contact the authors to add support for it.\& .PP Severity: Minor, Certainty: Certain .PP .SS xsa-identifier-formatted-incorrectly [AL53] .PP The XSA identifier is not formatted correctly, please check the output string for the reason why.\& .PP Severity: Minor, Certainty: Certain .PP .SS duplicate-identifier-value [AL59] .PP There are duplicate values of known identifiers.\& While this doesn'\&t cause problems while building it may cause false positives for users that rely on our secdb to know if something is fixed.\& .PP Severity: Serious, Certainty: Certain .PP .SS ghsl-identifier-formatted-incorrectly [AL63] .PP The GHSL identifier is not formatted correctly, please check the output string for the reason why.\& .PP Severity: Minor, Certainty: Certain