From 34f09204fa7799f653de1d70c877b373f0817ee3 Mon Sep 17 00:00:00 2001 From: Christian Heusel Date: Sat, 1 Mar 2025 11:12:08 +0100 Subject: [PATCH 01/30] repo-add.8: Mention missing compression algorithms The manpage was lacking the database endings for various compression algorithms that one can validly use, therefore we add these to the list. Signed-off-by: Christian Heusel --- doc/repo-add.8.asciidoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/repo-add.8.asciidoc b/doc/repo-add.8.asciidoc index a6f77cd4..3d1db78d 100644 --- a/doc/repo-add.8.asciidoc +++ b/doc/repo-add.8.asciidoc @@ -29,9 +29,10 @@ specified on the command line. Multiple packages to remove can be specified on the command line. A package database is a tar file, optionally compressed. Valid extensions are -``.db'' followed by an archive extension of ``.tar'', ``.tar.gz'', ``.tar.bz2'', -``.tar.xz'', or ``.tar.Z''. The file does not need to exist, but all parent -directories must exist. +``.db'' followed by an archive extension of ``.tar'', ``.tar.bz2'', +``.tar.gz'', ``.tar.lrz'', ``.tar.lz'', ``.tar.lz4'', ``.tar.lzo'', +``.tar.xz'', ``.tar.zst'' or ``.tar.Z''. The file does not need to exist, but +all parent directories must exist. Common Options From f07d547cf1f879d263904fd792d2c4ebc3ba312f Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Wed, 19 Mar 2025 21:14:51 +0100 Subject: [PATCH 02/30] libmakepkg: Use only /etc/makepkg.d/gitconfig Globally set `GIT_CONFIG_GLOBAL` and `GIT_CONFIG_SYSTEM` so that we're only loading `/etc/makepkg.d/gitconfig` (if it exists) and no other Git config files. Allow injecting another value via `MAKEPKG_GIT_CONFIG`. Fixes: https://gitlab.archlinux.org/pacman/pacman/-/issues/193 --- doc/makepkg.8.asciidoc | 5 +++++ meson.build | 2 ++ scripts/libmakepkg/source/git.sh.in | 4 +++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/makepkg.8.asciidoc b/doc/makepkg.8.asciidoc index 89ac5109..69a5fd64 100644 --- a/doc/makepkg.8.asciidoc +++ b/doc/makepkg.8.asciidoc @@ -247,6 +247,11 @@ Environment Variables Use an alternate config file instead of the +{sysconfdir}/makepkg.conf+ default. +**MAKEPKG_GIT_CONFIG=**"/path/to/file":: + Use an alternate config file for Git instead of the + +{sysconfdir}/makepkg.d/gitconfig+ default. makepkg always prevents Git + from loading any other config files. + **PKGDEST=**"/path/to/directory":: Directory where the resulting packages will be stored. Overrides the corresponding value defined in linkman:makepkg.conf[5]. diff --git a/meson.build b/meson.build index e8f502b7..c045b3bf 100644 --- a/meson.build +++ b/meson.build @@ -433,6 +433,8 @@ configure_file( configuration : substs, install_dir : join_paths(SYSCONFDIR, 'makepkg.conf.d/')) +install_emptydir(join_paths(SYSCONFDIR, 'makepkg.d/')) + configure_file( input : 'etc/pacman.conf.in', output : 'pacman.conf', diff --git a/scripts/libmakepkg/source/git.sh.in b/scripts/libmakepkg/source/git.sh.in index d9c2416e..c3cc1655 100644 --- a/scripts/libmakepkg/source/git.sh.in +++ b/scripts/libmakepkg/source/git.sh.in @@ -28,6 +28,8 @@ source "$MAKEPKG_LIBRARY/util/error.sh" source "$MAKEPKG_LIBRARY/util/message.sh" source "$MAKEPKG_LIBRARY/util/pkgbuild.sh" +export GIT_CONFIG_GLOBAL=/dev/null +export GIT_CONFIG_SYSTEM=${MAKEPKG_GIT_CONFIG:-'@sysconfdir@/makepkg.d/gitconfig'} download_git() { # abort early if parent says not to fetch @@ -161,7 +163,7 @@ calc_checksum_git() { case ${fragment%%=*} in tag|commit) fragval=${fragment##*=} - sum=$(GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null git -c core.abbrev=no -C "$dir" archive --format tar "$fragval" | "${integ}sum" 2>&1) || ret=1 + sum=$(git -c core.abbrev=no -C "$dir" archive --format tar "$fragval" | "${integ}sum" 2>&1) || ret=1 sum="${sum%% *}" ;; *) From bbe3f614b2e8802802a2f385140292ca103f10b0 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Wed, 19 Mar 2025 21:18:41 +0100 Subject: [PATCH 03/30] Update my .mailmap entry --- .mailmap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index c6ba0085..62fb8e30 100644 --- a/.mailmap +++ b/.mailmap @@ -12,7 +12,7 @@ Daenyth Blank Dave Reisner 甘露(Gan Lu) Giovanni Scafora -Jan Steffens +Jan Alexander Steffens (heftig) Jaroslaw Swierczynski Jonathan Conder Juan Pablo González Tognarelli From 007261ade551e2e2a6c339435e1d6da55c82722e Mon Sep 17 00:00:00 2001 From: "LevitatingBusinessMan (Rein Fernhout)" Date: Thu, 6 Mar 2025 13:14:44 +0100 Subject: [PATCH 04/30] makepkg: do not fail if makepkg.conf.d is empty fixes #230 --- scripts/libmakepkg/util/config.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libmakepkg/util/config.sh.in b/scripts/libmakepkg/util/config.sh.in index 63f16d66..f7a36ff0 100644 --- a/scripts/libmakepkg/util/config.sh.in +++ b/scripts/libmakepkg/util/config.sh.in @@ -37,7 +37,7 @@ source_makepkg_config() { # Source the config file; fail if it is not found if [[ -r $MAKEPKG_CONF ]]; then source_safe "$MAKEPKG_CONF" - if [[ -d "$MAKEPKG_CONF.d" ]]; then + if [[ -d "$MAKEPKG_CONF.d" ]] && compgen -G "$MAKEPKG_CONF.d"/'*.conf' > /dev/null; then for c in "$MAKEPKG_CONF.d"/*.conf; do source_safe $c done From f13d7d480c7c4284a7394c111a6aef6aaae5438a Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Wed, 2 Apr 2025 11:35:34 +1000 Subject: [PATCH 05/30] Update copyright years ./build-aux/update-copyright 2024 2025 Signed-off-by: Allan McRae --- doc/index.asciidoc | 2 +- lib/libalpm/add.c | 2 +- lib/libalpm/add.h | 2 +- lib/libalpm/alpm.c | 2 +- lib/libalpm/alpm.h | 2 +- lib/libalpm/alpm_list.c | 2 +- lib/libalpm/alpm_list.h | 2 +- lib/libalpm/backup.c | 2 +- lib/libalpm/backup.h | 2 +- lib/libalpm/be_local.c | 2 +- lib/libalpm/be_package.c | 2 +- lib/libalpm/be_sync.c | 2 +- lib/libalpm/conflict.c | 2 +- lib/libalpm/conflict.h | 2 +- lib/libalpm/db.c | 2 +- lib/libalpm/db.h | 2 +- lib/libalpm/deps.c | 2 +- lib/libalpm/deps.h | 2 +- lib/libalpm/diskspace.c | 2 +- lib/libalpm/diskspace.h | 2 +- lib/libalpm/dload.c | 2 +- lib/libalpm/dload.h | 2 +- lib/libalpm/error.c | 2 +- lib/libalpm/filelist.c | 2 +- lib/libalpm/filelist.h | 2 +- lib/libalpm/graph.c | 2 +- lib/libalpm/graph.h | 2 +- lib/libalpm/group.c | 2 +- lib/libalpm/group.h | 2 +- lib/libalpm/handle.c | 2 +- lib/libalpm/handle.h | 2 +- lib/libalpm/hook.c | 2 +- lib/libalpm/hook.h | 2 +- lib/libalpm/libarchive-compat.h | 2 +- lib/libalpm/log.c | 2 +- lib/libalpm/log.h | 2 +- lib/libalpm/package.c | 2 +- lib/libalpm/package.h | 2 +- lib/libalpm/pkghash.c | 2 +- lib/libalpm/pkghash.h | 2 +- lib/libalpm/remove.c | 2 +- lib/libalpm/remove.h | 2 +- lib/libalpm/sandbox.c | 2 +- lib/libalpm/sandbox_fs.c | 2 +- lib/libalpm/sandbox_fs.h | 2 +- lib/libalpm/signing.c | 2 +- lib/libalpm/signing.h | 2 +- lib/libalpm/sync.c | 2 +- lib/libalpm/sync.h | 2 +- lib/libalpm/trans.c | 2 +- lib/libalpm/trans.h | 2 +- lib/libalpm/util.c | 2 +- lib/libalpm/util.h | 2 +- lib/libalpm/version.c | 2 +- scripts/libmakepkg/autodep.sh.in | 2 +- scripts/libmakepkg/autodep/library_depends.sh.in | 2 +- scripts/libmakepkg/autodep/library_provides.sh.in | 2 +- scripts/libmakepkg/buildenv.sh.in | 2 +- scripts/libmakepkg/buildenv/buildflags.sh.in | 2 +- scripts/libmakepkg/buildenv/compiler.sh.in | 2 +- scripts/libmakepkg/buildenv/debugflags.sh.in | 2 +- scripts/libmakepkg/buildenv/fortran.sh.in | 2 +- scripts/libmakepkg/buildenv/lto.sh.in | 2 +- scripts/libmakepkg/buildenv/makeflags.sh.in | 2 +- scripts/libmakepkg/buildenv/rust.sh.in | 2 +- scripts/libmakepkg/executable.sh.in | 2 +- scripts/libmakepkg/executable/ccache.sh.in | 2 +- scripts/libmakepkg/executable/checksum.sh.in | 2 +- scripts/libmakepkg/executable/debugedit.sh.in | 2 +- scripts/libmakepkg/executable/distcc.sh.in | 2 +- scripts/libmakepkg/executable/fakeroot.sh.in | 2 +- scripts/libmakepkg/executable/gpg.sh.in | 2 +- scripts/libmakepkg/executable/gzip.sh.in | 2 +- scripts/libmakepkg/executable/pacman.sh.in | 2 +- scripts/libmakepkg/executable/strip.sh.in | 2 +- scripts/libmakepkg/executable/sudo.sh.in | 2 +- scripts/libmakepkg/executable/vcs.sh.in | 2 +- scripts/libmakepkg/integrity.sh.in | 2 +- scripts/libmakepkg/integrity/generate_checksum.sh.in | 2 +- scripts/libmakepkg/integrity/generate_signature.sh.in | 2 +- scripts/libmakepkg/integrity/verify_checksum.sh.in | 2 +- scripts/libmakepkg/integrity/verify_signature.sh.in | 2 +- scripts/libmakepkg/lint_config.sh.in | 2 +- scripts/libmakepkg/lint_config/ext.sh.in | 2 +- scripts/libmakepkg/lint_config/paths.sh.in | 2 +- scripts/libmakepkg/lint_config/source_date_epoch.sh.in | 2 +- scripts/libmakepkg/lint_config/variable.sh.in | 2 +- scripts/libmakepkg/lint_package.sh.in | 2 +- scripts/libmakepkg/lint_package/build_references.sh.in | 2 +- scripts/libmakepkg/lint_package/dotfiles.sh.in | 2 +- scripts/libmakepkg/lint_package/file_names.sh.in | 2 +- scripts/libmakepkg/lint_package/missing_backup.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/arch.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/backup.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/changelog.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/depends.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/epoch.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/install.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/options.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/package_function.sh.in | 2 +- .../libmakepkg/lint_pkgbuild/package_function_variable.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/provides.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/source.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/util.sh.in | 2 +- scripts/libmakepkg/lint_pkgbuild/variable.sh.in | 2 +- scripts/libmakepkg/reproducible.sh.in | 2 +- scripts/libmakepkg/reproducible/source_date_epoch.sh.in | 2 +- scripts/libmakepkg/source.sh.in | 2 +- scripts/libmakepkg/source/bzr.sh.in | 2 +- scripts/libmakepkg/source/file.sh.in | 2 +- scripts/libmakepkg/source/fossil.sh.in | 2 +- scripts/libmakepkg/source/git.sh.in | 2 +- scripts/libmakepkg/source/hg.sh.in | 2 +- scripts/libmakepkg/source/local.sh.in | 2 +- scripts/libmakepkg/source/svn.sh.in | 2 +- scripts/libmakepkg/srcinfo.sh.in | 2 +- scripts/libmakepkg/tidy.sh.in | 2 +- scripts/libmakepkg/tidy/docs.sh.in | 2 +- scripts/libmakepkg/tidy/emptydirs.sh.in | 2 +- scripts/libmakepkg/tidy/libtool.sh.in | 2 +- scripts/libmakepkg/tidy/purge.sh.in | 2 +- scripts/libmakepkg/tidy/staticlibs.sh.in | 2 +- scripts/libmakepkg/tidy/strip.sh.in | 2 +- scripts/libmakepkg/tidy/zipman.sh.in | 2 +- scripts/libmakepkg/util.sh.in | 2 +- scripts/libmakepkg/util/compress.sh.in | 2 +- scripts/libmakepkg/util/config.sh.in | 2 +- scripts/libmakepkg/util/dirsize.sh.in | 2 +- scripts/libmakepkg/util/error.sh.in | 2 +- scripts/libmakepkg/util/message.sh.in | 2 +- scripts/libmakepkg/util/option.sh.in | 2 +- scripts/libmakepkg/util/parseopts.sh.in | 2 +- scripts/libmakepkg/util/pkgbuild.sh.in | 2 +- scripts/libmakepkg/util/schema.sh.in | 2 +- scripts/libmakepkg/util/source.sh.in | 2 +- scripts/libmakepkg/util/util.sh.in | 2 +- scripts/makepkg-template.pl.in | 4 ++-- scripts/makepkg.sh.in | 4 ++-- scripts/pacman-db-upgrade.sh.in | 4 ++-- scripts/pacman-key.sh.in | 4 ++-- scripts/repo-add.sh.in | 4 ++-- scripts/wrapper.sh.in | 2 +- src/common/ini.c | 2 +- src/common/ini.h | 2 +- src/common/util-common.c | 2 +- src/common/util-common.h | 2 +- src/pacman/callback.c | 2 +- src/pacman/callback.h | 2 +- src/pacman/check.c | 2 +- src/pacman/check.h | 2 +- src/pacman/conf.c | 2 +- src/pacman/conf.h | 2 +- src/pacman/database.c | 2 +- src/pacman/deptest.c | 2 +- src/pacman/files.c | 2 +- src/pacman/package.c | 2 +- src/pacman/package.h | 2 +- src/pacman/pacman-conf.c | 2 +- src/pacman/pacman.c | 4 ++-- src/pacman/pacman.h | 2 +- src/pacman/query.c | 2 +- src/pacman/remove.c | 2 +- src/pacman/sighandler.c | 2 +- src/pacman/sighandler.h | 2 +- src/pacman/sync.c | 2 +- src/pacman/upgrade.c | 2 +- src/pacman/util.c | 2 +- src/pacman/util.h | 2 +- src/util/testpkg.c | 2 +- src/util/vercmp.c | 2 +- test/pacman/pactest.py | 2 +- test/pacman/pmdb.py | 2 +- test/pacman/pmenv.py | 2 +- test/pacman/pmfile.py | 2 +- test/pacman/pmpkg.py | 2 +- test/pacman/pmrule.py | 2 +- test/pacman/pmserve.py | 2 +- test/pacman/pmtest.py | 2 +- test/pacman/tap.py | 2 +- test/pacman/util.py | 2 +- test/util/vercmptest.sh | 2 +- 193 files changed, 199 insertions(+), 199 deletions(-) diff --git a/doc/index.asciidoc b/doc/index.asciidoc index ffc10b2b..ddd32cfe 100644 --- a/doc/index.asciidoc +++ b/doc/index.asciidoc @@ -252,7 +252,7 @@ the package database if it helps. Copyright --------- -pacman is Copyright (C) 2006-2024 Pacman Development Team +pacman is Copyright (C) 2006-2025 Pacman Development Team and Copyright (C) 2002-2006 Judd Vinet and is licensed through the GNU General Public License, version 2 or later. diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c index 6d245ba9..1e4aaf1e 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -1,7 +1,7 @@ /* * add.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/add.h b/lib/libalpm/add.h index 439c88bf..74659df6 100644 --- a/lib/libalpm/add.h +++ b/lib/libalpm/add.h @@ -1,7 +1,7 @@ /* * add.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index 6753692f..36e6f7f4 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -1,7 +1,7 @@ /* * alpm.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index abdea798..96e5e643 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -1,7 +1,7 @@ /* * alpm.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/alpm_list.c b/lib/libalpm/alpm_list.c index 16a9ad45..959af921 100644 --- a/lib/libalpm/alpm_list.c +++ b/lib/libalpm/alpm_list.c @@ -1,7 +1,7 @@ /* * alpm_list.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/alpm_list.h b/lib/libalpm/alpm_list.h index ba566759..062a0a6f 100644 --- a/lib/libalpm/alpm_list.h +++ b/lib/libalpm/alpm_list.h @@ -1,7 +1,7 @@ /* * alpm_list.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/backup.c b/lib/libalpm/backup.c index d2badc4a..d083fb2a 100644 --- a/lib/libalpm/backup.c +++ b/lib/libalpm/backup.c @@ -1,7 +1,7 @@ /* * backup.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2005 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/backup.h b/lib/libalpm/backup.h index 63c5db6e..cf3a2707 100644 --- a/lib/libalpm/backup.h +++ b/lib/libalpm/backup.h @@ -1,7 +1,7 @@ /* * backup.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c index c9929181..d5f97380 100644 --- a/lib/libalpm/be_local.c +++ b/lib/libalpm/be_local.c @@ -1,7 +1,7 @@ /* * be_local.c : backend for the local database * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c index 4fbd4c78..0fecbcb5 100644 --- a/lib/libalpm/be_package.c +++ b/lib/libalpm/be_package.c @@ -1,7 +1,7 @@ /* * be_package.c : backend for packages * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index 35bee7eb..5e702f27 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -1,7 +1,7 @@ /* * be_sync.c : backend for sync databases * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c index efa22501..6bd6adaf 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c @@ -1,7 +1,7 @@ /* * conflict.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2006 by David Kimpe diff --git a/lib/libalpm/conflict.h b/lib/libalpm/conflict.h index 7c128d98..34dceb12 100644 --- a/lib/libalpm/conflict.h +++ b/lib/libalpm/conflict.h @@ -1,7 +1,7 @@ /* * conflict.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c index d949b645..92b22a6f 100644 --- a/lib/libalpm/db.c +++ b/lib/libalpm/db.c @@ -1,7 +1,7 @@ /* * db.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h index ae1f0f74..88369581 100644 --- a/lib/libalpm/db.h +++ b/lib/libalpm/db.h @@ -1,7 +1,7 @@ /* * db.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2006 by Miklos Vajna diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index e0327b9b..3346749c 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -1,7 +1,7 @@ /* * deps.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005, 2006 by Miklos Vajna diff --git a/lib/libalpm/deps.h b/lib/libalpm/deps.h index b1daa457..720b2929 100644 --- a/lib/libalpm/deps.h +++ b/lib/libalpm/deps.h @@ -1,7 +1,7 @@ /* * deps.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2006 by Miklos Vajna diff --git a/lib/libalpm/diskspace.c b/lib/libalpm/diskspace.c index 45eb5f7f..80bf9981 100644 --- a/lib/libalpm/diskspace.c +++ b/lib/libalpm/diskspace.c @@ -1,7 +1,7 @@ /* * diskspace.c * - * Copyright (c) 2010-2024 Pacman Development Team + * Copyright (c) 2010-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/diskspace.h b/lib/libalpm/diskspace.h index 605578f2..73e4e833 100644 --- a/lib/libalpm/diskspace.h +++ b/lib/libalpm/diskspace.h @@ -1,7 +1,7 @@ /* * diskspace.h * - * Copyright (c) 2010-2024 Pacman Development Team + * Copyright (c) 2010-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 03807fa0..782d15ee 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1,7 +1,7 @@ /* * dload.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/dload.h b/lib/libalpm/dload.h index a4a7d27c..dd504e88 100644 --- a/lib/libalpm/dload.h +++ b/lib/libalpm/dload.h @@ -1,7 +1,7 @@ /* * dload.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c index 8929fcb9..967cfe1e 100644 --- a/lib/libalpm/error.c +++ b/lib/libalpm/error.c @@ -1,7 +1,7 @@ /* * error.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/filelist.c b/lib/libalpm/filelist.c index 5d781235..72b88fd8 100644 --- a/lib/libalpm/filelist.c +++ b/lib/libalpm/filelist.c @@ -1,7 +1,7 @@ /* * filelist.c * - * Copyright (c) 2012-2024 Pacman Development Team + * Copyright (c) 2012-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/filelist.h b/lib/libalpm/filelist.h index 313b135a..dccbae33 100644 --- a/lib/libalpm/filelist.h +++ b/lib/libalpm/filelist.h @@ -1,7 +1,7 @@ /* * filelist.h * - * Copyright (c) 2012-2024 Pacman Development Team + * Copyright (c) 2012-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/graph.c b/lib/libalpm/graph.c index 4b0d17a2..0e1dee6d 100644 --- a/lib/libalpm/graph.c +++ b/lib/libalpm/graph.c @@ -1,7 +1,7 @@ /* * graph.c - helpful graph structure and setup/teardown methods * - * Copyright (c) 2007-2024 Pacman Development Team + * Copyright (c) 2007-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/graph.h b/lib/libalpm/graph.h index eda59b7f..0244a7a7 100644 --- a/lib/libalpm/graph.h +++ b/lib/libalpm/graph.h @@ -1,7 +1,7 @@ /* * graph.h - helpful graph structure and setup/teardown methods * - * Copyright (c) 2007-2024 Pacman Development Team + * Copyright (c) 2007-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/group.c b/lib/libalpm/group.c index 6f32ec1e..dee06d87 100644 --- a/lib/libalpm/group.c +++ b/lib/libalpm/group.c @@ -1,7 +1,7 @@ /* * group.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/group.h b/lib/libalpm/group.h index 927192d4..faa95ab8 100644 --- a/lib/libalpm/group.h +++ b/lib/libalpm/group.h @@ -1,7 +1,7 @@ /* * group.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index 36afd0a5..6633f2f5 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -1,7 +1,7 @@ /* * handle.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005, 2006 by Miklos Vajna diff --git a/lib/libalpm/handle.h b/lib/libalpm/handle.h index 37724344..2637a92f 100644 --- a/lib/libalpm/handle.h +++ b/lib/libalpm/handle.h @@ -1,7 +1,7 @@ /* * handle.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/hook.c b/lib/libalpm/hook.c index aa25d5f3..9386959c 100644 --- a/lib/libalpm/hook.c +++ b/lib/libalpm/hook.c @@ -1,7 +1,7 @@ /* * hook.c * - * Copyright (c) 2015-2024 Pacman Development Team + * Copyright (c) 2015-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/hook.h b/lib/libalpm/hook.h index c12c75bf..5c4785c4 100644 --- a/lib/libalpm/hook.h +++ b/lib/libalpm/hook.h @@ -1,7 +1,7 @@ /* * hook.h * - * Copyright (c) 2015-2024 Pacman Development Team + * Copyright (c) 2015-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/libarchive-compat.h b/lib/libalpm/libarchive-compat.h index 19eb5bfc..f258ae99 100644 --- a/lib/libalpm/libarchive-compat.h +++ b/lib/libalpm/libarchive-compat.h @@ -4,7 +4,7 @@ /* * libarchive-compat.h * - * Copyright (c) 2013-2024 Pacman Development Team + * Copyright (c) 2013-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c index 7668ed37..594dad38 100644 --- a/lib/libalpm/log.c +++ b/lib/libalpm/log.c @@ -1,7 +1,7 @@ /* * log.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/log.h b/lib/libalpm/log.h index f24a251e..8e55e3e9 100644 --- a/lib/libalpm/log.h +++ b/lib/libalpm/log.h @@ -1,7 +1,7 @@ /* * log.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index a294d636..a7bccde3 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -1,7 +1,7 @@ /* * package.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005, 2006 by Christian Hamar diff --git a/lib/libalpm/package.h b/lib/libalpm/package.h index c210ce19..0f8f9aa3 100644 --- a/lib/libalpm/package.h +++ b/lib/libalpm/package.h @@ -1,7 +1,7 @@ /* * package.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2006 by David Kimpe diff --git a/lib/libalpm/pkghash.c b/lib/libalpm/pkghash.c index 6ef9f08d..ac027c2b 100644 --- a/lib/libalpm/pkghash.c +++ b/lib/libalpm/pkghash.c @@ -1,7 +1,7 @@ /* * pkghash.c * - * Copyright (c) 2011-2024 Pacman Development Team + * Copyright (c) 2011-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/pkghash.h b/lib/libalpm/pkghash.h index 9c778ba5..7d3794ed 100644 --- a/lib/libalpm/pkghash.h +++ b/lib/libalpm/pkghash.h @@ -1,7 +1,7 @@ /* * pkghash.h * - * Copyright (c) 2011-2024 Pacman Development Team + * Copyright (c) 2011-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c index e7634994..1ae7ab1d 100644 --- a/lib/libalpm/remove.c +++ b/lib/libalpm/remove.c @@ -1,7 +1,7 @@ /* * remove.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/remove.h b/lib/libalpm/remove.h index 66ebc4eb..b481e791 100644 --- a/lib/libalpm/remove.h +++ b/lib/libalpm/remove.h @@ -1,7 +1,7 @@ /* * remove.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/lib/libalpm/sandbox.c b/lib/libalpm/sandbox.c index cdc01dc7..acf9ce5a 100644 --- a/lib/libalpm/sandbox.c +++ b/lib/libalpm/sandbox.c @@ -1,7 +1,7 @@ /* * sandbox.c * - * Copyright (c) 2021-2024 Pacman Development Team + * Copyright (c) 2021-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/sandbox_fs.c b/lib/libalpm/sandbox_fs.c index 94bbb104..04a006f0 100644 --- a/lib/libalpm/sandbox_fs.c +++ b/lib/libalpm/sandbox_fs.c @@ -1,7 +1,7 @@ /* * sandbox_fs.c * - * Copyright (c) 2021-2024 Pacman Development Team + * Copyright (c) 2021-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/sandbox_fs.h b/lib/libalpm/sandbox_fs.h index 70bfa157..2b60a0ea 100644 --- a/lib/libalpm/sandbox_fs.h +++ b/lib/libalpm/sandbox_fs.h @@ -1,7 +1,7 @@ /* * sandbox_fs.h * - * Copyright (c) 2021-2024 Pacman Development Team + * Copyright (c) 2021-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/signing.c b/lib/libalpm/signing.c index 53907339..e5ddd2d0 100644 --- a/lib/libalpm/signing.c +++ b/lib/libalpm/signing.c @@ -1,7 +1,7 @@ /* * signing.c * - * Copyright (c) 2008-2024 Pacman Development Team + * Copyright (c) 2008-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/signing.h b/lib/libalpm/signing.h index c478f1c3..94c2b7f4 100644 --- a/lib/libalpm/signing.h +++ b/lib/libalpm/signing.h @@ -1,7 +1,7 @@ /* * signing.h * - * Copyright (c) 2008-2024 Pacman Development Team + * Copyright (c) 2008-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 821e75a3..372d2b31 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -1,7 +1,7 @@ /* * sync.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/sync.h b/lib/libalpm/sync.h index 88f01db9..0a293fc4 100644 --- a/lib/libalpm/sync.h +++ b/lib/libalpm/sync.h @@ -1,7 +1,7 @@ /* * sync.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005, 2006 by Miklos Vajna diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index ef77e792..de56c254 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -1,7 +1,7 @@ /* * trans.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/trans.h b/lib/libalpm/trans.h index 9ee7015e..67ece774 100644 --- a/lib/libalpm/trans.h +++ b/lib/libalpm/trans.h @@ -1,7 +1,7 @@ /* * trans.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index feb38284..ffc18d14 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -1,7 +1,7 @@ /* * util.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h index 1af4a57c..5090c545 100644 --- a/lib/libalpm/util.h +++ b/lib/libalpm/util.h @@ -1,7 +1,7 @@ /* * util.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * Copyright (c) 2005 by Aurelien Foret * Copyright (c) 2005 by Christian Hamar diff --git a/lib/libalpm/version.c b/lib/libalpm/version.c index 3f0de8d5..12dcf70d 100644 --- a/lib/libalpm/version.c +++ b/lib/libalpm/version.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/autodep.sh.in b/scripts/libmakepkg/autodep.sh.in index 0d9d662c..8fae24ac 100644 --- a/scripts/libmakepkg/autodep.sh.in +++ b/scripts/libmakepkg/autodep.sh.in @@ -2,7 +2,7 @@ # # autodep.sh - functions for automatically adding depends/provides # -# Copyright (c) 2021-2024 Pacman Development Team +# Copyright (c) 2021-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/autodep/library_depends.sh.in b/scripts/libmakepkg/autodep/library_depends.sh.in index 596a9821..b8fb7017 100644 --- a/scripts/libmakepkg/autodep/library_depends.sh.in +++ b/scripts/libmakepkg/autodep/library_depends.sh.in @@ -2,7 +2,7 @@ # # library_depends.sh - Automatically add library requirements to depends # -# Copyright (c) 2021-2024 Pacman Development Team +# Copyright (c) 2021-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/autodep/library_provides.sh.in b/scripts/libmakepkg/autodep/library_provides.sh.in index c92877ad..82595b46 100644 --- a/scripts/libmakepkg/autodep/library_provides.sh.in +++ b/scripts/libmakepkg/autodep/library_provides.sh.in @@ -2,7 +2,7 @@ # # library_provides.sh - Automatically add a packages libraries to provides # -# Copyright (c) 2021-2024 Pacman Development Team +# Copyright (c) 2021-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/buildenv.sh.in b/scripts/libmakepkg/buildenv.sh.in index 50006b59..0fd7c773 100644 --- a/scripts/libmakepkg/buildenv.sh.in +++ b/scripts/libmakepkg/buildenv.sh.in @@ -3,7 +3,7 @@ # buildenv.sh - functions for altering the build environment before # compilation # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/buildenv/buildflags.sh.in b/scripts/libmakepkg/buildenv/buildflags.sh.in index f132d379..d073c4d9 100644 --- a/scripts/libmakepkg/buildenv/buildflags.sh.in +++ b/scripts/libmakepkg/buildenv/buildflags.sh.in @@ -2,7 +2,7 @@ # # buildflags.sh - Clear user-specified buildflags if requested # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/buildenv/compiler.sh.in b/scripts/libmakepkg/buildenv/compiler.sh.in index 782eaf3f..6e7d1fcb 100644 --- a/scripts/libmakepkg/buildenv/compiler.sh.in +++ b/scripts/libmakepkg/buildenv/compiler.sh.in @@ -4,7 +4,7 @@ # ccache - Cache compilations and reuse them to save time on repetitions # distcc - Distribute compilation of C and C++ across machines # -# Copyright (c) 2007-2024 Pacman Development Team +# Copyright (c) 2007-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/buildenv/debugflags.sh.in b/scripts/libmakepkg/buildenv/debugflags.sh.in index 3eada6e7..2f625343 100644 --- a/scripts/libmakepkg/buildenv/debugflags.sh.in +++ b/scripts/libmakepkg/buildenv/debugflags.sh.in @@ -3,7 +3,7 @@ # debugflags.sh - Specify flags for building a package with debugging # symbols # -# Copyright (c) 2012-2024 Pacman Development Team +# Copyright (c) 2012-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/buildenv/fortran.sh.in b/scripts/libmakepkg/buildenv/fortran.sh.in index 3dc6f216..02db5383 100644 --- a/scripts/libmakepkg/buildenv/fortran.sh.in +++ b/scripts/libmakepkg/buildenv/fortran.sh.in @@ -2,7 +2,7 @@ # # fortran.sh - Specify flags for building a package with Fortran # -# Copyright (c) 2024 Pacman Development Team +# Copyright (c) 2024-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/buildenv/lto.sh.in b/scripts/libmakepkg/buildenv/lto.sh.in index 7fc12a51..15a2718d 100644 --- a/scripts/libmakepkg/buildenv/lto.sh.in +++ b/scripts/libmakepkg/buildenv/lto.sh.in @@ -3,7 +3,7 @@ # lto.sh - Specify flags for building a package with link-time # optimisation # -# Copyright (c) 2021-2024 Pacman Development Team +# Copyright (c) 2021-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/buildenv/makeflags.sh.in b/scripts/libmakepkg/buildenv/makeflags.sh.in index 9542a6bc..67160ef5 100644 --- a/scripts/libmakepkg/buildenv/makeflags.sh.in +++ b/scripts/libmakepkg/buildenv/makeflags.sh.in @@ -2,7 +2,7 @@ # # makeflags.sh - Clear user-specified makeflags if requested # -# Copyright (c) 2007-2024 Pacman Development Team +# Copyright (c) 2007-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/buildenv/rust.sh.in b/scripts/libmakepkg/buildenv/rust.sh.in index 48ed06c6..1f90d1fa 100644 --- a/scripts/libmakepkg/buildenv/rust.sh.in +++ b/scripts/libmakepkg/buildenv/rust.sh.in @@ -2,7 +2,7 @@ # # rust.sh - Specify flags for building a package with rust # -# Copyright (c) 2022-2024 Pacman Development Team +# Copyright (c) 2022-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable.sh.in b/scripts/libmakepkg/executable.sh.in index e003c045..184c8203 100644 --- a/scripts/libmakepkg/executable.sh.in +++ b/scripts/libmakepkg/executable.sh.in @@ -2,7 +2,7 @@ # # executable.sh - confirm presence of dependent executables # -# Copyright (c) 2018-2024 Pacman Development Team +# Copyright (c) 2018-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/ccache.sh.in b/scripts/libmakepkg/executable/ccache.sh.in index dd85816e..43314836 100644 --- a/scripts/libmakepkg/executable/ccache.sh.in +++ b/scripts/libmakepkg/executable/ccache.sh.in @@ -2,7 +2,7 @@ # # ccache.sh - Confirm presence of ccache binary # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/checksum.sh.in b/scripts/libmakepkg/executable/checksum.sh.in index 1157e7d7..e4eb095a 100644 --- a/scripts/libmakepkg/executable/checksum.sh.in +++ b/scripts/libmakepkg/executable/checksum.sh.in @@ -2,7 +2,7 @@ # # checksum.sh - Confirm presence of binaries for checksum operations # -# Copyright (c) 2016-2024 Pacman Development Team +# Copyright (c) 2016-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/debugedit.sh.in b/scripts/libmakepkg/executable/debugedit.sh.in index c62595c4..b54a67b2 100644 --- a/scripts/libmakepkg/executable/debugedit.sh.in +++ b/scripts/libmakepkg/executable/debugedit.sh.in @@ -2,7 +2,7 @@ # # debugedit.sh - Confirm presence of debugedit binary # -# Copyright (c) 2022-2024 Pacman Development Team +# Copyright (c) 2022-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/distcc.sh.in b/scripts/libmakepkg/executable/distcc.sh.in index 8e5f4356..355cd33f 100644 --- a/scripts/libmakepkg/executable/distcc.sh.in +++ b/scripts/libmakepkg/executable/distcc.sh.in @@ -2,7 +2,7 @@ # # distcc.sh - Confirm presence of distcc binary # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/fakeroot.sh.in b/scripts/libmakepkg/executable/fakeroot.sh.in index 4159ba41..469ac03a 100644 --- a/scripts/libmakepkg/executable/fakeroot.sh.in +++ b/scripts/libmakepkg/executable/fakeroot.sh.in @@ -2,7 +2,7 @@ # # fakeroot.sh - Confirm presence of fakeroot binary # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/gpg.sh.in b/scripts/libmakepkg/executable/gpg.sh.in index c4ca94a9..c1b71a17 100644 --- a/scripts/libmakepkg/executable/gpg.sh.in +++ b/scripts/libmakepkg/executable/gpg.sh.in @@ -2,7 +2,7 @@ # # gpg.sh - Confirm presence of gpg binary # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/gzip.sh.in b/scripts/libmakepkg/executable/gzip.sh.in index 81c9c40f..785811c5 100644 --- a/scripts/libmakepkg/executable/gzip.sh.in +++ b/scripts/libmakepkg/executable/gzip.sh.in @@ -2,7 +2,7 @@ # # gzip.sh - Confirm presence of gzip binary # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/pacman.sh.in b/scripts/libmakepkg/executable/pacman.sh.in index 4d25b078..89644409 100644 --- a/scripts/libmakepkg/executable/pacman.sh.in +++ b/scripts/libmakepkg/executable/pacman.sh.in @@ -2,7 +2,7 @@ # # pacman.sh - Confirm presence of pacman binary # -# Copyright (c) 2012-2024 Pacman Development Team +# Copyright (c) 2012-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/strip.sh.in b/scripts/libmakepkg/executable/strip.sh.in index 922cb53f..70aadffc 100644 --- a/scripts/libmakepkg/executable/strip.sh.in +++ b/scripts/libmakepkg/executable/strip.sh.in @@ -2,7 +2,7 @@ # # strip.sh - Confirm presence of strip binary # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/sudo.sh.in b/scripts/libmakepkg/executable/sudo.sh.in index 05de231e..995532d9 100644 --- a/scripts/libmakepkg/executable/sudo.sh.in +++ b/scripts/libmakepkg/executable/sudo.sh.in @@ -2,7 +2,7 @@ # # sudo.sh - Confirm presence of sudo binary # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/executable/vcs.sh.in b/scripts/libmakepkg/executable/vcs.sh.in index fd54bfe3..7896d05d 100644 --- a/scripts/libmakepkg/executable/vcs.sh.in +++ b/scripts/libmakepkg/executable/vcs.sh.in @@ -2,7 +2,7 @@ # # vcs.sh - Confirm presence of binaries for VCS operations # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/integrity.sh.in b/scripts/libmakepkg/integrity.sh.in index 9a540a6e..a3cf5a99 100644 --- a/scripts/libmakepkg/integrity.sh.in +++ b/scripts/libmakepkg/integrity.sh.in @@ -2,7 +2,7 @@ # # integrity.sh - functions relating to source integrity checking # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/integrity/generate_checksum.sh.in b/scripts/libmakepkg/integrity/generate_checksum.sh.in index 9919d1a3..dee81399 100644 --- a/scripts/libmakepkg/integrity/generate_checksum.sh.in +++ b/scripts/libmakepkg/integrity/generate_checksum.sh.in @@ -2,7 +2,7 @@ # # generate_checksum.sh - functions for generating source checksums # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/integrity/generate_signature.sh.in b/scripts/libmakepkg/integrity/generate_signature.sh.in index f0dd7421..5c615c82 100644 --- a/scripts/libmakepkg/integrity/generate_signature.sh.in +++ b/scripts/libmakepkg/integrity/generate_signature.sh.in @@ -2,7 +2,7 @@ # # generate_signature.sh - functions for generating PGP signatures # -# Copyright (c) 2008-2024 Pacman Development Team +# Copyright (c) 2008-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/integrity/verify_checksum.sh.in b/scripts/libmakepkg/integrity/verify_checksum.sh.in index 03f7a5c4..b7afc2c7 100644 --- a/scripts/libmakepkg/integrity/verify_checksum.sh.in +++ b/scripts/libmakepkg/integrity/verify_checksum.sh.in @@ -2,7 +2,7 @@ # # verify_checksum.sh - functions for checking source checksums # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/integrity/verify_signature.sh.in b/scripts/libmakepkg/integrity/verify_signature.sh.in index 00b2c977..858ac605 100644 --- a/scripts/libmakepkg/integrity/verify_signature.sh.in +++ b/scripts/libmakepkg/integrity/verify_signature.sh.in @@ -2,7 +2,7 @@ # # verify_signature.sh - functions for checking PGP signatures # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_config.sh.in b/scripts/libmakepkg/lint_config.sh.in index f23018ff..90971873 100644 --- a/scripts/libmakepkg/lint_config.sh.in +++ b/scripts/libmakepkg/lint_config.sh.in @@ -2,7 +2,7 @@ # # lint_config.sh - functions for checking for makepkg.conf errors # -# Copyright (c) 2018-2024 Pacman Development Team +# Copyright (c) 2018-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_config/ext.sh.in b/scripts/libmakepkg/lint_config/ext.sh.in index db6eb43b..cc413467 100644 --- a/scripts/libmakepkg/lint_config/ext.sh.in +++ b/scripts/libmakepkg/lint_config/ext.sh.in @@ -2,7 +2,7 @@ # # ext.sh - Check that source/package extensions have valid prefixes # -# Copyright (c) 2019-2024 Pacman Development Team +# Copyright (c) 2019-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_config/paths.sh.in b/scripts/libmakepkg/lint_config/paths.sh.in index b7125e28..612e6175 100644 --- a/scripts/libmakepkg/lint_config/paths.sh.in +++ b/scripts/libmakepkg/lint_config/paths.sh.in @@ -2,7 +2,7 @@ # # paths.sh - Check that pathname components do not contain odd characters # -# Copyright (c) 2018-2024 Pacman Development Team +# Copyright (c) 2018-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_config/source_date_epoch.sh.in b/scripts/libmakepkg/lint_config/source_date_epoch.sh.in index 10d62373..7e1f5525 100644 --- a/scripts/libmakepkg/lint_config/source_date_epoch.sh.in +++ b/scripts/libmakepkg/lint_config/source_date_epoch.sh.in @@ -2,7 +2,7 @@ # # source_date_epoch.sh - Check that reproducible builds timestamp is valid # -# Copyright (c) 2018-2024 Pacman Development Team +# Copyright (c) 2018-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_config/variable.sh.in b/scripts/libmakepkg/lint_config/variable.sh.in index 0a99ef81..f4823f07 100644 --- a/scripts/libmakepkg/lint_config/variable.sh.in +++ b/scripts/libmakepkg/lint_config/variable.sh.in @@ -2,7 +2,7 @@ # # variable.sh - Check that variables are or are not arrays as appropriate # -# Copyright (c) 2018-2024 Pacman Development Team +# Copyright (c) 2018-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_package.sh.in b/scripts/libmakepkg/lint_package.sh.in index eba38b45..7d07b730 100644 --- a/scripts/libmakepkg/lint_package.sh.in +++ b/scripts/libmakepkg/lint_package.sh.in @@ -2,7 +2,7 @@ # # lint_package.sh - functions for checking for packaging errors # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in b/scripts/libmakepkg/lint_package/build_references.sh.in index 5aea78ff..1c14ed85 100644 --- a/scripts/libmakepkg/lint_package/build_references.sh.in +++ b/scripts/libmakepkg/lint_package/build_references.sh.in @@ -2,7 +2,7 @@ # # build_references.sh - Warn about files containing references to build directories # -# Copyright (c) 2013-2024 Pacman Development Team +# Copyright (c) 2013-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_package/dotfiles.sh.in b/scripts/libmakepkg/lint_package/dotfiles.sh.in index 168f159d..da0890c9 100644 --- a/scripts/libmakepkg/lint_package/dotfiles.sh.in +++ b/scripts/libmakepkg/lint_package/dotfiles.sh.in @@ -2,7 +2,7 @@ # # dotfiles.sh - check for dotfiles in the package root # -# Copyright (c) 2016-2024 Pacman Development Team +# Copyright (c) 2016-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_package/file_names.sh.in b/scripts/libmakepkg/lint_package/file_names.sh.in index 97d6c021..f7cc732d 100644 --- a/scripts/libmakepkg/lint_package/file_names.sh.in +++ b/scripts/libmakepkg/lint_package/file_names.sh.in @@ -2,7 +2,7 @@ # # file_names.sh - check package file names # -# Copyright (c) 2016-2024 Pacman Development Team +# Copyright (c) 2016-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_package/missing_backup.sh.in b/scripts/libmakepkg/lint_package/missing_backup.sh.in index cfabbd67..66a842c4 100644 --- a/scripts/libmakepkg/lint_package/missing_backup.sh.in +++ b/scripts/libmakepkg/lint_package/missing_backup.sh.in @@ -2,7 +2,7 @@ # # missing_backup.sh - Warn about missing files in the backup array # -# Copyright (c) 2013-2024 Pacman Development Team +# Copyright (c) 2013-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild.sh.in b/scripts/libmakepkg/lint_pkgbuild.sh.in index 0a5e8049..2cec97bf 100644 --- a/scripts/libmakepkg/lint_pkgbuild.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild.sh.in @@ -2,7 +2,7 @@ # # lint_pkgbuild.sh - functions for detecting PKGBUILD errors # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/arch.sh.in b/scripts/libmakepkg/lint_pkgbuild/arch.sh.in index 8d4afee0..76284e28 100644 --- a/scripts/libmakepkg/lint_pkgbuild/arch.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/arch.sh.in @@ -2,7 +2,7 @@ # # arch.sh - Check the 'arch' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in b/scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in index bce68dde..9f7b36d7 100644 --- a/scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in @@ -2,7 +2,7 @@ # # arch_specific.sh - Check that arch specific variables can be arch specific. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/backup.sh.in b/scripts/libmakepkg/lint_pkgbuild/backup.sh.in index f993cdf6..271ffe54 100644 --- a/scripts/libmakepkg/lint_pkgbuild/backup.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/backup.sh.in @@ -2,7 +2,7 @@ # # backup.sh - Check the 'backup' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/changelog.sh.in b/scripts/libmakepkg/lint_pkgbuild/changelog.sh.in index fa2280b2..390d61ac 100644 --- a/scripts/libmakepkg/lint_pkgbuild/changelog.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/changelog.sh.in @@ -2,7 +2,7 @@ # # changelog.sh - Check the files in the 'changelog' array exist. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in b/scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in index 9136fd8e..9d43c311 100644 --- a/scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in @@ -2,7 +2,7 @@ # # checkdepends.sh - Check the 'checkdepends' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in b/scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in index fee15edf..4a8082fe 100644 --- a/scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in @@ -2,7 +2,7 @@ # # conflicts.sh - Check the 'conflicts' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/depends.sh.in b/scripts/libmakepkg/lint_pkgbuild/depends.sh.in index 80670fff..4d3e651b 100644 --- a/scripts/libmakepkg/lint_pkgbuild/depends.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/depends.sh.in @@ -2,7 +2,7 @@ # # depends.sh - Check the 'depends' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/epoch.sh.in b/scripts/libmakepkg/lint_pkgbuild/epoch.sh.in index dbb13933..957c1248 100644 --- a/scripts/libmakepkg/lint_pkgbuild/epoch.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/epoch.sh.in @@ -2,7 +2,7 @@ # # epoch.sh - Check the 'epoch' variable conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in b/scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in index c0894ef1..4da5952b 100644 --- a/scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in @@ -2,7 +2,7 @@ # # fullpkgver.sh - Check whether a full version conforms to requirements. # -# Copyright (c) 2018-2024 Pacman Development Team +# Copyright (c) 2018-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/install.sh.in b/scripts/libmakepkg/lint_pkgbuild/install.sh.in index a35537e0..bd0585ab 100644 --- a/scripts/libmakepkg/lint_pkgbuild/install.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/install.sh.in @@ -2,7 +2,7 @@ # # install.sh - Check the files in the 'install' array exist. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in b/scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in index 3a0fc0d9..ec7b60bf 100644 --- a/scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in @@ -2,7 +2,7 @@ # # makedepends.sh - Check the 'makedepends' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in b/scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in index a21a8c46..db82d734 100644 --- a/scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in @@ -2,7 +2,7 @@ # # optdepends.sh - Check the 'optdepends' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/options.sh.in b/scripts/libmakepkg/lint_pkgbuild/options.sh.in index d8857427..6f941e4f 100644 --- a/scripts/libmakepkg/lint_pkgbuild/options.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/options.sh.in @@ -2,7 +2,7 @@ # # options.sh - Check the 'options' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/package_function.sh.in b/scripts/libmakepkg/lint_pkgbuild/package_function.sh.in index 335cc72f..afcc65a2 100644 --- a/scripts/libmakepkg/lint_pkgbuild/package_function.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/package_function.sh.in @@ -2,7 +2,7 @@ # # package_function.sh - Check that required package functions exist. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in b/scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in index b0bd40ef..fcab96de 100644 --- a/scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in @@ -2,7 +2,7 @@ # # package_function_variable.sh - Check variables inside the package function. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in index 5e731103..1432696c 100644 --- a/scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in @@ -2,7 +2,7 @@ # # pkgbase.sh - Check the 'pkgbase' variable conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in index f042018e..8273681d 100644 --- a/scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in @@ -2,7 +2,7 @@ # # pkglist.sh - Check the packages selected to build exist. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in index a5d39790..3228e6fc 100644 --- a/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in @@ -2,7 +2,7 @@ # # pkgname.sh - Check the 'pkgname' variable conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in index cf9d3a00..2fd6e99d 100644 --- a/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in @@ -2,7 +2,7 @@ # # pkgrel.sh - Check the 'pkgrel' variable conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in index 60240165..21811f3c 100644 --- a/scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in @@ -2,7 +2,7 @@ # # pkgver.sh - Check the 'pkgver' variable conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/provides.sh.in b/scripts/libmakepkg/lint_pkgbuild/provides.sh.in index d5c47492..8337702f 100644 --- a/scripts/libmakepkg/lint_pkgbuild/provides.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/provides.sh.in @@ -2,7 +2,7 @@ # # provides.sh - Check the 'provides' array conforms to requirements. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/source.sh.in b/scripts/libmakepkg/lint_pkgbuild/source.sh.in index 723b27b4..0ad313e1 100644 --- a/scripts/libmakepkg/lint_pkgbuild/source.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/source.sh.in @@ -2,7 +2,7 @@ # # source.sh - Check the 'source' array is not sparse. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/util.sh.in b/scripts/libmakepkg/lint_pkgbuild/util.sh.in index 58c0fa70..63fa473a 100644 --- a/scripts/libmakepkg/lint_pkgbuild/util.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/util.sh.in @@ -2,7 +2,7 @@ # # util.sh - utility functions for pkgbuild linting. # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in index d7ad5342..03fb6634 100644 --- a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in +++ b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in @@ -2,7 +2,7 @@ # # variable.sh - Check that variables are or are not arrays as appropriate # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/reproducible.sh.in b/scripts/libmakepkg/reproducible.sh.in index df0a996c..33e3627a 100644 --- a/scripts/libmakepkg/reproducible.sh.in +++ b/scripts/libmakepkg/reproducible.sh.in @@ -2,7 +2,7 @@ # # reproducible.sh - utilities for improving package reproducibility # -# Copyright (c) 2021-2024 Pacman Development Team +# Copyright (c) 2021-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/reproducible/source_date_epoch.sh.in b/scripts/libmakepkg/reproducible/source_date_epoch.sh.in index 190e6011..66bedb7d 100644 --- a/scripts/libmakepkg/reproducible/source_date_epoch.sh.in +++ b/scripts/libmakepkg/reproducible/source_date_epoch.sh.in @@ -2,7 +2,7 @@ # # source_date_epoch.sh - handle SOURCE_DATE_EPOCH variable for reproducibility # -# Copyright (c) 2017-2024 Pacman Development Team +# Copyright (c) 2017-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/source.sh.in b/scripts/libmakepkg/source.sh.in index 1fb7e4ef..7edb7d44 100644 --- a/scripts/libmakepkg/source.sh.in +++ b/scripts/libmakepkg/source.sh.in @@ -2,7 +2,7 @@ # # source.sh - functions for downloading and extracting sources # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/source/bzr.sh.in b/scripts/libmakepkg/source/bzr.sh.in index cacb47c3..740de24a 100644 --- a/scripts/libmakepkg/source/bzr.sh.in +++ b/scripts/libmakepkg/source/bzr.sh.in @@ -2,7 +2,7 @@ # # bzr.sh - function for handling the download and "extraction" of Bazaar sources # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/source/file.sh.in b/scripts/libmakepkg/source/file.sh.in index 69076c47..556ad1b8 100644 --- a/scripts/libmakepkg/source/file.sh.in +++ b/scripts/libmakepkg/source/file.sh.in @@ -2,7 +2,7 @@ # # file.sh - function for handling the download and extraction of source files # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/source/fossil.sh.in b/scripts/libmakepkg/source/fossil.sh.in index bf2fa53e..fce15f53 100644 --- a/scripts/libmakepkg/source/fossil.sh.in +++ b/scripts/libmakepkg/source/fossil.sh.in @@ -2,7 +2,7 @@ # # fossil.sh - function for handling the download and extraction of Fossil sources # -# Copyright (c) 2020-2024 Pacman Development Team +# Copyright (c) 2020-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/source/git.sh.in b/scripts/libmakepkg/source/git.sh.in index c3cc1655..59b75f7b 100644 --- a/scripts/libmakepkg/source/git.sh.in +++ b/scripts/libmakepkg/source/git.sh.in @@ -2,7 +2,7 @@ # # git.sh - function for handling the download and "extraction" of Git sources # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/source/hg.sh.in b/scripts/libmakepkg/source/hg.sh.in index 5cac4e5a..06f05610 100644 --- a/scripts/libmakepkg/source/hg.sh.in +++ b/scripts/libmakepkg/source/hg.sh.in @@ -2,7 +2,7 @@ # # hg.sh - function for handling the download and "extraction" of Mercurial sources # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/source/local.sh.in b/scripts/libmakepkg/source/local.sh.in index 1e6e00a8..d79ddd65 100644 --- a/scripts/libmakepkg/source/local.sh.in +++ b/scripts/libmakepkg/source/local.sh.in @@ -2,7 +2,7 @@ # # local.sh - function for handling the "download" of local sources # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/source/svn.sh.in b/scripts/libmakepkg/source/svn.sh.in index 0ef34596..13325806 100644 --- a/scripts/libmakepkg/source/svn.sh.in +++ b/scripts/libmakepkg/source/svn.sh.in @@ -2,7 +2,7 @@ # # svn.sh - function for handling the download and "extraction" of Subversion sources # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/srcinfo.sh.in b/scripts/libmakepkg/srcinfo.sh.in index c43d4cee..eeea1a03 100644 --- a/scripts/libmakepkg/srcinfo.sh.in +++ b/scripts/libmakepkg/srcinfo.sh.in @@ -2,7 +2,7 @@ # # srcinfo.sh - functions for writing .SRCINFO files # -# Copyright (c) 2014-2024 Pacman Development Team +# Copyright (c) 2014-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/tidy.sh.in b/scripts/libmakepkg/tidy.sh.in index 4314ef1d..4a554d69 100644 --- a/scripts/libmakepkg/tidy.sh.in +++ b/scripts/libmakepkg/tidy.sh.in @@ -3,7 +3,7 @@ # tidy.sh - functions for modifying/removing installed files before # package creation # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/tidy/docs.sh.in b/scripts/libmakepkg/tidy/docs.sh.in index 13b9aa37..c9519a61 100644 --- a/scripts/libmakepkg/tidy/docs.sh.in +++ b/scripts/libmakepkg/tidy/docs.sh.in @@ -2,7 +2,7 @@ # # docs.sh - Remove documentation files from the package # -# Copyright (c) 2008-2024 Pacman Development Team +# Copyright (c) 2008-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/tidy/emptydirs.sh.in b/scripts/libmakepkg/tidy/emptydirs.sh.in index 23a2aaf3..1cadb9ea 100644 --- a/scripts/libmakepkg/tidy/emptydirs.sh.in +++ b/scripts/libmakepkg/tidy/emptydirs.sh.in @@ -2,7 +2,7 @@ # # emptydirs.sh - Remove empty directories from the package # -# Copyright (c) 2013-2024 Pacman Development Team +# Copyright (c) 2013-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/tidy/libtool.sh.in b/scripts/libmakepkg/tidy/libtool.sh.in index f20aa20d..b6219cac 100644 --- a/scripts/libmakepkg/tidy/libtool.sh.in +++ b/scripts/libmakepkg/tidy/libtool.sh.in @@ -2,7 +2,7 @@ # # libtool.sh - Remove libtool files from the package # -# Copyright (c) 2013-2024 Pacman Development Team +# Copyright (c) 2013-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/tidy/purge.sh.in b/scripts/libmakepkg/tidy/purge.sh.in index a0f1af4f..3429026f 100644 --- a/scripts/libmakepkg/tidy/purge.sh.in +++ b/scripts/libmakepkg/tidy/purge.sh.in @@ -2,7 +2,7 @@ # # purge.sh - Remove unwanted files from the package # -# Copyright (c) 2008-2024 Pacman Development Team +# Copyright (c) 2008-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/tidy/staticlibs.sh.in b/scripts/libmakepkg/tidy/staticlibs.sh.in index 0315f7f6..2d24b0a2 100644 --- a/scripts/libmakepkg/tidy/staticlibs.sh.in +++ b/scripts/libmakepkg/tidy/staticlibs.sh.in @@ -2,7 +2,7 @@ # # staticlibs.sh - Remove static library files from the package # -# Copyright (c) 2013-2024 Pacman Development Team +# Copyright (c) 2013-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in index 136fc527..926f0ebf 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in @@ -2,7 +2,7 @@ # # strip.sh - Strip debugging symbols from binary files # -# Copyright (c) 2007-2024 Pacman Development Team +# Copyright (c) 2007-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/tidy/zipman.sh.in b/scripts/libmakepkg/tidy/zipman.sh.in index bf569dba..72a23cd2 100644 --- a/scripts/libmakepkg/tidy/zipman.sh.in +++ b/scripts/libmakepkg/tidy/zipman.sh.in @@ -2,7 +2,7 @@ # # zipman.sh - Compress man and info pages # -# Copyright (c) 2011-2024 Pacman Development Team +# Copyright (c) 2011-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util.sh.in b/scripts/libmakepkg/util.sh.in index 1ef4ba0b..f23690b1 100644 --- a/scripts/libmakepkg/util.sh.in +++ b/scripts/libmakepkg/util.sh.in @@ -2,7 +2,7 @@ # # util.sh - utility functions for makepkg # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util/compress.sh.in b/scripts/libmakepkg/util/compress.sh.in index 3cd6174d..17508ae7 100644 --- a/scripts/libmakepkg/util/compress.sh.in +++ b/scripts/libmakepkg/util/compress.sh.in @@ -2,7 +2,7 @@ # # compress.sh - functions to compress archives in a uniform manner # -# Copyright (c) 2017-2024 Pacman Development Team +# Copyright (c) 2017-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util/config.sh.in b/scripts/libmakepkg/util/config.sh.in index f7a36ff0..5ec7a697 100644 --- a/scripts/libmakepkg/util/config.sh.in +++ b/scripts/libmakepkg/util/config.sh.in @@ -2,7 +2,7 @@ # # config.sh - functions for handling makepkg config files # -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # Copyright (c) 2002-2006 by Judd Vinet # # This program is free software; you can redistribute it and/or modify diff --git a/scripts/libmakepkg/util/dirsize.sh.in b/scripts/libmakepkg/util/dirsize.sh.in index b43a4ec1..33295408 100644 --- a/scripts/libmakepkg/util/dirsize.sh.in +++ b/scripts/libmakepkg/util/dirsize.sh.in @@ -2,7 +2,7 @@ # # dirsize.sh - calculate size of all files in a directory # -# Copyright (c) 2019-2024 Pacman Development Team +# Copyright (c) 2019-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util/error.sh.in b/scripts/libmakepkg/util/error.sh.in index b3def432..838a81c6 100644 --- a/scripts/libmakepkg/util/error.sh.in +++ b/scripts/libmakepkg/util/error.sh.in @@ -2,7 +2,7 @@ # # error.sh.in - error variable definitions for makepkg # -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # Copyright (c) 2002-2006 by Judd Vinet # # This program is free software; you can redistribute it and/or modify diff --git a/scripts/libmakepkg/util/message.sh.in b/scripts/libmakepkg/util/message.sh.in index bd5d09b3..1ad67823 100644 --- a/scripts/libmakepkg/util/message.sh.in +++ b/scripts/libmakepkg/util/message.sh.in @@ -2,7 +2,7 @@ # # message.sh - functions for outputting messages in makepkg # -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # Copyright (c) 2002-2006 by Judd Vinet # # This program is free software; you can redistribute it and/or modify diff --git a/scripts/libmakepkg/util/option.sh.in b/scripts/libmakepkg/util/option.sh.in index a2210f28..51a9d461 100644 --- a/scripts/libmakepkg/util/option.sh.in +++ b/scripts/libmakepkg/util/option.sh.in @@ -2,7 +2,7 @@ # # option.sh - functions to test if build/packaging options are enabled # -# Copyright (c) 2009-2024 Pacman Development Team +# Copyright (c) 2009-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util/parseopts.sh.in b/scripts/libmakepkg/util/parseopts.sh.in index 8e95fb34..31a36864 100644 --- a/scripts/libmakepkg/util/parseopts.sh.in +++ b/scripts/libmakepkg/util/parseopts.sh.in @@ -2,7 +2,7 @@ # # parseopts.sh - getopt_long-like parser # -# Copyright (c) 2012-2024 Pacman Development Team +# Copyright (c) 2012-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util/pkgbuild.sh.in b/scripts/libmakepkg/util/pkgbuild.sh.in index 7f8c12f7..0dbd864b 100644 --- a/scripts/libmakepkg/util/pkgbuild.sh.in +++ b/scripts/libmakepkg/util/pkgbuild.sh.in @@ -2,7 +2,7 @@ # # pkgbuild.sh - functions to extract information from PKGBUILD files # -# Copyright (c) 2009-2024 Pacman Development Team +# Copyright (c) 2009-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util/schema.sh.in b/scripts/libmakepkg/util/schema.sh.in index cfdf7ba2..27c0c19b 100644 --- a/scripts/libmakepkg/util/schema.sh.in +++ b/scripts/libmakepkg/util/schema.sh.in @@ -2,7 +2,7 @@ # # schema.sh - declare specific groups of pkgbuild variables # -# Copyright (c) 2015-2024 Pacman Development Team +# Copyright (c) 2015-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util/source.sh.in b/scripts/libmakepkg/util/source.sh.in index 894dc25e..1a726384 100644 --- a/scripts/libmakepkg/util/source.sh.in +++ b/scripts/libmakepkg/util/source.sh.in @@ -2,7 +2,7 @@ # # source.sh - functions to extract information from source URLs # -# Copyright (c) 2010-2024 Pacman Development Team +# Copyright (c) 2010-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/libmakepkg/util/util.sh.in b/scripts/libmakepkg/util/util.sh.in index 7784de19..798f3741 100644 --- a/scripts/libmakepkg/util/util.sh.in +++ b/scripts/libmakepkg/util/util.sh.in @@ -2,7 +2,7 @@ # # util.sh - general utility functions # -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # Copyright (c) 2002-2006 by Judd Vinet # # This program is free software; you can redistribute it and/or modify diff --git a/scripts/makepkg-template.pl.in b/scripts/makepkg-template.pl.in index 53b89a9d..9c8aa9a6 100755 --- a/scripts/makepkg-template.pl.in +++ b/scripts/makepkg-template.pl.in @@ -1,7 +1,7 @@ #!/usr/bin/perl # makepkg-template - template system for makepkg # -# Copyright (c) 2013-2024 Pacman Development Team +# Copyright (c) 2013-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -190,7 +190,7 @@ sub version { my ($exitstatus) = @_; printf "makepkg-template (pacman) %s\n", '@PACKAGE_VERSION@'; print gettext( - 'Copyright (c) 2013-2024 Pacman Development Team .'."\n". + 'Copyright (c) 2013-2025 Pacman Development Team .'."\n". 'This is free software; see the source for copying conditions.'."\n". 'There is NO WARRANTY, to the extent permitted by law.'."\n"); exit($exitstatus); diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 591b010e..e133a1f7 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2,7 +2,7 @@ # # makepkg - make packages compatible for use with pacman # -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # Copyright (c) 2002-2006 by Judd Vinet # Copyright (c) 2005 by Aurelien Foret # Copyright (c) 2006 by Miklos Vajna @@ -923,7 +923,7 @@ usage() { version() { printf "makepkg (pacman) %s\n" "$makepkg_version" - printf -- "Copyright (c) 2006-2024 Pacman Development Team .\n" + printf -- "Copyright (c) 2006-2025 Pacman Development Team .\n" printf -- "Copyright (C) 2002-2006 Judd Vinet .\n" printf '\n' printf -- "$(gettext "\ diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in index 6942cede..16d17a58 100644 --- a/scripts/pacman-db-upgrade.sh.in +++ b/scripts/pacman-db-upgrade.sh.in @@ -2,7 +2,7 @@ # # pacman-db-upgrade - upgrade the local pacman db to a newer format # -# Copyright (c) 2010-2024 Pacman Development Team +# Copyright (c) 2010-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -52,7 +52,7 @@ usage() { version() { printf "pacman-db-upgrade (pacman) %s\n" "$myver" - printf -- "Copyright (c) 2010-2024 Pacman Development Team .\n" + printf -- "Copyright (c) 2010-2025 Pacman Development Team .\n" printf '\n' printf -- "$(gettext "\ This is free software; see the source for copying conditions.\n\ diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in index 601163a3..23f0c479 100644 --- a/scripts/pacman-key.sh.in +++ b/scripts/pacman-key.sh.in @@ -3,7 +3,7 @@ # pacman-key - manages pacman's keyring # Based on apt-key, from Debian # -# Copyright (c) 2010-2024 Pacman Development Team +# Copyright (c) 2010-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -94,7 +94,7 @@ usage() { version() { printf "pacman-key (pacman) %s\n" "${myver}" - printf -- "Copyright (c) 2010-2024 Pacman Development Team .\n" + printf -- "Copyright (c) 2010-2025 Pacman Development Team .\n" printf '\n' printf -- "$(gettext "\ This is free software; see the source for copying conditions.\n\ diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 61080848..ee4cf2e5 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -3,7 +3,7 @@ # repo-add - add a package to a given repo database file # repo-remove - remove a package entry from a given repo database file # -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -99,7 +99,7 @@ See %s(8) for more details and descriptions of the available options.\n")" $cmd version() { cmd=${0##*/} printf "%s (pacman) %s\n\n" "$cmd" "$myver" - printf -- "Copyright (c) 2006-2024 Pacman Development Team .\n" + printf -- "Copyright (c) 2006-2025 Pacman Development Team .\n" printf '\n' printf -- "$(gettext "\ This is free software; see the source for copying conditions.\n\ diff --git a/scripts/wrapper.sh.in b/scripts/wrapper.sh.in index 31b18d15..7bb10c13 100644 --- a/scripts/wrapper.sh.in +++ b/scripts/wrapper.sh.in @@ -2,7 +2,7 @@ # # @PROGNAME@ - a wrapper for running the real @PROGNAME@ in the source tree # -# Copyright (c) 2013-2024 Pacman Development Team +# Copyright (c) 2013-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/src/common/ini.c b/src/common/ini.c index f6b8331b..0f4586e3 100644 --- a/src/common/ini.c +++ b/src/common/ini.c @@ -1,7 +1,7 @@ /* * ini.c * - * Copyright (c) 2013-2024 Pacman Development Team + * Copyright (c) 2013-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/common/ini.h b/src/common/ini.h index acbaf99f..68bfaa93 100644 --- a/src/common/ini.h +++ b/src/common/ini.h @@ -1,7 +1,7 @@ /* * ini.h * - * Copyright (c) 2013-2024 Pacman Development Team + * Copyright (c) 2013-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/common/util-common.c b/src/common/util-common.c index dfda40df..826dcfcb 100644 --- a/src/common/util-common.c +++ b/src/common/util-common.c @@ -1,7 +1,7 @@ /* * util-common.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/common/util-common.h b/src/common/util-common.h index 39f72032..d462d8d2 100644 --- a/src/common/util-common.h +++ b/src/common/util-common.h @@ -1,7 +1,7 @@ /* * util-common.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/pacman/callback.c b/src/pacman/callback.c index 2823d510..77874760 100644 --- a/src/pacman/callback.c +++ b/src/pacman/callback.c @@ -1,7 +1,7 @@ /* * callback.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/callback.h b/src/pacman/callback.h index 39f7c47d..30755791 100644 --- a/src/pacman/callback.h +++ b/src/pacman/callback.h @@ -1,7 +1,7 @@ /* * callback.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/check.c b/src/pacman/check.c index 01dfdb05..8d987140 100644 --- a/src/pacman/check.c +++ b/src/pacman/check.c @@ -1,7 +1,7 @@ /* * check.c * - * Copyright (c) 2012-2024 Pacman Development Team + * Copyright (c) 2012-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/pacman/check.h b/src/pacman/check.h index 3e2f19e3..b11a9396 100644 --- a/src/pacman/check.h +++ b/src/pacman/check.h @@ -1,7 +1,7 @@ /* * check.h * - * Copyright (c) 2012-2024 Pacman Development Team + * Copyright (c) 2012-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/pacman/conf.c b/src/pacman/conf.c index 6bb50326..31a89fa8 100644 --- a/src/pacman/conf.c +++ b/src/pacman/conf.c @@ -1,7 +1,7 @@ /* * conf.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/conf.h b/src/pacman/conf.h index 5bffd187..2c4fddf0 100644 --- a/src/pacman/conf.h +++ b/src/pacman/conf.h @@ -1,7 +1,7 @@ /* * conf.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/database.c b/src/pacman/database.c index 9d46fbff..b8f7a7fd 100644 --- a/src/pacman/database.c +++ b/src/pacman/database.c @@ -1,7 +1,7 @@ /* * database.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/deptest.c b/src/pacman/deptest.c index 455a6a46..014f9222 100644 --- a/src/pacman/deptest.c +++ b/src/pacman/deptest.c @@ -1,7 +1,7 @@ /* * deptest.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/files.c b/src/pacman/files.c index 8ffcdc52..539a0ff5 100644 --- a/src/pacman/files.c +++ b/src/pacman/files.c @@ -1,7 +1,7 @@ /* * files.c * - * Copyright (c) 2015-2024 Pacman Development Team + * Copyright (c) 2015-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/pacman/package.c b/src/pacman/package.c index ead623a8..6ac6c04e 100644 --- a/src/pacman/package.c +++ b/src/pacman/package.c @@ -1,7 +1,7 @@ /* * package.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/package.h b/src/pacman/package.h index c02d561b..6b18d5a1 100644 --- a/src/pacman/package.h +++ b/src/pacman/package.h @@ -1,7 +1,7 @@ /* * package.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/pacman-conf.c b/src/pacman/pacman-conf.c index 92e68003..8a0dfed8 100644 --- a/src/pacman/pacman-conf.c +++ b/src/pacman/pacman-conf.c @@ -1,7 +1,7 @@ /* * pacman-conf.c - parse pacman configuration files * - * Copyright (c) 2013-2024 Pacman Development Team + * Copyright (c) 2013-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 8f5fb6de..e5ae5711 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -1,7 +1,7 @@ /* * pacman.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify @@ -243,7 +243,7 @@ static void version(void) { printf("\n"); printf(" .--. Pacman v%s - libalpm v%s\n", PACKAGE_VERSION, alpm_version()); - printf("/ _.-' .-. .-. .-. Copyright (C) 2006-2024 Pacman Development Team\n"); + printf("/ _.-' .-. .-. .-. Copyright (C) 2006-2025 Pacman Development Team\n"); printf("\\ '-. '-' '-' '-' Copyright (C) 2002-2006 Judd Vinet\n"); printf(" '--'\n"); printf(_(" This program may be freely redistributed under\n" diff --git a/src/pacman/pacman.h b/src/pacman/pacman.h index 081f8da8..b8d9e77b 100644 --- a/src/pacman/pacman.h +++ b/src/pacman/pacman.h @@ -1,7 +1,7 @@ /* * pacman.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/query.c b/src/pacman/query.c index 1a504038..f71afddb 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -1,7 +1,7 @@ /* * query.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/remove.c b/src/pacman/remove.c index 98f85dee..1b3ce763 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -1,7 +1,7 @@ /* * remove.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c index 32b96b2e..c4140fc5 100644 --- a/src/pacman/sighandler.c +++ b/src/pacman/sighandler.c @@ -1,7 +1,7 @@ /* * sighandler.c * - * Copyright (c) 2015-2024 Pacman Development Team + * Copyright (c) 2015-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/pacman/sighandler.h b/src/pacman/sighandler.h index e6df6143..15356fc7 100644 --- a/src/pacman/sighandler.h +++ b/src/pacman/sighandler.h @@ -1,7 +1,7 @@ /* * sighandler.h * - * Copyright (c) 2015-2024 Pacman Development Team + * Copyright (c) 2015-2025 Pacman Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 95340db1..a3797e85 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -1,7 +1,7 @@ /* * sync.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c index 2950cdda..83ec7d32 100644 --- a/src/pacman/upgrade.c +++ b/src/pacman/upgrade.c @@ -1,7 +1,7 @@ /* * upgrade.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/util.c b/src/pacman/util.c index 0736b8d6..3b96568d 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -1,7 +1,7 @@ /* * util.c * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/pacman/util.h b/src/pacman/util.h index 9112633f..cca816a5 100644 --- a/src/pacman/util.h +++ b/src/pacman/util.h @@ -1,7 +1,7 @@ /* * util.h * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2006 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/src/util/testpkg.c b/src/util/testpkg.c index 8b7055b0..00dca9cd 100644 --- a/src/util/testpkg.c +++ b/src/util/testpkg.c @@ -1,7 +1,7 @@ /* * testpkg.c : Test a pacman package for validity * - * Copyright (c) 2007-2024 Pacman Development Team + * Copyright (c) 2007-2025 Pacman Development Team * Copyright (c) 2007 by Aaron Griffin * * This program is free software; you can redistribute it and/or modify diff --git a/src/util/vercmp.c b/src/util/vercmp.c index 6e076e2d..2d33b118 100644 --- a/src/util/vercmp.c +++ b/src/util/vercmp.c @@ -2,7 +2,7 @@ * vercmp.c - Compare package version numbers using pacman's version * comparison logic * - * Copyright (c) 2006-2024 Pacman Development Team + * Copyright (c) 2006-2025 Pacman Development Team * Copyright (c) 2002-2005 by Judd Vinet * * This program is free software; you can redistribute it and/or modify diff --git a/test/pacman/pactest.py b/test/pacman/pactest.py index c6add233..d775fe10 100755 --- a/test/pacman/pactest.py +++ b/test/pacman/pactest.py @@ -3,7 +3,7 @@ # pactest : run automated testing on the pacman binary # # Copyright (c) 2006 by Aurelien Foret -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/pmdb.py b/test/pacman/pmdb.py index 433c22e2..e0005ded 100644 --- a/test/pacman/pmdb.py +++ b/test/pacman/pmdb.py @@ -1,5 +1,5 @@ # Copyright (c) 2006 by Aurelien Foret -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/pmenv.py b/test/pacman/pmenv.py index bde6d99b..65f162b2 100644 --- a/test/pacman/pmenv.py +++ b/test/pacman/pmenv.py @@ -1,5 +1,5 @@ # Copyright (c) 2006 by Aurelien Foret -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/pmfile.py b/test/pacman/pmfile.py index 212459c5..daec7ba4 100644 --- a/test/pacman/pmfile.py +++ b/test/pacman/pmfile.py @@ -1,5 +1,5 @@ # Copyright (c) 2006 by Aurelien Foret -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py index f6f1d76e..2be87908 100644 --- a/test/pacman/pmpkg.py +++ b/test/pacman/pmpkg.py @@ -1,5 +1,5 @@ # Copyright (c) 2006 by Aurelien Foret -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/pmrule.py b/test/pacman/pmrule.py index ca342138..2dada027 100644 --- a/test/pacman/pmrule.py +++ b/test/pacman/pmrule.py @@ -1,5 +1,5 @@ # Copyright (c) 2006 by Aurelien Foret -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/pmserve.py b/test/pacman/pmserve.py index d3778393..18b0680a 100644 --- a/test/pacman/pmserve.py +++ b/test/pacman/pmserve.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020-2024 Pacman Development Team +# Copyright (c) 2020-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py index f5f033fa..75912654 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py @@ -1,5 +1,5 @@ # Copyright (c) 2006 by Aurelien Foret -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/tap.py b/test/pacman/tap.py index 39126f03..5e567ac8 100644 --- a/test/pacman/tap.py +++ b/test/pacman/tap.py @@ -1,4 +1,4 @@ -# Copyright (c) 2013-2024 Pacman Development Team +# Copyright (c) 2013-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/pacman/util.py b/test/pacman/util.py index ee844812..cabdf46c 100644 --- a/test/pacman/util.py +++ b/test/pacman/util.py @@ -1,5 +1,5 @@ # Copyright (c) 2006 by Aurelien Foret -# Copyright (c) 2006-2024 Pacman Development Team +# Copyright (c) 2006-2025 Pacman Development Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/test/util/vercmptest.sh b/test/util/vercmptest.sh index 5c6467e7..703260cd 100755 --- a/test/util/vercmptest.sh +++ b/test/util/vercmptest.sh @@ -2,7 +2,7 @@ # # vercmptest - a test suite for the vercmp/libalpm program # -# Copyright (c) 2009-2024 by Pacman Development Team +# Copyright (c) 2009-2025 by Pacman Development Team # Copyright (c) 2008 by Dan McGee # # This program is free software; you can redistribute it and/or modify From 08070e9abe6fa4e19688937d65da81927b01b2ca Mon Sep 17 00:00:00 2001 From: Rafael Fontenelle Date: Sun, 4 May 2025 07:13:44 -0300 Subject: [PATCH 06/30] Update and improve translation-help.asciidoc --- doc/translation-help.asciidoc | 62 +++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/doc/translation-help.asciidoc b/doc/translation-help.asciidoc index b0ad9b6d..4f33252b 100644 --- a/doc/translation-help.asciidoc +++ b/doc/translation-help.asciidoc @@ -4,10 +4,10 @@ Pacman - Translating This document is here to guide you in helping translate pacman messages, libalpm messages, and the manual pages for the entire pacman package. -We are currently using https://www.transifex.com/[Transifex] as the translation +We are currently using https://app.transifex.com/[Transifex] as the translation platform for pacman and libalpm. You will need to sign up for an account there and then register with a translation team on the -https://www.transifex.com/projects/p/archlinux-pacman/[pacman project page]. +https://explore.transifex.com/toofishes/archlinux-pacman/[pacman project page]. NOTE: This may be old information due to our switch to Transifex, but the gettext website is a very useful guide to read before embarking on translation @@ -31,7 +31,7 @@ either be hand-edited, or modified with a tool such as poedit, gtranslator or kbabel. Using a translation tool tends to make the job easier. Please read up on Transifex usage using the -https://docs.transifex.com/[Transifex Help] if you are not familiar. +https://help.transifex.com/[Transifex Help] if you are not familiar. Transifex provides a command-line client to help with translations. Here is an example set of commands if you have a source code checkout and are not @@ -56,19 +56,19 @@ Pre-release Updates A week or two before each release, the codebase will go into a string freeze and an email will be sent to the mailto:pacman-dev@lists.archlinux.org[pacman-dev] -mailing list asking for translations. This email will have a prefix of -*[translation]* for anyone looking to set up an email filter. +mailing list asking for translations. An announcement in Transifex is also made, +which reaches everyone that is member of the translation team. At this time, the latest `.po` language files will be made available at the -Transifex project page. Each language will have two files available (back-end -and front-end). Translators interested in helping are encouraged to use the +Transifex project page. Each language will have three files available (libalpm, +pacman and pacman-scripts). Translators interested in helping are encouraged to use the features of Transifex to let others know they are currently translating their language. -Once a translator has completed the translation (*OR* realizes they do not have +Once a translator has completed the translation offline (*OR* realizes they do not have time to finish), please upload your progress back to the Transifex site. -NOTE: Please upload your translations as soon as possible- this will give other +NOTE: Please upload your translations as soon as possible - this will give other speakers of your language time to review your translations and update them as necessary. @@ -80,21 +80,25 @@ repository. git clone https://gitlab.archlinux.org/pacman/pacman.git -Next, you will need to run `./autogen.sh` and `./configure` in the base -directory to generate the correct Makefiles. At this point, all necessary -make targets will be generated and we can begin updating the translation -files. +Next, you will need to configure the build environment. From the base directory, +run: -We need to first update the main message catalog file. Navigate into either the -`lib/libalpm/po` or `po` directory depending on which translation you wish to -work on first, and execute the following command. If you are working in the -`po/` tree, replace 'libalpm.pot' with 'pacman.pot': + meson setup . build - make libalpm.pot-update +If any required dependencies are missing, please install. After that, +update the template translation (.pot) files to the latest state of +the source code by running: + + meson compile -C build pacman-scripts-pot pacman-pot libalpm-pot + +We need to first update the main message catalog file. Navigate into either +the `lib/libalpm/po`, `scripts/po` or `src/pacman/po` directory depending +on which translation you wish to work on first, and execute the following +command to update your specific language's translation file +(replace `lang_code` with your language code e.g. 'pt_BR', and `pot_file` +with `libalpm.pot`, `pacman.pot` or `pacman-scripts.pot`): -Next, update your specific language's translation file: - - make -update + msgmerge --update --previous .po .pot At this point, you can do the translation. To submit your changes, either email the new `.po` file to the mailing-list with *[translation]* in the subject, or @@ -103,7 +107,7 @@ submit a Git-formatted patch (please do not include any `.pot` file changes). As a shortcut, all translation files (including `.pot` files) can be updated with the following command: - make update-po + ./build-aux/update-po Adding a New Language ~~~~~~~~~~~~~~~~~~~~~ @@ -112,10 +116,10 @@ Making a new language is not too hard, but be sure to follow all the steps. You will have to do the following steps in both the `lib/libalpm/po/` and `po/` directories, substituting where appropriate. First, edit the `LINGUAS` file and add your new language code at the bottom. Next, run the following command, -substituting 'libalpm.pot' or 'pacman.pot' for potfile depending on which +substituting `libalpm.pot` or `pacman.pot` for potfile depending on which directory you are currently working in: - msginit -l -o .po -i + msginit -l -o .po -i You can then also add your language code to the end of the `LINGUAS` file located in each po directory. @@ -137,11 +141,13 @@ following two translations are equivalent: msgstr "" "This is a test translation" -If you want to test the translation (for example, the front-end one): +If you want to test the translation (copy the .po file you want to test, +you may ignore the rest), replacing `` accordingly: - rm *.gmo stamp-po - make - cp .gmo /usr/share/locale//LC_MESSAGES/pacman.mo + meson compile -C build pacman-scripts-gmo pacman-gmo libalpm-gmo + cp ./build/lib/libalpm/po//LC_MESSAGES/libalpm.mo /usr/share/locale//LC_MESSAGES/libalpm.mo + cp ./build/scripts/po//LC_MESSAGES/pacman-scripts.mo /usr/share/locale//LC_MESSAGES/pacman-scripts.mo + cp ./build/src/pacman/po//LC_MESSAGES/pacman.mo /usr/share/locale//LC_MESSAGES/pacman.mo Translating Manpages From 24fc50269d3c76192a12819db6b48c8057f32378 Mon Sep 17 00:00:00 2001 From: Diego Viola Date: Sun, 4 May 2025 11:42:34 +0000 Subject: [PATCH 07/30] Fix typos --- NEWS | 10 +++++----- README | 11 ++++++++++- TRANSLATORS | 2 +- doc/asciidoc.conf | 2 +- doc/submitting-patches.asciidoc | 4 ++-- lib/libalpm/be_sync.c | 6 +++--- lib/libalpm/error.c | 2 +- lib/libalpm/trans.c | 6 +++--- lib/libalpm/trans.h | 4 ++-- proto/PKGBUILD-vcs.proto | 2 +- scripts/repo-add.sh.in | 2 +- src/pacman/pacman.c | 2 +- test/pacman/tests/sync1105.py | 2 +- 13 files changed, 32 insertions(+), 23 deletions(-) diff --git a/NEWS b/NEWS index 3570340e..2908348d 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ VERSION DESCRIPTION ----------------------------------------------------------------------------- -7.0.0 - Add DownloadUser configuation option used to drop-privileges +7.0.0 - Add DownloadUser configuration option used to drop-privileges when downloading files. - Download files to a temporary directory owned by DownloadUser - On Linux systems, ensure the download process does not write @@ -649,7 +649,7 @@ VERSION DESCRIPTION file overwrites from malicious databases - makepkg: - restrict package name from starting with a dot - - fix BZR source revision support (FS#35281) + - fix Bazaar source revision support (FS#35281) - Use LOGDEST for log pipe - fix distcc disabling (FS#35741) - correct stat usage on BSD/Darwin (FS#35469) @@ -665,7 +665,7 @@ VERSION DESCRIPTION FS#34716, FS#35097) - makepkg: - improve SVN VCS PKGBUILD handling (FS#34675, FS#34636) - - allow "lp:" URLs for BZR sources (FS#34650) + - allow "lp:" URLs for Bazaar sources (FS#34650) - prevent pkgver() capturing stderr (FS#34974) - fix attempt to remove package twice on failure (FS#34672) - contrib: @@ -1338,7 +1338,7 @@ VERSION DESCRIPTION - add source package creation option - rankmirrors- allow reading from stdin (FS#8043) - and many other updates: 198 bugs/FRs closed since 3.0.0 release - - switch to GIT for source code management + - switch to Git for source code management 3.0.6 - config files updated to reflect current -> core change - fix symlink overwriting issue (FS#7484) - fix config parsing with tr_TR locale (FS#7235) @@ -1490,7 +1490,7 @@ VERSION DESCRIPTION - Cleanup db_loadpkgs(), add list_add_sorted() - Fixed a memory leak in db_find_conflicts() 2.8.3 - Fixed a little makepkg bug with bash 3.0 - - Fixed resolvedeps to always prefer literals over provisios + - Fixed resolvedeps to always prefer literals over providers - Added --config option to specify an alternate config file - Added "Include" directive to include repositories from config files (inspired by Michael Baehr's patch) diff --git a/README b/README index b77dba4a..af11eeaf 100644 --- a/README +++ b/README @@ -352,7 +352,7 @@ API CHANGES BETWEEN 3.4 AND 3.5 - alpm_db_get_pkg() for normal targets - alpm_find_dbs_satisfier() for versioned provisions - alpm_find_grp_pkgs() for groups -- alpm_deptest() is replaced by the more flexibile alpm_find_satisfier() +- alpm_deptest() is replaced by the more flexible alpm_find_satisfier() - size_t used for alpm_list_t sizes - return type for alpm_list_count() - parameter type in alpm_list_msort() and alpm_list_nth() @@ -724,6 +724,7 @@ API CHANGES BETWEEN 6.0 AND 6.1 - alpm_db_set_cache_servers() - alpm_db_add_cache_server() + API CHANGES BETWEEN 6.1 AND 7.0 =============================== @@ -733,3 +734,11 @@ API CHANGES BETWEEN 6.1 AND 7.0 - alpm_option_set_sandboxuser() - alpm_option_set_disable_sandbox() - alpm_sandbox_setup_child() + + +API CHANGES BETWEEN 7.0 AND 7.1 +=============================== + +[CHANGED] +- error codes: + PM_ERR_TRANS_COMMITING renamed to PM_ERR_TRANS_COMMITTING diff --git a/TRANSLATORS b/TRANSLATORS index 4648263a..9b930f64 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -3,7 +3,7 @@ currently. Our translations are currently maintained in Transifex; please read doc/translation-help.txt for more details. Below is a list of past translators before we switched to Transifex; more can -be found by looking in the GIT history. +be found by looking in the Git history. If your language is not already in the various po/ subdirectories and you wish it was, set up a team in Transifex for your language and we will be happy to diff --git a/doc/asciidoc.conf b/doc/asciidoc.conf index 830cc908..27f996d3 100644 --- a/doc/asciidoc.conf +++ b/doc/asciidoc.conf @@ -1,5 +1,5 @@ ## linkman: macro -# Inspired by/borrowed from the GIT source tree at Documentation/asciidoc.conf +# Inspired by/borrowed from the Git source tree at Documentation/asciidoc.conf # # Usage: linkman:command[manpage-section] # diff --git a/doc/submitting-patches.asciidoc b/doc/submitting-patches.asciidoc index d042ca5f..aeb5a019 100644 --- a/doc/submitting-patches.asciidoc +++ b/doc/submitting-patches.asciidoc @@ -11,9 +11,9 @@ NOTE: Some of this is paraphrased from the kernel documentation's Getting the most recent source ------------------------------ -Patches need to be submitted in GIT format and are best if they are against the +Patches need to be submitted in Git format and are best if they are against the latest version of the code. There are several helpful tutorials for getting -started with GIT if you have not worked with it before. +started with Git if you have not worked with it before. * https://www.kernel.org/pub/software/scm/git/docs/gittutorial.html * https://wiki.archlinux.org/index.php/Super_Quick_Git_Guide diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index 5e702f27..240f07be 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -309,11 +309,11 @@ static int _sync_get_validation(alpm_pkg_t *pkg) static const struct pkg_operations *get_sync_pkg_ops(void) { static struct pkg_operations sync_pkg_ops; - static int sync_pkg_ops_initalized = 0; - if(!sync_pkg_ops_initalized) { + static int sync_pkg_ops_initialized = 0; + if(!sync_pkg_ops_initialized) { sync_pkg_ops = default_pkg_ops; sync_pkg_ops.get_validation = _sync_get_validation; - sync_pkg_ops_initalized = 1; + sync_pkg_ops_initialized = 1; } return &sync_pkg_ops; } diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c index 967cfe1e..58842eac 100644 --- a/lib/libalpm/error.c +++ b/lib/libalpm/error.c @@ -137,7 +137,7 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err) return _("conflicting dependencies"); case ALPM_ERR_FILE_CONFLICTS: return _("conflicting files"); - /* Miscellaenous */ + /* Miscellaneous */ case ALPM_ERR_RETRIEVE: return _("failed to retrieve some files"); case ALPM_ERR_INVALID_REGEX: diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index de56c254..a545a032 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -203,7 +203,7 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data) RET_ERR(handle, ALPM_ERR_TRANS_HOOK_FAILED, -1); } - trans->state = STATE_COMMITING; + trans->state = STATE_COMMITTING; alpm_logaction(handle, ALPM_CALLER_PREFIX, "transaction started\n"); event.type = ALPM_EVENT_TRANSACTION_START; @@ -239,7 +239,7 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data) } } - trans->state = STATE_COMMITED; + trans->state = STATE_COMMITTED; return 0; } @@ -253,7 +253,7 @@ int SYMEXPORT alpm_trans_interrupt(alpm_handle_t *handle) trans = handle->trans; ASSERT(trans != NULL, RET_ERR_ASYNC_SAFE(handle, ALPM_ERR_TRANS_NULL, -1)); - ASSERT(trans->state == STATE_COMMITING || trans->state == STATE_INTERRUPTED, + ASSERT(trans->state == STATE_COMMITTING || trans->state == STATE_INTERRUPTED, RET_ERR_ASYNC_SAFE(handle, ALPM_ERR_TRANS_TYPE, -1)); trans->state = STATE_INTERRUPTED; diff --git a/lib/libalpm/trans.h b/lib/libalpm/trans.h index 67ece774..5f110907 100644 --- a/lib/libalpm/trans.h +++ b/lib/libalpm/trans.h @@ -30,8 +30,8 @@ typedef enum _alpm_transstate_t { STATE_INITIALIZED, STATE_PREPARED, STATE_DOWNLOADING, - STATE_COMMITING, - STATE_COMMITED, + STATE_COMMITTING, + STATE_COMMITTED, STATE_INTERRUPTED } alpm_transstate_t; diff --git a/proto/PKGBUILD-vcs.proto b/proto/PKGBUILD-vcs.proto index 49c6759f..250e032f 100644 --- a/proto/PKGBUILD-vcs.proto +++ b/proto/PKGBUILD-vcs.proto @@ -3,7 +3,7 @@ # NOTE: Please fill out the license field for your package! If it is unknown, # then please put 'unknown'. -# The following guidelines are specific to BZR, GIT, HG and SVN packages. +# Guidelines specific to Bazaar, Git, Mercurial and Subversion packages. # Other VCS sources are not natively supported by makepkg yet. # Maintainer: Your Name diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index ee4cf2e5..7c3cf1d4 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -530,7 +530,7 @@ create_db() { pushd "$tmpdir/$repo" >/dev/null local files=(*) if [[ ${files[*]} = '*' ]]; then - # we have no packages remaining? zip up some emptyness + # we have no packages remaining? zip up some emptiness warning "$(gettext "No packages remain, creating empty database.")" files=(-T /dev/null) fi diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index e5ae5711..2866fc98 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -18,7 +18,7 @@ * along with this program. If not, see . */ -/* special handling of package version for GIT */ +/* special handling of package version for Git */ #if defined(GIT_VERSION) #undef PACKAGE_VERSION #define PACKAGE_VERSION GIT_VERSION diff --git a/test/pacman/tests/sync1105.py b/test/pacman/tests/sync1105.py index cc43c8ca..e25de1cb 100644 --- a/test/pacman/tests/sync1105.py +++ b/test/pacman/tests/sync1105.py @@ -1,4 +1,4 @@ -self.description = "Upgrade with a replacement in a repo with lower prioriy" +self.description = "Upgrade with a replacement in a repo with lower priority" sp1 = pmpkg("pkg2") self.addpkg2db("sync1", sp1) From 0d37c1daa0990766d12d0060a353c829bf8616eb Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Sun, 4 May 2025 20:52:20 +1000 Subject: [PATCH 08/30] Initialise callback event fields While the event is already globally initialised, initialising the fields prevents a valgrind warning (since the gcc-15 update). Signed-off-by: Allan McRae --- lib/libalpm/dload.c | 1 + lib/libalpm/sync.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 782d15ee..24586dba 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1357,6 +1357,7 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls, if(payloads) { event.type = ALPM_EVENT_PKG_RETRIEVE_START; event.pkg_retrieve.num = alpm_list_count(payloads); + event.pkg_retrieve.total_size = 0; EVENT(handle, &event); if(_alpm_download(handle, payloads, cachedir, temporary_cachedir) == -1) { _alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n")); diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 372d2b31..13cf1cef 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -817,6 +817,8 @@ static int download_files(alpm_handle_t *handle) } event.type = ALPM_EVENT_PKG_RETRIEVE_START; + event.pkg_retrieve.total_size = 0; + event.pkg_retrieve.num = 0; /* sum up the number of packages to download and its total size */ for(i = files; i; i = i->next) { From d0c10a795e2a58f9039c3558872df287daf55433 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Sun, 4 May 2025 20:26:06 +1000 Subject: [PATCH 09/30] Free memory on failure to create temporary directory Signed-off-by: Allan McRae --- lib/libalpm/util.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index ffc18d14..7877b17a 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -967,8 +967,7 @@ char *_alpm_temporary_download_dir_setup(const char *dir, const char *user) char *newdir = NULL; MALLOC(newdir, newdirlen, return NULL); snprintf(newdir, newdirlen - 1, "%s%s", dir, template); - newdir = mkdtemp(newdir); - if(newdir == NULL) { + if(mkdtemp(newdir) == NULL) { free(newdir); return NULL; } From 267a0cc9123e81cddf2aa93d117f2d636a35659a Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Thu, 20 Feb 2025 09:52:34 +1000 Subject: [PATCH 10/30] makepkg: ensure OPTIONS is not directly altered Signed-off-by: Allan McRae --- scripts/libmakepkg/util/config.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/libmakepkg/util/config.sh.in b/scripts/libmakepkg/util/config.sh.in index 5ec7a697..5feafe8b 100644 --- a/scripts/libmakepkg/util/config.sh.in +++ b/scripts/libmakepkg/util/config.sh.in @@ -77,8 +77,8 @@ load_makepkg_config() { source_makepkg_config "$MAKEPKG_CONF" - # prevent PKGBUILDs altering this directly - readonly -a BUILDENV + # prevent altering these directly + readonly -a BUILDENV OPTIONS eval "$restore_envvars" } From 38394d54f0116fd5f3ed474a3bc2545f339016db Mon Sep 17 00:00:00 2001 From: Patrick Northon Date: Wed, 7 May 2025 02:23:45 +0000 Subject: [PATCH 11/30] repo-add: add --wait-for-lock option Using the --wait-for-lock option will result in repo-add retrying to acquire the database lock file after 3 seconds. If the option is not set, exit with code 2 on lock failure. --- doc/repo-add.8.asciidoc | 4 ++++ scripts/repo-add.sh.in | 29 +++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/doc/repo-add.8.asciidoc b/doc/repo-add.8.asciidoc index 3d1db78d..57c0880b 100644 --- a/doc/repo-add.8.asciidoc +++ b/doc/repo-add.8.asciidoc @@ -60,6 +60,10 @@ Common Options *\--nocolor*:: Remove color from 'repo-add' and 'repo-remove' output. +*-w, \--wait-for-lock*:: + Wait for the lock file to be acquired. If unset, command will fail with + exit code 2 if acquiring the lock fails. If set, it will retry to acquire + lock until success. repo-add Options ---------------- diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 7c3cf1d4..7dbc77e2 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -44,6 +44,7 @@ USE_COLOR='y' PREVENT_DOWNGRADE=0 INCLUDE_SIGS=0 DB_MODIFIED=0 +WAIT_LOCK=0 # Import libmakepkg source "$MAKEPKG_LIBRARY"/util/compress.sh @@ -86,6 +87,7 @@ packages to remove can be specified on the command line.\n")" printf -- "$(gettext " -s, --sign sign database with GnuPG after update\n")" printf -- "$(gettext " -k, --key use the specified key to sign the database\n")" printf -- "$(gettext " -v, --verify verify database's signature before update\n")" + printf -- "$(gettext " -w, --wait-for-lock retry to acquire lock file until success\n")" printf -- "$(gettext "\n\ See %s(8) for more details and descriptions of the available options.\n")" $cmd printf "\n" @@ -397,13 +399,25 @@ prepare_repo_db() { exit 1 fi + try_lock_file() { + (set -o noclobber; echo "$$" > "$LOCKFILE") 2> /dev/null + } + # check lock file - if ( set -o noclobber; echo "$$" > "$LOCKFILE") 2> /dev/null; then + if (( WAIT_LOCK )); then + while ! try_lock_file; do + warning "$(gettext "Failed to acquire lockfile: %s. Retrying in 3 seconds.")" "$LOCKFILE" + sleep 3s + done CLEAN_LOCK=1 else - error "$(gettext "Failed to acquire lockfile: %s.")" "$LOCKFILE" - [[ -f $LOCKFILE ]] && error "$(gettext "Held by process %s")" "$(cat "$LOCKFILE")" - exit 1 + if try_lock_file; then + CLEAN_LOCK=1 + else + error "$(gettext "Failed to acquire lockfile: %s.")" "$LOCKFILE" + [[ -f $LOCKFILE ]] && error "$(gettext "Held by process %s")" "$(cat "$LOCKFILE")" + exit 2 + fi fi for repo in "db" "files"; do @@ -605,9 +619,9 @@ trap 'trap_exit "$(gettext "Aborted by user! Exiting...")"' INT trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR -OPT_SHORT="k:npqRsv" +OPT_SHORT="k:npqRsvw" OPT_LONG=('include-sigs' 'key:' 'new' 'nocolor' 'quiet' 'prevent-downgrade' 'remove' - 'sign' 'verify') + 'sign' 'verify' 'wait-for-lock') if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then exit 1 # E_INVALID_OPTION fi @@ -639,6 +653,9 @@ while true; do --include-sigs) INCLUDE_SIGS=1 ;; + -w|--wait-for-lock) + WAIT_LOCK=1 + ;; --) shift break From 46f7f6e9ac1683ba32a5232c77ec47ef6f780331 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sat, 14 Dec 2024 00:37:58 -0500 Subject: [PATCH 12/30] makepkg: Use SOURCE_DATE_EPOCH for more reproducible source tarballs --- scripts/libmakepkg/srcinfo.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libmakepkg/srcinfo.sh.in b/scripts/libmakepkg/srcinfo.sh.in index eeea1a03..2c0ab6d1 100644 --- a/scripts/libmakepkg/srcinfo.sh.in +++ b/scripts/libmakepkg/srcinfo.sh.in @@ -113,7 +113,7 @@ srcinfo_write_package() { write_srcinfo_header() { printf "# Generated by makepkg %s\n" "$makepkg_version" - printf "# %s\n" "$(LC_ALL=C date -u)" + printf "# %s\n" "$(LC_ALL=C date --date="@$SOURCE_DATE_EPOCH" -u)" } write_srcinfo_content() { From 2bcdbc6a87c12c0d0e6faafcfd1aea16e6820d8d Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sat, 14 Dec 2024 02:19:57 -0500 Subject: [PATCH 13/30] makepkg: Use sorted inputs for source tarballs too --- scripts/makepkg.sh.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index e133a1f7..bfbb8b34 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -730,7 +730,8 @@ create_srcpackage() { # TODO: Maybe this can be set globally for robustness shopt -s -o pipefail - LANG=C bsdtar --no-fflags @BSDTAR_NO_READ_SPARSE@ -cLf - ${pkgbase} | compress_as "$SRCEXT" > "${pkg_file}" || ret=$? + list_package_files | LANG=C bsdtar --no-fflags @BSDTAR_NO_READ_SPARSE@ -cnLf - --null --files-from - | + compress_as "$SRCEXT" > "${pkg_file}" || ret=$? shopt -u -o pipefail From b104b95423bc27cb48bd9487648e6e53d5ee902f Mon Sep 17 00:00:00 2001 From: morganamilo Date: Tue, 27 Aug 2024 22:41:21 +0100 Subject: [PATCH 14/30] log and set errno when failing to rename download --- lib/libalpm/dload.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 24586dba..6db187d7 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1115,6 +1115,8 @@ static int finalize_download_locations(alpm_list_t *payloads, const char *localp if(ret == -1) { /* ignore error if the file already existed - only signature file was downloaded */ if(payload->mtime_existing_file == 0) { + _alpm_log(payload->handle, ALPM_LOG_ERROR, _("could not move %s into %s (%s)\n"), + payload->destfile_name, localpath, strerror(errno)); returnvalue = -1; } } @@ -1266,7 +1268,7 @@ download_signature: } if (finalize_download_locations(payloads, localpath) != 0 && ret == 0) { - return -1; + RET_ERR(handle, ALPM_ERR_RETRIEVE, -1); } return ret; } From 692f7a2cfec0eb8e96e682d536631034abea4d61 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Wed, 7 May 2025 21:01:49 +1000 Subject: [PATCH 15/30] Do not overwrite default download user when option is unset Commit 7ccf316c provided "root" (or the user name for UID 0) as a default download user. However, when DownloadUser is unset in pacman.conf, pacman was overwriting the default with null. Rectify this. Fixes #248 Signed-off-by: Allan McRae --- lib/libalpm/alpm.c | 2 +- src/pacman/conf.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index 36e6f7f4..60612fb2 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -85,7 +85,7 @@ alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath, /* set default sandboxuser */ ASSERT((pw = getpwuid(0)) != NULL, myerr = errno; goto cleanup); STRDUP(myhandle->sandboxuser, pw->pw_name, goto nomem); - + #ifdef ENABLE_NLS bindtextdomain("libalpm", LOCALEDIR); #endif diff --git a/src/pacman/conf.c b/src/pacman/conf.c index 31a89fa8..a0e0e96a 100644 --- a/src/pacman/conf.c +++ b/src/pacman/conf.c @@ -938,7 +938,11 @@ static int setup_libalpm(void) alpm_option_set_architectures(handle, config->architectures); alpm_option_set_checkspace(handle, config->checkspace); alpm_option_set_usesyslog(handle, config->usesyslog); - alpm_option_set_sandboxuser(handle, config->sandboxuser); + + if(config->sandboxuser) { + alpm_option_set_sandboxuser(handle, config->sandboxuser); + } + alpm_option_set_disable_sandbox(handle, config->disable_sandbox); alpm_option_set_ignorepkgs(handle, config->ignorepkg); From 64299ccfbb28893cb0bd8cf90025ad718aeacf65 Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Sun, 10 Mar 2024 23:27:53 +0000 Subject: [PATCH 16/30] makepkg.sh: skip checking buildtime deps when runtime check already failed This could help locate the real failure (instead of scrolling through the whole possibly-successful buildtime dep installation section) and also saves time on the operation. --- scripts/makepkg.sh.in | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index bfbb8b34..dbb24da3 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1319,11 +1319,13 @@ else original_pkglist=($(run_pacman -Qq)) # required by remove_dep fi - msg "$(gettext "Checking buildtime dependencies...")" - if (( CHECKFUNC )); then - resolve_deps "${makedepends[@]}" "${checkdepends[@]}" || deperr=1 - else - resolve_deps "${makedepends[@]}" || deperr=1 + if (( ! deperr )); then + msg "$(gettext "Checking buildtime dependencies...")" + if (( CHECKFUNC )); then + resolve_deps "${makedepends[@]}" "${checkdepends[@]}" || deperr=1 + else + resolve_deps "${makedepends[@]}" || deperr=1 + fi fi if (( RMDEPS )); then From 571c13236fc5ceb61e16d3273c9ed4f1b76be8c1 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Thu, 8 May 2025 22:15:09 +1000 Subject: [PATCH 17/30] pacman.8: document interaction between --cachedir and DownloadUser Note that the user provided in the DownloadUser configuration option (if set) needs to be able to access the directory specified with the --cachedir argument. Fixes #216. Signed-off-by: Allan McRae --- doc/pacman.8.asciidoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/pacman.8.asciidoc b/doc/pacman.8.asciidoc index e0c3b73d..dea237cb 100644 --- a/doc/pacman.8.asciidoc +++ b/doc/pacman.8.asciidoc @@ -151,7 +151,8 @@ Options +{localstatedir}/cache/pacman/pkg+). Multiple cache directories can be specified, and they are tried in the order they are passed to pacman. *NOTE*: This is an absolute path, and the root path is not automatically - prepended. + prepended. If DownloadUser is set in linkman:pacman.conf[5], then the + specified user must have permission to access the cache directory. *\--color* :: Specify when to enable coloring. Valid options are 'always', 'never', or From 53b1db84ef622b60d101502b2b2e0c4574486ee6 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Fri, 9 May 2025 12:59:28 +1000 Subject: [PATCH 18/30] Fix memory leak in download payload The file stream associated with downloads without a filename is not being freed when downloading using the sandbox user. Signed-off-by: Allan McRae --- lib/libalpm/dload.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 6db187d7..acb8e16d 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -698,9 +698,9 @@ cleanup: * only applies to FTP transfers. */ curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L); curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, (char *)NULL); - if(payload->localf != NULL) { fclose(payload->localf); + payload->localf = NULL; utimes_long(payload->tempfile_name, remote_time); } @@ -880,7 +880,6 @@ static int curl_download_internal(alpm_handle_t *handle, p = NULL; err = -1; } - while(true) { int msgs_left = 0; CURLMsg *msg = curl_multi_info_read(curlm, &msgs_left); @@ -904,7 +903,6 @@ static int curl_download_internal(alpm_handle_t *handle, } } } - int ret = err ? -1 : updated ? 0 : 1; _alpm_log(handle, ALPM_LOG_DEBUG, "curl_download_internal return code is %d\n", ret); alpm_list_free(payloads); @@ -1365,7 +1363,6 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls, _alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n")); event.type = ALPM_EVENT_PKG_RETRIEVE_FAILED; EVENT(handle, &event); - GOTO_ERR(handle, ALPM_ERR_RETRIEVE, err); } else { event.type = ALPM_EVENT_PKG_RETRIEVE_DONE; @@ -1412,6 +1409,11 @@ void _alpm_dload_payload_reset(struct dload_payload *payload) { ASSERT(payload, return); + if(payload->localf != NULL) { + fclose(payload->localf); + payload->localf = NULL; + } + FREE(payload->remote_name); FREE(payload->tempfile_name); FREE(payload->destfile_name); From 4ddc642398d82476b8611d822e4e637248147c44 Mon Sep 17 00:00:00 2001 From: Aidan Epstein Date: Wed, 30 Apr 2025 22:46:46 -0700 Subject: [PATCH 19/30] Add remove option for repo-remove to remove old package files. Also update documentation. --- doc/repo-add.8.asciidoc | 8 ++++---- scripts/repo-add.sh.in | 12 +++++++++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/doc/repo-add.8.asciidoc b/doc/repo-add.8.asciidoc index 57c0880b..352a4e5f 100644 --- a/doc/repo-add.8.asciidoc +++ b/doc/repo-add.8.asciidoc @@ -60,6 +60,10 @@ Common Options *\--nocolor*:: Remove color from 'repo-add' and 'repo-remove' output. +*-R, \--remove*:: + Remove old package files from the disk when updating or removing their + entry in the database. + *-w, \--wait-for-lock*:: Wait for the lock file to be acquired. If unset, command will fail with exit code 2 if acquiring the lock fails. If set, it will retry to acquire @@ -71,10 +75,6 @@ repo-add Options Only add packages that are not already in the database. Warnings will be printed upon detection of existing packages, but they will not be re-added. -*-R, \--remove*:: - Remove old package files from the disk when updating their entry in the - database. - *\--include-sigs*:: Include package PGP signatures in the repository database (if available) diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 7dbc77e2..c1832fe3 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -67,7 +67,6 @@ Multiple packages to add can be specified on the command line.\n")" printf -- "\n" printf -- "$(gettext "Options:\n")" printf -- "$(gettext " -n, --new only add packages that are not already in the database\n")" - printf -- "$(gettext " -R, --remove remove old package file from disk after updating database\n")" printf -- "$(gettext " -p, --prevent-downgrade do not add package to database if a newer version is already present\n")" elif [[ $cmd == "repo-remove" ]] ; then printf -- "$(gettext "Usage: repo-remove [options] ...\n")" @@ -87,6 +86,7 @@ packages to remove can be specified on the command line.\n")" printf -- "$(gettext " -s, --sign sign database with GnuPG after update\n")" printf -- "$(gettext " -k, --key use the specified key to sign the database\n")" printf -- "$(gettext " -v, --verify verify database's signature before update\n")" + printf -- "$(gettext " -R, --remove remove old package file from disk after updating database\n")" printf -- "$(gettext " -w, --wait-for-lock retry to acquire lock file until success\n")" printf -- "$(gettext "\n\ See %s(8) for more details and descriptions of the available options.\n")" $cmd @@ -355,11 +355,21 @@ db_remove_entry() { local pkgname=$1 local notfound=1 local pkgentry=$(find_pkgentry "$pkgname") + local repodir=${LOCKFILE%/*}/ while [[ -n $pkgentry ]]; do notfound=0 msg2 "$(gettext "Removing existing entry '%s'...")" \ "${pkgentry##*/}" + + if (( RMEXISTING )); then + local oldfilename="$(sed -n '/^%FILENAME%$/ {n;p;q;}' "$pkgentry/desc")" + local oldfile="$repodir/$oldfilename" + + msg2 "$(gettext "Removing old package file '%s'")" "$oldfilename" + rm -f ${oldfile} ${oldfile}.sig + fi + rm -rf "$pkgentry" # remove entries in "files" database From f722b8699031a55cbe11d2818a745a1731e578fd Mon Sep 17 00:00:00 2001 From: morganamilo Date: Fri, 16 May 2025 23:24:40 +0100 Subject: [PATCH 20/30] libalpm: return final final temp path in pkgurl When downloading unnamed files via alpm_fetch_pkgurl the returned path would point to the temp pkgcache instead of the final download location. --- lib/libalpm/dload.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index acb8e16d..73392660 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1377,7 +1377,8 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls, const char *filename = mbasename(payload->destfile_name); filepath = _alpm_filecache_find(handle, filename); } else { - STRDUP(filepath, payload->tempfile_name, GOTO_ERR(handle, ALPM_ERR_MEMORY, err)); + const char *filename = mbasename(payload->tempfile_name); + filepath = _alpm_filecache_find(handle, filename); } if(filepath) { alpm_list_append(fetched, filepath); From e392f01a94e1fcb513955e67c95085b8032d897e Mon Sep 17 00:00:00 2001 From: morganamilo Date: Fri, 16 May 2025 23:59:34 +0100 Subject: [PATCH 21/30] libalpm: move sig files when download is unnamed --- lib/libalpm/dload.c | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 73392660..59ccdcd4 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1104,31 +1104,34 @@ static int finalize_download_locations(alpm_list_t *payloads, const char *localp int returnvalue = 0; for(p = payloads; p; p = p->next) { struct dload_payload *payload = p->data; - if(payload->tempfile_name) { - move_file(payload->tempfile_name, localpath); - } + const char *filename; + if(payload->destfile_name) { - int ret = move_file(payload->destfile_name, localpath); + filename = payload->destfile_name; + } else { + filename = payload->tempfile_name; + } - if(ret == -1) { - /* ignore error if the file already existed - only signature file was downloaded */ - if(payload->mtime_existing_file == 0) { - _alpm_log(payload->handle, ALPM_LOG_ERROR, _("could not move %s into %s (%s)\n"), - payload->destfile_name, localpath, strerror(errno)); - returnvalue = -1; - } - } + int ret = move_file(filename, localpath); - if (payload->download_signature) { - const char sig_suffix[] = ".sig"; - char *sig_filename = NULL; - size_t sig_filename_len = strlen(payload->destfile_name) + sizeof(sig_suffix); - MALLOC(sig_filename, sig_filename_len, continue); - snprintf(sig_filename, sig_filename_len, "%s%s", payload->destfile_name, sig_suffix); - move_file(sig_filename, localpath); - FREE(sig_filename); + if(ret == -1) { + /* ignore error if the file already existed - only signature file was downloaded */ + if(payload->mtime_existing_file == 0) { + _alpm_log(payload->handle, ALPM_LOG_ERROR, _("could not move %s into %s (%s)\n"), + filename, localpath, strerror(errno)); + returnvalue = -1; } } + + if (payload->download_signature) { + const char sig_suffix[] = ".sig"; + char *sig_filename = NULL; + size_t sig_filename_len = strlen(filename) + sizeof(sig_suffix); + MALLOC(sig_filename, sig_filename_len, continue); + snprintf(sig_filename, sig_filename_len, "%s%s", filename, sig_suffix); + move_file(sig_filename, localpath); + FREE(sig_filename); + } } return returnvalue; } From af54cd4ee1ba14bf3456ad4a55ad87f332a9cd54 Mon Sep 17 00:00:00 2001 From: Rudy Date: Sat, 17 May 2025 13:17:47 +1000 Subject: [PATCH 22/30] libmakepkg/tidy: give scripts a priority order This ensures (e.g.) that the "emptydirs" script runs last after unneeded files have been deleted. Fixes #184. Signed-off-by: Allan McRae --- .../libmakepkg/tidy/{docs.sh.in => 10-docs.sh.in} | 0 .../tidy/{libtool.sh.in => 10-libtool.sh.in} | 0 .../tidy/{staticlibs.sh.in => 10-staticlibs.sh.in} | 0 .../tidy/{purge.sh.in => 50-purge.sh.in} | 0 .../tidy/{strip.sh.in => 50-strip.sh.in} | 0 .../tidy/{zipman.sh.in => 50-zipman.sh.in} | 0 .../tidy/{emptydirs.sh.in => 90-emptydirs.sh.in} | 0 scripts/libmakepkg/tidy/meson.build | 14 +++++++------- 8 files changed, 7 insertions(+), 7 deletions(-) rename scripts/libmakepkg/tidy/{docs.sh.in => 10-docs.sh.in} (100%) rename scripts/libmakepkg/tidy/{libtool.sh.in => 10-libtool.sh.in} (100%) rename scripts/libmakepkg/tidy/{staticlibs.sh.in => 10-staticlibs.sh.in} (100%) rename scripts/libmakepkg/tidy/{purge.sh.in => 50-purge.sh.in} (100%) rename scripts/libmakepkg/tidy/{strip.sh.in => 50-strip.sh.in} (100%) rename scripts/libmakepkg/tidy/{zipman.sh.in => 50-zipman.sh.in} (100%) rename scripts/libmakepkg/tidy/{emptydirs.sh.in => 90-emptydirs.sh.in} (100%) diff --git a/scripts/libmakepkg/tidy/docs.sh.in b/scripts/libmakepkg/tidy/10-docs.sh.in similarity index 100% rename from scripts/libmakepkg/tidy/docs.sh.in rename to scripts/libmakepkg/tidy/10-docs.sh.in diff --git a/scripts/libmakepkg/tidy/libtool.sh.in b/scripts/libmakepkg/tidy/10-libtool.sh.in similarity index 100% rename from scripts/libmakepkg/tidy/libtool.sh.in rename to scripts/libmakepkg/tidy/10-libtool.sh.in diff --git a/scripts/libmakepkg/tidy/staticlibs.sh.in b/scripts/libmakepkg/tidy/10-staticlibs.sh.in similarity index 100% rename from scripts/libmakepkg/tidy/staticlibs.sh.in rename to scripts/libmakepkg/tidy/10-staticlibs.sh.in diff --git a/scripts/libmakepkg/tidy/purge.sh.in b/scripts/libmakepkg/tidy/50-purge.sh.in similarity index 100% rename from scripts/libmakepkg/tidy/purge.sh.in rename to scripts/libmakepkg/tidy/50-purge.sh.in diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/50-strip.sh.in similarity index 100% rename from scripts/libmakepkg/tidy/strip.sh.in rename to scripts/libmakepkg/tidy/50-strip.sh.in diff --git a/scripts/libmakepkg/tidy/zipman.sh.in b/scripts/libmakepkg/tidy/50-zipman.sh.in similarity index 100% rename from scripts/libmakepkg/tidy/zipman.sh.in rename to scripts/libmakepkg/tidy/50-zipman.sh.in diff --git a/scripts/libmakepkg/tidy/emptydirs.sh.in b/scripts/libmakepkg/tidy/90-emptydirs.sh.in similarity index 100% rename from scripts/libmakepkg/tidy/emptydirs.sh.in rename to scripts/libmakepkg/tidy/90-emptydirs.sh.in diff --git a/scripts/libmakepkg/tidy/meson.build b/scripts/libmakepkg/tidy/meson.build index 052ac7a2..7421b02a 100644 --- a/scripts/libmakepkg/tidy/meson.build +++ b/scripts/libmakepkg/tidy/meson.build @@ -1,13 +1,13 @@ libmakepkg_module = 'tidy' sources = [ - 'docs.sh.in', - 'emptydirs.sh.in', - 'libtool.sh.in', - 'purge.sh.in', - 'staticlibs.sh.in', - 'strip.sh.in', - 'zipman.sh.in', + '10-docs.sh.in', + '10-libtool.sh.in', + '10-staticlibs.sh.in', + '50-purge.sh.in', + '50-strip.sh.in', + '50-zipman.sh.in', + '90-emptydirs.sh.in', ] foreach src : sources From 9fca328cafb232d7ad264a10563fa92c8062e97c Mon Sep 17 00:00:00 2001 From: Dominik Date: Mon, 26 May 2025 06:09:02 +0000 Subject: [PATCH 23/30] makepkg: provide a field for tracking generic metadata The xdata field is an array of key=value entries that allow a packager to include arbitrary metadata in the generated .PKGINFO. Fixes #241. Signed-off-by: Dominik Peteler --- doc/PKGBUILD.5.asciidoc | 9 +++ scripts/libmakepkg/lint_pkgbuild/meson.build | 1 + scripts/libmakepkg/lint_pkgbuild/xdata.sh.in | 58 ++++++++++++++++++++ scripts/libmakepkg/util/schema.sh.in | 2 +- scripts/makepkg.sh.in | 2 +- 5 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 scripts/libmakepkg/lint_pkgbuild/xdata.sh.in diff --git a/doc/PKGBUILD.5.asciidoc b/doc/PKGBUILD.5.asciidoc index 9e2c36fa..1cd31f73 100644 --- a/doc/PKGBUILD.5.asciidoc +++ b/doc/PKGBUILD.5.asciidoc @@ -313,6 +313,15 @@ underscore and the architecture name e.g., 'replaces_x86_64=()'. Enable building packages using link time optimization. Adds '-flto' to both CFLAGS and CXXFLAGS. +*xdata (array)*:: + This array allows you to add additional metadata to the package. + This data is neither used by pacman nor by makepkg; + It has purely informational purpose, or may be interpreted by third-party tools. ++ +All entries in that array must have the form 'key=value', where +'key' is an arbitrary non-empty string and 'value' must not contain an equal sign. +Furthermore, the key ``pkgtype'' is reserved for the makepkg program. + Packaging Functions ------------------- diff --git a/scripts/libmakepkg/lint_pkgbuild/meson.build b/scripts/libmakepkg/lint_pkgbuild/meson.build index 6050df2f..a0bc2f31 100644 --- a/scripts/libmakepkg/lint_pkgbuild/meson.build +++ b/scripts/libmakepkg/lint_pkgbuild/meson.build @@ -25,6 +25,7 @@ sources = [ 'source.sh.in', 'util.sh.in', 'variable.sh.in', + 'xdata.sh.in', ] foreach src : sources diff --git a/scripts/libmakepkg/lint_pkgbuild/xdata.sh.in b/scripts/libmakepkg/lint_pkgbuild/xdata.sh.in new file mode 100644 index 00000000..1ab77ad7 --- /dev/null +++ b/scripts/libmakepkg/lint_pkgbuild/xdata.sh.in @@ -0,0 +1,58 @@ +#!/bin/bash +# +# xdata.sh - Check the 'xdata' array conforms to requirements. +# +# Copyright (c) 2014-2025 Pacman Development Team +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +[[ -n "$LIBMAKEPKG_LINT_PKGBUILD_XDATA_SH" ]] && return +LIBMAKEPKG_LINT_PKGBUILD_XDATA_SH=1 + +MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'} + +source "$MAKEPKG_LIBRARY/util/message.sh" +source "$MAKEPKG_LIBRARY/util/pkgbuild.sh" + + +lint_pkgbuild_functions+=('lint_xdata') + + +lint_xdata() { + local xdata_list entry key value ret=0 + + get_pkgbuild_all_split_attributes xdata xdata_list + + for entry in "${xdata_list[@]}"; do + key="${entry%%=*}" + value="${entry##*=}" + + if [[ "${entry}" == "${key}=${value}" ]]; then + # Entries must contain exactly one equal sign. + error "$(gettext "%s array: Entries must contain exactly one equal sign, e.g. key=value.")" "xdata" + ret=1 + elif [[ "${key}" == '' ]]; then + # Do not allow keys without values. + error "$(gettext "%s array: The key part of an entry must not be empty.")" "xdata" + ret=1 + elif [[ "${key}" == "pkgtype" ]]; then + # The key "pkgtype" is reserved for makepkg. + error "$(gettext "%s array: The key 'pkgtype' is reserved for makepkg.")" "xdata" + ret=1 + fi + done + + return $ret +} diff --git a/scripts/libmakepkg/util/schema.sh.in b/scripts/libmakepkg/util/schema.sh.in index 27c0c19b..6707af0e 100644 --- a/scripts/libmakepkg/util/schema.sh.in +++ b/scripts/libmakepkg/util/schema.sh.in @@ -30,7 +30,7 @@ known_hash_algos=({ck,md5,sha{1,224,256,384,512},b2}) pkgbuild_schema_arrays=(arch backup checkdepends conflicts depends groups license makedepends noextract optdepends options - provides replaces source validpgpkeys + provides replaces source validpgpkeys xdata "${known_hash_algos[@]/%/sums}") pkgbuild_schema_strings=(changelog epoch install pkgbase pkgdesc pkgrel pkgver diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index dbb24da3..820d068f 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -493,7 +493,7 @@ write_pkginfo() { write_kv_pair "pkgname" "$pkgname" write_kv_pair "pkgbase" "$pkgbase" - write_kv_pair "xdata" "pkgtype=$pkgtype" + write_kv_pair "xdata" "pkgtype=$pkgtype" "${xdata[@]}" local fullver=$(get_full_version) write_kv_pair "pkgver" "$fullver" From 528709131f3609791ebe501f3621105768eb8154 Mon Sep 17 00:00:00 2001 From: Diego Viola Date: Mon, 26 May 2025 06:11:13 +0000 Subject: [PATCH 24/30] Fix whitespace in README Also ensure consistent style in API section --- README | 218 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 116 insertions(+), 102 deletions(-) diff --git a/README b/README index af11eeaf..11406244 100644 --- a/README +++ b/README @@ -6,7 +6,7 @@ Package Management) library. This document, while not exhaustive, also indicates some limitations (on purpose, or sometimes due to its poor design) of the library at the present time. -There is one special file,"alpm.h", which is the public interface that +There is one special file, "alpm.h", which is the public interface that should be distributed and installed on systems with the library. Only structures, data and functions declared within this file are made available to the frontend. Lots of structures are of an opaque type and their fields are @@ -239,7 +239,7 @@ API CHANGES BETWEEN 3.1 AND 3.2 - alpm_checkdbconflicts() - alpm_sync_newversion() - alpm_deptest() -- error codes : +- error codes: PM_ERR_DLT_INVALID, PM_ERR_LIBARCHIVE, PM_ERR_LIBDOWNLOAD and PM_ERR_EXTERNAL_DOWNLOAD - flags: @@ -362,11 +362,11 @@ API CHANGES BETWEEN 3.4 AND 3.5 - alpm_find_grp_pkgs() - alpm_trans_get_flags() - error codes: - PM_ERR_DISK_SPACE, PM_ERR_WRITE -- flags - PM_TRANS_FLAG_NODEPVERSION, PM_TRANS_EVT_DISKSPACE_START, - PM_TRANS_EVT_DISKSPACE_DONE, PM_TRANS_CONV_SELECT_PROVIDER, - PM_TRANS_PROGRESS_DISKSPACE_START, PM_TRANS_PROGRESS_INTEGRITY_START + PM_ERR_DISK_SPACE, PM_ERR_WRITE +- flags: + PM_TRANS_FLAG_NODEPVERSION, PM_TRANS_EVT_DISKSPACE_START, + PM_TRANS_EVT_DISKSPACE_DONE, PM_TRANS_CONV_SELECT_PROVIDER, + PM_TRANS_PROGRESS_DISKSPACE_START, PM_TRANS_PROGRESS_INTEGRITY_START API CHANGES BETWEEN 3.5 AND 4.0 @@ -419,7 +419,7 @@ API CHANGES BETWEEN 3.5 AND 4.0 - alpm_release - alpm_remove_pkg - alpm_sync_sysupgrade -- several structs are no longer opaque +- several structs are no longer opaque: - alpm_conflict_t - alpm_delta_t - alpm_depend_t @@ -431,19 +431,33 @@ API CHANGES BETWEEN 3.5 AND 4.0 [ADDED] - option functions: - alpm_{get,set}_eventcb(), alpm_option_{get,set}_convcb(), - alpm_option_{get,set}_progresscb() + - alpm_{get,set}_eventcb() + - alpm_option_{get,set}_convcb() + - alpm_option_{get,set}_progresscb() - package signing functions: - alpm_option_get_default_siglevel(), alpm_option_set_default_siglevel(), - alpm_option_get_gpgdir(), alpm_option_set_gpgdir(), alpm_db_get_siglevel(), - alpm_siglist_cleanup(), alpm_db_check_pgp_signature(), alpm_pkg_check_pgp_signature(), - alpm_pkg_get_origin(), alpm_pkg_get_sha256sum(), alpm_pkg_get_base64_sig() + - alpm_option_get_default_siglevel() + - alpm_option_set_default_siglevel() + - alpm_option_get_gpgdir() + - alpm_option_set_gpgdir() + - alpm_db_get_siglevel() + - alpm_siglist_cleanup() + - alpm_db_check_pgp_signature() + - alpm_pkg_check_pgp_signature() + - alpm_pkg_get_origin() + - alpm_pkg_get_sha256sum() + - alpm_pkg_get_base64_sig() - list functions: - alpm_list_to_array(), alpm_list_previous() + - alpm_list_to_array() + - alpm_list_previous() - structs: - alpm_backup_t, alpm_file_t, alpm_filelist_t + - alpm_backup_t + - alpm_file_t + - alpm_filelist_t - enums: - alpm_siglevel_t, alpm_sigstatus_t, alpm_sigvalidity_t, alpm_pkgfrom_t + - alpm_siglevel_t + - alpm_sigstatus_t + - alpm_sigvalidity_t + - alpm_pkgfrom_t - error codes: ALPM_ERR_DB_INVALID, ALPM_ERR_DB_INVALID_SIG, ALPM_ERR_GPGME, ALPM_ERR_PKG_INVALID_CHECKSUM, ALPM_ERR_PKG_INVALID_SIG, ALPM_ERR_SIG_INVALID, @@ -470,10 +484,10 @@ API CHANGES BETWEEN 4.0 AND 4.1 - alpm_db_unregister_all -> alpm_unregister_all_syncdbs - alpm_db_readgroup -> alpm_db_get_group - alpm_db_set_pkgreason -> alpm_pkg_set_reason (handle parameter removed) -- alpm_time_t typedef used for all times +- alpm_time_t typedef used for all times: - members of alpm_pgpkey_t - return types of alpm_pkg_get_builddate and alpm_pkg_get_installdate -- delta options now use required ratio rather than on/off +- delta options now use required ratio rather than on/off: - alpm_option_get_usedelta -> alpm_option_get_deltaratio - alpm_option_set_usedelta -> alpm_option_set_deltaratio @@ -490,21 +504,21 @@ API CHANGES BETWEEN 4.0 AND 4.1 - alpm_db_usage_t - alpm_db_set_usage() - alpm_db_get_usage() -- wrapper functions for reading mtree files +- wrapper functions for reading mtree files: - alpm_pkg_mtree_open() - alpm_pkg_mtree_next() - alpm_pkg_mtree_close() -- utility functions +- utility functions: - alpm_pkg_find() - alpm_pkg_compute_optionalfor() - alpm_filelist_contains() -- types +- types: - alpm_time_t - alpm_errno_t -- flags - ALPM_EVENT_OPTDEP_REQUIRED, ALPM_EVENT_DATABASE_MISSING, - ALPM_EVENT_KEYRING_START, ALPM_EVENT_KEYRING_DONE, ALPM_EVENT_KEY_DOWNLOAD_START, - ALPM_EVENT_KEY_DOWNLOAD_DONE, ALPM_PROGRESS_KEYRING_START +- flags: + ALPM_EVENT_OPTDEP_REQUIRED, ALPM_EVENT_DATABASE_MISSING, + ALPM_EVENT_KEYRING_START, ALPM_EVENT_KEYRING_DONE, ALPM_EVENT_KEY_DOWNLOAD_START, + ALPM_EVENT_KEY_DOWNLOAD_DONE, ALPM_PROGRESS_KEYRING_START API CHANGES BETWEEN 4.1 AND 4.2 @@ -513,49 +527,49 @@ API CHANGES BETWEEN 4.1 AND 4.2 [CHANGED] - alpm_filelist_t - removed member resolved_path - alpm_filelist_contains - now returns alpm_file_t -- event callback - - alpm_event_t renamed to alpm_event_type_t - - alpm_event_t union added - - alpm_event_cb now takes only an alpm_event_t parameter - - alpm_event_any_t, alpm_package_operation_t, alpm_event_package_operation_t, - alpm_event_optdep_removal_t, alpm_event_delta_patch_t, alpm_event_scriptlet_info_t, - alpm_event_database_missing_t, alpm_event_pkgdownload_t, alpm_event_pacnew_created_t, - alpm_event_pacsave_created_t, alpm_event_pacorig_created_t added - - ALPM_EVENT_*_START -> ALPM_EVENT_PACKAGE_OPERATION_START - - ALPM_EVENT_*_DONE -> ALPM_EVENT_PACKAGE_OPERATION_DONE -- question callback - - alpm_question_t renamed to alpm_question_type_t - - alpm_question_t union added - - alpm_cb_question now takes only an alpm_question_t parameter - - alpm_question_any_t, alpm_question_install_ignorepkg_t, alpm_question_replace_t - alpm_question_conflict_t, alpm_question_corrupted_t, alpm_question_remove_pkgs_t, - alpm_question_select_provider_t, alpm_question_import_key_t added +- event callback: + - alpm_event_t renamed to alpm_event_type_t + - alpm_event_t union added + - alpm_event_cb now takes only an alpm_event_t parameter + - alpm_event_any_t, alpm_package_operation_t, alpm_event_package_operation_t, + alpm_event_optdep_removal_t, alpm_event_delta_patch_t, alpm_event_scriptlet_info_t, + alpm_event_database_missing_t, alpm_event_pkgdownload_t, alpm_event_pacnew_created_t, + alpm_event_pacsave_created_t, alpm_event_pacorig_created_t added + - ALPM_EVENT_*_START -> ALPM_EVENT_PACKAGE_OPERATION_START + - ALPM_EVENT_*_DONE -> ALPM_EVENT_PACKAGE_OPERATION_DONE +- question callback: + - alpm_question_t renamed to alpm_question_type_t + - alpm_question_t union added + - alpm_cb_question now takes only an alpm_question_t parameter + - alpm_question_any_t, alpm_question_install_ignorepkg_t, alpm_question_replace_t + alpm_question_conflict_t, alpm_question_corrupted_t, alpm_question_remove_pkgs_t, + alpm_question_select_provider_t, alpm_question_import_key_t added [ADDED] -- memory management +- memory management: - alpm_fileconflict_free() - alpm_depmissing_free() - alpm_conflict_free() - alpm_dep_free() -- database usage +- database usage: - alpm_db_usage_t - alpm_db_set_usage() - alpm_db_get_usage() -- assume installed +- assume installed: - alpm_option_get_assumeinstalled() - alpm_option_add_assumeinstalled() - alpm_option_set_assumeinstalled() - alpm_option_remove_assumeinstalled() -- using noupgrade/noextract +- using noupgrade/noextract: - alpm_option_match_noupgrade() - alpm_option_match_noextract() -- utility functions +- utility functions: - alpm_dep_from_string() - alpm_pkg_should_ignore() - alpm_decode_signature() - alpm_extract_keyid() -- flags - - ALPM_EVENT_RETRIEVE_DONE, ALPM_EVENT_RETRIEVE_FAILED, ALPM_EVENT_PKGDOWNLOAD_START, +- flags: + ALPM_EVENT_RETRIEVE_DONE, ALPM_EVENT_RETRIEVE_FAILED, ALPM_EVENT_PKGDOWNLOAD_START, ALPM_EVENT_PKGDOWNLOAD_DONE, ALPM_EVENT_PKGDOWNLOAD_FAILED, ALPM_EVENT_OPTDEP_REMOVAL, ALPM_EVENT_PACNEW_CREATED, ALPM_EVENT_PACSVAE_CREATED, ALPM_EVENT_PACORIG_CREATED @@ -565,13 +579,13 @@ API CHANGES BETWEEN 4.2 AND 5.0 [REMOVED] - alpm_siglevel_t - removed members ALPM_SIG_PACKAGE_SET, ALPM_SIG_PACKAGE_TRUST_SET -- removed .pacorig generation +- removed .pacorig generation: - ALPM_EVENT_PACORIG_CREATED - alpm_event_pacorig_created_t - alpm_event_t.pacorig_created [ADDED] -- hook support +- hook support: - alpm_option_get_hookdirs() - alpm_option_set_hookdirs() - alpm_option_add_hookdir() @@ -581,14 +595,14 @@ API CHANGES BETWEEN 4.2 AND 5.0 - ALPM_EVENT_HOOK_START, ALPM_EVENT_HOOK_DONE - ALPM_EVENT_HOOK_RUN_START, ALPM_EVENT_HOOK_RUN_DONE - ALPM_ERR_TRANS_HOOK_FAILED -- different database extension support +- different database extension support: - alpm_option_get_dbext() - alpm_option_set_dbext() -- pkgbase accessor +- pkgbase accessor: - alpm_pkg_get_base() -- transaction events +- transaction events: - ALPM_EVENT_TRANSACTION_START, ALPM_EVENT_TRANSACTION_DONE -- database unlocking +- database unlocking: - alpm_unlock() @@ -598,7 +612,7 @@ API CHANGES BETWEEN 5.0 AND 5.1 [CHANGED] - alpm_errno_t - added member ALPM_ERR_OK - alpm_siglevel_t - value of ALPM_SIG_USE_DEFAULT changed -- functions using bitfields return/pass an int instead of an enum +- functions using bitfields return/pass an int instead of an enum: - alpm_option_get_default_siglevel() - alpm_option_set_default_siglevel() - alpm_option_get_remote_file_siglevel() @@ -615,19 +629,19 @@ API CHANGES BETWEEN 5.0 AND 5.1 - alpm_option_set_local_file_siglevel() [ADDED] -- overwrite support +- overwrite support: - alpm_option_get_overwrite_files() - alpm_option_set_overwrite_files() - alpm_option_add_overwrite_file() - alpm_option_remove_overwrite_file() -- download timeout control +- download timeout control: - alpm_option_set_disable_dl_timeout() -- access make/checkdepends info +- access make/checkdepends info: - alpm_pkg_get_checkdepends() - alpm_pkg_get_makedepends() -- check pacman capabilities +- check pacman capabilities: - alpm_capabilities() -- duplicate and add to list +- duplicate and add to list: - alpm_list_append_strdup() @@ -635,7 +649,7 @@ API CHANGES BETWEEN 5.1 AND 5.2 =============================== [REMOVED] -- package delta support +- package delta support: - alpm_delta_t - alpm_event_delta_patch_t - alpm_event_t union - removed alpm_event_delta_patch_t @@ -662,10 +676,10 @@ API CHANGES BETWEEN 5.2 AND 6.0 [REMOVED] - ALPM_EVENT_PKGDOWNLOAD_START, ALPM_EVENT_PKGDOWNLOAD_DONE, ALPM_EVENT_PKGDOWNLOAD_FAILED - ALPM_ERR_PKG_REPO_NOT_FOUND -- old TotalDownload implementation - - alpm_cb_totaldl - - alpm_option_get_totaldlcb() - - alpm_option_set_totaldlcb() +- old TotalDownload implementation: + - alpm_cb_totaldl + - alpm_option_get_totaldlcb() + - alpm_option_set_totaldlcb() [CHANGED] - alpm_db_update() now accepts a list of databases rather than a single database. @@ -673,29 +687,29 @@ API CHANGES BETWEEN 5.2 AND 6.0 - alpm_db_search() now has an additional parameter and returns success status - ALPM_EVENT_RETRIEVE_* -> ALPM_EVENT_DB_RETRIEVE_* and ALPM_EVENT_PKG_RETRIEVE_* - alpm_cb_download pass event and data -- multi architecture support - - alpm_option_get_arch() -> alpm_option_get_architectures() - - alpm_option_set_arch() -> alpm_option_set_architectures() +- multi architecture support: + - alpm_option_get_arch() -> alpm_option_get_architectures() + - alpm_option_set_arch() -> alpm_option_set_architectures() - alpm_db_get_servers() copies parameter data [ADDED] -- parallel download support - - alpm_option_set_parallel_downloads() - - alpm_option_get_parallel_downloads() -- file download events - - alpm_download_event_type_t - - alpm_download_event_init_t - - alpm_download_event_progress_t - - alpm_download_event_completed_t -- download misc - - ALPM_DOWNLOAD_RETRY - - alpm_download_event_retry_t - - alpm_event_pkg_retrieve_t -- multiarchitecture support - - alpm_option_add_architecture() - - alpm_option_remove_architecture() -- misc - - alpm_pkg_get_sig() +- parallel download support: + - alpm_option_set_parallel_downloads() + - alpm_option_get_parallel_downloads() +- file download events: + - alpm_download_event_type_t + - alpm_download_event_init_t + - alpm_download_event_progress_t + - alpm_download_event_completed_t +- download misc: + - ALPM_DOWNLOAD_RETRY + - alpm_download_event_retry_t + - alpm_event_pkg_retrieve_t +- multiarchitecture support: + - alpm_option_add_architecture() + - alpm_option_remove_architecture() +- misc: + - alpm_pkg_get_sig() - callbacks add front-end provided context @@ -713,27 +727,27 @@ API CHANGES BETWEEN 6.0 AND 6.1 - alpm_transflag_t - added ALPM_TRANS_FLAG_NOHOOKS [ADDED] -- extensible package data type - - alpm_pkg_xdata_t - - alpm_pkg_get_xdata() -- accessor functions - - alpm_db_get_handle() - - alpm_pkg_get_handle() -- cache server support - - alpm_db_get_cache_servers() - - alpm_db_set_cache_servers() - - alpm_db_add_cache_server() +- extensible package data type: + - alpm_pkg_xdata_t + - alpm_pkg_get_xdata() +- accessor functions: + - alpm_db_get_handle() + - alpm_pkg_get_handle() +- cache server support: + - alpm_db_get_cache_servers() + - alpm_db_set_cache_servers() + - alpm_db_add_cache_server() API CHANGES BETWEEN 6.1 AND 7.0 =============================== [ADDED] -- sandbox functions - - alpm_option_get_sandboxuser() - - alpm_option_set_sandboxuser() - - alpm_option_set_disable_sandbox() - - alpm_sandbox_setup_child() +- sandbox functions: + - alpm_option_get_sandboxuser() + - alpm_option_set_sandboxuser() + - alpm_option_set_disable_sandbox() + - alpm_sandbox_setup_child() API CHANGES BETWEEN 7.0 AND 7.1 From 6fcecbd08d216637d812208a15c0b2e70f408723 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Fri, 23 May 2025 14:53:18 +0100 Subject: [PATCH 25/30] libalpm: set errno if child exited via signal --- lib/libalpm/dload.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 59ccdcd4..424be680 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1023,6 +1023,7 @@ static int curl_download_internal_sandboxed(alpm_handle_t *handle, if(wret > 0) { if(!WIFEXITED(ret)) { /* the child did not terminate normally */ + handle->pm_errno = ALPM_ERR_RETRIEVE; ret = -1; } else { From d87dd153fc032d32b15fe9abd4a11657e79d0c07 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Fri, 23 May 2025 19:36:44 +0100 Subject: [PATCH 26/30] libalpm: finalize tempfile if destfile doesn't exist On setup we move the termfile into the temp download dir to resume downloads. We don't move these back losing any tempfiles we already had. --- lib/libalpm/dload.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 424be680..309c5d75 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1102,17 +1102,24 @@ static int finalize_download_locations(alpm_list_t *payloads, const char *localp ASSERT(payloads != NULL, return -1); ASSERT(localpath != NULL, return -1); alpm_list_t *p; + struct stat st; int returnvalue = 0; for(p = payloads; p; p = p->next) { struct dload_payload *payload = p->data; - const char *filename; + const char *filename = NULL; - if(payload->destfile_name) { + if(payload->destfile_name && stat(payload->destfile_name, &st) == 0) { filename = payload->destfile_name; - } else { + } else if(stat(payload->tempfile_name, &st) == 0) { filename = payload->tempfile_name; } + /* if neither file exists then the download failed and logged an error for us */ + if(!filename) { + returnvalue = -1; + continue; + } + int ret = move_file(filename, localpath); if(ret == -1) { From 5c451cd976eaf5fc9546c62efefa597f9865e197 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Fri, 23 May 2025 18:28:33 +0100 Subject: [PATCH 27/30] libalpm: propagate signal from child to parent If we ^C while downloading the parent should propagate so pacman can exit as it did before the sandboxing. --- lib/libalpm/dload.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 309c5d75..eb8b6cb5 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -916,7 +916,8 @@ static int curl_download_internal(alpm_handle_t *handle, */ static int curl_download_internal_sandboxed(alpm_handle_t *handle, alpm_list_t *payloads /* struct dload_payload */, - const char *localpath) + const char *localpath, + int *childsig) { int pid, err = 0, ret = -1, callbacks_fd[2]; sigset_t oldblock; @@ -1021,6 +1022,9 @@ static int curl_download_internal_sandboxed(alpm_handle_t *handle, int wret; while((wret = waitpid(pid, &ret, 0)) == -1 && errno == EINTR); if(wret > 0) { + if(WIFSIGNALED(ret)) { + *childsig = WTERMSIG(ret); + } if(!WIFEXITED(ret)) { /* the child did not terminate normally */ handle->pm_errno = ALPM_ERR_RETRIEVE; @@ -1196,12 +1200,14 @@ int _alpm_download(alpm_handle_t *handle, const char *temporary_localpath) { int ret; + int finalize_ret; + int childsig = 0; prepare_resumable_downloads(payloads, localpath, handle->sandboxuser); if(handle->fetchcb == NULL) { #ifdef HAVE_LIBCURL if(handle->sandboxuser) { - ret = curl_download_internal_sandboxed(handle, payloads, temporary_localpath); + ret = curl_download_internal_sandboxed(handle, payloads, temporary_localpath, &childsig); } else { ret = curl_download_internal(handle, payloads); } @@ -1276,9 +1282,16 @@ download_signature: ret = updated ? 0 : 1; } - if (finalize_download_locations(payloads, localpath) != 0 && ret == 0) { + finalize_ret = finalize_download_locations(payloads, localpath); + + /* propagate after finalizing so .part files get copied over */ + if(childsig != 0) { + kill(getpid(), childsig); + } + if(finalize_ret != 0 && ret == 0) { RET_ERR(handle, ALPM_ERR_RETRIEVE, -1); } + return ret; } From 45c4eef61de33bcdf3efcc2e97dc5eefb29e97b4 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Fri, 23 May 2025 20:03:14 +0100 Subject: [PATCH 28/30] libalpm: move tempdir cleanup into _alpm_download this ensures the dir still gets cleaned up even if killed by a signal --- lib/libalpm/be_sync.c | 1 - lib/libalpm/dload.c | 3 +-- lib/libalpm/sync.c | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index 240f07be..648a8bd6 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -268,7 +268,6 @@ cleanup: alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset); FREELIST(payloads); } - _alpm_remove_temporary_download_dir(temporary_syncpath); FREE(temporary_syncpath); FREE(syncpath); umask(oldmask); diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index eb8b6cb5..9a70810a 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1283,6 +1283,7 @@ download_signature: } finalize_ret = finalize_download_locations(payloads, localpath); + _alpm_remove_temporary_download_dir(temporary_localpath); /* propagate after finalizing so .part files get copied over */ if(childsig != 0) { @@ -1416,13 +1417,11 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls, FREELIST(payloads); } - _alpm_remove_temporary_download_dir(temporary_cachedir); FREE(temporary_cachedir); return 0; err: alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset); - _alpm_remove_temporary_download_dir(temporary_cachedir); FREE(temporary_cachedir); FREELIST(payloads); FREELIST(*fetched); diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 13cf1cef..087c48de 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -882,7 +882,6 @@ finish: pkg->infolevel &= ~INFRQ_DSIZE; pkg->download_size = 0; } - _alpm_remove_temporary_download_dir(temporary_cachedir); FREE(temporary_cachedir); return ret; From 67e3a7be36643b37568d071d95583bb4ca094e24 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Fri, 30 May 2025 13:55:21 +0100 Subject: [PATCH 29/30] libalpm: fix regression in downloader Fixes failure to finalize download path if the package file already exists but the .sig file does not. This patch also moves .sig.part files which should be done for completeness although it's probably rare/inconsequential for them to exist. Hopefully this is now the right approach now. The logic is as follows: Check if dest_name or temp_name exists and try to move whichever does. If neither exist assume we're just downloading sig files and don't error. Figure out the .sig base filename. Try to move the .sig file if one was needed and if that fails try move the .sig.part file. The patch leaves the logging as is. Maybe we should check if moves fail for reasons other than non existence and log it properly. Though this is probably rare and pacman will error out later anyway. Fixes #256 --- lib/libalpm/dload.c | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 9a70810a..cac2f9b2 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1118,31 +1118,34 @@ static int finalize_download_locations(alpm_list_t *payloads, const char *localp filename = payload->tempfile_name; } - /* if neither file exists then the download failed and logged an error for us */ - if(!filename) { - returnvalue = -1; - continue; - } + if(filename) { + int ret = move_file(filename, localpath); - int ret = move_file(filename, localpath); - - if(ret == -1) { - /* ignore error if the file already existed - only signature file was downloaded */ - if(payload->mtime_existing_file == 0) { - _alpm_log(payload->handle, ALPM_LOG_ERROR, _("could not move %s into %s (%s)\n"), - filename, localpath, strerror(errno)); - returnvalue = -1; + if(ret == -1) { + if(payload->mtime_existing_file == 0) { + _alpm_log(payload->handle, ALPM_LOG_ERROR, _("could not move %s into %s (%s)\n"), + filename, localpath, strerror(errno)); + returnvalue = -1; + } } } if (payload->download_signature) { - const char sig_suffix[] = ".sig"; - char *sig_filename = NULL; - size_t sig_filename_len = strlen(filename) + sizeof(sig_suffix); - MALLOC(sig_filename, sig_filename_len, continue); - snprintf(sig_filename, sig_filename_len, "%s%s", filename, sig_suffix); - move_file(sig_filename, localpath); - FREE(sig_filename); + char *sig_filename; + int ret; + + filename = payload->destfile_name ? payload->destfile_name : payload->tempfile_name; + sig_filename = _alpm_get_fullpath("", filename, ".sig"); + ASSERT(sig_filename, RET_ERR(payload->handle, ALPM_ERR_MEMORY, -1)); + ret = move_file(sig_filename, localpath); + free(sig_filename); + + if(ret == -1) { + sig_filename = _alpm_get_fullpath("", filename, ".sig.part"); + ASSERT(sig_filename, RET_ERR(payload->handle, ALPM_ERR_MEMORY, -1)); + move_file(sig_filename, localpath); + free(sig_filename); + } } } return returnvalue; From 48a784dde85b702f67d28f28cd18ecaadce78f69 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Fri, 30 May 2025 15:16:13 +0100 Subject: [PATCH 30/30] libalpm: fix -U when pkg exists but not sig --- lib/libalpm/dload.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index cac2f9b2..c35faee1 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -1299,7 +1299,7 @@ download_signature: return ret; } -static char *filecache_find_url(alpm_handle_t *handle, const char *url) +static const char *url_basename(const char *url) { const char *filebase = strrchr(url, '/'); @@ -1312,7 +1312,7 @@ static char *filecache_find_url(alpm_handle_t *handle, const char *url) return NULL; } - return _alpm_filecache_find(handle, filebase); + return filebase; } int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls, @@ -1334,9 +1334,26 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls, for(i = urls; i; i = i->next) { char *url = i->data; + char *filepath = NULL; + const char *urlbase = url_basename(url); + + if(urlbase) { + /* attempt to find the file in our pkgcache */ + filepath = _alpm_filecache_find(handle, urlbase); + + if(filepath && (handle->siglevel & ALPM_SIG_PACKAGE)) { + char *sig_filename = _alpm_get_fullpath("", urlbase, ".sig"); + + /* if there's no .sig file then forget about the pkg file and go for download */ + if(!_alpm_filecache_exists(handle, sig_filename)) { + free(filepath); + filepath = NULL; + } + + free(sig_filename); + } + } - /* attempt to find the file in our pkgcache */ - char *filepath = filecache_find_url(handle, url); if(filepath) { /* the file is locally cached so add it to the output right away */ alpm_list_append(fetched, filepath);