Compare commits

...

4 Commits

Author SHA1 Message Date
Felix Yan
473ef0a2e1 Merge branch 'unsupported-arch' into 'master'
feat: allow building for unsupported architecture

See merge request archlinux/devtools!294
2025-08-01 23:03:23 +00: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
332ccc95ef feat: allow building for unsupported architecture
The hard check here has been prevented us (the RISC-V port) from utilizing `pkgctl build` for a while. As long as the list (DEVTOOLS_VALID_ARCHES) isn't easily extendable, I think it's a better idea to allow building with a warning when specifying `--arch` manually.

Also disables repository detection and `--repo` check for unsupported
architectures.
2024-12-29 13:58:45 +08:00
3 changed files with 10 additions and 3 deletions

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

@@ -124,6 +124,7 @@ pkgctl_build() {
local RELEASE=0
local DB_UPDATE=0
local INSTALL_TO_HOST=none
local UNSUPPORTED_ARCH=0
local REPO=
local PKGVER=
@@ -165,7 +166,8 @@ pkgctl_build() {
BUILD_ARCH=("${DEVTOOLS_VALID_ARCHES[0]}")
elif ! in_array "${2}" "${BUILD_ARCH[@]}"; then
if ! in_array "${2}" "${DEVTOOLS_VALID_ARCHES[@]}"; then
die 'invalid architecture: %s' "${2}"
warning 'unsupported architecture: %s' "${2}"
UNSUPPORTED_ARCH=1
fi
BUILD_ARCH+=("${2}")
fi
@@ -312,6 +314,9 @@ pkgctl_build() {
# Update pacman cache for auto-detection
if [[ -z ${REPO} ]]; then
if (( UNSUPPORTED_ARCH )); then
die "Unsupported architecture specified, cannot auto-detect repository"
fi
update_pacman_repo_cache multilib
# Check valid repos if not resolved dynamically
elif ! in_array "${REPO}" "${DEVTOOLS_VALID_REPOS[@]}"; then
@@ -343,7 +348,7 @@ pkgctl_build() {
fi
# fail if an existing package specifies --repo
if [[ -n "${repo}" ]] && [[ -n ${pkgrepo} ]]; then
if [[ -n "${repo}" ]] && [[ -n ${pkgrepo} ]] && (( ! UNSUPPORTED_ARCH )); then
# allow unstable to use --repo
if [[ ${pkgrepo} == *unstable ]]; then
repo=${pkgrepo}

View File

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