Compare commits

...

7 Commits

Author SHA1 Message Date
Levente Polyak
e70a0e69d2 wip ports 2025-09-11 20:53:17 +02: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
Christian Heusel
ad7dd50bf3 chore(release): version v1.4.0 2025-07-25 09:04:45 +02:00
Jakub Klinkovský
5a381835e8 feat(config): set default build flags for Fortran
This implements RFC 54: https://rfc.archlinux.page/0054-fortran-flags/
2025-07-25 08:54:49 +02:00
11 changed files with 72 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
SHELL=/bin/bash -o pipefail SHELL=/bin/bash -o pipefail
V=1.3.2 V=1.4.0
BUILDTOOLVER ?= $(V) BUILDTOOLVER ?= $(V)
PREFIX = /usr/local PREFIX = /usr/local

View File

@@ -1,4 +1,6 @@
#!/hint/bash #!/hint/bash
# shellcheck disable=2034
# #
# /etc/makepkg.conf.d/fortran.conf # /etc/makepkg.conf.d/fortran.conf
# #
@@ -9,10 +11,12 @@
# Flags used for the Fortran compiler, similar in spirit to CFLAGS. Read # Flags used for the Fortran compiler, similar in spirit to CFLAGS. Read
# linkman:gfortran[1] for more details on the available flags. # linkman:gfortran[1] for more details on the available flags.
#FFLAGS="-O2 -pipe" FFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt \
#FCFLAGS="$FFLAGS" -Wp,-D_FORTIFY_SOURCE=3 -fstack-clash-protection -fcf-protection \
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
FCFLAGS="$FFLAGS"
# Additional compiler flags appended to `FFLAGS` and `FCFLAGS` for use in debugging. Usually # Additional compiler flags appended to `FFLAGS` and `FCFLAGS` for use in debugging. Usually
# this would include: ``-g''. Read linkman:gfortran[1] for more details on the wide # this would include: ``-g''. Read linkman:gfortran[1] for more details on the wide
# variety of compiler flags available. # variety of compiler flags available.
#DEBUG_FFLAGS="-g" DEBUG_FFLAGS="-g"

View File

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

View File

@@ -155,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

View File

@@ -312,7 +312,7 @@ pkgctl_build() {
# Update pacman cache for auto-detection # Update pacman cache for auto-detection
if [[ -z ${REPO} ]]; then if [[ -z ${REPO} ]]; then
update_pacman_repo_cache multilib update_pacman_repo_cache stable
# Check valid repos if not resolved dynamically # Check valid repos if not resolved dynamically
elif ! in_array "${REPO}" "${DEVTOOLS_VALID_REPOS[@]}"; then elif ! in_array "${REPO}" "${DEVTOOLS_VALID_REPOS[@]}"; then
die "Invalid repository target: %s" "${REPO}" die "Invalid repository target: %s" "${REPO}"

View File

@@ -51,7 +51,6 @@ pkgctl_db_remove() {
local partial=0 local partial=0
local confirm=1 local confirm=1
local dbscripts_options=() local dbscripts_options=()
local lookup_repo=multilib
local pkgname local pkgname
# option checking # option checking
@@ -106,13 +105,13 @@ pkgctl_db_remove() {
update_pacman_repo_cache unstable update_pacman_repo_cache unstable
;; ;;
*-staging) *-staging)
update_pacman_repo_cache multilib-staging update_pacman_repo_cache staging
;; ;;
*-testing) *-testing)
update_pacman_repo_cache multilib-testing update_pacman_repo_cache testing
;; ;;
*) *)
update_pacman_repo_cache multilib update_pacman_repo_cache stable
;; ;;
esac esac

View File

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

View File

@@ -124,7 +124,7 @@ pkgctl_release() {
# Update pacman cache for auto-detection # Update pacman cache for auto-detection
if [[ -z ${REPO} ]]; then if [[ -z ${REPO} ]]; then
update_pacman_repo_cache multilib update_pacman_repo_cache stable
# Check valid repos if not resolved dynamically # Check valid repos if not resolved dynamically
elif ! in_array "${REPO}" "${DEVTOOLS_VALID_REPOS[@]}"; then elif ! in_array "${REPO}" "${DEVTOOLS_VALID_REPOS[@]}"; then
die "Invalid repository target: %s" "${REPO}" die "Invalid repository target: %s" "${REPO}"

26
src/lib/util/machine.sh Normal file
View File

@@ -0,0 +1,26 @@
#!/hint/bash
#
# SPDX-License-Identifier: GPL-3.0-or-later
[[ -z ${DEVTOOLS_INCLUDE_UTIL_MACHINE_SH:-} ]] || return 0
DEVTOOLS_INCLUDE_UTIL_MACHINE_SH=1
_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
# shellcheck source=src/lib/common.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh
set -eo pipefail
machine_get_hardware_name() {
uname --machine
}
machine_has_multilib() {
case "$(machine_get_hardware_name)" in
x86_64*)
return 0
;;
esac
return 1
}

View File

@@ -8,6 +8,8 @@ DEVTOOLS_INCLUDE_UTIL_PACMAN_SH=1
_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@} _DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
# shellcheck source=src/lib/common.sh # shellcheck source=src/lib/common.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh
# shellcheck source=src/lib/util/machine.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/util/machine.sh
set -e set -e
@@ -18,7 +20,8 @@ readonly _DEVTOOLS_MAKEPKG_CONF_DIR=${_DEVTOOLS_LIBRARY_DIR}/makepkg.conf.d
update_pacman_repo_cache() { update_pacman_repo_cache() {
local repo=${1:-multilib} local repo=${1:-stable}
repo=$(pacman_resolve_virtual_repo_name "${repo}")
mkdir -p "${_DEVTOOLS_PACMAN_CACHE_DIR}" mkdir -p "${_DEVTOOLS_PACMAN_CACHE_DIR}"
msg "Updating pacman database cache" msg "Updating pacman database cache"
@@ -32,7 +35,8 @@ update_pacman_repo_cache() {
get_pacman_repo_from_pkgbuild() { get_pacman_repo_from_pkgbuild() {
local path=${1:-PKGBUILD} local path=${1:-PKGBUILD}
local repo=${2:-multilib} local repo=${2:-stable}
repo=$(pacman_resolve_virtual_repo_name "${repo}")
local -a pkgnames local -a pkgnames
# shellcheck source=contrib/makepkg/PKGBUILD.proto # shellcheck source=contrib/makepkg/PKGBUILD.proto
@@ -72,6 +76,7 @@ get_pkgnames_from_repo_pkgbase() {
# update the pacman repo cache if it doesn't exist yet # update the pacman repo cache if it doesn't exist yet
if [[ ! -d "${_DEVTOOLS_PACMAN_CACHE_DIR}" ]]; then if [[ ! -d "${_DEVTOOLS_PACMAN_CACHE_DIR}" ]]; then
# TODO: universe includes multilib, switch for architecture
update_pacman_repo_cache universe update_pacman_repo_cache universe
fi fi
@@ -91,3 +96,23 @@ get_pkgnames_from_repo_pkgbase() {
printf "%s\n" "${pkgnames[@]}" printf "%s\n" "${pkgnames[@]}"
return 0 return 0
} }
pacman_resolve_virtual_repo_name() {
local repo=$1
local repo_class=extra
if machine_has_multilib; then
repo_class=multilib
fi
case "${repo}" in
stable)
repo=${repo_class}
;;
testing|staging)
repo="${repo_class}-${repo}"
;;
esac
printf "%s" "${repo}"
}

View File

@@ -6,6 +6,7 @@
# shellcheck disable=2034 # shellcheck disable=2034
DEVTOOLS_VALID_BINARY_ARCHES=( DEVTOOLS_VALID_BINARY_ARCHES=(
x86_64 x86_64
aarch64
) )
# shellcheck disable=2034 # shellcheck disable=2034