Compare commits

...

6 Commits

Author SHA1 Message Date
Vekhir --
d23bd8e3a4 Merge branch 'fix-pkgrel-pkgver-match' into 'master'
fix(pkgbuild.sh): Use grep -Fx to check for pkgrel and pkgver declaration

Closes #242

See merge request archlinux/devtools!283
2025-08-12 12:11:47 +00:00
Aaron Liu
3f0ebbc6d2 fix(license): add .gitignore to REUSE defaults
36 packages use this while 26 use *.pam and 21 use *.logrotate. Seems
anecdotally common enough to add this here.
2025-08-08 14:13:32 +02:00
Jakub Klinkovský
fc56ebedf3 fix(completion): fix bash completion for the license subcommand
Signed-off-by: Jakub Klinkovský <lahwaacz@archlinux.org>
2025-08-05 17:48:12 +02:00
Christian Heusel
01757e6904 fix(commitpkg): Quiet git ls-files output
So far all files in `needsversioning=(...)` have been printed to the
command line if they were found, which is not useful, especially now
that we have more files present there.

It makes sense however to keep the standard error output, as this gives
a actionable suggestion what one should to to fix the issue:

    > error: pathspec 'PKGBUILD' did not match any file(s) known to git
    > Did you forget to 'git add'?

Fixes #281

Signed-off-by: Christian Heusel <christian@heusel.eu>
2025-08-01 11:26:57 +02:00
Daniel M. Capella
c5fe8ff3e6 feat(license): Extend matches for sysusers/tmpfiles configs
Eg. to match:
- sysusers.conf
- $pkgname.sysusers
- $pkgname.sysusers.conf
2025-07-28 23:38:32 -04:00
Vekhir
b66d2a4928 fix(pkgbuild.sh): Use grep -Fx to check for pkgrel and pkgver declaration
In order to automatically replace pkgrel and pkgver, we must first check
that they are declared in the usual way as a key-value pair.
If pkgrel or pkgver contain special characters like +, they are currently
interpreted as regex. Use -F to instead signify that they should be literal
patterns. Since the declaration must be on its own line and anchors can't be
in literal patterns, also specify -x to only consider whole line matches.
2025-03-02 07:39:54 +00:00
4 changed files with 7 additions and 3 deletions

View File

@@ -150,6 +150,7 @@ _pkgctl_cmds=(
db
diff
issue
license
release
repo
search

View File

@@ -155,7 +155,7 @@ if (( ${#needsversioning[*]} )); then
if [[ ! -f "${file}" ]]; then
continue
fi
if ! git ls-files --error-unmatch "$file"; then
if ! git ls-files --error-unmatch "$file" >/dev/null; then
die "%s is not under version control" "$file"
fi
done

View File

@@ -188,10 +188,13 @@ path = [
"README.md",
"keys/**",
".SRCINFO",
".gitignore",
".nvchecker.toml",
"*.install",
"*.sysusers",
"*sysusers.conf",
"*.tmpfiles",
"*tmpfiles.conf",
"*.logrotate",
"*.pam",
"*.service",

View File

@@ -26,7 +26,7 @@ pkgbuild_set_pkgver() {
warning 'setting pkgver variable has no effect if the PKGBUILD has a pkgver() function'
fi
if ! grep --extended-regexp --quiet --max-count=1 "^pkgver=${pkgver}$" PKGBUILD; then
if ! grep -Fx --quiet --max-count=1 "pkgver=${pkgver}" PKGBUILD; then
die "Non-standard pkgver declaration"
fi
sed --regexp-extended "s|^(pkgver=)${pkgver}$|\1${new_pkgver}|g" --in-place PKGBUILD
@@ -38,7 +38,7 @@ pkgbuild_set_pkgrel() {
local new_pkgrel=$1
local pkgrel=${pkgrel}
if ! grep --extended-regexp --quiet --max-count=1 "^pkgrel=${pkgrel}$" PKGBUILD; then
if ! grep -Fx --quiet --max-count=1 "pkgrel=${pkgrel}" PKGBUILD; then
die "Non-standard pkgrel declaration"
fi
sed --regexp-extended "s|^(pkgrel=)${pkgrel}$|\1${new_pkgrel}|g" --in-place PKGBUILD