Compare commits

..

5 Commits

Author SHA1 Message Date
Felix Yan
b9b7a84c03 Merge branch 'commitpkg' into 'master'
commitpkg: error out when there is no package to upload

See merge request archlinux/devtools!112
2025-08-06 20:53:21 +08: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
Felix Yan
e179df93a8 commitpkg: error out when there is no package to upload
When calling commitpkg without providing a package to upload, it often
indicates an error in scripts (like failed to build the package
correctly, or transfer error, etc).
2022-08-26 16:48:57 +03:00
3 changed files with 9 additions and 3 deletions

View File

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

View File

@@ -123,9 +123,10 @@ fi
needsversioning=() needsversioning=()
if [[ ! -e REUSE.toml || ! -e LICENSE || ! -d LICENSES ]]; then if [[ ! -e REUSE.toml || ! -e LICENSE || ! -d LICENSES ]]; then
error "package doesn't have proper licensing information, set it up using:" # TODO: Make this a hard failure in the future after packagers have had
# some time to add licenses to all packages.
warning "package doesn't have proper licensing information, set it up using:"
msg2 'pkgctl license setup' msg2 'pkgctl license setup'
exit 1
else else
pkgctl license check pkgctl license check
needsversioning+=(REUSE.toml LICENSE LICENSES/*) needsversioning+=(REUSE.toml LICENSE LICENSES/*)
@@ -154,7 +155,7 @@ if (( ${#needsversioning[*]} )); then
if [[ ! -f "${file}" ]]; then if [[ ! -f "${file}" ]]; then
continue continue
fi 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" die "%s is not under version control" "$file"
fi fi
done done
@@ -308,4 +309,6 @@ if [[ ${#uploads[*]} -gt 0 ]]; then
unset new_uploads unset new_uploads
msg 'Uploading all package and signature files' msg 'Uploading all package and signature files'
rsync "${rsyncopts[@]}" "${uploads[@]}" "$server:staging/$repo/" || die rsync "${rsyncopts[@]}" "${uploads[@]}" "$server:staging/$repo/" || die
else
die 'No package to upload'
fi fi

View File

@@ -191,7 +191,9 @@ path = [
".nvchecker.toml", ".nvchecker.toml",
"*.install", "*.install",
"*.sysusers", "*.sysusers",
"*sysusers.conf",
"*.tmpfiles", "*.tmpfiles",
"*tmpfiles.conf",
"*.logrotate", "*.logrotate",
"*.pam", "*.pam",
"*.service", "*.service",