Merge branch 'master' of https://gitlab.archlinux.org/pacman/pacman into 189_pacman_rs_remove_optdepends

This commit is contained in:
jg 2025-07-12 12:48:54 +02:00
commit a5676fd329
210 changed files with 615 additions and 423 deletions

View file

@ -12,7 +12,7 @@ Daenyth Blank <Daenyth+arch@gmail.com> <Daenyth+git@gmail.com>
Dave Reisner <dreisner@archlinux.org> <d@falconindy.com> Dave Reisner <dreisner@archlinux.org> <d@falconindy.com>
甘露(Gan Lu) <rhythm.gan@gmail.com> 甘露(Gan Lu) <rhythm.gan@gmail.com>
Giovanni Scafora <giovanni@archlinux.org> <linuxmania@gmail.com> Giovanni Scafora <giovanni@archlinux.org> <linuxmania@gmail.com>
Jan Steffens <jan.steffens@gmail.com> Jan Alexander Steffens (heftig) <heftig@archlinux.org> <jan.steffens@gmail.com>
Jaroslaw Swierczynski <swiergot@gmail.com> <swiergot@juvepoland.com> Jaroslaw Swierczynski <swiergot@gmail.com> <swiergot@juvepoland.com>
Jonathan Conder <j@skurvy.no-ip.org> <jonno.conder@gmail.com> Jonathan Conder <j@skurvy.no-ip.org> <jonno.conder@gmail.com>
Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar> Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>

10
NEWS
View file

@ -1,6 +1,6 @@
VERSION DESCRIPTION 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. when downloading files.
- Download files to a temporary directory owned by DownloadUser - Download files to a temporary directory owned by DownloadUser
- On Linux systems, ensure the download process does not write - On Linux systems, ensure the download process does not write
@ -649,7 +649,7 @@ VERSION DESCRIPTION
file overwrites from malicious databases file overwrites from malicious databases
- makepkg: - makepkg:
- restrict package name from starting with a dot - 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 - Use LOGDEST for log pipe
- fix distcc disabling (FS#35741) - fix distcc disabling (FS#35741)
- correct stat usage on BSD/Darwin (FS#35469) - correct stat usage on BSD/Darwin (FS#35469)
@ -665,7 +665,7 @@ VERSION DESCRIPTION
FS#34716, FS#35097) FS#34716, FS#35097)
- makepkg: - makepkg:
- improve SVN VCS PKGBUILD handling (FS#34675, FS#34636) - 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) - prevent pkgver() capturing stderr (FS#34974)
- fix attempt to remove package twice on failure (FS#34672) - fix attempt to remove package twice on failure (FS#34672)
- contrib: - contrib:
@ -1338,7 +1338,7 @@ VERSION DESCRIPTION
- add source package creation option - add source package creation option
- rankmirrors- allow reading from stdin (FS#8043) - rankmirrors- allow reading from stdin (FS#8043)
- and many other updates: 198 bugs/FRs closed since 3.0.0 release - 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 3.0.6 - config files updated to reflect current -> core change
- fix symlink overwriting issue (FS#7484) - fix symlink overwriting issue (FS#7484)
- fix config parsing with tr_TR locale (FS#7235) - fix config parsing with tr_TR locale (FS#7235)
@ -1490,7 +1490,7 @@ VERSION DESCRIPTION
- Cleanup db_loadpkgs(), add list_add_sorted() - Cleanup db_loadpkgs(), add list_add_sorted()
- Fixed a memory leak in db_find_conflicts() - Fixed a memory leak in db_find_conflicts()
2.8.3 - Fixed a little makepkg bug with bash 3.0 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 --config option to specify an alternate config file
- Added "Include" directive to include repositories from - Added "Include" directive to include repositories from
config files (inspired by Michael Baehr's patch) config files (inspired by Michael Baehr's patch)

125
README
View file

@ -352,7 +352,7 @@ API CHANGES BETWEEN 3.4 AND 3.5
- alpm_db_get_pkg() for normal targets - alpm_db_get_pkg() for normal targets
- alpm_find_dbs_satisfier() for versioned provisions - alpm_find_dbs_satisfier() for versioned provisions
- alpm_find_grp_pkgs() for groups - 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 - size_t used for alpm_list_t sizes
- return type for alpm_list_count() - return type for alpm_list_count()
- parameter type in alpm_list_msort() and alpm_list_nth() - parameter type in alpm_list_msort() and alpm_list_nth()
@ -363,7 +363,7 @@ API CHANGES BETWEEN 3.4 AND 3.5
- alpm_trans_get_flags() - alpm_trans_get_flags()
- error codes: - error codes:
PM_ERR_DISK_SPACE, PM_ERR_WRITE PM_ERR_DISK_SPACE, PM_ERR_WRITE
- flags - flags:
PM_TRANS_FLAG_NODEPVERSION, PM_TRANS_EVT_DISKSPACE_START, PM_TRANS_FLAG_NODEPVERSION, PM_TRANS_EVT_DISKSPACE_START,
PM_TRANS_EVT_DISKSPACE_DONE, PM_TRANS_CONV_SELECT_PROVIDER, PM_TRANS_EVT_DISKSPACE_DONE, PM_TRANS_CONV_SELECT_PROVIDER,
PM_TRANS_PROGRESS_DISKSPACE_START, PM_TRANS_PROGRESS_INTEGRITY_START PM_TRANS_PROGRESS_DISKSPACE_START, PM_TRANS_PROGRESS_INTEGRITY_START
@ -419,7 +419,7 @@ API CHANGES BETWEEN 3.5 AND 4.0
- alpm_release - alpm_release
- alpm_remove_pkg - alpm_remove_pkg
- alpm_sync_sysupgrade - alpm_sync_sysupgrade
- several structs are no longer opaque - several structs are no longer opaque:
- alpm_conflict_t - alpm_conflict_t
- alpm_delta_t - alpm_delta_t
- alpm_depend_t - alpm_depend_t
@ -431,19 +431,33 @@ API CHANGES BETWEEN 3.5 AND 4.0
[ADDED] [ADDED]
- option functions: - option functions:
alpm_{get,set}_eventcb(), alpm_option_{get,set}_convcb(), - alpm_{get,set}_eventcb()
alpm_option_{get,set}_progresscb() - alpm_option_{get,set}_convcb()
- alpm_option_{get,set}_progresscb()
- package signing functions: - package signing functions:
alpm_option_get_default_siglevel(), alpm_option_set_default_siglevel(), - alpm_option_get_default_siglevel()
alpm_option_get_gpgdir(), alpm_option_set_gpgdir(), alpm_db_get_siglevel(), - alpm_option_set_default_siglevel()
alpm_siglist_cleanup(), alpm_db_check_pgp_signature(), alpm_pkg_check_pgp_signature(), - alpm_option_get_gpgdir()
alpm_pkg_get_origin(), alpm_pkg_get_sha256sum(), alpm_pkg_get_base64_sig() - 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: - list functions:
alpm_list_to_array(), alpm_list_previous() - alpm_list_to_array()
- alpm_list_previous()
- structs: - structs:
alpm_backup_t, alpm_file_t, alpm_filelist_t - alpm_backup_t
- alpm_file_t
- alpm_filelist_t
- enums: - 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: - error codes:
ALPM_ERR_DB_INVALID, ALPM_ERR_DB_INVALID_SIG, ALPM_ERR_GPGME, 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, 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_unregister_all -> alpm_unregister_all_syncdbs
- alpm_db_readgroup -> alpm_db_get_group - alpm_db_readgroup -> alpm_db_get_group
- alpm_db_set_pkgreason -> alpm_pkg_set_reason (handle parameter removed) - 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 - members of alpm_pgpkey_t
- return types of alpm_pkg_get_builddate and alpm_pkg_get_installdate - 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_get_usedelta -> alpm_option_get_deltaratio
- alpm_option_set_usedelta -> alpm_option_set_deltaratio - alpm_option_set_usedelta -> alpm_option_set_deltaratio
@ -490,18 +504,18 @@ API CHANGES BETWEEN 4.0 AND 4.1
- alpm_db_usage_t - alpm_db_usage_t
- alpm_db_set_usage() - alpm_db_set_usage()
- alpm_db_get_usage() - alpm_db_get_usage()
- wrapper functions for reading mtree files - wrapper functions for reading mtree files:
- alpm_pkg_mtree_open() - alpm_pkg_mtree_open()
- alpm_pkg_mtree_next() - alpm_pkg_mtree_next()
- alpm_pkg_mtree_close() - alpm_pkg_mtree_close()
- utility functions - utility functions:
- alpm_pkg_find() - alpm_pkg_find()
- alpm_pkg_compute_optionalfor() - alpm_pkg_compute_optionalfor()
- alpm_filelist_contains() - alpm_filelist_contains()
- types - types:
- alpm_time_t - alpm_time_t
- alpm_errno_t - alpm_errno_t
- flags - flags:
ALPM_EVENT_OPTDEP_REQUIRED, ALPM_EVENT_DATABASE_MISSING, ALPM_EVENT_OPTDEP_REQUIRED, ALPM_EVENT_DATABASE_MISSING,
ALPM_EVENT_KEYRING_START, ALPM_EVENT_KEYRING_DONE, ALPM_EVENT_KEY_DOWNLOAD_START, ALPM_EVENT_KEYRING_START, ALPM_EVENT_KEYRING_DONE, ALPM_EVENT_KEY_DOWNLOAD_START,
ALPM_EVENT_KEY_DOWNLOAD_DONE, ALPM_PROGRESS_KEYRING_START ALPM_EVENT_KEY_DOWNLOAD_DONE, ALPM_PROGRESS_KEYRING_START
@ -513,7 +527,7 @@ API CHANGES BETWEEN 4.1 AND 4.2
[CHANGED] [CHANGED]
- alpm_filelist_t - removed member resolved_path - alpm_filelist_t - removed member resolved_path
- alpm_filelist_contains - now returns alpm_file_t - alpm_filelist_contains - now returns alpm_file_t
- event callback - event callback:
- alpm_event_t renamed to alpm_event_type_t - alpm_event_t renamed to alpm_event_type_t
- alpm_event_t union added - alpm_event_t union added
- alpm_event_cb now takes only an alpm_event_t parameter - alpm_event_cb now takes only an alpm_event_t parameter
@ -523,7 +537,7 @@ API CHANGES BETWEEN 4.1 AND 4.2
alpm_event_pacsave_created_t, alpm_event_pacorig_created_t added alpm_event_pacsave_created_t, alpm_event_pacorig_created_t added
- ALPM_EVENT_*_START -> ALPM_EVENT_PACKAGE_OPERATION_START - ALPM_EVENT_*_START -> ALPM_EVENT_PACKAGE_OPERATION_START
- ALPM_EVENT_*_DONE -> ALPM_EVENT_PACKAGE_OPERATION_DONE - ALPM_EVENT_*_DONE -> ALPM_EVENT_PACKAGE_OPERATION_DONE
- question callback - question callback:
- alpm_question_t renamed to alpm_question_type_t - alpm_question_t renamed to alpm_question_type_t
- alpm_question_t union added - alpm_question_t union added
- alpm_cb_question now takes only an alpm_question_t parameter - alpm_cb_question now takes only an alpm_question_t parameter
@ -532,30 +546,30 @@ API CHANGES BETWEEN 4.1 AND 4.2
alpm_question_select_provider_t, alpm_question_import_key_t added alpm_question_select_provider_t, alpm_question_import_key_t added
[ADDED] [ADDED]
- memory management - memory management:
- alpm_fileconflict_free() - alpm_fileconflict_free()
- alpm_depmissing_free() - alpm_depmissing_free()
- alpm_conflict_free() - alpm_conflict_free()
- alpm_dep_free() - alpm_dep_free()
- database usage - database usage:
- alpm_db_usage_t - alpm_db_usage_t
- alpm_db_set_usage() - alpm_db_set_usage()
- alpm_db_get_usage() - alpm_db_get_usage()
- assume installed - assume installed:
- alpm_option_get_assumeinstalled() - alpm_option_get_assumeinstalled()
- alpm_option_add_assumeinstalled() - alpm_option_add_assumeinstalled()
- alpm_option_set_assumeinstalled() - alpm_option_set_assumeinstalled()
- alpm_option_remove_assumeinstalled() - alpm_option_remove_assumeinstalled()
- using noupgrade/noextract - using noupgrade/noextract:
- alpm_option_match_noupgrade() - alpm_option_match_noupgrade()
- alpm_option_match_noextract() - alpm_option_match_noextract()
- utility functions - utility functions:
- alpm_dep_from_string() - alpm_dep_from_string()
- alpm_pkg_should_ignore() - alpm_pkg_should_ignore()
- alpm_decode_signature() - alpm_decode_signature()
- alpm_extract_keyid() - alpm_extract_keyid()
- flags - flags:
- ALPM_EVENT_RETRIEVE_DONE, ALPM_EVENT_RETRIEVE_FAILED, ALPM_EVENT_PKGDOWNLOAD_START, 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_PKGDOWNLOAD_DONE, ALPM_EVENT_PKGDOWNLOAD_FAILED, ALPM_EVENT_OPTDEP_REMOVAL,
ALPM_EVENT_PACNEW_CREATED, ALPM_EVENT_PACSVAE_CREATED, ALPM_EVENT_PACORIG_CREATED 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] [REMOVED]
- alpm_siglevel_t - removed members ALPM_SIG_PACKAGE_SET, ALPM_SIG_PACKAGE_TRUST_SET - 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
- alpm_event_pacorig_created_t - alpm_event_pacorig_created_t
- alpm_event_t.pacorig_created - alpm_event_t.pacorig_created
[ADDED] [ADDED]
- hook support - hook support:
- alpm_option_get_hookdirs() - alpm_option_get_hookdirs()
- alpm_option_set_hookdirs() - alpm_option_set_hookdirs()
- alpm_option_add_hookdir() - 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_START, ALPM_EVENT_HOOK_DONE
- ALPM_EVENT_HOOK_RUN_START, ALPM_EVENT_HOOK_RUN_DONE - ALPM_EVENT_HOOK_RUN_START, ALPM_EVENT_HOOK_RUN_DONE
- ALPM_ERR_TRANS_HOOK_FAILED - ALPM_ERR_TRANS_HOOK_FAILED
- different database extension support - different database extension support:
- alpm_option_get_dbext() - alpm_option_get_dbext()
- alpm_option_set_dbext() - alpm_option_set_dbext()
- pkgbase accessor - pkgbase accessor:
- alpm_pkg_get_base() - alpm_pkg_get_base()
- transaction events - transaction events:
- ALPM_EVENT_TRANSACTION_START, ALPM_EVENT_TRANSACTION_DONE - ALPM_EVENT_TRANSACTION_START, ALPM_EVENT_TRANSACTION_DONE
- database unlocking - database unlocking:
- alpm_unlock() - alpm_unlock()
@ -598,7 +612,7 @@ API CHANGES BETWEEN 5.0 AND 5.1
[CHANGED] [CHANGED]
- alpm_errno_t - added member ALPM_ERR_OK - alpm_errno_t - added member ALPM_ERR_OK
- alpm_siglevel_t - value of ALPM_SIG_USE_DEFAULT changed - 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_get_default_siglevel()
- alpm_option_set_default_siglevel() - alpm_option_set_default_siglevel()
- alpm_option_get_remote_file_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() - alpm_option_set_local_file_siglevel()
[ADDED] [ADDED]
- overwrite support - overwrite support:
- alpm_option_get_overwrite_files() - alpm_option_get_overwrite_files()
- alpm_option_set_overwrite_files() - alpm_option_set_overwrite_files()
- alpm_option_add_overwrite_file() - alpm_option_add_overwrite_file()
- alpm_option_remove_overwrite_file() - alpm_option_remove_overwrite_file()
- download timeout control - download timeout control:
- alpm_option_set_disable_dl_timeout() - alpm_option_set_disable_dl_timeout()
- access make/checkdepends info - access make/checkdepends info:
- alpm_pkg_get_checkdepends() - alpm_pkg_get_checkdepends()
- alpm_pkg_get_makedepends() - alpm_pkg_get_makedepends()
- check pacman capabilities - check pacman capabilities:
- alpm_capabilities() - alpm_capabilities()
- duplicate and add to list - duplicate and add to list:
- alpm_list_append_strdup() - alpm_list_append_strdup()
@ -635,7 +649,7 @@ API CHANGES BETWEEN 5.1 AND 5.2
=============================== ===============================
[REMOVED] [REMOVED]
- package delta support - package delta support:
- alpm_delta_t - alpm_delta_t
- alpm_event_delta_patch_t - alpm_event_delta_patch_t
- alpm_event_t union - removed alpm_event_delta_patch_t - alpm_event_t union - removed alpm_event_delta_patch_t
@ -662,7 +676,7 @@ API CHANGES BETWEEN 5.2 AND 6.0
[REMOVED] [REMOVED]
- ALPM_EVENT_PKGDOWNLOAD_START, ALPM_EVENT_PKGDOWNLOAD_DONE, ALPM_EVENT_PKGDOWNLOAD_FAILED - ALPM_EVENT_PKGDOWNLOAD_START, ALPM_EVENT_PKGDOWNLOAD_DONE, ALPM_EVENT_PKGDOWNLOAD_FAILED
- ALPM_ERR_PKG_REPO_NOT_FOUND - ALPM_ERR_PKG_REPO_NOT_FOUND
- old TotalDownload implementation - old TotalDownload implementation:
- alpm_cb_totaldl - alpm_cb_totaldl
- alpm_option_get_totaldlcb() - alpm_option_get_totaldlcb()
- alpm_option_set_totaldlcb() - alpm_option_set_totaldlcb()
@ -673,28 +687,28 @@ API CHANGES BETWEEN 5.2 AND 6.0
- alpm_db_search() now has an additional parameter and returns success status - 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_EVENT_RETRIEVE_* -> ALPM_EVENT_DB_RETRIEVE_* and ALPM_EVENT_PKG_RETRIEVE_*
- alpm_cb_download pass event and data - alpm_cb_download pass event and data
- multi architecture support - multi architecture support:
- alpm_option_get_arch() -> alpm_option_get_architectures() - alpm_option_get_arch() -> alpm_option_get_architectures()
- alpm_option_set_arch() -> alpm_option_set_architectures() - alpm_option_set_arch() -> alpm_option_set_architectures()
- alpm_db_get_servers() copies parameter data - alpm_db_get_servers() copies parameter data
[ADDED] [ADDED]
- parallel download support - parallel download support:
- alpm_option_set_parallel_downloads() - alpm_option_set_parallel_downloads()
- alpm_option_get_parallel_downloads() - alpm_option_get_parallel_downloads()
- file download events - file download events:
- alpm_download_event_type_t - alpm_download_event_type_t
- alpm_download_event_init_t - alpm_download_event_init_t
- alpm_download_event_progress_t - alpm_download_event_progress_t
- alpm_download_event_completed_t - alpm_download_event_completed_t
- download misc - download misc:
- ALPM_DOWNLOAD_RETRY - ALPM_DOWNLOAD_RETRY
- alpm_download_event_retry_t - alpm_download_event_retry_t
- alpm_event_pkg_retrieve_t - alpm_event_pkg_retrieve_t
- multiarchitecture support - multiarchitecture support:
- alpm_option_add_architecture() - alpm_option_add_architecture()
- alpm_option_remove_architecture() - alpm_option_remove_architecture()
- misc - misc:
- alpm_pkg_get_sig() - alpm_pkg_get_sig()
- callbacks add front-end provided context - callbacks add front-end provided context
@ -713,23 +727,32 @@ API CHANGES BETWEEN 6.0 AND 6.1
- alpm_transflag_t - added ALPM_TRANS_FLAG_NOHOOKS - alpm_transflag_t - added ALPM_TRANS_FLAG_NOHOOKS
[ADDED] [ADDED]
- extensible package data type - extensible package data type:
- alpm_pkg_xdata_t - alpm_pkg_xdata_t
- alpm_pkg_get_xdata() - alpm_pkg_get_xdata()
- accessor functions - accessor functions:
- alpm_db_get_handle() - alpm_db_get_handle()
- alpm_pkg_get_handle() - alpm_pkg_get_handle()
- cache server support - cache server support:
- alpm_db_get_cache_servers() - alpm_db_get_cache_servers()
- alpm_db_set_cache_servers() - alpm_db_set_cache_servers()
- alpm_db_add_cache_server() - alpm_db_add_cache_server()
API CHANGES BETWEEN 6.1 AND 7.0 API CHANGES BETWEEN 6.1 AND 7.0
=============================== ===============================
[ADDED] [ADDED]
- sandbox functions - sandbox functions:
- alpm_option_get_sandboxuser() - alpm_option_get_sandboxuser()
- alpm_option_set_sandboxuser() - alpm_option_set_sandboxuser()
- alpm_option_set_disable_sandbox() - alpm_option_set_disable_sandbox()
- alpm_sandbox_setup_child() - 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

View file

@ -3,7 +3,7 @@ currently. Our translations are currently maintained in Transifex; please read
doc/translation-help.txt for more details. doc/translation-help.txt for more details.
Below is a list of past translators before we switched to Transifex; more can 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 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 it was, set up a team in Transifex for your language and we will be happy to

View file

@ -313,6 +313,15 @@ underscore and the architecture name e.g., 'replaces_x86_64=()'.
Enable building packages using link time optimization. Adds '-flto' Enable building packages using link time optimization. Adds '-flto'
to both CFLAGS and CXXFLAGS. 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 Packaging Functions
------------------- -------------------

View file

@ -1,5 +1,5 @@
## linkman: macro ## 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] # Usage: linkman:command[manpage-section]
# #

View file

@ -252,7 +252,7 @@ the package database if it helps.
Copyright Copyright
--------- ---------
pacman is Copyright (C) 2006-2024 Pacman Development Team pacman is Copyright (C) 2006-2025 Pacman Development Team
<pacman-dev@lists.archlinux.org> and Copyright (C) 2002-2006 Judd Vinet <pacman-dev@lists.archlinux.org> and Copyright (C) 2002-2006 Judd Vinet
<jvinet@zeroflux.org> and is licensed through the GNU General Public License, <jvinet@zeroflux.org> and is licensed through the GNU General Public License,
version 2 or later. version 2 or later.

View file

@ -247,6 +247,11 @@ Environment Variables
Use an alternate config file instead of the +{sysconfdir}/makepkg.conf+ Use an alternate config file instead of the +{sysconfdir}/makepkg.conf+
default. 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":: **PKGDEST=**"/path/to/directory"::
Directory where the resulting packages will be stored. Overrides the Directory where the resulting packages will be stored. Overrides the
corresponding value defined in linkman:makepkg.conf[5]. corresponding value defined in linkman:makepkg.conf[5].

View file

@ -151,7 +151,8 @@ Options
+{localstatedir}/cache/pacman/pkg+). Multiple cache directories can be +{localstatedir}/cache/pacman/pkg+). Multiple cache directories can be
specified, and they are tried in the order they are passed to pacman. 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 *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* <when>:: *\--color* <when>::
Specify when to enable coloring. Valid options are 'always', 'never', or Specify when to enable coloring. Valid options are 'always', 'never', or

View file

@ -29,9 +29,10 @@ specified on the command line. Multiple packages to remove can be specified
on the command line. on the command line.
A package database is a tar file, optionally compressed. Valid extensions are A package database is a tar file, optionally compressed. Valid extensions are
``.db'' followed by an archive extension of ``.tar'', ``.tar.gz'', ``.tar.bz2'', ``.db'' followed by an archive extension of ``.tar'', ``.tar.bz2'',
``.tar.xz'', or ``.tar.Z''. The file does not need to exist, but all parent ``.tar.gz'', ``.tar.lrz'', ``.tar.lz'', ``.tar.lz4'', ``.tar.lzo'',
directories must exist. ``.tar.xz'', ``.tar.zst'' or ``.tar.Z''. The file does not need to exist, but
all parent directories must exist.
Common Options Common Options
@ -59,6 +60,14 @@ Common Options
*\--nocolor*:: *\--nocolor*::
Remove color from 'repo-add' and 'repo-remove' output. 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
lock until success.
repo-add Options repo-add Options
---------------- ----------------
@ -66,10 +75,6 @@ repo-add Options
Only add packages that are not already in the database. Warnings will be 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. 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-sigs*::
Include package PGP signatures in the repository database (if available) Include package PGP signatures in the repository database (if available)

View file

@ -11,9 +11,9 @@ NOTE: Some of this is paraphrased from the kernel documentation's
Getting the most recent source 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 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://www.kernel.org/pub/software/scm/git/docs/gittutorial.html
* https://wiki.archlinux.org/index.php/Super_Quick_Git_Guide * https://wiki.archlinux.org/index.php/Super_Quick_Git_Guide

View file

@ -4,10 +4,10 @@ Pacman - Translating
This document is here to guide you in helping translate pacman messages, This document is here to guide you in helping translate pacman messages,
libalpm messages, and the manual pages for the entire pacman package. 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 platform for pacman and libalpm. You will need to sign up for an account there
and then register with a translation team on the 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 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 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. kbabel. Using a translation tool tends to make the job easier.
Please read up on Transifex usage using the 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 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 an example set of commands if you have a source code checkout and are not
@ -56,16 +56,16 @@ Pre-release Updates
A week or two before each release, the codebase will go into a string freeze 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] 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 mailing list asking for translations. An announcement in Transifex is also made,
*[translation]* for anyone looking to set up an email filter. which reaches everyone that is member of the translation team.
At this time, the latest `.po` language files will be made available at the 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 Transifex project page. Each language will have three files available (libalpm,
and front-end). Translators interested in helping are encouraged to use the 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 features of Transifex to let others know they are currently translating their
language. 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. 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
@ -80,21 +80,25 @@ repository.
git clone https://gitlab.archlinux.org/pacman/pacman.git git clone https://gitlab.archlinux.org/pacman/pacman.git
Next, you will need to run `./autogen.sh` and `./configure` in the base Next, you will need to configure the build environment. From the base directory,
directory to generate the correct Makefiles. At this point, all necessary run:
make targets will be generated and we can begin updating the translation
files.
We need to first update the main message catalog file. Navigate into either the meson setup . build
`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':
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:
Next, update your specific language's translation file: meson compile -C build pacman-scripts-pot pacman-pot libalpm-pot
make <po file>-update 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`):
msgmerge --update --previous <lang_code>.po <pot_filename>.pot
At this point, you can do the translation. To submit your changes, either email 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 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 As a shortcut, all translation files (including `.pot` files) can be updated
with the following command: with the following command:
make update-po ./build-aux/update-po
Adding a New Language 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/` 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 directories, substituting where appropriate. First, edit the `LINGUAS` file and
add your new language code at the bottom. Next, run the following command, 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: directory you are currently working in:
msginit -l <lang code> -o <lang code>.po -i <potfile> msginit -l <lang_code> -o <lang_code>.po -i <potfile>
You can then also add your language code to the end of the `LINGUAS` file You can then also add your language code to the end of the `LINGUAS` file
located in each po directory. located in each po directory.
@ -137,11 +141,13 @@ following two translations are equivalent:
msgstr "" msgstr ""
"This is a test translation" "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 `<lang_code>` accordingly:
rm *.gmo stamp-po meson compile -C build pacman-scripts-gmo pacman-gmo libalpm-gmo
make cp ./build/lib/libalpm/po/<lang_code>/LC_MESSAGES/libalpm.mo /usr/share/locale/<lang_code>/LC_MESSAGES/libalpm.mo
cp <lang code>.gmo /usr/share/locale/<lang code>/LC_MESSAGES/pacman.mo cp ./build/scripts/po/<lang_code>/LC_MESSAGES/pacman-scripts.mo /usr/share/locale/<lang_code>/LC_MESSAGES/pacman-scripts.mo
cp ./build/src/pacman/po/<lang_code>/LC_MESSAGES/pacman.mo /usr/share/locale/<lang_code>/LC_MESSAGES/pacman.mo
Translating Manpages Translating Manpages

View file

@ -1,7 +1,7 @@
/* /*
* add.c * add.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* add.h * add.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* alpm.c * alpm.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>

View file

@ -1,7 +1,7 @@
/* /*
* alpm.h * alpm.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>

View file

@ -1,7 +1,7 @@
/* /*
* alpm_list.c * alpm_list.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* alpm_list.h * alpm_list.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* backup.c * backup.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2005 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2005 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>

View file

@ -1,7 +1,7 @@
/* /*
* backup.h * backup.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* be_local.c : backend for the local database * be_local.c : backend for the local database
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* be_package.c : backend for packages * be_package.c : backend for packages
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* be_sync.c : backend for sync databases * be_sync.c : backend for sync databases
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -268,7 +268,6 @@ cleanup:
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset); alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
FREELIST(payloads); FREELIST(payloads);
} }
_alpm_remove_temporary_download_dir(temporary_syncpath);
FREE(temporary_syncpath); FREE(temporary_syncpath);
FREE(syncpath); FREE(syncpath);
umask(oldmask); umask(oldmask);
@ -309,11 +308,11 @@ static int _sync_get_validation(alpm_pkg_t *pkg)
static const struct pkg_operations *get_sync_pkg_ops(void) static const struct pkg_operations *get_sync_pkg_ops(void)
{ {
static struct pkg_operations sync_pkg_ops; static struct pkg_operations sync_pkg_ops;
static int sync_pkg_ops_initalized = 0; static int sync_pkg_ops_initialized = 0;
if(!sync_pkg_ops_initalized) { if(!sync_pkg_ops_initialized) {
sync_pkg_ops = default_pkg_ops; sync_pkg_ops = default_pkg_ops;
sync_pkg_ops.get_validation = _sync_get_validation; sync_pkg_ops.get_validation = _sync_get_validation;
sync_pkg_ops_initalized = 1; sync_pkg_ops_initialized = 1;
} }
return &sync_pkg_ops; return &sync_pkg_ops;
} }

View file

@ -1,7 +1,7 @@
/* /*
* conflict.c * conflict.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org> * Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>

View file

@ -1,7 +1,7 @@
/* /*
* conflict.h * conflict.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* db.c * db.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>

View file

@ -1,7 +1,7 @@
/* /*
* db.h * db.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org> * Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>

View file

@ -1,7 +1,7 @@
/* /*
* deps.c * deps.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org> * Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>

View file

@ -1,7 +1,7 @@
/* /*
* deps.h * deps.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org> * Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>

View file

@ -1,7 +1,7 @@
/* /*
* diskspace.c * diskspace.c
* *
* Copyright (c) 2010-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2010-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* diskspace.h * diskspace.h
* *
* Copyright (c) 2010-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2010-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* dload.c * dload.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -698,9 +698,9 @@ cleanup:
* only applies to FTP transfers. */ * only applies to FTP transfers. */
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L); curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, (char *)NULL); curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, (char *)NULL);
if(payload->localf != NULL) { if(payload->localf != NULL) {
fclose(payload->localf); fclose(payload->localf);
payload->localf = NULL;
utimes_long(payload->tempfile_name, remote_time); utimes_long(payload->tempfile_name, remote_time);
} }
@ -880,7 +880,6 @@ static int curl_download_internal(alpm_handle_t *handle,
p = NULL; p = NULL;
err = -1; err = -1;
} }
while(true) { while(true) {
int msgs_left = 0; int msgs_left = 0;
CURLMsg *msg = curl_multi_info_read(curlm, &msgs_left); 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; int ret = err ? -1 : updated ? 0 : 1;
_alpm_log(handle, ALPM_LOG_DEBUG, "curl_download_internal return code is %d\n", ret); _alpm_log(handle, ALPM_LOG_DEBUG, "curl_download_internal return code is %d\n", ret);
alpm_list_free(payloads); alpm_list_free(payloads);
@ -918,7 +916,8 @@ static int curl_download_internal(alpm_handle_t *handle,
*/ */
static int curl_download_internal_sandboxed(alpm_handle_t *handle, static int curl_download_internal_sandboxed(alpm_handle_t *handle,
alpm_list_t *payloads /* struct dload_payload */, alpm_list_t *payloads /* struct dload_payload */,
const char *localpath) const char *localpath,
int *childsig)
{ {
int pid, err = 0, ret = -1, callbacks_fd[2]; int pid, err = 0, ret = -1, callbacks_fd[2];
sigset_t oldblock; sigset_t oldblock;
@ -1023,8 +1022,12 @@ static int curl_download_internal_sandboxed(alpm_handle_t *handle,
int wret; int wret;
while((wret = waitpid(pid, &ret, 0)) == -1 && errno == EINTR); while((wret = waitpid(pid, &ret, 0)) == -1 && errno == EINTR);
if(wret > 0) { if(wret > 0) {
if(WIFSIGNALED(ret)) {
*childsig = WTERMSIG(ret);
}
if(!WIFEXITED(ret)) { if(!WIFEXITED(ret)) {
/* the child did not terminate normally */ /* the child did not terminate normally */
handle->pm_errno = ALPM_ERR_RETRIEVE;
ret = -1; ret = -1;
} }
else { else {
@ -1103,30 +1106,45 @@ static int finalize_download_locations(alpm_list_t *payloads, const char *localp
ASSERT(payloads != NULL, return -1); ASSERT(payloads != NULL, return -1);
ASSERT(localpath != NULL, return -1); ASSERT(localpath != NULL, return -1);
alpm_list_t *p; alpm_list_t *p;
struct stat st;
int returnvalue = 0; int returnvalue = 0;
for(p = payloads; p; p = p->next) { for(p = payloads; p; p = p->next) {
struct dload_payload *payload = p->data; struct dload_payload *payload = p->data;
if(payload->tempfile_name) { const char *filename = NULL;
move_file(payload->tempfile_name, localpath);
if(payload->destfile_name && stat(payload->destfile_name, &st) == 0) {
filename = payload->destfile_name;
} else if(stat(payload->tempfile_name, &st) == 0) {
filename = payload->tempfile_name;
} }
if(payload->destfile_name) {
int ret = move_file(payload->destfile_name, localpath); if(filename) {
int ret = move_file(filename, localpath);
if(ret == -1) { if(ret == -1) {
/* ignore error if the file already existed - only signature file was downloaded */
if(payload->mtime_existing_file == 0) { 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; returnvalue = -1;
} }
} }
}
if (payload->download_signature) { if (payload->download_signature) {
const char sig_suffix[] = ".sig"; char *sig_filename;
char *sig_filename = NULL; int ret;
size_t sig_filename_len = strlen(payload->destfile_name) + sizeof(sig_suffix);
MALLOC(sig_filename, sig_filename_len, continue); filename = payload->destfile_name ? payload->destfile_name : payload->tempfile_name;
snprintf(sig_filename, sig_filename_len, "%s%s", payload->destfile_name, sig_suffix); 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); move_file(sig_filename, localpath);
FREE(sig_filename); free(sig_filename);
} }
} }
} }
@ -1185,12 +1203,14 @@ int _alpm_download(alpm_handle_t *handle,
const char *temporary_localpath) const char *temporary_localpath)
{ {
int ret; int ret;
int finalize_ret;
int childsig = 0;
prepare_resumable_downloads(payloads, localpath, handle->sandboxuser); prepare_resumable_downloads(payloads, localpath, handle->sandboxuser);
if(handle->fetchcb == NULL) { if(handle->fetchcb == NULL) {
#ifdef HAVE_LIBCURL #ifdef HAVE_LIBCURL
if(handle->sandboxuser) { if(handle->sandboxuser) {
ret = curl_download_internal_sandboxed(handle, payloads, temporary_localpath); ret = curl_download_internal_sandboxed(handle, payloads, temporary_localpath, &childsig);
} else { } else {
ret = curl_download_internal(handle, payloads); ret = curl_download_internal(handle, payloads);
} }
@ -1265,13 +1285,21 @@ download_signature:
ret = updated ? 0 : 1; ret = updated ? 0 : 1;
} }
if (finalize_download_locations(payloads, localpath) != 0 && ret == 0) { finalize_ret = finalize_download_locations(payloads, localpath);
return -1; _alpm_remove_temporary_download_dir(temporary_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; 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, '/'); const char *filebase = strrchr(url, '/');
@ -1284,7 +1312,7 @@ static char *filecache_find_url(alpm_handle_t *handle, const char *url)
return NULL; return NULL;
} }
return _alpm_filecache_find(handle, filebase); return filebase;
} }
int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls, int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
@ -1306,9 +1334,26 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
for(i = urls; i; i = i->next) { for(i = urls; i; i = i->next) {
char *url = i->data; char *url = i->data;
char *filepath = NULL;
const char *urlbase = url_basename(url);
if(urlbase) {
/* attempt to find the file in our pkgcache */ /* attempt to find the file in our pkgcache */
char *filepath = filecache_find_url(handle, url); 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);
}
}
if(filepath) { if(filepath) {
/* the file is locally cached so add it to the output right away */ /* the file is locally cached so add it to the output right away */
alpm_list_append(fetched, filepath); alpm_list_append(fetched, filepath);
@ -1357,12 +1402,12 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
if(payloads) { if(payloads) {
event.type = ALPM_EVENT_PKG_RETRIEVE_START; event.type = ALPM_EVENT_PKG_RETRIEVE_START;
event.pkg_retrieve.num = alpm_list_count(payloads); event.pkg_retrieve.num = alpm_list_count(payloads);
event.pkg_retrieve.total_size = 0;
EVENT(handle, &event); EVENT(handle, &event);
if(_alpm_download(handle, payloads, cachedir, temporary_cachedir) == -1) { if(_alpm_download(handle, payloads, cachedir, temporary_cachedir) == -1) {
_alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n")); _alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n"));
event.type = ALPM_EVENT_PKG_RETRIEVE_FAILED; event.type = ALPM_EVENT_PKG_RETRIEVE_FAILED;
EVENT(handle, &event); EVENT(handle, &event);
GOTO_ERR(handle, ALPM_ERR_RETRIEVE, err); GOTO_ERR(handle, ALPM_ERR_RETRIEVE, err);
} else { } else {
event.type = ALPM_EVENT_PKG_RETRIEVE_DONE; event.type = ALPM_EVENT_PKG_RETRIEVE_DONE;
@ -1377,7 +1422,8 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
const char *filename = mbasename(payload->destfile_name); const char *filename = mbasename(payload->destfile_name);
filepath = _alpm_filecache_find(handle, filename); filepath = _alpm_filecache_find(handle, filename);
} else { } 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) { if(filepath) {
alpm_list_append(fetched, filepath); alpm_list_append(fetched, filepath);
@ -1391,13 +1437,11 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
FREELIST(payloads); FREELIST(payloads);
} }
_alpm_remove_temporary_download_dir(temporary_cachedir);
FREE(temporary_cachedir); FREE(temporary_cachedir);
return 0; return 0;
err: err:
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset); alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
_alpm_remove_temporary_download_dir(temporary_cachedir);
FREE(temporary_cachedir); FREE(temporary_cachedir);
FREELIST(payloads); FREELIST(payloads);
FREELIST(*fetched); FREELIST(*fetched);
@ -1409,6 +1453,11 @@ void _alpm_dload_payload_reset(struct dload_payload *payload)
{ {
ASSERT(payload, return); ASSERT(payload, return);
if(payload->localf != NULL) {
fclose(payload->localf);
payload->localf = NULL;
}
FREE(payload->remote_name); FREE(payload->remote_name);
FREE(payload->tempfile_name); FREE(payload->tempfile_name);
FREE(payload->destfile_name); FREE(payload->destfile_name);

View file

@ -1,7 +1,7 @@
/* /*
* dload.h * dload.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* error.c * error.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -137,9 +137,7 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err)
return _("conflicting dependencies"); return _("conflicting dependencies");
case ALPM_ERR_FILE_CONFLICTS: case ALPM_ERR_FILE_CONFLICTS:
return _("conflicting files"); return _("conflicting files");
case ALPM_ERR_REMOVING_OPTDEPENDS_DEPS: /* Miscellaneous */
return _("removing optdepends of another package");
/* Miscellaenous */
case ALPM_ERR_RETRIEVE: case ALPM_ERR_RETRIEVE:
return _("failed to retrieve some files"); return _("failed to retrieve some files");
case ALPM_ERR_INVALID_REGEX: case ALPM_ERR_INVALID_REGEX:

View file

@ -1,7 +1,7 @@
/* /*
* filelist.c * filelist.c
* *
* Copyright (c) 2012-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2012-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* filelist.h * filelist.h
* *
* Copyright (c) 2012-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2012-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* graph.c - helpful graph structure and setup/teardown methods * graph.c - helpful graph structure and setup/teardown methods
* *
* Copyright (c) 2007-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2007-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* graph.h - helpful graph structure and setup/teardown methods * graph.h - helpful graph structure and setup/teardown methods
* *
* Copyright (c) 2007-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2007-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* group.c * group.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* group.h * group.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* handle.c * handle.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org> * Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>

View file

@ -1,7 +1,7 @@
/* /*
* handle.h * handle.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* hook.c * hook.c
* *
* Copyright (c) 2015-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2015-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* hook.h * hook.h
* *
* Copyright (c) 2015-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2015-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -4,7 +4,7 @@
/* /*
* libarchive-compat.h * libarchive-compat.h
* *
* Copyright (c) 2013-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2013-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* log.c * log.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* log.h * log.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* package.c * package.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005, 2006 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005, 2006 by Christian Hamar <krics@linuxforum.hu>

View file

@ -1,7 +1,7 @@
/* /*
* package.h * package.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org> * Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>

View file

@ -1,7 +1,7 @@
/* /*
* pkghash.c * pkghash.c
* *
* Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* pkghash.h * pkghash.h
* *
* Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* remove.c * remove.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>

View file

@ -1,7 +1,7 @@
/* /*
* remove.h * remove.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View file

@ -1,7 +1,7 @@
/* /*
* sandbox.c * sandbox.c
* *
* Copyright (c) 2021-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2021-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* sandbox_fs.c * sandbox_fs.c
* *
* Copyright (c) 2021-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2021-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* sandbox_fs.h * sandbox_fs.h
* *
* Copyright (c) 2021-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2021-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* signing.c * signing.c
* *
* Copyright (c) 2008-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2008-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* signing.h * signing.h
* *
* Copyright (c) 2008-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2008-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -1,7 +1,7 @@
/* /*
* sync.c * sync.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
@ -817,6 +817,8 @@ static int download_files(alpm_handle_t *handle)
} }
event.type = ALPM_EVENT_PKG_RETRIEVE_START; 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 */ /* sum up the number of packages to download and its total size */
for(i = files; i; i = i->next) { for(i = files; i; i = i->next) {
@ -880,7 +882,6 @@ finish:
pkg->infolevel &= ~INFRQ_DSIZE; pkg->infolevel &= ~INFRQ_DSIZE;
pkg->download_size = 0; pkg->download_size = 0;
} }
_alpm_remove_temporary_download_dir(temporary_cachedir);
FREE(temporary_cachedir); FREE(temporary_cachedir);
return ret; return ret;

View file

@ -1,7 +1,7 @@
/* /*
* sync.h * sync.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org> * Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>

View file

@ -1,7 +1,7 @@
/* /*
* trans.c * trans.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
@ -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); 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"); alpm_logaction(handle, ALPM_CALLER_PREFIX, "transaction started\n");
event.type = ALPM_EVENT_TRANSACTION_START; 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; return 0;
} }
@ -253,7 +253,7 @@ int SYMEXPORT alpm_trans_interrupt(alpm_handle_t *handle)
trans = handle->trans; trans = handle->trans;
ASSERT(trans != NULL, RET_ERR_ASYNC_SAFE(handle, ALPM_ERR_TRANS_NULL, -1)); 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)); RET_ERR_ASYNC_SAFE(handle, ALPM_ERR_TRANS_TYPE, -1));
trans->state = STATE_INTERRUPTED; trans->state = STATE_INTERRUPTED;

View file

@ -1,7 +1,7 @@
/* /*
* trans.h * trans.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
@ -30,8 +30,8 @@ typedef enum _alpm_transstate_t {
STATE_INITIALIZED, STATE_INITIALIZED,
STATE_PREPARED, STATE_PREPARED,
STATE_DOWNLOADING, STATE_DOWNLOADING,
STATE_COMMITING, STATE_COMMITTING,
STATE_COMMITED, STATE_COMMITTED,
STATE_INTERRUPTED STATE_INTERRUPTED
} alpm_transstate_t; } alpm_transstate_t;

View file

@ -1,7 +1,7 @@
/* /*
* util.c * util.c
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
@ -967,8 +967,7 @@ char *_alpm_temporary_download_dir_setup(const char *dir, const char *user)
char *newdir = NULL; char *newdir = NULL;
MALLOC(newdir, newdirlen, return NULL); MALLOC(newdir, newdirlen, return NULL);
snprintf(newdir, newdirlen - 1, "%s%s", dir, template); snprintf(newdir, newdirlen - 1, "%s%s", dir, template);
newdir = mkdtemp(newdir); if(mkdtemp(newdir) == NULL) {
if(newdir == NULL) {
free(newdir); free(newdir);
return NULL; return NULL;
} }

View file

@ -1,7 +1,7 @@
/* /*
* util.h * util.h
* *
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com> * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu> * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2006-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> * Copyright (c) 2006-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by

View file

@ -433,6 +433,8 @@ configure_file(
configuration : substs, configuration : substs,
install_dir : join_paths(SYSCONFDIR, 'makepkg.conf.d/')) install_dir : join_paths(SYSCONFDIR, 'makepkg.conf.d/'))
install_emptydir(join_paths(SYSCONFDIR, 'makepkg.d/'))
configure_file( configure_file(
input : 'etc/pacman.conf.in', input : 'etc/pacman.conf.in',
output : 'pacman.conf', output : 'pacman.conf',

View file

@ -3,7 +3,7 @@
# NOTE: Please fill out the license field for your package! If it is unknown, # NOTE: Please fill out the license field for your package! If it is unknown,
# then please put '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. # Other VCS sources are not natively supported by makepkg yet.
# Maintainer: Your Name <youremail@domain.com> # Maintainer: Your Name <youremail@domain.com>

View file

@ -2,7 +2,7 @@
# #
# autodep.sh - functions for automatically adding depends/provides # autodep.sh - functions for automatically adding depends/provides
# #
# Copyright (c) 2021-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2021-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# library_depends.sh - Automatically add library requirements to depends # library_depends.sh - Automatically add library requirements to depends
# #
# Copyright (c) 2021-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2021-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# library_provides.sh - Automatically add a packages libraries to provides # library_provides.sh - Automatically add a packages libraries to provides
# #
# Copyright (c) 2021-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2021-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -3,7 +3,7 @@
# buildenv.sh - functions for altering the build environment before # buildenv.sh - functions for altering the build environment before
# compilation # compilation
# #
# Copyright (c) 2015-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2015-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# buildflags.sh - Clear user-specified buildflags if requested # buildflags.sh - Clear user-specified buildflags if requested
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -4,7 +4,7 @@
# ccache - Cache compilations and reuse them to save time on repetitions # ccache - Cache compilations and reuse them to save time on repetitions
# distcc - Distribute compilation of C and C++ across machines # distcc - Distribute compilation of C and C++ across machines
# #
# Copyright (c) 2007-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2007-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -3,7 +3,7 @@
# debugflags.sh - Specify flags for building a package with debugging # debugflags.sh - Specify flags for building a package with debugging
# symbols # symbols
# #
# Copyright (c) 2012-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2012-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# fortran.sh - Specify flags for building a package with Fortran # fortran.sh - Specify flags for building a package with Fortran
# #
# Copyright (c) 2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2024-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -3,7 +3,7 @@
# lto.sh - Specify flags for building a package with link-time # lto.sh - Specify flags for building a package with link-time
# optimisation # optimisation
# #
# Copyright (c) 2021-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2021-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# makeflags.sh - Clear user-specified makeflags if requested # makeflags.sh - Clear user-specified makeflags if requested
# #
# Copyright (c) 2007-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2007-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# rust.sh - Specify flags for building a package with rust # rust.sh - Specify flags for building a package with rust
# #
# Copyright (c) 2022-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2022-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# executable.sh - confirm presence of dependent executables # executable.sh - confirm presence of dependent executables
# #
# Copyright (c) 2018-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2018-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# ccache.sh - Confirm presence of ccache binary # ccache.sh - Confirm presence of ccache binary
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# checksum.sh - Confirm presence of binaries for checksum operations # checksum.sh - Confirm presence of binaries for checksum operations
# #
# Copyright (c) 2016-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2016-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# debugedit.sh - Confirm presence of debugedit binary # debugedit.sh - Confirm presence of debugedit binary
# #
# Copyright (c) 2022-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2022-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# distcc.sh - Confirm presence of distcc binary # distcc.sh - Confirm presence of distcc binary
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# fakeroot.sh - Confirm presence of fakeroot binary # fakeroot.sh - Confirm presence of fakeroot binary
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# gpg.sh - Confirm presence of gpg binary # gpg.sh - Confirm presence of gpg binary
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# gzip.sh - Confirm presence of gzip binary # gzip.sh - Confirm presence of gzip binary
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# pacman.sh - Confirm presence of pacman binary # pacman.sh - Confirm presence of pacman binary
# #
# Copyright (c) 2012-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2012-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# strip.sh - Confirm presence of strip binary # strip.sh - Confirm presence of strip binary
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# sudo.sh - Confirm presence of sudo binary # sudo.sh - Confirm presence of sudo binary
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# vcs.sh - Confirm presence of binaries for VCS operations # vcs.sh - Confirm presence of binaries for VCS operations
# #
# Copyright (c) 2014-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2014-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# integrity.sh - functions relating to source integrity checking # integrity.sh - functions relating to source integrity checking
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# generate_checksum.sh - functions for generating source checksums # generate_checksum.sh - functions for generating source checksums
# #
# Copyright (c) 2014-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2014-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# generate_signature.sh - functions for generating PGP signatures # generate_signature.sh - functions for generating PGP signatures
# #
# Copyright (c) 2008-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2008-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# verify_checksum.sh - functions for checking source checksums # verify_checksum.sh - functions for checking source checksums
# #
# Copyright (c) 2014-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2014-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# verify_signature.sh - functions for checking PGP signatures # verify_signature.sh - functions for checking PGP signatures
# #
# Copyright (c) 2011-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2011-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# lint_config.sh - functions for checking for makepkg.conf errors # lint_config.sh - functions for checking for makepkg.conf errors
# #
# Copyright (c) 2018-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2018-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# ext.sh - Check that source/package extensions have valid prefixes # ext.sh - Check that source/package extensions have valid prefixes
# #
# Copyright (c) 2019-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2019-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# paths.sh - Check that pathname components do not contain odd characters # paths.sh - Check that pathname components do not contain odd characters
# #
# Copyright (c) 2018-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2018-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# source_date_epoch.sh - Check that reproducible builds timestamp is valid # source_date_epoch.sh - Check that reproducible builds timestamp is valid
# #
# Copyright (c) 2018-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2018-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

View file

@ -2,7 +2,7 @@
# #
# variable.sh - Check that variables are or are not arrays as appropriate # variable.sh - Check that variables are or are not arrays as appropriate
# #
# Copyright (c) 2018-2024 Pacman Development Team <pacman-dev@lists.archlinux.org> # Copyright (c) 2018-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by

Some files were not shown because too many files have changed in this diff Show more