Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/pkgsrc/pkgtools/pkglint/files/Attic/buildlink3.go,v rcsdiff: /ftp/cvs/cvsroot/pkgsrc/pkgtools/pkglint/files/Attic/buildlink3.go,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.39 retrieving revision 1.40 diff -u -p -r1.39 -r1.40 --- pkgsrc/pkgtools/pkglint/files/Attic/buildlink3.go 2020/07/23 19:09:10 1.39 +++ pkgsrc/pkgtools/pkglint/files/Attic/buildlink3.go 2021/05/25 21:48:46 1.40 @@ -282,14 +282,27 @@ func (ck *Buildlink3Checker) checkVarass ck.pkgbase, value) } - if varname == "BUILDLINK_PKGSRCDIR."+pkgbase { - pkgdir := mkline.Filename().Dir() - expected := "../../" + G.Pkgsrc.Rel(pkgdir).String() - if value != expected { - mkline.Errorf("%s must be set to the package's own path (%s), not %s.", - varname, expected, value) - } + ck.checkVarassignPkgsrcdir(mkline, pkgbase, varname, value) +} + +func (ck *Buildlink3Checker) checkVarassignPkgsrcdir(mkline *MkLine, + pkgbase string, varname string, value string) { + + if varname != "BUILDLINK_PKGSRCDIR."+pkgbase { + return } + if containsVarUse(value) { + return + } + + pkgdir := mkline.Filename().Dir() + expected := "../../" + G.Pkgsrc.Rel(pkgdir).String() + if value == expected { + return + } + + mkline.Errorf("%s must be set to the package's own path (%s), not %s.", + varname, expected, value) } func (ck *Buildlink3Checker) checkVaruseInPkgbase(pkgbaseLine *MkLine) {