diff options
author | classabbyamp <dev@placeviolette.net> | 2022-05-16 16:09:26 -0400 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2022-05-17 22:13:02 +0200 |
commit | 2e0da76fef5f6659e0e98d7166e4497d23565831 (patch) | |
tree | 74c5d484bcdfd5a9bbc9af97f4554776902a01f0 | |
parent | 29d03d6dc621881b78699efecad895bb2017b5bb (diff) | |
download | xtools-2e0da76fef5f6659e0e98d7166e4497d23565831.tar.gz xtools-2e0da76fef5f6659e0e98d7166e4497d23565831.tar.xz xtools-2e0da76fef5f6659e0e98d7166e4497d23565831.zip |
xlint: check if manually defined wrksrc is default
also add a regex_escape filter to reduce false-positives in a couple places Closes: #242 [via git-merge-pr]
-rwxr-xr-x | xlint | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/xlint b/xlint index df26d94..9839b97 100755 --- a/xlint +++ b/xlint @@ -15,6 +15,10 @@ scan() { done } +regex_escape() { + sed 's/\([.*+]\)/\\\1/g' +} + once() { head -n 1 } @@ -468,8 +472,11 @@ for argument; do scan '^\t*[^ ]*\(\)$' 'do not use a newline before function opening brace' scan 'python_version=.*#[[:space:]]*unverified' 'verify python_version and remove "#unverified"' pkgname=$(grep -Po "^pkgname=\K.*" "$template" | once) + pkgname_re=$(echo "$pkgname" | regex_escape) version=$(grep -Po "^version=\K.*" "$template" | once) - scan "distfiles=.*\Q$version\E" 'use ${version} in distfiles instead' + version_re=$(echo "$version" | regex_escape) + scan '^wrksrc="?(\$\{?pkgname\}?|'$pkgname_re')-(\$\{?version\}?|'$version_re')"?$' 'unnecessary wrksrc definition' + scan "distfiles=.*\Q$version_re\E" 'use ${version} in distfiles instead' scan "system_accounts=.*\b(?!($old_accounts))[a-zA-Z]" 'new accounts should be prefixed with underscore' variables_order header |