Compare commits

..

1 Commits

Author SHA1 Message Date
Levente Polyak
7a64d33b88 chore(license): avoid sourcing PKGBUILD in check subcommand
We don't actually need any data from the package, except the pkgbase
which is exclusively used during logging. Simply grep the pkgbase name
and use the path during early code path issues.

Component: pkgctl license check
2025-08-02 06:30:25 +02:00
7 changed files with 9 additions and 30 deletions

View File

@@ -150,7 +150,6 @@ _pkgctl_cmds=(
db
diff
issue
license
release
repo
search
@@ -197,7 +196,6 @@ _pkgctl_build_args=(
--pkgrel
--rebuild
--update-checksums
--version-upgrade
-e --edit
-r --release

View File

@@ -59,7 +59,6 @@ _pkgctl_build_args=(
'--pkgrel=[Set pkgrel to a given value]:pkgrel:'
'--rebuild[Increment the pkgrel variable]'
'--update-checksums[Force computation and update of the checksums (disables auto-detection)]'
'--version-upgrade[Adjust the PKGBUILD to match the latest upstream version (via pkgctl version upgrade)]'
'(-e --edit)'{-e,--edit}'[Edit the PKGBUILD before building]'
'(-r --release)'{-r,--release}'[Automatically commit, tag and release after building]'
'(-m --message)'{-m,--message}"[Use the given <msg> as the commit message]:message:"

View File

@@ -84,9 +84,6 @@ PKGBUILD Options
are either automatically updated when upgrading a package using `--pkgver`
or should remain immutable during rebuilds.
*--version-upgrade*::
Adjust the PKGBUILD to match the latest upstream version (via `pkgctl version upgrade`).
*-e, --edit*::
Edit the PKGBUILD before building

View File

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

View File

@@ -67,7 +67,6 @@ pkgctl_build_usage() {
--pkgrel=PKGREL Set pkgrel to a given value
--rebuild Increment the current pkgrel variable
--update-checksums Force computation and update of the checksums (disables auto-detection)
--version-upgrade Adjust the PKGBUILD to match the latest upstream version (via pkgctl version upgrade)
-e, --edit Edit the PKGBUILD before building
RELEASE OPTIONS
@@ -117,7 +116,6 @@ pkgctl_build() {
fi
local UPDATE_CHECKSUMS=0
local VERSION_UPGRADE=0
local EDIT=0
local REBUILD=0
local OFFLOAD=0
@@ -189,10 +187,6 @@ pkgctl_build() {
UPDATE_CHECKSUMS=1
shift
;;
--version-upgrade)
VERSION_UPGRADE=1
shift
;;
--rebuild)
# shellcheck source=src/lib/util/git.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/util/git.sh
@@ -458,13 +452,6 @@ pkgctl_build() {
. ./PKGBUILD
fi
# update PKGBUILD to the latest upstream version
if (( VERSION_UPGRADE )); then
if ! $(pkgctl_version_upgrade); then
die
fi
fi
# execute build
for arch in "${BUILD_ARCH[@]}"; do
if [[ -n $arch ]]; then

View File

@@ -94,19 +94,19 @@ pkgctl_license_check() {
pushd "${path}" >/dev/null
if [[ ! -f PKGBUILD ]]; then
msg_error "${BOLD}${pkgbase}:${ALL_OFF} no PKGBUILD found"
msg_error "${BOLD}${path}:${ALL_OFF} no PKGBUILD found"
return 1
fi
# reset common PKGBUILD variables
unset pkgbase
# shellcheck source=contrib/makepkg/PKGBUILD.proto
if ! . ./PKGBUILD; then
msg_error "${BOLD}${pkgbase}:${ALL_OFF} failed to source PKGBUILD"
if [[ ! -f .SRCINFO ]]; then
msg_error "${BOLD}${path}:${ALL_OFF} no .SRCINFO found"
return 1
fi
if ! pkgbase=$(grep --max-count=1 --extended-regexp "pkgbase = (.+)" .SRCINFO | awk '{print $3}'); then
msg_error "${BOLD}${path}:${ALL_OFF} pkgbase not found in .SRCINFO"
return 1
fi
pkgbase=${pkgbase:-$pkgname}
if [[ ! -e LICENSE ]]; then
msg_error "${BOLD}${pkgbase}:${ALL_OFF} is missing the LICENSE file"

View File

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