mirror of
https://gitlab.archlinux.org/pacman/pacman.git
synced 2025-11-10 12:24:39 +01:00
Compare commits
60 Commits
morganamil
...
morganamil
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3612510ee0 | ||
|
|
a1ff7d8c72 | ||
|
|
f6aa79c10a | ||
|
|
3370dd586a | ||
|
|
af54cd4ee1 | ||
|
|
e392f01a94 | ||
|
|
f722b86990 | ||
|
|
4ddc642398 | ||
|
|
53b1db84ef | ||
|
|
571c13236f | ||
|
|
64299ccfbb | ||
|
|
692f7a2cfe | ||
|
|
b104b95423 | ||
|
|
2bcdbc6a87 | ||
|
|
46f7f6e9ac | ||
|
|
38394d54f0 | ||
|
|
267a0cc912 | ||
|
|
d0c10a795e | ||
|
|
0d37c1daa0 | ||
|
|
24fc50269d | ||
|
|
08070e9abe | ||
|
|
f13d7d480c | ||
|
|
007261ade5 | ||
|
|
bbe3f614b2 | ||
|
|
f07d547cf1 | ||
|
|
34f09204fa | ||
|
|
0f6b4f4fab | ||
|
|
bc7b8e2eb2 | ||
|
|
faea473550 | ||
|
|
680169fb61 | ||
|
|
e767cf9a54 | ||
|
|
e65b7d421c | ||
|
|
e6b3eb2570 | ||
|
|
7ccf316ceb | ||
|
|
ae603e35d7 | ||
|
|
4908eed57d | ||
|
|
286e776eda | ||
|
|
cc87999d6d | ||
|
|
425ff046ed | ||
|
|
5f4c7e3ddc | ||
|
|
02b35b9155 | ||
|
|
dbde37aafb | ||
|
|
0c136ecc8a | ||
|
|
5e2a763e4a | ||
|
|
62d3192126 | ||
|
|
3e557af72f | ||
|
|
fa7a9f748d | ||
|
|
870eae26dc | ||
|
|
cb940620bc | ||
|
|
dd55afad68 | ||
|
|
775db50538 | ||
|
|
95a7d416ce | ||
|
|
9154600490 | ||
|
|
e0162a6868 | ||
|
|
71afd4d88f | ||
|
|
a2d029388c | ||
|
|
8a60361949 | ||
|
|
e80569f5da | ||
|
|
60ec268458 | ||
|
|
7bc5d55b56 |
2
.mailmap
2
.mailmap
@@ -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
10
NEWS
@@ -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)
|
||||||
|
|||||||
11
README
11
README
@@ -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()
|
||||||
@@ -724,6 +724,7 @@ API CHANGES BETWEEN 6.0 AND 6.1
|
|||||||
- 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
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
@@ -733,3 +734,11 @@ API CHANGES BETWEEN 6.1 AND 7.0
|
|||||||
- 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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ Synopsis
|
|||||||
This manual page describes the format of a BUILDINFO file found in the root of
|
This manual page describes the format of a BUILDINFO file found in the root of
|
||||||
a package created by makepkg. The file contains a description of the package's
|
a package created by makepkg. The file contains a description of the package's
|
||||||
build environment. The information is formatted in key-value pairs separated by
|
build environment. The information is formatted in key-value pairs separated by
|
||||||
a '=', one value per line. Arrays are represented multiple keys with the same
|
a '=', one value per line. Arrays are represented as multiple key-value pairs
|
||||||
value.
|
having the same key.
|
||||||
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|||||||
@@ -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]
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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].
|
||||||
@@ -297,7 +302,7 @@ Environment Variables
|
|||||||
**BUILDTOOLVER=**"<version>"::
|
**BUILDTOOLVER=**"<version>"::
|
||||||
The version of the '$BUILDTOOL' used.
|
The version of the '$BUILDTOOL' used.
|
||||||
|
|
||||||
**MAKEPKG_LINT_PKGBUILD=**0
|
**MAKEPKG_LINT_PKGBUILD=**0::
|
||||||
Setting to 0 disables PKGBUILD linting within makepkg. Useful on systems
|
Setting to 0 disables PKGBUILD linting within makepkg. Useful on systems
|
||||||
with slow bash subshell operations, or on PKGBUILDs with extreme amounts of
|
with slow bash subshell operations, or on PKGBUILDs with extreme amounts of
|
||||||
package splitting.
|
package splitting.
|
||||||
|
|||||||
@@ -62,6 +62,11 @@ Options
|
|||||||
A string such as ``i686-pc-linux-gnu''; do not touch this unless you know what
|
A string such as ``i686-pc-linux-gnu''; do not touch this unless you know what
|
||||||
you are doing. This can be commented out by most users if desired.
|
you are doing. This can be commented out by most users if desired.
|
||||||
|
|
||||||
|
**NPROC=**""::
|
||||||
|
Sets the number of processors to use for parallel jobs in makepkg.
|
||||||
|
Note: this does not affect parallelization of tasks during ``build()`` and
|
||||||
|
related functions.
|
||||||
|
|
||||||
**CPPFLAGS=**"cppflags"::
|
**CPPFLAGS=**"cppflags"::
|
||||||
Flags used for the C preprocessor; see CFLAGS for more information.
|
Flags used for the C preprocessor; see CFLAGS for more information.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ contain a file that lists the servers for that repository.
|
|||||||
# use this server first
|
# use this server first
|
||||||
Server = ftp://ftp.archlinux.org/$repo/os/$arch
|
Server = ftp://ftp.archlinux.org/$repo/os/$arch
|
||||||
# next use servers as defined in the mirrorlist below
|
# next use servers as defined in the mirrorlist below
|
||||||
Include = {sysconfdir}/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
--------
|
--------
|
||||||
|
|
||||||
The order of repositories in the configuration files matters; repositories
|
The order of repositories in the configuration files matters; repositories
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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,19 +56,19 @@ 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
|
||||||
speakers of your language time to review your translations and update them as
|
speakers of your language time to review your translations and update them as
|
||||||
necessary.
|
necessary.
|
||||||
|
|
||||||
@@ -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:
|
||||||
|
|
||||||
|
meson compile -C build pacman-scripts-pot pacman-pot libalpm-pot
|
||||||
|
|
||||||
|
We need to first update the main message catalog file. Navigate into either
|
||||||
|
the `lib/libalpm/po`, `scripts/po` or `src/pacman/po` directory depending
|
||||||
|
on which translation you wish to work on first, and execute the following
|
||||||
|
command to update your specific language's translation file
|
||||||
|
(replace `lang_code` with your language code e.g. 'pt_BR', and `pot_file`
|
||||||
|
with `libalpm.pot`, `pacman.pot` or `pacman-scripts.pot`):
|
||||||
|
|
||||||
Next, update your specific language's translation file:
|
msgmerge --update --previous <lang_code>.po <pot_filename>.pot
|
||||||
|
|
||||||
make <po file>-update
|
|
||||||
|
|
||||||
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
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ VCSCLIENTS=('bzr::breezy'
|
|||||||
CARCH="@CARCH@"
|
CARCH="@CARCH@"
|
||||||
CHOST="@CHOST@"
|
CHOST="@CHOST@"
|
||||||
|
|
||||||
|
#NPROC=2
|
||||||
|
|
||||||
#-- Compiler and Linker Flags
|
#-- Compiler and Linker Flags
|
||||||
#CPPFLAGS=""
|
#CPPFLAGS=""
|
||||||
#CFLAGS="-O2 -pipe"
|
#CFLAGS="-O2 -pipe"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -25,6 +25,9 @@
|
|||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <pwd.h>
|
||||||
|
|
||||||
/* libalpm */
|
/* libalpm */
|
||||||
#include "alpm.h"
|
#include "alpm.h"
|
||||||
#include "alpm_list.h"
|
#include "alpm_list.h"
|
||||||
@@ -39,6 +42,7 @@ alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
|
|||||||
const char *lf = "db.lck";
|
const char *lf = "db.lck";
|
||||||
char *hookdir;
|
char *hookdir;
|
||||||
size_t hookdirlen, lockfilelen;
|
size_t hookdirlen, lockfilelen;
|
||||||
|
struct passwd const *pw = NULL;
|
||||||
alpm_handle_t *myhandle = _alpm_handle_new();
|
alpm_handle_t *myhandle = _alpm_handle_new();
|
||||||
|
|
||||||
if(myhandle == NULL) {
|
if(myhandle == NULL) {
|
||||||
@@ -78,6 +82,10 @@ alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
|
|||||||
|
|
||||||
myhandle->parallel_downloads = 1;
|
myhandle->parallel_downloads = 1;
|
||||||
|
|
||||||
|
/* set default sandboxuser */
|
||||||
|
ASSERT((pw = getpwuid(0)) != NULL, myerr = errno; goto cleanup);
|
||||||
|
STRDUP(myhandle->sandboxuser, pw->pw_name, goto nomem);
|
||||||
|
|
||||||
#ifdef ENABLE_NLS
|
#ifdef ENABLE_NLS
|
||||||
bindtextdomain("libalpm", LOCALEDIR);
|
bindtextdomain("libalpm", LOCALEDIR);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -308,6 +308,8 @@ typedef enum _alpm_errno_t {
|
|||||||
/** Files conflict */
|
/** Files conflict */
|
||||||
ALPM_ERR_FILE_CONFLICTS,
|
ALPM_ERR_FILE_CONFLICTS,
|
||||||
/* Misc */
|
/* Misc */
|
||||||
|
/** Download setup failed */
|
||||||
|
ALPM_ERR_RETRIEVE_PREPARE,
|
||||||
/** Download failed */
|
/** Download failed */
|
||||||
ALPM_ERR_RETRIEVE,
|
ALPM_ERR_RETRIEVE,
|
||||||
/** Invalid Regex */
|
/** Invalid Regex */
|
||||||
@@ -451,14 +453,6 @@ typedef struct _alpm_pgpkey_t {
|
|||||||
unsigned int length;
|
unsigned int length;
|
||||||
/** has the key been revoked */
|
/** has the key been revoked */
|
||||||
unsigned int revoked;
|
unsigned int revoked;
|
||||||
/** A character representing the encryption algorithm used by the public key
|
|
||||||
*
|
|
||||||
* ? = unknown
|
|
||||||
* R = RSA
|
|
||||||
* D = DSA
|
|
||||||
* E = EDDSA
|
|
||||||
*/
|
|
||||||
char pubkey_algo;
|
|
||||||
} alpm_pgpkey_t;
|
} alpm_pgpkey_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2265,6 +2259,12 @@ int alpm_option_set_remote_file_siglevel(alpm_handle_t *handle, int level);
|
|||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** Get the download timeout state
|
||||||
|
* @param handle the context handle
|
||||||
|
* @return 0 for enabled, 1 for disabled
|
||||||
|
*/
|
||||||
|
int alpm_option_get_disable_dl_timeout(alpm_handle_t *handle);
|
||||||
|
|
||||||
/** Enables/disables the download timeout.
|
/** Enables/disables the download timeout.
|
||||||
* @param handle the context handle
|
* @param handle the context handle
|
||||||
* @param disable_dl_timeout 0 for enabled, 1 for disabled
|
* @param disable_dl_timeout 0 for enabled, 1 for disabled
|
||||||
@@ -2307,6 +2307,12 @@ int alpm_option_set_parallel_downloads(alpm_handle_t *handle, unsigned int num_s
|
|||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** Get the sandbox state
|
||||||
|
* @param handle the context handle
|
||||||
|
* @return 0 for enabled, 1 for disabled
|
||||||
|
*/
|
||||||
|
int alpm_option_get_disable_sandbox(alpm_handle_t *handle);
|
||||||
|
|
||||||
/** Enables/disables the sandbox.
|
/** Enables/disables the sandbox.
|
||||||
* @param handle the context handle
|
* @param handle the context handle
|
||||||
* @param disable_sandbox 0 for enabled, 1 for disabled
|
* @param disable_sandbox 0 for enabled, 1 for disabled
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -153,7 +153,7 @@ int SYMEXPORT alpm_db_update(alpm_handle_t *handle, alpm_list_t *dbs, int force)
|
|||||||
|
|
||||||
syncpath = get_sync_dir(handle);
|
syncpath = get_sync_dir(handle);
|
||||||
ASSERT(syncpath != NULL, return -1);
|
ASSERT(syncpath != NULL, return -1);
|
||||||
temporary_syncpath = _alpm_temporary_download_dir_setup(syncpath, handle->sandboxuser);
|
temporary_syncpath = _alpm_temporary_download_dir_setup(handle, syncpath);
|
||||||
ASSERT(temporary_syncpath != NULL, FREE(syncpath); return -1);
|
ASSERT(temporary_syncpath != NULL, FREE(syncpath); return -1);
|
||||||
|
|
||||||
/* make sure we have a sane umask */
|
/* make sure we have a sane umask */
|
||||||
@@ -309,11 +309,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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -181,13 +181,13 @@ static void _alpm_warn_dep_cycle(alpm_handle_t *handle, alpm_list_t *targets,
|
|||||||
} else {
|
} else {
|
||||||
alpm_pkg_t *ancestorpkg = ancestor->data;
|
alpm_pkg_t *ancestorpkg = ancestor->data;
|
||||||
alpm_pkg_t *childpkg = vertex->data;
|
alpm_pkg_t *childpkg = vertex->data;
|
||||||
_alpm_log(handle, ALPM_LOG_WARNING, _("dependency cycle detected:\n"));
|
_alpm_log(handle, ALPM_LOG_DEBUG, _("dependency cycle detected:\n"));
|
||||||
if(reverse) {
|
if(reverse) {
|
||||||
_alpm_log(handle, ALPM_LOG_WARNING,
|
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||||
_("%s will be removed after its %s dependency\n"),
|
_("%s will be removed after its %s dependency\n"),
|
||||||
ancestorpkg->name, childpkg->name);
|
ancestorpkg->name, childpkg->name);
|
||||||
} else {
|
} else {
|
||||||
_alpm_log(handle, ALPM_LOG_WARNING,
|
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||||
_("%s will be installed before its %s dependency\n"),
|
_("%s will be installed before its %s dependency\n"),
|
||||||
ancestorpkg->name, childpkg->name);
|
ancestorpkg->name, childpkg->name);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -76,13 +76,16 @@ static mode_t _getumask(void)
|
|||||||
static int finalize_download_file(const char *filename)
|
static int finalize_download_file(const char *filename)
|
||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
uid_t myuid = getuid();
|
||||||
ASSERT(filename != NULL, return -1);
|
ASSERT(filename != NULL, return -1);
|
||||||
ASSERT(stat(filename, &st) == 0, return -1);
|
ASSERT(stat(filename, &st) == 0, return -1);
|
||||||
if(st.st_size == 0) {
|
if(st.st_size == 0) {
|
||||||
unlink(filename);
|
unlink(filename);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
ASSERT(chown(filename, 0, 0) != -1, return -1);
|
if(myuid == 0) {
|
||||||
|
ASSERT(chown(filename, 0, 0) != -1, return -1);
|
||||||
|
}
|
||||||
ASSERT(chmod(filename, ~(_getumask()) & 0666) != -1, return -1);
|
ASSERT(chmod(filename, ~(_getumask()) & 0666) != -1, return -1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -695,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -877,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);
|
||||||
@@ -901,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);
|
||||||
@@ -919,12 +920,10 @@ static int curl_download_internal_sandboxed(alpm_handle_t *handle,
|
|||||||
{
|
{
|
||||||
int pid, err = 0, ret = -1, callbacks_fd[2];
|
int pid, err = 0, ret = -1, callbacks_fd[2];
|
||||||
sigset_t oldblock;
|
sigset_t oldblock;
|
||||||
struct sigaction sa_ign, oldint, oldquit;
|
struct sigaction sa_ign = { .sa_handler = SIG_IGN }, oldint, oldquit;
|
||||||
_alpm_sandbox_callback_context callbacks_ctx;
|
_alpm_sandbox_callback_context callbacks_ctx;
|
||||||
|
|
||||||
sigemptyset(&sa_ign.sa_mask);
|
sigemptyset(&sa_ign.sa_mask);
|
||||||
sa_ign.sa_handler = SIG_IGN;
|
|
||||||
sa_ign.sa_flags=0;
|
|
||||||
|
|
||||||
if(pipe(callbacks_fd) != 0) {
|
if(pipe(callbacks_fd) != 0) {
|
||||||
return -1;
|
return -1;
|
||||||
@@ -1105,29 +1104,34 @@ static int finalize_download_locations(alpm_list_t *payloads, const char *localp
|
|||||||
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;
|
||||||
move_file(payload->tempfile_name, localpath);
|
|
||||||
}
|
|
||||||
if(payload->destfile_name) {
|
if(payload->destfile_name) {
|
||||||
int ret = move_file(payload->destfile_name, localpath);
|
filename = payload->destfile_name;
|
||||||
|
} else {
|
||||||
|
filename = payload->tempfile_name;
|
||||||
|
}
|
||||||
|
|
||||||
if(ret == -1) {
|
int ret = move_file(filename, localpath);
|
||||||
/* ignore error if the file already existed - only signature file was downloaded */
|
|
||||||
if(payload->mtime_existing_file == 0) {
|
|
||||||
returnvalue = -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (payload->download_signature) {
|
if(ret == -1) {
|
||||||
const char sig_suffix[] = ".sig";
|
/* ignore error if the file already existed - only signature file was downloaded */
|
||||||
char *sig_filename = NULL;
|
if(payload->mtime_existing_file == 0) {
|
||||||
size_t sig_filename_len = strlen(payload->destfile_name) + sizeof(sig_suffix);
|
_alpm_log(payload->handle, ALPM_LOG_ERROR, _("could not move %s into %s (%s)\n"),
|
||||||
MALLOC(sig_filename, sig_filename_len, continue);
|
filename, localpath, strerror(errno));
|
||||||
snprintf(sig_filename, sig_filename_len, "%s%s", payload->destfile_name, sig_suffix);
|
returnvalue = -1;
|
||||||
move_file(sig_filename, localpath);
|
|
||||||
FREE(sig_filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (payload->download_signature) {
|
||||||
|
const char sig_suffix[] = ".sig";
|
||||||
|
char *sig_filename = NULL;
|
||||||
|
size_t sig_filename_len = strlen(filename) + sizeof(sig_suffix);
|
||||||
|
MALLOC(sig_filename, sig_filename_len, continue);
|
||||||
|
snprintf(sig_filename, sig_filename_len, "%s%s", filename, sig_suffix);
|
||||||
|
move_file(sig_filename, localpath);
|
||||||
|
FREE(sig_filename);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return returnvalue;
|
return returnvalue;
|
||||||
}
|
}
|
||||||
@@ -1265,7 +1269,7 @@ download_signature:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (finalize_download_locations(payloads, localpath) != 0 && ret == 0) {
|
if (finalize_download_locations(payloads, localpath) != 0 && ret == 0) {
|
||||||
return -1;
|
RET_ERR(handle, ALPM_ERR_RETRIEVE, -1);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -1300,7 +1304,7 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
|
|||||||
|
|
||||||
/* find a valid cache dir to download to */
|
/* find a valid cache dir to download to */
|
||||||
cachedir = _alpm_filecache_setup(handle);
|
cachedir = _alpm_filecache_setup(handle);
|
||||||
temporary_cachedir = _alpm_temporary_download_dir_setup(cachedir, handle->sandboxuser);
|
temporary_cachedir = _alpm_temporary_download_dir_setup(handle, cachedir);
|
||||||
ASSERT(temporary_cachedir != NULL, return -1);
|
ASSERT(temporary_cachedir != NULL, return -1);
|
||||||
|
|
||||||
for(i = urls; i; i = i->next) {
|
for(i = urls; i; i = i->next) {
|
||||||
@@ -1356,12 +1360,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;
|
||||||
@@ -1376,7 +1380,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);
|
||||||
@@ -1408,6 +1413,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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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,7 +137,9 @@ 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");
|
||||||
/* Miscellaenous */
|
/* Miscellaneous */
|
||||||
|
case ALPM_ERR_RETRIEVE_PREPARE:
|
||||||
|
return _("failed to initialize download");
|
||||||
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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -935,6 +935,12 @@ int SYMEXPORT alpm_option_get_remote_file_siglevel(alpm_handle_t *handle)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SYMEXPORT alpm_option_get_disable_dl_timeout(alpm_handle_t *handle)
|
||||||
|
{
|
||||||
|
CHECK_HANDLE(handle, return -1);
|
||||||
|
return handle->disable_dl_timeout;
|
||||||
|
}
|
||||||
|
|
||||||
int SYMEXPORT alpm_option_set_disable_dl_timeout(alpm_handle_t *handle,
|
int SYMEXPORT alpm_option_set_disable_dl_timeout(alpm_handle_t *handle,
|
||||||
unsigned short disable_dl_timeout)
|
unsigned short disable_dl_timeout)
|
||||||
{
|
{
|
||||||
@@ -952,6 +958,12 @@ int SYMEXPORT alpm_option_set_parallel_downloads(alpm_handle_t *handle,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SYMEXPORT alpm_option_get_disable_sandbox(alpm_handle_t *handle)
|
||||||
|
{
|
||||||
|
CHECK_HANDLE(handle, return -1);
|
||||||
|
return handle->disable_sandbox;
|
||||||
|
}
|
||||||
|
|
||||||
int SYMEXPORT alpm_option_set_disable_sandbox(alpm_handle_t *handle,
|
int SYMEXPORT alpm_option_set_disable_sandbox(alpm_handle_t *handle,
|
||||||
unsigned short disable_sandbox)
|
unsigned short disable_sandbox)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -235,7 +235,9 @@ bool _alpm_sandbox_process_cb_download(alpm_handle_t *handle, int callback_pipe)
|
|||||||
ASSERT(read_from_pipe(callback_pipe, filename, filename_size) != -1, FREE(filename); return false);
|
ASSERT(read_from_pipe(callback_pipe, filename, filename_size) != -1, FREE(filename); return false);
|
||||||
filename[filename_size] = '\0';
|
filename[filename_size] = '\0';
|
||||||
|
|
||||||
handle->dlcb(handle->dlcb_ctx, filename, type, &cb_data);
|
if(handle->dlcb) {
|
||||||
|
handle->dlcb(handle->dlcb_ctx, filename, type, &cb_data);
|
||||||
|
}
|
||||||
FREE(filename);
|
FREE(filename);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -150,6 +150,9 @@ bool _alpm_sandbox_fs_restrict_writes_to(alpm_handle_t *handle, const char *path
|
|||||||
path_beneath.parent_fd = open(path, O_PATH | O_CLOEXEC | O_DIRECTORY);
|
path_beneath.parent_fd = open(path, O_PATH | O_CLOEXEC | O_DIRECTORY);
|
||||||
path_beneath.allowed_access = _LANDLOCK_ACCESS_FS_READ | _LANDLOCK_ACCESS_FS_WRITE | _LANDLOCK_ACCESS_FS_TRUNCATE;
|
path_beneath.allowed_access = _LANDLOCK_ACCESS_FS_READ | _LANDLOCK_ACCESS_FS_WRITE | _LANDLOCK_ACCESS_FS_TRUNCATE;
|
||||||
|
|
||||||
|
/* make sure allowed_access is a subset of handled_access_fs, which may change for older landlock ABI */
|
||||||
|
path_beneath.allowed_access &= ruleset_attr.handled_access_fs;
|
||||||
|
|
||||||
if(landlock_add_rule(ruleset_fd, LANDLOCK_RULE_PATH_BENEATH, &path_beneath, 0) == 0) {
|
if(landlock_add_rule(ruleset_fd, LANDLOCK_RULE_PATH_BENEATH, &path_beneath, 0) == 0) {
|
||||||
if(landlock_restrict_self(ruleset_fd, 0)) {
|
if(landlock_restrict_self(ruleset_fd, 0)) {
|
||||||
_alpm_log(handle, ALPM_LOG_ERROR, _("restricting filesystem access failed because the landlock ruleset could not be applied!\n"));
|
_alpm_log(handle, ALPM_LOG_ERROR, _("restricting filesystem access failed because the landlock ruleset could not be applied!\n"));
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -371,46 +371,6 @@ static int key_search_keyserver(alpm_handle_t *handle, const char *fpr,
|
|||||||
pgpkey->expires = key->subkeys->expires;
|
pgpkey->expires = key->subkeys->expires;
|
||||||
pgpkey->length = key->subkeys->length;
|
pgpkey->length = key->subkeys->length;
|
||||||
pgpkey->revoked = key->subkeys->revoked;
|
pgpkey->revoked = key->subkeys->revoked;
|
||||||
/* Initialize with '?', this is overwritten unless public key
|
|
||||||
* algorithm is unknown. */
|
|
||||||
pgpkey->pubkey_algo = '?';
|
|
||||||
|
|
||||||
switch(key->subkeys->pubkey_algo) {
|
|
||||||
case GPGME_PK_RSA:
|
|
||||||
case GPGME_PK_RSA_E:
|
|
||||||
case GPGME_PK_RSA_S:
|
|
||||||
pgpkey->pubkey_algo = 'R';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GPGME_PK_DSA:
|
|
||||||
pgpkey->pubkey_algo = 'D';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GPGME_PK_ELG_E:
|
|
||||||
case GPGME_PK_ELG:
|
|
||||||
case GPGME_PK_ECDSA:
|
|
||||||
case GPGME_PK_ECDH:
|
|
||||||
/* value added in gpgme 1.5.0 */
|
|
||||||
#if GPGME_VERSION_NUMBER >= 0x010500
|
|
||||||
case GPGME_PK_ECC:
|
|
||||||
#endif
|
|
||||||
/* value added in gpgme 1.7.0 */
|
|
||||||
#if GPGME_VERSION_NUMBER >= 0x010700
|
|
||||||
case GPGME_PK_EDDSA:
|
|
||||||
#endif
|
|
||||||
pgpkey->pubkey_algo = 'E';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = 1;
|
|
||||||
|
|
||||||
/* We do not want to add a default switch case above to receive
|
|
||||||
* compiler error on new public key algorithm in gpgme. So check
|
|
||||||
* here if we have a valid pubkey_algo. */
|
|
||||||
if (pgpkey->pubkey_algo == '?') {
|
|
||||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
|
||||||
"unknown public key algorithm: %d\n", key->subkeys->pubkey_algo);
|
|
||||||
}
|
|
||||||
|
|
||||||
gpg_error:
|
gpg_error:
|
||||||
if(ret != 1) {
|
if(ret != 1) {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -780,7 +780,7 @@ static int download_files(alpm_handle_t *handle)
|
|||||||
alpm_list_t *payloads = NULL;
|
alpm_list_t *payloads = NULL;
|
||||||
|
|
||||||
cachedir = _alpm_filecache_setup(handle);
|
cachedir = _alpm_filecache_setup(handle);
|
||||||
temporary_cachedir = _alpm_temporary_download_dir_setup(cachedir, handle->sandboxuser);
|
temporary_cachedir = _alpm_temporary_download_dir_setup(handle, cachedir);
|
||||||
if(temporary_cachedir == NULL) {
|
if(temporary_cachedir == NULL) {
|
||||||
ret = -1;
|
ret = -1;
|
||||||
goto finish;
|
goto finish;
|
||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
@@ -590,9 +591,7 @@ void _alpm_reset_signals(void)
|
|||||||
#endif
|
#endif
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
struct sigaction def;
|
struct sigaction def = { .sa_handler = SIG_DFL };
|
||||||
def.sa_flags = 0;
|
|
||||||
def.sa_handler = SIG_DFL;
|
|
||||||
sigemptyset(&def.sa_mask);
|
sigemptyset(&def.sa_mask);
|
||||||
for(i = signals; *i; i++) {
|
for(i = signals; *i; i++) {
|
||||||
sigaction(*i, &def, NULL);
|
sigaction(*i, &def, NULL);
|
||||||
@@ -951,33 +950,53 @@ const char *_alpm_filecache_setup(alpm_handle_t *handle)
|
|||||||
/** Create a temporary directory under the supplied directory.
|
/** Create a temporary directory under the supplied directory.
|
||||||
* The new directory is writable by the download user, and will be
|
* The new directory is writable by the download user, and will be
|
||||||
* removed after the download operation has completed.
|
* removed after the download operation has completed.
|
||||||
|
* @param handle an alpm handle
|
||||||
* @param dir existing sync or cache directory
|
* @param dir existing sync or cache directory
|
||||||
* @param user download user name
|
|
||||||
* @return pointer to a sub-directory writable by the download user inside the existing directory.
|
* @return pointer to a sub-directory writable by the download user inside the existing directory.
|
||||||
*/
|
*/
|
||||||
char *_alpm_temporary_download_dir_setup(const char *dir, const char *user)
|
char *_alpm_temporary_download_dir_setup(alpm_handle_t *handle, const char *dir)
|
||||||
{
|
{
|
||||||
|
const char *user = handle->sandboxuser;
|
||||||
|
uid_t myuid = getuid();
|
||||||
struct passwd const *pw = NULL;
|
struct passwd const *pw = NULL;
|
||||||
|
|
||||||
ASSERT(dir != NULL, return NULL);
|
ASSERT(dir != NULL, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, NULL));
|
||||||
if(user != NULL) {
|
if(myuid == 0 && user != NULL) {
|
||||||
ASSERT((pw = getpwnam(user)) != NULL, return NULL);
|
errno = 0;
|
||||||
|
pw = getpwnam(user);
|
||||||
|
|
||||||
|
if(pw == NULL) {
|
||||||
|
if(errno == 0) {
|
||||||
|
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||||
|
_("download user '%s' does not exist\n"), user);
|
||||||
|
} else {
|
||||||
|
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||||
|
_("failed to get download user '%s': %s\n"),
|
||||||
|
user, strerror(errno));
|
||||||
|
}
|
||||||
|
RET_ERR(handle, ALPM_ERR_RETRIEVE_PREPARE, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char template[] = "download-XXXXXX";
|
const char template[] = "download-XXXXXX";
|
||||||
size_t newdirlen = strlen(dir) + sizeof(template) + 1;
|
size_t newdirlen = strlen(dir) + sizeof(template) + 1;
|
||||||
char *newdir = NULL;
|
char *newdir = NULL;
|
||||||
MALLOC(newdir, newdirlen, return NULL);
|
MALLOC(newdir, newdirlen, RET_ERR(handle, ALPM_ERR_MEMORY, 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) {
|
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||||
|
_("failed to create temporary download directory %s: %s\n"),
|
||||||
|
newdir, strerror(errno));
|
||||||
free(newdir);
|
free(newdir);
|
||||||
return NULL;
|
RET_ERR(handle, ALPM_ERR_RETRIEVE_PREPARE, NULL);
|
||||||
}
|
}
|
||||||
if(pw != NULL) {
|
if(pw != NULL) {
|
||||||
if(chown(newdir, pw->pw_uid, pw->pw_gid) == -1) {
|
if(chown(newdir, pw->pw_uid, pw->pw_gid) == -1) {
|
||||||
|
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||||
|
_("failed to chown temporary download directory %s: %s\n"),
|
||||||
|
newdir, strerror(errno));
|
||||||
free(newdir);
|
free(newdir);
|
||||||
return NULL;
|
RET_ERR(handle, ALPM_ERR_RETRIEVE_PREPARE, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newdir[newdirlen-2] = '/';
|
newdir[newdirlen-2] = '/';
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -139,7 +139,7 @@ char *_alpm_filecache_find(alpm_handle_t *handle, const char *filename);
|
|||||||
/* Checks whether a file exists in cache */
|
/* Checks whether a file exists in cache */
|
||||||
int _alpm_filecache_exists(alpm_handle_t *handle, const char *filename);
|
int _alpm_filecache_exists(alpm_handle_t *handle, const char *filename);
|
||||||
const char *_alpm_filecache_setup(alpm_handle_t *handle);
|
const char *_alpm_filecache_setup(alpm_handle_t *handle);
|
||||||
char *_alpm_temporary_download_dir_setup(const char *dir, const char *user);
|
char *_alpm_temporary_download_dir_setup(alpm_handle_t *handle, const char *dir);
|
||||||
void _alpm_remove_temporary_download_dir(const char *dir);
|
void _alpm_remove_temporary_download_dir(const char *dir);
|
||||||
|
|
||||||
/* Unlike many uses of alpm_pkgvalidation_t, _alpm_test_checksum expects
|
/* Unlike many uses of alpm_pkgvalidation_t, _alpm_test_checksum expects
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -51,8 +51,8 @@ library_depends() {
|
|||||||
|
|
||||||
unset prefix
|
unset prefix
|
||||||
for libdir in ${LIB_DIRS[@]}; do
|
for libdir in ${LIB_DIRS[@]}; do
|
||||||
if [[ ${libdir/*:} == ${libpath} ]]; then
|
if [[ ${libdir#*:} == ${libpath} ]]; then
|
||||||
prefix=${libdir/:*}
|
prefix=${libdir%%:*}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -28,8 +28,8 @@ autodep_functions+=('library_provides')
|
|||||||
library_provides() {
|
library_provides() {
|
||||||
if check_option "autodeps" "y"; then
|
if check_option "autodeps" "y"; then
|
||||||
for lib in ${LIB_DIRS[@]}; do
|
for lib in ${LIB_DIRS[@]}; do
|
||||||
dir=${lib/*:}
|
dir=${lib#*:}
|
||||||
prefix=${lib/:*}
|
prefix=${lib%%:*}
|
||||||
|
|
||||||
if [[ ! -d "$pkgdir/$dir" ]]; then
|
if [[ ! -d "$pkgdir/$dir" ]]; then
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -44,8 +44,9 @@ buildenv_ccache() {
|
|||||||
buildenv_distcc() {
|
buildenv_distcc() {
|
||||||
if check_buildoption "distcc" "y"; then
|
if check_buildoption "distcc" "y"; then
|
||||||
if (( using_ccache )); then
|
if (( using_ccache )); then
|
||||||
if [[ " $CCACHE_PREFIX " != *" distcc "* ]]; then
|
local distcc=$(type -p distcc)
|
||||||
export CCACHE_PREFIX="${CCACHE_PREFIX:+$CCACHE_PREFIX }distcc"
|
if [[ " $CCACHE_PREFIX " != *" ${distcc} "* ]]; then
|
||||||
|
export CCACHE_PREFIX="${CCACHE_PREFIX:+$CCACHE_PREFIX }${distcc}"
|
||||||
fi
|
fi
|
||||||
export CCACHE_BASEDIR="$srcdir"
|
export CCACHE_BASEDIR="$srcdir"
|
||||||
elif [[ -d /usr/lib/distcc/bin ]]; then
|
elif [[ -d /usr/lib/distcc/bin ]]; then
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user