summaryrefslogtreecommitdiff
path: root/pkgtools
diff options
context:
space:
mode:
authorrillig <rillig>2015-12-05 10:09:00 +0000
committerrillig <rillig>2015-12-05 10:09:00 +0000
commit884dea2e26dff918d79c94a10f3327c01565374a (patch)
treea68c715fb044c34998385e8a92f5b965bf3e20fa /pkgtools
parent522877497cf10721dd6e6c0064ed514d2157ac5c (diff)
downloadpkgsrc-884dea2e26dff918d79c94a10f3327c01565374a.tar.gz
Code cleanup: converted ALL_CAPS to camelCase
Diffstat (limited to 'pkgtools')
-rw-r--r--pkgtools/pkglint/files/category.go2
-rw-r--r--pkgtools/pkglint/files/dir.go6
-rw-r--r--pkgtools/pkglint/files/distinfo.go6
-rw-r--r--pkgtools/pkglint/files/files.go12
-rw-r--r--pkgtools/pkglint/files/getopt.go3
-rw-r--r--pkgtools/pkglint/files/globaldata.go6
-rw-r--r--pkgtools/pkglint/files/licenses.go2
-rw-r--r--pkgtools/pkglint/files/line.go2
-rw-r--r--pkgtools/pkglint/files/logging.go34
-rw-r--r--pkgtools/pkglint/files/makefiles.go12
-rw-r--r--pkgtools/pkglint/files/mkline.go38
-rw-r--r--pkgtools/pkglint/files/mkline_test.go6
-rw-r--r--pkgtools/pkglint/files/package.go16
-rw-r--r--pkgtools/pkglint/files/patches.go206
-rw-r--r--pkgtools/pkglint/files/pkglint.go54
-rw-r--r--pkgtools/pkglint/files/plist.go2
-rw-r--r--pkgtools/pkglint/files/shell.go302
-rw-r--r--pkgtools/pkglint/files/shell_test.go18
-rw-r--r--pkgtools/pkglint/files/util.go4
-rw-r--r--pkgtools/pkglint/files/vardefs.go1344
-rw-r--r--pkgtools/pkglint/files/vars.go52
-rw-r--r--pkgtools/pkglint/files/vars_test.go4
-rw-r--r--pkgtools/pkglint/files/vartype.go24
-rw-r--r--pkgtools/pkglint/files/vartypecheck.go2
-rw-r--r--pkgtools/pkglint/files/vartypecheck_test.go2
-rw-r--r--pkgtools/pkglint/files/varusecontext.go53
-rw-r--r--pkgtools/pkglint/files/varusecontext_test.go2
27 files changed, 1112 insertions, 1102 deletions
diff --git a/pkgtools/pkglint/files/category.go b/pkgtools/pkglint/files/category.go
index 06dd0acd10f..4c2e5e8665b 100644
--- a/pkgtools/pkglint/files/category.go
+++ b/pkgtools/pkglint/files/category.go
@@ -171,6 +171,6 @@ func checkdirCategory() {
saveAutofixChanges(lines)
if G.opts.Recursive {
- G.todo = append(subdirs, G.todo...)
+ G.todo = append(append([]string(nil), subdirs...), G.todo...)
}
}
diff --git a/pkgtools/pkglint/files/dir.go b/pkgtools/pkglint/files/dir.go
index bad950ef0c0..4c7832c67bb 100644
--- a/pkgtools/pkglint/files/dir.go
+++ b/pkgtools/pkglint/files/dir.go
@@ -10,7 +10,7 @@ func CheckDirent(fname string) {
st, err := os.Lstat(fname)
if err != nil || !st.Mode().IsDir() && !st.Mode().IsRegular() {
- errorf(fname, NO_LINES, "No such file or directory.")
+ errorf(fname, noLines, "No such file or directory.")
return
}
isDir := st.Mode().IsDir()
@@ -22,7 +22,7 @@ func CheckDirent(fname string) {
G.isInfrastructure = matches(absCurrentDir, `/mk/|/mk$`)
G.curPkgsrcdir = findPkgsrcTopdir(G.currentDir)
if G.curPkgsrcdir == "" {
- errorf(fname, NO_LINES, "Cannot determine the pkgsrc root directory for %q.", G.currentDir)
+ errorf(fname, noLines, "Cannot determine the pkgsrc root directory for %q.", G.currentDir)
return
}
@@ -42,6 +42,6 @@ func CheckDirent(fname string) {
case ".":
checkdirToplevel()
default:
- errorf(fname, NO_LINES, "Cannot check directories outside a pkgsrc tree.")
+ errorf(fname, noLines, "Cannot check directories outside a pkgsrc tree.")
}
}
diff --git a/pkgtools/pkglint/files/distinfo.go b/pkgtools/pkglint/files/distinfo.go
index e76d7e624c0..7e54085d245 100644
--- a/pkgtools/pkglint/files/distinfo.go
+++ b/pkgtools/pkglint/files/distinfo.go
@@ -18,7 +18,7 @@ func checklinesDistinfo(lines []*Line) {
if G.pkgContext != nil && hasSuffix(fname, "/lang/php54/distinfo") {
patchesDir = G.curPkgsrcdir + "/lang/php54/patches"
}
- _ = G.opts.DebugMisc && debugf(fname, NO_LINES, "patchesDir=%q", patchesDir)
+ _ = G.opts.DebugMisc && debugf(fname, noLines, "patchesDir=%q", patchesDir)
ck := &distinfoLinesChecker{
fname, patchesDir, isCommitted(fname),
@@ -109,14 +109,14 @@ func (ck *distinfoLinesChecker) checkPatchSha1(line *Line, patchFname, distinfoS
func (ck *distinfoLinesChecker) checkUnrecordedPatches() {
files, err := ioutil.ReadDir(G.currentDir + "/" + ck.patchdir)
if err != nil {
- _ = G.opts.DebugUnchecked && debugf(ck.distinfoFilename, NO_LINES, "Cannot read patchesDir %q: %s", ck.patchdir, err)
+ _ = G.opts.DebugUnchecked && debugf(ck.distinfoFilename, noLines, "Cannot read patchesDir %q: %s", ck.patchdir, err)
return
}
for _, file := range files {
patch := file.Name()
if !ck.patches[patch] {
- errorf(ck.distinfoFilename, NO_LINES, "patch %q is not recorded. Run \"%s makepatchsum\".", ck.patchdir+"/"+patch, confMake)
+ errorf(ck.distinfoFilename, noLines, "patch %q is not recorded. Run \"%s makepatchsum\".", ck.patchdir+"/"+patch, confMake)
}
}
}
diff --git a/pkgtools/pkglint/files/files.go b/pkgtools/pkglint/files/files.go
index 1a211e3ea59..07c66862cc6 100644
--- a/pkgtools/pkglint/files/files.go
+++ b/pkgtools/pkglint/files/files.go
@@ -9,11 +9,11 @@ import (
func LoadNonemptyLines(fname string, joinContinuationLines bool) []*Line {
lines, err := readLines(fname, joinContinuationLines)
if err != nil {
- errorf(fname, NO_LINES, "Cannot be read.")
+ errorf(fname, noLines, "Cannot be read.")
return nil
}
if len(lines) == 0 {
- errorf(fname, NO_LINES, "Must not be empty.")
+ errorf(fname, noLines, "Must not be empty.")
return nil
}
return lines
@@ -22,7 +22,7 @@ func LoadNonemptyLines(fname string, joinContinuationLines bool) []*Line {
func LoadExistingLines(fname string, foldBackslashLines bool) []*Line {
lines, err := readLines(fname, foldBackslashLines)
if lines == nil || err != nil {
- fatalf(fname, NO_LINES, "Cannot be read.")
+ fatalf(fname, noLines, "Cannot be read.")
}
return lines
}
@@ -128,14 +128,14 @@ func saveAutofixChanges(lines []*Line) {
}
err := ioutil.WriteFile(tmpname, []byte(text), 0777)
if err != nil {
- errorf(tmpname, NO_LINES, "Cannot write.")
+ errorf(tmpname, noLines, "Cannot write.")
continue
}
err = os.Rename(tmpname, fname)
if err != nil {
- errorf(fname, NO_LINES, "Cannot overwrite with auto-fixed content.")
+ errorf(fname, noLines, "Cannot overwrite with auto-fixed content.")
continue
}
- notef(fname, NO_LINES, "Has been auto-fixed. Please re-run pkglint.")
+ notef(fname, noLines, "Has been auto-fixed. Please re-run pkglint.")
}
}
diff --git a/pkgtools/pkglint/files/getopt.go b/pkgtools/pkglint/files/getopt.go
index 6cea5d037c9..884cee58eff 100644
--- a/pkgtools/pkglint/files/getopt.go
+++ b/pkgtools/pkglint/files/getopt.go
@@ -37,7 +37,8 @@ func (o *Options) Parse(args []string) (remainingArgs []string, err error) {
arg := args[i]
switch {
case arg == "--":
- return append(remainingArgs, args[i+1:]...), err
+ remainingArgs = append(remainingArgs, args[i+1:]...)
+ return
case hasPrefix(arg, "--"):
skip, err = o.parseLongOption(args, i, arg[2:])
i += skip
diff --git a/pkgtools/pkglint/files/globaldata.go b/pkgtools/pkglint/files/globaldata.go
index f3557bc5c75..bc6299c50b6 100644
--- a/pkgtools/pkglint/files/globaldata.go
+++ b/pkgtools/pkglint/files/globaldata.go
@@ -90,7 +90,7 @@ func (gd *GlobalData) loadDistSites() {
names["MASTER_SITE_SUSE_UPD"] = true
names["MASTER_SITE_LOCAL"] = true
- _ = G.opts.DebugMisc && debugf(fname, NO_LINES, "Loaded %d MASTER_SITE_* URLs.", len(url2name))
+ _ = G.opts.DebugMisc && debugf(fname, noLines, "Loaded %d MASTER_SITE_* URLs.", len(url2name))
gd.masterSiteUrls = url2name
gd.masterSiteVars = names
}
@@ -123,7 +123,7 @@ func (gd *GlobalData) loadTools() {
}
}
if len(toolFiles) <= 1 {
- fatalf(toolFiles[0], NO_LINES, "Too few tool files.")
+ fatalf(toolFiles[0], noLines, "Too few tool files.")
}
tools := make(map[string]bool)
@@ -329,7 +329,7 @@ func (gd *GlobalData) loadDocChanges() {
docdir := G.globalData.pkgsrcdir + "/doc"
files, err := ioutil.ReadDir(docdir)
if err != nil {
- fatalf(docdir, NO_LINES, "Cannot be read.")
+ fatalf(docdir, noLines, "Cannot be read.")
}
var fnames []string
diff --git a/pkgtools/pkglint/files/licenses.go b/pkgtools/pkglint/files/licenses.go
index 858017bb98b..d04ca062263 100644
--- a/pkgtools/pkglint/files/licenses.go
+++ b/pkgtools/pkglint/files/licenses.go
@@ -23,7 +23,7 @@ func checktoplevelUnusedLicenses() {
licensepath := licensedir + "/" + licensename
if fileExists(licensepath) {
if !G.ipcUsedLicenses[licensename] {
- warnf(licensepath, NO_LINES, "This license seems to be unused.")
+ warnf(licensepath, noLines, "This license seems to be unused.")
}
}
}
diff --git a/pkgtools/pkglint/files/line.go b/pkgtools/pkglint/files/line.go
index ba256fbdc05..66eb1cbef45 100644
--- a/pkgtools/pkglint/files/line.go
+++ b/pkgtools/pkglint/files/line.go
@@ -44,7 +44,7 @@ func NewLine(fname, linenos, text string, rawLines []*RawLine) *Line {
}
func (ln *Line) rawLines() []*RawLine {
- return append(ln.before, append(ln.raw, ln.after...)...)
+ return append(append(append([]*RawLine(nil), ln.before...), ln.raw...), ln.after...)
}
func (ln *Line) printSource(out io.Writer) {
diff --git a/pkgtools/pkglint/files/logging.go b/pkgtools/pkglint/files/logging.go
index cf6df702b5e..bd76f6c343a 100644
--- a/pkgtools/pkglint/files/logging.go
+++ b/pkgtools/pkglint/files/logging.go
@@ -4,8 +4,8 @@ import (
"io"
)
-const NO_FILE = ""
-const NO_LINES = ""
+const noFile = ""
+const noLines = ""
type LogLevel struct {
traditionalName string
@@ -13,17 +13,17 @@ type LogLevel struct {
}
var (
- LL_FATAL = LogLevel{"FATAL", "fatal"}
- LL_ERROR = LogLevel{"ERROR", "error"}
- LL_WARN = LogLevel{"WARN", "warning"}
- LL_NOTE = LogLevel{"NOTE", "note"}
- LL_DEBUG = LogLevel{"DEBUG", "debug"}
+ llFatal = LogLevel{"FATAL", "fatal"}
+ llError = LogLevel{"ERROR", "error"}
+ llWarn = LogLevel{"WARN", "warning"}
+ llNote = LogLevel{"NOTE", "note"}
+ llDebug = LogLevel{"DEBUG", "debug"}
)
-var dummyLine = NewLine(NO_FILE, NO_LINES, "", nil)
+var dummyLine = NewLine(noFile, noLines, "", nil)
func logMessage(level LogLevel, fname, lineno, message string) {
- if fname != NO_FILE {
+ if fname != noFile {
fname = cleanpath(fname)
}
@@ -32,10 +32,10 @@ func logMessage(level LogLevel, fname, lineno, message string) {
text += sep + level.traditionalName + ":"
sep = " "
}
- if fname != NO_FILE {
+ if fname != noFile {
text += sep + fname
sep = ": "
- if lineno != NO_LINES {
+ if lineno != noLines {
text += ":" + lineno
}
}
@@ -44,7 +44,7 @@ func logMessage(level LogLevel, fname, lineno, message string) {
sep = " "
}
text += sep + message + "\n"
- if level != LL_FATAL {
+ if level != llFatal {
io.WriteString(G.logOut, text)
} else {
io.WriteString(G.logErr, text)
@@ -53,29 +53,29 @@ func logMessage(level LogLevel, fname, lineno, message string) {
func fatalf(fname, lineno, format string, args ...interface{}) bool {
message := sprintf(format, args...)
- logMessage(LL_FATAL, fname, lineno, message)
+ logMessage(llFatal, fname, lineno, message)
panic(pkglintFatal{})
}
func errorf(fname, lineno, format string, args ...interface{}) bool {
message := sprintf(format, args...)
- logMessage(LL_ERROR, fname, lineno, message)
+ logMessage(llError, fname, lineno, message)
G.errors++
return true
}
func warnf(fname, lineno, format string, args ...interface{}) bool {
message := sprintf(format, args...)
- logMessage(LL_WARN, fname, lineno, message)
+ logMessage(llWarn, fname, lineno, message)
G.warnings++
return true
}
func notef(fname, lineno, format string, args ...interface{}) bool {
message := sprintf(format, args...)
- logMessage(LL_NOTE, fname, lineno, message)
+ logMessage(llNote, fname, lineno, message)
return true
}
func debugf(fname, lineno, format string, args ...interface{}) bool {
message := sprintf(format, args...)
- logMessage(LL_DEBUG, fname, lineno, message)
+ logMessage(llDebug, fname, lineno, message)
return true
}
diff --git a/pkgtools/pkglint/files/makefiles.go b/pkgtools/pkglint/files/makefiles.go
index 49c991fd03d..681712e7105 100644
--- a/pkgtools/pkglint/files/makefiles.go
+++ b/pkgtools/pkglint/files/makefiles.go
@@ -479,22 +479,22 @@ func ChecklinesMk(lines []*Line) {
}
// Check if any of the value's types is not guessed.
- guessed := GUESSED
+ guessed := guGuessed
for _, value := range splitOnSpace(values) {
if m, vname := match1(value, `^\$\{(.*)\}`); m {
vartype := getVariableType(line, vname)
if vartype != nil && !vartype.guessed {
- guessed = NOT_GUESSED
+ guessed = guNotGuessed
}
}
}
- forLoopType := &Vartype{LK_SPACE, CheckvarUnchecked, []AclEntry{{"*", "pu"}}, guessed}
+ forLoopType := &Vartype{lkSpace, CheckvarUnchecked, []AclEntry{{"*", "pu"}}, guessed}
forLoopContext := &VarUseContext{
- VUC_TIME_LOAD,
+ vucTimeParse,
forLoopType,
- VUC_SHW_FOR,
- VUC_EXT_WORD,
+ vucQuotFor,
+ vucExtentWord,
}
for _, fvar := range extractUsedVariables(line, values) {
checklineMkVaruse(line, fvar, "", forLoopContext)
diff --git a/pkgtools/pkglint/files/mkline.go b/pkgtools/pkglint/files/mkline.go
index e4f8201309f..e72005ec76d 100644
--- a/pkgtools/pkglint/files/mkline.go
+++ b/pkgtools/pkglint/files/mkline.go
@@ -57,7 +57,7 @@ func checklineMkVaruse(line *Line, varname string, mod string, vuc *VarUseContex
vartype := getVariableType(line, varname)
if G.opts.WarnExtra &&
- (vartype == nil || vartype.guessed == GUESSED) &&
+ (vartype == nil || vartype.guessed == guGuessed) &&
!varIsUsed(varname) &&
(G.mkContext == nil || !G.mkContext.forVars[varname]) {
line.warnf("%s is used but not defined. Spelling mistake?", varname)
@@ -73,11 +73,11 @@ func checklineMkVaruse(line *Line, varname string, mod string, vuc *VarUseContex
needsQuoting := variableNeedsQuoting(line, varname, vuc)
- if vuc.shellword == VUC_SHW_FOR {
+ if vuc.shellword == vucQuotFor {
checklineMkVaruseFor(line, varname, vartype, needsQuoting)
}
- if G.opts.WarnQuoting && vuc.shellword != VUC_SHW_UNKNOWN && needsQuoting != NQ_DONT_KNOW {
+ if G.opts.WarnQuoting && vuc.shellword != vucQuotUnknown && needsQuoting != nqDontKnow {
checklineMkVaruseShellword(line, varname, vartype, vuc, mod, needsQuoting)
}
@@ -102,10 +102,10 @@ func checklineMkVarusePerm(line *Line, varname string, vuc *VarUseContext) {
isIndirect := false
switch {
- case vuc.vartype != nil && vuc.vartype.guessed == GUESSED:
+ case vuc.vartype != nil && vuc.vartype.guessed == guGuessed:
// Don't warn about unknown variables.
- case vuc.time == VUC_TIME_LOAD && !contains(perms, "p"):
+ case vuc.time == vucTimeParse && !contains(perms, "p"):
isLoadTime = true
case vuc.vartype != nil && contains(vuc.vartype.union(), "p") && !contains(perms, "p"):
@@ -177,10 +177,10 @@ func checklineMkVaruseFor(line *Line, varname string, vartype *Vartype, needsQuo
case vartype == nil:
// Cannot check anything here.
- case vartype.kindOfList == LK_SPACE:
+ case vartype.kindOfList == lkSpace:
// Fine
- case needsQuoting == NQ_DOESNT_MATTER || needsQuoting == NQ_NO:
+ case needsQuoting == nqDoesntMatter || needsQuoting == nqNo:
// Fine, this variable is not supposed to contain special characters.
default:
@@ -212,8 +212,8 @@ func checklineMkVaruseShellword(line *Line, varname string, vartype *Vartype, vu
if mod == ":M*:Q" && !needMstar {
line.notef("The :M* modifier is not needed here.")
- } else if mod != correctMod && needsQuoting == NQ_YES {
- if vuc.shellword == VUC_SHW_PLAIN {
+ } else if mod != correctMod && needsQuoting == nqYes {
+ if vuc.shellword == vucQuotPlain {
line.warnf("Please use ${%s%s} instead of ${%s%s}.", varname, correctMod, varname, mod)
} else {
line.warnf("Please use ${%s%s} instead of ${%s%s} and make sure the variable appears outside of any quoting characters.", varname, correctMod, varname, mod)
@@ -240,10 +240,10 @@ func checklineMkVaruseShellword(line *Line, varname string, vartype *Vartype, vu
}
switch needsQuoting {
- case NQ_NO:
+ case nqNo:
line.warnf("The :Q operator should not be used for ${%s} here.", varname)
line.explain(expl...)
- case NQ_DOESNT_MATTER:
+ case nqDoesntMatter:
line.notef("The :Q operator isn't necessary for ${%s} here.", varname)
line.explain(expl...)
}
@@ -407,18 +407,18 @@ func checklineMkVarassign(line *Line, varname, op, value, comment string) {
}
}
- time := VUC_TIME_RUN
+ time := vucTimeRun
switch op {
case ":=", "!=":
- time = VUC_TIME_LOAD
+ time = vucTimeParse
}
usedVars := extractUsedVariables(line, value)
vuc := &VarUseContext{
time,
getVariableType(line, varname),
- VUC_SHW_UNKNOWN,
- VUC_EXTENT_UNKNOWN}
+ vucQuotUnknown,
+ vucExtentUnknown}
for _, usedVar := range usedVars {
checklineMkVaruse(line, usedVar, "", vuc)
}
@@ -507,12 +507,12 @@ func checklineMkVartype(line *Line, varname, op, value, comment string) {
case op == "!=":
_ = G.opts.DebugMisc && line.debugf("Use of !=: %q", value)
- case vartype.kindOfList == LK_NONE:
+ case vartype.kindOfList == lkNone:
checklineMkVartypePrimitive(line, varname, vartype.checker, op, value, comment, vartype.isConsideredList(), vartype.guessed)
default:
var words []string
- if vartype.kindOfList == LK_SPACE {
+ if vartype.kindOfList == lkSpace {
words = splitOnSpace(value)
} else {
words, _ = splitIntoShellwords(line, value)
@@ -520,7 +520,7 @@ func checklineMkVartype(line *Line, varname, op, value, comment string) {
for _, word := range words {
checklineMkVartypePrimitive(line, varname, vartype.checker, op, word, comment, true, vartype.guessed)
- if vartype.kindOfList != LK_SPACE {
+ if vartype.kindOfList != lkSpace {
checklineMkShellword(line, word, true)
}
}
@@ -533,7 +533,7 @@ func checklineMkVartype(line *Line, varname, op, value, comment string) {
func checklineMkVartypePrimitive(line *Line, varname string, checker *VarChecker, op, value, comment string, isList bool, guessed Guessed) {
defer tracecall("checklineMkVartypePrimitive", varname, op, value, comment, isList, guessed)()
- ctx := &VartypeCheck{line, varname, op, value, "", comment, isList, guessed == GUESSED}
+ ctx := &VartypeCheck{line, varname, op, value, "", comment, isList, guessed == guGuessed}
ctx.valueNovar = withoutMakeVariables(line, value, isList)
checker.checker(ctx)
diff --git a/pkgtools/pkglint/files/mkline_test.go b/pkgtools/pkglint/files/mkline_test.go
index 5092b8fac4c..c4d0657910c 100644
--- a/pkgtools/pkglint/files/mkline_test.go
+++ b/pkgtools/pkglint/files/mkline_test.go
@@ -11,14 +11,14 @@ func (s *Suite) TestChecklineMkVartype_SimpleType(c *check.C) {
vartype1 := G.globalData.vartypes["COMMENT"]
c.Assert(vartype1, check.NotNil)
- c.Check(vartype1.guessed, equals, NOT_GUESSED)
+ c.Check(vartype1.guessed, equals, guNotGuessed)
vartype := getVariableType(line, "COMMENT")
c.Assert(vartype, check.NotNil)
c.Check(vartype.checker.name, equals, "Comment")
- c.Check(vartype.guessed, equals, NOT_GUESSED)
- c.Check(vartype.kindOfList, equals, LK_NONE)
+ c.Check(vartype.guessed, equals, guNotGuessed)
+ c.Check(vartype.kindOfList, equals, lkNone)
checklineMkVartype(line, "COMMENT", "=", "A nice package", "")
diff --git a/pkgtools/pkglint/files/package.go b/pkgtools/pkglint/files/package.go
index f5a1c716990..57bdd429e7d 100644
--- a/pkgtools/pkglint/files/package.go
+++ b/pkgtools/pkglint/files/package.go
@@ -68,7 +68,7 @@ func checkdirPackage(pkgpath string) {
// we need to handle the Makefile first to get some variables
lines := loadPackageMakefile(G.currentDir + "/Makefile")
if lines == nil {
- errorf(G.currentDir+"/Makefile", NO_LINES, "Cannot be read.")
+ errorf(G.currentDir+"/Makefile", noLines, "Cannot be read.")
return
}
@@ -116,12 +116,12 @@ func checkdirPackage(pkgpath string) {
if G.opts.CheckDistinfo && G.opts.CheckPatches {
if havePatches && !haveDistinfo {
- warnf(G.currentDir+"/"+ctx.distinfoFile, NO_LINES, "File not found. Please run \"%s makepatchsum\".", confMake)
+ warnf(G.currentDir+"/"+ctx.distinfoFile, noLines, "File not found. Please run \"%s makepatchsum\".", confMake)
}
}
if !isEmptyDir(G.currentDir + "/scripts") {
- warnf(G.currentDir+"/scripts", NO_LINES, "This directory and its contents are deprecated! Please call the script(s) explicitly from the corresponding target(s) in the pkg's Makefile.")
+ warnf(G.currentDir+"/scripts", noLines, "This directory and its contents are deprecated! Please call the script(s) explicitly from the corresponding target(s) in the pkg's Makefile.")
}
}
@@ -134,16 +134,16 @@ func checkfilePackageMakefile(fname string, lines []*Line) {
vardef["META_PACKAGE"] == nil &&
!fileExists(G.currentDir+"/"+G.pkgContext.pkgdir+"/PLIST") &&
!fileExists(G.currentDir+"/"+G.pkgContext.pkgdir+"/PLIST.common") {
- warnf(fname, NO_LINES, "Neither PLIST nor PLIST.common exist, and PLIST_SRC is unset. Are you sure PLIST handling is ok?")
+ warnf(fname, noLines, "Neither PLIST nor PLIST.common exist, and PLIST_SRC is unset. Are you sure PLIST handling is ok?")
}
if (vardef["NO_CHECKSUM"] != nil || vardef["META_PACKAGE"] != nil) && isEmptyDir(G.currentDir+"/"+G.pkgContext.patchdir) {
if distinfoFile := G.currentDir + "/" + G.pkgContext.distinfoFile; fileExists(distinfoFile) {
- warnf(distinfoFile, NO_LINES, "This file should not exist if NO_CHECKSUM or META_PACKAGE is set.")
+ warnf(distinfoFile, noLines, "This file should not exist if NO_CHECKSUM or META_PACKAGE is set.")
}
} else {
if distinfoFile := G.currentDir + "/" + G.pkgContext.distinfoFile; !containsVarRef(distinfoFile) && !fileExists(distinfoFile) {
- warnf(distinfoFile, NO_LINES, "File not found. Please run \"%s makesum\".", confMake)
+ warnf(distinfoFile, noLines, "File not found. Please run \"%s makesum\".", confMake)
}
}
@@ -153,7 +153,7 @@ func checkfilePackageMakefile(fname string, lines []*Line) {
}
if vardef["LICENSE"] == nil {
- errorf(fname, NO_LINES, "Each package must define its LICENSE.")
+ errorf(fname, noLines, "Each package must define its LICENSE.")
}
if vardef["GNU_CONFIGURE"] != nil && vardef["USE_LANGUAGES"] != nil {
@@ -208,7 +208,7 @@ func checkfilePackageMakefile(fname string, lines []*Line) {
checkpackagePossibleDowngrade()
if vardef["COMMENT"] == nil {
- warnf(fname, NO_LINES, "No COMMENT given.")
+ warnf(fname, noLines, "No COMMENT given.")
}
if vardef["USE_IMAKE"] != nil && vardef["USE_X11"] != nil {
diff --git a/pkgtools/pkglint/files/patches.go b/pkgtools/pkglint/files/patches.go
index 86f454256a8..b3c82439abd 100644
--- a/pkgtools/pkglint/files/patches.go
+++ b/pkgtools/pkglint/files/patches.go
@@ -10,13 +10,13 @@ import (
type FileType int
const (
- FT_SOURCE FileType = iota
- FT_SHELL
- FT_MAKE
- FT_TEXT
- FT_CONFIGURE
- FT_IGNORE
- FT_UNKNOWN
+ ftSource FileType = iota
+ ftShell
+ ftMakefile
+ ftText
+ ftConfigure
+ ftIgnore
+ ftUnknown
)
// This is used to select the proper subroutine for detecting absolute pathnames.
@@ -27,24 +27,24 @@ func guessFileType(line *Line, fname string) FileType {
switch {
case matches(basename, `^I?[Mm]akefile|\.ma?k$`):
- return FT_MAKE
+ return ftMakefile
case basename == "configure" || basename == "configure.ac":
- return FT_CONFIGURE
+ return ftConfigure
}
switch ext {
case "m4", "sh":
- return FT_SHELL
+ return ftShell
case "c", "cc", "cpp", "cxx", "el", "h", "hh", "hpp", "l", "pl", "pm", "py", "s", "t", "y":
- return FT_SOURCE
+ return ftSource
case "conf", "html", "info", "man", "po", "tex", "texi", "texinfo", "txt", "xml":
- return FT_TEXT
+ return ftText
case "":
- return FT_UNKNOWN
+ return ftUnknown
}
_ = G.opts.DebugMisc && line.debugf("Unknown file type for %q", fname)
- return FT_UNKNOWN
+ return ftUnknown
}
func checkwordAbsolutePathname(line *Line, word string) {
@@ -136,20 +136,20 @@ const (
type PatchState string
const (
- PST_OUTSIDE PatchState = "PST_OUTSIDE" // Outside of a diff
-
- PST_CTX_FILE_ADD PatchState = "PST_CTX_FILE_ADD" // After the DeleteFile line of a context diff
- PST_CTX_HUNK PatchState = "PST_CTX_HUNK" // After the AddFile line of a context diff
- PST_CTX_HUNK_DEL PatchState = "PST_CTX_HUNK_DEL" //
- PST_CTX_LINE_DEL0 PatchState = "PST_CTX_LINE_DEL0" //
- PST_CTX_LINE_DEL PatchState = "PST_CTX_LINE_DEL" //
- PST_CTX_LINE_ADD0 PatchState = "PST_CTX_LINE_ADD0" //
- PST_CTX_LINE_ADD PatchState = "PST_CTX_LINE_ADD" //
-
- PST_UNI_FILE_DEL_ERR PatchState = "PST_UNI_FILE_DEL_ERR" // Sometimes, the DeleteFile and AddFile are reversed
- PST_UNI_FILE_ADD PatchState = "PST_UNI_FILE_ADD" // After the DeleteFile line of a unified diff
- PST_UNI_HUNK PatchState = "PST_UNI_HUNK" // After the AddFile line of a unified diff
- PST_UNI_LINE PatchState = "PST_UNI_LINE" // After reading the hunk header
+ pstOutside PatchState = "pstOutside" // Outside of a diff
+
+ pstCtxFileAdd PatchState = "pstCtxFileAdd" // After the DeleteFile line of a context diff
+ pstCtxHunk PatchState = "pstCtxHunk" // After the AddFile line of a context diff
+ pstCtxHunkDel PatchState = "pstCtxHunkDel" //
+ pstCtxLineDel0 PatchState = "pstCtxLineDel0" //
+ pstCtxLineDel PatchState = "pstCtxLineDel" //
+ pstCtxLineAdd0 PatchState = "pstCtxLineAdd0" //
+ pstCtxLineAdd PatchState = "pstCtxLineAdd" //
+
+ pstUniFileDelErr PatchState = "pstUniFileDelErr" // Sometimes, the DeleteFile and AddFile are reversed
+ pstUniFileAdd PatchState = "pstUniFileAdd" // After the DeleteFile line of a unified diff
+ pstUniHunk PatchState = "pstUniHunk" // After the AddFile line of a unified diff
+ pstUniLine PatchState = "pstUniLine" // After reading the hunk header
)
func ptNop(ctx *CheckPatchContext) {}
@@ -202,27 +202,27 @@ func (ctx *CheckPatchContext) checkBeginDiff() {
}
var patchTransitions = map[PatchState][]transition{
- PST_OUTSIDE: {
- {rePatchEmpty, PST_OUTSIDE, (*CheckPatchContext).checkOutside},
- {rePatchTextError, PST_OUTSIDE, (*CheckPatchContext).checkOutside},
- {rePatchCtxFileDel, PST_CTX_FILE_ADD, func(ctx *CheckPatchContext) {
+ pstOutside: {
+ {rePatchEmpty, pstOutside, (*CheckPatchContext).checkOutside},
+ {rePatchTextError, pstOutside, (*CheckPatchContext).checkOutside},
+ {rePatchCtxFileDel, pstCtxFileAdd, func(ctx *CheckPatchContext) {
ctx.checkBeginDiff()
ctx.line.warnf("Please use unified diffs (diff -u) for patches.")
}},
- {rePatchUniFileDel, PST_UNI_FILE_ADD, (*CheckPatchContext).checkBeginDiff},
- {rePatchUniFileAdd, PST_UNI_FILE_DEL_ERR, ptUniFileAdd},
- {rePatchNonempty, PST_OUTSIDE, (*CheckPatchContext).checkOutside},
+ {rePatchUniFileDel, pstUniFileAdd, (*CheckPatchContext).checkBeginDiff},
+ {rePatchUniFileAdd, pstUniFileDelErr, ptUniFileAdd},
+ {rePatchNonempty, pstOutside, (*CheckPatchContext).checkOutside},
},
- PST_UNI_FILE_DEL_ERR: {
- {rePatchUniFileDel, PST_UNI_HUNK, func(ctx *CheckPatchContext) {
+ pstUniFileDelErr: {
+ {rePatchUniFileDel, pstUniHunk, func(ctx *CheckPatchContext) {
ctx.line.warnf("Unified diff headers should be first ---, then +++.")
}},
- {"", PST_OUTSIDE, ptNop},
+ {"", pstOutside, ptNop},
},
- PST_CTX_FILE_ADD: {
- {rePatchCtxFileAdd, PST_CTX_HUNK, func(ctx *CheckPatchContext) {
+ pstCtxFileAdd: {
+ {rePatchCtxFileAdd, pstCtxHunk, func(ctx *CheckPatchContext) {
ctx.currentFilename = ctx.m[1]
ctx.currentFiletype = new(FileType)
*ctx.currentFiletype = guessFileType(ctx.line, ctx.currentFilename)
@@ -232,15 +232,15 @@ var patchTransitions = map[PatchState][]transition{
}},
},
- PST_CTX_HUNK: {
- {rePatchCtxHunk, PST_CTX_HUNK_DEL, func(ctx *CheckPatchContext) {
+ pstCtxHunk: {
+ {rePatchCtxHunk, pstCtxHunkDel, func(ctx *CheckPatchContext) {
ctx.hunks++
}},
- {"", PST_OUTSIDE, ptNop},
+ {"", pstOutside, ptNop},
},
- PST_CTX_HUNK_DEL: {
- {rePatchCtxHunkDel, PST_CTX_LINE_DEL0, func(ctx *CheckPatchContext) {
+ pstCtxHunkDel: {
+ {rePatchCtxHunkDel, pstCtxLineDel0, func(ctx *CheckPatchContext) {
if ctx.m[2] != "" {
ctx.dellines = 1 + toInt(ctx.m[2]) - toInt(ctx.m[1])
} else {
@@ -249,17 +249,17 @@ var patchTransitions = map[PatchState][]transition{
}},
},
- PST_CTX_LINE_DEL0: {
- {rePatchCtxLineContext, PST_CTX_LINE_DEL, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(1, 0, PST_CTX_LINE_DEL0)
+ pstCtxLineDel0: {
+ {rePatchCtxLineContext, pstCtxLineDel, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(1, 0, pstCtxLineDel0)
}},
- {rePatchCtxLineDel, PST_CTX_LINE_DEL, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(1, 0, PST_CTX_LINE_DEL0)
+ {rePatchCtxLineDel, pstCtxLineDel, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(1, 0, pstCtxLineDel0)
}},
- {rePatchCtxLineMod, PST_CTX_LINE_DEL, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(1, 0, PST_CTX_LINE_DEL0)
+ {rePatchCtxLineMod, pstCtxLineDel, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(1, 0, pstCtxLineDel0)
}},
- {rePatchCtxHunkAdd, PST_CTX_LINE_ADD0, func(ctx *CheckPatchContext) {
+ {rePatchCtxHunkAdd, pstCtxLineAdd0, func(ctx *CheckPatchContext) {
ctx.dellines = 0
if 2 < len(ctx.m) {
ctx.addlines = 1 + toInt(ctx.m[2]) - toInt(ctx.m[1])
@@ -269,59 +269,59 @@ var patchTransitions = map[PatchState][]transition{
}},
},
- PST_CTX_LINE_DEL: {
- {rePatchCtxLineContext, PST_CTX_LINE_DEL, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(1, 0, PST_CTX_LINE_DEL0)
+ pstCtxLineDel: {
+ {rePatchCtxLineContext, pstCtxLineDel, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(1, 0, pstCtxLineDel0)
}},
- {rePatchCtxLineDel, PST_CTX_LINE_DEL, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(1, 0, PST_CTX_LINE_DEL0)
+ {rePatchCtxLineDel, pstCtxLineDel, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(1, 0, pstCtxLineDel0)
}},
- {rePatchCtxLineMod, PST_CTX_LINE_DEL, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(1, 0, PST_CTX_LINE_DEL0)
+ {rePatchCtxLineMod, pstCtxLineDel, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(1, 0, pstCtxLineDel0)
}},
- {"", PST_CTX_LINE_DEL0, func(ctx *CheckPatchContext) {
+ {"", pstCtxLineDel0, func(ctx *CheckPatchContext) {
if ctx.dellines != 0 {
ctx.line.warnf("Invalid number of deleted lines (%d missing).", ctx.dellines)
}
}},
},
- PST_CTX_LINE_ADD0: {
- {rePatchCtxLineContext, PST_CTX_LINE_ADD, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(0, 1, PST_CTX_HUNK)
+ pstCtxLineAdd0: {
+ {rePatchCtxLineContext, pstCtxLineAdd, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(0, 1, pstCtxHunk)
}},
- {rePatchCtxLineMod, PST_CTX_LINE_ADD, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(0, 1, PST_CTX_HUNK)
+ {rePatchCtxLineMod, pstCtxLineAdd, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(0, 1, pstCtxHunk)
}},
- {rePatchCtxLineAdd, PST_CTX_LINE_ADD, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(0, 1, PST_CTX_HUNK)
+ {rePatchCtxLineAdd, pstCtxLineAdd, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(0, 1, pstCtxHunk)
}},
- {"", PST_CTX_HUNK, ptNop},
+ {"", pstCtxHunk, ptNop},
},
- PST_CTX_LINE_ADD: {
- {rePatchCtxLineContext, PST_CTX_LINE_ADD, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(0, 1, PST_CTX_HUNK)
+ pstCtxLineAdd: {
+ {rePatchCtxLineContext, pstCtxLineAdd, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(0, 1, pstCtxHunk)
}},
- {rePatchCtxLineMod, PST_CTX_LINE_ADD, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(0, 1, PST_CTX_HUNK)
+ {rePatchCtxLineMod, pstCtxLineAdd, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(0, 1, pstCtxHunk)
}},
- {rePatchCtxLineAdd, PST_CTX_LINE_ADD, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(0, 1, PST_CTX_HUNK)
+ {rePatchCtxLineAdd, pstCtxLineAdd, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(0, 1, pstCtxHunk)
}},
- {"", PST_CTX_LINE_ADD0, func(ctx *CheckPatchContext) {
+ {"", pstCtxLineAdd0, func(ctx *CheckPatchContext) {
if ctx.addlines != 0 {
ctx.line.warnf("Invalid number of added lines (%d missing).", ctx.addlines)
}
}},
},
- PST_UNI_FILE_ADD: {
- {rePatchUniFileAdd, PST_UNI_HUNK, ptUniFileAdd},
+ pstUniFileAdd: {
+ {rePatchUniFileAdd, pstUniHunk, ptUniFileAdd},
},
- PST_UNI_HUNK: {
- {rePatchUniHunk, PST_UNI_LINE, func(ctx *CheckPatchContext) {
+ pstUniHunk: {
+ {rePatchUniHunk, pstUniLine, func(ctx *CheckPatchContext) {
m := ctx.m
if m[1] != "" {
ctx.dellines = toInt(m[2])
@@ -350,33 +350,33 @@ var patchTransitions = map[PatchState][]transition{
ctx.leadingContextLines = 0
ctx.trailingContextLines = 0
}},
- {"", PST_OUTSIDE, func(ctx *CheckPatchContext) {
+ {"", pstOutside, func(ctx *CheckPatchContext) {
if ctx.hunks == 0 {
ctx.line.warnf("No hunks for file %q.", ctx.currentFilename)
}
}},
},
- PST_UNI_LINE: {
- {rePatchUniLineDel, PST_UNI_LINE, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(1, 0, PST_UNI_HUNK)
+ pstUniLine: {
+ {rePatchUniLineDel, pstUniLine, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(1, 0, pstUniHunk)
}},
- {rePatchUniLineAdd, PST_UNI_LINE, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(0, 1, PST_UNI_HUNK)
+ {rePatchUniLineAdd, pstUniLine, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(0, 1, pstUniHunk)
}},
- {rePatchUniLineContext, PST_UNI_LINE, func(ctx *CheckPatchContext) {
- ctx.checkHunkLine(1, 1, PST_UNI_HUNK)
+ {rePatchUniLineContext, pstUniLine, func(ctx *CheckPatchContext) {
+ ctx.checkHunkLine(1, 1, pstUniHunk)
}},
- {rePatchUniLineNoNewline, PST_UNI_LINE, func(ctx *CheckPatchContext) {
+ {rePatchUniLineNoNewline, pstUniLine, func(ctx *CheckPatchContext) {
}},
- {rePatchEmpty, PST_UNI_LINE, func(ctx *CheckPatchContext) {
+ {rePatchEmpty, pstUniLine, func(ctx *CheckPatchContext) {
if G.opts.WarnSpace {
ctx.line.notef("Leading white-space missing in hunk.")
ctx.line.replaceRegex(`^`, " ")
}
- ctx.checkHunkLine(1, 1, PST_UNI_HUNK)
+ ctx.checkHunkLine(1, 1, pstUniHunk)
}},
- {"", PST_UNI_HUNK, func(ctx *CheckPatchContext) {
+ {"", pstUniHunk, func(ctx *CheckPatchContext) {
if ctx.dellines != 0 || ctx.addlines != 0 {
ctx.line.warnf("Unexpected end of hunk (-%d,+%d expected).", ctx.dellines, ctx.addlines)
}
@@ -389,7 +389,7 @@ func checklinesPatch(lines []*Line) {
checklineRcsid(lines[0], ``, "")
- ctx := CheckPatchContext{state: PST_OUTSIDE, needEmptyLineNow: true}
+ ctx := CheckPatchContext{state: pstOutside, needEmptyLineNow: true}
for lineno := 1; lineno < len(lines); {
line := lines[lineno]
text := line.text
@@ -424,13 +424,13 @@ func checklinesPatch(lines []*Line) {
if !found {
ctx.line.errorf("Internal pkglint error: checklinesPatch state=%s", ctx.state)
- ctx.state = PST_OUTSIDE
+ ctx.state = pstOutside
lineno++
}
}
fname := lines[0].fname
- for ctx.state != PST_OUTSIDE {
+ for ctx.state != pstOutside {
_ = G.opts.DebugPatches &&
debugf(fname, "EOF", "state=%s hunks=%d del=%d add=%d",
ctx.state, ctx.hunks, ctx.dellines, ctx.addlines)
@@ -458,9 +458,9 @@ func checklinesPatch(lines []*Line) {
}
if ctx.patchedFiles > 1 {
- warnf(fname, NO_LINES, "Contains patches for %d files, should be only one.", ctx.patchedFiles)
+ warnf(fname, noLines, "Contains patches for %d files, should be only one.", ctx.patchedFiles)
} else if ctx.patchedFiles == 0 {
- errorf(fname, NO_LINES, "Contains no patch.")
+ errorf(fname, noLines, "Contains no patch.")
}
checklinesTrailingEmptyLines(lines)
@@ -523,8 +523,8 @@ func (ctx *CheckPatchContext) checkAddedContents() {
addedText := ctx.m[1]
switch *ctx.currentFiletype {
- case FT_SHELL:
- case FT_MAKE:
+ case ftShell:
+ case ftMakefile:
// This check is not as accurate as the similar one in checklineMkShelltext.
shellwords, _ := splitIntoShellwords(line, addedText)
for _, shellword := range shellwords {
@@ -532,9 +532,9 @@ func (ctx *CheckPatchContext) checkAddedContents() {
checklineMkAbsolutePathname(line, shellword)
}
}
- case FT_SOURCE:
+ case ftSource:
checklineSourceAbsolutePathname(line, addedText)
- case FT_CONFIGURE:
+ case ftConfigure:
if matches(addedText, `: Avoid regenerating within pkgsrc$`) {
line.errorf("This code must not be included in patches.")
line.explain(
@@ -543,7 +543,7 @@ func (ctx *CheckPatchContext) checkAddedContents() {
"For more details, look for \"configure-scripts-override\" in",
"mk/configure/gnu-configure.mk.")
}
- case FT_IGNORE:
+ case ftIgnore:
break
default:
checklineOtherAbsolutePathname(line, addedText)
diff --git a/pkgtools/pkglint/files/pkglint.go b/pkgtools/pkglint/files/pkglint.go
index b188e129472..020d79c80d2 100644
--- a/pkgtools/pkglint/files/pkglint.go
+++ b/pkgtools/pkglint/files/pkglint.go
@@ -42,12 +42,12 @@ func loadPackageMakefile(fname string) []*Line {
var mainLines, allLines []*Line
if !readMakefile(fname, &mainLines, &allLines) {
- errorf(fname, NO_LINES, "Cannot be read.")
+ errorf(fname, noLines, "Cannot be read.")
return nil
}
if G.opts.DumpMakefile {
- debugf(G.currentDir, NO_LINES, "Whole Makefile (with all included files) follows:")
+ debugf(G.currentDir, noLines, "Whole Makefile (with all included files) follows:")
for _, line := range allLines {
fmt.Printf("%s\n", line.String())
}
@@ -128,11 +128,11 @@ func getVariableType(line *Line, varname string) *Vartype {
}
if G.globalData.varnameToToolname[varname] != "" {
- return &Vartype{LK_NONE, CheckvarShellCommand, []AclEntry{{"*", "u"}}, NOT_GUESSED}
+ return &Vartype{lkNone, CheckvarShellCommand, []AclEntry{{"*", "u"}}, guNotGuessed}
}
if m, toolvarname := match1(varname, `^TOOLS_(.*)`); m && G.globalData.varnameToToolname[toolvarname] != "" {
- return &Vartype{LK_NONE, CheckvarPathname, []AclEntry{{"*", "u"}}, NOT_GUESSED}
+ return &Vartype{lkNone, CheckvarPathname, []AclEntry{{"*", "u"}}, guNotGuessed}
}
allowAll := []AclEntry{{"*", "adpsu"}}
@@ -142,33 +142,33 @@ func getVariableType(line *Line, varname string) *Vartype {
var gtype *Vartype
switch {
case hasSuffix(varname, "DIRS"):
- gtype = &Vartype{LK_SHELL, CheckvarPathmask, allowRuntime, GUESSED}
+ gtype = &Vartype{lkShell, CheckvarPathmask, allowRuntime, guGuessed}
case hasSuffix(varname, "DIR"), hasSuffix(varname, "_HOME"):
- gtype = &Vartype{LK_NONE, CheckvarPathname, allowRuntime, GUESSED}
+ gtype = &Vartype{lkNone, CheckvarPathname, allowRuntime, guGuessed}
case hasSuffix(varname, "FILES"):
- gtype = &Vartype{LK_SHELL, CheckvarPathmask, allowRuntime, GUESSED}
+ gtype = &Vartype{lkShell, CheckvarPathmask, allowRuntime, guGuessed}
case hasSuffix(varname, "FILE"):
- gtype = &Vartype{LK_NONE, CheckvarPathname, allowRuntime, GUESSED}
+ gtype = &Vartype{lkNone, CheckvarPathname, allowRuntime, guGuessed}
case hasSuffix(varname, "PATH"):
- gtype = &Vartype{LK_NONE, CheckvarPathlist, allowRuntime, GUESSED}
+ gtype = &Vartype{lkNone, CheckvarPathlist, allowRuntime, guGuessed}
case hasSuffix(varname, "PATHS"):
- gtype = &Vartype{LK_SHELL, CheckvarPathname, allowRuntime, GUESSED}
+ gtype = &Vartype{lkShell, CheckvarPathname, allowRuntime, guGuessed}
case hasSuffix(varname, "_USER"):
- gtype = &Vartype{LK_NONE, CheckvarUserGroupName, allowAll, GUESSED}
+ gtype = &Vartype{lkNone, CheckvarUserGroupName, allowAll, guGuessed}
case hasSuffix(varname, "_GROUP"):
- gtype = &Vartype{LK_NONE, CheckvarUserGroupName, allowAll, GUESSED}
+ gtype = &Vartype{lkNone, CheckvarUserGroupName, allowAll, guGuessed}
case hasSuffix(varname, "_ENV"):
- gtype = &Vartype{LK_SHELL, CheckvarShellWord, allowRuntime, GUESSED}
+ gtype = &Vartype{lkShell, CheckvarShellWord, allowRuntime, guGuessed}
case hasSuffix(varname, "_CMD"):
- gtype = &Vartype{LK_NONE, CheckvarShellCommand, allowRuntime, GUESSED}
+ gtype = &Vartype{lkNone, CheckvarShellCommand, allowRuntime, guGuessed}
case hasSuffix(varname, "_ARGS"):
- gtype = &Vartype{LK_SHELL, CheckvarShellWord, allowRuntime, GUESSED}
+ gtype = &Vartype{lkShell, CheckvarShellWord, allowRuntime, guGuessed}
case hasSuffix(varname, "_CFLAGS"), hasSuffix(varname, "_CPPFLAGS"), hasSuffix(varname, "_CXXFLAGS"), hasSuffix(varname, "_LDFLAGS"):
- gtype = &Vartype{LK_SHELL, CheckvarShellWord, allowRuntime, GUESSED}
+ gtype = &Vartype{lkShell, CheckvarShellWord, allowRuntime, guGuessed}
case hasSuffix(varname, "_MK"):
- gtype = &Vartype{LK_NONE, CheckvarUnchecked, allowAll, GUESSED}
+ gtype = &Vartype{lkNone, CheckvarUnchecked, allowAll, guGuessed}
case hasPrefix(varname, "PLIST."):
- gtype = &Vartype{LK_NONE, CheckvarYes, allowAll, GUESSED}
+ gtype = &Vartype{lkNone, CheckvarYes, allowAll, guGuessed}
}
if gtype != nil {
@@ -425,19 +425,19 @@ func checkfile(fname string) {
basename := path.Base(fname)
if matches(basename, `^(?:work.*|.*~|.*\.orig|.*\.rej)$`) {
if G.opts.Import {
- errorf(fname, NO_LINES, "Must be cleaned up before committing the package.")
+ errorf(fname, noLines, "Must be cleaned up before committing the package.")
}
return
}
st, err := os.Lstat(fname)
if err != nil {
- errorf(fname, NO_LINES, "%s", err)
+ errorf(fname, noLines, "%s", err)
return
}
if st.Mode().IsRegular() && st.Mode().Perm()&0111 != 0 && !isCommitted(fname) {
- line := NewLine(fname, NO_LINES, "", nil)
+ line := NewLine(fname, noLines, "", nil)
line.warnf("Should not be executable.")
line.explain(
"No package file should ever be executable. Even the INSTALL and",
@@ -454,16 +454,16 @@ func checkfile(fname string) {
case matches(fname, `(?:^|/)files/[^/]*$`):
// Ok
case !isEmptyDir(fname):
- warnf(fname, NO_LINES, "Unknown directory name.")
+ warnf(fname, noLines, "Unknown directory name.")
}
case st.Mode()&os.ModeSymlink != 0:
if !matches(basename, `^work`) {
- warnf(fname, NO_LINES, "Unknown symlink name.")
+ warnf(fname, noLines, "Unknown symlink name.")
}
case !st.Mode().IsRegular():
- errorf(fname, NO_LINES, "Only files and directories are allowed in pkgsrc.")
+ errorf(fname, noLines, "Only files and directories are allowed in pkgsrc.")
case basename == "ALTERNATIVES":
if G.opts.CheckAlternatives {
@@ -512,11 +512,11 @@ func checkfile(fname string) {
case matches(fname, `(?:^|/)patches/manual[^/]*$`):
if G.opts.DebugUnchecked {
- debugf(fname, NO_LINES, "Unchecked file %q.", fname)
+ debugf(fname, noLines, "Unchecked file %q.", fname)
}
case matches(fname, `(?:^|/)patches/[^/]*$`):
- warnf(fname, NO_LINES, "Patch files should be named \"patch-\", followed by letters, '-', '_', '.', and digits only.")
+ warnf(fname, noLines, "Patch files should be named \"patch-\", followed by letters, '-', '_', '.', and digits only.")
case matches(basename, `^(?:.*\.mk|Makefile.*)$`) && !matches(fname, `files/`) && !matches(fname, `patches/`):
if G.opts.CheckMk {
@@ -541,7 +541,7 @@ func checkfile(fname string) {
// Skip
default:
- warnf(fname, NO_LINES, "Unexpected file found.")
+ warnf(fname, noLines, "Unexpected file found.")
if G.opts.CheckExtra {
checkfileExtra(fname)
}
diff --git a/pkgtools/pkglint/files/plist.go b/pkgtools/pkglint/files/plist.go
index da8f49c3c4b..40d5fec0897 100644
--- a/pkgtools/pkglint/files/plist.go
+++ b/pkgtools/pkglint/files/plist.go
@@ -43,7 +43,7 @@ func checklinesPlist(lines []*Line) {
}
// Collect all files and directories that appear in the PLIST file.
- for _, line := range append(extraLines, lines...) {
+ for _, line := range append(append([]*Line(nil), extraLines...), lines...) {
text := line.text
if hasPrefix(text, "${") {
diff --git a/pkgtools/pkglint/files/shell.go b/pkgtools/pkglint/files/shell.go
index e7606ba27de..190bb7614d8 100644
--- a/pkgtools/pkglint/files/shell.go
+++ b/pkgtools/pkglint/files/shell.go
@@ -59,29 +59,29 @@ const (
type scState string
const (
- SCST_START scState = "start"
- SCST_CONT scState = "continuation"
- SCST_INSTALL scState = "install"
- SCST_INSTALL_D scState = "install -d"
- SCST_MKDIR scState = "mkdir"
- SCST_PAX scState = "pax"
- SCST_PAX_S scState = "pax -s"
- SCST_SED scState = "sed"
- SCST_SED_E scState = "sed -e"
- SCST_SET scState = "set"
- SCST_SET_CONT scState = "set-continuation"
- SCST_COND scState = "cond"
- SCST_COND_CONT scState = "cond-continuation"
- SCST_CASE scState = "case"
- SCST_CASE_IN scState = "case in"
- SCST_CASE_LABEL scState = "case label"
- SCST_CASE_LABEL_CONT scState = "case-label-continuation"
- SCST_FOR scState = "for"
- SCST_FOR_IN scState = "for-in"
- SCST_FOR_CONT scState = "for-continuation"
- SCST_ECHO scState = "echo"
- SCST_INSTALL_DIR scState = "install-dir"
- SCST_INSTALL_DIR2 scState = "install-dir2"
+ scstStart scState = "start"
+ scstCont scState = "continuation"
+ scstInstall scState = "install"
+ scstInstallD scState = "install -d"
+ scstMkdir scState = "mkdir"
+ scstPax scState = "pax"
+ scstPaxS scState = "pax -s"
+ scstSed scState = "sed"
+ scstSedE scState = "sed -e"
+ scstSet scState = "set"
+ scstSetCont scState = "set-continuation"
+ scstCond scState = "cond"
+ scstCondCont scState = "cond-continuation"
+ scstCase scState = "case"
+ scstCaseIn scState = "case in"
+ scstCaseLabel scState = "case label"
+ scstCaseLabelCont scState = "case-label-continuation"
+ scstFor scState = "for"
+ scstForIn scState = "for-in"
+ scstForCont scState = "for-continuation"
+ scstEcho scState = "echo"
+ scstInstallDir scState = "install-dir"
+ scstInstallDir2 scState = "install-dir2"
)
type MkShellLine struct {
@@ -99,8 +99,8 @@ func (msline *MkShellLine) checklineMkShellword(shellword string, checkQuoting b
return
}
- shellcommandContextType := &Vartype{LK_NONE, CheckvarShellCommand, []AclEntry{{"*", "adsu"}}, NOT_GUESSED}
- shellwordVuc := &VarUseContext{VUC_TIME_UNKNOWN, shellcommandContextType, VUC_SHW_PLAIN, VUC_EXT_WORD}
+ shellcommandContextType := &Vartype{lkNone, CheckvarShellCommand, []AclEntry{{"*", "adsu"}}, guNotGuessed}
+ shellwordVuc := &VarUseContext{vucTimeUnknown, shellcommandContextType, vucQuotPlain, vucExtentWord}
line := msline.line
if m, varname, mod := match2(shellword, `^\$\{(`+reVarnameDirect+`)(:[^{}]+)?\}$`); m {
@@ -117,15 +117,15 @@ func (msline *MkShellLine) checklineMkShellword(shellword string, checkQuoting b
type ShellwordState string
const (
- SWST_PLAIN ShellwordState = "plain"
- SWST_SQUOT ShellwordState = "squot"
- SWST_DQUOT ShellwordState = "dquot"
- SWST_DQUOT_BACKT ShellwordState = "dquot+backt"
- SWST_BACKT ShellwordState = "backt"
+ swstPlain ShellwordState = "plain"
+ swstSquot ShellwordState = "squot"
+ swstDquot ShellwordState = "dquot"
+ swstDquotBackt ShellwordState = "dquot+backt"
+ swstBackt ShellwordState = "backt"
)
rest := shellword
- state := SWST_PLAIN
+ state := swstPlain
outer:
for rest != "" {
_ = G.opts.DebugShell && line.debugf("shell state %s: %q", state, rest)
@@ -136,7 +136,7 @@ outer:
// reasonable to check the whole shell command
// recursively, instead of splitting off the first
// make(1) variable.
- case state == SWST_BACKT || state == SWST_DQUOT_BACKT:
+ case state == swstBackt || state == swstDquotBackt:
// Scan for the end of the backticks, checking
// for single backslashes and removing one level
// of backslashes. Backslashes are only removed
@@ -148,10 +148,10 @@ outer:
for rest != "" {
switch {
case replacePrefix(&rest, &m, "^`"):
- if state == SWST_BACKT {
- state = SWST_PLAIN
+ if state == swstBackt {
+ state = swstPlain
} else {
- state = SWST_DQUOT
+ state = swstDquot
}
goto endOfBackticks
@@ -162,7 +162,7 @@ outer:
line.warnf("Backslashes should be doubled inside backticks.")
stripped += m[1]
- case state == SWST_DQUOT_BACKT && replacePrefix(&rest, &m, `^"`):
+ case state == swstDquotBackt && replacePrefix(&rest, &m, `^"`):
line.warnf("Double quotes inside backticks inside double quotes are error prone.")
line.explain(
"According to the SUSv3, they produce undefined results.",
@@ -197,13 +197,13 @@ outer:
}
switch {
- case state == SWST_PLAIN && hasSuffix(mod, ":Q"):
+ case state == swstPlain && hasSuffix(mod, ":Q"):
// Fine.
- case state == SWST_BACKT:
+ case state == swstBackt:
// Don't check anything here, to avoid false positives for tool names.
- case (state == SWST_SQUOT || state == SWST_DQUOT) && matches(varname, `^(?:.*DIR|.*FILE|.*PATH|.*_VAR|PREFIX|.*BASE|PKGNAME)$`):
+ case (state == swstSquot || state == swstDquot) && matches(varname, `^(?:.*DIR|.*FILE|.*PATH|.*_VAR|PREFIX|.*BASE|PKGNAME)$`):
// This is ok if we don't allow these variables to have embedded [\$\\\"\'\`].
- case state == SWST_DQUOT && hasSuffix(mod, ":Q"):
+ case state == swstDquot && hasSuffix(mod, ":Q"):
line.warnf("Please don't use the :Q operator in double quotes.")
line.explain(
"Either remove the :Q or the double quotes. In most cases, it is more",
@@ -211,18 +211,18 @@ outer:
}
if varname != "@" {
- vucstate := VUC_SHW_UNKNOWN
+ vucstate := vucQuotUnknown
switch state {
- case SWST_PLAIN:
- vucstate = VUC_SHW_PLAIN
- case SWST_DQUOT:
- vucstate = VUC_SHW_DQUOT
- case SWST_SQUOT:
- vucstate = VUC_SHW_SQUOT
- case SWST_BACKT:
- vucstate = VUC_SHW_BACKT
+ case swstPlain:
+ vucstate = vucQuotPlain
+ case swstDquot:
+ vucstate = vucQuotDquot
+ case swstSquot:
+ vucstate = vucQuotSquot
+ case swstBackt:
+ vucstate = vucQuotBackt
}
- vuc := &VarUseContext{VUC_TIME_UNKNOWN, shellcommandContextType, vucstate, VUC_EXT_WORDPART}
+ vuc := &VarUseContext{vucTimeUnknown, shellcommandContextType, vucstate, vucExtentWordpart}
checklineMkVaruse(line, varname, mod, vuc)
}
@@ -245,16 +245,16 @@ outer:
}
}
- case state == SWST_PLAIN:
+ case state == swstPlain:
switch {
case replacePrefix(&rest, &m, `^[!#\%&\(\)*+,\-.\/0-9:;<=>?@A-Z\[\]^_a-z{|}~]+`),
replacePrefix(&rest, &m, `^\\(?:[ !"#'\(\)*;?\\^{|}]|\$\$)`):
case replacePrefix(&rest, &m, `^'`):
- state = SWST_SQUOT
+ state = swstSquot
case replacePrefix(&rest, &m, `^"`):
- state = SWST_DQUOT
+ state = swstDquot
case replacePrefix(&rest, &m, "^`"):
- state = SWST_BACKT
+ state = swstBackt
case replacePrefix(&rest, &m, `^\$\$([0-9A-Z_a-z]+|\#)`),
replacePrefix(&rest, &m, `^\$\$\{([0-9A-Z_a-z]+|\#)\}`),
replacePrefix(&rest, &m, `^\$\$(\$)\$`):
@@ -297,10 +297,10 @@ outer:
break outer
}
- case state == SWST_SQUOT:
+ case state == swstSquot:
switch {
case replacePrefix(&rest, &m, `^'`):
- state = SWST_PLAIN
+ state = swstPlain
case replacePrefix(&rest, &m, `^[^\$\']+`):
// just skip
case replacePrefix(&rest, &m, `^\$\$`):
@@ -309,12 +309,12 @@ outer:
break outer
}
- case state == SWST_DQUOT:
+ case state == swstDquot:
switch {
case replacePrefix(&rest, &m, `^"`):
- state = SWST_PLAIN
+ state = swstPlain
case replacePrefix(&rest, &m, "^`"):
- state = SWST_DQUOT_BACKT
+ state = swstDquotBackt
case replacePrefix(&rest, &m, "^[^$\"\\\\`]+"):
// just skip
case replacePrefix(&rest, &m, "^\\\\(?:[\\\\\"`]|\\$\\$)"):
@@ -392,24 +392,24 @@ func (msline *MkShellLine) checklineMkShelltext(shelltext string) {
msline.checkLineStart(hidden, macro, rest, &setE)
}
- state := SCST_START
+ state := scstStart
for replacePrefix(&rest, &m, reShellword) {
shellword := m[1]
_ = G.opts.DebugShell && line.debugf("checklineMkShelltext state=%v shellword=%q", state, shellword)
{
- quotingNecessary := state != SCST_CASE &&
- state != SCST_FOR_CONT &&
- state != SCST_SET_CONT &&
- !(state == SCST_START && matches(shellword, reShVarassign))
+ quotingNecessary := state != scstCase &&
+ state != scstForCont &&
+ state != scstSetCont &&
+ !(state == scstStart && matches(shellword, reShVarassign))
msline.checklineMkShellword(shellword, quotingNecessary)
}
st := &ShelltextContext{line, state, shellword}
st.checkCommandStart()
st.checkConditionalCd()
- if state != SCST_PAX_S && state != SCST_SED_E && state != SCST_CASE_LABEL {
+ if state != scstPaxS && state != scstSedE && state != scstCaseLabel {
checklineMkAbsolutePathname(line, shellword)
}
st.checkAutoMkdirs()
@@ -420,7 +420,7 @@ func (msline *MkShellLine) checklineMkShelltext(shelltext string) {
st.checkPipeExitcode()
st.checkSetE(setE)
- if state == SCST_SET && matches(shellword, `^-.*e`) || state == SCST_START && shellword == "${RUN}" {
+ if state == scstSet && matches(shellword, `^-.*e`) || state == scstStart && shellword == "${RUN}" {
setE = true
}
@@ -485,7 +485,7 @@ func (ctx *ShelltextContext) checkCommandStart() {
defer tracecall("ShelltextContext.checkCommandStart", ctx.state, ctx.shellword)()
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if state != SCST_START && state != SCST_COND {
+ if state != scstStart && state != scstCond {
return
}
@@ -608,7 +608,7 @@ func (ctx *ShelltextContext) handleComment() bool {
func (ctx *ShelltextContext) checkConditionalCd() {
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if state == SCST_COND && shellword == "cd" {
+ if state == scstCond && shellword == "cd" {
line.errorf("The Solaris /bin/sh cannot handle \"cd\" inside conditionals.")
line.explain(
"When the Solaris shell is in \"set -e\" mode and \"cd\" fails, the",
@@ -620,9 +620,9 @@ func (ctx *ShelltextContext) checkConditionalCd() {
func (ctx *ShelltextContext) checkAutoMkdirs() {
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if (state == SCST_INSTALL_D || state == SCST_MKDIR) && matches(shellword, `^(?:\$\{DESTDIR\})?\$\{PREFIX(?:|:Q)\}/`) {
+ if (state == scstInstallD || state == scstMkdir) && matches(shellword, `^(?:\$\{DESTDIR\})?\$\{PREFIX(?:|:Q)\}/`) {
line.warnf("Please use AUTO_MKDIRS instead of %q.",
- ifelseStr(state == SCST_MKDIR, "${MKDIR}", "${INSTALL} -d"))
+ ifelseStr(state == scstMkdir, "${MKDIR}", "${INSTALL} -d"))
line.explain(
"Setting AUTO_MKDIRS=yes automatically creates all directories that are",
"mentioned in the PLIST. If you need additional directories, specify",
@@ -630,7 +630,7 @@ func (ctx *ShelltextContext) checkAutoMkdirs() {
"${PREFIX}.")
}
- if (state == SCST_INSTALL_DIR || state == SCST_INSTALL_DIR2) && !matches(shellword, reMkShellvaruse) {
+ if (state == scstInstallDir || state == scstInstallDir2) && !matches(shellword, reMkShellvaruse) {
if m, dirname := match1(shellword, `^(?:\$\{DESTDIR\})?\$\{PREFIX(?:|:Q)\}/(.*)`); m {
line.notef("You can use AUTO_MKDIRS=yes or \"INSTALLATION_DIRS+= %s\" instead of this command.", dirname)
line.explain(
@@ -650,7 +650,7 @@ func (ctx *ShelltextContext) checkAutoMkdirs() {
func (ctx *ShelltextContext) checkInstallMulti() {
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if state == SCST_INSTALL_DIR2 && hasPrefix(shellword, "$") {
+ if state == scstInstallDir2 && hasPrefix(shellword, "$") {
line.warnf("The INSTALL_*_DIR commands can only handle one directory at a time.")
line.explain(
"Many implementations of install(1) can handle more, but pkgsrc aims at",
@@ -661,7 +661,7 @@ func (ctx *ShelltextContext) checkInstallMulti() {
func (ctx *ShelltextContext) checkPaxPe() {
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if state == SCST_PAX && shellword == "-pe" {
+ if state == scstPax && shellword == "-pe" {
line.warnf("Please use the -pp option to pax(1) instead of -pe.")
line.explain(
"The -pe option tells pax to preserve the ownership of the files, which",
@@ -673,7 +673,7 @@ func (ctx *ShelltextContext) checkPaxPe() {
func (ctx *ShelltextContext) checkQuoteSubstitution() {
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if state == SCST_PAX_S || state == SCST_SED_E {
+ if state == scstPaxS || state == scstSedE {
if false && !matches(shellword, `"^[\"\'].*[\"\']$`) {
line.warnf("Substitution commands like %q should always be quoted.", shellword)
line.explain(
@@ -687,7 +687,7 @@ func (ctx *ShelltextContext) checkQuoteSubstitution() {
func (ctx *ShelltextContext) checkEchoN() {
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if state == SCST_ECHO && shellword == "-n" {
+ if state == scstEcho && shellword == "-n" {
line.warnf("Please use ${ECHO_N} instead of \"echo -n\".")
}
}
@@ -695,7 +695,7 @@ func (ctx *ShelltextContext) checkEchoN() {
func (ctx *ShelltextContext) checkPipeExitcode() {
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if G.opts.WarnExtra && state != SCST_CASE_LABEL_CONT && shellword == "|" {
+ if G.opts.WarnExtra && state != scstCaseLabelCont && shellword == "|" {
line.warnf("The exitcode of the left-hand-side command of the pipe operator is ignored.")
line.explain(
"In a shell command like \"cat *.txt | grep keyword\", if the command",
@@ -709,7 +709,7 @@ func (ctx *ShelltextContext) checkPipeExitcode() {
func (ctx *ShelltextContext) checkSetE(eflag bool) {
line, state, shellword := ctx.line, ctx.state, ctx.shellword
- if G.opts.WarnExtra && shellword == ";" && state != SCST_COND_CONT && state != SCST_FOR_CONT && !eflag {
+ if G.opts.WarnExtra && shellword == ";" && state != scstCondCont && state != scstForCont && !eflag {
line.warnf("Please switch to \"set -e\" mode before using a semicolon to separate commands.")
line.explain(
"Older versions of the NetBSD make(1) had run the shell commands using",
@@ -768,105 +768,105 @@ func (msline *MkShellLine) checkCommandUse(shellcmd string) {
func nextState(line *Line, state scState, shellword string) scState {
switch {
case shellword == ";;":
- return SCST_CASE_LABEL
- case state == SCST_CASE_LABEL_CONT && shellword == "|":
- return SCST_CASE_LABEL
+ return scstCaseLabel
+ case state == scstCaseLabelCont && shellword == "|":
+ return scstCaseLabel
case matches(shellword, `^[;&\|]+$`):
- return SCST_START
- case state == SCST_START:
+ return scstStart
+ case state == scstStart:
switch shellword {
case "${INSTALL}":
- return SCST_INSTALL
+ return scstInstall
case "${MKDIR}":
- return SCST_MKDIR
+ return scstMkdir
case "${PAX}":
- return SCST_PAX
+ return scstPax
case "${SED}":
- return SCST_SED
+ return scstSed
case "${ECHO}", "echo":
- return SCST_ECHO
+ return scstEcho
case "${RUN}", "then", "else", "do", "(":
- return SCST_START
+ return scstStart
case "set":
- return SCST_SET
+ return scstSet
case "if", "elif", "while":
- return SCST_COND
+ return scstCond
case "case":
- return SCST_CASE
+ return scstCase
case "for":
- return SCST_FOR
+ return scstFor
default:
switch {
case matches(shellword, `^\$\{INSTALL_[A-Z]+_DIR\}$`):
- return SCST_INSTALL_DIR
+ return scstInstallDir
case matches(shellword, reShVarassign):
- return SCST_START
+ return scstStart
default:
- return SCST_CONT
+ return scstCont
}
}
- case state == SCST_MKDIR:
- return SCST_MKDIR
- case state == SCST_INSTALL && shellword == "-d":
- return SCST_INSTALL_D
- case state == SCST_INSTALL, state == SCST_INSTALL_D:
+ case state == scstMkdir:
+ return scstMkdir
+ case state == scstInstall && shellword == "-d":
+ return scstInstallD
+ case state == scstInstall, state == scstInstallD:
if matches(shellword, `^-[ogm]$`) {
- return SCST_CONT // XXX: why not keep the state?
+ return scstCont // XXX: why not keep the state?
}
return state
- case state == SCST_INSTALL_DIR && hasPrefix(shellword, "-"):
- return SCST_CONT
- case state == SCST_INSTALL_DIR && hasPrefix(shellword, "$"):
- return SCST_INSTALL_DIR2
- case state == SCST_INSTALL_DIR || state == SCST_INSTALL_DIR2:
+ case state == scstInstallDir && hasPrefix(shellword, "-"):
+ return scstCont
+ case state == scstInstallDir && hasPrefix(shellword, "$"):
+ return scstInstallDir2
+ case state == scstInstallDir || state == scstInstallDir2:
return state
- case state == SCST_PAX && shellword == "-s":
- return SCST_PAX_S
- case state == SCST_PAX && hasPrefix(shellword, "-"):
- return SCST_PAX
- case state == SCST_PAX:
- return SCST_CONT
- case state == SCST_PAX_S:
- return SCST_PAX
- case state == SCST_SED && shellword == "-e":
- return SCST_SED_E
- case state == SCST_SED && hasPrefix(shellword, "-"):
- return SCST_SED
- case state == SCST_SED:
- return SCST_CONT
- case state == SCST_SED_E:
- return SCST_SED
- case state == SCST_SET:
- return SCST_SET_CONT
- case state == SCST_SET_CONT:
- return SCST_SET_CONT
- case state == SCST_CASE:
- return SCST_CASE_IN
- case state == SCST_CASE_IN && shellword == "in":
- return SCST_CASE_LABEL
- case state == SCST_CASE_LABEL && shellword == "esac":
- return SCST_CONT
- case state == SCST_CASE_LABEL:
- return SCST_CASE_LABEL_CONT
- case state == SCST_CASE_LABEL_CONT && shellword == ")":
- return SCST_START
- case state == SCST_CONT:
- return SCST_CONT
- case state == SCST_COND:
- return SCST_COND_CONT
- case state == SCST_COND_CONT:
- return SCST_COND_CONT
- case state == SCST_FOR:
- return SCST_FOR_IN
- case state == SCST_FOR_IN && shellword == "in":
- return SCST_FOR_CONT
- case state == SCST_FOR_CONT:
- return SCST_FOR_CONT
- case state == SCST_ECHO:
- return SCST_CONT
+ case state == scstPax && shellword == "-s":
+ return scstPaxS
+ case state == scstPax && hasPrefix(shellword, "-"):
+ return scstPax
+ case state == scstPax:
+ return scstCont
+ case state == scstPaxS:
+ return scstPax
+ case state == scstSed && shellword == "-e":
+ return scstSedE
+ case state == scstSed && hasPrefix(shellword, "-"):
+ return scstSed
+ case state == scstSed:
+ return scstCont
+ case state == scstSedE:
+ return scstSed
+ case state == scstSet:
+ return scstSetCont
+ case state == scstSetCont:
+ return scstSetCont
+ case state == scstCase:
+ return scstCaseIn
+ case state == scstCaseIn && shellword == "in":
+ return scstCaseLabel
+ case state == scstCaseLabel && shellword == "esac":
+ return scstCont
+ case state == scstCaseLabel:
+ return scstCaseLabelCont
+ case state == scstCaseLabelCont && shellword == ")":
+ return scstStart
+ case state == scstCont:
+ return scstCont
+ case state == scstCond:
+ return scstCondCont
+ case state == scstCondCont:
+ return scstCondCont
+ case state == scstFor:
+ return scstForIn
+ case state == scstForIn && shellword == "in":
+ return scstForCont
+ case state == scstForCont:
+ return scstForCont
+ case state == scstEcho:
+ return scstCont
default:
_ = G.opts.DebugShell && line.errorf("Internal pkglint error: shellword.nextState state=%s shellword=%q", state, shellword)
- return SCST_START
+ return scstStart
}
}
diff --git a/pkgtools/pkglint/files/shell_test.go b/pkgtools/pkglint/files/shell_test.go
index 8b47bdfd9fe..013b6d52c9a 100644
--- a/pkgtools/pkglint/files/shell_test.go
+++ b/pkgtools/pkglint/files/shell_test.go
@@ -54,33 +54,33 @@ func (s *Suite) TestChecklineMkShelltext(c *check.C) {
G.mkContext = newMkContext()
G.globalData.InitVartypes()
- msline.checklineMkShelltext("echo ${PKGNAME:Q}") // VUC_SHW_PLAIN
+ msline.checklineMkShelltext("echo ${PKGNAME:Q}") // vucQuotPlain
c.Check(s.Output(), equals, ""+
"WARN: fname:1: PKGNAME may not be used in this file.\n"+
"NOTE: fname:1: The :Q operator isn't necessary for ${PKGNAME} here.\n")
- msline.checklineMkShelltext("echo \"${CFLAGS:Q}\"") // VUC_SHW_DQUOT
+ msline.checklineMkShelltext("echo \"${CFLAGS:Q}\"") // vucQuotDquot
c.Check(s.Output(), equals, ""+
"WARN: fname:1: Please don't use the :Q operator in double quotes.\n"+
"WARN: fname:1: CFLAGS may not be used in this file.\n"+
"WARN: fname:1: Please use ${CFLAGS:M*:Q} instead of ${CFLAGS:Q} and make sure the variable appears outside of any quoting characters.\n")
- msline.checklineMkShelltext("echo '${COMMENT:Q}'") // VUC_SHW_SQUOT
+ msline.checklineMkShelltext("echo '${COMMENT:Q}'") // vucQuotSquot
c.Check(s.Output(), equals, "WARN: fname:1: COMMENT may not be used in this file.\n")
-
- msline.checklineMkShelltext("echo $$@")
+
+ msline.checklineMkShelltext("echo $$@")
c.Check(s.Output(), equals, "WARN: fname:1: The $@ shell variable should only be used in double quotes.\n")
-
+
msline.checklineMkShelltext("echo \"$$\"") // As seen by make(1); the shell sees: echo $
-
+
c.Check(s.Output(), equals, "WARN: fname:1: Unquoted $ or strange shell variable found.\n")
-
+
msline.checklineMkShelltext("echo \"\\n\"") // As seen by make(1); the shell sees: echo "\n"
-
+
c.Check(s.Output(), equals, "WARN: fname:1: Please use \"\\\\n\" instead of \"\\n\".\n")
}
diff --git a/pkgtools/pkglint/files/util.go b/pkgtools/pkglint/files/util.go
index bd11f08ca96..e2b12e22e4e 100644
--- a/pkgtools/pkglint/files/util.go
+++ b/pkgtools/pkglint/files/util.go
@@ -56,7 +56,7 @@ func isEmptyDir(fname string) bool {
func getSubdirs(fname string) []string {
dirents, err := ioutil.ReadDir(fname)
if err != nil {
- fatalf(fname, NO_LINES, "Cannot be read: %s", err)
+ fatalf(fname, noLines, "Cannot be read: %s", err)
}
var subdirs []string
@@ -368,7 +368,7 @@ func stringStringMapKeys(m map[string]string) []string {
func abspath(fname string) string {
abs, err := filepath.Abs(fname)
if err != nil {
- fatalf(fname, NO_LINES, "Cannot determine absolute path.")
+ fatalf(fname, noLines, "Cannot determine absolute path.")
}
return filepath.ToSlash(abs)
}
diff --git a/pkgtools/pkglint/files/vardefs.go b/pkgtools/pkglint/files/vardefs.go
index ac2eaa4b538..5ec76322763 100644
--- a/pkgtools/pkglint/files/vardefs.go
+++ b/pkgtools/pkglint/files/vardefs.go
@@ -3,691 +3,691 @@ package main
// This file defines the specific type of some variables.
//
// There are two types of lists:
-// * LK_SHELL is a list whose elements are split by shell rules
-// * LK_SPACE is a list whose elements are split by whitespace
+// * lkShell is a list whose elements are split by shell rules
+// * lkSpace is a list whose elements are split by whitespace
//
// See vartypecheck.go for how these types are checked.
//
// Last synced with mk/defaults/mk.conf revision 1.118
func (gd *GlobalData) InitVartypes() {
- usr("ALLOW_VULNERABLE_PACKAGES", LK_NONE, CheckvarYes)
- usr("MANINSTALL", LK_SHELL, enum("maninstall catinstall"))
- usr("MANZ", LK_NONE, CheckvarYes)
- usr("GZIP", LK_SHELL, CheckvarShellWord)
- usr("MKCRYPTO", LK_NONE, CheckvarYesNo)
- usr("OBJHOSTNAME", LK_NONE, CheckvarYes)
- usr("OBJMACHINE", LK_NONE, CheckvarYes)
- usr("PKG_SUFX", LK_NONE, CheckvarFilename)
- usr("PKGSRC_LOCKTYPE", LK_NONE, enum("none sleep once"))
- usr("PKGSRC_SLEEPSECS", LK_NONE, CheckvarInteger)
- usr("USETBL", LK_NONE, CheckvarYes)
- usr("ABI", LK_NONE, enum("32 64"))
- usr("PKG_DEVELOPER", LK_NONE, CheckvarYes)
- usr("USE_ABI_DEPENDS", LK_NONE, CheckvarYesNo)
- usr("PKG_REGISTER_SHELLS", LK_NONE, enum("YES NO"))
- usr("PKGSRC_COMPILER", LK_SHELL, enum("ccache ccc clang distcc f2c gcc hp icc ido gcc mipspro mipspro-ucode pcc sunpro xlc"))
- usr("PKGSRC_MESSAGE_RECIPIENTS", LK_SHELL, CheckvarMailAddress)
- usr("PKGSRC_SHOW_BUILD_DEFS", LK_NONE, CheckvarYesNo)
- usr("PKGSRC_SHOW_PATCH_ERRORMSG", LK_NONE, CheckvarYesNo)
- usr("PKGSRC_RUN_TEST", LK_NONE, CheckvarYesNo)
- usr("PREFER_PKGSRC", LK_SHELL, CheckvarIdentifier)
- usr("PREFER_NATIVE", LK_SHELL, CheckvarIdentifier)
- usr("PREFER_NATIVE_PTHREADS", LK_NONE, CheckvarYesNo)
- usr("LOCALBASE", LK_NONE, CheckvarPathname)
- usr("CROSSBASE", LK_NONE, CheckvarPathname)
- usr("VARBASE", LK_NONE, CheckvarPathname)
- usr("X11_TYPE", LK_NONE, enum("modular native"))
- usr("X11BASE", LK_NONE, CheckvarPathname)
- usr("MOTIFBASE", LK_NONE, CheckvarPathname)
- usr("PKGINFODIR", LK_NONE, CheckvarPathname)
- usr("PKGMANDIR", LK_NONE, CheckvarPathname)
- usr("USE_XPKGWEDGE", LK_NONE, CheckvarYesNo)
- usr("BSDSRCDIR", LK_NONE, CheckvarPathname)
- usr("BSDXSRCDIR", LK_NONE, CheckvarPathname)
- usr("DISTDIR", LK_NONE, CheckvarPathname)
- usr("DIST_PATH", LK_NONE, CheckvarPathlist)
- usr("DEFAULT_VIEW", LK_NONE, CheckvarUnchecked)
- usr("FETCH_CMD", LK_NONE, CheckvarShellCommand)
- usr("FETCH_USING", LK_NONE, enum("curl custom fetch ftp manual wget"))
- usr("FETCH_RESUME_ARGS", LK_SHELL, CheckvarShellWord)
- usr("FETCH_OUTPUT_ARGS", LK_SHELL, CheckvarShellWord)
- usr("LIBTOOLIZE_PLIST", LK_NONE, CheckvarYesNo)
- usr("PKG_RESUME_TRANSFERS", LK_NONE, CheckvarYesNo)
- usr("PKG_SYSCONFBASE", LK_NONE, CheckvarPathname)
- usr("RCD_SCRIPTS_DIR", LK_NONE, CheckvarPathname)
- usr("PACKAGES", LK_NONE, CheckvarPathname)
- usr("PKGVULNDIR", LK_NONE, CheckvarPathname)
- usr("PASSIVE_FETCH", LK_NONE, CheckvarYes)
- usr("PATCH_FUZZ_FACTOR", LK_NONE, enum("-F0 -F1 -F2 -F3"))
- usr("ACCEPTABLE_LICENSES", LK_SHELL, CheckvarIdentifier)
- usr("SPECIFIC_PKGS", LK_NONE, CheckvarYes)
- usr("SITE_SPECIFIC_PKGS", LK_SHELL, CheckvarPkgPath)
- usr("HOST_SPECIFIC_PKGS", LK_SHELL, CheckvarPkgPath)
- usr("GROUP_SPECIFIC_PKGS", LK_SHELL, CheckvarPkgPath)
- usr("USER_SPECIFIC_PKGS", LK_SHELL, CheckvarPkgPath)
- usr("FAILOVER_FETCH", LK_NONE, CheckvarYes)
- usr("MASTER_SORT", LK_SHELL, CheckvarUnchecked)
- usr("MASTER_SORT_REGEX", LK_SHELL, CheckvarUnchecked)
- usr("PATCH_DEBUG", LK_NONE, CheckvarYes)
- usr("PKG_FC", LK_NONE, CheckvarShellCommand)
- usr("IMAKE", LK_NONE, CheckvarShellCommand)
- usr("IMAKEOPTS", LK_SHELL, CheckvarShellWord)
- usr("PRE_ROOT_CMD", LK_NONE, CheckvarShellCommand)
- pkg("USE_GAMESGROUP", LK_NONE, CheckvarYesNo)
- usr("SU_CMD", LK_NONE, CheckvarShellCommand)
- usr("SU_CMD_PATH_APPEND", LK_NONE, CheckvarPathlist)
- usr("FATAL_OBJECT_FMT_SKEW", LK_NONE, CheckvarYesNo)
- usr("WARN_NO_OBJECT_FMT", LK_NONE, CheckvarYesNo)
- usr("SMART_MESSAGES", LK_NONE, CheckvarYes)
- usr("BINPKG_SITES", LK_SHELL, CheckvarURL)
- usr("BIN_INSTALL_FLAG", LK_SHELL, CheckvarShellWord)
- usr("LOCALPATCHES", LK_NONE, CheckvarPathname)
+ usr("ALLOW_VULNERABLE_PACKAGES", lkNone, CheckvarYes)
+ usr("MANINSTALL", lkShell, enum("maninstall catinstall"))
+ usr("MANZ", lkNone, CheckvarYes)
+ usr("GZIP", lkShell, CheckvarShellWord)
+ usr("MKCRYPTO", lkNone, CheckvarYesNo)
+ usr("OBJHOSTNAME", lkNone, CheckvarYes)
+ usr("OBJMACHINE", lkNone, CheckvarYes)
+ usr("PKG_SUFX", lkNone, CheckvarFilename)
+ usr("PKGSRC_LOCKTYPE", lkNone, enum("none sleep once"))
+ usr("PKGSRC_SLEEPSECS", lkNone, CheckvarInteger)
+ usr("USETBL", lkNone, CheckvarYes)
+ usr("ABI", lkNone, enum("32 64"))
+ usr("PKG_DEVELOPER", lkNone, CheckvarYes)
+ usr("USE_ABI_DEPENDS", lkNone, CheckvarYesNo)
+ usr("PKG_REGISTER_SHELLS", lkNone, enum("YES NO"))
+ usr("PKGSRC_COMPILER", lkShell, enum("ccache ccc clang distcc f2c gcc hp icc ido gcc mipspro mipspro-ucode pcc sunpro xlc"))
+ usr("PKGSRC_MESSAGE_RECIPIENTS", lkShell, CheckvarMailAddress)
+ usr("PKGSRC_SHOW_BUILD_DEFS", lkNone, CheckvarYesNo)
+ usr("PKGSRC_SHOW_PATCH_ERRORMSG", lkNone, CheckvarYesNo)
+ usr("PKGSRC_RUN_TEST", lkNone, CheckvarYesNo)
+ usr("PREFER_PKGSRC", lkShell, CheckvarIdentifier)
+ usr("PREFER_NATIVE", lkShell, CheckvarIdentifier)
+ usr("PREFER_NATIVE_PTHREADS", lkNone, CheckvarYesNo)
+ usr("LOCALBASE", lkNone, CheckvarPathname)
+ usr("CROSSBASE", lkNone, CheckvarPathname)
+ usr("VARBASE", lkNone, CheckvarPathname)
+ usr("X11_TYPE", lkNone, enum("modular native"))
+ usr("X11BASE", lkNone, CheckvarPathname)
+ usr("MOTIFBASE", lkNone, CheckvarPathname)
+ usr("PKGINFODIR", lkNone, CheckvarPathname)
+ usr("PKGMANDIR", lkNone, CheckvarPathname)
+ usr("USE_XPKGWEDGE", lkNone, CheckvarYesNo)
+ usr("BSDSRCDIR", lkNone, CheckvarPathname)
+ usr("BSDXSRCDIR", lkNone, CheckvarPathname)
+ usr("DISTDIR", lkNone, CheckvarPathname)
+ usr("DIST_PATH", lkNone, CheckvarPathlist)
+ usr("DEFAULT_VIEW", lkNone, CheckvarUnchecked)
+ usr("FETCH_CMD", lkNone, CheckvarShellCommand)
+ usr("FETCH_USING", lkNone, enum("curl custom fetch ftp manual wget"))
+ usr("FETCH_RESUME_ARGS", lkShell, CheckvarShellWord)
+ usr("FETCH_OUTPUT_ARGS", lkShell, CheckvarShellWord)
+ usr("LIBTOOLIZE_PLIST", lkNone, CheckvarYesNo)
+ usr("PKG_RESUME_TRANSFERS", lkNone, CheckvarYesNo)
+ usr("PKG_SYSCONFBASE", lkNone, CheckvarPathname)
+ usr("RCD_SCRIPTS_DIR", lkNone, CheckvarPathname)
+ usr("PACKAGES", lkNone, CheckvarPathname)
+ usr("PKGVULNDIR", lkNone, CheckvarPathname)
+ usr("PASSIVE_FETCH", lkNone, CheckvarYes)
+ usr("PATCH_FUZZ_FACTOR", lkNone, enum("-F0 -F1 -F2 -F3"))
+ usr("ACCEPTABLE_LICENSES", lkShell, CheckvarIdentifier)
+ usr("SPECIFIC_PKGS", lkNone, CheckvarYes)
+ usr("SITE_SPECIFIC_PKGS", lkShell, CheckvarPkgPath)
+ usr("HOST_SPECIFIC_PKGS", lkShell, CheckvarPkgPath)
+ usr("GROUP_SPECIFIC_PKGS", lkShell, CheckvarPkgPath)
+ usr("USER_SPECIFIC_PKGS", lkShell, CheckvarPkgPath)
+ usr("FAILOVER_FETCH", lkNone, CheckvarYes)
+ usr("MASTER_SORT", lkShell, CheckvarUnchecked)
+ usr("MASTER_SORT_REGEX", lkShell, CheckvarUnchecked)
+ usr("PATCH_DEBUG", lkNone, CheckvarYes)
+ usr("PKG_FC", lkNone, CheckvarShellCommand)
+ usr("IMAKE", lkNone, CheckvarShellCommand)
+ usr("IMAKEOPTS", lkShell, CheckvarShellWord)
+ usr("PRE_ROOT_CMD", lkNone, CheckvarShellCommand)
+ pkg("USE_GAMESGROUP", lkNone, CheckvarYesNo)
+ usr("SU_CMD", lkNone, CheckvarShellCommand)
+ usr("SU_CMD_PATH_APPEND", lkNone, CheckvarPathlist)
+ usr("FATAL_OBJECT_FMT_SKEW", lkNone, CheckvarYesNo)
+ usr("WARN_NO_OBJECT_FMT", lkNone, CheckvarYesNo)
+ usr("SMART_MESSAGES", lkNone, CheckvarYes)
+ usr("BINPKG_SITES", lkShell, CheckvarURL)
+ usr("BIN_INSTALL_FLAG", lkShell, CheckvarShellWord)
+ usr("LOCALPATCHES", lkNone, CheckvarPathname)
// some other variables, sorted alphabetically
- sys(".CURDIR", LK_NONE, CheckvarPathname)
- sys(".TARGET", LK_NONE, CheckvarPathname)
- acl("ALL_ENV", LK_SHELL, CheckvarShellWord)
- acl("ALTERNATIVES_FILE", LK_NONE, CheckvarFilename)
- acl("ALTERNATIVES_SRC", LK_SHELL, CheckvarPathname)
- pkg("APACHE_MODULE", LK_NONE, CheckvarYes)
- sys("AR", LK_NONE, CheckvarShellCommand)
- sys("AS", LK_NONE, CheckvarShellCommand)
- pkglist("AUTOCONF_REQD", LK_SHELL, CheckvarVersion)
- acl("AUTOMAKE_OVERRIDE", LK_SHELL, CheckvarPathmask)
- pkglist("AUTOMAKE_REQD", LK_SHELL, CheckvarVersion)
- pkg("AUTO_MKDIRS", LK_NONE, CheckvarYesNo)
- usr("BATCH", LK_NONE, CheckvarYes)
- acl("BDB185_DEFAULT", LK_NONE, CheckvarUnchecked)
- sys("BDBBASE", LK_NONE, CheckvarPathname)
- pkg("BDB_ACCEPTED", LK_SHELL, enum("db1 db2 db3 db4 db5"))
- acl("BDB_DEFAULT", LK_NONE, enum("db1 db2 db3 db4 db5"))
- sys("BDB_LIBS", LK_SHELL, CheckvarLdFlag)
- sys("BDB_TYPE", LK_NONE, enum("db1 db2 db3 db4 db5"))
- sys("BINGRP", LK_NONE, CheckvarUserGroupName)
- sys("BINMODE", LK_NONE, CheckvarFileMode)
- sys("BINOWN", LK_NONE, CheckvarUserGroupName)
- acl("BOOTSTRAP_DEPENDS", LK_SPACE, CheckvarDependencyWithPath, "Makefile.common:a", "Makefile:a", "options.mk:a", "*.mk:a")
- pkg("BOOTSTRAP_PKG", LK_NONE, CheckvarYesNo)
- acl("BROKEN", LK_NONE, CheckvarMessage)
- pkg("BROKEN_GETTEXT_DETECTION", LK_NONE, CheckvarYesNo)
- pkglist("BROKEN_EXCEPT_ON_PLATFORM", LK_SHELL, CheckvarPlatformTriple)
- pkglist("BROKEN_ON_PLATFORM", LK_SPACE, CheckvarPlatformTriple)
- sys("BSD_MAKE_ENV", LK_SHELL, CheckvarShellWord)
- acl("BUILDLINK_ABI_DEPENDS.*", LK_SPACE, CheckvarDependency, "*:a")
- acl("BUILDLINK_API_DEPENDS.*", LK_SPACE, CheckvarDependency, "*:a")
- acl("BUILDLINK_CONTENTS_FILTER", LK_SHELL, CheckvarShellWord) // Should better be ShellCommand
- sys("BUILDLINK_CFLAGS", LK_SHELL, CheckvarCFlag)
- bl3list("BUILDLINK_CFLAGS.*", LK_SHELL, CheckvarCFlag)
- sys("BUILDLINK_CPPFLAGS", LK_SHELL, CheckvarCFlag)
- bl3list("BUILDLINK_CPPFLAGS.*", LK_SHELL, CheckvarCFlag)
- acl("BUILDLINK_CONTENTS_FILTER.*", LK_NONE, CheckvarShellCommand, "buildlink3.mk:s")
- acl("BUILDLINK_DEPENDS", LK_SPACE, CheckvarIdentifier, "buildlink3.mk:a")
- acl("BUILDLINK_DEPMETHOD.*", LK_SHELL, CheckvarBuildlinkDepmethod, "buildlink3.mk:ad", "Makefile:as", "Makefile.common:a", "*.mk:a") // FIXME: buildlink3.mk:d may lead to unexpected behavior.
- sys("BUILDLINK_DIR", LK_NONE, CheckvarPathname)
- bl3list("BUILDLINK_FILES.*", LK_SHELL, CheckvarPathmask)
- acl("BUILDLINK_FILES_CMD.*", LK_SHELL, CheckvarShellWord) // Should better be ShellCommand
- acl("BUILDLINK_INCDIRS.*", LK_SHELL, CheckvarPathname, "buildlink3.mk:ad") // Should [d]efault really be allowed in buildlink3.mk?
- acl("BUILDLINK_JAVA_PREFIX.*", LK_NONE, CheckvarPathname, "buildlink3.mk:s")
- acl("BUILDLINK_LDADD.*", LK_SHELL, CheckvarLdFlag, "builtin.mk:adsu", "buildlink3.mk:", "Makefile:u", "Makefile.common:u", "*.mk:u")
- sys("BUILDLINK_LDFLAGS", LK_SHELL, CheckvarLdFlag)
- bl3list("BUILDLINK_LDFLAGS.*", LK_SHELL, CheckvarLdFlag)
- bl3list("BUILDLINK_LIBDIRS.*", LK_SHELL, CheckvarPathname)
- acl("BUILDLINK_LIBS.*", LK_SHELL, CheckvarLdFlag, "buildlink3.mk:a")
- acl("BUILDLINK_PASSTHRU_DIRS", LK_SHELL, CheckvarPathname, "Makefile:a", "Makefile.common:a", "buildlink3.mk:a", "hacks.mk:a")
- acl("BUILDLINK_PASSTHRU_RPATHDIRS", LK_SHELL, CheckvarPathname, "Makefile:a", "Makefile.common:a", "buildlink3.mk:a", "hacks.mk:a")
- acl("BUILDLINK_PKGSRCDIR.*", LK_NONE, CheckvarRelativePkgDir, "buildlink3.mk:dp")
- acl("BUILDLINK_PREFIX.*", LK_NONE, CheckvarPathname, "builtin.mk:su", "buildlink3.mk:", "Makefile:u", "Makefile.common:u", "*.mk:u")
- acl("BUILDLINK_RPATHDIRS.*", LK_SHELL, CheckvarPathname, "buildlink3.mk:a")
- acl("BUILDLINK_TARGETS", LK_SHELL, CheckvarIdentifier)
- acl("BUILDLINK_FNAME_TRANSFORM.*", LK_NONE, CheckvarSedCommands, "Makefile:a", "builtin.mk:a", "hacks.mk:a", "buildlink3.mk:a")
- acl("BUILDLINK_TRANSFORM", LK_SHELL, CheckvarWrapperTransform, "*:a")
- acl("BUILDLINK_TREE", LK_SHELL, CheckvarIdentifier, "buildlink3.mk:a")
- acl("BUILD_DEFS", LK_SHELL, CheckvarVarname, "Makefile:a", "Makefile.common:a", "options.mk:a")
- acl("BUILD_DEPENDS", LK_SPACE, CheckvarDependencyWithPath, "Makefile.common:a", "Makefile:a", "options.mk:a", "*.mk:a")
- pkglist("BUILD_DIRS", LK_SHELL, CheckvarWrksrcSubdirectory)
- pkglist("BUILD_ENV", LK_SHELL, CheckvarShellWord)
- sys("BUILD_MAKE_CMD", LK_NONE, CheckvarShellCommand)
- pkglist("BUILD_MAKE_FLAGS", LK_SHELL, CheckvarShellWord)
- pkg("BUILD_TARGET", LK_SHELL, CheckvarIdentifier)
- pkg("BUILD_USES_MSGFMT", LK_NONE, CheckvarYes)
- acl("BUILTIN_PKG", LK_NONE, CheckvarIdentifier, "builtin.mk:psu")
- acl("BUILTIN_PKG.*", LK_NONE, CheckvarPkgName, "builtin.mk:psu")
- acl("BUILTIN_FIND_FILES_VAR", LK_SHELL, CheckvarVarname, "builtin.mk:s")
- acl("BUILTIN_FIND_FILES.*", LK_SHELL, CheckvarPathname, "builtin.mk:s")
- acl("BUILTIN_FIND_GREP.*", LK_NONE, CheckvarString, "builtin.mk:s")
- acl("BUILTIN_FIND_LIBS", LK_SHELL, CheckvarPathname, "builtin.mk:s")
- acl("BUILTIN_IMAKE_CHECK", LK_SHELL, CheckvarUnchecked, "builtin.mk:s")
- acl("BUILTIN_IMAKE_CHECK.*", LK_NONE, CheckvarYesNo)
- sys("BUILTIN_X11_TYPE", LK_NONE, CheckvarUnchecked)
- sys("BUILTIN_X11_VERSION", LK_NONE, CheckvarUnchecked)
- acl("CATEGORIES", LK_SHELL, CheckvarCategory, "Makefile:as", "Makefile.common:ads")
- sys("CC_VERSION", LK_NONE, CheckvarMessage)
- sys("CC", LK_NONE, CheckvarShellCommand)
- pkglist("CFLAGS*", LK_SHELL, CheckvarCFlag) // may also be changed by the user
- acl("CHECK_BUILTIN", LK_NONE, CheckvarYesNo, "builtin.mk:d", "Makefile:s")
- acl("CHECK_BUILTIN.*", LK_NONE, CheckvarYesNo, "*:p")
- acl("CHECK_FILES_SKIP", LK_SHELL, CheckvarBasicRegularExpression, "Makefile:a", "Makefile.common:a")
- pkg("CHECK_FILES_SUPPORTED", LK_NONE, CheckvarYesNo)
- usr("CHECK_HEADERS", LK_NONE, CheckvarYesNo)
- pkglist("CHECK_HEADERS_SKIP", LK_SHELL, CheckvarPathmask)
- usr("CHECK_INTERPRETER", LK_NONE, CheckvarYesNo)
- pkglist("CHECK_INTERPRETER_SKIP", LK_SHELL, CheckvarPathmask)
- usr("CHECK_PERMS", LK_NONE, CheckvarYesNo)
- pkglist("CHECK_PERMS_SKIP", LK_SHELL, CheckvarPathmask)
- usr("CHECK_PORTABILITY", LK_NONE, CheckvarYesNo)
- pkglist("CHECK_PORTABILITY_SKIP", LK_SHELL, CheckvarPathmask)
- acl("CHECK_SHLIBS", LK_NONE, CheckvarYesNo, "Makefile:s")
- pkglist("CHECK_SHLIBS_SKIP", LK_SHELL, CheckvarPathmask)
- acl("CHECK_SHLIBS_SUPPORTED", LK_NONE, CheckvarYesNo, "Makefile:s")
- pkglist("CHECK_WRKREF_SKIP", LK_SHELL, CheckvarPathmask)
- pkg("CMAKE_ARG_PATH", LK_NONE, CheckvarPathname)
- pkglist("CMAKE_ARGS", LK_SHELL, CheckvarShellWord)
- acl("COMMENT", LK_NONE, CheckvarComment, "Makefile:as", "Makefile.common:as")
- sys("COMPILER_RPATH_FLAG", LK_NONE, enum("-Wl,-rpath"))
- pkglist("CONFIGURE_ARGS", LK_SHELL, CheckvarShellWord)
- pkglist("CONFIGURE_DIRS", LK_SHELL, CheckvarWrksrcSubdirectory)
- pkglist("CONFIGURE_ENV", LK_SHELL, CheckvarShellWord)
- pkg("CONFIGURE_HAS_INFODIR", LK_NONE, CheckvarYesNo)
- pkg("CONFIGURE_HAS_LIBDIR", LK_NONE, CheckvarYesNo)
- pkg("CONFIGURE_HAS_MANDIR", LK_NONE, CheckvarYesNo)
- pkg("CONFIGURE_SCRIPT", LK_NONE, CheckvarPathname)
- acl("CONFIG_GUESS_OVERRIDE", LK_SHELL, CheckvarPathmask, "Makefile:as", "Makefile.common:as")
- acl("CONFIG_STATUS_OVERRIDE", LK_SHELL, CheckvarPathmask, "Makefile:as", "Makefile.common:as")
- acl("CONFIG_SHELL", LK_NONE, CheckvarPathname, "Makefile:s", "Makefile.common:s")
- acl("CONFIG_SUB_OVERRIDE", LK_SHELL, CheckvarPathmask, "Makefile:as", "Makefile.common:as")
- pkglist("CONFLICTS", LK_SPACE, CheckvarDependency)
- pkglist("CONF_FILES", LK_SHELL, CheckvarShellWord)
- pkg("CONF_FILES_MODE", LK_NONE, enum("0644 0640 0600 0400"))
- pkglist("CONF_FILES_PERMS", LK_SHELL, CheckvarShellWord)
- sys("COPY", LK_NONE, enum("-c")) // The flag that tells ${INSTALL} to copy a file
- sys("CPP", LK_NONE, CheckvarShellCommand)
- pkglist("CPPFLAGS*", LK_SHELL, CheckvarCFlag)
- acl("CRYPTO", LK_NONE, CheckvarYes, "Makefile:s")
- sys("CXX", LK_NONE, CheckvarShellCommand)
- pkglist("CXXFLAGS*", LK_SHELL, CheckvarCFlag)
- acl("DEINSTALL_FILE", LK_NONE, CheckvarPathname, "Makefile:s")
- acl("DEINSTALL_SRC", LK_SHELL, CheckvarPathname, "Makefile:s", "Makefile.common:ds")
- acl("DEINSTALL_TEMPLATES", LK_SHELL, CheckvarPathname, "Makefile:as", "Makefile.common:ads")
- sys("DELAYED_ERROR_MSG", LK_NONE, CheckvarShellCommand)
- sys("DELAYED_WARNING_MSG", LK_NONE, CheckvarShellCommand)
- pkglist("DEPENDS", LK_SPACE, CheckvarDependencyWithPath)
- usr("DEPENDS_TARGET", LK_SHELL, CheckvarIdentifier)
- acl("DESCR_SRC", LK_SHELL, CheckvarPathname, "Makefile:s", "Makefile.common:ds")
- sys("DESTDIR", LK_NONE, CheckvarPathname)
- acl("DESTDIR_VARNAME", LK_NONE, CheckvarVarname, "Makefile:s", "Makefile.common:s")
- sys("DEVOSSAUDIO", LK_NONE, CheckvarPathname)
- sys("DEVOSSSOUND", LK_NONE, CheckvarPathname)
- pkglist("DISTFILES", LK_SHELL, CheckvarFilename)
- pkg("DISTINFO_FILE", LK_NONE, CheckvarRelativePkgPath)
- pkg("DISTNAME", LK_NONE, CheckvarFilename)
- pkg("DIST_SUBDIR", LK_NONE, CheckvarPathname)
- acl("DJB_BUILD_ARGS", LK_SHELL, CheckvarShellWord)
- acl("DJB_BUILD_TARGETS", LK_SHELL, CheckvarIdentifier)
- acl("DJB_CONFIG_CMDS", LK_SHELL, CheckvarShellWord, "options.mk:s") // ShellCommand, terminated by a semicolon
- acl("DJB_CONFIG_DIRS", LK_SHELL, CheckvarWrksrcSubdirectory)
- acl("DJB_CONFIG_HOME", LK_NONE, CheckvarFilename)
- acl("DJB_CONFIG_PREFIX", LK_NONE, CheckvarPathname)
- acl("DJB_INSTALL_TARGETS", LK_SHELL, CheckvarIdentifier)
- acl("DJB_MAKE_TARGETS", LK_NONE, CheckvarYesNo)
- acl("DJB_RESTRICTED", LK_NONE, CheckvarYesNo, "Makefile:s")
- acl("DJB_SLASHPACKAGE", LK_NONE, CheckvarYesNo)
- acl("DLOPEN_REQUIRE_PTHREADS", LK_NONE, CheckvarYesNo)
- acl("DL_AUTO_VARS", LK_NONE, CheckvarYes, "Makefile:s", "Makefile.common:s", "options.mk:s")
- acl("DL_LIBS", LK_SHELL, CheckvarLdFlag)
- sys("DOCOWN", LK_NONE, CheckvarUserGroupName)
- sys("DOCGRP", LK_NONE, CheckvarUserGroupName)
- sys("DOCMODE", LK_NONE, CheckvarFileMode)
- sys("DOWNLOADED_DISTFILE", LK_NONE, CheckvarPathname)
- sys("DO_NADA", LK_NONE, CheckvarShellCommand)
- pkg("DYNAMIC_SITES_CMD", LK_NONE, CheckvarShellCommand)
- pkg("DYNAMIC_SITES_SCRIPT", LK_NONE, CheckvarPathname)
- sys("ECHO", LK_NONE, CheckvarShellCommand)
- sys("ECHO_MSG", LK_NONE, CheckvarShellCommand)
- sys("ECHO_N", LK_NONE, CheckvarShellCommand)
- pkg("EGDIR", LK_NONE, CheckvarPathname) // Not defined anywhere, but used in many places like this.
- sys("EMACS_BIN", LK_NONE, CheckvarPathname)
- sys("EMACS_ETCPREFIX", LK_NONE, CheckvarPathname)
- sys("EMACS_FLAVOR", LK_NONE, enum("emacs xemacs"))
- sys("EMACS_INFOPREFIX", LK_NONE, CheckvarPathname)
- sys("EMACS_LISPPREFIX", LK_NONE, CheckvarPathname)
- acl("EMACS_MODULES", LK_SHELL, CheckvarIdentifier, "Makefile:as", "Makefile.common:as")
- sys("EMACS_PKGNAME_PREFIX", LK_NONE, CheckvarIdentifier) // Or the empty string.
- sys("EMACS_TYPE", LK_NONE, enum("emacs xemacs"))
- acl("EMACS_USE_LEIM", LK_NONE, CheckvarYes)
- acl("EMACS_VERSIONS_ACCEPTED", LK_SHELL, enum("emacs25 emacs24 emacs24nox emacs23 emacs23nox emacs22 emacs22nox emacs21 emacs21nox emacs20 xemacs215 xemacs215nox xemacs214 xemacs214nox"), "Makefile:s")
- sys("EMACS_VERSION_MAJOR", LK_NONE, CheckvarInteger)
- sys("EMACS_VERSION_MINOR", LK_NONE, CheckvarInteger)
- acl("EMACS_VERSION_REQD", LK_SHELL, enum("emacs24 emacs24nox emacs23 emacs23nox emacs22 emacs22nox emacs21 emacs21nox emacs20 xemacs215 xemacs214"), "Makefile:as")
- sys("EMULDIR", LK_NONE, CheckvarPathname)
- sys("EMULSUBDIR", LK_NONE, CheckvarPathname)
- sys("OPSYS_EMULDIR", LK_NONE, CheckvarPathname)
- sys("EMULSUBDIRSLASH", LK_NONE, CheckvarPathname)
- sys("EMUL_ARCH", LK_NONE, enum("i386 none"))
- sys("EMUL_DISTRO", LK_NONE, CheckvarIdentifier)
- sys("EMUL_IS_NATIVE", LK_NONE, CheckvarYes)
- pkg("EMUL_MODULES.*", LK_SHELL, CheckvarIdentifier)
- sys("EMUL_OPSYS", LK_NONE, enum("freebsd hpux irix linux osf1 solaris sunos none"))
- pkg("EMUL_PKG_FMT", LK_NONE, enum("plain rpm"))
- usr("EMUL_PLATFORM", LK_NONE, CheckvarEmulPlatform)
- pkg("EMUL_PLATFORMS", LK_SHELL, CheckvarEmulPlatform)
- usr("EMUL_PREFER", LK_SHELL, CheckvarEmulPlatform)
- pkg("EMUL_REQD", LK_SPACE, CheckvarDependency)
- usr("EMUL_TYPE.*", LK_NONE, enum("native builtin suse suse-9.1 suse-9.x suse-10.0 suse-10.x"))
- sys("ERROR_CAT", LK_NONE, CheckvarShellCommand)
- sys("ERROR_MSG", LK_NONE, CheckvarShellCommand)
- acl("EVAL_PREFIX", LK_SPACE, CheckvarShellWord, "Makefile:a", "Makefile.common:a") // XXX: Combining ShellWord with LK_SPACE looks weird.
- sys("EXPORT_SYMBOLS_LDFLAGS", LK_SHELL, CheckvarLdFlag)
- sys("EXTRACT_CMD", LK_NONE, CheckvarShellCommand)
- pkg("EXTRACT_DIR", LK_NONE, CheckvarPathname)
- pkglist("EXTRACT_ELEMENTS", LK_SHELL, CheckvarPathmask)
- pkglist("EXTRACT_ENV", LK_SHELL, CheckvarShellWord)
- pkglist("EXTRACT_ONLY", LK_SHELL, CheckvarPathname)
- acl("EXTRACT_OPTS", LK_SHELL, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
- acl("EXTRACT_OPTS_BIN", LK_SHELL, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
- acl("EXTRACT_OPTS_LHA", LK_SHELL, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
- acl("EXTRACT_OPTS_PAX", LK_SHELL, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
- acl("EXTRACT_OPTS_RAR", LK_SHELL, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
- acl("EXTRACT_OPTS_TAR", LK_SHELL, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
- acl("EXTRACT_OPTS_ZIP", LK_SHELL, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
- acl("EXTRACT_OPTS_ZOO", LK_SHELL, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
- pkg("EXTRACT_SUFX", LK_NONE, CheckvarDistSuffix)
- pkg("EXTRACT_USING", LK_NONE, enum("bsdtar gtar nbtar pax"))
- sys("FAIL_MSG", LK_NONE, CheckvarShellCommand)
- sys("FAMBASE", LK_NONE, CheckvarPathname)
- pkg("FAM_ACCEPTED", LK_SHELL, enum("fam gamin"))
- usr("FAM_DEFAULT", LK_NONE, enum("fam gamin"))
- sys("FAM_TYPE", LK_NONE, enum("fam gamin"))
- acl("FETCH_BEFORE_ARGS", LK_SHELL, CheckvarShellWord, "Makefile:as")
- pkglist("FETCH_MESSAGE", LK_SHELL, CheckvarShellWord)
- pkg("FILESDIR", LK_NONE, CheckvarRelativePkgPath)
- pkglist("FILES_SUBST", LK_SHELL, CheckvarShellWord)
- acl("FILES_SUBST_SED", LK_SHELL, CheckvarShellWord)
- pkglist("FIX_RPATH", LK_SHELL, CheckvarVarname)
- pkglist("FLEX_REQD", LK_SHELL, CheckvarVersion)
- acl("FONTS_DIRS.*", LK_SHELL, CheckvarPathname, "Makefile:as", "Makefile.common:a")
- sys("GAMEDATAMODE", LK_NONE, CheckvarFileMode)
- sys("GAMES_GROUP", LK_NONE, CheckvarUserGroupName)
- sys("GAMEMODE", LK_NONE, CheckvarFileMode)
- sys("GAMES_USER", LK_NONE, CheckvarUserGroupName)
- pkglist("GCC_REQD", LK_SHELL, CheckvarVersion)
- pkglist("GENERATE_PLIST", LK_SHELL, CheckvarShellWord) // List of Shellcommand, terminated with a semicolon
- pkg("GITHUB_PROJECT", LK_NONE, CheckvarIdentifier)
- pkg("GITHUB_TAG", LK_NONE, CheckvarIdentifier)
- pkg("GITHUB_RELEASE", LK_NONE, CheckvarFilename)
- pkg("GITHUB_TYPE", LK_NONE, enum("tag release"))
- acl("GNU_ARCH", LK_NONE, enum("mips"))
- acl("GNU_CONFIGURE", LK_NONE, CheckvarYes, "Makefile.common:s", "Makefile:s")
- acl("GNU_CONFIGURE_INFODIR", LK_NONE, CheckvarPathname, "Makefile:s", "Makefile.common:s")
- acl("GNU_CONFIGURE_LIBDIR", LK_NONE, CheckvarPathname, "Makefile:s", "Makefile.common:s")
- pkg("GNU_CONFIGURE_LIBSUBDIR", LK_NONE, CheckvarPathname)
- acl("GNU_CONFIGURE_MANDIR", LK_NONE, CheckvarPathname, "Makefile:s", "Makefile.common:s")
- acl("GNU_CONFIGURE_PREFIX", LK_NONE, CheckvarPathname, "Makefile:s")
- acl("HAS_CONFIGURE", LK_NONE, CheckvarYes, "Makefile:s", "Makefile.common:s")
- pkglist("HEADER_TEMPLATES", LK_SHELL, CheckvarPathname)
- pkg("HOMEPAGE", LK_NONE, CheckvarURL)
- acl("IGNORE_PKG.*", LK_NONE, CheckvarYes, "*:sp")
- acl("INCOMPAT_CURSES", LK_SPACE, CheckvarPlatformTriple, "Makefile:as")
- acl("INCOMPAT_ICONV", LK_SPACE, CheckvarPlatformTriple)
- acl("INFO_DIR", LK_NONE, CheckvarPathname) // relative to PREFIX
- pkg("INFO_FILES", LK_NONE, CheckvarYes)
- sys("INSTALL", LK_NONE, CheckvarShellCommand)
- pkglist("INSTALLATION_DIRS", LK_SHELL, CheckvarPrefixPathname)
- pkg("INSTALLATION_DIRS_FROM_PLIST", LK_NONE, CheckvarYes)
- sys("INSTALL_DATA", LK_NONE, CheckvarShellCommand)
- sys("INSTALL_DATA_DIR", LK_NONE, CheckvarShellCommand)
- pkglist("INSTALL_DIRS", LK_SHELL, CheckvarWrksrcSubdirectory)
- pkglist("INSTALL_ENV", LK_SHELL, CheckvarShellWord)
- acl("INSTALL_FILE", LK_NONE, CheckvarPathname, "Makefile:s")
- sys("INSTALL_GAME", LK_NONE, CheckvarShellCommand)
- sys("INSTALL_GAME_DATA", LK_NONE, CheckvarShellCommand)
- sys("INSTALL_LIB", LK_NONE, CheckvarShellCommand)
- sys("INSTALL_LIB_DIR", LK_NONE, CheckvarShellCommand)
- pkglist("INSTALL_MAKE_FLAGS", LK_SHELL, CheckvarShellWord)
- sys("INSTALL_MAN", LK_NONE, CheckvarShellCommand)
- sys("INSTALL_MAN_DIR", LK_NONE, CheckvarShellCommand)
- sys("INSTALL_PROGRAM", LK_NONE, CheckvarShellCommand)
- sys("INSTALL_PROGRAM_DIR", LK_NONE, CheckvarShellCommand)
- sys("INSTALL_SCRIPT", LK_NONE, CheckvarShellCommand)
- acl("INSTALL_SCRIPTS_ENV", LK_SHELL, CheckvarShellWord)
- sys("INSTALL_SCRIPT_DIR", LK_NONE, CheckvarShellCommand)
- acl("INSTALL_SRC", LK_SHELL, CheckvarPathname, "Makefile:s", "Makefile.common:ds")
- pkg("INSTALL_TARGET", LK_SHELL, CheckvarIdentifier)
- acl("INSTALL_TEMPLATES", LK_SHELL, CheckvarPathname, "Makefile:as", "Makefile.common:ads")
- acl("INSTALL_UNSTRIPPED", LK_NONE, CheckvarYesNo, "Makefile:s", "Makefile.common:s")
- pkg("INTERACTIVE_STAGE", LK_SHELL, enum("fetch extract configure build install"))
- acl("IS_BUILTIN.*", LK_NONE, CheckvarYesNoIndirectly, "builtin.mk:psu")
- sys("JAVA_BINPREFIX", LK_NONE, CheckvarPathname)
- pkg("JAVA_CLASSPATH", LK_NONE, CheckvarShellWord)
- pkg("JAVA_HOME", LK_NONE, CheckvarPathname)
- pkg("JAVA_NAME", LK_NONE, CheckvarFilename)
- pkglist("JAVA_UNLIMIT", LK_SHELL, enum("cmdsize datasize stacksize"))
- pkglist("JAVA_WRAPPERS", LK_SPACE, CheckvarFilename)
- pkg("JAVA_WRAPPER_BIN.*", LK_NONE, CheckvarPathname)
- sys("KRB5BASE", LK_NONE, CheckvarPathname)
- acl("KRB5_ACCEPTED", LK_SHELL, enum("heimdal mit-krb5"))
- usr("KRB5_DEFAULT", LK_NONE, enum("heimdal mit-krb5"))
- sys("KRB5_TYPE", LK_NONE, CheckvarUnchecked)
- sys("LD", LK_NONE, CheckvarShellCommand)
- pkglist("LDFLAGS*", LK_SHELL, CheckvarLdFlag)
- sys("LIBGRP", LK_NONE, CheckvarUserGroupName)
- sys("LIBMODE", LK_NONE, CheckvarFileMode)
- sys("LIBOWN", LK_NONE, CheckvarUserGroupName)
- sys("LIBOSSAUDIO", LK_NONE, CheckvarPathname)
- pkglist("LIBS*", LK_SHELL, CheckvarLdFlag)
- sys("LIBTOOL", LK_NONE, CheckvarShellCommand)
- acl("LIBTOOL_OVERRIDE", LK_SHELL, CheckvarPathmask, "Makefile:as")
- pkglist("LIBTOOL_REQD", LK_SHELL, CheckvarVersion)
- acl("LICENCE", LK_NONE, CheckvarLicense, "Makefile:s", "Makefile.common:s", "options.mk:s")
- acl("LICENSE", LK_NONE, CheckvarLicense, "Makefile:s", "Makefile.common:s", "options.mk:s")
- pkg("LICENSE_FILE", LK_NONE, CheckvarPathname)
- sys("LINKER_RPATH_FLAG", LK_NONE, CheckvarShellWord)
- sys("LOWER_OPSYS", LK_NONE, CheckvarIdentifier)
- acl("LTCONFIG_OVERRIDE", LK_SHELL, CheckvarPathmask, "Makefile:as", "Makefile.common:a")
- sys("MACHINE_ARCH", LK_NONE, CheckvarIdentifier)
- sys("MACHINE_GNU_PLATFORM", LK_NONE, CheckvarPlatformTriple)
- acl("MAINTAINER", LK_NONE, CheckvarMailAddress, "Makefile:s", "Makefile.common:d")
- sys("MAKE", LK_NONE, CheckvarShellCommand)
- pkglist("MAKEFLAGS", LK_SHELL, CheckvarShellWord)
- acl("MAKEVARS", LK_SHELL, CheckvarVarname, "builtin.mk:a", "buildlink3.mk:a", "hacks.mk:a")
- pkglist("MAKE_DIRS", LK_SHELL, CheckvarPathname)
- pkglist("MAKE_DIRS_PERMS", LK_SHELL, CheckvarShellWord)
- pkglist("MAKE_ENV", LK_SHELL, CheckvarShellWord)
- pkg("MAKE_FILE", LK_NONE, CheckvarPathname)
- pkglist("MAKE_FLAGS", LK_SHELL, CheckvarShellWord)
- usr("MAKE_JOBS", LK_NONE, CheckvarInteger)
- pkg("MAKE_JOBS_SAFE", LK_NONE, CheckvarYesNo)
- pkg("MAKE_PROGRAM", LK_NONE, CheckvarShellCommand)
- acl("MANCOMPRESSED", LK_NONE, CheckvarYesNo, "Makefile:s", "Makefile.common:ds")
- acl("MANCOMPRESSED_IF_MANZ", LK_NONE, CheckvarYes, "Makefile:s", "Makefile.common:ds")
- sys("MANGRP", LK_NONE, CheckvarUserGroupName)
- sys("MANMODE", LK_NONE, CheckvarFileMode)
- sys("MANOWN", LK_NONE, CheckvarUserGroupName)
- pkglist("MASTER_SITES", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_APACHE", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_BACKUP", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_CYGWIN", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_DEBIAN", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_FREEBSD", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_FREEBSD_LOCAL", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_GENTOO", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_GITHUB", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_GNOME", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_GNU", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_GNUSTEP", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_IFARCHIVE", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_HASKELL_HACKAGE", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_KDE", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_LOCAL", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_MOZILLA", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_MOZILLA_ALL", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_MOZILLA_ESR", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_MYSQL", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_NETLIB", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_OPENOFFICE", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_OSDN", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_PERL_CPAN", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_R_CRAN", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_RUBYGEMS", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_SOURCEFORGE", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_SUNSITE", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_SUSE", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_TEX_CTAN", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_XCONTRIB", LK_SHELL, CheckvarFetchURL)
- sys("MASTER_SITE_XEMACS", LK_SHELL, CheckvarFetchURL)
- pkglist("MESSAGE_SRC", LK_SHELL, CheckvarPathname)
- acl("MESSAGE_SUBST", LK_SHELL, CheckvarShellWord, "Makefile.common:a", "Makefile:a", "options.mk:a")
- pkg("META_PACKAGE", LK_NONE, CheckvarYes)
- sys("MISSING_FEATURES", LK_SHELL, CheckvarIdentifier)
- acl("MYSQL_VERSIONS_ACCEPTED", LK_SHELL, enum("51 55 56"), "Makefile:s")
- usr("MYSQL_VERSION_DEFAULT", LK_NONE, CheckvarVersion)
- sys("NM", LK_NONE, CheckvarShellCommand)
- sys("NONBINMODE", LK_NONE, CheckvarFileMode)
- pkg("NOT_FOR_COMPILER", LK_SHELL, enum("ccache ccc clang distcc f2c gcc hp icc ido mipspro mipspro-ucode pcc sunpro xlc"))
- pkglist("NOT_FOR_PLATFORM", LK_SPACE, CheckvarPlatformTriple)
- pkg("NOT_FOR_UNPRIVILEGED", LK_NONE, CheckvarYesNo)
- acl("NO_BIN_ON_CDROM", LK_NONE, CheckvarRestricted, "Makefile:s", "Makefile.common:s")
- acl("NO_BIN_ON_FTP", LK_NONE, CheckvarRestricted, "Makefile:s", "Makefile.common:s")
- acl("NO_BUILD", LK_NONE, CheckvarYes, "Makefile:s", "Makefile.common:s", "Makefile.*:ds")
- pkg("NO_CHECKSUM", LK_NONE, CheckvarYes)
- pkg("NO_CONFIGURE", LK_NONE, CheckvarYes)
- acl("NO_EXPORT_CPP", LK_NONE, CheckvarYes, "Makefile:s")
- pkg("NO_EXTRACT", LK_NONE, CheckvarYes)
- pkg("NO_INSTALL_MANPAGES", LK_NONE, CheckvarYes) // only has an effect for Imake packages.
- acl("NO_PKGTOOLS_REQD_CHECK", LK_NONE, CheckvarYes, "Makefile:s")
- acl("NO_SRC_ON_CDROM", LK_NONE, CheckvarRestricted, "Makefile:s", "Makefile.common:s")
- acl("NO_SRC_ON_FTP", LK_NONE, CheckvarRestricted, "Makefile:s", "Makefile.common:s")
- pkglist("ONLY_FOR_COMPILER", LK_SHELL, enum("ccc clang gcc hp icc ido mipspro mipspro-ucode pcc sunpro xlc"))
- pkglist("ONLY_FOR_PLATFORM", LK_SPACE, CheckvarPlatformTriple)
- pkg("ONLY_FOR_UNPRIVILEGED", LK_NONE, CheckvarYesNo)
- sys("OPSYS", LK_NONE, CheckvarIdentifier)
- acl("OPSYSVARS", LK_SHELL, CheckvarVarname, "Makefile:a", "Makefile.common:a")
- acl("OSVERSION_SPECIFIC", LK_NONE, CheckvarYes, "Makefile:s", "Makefile.common:s")
- sys("OS_VERSION", LK_NONE, CheckvarVersion)
- pkg("OVERRIDE_DIRDEPTH*", LK_NONE, CheckvarInteger)
- pkg("OVERRIDE_GNU_CONFIG_SCRIPTS", LK_NONE, CheckvarYes)
- acl("OWNER", LK_NONE, CheckvarMailAddress, "Makefile:s", "Makefile.common:d")
- pkglist("OWN_DIRS", LK_SHELL, CheckvarPathname)
- pkglist("OWN_DIRS_PERMS", LK_SHELL, CheckvarShellWord)
- sys("PAMBASE", LK_NONE, CheckvarPathname)
- usr("PAM_DEFAULT", LK_NONE, enum("linux-pam openpam solaris-pam"))
- acl("PATCHDIR", LK_NONE, CheckvarRelativePkgPath, "Makefile:s", "Makefile.common:ds")
- pkglist("PATCHFILES", LK_SHELL, CheckvarFilename)
- acl("PATCH_ARGS", LK_SHELL, CheckvarShellWord)
- acl("PATCH_DIST_ARGS", LK_SHELL, CheckvarShellWord, "Makefile:as")
- acl("PATCH_DIST_CAT", LK_NONE, CheckvarShellCommand)
- acl("PATCH_DIST_STRIP*", LK_NONE, CheckvarShellWord, "Makefile:s", "Makefile.common:s", "buildlink3.mk:", "builtin.mk:", "*.mk:s")
- acl("PATCH_SITES", LK_SHELL, CheckvarURL, "Makefile:s", "options.mk:s", "Makefile.common:s")
- acl("PATCH_STRIP", LK_NONE, CheckvarShellWord)
- pkg("PERL5_USE_PACKLIST", LK_NONE, CheckvarYesNo)
- acl("PERL5_PACKLIST", LK_SHELL, CheckvarPerl5Packlist, "Makefile:s", "options.mk:sa")
- acl("PERL5_PACKLIST_DIR", LK_NONE, CheckvarPathname)
- sys("PGSQL_PREFIX", LK_NONE, CheckvarPathname)
- acl("PGSQL_VERSIONS_ACCEPTED", LK_SHELL, enum("91 92 93 94"))
- usr("PGSQL_VERSION_DEFAULT", LK_NONE, CheckvarVersion)
- sys("PG_LIB_EXT", LK_NONE, enum("dylib so"))
- sys("PGSQL_TYPE", LK_NONE, enum("postgresql81-client postgresql80-client"))
- sys("PGPKGSRCDIR", LK_NONE, CheckvarPathname)
- sys("PHASE_MSG", LK_NONE, CheckvarShellCommand)
- usr("PHP_VERSION_REQD", LK_NONE, CheckvarVersion)
- sys("PKGBASE", LK_NONE, CheckvarIdentifier)
- acl("PKGCONFIG_OVERRIDE", LK_SHELL, CheckvarPathmask, "Makefile:as", "Makefile.common:a")
- pkg("PKGCONFIG_OVERRIDE_STAGE", LK_NONE, CheckvarStage)
- pkg("PKGDIR", LK_NONE, CheckvarRelativePkgDir)
- sys("PKGDIRMODE", LK_NONE, CheckvarFileMode)
- sys("PKGLOCALEDIR", LK_NONE, CheckvarPathname)
- pkg("PKGNAME", LK_NONE, CheckvarPkgName)
- sys("PKGNAME_NOREV", LK_NONE, CheckvarPkgName)
- sys("PKGPATH", LK_NONE, CheckvarPathname)
- acl("PKGREPOSITORY", LK_NONE, CheckvarUnchecked)
- acl("PKGREVISION", LK_NONE, CheckvarPkgRevision, "Makefile:s")
- sys("PKGSRCDIR", LK_NONE, CheckvarPathname)
- acl("PKGSRCTOP", LK_NONE, CheckvarYes, "Makefile:s")
- acl("PKGTOOLS_ENV", LK_SHELL, CheckvarShellWord)
- sys("PKGVERSION", LK_NONE, CheckvarVersion)
- sys("PKGWILDCARD", LK_NONE, CheckvarFilemask)
- sys("PKG_ADMIN", LK_NONE, CheckvarShellCommand)
- sys("PKG_APACHE", LK_NONE, enum("apache22 apache24"))
- pkg("PKG_APACHE_ACCEPTED", LK_SHELL, enum("apache22 apache24"))
- usr("PKG_APACHE_DEFAULT", LK_NONE, enum("apache22 apache24"))
- usr("PKG_CONFIG", LK_NONE, CheckvarYes)
+ sys(".CURDIR", lkNone, CheckvarPathname)
+ sys(".TARGET", lkNone, CheckvarPathname)
+ acl("ALL_ENV", lkShell, CheckvarShellWord)
+ acl("ALTERNATIVES_FILE", lkNone, CheckvarFilename)
+ acl("ALTERNATIVES_SRC", lkShell, CheckvarPathname)
+ pkg("APACHE_MODULE", lkNone, CheckvarYes)
+ sys("AR", lkNone, CheckvarShellCommand)
+ sys("AS", lkNone, CheckvarShellCommand)
+ pkglist("AUTOCONF_REQD", lkShell, CheckvarVersion)
+ acl("AUTOMAKE_OVERRIDE", lkShell, CheckvarPathmask)
+ pkglist("AUTOMAKE_REQD", lkShell, CheckvarVersion)
+ pkg("AUTO_MKDIRS", lkNone, CheckvarYesNo)
+ usr("BATCH", lkNone, CheckvarYes)
+ acl("BDB185_DEFAULT", lkNone, CheckvarUnchecked)
+ sys("BDBBASE", lkNone, CheckvarPathname)
+ pkg("BDB_ACCEPTED", lkShell, enum("db1 db2 db3 db4 db5"))
+ acl("BDB_DEFAULT", lkNone, enum("db1 db2 db3 db4 db5"))
+ sys("BDB_LIBS", lkShell, CheckvarLdFlag)
+ sys("BDB_TYPE", lkNone, enum("db1 db2 db3 db4 db5"))
+ sys("BINGRP", lkNone, CheckvarUserGroupName)
+ sys("BINMODE", lkNone, CheckvarFileMode)
+ sys("BINOWN", lkNone, CheckvarUserGroupName)
+ acl("BOOTSTRAP_DEPENDS", lkSpace, CheckvarDependencyWithPath, "Makefile.common:a", "Makefile:a", "options.mk:a", "*.mk:a")
+ pkg("BOOTSTRAP_PKG", lkNone, CheckvarYesNo)
+ acl("BROKEN", lkNone, CheckvarMessage)
+ pkg("BROKEN_GETTEXT_DETECTION", lkNone, CheckvarYesNo)
+ pkglist("BROKEN_EXCEPT_ON_PLATFORM", lkShell, CheckvarPlatformTriple)
+ pkglist("BROKEN_ON_PLATFORM", lkSpace, CheckvarPlatformTriple)
+ sys("BSD_MAKE_ENV", lkShell, CheckvarShellWord)
+ acl("BUILDLINK_ABI_DEPENDS.*", lkSpace, CheckvarDependency, "*:a")
+ acl("BUILDLINK_API_DEPENDS.*", lkSpace, CheckvarDependency, "*:a")
+ acl("BUILDLINK_CONTENTS_FILTER", lkShell, CheckvarShellWord) // Should better be ShellCommand
+ sys("BUILDLINK_CFLAGS", lkShell, CheckvarCFlag)
+ bl3list("BUILDLINK_CFLAGS.*", lkShell, CheckvarCFlag)
+ sys("BUILDLINK_CPPFLAGS", lkShell, CheckvarCFlag)
+ bl3list("BUILDLINK_CPPFLAGS.*", lkShell, CheckvarCFlag)
+ acl("BUILDLINK_CONTENTS_FILTER.*", lkNone, CheckvarShellCommand, "buildlink3.mk:s")
+ acl("BUILDLINK_DEPENDS", lkSpace, CheckvarIdentifier, "buildlink3.mk:a")
+ acl("BUILDLINK_DEPMETHOD.*", lkShell, CheckvarBuildlinkDepmethod, "buildlink3.mk:ad", "Makefile:as", "Makefile.common:a", "*.mk:a") // FIXME: buildlink3.mk:d may lead to unexpected behavior.
+ sys("BUILDLINK_DIR", lkNone, CheckvarPathname)
+ bl3list("BUILDLINK_FILES.*", lkShell, CheckvarPathmask)
+ acl("BUILDLINK_FILES_CMD.*", lkShell, CheckvarShellWord) // Should better be ShellCommand
+ acl("BUILDLINK_INCDIRS.*", lkShell, CheckvarPathname, "buildlink3.mk:ad") // Should [d]efault really be allowed in buildlink3.mk?
+ acl("BUILDLINK_JAVA_PREFIX.*", lkNone, CheckvarPathname, "buildlink3.mk:s")
+ acl("BUILDLINK_LDADD.*", lkShell, CheckvarLdFlag, "builtin.mk:adsu", "buildlink3.mk:", "Makefile:u", "Makefile.common:u", "*.mk:u")
+ sys("BUILDLINK_LDFLAGS", lkShell, CheckvarLdFlag)
+ bl3list("BUILDLINK_LDFLAGS.*", lkShell, CheckvarLdFlag)
+ bl3list("BUILDLINK_LIBDIRS.*", lkShell, CheckvarPathname)
+ acl("BUILDLINK_LIBS.*", lkShell, CheckvarLdFlag, "buildlink3.mk:a")
+ acl("BUILDLINK_PASSTHRU_DIRS", lkShell, CheckvarPathname, "Makefile:a", "Makefile.common:a", "buildlink3.mk:a", "hacks.mk:a")
+ acl("BUILDLINK_PASSTHRU_RPATHDIRS", lkShell, CheckvarPathname, "Makefile:a", "Makefile.common:a", "buildlink3.mk:a", "hacks.mk:a")
+ acl("BUILDLINK_PKGSRCDIR.*", lkNone, CheckvarRelativePkgDir, "buildlink3.mk:dp")
+ acl("BUILDLINK_PREFIX.*", lkNone, CheckvarPathname, "builtin.mk:su", "buildlink3.mk:", "Makefile:u", "Makefile.common:u", "*.mk:u")
+ acl("BUILDLINK_RPATHDIRS.*", lkShell, CheckvarPathname, "buildlink3.mk:a")
+ acl("BUILDLINK_TARGETS", lkShell, CheckvarIdentifier)
+ acl("BUILDLINK_FNAME_TRANSFORM.*", lkNone, CheckvarSedCommands, "Makefile:a", "builtin.mk:a", "hacks.mk:a", "buildlink3.mk:a")
+ acl("BUILDLINK_TRANSFORM", lkShell, CheckvarWrapperTransform, "*:a")
+ acl("BUILDLINK_TREE", lkShell, CheckvarIdentifier, "buildlink3.mk:a")
+ acl("BUILD_DEFS", lkShell, CheckvarVarname, "Makefile:a", "Makefile.common:a", "options.mk:a")
+ acl("BUILD_DEPENDS", lkSpace, CheckvarDependencyWithPath, "Makefile.common:a", "Makefile:a", "options.mk:a", "*.mk:a")
+ pkglist("BUILD_DIRS", lkShell, CheckvarWrksrcSubdirectory)
+ pkglist("BUILD_ENV", lkShell, CheckvarShellWord)
+ sys("BUILD_MAKE_CMD", lkNone, CheckvarShellCommand)
+ pkglist("BUILD_MAKE_FLAGS", lkShell, CheckvarShellWord)
+ pkg("BUILD_TARGET", lkShell, CheckvarIdentifier)
+ pkg("BUILD_USES_MSGFMT", lkNone, CheckvarYes)
+ acl("BUILTIN_PKG", lkNone, CheckvarIdentifier, "builtin.mk:psu")
+ acl("BUILTIN_PKG.*", lkNone, CheckvarPkgName, "builtin.mk:psu")
+ acl("BUILTIN_FIND_FILES_VAR", lkShell, CheckvarVarname, "builtin.mk:s")
+ acl("BUILTIN_FIND_FILES.*", lkShell, CheckvarPathname, "builtin.mk:s")
+ acl("BUILTIN_FIND_GREP.*", lkNone, CheckvarString, "builtin.mk:s")
+ acl("BUILTIN_FIND_LIBS", lkShell, CheckvarPathname, "builtin.mk:s")
+ acl("BUILTIN_IMAKE_CHECK", lkShell, CheckvarUnchecked, "builtin.mk:s")
+ acl("BUILTIN_IMAKE_CHECK.*", lkNone, CheckvarYesNo)
+ sys("BUILTIN_X11_TYPE", lkNone, CheckvarUnchecked)
+ sys("BUILTIN_X11_VERSION", lkNone, CheckvarUnchecked)
+ acl("CATEGORIES", lkShell, CheckvarCategory, "Makefile:as", "Makefile.common:ads")
+ sys("CC_VERSION", lkNone, CheckvarMessage)
+ sys("CC", lkNone, CheckvarShellCommand)
+ pkglist("CFLAGS*", lkShell, CheckvarCFlag) // may also be changed by the user
+ acl("CHECK_BUILTIN", lkNone, CheckvarYesNo, "builtin.mk:d", "Makefile:s")
+ acl("CHECK_BUILTIN.*", lkNone, CheckvarYesNo, "*:p")
+ acl("CHECK_FILES_SKIP", lkShell, CheckvarBasicRegularExpression, "Makefile:a", "Makefile.common:a")
+ pkg("CHECK_FILES_SUPPORTED", lkNone, CheckvarYesNo)
+ usr("CHECK_HEADERS", lkNone, CheckvarYesNo)
+ pkglist("CHECK_HEADERS_SKIP", lkShell, CheckvarPathmask)
+ usr("CHECK_INTERPRETER", lkNone, CheckvarYesNo)
+ pkglist("CHECK_INTERPRETER_SKIP", lkShell, CheckvarPathmask)
+ usr("CHECK_PERMS", lkNone, CheckvarYesNo)
+ pkglist("CHECK_PERMS_SKIP", lkShell, CheckvarPathmask)
+ usr("CHECK_PORTABILITY", lkNone, CheckvarYesNo)
+ pkglist("CHECK_PORTABILITY_SKIP", lkShell, CheckvarPathmask)
+ acl("CHECK_SHLIBS", lkNone, CheckvarYesNo, "Makefile:s")
+ pkglist("CHECK_SHLIBS_SKIP", lkShell, CheckvarPathmask)
+ acl("CHECK_SHLIBS_SUPPORTED", lkNone, CheckvarYesNo, "Makefile:s")
+ pkglist("CHECK_WRKREF_SKIP", lkShell, CheckvarPathmask)
+ pkg("CMAKE_ARG_PATH", lkNone, CheckvarPathname)
+ pkglist("CMAKE_ARGS", lkShell, CheckvarShellWord)
+ acl("COMMENT", lkNone, CheckvarComment, "Makefile:as", "Makefile.common:as")
+ sys("COMPILER_RPATH_FLAG", lkNone, enum("-Wl,-rpath"))
+ pkglist("CONFIGURE_ARGS", lkShell, CheckvarShellWord)
+ pkglist("CONFIGURE_DIRS", lkShell, CheckvarWrksrcSubdirectory)
+ pkglist("CONFIGURE_ENV", lkShell, CheckvarShellWord)
+ pkg("CONFIGURE_HAS_INFODIR", lkNone, CheckvarYesNo)
+ pkg("CONFIGURE_HAS_LIBDIR", lkNone, CheckvarYesNo)
+ pkg("CONFIGURE_HAS_MANDIR", lkNone, CheckvarYesNo)
+ pkg("CONFIGURE_SCRIPT", lkNone, CheckvarPathname)
+ acl("CONFIG_GUESS_OVERRIDE", lkShell, CheckvarPathmask, "Makefile:as", "Makefile.common:as")
+ acl("CONFIG_STATUS_OVERRIDE", lkShell, CheckvarPathmask, "Makefile:as", "Makefile.common:as")
+ acl("CONFIG_SHELL", lkNone, CheckvarPathname, "Makefile:s", "Makefile.common:s")
+ acl("CONFIG_SUB_OVERRIDE", lkShell, CheckvarPathmask, "Makefile:as", "Makefile.common:as")
+ pkglist("CONFLICTS", lkSpace, CheckvarDependency)
+ pkglist("CONF_FILES", lkShell, CheckvarShellWord)
+ pkg("CONF_FILES_MODE", lkNone, enum("0644 0640 0600 0400"))
+ pkglist("CONF_FILES_PERMS", lkShell, CheckvarShellWord)
+ sys("COPY", lkNone, enum("-c")) // The flag that tells ${INSTALL} to copy a file
+ sys("CPP", lkNone, CheckvarShellCommand)
+ pkglist("CPPFLAGS*", lkShell, CheckvarCFlag)
+ acl("CRYPTO", lkNone, CheckvarYes, "Makefile:s")
+ sys("CXX", lkNone, CheckvarShellCommand)
+ pkglist("CXXFLAGS*", lkShell, CheckvarCFlag)
+ acl("DEINSTALL_FILE", lkNone, CheckvarPathname, "Makefile:s")
+ acl("DEINSTALL_SRC", lkShell, CheckvarPathname, "Makefile:s", "Makefile.common:ds")
+ acl("DEINSTALL_TEMPLATES", lkShell, CheckvarPathname, "Makefile:as", "Makefile.common:ads")
+ sys("DELAYED_ERROR_MSG", lkNone, CheckvarShellCommand)
+ sys("DELAYED_WARNING_MSG", lkNone, CheckvarShellCommand)
+ pkglist("DEPENDS", lkSpace, CheckvarDependencyWithPath)
+ usr("DEPENDS_TARGET", lkShell, CheckvarIdentifier)
+ acl("DESCR_SRC", lkShell, CheckvarPathname, "Makefile:s", "Makefile.common:ds")
+ sys("DESTDIR", lkNone, CheckvarPathname)
+ acl("DESTDIR_VARNAME", lkNone, CheckvarVarname, "Makefile:s", "Makefile.common:s")
+ sys("DEVOSSAUDIO", lkNone, CheckvarPathname)
+ sys("DEVOSSSOUND", lkNone, CheckvarPathname)
+ pkglist("DISTFILES", lkShell, CheckvarFilename)
+ pkg("DISTINFO_FILE", lkNone, CheckvarRelativePkgPath)
+ pkg("DISTNAME", lkNone, CheckvarFilename)
+ pkg("DIST_SUBDIR", lkNone, CheckvarPathname)
+ acl("DJB_BUILD_ARGS", lkShell, CheckvarShellWord)
+ acl("DJB_BUILD_TARGETS", lkShell, CheckvarIdentifier)
+ acl("DJB_CONFIG_CMDS", lkShell, CheckvarShellWord, "options.mk:s") // ShellCommand, terminated by a semicolon
+ acl("DJB_CONFIG_DIRS", lkShell, CheckvarWrksrcSubdirectory)
+ acl("DJB_CONFIG_HOME", lkNone, CheckvarFilename)
+ acl("DJB_CONFIG_PREFIX", lkNone, CheckvarPathname)
+ acl("DJB_INSTALL_TARGETS", lkShell, CheckvarIdentifier)
+ acl("DJB_MAKE_TARGETS", lkNone, CheckvarYesNo)
+ acl("DJB_RESTRICTED", lkNone, CheckvarYesNo, "Makefile:s")
+ acl("DJB_SLASHPACKAGE", lkNone, CheckvarYesNo)
+ acl("DLOPEN_REQUIRE_PTHREADS", lkNone, CheckvarYesNo)
+ acl("DL_AUTO_VARS", lkNone, CheckvarYes, "Makefile:s", "Makefile.common:s", "options.mk:s")
+ acl("DL_LIBS", lkShell, CheckvarLdFlag)
+ sys("DOCOWN", lkNone, CheckvarUserGroupName)
+ sys("DOCGRP", lkNone, CheckvarUserGroupName)
+ sys("DOCMODE", lkNone, CheckvarFileMode)
+ sys("DOWNLOADED_DISTFILE", lkNone, CheckvarPathname)
+ sys("DO_NADA", lkNone, CheckvarShellCommand)
+ pkg("DYNAMIC_SITES_CMD", lkNone, CheckvarShellCommand)
+ pkg("DYNAMIC_SITES_SCRIPT", lkNone, CheckvarPathname)
+ sys("ECHO", lkNone, CheckvarShellCommand)
+ sys("ECHO_MSG", lkNone, CheckvarShellCommand)
+ sys("ECHO_N", lkNone, CheckvarShellCommand)
+ pkg("EGDIR", lkNone, CheckvarPathname) // Not defined anywhere, but used in many places like this.
+ sys("EMACS_BIN", lkNone, CheckvarPathname)
+ sys("EMACS_ETCPREFIX", lkNone, CheckvarPathname)
+ sys("EMACS_FLAVOR", lkNone, enum("emacs xemacs"))
+ sys("EMACS_INFOPREFIX", lkNone, CheckvarPathname)
+ sys("EMACS_LISPPREFIX", lkNone, CheckvarPathname)
+ acl("EMACS_MODULES", lkShell, CheckvarIdentifier, "Makefile:as", "Makefile.common:as")
+ sys("EMACS_PKGNAME_PREFIX", lkNone, CheckvarIdentifier) // Or the empty string.
+ sys("EMACS_TYPE", lkNone, enum("emacs xemacs"))
+ acl("EMACS_USE_LEIM", lkNone, CheckvarYes)
+ acl("EMACS_VERSIONS_ACCEPTED", lkShell, enum("emacs25 emacs24 emacs24nox emacs23 emacs23nox emacs22 emacs22nox emacs21 emacs21nox emacs20 xemacs215 xemacs215nox xemacs214 xemacs214nox"), "Makefile:s")
+ sys("EMACS_VERSION_MAJOR", lkNone, CheckvarInteger)
+ sys("EMACS_VERSION_MINOR", lkNone, CheckvarInteger)
+ acl("EMACS_VERSION_REQD", lkShell, enum("emacs24 emacs24nox emacs23 emacs23nox emacs22 emacs22nox emacs21 emacs21nox emacs20 xemacs215 xemacs214"), "Makefile:as")
+ sys("EMULDIR", lkNone, CheckvarPathname)
+ sys("EMULSUBDIR", lkNone, CheckvarPathname)
+ sys("OPSYS_EMULDIR", lkNone, CheckvarPathname)
+ sys("EMULSUBDIRSLASH", lkNone, CheckvarPathname)
+ sys("EMUL_ARCH", lkNone, enum("i386 none"))
+ sys("EMUL_DISTRO", lkNone, CheckvarIdentifier)
+ sys("EMUL_IS_NATIVE", lkNone, CheckvarYes)
+ pkg("EMUL_MODULES.*", lkShell, CheckvarIdentifier)
+ sys("EMUL_OPSYS", lkNone, enum("freebsd hpux irix linux osf1 solaris sunos none"))
+ pkg("EMUL_PKG_FMT", lkNone, enum("plain rpm"))
+ usr("EMUL_PLATFORM", lkNone, CheckvarEmulPlatform)
+ pkg("EMUL_PLATFORMS", lkShell, CheckvarEmulPlatform)
+ usr("EMUL_PREFER", lkShell, CheckvarEmulPlatform)
+ pkg("EMUL_REQD", lkSpace, CheckvarDependency)
+ usr("EMUL_TYPE.*", lkNone, enum("native builtin suse suse-9.1 suse-9.x suse-10.0 suse-10.x"))
+ sys("ERROR_CAT", lkNone, CheckvarShellCommand)
+ sys("ERROR_MSG", lkNone, CheckvarShellCommand)
+ acl("EVAL_PREFIX", lkSpace, CheckvarShellWord, "Makefile:a", "Makefile.common:a") // XXX: Combining ShellWord with lkSpace looks weird.
+ sys("EXPORT_SYMBOLS_LDFLAGS", lkShell, CheckvarLdFlag)
+ sys("EXTRACT_CMD", lkNone, CheckvarShellCommand)
+ pkg("EXTRACT_DIR", lkNone, CheckvarPathname)
+ pkglist("EXTRACT_ELEMENTS", lkShell, CheckvarPathmask)
+ pkglist("EXTRACT_ENV", lkShell, CheckvarShellWord)
+ pkglist("EXTRACT_ONLY", lkShell, CheckvarPathname)
+ acl("EXTRACT_OPTS", lkShell, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
+ acl("EXTRACT_OPTS_BIN", lkShell, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
+ acl("EXTRACT_OPTS_LHA", lkShell, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
+ acl("EXTRACT_OPTS_PAX", lkShell, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
+ acl("EXTRACT_OPTS_RAR", lkShell, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
+ acl("EXTRACT_OPTS_TAR", lkShell, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
+ acl("EXTRACT_OPTS_ZIP", lkShell, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
+ acl("EXTRACT_OPTS_ZOO", lkShell, CheckvarShellWord, "Makefile:as", "Makefile.common:as")
+ pkg("EXTRACT_SUFX", lkNone, CheckvarDistSuffix)
+ pkg("EXTRACT_USING", lkNone, enum("bsdtar gtar nbtar pax"))
+ sys("FAIL_MSG", lkNone, CheckvarShellCommand)
+ sys("FAMBASE", lkNone, CheckvarPathname)
+ pkg("FAM_ACCEPTED", lkShell, enum("fam gamin"))
+ usr("FAM_DEFAULT", lkNone, enum("fam gamin"))
+ sys("FAM_TYPE", lkNone, enum("fam gamin"))
+ acl("FETCH_BEFORE_ARGS", lkShell, CheckvarShellWord, "Makefile:as")
+ pkglist("FETCH_MESSAGE", lkShell, CheckvarShellWord)
+ pkg("FILESDIR", lkNone, CheckvarRelativePkgPath)
+ pkglist("FILES_SUBST", lkShell, CheckvarShellWord)
+ acl("FILES_SUBST_SED", lkShell, CheckvarShellWord)
+ pkglist("FIX_RPATH", lkShell, CheckvarVarname)
+ pkglist("FLEX_REQD", lkShell, CheckvarVersion)
+ acl("FONTS_DIRS.*", lkShell, CheckvarPathname, "Makefile:as", "Makefile.common:a")
+ sys("GAMEDATAMODE", lkNone, CheckvarFileMode)
+ sys("GAMES_GROUP", lkNone, CheckvarUserGroupName)
+ sys("GAMEMODE", lkNone, CheckvarFileMode)
+ sys("GAMES_USER", lkNone, CheckvarUserGroupName)
+ pkglist("GCC_REQD", lkShell, CheckvarVersion)
+ pkglist("GENERATE_PLIST", lkShell, CheckvarShellWord) // List of Shellcommand, terminated with a semicolon
+ pkg("GITHUB_PROJECT", lkNone, CheckvarIdentifier)
+ pkg("GITHUB_TAG", lkNone, CheckvarIdentifier)
+ pkg("GITHUB_RELEASE", lkNone, CheckvarFilename)
+ pkg("GITHUB_TYPE", lkNone, enum("tag release"))
+ acl("GNU_ARCH", lkNone, enum("mips"))
+ acl("GNU_CONFIGURE", lkNone, CheckvarYes, "Makefile.common:s", "Makefile:s")
+ acl("GNU_CONFIGURE_INFODIR", lkNone, CheckvarPathname, "Makefile:s", "Makefile.common:s")
+ acl("GNU_CONFIGURE_LIBDIR", lkNone, CheckvarPathname, "Makefile:s", "Makefile.common:s")
+ pkg("GNU_CONFIGURE_LIBSUBDIR", lkNone, CheckvarPathname)
+ acl("GNU_CONFIGURE_MANDIR", lkNone, CheckvarPathname, "Makefile:s", "Makefile.common:s")
+ acl("GNU_CONFIGURE_PREFIX", lkNone, CheckvarPathname, "Makefile:s")
+ acl("HAS_CONFIGURE", lkNone, CheckvarYes, "Makefile:s", "Makefile.common:s")
+ pkglist("HEADER_TEMPLATES", lkShell, CheckvarPathname)
+ pkg("HOMEPAGE", lkNone, CheckvarURL)
+ acl("IGNORE_PKG.*", lkNone, CheckvarYes, "*:sp")
+ acl("INCOMPAT_CURSES", lkSpace, CheckvarPlatformTriple, "Makefile:as")
+ acl("INCOMPAT_ICONV", lkSpace, CheckvarPlatformTriple)
+ acl("INFO_DIR", lkNone, CheckvarPathname) // relative to PREFIX
+ pkg("INFO_FILES", lkNone, CheckvarYes)
+ sys("INSTALL", lkNone, CheckvarShellCommand)
+ pkglist("INSTALLATION_DIRS", lkShell, CheckvarPrefixPathname)
+ pkg("INSTALLATION_DIRS_FROM_PLIST", lkNone, CheckvarYes)
+ sys("INSTALL_DATA", lkNone, CheckvarShellCommand)
+ sys("INSTALL_DATA_DIR", lkNone, CheckvarShellCommand)
+ pkglist("INSTALL_DIRS", lkShell, CheckvarWrksrcSubdirectory)
+ pkglist("INSTALL_ENV", lkShell, CheckvarShellWord)
+ acl("INSTALL_FILE", lkNone, CheckvarPathname, "Makefile:s")
+ sys("INSTALL_GAME", lkNone, CheckvarShellCommand)
+ sys("INSTALL_GAME_DATA", lkNone, CheckvarShellCommand)
+ sys("INSTALL_LIB", lkNone, CheckvarShellCommand)
+ sys("INSTALL_LIB_DIR", lkNone, CheckvarShellCommand)
+ pkglist("INSTALL_MAKE_FLAGS", lkShell, CheckvarShellWord)
+ sys("INSTALL_MAN", lkNone, CheckvarShellCommand)
+ sys("INSTALL_MAN_DIR", lkNone, CheckvarShellCommand)
+ sys("INSTALL_PROGRAM", lkNone, CheckvarShellCommand)
+ sys("INSTALL_PROGRAM_DIR", lkNone, CheckvarShellCommand)
+ sys("INSTALL_SCRIPT", lkNone, CheckvarShellCommand)
+ acl("INSTALL_SCRIPTS_ENV", lkShell, CheckvarShellWord)
+ sys("INSTALL_SCRIPT_DIR", lkNone, CheckvarShellCommand)
+ acl("INSTALL_SRC", lkShell, CheckvarPathname, "Makefile:s", "Makefile.common:ds")
+ pkg("INSTALL_TARGET", lkShell, CheckvarIdentifier)
+ acl("INSTALL_TEMPLATES", lkShell, CheckvarPathname, "Makefile:as", "Makefile.common:ads")
+ acl("INSTALL_UNSTRIPPED", lkNone, CheckvarYesNo, "Makefile:s", "Makefile.common:s")
+ pkg("INTERACTIVE_STAGE", lkShell, enum("fetch extract configure build install"))
+ acl("IS_BUILTIN.*", lkNone, CheckvarYesNoIndirectly, "builtin.mk:psu")
+ sys("JAVA_BINPREFIX", lkNone, CheckvarPathname)
+ pkg("JAVA_CLASSPATH", lkNone, CheckvarShellWord)
+ pkg("JAVA_HOME", lkNone, CheckvarPathname)
+ pkg("JAVA_NAME", lkNone, CheckvarFilename)
+ pkglist("JAVA_UNLIMIT", lkShell, enum("cmdsize datasize stacksize"))
+ pkglist("JAVA_WRAPPERS", lkSpace, CheckvarFilename)
+ pkg("JAVA_WRAPPER_BIN.*", lkNone, CheckvarPathname)
+ sys("KRB5BASE", lkNone, CheckvarPathname)
+ acl("KRB5_ACCEPTED", lkShell, enum("heimdal mit-krb5"))
+ usr("KRB5_DEFAULT", lkNone, enum("heimdal mit-krb5"))
+ sys("KRB5_TYPE", lkNone, CheckvarUnchecked)
+ sys("LD", lkNone, CheckvarShellCommand)
+ pkglist("LDFLAGS*", lkShell, CheckvarLdFlag)
+ sys("LIBGRP", lkNone, CheckvarUserGroupName)
+ sys("LIBMODE", lkNone, CheckvarFileMode)
+ sys("LIBOWN", lkNone, CheckvarUserGroupName)
+ sys("LIBOSSAUDIO", lkNone, CheckvarPathname)
+ pkglist("LIBS*", lkShell, CheckvarLdFlag)
+ sys("LIBTOOL", lkNone, CheckvarShellCommand)
+ acl("LIBTOOL_OVERRIDE", lkShell, CheckvarPathmask, "Makefile:as")
+ pkglist("LIBTOOL_REQD", lkShell, CheckvarVersion)
+ acl("LICENCE", lkNone, CheckvarLicense, "Makefile:s", "Makefile.common:s", "options.mk:s")
+ acl("LICENSE", lkNone, CheckvarLicense, "Makefile:s", "Makefile.common:s", "options.mk:s")
+ pkg("LICENSE_FILE", lkNone, CheckvarPathname)
+ sys("LINKER_RPATH_FLAG", lkNone, CheckvarShellWord)
+ sys("LOWER_OPSYS", lkNone, CheckvarIdentifier)
+ acl("LTCONFIG_OVERRIDE", lkShell, CheckvarPathmask, "Makefile:as", "Makefile.common:a")
+ sys("MACHINE_ARCH", lkNone, CheckvarIdentifier)
+ sys("MACHINE_GNU_PLATFORM", lkNone, CheckvarPlatformTriple)
+ acl("MAINTAINER", lkNone, CheckvarMailAddress, "Makefile:s", "Makefile.common:d")
+ sys("MAKE", lkNone, CheckvarShellCommand)
+ pkglist("MAKEFLAGS", lkShell, CheckvarShellWord)
+ acl("MAKEVARS", lkShell, CheckvarVarname, "builtin.mk:a", "buildlink3.mk:a", "hacks.mk:a")
+ pkglist("MAKE_DIRS", lkShell, CheckvarPathname)
+ pkglist("MAKE_DIRS_PERMS", lkShell, CheckvarShellWord)
+ pkglist("MAKE_ENV", lkShell, CheckvarShellWord)
+ pkg("MAKE_FILE", lkNone, CheckvarPathname)
+ pkglist("MAKE_FLAGS", lkShell, CheckvarShellWord)
+ usr("MAKE_JOBS", lkNone, CheckvarInteger)
+ pkg("MAKE_JOBS_SAFE", lkNone, CheckvarYesNo)
+ pkg("MAKE_PROGRAM", lkNone, CheckvarShellCommand)
+ acl("MANCOMPRESSED", lkNone, CheckvarYesNo, "Makefile:s", "Makefile.common:ds")
+ acl("MANCOMPRESSED_IF_MANZ", lkNone, CheckvarYes, "Makefile:s", "Makefile.common:ds")
+ sys("MANGRP", lkNone, CheckvarUserGroupName)
+ sys("MANMODE", lkNone, CheckvarFileMode)
+ sys("MANOWN", lkNone, CheckvarUserGroupName)
+ pkglist("MASTER_SITES", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_APACHE", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_BACKUP", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_CYGWIN", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_DEBIAN", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_FREEBSD", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_FREEBSD_LOCAL", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_GENTOO", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_GITHUB", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_GNOME", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_GNU", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_GNUSTEP", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_IFARCHIVE", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_HASKELL_HACKAGE", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_KDE", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_LOCAL", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_MOZILLA", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_MOZILLA_ALL", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_MOZILLA_ESR", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_MYSQL", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_NETLIB", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_OPENOFFICE", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_OSDN", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_PERL_CPAN", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_R_CRAN", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_RUBYGEMS", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_SOURCEFORGE", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_SUNSITE", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_SUSE", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_TEX_CTAN", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_XCONTRIB", lkShell, CheckvarFetchURL)
+ sys("MASTER_SITE_XEMACS", lkShell, CheckvarFetchURL)
+ pkglist("MESSAGE_SRC", lkShell, CheckvarPathname)
+ acl("MESSAGE_SUBST", lkShell, CheckvarShellWord, "Makefile.common:a", "Makefile:a", "options.mk:a")
+ pkg("META_PACKAGE", lkNone, CheckvarYes)
+ sys("MISSING_FEATURES", lkShell, CheckvarIdentifier)
+ acl("MYSQL_VERSIONS_ACCEPTED", lkShell, enum("51 55 56"), "Makefile:s")
+ usr("MYSQL_VERSION_DEFAULT", lkNone, CheckvarVersion)
+ sys("NM", lkNone, CheckvarShellCommand)
+ sys("NONBINMODE", lkNone, CheckvarFileMode)
+ pkg("NOT_FOR_COMPILER", lkShell, enum("ccache ccc clang distcc f2c gcc hp icc ido mipspro mipspro-ucode pcc sunpro xlc"))
+ pkglist("NOT_FOR_PLATFORM", lkSpace, CheckvarPlatformTriple)
+ pkg("NOT_FOR_UNPRIVILEGED", lkNone, CheckvarYesNo)
+ acl("NO_BIN_ON_CDROM", lkNone, CheckvarRestricted, "Makefile:s", "Makefile.common:s")
+ acl("NO_BIN_ON_FTP", lkNone, CheckvarRestricted, "Makefile:s", "Makefile.common:s")
+ acl("NO_BUILD", lkNone, CheckvarYes, "Makefile:s", "Makefile.common:s", "Makefile.*:ds")
+ pkg("NO_CHECKSUM", lkNone, CheckvarYes)
+ pkg("NO_CONFIGURE", lkNone, CheckvarYes)
+ acl("NO_EXPORT_CPP", lkNone, CheckvarYes, "Makefile:s")
+ pkg("NO_EXTRACT", lkNone, CheckvarYes)
+ pkg("NO_INSTALL_MANPAGES", lkNone, CheckvarYes) // only has an effect for Imake packages.
+ acl("NO_PKGTOOLS_REQD_CHECK", lkNone, CheckvarYes, "Makefile:s")
+ acl("NO_SRC_ON_CDROM", lkNone, CheckvarRestricted, "Makefile:s", "Makefile.common:s")
+ acl("NO_SRC_ON_FTP", lkNone, CheckvarRestricted, "Makefile:s", "Makefile.common:s")
+ pkglist("ONLY_FOR_COMPILER", lkShell, enum("ccc clang gcc hp icc ido mipspro mipspro-ucode pcc sunpro xlc"))
+ pkglist("ONLY_FOR_PLATFORM", lkSpace, CheckvarPlatformTriple)
+ pkg("ONLY_FOR_UNPRIVILEGED", lkNone, CheckvarYesNo)
+ sys("OPSYS", lkNone, CheckvarIdentifier)
+ acl("OPSYSVARS", lkShell, CheckvarVarname, "Makefile:a", "Makefile.common:a")
+ acl("OSVERSION_SPECIFIC", lkNone, CheckvarYes, "Makefile:s", "Makefile.common:s")
+ sys("OS_VERSION", lkNone, CheckvarVersion)
+ pkg("OVERRIDE_DIRDEPTH*", lkNone, CheckvarInteger)
+ pkg("OVERRIDE_GNU_CONFIG_SCRIPTS", lkNone, CheckvarYes)
+ acl("OWNER", lkNone, CheckvarMailAddress, "Makefile:s", "Makefile.common:d")
+ pkglist("OWN_DIRS", lkShell, CheckvarPathname)
+ pkglist("OWN_DIRS_PERMS", lkShell, CheckvarShellWord)
+ sys("PAMBASE", lkNone, CheckvarPathname)
+ usr("PAM_DEFAULT", lkNone, enum("linux-pam openpam solaris-pam"))
+ acl("PATCHDIR", lkNone, CheckvarRelativePkgPath, "Makefile:s", "Makefile.common:ds")
+ pkglist("PATCHFILES", lkShell, CheckvarFilename)
+ acl("PATCH_ARGS", lkShell, CheckvarShellWord)
+ acl("PATCH_DIST_ARGS", lkShell, CheckvarShellWord, "Makefile:as")
+ acl("PATCH_DIST_CAT", lkNone, CheckvarShellCommand)
+ acl("PATCH_DIST_STRIP*", lkNone, CheckvarShellWord, "Makefile:s", "Makefile.common:s", "buildlink3.mk:", "builtin.mk:", "*.mk:s")
+ acl("PATCH_SITES", lkShell, CheckvarURL, "Makefile:s", "options.mk:s", "Makefile.common:s")
+ acl("PATCH_STRIP", lkNone, CheckvarShellWord)
+ pkg("PERL5_USE_PACKLIST", lkNone, CheckvarYesNo)
+ acl("PERL5_PACKLIST", lkShell, CheckvarPerl5Packlist, "Makefile:s", "options.mk:sa")
+ acl("PERL5_PACKLIST_DIR", lkNone, CheckvarPathname)
+ sys("PGSQL_PREFIX", lkNone, CheckvarPathname)
+ acl("PGSQL_VERSIONS_ACCEPTED", lkShell, enum("91 92 93 94"))
+ usr("PGSQL_VERSION_DEFAULT", lkNone, CheckvarVersion)
+ sys("PG_LIB_EXT", lkNone, enum("dylib so"))
+ sys("PGSQL_TYPE", lkNone, enum("postgresql81-client postgresql80-client"))
+ sys("PGPKGSRCDIR", lkNone, CheckvarPathname)
+ sys("PHASE_MSG", lkNone, CheckvarShellCommand)
+ usr("PHP_VERSION_REQD", lkNone, CheckvarVersion)
+ sys("PKGBASE", lkNone, CheckvarIdentifier)
+ acl("PKGCONFIG_OVERRIDE", lkShell, CheckvarPathmask, "Makefile:as", "Makefile.common:a")
+ pkg("PKGCONFIG_OVERRIDE_STAGE", lkNone, CheckvarStage)
+ pkg("PKGDIR", lkNone, CheckvarRelativePkgDir)
+ sys("PKGDIRMODE", lkNone, CheckvarFileMode)
+ sys("PKGLOCALEDIR", lkNone, CheckvarPathname)
+ pkg("PKGNAME", lkNone, CheckvarPkgName)
+ sys("PKGNAME_NOREV", lkNone, CheckvarPkgName)
+ sys("PKGPATH", lkNone, CheckvarPathname)
+ acl("PKGREPOSITORY", lkNone, CheckvarUnchecked)
+ acl("PKGREVISION", lkNone, CheckvarPkgRevision, "Makefile:s")
+ sys("PKGSRCDIR", lkNone, CheckvarPathname)
+ acl("PKGSRCTOP", lkNone, CheckvarYes, "Makefile:s")
+ acl("PKGTOOLS_ENV", lkShell, CheckvarShellWord)
+ sys("PKGVERSION", lkNone, CheckvarVersion)
+ sys("PKGWILDCARD", lkNone, CheckvarFilemask)
+ sys("PKG_ADMIN", lkNone, CheckvarShellCommand)
+ sys("PKG_APACHE", lkNone, enum("apache22 apache24"))
+ pkg("PKG_APACHE_ACCEPTED", lkShell, enum("apache22 apache24"))
+ usr("PKG_APACHE_DEFAULT", lkNone, enum("apache22 apache24"))
+ usr("PKG_CONFIG", lkNone, CheckvarYes)
// ^^ No, this is not the popular command from GNOME, but the setting
// whether the pkgsrc user wants configuration files automatically
// installed or not.
- sys("PKG_CREATE", LK_NONE, CheckvarShellCommand)
- sys("PKG_DBDIR", LK_NONE, CheckvarPathname)
- cmdline("PKG_DEBUG_LEVEL", LK_NONE, CheckvarInteger)
- usr("PKG_DEFAULT_OPTIONS", LK_SHELL, CheckvarOption)
- sys("PKG_DELETE", LK_NONE, CheckvarShellCommand)
- acl("PKG_DESTDIR_SUPPORT", LK_SHELL, enum("destdir user-destdir"), "Makefile:s", "Makefile.common:s")
- pkglist("PKG_FAIL_REASON", LK_SHELL, CheckvarShellWord)
- acl("PKG_GECOS.*", LK_NONE, CheckvarMessage, "Makefile:s")
- acl("PKG_GID.*", LK_NONE, CheckvarInteger, "Makefile:s")
- acl("PKG_GROUPS", LK_SHELL, CheckvarShellWord, "Makefile:as")
- pkglist("PKG_GROUPS_VARS", LK_SHELL, CheckvarVarname)
- acl("PKG_HOME.*", LK_NONE, CheckvarPathname, "Makefile:s")
- acl("PKG_HACKS", LK_SHELL, CheckvarIdentifier, "hacks.mk:a")
- sys("PKG_INFO", LK_NONE, CheckvarShellCommand)
- sys("PKG_JAVA_HOME", LK_NONE, CheckvarPathname)
+ sys("PKG_CREATE", lkNone, CheckvarShellCommand)
+ sys("PKG_DBDIR", lkNone, CheckvarPathname)
+ cmdline("PKG_DEBUG_LEVEL", lkNone, CheckvarInteger)
+ usr("PKG_DEFAULT_OPTIONS", lkShell, CheckvarOption)
+ sys("PKG_DELETE", lkNone, CheckvarShellCommand)
+ acl("PKG_DESTDIR_SUPPORT", lkShell, enum("destdir user-destdir"), "Makefile:s", "Makefile.common:s")
+ pkglist("PKG_FAIL_REASON", lkShell, CheckvarShellWord)
+ acl("PKG_GECOS.*", lkNone, CheckvarMessage, "Makefile:s")
+ acl("PKG_GID.*", lkNone, CheckvarInteger, "Makefile:s")
+ acl("PKG_GROUPS", lkShell, CheckvarShellWord, "Makefile:as")
+ pkglist("PKG_GROUPS_VARS", lkShell, CheckvarVarname)
+ acl("PKG_HOME.*", lkNone, CheckvarPathname, "Makefile:s")
+ acl("PKG_HACKS", lkShell, CheckvarIdentifier, "hacks.mk:a")
+ sys("PKG_INFO", lkNone, CheckvarShellCommand)
+ sys("PKG_JAVA_HOME", lkNone, CheckvarPathname)
jvms := enum("{ blackdown-jdk13 jdk jdk14 kaffe run-jdk13 sun-jdk14 sun-jdk15 sun-jdk6 openjdk7 openjdk7-bin sun-jdk7}")
- sys("PKG_JVM", LK_NONE, jvms)
- acl("PKG_JVMS_ACCEPTED", LK_SHELL, jvms, "Makefile:s", "Makefile.common:ds")
- usr("PKG_JVM_DEFAULT", LK_NONE, jvms)
- acl("PKG_LEGACY_OPTIONS", LK_SHELL, CheckvarOption)
- acl("PKG_LIBTOOL", LK_NONE, CheckvarPathname, "Makefile:s")
- acl("PKG_OPTIONS", LK_SPACE, CheckvarOption, "bsd.options.mk:s", "*:pu")
- usr("PKG_OPTIONS.*", LK_SPACE, CheckvarOption)
- acl("PKG_OPTIONS_DEPRECATED_WARNINGS", LK_SHELL, CheckvarShellWord)
- acl("PKG_OPTIONS_GROUP.*", LK_SPACE, CheckvarOption, "options.mk:s", "Makefile:s")
- acl("PKG_OPTIONS_LEGACY_OPTS", LK_SPACE, CheckvarUnchecked, "Makefile:a", "Makefile.common:a", "options.mk:a")
- acl("PKG_OPTIONS_LEGACY_VARS", LK_SPACE, CheckvarUnchecked, "Makefile:a", "Makefile.common:a", "options.mk:a")
- acl("PKG_OPTIONS_NONEMPTY_SETS", LK_SPACE, CheckvarIdentifier)
- acl("PKG_OPTIONS_OPTIONAL_GROUPS", LK_SPACE, CheckvarIdentifier, "options.mk:as")
- acl("PKG_OPTIONS_REQUIRED_GROUPS", LK_SPACE, CheckvarIdentifier, "options.mk:s", "Makefile:s")
- acl("PKG_OPTIONS_SET.*", LK_SPACE, CheckvarOption)
- acl("PKG_OPTIONS_VAR", LK_NONE, CheckvarPkgOptionsVar, "options.mk:s", "Makefile:s", "Makefile.common:s", "bsd.options.mk:p")
- acl("PKG_PRESERVE", LK_NONE, CheckvarYes, "Makefile:s")
- acl("PKG_SHELL", LK_NONE, CheckvarPathname, "Makefile:s", "Makefile.common:s")
- acl("PKG_SHELL.*", LK_NONE, CheckvarPathname, "Makefile:s", "Makefile.common:s")
- acl("PKG_SHLIBTOOL", LK_NONE, CheckvarPathname)
- pkglist("PKG_SKIP_REASON", LK_SHELL, CheckvarShellWord)
- acl("PKG_SUGGESTED_OPTIONS", LK_SHELL, CheckvarOption, "options.mk:as", "Makefile:as", "Makefile.common:s")
- acl("PKG_SUPPORTED_OPTIONS", LK_SHELL, CheckvarOption, "options.mk:as", "Makefile:as", "Makefile.common:s")
- pkg("PKG_SYSCONFDIR*", LK_NONE, CheckvarPathname)
- pkglist("PKG_SYSCONFDIR_PERMS", LK_SHELL, CheckvarShellWord)
- sys("PKG_SYSCONFBASEDIR", LK_NONE, CheckvarPathname)
- pkg("PKG_SYSCONFSUBDIR", LK_NONE, CheckvarPathname)
- acl("PKG_SYSCONFVAR", LK_NONE, CheckvarIdentifier) // FIXME: name/type mismatch.")
- acl("PKG_UID", LK_NONE, CheckvarInteger, "Makefile:s")
- acl("PKG_USERS", LK_SHELL, CheckvarShellWord, "Makefile:as")
- pkg("PKG_USERS_VARS", LK_SHELL, CheckvarVarname)
- acl("PKG_USE_KERBEROS", LK_NONE, CheckvarYes, "Makefile:s", "Makefile.common:s")
+ sys("PKG_JVM", lkNone, jvms)
+ acl("PKG_JVMS_ACCEPTED", lkShell, jvms, "Makefile:s", "Makefile.common:ds")
+ usr("PKG_JVM_DEFAULT", lkNone, jvms)
+ acl("PKG_LEGACY_OPTIONS", lkShell, CheckvarOption)
+ acl("PKG_LIBTOOL", lkNone, CheckvarPathname, "Makefile:s")
+ acl("PKG_OPTIONS", lkSpace, CheckvarOption, "bsd.options.mk:s", "*:pu")
+ usr("PKG_OPTIONS.*", lkSpace, CheckvarOption)
+ acl("PKG_OPTIONS_DEPRECATED_WARNINGS", lkShell, CheckvarShellWord)
+ acl("PKG_OPTIONS_GROUP.*", lkSpace, CheckvarOption, "options.mk:s", "Makefile:s")
+ acl("PKG_OPTIONS_LEGACY_OPTS", lkSpace, CheckvarUnchecked, "Makefile:a", "Makefile.common:a", "options.mk:a")
+ acl("PKG_OPTIONS_LEGACY_VARS", lkSpace, CheckvarUnchecked, "Makefile:a", "Makefile.common:a", "options.mk:a")
+ acl("PKG_OPTIONS_NONEMPTY_SETS", lkSpace, CheckvarIdentifier)
+ acl("PKG_OPTIONS_OPTIONAL_GROUPS", lkSpace, CheckvarIdentifier, "options.mk:as")
+ acl("PKG_OPTIONS_REQUIRED_GROUPS", lkSpace, CheckvarIdentifier, "options.mk:s", "Makefile:s")
+ acl("PKG_OPTIONS_SET.*", lkSpace, CheckvarOption)
+ acl("PKG_OPTIONS_VAR", lkNone, CheckvarPkgOptionsVar, "options.mk:s", "Makefile:s", "Makefile.common:s", "bsd.options.mk:p")
+ acl("PKG_PRESERVE", lkNone, CheckvarYes, "Makefile:s")
+ acl("PKG_SHELL", lkNone, CheckvarPathname, "Makefile:s", "Makefile.common:s")
+ acl("PKG_SHELL.*", lkNone, CheckvarPathname, "Makefile:s", "Makefile.common:s")
+ acl("PKG_SHLIBTOOL", lkNone, CheckvarPathname)
+ pkglist("PKG_SKIP_REASON", lkShell, CheckvarShellWord)
+ acl("PKG_SUGGESTED_OPTIONS", lkShell, CheckvarOption, "options.mk:as", "Makefile:as", "Makefile.common:s")
+ acl("PKG_SUPPORTED_OPTIONS", lkShell, CheckvarOption, "options.mk:as", "Makefile:as", "Makefile.common:s")
+ pkg("PKG_SYSCONFDIR*", lkNone, CheckvarPathname)
+ pkglist("PKG_SYSCONFDIR_PERMS", lkShell, CheckvarShellWord)
+ sys("PKG_SYSCONFBASEDIR", lkNone, CheckvarPathname)
+ pkg("PKG_SYSCONFSUBDIR", lkNone, CheckvarPathname)
+ acl("PKG_SYSCONFVAR", lkNone, CheckvarIdentifier) // FIXME: name/type mismatch.")
+ acl("PKG_UID", lkNone, CheckvarInteger, "Makefile:s")
+ acl("PKG_USERS", lkShell, CheckvarShellWord, "Makefile:as")
+ pkg("PKG_USERS_VARS", lkShell, CheckvarVarname)
+ acl("PKG_USE_KERBEROS", lkNone, CheckvarYes, "Makefile:s", "Makefile.common:s")
// PLIST.* has special handling code
- pkglist("PLIST_VARS", LK_SHELL, CheckvarIdentifier)
- pkglist("PLIST_SRC", LK_SHELL, CheckvarRelativePkgPath)
- pkglist("PLIST_SUBST", LK_SHELL, CheckvarShellWord)
- acl("PLIST_TYPE", LK_NONE, enum("dynamic static"))
- acl("PREPEND_PATH", LK_SHELL, CheckvarPathname)
- acl("PREFIX", LK_NONE, CheckvarPathname, "*:u")
- acl("PREV_PKGPATH", LK_NONE, CheckvarPathname, "*:u") // doesn't exist any longer
- acl("PRINT_PLIST_AWK", LK_NONE, CheckvarAwkCommand, "*:a")
- acl("PRIVILEGED_STAGES", LK_SHELL, enum("install package clean"))
- acl("PTHREAD_AUTO_VARS", LK_NONE, CheckvarYesNo, "Makefile:s")
- sys("PTHREAD_CFLAGS", LK_SHELL, CheckvarCFlag)
- sys("PTHREAD_LDFLAGS", LK_SHELL, CheckvarLdFlag)
- sys("PTHREAD_LIBS", LK_SHELL, CheckvarLdFlag)
- acl("PTHREAD_OPTS", LK_SHELL, enum("native optional require"), "Makefile:as", "Makefile.common:a", "buildlink3.mk:a")
- sys("PTHREAD_TYPE", LK_NONE, CheckvarIdentifier) // Or "native" or "none".
- pkg("PY_PATCHPLIST", LK_NONE, CheckvarYes)
- acl("PYPKGPREFIX", LK_NONE, enum("py27 py33 py34"), "*:pu", "pyversion.mk:s", "*:")
- pkg("PYTHON_FOR_BUILD_ONLY", LK_NONE, CheckvarYes)
- pkglist("REPLACE_PYTHON", LK_SHELL, CheckvarPathmask)
- pkg("PYTHON_VERSIONS_ACCEPTED", LK_SHELL, CheckvarVersion)
- pkg("PYTHON_VERSIONS_INCOMPATIBLE", LK_SHELL, CheckvarVersion)
- usr("PYTHON_VERSION_DEFAULT", LK_NONE, CheckvarVersion)
- usr("PYTHON_VERSION_REQD", LK_NONE, CheckvarVersion)
- pkglist("PYTHON_VERSIONED_DEPENDENCIES", LK_SHELL, CheckvarPythonDependency)
- sys("RANLIB", LK_NONE, CheckvarShellCommand)
- pkglist("RCD_SCRIPTS", LK_SHELL, CheckvarFilename)
- acl("RCD_SCRIPT_SRC.*", LK_SHELL, CheckvarPathname, "Makefile:s")
- acl("REPLACE.*", LK_NONE, CheckvarString, "Makefile:s")
- pkglist("REPLACE_AWK", LK_SHELL, CheckvarPathmask)
- pkglist("REPLACE_BASH", LK_SHELL, CheckvarPathmask)
- pkglist("REPLACE_CSH", LK_SHELL, CheckvarPathmask)
- acl("REPLACE_EMACS", LK_SHELL, CheckvarPathmask)
- acl("REPLACE_FILES.*", LK_SHELL, CheckvarPathmask, "Makefile:as", "Makefile.common:as")
- acl("REPLACE_INTERPRETER", LK_SHELL, CheckvarIdentifier, "Makefile:a", "Makefile.common:a")
- pkglist("REPLACE_KSH", LK_SHELL, CheckvarPathmask)
- pkglist("REPLACE_LOCALEDIR_PATTERNS", LK_SHELL, CheckvarFilemask)
- pkglist("REPLACE_LUA", LK_SHELL, CheckvarPathmask)
- pkglist("REPLACE_PERL", LK_SHELL, CheckvarPathmask)
- pkglist("REPLACE_PYTHON", LK_SHELL, CheckvarPathmask)
- pkglist("REPLACE_SH", LK_SHELL, CheckvarPathmask)
- pkglist("REQD_DIRS", LK_SHELL, CheckvarPathname)
- pkglist("REQD_DIRS_PERMS", LK_SHELL, CheckvarShellWord)
- pkglist("REQD_FILES", LK_SHELL, CheckvarPathname)
- pkg("REQD_FILES_MODE", LK_NONE, enum("0644 0640 0600 0400"))
- pkglist("REQD_FILES_PERMS", LK_SHELL, CheckvarShellWord)
- pkg("RESTRICTED", LK_NONE, CheckvarMessage)
- usr("ROOT_USER", LK_NONE, CheckvarUserGroupName)
- usr("ROOT_GROUP", LK_NONE, CheckvarUserGroupName)
- usr("RUBY_VERSION_REQD", LK_NONE, CheckvarVersion)
- sys("RUN", LK_NONE, CheckvarShellCommand)
- acl("SCRIPTS_ENV", LK_SHELL, CheckvarShellWord, "Makefile:a", "Makefile.common:a")
- usr("SETUID_ROOT_PERMS", LK_SHELL, CheckvarShellWord)
- sys("SHAREGRP", LK_NONE, CheckvarUserGroupName)
- sys("SHAREMODE", LK_NONE, CheckvarFileMode)
- sys("SHAREOWN", LK_NONE, CheckvarUserGroupName)
- sys("SHCOMMENT", LK_NONE, CheckvarShellCommand)
- acl("SHLIB_HANDLING", LK_NONE, enum("YES NO no"))
- acl("SHLIBTOOL", LK_NONE, CheckvarShellCommand)
- acl("SHLIBTOOL_OVERRIDE", LK_SHELL, CheckvarPathmask, "Makefile:as", "Makefile.common:a")
- acl("SITES.*", LK_SHELL, CheckvarFetchURL, "Makefile:asu", "Makefile.common:asu", "options.mk:asu")
- pkglist("SPECIAL_PERMS", LK_SHELL, CheckvarShellWord)
- sys("STEP_MSG", LK_NONE, CheckvarShellCommand)
- acl("SUBDIR", LK_SHELL, CheckvarFilename, "Makefile:a", "*:")
- acl("SUBST_CLASSES", LK_SHELL, CheckvarIdentifier, "Makefile:a", "Makefile.common:a", "hacks.mk:a", "Makefile.*:a")
- acl("SUBST_FILES.*", LK_SHELL, CheckvarPathmask, "Makefile:as", "Makefile.common:as", "hacks.mk:as", "options.mk:as", "Makefile.*:as")
- acl("SUBST_FILTER_CMD.*", LK_NONE, CheckvarShellCommand, "Makefile:s", "Makefile.common:s", "hacks.mk:s", "options.mk:s", "Makefile.*:s")
- acl("SUBST_MESSAGE.*", LK_NONE, CheckvarMessage, "Makefile:s", "Makefile.common:s", "hacks.mk:s", "options.mk:s", "Makefile.*:s")
- acl("SUBST_SED.*", LK_NONE, CheckvarSedCommands, "Makefile:as", "Makefile.common:as", "hacks.mk:as", "options.mk:as", "Makefile.*:as")
- pkg("SUBST_STAGE.*", LK_NONE, CheckvarStage)
- pkglist("SUBST_VARS.*", LK_SHELL, CheckvarVarname)
- pkglist("SUPERSEDES", LK_SPACE, CheckvarDependency)
- pkglist("TEST_DIRS", LK_SHELL, CheckvarWrksrcSubdirectory)
- pkglist("TEST_ENV", LK_SHELL, CheckvarShellWord)
- acl("TEST_TARGET", LK_SHELL, CheckvarIdentifier, "Makefile:s", "Makefile.common:ds", "options.mk:as")
- acl("TEX_ACCEPTED", LK_SHELL, enum("teTeX1 teTeX2 teTeX3"), "Makefile:s", "Makefile.common:s")
- acl("TEX_DEPMETHOD", LK_NONE, enum("build run"), "Makefile:s", "Makefile.common:s")
- pkglist("TEXINFO_REQD", LK_SHELL, CheckvarVersion)
- acl("TOOL_DEPENDS", LK_SPACE, CheckvarDependencyWithPath, "Makefile.common:a", "Makefile:a", "options.mk:a", "*.mk:a")
- sys("TOOLS_ALIASES", LK_SHELL, CheckvarFilename)
- sys("TOOLS_BROKEN", LK_SHELL, CheckvarTool)
- sys("TOOLS_CREATE", LK_SHELL, CheckvarTool)
- sys("TOOLS_DEPENDS.*", LK_SPACE, CheckvarDependencyWithPath)
- sys("TOOLS_GNU_MISSING", LK_SHELL, CheckvarTool)
- sys("TOOLS_NOOP", LK_SHELL, CheckvarTool)
- sys("TOOLS_PATH.*", LK_NONE, CheckvarPathname)
- sys("TOOLS_PLATFORM.*", LK_NONE, CheckvarShellCommand)
- sys("TOUCH_FLAGS", LK_SHELL, CheckvarShellWord)
- pkglist("UAC_REQD_EXECS", LK_SHELL, CheckvarPrefixPathname)
- acl("UNLIMIT_RESOURCES", LK_SHELL, enum("datasize stacksize memorysize"), "Makefile:as", "Makefile.common:a")
- usr("UNPRIVILEGED_USER", LK_NONE, CheckvarUserGroupName)
- usr("UNPRIVILEGED_GROUP", LK_NONE, CheckvarUserGroupName)
- pkglist("UNWRAP_FILES", LK_SHELL, CheckvarPathmask)
- usr("UPDATE_TARGET", LK_SHELL, CheckvarIdentifier)
- pkg("USE_BSD_MAKEFILE", LK_NONE, CheckvarYes)
- acl("USE_BUILTIN.*", LK_NONE, CheckvarYesNoIndirectly, "builtin.mk:s")
- pkg("USE_CMAKE", LK_NONE, CheckvarYes)
- acl("USE_CROSSBASE", LK_NONE, CheckvarYes, "Makefile:s")
- pkg("USE_FEATURES", LK_SHELL, CheckvarIdentifier)
- pkg("USE_GCC_RUNTIME", LK_NONE, CheckvarYesNo)
- pkg("USE_GNU_CONFIGURE_HOST", LK_NONE, CheckvarYesNo)
- acl("USE_GNU_ICONV", LK_NONE, CheckvarYes, "Makefile:s", "Makefile.common:s", "options.mk:s")
- acl("USE_IMAKE", LK_NONE, CheckvarYes, "Makefile:s")
- pkg("USE_JAVA", LK_NONE, enum("run yes build"))
- pkg("USE_JAVA2", LK_NONE, enum("YES yes no 1.4 1.5 6 7 8"))
- acl("USE_LANGUAGES", LK_SHELL, enum("ada c c99 c++ fortran fortran77 java objc"), "Makefile:s", "Makefile.common:s", "options.mk:s")
- pkg("USE_LIBTOOL", LK_NONE, CheckvarYes)
- pkg("USE_MAKEINFO", LK_NONE, CheckvarYes)
- pkg("USE_MSGFMT_PLURALS", LK_NONE, CheckvarYes)
- pkg("USE_NCURSES", LK_NONE, CheckvarYes)
- pkg("USE_OLD_DES_API", LK_NONE, CheckvarYesNo)
- pkg("USE_PKGINSTALL", LK_NONE, CheckvarYes)
- pkg("USE_PKGLOCALEDIR", LK_NONE, CheckvarYesNo)
- usr("USE_PKGSRC_GCC", LK_NONE, CheckvarYes)
- acl("USE_TOOLS", LK_SHELL, CheckvarTool, "*:a")
- pkg("USE_X11", LK_NONE, CheckvarYes)
- sys("WARNING_MSG", LK_NONE, CheckvarShellCommand)
- sys("WARNING_CAT", LK_NONE, CheckvarShellCommand)
- acl("WRAPPER_REORDER_CMDS", LK_SHELL, CheckvarWrapperReorder, "buildlink3.mk:a", "Makefile.common:a", "Makefile:a")
- acl("WRAPPER_TRANSFORM_CMDS", LK_SHELL, CheckvarWrapperTransform, "buildlink3.mk:a", "Makefile.common:a", "Makefile:a")
- sys("WRKDIR", LK_NONE, CheckvarPathname)
- pkg("WRKSRC", LK_NONE, CheckvarWrkdirSubdirectory)
- sys("X11_PKGSRCDIR.*", LK_NONE, CheckvarPathname)
- usr("XAW_TYPE", LK_NONE, enum("3d neXtaw standard xpm"))
- acl("XMKMF_FLAGS", LK_SHELL, CheckvarShellWord)
+ pkglist("PLIST_VARS", lkShell, CheckvarIdentifier)
+ pkglist("PLIST_SRC", lkShell, CheckvarRelativePkgPath)
+ pkglist("PLIST_SUBST", lkShell, CheckvarShellWord)
+ acl("PLIST_TYPE", lkNone, enum("dynamic static"))
+ acl("PREPEND_PATH", lkShell, CheckvarPathname)
+ acl("PREFIX", lkNone, CheckvarPathname, "*:u")
+ acl("PREV_PKGPATH", lkNone, CheckvarPathname, "*:u") // doesn't exist any longer
+ acl("PRINT_PLIST_AWK", lkNone, CheckvarAwkCommand, "*:a")
+ acl("PRIVILEGED_STAGES", lkShell, enum("install package clean"))
+ acl("PTHREAD_AUTO_VARS", lkNone, CheckvarYesNo, "Makefile:s")
+ sys("PTHREAD_CFLAGS", lkShell, CheckvarCFlag)
+ sys("PTHREAD_LDFLAGS", lkShell, CheckvarLdFlag)
+ sys("PTHREAD_LIBS", lkShell, CheckvarLdFlag)
+ acl("PTHREAD_OPTS", lkShell, enum("native optional require"), "Makefile:as", "Makefile.common:a", "buildlink3.mk:a")
+ sys("PTHREAD_TYPE", lkNone, CheckvarIdentifier) // Or "native" or "none".
+ pkg("PY_PATCHPLIST", lkNone, CheckvarYes)
+ acl("PYPKGPREFIX", lkNone, enum("py27 py33 py34"), "*:pu", "pyversion.mk:s", "*:")
+ pkg("PYTHON_FOR_BUILD_ONLY", lkNone, CheckvarYes)
+ pkglist("REPLACE_PYTHON", lkShell, CheckvarPathmask)
+ pkg("PYTHON_VERSIONS_ACCEPTED", lkShell, CheckvarVersion)
+ pkg("PYTHON_VERSIONS_INCOMPATIBLE", lkShell, CheckvarVersion)
+ usr("PYTHON_VERSION_DEFAULT", lkNone, CheckvarVersion)
+ usr("PYTHON_VERSION_REQD", lkNone, CheckvarVersion)
+ pkglist("PYTHON_VERSIONED_DEPENDENCIES", lkShell, CheckvarPythonDependency)
+ sys("RANLIB", lkNone, CheckvarShellCommand)
+ pkglist("RCD_SCRIPTS", lkShell, CheckvarFilename)
+ acl("RCD_SCRIPT_SRC.*", lkShell, CheckvarPathname, "Makefile:s")
+ acl("REPLACE.*", lkNone, CheckvarString, "Makefile:s")
+ pkglist("REPLACE_AWK", lkShell, CheckvarPathmask)
+ pkglist("REPLACE_BASH", lkShell, CheckvarPathmask)
+ pkglist("REPLACE_CSH", lkShell, CheckvarPathmask)
+ acl("REPLACE_EMACS", lkShell, CheckvarPathmask)
+ acl("REPLACE_FILES.*", lkShell, CheckvarPathmask, "Makefile:as", "Makefile.common:as")
+ acl("REPLACE_INTERPRETER", lkShell, CheckvarIdentifier, "Makefile:a", "Makefile.common:a")
+ pkglist("REPLACE_KSH", lkShell, CheckvarPathmask)
+ pkglist("REPLACE_LOCALEDIR_PATTERNS", lkShell, CheckvarFilemask)
+ pkglist("REPLACE_LUA", lkShell, CheckvarPathmask)
+ pkglist("REPLACE_PERL", lkShell, CheckvarPathmask)
+ pkglist("REPLACE_PYTHON", lkShell, CheckvarPathmask)
+ pkglist("REPLACE_SH", lkShell, CheckvarPathmask)
+ pkglist("REQD_DIRS", lkShell, CheckvarPathname)
+ pkglist("REQD_DIRS_PERMS", lkShell, CheckvarShellWord)
+ pkglist("REQD_FILES", lkShell, CheckvarPathname)
+ pkg("REQD_FILES_MODE", lkNone, enum("0644 0640 0600 0400"))
+ pkglist("REQD_FILES_PERMS", lkShell, CheckvarShellWord)
+ pkg("RESTRICTED", lkNone, CheckvarMessage)
+ usr("ROOT_USER", lkNone, CheckvarUserGroupName)
+ usr("ROOT_GROUP", lkNone, CheckvarUserGroupName)
+ usr("RUBY_VERSION_REQD", lkNone, CheckvarVersion)
+ sys("RUN", lkNone, CheckvarShellCommand)
+ acl("SCRIPTS_ENV", lkShell, CheckvarShellWord, "Makefile:a", "Makefile.common:a")
+ usr("SETUID_ROOT_PERMS", lkShell, CheckvarShellWord)
+ sys("SHAREGRP", lkNone, CheckvarUserGroupName)
+ sys("SHAREMODE", lkNone, CheckvarFileMode)
+ sys("SHAREOWN", lkNone, CheckvarUserGroupName)
+ sys("SHCOMMENT", lkNone, CheckvarShellCommand)
+ acl("SHLIB_HANDLING", lkNone, enum("YES NO no"))
+ acl("SHLIBTOOL", lkNone, CheckvarShellCommand)
+ acl("SHLIBTOOL_OVERRIDE", lkShell, CheckvarPathmask, "Makefile:as", "Makefile.common:a")
+ acl("SITES.*", lkShell, CheckvarFetchURL, "Makefile:asu", "Makefile.common:asu", "options.mk:asu")
+ pkglist("SPECIAL_PERMS", lkShell, CheckvarShellWord)
+ sys("STEP_MSG", lkNone, CheckvarShellCommand)
+ acl("SUBDIR", lkShell, CheckvarFilename, "Makefile:a", "*:")
+ acl("SUBST_CLASSES", lkShell, CheckvarIdentifier, "Makefile:a", "Makefile.common:a", "hacks.mk:a", "Makefile.*:a")
+ acl("SUBST_FILES.*", lkShell, CheckvarPathmask, "Makefile:as", "Makefile.common:as", "hacks.mk:as", "options.mk:as", "Makefile.*:as")
+ acl("SUBST_FILTER_CMD.*", lkNone, CheckvarShellCommand, "Makefile:s", "Makefile.common:s", "hacks.mk:s", "options.mk:s", "Makefile.*:s")
+ acl("SUBST_MESSAGE.*", lkNone, CheckvarMessage, "Makefile:s", "Makefile.common:s", "hacks.mk:s", "options.mk:s", "Makefile.*:s")
+ acl("SUBST_SED.*", lkNone, CheckvarSedCommands, "Makefile:as", "Makefile.common:as", "hacks.mk:as", "options.mk:as", "Makefile.*:as")
+ pkg("SUBST_STAGE.*", lkNone, CheckvarStage)
+ pkglist("SUBST_VARS.*", lkShell, CheckvarVarname)
+ pkglist("SUPERSEDES", lkSpace, CheckvarDependency)
+ pkglist("TEST_DIRS", lkShell, CheckvarWrksrcSubdirectory)
+ pkglist("TEST_ENV", lkShell, CheckvarShellWord)
+ acl("TEST_TARGET", lkShell, CheckvarIdentifier, "Makefile:s", "Makefile.common:ds", "options.mk:as")
+ acl("TEX_ACCEPTED", lkShell, enum("teTeX1 teTeX2 teTeX3"), "Makefile:s", "Makefile.common:s")
+ acl("TEX_DEPMETHOD", lkNone, enum("build run"), "Makefile:s", "Makefile.common:s")
+ pkglist("TEXINFO_REQD", lkShell, CheckvarVersion)
+ acl("TOOL_DEPENDS", lkSpace, CheckvarDependencyWithPath, "Makefile.common:a", "Makefile:a", "options.mk:a", "*.mk:a")
+ sys("TOOLS_ALIASES", lkShell, CheckvarFilename)
+ sys("TOOLS_BROKEN", lkShell, CheckvarTool)
+ sys("TOOLS_CREATE", lkShell, CheckvarTool)
+ sys("TOOLS_DEPENDS.*", lkSpace, CheckvarDependencyWithPath)
+ sys("TOOLS_GNU_MISSING", lkShell, CheckvarTool)
+ sys("TOOLS_NOOP", lkShell, CheckvarTool)
+ sys("TOOLS_PATH.*", lkNone, CheckvarPathname)
+ sys("TOOLS_PLATFORM.*", lkNone, CheckvarShellCommand)
+ sys("TOUCH_FLAGS", lkShell, CheckvarShellWord)
+ pkglist("UAC_REQD_EXECS", lkShell, CheckvarPrefixPathname)
+ acl("UNLIMIT_RESOURCES", lkShell, enum("datasize stacksize memorysize"), "Makefile:as", "Makefile.common:a")
+ usr("UNPRIVILEGED_USER", lkNone, CheckvarUserGroupName)
+ usr("UNPRIVILEGED_GROUP", lkNone, CheckvarUserGroupName)
+ pkglist("UNWRAP_FILES", lkShell, CheckvarPathmask)
+ usr("UPDATE_TARGET", lkShell, CheckvarIdentifier)
+ pkg("USE_BSD_MAKEFILE", lkNone, CheckvarYes)
+ acl("USE_BUILTIN.*", lkNone, CheckvarYesNoIndirectly, "builtin.mk:s")
+ pkg("USE_CMAKE", lkNone, CheckvarYes)
+ acl("USE_CROSSBASE", lkNone, CheckvarYes, "Makefile:s")
+ pkg("USE_FEATURES", lkShell, CheckvarIdentifier)
+ pkg("USE_GCC_RUNTIME", lkNone, CheckvarYesNo)
+ pkg("USE_GNU_CONFIGURE_HOST", lkNone, CheckvarYesNo)
+ acl("USE_GNU_ICONV", lkNone, CheckvarYes, "Makefile:s", "Makefile.common:s", "options.mk:s")
+ acl("USE_IMAKE", lkNone, CheckvarYes, "Makefile:s")
+ pkg("USE_JAVA", lkNone, enum("run yes build"))
+ pkg("USE_JAVA2", lkNone, enum("YES yes no 1.4 1.5 6 7 8"))
+ acl("USE_LANGUAGES", lkShell, enum("ada c c99 c++ fortran fortran77 java objc"), "Makefile:s", "Makefile.common:s", "options.mk:s")
+ pkg("USE_LIBTOOL", lkNone, CheckvarYes)
+ pkg("USE_MAKEINFO", lkNone, CheckvarYes)
+ pkg("USE_MSGFMT_PLURALS", lkNone, CheckvarYes)
+ pkg("USE_NCURSES", lkNone, CheckvarYes)
+ pkg("USE_OLD_DES_API", lkNone, CheckvarYesNo)
+ pkg("USE_PKGINSTALL", lkNone, CheckvarYes)
+ pkg("USE_PKGLOCALEDIR", lkNone, CheckvarYesNo)
+ usr("USE_PKGSRC_GCC", lkNone, CheckvarYes)
+ acl("USE_TOOLS", lkShell, CheckvarTool, "*:a")
+ pkg("USE_X11", lkNone, CheckvarYes)
+ sys("WARNING_MSG", lkNone, CheckvarShellCommand)
+ sys("WARNING_CAT", lkNone, CheckvarShellCommand)
+ acl("WRAPPER_REORDER_CMDS", lkShell, CheckvarWrapperReorder, "buildlink3.mk:a", "Makefile.common:a", "Makefile:a")
+ acl("WRAPPER_TRANSFORM_CMDS", lkShell, CheckvarWrapperTransform, "buildlink3.mk:a", "Makefile.common:a", "Makefile:a")
+ sys("WRKDIR", lkNone, CheckvarPathname)
+ pkg("WRKSRC", lkNone, CheckvarWrkdirSubdirectory)
+ sys("X11_PKGSRCDIR.*", lkNone, CheckvarPathname)
+ usr("XAW_TYPE", lkNone, enum("3d neXtaw standard xpm"))
+ acl("XMKMF_FLAGS", lkShell, CheckvarShellWord)
}
func enum(values string) *VarChecker {
@@ -707,7 +707,7 @@ func acl(varname string, kindOfList KindOfList, checker *VarChecker, aclentries
m := mustMatch(`^([A-Z_.][A-Z0-9_]*)(|\*|\.\*)$`, varname)
varbase, varparam := m[1], m[2]
- vtype := &Vartype{kindOfList, checker, parseAclEntries(aclentries), NOT_GUESSED}
+ vtype := &Vartype{kindOfList, checker, parseAclEntries(aclentries), guNotGuessed}
if G.globalData.vartypes == nil {
G.globalData.vartypes = make(map[string]*Vartype)
diff --git a/pkgtools/pkglint/files/vars.go b/pkgtools/pkglint/files/vars.go
index 0829e461247..089ab71b2fc 100644
--- a/pkgtools/pkglint/files/vars.go
+++ b/pkgtools/pkglint/files/vars.go
@@ -3,10 +3,10 @@ package main
type NeedsQuoting int
const (
- NQ_NO NeedsQuoting = iota
- NQ_YES
- NQ_DOESNT_MATTER
- NQ_DONT_KNOW
+ nqNo NeedsQuoting = iota
+ nqYes
+ nqDoesntMatter
+ nqDontKnow
)
func variableNeedsQuoting(line *Line, varname string, vuc *VarUseContext) NeedsQuoting {
@@ -14,7 +14,7 @@ func variableNeedsQuoting(line *Line, varname string, vuc *VarUseContext) NeedsQ
vartype := getVariableType(line, varname)
if vartype == nil || vuc.vartype == nil {
- return NQ_DONT_KNOW
+ return nqDontKnow
}
isPlainWord := vartype.checker.IsEnum()
@@ -31,23 +31,23 @@ func variableNeedsQuoting(line *Line, varname string, vuc *VarUseContext) NeedsQ
isPlainWord = true
}
if isPlainWord {
- if vartype.kindOfList == LK_NONE {
- return NQ_DOESNT_MATTER
+ if vartype.kindOfList == lkNone {
+ return nqDoesntMatter
}
- if vartype.kindOfList == LK_SHELL && vuc.extent != VUC_EXT_WORDPART {
- return NQ_NO
+ if vartype.kindOfList == lkShell && vuc.extent != vucExtentWordpart {
+ return nqNo
}
}
// In .for loops, the :Q operator is always misplaced, since
// the items are broken up at white-space, not as shell words
// like in all other parts of make(1).
- if vuc.shellword == VUC_SHW_FOR {
- return NQ_NO
+ if vuc.shellword == vucQuotFor {
+ return nqNo
}
// Determine whether the context expects a list of shell words or not.
- wantList := vuc.vartype.isConsideredList() && (vuc.shellword == VUC_SHW_BACKT || vuc.extent != VUC_EXT_WORDPART)
+ wantList := vuc.vartype.isConsideredList() && (vuc.shellword == vucQuotBackt || vuc.extent != vucExtentWordpart)
haveList := vartype.isConsideredList()
_ = G.opts.DebugQuoting && line.debugf(
@@ -55,9 +55,9 @@ func variableNeedsQuoting(line *Line, varname string, vuc *VarUseContext) NeedsQ
varname, vuc, vartype, wantList, haveList)
// A shell word may appear as part of a shell word, for example COMPILER_RPATH_FLAG.
- if vuc.extent == VUC_EXT_WORDPART && vuc.shellword == VUC_SHW_PLAIN {
- if vartype.kindOfList == LK_NONE && vartype.checker.name == "ShellWord" {
- return NQ_NO
+ if vuc.extent == vucExtentWordpart && vuc.shellword == vucQuotPlain {
+ if vartype.kindOfList == lkNone && vartype.checker.name == "ShellWord" {
+ return nqNo
}
}
@@ -66,12 +66,12 @@ func variableNeedsQuoting(line *Line, varname string, vuc *VarUseContext) NeedsQ
if G.globalData.varnameToToolname[varname] != "" {
shellword := vuc.shellword
switch {
- case shellword == VUC_SHW_PLAIN && vuc.extent != VUC_EXT_WORDPART:
- return NQ_NO
- case shellword == VUC_SHW_BACKT:
- return NQ_NO
- case shellword == VUC_SHW_DQUOT || shellword == VUC_SHW_SQUOT:
- return NQ_DOESNT_MATTER
+ case shellword == vucQuotPlain && vuc.extent != vucExtentWordpart:
+ return nqNo
+ case shellword == vucQuotBackt:
+ return nqNo
+ case shellword == vucQuotDquot || shellword == vucQuotSquot:
+ return nqDoesntMatter
}
}
@@ -79,21 +79,21 @@ func variableNeedsQuoting(line *Line, varname string, vuc *VarUseContext) NeedsQ
// to be quoted. An exception is in the case of backticks,
// because the whole backticks expression is parsed as a single
// shell word by pkglint.
- if vuc.extent == VUC_EXT_WORDPART && vuc.shellword != VUC_SHW_BACKT {
- return NQ_YES
+ if vuc.extent == vucExtentWordpart && vuc.shellword != vucQuotBackt {
+ return nqYes
}
// Assigning lists to lists does not require any quoting, though
// there may be cases like "CONFIGURE_ARGS+= -libs ${LDFLAGS:Q}"
// where quoting is necessary.
if wantList && haveList {
- return NQ_DOESNT_MATTER
+ return nqDoesntMatter
}
if wantList != haveList {
- return NQ_YES
+ return nqYes
}
_ = G.opts.DebugQuoting && line.debugf("Don't know whether :Q is needed for %q", varname)
- return NQ_DONT_KNOW
+ return nqDontKnow
}
diff --git a/pkgtools/pkglint/files/vars_test.go b/pkgtools/pkglint/files/vars_test.go
index c98bfbb9366..ca1277e3319 100644
--- a/pkgtools/pkglint/files/vars_test.go
+++ b/pkgtools/pkglint/files/vars_test.go
@@ -10,8 +10,8 @@ func (s *Suite) TestVariableNeedsQuoting(c *check.C) {
pkgnameType := G.globalData.vartypes["PKGNAME"]
// In Makefile: PKGNAME := ${UNKNOWN}
- vuc := &VarUseContext{VUC_TIME_LOAD, pkgnameType, VUC_SHW_UNKNOWN, VUC_EXTENT_UNKNOWN}
+ vuc := &VarUseContext{vucTimeParse, pkgnameType, vucQuotUnknown, vucExtentUnknown}
nq := variableNeedsQuoting(line, "UNKNOWN", vuc)
- c.Check(nq, equals, NQ_DONT_KNOW)
+ c.Check(nq, equals, nqDontKnow)
}
diff --git a/pkgtools/pkglint/files/vartype.go b/pkgtools/pkglint/files/vartype.go
index 1b22c897d8e..865268c944a 100644
--- a/pkgtools/pkglint/files/vartype.go
+++ b/pkgtools/pkglint/files/vartype.go
@@ -17,9 +17,9 @@ type Vartype struct {
type KindOfList int
const (
- LK_NONE KindOfList = iota // Plain data type
- LK_SPACE // List entries are separated by whitespace; used in .for loops.
- LK_SHELL // List entries are shell words; used in the :M, :S modifiers.
+ lkNone KindOfList = iota // Plain data type
+ lkSpace // List entries are separated by whitespace; used in .for loops.
+ lkShell // List entries are shell words; used in the :M, :S modifiers.
)
type AclEntry struct {
@@ -27,11 +27,13 @@ type AclEntry struct {
permissions string // Some of: "a"ppend, "d"efault, "s"et; "p"reprocessing, "u"se
}
+// Whether the type definition is guessed (based on the variable name)
+// or explicitly defined (see vardefs.go).
type Guessed bool
const (
- NOT_GUESSED Guessed = false
- GUESSED Guessed = true
+ guNotGuessed Guessed = false
+ guGuessed Guessed = true
)
// The allowed actions in this file, or "?" if unknown.
@@ -81,9 +83,9 @@ func (vt *Vartype) union() string {
// the implementation of checklineMkVartype easier.
func (vt *Vartype) isConsideredList() bool {
switch vt.kindOfList {
- case LK_SHELL:
+ case lkShell:
return true
- case LK_SPACE:
+ case lkSpace:
return false
}
switch vt.checker {
@@ -94,18 +96,18 @@ func (vt *Vartype) isConsideredList() bool {
}
func (vt *Vartype) mayBeAppendedTo() bool {
- return vt.kindOfList != LK_NONE ||
+ return vt.kindOfList != lkNone ||
vt.checker == CheckvarAwkCommand ||
vt.checker == CheckvarSedCommands
}
func (vt *Vartype) String() string {
switch vt.kindOfList {
- case LK_NONE:
+ case lkNone:
return vt.checker.name
- case LK_SPACE:
+ case lkSpace:
return "SpaceList of " + vt.checker.name
- case LK_SHELL:
+ case lkShell:
return "ShellList of " + vt.checker.name
default:
panic("Unknown list type")
diff --git a/pkgtools/pkglint/files/vartypecheck.go b/pkgtools/pkglint/files/vartypecheck.go
index 3d85d645161..dace8974ef4 100644
--- a/pkgtools/pkglint/files/vartypecheck.go
+++ b/pkgtools/pkglint/files/vartypecheck.go
@@ -361,7 +361,7 @@ func (cv *VartypeCheck) Option() {
// The PATH environment variable
func (cv *VartypeCheck) Pathlist() {
- if !contains(cv.value, ":") && cv.guessed == GUESSED {
+ if !contains(cv.value, ":") && cv.guessed == guGuessed {
checklineMkVartypePrimitive(cv.line, cv.varname, CheckvarPathname, cv.op, cv.value, cv.comment, cv.listContext, cv.guessed)
return
}
diff --git a/pkgtools/pkglint/files/vartypecheck_test.go b/pkgtools/pkglint/files/vartypecheck_test.go
index dee06908c27..e640ac84de7 100644
--- a/pkgtools/pkglint/files/vartypecheck_test.go
+++ b/pkgtools/pkglint/files/vartypecheck_test.go
@@ -264,5 +264,5 @@ func (s *Suite) TestVartypeCheck_Yes(c *check.C) {
func newVartypeCheck(varname, op, value string) *VartypeCheck {
line := NewLine("fname", "1", "dummy", nil)
valueNovar := withoutMakeVariables(line, value, true)
- return &VartypeCheck{line, varname, op, value, valueNovar, "", true, NOT_GUESSED}
+ return &VartypeCheck{line, varname, op, value, valueNovar, "", true, guNotGuessed}
}
diff --git a/pkgtools/pkglint/files/varusecontext.go b/pkgtools/pkglint/files/varusecontext.go
index f45fd68db2a..cf0e4e61668 100644
--- a/pkgtools/pkglint/files/varusecontext.go
+++ b/pkgtools/pkglint/files/varusecontext.go
@@ -4,55 +4,62 @@ package main
// or used. Whether that is allowed depends on:
//
// * The variable’s data type, as defined in vardefs.go.
-// * Whether the variable is accessed at loading time (when the
-// Makefiles are parsed) or at run time (when the shell commands are
-// run). Especially at load time, there are several points of time
-// (e.g. the bsd.pkg.mk file is loaded at the very end, therefore
-// the variables that are defined there cannot be used at load time.)
// * When used on the right-hand side of an assigment, the variable can
// represent a list of words, a single word or even only part of a
// word. This distinction decides upon the correct use of the :Q
// operator.
-// * When used in shell commands, the variable can appear inside single
-// quotes, double quotes, backticks or some combination thereof. This
-// also influences whether the variable is correctly used.
// * When used in preprocessing statements like .if or .for, the other
// operands of that statement should fit to the variable and are
// checked against the variable type. For example, comparing OPSYS to
// x86_64 doesn’t make sense.
-
type VarUseContext struct {
time vucTime
vartype *Vartype
- shellword vucShellword
+ shellword vucQuoting
extent vucExtent
}
type vucTime int
const (
- VUC_TIME_UNKNOWN vucTime = iota
- VUC_TIME_LOAD // During loading, not all variables are available yet.
- VUC_TIME_RUN // All files have been read, especially bsd.pkg.mk.
+ vucTimeUnknown vucTime = iota
+
+ // When Makefiles are loaded, the operators := and != are evaluated,
+ // as well as the conditionals .if, .elif and .for.
+ // During loading, not all variables are available yet.
+ // Variable values are still subject to change, especially lists.
+ vucTimeParse
+
+ // All files have been read, all variables can be referenced.
+ // Variable values don’t change anymore.
+ vucTimeRun
)
-type vucShellword int
+// The quoting context in which the variable is used.
+// Depending on this context, the modifiers :Q or :M can be allowed or not.
+type vucQuoting int
const (
- VUC_SHW_UNKNOWN vucShellword = iota
- VUC_SHW_PLAIN // Example: echo LOCALBASE=${LOCALBASE}
- VUC_SHW_DQUOT // Example: echo "The version is ${PKGVERSION}."
- VUC_SHW_SQUOT // Example: echo 'The version is ${PKGVERSION}.'
- VUC_SHW_BACKT // Example: echo \`sed 1q ${WRKSRC}/README\`
- VUC_SHW_FOR // Example: for f in ${EXAMPLE_FILES}
+ vucQuotUnknown vucQuoting = iota
+ vucQuotPlain // Example: echo LOCALBASE=${LOCALBASE}
+ vucQuotDquot // Example: echo "The version is ${PKGVERSION}."
+ vucQuotSquot // Example: echo 'The version is ${PKGVERSION}.'
+ vucQuotBackt // Example: echo \`sed 1q ${WRKSRC}/README\`
+
+ // The .for loop in Makefiles. This is the only place where
+ // variables are split on whitespace. Everywhere else (:Q, :M)
+ // they are split like in the shell.
+ //
+ // Example: .for f in ${EXAMPLE_FILES}
+ vucQuotFor
)
type vucExtent int
const (
- VUC_EXTENT_UNKNOWN vucExtent = iota
- VUC_EXT_WORD // Example: echo ${LOCALBASE}
- VUC_EXT_WORDPART // Example: echo LOCALBASE=${LOCALBASE}
+ vucExtentUnknown vucExtent = iota
+ vucExtentWord // Example: echo ${LOCALBASE}
+ vucExtentWordpart // Example: echo LOCALBASE=${LOCALBASE}
)
func (vuc *VarUseContext) String() string {
diff --git a/pkgtools/pkglint/files/varusecontext_test.go b/pkgtools/pkglint/files/varusecontext_test.go
index 28697cd29a8..2c8d3f1c524 100644
--- a/pkgtools/pkglint/files/varusecontext_test.go
+++ b/pkgtools/pkglint/files/varusecontext_test.go
@@ -7,7 +7,7 @@ import (
func (s *Suite) TestVarUseContext_ToString(c *check.C) {
G.globalData.InitVartypes()
vartype := getVariableType(s.DummyLine(), "PKGNAME")
- vuc := &VarUseContext{VUC_TIME_UNKNOWN, vartype, VUC_SHW_BACKT, VUC_EXT_WORD}
+ vuc := &VarUseContext{vucTimeUnknown, vartype, vucQuotBackt, vucExtentWord}
c.Check(vuc.String(), equals, "(unknown PkgName backt word)")
}