mirror of
https://gitlab.archlinux.org/pacman/pacman.git
synced 2025-11-05 10:05:20 +01:00
Compare commits
326 Commits
v5.0.2
...
release/5.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4c7a06f79 | ||
|
|
1bf7672343 | ||
|
|
9702703633 | ||
|
|
0b36d87817 | ||
|
|
f8c73464c9 | ||
|
|
48a6adee3e | ||
|
|
cfa1e8b5e2 | ||
|
|
3a88fcb191 | ||
|
|
2a7bdd3e3a | ||
|
|
b39a62f575 | ||
|
|
cad8fe2fbf | ||
|
|
0dbb945387 | ||
|
|
519685e4b1 | ||
|
|
4fc7c1d41e | ||
|
|
5e81518ecb | ||
|
|
7e081d2adf | ||
|
|
1a5f308d52 | ||
|
|
2d8a751943 | ||
|
|
13fb2430e8 | ||
|
|
0827aff85e | ||
|
|
316b031b7c | ||
|
|
757e85b21d | ||
|
|
41cbea29b4 | ||
|
|
0adb36346c | ||
|
|
acef70c103 | ||
|
|
8b4be66a30 | ||
|
|
9a8c7154b1 | ||
|
|
4fe9adf418 | ||
|
|
0d6e82d374 | ||
|
|
d750c854bc | ||
|
|
72263e22bd | ||
|
|
a92a36070a | ||
|
|
5cf6f614eb | ||
|
|
793202344b | ||
|
|
e6dbe82c0c | ||
|
|
05a3641c76 | ||
|
|
ab1e92860b | ||
|
|
b37a6063d0 | ||
|
|
f78914cc6e | ||
|
|
de8c5e78bb | ||
|
|
737596f038 | ||
|
|
870d4c8fdd | ||
|
|
c37a06fe1d | ||
|
|
9eb3695a3f | ||
|
|
3a66b93be0 | ||
|
|
930d501947 | ||
|
|
716d776936 | ||
|
|
be4c491ceb | ||
|
|
ca128f2eff | ||
|
|
3b2e09740c | ||
|
|
eeb228c32e | ||
|
|
64e3a462c6 | ||
|
|
ab6d8614d5 | ||
|
|
6341e5ce23 | ||
|
|
652438772e | ||
|
|
1e7a191136 | ||
|
|
076b6184de | ||
|
|
860e4c4943 | ||
|
|
9aec7c3c72 | ||
|
|
03272ad571 | ||
|
|
40937b381a | ||
|
|
af6125fbcc | ||
|
|
0d356c27c1 | ||
|
|
1741bdaf81 | ||
|
|
828f305023 | ||
|
|
5698d7b66d | ||
|
|
f173f6d0da | ||
|
|
2b4c996b86 | ||
|
|
542c3cf812 | ||
|
|
2c94118dc1 | ||
|
|
fa8b99189e | ||
|
|
77986af9b7 | ||
|
|
c3402ab44e | ||
|
|
4d1e27957d | ||
|
|
254a8e2e05 | ||
|
|
6018063ef6 | ||
|
|
ab7393c53e | ||
|
|
91b72cc386 | ||
|
|
bcaf1b84ff | ||
|
|
27f64e3789 | ||
|
|
9ca88575e6 | ||
|
|
9e52a36794 | ||
|
|
f054351e52 | ||
|
|
9c8d7a8093 | ||
|
|
c54621d819 | ||
|
|
d8717a6a96 | ||
|
|
0565cebfc3 | ||
|
|
3e619ccffe | ||
|
|
1b288bae1f | ||
|
|
b6bb8cb7dc | ||
|
|
d884a791b9 | ||
|
|
a5dd5d4141 | ||
|
|
5c1853124d | ||
|
|
55092d0fa7 | ||
|
|
e4e0add629 | ||
|
|
03ce7cc4eb | ||
|
|
b3a1f89611 | ||
|
|
df0a8f7406 | ||
|
|
c968e625e8 | ||
|
|
0e260f9335 | ||
|
|
2dd8b88d5c | ||
|
|
d8591dd341 | ||
|
|
a100cd6bca | ||
|
|
640c2462bb | ||
|
|
a278356f75 | ||
|
|
a7dbe4635b | ||
|
|
9058d7fe9a | ||
|
|
d911438352 | ||
|
|
19dabcc19a | ||
|
|
b2e088e42c | ||
|
|
d9eda13fc6 | ||
|
|
170bb80a1f | ||
|
|
fa745fb467 | ||
|
|
0bbf9ddf9d | ||
|
|
e8462a4f88 | ||
|
|
653d2dc86d | ||
|
|
4d80d87f90 | ||
|
|
2bda849bf9 | ||
|
|
59b6fdeee1 | ||
|
|
24ab8717d4 | ||
|
|
3a9a510ca8 | ||
|
|
8bf972824a | ||
|
|
eba623b443 | ||
|
|
59bb21fce3 | ||
|
|
d0981d4c5b | ||
|
|
3d4e95e526 | ||
|
|
135f4397c2 | ||
|
|
8bec63bf92 | ||
|
|
259d521e37 | ||
|
|
1825bd6716 | ||
|
|
2fb8081d05 | ||
|
|
c50ce453dc | ||
|
|
ad0517d371 | ||
|
|
44f3a15798 | ||
|
|
ab2be5794d | ||
|
|
67ce123457 | ||
|
|
e4f13e62cf | ||
|
|
62bfba53db | ||
|
|
2ddbc6964b | ||
|
|
4dae3fde17 | ||
|
|
39319c1860 | ||
|
|
64b7edd2fe | ||
|
|
064e7280cb | ||
|
|
b4a197a615 | ||
|
|
2b1b7b7075 | ||
|
|
fa8419a0b5 | ||
|
|
bcc9c417ae | ||
|
|
c44c649a52 | ||
|
|
9ab44178f4 | ||
|
|
1c8b3f2562 | ||
|
|
d170c4580c | ||
|
|
b14ff66038 | ||
|
|
d4193d43cf | ||
|
|
9c604af0a0 | ||
|
|
3c433abb54 | ||
|
|
d30878763c | ||
|
|
5f38128686 | ||
|
|
5a1bf3d803 | ||
|
|
63087c31b5 | ||
|
|
a2b776f6c9 | ||
|
|
1bc79cb9a5 | ||
|
|
f4e2009e9b | ||
|
|
bf468c0956 | ||
|
|
12f74fd895 | ||
|
|
bf23f85d4a | ||
|
|
c6b04c0465 | ||
|
|
c0a5884b18 | ||
|
|
4f2fea240d | ||
|
|
3c013f68ac | ||
|
|
fae33a1faf | ||
|
|
6a4c6a02de | ||
|
|
6d1dcf7937 | ||
|
|
16b91f798f | ||
|
|
f9de3b22ad | ||
|
|
a8670304c9 | ||
|
|
098e114f58 | ||
|
|
1550938ce1 | ||
|
|
9c763a0d1b | ||
|
|
13ec13c85e | ||
|
|
04d211effa | ||
|
|
86f5c74694 | ||
|
|
1af766987f | ||
|
|
d9908fc1f2 | ||
|
|
a138db3c07 | ||
|
|
a202959a19 | ||
|
|
5678298f7d | ||
|
|
c635f185ba | ||
|
|
64bd242863 | ||
|
|
008fe7b24f | ||
|
|
9ad7cda9d8 | ||
|
|
8b0d59b83a | ||
|
|
37a89e2fac | ||
|
|
eaa82b4d07 | ||
|
|
42e7020281 | ||
|
|
0994893b0e | ||
|
|
aa44824788 | ||
|
|
6444ccbaf0 | ||
|
|
585bd89803 | ||
|
|
01a6502169 | ||
|
|
9c3bf2988f | ||
|
|
b6753eeb7e | ||
|
|
8a19c4a782 | ||
|
|
67602c4cf7 | ||
|
|
d8367162e8 | ||
|
|
d0a5766e24 | ||
|
|
36eb35cacd | ||
|
|
2c4511bdbe | ||
|
|
1a2d5bee3b | ||
|
|
3a4623b10a | ||
|
|
5dfa3c8f6a | ||
|
|
9a4d616220 | ||
|
|
c40ee73bc4 | ||
|
|
fc756c3c70 | ||
|
|
36f456ccae | ||
|
|
97459e9eb7 | ||
|
|
46324d9b26 | ||
|
|
e83e868a77 | ||
|
|
c3b954e7b9 | ||
|
|
e3e9cc14a5 | ||
|
|
5dd764eb47 | ||
|
|
46101bea1c | ||
|
|
d3dc200263 | ||
|
|
7114ca6208 | ||
|
|
263e65dbb3 | ||
|
|
0b30edacd4 | ||
|
|
90f1dd1657 | ||
|
|
9ce2c9b187 | ||
|
|
cef0d726b4 | ||
|
|
e7fc560866 | ||
|
|
37b73fe4fb | ||
|
|
0dbc55a357 | ||
|
|
5fbb361261 | ||
|
|
a79c0038ae | ||
|
|
fa06951d90 | ||
|
|
a55adb81d0 | ||
|
|
a79be86f57 | ||
|
|
e8c35bea2b | ||
|
|
4c4ce473d6 | ||
|
|
577701250d | ||
|
|
603f087cd7 | ||
|
|
1f8f0bd9ac | ||
|
|
dfc78129be | ||
|
|
aca153bfa6 | ||
|
|
8c55c0096c | ||
|
|
ad27aa30fb | ||
|
|
e2b4e220bc | ||
|
|
0c99eabd50 | ||
|
|
2e76c184aa | ||
|
|
d590a45795 | ||
|
|
3190b87b65 | ||
|
|
87ee9693bd | ||
|
|
05e1b8de1a | ||
|
|
0d2ba870c9 | ||
|
|
ae56a32273 | ||
|
|
5fcc054421 | ||
|
|
130c0d5496 | ||
|
|
8f4a67bda9 | ||
|
|
c7da5a6ef2 | ||
|
|
3a00bc31f2 | ||
|
|
5c549b0e1d | ||
|
|
52ec8dfffe | ||
|
|
7568928e71 | ||
|
|
45b6a3074a | ||
|
|
6a5156eedc | ||
|
|
85171807c1 | ||
|
|
34f3f1e7a6 | ||
|
|
07d1e0441b | ||
|
|
900a22b90c | ||
|
|
38e229e4db | ||
|
|
fac4831a09 | ||
|
|
d560a9aecd | ||
|
|
1dbfef7b1c | ||
|
|
e28c5803bb | ||
|
|
1e2b398406 | ||
|
|
406c9b66b4 | ||
|
|
6c15cc4d22 | ||
|
|
6d8e3d2a91 | ||
|
|
1ec7fa89ad | ||
|
|
69aee3e391 | ||
|
|
58140dba74 | ||
|
|
56de155296 | ||
|
|
5b839c58ee | ||
|
|
56ae960376 | ||
|
|
be1ffedaf6 | ||
|
|
c981f5ad76 | ||
|
|
af83a58574 | ||
|
|
5fcd60e264 | ||
|
|
681509fd44 | ||
|
|
1291c04961 | ||
|
|
80d97fcf75 | ||
|
|
0f0b192d8a | ||
|
|
6ac2ee21b3 | ||
|
|
7a9d8b7001 | ||
|
|
839417e8c6 | ||
|
|
f018317f48 | ||
|
|
4f114f3817 | ||
|
|
892a1076c0 | ||
|
|
87082e3f44 | ||
|
|
7bebe4deff | ||
|
|
02a0bf550a | ||
|
|
3729ef7a9a | ||
|
|
b012da645e | ||
|
|
6c96ad36e0 | ||
|
|
5b9bc6024c | ||
|
|
2694d17ad9 | ||
|
|
0088a7ab1c | ||
|
|
7e7c64f513 | ||
|
|
7d1ea0b814 | ||
|
|
502e0d1db0 | ||
|
|
a194fb434e | ||
|
|
ee960048b2 | ||
|
|
3ed57be450 | ||
|
|
4960be7764 | ||
|
|
5901038610 | ||
|
|
2ee1706a72 | ||
|
|
4cad2423a3 | ||
|
|
baf1ff64e6 | ||
|
|
02731189f1 | ||
|
|
1a94c00e36 | ||
|
|
f363cf7857 | ||
|
|
af5d69d59d | ||
|
|
3da06c3519 | ||
|
|
59112e186b | ||
|
|
76a7d2293c | ||
|
|
8ff03868a3 | ||
|
|
1a29744d0d |
20
.editorconfig
Normal file
20
.editorconfig
Normal file
@@ -0,0 +1,20 @@
|
||||
# EditorConfig configuration for pacman
|
||||
# http://EditorConfig.org
|
||||
|
||||
# Top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Unix-style newlines without trailing whitespaces, but with a newline
|
||||
# ending every file, utf-8 charset, set indent to tabs
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
charset = utf-8
|
||||
indent_style = tab
|
||||
|
||||
[{NEWS,HACKING}]
|
||||
indent_style = space
|
||||
|
||||
[*.py]
|
||||
indent_style = space
|
||||
13
HACKING
13
HACKING
@@ -11,13 +11,8 @@ Coding Style
|
||||
|
||||
1. All code should be indented with tabs. (Ignore the use of only spaces in
|
||||
this file.) A tab size of two spaces is used when calculating line widths,
|
||||
which should be a maximum of 80 characters. By default, source files
|
||||
contain the following Vim modeline:
|
||||
+
|
||||
[source,C]
|
||||
-------------------------------------------
|
||||
/* vim: set noet: */
|
||||
-------------------------------------------
|
||||
which should be a maximum of 80 characters. An EditorConfig file is used
|
||||
to set this project-wide default.
|
||||
|
||||
2. When opening new blocks such as 'while', 'if', or 'for', leave the opening
|
||||
brace on the same line as the beginning of the codeblock. The closing brace
|
||||
@@ -194,7 +189,3 @@ For example, to run valgrind:
|
||||
|
||||
./src/pacman/pacman
|
||||
valgrind --leak-check=full -- src/pacman/.libs/lt-pacman -Syu
|
||||
|
||||
/////
|
||||
vim:set syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
|
||||
@@ -3,7 +3,7 @@ if WANT_DOC
|
||||
SUBDIRS += doc
|
||||
endif
|
||||
|
||||
DIST_SUBDIRS = $(SUBDIRS) contrib src/common
|
||||
DIST_SUBDIRS = $(SUBDIRS) src/common
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4 --install
|
||||
AM_MAKEFLAGS = --no-print-directory
|
||||
@@ -30,7 +30,6 @@ TESTS = test/scripts/parseopts_test.sh \
|
||||
test/scripts/human_to_size_test.sh \
|
||||
test/scripts/makepkg-template_test.sh \
|
||||
test/scripts/pacman-db-upgrade-v9.py \
|
||||
test/util/pacsorttest.sh \
|
||||
test/util/vercmptest.sh
|
||||
include $(top_srcdir)/test/pacman/tests/TESTS
|
||||
|
||||
@@ -39,7 +38,8 @@ TEST_EXTENSIONS = .py
|
||||
AM_TESTS_ENVIRONMENT = \
|
||||
PMTEST_UTIL_DIR=$(top_builddir)/src/util/; export PMTEST_UTIL_DIR; \
|
||||
PMTEST_SCRIPT_DIR=$(top_builddir)/scripts/; export PMTEST_SCRIPT_DIR; \
|
||||
PMTEST_SCRIPTLIB_DIR=$(top_srcdir)/scripts/library/; export PMTEST_SCRIPTLIB_DIR;
|
||||
PMTEST_SCRIPTLIB_DIR=$(top_srcdir)/scripts/library/; export PMTEST_SCRIPTLIB_DIR; \
|
||||
PMTEST_LIBMAKEPKG_DIR=$(top_builddir)/scripts/libmakepkg/; export PMTEST_LIBMAKEPKG_DIR;
|
||||
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
|
||||
$(top_srcdir)/build-aux/tap-driver.sh
|
||||
PY_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
|
||||
@@ -69,5 +69,3 @@ update-copyright:
|
||||
done
|
||||
|
||||
.PHONY: update-po update-copyright
|
||||
|
||||
# vim:set noet:
|
||||
|
||||
164
NEWS
164
NEWS
@@ -1,23 +1,151 @@
|
||||
VERSION DESCRIPTION
|
||||
-----------------------------------------------------------------------------
|
||||
5.0.2 - fix database file checks with -Qkk and non-standard root
|
||||
(FS#48563)
|
||||
- improve optdepend detection for status messages (FS#44957)
|
||||
- make Y/N prompt multi-byte-character aware (FS#47992)
|
||||
- properly detect dependency cycles with --recursive (FS#41031)
|
||||
- improve free disk space calculation (FS#37402)
|
||||
- extract database files with --dbonly (FS#52052)
|
||||
- repo-add:
|
||||
- do not alter the database if only verifying signature
|
||||
(FS#48085)
|
||||
- fix error for directories containing whitespace (FS#50285)
|
||||
5.1.3 - Sanitize file path received from Content-Disposition header
|
||||
to fix potential arbitary code execution
|
||||
5.1.2 - pacman-conf: add missing DisableDownloadTimeout support
|
||||
- Include version when checking optdepend install status
|
||||
during -Qi (FS#60106)
|
||||
- Improve error message for unresolvable urls (FS#48285)
|
||||
- Do not raise SIGINT when a downloaded file exceeds the expected
|
||||
size
|
||||
- Fix previous download interruption status carrying over to new
|
||||
downloads
|
||||
- Reset known signal handlers before running install scripts or
|
||||
hooks (FS#56756)
|
||||
- Properly handle signal interrupts while running install scripts
|
||||
or hooks (FS#60396)
|
||||
- Allow explicitly disabling signature checks when compiled
|
||||
without signature support (FS#60880)
|
||||
- makepkg: fix linting error on environment variables (FS#60681)
|
||||
5.1.1 - Allow full path including root prefix to be passed to
|
||||
--overwrite
|
||||
- Revert deprecation of --root
|
||||
- Document comment syntax restrictions in pacman.conf
|
||||
- makepkg:
|
||||
- fix building packages with only architecture-specific
|
||||
sources (FS#48340)
|
||||
- ignore PKGBUILD architecture for --printsrcinfo
|
||||
- do not die on non-empty directories under !emptydirs
|
||||
(FS#48515)
|
||||
- preserve checksum type for architecture-specific sources
|
||||
- handle pre-existing directories when checking for write
|
||||
permissions
|
||||
- reduce restrictions on pkgver in depends listings (FS#58776)
|
||||
- permit versioned optdepends
|
||||
- remove unintended chmod of $BUILDDIR (FS#58790)
|
||||
- fix issue when $startdir was not an absolute path (FS#58865)
|
||||
- fix syntax error when $pkgname is empty
|
||||
- fix --nocolor being passed to pacman (FS#58820)
|
||||
- fix issues with trap handling
|
||||
- fix several issues with debug packages (signing, printing of
|
||||
package names, clearing of global package options, source
|
||||
file inclusion)
|
||||
- fix --help text for --packagelist
|
||||
- pacman-conf: Fix detection of Usage option
|
||||
5.1.0 - Add new --overwrite option and deprecate --force. This accepts a
|
||||
glob pattern with far more control than the widely abused force
|
||||
option which mostly just causes issues (FS#31549)
|
||||
- Add new --sysroot option and deprecate --root. This uses the
|
||||
guest configuration instead of the host configuration, which is
|
||||
what most people erroneously thought --root would do
|
||||
- introduce a 'disable-download-timeout' option
|
||||
- remove contrib - this is now maintained in a separate project
|
||||
- report the owner of an existing file, if any, when erroring out
|
||||
on a file conflict
|
||||
- resolve cyclic dependencies when calculating unneeded dependency
|
||||
trees (FS#41031)
|
||||
- report the needed command to download missing databases for the
|
||||
-F and -S actions
|
||||
- don't error if -Qo cannot find the file it is querying on disk
|
||||
(FS#55856)
|
||||
- support new-style OpenPGP format packets lengths
|
||||
- support EDDSA from gpgme 1.7.0
|
||||
- fix continuously trying to open invalid databases and reporting
|
||||
excessively excessive redundant error messages excessively
|
||||
- fix the download callback erroneously reporting itself too many
|
||||
times with --noprogressbar, or reporting inaccurate times for
|
||||
small files (FS#56408, FS#56468)
|
||||
- fix erroneous negative speed in download progressbar (FS#43434)
|
||||
- parse stdin as newline-separated instead of whitespace-separated
|
||||
(FS#52992)
|
||||
- when printing urls in the package cache, print the file url
|
||||
instead (FS#15868)
|
||||
- add color to group selection dialogs and -{F,Q}o
|
||||
- the -Q option now respects provides (FS#20650)
|
||||
- remove notification of system upgrade when only printing URLs
|
||||
- print replacements when using -Sup (FS#35812)
|
||||
- fix -Qk and -r checking for the root prefix twice (FS#48563)
|
||||
- Do not recognize # as a comment unless it is at the beginning of
|
||||
a line. This allows using it as a value in ini files (FS#48702)
|
||||
- ignore comments when examining INSTALL files (FS#51916)
|
||||
- match multi-byte user input properly (FS#47992)
|
||||
- abort transactions if even one database fails to sync (FS#47599)
|
||||
- do not resolve uid/gid to names when extracting files with -r
|
||||
- --dbonly now properly extracts metadata files (FS#52052)
|
||||
- remove support for internal checksumming implementations, and
|
||||
require at least one of openssl or nettle to exist
|
||||
- consider provides to satisfy optdepends when warning for removal
|
||||
or logging new optdepends during a transaction, as was already
|
||||
the case for -Qi
|
||||
- -Dk now reports if it is successful (FS#50087)
|
||||
- consider version for optdepends (FS#44957)
|
||||
- remove vim modelines in favor of EditorConfig
|
||||
- implement pacman-conf, a new tool to safely parse pacman.conf,
|
||||
and use it in internal scripts
|
||||
- bash completion now completes -Qn
|
||||
- various small documentation updates
|
||||
- makepkg:
|
||||
- Reproducible build support. makepkg now respects environment
|
||||
SOURCE_DATE_EPOCH when creating package metadata, and unifies
|
||||
source file timestamps to match
|
||||
- add more info to .BUILDINFO to aid in reproducing the build
|
||||
environment of a package
|
||||
- it is now possible to check the signature of VCS sources
|
||||
(currently only git is supported)
|
||||
- use informative exit codes when exiting with errors (FS#54204)
|
||||
- lint_pkgbuild has vastly improved linting of pkgname and
|
||||
variables that can contain pkgname/pkgver (FS#57833)
|
||||
- implement linting for makepkg.conf
|
||||
- fix using libmakepkg in external scripts without extglob
|
||||
- fix handling of configurable directories e.g. PKGDEST to align
|
||||
with their documented behavior, and consistently check that
|
||||
they can be used (FS#43537)
|
||||
- parseopts, srcinfo, and integrity are now part of libmakepkg
|
||||
- consistently use coreutils for checksumming instead of openssl
|
||||
(which may be replaced by nettle in pacman)
|
||||
- lint build_references now prints affected filenames (FS#31558)
|
||||
- lint_package can now abort on fatal packaging errors
|
||||
- lint_package now checks for filenames with newline characters
|
||||
- lint_package now checks for root-level /.dotfiles
|
||||
- debug packages are now per pkgbase, not per pkgname
|
||||
- debug packages now contain source files to allow the debugger
|
||||
to step through code
|
||||
- remove optipng and upx support - these can now be plugged into
|
||||
libmakepkg
|
||||
- fix emptydirs support with newer findutils (FS#48515)
|
||||
- ignore architecture for --printsrcinfo
|
||||
- makepkg --printsrcinfo now correctly lists depends_$CARCH
|
||||
instead of merging this into depends
|
||||
- fix bug in is_array that broke packages with arch-dependent
|
||||
sources only (FS#48340)
|
||||
- move package signing outside of fakeroot which is incompatible
|
||||
with recent gnupg versions (FS#49946)
|
||||
- makepkg --clean now cleans up logfiles (FS#51039)
|
||||
- when using $PKGDEST, do not symlink build artifacts into
|
||||
current directory
|
||||
- --packagelist now lists the built filenames, rather than all
|
||||
possible basenames without extensions
|
||||
- fix --geninteg not properly ignoring renamed signature files
|
||||
- use localized date strings
|
||||
- ensure sane umask is set both before and after installing deps
|
||||
- adapt to file(1) changes in order to continue to strip PIE
|
||||
executables
|
||||
- repo-add:
|
||||
- don't recreate the database when only verifying signature
|
||||
(FS#48085)
|
||||
- fix error when repo directory path contains spaces (FS#50285)
|
||||
- pacman-key:
|
||||
- reject armored signatures
|
||||
- don't set a default keyserver, deferring to gpg's sane default
|
||||
- disable scdaemon as we don't use it and it breaks --lsign when
|
||||
a smartcard is plugged into the machine
|
||||
- vercmp:
|
||||
- remove duplicate, undocumented --usage option
|
||||
- fail when the wrong number of arguments are used (FS#49093)
|
||||
5.0.1 - fix alignment issues with wide character locales (FS#47980)
|
||||
- fix removal of .pacnew files (FS#47993)
|
||||
- fix triggering of Install hooks (FS#47996)
|
||||
@@ -1276,5 +1404,3 @@ VERSION DESCRIPTION
|
||||
backed up, then it will be copied to "file.save"
|
||||
- Changed db_find_conflicts() to ignore directories
|
||||
1.0 - Initial Release
|
||||
|
||||
vim: set et spell spelllang=en_us:
|
||||
|
||||
39
README
39
README
@@ -592,3 +592,42 @@ API CHANGES BETWEEN 4.2 AND 5.0
|
||||
- ALPM_EVENT_TRANSACTION_START, ALPM_EVENT_TRANSACTION_DONE
|
||||
- database unlocking
|
||||
- alpm_unlock()
|
||||
|
||||
|
||||
API CHANGES BETWEEN 5.0 AND 5.1
|
||||
===============================
|
||||
|
||||
[CHANGED]
|
||||
- alpm_errno_t - added member ALPM_ERR_OK
|
||||
- alpm_siglevel_t - value of ALPM_SIG_USE_DEFAULT changed
|
||||
- functions using bitfields return/pass an int instead of an enum
|
||||
- alpm_option_get_default_siglevel()
|
||||
- alpm_option_set_default_siglevel()
|
||||
- alpm_option_get_remote_file_siglevel()
|
||||
- alpm_option_set_remote_file_siglevel()
|
||||
- alpm_register_syncdb()
|
||||
- alpm_db_get_siglevel()
|
||||
- alpm_db_set_usage()
|
||||
- alpm_db_get_usage()
|
||||
- alpm_pkg_load()
|
||||
- alpm_pkg_get_validation()
|
||||
- alpm_trans_get_flags()
|
||||
- alpm_trans_init()
|
||||
- alpm_option_get_local_file_siglevel()
|
||||
- alpm_option_set_local_file_siglevel()
|
||||
|
||||
[ADDED]
|
||||
- overwrite support
|
||||
- alpm_option_get_overwrite_files()
|
||||
- alpm_option_set_overwrite_files()
|
||||
- alpm_option_add_overwrite_file()
|
||||
- alpm_option_remove_overwrite_file()
|
||||
- download timeout control
|
||||
- alpm_option_set_disable_dl_timeout()
|
||||
- access make/checkdepends info
|
||||
- alpm_pkg_get_checkdepends()
|
||||
- alpm_pkg_get_makedepends()
|
||||
- check pacman capabilities
|
||||
- alpm_capabilities()
|
||||
- duplicate and add to list
|
||||
- alpm_list_append_strdup()
|
||||
|
||||
23
RELEASE
Normal file
23
RELEASE
Normal file
@@ -0,0 +1,23 @@
|
||||
The following checklist should be used for making a pacman release.
|
||||
|
||||
- Ensure "make distcheck" succeeds
|
||||
- Call a freeze to development.
|
||||
- Send translation updates to Transifex at least two weeks before a major
|
||||
release (see below). At this stage, strings can only be changed for a
|
||||
major issue.
|
||||
- Update NEWS and README files
|
||||
- Pull translation updates from Transifex
|
||||
- Update version in configure.ac as described in file
|
||||
- Update doc/index.asciidoc
|
||||
- Create a signed git tag (git tag -s vX.Y.Z -m "commit message")
|
||||
- Create and sign release tarballs (generate with "make distcheck")
|
||||
- Update pacman website
|
||||
|
||||
Transifex updates are handled using the transifex client. The basic process is:
|
||||
- Pull updates from transifex ("tx pull -a -f --minimum-perc 75")
|
||||
- Update po files ("make update-po")
|
||||
- Fix all translation errors found
|
||||
- Add any new locales to the relevant LINGUAS file
|
||||
- Optional: Make any manual changes needed (e.g. fixing spacing in a string)
|
||||
and update po files again
|
||||
- Push updated po files to transifex ("tx push -s -t --skip")
|
||||
89
configure.ac
89
configure.ac
@@ -1,7 +1,7 @@
|
||||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
# Minimum version of autoconf required
|
||||
AC_PREREQ(2.62)
|
||||
AC_PREREQ(2.64)
|
||||
|
||||
# UPDATING VERSION NUMBERS FOR RELEASES
|
||||
#
|
||||
@@ -41,13 +41,13 @@ AC_PREREQ(2.62)
|
||||
# Bugfix releases:
|
||||
# pacman_version_micro += 1
|
||||
|
||||
m4_define([lib_current], [10])
|
||||
m4_define([lib_revision], [2])
|
||||
m4_define([lib_current], [11])
|
||||
m4_define([lib_revision], [3])
|
||||
m4_define([lib_age], [0])
|
||||
|
||||
m4_define([pacman_version_major], [5])
|
||||
m4_define([pacman_version_minor], [0])
|
||||
m4_define([pacman_version_micro], [2])
|
||||
m4_define([pacman_version_minor], [1])
|
||||
m4_define([pacman_version_micro], [3])
|
||||
m4_define([pacman_version],
|
||||
[pacman_version_major.pacman_version_minor.pacman_version_micro])
|
||||
|
||||
@@ -120,10 +120,11 @@ AC_ARG_WITH(ldconfig,
|
||||
[set the full path to ldconfig]),
|
||||
[LDCONFIG=$withval], [LDCONFIG=/sbin/ldconfig])
|
||||
|
||||
# Help line for using OpenSSL
|
||||
AC_ARG_WITH(openssl,
|
||||
AS_HELP_STRING([--with-openssl], [use OpenSSL crypto implementations instead of internal routines]),
|
||||
[], [with_openssl=check])
|
||||
# Help line for selecting a crypto library
|
||||
AC_ARG_WITH(crypto,
|
||||
AS_HELP_STRING([--with-crypto={openssl|nettle}],
|
||||
[select crypto implementation @<:@default=openssl@:>@]),
|
||||
[with_crypto=$withval], [with_crypto=openssl])
|
||||
|
||||
# Help line for using gpgme
|
||||
AC_ARG_WITH(gpgme,
|
||||
@@ -215,30 +216,47 @@ AC_CHECK_LIB([m], [fabs], ,
|
||||
AC_MSG_ERROR([libm is needed to compile pacman!]))
|
||||
|
||||
# Check for libarchive
|
||||
PKG_CHECK_MODULES(LIBARCHIVE, [libarchive >= 2.8.0], ,
|
||||
AC_MSG_ERROR([*** libarchive >= 2.8.0 is needed to compile pacman!]))
|
||||
PKG_CHECK_MODULES(LIBARCHIVE, [libarchive >= 3.0.0], ,
|
||||
AC_MSG_ERROR([*** libarchive >= 3.0.0 is needed to compile pacman!]))
|
||||
|
||||
# Check for OpenSSL
|
||||
have_openssl=no
|
||||
if test "x$with_openssl" != "xno"; then
|
||||
have_nettle=no
|
||||
if test "x$with_crypto" = "xnettle"; then
|
||||
AC_SUBST(pc_crypto, [nettle])
|
||||
PKG_CHECK_MODULES(NETTLE, [nettle],
|
||||
[AC_DEFINE(HAVE_LIBNETTLE, 1, [Define whether to use nettle]) have_nettle=yes], have_nettle=no)
|
||||
if test "x$have_nettle" = xno -a "x$with_crypto" = xnettle; then
|
||||
AC_MSG_ERROR([*** nettle support requested but libraries not found])
|
||||
fi
|
||||
else if test "x$with_crypto" = "xopenssl"; then
|
||||
AC_SUBST(pc_crypto, [libcrypto])
|
||||
PKG_CHECK_MODULES(LIBSSL, [libcrypto],
|
||||
[AC_DEFINE(HAVE_LIBSSL, 1, [Define if libcrypto is available]) have_openssl=yes], have_openssl=no)
|
||||
if test "x$have_openssl" = xno -a "x$with_openssl" = xyes; then
|
||||
if test "x$have_openssl" = xno; then
|
||||
AC_MSG_ERROR([*** openssl support requested but libraries not found])
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([*** unknown crypto support library requested - $with_crypto])
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_LIBSSL, [test "$have_openssl" = "yes"])
|
||||
AM_CONDITIONAL(HAVE_LIBNETTLE, [test "$have_nettle" = "yes"])
|
||||
|
||||
# Check for libcurl
|
||||
have_libcurl=no
|
||||
if test "x$with_libcurl" != "xno"; then
|
||||
PKG_CHECK_MODULES(LIBCURL, [libcurl >= 7.19.4],
|
||||
PKG_CHECK_MODULES(LIBCURL, [libcurl >= 7.32.0],
|
||||
[AC_DEFINE(HAVE_LIBCURL, 1, [Define if libcurl is available]) have_libcurl=yes], have_libcurl=no)
|
||||
if test "x$have_libcurl" = xno -a "x$with_libcurl" = xyes; then
|
||||
AC_MSG_ERROR([*** libcurl >= 7.19.4 is required for internal downloader support])
|
||||
AC_MSG_ERROR([*** libcurl >= 7.32.0 is required for internal downloader support])
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_LIBCURL, [test "$have_libcurl" = "yes"])
|
||||
# used to generate libalpm.pc
|
||||
if test "x$have_libcurl" = xyes; then
|
||||
AC_SUBST(pc_libcurl, [libcurl])
|
||||
fi
|
||||
|
||||
# Check for gpgme
|
||||
AC_MSG_CHECKING(whether to link with libgpgme)
|
||||
@@ -326,12 +344,11 @@ AC_CHECK_MEMBERS([struct statfs.f_flags],,,[[#include <sys/param.h>
|
||||
GCC_VISIBILITY_CC
|
||||
|
||||
# Host-dependant definitions
|
||||
DEFAULT_DUFLAGS=" -sk --apparent-size"
|
||||
DEFAULT_SEDINPLACEFLAGS=" --follow-symlinks -i"
|
||||
INODECMD="stat -c '%i %n'"
|
||||
OWNERCMD="stat -c '%u:%g'"
|
||||
MODECMD="stat -c '%a'"
|
||||
SIZECMD="stat -c %s"
|
||||
SEDINPLACE="sed --follow-symlinks -i"
|
||||
DUFLAGS="-sk --apparent-size"
|
||||
STRIP_BINARIES="--strip-all"
|
||||
STRIP_SHARED="--strip-unneeded"
|
||||
STRIP_STATIC="--strip-debug"
|
||||
@@ -340,36 +357,43 @@ case "${host_os}" in
|
||||
INODECMD="stat -f '%i %N'"
|
||||
OWNERCMD="stat -f '%u:%g'"
|
||||
MODECMD="stat -f '%Lp'"
|
||||
SIZECMD="stat -f %z"
|
||||
SEDINPLACE="sed -i \"\""
|
||||
DUFLAGS="-sk"
|
||||
DEFAULT_SEDINPLACEFLAGS=" -i \"\""
|
||||
DEFAULT_DUFLAGS=" -sk"
|
||||
;;
|
||||
darwin*)
|
||||
host_os_darwin=yes
|
||||
INODECMD="/usr/bin/stat -f '%i %N'"
|
||||
OWNERCMD="/usr/bin/stat -f '%u:%g'"
|
||||
MODECMD="/usr/bin/stat -f '%Lp'"
|
||||
SIZECMD="/usr/bin/stat -f %z"
|
||||
SEDINPLACE="/usr/bin/sed -i ''"
|
||||
DUFLAGS="-sk"
|
||||
DEFAULT_SEDINPLACEFLAGS=" -i ''"
|
||||
DEFAULT_DUFLAGS=" -sk"
|
||||
STRIP_BINARIES=""
|
||||
STRIP_SHARED="-S"
|
||||
STRIP_STATIC="-S"
|
||||
;;
|
||||
esac
|
||||
|
||||
AM_CONDITIONAL([DARWIN], test "x$host_os_darwin" = "xyes")
|
||||
AC_PATH_PROGS([DUPATH], [du], [du], [/usr/bin$PATH_SEPARATOR/bin] )
|
||||
AC_PATH_PROGS([SEDPATH], [sed], [sed], [/usr/bin$PATH_SEPARATOR/bin] )
|
||||
AC_SUBST(INODECMD)
|
||||
AC_SUBST(OWNERCMD)
|
||||
AC_SUBST(MODECMD)
|
||||
AC_SUBST(SIZECMD)
|
||||
AC_SUBST(SEDINPLACE)
|
||||
AC_SUBST(DUFLAGS)
|
||||
AC_SUBST(STRIP_BINARIES)
|
||||
AC_SUBST(STRIP_SHARED)
|
||||
AC_SUBST(STRIP_STATIC)
|
||||
|
||||
# Flags for du
|
||||
if test "${DUFLAGS+set}" != "set"; then
|
||||
DUFLAGS="${DEFAULT_DUFLAGS}"
|
||||
fi
|
||||
AC_ARG_VAR(DUFLAGS, [flags for du, overriding the default])
|
||||
|
||||
# Flags for sed in place
|
||||
if test "${SEDINPLACEFLAGS+set}" != "set"; then
|
||||
SEDINPLACEFLAGS="${DEFAULT_SEDINPLACEFLAGS}"
|
||||
fi
|
||||
AC_ARG_VAR(SEDINPLACEFLAGS, [flags for sed, overriding the default])
|
||||
|
||||
# Variables plugged into makepkg.conf
|
||||
CARCH="${host%%-*}"
|
||||
CHOST="${host}"
|
||||
@@ -518,7 +542,6 @@ test/pacman/Makefile
|
||||
test/pacman/tests/Makefile
|
||||
test/scripts/Makefile
|
||||
test/util/Makefile
|
||||
contrib/Makefile
|
||||
Makefile
|
||||
])
|
||||
AC_OUTPUT
|
||||
@@ -538,7 +561,7 @@ ${PACKAGE_NAME}:
|
||||
compiler : ${CC}
|
||||
preprocessor flags : ${CPPFLAGS}
|
||||
compiler flags : ${WARNING_CFLAGS} ${CFLAGS}
|
||||
library flags : ${LIBS} ${LIBSSL_LIBS} ${LIBARCHIVE_LIBS} ${LIBCURL_LIBS} ${GPGME_LIBS}
|
||||
library flags : ${LIBS} ${LIBSSL_LIBS} ${NETTLE_LIBS} ${LIBARCHIVE_LIBS} ${LIBCURL_LIBS} ${GPGME_LIBS}
|
||||
linker flags : ${LDFLAGS}
|
||||
|
||||
Architecture : ${CARCH}
|
||||
@@ -546,8 +569,7 @@ ${PACKAGE_NAME}:
|
||||
File inode command : ${INODECMD}
|
||||
File owner command : ${OWNERCMD}
|
||||
File mode command : ${MODECMD}
|
||||
Filesize command : ${SIZECMD}
|
||||
In-place sed command : ${SEDINPLACE}
|
||||
In-place sed command : ${SEDPATH} ${SEDINPLACEFLAGS}
|
||||
|
||||
libalpm version : ${LIB_VERSION}
|
||||
libalpm version info : ${LIB_VERSION_INFO}
|
||||
@@ -565,11 +587,10 @@ ${PACKAGE_NAME}:
|
||||
Use libcurl : ${have_libcurl}
|
||||
Use GPGME : ${have_gpgme}
|
||||
Use OpenSSL : ${have_openssl}
|
||||
Use nettle : ${have_nettle}
|
||||
Run make in doc/ dir : ${wantdoc} ${asciidoc}
|
||||
Doxygen support : ${usedoxygen}
|
||||
debug support : ${debug}
|
||||
extra warning flags : ${warningflags}
|
||||
use git version : ${wantgitver}
|
||||
"
|
||||
|
||||
# vim:set noet:
|
||||
|
||||
12
contrib/.gitignore
vendored
12
contrib/.gitignore
vendored
@@ -1,12 +0,0 @@
|
||||
bacman
|
||||
bash_completion
|
||||
checkupdates
|
||||
paccache
|
||||
pacdiff
|
||||
paclist
|
||||
paclog-pkglist
|
||||
pacscripts
|
||||
pacsearch
|
||||
rankmirrors
|
||||
updpkgsums
|
||||
zsh_completion
|
||||
@@ -1,89 +0,0 @@
|
||||
# enforce that all scripts have a --help and --version option
|
||||
AUTOMAKE_OPTIONS = std-options
|
||||
|
||||
bin_SCRIPTS = \
|
||||
$(OURSCRIPTS)
|
||||
|
||||
BASHSCRIPTS = \
|
||||
bacman \
|
||||
checkupdates \
|
||||
paccache \
|
||||
pacdiff \
|
||||
paclist \
|
||||
paclog-pkglist \
|
||||
pacscripts \
|
||||
rankmirrors \
|
||||
updpkgsums
|
||||
|
||||
OTHERSCRIPTS = \
|
||||
pacsearch
|
||||
|
||||
OURSCRIPTS = \
|
||||
$(BASHSCRIPTS) \
|
||||
$(OTHERSCRIPTS)
|
||||
|
||||
EXTRA_DIST = \
|
||||
PKGBUILD.vim \
|
||||
bacman.sh.in \
|
||||
checkupdates.sh.in \
|
||||
paccache.sh.in \
|
||||
paclog-pkglist.sh.in \
|
||||
pacdiff.sh.in \
|
||||
paclist.sh.in \
|
||||
pacscripts.sh.in \
|
||||
pacsearch.in \
|
||||
rankmirrors.sh.in \
|
||||
updpkgsums.sh.in \
|
||||
vimprojects \
|
||||
README
|
||||
|
||||
# Files that should be removed, but which Automake does not know.
|
||||
MOSTLYCLEANFILES = $(OURSCRIPTS) *.tmp
|
||||
|
||||
if USE_GIT_VERSION
|
||||
GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 --dirty | sed s/^v//')
|
||||
REAL_PACKAGE_VERSION = $(GIT_VERSION)
|
||||
else
|
||||
REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
|
||||
endif
|
||||
|
||||
edit = sed \
|
||||
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
|
||||
-e 's|@localstatedir[@]|$(localstatedir)|g' \
|
||||
-e 's|@PACKAGE_VERSION[@]|$(REAL_PACKAGE_VERSION)|g' \
|
||||
-e 's|@SIZECMD[@]|$(SIZECMD)|g' \
|
||||
-e 's|@SCRIPTNAME[@]|$@|g' \
|
||||
-e '1s|!/bin/bash|!$(BASH_SHELL)|g'
|
||||
|
||||
$(OTHERSCRIPTS): Makefile
|
||||
$(AM_V_at)$(RM) $@ $@.tmp
|
||||
$(AM_V_GEN)$(edit) $(srcdir)/$@.in >$@.tmp
|
||||
$(AM_V_at)chmod +x,a-w $@.tmp
|
||||
$(AM_V_at)mv $@.tmp $@
|
||||
|
||||
$(BASHSCRIPTS): Makefile
|
||||
$(AM_V_at)$(RM) $@
|
||||
$(AM_V_GEN)test -f $(srcdir)/$@.sh.in && m4 -P -I $(srcdir) $(srcdir)/$@.sh.in | $(edit) >$@
|
||||
$(AM_V_at)chmod +x,a-w $@
|
||||
@$(BASH_SHELL) -O extglob -n $@
|
||||
|
||||
$(OURFILES): Makefile
|
||||
$(AM_V_at)$(RM) $@ $@.tmp
|
||||
$(AM_V_GEN)$(edit) $(srcdir)/$@.in >$@.tmp
|
||||
$(AM_V_at)chmod a-w $@.tmp
|
||||
$(AM_V_at)mv $@.tmp $@
|
||||
|
||||
all-am: $(OURSCRIPTS)
|
||||
|
||||
bacman: $(srcdir)/bacman.sh.in
|
||||
checkupdates: $(srcdir)/checkupdates.sh.in
|
||||
paccache: $(srcdir)/paccache.sh.in $(top_srcdir)/scripts/library/parseopts.sh $(top_srcdir)/scripts/library/size_to_human.sh
|
||||
pacdiff: $(srcdir)/pacdiff.sh.in
|
||||
paclist: $(srcdir)/paclist.sh.in
|
||||
paclog-pkglist: $(srcdir)/paclog-pkglist.sh.in
|
||||
pacscripts: $(srcdir)/pacscripts.sh.in
|
||||
pacsearch: $(srcdir)/pacsearch.in
|
||||
rankmirrors: $(srcdir)/rankmirrors.sh.in
|
||||
updpkgsums: $(srcdir)/updpkgsums.sh.in
|
||||
|
||||
# vim:set noet:
|
||||
@@ -1,320 +0,0 @@
|
||||
" Vim syntax file
|
||||
" Language: PKGBUILD
|
||||
" Maintainer: Alessio 'mOLOk' Bolognino <themolok at gmail.com>
|
||||
" Last Change: 2007/05/08
|
||||
" Version Info: PKGBUILD-0.2 (colorphobic)
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:main_syntax = "sh"
|
||||
let b:is_bash = 1
|
||||
runtime! syntax/sh.vim
|
||||
|
||||
" case on
|
||||
syn case match
|
||||
|
||||
" pkgname
|
||||
" FIXME if '=' is in pkgname/pkgver, it highlights whole string, not just '='
|
||||
syn keyword pb_k_pkgname pkgname contained
|
||||
syn match pbValidPkgname /\([[:alnum:]]\|+\|-\|_\){,32}/ contained contains=pbIllegalPkgname
|
||||
syn match pbIllegalPkgname /[[:upper:]]\|[^[:alnum:]-+_=]\|=.*=\|=['"]\?.\{33,\}['"]\?/ contained
|
||||
syn match pbPkgnameGroup /^pkgname=.*/ contains=pbIllegalPkgname,pb_k_pkgname,shDoubleQuote,shSingleQuote
|
||||
|
||||
" pkgbase
|
||||
" FIXME if '=' is in pkgbase/pkgname/pkgver, it highlights whole string, not just '='
|
||||
syn keyword pb_k_pkgbase pkgbase contained
|
||||
syn match pbValidPkgbase /\([[:alnum:]]\|+\|-\|_\){,32}/ contained contains=pbIllegalPkgbase
|
||||
syn match pbIllegalPkgbase /[[:upper:]]\|[^[:alnum:]-+_=]\|=.*=\|=['"]\?.\{33,\}['"]\?/ contained
|
||||
syn match pbPkgbaseGroup /^pkgbase=.*/ contains=pbIllegalPkgbase,pb_k_pkgbase,shDoubleQuote,shSingleQuote
|
||||
|
||||
" pkgver
|
||||
syn keyword pb_k_pkgver pkgver contained
|
||||
syn match pbValidPkgver /\([[:alnum:]]\|\.\|+\|_\)/ contained contains=pbIllegalPkgver
|
||||
syn match pbIllegalPkgver /[^[:alnum:]+=\.\_]\|=.*=/ contained
|
||||
syn match pbPkgverGroup /^pkgver=.*/ contains=pbIllegalPkgver,pbValidPkgver,pb_k_pkgver,shDoubleQuote,shSingleQuote
|
||||
|
||||
" pkgrel
|
||||
syn keyword pb_k_pkgrel pkgrel contained
|
||||
syn match pbValidPkgrel /[[:digit:]]*/ contained contains=pbIllegalPkgrel
|
||||
syn match pbIllegalPkgrel /[^[:digit:]=]\|=.*=/ contained
|
||||
syn match pbPkgrelGroup /^pkgrel=.*/ contains=pbIllegalPkgrel,pbValidPkgrel,pb_k_pkgrel,shDoubleQuote,shSingleQuote
|
||||
|
||||
" pkgdesc
|
||||
syn keyword pb_k_desc pkgdesc contained
|
||||
" 90 chars: 80 for description, 8 for pkgdesc and 2 for ''
|
||||
syn match pbIllegalPkgdesc /.\{90,}\|=['"]\?.*['" ]\+[iI][sS] [aA]/ contained contains=pbPkgdescSign
|
||||
syn match pbValidPkgdesc /[^='"]\.\{,80}/ contained contains=pbIllegalPkgdesc
|
||||
syn match pbPkgdescGroup /^pkgdesc=.*/ contains=pbIllegalPkgdesc,pb_k_desc,pbValidPkgdesc,shDoubleQuote,shSingleQuote
|
||||
syn match pbPkgdescSign /[='"]/ contained
|
||||
|
||||
" epoch
|
||||
syn keyword pb_k_epoch epoch contained
|
||||
syn match pbValidEpoch /[[:digit:]]*/ contained contains=pbIllegalEpoch
|
||||
syn match pbIllegalEpoch /[^[:digit:]=]\|=.*=/ contained
|
||||
syn match pbEpochGroup /^epoch=.*/ contains=pbIllegalEpoch,pbValidEpoch,pb_k_epoch,shDoubleQuote,shSingleQuote
|
||||
|
||||
" url
|
||||
syn keyword pb_k_url url contained
|
||||
syn match pbValidUrl /['"]*\(https\|http\|ftp\)\:\/.*\.\+.*/ contained
|
||||
|
||||
syn match pbIllegalUrl /[^=]/ contained contains=pbValidUrl
|
||||
syn match pbUrlGroup /^url=.*/ contains=pbValidUrl,pb_k_url,pbIllegalUrl,shDoubleQuote,shSingleQuote
|
||||
|
||||
" license
|
||||
syn keyword pb_k_license license contained
|
||||
" echo $(pacman -Ql licenses | grep '/usr/share/licenses/common/' | cut -d'/' -f6 | sort -u)
|
||||
syn keyword pbLicense AGPL AGPL3 Apache APACHE Artistic2.0 CCPL CDDL CPL EPL FDL FDL1.2 FDL1.3 GPL GPL2 GPL3 LGPL LGPL2.1 LGPL3 LPPL MPL PerlArtistic PHP PSF RUBY W3C ZPL contained
|
||||
" special cases from https://wiki.archlinux.org/index.php/Arch_Packaging_Standards
|
||||
syn keyword pbLicenseSpecial BSD MIT ZLIB Python contained
|
||||
syn match pbLicenseCustom /custom\(:[[:alnum:]]*\)*/ contained
|
||||
syn match pbIllegalLicense /[^='"() ]/ contained contains=pbLicenseCustom,pbLicenseSpecial,pbLicense
|
||||
syn region pbLicenseGroup start=/^license=(/ end=/)/ contains=pb_k_license,pbLicenseCustom,pbLicenseSpecial,pbLicense,pbIllegalLicense
|
||||
|
||||
" backup
|
||||
syn keyword pb_k_backup backup contained
|
||||
syn match pbValidBackup /\.\?[[:alpha:]]*\/[[:alnum:]\{\}+._$-]*]*/ contained
|
||||
syn region pbBackupGroup start=/^backup=(/ end=/)/ contains=pb_k_backup,pbValidBackup,shDoubleQuote,shSingleQuote
|
||||
|
||||
" arch
|
||||
syn keyword pb_k_arch arch contained
|
||||
syn keyword pbArch i686 x86_64 ppc any contained
|
||||
syn match pbIllegalArch /[^='"() ]/ contained contains=pbArch
|
||||
syn region pbArchGroup start=/^arch=(/ end=/)/ contains=pb_k_arch,pbArch,pbIllegalArch
|
||||
|
||||
" groups
|
||||
syn keyword pb_k_groups groups contained
|
||||
syn match pbValidGroups /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
syn region pbGroupsGroup start=/^groups=(/ end=/)/ contains=pb_k_groups,pbValidGroups,shDoubleQuote,shSingleQuote
|
||||
|
||||
" depends
|
||||
syn keyword pb_k_depends depends contained
|
||||
syn match pbValidDepends /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
syn region pbDependsGroup start=/^depends=(/ end=/)/ contains=pb_k_depends,pbValidDepends,shDoubleQuote,shSingleQuote
|
||||
|
||||
" makedepends
|
||||
syn keyword pb_k_makedepends makedepends contained
|
||||
syn match pbValidMakedepends /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
syn region pbMakedependsGroup start=/^makedepends=(/ end=/)/ contains=pb_k_makedepends,pbValidMakedepends,shDoubleQuote,shSingleQuote
|
||||
|
||||
" optdepends
|
||||
syn keyword pb_k_optdepends optdepends contained
|
||||
syn match pbValidOptdepends /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
syn region pbOptdependsGroup start=/^optdepends=(/ end=/)/ contains=pb_k_optdepends,pbValidOptdepends,shDoubleQuote,shSingleQuote
|
||||
|
||||
" checkdepends
|
||||
syn keyword pb_k_ckdepends checkdepends contained
|
||||
syn match pbValidCkdepends /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
syn region pbCkdependsGroup start=/^checkdepends=(/ end=/)/ contains=pb_k_ckdepends,pbValidCkdepends,shDoubleQuote,shSingleQuote
|
||||
|
||||
" conflicts
|
||||
syn keyword pb_k_conflicts conflicts contained
|
||||
syn match pbValidConflicts /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
syn region pbConflictsGroup start=/^conflicts=(/ end=/)/ contains=pb_k_conflicts,pbValidConflicts,shDoubleQuote,shSingleQuote
|
||||
|
||||
" provides
|
||||
syn keyword pb_k_provides provides contained
|
||||
syn match pbValidProvides /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
syn region pbProvidesGroup start=/^provides=(/ end=/)/ contains=pb_k_provides,pbValidProvides,shDoubleQuote,shSingleQuote
|
||||
|
||||
" replaces
|
||||
syn keyword pb_k_replaces replaces contained
|
||||
syn match pbValidReplaces /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
syn region pbReplacesGroup start=/^replaces=(/ end=/)/ contains=pb_k_replaces,pbValidReplaces,shDoubleQuote,shSingleQuote
|
||||
|
||||
" install
|
||||
" XXX remove install from bashStatement, fix strange bug
|
||||
syn clear bashStatement
|
||||
syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail touch
|
||||
|
||||
syn keyword pb_k_install install contained
|
||||
syn match pbValidInstall /\([[:alnum:]]\|\$\|+\|-\|_\)*\.install/ contained
|
||||
syn match pbIllegalInstall /[^=]/ contained contains=pbValidInstall
|
||||
syn match pbInstallGroup /^install=.*/ contains=pb_k_install,pbValidInstall,pbIllegalInstall,shDeref,shDoubleQuote,shSingleQuote
|
||||
|
||||
" changelog
|
||||
syn keyword pb_k_changelog changelog contained
|
||||
syn match pbValidChangelog /\([[:alnum:]]\|\$\|+\|-\|_\)*/ contained
|
||||
syn match pbIllegalChangelog /[^=]/ contained contains=pbValidChangelog
|
||||
syn match pbChangelogGroup /^changelog=.*/ contains=pb_k_changelog,pbValidChangelog,pbIllegalChangelog,shDeref,shDoubleQuote,shSingleQuote
|
||||
|
||||
" source:
|
||||
" XXX remove source from shStatement, fix strange bug
|
||||
syn clear shStatement
|
||||
syn keyword shStatement xxx wait getopts return autoload whence printf true popd nohup enable r trap readonly fc fg kill ulimit umask disown stop pushd read history logout times local exit test pwd time eval integer suspend dirs shopt hash false newgrp bg print jobs continue functions exec help cd break unalias chdir type shift builtin let bind
|
||||
|
||||
syn keyword pb_k_source source contained
|
||||
syn match pbIllegalSource /\(http\|ftp\|https\).*\.\+\(dl\|download.\?\)\.\(sourceforge\|sf\).net/
|
||||
syn region pbSourceGroup start=/^source=(/ end=/)/ contains=pb_k_source,pbIllegalSource,shNumber,shDoubleQuote,shSingleQuote,pbDerefEmulation
|
||||
syn match pbDerefEmulation /\$[{]\?[[:alnum:]_]*[}]\?/ contained
|
||||
hi def link pbDerefEmulation PreProc
|
||||
|
||||
" md5sums
|
||||
syn keyword pb_k_md5sums md5sums contained
|
||||
syn match pbIllegalMd5sums /[^='"()\/ ]/ contained contains=pbValidMd5sums
|
||||
syn match pbValidMd5sums /\x\{32\}/ contained
|
||||
syn region pbMd5sumsGroup start=/^md5sums/ end=/)/ contains=pb_k_md5sums,pbMd5Quotes,pbMd5Hash,pbIllegalMd5sums keepend
|
||||
syn match pbMd5Quotes /'.*'\|".*"/ contained contains=pbMd5Hash,pbIllegalMd5sums
|
||||
syn match pbMd5Hash /\x\+/ contained contains=pbValidMd5sums
|
||||
hi def link pbMd5Quotes Keyword
|
||||
hi def link pbMd5Hash Error
|
||||
hi def link pbValidMd5sums Number
|
||||
|
||||
" sha1sums
|
||||
syn keyword pb_k_sha1sums sha1sums contained
|
||||
syn match pbIllegalSha1sums /[^='"()\/ ]/ contained contains=pbValidSha1sums
|
||||
syn match pbValidSha1sums /\x\{40\}/ contained
|
||||
syn region pbSha1sumsGroup start=/^sha1sums/ end=/)/ contains=pb_k_sha1sums,pbSha1Quotes,pbSha1Hash,pbIllegalSha1sums keepend
|
||||
syn match pbSha1Quotes /'.*'\|".*"/ contained contains=pbSha1Hash,pbIllegalSha1sums
|
||||
syn match pbSha1Hash /\x\+/ contained contains=pbValidSha1sums
|
||||
hi def link pbSha1Quotes Keyword
|
||||
hi def link pbSha1Hash Error
|
||||
hi def link pbValidSha1sums Number
|
||||
|
||||
" sha256sums
|
||||
syn keyword pb_k_sha256sums sha256sums contained
|
||||
syn match pbIllegalSha256sums /[^='"()\/ ]/ contained contains=pbValidSha256sums
|
||||
syn match pbValidSha256sums /\x\{64\}/ contained
|
||||
syn region pbSha256sumsGroup start=/^sha256sums/ end=/)/ contains=pb_k_sha256sums,pbSha256Quotes,pbSha256Hash,pbIllegalSha256sums keepend
|
||||
syn match pbSha256Quotes /'.*'\|".*"/ contained contains=pbSha256Hash,pbIllegalSha256sums
|
||||
syn match pbSha256Hash /\x\+/ contained contains=pbValidSha256sums
|
||||
hi def link pbSha256Quotes Keyword
|
||||
hi def link pbSha256Hash Error
|
||||
hi def link pbValidSha256sums Number
|
||||
|
||||
" sha384sums
|
||||
syn keyword pb_k_sha384sums sha384sums contained
|
||||
syn match pbIllegalSha384sums /[^='"()\/ ]/ contained contains=pbValidSha384sums
|
||||
syn match pbValidSha384sums /\x\{96\}/ contained
|
||||
syn region pbSha384sumsGroup start=/^sha384sums/ end=/)/ contains=pb_k_sha384sums,pbSha384Quotes,pbSha384Hash,pbIllegalSha384sums keepend
|
||||
syn match pbSha384Quotes /'.*'\|".*"/ contained contains=pbSha384Hash,pbIllegalSha384sums
|
||||
syn match pbSha384Hash /\x\+/ contained contains=pbValidSha384sums
|
||||
hi def link pbSha384Quotes Keyword
|
||||
hi def link pbSha384Hash Error
|
||||
hi def link pbValidSha384sums Number
|
||||
|
||||
" sha512sums
|
||||
syn keyword pb_k_sha512sums sha512sums contained
|
||||
syn match pbIllegalSha512sums /[^='"()\/ ]/ contained contains=pbValidSha512sums
|
||||
syn match pbValidSha512sums /\x\{128\}/ contained
|
||||
syn region pbSha512sumsGroup start=/^sha512sums/ end=/)/ contains=pb_k_sha512sums,pbSha512Quotes,pbSha512Hash,pbIllegalSha512sums keepend
|
||||
syn match pbSha512Quotes /'.*'\|".*"/ contained contains=pbSha512Hash,pbIllegalSha512sums
|
||||
syn match pbSha512Hash /\x\+/ contained contains=pbValidSha512sums
|
||||
hi def link pbSha512Quotes Keyword
|
||||
hi def link pbSha512Hash Error
|
||||
hi def link pbValidSha512sums Number
|
||||
|
||||
" options
|
||||
syn keyword pb_k_options options contained
|
||||
syn match pbOptions /\(no\)\?\(strip\|docs\|libtool\|emptydirs\|zipman\|purge\|upx\|optipng\|distcc\|color\|ccache\|check\|sign\|makeflags\|buildflags\)/ contained
|
||||
syn match pbOptionsNeg /\!/ contained
|
||||
syn match pbOptionsDeprec /no/ contained
|
||||
syn region pbOptionsGroup start=/^options=(/ end=/)/ contains=pb_k_options,pbOptions,pbOptionsNeg,pbOptionsDeprec,pbIllegalOption
|
||||
syn match pbIllegalOption /[^!"'()= ]/ contained contains=pbOptionsDeprec,pbOptions
|
||||
|
||||
" noextract
|
||||
syn match pbNoextract /[[:alnum:]+._${}-]\+/ contained
|
||||
syn keyword pb_k_noextract noextract contained
|
||||
syn region pbNoextractGroup start=/^noextract=(/ end=/)/ contains=pb_k_noextract,pbNoextract,shDoubleQuote,shSingleQuote
|
||||
|
||||
" comments
|
||||
syn keyword pb_k_maintainer Maintainer Contributor contained
|
||||
syn match pbMaintainerGroup /Maintainer.*/ contains=pbMaintainer contained
|
||||
|
||||
syn match pbDate /[0-9]\{4}\/[0-9]\{2}\/[0-9]\{2}/ contained
|
||||
|
||||
syn cluster pbCommentGroup contains=pbTodo,pb_k_maintainer,pbMaintainerGroup,pbDate
|
||||
syn keyword pbTodo contained COMBAK FIXME TODO XXX
|
||||
syn match pbComment "^#.*$" contains=@pbCommentGroup
|
||||
syn match pbComment "[^0-9]#.*$" contains=@pbCommentGroup
|
||||
|
||||
" quotes are handled by sh.vim
|
||||
|
||||
hi def link pbComment Comment
|
||||
hi def link pbTodo Todo
|
||||
|
||||
hi def link pbIllegalPkgname Error
|
||||
hi def link pb_k_pkgname pbKeywords
|
||||
|
||||
hi def link pbIllegalPkgbase Error
|
||||
hi def link pb_k_pkgbase pbKeywords
|
||||
|
||||
hi def link pbIllegalPkgver Error
|
||||
hi def link pb_k_pkgver pbKeywords
|
||||
|
||||
hi def link pbIllegalPkgrel Error
|
||||
hi def link pb_k_pkgrel pbKeywords
|
||||
|
||||
hi def link pbIllegalPkgdesc Error
|
||||
hi def link pb_k_desc pbKeywords
|
||||
|
||||
hi def link pbIllegalEpoch Error
|
||||
hi def link pb_k_epoch pbKeywords
|
||||
|
||||
hi def link pbIllegalUrl Error
|
||||
hi def link pb_k_url pbKeywords
|
||||
|
||||
hi def link pb_k_license pbKeywords
|
||||
hi def link pbIllegalLicense Error
|
||||
|
||||
hi def link pb_k_backup pbKeywords
|
||||
|
||||
hi def link pb_k_arch pbKeywords
|
||||
hi def link pbIllegalArch Error
|
||||
|
||||
hi def link pb_k_groups pbKeywords
|
||||
hi def link pb_k_makedepends pbKeywords
|
||||
hi def link pb_k_optdepends pbKeywords
|
||||
hi def link pb_k_ckdepends pbKeywords
|
||||
hi def link pb_k_depends pbKeywords
|
||||
hi def link pb_k_replaces pbKeywords
|
||||
hi def link pb_k_conflicts pbKeywords
|
||||
hi def link pb_k_provides pbKeywords
|
||||
|
||||
hi def link pbIllegalInstall Error
|
||||
hi def link pb_k_install pbKeywords
|
||||
|
||||
hi def link pbIllegalChangelog Error
|
||||
hi def link pb_k_changelog pbKeywords
|
||||
|
||||
hi def link pb_k_source pbKeywords
|
||||
hi def link pbIllegalSource Error
|
||||
|
||||
hi def link pb_k_md5sums pbKeywords
|
||||
hi def link pbIllegalMd5sums Error
|
||||
|
||||
hi def link pb_k_sha1sums pbKeywords
|
||||
hi def link pbIllegalSha1sums Error
|
||||
|
||||
hi def link pb_k_sha256sums pbKeywords
|
||||
hi def link pbIllegalSha256sums Error
|
||||
|
||||
hi def link pb_k_sha384sums pbKeywords
|
||||
hi def link pbIllegalSha384sums Error
|
||||
|
||||
hi def link pb_k_sha512sums pbKeywords
|
||||
hi def link pbIllegalSha512sums Error
|
||||
|
||||
hi def link pb_k_options pbKeywords
|
||||
hi def link pbOptionsDeprec Todo
|
||||
hi def link pbIllegalOption Error
|
||||
|
||||
hi def link pb_k_noextract pbKeywords
|
||||
hi def link pbNoextract Normal
|
||||
|
||||
hi def link pb_k_maintainer pbKeywords
|
||||
|
||||
hi def link pbKeywords Keyword
|
||||
|
||||
hi def link pbDate Special
|
||||
|
||||
"syntax include @SHELL syntax/sh.vim
|
||||
"syntax region BUILD start=/^build()/ end=/^}/ contains=@SHELL
|
||||
"let b:current_syntax = "PKGBUILD"
|
||||
|
||||
" vim: ft=vim
|
||||
@@ -1,41 +0,0 @@
|
||||
Here is a brief description of the files included in this directory:
|
||||
|
||||
PKGBUILD.vim - a vim/gvim syntax file for PKGBUILDs. Colors known variable
|
||||
names, highlights common errors such as invalid characters in pkgname or
|
||||
pkgver, etc.
|
||||
|
||||
bacman - regenerate a pacman package based on installed files and the pacman
|
||||
database entries. Useful for reuse, or possible config file extension.
|
||||
|
||||
bash_completion - a bash completion script for pacman, install in
|
||||
/etc/bash_completion.d/ for use (but rename to something descriptive!).
|
||||
|
||||
checkupdates - print a list of pending updates without touching the system
|
||||
sync databases (for safety on rolling release distributions).
|
||||
|
||||
paccache - a flexible package cache cleaning utility that allows greater
|
||||
control over which packages are removed.
|
||||
|
||||
pacdiff - a simple pacnew/pacsave updater for /etc/.
|
||||
|
||||
paclist - list all packages installed from a given repository. Useful for
|
||||
seeing which packages you may have installed from the testing repository,
|
||||
for instance.
|
||||
|
||||
paclog-pkglist - lists currently installs packages based pacman's log.
|
||||
|
||||
pacscripts - tries to print out the {pre,post}_{install,remove,upgrade}
|
||||
scripts of a given package.
|
||||
|
||||
pacsearch - a colorized search combining both -Ss and -Qs output. Installed
|
||||
packages are easily identified with a *** and local-only packages are also
|
||||
listed.
|
||||
|
||||
rankmirrors - ranks pacman mirrors by their connection and opening speed.
|
||||
|
||||
updpkgsums - performs an in place update of the checksums in a PKGBUILD.
|
||||
|
||||
vimprojects - a project file for the vim project plugin.
|
||||
|
||||
zsh_completion - a zsh completion script, install (with a rename) to
|
||||
/usr/share/zsh/site-functions/.
|
||||
@@ -1,358 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# bacman: recreate a package from a running system
|
||||
# This script rebuilds an already installed package using metadata
|
||||
# stored into the pacman database and system files
|
||||
#
|
||||
# Copyright (c) 2008 locci <carlocci_at_gmail_dot_com>
|
||||
# Copyright (c) 2008-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
shopt -s extglob
|
||||
shopt -s nullglob
|
||||
|
||||
declare -r myname='bacman'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
USE_COLOR='y'
|
||||
INCLUDE_PACNEW='n'
|
||||
# Required for fakeroot because options are shifted off the array.
|
||||
ARGS=("$@")
|
||||
|
||||
m4_include(../scripts/library/output_format.sh)
|
||||
|
||||
#
|
||||
# User Friendliness
|
||||
#
|
||||
usage() {
|
||||
echo "${myname} (pacman) v${myver}"
|
||||
echo
|
||||
echo "Recreate a package using pacman's database and system files"
|
||||
echo
|
||||
echo "Usage: ${myname} [--nocolor] [--pacnew] <installed package name>"
|
||||
echo
|
||||
echo "Example: ${myname} linux-headers"
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "%s %s\n" "$myname" "$myver"
|
||||
echo 'Copyright (C) 2008 locci <carlocci_at_gmail_dot_com>'
|
||||
echo 'Copyright (C) 2008-2016 Pacman Development Team <pacman-dev@archlinux.org>'
|
||||
}
|
||||
|
||||
while [[ ! -z $1 ]]; do
|
||||
if [[ $1 == "--nocolor" ]]; then
|
||||
USE_COLOR='n'
|
||||
shift
|
||||
elif [[ $1 == "--pacnew" ]]; then
|
||||
INCLUDE_PACNEW='y'
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
m4_include(../scripts/library/term_colors.sh)
|
||||
|
||||
if (( $# != 1 )); then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $1 = -@(h|-help) ]]; then
|
||||
usage
|
||||
exit 0
|
||||
elif [[ $1 = -@(V|-version) ]]; then
|
||||
version
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#
|
||||
# Fakeroot support
|
||||
#
|
||||
if (( EUID )); then
|
||||
if [[ -f /usr/bin/fakeroot ]]; then
|
||||
msg "Entering fakeroot environment"
|
||||
export INFAKEROOT="1"
|
||||
/usr/bin/fakeroot -u -- "$0" "${ARGS[@]}"
|
||||
exit $?
|
||||
else
|
||||
warning "installing fakeroot or running $myname as root is required to"
|
||||
plain " preserve the ownership permissions of files in some packages\n"
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Setting environmental variables
|
||||
#
|
||||
if [[ ! -r @sysconfdir@/pacman.conf ]]; then
|
||||
error "unable to read @sysconfdir@/pacman.conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
eval $(awk '/DBPath/ {print $1$2$3}' @sysconfdir@/pacman.conf)
|
||||
pac_db="${DBPath:-@localstatedir@/lib/pacman/}/local"
|
||||
|
||||
if [[ ! -r @sysconfdir@/makepkg.conf ]]; then
|
||||
error "unable to read @sysconfdir@/makepkg.conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source "@sysconfdir@/makepkg.conf"
|
||||
if [[ -r ~/.makepkg.conf ]]; then
|
||||
source ~/.makepkg.conf
|
||||
fi
|
||||
|
||||
pkg_dest="${PKGDEST:-$PWD}"
|
||||
pkg_pkger=${PACKAGER:-'Unknown Packager'}
|
||||
|
||||
pkg_name="$1"
|
||||
pkg_dir=("$pac_db/$pkg_name"-+([^-])-+([^-]))
|
||||
pkg_namver=("${pkg_dir[@]##*/}")
|
||||
|
||||
#
|
||||
# Checks everything is in place
|
||||
#
|
||||
if [[ ! -d $pac_db ]]; then
|
||||
error "pacman database directory ${pac_db} not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if (( ${#pkg_dir[@]} != 1 )); then
|
||||
error "%d entries for package %s found in pacman database" \
|
||||
${#pkg_dir[@]} "${pkg_name}"
|
||||
msg2 "%s" "${pkg_dir[@]}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -d $pkg_dir ]]; then
|
||||
error "package %s is found in pacman database," "${pkg_name}"
|
||||
plain " but '%s' is not a directory" "${pkg_dir}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Begin
|
||||
#
|
||||
msg "Package: ${pkg_namver}"
|
||||
work_dir=$(mktemp -d "${TMPDIR:-/tmp}/bacman.XXXXXXXXXX")
|
||||
cd "$work_dir" || exit 1
|
||||
|
||||
#
|
||||
# File copying
|
||||
#
|
||||
msg2 "Copying package files..."
|
||||
|
||||
while read i; do
|
||||
if [[ -z $i ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
if [[ $i == %+([A-Z])% ]]; then
|
||||
current=$i
|
||||
continue
|
||||
fi
|
||||
|
||||
case "$current" in
|
||||
%FILES%)
|
||||
local_file="/$i"
|
||||
package_file="$work_dir/$i"
|
||||
|
||||
if [[ ! -e $local_file ]]; then
|
||||
warning "package file $local_file is missing"
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
|
||||
%BACKUP%)
|
||||
# Get the MD5 checksum.
|
||||
original_md5="${i##*$'\t'}"
|
||||
# Strip the md5sum after the tab.
|
||||
i="${i%$'\t'*}"
|
||||
local_file="/$i.pacnew"
|
||||
package_file="$work_dir/$i"
|
||||
|
||||
# Include unmodified .pacnew files.
|
||||
local_md5="$(md5sum "$local_file" | cut -d' ' -f1)"
|
||||
if [[ $INCLUDE_PACNEW == 'n' ]] \
|
||||
|| [[ ! -e $local_file ]] \
|
||||
|| [[ $local_md5 != $original_md5 ]]; then
|
||||
# Warn about modified files.
|
||||
local_md5="$(md5sum "/$i" | cut -d' ' -f1)"
|
||||
if [[ $local_md5 != $original_md5 ]]; then
|
||||
warning "package file /$i has been modified"
|
||||
fi
|
||||
# Let the normal file be included in the %FILES% list.
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
ret=0
|
||||
bsdtar -cnf - -s'/.pacnew$//' "$local_file" 2> /dev/null | bsdtar -xpf - 2> /dev/null
|
||||
|
||||
# Workaround to bsdtar not reporting a missing file as an error
|
||||
if ! [[ -e $package_file || -L $package_file ]]; then
|
||||
error "unable to add $local_file to the package"
|
||||
plain " If your user does not have permission to read this file, then"
|
||||
plain " you will need to run $myname as root."
|
||||
rm -rf "$work_dir"
|
||||
exit 1
|
||||
fi
|
||||
done < "$pkg_dir"/files
|
||||
|
||||
ret=$?
|
||||
if (( ret )); then
|
||||
rm -rf "$work_dir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pkg_size=$(du -sk | awk '{print $1 * 1024}')
|
||||
|
||||
#
|
||||
# .PKGINFO stuff
|
||||
# TODO adopt makepkg's write_pkginfo() into this or scripts/library
|
||||
#
|
||||
msg2 "Generating .PKGINFO metadata..."
|
||||
echo "# Generated by $myname $myver" > .PKGINFO
|
||||
if [[ $INFAKEROOT == "1" ]]; then
|
||||
echo "# Using $(fakeroot -v)" >> .PKGINFO
|
||||
fi
|
||||
echo "# $(LC_ALL=C date)" >> .PKGINFO
|
||||
echo "#" >> .PKGINFO
|
||||
|
||||
while read i; do
|
||||
if [[ -z $i ]]; then
|
||||
continue;
|
||||
fi
|
||||
|
||||
if [[ $i == %+([A-Z])% ]]; then
|
||||
current=$i
|
||||
continue
|
||||
fi
|
||||
|
||||
case "$current" in
|
||||
# desc
|
||||
%NAME%)
|
||||
echo "pkgname = $i" >> .PKGINFO
|
||||
;;
|
||||
%VERSION%)
|
||||
echo "pkgver = $i" >> .PKGINFO
|
||||
;;
|
||||
%DESC%)
|
||||
echo "pkgdesc = $i" >> .PKGINFO
|
||||
;;
|
||||
%URL%)
|
||||
echo "url = $i" >> .PKGINFO
|
||||
;;
|
||||
%LICENSE%)
|
||||
echo "license = $i" >> .PKGINFO
|
||||
;;
|
||||
%ARCH%)
|
||||
echo "arch = $i" >> .PKGINFO
|
||||
pkg_arch="$i"
|
||||
;;
|
||||
%BUILDDATE%)
|
||||
echo "builddate = $(date -u "+%s")" >> .PKGINFO
|
||||
;;
|
||||
%PACKAGER%)
|
||||
echo "packager = $pkg_pkger" >> .PKGINFO
|
||||
;;
|
||||
%SIZE%)
|
||||
echo "size = $pkg_size" >> .PKGINFO
|
||||
;;
|
||||
%GROUPS%)
|
||||
echo "group = $i" >> .PKGINFO
|
||||
;;
|
||||
%REPLACES%)
|
||||
echo "replaces = $i" >> .PKGINFO
|
||||
;;
|
||||
%DEPENDS%)
|
||||
echo "depend = $i" >> .PKGINFO
|
||||
;;
|
||||
%OPTDEPENDS%)
|
||||
echo "optdepend = $i" >> .PKGINFO
|
||||
;;
|
||||
%CONFLICTS%)
|
||||
echo "conflict = $i" >> .PKGINFO
|
||||
;;
|
||||
%PROVIDES%)
|
||||
echo "provides = $i" >> .PKGINFO
|
||||
;;
|
||||
|
||||
# files
|
||||
%BACKUP%)
|
||||
# Strip the md5sum after the tab
|
||||
echo "backup = ${i%%$'\t'*}" >> .PKGINFO
|
||||
;;
|
||||
esac
|
||||
done < <(cat "$pkg_dir"/{desc,files})
|
||||
|
||||
comp_files=".PKGINFO"
|
||||
|
||||
if [[ -f $pkg_dir/install ]]; then
|
||||
cp "$pkg_dir/install" "$work_dir/.INSTALL"
|
||||
comp_files+=" .INSTALL"
|
||||
fi
|
||||
if [[ -f $pkg_dir/changelog ]]; then
|
||||
cp "$pkg_dir/changelog" "$work_dir/.CHANGELOG"
|
||||
comp_files+=" .CHANGELOG"
|
||||
fi
|
||||
|
||||
#
|
||||
# Fixes owner:group and permissions for .PKGINFO, .CHANGELOG, .INSTALL
|
||||
#
|
||||
chown root:root "$work_dir"/{.PKGINFO,.CHANGELOG,.INSTALL} 2> /dev/null
|
||||
chmod 644 "$work_dir"/{.PKGINFO,.CHANGELOG,.INSTALL} 2> /dev/null
|
||||
|
||||
#
|
||||
# Generate the package
|
||||
#
|
||||
msg2 "Generating the package..."
|
||||
|
||||
pkg_file="$pkg_dest/$pkg_namver-$pkg_arch${PKGEXT}"
|
||||
ret=0
|
||||
|
||||
# TODO: Maybe this can be set globally for robustness
|
||||
shopt -s -o pipefail
|
||||
bsdtar -cf - $comp_files * |
|
||||
case "$PKGEXT" in
|
||||
*tar.gz) gzip -c -f -n ;;
|
||||
*tar.bz2) bzip2 -c -f ;;
|
||||
*tar.xz) xz -c -z - ;;
|
||||
*tar.Z) compress -c -f ;;
|
||||
*tar) cat ;;
|
||||
*) warning "'%s' is not a valid archive extension." \
|
||||
"$PKGEXT"; cat ;;
|
||||
esac > "${pkg_file}"; ret=$?
|
||||
|
||||
if (( ret )); then
|
||||
error "Unable to write package to $pkg_dest"
|
||||
plain " Maybe the disk is full or you do not have write access"
|
||||
rm -rf "$work_dir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf "$work_dir"
|
||||
|
||||
msg "Done."
|
||||
|
||||
exit 0
|
||||
|
||||
# vim: set noet:
|
||||
@@ -1,59 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# checkupdates: Safely print a list of pending updates.
|
||||
#
|
||||
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
declare -r myname='checkupdates'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
|
||||
m4_include(../scripts/library/output_format.sh)
|
||||
m4_include(../scripts/library/term_colors.sh)
|
||||
|
||||
if (( $# > 0 )); then
|
||||
echo "${myname} (pacman) v${myver}"
|
||||
echo
|
||||
echo "Safely print a list of pending updates"
|
||||
echo
|
||||
echo "Usage: ${myname}"
|
||||
echo
|
||||
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! type -P fakeroot >/dev/null; then
|
||||
error 'Cannot find the fakeroot binary.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z $CHECKUPDATES_DB ]]; then
|
||||
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/"
|
||||
fi
|
||||
|
||||
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT
|
||||
|
||||
DBPath="${DBPath:-@localstatedir@/lib/pacman/}"
|
||||
eval $(awk -F' *= *' '$1 ~ /DBPath/ { print $1 "=" $2 }' @sysconfdir@/pacman.conf)
|
||||
|
||||
mkdir -p "$CHECKUPDATES_DB"
|
||||
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null
|
||||
fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null
|
||||
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]'
|
||||
|
||||
exit 0
|
||||
|
||||
# vim: set noet:
|
||||
@@ -1,366 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# pacache - flexible pacman cache cleaning
|
||||
#
|
||||
# Copyright (C) 2011 Dave Reisner <dreisner@archlinux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
shopt -s extglob
|
||||
|
||||
declare -r myname='paccache'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
|
||||
declare -a cachedirs=() candidates=() cmdopts=() whitelist=() blacklist=()
|
||||
declare -i delete=0 dryrun=0 filecount=0 move=0 needsroot=0 totalsaved=0 verbose=0
|
||||
declare delim=$'\n' keep=3 movedir= scanarch=
|
||||
|
||||
QUIET=0
|
||||
USE_COLOR='y'
|
||||
|
||||
m4_include(../scripts/library/output_format.sh)
|
||||
m4_include(../scripts/library/parseopts.sh)
|
||||
|
||||
die() {
|
||||
error "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
get_cachedir_from_config() {
|
||||
local key value
|
||||
|
||||
while IFS=$'= \t' read -r key value _; do
|
||||
if [[ $key = CacheDir ]]; then
|
||||
echo "$value"
|
||||
return 0
|
||||
fi
|
||||
done <"$1"
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
# reads a list of files on stdin and prints out deletion candidates
|
||||
pkgfilter() {
|
||||
# there's whitelist and blacklist parameters passed to this
|
||||
# script after the block of awk.
|
||||
|
||||
awk -v keep="$1" -v scanarch="$2" '
|
||||
function basename(str) {
|
||||
sub(".*/", "", str);
|
||||
return str;
|
||||
}
|
||||
|
||||
function parse_filename(filename, parts, count, i, pkgname, arch) {
|
||||
|
||||
count = split(basename(filename), parts, "-")
|
||||
|
||||
i = 1
|
||||
pkgname = parts[i++]
|
||||
while (i <= count - 3) {
|
||||
pkgname = pkgname "-" parts[i++]
|
||||
}
|
||||
|
||||
arch = substr(parts[count], 1, index(parts[count], ".") - 1)
|
||||
|
||||
# filter on whitelist or blacklist
|
||||
if (wlen && !whitelist[pkgname]) return
|
||||
if (blen && blacklist[pkgname]) return
|
||||
|
||||
if ("" == packages[pkgname,arch]) {
|
||||
packages[pkgname,arch] = filename
|
||||
} else {
|
||||
packages[pkgname,arch] = packages[pkgname,arch] SUBSEP filename
|
||||
}
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
# create whitelist
|
||||
wlen = ARGV[1]; delete ARGV[1]
|
||||
for (i = 2; i < 2 + wlen; i++) {
|
||||
whitelist[ARGV[i]] = 1
|
||||
delete ARGV[i]
|
||||
}
|
||||
|
||||
# create blacklist
|
||||
blen = ARGV[i]; delete ARGV[i]
|
||||
while (i++ < ARGC) {
|
||||
blacklist[ARGV[i]] = 1
|
||||
delete ARGV[i]
|
||||
}
|
||||
|
||||
# read package filenames
|
||||
while (getline < "/dev/stdin") {
|
||||
parse_filename($0)
|
||||
}
|
||||
|
||||
for (pkglist in packages) {
|
||||
# idx[1,2] = idx[pkgname,arch]
|
||||
split(pkglist, idx, SUBSEP)
|
||||
|
||||
# enforce architecture match if specified
|
||||
if (!scanarch || scanarch == idx[2]) {
|
||||
count = split(packages[idx[1], idx[2]], pkgs, SUBSEP)
|
||||
for(i = 1; i <= count - keep; i++) {
|
||||
print pkgs[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
}' "${@:3}"
|
||||
}
|
||||
|
||||
m4_include(../scripts/library/size_to_human.sh)
|
||||
|
||||
runcmd() {
|
||||
if (( needsroot && EUID != 0 )); then
|
||||
msg "Privilege escalation required"
|
||||
if sudo -v &>/dev/null && sudo -l &>/dev/null; then
|
||||
sudo "$@"
|
||||
else
|
||||
die 'Unable to escalate privileges using sudo'
|
||||
fi
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
|
||||
summarize() {
|
||||
(( QUIET )) && return
|
||||
|
||||
local -i filecount=$1; shift
|
||||
local seenarch= seen= arch= name=
|
||||
local -r pkg_re='(.+)-[^-]+-[0-9]+-([^.]+)\.pkg.*'
|
||||
|
||||
if (( delete )); then
|
||||
printf -v output 'finished: %d packages removed' "$filecount"
|
||||
elif (( move )); then
|
||||
printf -v output "finished: %d packages moved to '%s'" "$filecount" "$movedir"
|
||||
elif (( dryrun )); then
|
||||
if (( verbose )); then
|
||||
msg "Candidate packages:"
|
||||
while read -r pkg; do
|
||||
if (( verbose >= 3 )); then
|
||||
[[ $pkg =~ $pkg_re ]] && name=${BASH_REMATCH[1]} arch=${BASH_REMATCH[2]}
|
||||
if [[ -z $seen || $seenarch != "$arch" || $seen != "$name" ]]; then
|
||||
seen=$name seenarch=$arch
|
||||
printf '%s (%s):\n' "${name##*/}" "$arch"
|
||||
fi
|
||||
printf ' %s\n' "${pkg##*/}"
|
||||
elif (( verbose >= 2 )); then
|
||||
printf "%s$delim" "$pkg"
|
||||
else
|
||||
printf "%s$delim" "${pkg##*/}"
|
||||
fi
|
||||
done < <(printf '%s\n' "$@" | pacsort --files)
|
||||
fi
|
||||
printf -v output 'finished dry run: %d candidates' "$filecount"
|
||||
fi
|
||||
|
||||
echo
|
||||
msg "$output (disk space saved: %s)" "$(size_to_human "$totalsaved")"
|
||||
}
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
${myname} (pacman) v${myver}
|
||||
|
||||
A flexible pacman cache cleaning utility.
|
||||
|
||||
Usage: ${myname} <operation> [options] [targets...]
|
||||
|
||||
Operations:
|
||||
-d, --dryrun perform a dry run, only finding candidate packages.
|
||||
-m, --move <dir> move candidate packages to "dir".
|
||||
-r, --remove remove candidate packages.
|
||||
|
||||
Options:
|
||||
-a, --arch <arch> scan for "arch" (default: all architectures).
|
||||
-c, --cachedir <dir> scan "dir" for packages. can be used more than once.
|
||||
(default: read from @sysconfdir@/pacman.conf).
|
||||
-f, --force apply force to mv(1) and rm(1) operations.
|
||||
-h, --help display this help message and exit.
|
||||
-i, --ignore <pkgs> ignore "pkgs", comma-separated. Alternatively, specify
|
||||
"-" to read package names from stdin, newline-
|
||||
delimited.
|
||||
-k, --keep <num> keep "num" of each package in the cache (default: 3).
|
||||
--nocolor remove color from output.
|
||||
-q, --quiet minimize output
|
||||
-u, --uninstalled target uninstalled packages.
|
||||
-v, --verbose increase verbosity. specify up to 3 times.
|
||||
-z, --null use null delimiters for candidate names (only with -v
|
||||
and -vv).
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "%s %s\n" "$myname" "$myver"
|
||||
echo 'Copyright (C) 2011 Dave Reisner <dreisner@archlinux.org>'
|
||||
}
|
||||
|
||||
OPT_SHORT=':a:c:dfhi:k:m:qrsuVvz'
|
||||
OPT_LONG=('arch:' 'cachedir:' 'dryrun' 'force' 'help' 'ignore:' 'keep:' 'move'
|
||||
'nocolor' 'quiet' 'remove' 'uninstalled' 'version' 'verbose' 'null')
|
||||
|
||||
if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then
|
||||
exit 1
|
||||
fi
|
||||
set -- "${OPTRET[@]}"
|
||||
unset OPT_SHORT OPT_LONG OPTRET
|
||||
|
||||
while :; do
|
||||
case $1 in
|
||||
-a|--arch)
|
||||
scanarch=$2
|
||||
shift ;;
|
||||
-c|--cachedir)
|
||||
cachedirs+=("$2")
|
||||
shift ;;
|
||||
-d|--dryrun)
|
||||
dryrun=1 ;;
|
||||
-f|--force)
|
||||
cmdopts=(-f) ;;
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0 ;;
|
||||
-i|--ignore)
|
||||
if [[ $2 = '-' ]]; then
|
||||
[[ ! -t 0 ]] && IFS=$'\n' read -r -d '' -a ign
|
||||
else
|
||||
IFS=',' read -r -a ign <<< "$2"
|
||||
fi
|
||||
blacklist+=("${ign[@]}")
|
||||
unset i ign
|
||||
shift ;;
|
||||
-k|--keep)
|
||||
keep=$2
|
||||
if [[ -z $keep || -n ${keep//[0-9]/} ]]; then
|
||||
die 'argument to option -k must be a non-negative integer'
|
||||
else
|
||||
keep=$(( 10#$keep ))
|
||||
fi
|
||||
shift ;;
|
||||
-m|--move)
|
||||
move=1 movedir=$2
|
||||
shift ;;
|
||||
--nocolor)
|
||||
USE_COLOR='n' ;;
|
||||
-q|--quiet)
|
||||
QUIET=1 ;;
|
||||
-r|--remove)
|
||||
delete=1 ;;
|
||||
-u|--uninstalled)
|
||||
IFS=$'\n' read -r -d '' -a ign < <(pacman -Qq)
|
||||
# pacman -Qq may exit with an error, thus making ign an empty array
|
||||
(( ${#ign[@]} )) || die 'failed to retrieve the list of installed packages'
|
||||
blacklist+=("${ign[@]}")
|
||||
unset ign ;;
|
||||
-V|--version)
|
||||
version
|
||||
exit 0 ;;
|
||||
-v|--verbose)
|
||||
(( ++verbose )) ;;
|
||||
-z|--null)
|
||||
delim='\0' ;;
|
||||
--)
|
||||
shift
|
||||
break 2 ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
m4_include(../scripts/library/term_colors.sh)
|
||||
|
||||
# setting default cachedir
|
||||
if [[ -z $cachedirs ]]; then
|
||||
if cachedir=$(get_cachedir_from_config "@sysconfdir@/pacman.conf"); then
|
||||
cachedirs=("$cachedir")
|
||||
else
|
||||
cachedirs=("${cachedirs[@]:-@localstatedir@/cache/pacman/pkg}")
|
||||
fi
|
||||
fi
|
||||
|
||||
# remaining args are a whitelist
|
||||
whitelist=("$@")
|
||||
|
||||
# sanity checks
|
||||
case $(( dryrun+delete+move )) in
|
||||
0) die "no operation specified (use -h for help)" ;;
|
||||
[^1]) die "only one operation may be used at a time" ;;
|
||||
esac
|
||||
|
||||
[[ $movedir && ! -d $movedir ]] &&
|
||||
die "destination directory '%s' does not exist or is not a directory" "$movedir"
|
||||
|
||||
if (( move || delete )); then
|
||||
# make it an absolute path since we're about to chdir
|
||||
[[ $movedir && ${movedir:0:1} != '/' ]] && movedir=$PWD/$movedir
|
||||
[[ $movedir && ! -w $movedir ]] && needsroot=1
|
||||
fi
|
||||
|
||||
for cachedir in "${cachedirs[@]}"; do
|
||||
[[ -d $cachedir ]] ||
|
||||
die "cachedir '%s' does not exist or is not a directory" "$cachedir"
|
||||
|
||||
if (( move || delete )); then
|
||||
[[ ! -w $cachedir ]] && needsroot=1
|
||||
fi
|
||||
|
||||
# unlikely that this will fail, but better make sure
|
||||
pushd "$cachedir" &>/dev/null || die "failed to chdir to '%s'" "$cachedir"
|
||||
|
||||
# note that these results are returned in an arbitrary order from awk, but
|
||||
# they'll be resorted (in summarize) iff we have a verbosity level set.
|
||||
IFS=$'\n' read -r -d '' -a cand < \
|
||||
<(printf '%s\n' "$PWD"/*.pkg.tar?(.+([^.])) | pacsort --files |
|
||||
pkgfilter "$keep" "$scanarch" \
|
||||
"${#whitelist[*]}" "${whitelist[@]}" \
|
||||
"${#blacklist[*]}" "${blacklist[@]}")
|
||||
|
||||
candidates+=("${cand[@]}")
|
||||
unset cand
|
||||
|
||||
popd &>/dev/null
|
||||
done
|
||||
|
||||
if (( ! ${#candidates[*]} )); then
|
||||
msg 'no candidate packages found for pruning'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# grab this prior to signature scavenging
|
||||
pkgcount=${#candidates[*]}
|
||||
|
||||
# copy the list, merging in any found sigs
|
||||
for cand in "${candidates[@]}"; do
|
||||
candtemp+=("$cand")
|
||||
[[ -f $cand.sig ]] && candtemp+=("$cand.sig")
|
||||
done
|
||||
candidates=("${candtemp[@]}")
|
||||
unset candtemp
|
||||
|
||||
# do this before we destroy anything
|
||||
totalsaved=$(@SIZECMD@ "${candidates[@]}" | awk '{ sum += $1 } END { print sum }')
|
||||
|
||||
# crush. kill. destroy.
|
||||
(( verbose )) && cmdopts+=(-v)
|
||||
if (( delete )); then
|
||||
printf '%s\0' "${candidates[@]}" | runcmd xargs -0 rm "${cmdopts[@]}"
|
||||
elif (( move )); then
|
||||
printf '%s\0' "${candidates[@]}" | runcmd xargs -0 mv "${cmdopts[@]}" -t "$movedir"
|
||||
fi
|
||||
|
||||
summarize "$pkgcount" "${candidates[@]}"
|
||||
|
||||
# vim: set noet:
|
||||
@@ -1,194 +0,0 @@
|
||||
#!/bin/bash
|
||||
# pacdiff : a simple pacnew/pacsave updater
|
||||
#
|
||||
# Copyright (c) 2007 Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
# Copyright (c) 2013-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
shopt -s extglob
|
||||
|
||||
declare -r myname='pacdiff'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
|
||||
diffprog=${DIFFPROG:-'vim -d'}
|
||||
diffsearchpath=${DIFFSEARCHPATH:-/etc}
|
||||
USE_COLOR='y'
|
||||
declare -a oldsaves
|
||||
declare -i USE_FIND=0 USE_LOCATE=0 USE_PACDB=0 OUTPUTONLY=0
|
||||
|
||||
m4_include(../scripts/library/output_format.sh)
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
${myname} (pacman) v${myver}
|
||||
|
||||
A simple program to merge or remove pacnew/pacsave files.
|
||||
|
||||
Usage: $myname [-l | -f | -p] [--nocolor]
|
||||
|
||||
Search Options: select one (default: --pacmandb)
|
||||
-l/--locate scan using locate
|
||||
-f/--find scan using find
|
||||
-p/--pacmandb scan active config files from pacman database
|
||||
|
||||
General Options:
|
||||
-o/--output print files instead of merging them
|
||||
--nocolor remove colors from output
|
||||
|
||||
Environment Variables:
|
||||
DIFFPROG override the merge program: (default: 'vim -d')
|
||||
DIFFSEARCHPATH override the search path. (only when using find)
|
||||
(default: /etc)
|
||||
|
||||
Example: DIFFPROG=meld DIFFSEARCHPATH="/boot /etc /usr" $myname
|
||||
Example: $myname --output --locate
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "%s %s\n" "$myname" "$myver"
|
||||
echo 'Copyright (C) 2007 Aaron Griffin <aaronmgriffin@gmail.com>'
|
||||
echo 'Copyright (C) 2013-2016 Pacman Development Team <pacman-dev@archlinux.org>'
|
||||
}
|
||||
|
||||
print_existing() {
|
||||
[[ -f "$1" ]] && printf '%s\0' "$1"
|
||||
}
|
||||
|
||||
print_existing_pacsave(){
|
||||
for f in "${1}"?(.+([0-9])); do
|
||||
[[ -f $f ]] && printf '%s\0' "$f"
|
||||
done
|
||||
}
|
||||
|
||||
cmd() {
|
||||
if (( USE_LOCATE )); then
|
||||
locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave '*.pacsave.[0-9]*'
|
||||
elif (( USE_FIND )); then
|
||||
find $diffsearchpath \( -name \*.pacnew -o -name \*.pacorig -o -name \*.pacsave -o -name '*.pacsave.[0-9]*' \) -print0
|
||||
elif (( USE_PACDB )); then
|
||||
awk '/^%BACKUP%$/ {
|
||||
while (getline) {
|
||||
if (/^$/) { nextfile }
|
||||
print $1
|
||||
}
|
||||
}' "${pac_db}"/*/files | while read -r bkup; do
|
||||
print_existing "/$bkup.pacnew"
|
||||
print_existing "/$bkup.pacorig"
|
||||
print_existing_pacsave "/$bkup.pacsave"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
while [[ -n "$1" ]]; do
|
||||
case "$1" in
|
||||
-l|--locate)
|
||||
USE_LOCATE=1;;
|
||||
-f|--find)
|
||||
USE_FIND=1;;
|
||||
-p|--pacmandb)
|
||||
USE_PACDB=1;;
|
||||
-o|--output)
|
||||
OUTPUTONLY=1;;
|
||||
--nocolor)
|
||||
USE_COLOR='n';;
|
||||
-V|--version)
|
||||
version; exit 0;;
|
||||
-h|--help)
|
||||
usage; exit 0;;
|
||||
*)
|
||||
usage; exit 1;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
m4_include(../scripts/library/term_colors.sh)
|
||||
|
||||
if ! type -p ${diffprog%% *} >/dev/null && (( ! OUTPUTONLY )); then
|
||||
error "Cannot find the $diffprog binary required for viewing differences."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case $(( USE_FIND + USE_LOCATE + USE_PACDB )) in
|
||||
0) USE_PACDB=1;; # set the default search option
|
||||
[^1]) error "Only one search option may be used at a time"
|
||||
usage; exit 1;;
|
||||
esac
|
||||
|
||||
if (( USE_PACDB )); then
|
||||
if [[ ! -r @sysconfdir@/pacman.conf ]]; then
|
||||
error "unable to read @sysconfdir@/pacman.conf"
|
||||
usage; exit 1
|
||||
fi
|
||||
|
||||
eval $(awk '/DBPath/ {print $1$2$3}' @sysconfdir@/pacman.conf)
|
||||
pac_db="${DBPath:-@localstatedir@/lib/pacman/}local"
|
||||
if [[ ! -d "${pac_db}" ]]; then
|
||||
error "unable to read pacman database %s". "${pac_db}"
|
||||
usage; exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# see http://mywiki.wooledge.org/BashFAQ/020
|
||||
while IFS= read -u 3 -r -d '' pacfile; do
|
||||
file="${pacfile%.pac*}"
|
||||
file_type="pac${pacfile##*.pac}"
|
||||
|
||||
if (( OUTPUTONLY )); then
|
||||
echo "$pacfile"
|
||||
continue
|
||||
fi
|
||||
|
||||
# add matches for pacsave.N to oldsaves array, do not prompt
|
||||
if [[ $file_type = pacsave.+([0-9]) ]]; then
|
||||
oldsaves+=("$pacfile")
|
||||
continue
|
||||
fi
|
||||
|
||||
msg "%s file found for %s" "$file_type" "$file"
|
||||
if [ ! -f "$file" ]; then
|
||||
warning "$file does not exist"
|
||||
rm -iv "$pacfile"
|
||||
continue
|
||||
fi
|
||||
|
||||
if cmp -s "$pacfile" "$file"; then
|
||||
msg2 "Files are identical, removing..."
|
||||
rm -v "$pacfile"
|
||||
else
|
||||
ask "(V)iew, (S)kip, (R)emove %s, (O)verwrite with %s, (Q)uit: [v/s/r/o/q] " "$file_type" "$file_type"
|
||||
while read c; do
|
||||
case $c in
|
||||
q|Q) exit 0;;
|
||||
r|R) rm -v "$pacfile"; break ;;
|
||||
o|O) mv -v "$pacfile" "$file"; break ;;
|
||||
v|V)
|
||||
$diffprog "$pacfile" "$file"
|
||||
ask "(V)iew, (S)kip, (R)emove %s, (O)verwrite with %s, (Q)uit: [v/s/r/o/q] " "$file_type" "$file_type";
|
||||
continue ;;
|
||||
s|S) break ;;
|
||||
*) ask "Invalid answer. Try again: [v/s/r/o/q] "; continue ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
done 3< <(cmd)
|
||||
|
||||
(( ${#oldsaves[@]} )) && warning "Ignoring %s" "${oldsaves[@]}"
|
||||
|
||||
exit 0
|
||||
|
||||
# vim: set noet:
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/bin/bash
|
||||
# paclist - List all packages installed from a given repo
|
||||
#
|
||||
# Copyright (C) 2008 Dan McGee <dpmcgee@gmail.com>
|
||||
# Copyright (C) 2011 Dave Reisner <dreisner@archlinux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
declare -r myname='paclist'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
|
||||
export TEXTDOMAIN='pacman'
|
||||
export TEXTDOMAINDIR='/usr/share/locale'
|
||||
|
||||
# determine whether we have gettext; make it a no-op if we do not
|
||||
if ! type gettext &>/dev/null; then
|
||||
gettext() {
|
||||
echo "$@"
|
||||
}
|
||||
fi
|
||||
|
||||
usage() {
|
||||
printf "%s (pacman) v%s\n" "${myname}" "${myver}"
|
||||
echo
|
||||
printf "List all packages installed from a given repository\n" "${myname}"
|
||||
echo
|
||||
printf "Usage: %s <repository>\n" "${myname}"
|
||||
echo
|
||||
printf "Example: %s testing\n" "${myname}"
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "%s %s\n" "$myname" "$myver"
|
||||
echo 'Copyright (C) 2008 Dan McGee <dpmcgee@gmail.com>'
|
||||
echo 'Copyright (C) 2011 Dave Reisner <dreisner@archlinux.org>'
|
||||
}
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $1 = -@(h|-help) ]]; then
|
||||
usage
|
||||
exit 0
|
||||
elif [[ $1 = -@(V|-version) ]]; then
|
||||
version
|
||||
exit 0
|
||||
fi
|
||||
|
||||
printf -v installed '[%s]' "$(gettext installed)"
|
||||
pacman -Sl $1 | awk -v i="$installed" '$NF == i { print $2,$3 }'
|
||||
|
||||
# exit with pacman's return value, not awk's
|
||||
exit ${PIPESTATUS[0]}
|
||||
|
||||
# vim: set noet:
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# paclog-pkglist - Parse a log file into a list of currently installed packages
|
||||
#
|
||||
# Copyright (C) 2011 Dave Reisner <dave@archlinux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
declare -r myname='paclog-pkglist'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
|
||||
export TEXTDOMAIN='pacman'
|
||||
export TEXTDOMAINDIR='/usr/share/locale'
|
||||
declare logfile=${1:-@localstatedir@/log/pacman.log}
|
||||
|
||||
usage() {
|
||||
printf "%s (pacman) v%s\n" "${myname}" "${myver}"
|
||||
echo
|
||||
echo "Parse a log file into a list of currently installed packages"
|
||||
echo
|
||||
printf "Usage: %s [path to pacman log]\n" "${myname}"
|
||||
echo
|
||||
printf "Example: %s @localstatedir@/log/pacman.log\n" "${myname}"
|
||||
echo
|
||||
echo 'Defaults to: @localstatedir@/log/pacman.log'
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "%s %s\n" "$myname" "$myver"
|
||||
echo 'Copyright (C) 2011 Dave Reisner <dave@archlinux.org>'
|
||||
}
|
||||
|
||||
if [[ $1 ]]; then
|
||||
if [[ $1 = -@(h|-help) ]]; then
|
||||
usage
|
||||
exit 0
|
||||
elif [[ $1 = -@(V|-version) ]]; then
|
||||
version
|
||||
exit 0
|
||||
elif [[ ! -e $logfile ]]; then
|
||||
printf $"target not found: %s\n" "$1"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
<"$logfile" awk '
|
||||
{
|
||||
if ($3 ~ /^\[.*\]$/) {
|
||||
# new style with caller name
|
||||
action = $4
|
||||
pkgname = $5
|
||||
pkgver = $6
|
||||
upgver = $8
|
||||
nfields = NF
|
||||
} else {
|
||||
action = $3
|
||||
pkgname = $4
|
||||
pkgver = $5
|
||||
upgver = $7
|
||||
nfields = (NF + 1) # compensate for missing caller field
|
||||
}
|
||||
}
|
||||
|
||||
nfields == 6 && action == "installed" {
|
||||
gsub(/[()]/, "", pkgver)
|
||||
pkg[pkgname] = pkgver
|
||||
next
|
||||
}
|
||||
|
||||
nfields == 8 && (action == "upgraded" || action == "downgraded") {
|
||||
sub(/\)/, "", upgver)
|
||||
pkg[pkgname] = upgver
|
||||
next
|
||||
}
|
||||
|
||||
nfields == 6 && action == "removed" {
|
||||
pkg[pkgname] = -1
|
||||
}
|
||||
|
||||
END {
|
||||
for (i in pkg) {
|
||||
if (pkg[i] != -1) {
|
||||
printf "%s %s\n",i,pkg[i]
|
||||
}
|
||||
}
|
||||
}' | sort
|
||||
|
||||
# vim: set noet:
|
||||
@@ -1,140 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# pacscripts : tries to print out the {pre,post}_{install,remove,upgrade}
|
||||
# scripts of a given package
|
||||
#
|
||||
# Copyright (c) 2009 Xavier Chantry <shiningxc@gmail.com>
|
||||
# Copyright (c) 2009-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# bash options
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
|
||||
declare -r myname='pacscripts'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
|
||||
conf="@sysconfdir@/pacman.conf"
|
||||
|
||||
if [ ! -r "$conf" ]; then
|
||||
echo "ERROR: unable to read $conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
eval $(awk '/DBPath/ {print $1$2$3}' "$conf")
|
||||
eval $(awk '/CacheDir/ {print $1$2$3}' "$conf")
|
||||
pac_db="${DBPath:-@localstatedir@/lib/pacman}/local"
|
||||
pac_cache="${CacheDir:-@localstatedir@/cache/pacman/pkg}"
|
||||
|
||||
error() {
|
||||
local mesg=$1; shift
|
||||
printf "==> $(gettext "ERROR:") ${mesg}\n" "$@" >&2
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "${myname} (pacman) v${myver}"
|
||||
echo
|
||||
echo "Prints the {pre,post}_{install,remove,upgrade} scripts of a given package."
|
||||
echo
|
||||
echo "Usage: ${myname} <pkgname|pkgfile>"
|
||||
echo
|
||||
echo " Options:"
|
||||
echo " -h, --help Print this help message"
|
||||
echo " -v, --version Print program name and version"
|
||||
echo
|
||||
echo "Example: ${myname} gconf-editor"
|
||||
echo "Example: ${myname} gconf-editor-3.0.1-3-x86_64.pkg.tar.xz"
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "%s %s\n" "$myname" "$myver"
|
||||
echo 'Copyright (c) 2009 Giulio "giulivo" Fidente <giulivo.navigante@gmail.com>'
|
||||
echo 'Copyright (c) 2009 Xavier Chantry <shiningxc@gmail.com>'
|
||||
}
|
||||
|
||||
spacman() {
|
||||
if [ $EUID -eq 0 ]; then
|
||||
pacman "$@"
|
||||
else
|
||||
if ! type -p sudo; then
|
||||
error "Cannot find the sudo binary!"
|
||||
error "${myname} requires root privileges. Either install \"sudo\" or run as root."
|
||||
exit 1
|
||||
else
|
||||
sudo pacman "$@"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
print_db() {
|
||||
pkg=$(pacman -Q "$1")
|
||||
pkg=${pkg/ /-}
|
||||
if [ -f $pac_db/$pkg*/install ]; then
|
||||
cat $pac_db/$pkg*/install
|
||||
echo
|
||||
return 0
|
||||
else
|
||||
error "Package $1 does not include any .INSTALL script"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
print_pkg() {
|
||||
if ! bsdtar -xqOf "$1" .INSTALL 2>/dev/null; then
|
||||
error "Package $1 does not include any .INSTALL script"
|
||||
return 1
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
print_scriptlet() {
|
||||
if [ -f "$1" ]; then
|
||||
if bsdtar tf "$1" .PKGINFO &>/dev/null; then
|
||||
print_pkg "$1"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
if pacman -Q "$1" &>/dev/null; then
|
||||
print_db "$1"
|
||||
return
|
||||
fi
|
||||
if ! pacman -Si $1 &>/dev/null; then
|
||||
error "Package $1 not found"
|
||||
return 1
|
||||
fi
|
||||
url=$(pacman -Sddp $1)
|
||||
filename=$(basename $url)
|
||||
if [ ! -f "$pac_cache/$filename" ]; then
|
||||
if ! spacman -Sddw --noconfirm $1 >&2; then
|
||||
error "Failed to download $1"
|
||||
return 1
|
||||
fi
|
||||
echo >&2
|
||||
fi
|
||||
print_pkg "$pac_cache/$filename"
|
||||
return
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ] ; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
--help|-h) usage; exit 0 ;;
|
||||
--version|-V) version; exit 0 ;;
|
||||
*) print_scriptlet $1 ;;
|
||||
esac
|
||||
@@ -1,125 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
# pacsearch - Perform a pacman search using both the local and the sync databases
|
||||
#
|
||||
# Copyright (C) 2008-2014 Dan McGee <dan@archlinux.org>
|
||||
#
|
||||
# Based off original shell script version:
|
||||
# Copyright (C) 2006-2007 Dan McGee <dan@archlinux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Term::ANSIColor;
|
||||
|
||||
my $myname = 'pacsearch';
|
||||
my $myver = '@PACKAGE_VERSION@';
|
||||
|
||||
sub usage {
|
||||
print "$myname (pacman) v$myver\n\n";
|
||||
print "Perform a pacman search using both the local and the sync databases.\n\n";
|
||||
print "Usage: $myname [-n] <pattern>\n\n";
|
||||
print "Options:\n";
|
||||
print " -n, --nocolor: turn off coloring\n\n";
|
||||
print "Example: $myname ^gnome\n";
|
||||
}
|
||||
|
||||
sub version {
|
||||
printf "%s %s\n", $myname, $myver;
|
||||
print "Copyright (C) 2008-2014 Dan McGee <dan\@archlinux.org>\n\n";
|
||||
print "Based off original shell script version:\n";
|
||||
print "Copyright (C) 2006-2007 Dan McGee <dan\@archlinux.org>\n";
|
||||
}
|
||||
|
||||
if ($#ARGV lt 0 || $ARGV[0] eq "--help" || $ARGV[0] eq "-h") {
|
||||
usage;
|
||||
if ($#ARGV lt 0) {
|
||||
exit 1;
|
||||
}
|
||||
exit 0;
|
||||
}
|
||||
|
||||
if ($ARGV[0] eq "--version" || $ARGV[0] eq "-V") {
|
||||
version;
|
||||
exit 0;
|
||||
}
|
||||
|
||||
# define formatting variables
|
||||
my($BLUE, $CYAN, $GREEN, $MAGENTA, $RED, $YELLOW, $BOLD, $RESET);
|
||||
if ($ARGV[0] eq "--nocolor" || $ARGV[0] eq "-n") {
|
||||
shift;
|
||||
$BLUE = "";
|
||||
$CYAN = "";
|
||||
$GREEN = "";
|
||||
$MAGENTA = "";
|
||||
$RED = "";
|
||||
$YELLOW = "";
|
||||
$BOLD = "";
|
||||
$RESET = "";
|
||||
} else {
|
||||
$BLUE = color('blue');
|
||||
$CYAN = color('cyan');
|
||||
$GREEN = color('green');
|
||||
$MAGENTA = color('magenta');
|
||||
$RED = color('red');
|
||||
$YELLOW = color('yellow');
|
||||
$BOLD = color('bold');
|
||||
$RESET = color('reset');
|
||||
}
|
||||
|
||||
# localization
|
||||
my $LC_INSTALLED = `gettext pacman installed`;
|
||||
|
||||
# Print a "repo/pkgname pkgver (groups) [installed]" line.
|
||||
# We stick to pacman colors.
|
||||
sub print_pkg {
|
||||
my @v = @_;
|
||||
print "$RESET$BOLD";
|
||||
if ( "$v[0]" eq "local" ) {
|
||||
print "$RED";
|
||||
} else {
|
||||
print "$MAGENTA";
|
||||
}
|
||||
print "$v[0]/$RESET$BOLD$v[1] $GREEN$v[2]$BLUE$v[3]$CYAN$v[4]$RESET\n";
|
||||
print "$v[5]";
|
||||
}
|
||||
|
||||
sub list_pkg {
|
||||
my $db = shift;
|
||||
open (my $out, '-|', 'pacman', $db, '--', @ARGV) or exit 1;
|
||||
my @pkglist = ();
|
||||
while ( readline($out) ) {
|
||||
# We grab the following fields: repo, name, ver, group, installed, and
|
||||
# desc. We grab leading space for 'group' and 'installed' so that we do
|
||||
# not need to test if non-empty when printing.
|
||||
my @pkgfields = /^(.*?)\/(.*?) (.*?)( \(.*?\))?( \[.*\])?$/s;
|
||||
my $desc = readline($out);
|
||||
# since 'group' and 'installed' are optional, we should fill it in if
|
||||
# necessary
|
||||
$pkgfields[3] = "" if not defined $pkgfields[3];
|
||||
$pkgfields[4] = "" if not defined $pkgfields[4];
|
||||
$pkgfields[5] = $desc;
|
||||
push (@pkglist, \@pkgfields);
|
||||
}
|
||||
close ($out);
|
||||
return @pkglist;
|
||||
}
|
||||
|
||||
my @sync = list_pkg('-Ss', @ARGV);
|
||||
my %allpkgs = map {$_->[1] . $_->[2] => 1} @sync;
|
||||
my @query = grep { not $allpkgs{$_->[1] . $_->[2]}} list_pkg('-Qs', @ARGV);
|
||||
$_->[4] = " [$LC_INSTALLED]" foreach @query;
|
||||
print_pkg (@{$_}) foreach (@sync, @query);
|
||||
|
||||
#vim: set noet:
|
||||
@@ -1,234 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# rankmirrors - read a list of mirrors from a file and rank them by speed
|
||||
# @configure_input@
|
||||
#
|
||||
# Copyright (c) 2009 Matthew Bruenig <matthewbruenig@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# traps interrupt key to spit out pre-interrupt info
|
||||
trap finaloutput INT
|
||||
|
||||
declare -r myname='rankmirrors'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
|
||||
usage() {
|
||||
echo "${myname} (pacman) v${myver}"
|
||||
echo
|
||||
echo "Ranks pacman mirrors by their connection and opening speed. Pacman mirror"
|
||||
echo "files are located in @sysconfdir@/pacman.d/. It can also rank one mirror if the URL is"
|
||||
echo "provided."
|
||||
echo
|
||||
echo "Usage: ${myname} [options] MIRRORFILE | URL"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " --version show program's version number and exit"
|
||||
echo " -h, --help show this help message and exit"
|
||||
echo " -n NUM number of servers to output, 0 for all"
|
||||
echo " -t, --times only output mirrors and their response times"
|
||||
echo " -u, --url test a specific URL"
|
||||
echo " -v, --verbose be verbose in ouptut"
|
||||
echo " -r, --repo specify a repository name instead of guessing"
|
||||
exit 0
|
||||
}
|
||||
|
||||
version() {
|
||||
echo "${myname} (pacman) ${myver}"
|
||||
echo "Copyright (c) 2009 Matthew Bruenig <matthewbruenig@gmail.com>."
|
||||
echo
|
||||
echo "This is free software; see the source for copying conditions."
|
||||
echo "There is NO WARRANTY, to the extent permitted by law."
|
||||
exit 0
|
||||
}
|
||||
|
||||
err() {
|
||||
echo "$1" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# gettime fetchurl (e.g gettime http://foo.com/core/os/i686/core.db.tar.gz)
|
||||
# returns the fetching time, or timeout, or unreachable
|
||||
gettime() {
|
||||
IFS=' ' output=( $(curl -s -m 10 -w "%{time_total} %{http_code}" "$1" -o/dev/null) )
|
||||
(( $? == 28 )) && echo timeout && return
|
||||
(( ${output[1]} >= 400 || ! ${output[1]} )) && echo unreachable && return
|
||||
echo "${output[0]}"
|
||||
}
|
||||
|
||||
# getfetchurl serverurl (e.g. getturl http://foo.com/core/os/i686)
|
||||
# if $repo is in the line, then assumes core
|
||||
# if $arch is in the line, then assumes $(uname -m)
|
||||
# returns a fetchurl (e.g. http://foo.com/core/os/i686/core.db.tar.gz)
|
||||
ARCH="$(uname -m)"
|
||||
getfetchurl() {
|
||||
local strippedurl="${1%/}"
|
||||
|
||||
local replacedurl="${strippedurl//'$arch'/$ARCH}"
|
||||
if [[ ! $TARGETREPO ]]; then
|
||||
replacedurl="${replacedurl//'$repo'/core}"
|
||||
local tmp="${replacedurl%/*}"
|
||||
tmp="${tmp%/*}"
|
||||
|
||||
local reponame="${tmp##*/}"
|
||||
else
|
||||
replacedurl="${replacedurl//'$repo'/$TARGETREPO}"
|
||||
local reponame="$TARGETREPO"
|
||||
fi
|
||||
|
||||
if [[ -z $reponame || $reponame = $replacedurl ]]; then
|
||||
echo "fail"
|
||||
else
|
||||
local fetchurl="${replacedurl}/$reponame.db"
|
||||
echo "$fetchurl"
|
||||
fi
|
||||
}
|
||||
|
||||
# This exists to remove the need for a separate interrupt function
|
||||
finaloutput() {
|
||||
IFS=$'\n' read -r -d '' -a sortedarray < \
|
||||
<(printf '%s\n' "${timesarray[@]}" | LC_COLLATE=C sort)
|
||||
|
||||
# Final output for mirrorfile
|
||||
numiterator="0"
|
||||
if [[ $TIMESONLY ]]; then
|
||||
echo
|
||||
echo " Servers sorted by time (seconds):"
|
||||
for line in "${sortedarray[@]}"; do
|
||||
echo "${line#* } : ${line% *}"
|
||||
((numiterator++))
|
||||
(( NUM && numiterator >= NUM )) && break
|
||||
done
|
||||
else
|
||||
for line in "${sortedarray[@]}"; do
|
||||
echo "Server = ${line#* }"
|
||||
((numiterator++))
|
||||
(( NUM && numiterator >= NUM )) && break
|
||||
done
|
||||
fi
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
# Argument parsing
|
||||
[[ $1 ]] || usage
|
||||
while [[ $1 ]]; do
|
||||
if [[ ${1:0:2} = -- ]]; then
|
||||
case "${1:2}" in
|
||||
help) usage ;;
|
||||
version) version ;;
|
||||
times) TIMESONLY=1 ; shift ;;
|
||||
verbose) VERBOSE=1 ; shift ;;
|
||||
url)
|
||||
CHECKURL=1;
|
||||
[[ $2 ]] || err "Must specify URL.";
|
||||
URL="$2";
|
||||
shift 2;;
|
||||
repo)
|
||||
[[ $2 ]] || err "Must specify repository name.";
|
||||
TARGETREPO="$2";
|
||||
shift 2;;
|
||||
*) err "'$1' is an invalid argument."
|
||||
esac
|
||||
elif [[ ${1:0:1} = - ]]; then
|
||||
|
||||
if [[ ! ${1:1:1} ]]; then
|
||||
[[ -t 0 ]] && err "Stdin is empty."
|
||||
IFS=$'\n' linearray=( $(</dev/stdin) )
|
||||
STDIN=1
|
||||
shift
|
||||
else
|
||||
snum=1
|
||||
for ((i=1 ; i<${#1}; i++)); do
|
||||
case ${1:$i:1} in
|
||||
h) usage ;;
|
||||
t) TIMESONLY=1 ;;
|
||||
v) VERBOSE=1 ;;
|
||||
u)
|
||||
CHECKURL=1;
|
||||
[[ $2 ]] || err "Must specify URL.";
|
||||
URL="$2";
|
||||
snum=2;;
|
||||
r)
|
||||
[[ $2 ]] || err "Must specify repository name.";
|
||||
TARGETREPO="$2";
|
||||
snum=2;;
|
||||
n)
|
||||
[[ $2 ]] || err "Must specify number.";
|
||||
NUM="$2";
|
||||
snum=2;;
|
||||
*) err "'$1' is an invalid argument." ;;
|
||||
esac
|
||||
done
|
||||
shift $snum
|
||||
fi
|
||||
elif [[ -f $1 ]]; then
|
||||
FILE="1"
|
||||
IFS=$'\n' linearray=( $(<$1) )
|
||||
[[ $linearray ]] || err "File is empty."
|
||||
shift
|
||||
else
|
||||
err "'$1' does not exist."
|
||||
fi
|
||||
done
|
||||
|
||||
# Some sanity checks
|
||||
[[ $NUM ]] || NUM=0
|
||||
[[ $FILE && $CHECKURL ]] && err "Cannot specify a URL and mirrorfile."
|
||||
[[ $FILE || $CHECKURL || $STDIN ]] || err "Must specify URL, mirrorfile, or stdin."
|
||||
|
||||
# Single URL handling
|
||||
if [[ $CHECKURL ]]; then
|
||||
url="$(getfetchurl "$URL")"
|
||||
[[ $url = fail ]] && err "URL '$URL' is malformed."
|
||||
[[ $VERBOSE ]] && echo "Testing $url..."
|
||||
time=$(gettime "$url")
|
||||
echo "$URL : $time"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Get URL results from mirrorfile, fill up the array, and so on
|
||||
if [[ $TIMESONLY ]]; then
|
||||
echo "Querying servers. This may take some time..."
|
||||
elif [[ $FILE ]]; then
|
||||
echo "# Server list generated by rankmirrors on $(date +%Y-%m-%d)"
|
||||
fi
|
||||
|
||||
timesarray=()
|
||||
for line in "${linearray[@]}"; do
|
||||
if [[ $line =~ ^[[:space:]]*# ]]; then
|
||||
[[ $TIMESONLY ]] || echo $line
|
||||
elif [[ $line =~ ^[[:space:]]*Server ]]; then
|
||||
|
||||
# Getting values and times and such
|
||||
server="${line#*= }"
|
||||
server="${server%%#*}"
|
||||
url="$(getfetchurl "$server")"
|
||||
[[ $url = fail ]] && err "URL '$URL' is malformed."
|
||||
time=$(gettime "$url")
|
||||
timesarray+=("$time $server")
|
||||
|
||||
# Output
|
||||
if [[ $VERBOSE && $TIMESONLY ]]; then
|
||||
echo "$server ... $time"
|
||||
elif [[ $VERBOSE ]]; then
|
||||
echo "# $server ... $time"
|
||||
elif [[ $TIMESONLY ]]; then
|
||||
echo -n " *"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
finaloutput
|
||||
|
||||
# vim: set noet:
|
||||
@@ -1,106 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# updpkgsums - update source checksums in-place in PKGBUILDs
|
||||
#
|
||||
# Copyright (C) 2012-2013 Dave Reisner <dreisner@archlinux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
shopt -s extglob
|
||||
|
||||
declare -r myname='updpkgsums'
|
||||
declare -r myver='@PACKAGE_VERSION@'
|
||||
|
||||
usage() {
|
||||
printf "%s (pacman) v%s\n" "${myname}" "${myver}"
|
||||
echo
|
||||
printf "%s will perform an in place update of the checksums in the\n" "${myname}"
|
||||
echo "path specified by [build file], defaulting to PKGBUILD in the current"
|
||||
echo "working directory."
|
||||
echo
|
||||
printf "Usage: %s [build file]\n" "${myname}"
|
||||
echo
|
||||
echo " -h, --help display this help message and exit"
|
||||
echo " -V, --version display version information and exit"
|
||||
}
|
||||
|
||||
version() {
|
||||
printf "%s %s\n" "$myname" "$myver"
|
||||
echo 'Copyright (C) 2012-2013 Dave Reisner <dreisner@archlinux.org>'
|
||||
}
|
||||
|
||||
die() {
|
||||
printf "==> ERROR: $1\n" "${@:2}" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
case $1 in
|
||||
-h|--help) usage; exit ;;
|
||||
-V|--version) version; exit ;;
|
||||
esac
|
||||
|
||||
buildfile=${1:-PKGBUILD}
|
||||
if [[ ! -f $buildfile ]]; then
|
||||
die "%s not found or is not a file" "$buildfile"
|
||||
fi
|
||||
|
||||
# Resolve any symlinks to avoid replacing the symlink with a file. But, we
|
||||
# have to do this portably -- readlink's flags are inconsistent across OSes.
|
||||
while [[ -L $buildfile ]]; do
|
||||
buildfile=$(readlink "$buildfile")
|
||||
if [[ $buildfile = */* ]]; then
|
||||
cd "${buildfile%/*}"
|
||||
buildfile=${buildfile##*/}
|
||||
fi
|
||||
done
|
||||
|
||||
# cd into the directory with the build file. This avoids creating random src/
|
||||
# directories scattered about the filesystem, and avoids cases where we might
|
||||
# not be able to write in the $PWD.
|
||||
if [[ $buildfile = */* ]]; then
|
||||
cd "${buildfile%/*}"
|
||||
buildfile=${buildfile##*/}
|
||||
fi
|
||||
|
||||
# Check $PWD/ for permission to unlink the $buildfile and write a new one
|
||||
if [[ ! -w . ]]; then
|
||||
die "No write permission in '%s'" "$PWD"
|
||||
fi
|
||||
|
||||
# Generate the new sums
|
||||
export BUILDDIR=$(mktemp -d "${TMPDIR:-/tmp}/updpkgsums.XXXXXX")
|
||||
newbuildfile=$(mktemp "${TMPDIR:-/tmp}/updpkgsums.XXXXXX")
|
||||
|
||||
trap "rm -rf '$BUILDDIR' '$newbuildfile'" EXIT
|
||||
newsums=$(makepkg -g -p "$buildfile") || die 'Failed to generate new checksums'
|
||||
awk -v newsums="$newsums" '
|
||||
/^[[:blank:]]*(md|sha)[[:digit:]]+sums(_[^=]+)?=/,/\)[[:blank:]]*(#.*)?$/ {
|
||||
if (!w) {
|
||||
print newsums
|
||||
w++
|
||||
}
|
||||
next
|
||||
}
|
||||
|
||||
1
|
||||
END { if (!w) print newsums }
|
||||
' "$buildfile" > "$newbuildfile" || die 'Failed to write new PKGBUILD'
|
||||
|
||||
# Rewrite the original buildfile. Use cat instead of mv/cp to preserve
|
||||
# permissions implicitly.
|
||||
if ! cat -- "$newbuildfile" >"$buildfile"; then
|
||||
die "Failed to update %s. The file has not been modified." "$buildfile"
|
||||
fi
|
||||
|
||||
# vim: set noet:
|
||||
@@ -1,25 +0,0 @@
|
||||
This is a project file
|
||||
for the vim-project plugin.
|
||||
Save it as ~/.vimprojects
|
||||
|
||||
$ pacman -S vim-project
|
||||
change the pacman path below
|
||||
$ vim
|
||||
:Project
|
||||
|
||||
Press \r in the project view
|
||||
on a project name to generate
|
||||
the list of files
|
||||
|
||||
pacman=~/devel/pacman/ CD=. filter="*.ac *.am" flags=S {
|
||||
libalpm=lib/libalpm/ filter="*.c *.h *.am" {
|
||||
}
|
||||
pacman=src/pacman/ filter="*.c *.h *.am" {
|
||||
}
|
||||
scripts=scripts/ filter="*.sh.in *.py.in *.am" {
|
||||
}
|
||||
utils=src/util filter="*.c *.h *.am" {
|
||||
}
|
||||
contrib=contrib CD=. {
|
||||
}
|
||||
}
|
||||
15
doc/.gitignore
vendored
15
doc/.gitignore
vendored
@@ -1,17 +1,4 @@
|
||||
alpm-hooks.5
|
||||
PKGBUILD.5
|
||||
libalpm.3
|
||||
makepkg.8
|
||||
makepkg-template.1
|
||||
makepkg.conf.5
|
||||
pacman.8
|
||||
pacman-key.8
|
||||
pacman.conf.5
|
||||
pactree.8
|
||||
pkgdelta.8
|
||||
repo-add.8
|
||||
repo-remove.8
|
||||
vercmp.8
|
||||
*.[1-8]
|
||||
asciidoc-manpage.css
|
||||
asciidoc.css
|
||||
asciidoc.js
|
||||
|
||||
70
doc/BUILDINFO.5.asciidoc
Normal file
70
doc/BUILDINFO.5.asciidoc
Normal file
@@ -0,0 +1,70 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
BUILDINFO(5)
|
||||
============
|
||||
|
||||
Name
|
||||
----
|
||||
BUILDINFO - Makepkg package build information file
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
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
|
||||
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
|
||||
value.
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This is a description of the contents of version '1' of the
|
||||
BUILDINFO file format.
|
||||
|
||||
*format*::
|
||||
Denotes the file format version, represented by a plain positive integer.
|
||||
|
||||
*pkgname*::
|
||||
The name of the package.
|
||||
|
||||
*pkgbase*::
|
||||
|
||||
The base name of a package, usually the same as the pkgname except for
|
||||
split packages.
|
||||
|
||||
*pkgver*::
|
||||
The version of the package including pkgrel and epoch.
|
||||
|
||||
*pkgarch*::
|
||||
The architecture of the package.
|
||||
|
||||
*pkgbuild_sha256sum*::
|
||||
The sha256sum in hex format of the PKGBUILD used to build the package.
|
||||
|
||||
*packager*::
|
||||
The details of the packager that built the package.
|
||||
|
||||
*builddate*::
|
||||
The build date of the package in epoch.
|
||||
|
||||
*builddir*::
|
||||
The directory where the package was built.
|
||||
|
||||
*buildenv (array)*::
|
||||
The build environment specified in makepkg.conf.
|
||||
|
||||
*options (array)*::
|
||||
The options set specified when building the package.
|
||||
|
||||
*installed (array)*::
|
||||
The installed packages at build time including the version information of
|
||||
the package. Formatted as "$pkgname-$pkgver-$pkgrel-$pkgarch".
|
||||
|
||||
See Also
|
||||
--------
|
||||
linkman:makepkg[8], linkman:pacman[8], linkman:makepkg.conf[5]
|
||||
|
||||
include::footer.asciidoc[]
|
||||
@@ -12,11 +12,11 @@ ASCIIDOC_MANS = \
|
||||
vercmp.8 \
|
||||
pkgdelta.8 \
|
||||
pacman-key.8 \
|
||||
pactree.8 \
|
||||
PKGBUILD.5 \
|
||||
makepkg.conf.5 \
|
||||
pacman.conf.5 \
|
||||
libalpm.3
|
||||
libalpm.3 \
|
||||
BUILDINFO.5
|
||||
|
||||
DOXYGEN_MANS = $(wildcard man3/*.3)
|
||||
|
||||
@@ -29,7 +29,6 @@ HTML_MANPAGES = \
|
||||
vercmp.8.html \
|
||||
pkgdelta.8.html \
|
||||
pacman-key.8.html \
|
||||
pactree.8.html \
|
||||
PKGBUILD.5.html \
|
||||
makepkg.conf.5.html \
|
||||
pacman.conf.5.html \
|
||||
@@ -48,24 +47,24 @@ HTML_DOCS = \
|
||||
EXTRA_DIST = \
|
||||
asciidoc.conf \
|
||||
asciidoc-override.css \
|
||||
alpm-hooks.5.txt \
|
||||
pacman.8.txt \
|
||||
makepkg.8.txt \
|
||||
makepkg-template.1.txt \
|
||||
repo-add.8.txt \
|
||||
vercmp.8.txt \
|
||||
pkgdelta.8.txt \
|
||||
pacman-key.8.txt \
|
||||
pactree.8.txt \
|
||||
PKGBUILD.5.txt \
|
||||
alpm-hooks.5.asciidoc \
|
||||
pacman.8.asciidoc \
|
||||
makepkg.8.asciidoc \
|
||||
makepkg-template.1.asciidoc \
|
||||
repo-add.8.asciidoc \
|
||||
vercmp.8.asciidoc \
|
||||
pkgdelta.8.asciidoc \
|
||||
pacman-key.8.asciidoc \
|
||||
PKGBUILD.5.asciidoc \
|
||||
PKGBUILD-example.txt \
|
||||
makepkg.conf.5.txt \
|
||||
pacman.conf.5.txt \
|
||||
libalpm.3.txt \
|
||||
footer.txt \
|
||||
index.txt \
|
||||
submitting-patches.txt \
|
||||
translation-help.txt \
|
||||
makepkg.conf.5.asciidoc \
|
||||
pacman.conf.5.asciidoc \
|
||||
BUILDINFO.5.asciidoc \
|
||||
libalpm.3.asciidoc \
|
||||
footer.asciidoc \
|
||||
index.asciidoc \
|
||||
submitting-patches.asciidoc \
|
||||
translation-help.asciidoc \
|
||||
Doxyfile \
|
||||
$(ASCIIDOC_MANS) \
|
||||
$(DOXYGEN_MANS)
|
||||
@@ -131,11 +130,11 @@ A2X_OPTS = \
|
||||
--xsltproc-opts='-param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0'
|
||||
|
||||
# These rules are due to the includes and files of the asciidoc text
|
||||
$(ASCIIDOC_MANS): asciidoc.conf footer.txt Makefile.am
|
||||
$(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.txt
|
||||
$(ASCIIDOC_MANS): asciidoc.conf footer.asciidoc Makefile.am
|
||||
$(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.asciidoc
|
||||
|
||||
%.html: %.txt
|
||||
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - $*.txt | \
|
||||
%.html: %.asciidoc
|
||||
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - $*.asciidoc | \
|
||||
sed -e 's/\r$$//' > $@
|
||||
|
||||
HACKING.html: ../HACKING
|
||||
@@ -143,7 +142,7 @@ HACKING.html: ../HACKING
|
||||
sed -e 's/\r$$//' > $@
|
||||
|
||||
# Customizations for certain HTML docs
|
||||
$(HTML_MANPAGES): asciidoc.conf footer.txt Makefile.am
|
||||
$(HTML_MANPAGES): asciidoc.conf footer.asciidoc Makefile.am
|
||||
$(HTML_OTHER): asciidoc.conf Makefile.am
|
||||
%.html: ASCIIDOC_OPTS += -a linkcss -a toc -a icons -a max-width=960px -a stylesheet=asciidoc-override.css
|
||||
%.8.html: ASCIIDOC_OPTS += -d manpage
|
||||
@@ -151,19 +150,18 @@ $(HTML_OTHER): asciidoc.conf Makefile.am
|
||||
%.3.html: ASCIIDOC_OPTS += -d manpage
|
||||
|
||||
# Dependency rules
|
||||
alpm-hooks.5 alpm-hooks.5.html: alpm-hooks.5.txt
|
||||
pacman.8 pacman.8.html: pacman.8.txt
|
||||
makepkg.8 makepkg.8.html: makepkg.8.txt
|
||||
makepkg-template.1 makepkg-template.1.html: makepkg-template.1.txt
|
||||
repo-add.8 repo-add.8.html: repo-add.8.txt
|
||||
vercmp.8 vercmp.8.html: vercmp.8.txt
|
||||
pkgdelta.8 pkgdelta.8.html: pkgdelta.8.txt
|
||||
pacman-key.8 pacman-key.8.html: pacman-key.8.txt
|
||||
pactree.8 pactree.8.html: pactree.8.txt
|
||||
PKGBUILD.5 PKGBUILD.5.html: PKGBUILD.5.txt PKGBUILD-example.txt
|
||||
makepkg.conf.5 makepkg.conf.5.html: makepkg.conf.5.txt
|
||||
pacman.conf.5 pacman.conf.5.html: pacman.conf.5.txt
|
||||
libalpm.3 libalpm.3.html: libalpm.3.txt
|
||||
alpm-hooks.5 alpm-hooks.5.html: alpm-hooks.5.asciidoc
|
||||
pacman.8 pacman.8.html: pacman.8.asciidoc
|
||||
makepkg.8 makepkg.8.html: makepkg.8.asciidoc
|
||||
makepkg-template.1 makepkg-template.1.html: makepkg-template.1.asciidoc
|
||||
repo-add.8 repo-add.8.html: repo-add.8.asciidoc
|
||||
vercmp.8 vercmp.8.html: vercmp.8.asciidoc
|
||||
pkgdelta.8 pkgdelta.8.html: pkgdelta.8.asciidoc
|
||||
pacman-key.8 pacman-key.8.html: pacman-key.8.asciidoc
|
||||
PKGBUILD.5 PKGBUILD.5.html: PKGBUILD.5.asciidoc PKGBUILD-example.txt
|
||||
makepkg.conf.5 makepkg.conf.5.html: makepkg.conf.5.asciidoc
|
||||
pacman.conf.5 pacman.conf.5.html: pacman.conf.5.asciidoc
|
||||
libalpm.3 libalpm.3.html: libalpm.3.asciidoc
|
||||
# this one is just a symlink
|
||||
repo-remove.8: repo-add.8
|
||||
$(RM) repo-remove.8
|
||||
@@ -178,5 +176,3 @@ install-data-hook:
|
||||
|
||||
uninstall-hook:
|
||||
$(RM) $(DESTDIR)$(mandir)/man8/repo-remove.8
|
||||
|
||||
# vim:set noet:
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
PKGBUILD(5)
|
||||
===========
|
||||
|
||||
@@ -21,9 +18,9 @@ PKGBUILD is written, the actual package is built using makepkg and installed
|
||||
with pacman.
|
||||
|
||||
NOTE: An example PKGBUILD, useful for reference, is located in '{pkgdatadir}'
|
||||
along with other example files such as a ChangeLog and an install
|
||||
script. You can copy the provided PKGBUILD.proto file to a new package build
|
||||
directory and make customizations to suit your needs.
|
||||
along with other example files such as an install script. You can copy the
|
||||
provided PKGBUILD.proto file to a new package build directory and make
|
||||
customizations to suit your needs.
|
||||
|
||||
|
||||
Options and Directives
|
||||
@@ -48,7 +45,8 @@ similar to `$_basekernver`.
|
||||
|
||||
*pkgver*::
|
||||
The version of the software as released from the author (e.g., '2.7.1').
|
||||
The variable is not allowed to contain colons or hyphens.
|
||||
The variable is not allowed to contain colons, forward slashes, hyphens
|
||||
or whitespace.
|
||||
+
|
||||
The `pkgver` variable can be automatically updated by providing a `pkgver()`
|
||||
function in the PKGBUILD that outputs the new package version.
|
||||
@@ -58,11 +56,13 @@ new `pkgver`. This is most useful when used with sources from version control
|
||||
systems (see below).
|
||||
|
||||
*pkgrel*::
|
||||
This is the release number specific to the Arch Linux release. This
|
||||
This is the release number specific to the distribution. This
|
||||
allows package maintainers to make updates to the package's configure
|
||||
flags, for example. This is typically set to '1' for each new upstream
|
||||
software release and incremented for intermediate PKGBUILD updates. The
|
||||
variable is not allowed to contain hyphens.
|
||||
variable is a postive integer, with an optional subrelease level
|
||||
specified by adding another postive integer separated by a period
|
||||
(i.e. in the form x.y).
|
||||
|
||||
*epoch*::
|
||||
Used to force the package to be seen as newer than any previous versions
|
||||
@@ -154,7 +154,7 @@ contain whitespace characters.
|
||||
be skipped. To easily generate md5sums, run ``makepkg -g >> PKGBUILD''.
|
||||
If desired, move the md5sums line to an appropriate location.
|
||||
|
||||
*sha1sums, sha256sums, sha384sums, sha512sums (arrays)*::
|
||||
*sha1sums, sha224sums, sha256sums, sha384sums, sha512sums (arrays)*::
|
||||
Alternative integrity checks that makepkg supports; these all behave
|
||||
similar to the md5sums option described above. To enable use and generation
|
||||
of these checksums, be sure to set up the `INTEGRITY_CHECK` option in
|
||||
@@ -168,7 +168,8 @@ contain whitespace characters.
|
||||
*arch (array)*::
|
||||
Defines on which architectures the given package is available (e.g.,
|
||||
`arch=('i686' 'x86_64')`). Packages that contain no architecture specific
|
||||
files should use `arch=('any')`.
|
||||
files should use `arch=('any')`. Valid characters for members of this array
|
||||
are alphanumerics and ```_`''.
|
||||
|
||||
*backup (array)*::
|
||||
An array of file names, without preceding slashes, that
|
||||
@@ -213,8 +214,9 @@ underscore and the architecture name e.g., 'checkdepends_x86_64=()'.
|
||||
An array of packages (and accompanying reasons) that are not essential for
|
||||
base functionality, but may be necessary to make full use of the contents
|
||||
of this package. optdepends are currently for informational purposes only
|
||||
and are not utilized by pacman during dependency resolution. The format
|
||||
for specifying optdepends is:
|
||||
and are not utilized by pacman during dependency resolution. Packages in
|
||||
this list follow the same format as depends, with an optional description
|
||||
appended. The format for specifying optdepends descriptions is:
|
||||
|
||||
optdepends=('python: for library bindings')
|
||||
+
|
||||
@@ -293,12 +295,6 @@ underscore and the architecture name e.g., 'replaces_x86_64=()'.
|
||||
*zipman*;;
|
||||
Compress man and info pages with gzip.
|
||||
|
||||
*upx*;;
|
||||
Compress binary executable files using UPX.
|
||||
|
||||
*optipng*;;
|
||||
Optimize PNG images with optipng.
|
||||
|
||||
*ccache*;;
|
||||
Allow the use of ccache during build. More useful in its negative
|
||||
form `!ccache` with select packages that have problems building
|
||||
@@ -470,12 +466,12 @@ Using VCS Sources[[VCS]]
|
||||
------------------------
|
||||
Building a developmental version of a package using sources from a version
|
||||
control system (VCS) is enabled by specifying the source in the form
|
||||
`source=('directory::url#fragment')`. Currently makepkg supports the Bazaar, Git,
|
||||
Subversion, and Mercurial version control systems. For other version control
|
||||
systems, manual cloning of upstream repositories must be done in the `prepare()`
|
||||
function.
|
||||
`source=('directory::url#fragment?query')`. Currently makepkg supports the
|
||||
Bazaar, Git, Subversion, and Mercurial version control systems. For other
|
||||
version control systems, manual cloning of upstream repositories must be done
|
||||
in the `prepare()` function.
|
||||
|
||||
The source URL is divided into three components:
|
||||
The source URL is divided into four components:
|
||||
|
||||
*directory*::
|
||||
(optional) Specifies an alternate directory name for makepkg to download
|
||||
@@ -507,6 +503,11 @@ The source URL is divided into three components:
|
||||
*svn*;;
|
||||
revision
|
||||
|
||||
*query*::
|
||||
(optional) Allows specifying whether a VCS checkout should be checked for
|
||||
PGP-signed revisions. The source line should have the format
|
||||
`source=(url#fragment?signed)` or `source=(url?signed#fragment)`. Currently
|
||||
only supported by Git.
|
||||
|
||||
Example
|
||||
-------
|
||||
@@ -524,4 +525,4 @@ See Also
|
||||
--------
|
||||
linkman:makepkg[8], linkman:pacman[8], linkman:makepkg.conf[5]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
alpm-hooks(5)
|
||||
=============
|
||||
|
||||
@@ -33,9 +30,13 @@ DESCRIPTION
|
||||
libalpm provides the ability to specify hooks to run before or after
|
||||
transactions based on the packages and/or files being modified. Hooks consist
|
||||
of a single '[Action]' section describing the action to be run and one or more
|
||||
'[Trigger]' section describing which transactions it should be run for. Hook
|
||||
'[Trigger]' section describing which transactions it should be run for.
|
||||
|
||||
Hooks are read from files located in the system hook directory
|
||||
+{datarootdir}/libalpm/hooks+, and additional custom directories specified in
|
||||
linkman:pacman.conf[5] (the default is +{sysconfdir}/pacman.d/hooks+). The
|
||||
file names are required to have the suffix ".hook". Hooks are run in
|
||||
alphabetical order of their file name.
|
||||
alphabetical order of their file name, where the ordering ignores the suffix.
|
||||
|
||||
TRIGGERS
|
||||
--------
|
||||
@@ -128,4 +129,4 @@ or not they were actually present on the file system before package removal.
|
||||
PostTransaction hooks will *not* run if the transaction fails to complete for
|
||||
any reason.
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
|
||||
See the pacman website at https://www.archlinux.org/pacman/[] for current
|
||||
information on pacman and its related tools.
|
||||
@@ -75,7 +75,9 @@ Releases
|
||||
[frame="topbot",grid="none",options="header,autowidth"]
|
||||
!======
|
||||
!Version !Date
|
||||
!5.0.2 !2016-06-03
|
||||
!5.1.2 !2018-12-25
|
||||
!5.1.1 !2018-07-27
|
||||
!5.1.0 !2018-05-28
|
||||
!5.0.1 !2016-02-23
|
||||
!5.0.0 !2016-01-30
|
||||
!4.2.1 !2015-02-20
|
||||
@@ -256,11 +258,7 @@ bugs under the Pacman project.
|
||||
|
||||
Copyright
|
||||
---------
|
||||
pacman is Copyright (C) 2006-2016 Pacman Development Team
|
||||
pacman is Copyright (C) 2006-2018 Pacman Development Team
|
||||
<pacman-dev@archlinux.org> and Copyright (C) 2002-2006 Judd Vinet
|
||||
<jvinet@zeroflux.org> and is licensed through the GNU General Public License,
|
||||
version 2 or later.
|
||||
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
libalpm(3)
|
||||
==========
|
||||
|
||||
@@ -37,4 +34,4 @@ See Also
|
||||
linkman:alpm-hooks[5], linkman:makepkg[8], linkman:pacman[8],
|
||||
linkman:pacman.conf[5]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
makepkg-template(1)
|
||||
===================
|
||||
|
||||
@@ -118,4 +115,4 @@ See Also
|
||||
--------
|
||||
linkman:makepkg[8], linkman:PKGBUILD[5]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
makepkg(8)
|
||||
==========
|
||||
|
||||
@@ -200,12 +197,13 @@ Options
|
||||
useful if you are redirecting makepkg output to file.
|
||||
|
||||
*\--packagelist*::
|
||||
List the packages that would be produced without building. Listed
|
||||
package names do not include PKGEXT.
|
||||
List the package filenames that would be produced without building. Listed
|
||||
package filenames include PKGDEST and PKGEXT.
|
||||
|
||||
*\--printsrcinfo*::
|
||||
Generate and print the SRCINFO file to stdout.
|
||||
|
||||
|
||||
Additional Features
|
||||
-------------------
|
||||
makepkg supports building development versions of packages without having to
|
||||
@@ -214,6 +212,19 @@ separate utility 'versionpkg'. See linkman:PKGBUILD[5] for details on how to
|
||||
set up a development PKGBUILD.
|
||||
|
||||
|
||||
Reproducibility
|
||||
---------------
|
||||
makepkg is designed to be compatible with
|
||||
link:https://reproducible-builds.org/docs/[Reproducible Builds]. If the
|
||||
**SOURCE_DATE_EPOCH** environment variable is set, it will be exported to
|
||||
subprocesses, and source and package file modification times and package
|
||||
metadata will be unified based on the timestamp specified.
|
||||
|
||||
If the **SOURCE_DATE_EPOCH** environment variable is not set, makepkg will use
|
||||
its own start date for internal use, but will not unify source file timestamps
|
||||
before building.
|
||||
|
||||
|
||||
Environment Variables
|
||||
---------------------
|
||||
**PACMAN**::
|
||||
@@ -265,6 +276,8 @@ Environment Variables
|
||||
Specify a key to use when signing packages, overriding the GPGKEY setting
|
||||
in linkman:makepkg.conf[5]
|
||||
|
||||
**SOURCE_DATE_EPOCH=**"<date>"::
|
||||
Used for link:https://reproducible-builds.org/docs/[Reproducible Builds].
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
@@ -272,8 +285,65 @@ See linkman:makepkg.conf[5] for more details on configuring makepkg using the
|
||||
'makepkg.conf' file.
|
||||
|
||||
|
||||
Errors
|
||||
------
|
||||
On exit, makepkg will return one of the following error codes.
|
||||
|
||||
0::
|
||||
Normal exit condition.
|
||||
|
||||
1::
|
||||
Unknown cause of failure.
|
||||
|
||||
2::
|
||||
Error in configuration file.
|
||||
|
||||
3::
|
||||
User specified an invalid option
|
||||
|
||||
4::
|
||||
Error in user-supplied function in PKGBUILD.
|
||||
|
||||
5::
|
||||
Failed to create a viable package.
|
||||
|
||||
6::
|
||||
A source or auxiliary file specified in the PKGBUILD is
|
||||
missing.
|
||||
|
||||
7::
|
||||
The PKGDIR is missing.
|
||||
|
||||
8::
|
||||
Failed to install dependencies.
|
||||
|
||||
9::
|
||||
Failed to remove dependencies.
|
||||
|
||||
10::
|
||||
User attempted to run makepkg as root.
|
||||
|
||||
11::
|
||||
User lacks permissions to build or install to a given
|
||||
location.
|
||||
|
||||
12::
|
||||
Error parsing PKGBUILD.
|
||||
|
||||
13::
|
||||
A package has already been built.
|
||||
|
||||
14::
|
||||
The package failed to install.
|
||||
|
||||
15::
|
||||
Programs necessary to run makepkg are missing.
|
||||
|
||||
16::
|
||||
Specified GPG key does not exist.
|
||||
|
||||
See Also
|
||||
--------
|
||||
linkman:makepkg.conf[5], linkman:PKGBUILD[5], linkman:pacman[8]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
makepkg.conf(5)
|
||||
===============
|
||||
|
||||
@@ -92,7 +89,7 @@ Options
|
||||
**DEBUG_CXXFLAGS=**"debug_cxxflags"::
|
||||
Debug flags used for the C++ compiler; see DEBUG_CFLAGS for more info.
|
||||
|
||||
**BUILDENV=(**!distcc color !ccache check !sign**)**::
|
||||
**BUILDENV=(**!distcc !color !ccache check !sign**)**::
|
||||
This array contains options that affect the build environment; the defaults
|
||||
are shown here. All options should always be left in the array; to enable
|
||||
or disable an option, simply remove or add an ``!'' at the front of the
|
||||
@@ -141,7 +138,7 @@ Options
|
||||
Specify a key to use for GPG signing instead of the default key in the
|
||||
keyring. Can be overridden with makepkg's '\--key' option.
|
||||
|
||||
**OPTIONS=(**strip docs libtool staticlibs emptydirs zipman purge !upx !optipng**)**::
|
||||
**OPTIONS=(**!strip docs libtool staticlibs emptydirs !zipman !purge !debug**)**::
|
||||
This array contains options that affect default packaging. They are
|
||||
equivalent to options that can be placed in the PKGBUILD; the defaults are
|
||||
shown here. All options should always be left in the array; to enable or
|
||||
@@ -178,14 +175,6 @@ Options
|
||||
Remove files specified by the `PURGE_TARGETS` variable from the
|
||||
package.
|
||||
|
||||
*upx*;;
|
||||
Compress binary executable files using UPX. Additional options
|
||||
can be passed to UPX by specifying the `UPXFLAGS` array variable.
|
||||
|
||||
*optipng*;;
|
||||
Optimize PNG images with optipng. Additional options can be passed
|
||||
to optipng by specifying the `OPTIPNGFLAGS` array variable.
|
||||
|
||||
*debug*;;
|
||||
Add the user-specified debug flags as specified in DEBUG_CFLAGS and
|
||||
DEBUG_CXXFLAGS to their counterpart buildflags. Creates a separate
|
||||
@@ -194,15 +183,15 @@ Options
|
||||
**INTEGRITY_CHECK=(**check1 ...**)**::
|
||||
File integrity checks to use. Multiple checks may be specified; this
|
||||
affects both generation and checking. The current valid options are:
|
||||
`md5`, `sha1`, `sha256`, `sha384`, and `sha512`.
|
||||
`md5`, `sha1`, `sha224`, `sha256`, `sha384`, and `sha512`.
|
||||
|
||||
**STRIP_BINARIES=**"--strip-all"::
|
||||
Options to be used when stripping binaries. See linkman:strip[1]
|
||||
for details.
|
||||
|
||||
**STRIP_SHARED=**"--strip-unneeded"::
|
||||
Options to be used when stripping shared libraries. See linkman:strip[1]
|
||||
for details.
|
||||
Options to be used when stripping shared libraries or PIE executables.
|
||||
See linkman:strip[1] for details.
|
||||
|
||||
**STRIP_STATIC=**"--strip-debug"::
|
||||
Options to be used when stripping static libraries. See linkman:strip[1]
|
||||
@@ -226,6 +215,12 @@ Options
|
||||
instruct makepkg which files to remove from the package. This is
|
||||
useful for index files that are added by multiple packages.
|
||||
|
||||
**DBGSRCDIR=**"/usr/src/debug"::
|
||||
If `strip` and `debug` are specified in the `OPTIONS` array, this variable
|
||||
will instruct makepkg where to place source files for installed binaries.
|
||||
The binaries will be modified to link this directory for the debugger
|
||||
search path.
|
||||
|
||||
**PKGDEST=**"/path/to/directory"::
|
||||
If this value is not set, packages will, by default, be placed in the
|
||||
current directory (location of the linkman:PKGBUILD[5]). Many people
|
||||
@@ -271,4 +266,4 @@ See Also
|
||||
--------
|
||||
linkman:makepkg[8], linkman:pacman[8], linkman:PKGBUILD[5]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
pacman-key(8)
|
||||
=============
|
||||
|
||||
@@ -145,4 +142,4 @@ See Also
|
||||
--------
|
||||
linkman:pacman[8], linkman:pacman.conf[5]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
pacman(8)
|
||||
=========
|
||||
|
||||
@@ -127,7 +124,7 @@ greater than `1:3.6-1`.
|
||||
Options
|
||||
-------
|
||||
*-b, \--dbpath* <path>::
|
||||
Specify an alternative database location (a typical default is
|
||||
Specify an alternative database location (the default is
|
||||
+{localstatedir}/lib/pacman+). This should not be used unless you know what
|
||||
you are doing.
|
||||
*NOTE*: If specified, this is an absolute path, and the root path is
|
||||
@@ -136,11 +133,12 @@ Options
|
||||
*-r, \--root* <path>::
|
||||
Specify an alternative installation root (default is `/`). This should
|
||||
not be used as a way to install software into `/usr/local` instead of
|
||||
`/usr`. This option is used if you want to install a package on a
|
||||
temporarily mounted partition that is "owned" by another system.
|
||||
`/usr`.
|
||||
*NOTE*: If database path or log file are not specified on either the
|
||||
command line or in linkman:pacman.conf[5], their default location will
|
||||
be inside this root path.
|
||||
*NOTE*: This option is not suitable for performing operations on a mounted
|
||||
guest system. See '\--sysroot' instead.
|
||||
|
||||
*-v, \--verbose*::
|
||||
Output paths such as as the Root, Conf File, DB Path, Cache Dirs, etc.
|
||||
@@ -149,7 +147,7 @@ Options
|
||||
Specify an alternate architecture.
|
||||
|
||||
*\--cachedir* <dir>::
|
||||
Specify an alternative package cache location (a typical default is
|
||||
Specify an alternative package cache location (the default is
|
||||
+{localstatedir}/cache/pacman/pkg+). Multiple cache directories can be
|
||||
specified, and they are tried in the order they are passed to pacman.
|
||||
*NOTE*: This is an absolute path, and the root path is not automatically
|
||||
@@ -168,15 +166,15 @@ Options
|
||||
to be used.
|
||||
|
||||
*\--gpgdir* <dir>::
|
||||
Specify a directory of files used by GnuPG to verify package signatures (a
|
||||
typical default is +{sysconfdir}/pacman.d/gnupg+). This directory should contain
|
||||
Specify a directory of files used by GnuPG to verify package signatures
|
||||
(the default is +{sysconfdir}/pacman.d/gnupg+). This directory should contain
|
||||
two files: `pubring.gpg` and `trustdb.gpg`. `pubring.gpg` holds the public keys
|
||||
of all packagers. `trustdb.gpg` contains a so-called trust database, which
|
||||
specifies that the keys are authentic and trusted. *NOTE*: This is an absolute
|
||||
path, and the root path is not automatically prepended.
|
||||
|
||||
*\--hookdir* <dir>::
|
||||
Specify a alternative directory containing hook files (a typical default is
|
||||
Specify a alternative directory containing hook files (the default is
|
||||
+{sysconfdir}/pacman.d/hooks+). Multiple hook directories can be specified
|
||||
with hooks in later directories taking precedence over hooks in earlier
|
||||
directories. *NOTE*: This is an absolute path, and the root path is not
|
||||
@@ -193,6 +191,16 @@ Options
|
||||
*\--confirm*::
|
||||
Cancels the effects of a previous '\--noconfirm'.
|
||||
|
||||
*\--disable-download-timeout*::
|
||||
Disable defaults for low speed limit and timeout on downloads. Use this
|
||||
if you have issues downloading files with proxy and/or security gateway.
|
||||
|
||||
*\--sysroot* <dir>::
|
||||
Specify an alternative system root. Pacman will chroot and chdir into the
|
||||
system root prior to running. This allows mounted guest systems to be
|
||||
properly operated on. Any other paths given will be interpreted as relative
|
||||
to the system root. Requires root privileges.
|
||||
|
||||
|
||||
Transaction Options (apply to '-S', '-R' and '-U')
|
||||
--------------------------------------------------
|
||||
@@ -232,15 +240,7 @@ Transaction Options (apply to '-S', '-R' and '-U')
|
||||
|
||||
|
||||
Upgrade Options (apply to '-S' and '-U')[[UO]]
|
||||
--------------------------------------------
|
||||
*\--force*::
|
||||
Bypass file conflict checks and overwrite conflicting files. If the
|
||||
package that is about to be installed contains files that are already
|
||||
installed, this option will cause all those files to be overwritten.
|
||||
Using '\--force' will not allow overwriting a directory with a file or
|
||||
installing packages with conflicting files and directories.
|
||||
This option should be used with care, ideally not at all.
|
||||
|
||||
----------------------------------------------
|
||||
*\--asdeps*::
|
||||
Install packages non-explicitly; in other words, fake their install reason
|
||||
to be installed as a dependency. This is useful for makepkg and other
|
||||
@@ -266,9 +266,21 @@ Upgrade Options (apply to '-S' and '-U')[[UO]]
|
||||
*\--needed*::
|
||||
Do not reinstall the targets that are already up-to-date.
|
||||
|
||||
*\--overwrite* <glob>::
|
||||
Bypass file conflict checks and overwrite conflicting files. If the
|
||||
package that is about to be installed contains files that are already
|
||||
installed and match 'glob', this option will cause all those files to be
|
||||
overwritten. Using '\--overwrite' will not allow overwriting a directory
|
||||
with a file or installing packages with conflicting files and directories.
|
||||
Multiple patterns can be specified by separating them with a comma. May be
|
||||
specified multiple times. Patterns can be negated, such that files
|
||||
matching them will not be overwritten, by prefixing them with an
|
||||
exclamation mark. Subsequent matches will override previous ones. A leading
|
||||
literal exclamation mark or backslash needs to be escaped.
|
||||
|
||||
Query Options[[QO]]
|
||||
-------------------
|
||||
|
||||
Query Options (apply to '-Q')[[QO]]
|
||||
-----------------------------------
|
||||
*-c, \--changelog*::
|
||||
View the ChangeLog of a package if it exists.
|
||||
|
||||
@@ -293,7 +305,7 @@ Query Options[[QO]]
|
||||
'\--info' or '-i' flags will also display the list of backup files and
|
||||
their modification states.
|
||||
|
||||
*-k \--check*::
|
||||
*-k, \--check*::
|
||||
Check that all files owned by the given package(s) are present on the
|
||||
system. If packages are not specified or filter flags are not provided,
|
||||
check all installed packages. Specifying this option twice will perform
|
||||
@@ -338,10 +350,10 @@ Query Options[[QO]]
|
||||
with descriptions matching ALL of those terms are returned.
|
||||
|
||||
*-t, \--unrequired*::
|
||||
Restrict or filter output to packages not required or optionally required by
|
||||
any currently installed package. Specify this option twice to only filter
|
||||
packages that are direct dependencies (i.e. do not filter optional
|
||||
dependencies).
|
||||
Restrict or filter output to print only packages neither required nor
|
||||
optionally required by any currently installed package. Specify this
|
||||
option twice to include packages which are optionally, but not directly,
|
||||
required by another package.
|
||||
|
||||
*-u, \--upgrades*::
|
||||
Restrict or filter output to packages that are out-of-date on the local
|
||||
@@ -350,8 +362,8 @@ Query Options[[QO]]
|
||||
database is refreshed using '-Sy'.
|
||||
|
||||
|
||||
Remove Options[[RO]]
|
||||
--------------------
|
||||
Remove Options (apply to '-R')[[RO]]
|
||||
------------------------------------
|
||||
*-c, \--cascade*::
|
||||
Remove all target packages, as well as all packages that depend on one
|
||||
or more target packages. This operation is recursive and must be used
|
||||
@@ -375,8 +387,8 @@ Remove Options[[RO]]
|
||||
to avoid breaking any dependencies.
|
||||
|
||||
|
||||
Sync Options[[SO]]
|
||||
------------------
|
||||
Sync Options (apply to '-S')[[SO]]
|
||||
----------------------------------
|
||||
*-c, \--clean*::
|
||||
Remove packages that are no longer installed from the cache as well as
|
||||
currently unused sync databases to free up disk space. When pacman
|
||||
@@ -444,8 +456,8 @@ system upgrade and install/upgrade the "foo" package in the same operation.
|
||||
up-to-date.
|
||||
|
||||
|
||||
Database Options[[QO]]
|
||||
----------------------
|
||||
Database Options (apply to '-D')[[QO]]
|
||||
--------------------------------------
|
||||
*\--asdeps* <package>::
|
||||
Mark a package as non-explicitly installed; in other words, set their install
|
||||
reason to be installed as a dependency.
|
||||
@@ -456,7 +468,7 @@ Database Options[[QO]]
|
||||
package installed even when it was initially installed as a dependency
|
||||
of another package.
|
||||
|
||||
*-k \--check*::
|
||||
*-k, \--check*::
|
||||
Check the local package database is internally consistent. This will
|
||||
check all required files are present and that installed packages have
|
||||
the required dependencies, do not conflict and that multiple packages
|
||||
@@ -464,9 +476,11 @@ Database Options[[QO]]
|
||||
a check on the sync databases to ensure all specified dependencies
|
||||
are available.
|
||||
|
||||
File Options[[FO]]
|
||||
------------------
|
||||
*-q, \--quiet*::
|
||||
Suppress messages on successful completion of database operations.
|
||||
|
||||
File Options (apply to '-F')[[FO]]
|
||||
----------------------------------
|
||||
*-y, --refresh*::
|
||||
Download fresh package databases from the server. Use twice to force a
|
||||
refresh even if databases are up to date.
|
||||
@@ -561,4 +575,4 @@ See Also
|
||||
linkman:alpm-hooks[5], linkman:libalpm[3], linkman:makepkg[8],
|
||||
linkman:pacman.conf[5]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
pacman.conf(5)
|
||||
==============
|
||||
|
||||
@@ -22,6 +19,9 @@ Each section defines a package repository that pacman can use when searching
|
||||
for packages in '\--sync' mode. The exception to this is the options section,
|
||||
which defines global options.
|
||||
|
||||
Comments are only supported by beginning a line with the hash (#) symbol.
|
||||
Comments cannot begin in the middle of a line.
|
||||
|
||||
|
||||
Example
|
||||
-------
|
||||
@@ -48,7 +48,7 @@ work.
|
||||
|
||||
Options
|
||||
-------
|
||||
*RootDir =* path/to/root::
|
||||
*RootDir =* /path/to/root/dir::
|
||||
Set the default root directory for pacman to install to. This option is
|
||||
used if you want to install a package on a temporary mounted partition
|
||||
which is "owned" by another system, or for a chroot install.
|
||||
@@ -56,32 +56,32 @@ Options
|
||||
command line or in linkman:pacman.conf[5], their default location will
|
||||
be inside this root path.
|
||||
|
||||
*DBPath =* path/to/db/dir::
|
||||
Overrides the default location of the toplevel database directory. A
|
||||
typical default is +{localstatedir}/lib/pacman/+. Most users will not need to set
|
||||
*DBPath =* /path/to/db/dir::
|
||||
Overrides the default location of the toplevel database directory. The
|
||||
default is +{localstatedir}/lib/pacman/+. Most users will not need to set
|
||||
this option. *NOTE*: if specified, this is an absolute path and the root
|
||||
path is not automatically prepended.
|
||||
|
||||
*CacheDir =* path/to/cache/dir::
|
||||
Overrides the default location of the package cache directory. A typical
|
||||
*CacheDir =* /path/to/cache/dir::
|
||||
Overrides the default location of the package cache directory. The
|
||||
default is +{localstatedir}/cache/pacman/pkg/+. Multiple cache directories can be
|
||||
specified, and they are tried in the order they are listed in the config
|
||||
file. If a file is not found in any cache directory, it will be downloaded
|
||||
to the first cache directory with write access. *NOTE*: this is an absolute
|
||||
path, the root path is not automatically prepended.
|
||||
|
||||
*HookDir =* path/to/hook/dir::
|
||||
*HookDir =* /path/to/hook/dir::
|
||||
Add directories to search for alpm hooks in addition to the system hook
|
||||
directory (+{datarootdir}/libalpm/hooks/+). A typical default is
|
||||
directory (+{datarootdir}/libalpm/hooks/+). The default is
|
||||
+{sysconfdir}/pacman.d/hooks+. Multiple directories can be specified with
|
||||
hooks in later directories taking precedence over hooks in earlier
|
||||
directories. *NOTE*: this is an absolute path, the root path is not
|
||||
automatically prepended. For more information on the alpm hooks, see
|
||||
linkman:alpm-hooks[5].
|
||||
|
||||
*GPGDir =* path/to/gpg/dir::
|
||||
*GPGDir =* /path/to/gpg/dir::
|
||||
Overrides the default location of the directory containing configuration
|
||||
files for GnuPG. A typical default is +{sysconfdir}/pacman.d/gnupg/+.
|
||||
files for GnuPG. The default is +{sysconfdir}/pacman.d/gnupg/+.
|
||||
This directory should contain two files: `pubring.gpg` and `trustdb.gpg`.
|
||||
`pubring.gpg` holds the public keys of all packagers. `trustdb.gpg`
|
||||
contains a so-called trust database, which specifies that the keys are
|
||||
@@ -89,8 +89,8 @@ Options
|
||||
*NOTE*: this is an absolute path, the root path is not automatically
|
||||
prepended.
|
||||
|
||||
*LogFile =* /path/to/file::
|
||||
Overrides the default location of the pacman log file. A typical default
|
||||
*LogFile =* /path/to/log/file::
|
||||
Overrides the default location of the pacman log file. The default
|
||||
is +{localstatedir}/log/pacman.log+. This is an absolute path and the root directory
|
||||
is not prepended.
|
||||
|
||||
@@ -108,7 +108,7 @@ Options
|
||||
group when performing a '\--sysupgrade'. Shell-style glob patterns are
|
||||
allowed.
|
||||
|
||||
*Include =* path::
|
||||
*Include =* /path/to/config/file::
|
||||
Include another configuration file. This file can include repositories or
|
||||
general configuration options. Wildcards in the specified paths will get
|
||||
expanded based on linkman:glob[7] rules.
|
||||
@@ -209,6 +209,10 @@ Options
|
||||
Displays name, version and size of target packages formatted
|
||||
as a table for upgrade, sync and remove operations.
|
||||
|
||||
*DisableDownloadTimeout*::
|
||||
Disable defaults for low speed limit and timeout on downloads. Use this
|
||||
if you have issues downloading files with proxy and/or security gateway.
|
||||
|
||||
|
||||
Repository Sections
|
||||
-------------------
|
||||
@@ -367,4 +371,4 @@ See Also
|
||||
--------
|
||||
linkman:pacman[8], linkman:libalpm[3]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,69 +0,0 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
pactree(8)
|
||||
=========
|
||||
|
||||
Name
|
||||
----
|
||||
pactree - package dependency tree viewer
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
'pactree' [options] package
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
Pactree produces a dependency tree for a package.
|
||||
|
||||
By default, a tree-like output is generated, but with the '\--graph' option, a Graphviz
|
||||
description is generated.
|
||||
|
||||
|
||||
Options
|
||||
-------
|
||||
*-a, \--ascii*::
|
||||
Use ASCII characters for tree formatting. By default, pactree will use Unicode
|
||||
line drawing characters if it is able to detect that the locale supports them.
|
||||
|
||||
*-b, \--dbpath*::
|
||||
Specify an alternative database location.
|
||||
|
||||
*-c, \--color*::
|
||||
Colorize output.
|
||||
|
||||
*-d, \--depth <num>*::
|
||||
Limits the number of levels of dependency to show. A zero means
|
||||
show the named package only, one shows the packages that are directly
|
||||
required.
|
||||
|
||||
*-g, \--graph*::
|
||||
Generate a Graphviz description. If this option is given, the '\--color' and
|
||||
'\--linear' options are ignored.
|
||||
|
||||
*-h, \--help*::
|
||||
Output syntax and command-line options.
|
||||
|
||||
*-l, \--linear*::
|
||||
Prints package names at the start of each line, one per line.
|
||||
|
||||
*-r, \--reverse*::
|
||||
Show packages that depend on the named package.
|
||||
|
||||
*-s, \--sync*::
|
||||
Read package data from sync databases instead of local database.
|
||||
|
||||
*-u, \--unique*::
|
||||
List dependent packages once. Implies '\--linear'.
|
||||
|
||||
*\--config <file>*::
|
||||
Specify an alternate pacman configuration file.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
linkman:pacman[8], linkman:pacman.conf[5], linkman:makepkg[8]
|
||||
|
||||
include::footer.txt[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
pkgdelta(8)
|
||||
=========
|
||||
|
||||
@@ -53,4 +50,4 @@ See Also
|
||||
--------
|
||||
linkman:pacman[8], linkman:xdelta3[1]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
repo-add(8)
|
||||
==========
|
||||
|
||||
@@ -94,4 +91,4 @@ See Also
|
||||
--------
|
||||
linkman:makepkg[8], linkman:pacman[8], linkman:pkgdelta[8]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -99,7 +99,3 @@ aren't their own. When resubmitting patches, update the subject line to reflect
|
||||
the version number ('[PATCHv2]'), and send it as a reply to the original thread.
|
||||
|
||||
--
|
||||
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
@@ -151,7 +151,3 @@ the pacman codebase. However, this is not to say translations are unwelcome. If
|
||||
someone has experience with i18n man pages and how to best include them with our
|
||||
source, please contact the pacman-dev mailing list at
|
||||
mailto:pacman-dev@archlinux.org[].
|
||||
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
vercmp(8)
|
||||
=========
|
||||
|
||||
@@ -11,7 +8,7 @@ vercmp - version comparison utility
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
'vercmp' <version1> <version2>
|
||||
'vercmp' [-h] [--help] <version1> <version2>
|
||||
|
||||
|
||||
Description
|
||||
@@ -44,8 +41,9 @@ mainly for supporting versioned dependencies that do not include the 'pkgrel'.
|
||||
Options
|
||||
-------
|
||||
*-h, \--help*::
|
||||
Display syntax for the given operation. If no operation was supplied,
|
||||
then the general syntax is shown.
|
||||
|
||||
Display summary of the available return codes. Must be the first option
|
||||
specified.
|
||||
|
||||
|
||||
Examples
|
||||
@@ -67,13 +65,8 @@ Examples
|
||||
-1
|
||||
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
There is none.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
linkman:pacman[8], linkman:makepkg[8], linkman:libalpm[3]
|
||||
|
||||
include::footer.txt[]
|
||||
include::footer.asciidoc[]
|
||||
@@ -25,5 +25,3 @@ SED_PROCESS = \
|
||||
|
||||
%.conf: %.conf.in Makefile
|
||||
$(SED_PROCESS)
|
||||
|
||||
# vim:set noet:
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/hint/bash
|
||||
#
|
||||
# @sysconfdir@/makepkg.conf
|
||||
#
|
||||
@@ -8,7 +9,8 @@
|
||||
#
|
||||
#-- The download utilities that makepkg should use to acquire sources
|
||||
# Format: 'protocol::agent'
|
||||
DLAGENTS=('ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
|
||||
DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u'
|
||||
'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
|
||||
'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
|
||||
'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
|
||||
'rsync::/usr/bin/rsync --no-motd -z %u %o'
|
||||
@@ -48,7 +50,7 @@ CHOST="@CHOST@"
|
||||
# BUILD ENVIRONMENT
|
||||
#########################################################################
|
||||
#
|
||||
# Defaults: BUILDENV=(!distcc color !ccache check !sign)
|
||||
# Defaults: BUILDENV=(!distcc !color !ccache check !sign)
|
||||
# A negated environment option will do the opposite of the comments below.
|
||||
#
|
||||
#-- distcc: Use the Distributed C/C++/ObjC compiler
|
||||
@@ -71,7 +73,7 @@ BUILDENV=(!distcc color !ccache check !sign)
|
||||
# These are default values for the options=() settings
|
||||
#########################################################################
|
||||
#
|
||||
# Default: OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !upx !optipng !debug)
|
||||
# Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug)
|
||||
# A negated option will do the opposite of the comments below.
|
||||
#
|
||||
#-- strip: Strip symbols from binaries/libraries
|
||||
@@ -81,13 +83,11 @@ BUILDENV=(!distcc color !ccache check !sign)
|
||||
#-- emptydirs: Leave empty directories in packages
|
||||
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
|
||||
#-- purge: Remove files specified by PURGE_TARGETS
|
||||
#-- upx: Compress binary executable files using UPX
|
||||
#-- optipng: Optimize PNG images with optipng
|
||||
#-- debug: Add debugging flags as specified in DEBUG_* variables
|
||||
#
|
||||
OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !upx !optipng !debug)
|
||||
OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !debug)
|
||||
|
||||
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
|
||||
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512
|
||||
INTEGRITY_CHECK=(md5)
|
||||
#-- Options to be used when stripping binaries. See `man strip' for details.
|
||||
STRIP_BINARIES="@STRIP_BINARIES@"
|
||||
@@ -101,6 +101,8 @@ MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
|
||||
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
|
||||
#-- Files to be removed from all packages (if purge is specified)
|
||||
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
|
||||
#-- Directory to store source code in for debug packages
|
||||
DBGSRCDIR="/usr/src/debug"
|
||||
|
||||
#########################################################################
|
||||
# PACKAGE OUTPUT
|
||||
@@ -141,5 +143,3 @@ COMPRESSZ=(compress -c -f)
|
||||
#
|
||||
PKGEXT='@PKGEXT@'
|
||||
SRCEXT='@SRCEXT@'
|
||||
|
||||
# vim: set ft=sh ts=2 sw=2 et:
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#GPGDir = @sysconfdir@/pacman.d/gnupg/
|
||||
#HookDir = @sysconfdir@/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -C - -f %u > %o
|
||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
#UseDelta = 0.7
|
||||
|
||||
@@ -58,12 +58,6 @@ libalpm_la_SOURCES = \
|
||||
util-common.h util-common.c \
|
||||
version.c
|
||||
|
||||
if !HAVE_LIBSSL
|
||||
libalpm_la_SOURCES += \
|
||||
md5.h md5.c \
|
||||
sha2.h sha2.c
|
||||
endif
|
||||
|
||||
libalpm_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION_INFO)
|
||||
|
||||
libalpm_la_CFLAGS = \
|
||||
@@ -71,13 +65,13 @@ libalpm_la_CFLAGS = \
|
||||
$(GPGME_CFLAGS) \
|
||||
$(LIBARCHIVE_CFLAGS) \
|
||||
$(LIBCURL_CFLAGS) \
|
||||
$(LIBSSL_CFLAGS)
|
||||
$(LIBSSL_CFLAGS) \
|
||||
$(NETTLE_CFLAGS)
|
||||
|
||||
libalpm_la_LIBADD = \
|
||||
$(LTLIBINTL) \
|
||||
$(GPGME_LIBS) \
|
||||
$(LIBARCHIVE_LIBS) \
|
||||
$(LIBCURL_LIBS) \
|
||||
$(LIBSSL_LIBS)
|
||||
|
||||
# vim:set noet:
|
||||
$(LIBSSL_LIBS) \
|
||||
$(NETTLE_LIBS)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* add.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -694,5 +694,3 @@ int _alpm_upgrade_packages(alpm_handle_t *handle)
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* add.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -27,5 +27,3 @@
|
||||
int _alpm_upgrade_packages(alpm_handle_t *handle);
|
||||
|
||||
#endif /* ALPM_ADD_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* alpm.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
@@ -64,7 +64,7 @@ alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* to contatenate myhandle->root (ends with a slash) with SYSHOOKDIR (starts
|
||||
/* to concatenate myhandle->root (ends with a slash) with SYSHOOKDIR (starts
|
||||
* with a slash) correctly, we skip SYSHOOKDIR[0]; the regular +1 therefore
|
||||
* disappears from the allocation */
|
||||
MALLOC(hookdir, strlen(myhandle->root) + strlen(SYSHOOKDIR), goto nomem);
|
||||
@@ -152,7 +152,7 @@ const char SYMEXPORT *alpm_version(void)
|
||||
/** Get the capabilities of the library.
|
||||
* @return a bitmask of the capabilities
|
||||
* */
|
||||
enum alpm_caps SYMEXPORT alpm_capabilities(void)
|
||||
int SYMEXPORT alpm_capabilities(void)
|
||||
{
|
||||
return 0
|
||||
#ifdef ENABLE_NLS
|
||||
@@ -166,5 +166,3 @@ enum alpm_caps SYMEXPORT alpm_capabilities(void)
|
||||
#endif
|
||||
| 0;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* alpm.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
@@ -53,7 +53,8 @@ typedef struct __alpm_trans_t alpm_trans_t;
|
||||
* @{
|
||||
*/
|
||||
typedef enum _alpm_errno_t {
|
||||
ALPM_ERR_MEMORY = 1,
|
||||
ALPM_ERR_OK = 0,
|
||||
ALPM_ERR_MEMORY,
|
||||
ALPM_ERR_SYSTEM,
|
||||
ALPM_ERR_BADPERMS,
|
||||
ALPM_ERR_NOT_A_FILE,
|
||||
@@ -829,6 +830,11 @@ int alpm_option_add_hookdir(alpm_handle_t *handle, const char *hookdir);
|
||||
int alpm_option_remove_hookdir(alpm_handle_t *handle, const char *hookdir);
|
||||
/** @} */
|
||||
|
||||
alpm_list_t *alpm_option_get_overwrite_files(alpm_handle_t *handle);
|
||||
int alpm_option_set_overwrite_files(alpm_handle_t *handle, alpm_list_t *globs);
|
||||
int alpm_option_add_overwrite_file(alpm_handle_t *handle, const char *glob);
|
||||
int alpm_option_remove_overwrite_file(alpm_handle_t *handle, const char *glob);
|
||||
|
||||
/** Returns the logfile name. */
|
||||
const char *alpm_option_get_logfile(alpm_handle_t *handle);
|
||||
/** Sets the logfile name. */
|
||||
@@ -916,14 +922,16 @@ int alpm_option_set_checkspace(alpm_handle_t *handle, int checkspace);
|
||||
const char *alpm_option_get_dbext(alpm_handle_t *handle);
|
||||
int alpm_option_set_dbext(alpm_handle_t *handle, const char *dbext);
|
||||
|
||||
alpm_siglevel_t alpm_option_get_default_siglevel(alpm_handle_t *handle);
|
||||
int alpm_option_set_default_siglevel(alpm_handle_t *handle, alpm_siglevel_t level);
|
||||
int alpm_option_get_default_siglevel(alpm_handle_t *handle);
|
||||
int alpm_option_set_default_siglevel(alpm_handle_t *handle, int level);
|
||||
|
||||
alpm_siglevel_t alpm_option_get_local_file_siglevel(alpm_handle_t *handle);
|
||||
int alpm_option_set_local_file_siglevel(alpm_handle_t *handle, alpm_siglevel_t level);
|
||||
int alpm_option_get_local_file_siglevel(alpm_handle_t *handle);
|
||||
int alpm_option_set_local_file_siglevel(alpm_handle_t *handle, int level);
|
||||
|
||||
alpm_siglevel_t alpm_option_get_remote_file_siglevel(alpm_handle_t *handle);
|
||||
int alpm_option_set_remote_file_siglevel(alpm_handle_t *handle, alpm_siglevel_t level);
|
||||
int alpm_option_get_remote_file_siglevel(alpm_handle_t *handle);
|
||||
int alpm_option_set_remote_file_siglevel(alpm_handle_t *handle, int level);
|
||||
|
||||
int alpm_option_set_disable_dl_timeout(alpm_handle_t *handle, unsigned short disable_dl_timeout);
|
||||
|
||||
/** @} */
|
||||
|
||||
@@ -956,7 +964,7 @@ alpm_list_t *alpm_get_syncdbs(alpm_handle_t *handle);
|
||||
* @return an alpm_db_t* on success (the value), NULL on error
|
||||
*/
|
||||
alpm_db_t *alpm_register_syncdb(alpm_handle_t *handle, const char *treename,
|
||||
alpm_siglevel_t level);
|
||||
int level);
|
||||
|
||||
/** Unregister all package databases.
|
||||
* @param handle the context handle
|
||||
@@ -982,7 +990,7 @@ const char *alpm_db_get_name(const alpm_db_t *db);
|
||||
* @param db pointer to the package database
|
||||
* @return the signature verification level
|
||||
*/
|
||||
alpm_siglevel_t alpm_db_get_siglevel(alpm_db_t *db);
|
||||
int alpm_db_get_siglevel(alpm_db_t *db);
|
||||
|
||||
/** Check the validity of a database.
|
||||
* This is most useful for sync databases and verifying signature status.
|
||||
@@ -1049,14 +1057,14 @@ typedef enum _alpm_db_usage_ {
|
||||
* @param usage a bitmask of alpm_db_usage_t values
|
||||
* @return 0 on success, or -1 on error
|
||||
*/
|
||||
int alpm_db_set_usage(alpm_db_t *db, alpm_db_usage_t usage);
|
||||
int alpm_db_set_usage(alpm_db_t *db, int usage);
|
||||
|
||||
/** Gets the usage of a database.
|
||||
* @param db pointer to the package database to get the status of
|
||||
* @param usage pointer to an alpm_db_usage_t to store db's status
|
||||
* @return 0 on success, or -1 on error
|
||||
*/
|
||||
int alpm_db_get_usage(alpm_db_t *db, alpm_db_usage_t *usage);
|
||||
int alpm_db_get_usage(alpm_db_t *db, int *usage);
|
||||
|
||||
/** @} */
|
||||
|
||||
@@ -1080,7 +1088,7 @@ int alpm_db_get_usage(alpm_db_t *db, alpm_db_usage_t *usage);
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_pkg_load(alpm_handle_t *handle, const char *filename, int full,
|
||||
alpm_siglevel_t level, alpm_pkg_t **pkg);
|
||||
int level, alpm_pkg_t **pkg);
|
||||
|
||||
/** Find a package in a list by name.
|
||||
* @param haystack a list of alpm_pkg_t
|
||||
@@ -1260,6 +1268,18 @@ alpm_list_t *alpm_pkg_get_depends(alpm_pkg_t *pkg);
|
||||
*/
|
||||
alpm_list_t *alpm_pkg_get_optdepends(alpm_pkg_t *pkg);
|
||||
|
||||
/** Returns a list of package check dependencies
|
||||
* @param pkg a pointer to package
|
||||
* @return a reference to an internal list of alpm_depend_t structures.
|
||||
*/
|
||||
alpm_list_t *alpm_pkg_get_checkdepends(alpm_pkg_t *pkg);
|
||||
|
||||
/** Returns a list of package make dependencies
|
||||
* @param pkg a pointer to package
|
||||
* @return a reference to an internal list of alpm_depend_t structures.
|
||||
*/
|
||||
alpm_list_t *alpm_pkg_get_makedepends(alpm_pkg_t *pkg);
|
||||
|
||||
/** Returns the list of packages conflicting with pkg.
|
||||
* @param pkg a pointer to package
|
||||
* @return a reference to an internal list of alpm_depend_t structures.
|
||||
@@ -1317,7 +1337,7 @@ const char *alpm_pkg_get_base64_sig(alpm_pkg_t *pkg);
|
||||
* @param pkg a pointer to package
|
||||
* @return an enum member giving the validation method
|
||||
*/
|
||||
alpm_pkgvalidation_t alpm_pkg_get_validation(alpm_pkg_t *pkg);
|
||||
int alpm_pkg_get_validation(alpm_pkg_t *pkg);
|
||||
|
||||
/* End of alpm_pkg_t accessors */
|
||||
/* @} */
|
||||
@@ -1479,7 +1499,7 @@ typedef enum _alpm_transflag_t {
|
||||
* @param handle the context handle
|
||||
* @return the bitfield of transaction flags
|
||||
*/
|
||||
alpm_transflag_t alpm_trans_get_flags(alpm_handle_t *handle);
|
||||
int alpm_trans_get_flags(alpm_handle_t *handle);
|
||||
|
||||
/** Returns a list of packages added by the transaction.
|
||||
* @param handle the context handle
|
||||
@@ -1495,10 +1515,10 @@ alpm_list_t *alpm_trans_get_remove(alpm_handle_t *handle);
|
||||
|
||||
/** Initialize the transaction.
|
||||
* @param handle the context handle
|
||||
* @param flags flags of the transaction (like nodeps, etc)
|
||||
* @param flags flags of the transaction (like nodeps, etc; see alpm_transflag_t)
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_trans_init(alpm_handle_t *handle, alpm_transflag_t flags);
|
||||
int alpm_trans_init(alpm_handle_t *handle, int flags);
|
||||
|
||||
/** Prepare a transaction.
|
||||
* @param handle the context handle
|
||||
@@ -1612,7 +1632,8 @@ enum alpm_caps {
|
||||
};
|
||||
|
||||
const char *alpm_version(void);
|
||||
enum alpm_caps alpm_capabilities(void);
|
||||
/* Return a bitfield of capabilities using values from 'enum alpm_caps' */
|
||||
int alpm_capabilities(void);
|
||||
|
||||
void alpm_fileconflict_free(alpm_fileconflict_t *conflict);
|
||||
void alpm_depmissing_free(alpm_depmissing_t *miss);
|
||||
@@ -1625,5 +1646,3 @@ void alpm_conflict_free(alpm_conflict_t *conflict);
|
||||
}
|
||||
#endif
|
||||
#endif /* ALPM_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* alpm_list.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -131,6 +131,26 @@ alpm_list_t SYMEXPORT *alpm_list_append(alpm_list_t **list, void *data)
|
||||
return ptr;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Duplicate and append a string to a list.
|
||||
*
|
||||
* @param list the list to append to
|
||||
* @param data the string to duplicate and append
|
||||
*
|
||||
* @return the newly added item
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_list_append_strdup(alpm_list_t **list, const char *data)
|
||||
{
|
||||
alpm_list_t *ret;
|
||||
char *dup;
|
||||
if((dup = strdup(data)) && (ret = alpm_list_append(list, dup))) {
|
||||
return ret;
|
||||
} else {
|
||||
free(dup);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Add items to a list in sorted order.
|
||||
*
|
||||
@@ -441,7 +461,10 @@ alpm_list_t SYMEXPORT *alpm_list_remove_dupes(const alpm_list_t *list)
|
||||
alpm_list_t *newlist = NULL;
|
||||
while(lp) {
|
||||
if(!alpm_list_find_ptr(newlist, lp->data)) {
|
||||
newlist = alpm_list_add(newlist, lp->data);
|
||||
if(alpm_list_append(&newlist, lp->data) == NULL) {
|
||||
alpm_list_free(newlist);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
lp = lp->next;
|
||||
}
|
||||
@@ -460,7 +483,10 @@ alpm_list_t SYMEXPORT *alpm_list_strdup(const alpm_list_t *list)
|
||||
const alpm_list_t *lp = list;
|
||||
alpm_list_t *newlist = NULL;
|
||||
while(lp) {
|
||||
newlist = alpm_list_add(newlist, strdup(lp->data));
|
||||
if(alpm_list_append_strdup(&newlist, lp->data) == NULL) {
|
||||
FREELIST(newlist);
|
||||
return NULL;
|
||||
}
|
||||
lp = lp->next;
|
||||
}
|
||||
return newlist;
|
||||
@@ -478,7 +504,10 @@ alpm_list_t SYMEXPORT *alpm_list_copy(const alpm_list_t *list)
|
||||
const alpm_list_t *lp = list;
|
||||
alpm_list_t *newlist = NULL;
|
||||
while(lp) {
|
||||
newlist = alpm_list_add(newlist, lp->data);
|
||||
if(alpm_list_append(&newlist, lp->data) == NULL) {
|
||||
alpm_list_free(newlist);
|
||||
return NULL;
|
||||
}
|
||||
lp = lp->next;
|
||||
}
|
||||
return newlist;
|
||||
@@ -503,8 +532,15 @@ alpm_list_t SYMEXPORT *alpm_list_copy_data(const alpm_list_t *list,
|
||||
void *newdata = malloc(size);
|
||||
if(newdata) {
|
||||
memcpy(newdata, lp->data, size);
|
||||
newlist = alpm_list_add(newlist, newdata);
|
||||
if(alpm_list_append(&newlist, newdata) == NULL) {
|
||||
free(newdata);
|
||||
FREELIST(newlist);
|
||||
return NULL;
|
||||
}
|
||||
lp = lp->next;
|
||||
} else {
|
||||
FREELIST(newlist);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
return newlist;
|
||||
@@ -532,7 +568,10 @@ alpm_list_t SYMEXPORT *alpm_list_reverse(alpm_list_t *list)
|
||||
list->prev = NULL;
|
||||
|
||||
while(lp) {
|
||||
newlist = alpm_list_add(newlist, lp->data);
|
||||
if(alpm_list_append(&newlist, lp->data) == NULL) {
|
||||
alpm_list_free(newlist);
|
||||
return NULL;
|
||||
}
|
||||
lp = lp->prev;
|
||||
}
|
||||
list->prev = backup; /* restore tail pointer */
|
||||
@@ -803,5 +842,3 @@ void SYMEXPORT *alpm_list_to_array(const alpm_list_t *list, size_t n,
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* alpm_list.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -58,6 +58,7 @@ void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn);
|
||||
/* item mutators */
|
||||
alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
|
||||
alpm_list_t *alpm_list_append(alpm_list_t **list, void *data);
|
||||
alpm_list_t *alpm_list_append_strdup(alpm_list_t **list, const char *data);
|
||||
alpm_list_t *alpm_list_add_sorted(alpm_list_t *list, void *data, alpm_list_fn_cmp fn);
|
||||
alpm_list_t *alpm_list_join(alpm_list_t *first, alpm_list_t *second);
|
||||
alpm_list_t *alpm_list_mmerge(alpm_list_t *left, alpm_list_t *right, alpm_list_fn_cmp fn);
|
||||
@@ -91,5 +92,3 @@ void *alpm_list_to_array(const alpm_list_t *list, size_t n, size_t size);
|
||||
}
|
||||
#endif
|
||||
#endif /* ALPM_LIST_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* backup.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2005 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
@@ -98,5 +98,3 @@ error:
|
||||
free(newbackup);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* backup.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -29,5 +29,3 @@ void _alpm_backup_free(alpm_backup_t *backup);
|
||||
alpm_backup_t *_alpm_backup_dup(const alpm_backup_t *backup);
|
||||
|
||||
#endif /* ALPM_BACKUP_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* be_local.c : backend for the local database
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -47,9 +47,9 @@
|
||||
/* local database format version */
|
||||
size_t ALPM_LOCAL_DB_VERSION = 9;
|
||||
|
||||
static int local_db_read(alpm_pkg_t *info, alpm_dbinfrq_t inforeq);
|
||||
static int local_db_read(alpm_pkg_t *info, int inforeq);
|
||||
|
||||
#define LAZY_LOAD(info, errret) \
|
||||
#define LAZY_LOAD(info) \
|
||||
do { \
|
||||
if(!(pkg->infolevel & info)) { \
|
||||
local_db_read(pkg, info); \
|
||||
@@ -65,121 +65,121 @@ static int local_db_read(alpm_pkg_t *info, alpm_dbinfrq_t inforeq);
|
||||
|
||||
static const char *_cache_get_base(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->base;
|
||||
}
|
||||
|
||||
static const char *_cache_get_desc(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->desc;
|
||||
}
|
||||
|
||||
static const char *_cache_get_url(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->url;
|
||||
}
|
||||
|
||||
static alpm_time_t _cache_get_builddate(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, 0);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->builddate;
|
||||
}
|
||||
|
||||
static alpm_time_t _cache_get_installdate(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, 0);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->installdate;
|
||||
}
|
||||
|
||||
static const char *_cache_get_packager(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->packager;
|
||||
}
|
||||
|
||||
static const char *_cache_get_arch(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->arch;
|
||||
}
|
||||
|
||||
static off_t _cache_get_isize(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, -1);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->isize;
|
||||
}
|
||||
|
||||
static alpm_pkgreason_t _cache_get_reason(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, -1);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->reason;
|
||||
}
|
||||
|
||||
static alpm_pkgvalidation_t _cache_get_validation(alpm_pkg_t *pkg)
|
||||
static int _cache_get_validation(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, -1);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->validation;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_licenses(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->licenses;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_groups(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->groups;
|
||||
}
|
||||
|
||||
static int _cache_has_scriptlet(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_SCRIPTLET, NULL);
|
||||
LAZY_LOAD(INFRQ_SCRIPTLET);
|
||||
return pkg->scriptlet;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_depends(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->depends;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_optdepends(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->optdepends;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_conflicts(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->conflicts;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_provides(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->provides;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_replaces(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->replaces;
|
||||
}
|
||||
|
||||
static alpm_filelist_t *_cache_get_files(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_FILES, NULL);
|
||||
LAZY_LOAD(INFRQ_FILES);
|
||||
return &(pkg->files);
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_backup(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_FILES, NULL);
|
||||
LAZY_LOAD(INFRQ_FILES);
|
||||
return pkg->backup;
|
||||
}
|
||||
|
||||
@@ -601,7 +601,10 @@ static int local_db_populate(alpm_db_t *db)
|
||||
/* add to the collection */
|
||||
_alpm_log(db->handle, ALPM_LOG_FUNCTION, "adding '%s' to package cache for db '%s'\n",
|
||||
pkg->name, db->treename);
|
||||
db->pkgcache = _alpm_pkghash_add(db->pkgcache, pkg);
|
||||
if(_alpm_pkghash_add(&db->pkgcache, pkg) == NULL) {
|
||||
_alpm_pkg_free(pkg);
|
||||
RET_ERR(db->handle, ALPM_ERR_MEMORY, -1);
|
||||
}
|
||||
count++;
|
||||
}
|
||||
|
||||
@@ -660,7 +663,7 @@ char *_alpm_local_db_pkgpath(alpm_db_t *db, alpm_pkg_t *info,
|
||||
f = alpm_list_add(f, alpm_dep_from_string(line)); \
|
||||
} while(1) /* note the while(1) and not (0) */
|
||||
|
||||
static int local_db_read(alpm_pkg_t *info, alpm_dbinfrq_t inforeq)
|
||||
static int local_db_read(alpm_pkg_t *info, int inforeq)
|
||||
{
|
||||
FILE *fp = NULL;
|
||||
char line[1024];
|
||||
@@ -817,14 +820,12 @@ static int local_db_read(alpm_pkg_t *info, alpm_dbinfrq_t inforeq)
|
||||
if(newfiles != NULL) {
|
||||
files = newfiles;
|
||||
}
|
||||
|
||||
/* make sure the list is sorted */
|
||||
qsort(files, files_count, sizeof(alpm_file_t), _alpm_files_cmp);
|
||||
} else {
|
||||
FREE(files);
|
||||
}
|
||||
info->files.count = files_count;
|
||||
info->files.files = files;
|
||||
_alpm_filelist_sort(&info->files);
|
||||
continue;
|
||||
nomem:
|
||||
while(files_count > 0) {
|
||||
@@ -910,7 +911,7 @@ static void write_deps(FILE *fp, const char *header, alpm_list_t *deplist)
|
||||
fputc('\n', fp);
|
||||
}
|
||||
|
||||
int _alpm_local_db_write(alpm_db_t *db, alpm_pkg_t *info, alpm_dbinfrq_t inforeq)
|
||||
int _alpm_local_db_write(alpm_db_t *db, alpm_pkg_t *info, int inforeq)
|
||||
{
|
||||
FILE *fp = NULL;
|
||||
mode_t oldmask;
|
||||
@@ -1165,5 +1166,3 @@ alpm_db_t *_alpm_db_register_local(alpm_handle_t *handle)
|
||||
handle->db_local = db;
|
||||
return db;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* be_package.c : backend for packages
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -223,9 +223,11 @@ static int parse_descfile(alpm_handle_t *handle, struct archive *a, alpm_pkg_t *
|
||||
alpm_depend_t *optdep = alpm_dep_from_string(ptr);
|
||||
newpkg->optdepends = alpm_list_add(newpkg->optdepends, optdep);
|
||||
} else if(strcmp(key, "makedepend") == 0) {
|
||||
/* not used atm */
|
||||
alpm_depend_t *makedep = alpm_dep_from_string(ptr);
|
||||
newpkg->makedepends = alpm_list_add(newpkg->makedepends, makedep);
|
||||
} else if(strcmp(key, "checkdepend") == 0) {
|
||||
/* not used atm */
|
||||
alpm_depend_t *checkdep = alpm_dep_from_string(ptr);
|
||||
newpkg->checkdepends = alpm_list_add(newpkg->checkdepends, checkdep);
|
||||
} else if(strcmp(key, "conflict") == 0) {
|
||||
alpm_depend_t *conflict = alpm_dep_from_string(ptr);
|
||||
newpkg->conflicts = alpm_list_add(newpkg->conflicts, conflict);
|
||||
@@ -270,11 +272,11 @@ static int parse_descfile(alpm_handle_t *handle, struct archive *a, alpm_pkg_t *
|
||||
* @return 0 if package is fully valid, -1 and pm_errno otherwise
|
||||
*/
|
||||
int _alpm_pkg_validate_internal(alpm_handle_t *handle,
|
||||
const char *pkgfile, alpm_pkg_t *syncpkg, alpm_siglevel_t level,
|
||||
alpm_siglist_t **sigdata, alpm_pkgvalidation_t *validation)
|
||||
const char *pkgfile, alpm_pkg_t *syncpkg, int level,
|
||||
alpm_siglist_t **sigdata, int *validation)
|
||||
{
|
||||
int has_sig;
|
||||
handle->pm_errno = 0;
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
if(pkgfile == NULL || strlen(pkgfile) == 0) {
|
||||
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
|
||||
@@ -676,8 +678,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"sorting package filelist for %s\n", pkgfile);
|
||||
|
||||
qsort(newpkg->files.files, newpkg->files.count,
|
||||
sizeof(alpm_file_t), _alpm_files_cmp);
|
||||
_alpm_filelist_sort(&newpkg->files);
|
||||
}
|
||||
newpkg->infolevel |= INFRQ_FILES;
|
||||
}
|
||||
@@ -726,9 +727,9 @@ static int read_sigfile(const char *sigpath, unsigned char **sig)
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_pkg_load(alpm_handle_t *handle, const char *filename, int full,
|
||||
alpm_siglevel_t level, alpm_pkg_t **pkg)
|
||||
int level, alpm_pkg_t **pkg)
|
||||
{
|
||||
alpm_pkgvalidation_t validation = 0;
|
||||
int validation = 0;
|
||||
char *sigpath;
|
||||
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
@@ -787,5 +788,3 @@ int SYMEXPORT alpm_pkg_load(alpm_handle_t *handle, const char *filename, int ful
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* be_sync.c : backend for sync databases
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -71,7 +71,7 @@ static char *get_sync_dir(alpm_handle_t *handle)
|
||||
|
||||
static int sync_db_validate(alpm_db_t *db)
|
||||
{
|
||||
alpm_siglevel_t level;
|
||||
int siglevel;
|
||||
const char *dbpath;
|
||||
|
||||
if(db->status & DB_STATUS_VALID || db->status & DB_STATUS_MISSING) {
|
||||
@@ -104,20 +104,20 @@ static int sync_db_validate(alpm_db_t *db)
|
||||
|
||||
/* this takes into account the default verification level if UNKNOWN
|
||||
* was assigned to this db */
|
||||
level = alpm_db_get_siglevel(db);
|
||||
siglevel = alpm_db_get_siglevel(db);
|
||||
|
||||
if(level & ALPM_SIG_DATABASE) {
|
||||
if(siglevel & ALPM_SIG_DATABASE) {
|
||||
int retry, ret;
|
||||
do {
|
||||
retry = 0;
|
||||
alpm_siglist_t *siglist;
|
||||
ret = _alpm_check_pgp_helper(db->handle, dbpath, NULL,
|
||||
level & ALPM_SIG_DATABASE_OPTIONAL, level & ALPM_SIG_DATABASE_MARGINAL_OK,
|
||||
level & ALPM_SIG_DATABASE_UNKNOWN_OK, &siglist);
|
||||
siglevel & ALPM_SIG_DATABASE_OPTIONAL, siglevel & ALPM_SIG_DATABASE_MARGINAL_OK,
|
||||
siglevel & ALPM_SIG_DATABASE_UNKNOWN_OK, &siglist);
|
||||
if(ret) {
|
||||
retry = _alpm_process_siglist(db->handle, db->treename, siglist,
|
||||
level & ALPM_SIG_DATABASE_OPTIONAL, level & ALPM_SIG_DATABASE_MARGINAL_OK,
|
||||
level & ALPM_SIG_DATABASE_UNKNOWN_OK);
|
||||
siglevel & ALPM_SIG_DATABASE_OPTIONAL, siglevel & ALPM_SIG_DATABASE_MARGINAL_OK,
|
||||
siglevel & ALPM_SIG_DATABASE_UNKNOWN_OK);
|
||||
}
|
||||
alpm_siglist_cleanup(siglist);
|
||||
free(siglist);
|
||||
@@ -181,12 +181,12 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
int ret = -1;
|
||||
mode_t oldmask;
|
||||
alpm_handle_t *handle;
|
||||
alpm_siglevel_t level;
|
||||
int siglevel;
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(db != NULL, return -1);
|
||||
handle = db->handle;
|
||||
handle->pm_errno = 0;
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
ASSERT(db != handle->db_local, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
ASSERT(db->servers != NULL, RET_ERR(handle, ALPM_ERR_SERVER_NONE, -1));
|
||||
|
||||
@@ -207,7 +207,7 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
/* make sure we have a sane umask */
|
||||
oldmask = umask(0022);
|
||||
|
||||
level = alpm_db_get_siglevel(db);
|
||||
siglevel = alpm_db_get_siglevel(db);
|
||||
|
||||
/* attempt to grab a lock */
|
||||
if(_alpm_handle_lock(handle)) {
|
||||
@@ -247,7 +247,7 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
_alpm_dload_payload_reset(&payload);
|
||||
updated = (updated || ret == 0);
|
||||
|
||||
if(ret != -1 && updated && (level & ALPM_SIG_DATABASE)) {
|
||||
if(ret != -1 && updated && (siglevel & ALPM_SIG_DATABASE)) {
|
||||
/* an existing sig file is no good at this point */
|
||||
char *sigpath = _alpm_sigpath(handle, _alpm_db_path(db));
|
||||
if(!sigpath) {
|
||||
@@ -292,7 +292,7 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
|
||||
payload.handle = handle;
|
||||
payload.force = 1;
|
||||
payload.errors_ok = (level & ALPM_SIG_DATABASE_OPTIONAL);
|
||||
payload.errors_ok = (siglevel & ALPM_SIG_DATABASE_OPTIONAL);
|
||||
|
||||
/* set hard upper limit of 16KiB */
|
||||
payload.max_size = 16 * 1024;
|
||||
@@ -330,7 +330,7 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "failed to sync db: %s\n",
|
||||
alpm_strerror(handle->pm_errno));
|
||||
} else {
|
||||
handle->pm_errno = 0;
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
}
|
||||
|
||||
_alpm_handle_unlock(handle);
|
||||
@@ -343,7 +343,7 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
struct archive_entry *entry, alpm_pkg_t **likely_pkg);
|
||||
|
||||
static alpm_pkgvalidation_t _sync_get_validation(alpm_pkg_t *pkg)
|
||||
static int _sync_get_validation(alpm_pkg_t *pkg)
|
||||
{
|
||||
if(pkg->validation) {
|
||||
return pkg->validation;
|
||||
@@ -413,7 +413,10 @@ static alpm_pkg_t *load_pkg_for_entry(alpm_db_t *db, const char *entryname,
|
||||
/* add to the collection */
|
||||
_alpm_log(db->handle, ALPM_LOG_FUNCTION, "adding '%s' to package cache for db '%s'\n",
|
||||
pkg->name, db->treename);
|
||||
db->pkgcache = _alpm_pkghash_add(db->pkgcache, pkg);
|
||||
if(_alpm_pkghash_add(&db->pkgcache, pkg) == NULL) {
|
||||
_alpm_pkg_free(pkg);
|
||||
RET_ERR(db->handle, ALPM_ERR_MEMORY, NULL);
|
||||
}
|
||||
} else {
|
||||
free(pkgname);
|
||||
free(pkgver);
|
||||
@@ -465,6 +468,7 @@ static int sync_db_populate(alpm_db_t *db)
|
||||
size_t est_count, count;
|
||||
int fd;
|
||||
int ret = 0;
|
||||
int archive_ret;
|
||||
struct stat buf;
|
||||
struct archive *archive;
|
||||
struct archive_entry *entry;
|
||||
@@ -485,6 +489,8 @@ static int sync_db_populate(alpm_db_t *db)
|
||||
fd = _alpm_open_archive(db->handle, dbpath, &buf,
|
||||
&archive, ALPM_ERR_DB_OPEN);
|
||||
if(fd < 0) {
|
||||
db->status &= ~DB_STATUS_VALID;
|
||||
db->status |= DB_STATUS_INVALID;
|
||||
return -1;
|
||||
}
|
||||
est_count = estimate_package_count(&buf, archive);
|
||||
@@ -502,20 +508,26 @@ static int sync_db_populate(alpm_db_t *db)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
while(archive_read_next_header(archive, &entry) == ARCHIVE_OK) {
|
||||
while((archive_ret = archive_read_next_header(archive, &entry)) == ARCHIVE_OK) {
|
||||
mode_t mode = archive_entry_mode(entry);
|
||||
if(S_ISDIR(mode)) {
|
||||
continue;
|
||||
} else {
|
||||
if(!S_ISDIR(mode)) {
|
||||
/* we have desc, depends or deltas - parse it */
|
||||
if(sync_db_read(db, archive, entry, &pkg) != 0) {
|
||||
_alpm_log(db->handle, ALPM_LOG_ERROR,
|
||||
_("could not parse package description file '%s' from db '%s'\n"),
|
||||
archive_entry_pathname(entry), db->treename);
|
||||
continue;
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(archive_ret != ARCHIVE_EOF) {
|
||||
_alpm_log(db->handle, ALPM_LOG_ERROR, _("could not read db '%s' (%s)\n"),
|
||||
db->treename, archive_error_string(archive));
|
||||
_alpm_db_free_pkgcache(db);
|
||||
db->handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
count = alpm_list_count(db->pkgcache->list);
|
||||
if(count > 0) {
|
||||
@@ -611,7 +623,7 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
|
||||
if(pkg == NULL) {
|
||||
_alpm_log(db->handle, ALPM_LOG_DEBUG,
|
||||
"entry %s could not be loaded into %s sync database",
|
||||
"entry %s could not be loaded into %s sync database\n",
|
||||
entryname, db->treename);
|
||||
return -1;
|
||||
}
|
||||
@@ -620,7 +632,7 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
/* A file exists outside of a subdirectory. This isn't a read error, so return
|
||||
* success and try to continue on. */
|
||||
_alpm_log(db->handle, ALPM_LOG_WARNING, _("unknown database file: %s\n"),
|
||||
filename);
|
||||
entryname);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -735,13 +747,12 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
/* attempt to hand back any memory we don't need */
|
||||
if(files_count > 0) {
|
||||
files = realloc(files, sizeof(alpm_file_t) * files_count);
|
||||
/* make sure the list is sorted */
|
||||
qsort(files, files_count, sizeof(alpm_file_t), _alpm_files_cmp);
|
||||
} else {
|
||||
FREE(files);
|
||||
}
|
||||
pkg->files.count = files_count;
|
||||
pkg->files.files = files;
|
||||
_alpm_filelist_sort(&pkg->files);
|
||||
}
|
||||
}
|
||||
if(ret != ARCHIVE_EOF) {
|
||||
@@ -769,14 +780,14 @@ struct db_operations sync_db_ops = {
|
||||
};
|
||||
|
||||
alpm_db_t *_alpm_db_register_sync(alpm_handle_t *handle, const char *treename,
|
||||
alpm_siglevel_t level)
|
||||
int level)
|
||||
{
|
||||
alpm_db_t *db;
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "registering sync database '%s'\n", treename);
|
||||
|
||||
#ifndef HAVE_LIBGPGME
|
||||
if(level != ALPM_SIG_USE_DEFAULT) {
|
||||
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
|
||||
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, NULL);
|
||||
}
|
||||
#endif
|
||||
@@ -794,5 +805,3 @@ alpm_db_t *_alpm_db_register_sync(alpm_handle_t *handle, const char *treename,
|
||||
handle->dbs_sync = alpm_list_add(handle->dbs_sync, db);
|
||||
return db;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* conflict.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
|
||||
@@ -278,12 +278,15 @@ static alpm_list_t *add_fileconflict(alpm_handle_t *handle,
|
||||
|
||||
STRDUP(conflict->target, pkg1->name, goto error);
|
||||
STRDUP(conflict->file, filestr, goto error);
|
||||
if(pkg2) {
|
||||
conflict->type = ALPM_FILECONFLICT_TARGET;
|
||||
STRDUP(conflict->ctarget, pkg2->name, goto error);
|
||||
} else {
|
||||
if(!pkg2) {
|
||||
conflict->type = ALPM_FILECONFLICT_FILESYSTEM;
|
||||
STRDUP(conflict->ctarget, "", goto error);
|
||||
} else if(pkg2->origin == ALPM_PKG_FROM_LOCALDB) {
|
||||
conflict->type = ALPM_FILECONFLICT_FILESYSTEM;
|
||||
STRDUP(conflict->ctarget, pkg2->name, goto error);
|
||||
} else {
|
||||
conflict->type = ALPM_FILECONFLICT_TARGET;
|
||||
STRDUP(conflict->ctarget, pkg2->name, goto error);
|
||||
}
|
||||
|
||||
conflicts = alpm_list_add(conflicts, conflict);
|
||||
@@ -385,6 +388,24 @@ static alpm_list_t *alpm_db_find_file_owners(alpm_db_t* db, const char *path)
|
||||
return owners;
|
||||
}
|
||||
|
||||
static alpm_pkg_t *_alpm_find_file_owner(alpm_handle_t *handle, const char *path)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
for(i = alpm_db_get_pkgcache(handle->db_local); i; i = i->next) {
|
||||
if(alpm_filelist_contains(alpm_pkg_get_files(i->data), path)) {
|
||||
return i->data;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int _alpm_can_overwrite_file(alpm_handle_t *handle, const char *path, const char *rootedpath)
|
||||
{
|
||||
return handle->trans->flags & ALPM_TRANS_FLAG_FORCE
|
||||
|| _alpm_fnmatch_patterns(handle->overwrite_files, path) == 0
|
||||
|| _alpm_fnmatch_patterns(handle->overwrite_files, rootedpath) == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Find file conflicts that may occur during the transaction.
|
||||
*
|
||||
@@ -419,7 +440,7 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
|
||||
for(current = 0, i = upgrade; i; i = i->next, current++) {
|
||||
alpm_pkg_t *p1 = i->data;
|
||||
alpm_list_t *j;
|
||||
alpm_list_t *tmpfiles = NULL;
|
||||
alpm_list_t *newfiles = NULL;
|
||||
alpm_pkg_t *dbpkg;
|
||||
|
||||
int percent = (current * 100) / numtargs;
|
||||
@@ -448,8 +469,8 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
|
||||
/* can skip file-file conflicts when forced *
|
||||
* checking presence in p2_files detects dir-file or file-dir
|
||||
* conflicts as the path from p1 is returned */
|
||||
if((handle->trans->flags & ALPM_TRANS_FLAG_FORCE) &&
|
||||
alpm_filelist_contains(p2_files, filename)) {
|
||||
if(_alpm_can_overwrite_file(handle, filename, path)
|
||||
&& alpm_filelist_contains(p2_files, filename)) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"%s exists in both '%s' and '%s'\n", filename,
|
||||
p1->name, p2->name);
|
||||
@@ -483,18 +504,18 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
|
||||
* be freed. */
|
||||
if(dbpkg) {
|
||||
/* older ver of package currently installed */
|
||||
tmpfiles = _alpm_filelist_difference(alpm_pkg_get_files(p1),
|
||||
newfiles = _alpm_filelist_difference(alpm_pkg_get_files(p1),
|
||||
alpm_pkg_get_files(dbpkg));
|
||||
} else {
|
||||
/* no version of package currently installed */
|
||||
alpm_filelist_t *fl = alpm_pkg_get_files(p1);
|
||||
size_t filenum;
|
||||
for(filenum = 0; filenum < fl->count; filenum++) {
|
||||
tmpfiles = alpm_list_add(tmpfiles, fl->files[filenum].name);
|
||||
newfiles = alpm_list_add(newfiles, fl->files[filenum].name);
|
||||
}
|
||||
}
|
||||
|
||||
for(j = tmpfiles; j; j = j->next) {
|
||||
for(j = newfiles; j; j = j->next) {
|
||||
const char *filestr = j->data;
|
||||
const char *relative_path;
|
||||
alpm_list_t *k;
|
||||
@@ -503,6 +524,7 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
|
||||
struct stat lsbuf;
|
||||
char path[PATH_MAX];
|
||||
size_t pathlen;
|
||||
int pfile_isdir;
|
||||
|
||||
pathlen = snprintf(path, PATH_MAX, "%s%s", handle->root, filestr);
|
||||
relative_path = path + rootlen;
|
||||
@@ -514,7 +536,8 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "checking possible conflict: %s\n", path);
|
||||
|
||||
if(path[pathlen - 1] == '/') {
|
||||
pfile_isdir = path[pathlen - 1] == '/';
|
||||
if(pfile_isdir) {
|
||||
if(S_ISDIR(lsbuf.st_mode)) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "file is a directory, not a conflict\n");
|
||||
continue;
|
||||
@@ -551,6 +574,18 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"local file will be removed, not a conflict\n");
|
||||
resolved_conflict = 1;
|
||||
if(pfile_isdir) {
|
||||
/* go ahead and skip any files inside filestr as they will
|
||||
* necessarily be resolved by replacing the file with a dir
|
||||
* NOTE: afterward, j will point to the last file inside filestr */
|
||||
size_t fslen = strlen(filestr);
|
||||
for( ; j->next; j = j->next) {
|
||||
const char *filestr2 = j->next->data;
|
||||
if(strncmp(filestr, filestr2, fslen) != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -640,30 +675,29 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
|
||||
}
|
||||
|
||||
/* skip file-file conflicts when being forced */
|
||||
if((handle->trans->flags & ALPM_TRANS_FLAG_FORCE) &&
|
||||
!S_ISDIR(lsbuf.st_mode)) {
|
||||
if(!S_ISDIR(lsbuf.st_mode)
|
||||
&& _alpm_can_overwrite_file(handle, filestr, path)) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"conflict with file on filesystem being forced\n");
|
||||
resolved_conflict = 1;
|
||||
}
|
||||
|
||||
if(!resolved_conflict) {
|
||||
conflicts = add_fileconflict(handle, conflicts, path, p1, NULL);
|
||||
conflicts = add_fileconflict(handle, conflicts, path, p1,
|
||||
_alpm_find_file_owner(handle, relative_path));
|
||||
if(handle->pm_errno == ALPM_ERR_MEMORY) {
|
||||
alpm_list_free_inner(conflicts,
|
||||
(alpm_list_fn_free) alpm_conflict_free);
|
||||
alpm_list_free(conflicts);
|
||||
alpm_list_free(tmpfiles);
|
||||
alpm_list_free(newfiles);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
alpm_list_free(tmpfiles);
|
||||
alpm_list_free(newfiles);
|
||||
}
|
||||
PROGRESS(handle, ALPM_PROGRESS_CONFLICTS_START, "", 100,
|
||||
numtargs, current);
|
||||
|
||||
return conflicts;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* conflict.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -31,5 +31,3 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
|
||||
alpm_list_t *upgrade, alpm_list_t *remove);
|
||||
|
||||
#endif /* ALPM_CONFLICT_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* db.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
/** Register a sync database of packages. */
|
||||
alpm_db_t SYMEXPORT *alpm_register_syncdb(alpm_handle_t *handle,
|
||||
const char *treename, alpm_siglevel_t level)
|
||||
const char *treename, int siglevel)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
|
||||
@@ -67,7 +67,7 @@ alpm_db_t SYMEXPORT *alpm_register_syncdb(alpm_handle_t *handle,
|
||||
}
|
||||
}
|
||||
|
||||
return _alpm_db_register_sync(handle, treename, level);
|
||||
return _alpm_db_register_sync(handle, treename, siglevel);
|
||||
}
|
||||
|
||||
/* Helper function for alpm_db_unregister{_all} */
|
||||
@@ -112,7 +112,7 @@ int SYMEXPORT alpm_db_unregister(alpm_db_t *db)
|
||||
ASSERT(db != NULL, return -1);
|
||||
/* Do not unregister a database if a transaction is on-going */
|
||||
handle = db->handle;
|
||||
handle->pm_errno = 0;
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
ASSERT(handle->trans == NULL, RET_ERR(handle, ALPM_ERR_TRANS_NOT_NULL, -1));
|
||||
|
||||
if(db == handle->db_local) {
|
||||
@@ -179,7 +179,7 @@ int SYMEXPORT alpm_db_add_server(alpm_db_t *db, const char *url)
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(db != NULL, return -1);
|
||||
db->handle->pm_errno = 0;
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
ASSERT(url != NULL && strlen(url) != 0, RET_ERR(db->handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
|
||||
newurl = sanitize_url(url);
|
||||
@@ -206,7 +206,7 @@ int SYMEXPORT alpm_db_remove_server(alpm_db_t *db, const char *url)
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(db != NULL, return -1);
|
||||
db->handle->pm_errno = 0;
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
ASSERT(url != NULL && strlen(url) != 0, RET_ERR(db->handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
|
||||
newurl = sanitize_url(url);
|
||||
@@ -235,7 +235,7 @@ const char SYMEXPORT *alpm_db_get_name(const alpm_db_t *db)
|
||||
}
|
||||
|
||||
/** Get the signature verification level for a database. */
|
||||
alpm_siglevel_t SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
|
||||
int SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
if(db->siglevel & ALPM_SIG_USE_DEFAULT) {
|
||||
@@ -249,7 +249,7 @@ alpm_siglevel_t SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
|
||||
int SYMEXPORT alpm_db_get_valid(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
db->handle->pm_errno = 0;
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
return db->ops->validate(db);
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ alpm_pkg_t SYMEXPORT *alpm_db_get_pkg(alpm_db_t *db, const char *name)
|
||||
{
|
||||
alpm_pkg_t *pkg;
|
||||
ASSERT(db != NULL, return NULL);
|
||||
db->handle->pm_errno = 0;
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
ASSERT(name != NULL && strlen(name) != 0,
|
||||
RET_ERR(db->handle, ALPM_ERR_WRONG_ARGS, NULL));
|
||||
|
||||
@@ -273,7 +273,7 @@ alpm_pkg_t SYMEXPORT *alpm_db_get_pkg(alpm_db_t *db, const char *name)
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
db->handle->pm_errno = 0;
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
return _alpm_db_get_pkgcache(db);
|
||||
}
|
||||
|
||||
@@ -292,7 +292,7 @@ alpm_group_t SYMEXPORT *alpm_db_get_group(alpm_db_t *db, const char *name)
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_groupcache(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
db->handle->pm_errno = 0;
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
return _alpm_db_get_groupcache(db);
|
||||
}
|
||||
@@ -301,13 +301,13 @@ alpm_list_t SYMEXPORT *alpm_db_get_groupcache(alpm_db_t *db)
|
||||
alpm_list_t SYMEXPORT *alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
db->handle->pm_errno = 0;
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
return _alpm_db_search(db, needles);
|
||||
}
|
||||
|
||||
/** Sets the usage bitmask for a repo */
|
||||
int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, alpm_db_usage_t usage)
|
||||
int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, int usage)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
db->usage = usage;
|
||||
@@ -315,7 +315,7 @@ int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, alpm_db_usage_t usage)
|
||||
}
|
||||
|
||||
/** Gets the usage bitmask for a repo */
|
||||
int SYMEXPORT alpm_db_get_usage(alpm_db_t *db, alpm_db_usage_t *usage)
|
||||
int SYMEXPORT alpm_db_get_usage(alpm_db_t *db, int *usage)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
ASSERT(usage != NULL, return -1);
|
||||
@@ -589,7 +589,10 @@ int _alpm_db_add_pkgincache(alpm_db_t *db, alpm_pkg_t *pkg)
|
||||
? ALPM_PKG_FROM_LOCALDB
|
||||
: ALPM_PKG_FROM_SYNCDB;
|
||||
newpkg->origin_data.db = db;
|
||||
db->pkgcache = _alpm_pkghash_add_sorted(db->pkgcache, newpkg);
|
||||
if(_alpm_pkghash_add_sorted(&db->pkgcache, newpkg) == NULL) {
|
||||
_alpm_pkg_free(newpkg);
|
||||
RET_ERR(db->handle, ALPM_ERR_MEMORY, -1);
|
||||
}
|
||||
|
||||
free_groupcache(db);
|
||||
|
||||
@@ -723,5 +726,3 @@ alpm_group_t *_alpm_db_get_groupfromcache(alpm_db_t *db, const char *target)
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* db.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
@@ -71,10 +71,14 @@ struct __alpm_db_t {
|
||||
alpm_list_t *grpcache;
|
||||
alpm_list_t *servers;
|
||||
struct db_operations *ops;
|
||||
/* flags determining validity, local, loaded caches, etc. */
|
||||
enum _alpm_dbstatus_t status;
|
||||
alpm_siglevel_t siglevel;
|
||||
alpm_db_usage_t usage;
|
||||
|
||||
/* bitfields for validity, local, loaded caches, etc. */
|
||||
/* From _alpm_dbstatus_t */
|
||||
int status;
|
||||
/* alpm_siglevel_t */
|
||||
int siglevel;
|
||||
/* alpm_db_usage_t */
|
||||
int usage;
|
||||
};
|
||||
|
||||
|
||||
@@ -86,12 +90,12 @@ int _alpm_db_cmp(const void *d1, const void *d2);
|
||||
alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles);
|
||||
alpm_db_t *_alpm_db_register_local(alpm_handle_t *handle);
|
||||
alpm_db_t *_alpm_db_register_sync(alpm_handle_t *handle, const char *treename,
|
||||
alpm_siglevel_t level);
|
||||
int level);
|
||||
void _alpm_db_unregister(alpm_db_t *db);
|
||||
|
||||
/* be_*.c, backend specific calls */
|
||||
int _alpm_local_db_prepare(alpm_db_t *db, alpm_pkg_t *info);
|
||||
int _alpm_local_db_write(alpm_db_t *db, alpm_pkg_t *info, alpm_dbinfrq_t inforeq);
|
||||
int _alpm_local_db_write(alpm_db_t *db, alpm_pkg_t *info, int inforeq);
|
||||
int _alpm_local_db_remove(alpm_db_t *db, alpm_pkg_t *info);
|
||||
char *_alpm_local_db_pkgpath(alpm_db_t *db, alpm_pkg_t *info, const char *filename);
|
||||
|
||||
@@ -108,5 +112,3 @@ alpm_list_t *_alpm_db_get_groupcache(alpm_db_t *db);
|
||||
alpm_group_t *_alpm_db_get_groupfromcache(alpm_db_t *db, const char *target);
|
||||
|
||||
#endif /* ALPM_DB_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* delta.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2007-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -71,7 +71,7 @@ static alpm_list_t *graph_init(alpm_list_t *deltas, int reverse)
|
||||
v_i->children = alpm_list_add(v_i->children, v_j);
|
||||
}
|
||||
}
|
||||
v_i->childptr = v_i->children;
|
||||
v_i->iterator = v_i->children;
|
||||
}
|
||||
return vertices;
|
||||
}
|
||||
@@ -130,7 +130,7 @@ static void dijkstra(alpm_list_t *vertices)
|
||||
for(i = vertices; i; i = i->next) {
|
||||
alpm_graph_t *v_i = i->data;
|
||||
|
||||
if(v_i->state == -1) {
|
||||
if(v_i->state == ALPM_GRAPH_STATE_PROCESSING) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -142,18 +142,18 @@ static void dijkstra(alpm_list_t *vertices)
|
||||
break;
|
||||
}
|
||||
|
||||
v->state = -1;
|
||||
v->state = ALPM_GRAPH_STATE_PROCESSING;
|
||||
|
||||
v->childptr = v->children;
|
||||
while(v->childptr) {
|
||||
alpm_graph_t *v_c = v->childptr->data;
|
||||
v->iterator = v->children;
|
||||
while(v->iterator) {
|
||||
alpm_graph_t *v_c = v->iterator->data;
|
||||
alpm_delta_t *d_c = v_c->data;
|
||||
if(v_c->weight > v->weight + d_c->download_size) {
|
||||
v_c->weight = v->weight + d_c->download_size;
|
||||
v_c->parent = v;
|
||||
}
|
||||
|
||||
v->childptr = (v->childptr)->next;
|
||||
v->iterator = (v->iterator)->next;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -238,8 +238,7 @@ static alpm_list_t *find_unused(alpm_list_t *deltas, const char *to, off_t quota
|
||||
for(i = vertices; i; i = i->next) {
|
||||
alpm_graph_t *v = i->data;
|
||||
alpm_delta_t *vdelta = v->data;
|
||||
if(strcmp(vdelta->to, to) == 0)
|
||||
{
|
||||
if(strcmp(vdelta->to, to) == 0) {
|
||||
v->weight = vdelta->download_size;
|
||||
}
|
||||
}
|
||||
@@ -360,5 +359,3 @@ error:
|
||||
_alpm_delta_free(newdelta);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* delta.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2007-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -31,5 +31,3 @@ off_t _alpm_shortest_delta_path(alpm_handle_t *handle, alpm_list_t *deltas,
|
||||
const char *to, alpm_list_t **path);
|
||||
|
||||
#endif /* ALPM_DELTA_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* deps.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
@@ -152,12 +152,48 @@ static alpm_list_t *dep_graph_init(alpm_handle_t *handle,
|
||||
j = next;
|
||||
}
|
||||
|
||||
vertex_i->childptr = vertex_i->children;
|
||||
vertex_i->iterator = vertex_i->children;
|
||||
}
|
||||
alpm_list_free(localpkgs);
|
||||
return vertices;
|
||||
}
|
||||
|
||||
static void _alpm_warn_dep_cycle(alpm_handle_t *handle, alpm_list_t *targets,
|
||||
alpm_graph_t *ancestor, alpm_graph_t *vertex, int reverse)
|
||||
{
|
||||
/* vertex depends on and is required by ancestor */
|
||||
if(!alpm_list_find_ptr(targets, vertex->data)) {
|
||||
/* child is not part of the transaction, not a problem */
|
||||
return;
|
||||
}
|
||||
|
||||
/* find the nearest ancestor that's part of the transaction */
|
||||
while(ancestor) {
|
||||
if(alpm_list_find_ptr(targets, ancestor->data)) {
|
||||
break;
|
||||
}
|
||||
ancestor = ancestor->parent;
|
||||
}
|
||||
|
||||
if(!ancestor || ancestor == vertex) {
|
||||
/* no transaction package in our ancestry or the package has
|
||||
* a circular dependency with itself, not a problem */
|
||||
} else {
|
||||
alpm_pkg_t *ancestorpkg = ancestor->data;
|
||||
alpm_pkg_t *childpkg = vertex->data;
|
||||
_alpm_log(handle, ALPM_LOG_WARNING, _("dependency cycle detected:\n"));
|
||||
if(reverse) {
|
||||
_alpm_log(handle, ALPM_LOG_WARNING,
|
||||
_("%s will be removed after its %s dependency\n"),
|
||||
ancestorpkg->name, childpkg->name);
|
||||
} else {
|
||||
_alpm_log(handle, ALPM_LOG_WARNING,
|
||||
_("%s will be installed before its %s dependency\n"),
|
||||
ancestorpkg->name, childpkg->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Re-order a list of target packages with respect to their dependencies.
|
||||
*
|
||||
* Example (reverse == 0):
|
||||
@@ -179,7 +215,7 @@ alpm_list_t *_alpm_sortbydeps(alpm_handle_t *handle,
|
||||
{
|
||||
alpm_list_t *newtargs = NULL;
|
||||
alpm_list_t *vertices = NULL;
|
||||
alpm_list_t *vptr;
|
||||
alpm_list_t *i;
|
||||
alpm_graph_t *vertex;
|
||||
|
||||
if(targets == NULL) {
|
||||
@@ -190,67 +226,35 @@ alpm_list_t *_alpm_sortbydeps(alpm_handle_t *handle,
|
||||
|
||||
vertices = dep_graph_init(handle, targets, ignore);
|
||||
|
||||
vptr = vertices;
|
||||
i = vertices;
|
||||
vertex = vertices->data;
|
||||
while(vptr) {
|
||||
while(i) {
|
||||
/* mark that we touched the vertex */
|
||||
vertex->state = -1;
|
||||
int found = 0;
|
||||
while(vertex->childptr && !found) {
|
||||
alpm_graph_t *nextchild = vertex->childptr->data;
|
||||
vertex->childptr = vertex->childptr->next;
|
||||
if(nextchild->state == 0) {
|
||||
found = 1;
|
||||
vertex->state = ALPM_GRAPH_STATE_PROCESSING;
|
||||
int switched_to_child = 0;
|
||||
while(vertex->iterator && !switched_to_child) {
|
||||
alpm_graph_t *nextchild = vertex->iterator->data;
|
||||
vertex->iterator = vertex->iterator->next;
|
||||
if(nextchild->state == ALPM_GRAPH_STATE_UNPROCESSED) {
|
||||
switched_to_child = 1;
|
||||
nextchild->parent = vertex;
|
||||
vertex = nextchild;
|
||||
} else if(nextchild->state == -1) {
|
||||
/* child is an ancestor of vertex */
|
||||
alpm_graph_t *transvertex = vertex;
|
||||
|
||||
if(!alpm_list_find_ptr(targets, nextchild->data)) {
|
||||
/* child is not part of the transaction, not a problem */
|
||||
continue;
|
||||
}
|
||||
|
||||
/* find the nearest parent that's part of the transaction */
|
||||
while(transvertex) {
|
||||
if(alpm_list_find_ptr(targets, transvertex->data)) {
|
||||
break;
|
||||
}
|
||||
transvertex = transvertex->parent;
|
||||
}
|
||||
|
||||
if(!transvertex || transvertex == nextchild) {
|
||||
/* no transaction package in our ancestry or the package has
|
||||
* a circular dependency with itself, not a problem */
|
||||
} else {
|
||||
alpm_pkg_t *transpkg = transvertex->data;
|
||||
alpm_pkg_t *childpkg = nextchild->data;
|
||||
_alpm_log(handle, ALPM_LOG_WARNING, _("dependency cycle detected:\n"));
|
||||
if(reverse) {
|
||||
_alpm_log(handle, ALPM_LOG_WARNING,
|
||||
_("%s will be removed after its %s dependency\n"),
|
||||
transpkg->name, childpkg->name);
|
||||
} else {
|
||||
_alpm_log(handle, ALPM_LOG_WARNING,
|
||||
_("%s will be installed before its %s dependency\n"),
|
||||
transpkg->name, childpkg->name);
|
||||
}
|
||||
}
|
||||
} else if(nextchild->state == ALPM_GRAPH_STATE_PROCESSING) {
|
||||
_alpm_warn_dep_cycle(handle, targets, vertex, nextchild, reverse);
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
if(!switched_to_child) {
|
||||
if(alpm_list_find_ptr(targets, vertex->data)) {
|
||||
newtargs = alpm_list_add(newtargs, vertex->data);
|
||||
}
|
||||
/* mark that we've left this vertex */
|
||||
vertex->state = 1;
|
||||
vertex->state = ALPM_GRAPH_STATE_PROCESSED;
|
||||
vertex = vertex->parent;
|
||||
if(!vertex) {
|
||||
/* top level vertex reached, move to the next unprocessed vertex */
|
||||
for( vptr = vptr->next; vptr; vptr = vptr->next) {
|
||||
vertex = vptr->data;
|
||||
if(vertex->state == 0) {
|
||||
for(i = i->next; i; i = i->next) {
|
||||
vertex = i->data;
|
||||
if(vertex->state == ALPM_GRAPH_STATE_UNPROCESSED) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -694,10 +698,8 @@ static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep,
|
||||
}
|
||||
for(j = _alpm_db_get_pkgcache(db); j; j = j->next) {
|
||||
alpm_pkg_t *pkg = j->data;
|
||||
/* with hash != hash, we can even skip the strcmp() as we know they can't
|
||||
* possibly be the same string */
|
||||
if(pkg->name_hash != dep->name_hash && _alpm_depcmp(pkg, dep)
|
||||
&& !alpm_pkg_find(excluding, pkg->name)) {
|
||||
if((pkg->name_hash != dep->name_hash || strcmp(pkg->name, dep->name) != 0)
|
||||
&& _alpm_depcmp(pkg, dep) && !alpm_pkg_find(excluding, pkg->name)) {
|
||||
if(alpm_pkg_should_ignore(handle, pkg)) {
|
||||
alpm_question_install_ignorepkg_t question = {
|
||||
.type = ALPM_QUESTION_INSTALL_IGNOREPKG,
|
||||
@@ -952,4 +954,3 @@ char SYMEXPORT *alpm_dep_compute_string(const alpm_depend_t *dep)
|
||||
|
||||
return str;
|
||||
}
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* deps.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
@@ -39,5 +39,3 @@ int _alpm_depcmp_provides(alpm_depend_t *dep, alpm_list_t *provisions);
|
||||
int _alpm_depcmp(alpm_pkg_t *pkg, alpm_depend_t *dep);
|
||||
|
||||
#endif /* ALPM_DEPS_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* diskspace.c
|
||||
*
|
||||
* Copyright (c) 2010-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2010-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -500,5 +500,3 @@ finish:
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* diskspace.h
|
||||
*
|
||||
* Copyright (c) 2010-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2010-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -61,5 +61,3 @@ int _alpm_check_downloadspace(alpm_handle_t *handle, const char *cachedir,
|
||||
size_t num_files, off_t *file_sizes);
|
||||
|
||||
#endif /* ALPM_DISKSPACE_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* download.c
|
||||
* dload.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -90,8 +90,8 @@ static void inthandler(int UNUSED signum)
|
||||
dload_interrupted = ABORT_SIGINT;
|
||||
}
|
||||
|
||||
static int dload_progress_cb(void *file, double dltotal, double dlnow,
|
||||
double UNUSED ultotal, double UNUSED ulnow)
|
||||
static int dload_progress_cb(void *file, curl_off_t dltotal, curl_off_t dlnow,
|
||||
curl_off_t UNUSED ultotal, curl_off_t UNUSED ulnow)
|
||||
{
|
||||
struct dload_payload *payload = (struct dload_payload *)file;
|
||||
off_t current_size, total_size;
|
||||
@@ -106,7 +106,7 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow,
|
||||
return 1;
|
||||
}
|
||||
|
||||
current_size = payload->initial_size + (off_t)dlnow;
|
||||
current_size = payload->initial_size + dlnow;
|
||||
|
||||
/* is our filesize still under any set limit? */
|
||||
if(payload->max_size && current_size > payload->max_size) {
|
||||
@@ -119,21 +119,31 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow,
|
||||
return 0;
|
||||
}
|
||||
|
||||
total_size = payload->initial_size + (off_t)dltotal;
|
||||
total_size = payload->initial_size + dltotal;
|
||||
|
||||
if(DOUBLE_EQ(dltotal, 0.0) || payload->prevprogress == total_size) {
|
||||
if(dltotal == 0 || payload->prevprogress == total_size) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* initialize the progress bar here to avoid displaying it when
|
||||
* a repo is up to date and nothing gets downloaded */
|
||||
if(payload->prevprogress == 0) {
|
||||
payload->handle->dlcb(payload->remote_name, 0, (off_t)dltotal);
|
||||
* a repo is up to date and nothing gets downloaded.
|
||||
* payload->handle->dlcb will receive the remote_name
|
||||
* and the following arguments:
|
||||
* 0, -1: download initialized
|
||||
* 0, 0: non-download event
|
||||
* x {x>0}, x: download complete
|
||||
* x {x>0, x<y}, y {y > 0}: download progress, expected total is known */
|
||||
if(!payload->cb_initialized) {
|
||||
payload->handle->dlcb(payload->remote_name, 0, -1);
|
||||
payload->cb_initialized = 1;
|
||||
}
|
||||
|
||||
if(payload->prevprogress == current_size) {
|
||||
payload->handle->dlcb(payload->remote_name, 0, 0);
|
||||
} else {
|
||||
/* do NOT include initial_size since it wasn't part of the package's
|
||||
* download_size (nor included in the total download size callback) */
|
||||
payload->handle->dlcb(payload->remote_name, (off_t)dlnow, (off_t)dltotal);
|
||||
payload->handle->dlcb(payload->remote_name, dlnow, dltotal);
|
||||
}
|
||||
|
||||
payload->prevprogress = current_size;
|
||||
|
||||
@@ -236,47 +246,6 @@ static size_t dload_parseheader_cb(void *ptr, size_t size, size_t nmemb, void *u
|
||||
return realsize;
|
||||
}
|
||||
|
||||
static int dload_sockopt_cb(void *userdata, curl_socket_t curlfd,
|
||||
curlsocktype purpose)
|
||||
{
|
||||
alpm_handle_t *handle = userdata;
|
||||
int optval = 1;
|
||||
|
||||
/* this whole method is to prevent FTP control connections from going sour
|
||||
* during a long data transfer; crappy firewalls love to drop otherwise idle
|
||||
* connections if there is no traffic. */
|
||||
if(purpose != CURLSOCKTYPE_IPCXN) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* don't abort operation if any setsockopt fails, just log to debug */
|
||||
if(setsockopt(curlfd, SOL_SOCKET, SO_KEEPALIVE, (void *)&optval,
|
||||
sizeof(optval)) < 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"Failed to set SO_KEEPALIVE on fd %d\n", curlfd);
|
||||
}
|
||||
else {
|
||||
#ifdef TCP_KEEPIDLE
|
||||
optval = 60;
|
||||
if(setsockopt(curlfd, IPPROTO_TCP, TCP_KEEPIDLE, (void *)&optval,
|
||||
sizeof(optval)) < 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"Failed to set TCP_KEEPIDLE on fd %d\n", curlfd);
|
||||
}
|
||||
#endif
|
||||
#ifdef TCP_KEEPINTVL
|
||||
optval = 60;
|
||||
if(setsockopt(curlfd, IPPROTO_TCP, TCP_KEEPINTVL, (void *)&optval,
|
||||
sizeof(optval)) < 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"Failed to set TCP_KEEPINTVL on fd %d\n", curlfd);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void curl_set_handle_opts(struct dload_payload *payload,
|
||||
CURL *curl, char *error_buffer)
|
||||
{
|
||||
@@ -293,15 +262,18 @@ static void curl_set_handle_opts(struct dload_payload *payload,
|
||||
curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
|
||||
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
|
||||
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
|
||||
curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, dload_progress_cb);
|
||||
curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, (void *)payload);
|
||||
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 1L);
|
||||
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);
|
||||
curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, dload_progress_cb);
|
||||
curl_easy_setopt(curl, CURLOPT_XFERINFODATA, (void *)payload);
|
||||
if(!handle->disable_dl_timeout) {
|
||||
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 1L);
|
||||
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);
|
||||
}
|
||||
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, dload_parseheader_cb);
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEHEADER, (void *)payload);
|
||||
curl_easy_setopt(curl, CURLOPT_HEADERDATA, (void *)payload);
|
||||
curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
|
||||
curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, dload_sockopt_cb);
|
||||
curl_easy_setopt(curl, CURLOPT_SOCKOPTDATA, (void *)handle);
|
||||
curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
|
||||
curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 60L);
|
||||
curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);
|
||||
curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "url: %s\n", payload->fileurl);
|
||||
@@ -402,7 +374,7 @@ static int curl_download_internal(struct dload_payload *payload,
|
||||
/* shortcut to our handle within the payload */
|
||||
alpm_handle_t *handle = payload->handle;
|
||||
CURL *curl = get_libcurl_handle(handle);
|
||||
handle->pm_errno = 0;
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
/* make sure these are NULL */
|
||||
FREE(payload->tempfile_name);
|
||||
@@ -459,6 +431,7 @@ static int curl_download_internal(struct dload_payload *payload,
|
||||
/* Ignore any SIGPIPE signals. With libcurl, these shouldn't be happening,
|
||||
* but better safe than sorry. Store the old signal handler first. */
|
||||
mask_signal(SIGPIPE, SIG_IGN, &orig_sig_pipe);
|
||||
dload_interrupted = 0;
|
||||
mask_signal(SIGINT, &inthandler, &orig_sig_int);
|
||||
|
||||
/* perform transfer */
|
||||
@@ -501,6 +474,13 @@ static int curl_download_internal(struct dload_payload *payload,
|
||||
payload->remote_name, hostname);
|
||||
}
|
||||
goto cleanup;
|
||||
case CURLE_COULDNT_RESOLVE_HOST:
|
||||
payload->unlink_on_fail = 1;
|
||||
handle->pm_errno = ALPM_ERR_SERVER_BAD_URL;
|
||||
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||
_("failed retrieving file '%s' from %s : %s\n"),
|
||||
payload->remote_name, hostname, error_buffer);
|
||||
goto cleanup;
|
||||
default:
|
||||
/* delete zero length downloads */
|
||||
if(fstat(fileno(localf), &st) == 0 && st.st_size == 0) {
|
||||
@@ -554,7 +534,8 @@ static int curl_download_internal(struct dload_payload *payload,
|
||||
if(payload->content_disp_name) {
|
||||
/* content-disposition header has a better name for our file */
|
||||
free(payload->destfile_name);
|
||||
payload->destfile_name = get_fullpath(localpath, payload->content_disp_name, "");
|
||||
payload->destfile_name = get_fullpath(localpath,
|
||||
get_filename(payload->content_disp_name), "");
|
||||
} else {
|
||||
const char *effective_filename = strrchr(effective_url, '/');
|
||||
if(effective_filename && strlen(effective_filename) > 2) {
|
||||
@@ -606,7 +587,7 @@ cleanup:
|
||||
unmask_signal(SIGINT, &orig_sig_int);
|
||||
unmask_signal(SIGPIPE, &orig_sig_pipe);
|
||||
/* if we were interrupted, trip the old handler */
|
||||
if(dload_interrupted) {
|
||||
if(dload_interrupted == ABORT_SIGINT) {
|
||||
raise(SIGINT);
|
||||
}
|
||||
|
||||
@@ -702,7 +683,7 @@ char SYMEXPORT *alpm_fetch_pkgurl(alpm_handle_t *handle, const char *url)
|
||||
size_t len;
|
||||
|
||||
len = strlen(final_pkg_url) + 5;
|
||||
MALLOC(payload.fileurl, len, RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
|
||||
MALLOC(payload.fileurl, len, free(final_file); RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
|
||||
snprintf(payload.fileurl, len, "%s.sig", final_pkg_url);
|
||||
|
||||
sig_filepath = filecache_find_url(handle, payload.fileurl);
|
||||
@@ -752,4 +733,13 @@ void _alpm_dload_payload_reset(struct dload_payload *payload)
|
||||
memset(payload, '\0', sizeof(*payload));
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
void _alpm_dload_payload_reset_for_retry(struct dload_payload *payload)
|
||||
{
|
||||
ASSERT(payload, return);
|
||||
|
||||
FREE(payload->fileurl);
|
||||
payload->initial_size += payload->prevprogress;
|
||||
payload->prevprogress = 0;
|
||||
payload->unlink_on_fail = 0;
|
||||
payload->cb_initialized = 0;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* dload.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -41,16 +41,16 @@ struct dload_payload {
|
||||
int errors_ok;
|
||||
int unlink_on_fail;
|
||||
int trust_remote_name;
|
||||
int cb_initialized;
|
||||
#ifdef HAVE_LIBCURL
|
||||
CURLcode curlerr; /* last error produced by curl */
|
||||
#endif
|
||||
};
|
||||
|
||||
void _alpm_dload_payload_reset(struct dload_payload *payload);
|
||||
void _alpm_dload_payload_reset_for_retry(struct dload_payload *payload);
|
||||
|
||||
int _alpm_download(struct dload_payload *payload, const char *localpath,
|
||||
char **final_file, const char **final_url);
|
||||
|
||||
#endif /* ALPM_DLOAD_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* error.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -164,5 +164,3 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err)
|
||||
return _("unexpected error");
|
||||
}
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* filelist.c
|
||||
*
|
||||
* Copyright (c) 2012-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2012-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -111,7 +111,7 @@ alpm_list_t *_alpm_filelist_intersection(alpm_filelist_t *filesA,
|
||||
|
||||
/* Helper function for comparing files list entries
|
||||
*/
|
||||
int _alpm_files_cmp(const void *f1, const void *f2)
|
||||
static int _alpm_files_cmp(const void *f1, const void *f2)
|
||||
{
|
||||
const alpm_file_t *file1 = f1;
|
||||
const alpm_file_t *file2 = f2;
|
||||
@@ -133,4 +133,15 @@ alpm_file_t SYMEXPORT *alpm_filelist_contains(alpm_filelist_t *filelist,
|
||||
sizeof(alpm_file_t), _alpm_files_cmp);
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
void _alpm_filelist_sort(alpm_filelist_t *filelist)
|
||||
{
|
||||
size_t i;
|
||||
for(i = 1; i < filelist->count; i++) {
|
||||
if(strcmp(filelist->files[i - 1].name, filelist->files[i].name) > 0) {
|
||||
/* filelist is not pre-sorted */
|
||||
qsort(filelist->files, filelist->count,
|
||||
sizeof(alpm_file_t), _alpm_files_cmp);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* filelist.h
|
||||
*
|
||||
* Copyright (c) 2012-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2012-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -27,8 +27,6 @@ alpm_list_t *_alpm_filelist_difference(alpm_filelist_t *filesA,
|
||||
alpm_list_t *_alpm_filelist_intersection(alpm_filelist_t *filesA,
|
||||
alpm_filelist_t *filesB);
|
||||
|
||||
int _alpm_files_cmp(const void *f1, const void *f2);
|
||||
void _alpm_filelist_sort(alpm_filelist_t *filelist);
|
||||
|
||||
#endif /* ALPM_FILELIST_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* graph.c - helpful graph structure and setup/teardown methods
|
||||
*
|
||||
* Copyright (c) 2007-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2007-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -36,5 +36,3 @@ void _alpm_graph_free(void *data)
|
||||
alpm_list_free(graph->children);
|
||||
free(graph);
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* graph.h - helpful graph structure and setup/teardown methods
|
||||
*
|
||||
* Copyright (c) 2007-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2007-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -23,18 +23,22 @@
|
||||
|
||||
#include "alpm_list.h"
|
||||
|
||||
enum __alpm_graph_vertex_state {
|
||||
ALPM_GRAPH_STATE_UNPROCESSED,
|
||||
ALPM_GRAPH_STATE_PROCESSING,
|
||||
ALPM_GRAPH_STATE_PROCESSED
|
||||
};
|
||||
|
||||
typedef struct __alpm_graph_t {
|
||||
void *data;
|
||||
struct __alpm_graph_t *parent; /* where did we come from? */
|
||||
alpm_list_t *children;
|
||||
alpm_list_t *childptr; /* points to a child in children list */
|
||||
alpm_list_t *iterator; /* used for DFS without recursion */
|
||||
off_t weight; /* weight of the node */
|
||||
signed char state; /* 0: untouched, -1: entered, other: leaving time */
|
||||
enum __alpm_graph_vertex_state state;
|
||||
} alpm_graph_t;
|
||||
|
||||
alpm_graph_t *_alpm_graph_new(void);
|
||||
void _alpm_graph_free(void *data);
|
||||
|
||||
#endif /* ALPM_GRAPH_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* group.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -49,5 +49,3 @@ void _alpm_group_free(alpm_group_t *grp)
|
||||
alpm_list_free(grp->packages);
|
||||
FREE(grp);
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* group.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -26,5 +26,3 @@ alpm_group_t *_alpm_group_new(const char *name);
|
||||
void _alpm_group_free(alpm_group_t *grp);
|
||||
|
||||
#endif /* ALPM_GROUP_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* handle.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
|
||||
@@ -92,6 +92,7 @@ void _alpm_handle_free(alpm_handle_t *handle)
|
||||
FREELIST(handle->noextract);
|
||||
FREELIST(handle->ignorepkg);
|
||||
FREELIST(handle->ignoregroup);
|
||||
FREELIST(handle->overwrite_files);
|
||||
|
||||
alpm_list_free_inner(handle->assumeinstalled, (alpm_list_fn_free)alpm_dep_free);
|
||||
alpm_list_free(handle->assumeinstalled);
|
||||
@@ -134,6 +135,7 @@ int _alpm_handle_lock(alpm_handle_t *handle)
|
||||
*/
|
||||
int SYMEXPORT alpm_unlock(alpm_handle_t *handle)
|
||||
{
|
||||
ASSERT(handle != NULL, return -1);
|
||||
ASSERT(handle->lockfile != NULL, return 0);
|
||||
ASSERT(handle->lockfd >= 0, return 0);
|
||||
|
||||
@@ -283,6 +285,12 @@ alpm_list_t SYMEXPORT *alpm_option_get_ignoregroups(alpm_handle_t *handle)
|
||||
return handle->ignoregroup;
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_option_get_overwrite_files(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return NULL);
|
||||
return handle->overwrite_files;
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_option_get_assumeinstalled(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return NULL);
|
||||
@@ -657,6 +665,21 @@ int SYMEXPORT alpm_option_remove_ignoregroup(alpm_handle_t *handle, const char *
|
||||
return _alpm_option_strlist_rem(handle, &(handle->ignoregroup), grp);
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_add_overwrite_file(alpm_handle_t *handle, const char *glob)
|
||||
{
|
||||
return _alpm_option_strlist_add(handle, &(handle->overwrite_files), glob);
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_overwrite_files(alpm_handle_t *handle, alpm_list_t *globs)
|
||||
{
|
||||
return _alpm_option_strlist_set(handle, &(handle->overwrite_files), globs);
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_remove_overwrite_file(alpm_handle_t *handle, const char *glob)
|
||||
{
|
||||
return _alpm_option_strlist_rem(handle, &(handle->overwrite_files), glob);
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_add_assumeinstalled(alpm_handle_t *handle, const alpm_depend_t *dep)
|
||||
{
|
||||
alpm_depend_t *depcpy;
|
||||
@@ -777,7 +800,7 @@ int SYMEXPORT alpm_option_set_dbext(alpm_handle_t *handle, const char *dbext)
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_default_siglevel(alpm_handle_t *handle,
|
||||
alpm_siglevel_t level)
|
||||
int level)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBGPGME
|
||||
@@ -790,14 +813,14 @@ int SYMEXPORT alpm_option_set_default_siglevel(alpm_handle_t *handle,
|
||||
return 0;
|
||||
}
|
||||
|
||||
alpm_siglevel_t SYMEXPORT alpm_option_get_default_siglevel(alpm_handle_t *handle)
|
||||
int SYMEXPORT alpm_option_get_default_siglevel(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
return handle->siglevel;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_local_file_siglevel(alpm_handle_t *handle,
|
||||
alpm_siglevel_t level)
|
||||
int level)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBGPGME
|
||||
@@ -810,7 +833,7 @@ int SYMEXPORT alpm_option_set_local_file_siglevel(alpm_handle_t *handle,
|
||||
return 0;
|
||||
}
|
||||
|
||||
alpm_siglevel_t SYMEXPORT alpm_option_get_local_file_siglevel(alpm_handle_t *handle)
|
||||
int SYMEXPORT alpm_option_get_local_file_siglevel(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
if(handle->localfilesiglevel & ALPM_SIG_USE_DEFAULT) {
|
||||
@@ -821,7 +844,7 @@ alpm_siglevel_t SYMEXPORT alpm_option_get_local_file_siglevel(alpm_handle_t *han
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_remote_file_siglevel(alpm_handle_t *handle,
|
||||
alpm_siglevel_t level)
|
||||
int level)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBGPGME
|
||||
@@ -834,7 +857,7 @@ int SYMEXPORT alpm_option_set_remote_file_siglevel(alpm_handle_t *handle,
|
||||
return 0;
|
||||
}
|
||||
|
||||
alpm_siglevel_t SYMEXPORT alpm_option_get_remote_file_siglevel(alpm_handle_t *handle)
|
||||
int SYMEXPORT alpm_option_get_remote_file_siglevel(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
if(handle->remotefilesiglevel & ALPM_SIG_USE_DEFAULT) {
|
||||
@@ -844,4 +867,12 @@ alpm_siglevel_t SYMEXPORT alpm_option_get_remote_file_siglevel(alpm_handle_t *ha
|
||||
}
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
int SYMEXPORT alpm_option_set_disable_dl_timeout(alpm_handle_t *handle,
|
||||
unsigned short disable_dl_timeout)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBCURL
|
||||
handle->disable_dl_timeout = disable_dl_timeout;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* handle.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -60,6 +60,7 @@ struct __alpm_handle_t {
|
||||
#ifdef HAVE_LIBCURL
|
||||
/* libcurl handle */
|
||||
CURL *curl; /* reusable curl_easy handle */
|
||||
unsigned short disable_dl_timeout;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBGPGME
|
||||
@@ -83,6 +84,7 @@ struct __alpm_handle_t {
|
||||
char *gpgdir; /* Directory where GnuPG files are stored */
|
||||
alpm_list_t *cachedirs; /* Paths to pacman cache directories */
|
||||
alpm_list_t *hookdirs; /* Paths to hook directories */
|
||||
alpm_list_t *overwrite_files; /* Paths that may be overwritten */
|
||||
|
||||
/* package lists */
|
||||
alpm_list_t *noupgrade; /* List of packages NOT to be upgraded */
|
||||
@@ -97,10 +99,10 @@ struct __alpm_handle_t {
|
||||
int usesyslog; /* Use syslog instead of logfile? */ /* TODO move to frontend */
|
||||
int checkspace; /* Check disk space before installing */
|
||||
char *dbext; /* Sync DB extension */
|
||||
alpm_siglevel_t siglevel; /* Default signature verification level */
|
||||
alpm_siglevel_t localfilesiglevel; /* Signature verification level for local file
|
||||
int siglevel; /* Default signature verification level */
|
||||
int localfilesiglevel; /* Signature verification level for local file
|
||||
upgrade operations */
|
||||
alpm_siglevel_t remotefilesiglevel; /* Signature verification level for remote file
|
||||
int remotefilesiglevel; /* Signature verification level for remote file
|
||||
upgrade operations */
|
||||
|
||||
/* error code */
|
||||
@@ -124,5 +126,3 @@ alpm_errno_t _alpm_set_directory_option(const char *value,
|
||||
char **storage, int must_exist);
|
||||
|
||||
#endif /* ALPM_HANDLE_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* hook.c
|
||||
*
|
||||
* Copyright (c) 2015-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2015-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -267,6 +267,7 @@ static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
struct _alpm_hook_t *hook = ctx->hook;
|
||||
|
||||
#define error(...) _alpm_log(handle, ALPM_LOG_ERROR, __VA_ARGS__); return 1;
|
||||
#define warning(...) _alpm_log(handle, ALPM_LOG_WARNING, __VA_ARGS__);
|
||||
|
||||
if(!section && !key) {
|
||||
error(_("error while reading hook %s: %s\n"), file, strerror(errno));
|
||||
@@ -296,6 +297,9 @@ static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
error(_("hook %s line %d: invalid value %s\n"), file, line, value);
|
||||
}
|
||||
} else if(strcmp(key, "Type") == 0) {
|
||||
if(t->type != 0) {
|
||||
warning(_("hook %s line %d: overwriting previous definition of %s\n"), file, line, "Type");
|
||||
}
|
||||
if(strcmp(value, "Package") == 0) {
|
||||
t->type = ALPM_HOOK_TYPE_PACKAGE;
|
||||
} else if(strcmp(value, "File") == 0) {
|
||||
@@ -312,6 +316,9 @@ static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
}
|
||||
} else if(strcmp(section, "Action") == 0) {
|
||||
if(strcmp(key, "When") == 0) {
|
||||
if(hook->when != 0) {
|
||||
warning(_("hook %s line %d: overwriting previous definition of %s\n"), file, line, "When");
|
||||
}
|
||||
if(strcmp(value, "PreTransaction") == 0) {
|
||||
hook->when = ALPM_HOOK_PRE_TRANSACTION;
|
||||
} else if(strcmp(value, "PostTransaction") == 0) {
|
||||
@@ -320,6 +327,10 @@ static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
error(_("hook %s line %d: invalid value %s\n"), file, line, value);
|
||||
}
|
||||
} else if(strcmp(key, "Description") == 0) {
|
||||
if(hook->desc != NULL) {
|
||||
warning(_("hook %s line %d: overwriting previous definition of %s\n"), file, line, "Description");
|
||||
FREE(hook->desc);
|
||||
}
|
||||
STRDUP(hook->desc, value, return 1);
|
||||
} else if(strcmp(key, "Depends") == 0) {
|
||||
char *val;
|
||||
@@ -330,6 +341,10 @@ static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
} else if(strcmp(key, "NeedsTargets") == 0) {
|
||||
hook->needs_targets = 1;
|
||||
} else if(strcmp(key, "Exec") == 0) {
|
||||
if(hook->cmd != NULL) {
|
||||
warning(_("hook %s line %d: overwriting previous definition of %s\n"), file, line, "Exec");
|
||||
_alpm_wordsplit_free(hook->cmd);
|
||||
}
|
||||
if((hook->cmd = _alpm_wordsplit(value)) == NULL) {
|
||||
if(errno == EINVAL) {
|
||||
error(_("hook %s line %d: invalid value %s\n"), file, line, value);
|
||||
@@ -344,6 +359,7 @@ static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
}
|
||||
|
||||
#undef error
|
||||
#undef warning
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -766,5 +782,3 @@ cleanup:
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* hook.h
|
||||
*
|
||||
* Copyright (c) 2015-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2015-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -25,5 +25,3 @@
|
||||
int _alpm_hook_run(alpm_handle_t *handle, alpm_hook_when_t when);
|
||||
|
||||
#endif /* ALPM_HOOK_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -7,6 +7,7 @@ Name: libalpm
|
||||
Description: Arch Linux package management library
|
||||
URL: http://www.archlinux.org/pacman/
|
||||
Version: @LIB_VERSION@
|
||||
Requires.private: libarchive @pc_crypto@ @pc_libcurl@
|
||||
Cflags: -I${includedir} @LFS_CFLAGS@
|
||||
Libs: -L${libdir} -lalpm
|
||||
Libs.private: @LIBS@ @LIBARCHIVE_LIBS@ @LIBSSL_LIBS@ @LIBCURL_LIBS@ @GPGME_LIBS@
|
||||
Libs.private: @LIBS@ @GPGME_LIBS@
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/*
|
||||
* libarchive-compat.h
|
||||
*
|
||||
* Copyright (c) 2013-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2013-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -69,5 +69,3 @@ static inline int _alpm_archive_read_support_filter_all(struct archive *archive)
|
||||
}
|
||||
|
||||
#endif /* LIBARCHIVE_COMPAT_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* log.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -121,5 +121,3 @@ void _alpm_log(alpm_handle_t *handle, alpm_loglevel_t flag, const char *fmt, ...
|
||||
handle->logcb(flag, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* log.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -28,5 +28,3 @@ void _alpm_log(alpm_handle_t *handle, alpm_loglevel_t flag,
|
||||
const char *fmt, ...) __attribute__((format(printf,3,4)));
|
||||
|
||||
#endif /* ALPM_LOG_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,333 +0,0 @@
|
||||
/*
|
||||
* RFC 1321 compliant MD5 implementation
|
||||
*
|
||||
* Copyright (C) 2006-2010, Brainspark B.V.
|
||||
*
|
||||
* This file is part of PolarSSL (http://www.polarssl.org)
|
||||
* Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
* The MD5 algorithm was designed by Ron Rivest in 1991.
|
||||
*
|
||||
* http://www.ietf.org/rfc/rfc1321.txt
|
||||
*/
|
||||
/*
|
||||
* Pacman Notes:
|
||||
*
|
||||
* Taken from the PolarSSL project at http://polarssl.org under terms of the
|
||||
* GPL. This is from version 1.0.0 of the library, and has been modified
|
||||
* as following, which may be helpful for future updates:
|
||||
* * remove "polarssl/config.h" include
|
||||
* * change include from "polarssl/md5.h" to "md5.h"
|
||||
* * removal of HMAC code
|
||||
* * removal of SELF_TEST code
|
||||
* * removal of ipad and opad from the md5_context struct in md5.h
|
||||
* * increase the size of buffer for performance reasons
|
||||
* * change 'unsigned long' to uint32_t
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "md5.h"
|
||||
|
||||
/*
|
||||
* 32-bit integer manipulation macros (little endian)
|
||||
*/
|
||||
#ifndef GET_U32_LE
|
||||
#define GET_U32_LE(n,b,i) \
|
||||
{ \
|
||||
(n) = ( (uint32_t) (b)[(i) ] ) \
|
||||
| ( (uint32_t) (b)[(i) + 1] << 8 ) \
|
||||
| ( (uint32_t) (b)[(i) + 2] << 16 ) \
|
||||
| ( (uint32_t) (b)[(i) + 3] << 24 ); \
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef PUT_U32_LE
|
||||
#define PUT_U32_LE(n,b,i) \
|
||||
{ \
|
||||
(b)[(i) ] = (unsigned char) ( (n) ); \
|
||||
(b)[(i) + 1] = (unsigned char) ( (n) >> 8 ); \
|
||||
(b)[(i) + 2] = (unsigned char) ( (n) >> 16 ); \
|
||||
(b)[(i) + 3] = (unsigned char) ( (n) >> 24 ); \
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MD5 context setup
|
||||
*/
|
||||
static void md5_starts( md5_context *ctx )
|
||||
{
|
||||
ctx->total[0] = 0;
|
||||
ctx->total[1] = 0;
|
||||
|
||||
ctx->state[0] = 0x67452301;
|
||||
ctx->state[1] = 0xEFCDAB89;
|
||||
ctx->state[2] = 0x98BADCFE;
|
||||
ctx->state[3] = 0x10325476;
|
||||
}
|
||||
|
||||
static void md5_process( md5_context *ctx, const unsigned char data[64] )
|
||||
{
|
||||
uint32_t X[16], A, B, C, D;
|
||||
|
||||
GET_U32_LE( X[ 0], data, 0 );
|
||||
GET_U32_LE( X[ 1], data, 4 );
|
||||
GET_U32_LE( X[ 2], data, 8 );
|
||||
GET_U32_LE( X[ 3], data, 12 );
|
||||
GET_U32_LE( X[ 4], data, 16 );
|
||||
GET_U32_LE( X[ 5], data, 20 );
|
||||
GET_U32_LE( X[ 6], data, 24 );
|
||||
GET_U32_LE( X[ 7], data, 28 );
|
||||
GET_U32_LE( X[ 8], data, 32 );
|
||||
GET_U32_LE( X[ 9], data, 36 );
|
||||
GET_U32_LE( X[10], data, 40 );
|
||||
GET_U32_LE( X[11], data, 44 );
|
||||
GET_U32_LE( X[12], data, 48 );
|
||||
GET_U32_LE( X[13], data, 52 );
|
||||
GET_U32_LE( X[14], data, 56 );
|
||||
GET_U32_LE( X[15], data, 60 );
|
||||
|
||||
#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
|
||||
|
||||
#define P(a,b,c,d,k,s,t) \
|
||||
{ \
|
||||
a += F(b,c,d) + X[k] + t; a = S(a,s) + b; \
|
||||
}
|
||||
|
||||
A = ctx->state[0];
|
||||
B = ctx->state[1];
|
||||
C = ctx->state[2];
|
||||
D = ctx->state[3];
|
||||
|
||||
#define F(x,y,z) (z ^ (x & (y ^ z)))
|
||||
|
||||
P( A, B, C, D, 0, 7, 0xD76AA478 );
|
||||
P( D, A, B, C, 1, 12, 0xE8C7B756 );
|
||||
P( C, D, A, B, 2, 17, 0x242070DB );
|
||||
P( B, C, D, A, 3, 22, 0xC1BDCEEE );
|
||||
P( A, B, C, D, 4, 7, 0xF57C0FAF );
|
||||
P( D, A, B, C, 5, 12, 0x4787C62A );
|
||||
P( C, D, A, B, 6, 17, 0xA8304613 );
|
||||
P( B, C, D, A, 7, 22, 0xFD469501 );
|
||||
P( A, B, C, D, 8, 7, 0x698098D8 );
|
||||
P( D, A, B, C, 9, 12, 0x8B44F7AF );
|
||||
P( C, D, A, B, 10, 17, 0xFFFF5BB1 );
|
||||
P( B, C, D, A, 11, 22, 0x895CD7BE );
|
||||
P( A, B, C, D, 12, 7, 0x6B901122 );
|
||||
P( D, A, B, C, 13, 12, 0xFD987193 );
|
||||
P( C, D, A, B, 14, 17, 0xA679438E );
|
||||
P( B, C, D, A, 15, 22, 0x49B40821 );
|
||||
|
||||
#undef F
|
||||
|
||||
#define F(x,y,z) (y ^ (z & (x ^ y)))
|
||||
|
||||
P( A, B, C, D, 1, 5, 0xF61E2562 );
|
||||
P( D, A, B, C, 6, 9, 0xC040B340 );
|
||||
P( C, D, A, B, 11, 14, 0x265E5A51 );
|
||||
P( B, C, D, A, 0, 20, 0xE9B6C7AA );
|
||||
P( A, B, C, D, 5, 5, 0xD62F105D );
|
||||
P( D, A, B, C, 10, 9, 0x02441453 );
|
||||
P( C, D, A, B, 15, 14, 0xD8A1E681 );
|
||||
P( B, C, D, A, 4, 20, 0xE7D3FBC8 );
|
||||
P( A, B, C, D, 9, 5, 0x21E1CDE6 );
|
||||
P( D, A, B, C, 14, 9, 0xC33707D6 );
|
||||
P( C, D, A, B, 3, 14, 0xF4D50D87 );
|
||||
P( B, C, D, A, 8, 20, 0x455A14ED );
|
||||
P( A, B, C, D, 13, 5, 0xA9E3E905 );
|
||||
P( D, A, B, C, 2, 9, 0xFCEFA3F8 );
|
||||
P( C, D, A, B, 7, 14, 0x676F02D9 );
|
||||
P( B, C, D, A, 12, 20, 0x8D2A4C8A );
|
||||
|
||||
#undef F
|
||||
|
||||
#define F(x,y,z) (x ^ y ^ z)
|
||||
|
||||
P( A, B, C, D, 5, 4, 0xFFFA3942 );
|
||||
P( D, A, B, C, 8, 11, 0x8771F681 );
|
||||
P( C, D, A, B, 11, 16, 0x6D9D6122 );
|
||||
P( B, C, D, A, 14, 23, 0xFDE5380C );
|
||||
P( A, B, C, D, 1, 4, 0xA4BEEA44 );
|
||||
P( D, A, B, C, 4, 11, 0x4BDECFA9 );
|
||||
P( C, D, A, B, 7, 16, 0xF6BB4B60 );
|
||||
P( B, C, D, A, 10, 23, 0xBEBFBC70 );
|
||||
P( A, B, C, D, 13, 4, 0x289B7EC6 );
|
||||
P( D, A, B, C, 0, 11, 0xEAA127FA );
|
||||
P( C, D, A, B, 3, 16, 0xD4EF3085 );
|
||||
P( B, C, D, A, 6, 23, 0x04881D05 );
|
||||
P( A, B, C, D, 9, 4, 0xD9D4D039 );
|
||||
P( D, A, B, C, 12, 11, 0xE6DB99E5 );
|
||||
P( C, D, A, B, 15, 16, 0x1FA27CF8 );
|
||||
P( B, C, D, A, 2, 23, 0xC4AC5665 );
|
||||
|
||||
#undef F
|
||||
|
||||
#define F(x,y,z) (y ^ (x | ~z))
|
||||
|
||||
P( A, B, C, D, 0, 6, 0xF4292244 );
|
||||
P( D, A, B, C, 7, 10, 0x432AFF97 );
|
||||
P( C, D, A, B, 14, 15, 0xAB9423A7 );
|
||||
P( B, C, D, A, 5, 21, 0xFC93A039 );
|
||||
P( A, B, C, D, 12, 6, 0x655B59C3 );
|
||||
P( D, A, B, C, 3, 10, 0x8F0CCC92 );
|
||||
P( C, D, A, B, 10, 15, 0xFFEFF47D );
|
||||
P( B, C, D, A, 1, 21, 0x85845DD1 );
|
||||
P( A, B, C, D, 8, 6, 0x6FA87E4F );
|
||||
P( D, A, B, C, 15, 10, 0xFE2CE6E0 );
|
||||
P( C, D, A, B, 6, 15, 0xA3014314 );
|
||||
P( B, C, D, A, 13, 21, 0x4E0811A1 );
|
||||
P( A, B, C, D, 4, 6, 0xF7537E82 );
|
||||
P( D, A, B, C, 11, 10, 0xBD3AF235 );
|
||||
P( C, D, A, B, 2, 15, 0x2AD7D2BB );
|
||||
P( B, C, D, A, 9, 21, 0xEB86D391 );
|
||||
|
||||
#undef F
|
||||
|
||||
ctx->state[0] += A;
|
||||
ctx->state[1] += B;
|
||||
ctx->state[2] += C;
|
||||
ctx->state[3] += D;
|
||||
}
|
||||
|
||||
/*
|
||||
* MD5 process buffer
|
||||
*/
|
||||
static void md5_update( md5_context *ctx, const unsigned char *input, size_t ilen )
|
||||
{
|
||||
size_t fill;
|
||||
uint32_t left;
|
||||
|
||||
if( ilen <= 0 )
|
||||
return;
|
||||
|
||||
left = ctx->total[0] & 0x3F;
|
||||
fill = 64 - left;
|
||||
|
||||
ctx->total[0] += (uint32_t) ilen;
|
||||
ctx->total[0] &= 0xFFFFFFFF;
|
||||
|
||||
if( ctx->total[0] < (uint32_t) ilen )
|
||||
ctx->total[1]++;
|
||||
|
||||
if( left && ilen >= fill )
|
||||
{
|
||||
memcpy( (void *) (ctx->buffer + left),
|
||||
(void *) input, fill );
|
||||
md5_process( ctx, ctx->buffer );
|
||||
input += fill;
|
||||
ilen -= fill;
|
||||
left = 0;
|
||||
}
|
||||
|
||||
while( ilen >= 64 )
|
||||
{
|
||||
md5_process( ctx, input );
|
||||
input += 64;
|
||||
ilen -= 64;
|
||||
}
|
||||
|
||||
if( ilen > 0 )
|
||||
{
|
||||
memcpy( (void *) (ctx->buffer + left),
|
||||
(void *) input, ilen );
|
||||
}
|
||||
}
|
||||
|
||||
static const unsigned char md5_padding[64] =
|
||||
{
|
||||
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
/*
|
||||
* MD5 final digest
|
||||
*/
|
||||
static void md5_finish( md5_context *ctx, unsigned char output[16] )
|
||||
{
|
||||
uint32_t last, padn;
|
||||
uint32_t high, low;
|
||||
unsigned char msglen[8];
|
||||
|
||||
high = ( ctx->total[0] >> 29 )
|
||||
| ( ctx->total[1] << 3 );
|
||||
low = ( ctx->total[0] << 3 );
|
||||
|
||||
PUT_U32_LE( low, msglen, 0 );
|
||||
PUT_U32_LE( high, msglen, 4 );
|
||||
|
||||
last = ctx->total[0] & 0x3F;
|
||||
padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last );
|
||||
|
||||
md5_update( ctx, (unsigned char *) md5_padding, padn );
|
||||
md5_update( ctx, msglen, 8 );
|
||||
|
||||
PUT_U32_LE( ctx->state[0], output, 0 );
|
||||
PUT_U32_LE( ctx->state[1], output, 4 );
|
||||
PUT_U32_LE( ctx->state[2], output, 8 );
|
||||
PUT_U32_LE( ctx->state[3], output, 12 );
|
||||
}
|
||||
|
||||
/*
|
||||
* output = MD5( input buffer )
|
||||
*/
|
||||
void md5( const unsigned char *input, size_t ilen, unsigned char output[16] )
|
||||
{
|
||||
md5_context ctx;
|
||||
|
||||
md5_starts( &ctx );
|
||||
md5_update( &ctx, input, ilen );
|
||||
md5_finish( &ctx, output );
|
||||
|
||||
memset( &ctx, 0, sizeof( md5_context ) );
|
||||
}
|
||||
|
||||
/*
|
||||
* output = MD5( file contents )
|
||||
*/
|
||||
int md5_file( const char *path, unsigned char output[16] )
|
||||
{
|
||||
FILE *f;
|
||||
size_t n;
|
||||
md5_context ctx;
|
||||
unsigned char buf[4096];
|
||||
|
||||
if( ( f = fopen( path, "rb" ) ) == NULL )
|
||||
return( 1 );
|
||||
|
||||
md5_starts( &ctx );
|
||||
|
||||
while( ( n = fread( buf, 1, sizeof( buf ), f ) ) > 0 )
|
||||
md5_update( &ctx, buf, n );
|
||||
|
||||
md5_finish( &ctx, output );
|
||||
|
||||
memset( &ctx, 0, sizeof( md5_context ) );
|
||||
|
||||
if( ferror( f ) != 0 )
|
||||
{
|
||||
fclose( f );
|
||||
return( 2 );
|
||||
}
|
||||
|
||||
fclose( f );
|
||||
return( 0 );
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
/*
|
||||
* RFC 1321 compliant MD5 implementation
|
||||
*
|
||||
* Copyright (C) 2006-2010, Brainspark B.V.
|
||||
*
|
||||
* This file is part of PolarSSL (http://www.polarssl.org)
|
||||
* Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef MD5_H
|
||||
#define MD5_H
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/**
|
||||
* \brief MD5 context structure
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
unsigned long total[2]; /*!< number of bytes processed */
|
||||
unsigned long state[4]; /*!< intermediate digest state */
|
||||
unsigned char buffer[64]; /*!< data block being processed */
|
||||
}
|
||||
md5_context;
|
||||
|
||||
/**
|
||||
* \brief Output = MD5( input buffer )
|
||||
*
|
||||
* \param input buffer holding the data
|
||||
* \param ilen length of the input data
|
||||
* \param output MD5 checksum result
|
||||
*/
|
||||
void md5( const unsigned char *input, size_t ilen, unsigned char output[16] );
|
||||
|
||||
/**
|
||||
* \brief Output = MD5( file contents )
|
||||
*
|
||||
* \param path input file name
|
||||
* \param output MD5 checksum result
|
||||
*
|
||||
* \return 0 if successful, 1 if fopen failed,
|
||||
* or 2 if fread failed
|
||||
*/
|
||||
int md5_file( const char *path, unsigned char output[16] );
|
||||
|
||||
#endif /* md5.h */
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* package.c
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2005, 2006 by Christian Hamar <krics@linuxforum.hu>
|
||||
@@ -60,7 +60,7 @@ int SYMEXPORT alpm_pkg_checkmd5sum(alpm_pkg_t *pkg)
|
||||
int retval;
|
||||
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
/* We only inspect packages from sync repositories */
|
||||
ASSERT(pkg->origin == ALPM_PKG_FROM_SYNCDB,
|
||||
RET_ERR(pkg->handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
@@ -69,9 +69,9 @@ int SYMEXPORT alpm_pkg_checkmd5sum(alpm_pkg_t *pkg)
|
||||
|
||||
retval = _alpm_test_checksum(fpath, pkg->md5sum, ALPM_PKG_VALIDATION_MD5SUM);
|
||||
|
||||
if(retval == 0) {
|
||||
return 0;
|
||||
} else if(retval == 1) {
|
||||
FREE(fpath);
|
||||
|
||||
if(retval == 1) {
|
||||
pkg->handle->pm_errno = ALPM_ERR_PKG_INVALID;
|
||||
retval = -1;
|
||||
}
|
||||
@@ -92,13 +92,15 @@ static const char *_pkg_get_packager(alpm_pkg_t *pkg) { return pkg->packager;
|
||||
static const char *_pkg_get_arch(alpm_pkg_t *pkg) { return pkg->arch; }
|
||||
static off_t _pkg_get_isize(alpm_pkg_t *pkg) { return pkg->isize; }
|
||||
static alpm_pkgreason_t _pkg_get_reason(alpm_pkg_t *pkg) { return pkg->reason; }
|
||||
static alpm_pkgvalidation_t _pkg_get_validation(alpm_pkg_t *pkg) { return pkg->validation; }
|
||||
static int _pkg_get_validation(alpm_pkg_t *pkg) { return pkg->validation; }
|
||||
static int _pkg_has_scriptlet(alpm_pkg_t *pkg) { return pkg->scriptlet; }
|
||||
|
||||
static alpm_list_t *_pkg_get_licenses(alpm_pkg_t *pkg) { return pkg->licenses; }
|
||||
static alpm_list_t *_pkg_get_groups(alpm_pkg_t *pkg) { return pkg->groups; }
|
||||
static alpm_list_t *_pkg_get_depends(alpm_pkg_t *pkg) { return pkg->depends; }
|
||||
static alpm_list_t *_pkg_get_optdepends(alpm_pkg_t *pkg) { return pkg->optdepends; }
|
||||
static alpm_list_t *_pkg_get_checkdepends(alpm_pkg_t *pkg) { return pkg->checkdepends; }
|
||||
static alpm_list_t *_pkg_get_makedepends(alpm_pkg_t *pkg) { return pkg->makedepends; }
|
||||
static alpm_list_t *_pkg_get_conflicts(alpm_pkg_t *pkg) { return pkg->conflicts; }
|
||||
static alpm_list_t *_pkg_get_provides(alpm_pkg_t *pkg) { return pkg->provides; }
|
||||
static alpm_list_t *_pkg_get_replaces(alpm_pkg_t *pkg) { return pkg->replaces; }
|
||||
@@ -161,6 +163,8 @@ struct pkg_operations default_pkg_ops = {
|
||||
.get_groups = _pkg_get_groups,
|
||||
.get_depends = _pkg_get_depends,
|
||||
.get_optdepends = _pkg_get_optdepends,
|
||||
.get_checkdepends = _pkg_get_checkdepends,
|
||||
.get_makedepends = _pkg_get_makedepends,
|
||||
.get_conflicts = _pkg_get_conflicts,
|
||||
.get_provides = _pkg_get_provides,
|
||||
.get_replaces = _pkg_get_replaces,
|
||||
@@ -184,196 +188,210 @@ struct pkg_operations default_pkg_ops = {
|
||||
const char SYMEXPORT *alpm_pkg_get_filename(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->filename;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_base(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_base(pkg);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_name(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->name;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_version(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->version;
|
||||
}
|
||||
|
||||
alpm_pkgfrom_t SYMEXPORT alpm_pkg_get_origin(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->origin;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_desc(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_desc(pkg);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_url(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_url(pkg);
|
||||
}
|
||||
|
||||
alpm_time_t SYMEXPORT alpm_pkg_get_builddate(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_builddate(pkg);
|
||||
}
|
||||
|
||||
alpm_time_t SYMEXPORT alpm_pkg_get_installdate(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_installdate(pkg);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_packager(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_packager(pkg);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_md5sum(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->md5sum;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_sha256sum(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->sha256sum;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_base64_sig(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->base64_sig;
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_arch(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_arch(pkg);
|
||||
}
|
||||
|
||||
off_t SYMEXPORT alpm_pkg_get_size(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->size;
|
||||
}
|
||||
|
||||
off_t SYMEXPORT alpm_pkg_get_isize(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_isize(pkg);
|
||||
}
|
||||
|
||||
alpm_pkgreason_t SYMEXPORT alpm_pkg_get_reason(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_reason(pkg);
|
||||
}
|
||||
|
||||
alpm_pkgvalidation_t SYMEXPORT alpm_pkg_get_validation(alpm_pkg_t *pkg)
|
||||
int SYMEXPORT alpm_pkg_get_validation(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_validation(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_licenses(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_licenses(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_groups(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_groups(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_depends(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_depends(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_optdepends(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_optdepends(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_checkdepends(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_checkdepends(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_makedepends(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_makedepends(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_conflicts(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_conflicts(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_provides(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_provides(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_replaces(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_replaces(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_deltas(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->deltas;
|
||||
}
|
||||
|
||||
alpm_filelist_t SYMEXPORT *alpm_pkg_get_files(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_files(pkg);
|
||||
}
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_get_backup(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->get_backup(pkg);
|
||||
}
|
||||
|
||||
@@ -382,7 +400,7 @@ alpm_db_t SYMEXPORT *alpm_pkg_get_db(alpm_pkg_t *pkg)
|
||||
/* Sanity checks */
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
ASSERT(pkg->origin != ALPM_PKG_FROM_FILE, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
return pkg->origin_data.db;
|
||||
}
|
||||
@@ -391,7 +409,7 @@ alpm_db_t SYMEXPORT *alpm_pkg_get_db(alpm_pkg_t *pkg)
|
||||
void SYMEXPORT *alpm_pkg_changelog_open(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->changelog_open(pkg);
|
||||
}
|
||||
|
||||
@@ -400,7 +418,7 @@ size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
const alpm_pkg_t *pkg, void *fp)
|
||||
{
|
||||
ASSERT(pkg != NULL, return 0);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->changelog_read(ptr, size, pkg, fp);
|
||||
}
|
||||
|
||||
@@ -408,7 +426,7 @@ size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
int SYMEXPORT alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->changelog_close(pkg, fp);
|
||||
}
|
||||
|
||||
@@ -416,7 +434,7 @@ int SYMEXPORT alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp)
|
||||
struct archive SYMEXPORT *alpm_pkg_mtree_open(alpm_pkg_t * pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->mtree_open(pkg);
|
||||
}
|
||||
|
||||
@@ -425,7 +443,7 @@ int SYMEXPORT alpm_pkg_mtree_next(const alpm_pkg_t * pkg, struct archive *archiv
|
||||
struct archive_entry **entry)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->mtree_next(pkg, archive, entry);
|
||||
}
|
||||
|
||||
@@ -433,14 +451,14 @@ int SYMEXPORT alpm_pkg_mtree_next(const alpm_pkg_t * pkg, struct archive *archiv
|
||||
int SYMEXPORT alpm_pkg_mtree_close(const alpm_pkg_t * pkg, struct archive *archive)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->mtree_close(pkg, archive);
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_pkg_has_scriptlet(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
return pkg->ops->has_scriptlet(pkg);
|
||||
}
|
||||
|
||||
@@ -448,7 +466,7 @@ static void find_requiredby(alpm_pkg_t *pkg, alpm_db_t *db, alpm_list_t **reqs,
|
||||
int optional)
|
||||
{
|
||||
const alpm_list_t *i;
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
for(i = _alpm_db_get_pkgcache(db); i; i = i->next) {
|
||||
alpm_pkg_t *cachepkg = i->data;
|
||||
@@ -478,7 +496,7 @@ static alpm_list_t *compute_requiredby(alpm_pkg_t *pkg, int optional)
|
||||
alpm_db_t *db;
|
||||
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
pkg->handle->pm_errno = 0;
|
||||
pkg->handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
if(pkg->origin == ALPM_PKG_FROM_FILE) {
|
||||
/* The sane option; search locally for things that require this. */
|
||||
@@ -787,5 +805,3 @@ int SYMEXPORT alpm_pkg_should_ignore(alpm_handle_t *handle, alpm_pkg_t *pkg)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* package.h
|
||||
*
|
||||
* Copyright (c) 2006-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
|
||||
* Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
|
||||
* Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
|
||||
@@ -52,13 +52,15 @@ struct pkg_operations {
|
||||
const char *(*get_arch) (alpm_pkg_t *);
|
||||
off_t (*get_isize) (alpm_pkg_t *);
|
||||
alpm_pkgreason_t (*get_reason) (alpm_pkg_t *);
|
||||
alpm_pkgvalidation_t (*get_validation) (alpm_pkg_t *);
|
||||
int (*get_validation) (alpm_pkg_t *);
|
||||
int (*has_scriptlet) (alpm_pkg_t *);
|
||||
|
||||
alpm_list_t *(*get_licenses) (alpm_pkg_t *);
|
||||
alpm_list_t *(*get_groups) (alpm_pkg_t *);
|
||||
alpm_list_t *(*get_depends) (alpm_pkg_t *);
|
||||
alpm_list_t *(*get_optdepends) (alpm_pkg_t *);
|
||||
alpm_list_t *(*get_checkdepends) (alpm_pkg_t *);
|
||||
alpm_list_t *(*get_makedepends) (alpm_pkg_t *);
|
||||
alpm_list_t *(*get_conflicts) (alpm_pkg_t *);
|
||||
alpm_list_t *(*get_provides) (alpm_pkg_t *);
|
||||
alpm_list_t *(*get_replaces) (alpm_pkg_t *);
|
||||
@@ -112,6 +114,8 @@ struct __alpm_pkg_t {
|
||||
alpm_list_t *backup;
|
||||
alpm_list_t *depends;
|
||||
alpm_list_t *optdepends;
|
||||
alpm_list_t *checkdepends;
|
||||
alpm_list_t *makedepends;
|
||||
alpm_list_t *conflicts;
|
||||
alpm_list_t *provides;
|
||||
alpm_list_t *deltas;
|
||||
@@ -130,11 +134,14 @@ struct __alpm_pkg_t {
|
||||
char *file;
|
||||
} origin_data;
|
||||
|
||||
alpm_dbinfrq_t infolevel;
|
||||
alpm_pkgvalidation_t validation;
|
||||
alpm_pkgfrom_t origin;
|
||||
alpm_pkgreason_t reason;
|
||||
int scriptlet;
|
||||
|
||||
/* Bitfield from alpm_dbinfrq_t */
|
||||
int infolevel;
|
||||
/* Bitfield from alpm_pkgvalidation_t */
|
||||
int validation;
|
||||
};
|
||||
|
||||
alpm_file_t *_alpm_file_copy(alpm_file_t *dest, const alpm_file_t *src);
|
||||
@@ -145,8 +152,8 @@ void _alpm_pkg_free(alpm_pkg_t *pkg);
|
||||
void _alpm_pkg_free_trans(alpm_pkg_t *pkg);
|
||||
|
||||
int _alpm_pkg_validate_internal(alpm_handle_t *handle,
|
||||
const char *pkgfile, alpm_pkg_t *syncpkg, alpm_siglevel_t level,
|
||||
alpm_siglist_t **sigdata, alpm_pkgvalidation_t *validation);
|
||||
const char *pkgfile, alpm_pkg_t *syncpkg, int level,
|
||||
alpm_siglist_t **sigdata, int *validation);
|
||||
alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
const char *pkgfile, int full);
|
||||
|
||||
@@ -154,5 +161,3 @@ int _alpm_pkg_cmp(const void *p1, const void *p2);
|
||||
int _alpm_pkg_compare_versions(alpm_pkg_t *local_pkg, alpm_pkg_t *pkg);
|
||||
|
||||
#endif /* ALPM_PACKAGE_H */
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* pkghash.c
|
||||
*
|
||||
* Copyright (c) 2011-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2011-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -132,8 +132,7 @@ static alpm_pkghash_t *rehash(alpm_pkghash_t *oldhash)
|
||||
|
||||
newhash = _alpm_pkghash_create(newsize);
|
||||
if(newhash == NULL) {
|
||||
/* creation of newhash failed, stick with old one... */
|
||||
return oldhash;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
newhash->list = oldhash->list;
|
||||
@@ -156,23 +155,29 @@ static alpm_pkghash_t *rehash(alpm_pkghash_t *oldhash)
|
||||
return newhash;
|
||||
}
|
||||
|
||||
static alpm_pkghash_t *pkghash_add_pkg(alpm_pkghash_t *hash, alpm_pkg_t *pkg,
|
||||
static alpm_pkghash_t *pkghash_add_pkg(alpm_pkghash_t **hashref, alpm_pkg_t *pkg,
|
||||
int sorted)
|
||||
{
|
||||
alpm_list_t *ptr;
|
||||
unsigned int position;
|
||||
alpm_pkghash_t *hash;
|
||||
|
||||
if(pkg == NULL || hash == NULL) {
|
||||
return hash;
|
||||
if(pkg == NULL || hashref == NULL || *hashref == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
hash = *hashref;
|
||||
|
||||
if(hash->entries >= hash->limit) {
|
||||
hash = rehash(hash);
|
||||
if((hash = rehash(hash)) == NULL) {
|
||||
/* resizing failed and there are no more open buckets */
|
||||
return NULL;
|
||||
}
|
||||
*hashref = hash;
|
||||
}
|
||||
|
||||
position = get_hash_position(pkg->name_hash, hash);
|
||||
|
||||
MALLOC(ptr, sizeof(alpm_list_t), return hash);
|
||||
MALLOC(ptr, sizeof(alpm_list_t), return NULL);
|
||||
|
||||
ptr->data = pkg;
|
||||
ptr->prev = ptr;
|
||||
@@ -189,12 +194,12 @@ static alpm_pkghash_t *pkghash_add_pkg(alpm_pkghash_t *hash, alpm_pkg_t *pkg,
|
||||
return hash;
|
||||
}
|
||||
|
||||
alpm_pkghash_t *_alpm_pkghash_add(alpm_pkghash_t *hash, alpm_pkg_t *pkg)
|
||||
alpm_pkghash_t *_alpm_pkghash_add(alpm_pkghash_t **hash, alpm_pkg_t *pkg)
|
||||
{
|
||||
return pkghash_add_pkg(hash, pkg, 0);
|
||||
}
|
||||
|
||||
alpm_pkghash_t *_alpm_pkghash_add_sorted(alpm_pkghash_t *hash, alpm_pkg_t *pkg)
|
||||
alpm_pkghash_t *_alpm_pkghash_add_sorted(alpm_pkghash_t **hash, alpm_pkg_t *pkg)
|
||||
{
|
||||
return pkghash_add_pkg(hash, pkg, 1);
|
||||
}
|
||||
@@ -344,5 +349,3 @@ alpm_pkg_t *_alpm_pkghash_find(alpm_pkghash_t *hash, const char *name)
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* vim: set noet: */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* pkghash.h
|
||||
*
|
||||
* Copyright (c) 2011-2016 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2011-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
*
|
||||
* 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
|
||||
@@ -49,8 +49,8 @@ typedef struct __alpm_pkghash_t alpm_pkghash_t;
|
||||
|
||||
alpm_pkghash_t *_alpm_pkghash_create(unsigned int size);
|
||||
|
||||
alpm_pkghash_t *_alpm_pkghash_add(alpm_pkghash_t *hash, alpm_pkg_t *pkg);
|
||||
alpm_pkghash_t *_alpm_pkghash_add_sorted(alpm_pkghash_t *hash, alpm_pkg_t *pkg);
|
||||
alpm_pkghash_t *_alpm_pkghash_add(alpm_pkghash_t **hash, alpm_pkg_t *pkg);
|
||||
alpm_pkghash_t *_alpm_pkghash_add_sorted(alpm_pkghash_t **hash, alpm_pkg_t *pkg);
|
||||
alpm_pkghash_t *_alpm_pkghash_remove(alpm_pkghash_t *hash, alpm_pkg_t *pkg, alpm_pkg_t **data);
|
||||
|
||||
void _alpm_pkghash_free(alpm_pkghash_t *hash);
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Set of available languages.
|
||||
ar
|
||||
ast
|
||||
bg
|
||||
br
|
||||
ca
|
||||
cs
|
||||
@@ -10,16 +12,16 @@ en_GB
|
||||
eo
|
||||
es
|
||||
es_419
|
||||
eu
|
||||
eu_ES
|
||||
fi
|
||||
fr
|
||||
gl
|
||||
hr
|
||||
hu
|
||||
id
|
||||
is
|
||||
it
|
||||
ja
|
||||
ka
|
||||
kk
|
||||
ko
|
||||
lt
|
||||
|
||||
@@ -17,15 +17,18 @@ lib/libalpm/deps.c
|
||||
lib/libalpm/diskspace.c
|
||||
lib/libalpm/dload.c
|
||||
lib/libalpm/error.c
|
||||
lib/libalpm/filelist.c
|
||||
lib/libalpm/graph.c
|
||||
lib/libalpm/group.c
|
||||
lib/libalpm/handle.c
|
||||
lib/libalpm/hook.c
|
||||
#lib/libalpm/ini.c
|
||||
lib/libalpm/log.c
|
||||
#lib/libalpm/md5.c
|
||||
lib/libalpm/package.c
|
||||
lib/libalpm/pkghash.c
|
||||
#lib/libalpm/rawstr.c
|
||||
lib/libalpm/remove.c
|
||||
#lib/libalpm/sha2.c
|
||||
lib/libalpm/signing.c
|
||||
lib/libalpm/sync.c
|
||||
lib/libalpm/trans.c
|
||||
lib/libalpm/util.c
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
# kraim <biskraim@gmail.com>, 2013
|
||||
# Mosaab Alzoubi <moceap@hotmail.com>, 2013
|
||||
# Mosaab Alzoubi <moceap@hotmail.com>, 2013
|
||||
# Mutaz ismail <m3taz.ismail@gmail.com>, 2015
|
||||
# Mutaz ismail <mutaz@gmx.net>, 2015
|
||||
# سند <0otibi0@gmail.com>, 2013
|
||||
# صفا الفليج <safaalfulaij@hotmail.com>, 2016-2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2017-05-22 11:00+1000\n"
|
||||
"PO-Revision-Date: 2017-05-22 01:04+0000\n"
|
||||
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 01:05+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/ar/)\n"
|
||||
@@ -48,17 +48,17 @@ msgstr "سأُنزِل الحزمة %s (من %s إلى %s)\n"
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:379
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "تحذير عند الاستخراج %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "تعذّر استخراج %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:589 lib/libalpm/remove.c:533
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "تعذر إعادة تسمية %s إلى %s (%s)\n"
|
||||
@@ -101,18 +101,18 @@ msgstr "الاستخراج: عدم الكتابة فوق المجلد بالمل
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:331 lib/libalpm/util.c:577
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "غير قادر على جلب مجلد العمل الحالي\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:336 lib/libalpm/util.c:582
|
||||
#: lib/libalpm/util.c:635
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "غير قادر على تحويل المجلد إلى %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:400 lib/libalpm/util.c:740
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "تعذر استعادة مجلد العمل (%s)\n"
|
||||
@@ -147,7 +147,7 @@ msgstr "خطأ أثناء قراءة الملف %s: %s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "تجري إزالة قاعدة البيانات الغير صالحة: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:886
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "غير قادر على إنشاء الدليل %s : %s\n"
|
||||
@@ -167,71 +167,71 @@ msgstr "مدخل قاعدة بيانات مكرر '%s'\n"
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "مدخل قاعدة بيانات معطوب '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:696 lib/libalpm/be_local.c:788
|
||||
#: lib/libalpm/be_local.c:935 lib/libalpm/be_local.c:1032
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:447 lib/libalpm/util.c:250
|
||||
#: lib/libalpm/util.c:266
|
||||
#: lib/libalpm/be_local.c:699 lib/libalpm/be_local.c:791
|
||||
#: lib/libalpm/be_local.c:936 lib/libalpm/be_local.c:1033
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:419 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "غير قادر على فتح اللمف %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:712 lib/libalpm/be_sync.c:641
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s قاعدة البيانات غير متناسقة : اسم الحزمة غير مطابق %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:718 lib/libalpm/be_sync.c:647
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s قاعدة البيانات غير متناسقة : إصدار الحزمة غير مطابق %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:759
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "نوع التّحقق غير مألوف في الحزمة %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:477 lib/libalpm/be_package.c:635
|
||||
#: lib/libalpm/be_package.c:648
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "خطأ أثناء قراءة الحزمة %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:491 lib/libalpm/be_package.c:515
|
||||
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
|
||||
#, c-format
|
||||
msgid "error while reading mtree of package %s: %s\n"
|
||||
msgstr "خطأ أثناء قراءة mtree في الحزمة %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:601
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "تعذّر تحليل ملف وصف الحزمة في %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:606
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "اسم الحزمة مفقود في %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:610
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "إصدارة الحزمة مفقودة في %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:614
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
msgid "invalid package version in %s\n"
|
||||
msgstr "إصدارة الحزمة غير صالح في %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:655
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "معلومات الحزمة مفقودة في %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:747
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "فشل في قراءة ملف التّوقيع: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:768 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "مفتاح ضروري غير موجود في حلقة المفاتيح\n"
|
||||
@@ -241,22 +241,27 @@ msgstr "مفتاح ضروري غير موجود في حلقة المفاتيح\n
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "يجري حذف ملف غير صالح: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:513
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "تعذّر تحليل ملف وصف الحزمة '%s' من قاعدة البيانات '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:546 lib/libalpm/be_sync.c:551
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "%s قاعدة البيانات غير متناسقة : اسم ملف الحزمة غير قانوني %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:556
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "%s قاعدة البيانات غير متناسقة : اسم ملف الحزمة طويل جدًا %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:622
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "ملف قاعدة البيانات مجهول : %s\n"
|
||||
@@ -266,27 +271,27 @@ msgstr "ملف قاعدة البيانات مجهول : %s\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "مسار قاعدة البيانات غير معروف\n"
|
||||
|
||||
#: lib/libalpm/deps.c:229
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "اكتشفت دورة اعتمادية:\n"
|
||||
|
||||
#: lib/libalpm/deps.c:232
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s سيتم إزالتها بعد %s اعتمادياتها\n"
|
||||
|
||||
#: lib/libalpm/deps.c:236
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s سيتم تثبيتها قبل %s اعتمادياتها\n"
|
||||
|
||||
#: lib/libalpm/deps.c:678 lib/libalpm/deps.c:710
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "تجاهل الحزمة %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:865
|
||||
#: lib/libalpm/deps.c:867
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "تعذّر تحليل \"%s\"، اعتمادية لـ \"%s\"\n"
|
||||
@@ -341,37 +346,37 @@ msgstr "غير قادر على تحديد نقطة وصل الجذر %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "القسم %s موصول بصفة القراءة فقط\n"
|
||||
|
||||
#: lib/libalpm/dload.c:149
|
||||
#: lib/libalpm/dload.c:159
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "القرص"
|
||||
|
||||
#: lib/libalpm/dload.c:373
|
||||
#: lib/libalpm/dload.c:345
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "غير قادر على إنشاء ملف مؤقت للتحميل\n"
|
||||
|
||||
#: lib/libalpm/dload.c:418
|
||||
#: lib/libalpm/dload.c:390
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "العنوان '%s' غير صالح\n"
|
||||
|
||||
#: lib/libalpm/dload.c:487 lib/libalpm/dload.c:512
|
||||
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "فشل في استقبال الملف '%s' من %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:500
|
||||
#: lib/libalpm/dload.c:473
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "فشل في استقبال الملف '%s' من %s : تم تجاوز حجم التحميل\n"
|
||||
|
||||
#: lib/libalpm/dload.c:548
|
||||
#: lib/libalpm/dload.c:528
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s يبدو غير موثوقًا: %jd/%jd بايت\n"
|
||||
|
||||
#: lib/libalpm/dload.c:692 lib/libalpm/dload.c:721
|
||||
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "tag td jpldg %s\n"
|
||||
@@ -601,7 +606,7 @@ msgstr "فروقات غير سليمة أو معطوبة"
|
||||
msgid "delta patch failed"
|
||||
msgstr "فشل تطبيق الفروقات"
|
||||
|
||||
#: lib/libalpm/error.c:140
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "غير قادر على استيفاء الاعتماديات"
|
||||
@@ -651,17 +656,104 @@ msgstr "خطأ في استحضار المحمّل الخارجي"
|
||||
msgid "unexpected error"
|
||||
msgstr "خطأ غير متوقع"
|
||||
|
||||
#: lib/libalpm/handle.c:155
|
||||
#: lib/libalpm/handle.c:157
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "الملف المغلق مفقود %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:161
|
||||
#: lib/libalpm/handle.c:163
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "تعذّر إزالة ملف القفل %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:568
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "تعذّر فتح المجلد: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "تعذّر إحصاء الملف %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "غير قادر على استيراد معلومات الميتا للحزمة %s-%s\n"
|
||||
@@ -683,26 +775,108 @@ msgstr ""
|
||||
"تعذر إزالة الملف '%s': %s\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "تعذّر فتح المجلد: %s: %s\n"
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/remove.c:553
|
||||
#: lib/libalpm/remove.c:561
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "تعذّر إزالة %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:726
|
||||
#: lib/libalpm/remove.c:734
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "تعذّر إزالة مدخل قاعدة البيانات %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:731
|
||||
#: lib/libalpm/remove.c:739
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "تعذر إزالة المدخل '%s' من المخبئيات\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "التوقيع المطلوب مفقود :%s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
@@ -733,12 +907,12 @@ msgstr "يجري تجاهل استبدال الحزمة (%s-%s => %s-%s)\n"
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "تعذر استبدال %s بـ %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:536 lib/libalpm/sync.c:606
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "حدثت تعارضات حزميّة تعذّر تحليلها\n"
|
||||
|
||||
#: lib/libalpm/sync.c:556
|
||||
#: lib/libalpm/sync.c:558
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr " يجري حذف '%s' من قائمة الأهداف بسبب تعارضها مع '%s'\n"
|
||||
@@ -748,11 +922,6 @@ msgstr " يجري حذف '%s' من قائمة الأهداف بسبب تعارض
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "تعذّر استقبال بعض الملفات\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "التوقيع المطلوب مفقود :%s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
@@ -768,89 +937,84 @@ msgstr "تعذّر بدء مُبادلة الإزالة\n"
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "فشل في بدء المُبادلة\n"
|
||||
|
||||
#: lib/libalpm/trans.c:360
|
||||
#: lib/libalpm/trans.c:364
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "تعذّر إنشاء مجلد مؤقت\n"
|
||||
|
||||
#: lib/libalpm/trans.c:375
|
||||
#: lib/libalpm/trans.c:379
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "تعذّر نسخ الملف المؤقّت إلى %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/trans.c:406
|
||||
#: lib/libalpm/trans.c:410
|
||||
#, c-format
|
||||
msgid "could not remove %s\n"
|
||||
msgstr ""
|
||||
"تعذر إزالة %s\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/trans.c:410
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "تعذّر إزالة المجلد المؤقّت %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:256
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "تعذّر إحصاء الملف %s: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:493
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
msgid "unable to write to pipe (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "تعذّرت الكتابة إلى الأنبوب (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:552
|
||||
#: lib/libalpm/util.c:545
|
||||
#, c-format
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "تعذّرت القراءة من الأنبوب (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:594 lib/libalpm/util.c:600
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "غير قادر على إنشاء العبارة (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:608
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "تعذّر تفريع العملية إلى عملية جديدة (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "تعذّر التعديل على مجلد الجذر (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:642
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "تعذّر مخاطبة execv (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:711
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "تعذّر مخاطبةwaitpid (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:721
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "فشل تطبيق الأمر بشكل صحيح\n"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "إشارة مجهوله"
|
||||
|
||||
#: lib/libalpm/util.c:730
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "تم انهاء الامر بواسطة الاشارة %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:827
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "لا يوجد %s مخبئي، يجري الإنشاء...\n"
|
||||
|
||||
#: lib/libalpm/util.c:858
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "تعذّر إيجاد أو إنشاء مخبئية للحزم ، استخدم %s بدلًا عنها\n"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# enolp <enolp@softastur.org>, 2015-2016
|
||||
# enolp <enolp@softastur.org>, 2015-2016,2018
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014-2015
|
||||
@@ -11,14 +11,15 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2017-05-22 11:00+1000\n"
|
||||
"PO-Revision-Date: 2017-05-22 01:04+0000\n"
|
||||
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 01:05+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Asturian (http://www.transifex.com/toofishes/archlinux-pacman/language/ast/)\n"
|
||||
"Language-Team: Asturian (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/ast/)\n"
|
||||
"Language: ast\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ast\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
@@ -39,19 +40,19 @@ msgstr "baxando de versión el paquete %s (%s => %s)\n"
|
||||
#: lib/libalpm/add.c:124
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr ""
|
||||
msgstr "nun pue allugase l'oxetu del archivu del discu"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:379
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "alvertencia dada al estrayer el paquete %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "nun pudo estrayese %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:589 lib/libalpm/remove.c:533
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nun pudo renomase %s a %s (%s)\n"
|
||||
@@ -59,7 +60,9 @@ msgstr "nun pudo renomase %s a %s (%s)\n"
|
||||
#: lib/libalpm/add.c:205
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr "nun s'alcontró'l ficheru nel llistáu de ficheros pal paquete %s. saltando la estraición de %s\n"
|
||||
msgstr ""
|
||||
"nun s'alcontró'l ficheru nel llistáu de ficheros pal paquete %s. saltando la "
|
||||
"estraición de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#, c-format
|
||||
@@ -71,37 +74,41 @@ msgstr "nun pue estrayese %s%s: camín perllargu"
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr "los permisos del direutoriu son distintos en %s\nsistema de ficheros: %o paquete: %o\n"
|
||||
msgstr ""
|
||||
"los permisos del direutoriu son distintos en %s\n"
|
||||
"sistema de ficheros: %o paquete: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
"filesystem: %u:%u package: %u:%u\n"
|
||||
msgstr "la propiedá del direutoriu ye distinta en %s\nsistema de ficheros: %u:%u paquete: %u:%u\n"
|
||||
msgstr ""
|
||||
"la propiedá del direutoriu ye distinta en %s\n"
|
||||
"sistema de ficheros: %u:%u paquete: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr ""
|
||||
msgstr "estración: nun pue sobrescribise'l direutoriu col ficheru %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#, c-format
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "nun pue estrayese %s.pacnew: camín perllargu"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:331 lib/libalpm/util.c:577
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "nun pudo consiguise'l direutoriu de trabayu actual\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:336 lib/libalpm/util.c:582
|
||||
#: lib/libalpm/util.c:635
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "nun pudo cambiase'l direutoriu a %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:400 lib/libalpm/util.c:740
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "nun pudo restaurase'l direutoriu de trabayu (%s)\n"
|
||||
@@ -136,7 +143,7 @@ msgstr "fallu al lleer el ficheru %s: %s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "desaniciando base de datos non válida: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:886
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "nun pudo crease'l direutoriu %s: %s\n"
|
||||
@@ -156,71 +163,73 @@ msgstr "entrada de base de datos duplicada '%s'\n"
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "entrada de base de datos toyida '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:696 lib/libalpm/be_local.c:788
|
||||
#: lib/libalpm/be_local.c:935 lib/libalpm/be_local.c:1032
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:447 lib/libalpm/util.c:250
|
||||
#: lib/libalpm/util.c:266
|
||||
#: lib/libalpm/be_local.c:699 lib/libalpm/be_local.c:791
|
||||
#: lib/libalpm/be_local.c:936 lib/libalpm/be_local.c:1033
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:419 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "nun pudo abrise'l ficheru %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:712 lib/libalpm/be_sync.c:641
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "la base de datos %s ye inconsistente: el nome nun concasa nel paquete %s\n"
|
||||
msgstr ""
|
||||
"la base de datos %s ye inconsistente: el nome nun concasa nel paquete %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:718 lib/libalpm/be_sync.c:647
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "la base de datos %s ye inconsistente: la versión nun concasa nel paquete %s\n"
|
||||
msgstr ""
|
||||
"la base de datos %s ye inconsistente: la versión nun concasa nel paquete %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:759
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "triba de validación desconocida pal paquete %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:477 lib/libalpm/be_package.c:635
|
||||
#: lib/libalpm/be_package.c:648
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "fallu al lleer el paquete %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:491 lib/libalpm/be_package.c:515
|
||||
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
|
||||
#, c-format
|
||||
msgid "error while reading mtree of package %s: %s\n"
|
||||
msgstr "fallu al lleer el mtree del paquete %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:601
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "nun pudo analizase'l ficheru de descripción del paquete en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:606
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "nome de paquete faltante en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:610
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "versión de paquete faltante en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:614
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
msgid "invalid package version in %s\n"
|
||||
msgstr "versión del paquete non válida en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:655
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "datos meta de paquete faltantes en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:747
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "fallu al lleer el ficheru de robla: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:768 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "clave riquida del aniellu claves faltante\n"
|
||||
@@ -230,22 +239,31 @@ msgstr "clave riquida del aniellu claves faltante\n"
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "desaniciando ficheru non válidu: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:513
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "nun pudo analizase'l ficheru de descripción del paquete '%s' de la base de datos '%s'\n"
|
||||
msgstr ""
|
||||
"nun pudo analizase'l ficheru de descripción del paquete '%s' de la base de "
|
||||
"datos '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:546 lib/libalpm/be_sync.c:551
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "la base de datos %s ye inconsistente: el nome del paquete %s ye illegal\n"
|
||||
msgstr ""
|
||||
"la base de datos %s ye inconsistente: el nome del paquete %s ye illegal\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:556
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "la base de datos %s ye inconsistente: el nome del paquete %s ye perllargu\n"
|
||||
msgstr ""
|
||||
"la base de datos %s ye inconsistente: el nome del paquete %s ye perllargu\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:622
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "ficheru de base de datos desconocíu: %s\n"
|
||||
@@ -255,27 +273,27 @@ msgstr "ficheru de base de datos desconocíu: %s\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "nun ta definíu'l camín de la base de datos\n"
|
||||
|
||||
#: lib/libalpm/deps.c:229
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "deteutáu ciclu de dependencia:\n"
|
||||
|
||||
#: lib/libalpm/deps.c:232
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s desaniciaráse dempués de la so dependencia %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:236
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s desaniciaráse enantes de la so dependencia %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:678 lib/libalpm/deps.c:710
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "inorando paquete %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:865
|
||||
#: lib/libalpm/deps.c:867
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "nun pue iguase \"%s\", una dependencia de \"%s\"\n"
|
||||
@@ -330,37 +348,37 @@ msgstr "nun pudo determinase'l puntu de montaxe root %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "La partición %s ta montada como namái llectura\n"
|
||||
|
||||
#: lib/libalpm/dload.c:149
|
||||
#: lib/libalpm/dload.c:159
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "discu"
|
||||
|
||||
#: lib/libalpm/dload.c:373
|
||||
#: lib/libalpm/dload.c:345
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "fallu al crear el ficheru temporal pa la descarga\n"
|
||||
|
||||
#: lib/libalpm/dload.c:418
|
||||
#: lib/libalpm/dload.c:390
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'enllaz '%s' ye inválidu\n"
|
||||
|
||||
#: lib/libalpm/dload.c:487 lib/libalpm/dload.c:512
|
||||
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "fallu recibiendo'l ficheru '%s' de %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:500
|
||||
#: lib/libalpm/dload.c:473
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "fallu recibiendo'l ficheru '%s' de %s: tamañu de descarga superáu\n"
|
||||
|
||||
#: lib/libalpm/dload.c:548
|
||||
#: lib/libalpm/dload.c:528
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/dload.c:692 lib/libalpm/dload.c:721
|
||||
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "fallu al lleer %s\n"
|
||||
@@ -393,7 +411,7 @@ msgstr "nun pue alcontrase o lleese'l direutoriu"
|
||||
#: lib/libalpm/error.c:50
|
||||
#, c-format
|
||||
msgid "wrong or NULL argument passed"
|
||||
msgstr ""
|
||||
msgstr "pasóse un argumentu incorreutu o NULL"
|
||||
|
||||
#: lib/libalpm/error.c:52
|
||||
#, c-format
|
||||
@@ -590,7 +608,7 @@ msgstr "delta non válidu o toriáu"
|
||||
msgid "delta patch failed"
|
||||
msgstr "fallu del parche delta"
|
||||
|
||||
#: lib/libalpm/error.c:140
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "nun pudieron satisfacese les dependencies"
|
||||
@@ -640,17 +658,104 @@ msgstr "fallu invocando'l descargador esternu"
|
||||
msgid "unexpected error"
|
||||
msgstr "fallu inesperáu"
|
||||
|
||||
#: lib/libalpm/handle.c:155
|
||||
#: lib/libalpm/handle.c:157
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "falta'l ficheru de bloquéu %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:161
|
||||
#: lib/libalpm/handle.c:163
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "nun pudo desaniciase'l ficheru de bloquéu %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:568
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "nun pudo abrise'l direutoriu: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "nun pudieron cargase dafechu los datos meta pal paquete %s-%s\n"
|
||||
@@ -670,26 +775,108 @@ msgstr "desaniciando %s de la llista d'oxetivos\n"
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "nun pue desaniciase'l ficheru '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "nun pudo abrise'l direutoriu: %s: %s\n"
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/remove.c:553
|
||||
#: lib/libalpm/remove.c:561
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "nun pue desaniciase %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:726
|
||||
#: lib/libalpm/remove.c:734
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "nun pudo desaniciase la entrada de la base de datos %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:731
|
||||
#: lib/libalpm/remove.c:739
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "nun pudo desaniciase la entrada '%s' de la caché\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: falta la robla riquida\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
@@ -720,26 +907,22 @@ msgstr "inorando troquéu de paquete (%s-%s => %s-%s)\n"
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "nun pue trocase %s por %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:536 lib/libalpm/sync.c:606
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "deteutaos conflictos de paquete que nun puen iguase\n"
|
||||
|
||||
#: lib/libalpm/sync.c:556
|
||||
#: lib/libalpm/sync.c:558
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "desaniciando '%s' de la llista d'oxetivos porque ta en conflictu con '%s'\n"
|
||||
msgstr ""
|
||||
"desaniciando '%s' de la llista d'oxetivos porque ta en conflictu con '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "fallu al recuperar dellos ficheros\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: falta la robla riquida\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
@@ -755,87 +938,83 @@ msgstr "nun pudo unviase la transaición de desaniciu\n"
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nun pudo unviase la transaición\n"
|
||||
|
||||
#: lib/libalpm/trans.c:360
|
||||
#: lib/libalpm/trans.c:364
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "nun pudo creaase'l direutoriu temporal\n"
|
||||
|
||||
#: lib/libalpm/trans.c:375
|
||||
#: lib/libalpm/trans.c:379
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "nun pudo copiase'l ficheru temporal a %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/trans.c:406
|
||||
#: lib/libalpm/trans.c:410
|
||||
#, c-format
|
||||
msgid "could not remove %s\n"
|
||||
msgstr "nun pudo desaniciase %s\n"
|
||||
|
||||
#: lib/libalpm/trans.c:410
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nun pudo desaniciase'l direutoriu temporal %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:256
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/util.c:493
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
msgid "unable to write to pipe (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/util.c:552
|
||||
#: lib/libalpm/util.c:545
|
||||
#, c-format
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/util.c:594 lib/libalpm/util.c:600
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/util.c:608
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "Nun pudo bifurcase un procesu nuevu (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "nun pudo cambiase'l direutoriu root (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:642
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "llamada a execv fallida (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:711
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "llamada a waitpid fallida (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:721
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "el comandu falló al executase afayadizamente\n"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Señal desconocida"
|
||||
|
||||
#: lib/libalpm/util.c:730
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "comandu fináu pola señal %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:827
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "nun esiste'l caché %s, creando...\n"
|
||||
|
||||
#: lib/libalpm/util.c:858
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "nun pudo alcontrase o crease'l paquete caché, usando nel so llugar %s\n"
|
||||
msgstr ""
|
||||
"nun pudo alcontrase o crease'l paquete caché, usando nel so llugar %s\n"
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Galin Iskrenov <loot270@abv.bg>, 2017
|
||||
# Galin Iskrenov <loot270@abv.bg>, 2017-2018
|
||||
# Ivailo Monev <xakepa10@gmail.com>, 2014-2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2017-05-22 11:00+1000\n"
|
||||
"PO-Revision-Date: 2017-05-23 09:36+0000\n"
|
||||
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 12:11+0000\n"
|
||||
"Last-Translator: Galin Iskrenov <loot270@abv.bg>\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/toofishes/archlinux-pacman/language/bg/)\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/toofishes/archlinux-"
|
||||
"pacman/language/bg/)\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bg\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
@@ -39,17 +40,17 @@ msgstr "понижаване на пакет %s (%s => %s)\n"
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "не се открие указания архив на диск"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:379
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "има предупреждение при извличане %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "не може да се извлече %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:589 lib/libalpm/remove.c:533
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "не може да се преименува %s на %s (%s)\n"
|
||||
@@ -57,7 +58,9 @@ msgstr "не може да се преименува %s на %s (%s)\n"
|
||||
#: lib/libalpm/add.c:205
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr "файл не е намерен в листа с файлове на пекет %s. пропускане извличането на %s\n"
|
||||
msgstr ""
|
||||
"файл не е намерен в листа с файлове на пекет %s. пропускане извличането на "
|
||||
"%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#, c-format
|
||||
@@ -69,14 +72,18 @@ msgstr "неспешно извличането на %s%s: пътят е твъ
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr "разлика в правата на папка за %s\nfilesystem: %o пакет: %o\n"
|
||||
msgstr ""
|
||||
"разлика в правата на папка за %s\n"
|
||||
"filesystem: %o пакет: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
"filesystem: %u:%u package: %u:%u\n"
|
||||
msgstr "правата на директория се различава от %s\nfilesystem: %u:%u пакет: %u:%u\n"
|
||||
msgstr ""
|
||||
"правата на директория се различава от %s\n"
|
||||
"filesystem: %u:%u пакет: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#, c-format
|
||||
@@ -88,18 +95,18 @@ msgstr "извличане: не се презаписва папка с фай
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "неспешно извличането на %s.pacnew: пътят е твърде дълъг"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:331 lib/libalpm/util.c:577
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "не може да се разбере текущата директория\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:336 lib/libalpm/util.c:582
|
||||
#: lib/libalpm/util.c:635
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "не може да се смени директория на %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:400 lib/libalpm/util.c:740
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "не може да се възстанови работната директория (%s)\n"
|
||||
@@ -134,7 +141,7 @@ msgstr "грешка при четене на файл %s: %s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "премахване на невалидна база: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:886
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "не се създава директория %s: %s\n"
|
||||
@@ -154,71 +161,71 @@ msgstr "дублиран запис в базата '%s'\n"
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "повреден запис в базата '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:696 lib/libalpm/be_local.c:788
|
||||
#: lib/libalpm/be_local.c:935 lib/libalpm/be_local.c:1032
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:447 lib/libalpm/util.c:250
|
||||
#: lib/libalpm/util.c:266
|
||||
#: lib/libalpm/be_local.c:699 lib/libalpm/be_local.c:791
|
||||
#: lib/libalpm/be_local.c:936 lib/libalpm/be_local.c:1033
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:419 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "не се отваря файл %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:712 lib/libalpm/be_sync.c:641
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s несъответствие в базата: името не съответства на пакета %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:718 lib/libalpm/be_sync.c:647
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s несъответствие в базата: версията не съответства на пакета %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:759
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "непознат валидиращ тип на пакета %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:477 lib/libalpm/be_package.c:635
|
||||
#: lib/libalpm/be_package.c:648
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "грешка при четене на пакет %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:491 lib/libalpm/be_package.c:515
|
||||
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
|
||||
#, c-format
|
||||
msgid "error while reading mtree of package %s: %s\n"
|
||||
msgstr "грешка при зареждане на mtree на пакет %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:601
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "не може да се анализира описателния файл в %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:606
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "липсващо име на пакет в %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:610
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "липсваща версия на пакет в %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:614
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
msgid "invalid package version in %s\n"
|
||||
msgstr "невалидна версия на пакет в %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:655
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "липсват метаданни за пакета %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:747
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "не се чете подписващият файл: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:768 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "нужния ключ липсва от keyring\n"
|
||||
@@ -228,22 +235,27 @@ msgstr "нужния ключ липсва от keyring\n"
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "премахване невалиден файл: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:513
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "не може да се анализира описателния файл '%s' от db '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:546 lib/libalpm/be_sync.c:551
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "не да се прочете db '%s' (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "%s базата е непълна: името на пакета %s е недопустимо\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:556
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "%s базата е непълна: името на пакета %s е твърде дълго\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:622
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "непознат датабаза файл: %s\n"
|
||||
@@ -253,27 +265,27 @@ msgstr "непознат датабаза файл: %s\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "пътя към базата е неопределен\n"
|
||||
|
||||
#: lib/libalpm/deps.c:229
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "открит цикъл на зависимост:\n"
|
||||
|
||||
#: lib/libalpm/deps.c:232
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s ще бъде премахната след зависимостта %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:236
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s ще бъде инсталиран преди зависимостта %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:678 lib/libalpm/deps.c:710
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "пренебрегване на пакет %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:865
|
||||
#: lib/libalpm/deps.c:867
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "не може да се разреши \"%s\", зависи от \"%s\"\n"
|
||||
@@ -291,7 +303,9 @@ msgstr "не се отворя файл: %s: %s\n"
|
||||
#: lib/libalpm/diskspace.c:146 lib/libalpm/diskspace.c:159
|
||||
#, c-format
|
||||
msgid "could not get filesystem information\n"
|
||||
msgstr "не се получава системна информация\n\n"
|
||||
msgstr ""
|
||||
"не се получава системна информация\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/diskspace.c:242
|
||||
#, c-format
|
||||
@@ -328,37 +342,39 @@ msgstr "не може да се определи root mount point %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "Дялът %s е монтиран само за четене\n"
|
||||
|
||||
#: lib/libalpm/dload.c:149
|
||||
#: lib/libalpm/dload.c:159
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "диск"
|
||||
|
||||
#: lib/libalpm/dload.c:373
|
||||
#: lib/libalpm/dload.c:345
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "не може да се създаде временен файл за сваляне\n"
|
||||
|
||||
#: lib/libalpm/dload.c:418
|
||||
#: lib/libalpm/dload.c:390
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' е невалиден\n"
|
||||
|
||||
#: lib/libalpm/dload.c:487 lib/libalpm/dload.c:512
|
||||
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "неуспех при извличане на файл '%s' от %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:500
|
||||
#: lib/libalpm/dload.c:473
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "неуспех при получаването на файл '%s' от %s : очакваният размер за сваляне е надвишен\n"
|
||||
msgstr ""
|
||||
"неуспех при получаването на файл '%s' от %s : очакваният размер за сваляне е "
|
||||
"надвишен\n"
|
||||
|
||||
#: lib/libalpm/dload.c:548
|
||||
#: lib/libalpm/dload.c:528
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s изглежда частичен: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:692 lib/libalpm/dload.c:721
|
||||
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "неуспех при сваляне на %s\n"
|
||||
@@ -588,7 +604,7 @@ msgstr "невалидна или повредена delta"
|
||||
msgid "delta patch failed"
|
||||
msgstr "делта пач се провали"
|
||||
|
||||
#: lib/libalpm/error.c:140
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "зависимостите не са решени"
|
||||
@@ -638,17 +654,104 @@ msgstr "грешка при извикването на външен downloader"
|
||||
msgid "unexpected error"
|
||||
msgstr "неочаквана грешка"
|
||||
|
||||
#: lib/libalpm/handle.c:155
|
||||
#: lib/libalpm/handle.c:157
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "липсва заключващ файл %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:161
|
||||
#: lib/libalpm/handle.c:163
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "не се премахва заключен файл %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:568
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Липсва цели на спусъка в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Липсва тип на спусъка в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Липсва операция на спусъка в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Липсва Exec опция в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Липсва When опция в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "AbortOnFail е зададен за PostTransaction кука: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "грешка при четене на куката %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "кука %s ред %d: невалидна опция %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "кука %s ред %d: невалидна секция %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "кука %s ред %d: невалидна стойност %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "кука %s ред %d: пренаписва предишната дефиниция на %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "кука %s ред %d: невъзможно да се зададе опцията (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "невъзможно е пускане на куката %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "не се отваря папка: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr "не може да се отвори файл: %s%s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "не се коригира %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "не може да се прочете папката: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "не пълно извеждане на метаданни за пакет %s-%s\n"
|
||||
@@ -668,26 +771,108 @@ msgstr "премахване %s от списъка с целите\n"
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "не се премахва файла '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "не се отваря папка: %s: %s\n"
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr "не може да се архивира %s поради препълване на PATH_MAX\n"
|
||||
|
||||
#: lib/libalpm/remove.c:553
|
||||
#: lib/libalpm/remove.c:561
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "не се премахва %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:726
|
||||
#: lib/libalpm/remove.c:734
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "не може да се премахне запис в базата %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:731
|
||||
#: lib/libalpm/remove.c:739
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "не може да се премахне '%s' от кеша\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "Публичният ключодържател не е открит; Ще пуснете ли '%s'?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "GPGME грешка: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "ключодържателя не се записва\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr "ключ \"%s\" не може да се внесе\n"
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr "ключ %s, \"%s\" е открит в сървъра с ключове, ключ не се записва\n"
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "ключ \"%s\" не може да се прегледа отдалечено\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: липсва изискващ се подпис\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: подписът от \"%s\" е изрично доверен\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: подписът от \"%s\" е с непознато доверие\n"
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr "%s: подписът от \"%s\" никога да не се му вярва\n"
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: ключ \"%s\" е непознат\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: ключа е \"%s\" е негоден\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: подписът от \"%s\" е изтекъл\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr "%s: подписът от \"%s\" е невалиден\n"
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr "%s: грешен формат на подписа\n"
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: неподдържан формат на подписа\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
@@ -718,12 +903,12 @@ msgstr "игнориране замяната на пакет (%s-%s => %s-%s)\n
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "не може да се замести %s от %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:536 lib/libalpm/sync.c:606
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "засечени нерешени пакетни конфликти\n"
|
||||
|
||||
#: lib/libalpm/sync.c:556
|
||||
#: lib/libalpm/sync.c:558
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "премахване '%s' от целевия списък заради конфликт с '%s'\n"
|
||||
@@ -733,11 +918,6 @@ msgstr "премахване '%s' от целевия списък заради
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "неуспех при извличане на файлове\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: липсва изискващ се подпис\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
@@ -753,87 +933,82 @@ msgstr "не се потвърждава транзакцията по прем
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "не се потвърждава транзакцията\n"
|
||||
|
||||
#: lib/libalpm/trans.c:360
|
||||
#: lib/libalpm/trans.c:364
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "не се създава temp папка\n"
|
||||
|
||||
#: lib/libalpm/trans.c:375
|
||||
#: lib/libalpm/trans.c:379
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "не се копира tempfile в %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/trans.c:406
|
||||
#: lib/libalpm/trans.c:410
|
||||
#, c-format
|
||||
msgid "could not remove %s\n"
|
||||
msgstr "не се премахва %s\n"
|
||||
|
||||
#: lib/libalpm/trans.c:410
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "не се премахва tmpdir %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:256
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "не се коригира %s: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:493
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
msgid "unable to write to pipe (%s)\n"
|
||||
msgstr "неъспешно записването в тръбата (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:552
|
||||
#: lib/libalpm/util.c:545
|
||||
#, c-format
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "неуспешно четенето от тръбата (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:594 lib/libalpm/util.c:600
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "не се създава pipe (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:608
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "could not fork a new process (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "не може да се промени root папката (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:642
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "неуспех при извикване execv (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:711
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "неуспех при извикване на waitpid (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:721
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "неуспешно правилно изпълнение на команда\n"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Неизвестен сигнал"
|
||||
|
||||
#: lib/libalpm/util.c:730
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "командата прекратена от сигнал %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:827
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "не %s съществуваш кеш, създаване...\n"
|
||||
|
||||
#: lib/libalpm/util.c:858
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "не се открива или създава пакетен кеш, използва се %s\n"
|
||||
|
||||
@@ -4,21 +4,25 @@
|
||||
#
|
||||
# Translators:
|
||||
# Gwenn M <tornoz@laposte.net>, 2015
|
||||
# Gwenn M <tornoz@laposte.net>, 2015
|
||||
# Gwenn M <tornoz@laposte.net>, 2015,2018-2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2017-05-22 11:00+1000\n"
|
||||
"PO-Revision-Date: 2017-05-22 01:04+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
|
||||
"PO-Revision-Date: 2019-01-11 10:35+0000\n"
|
||||
"Last-Translator: Gwenn M <tornoz@laposte.net>\n"
|
||||
"Language-Team: Breton (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/br/)\n"
|
||||
"Language: br\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !"
|
||||
"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n"
|
||||
"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > "
|
||||
"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 "
|
||||
"&& n % 1000000 == 0) ? 3 : 4);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#, c-format
|
||||
@@ -38,19 +42,19 @@ msgstr "o pellgargañ ar pakad %s (%s => %s)\n"
|
||||
#: lib/libalpm/add.c:124
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr ""
|
||||
msgstr "n'haller ket derannañ an ergorenn kantenn diell"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:379
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "ur galv diwall a zo bet roet en ur eztennañ %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "n'haller ket eztennañ %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:589 lib/libalpm/remove.c:533
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "n'haller ket adenvel %s e %s (%s)\n"
|
||||
@@ -95,18 +99,18 @@ msgstr "eztannadur : flastradur kavlec'h gant restr %s ebet \n"
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "n'haller ket eztennañ %s.pacnew : re hir eo an treug"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:331 lib/libalpm/util.c:577
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "n'haller ket kaout ar c'havlec'h labour bremanel\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:336 lib/libalpm/util.c:582
|
||||
#: lib/libalpm/util.c:635
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "n'haller ket kemmañ ar c'havlec'h da %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:400 lib/libalpm/util.c:740
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "n'haller ket assav ar c'havlec'h labour (%s)\n"
|
||||
@@ -141,7 +145,7 @@ msgstr "fazi en ul lenn ar restr %s : %s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "o dilemel ar stlennvon direizh : %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:886
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "n'haller ker krouiñ ar c'havlec'h %s : %s\n"
|
||||
@@ -161,72 +165,72 @@ msgstr "enankad stlennvon eilet '%s'\n"
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "enankad stlennvon kontronet '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:696 lib/libalpm/be_local.c:788
|
||||
#: lib/libalpm/be_local.c:935 lib/libalpm/be_local.c:1032
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:447 lib/libalpm/util.c:250
|
||||
#: lib/libalpm/util.c:266
|
||||
#: lib/libalpm/be_local.c:699 lib/libalpm/be_local.c:791
|
||||
#: lib/libalpm/be_local.c:936 lib/libalpm/be_local.c:1033
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:419 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "n'haller ket digeriñ ar restr %s : %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:712 lib/libalpm/be_sync.c:641
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "digantalc'hek eo ar stlennvon %s : digenglotus eo anvioù ar pakad %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:718 lib/libalpm/be_sync.c:647
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"digantalc'hek eo ar stlennvon %s : digenglotus eo handelvioù ar pakad %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:759
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "doare gwiriadur dianav evit ar pakad %s : %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:477 lib/libalpm/be_package.c:635
|
||||
#: lib/libalpm/be_package.c:648
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "fazi en ul lenn ar pakad %s : %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:491 lib/libalpm/be_package.c:515
|
||||
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
|
||||
#, c-format
|
||||
msgid "error while reading mtree of package %s: %s\n"
|
||||
msgstr "fazi en ul lenn mtree ar pakad %s : %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:601
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "n'haller ket dezrannañ restr deskrivañ ar pakad e %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:606
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "mankout a ra an anv pakad e %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:610
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "mankout a ra handelv ar pakad e %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:614
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
msgid "invalid package version in %s\n"
|
||||
msgstr "handelv pakad direizh e %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:655
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "mankout a ra metaroadennoù ar pakad e %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:747
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "fazi en ul lenn ar restr sinadur : %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:768 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "mankout a ra an alc'hwez goulennet en droñsell\n"
|
||||
@@ -236,24 +240,29 @@ msgstr "mankout a ra an alc'hwez goulennet en droñsell\n"
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "o dilemel ar restr direizh : %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:513
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr ""
|
||||
"n'haller ket dezrannañ ar restr deskrivadur pakadoù '%s' adalek ar sv '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:546 lib/libalpm/be_sync.c:551
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "n'haller ket lenn ar stlennvon '%s' (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr ""
|
||||
"digantalc'hek eo ar stlennvon %s : didalvoudek eo anv restr ar pakad %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:556
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "digantalc'hek eo ar stlennvon %s : re hir eo anv restr ar pakad %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:622
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "restr stlennvon dianav : %s\n"
|
||||
@@ -263,27 +272,27 @@ msgstr "restr stlennvon dianav : %s\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "andespizet eo treug ar stlennvon\n"
|
||||
|
||||
#: lib/libalpm/deps.c:229
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "Kelc'hiad amzalc'h dinoet :\n"
|
||||
|
||||
#: lib/libalpm/deps.c:232
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "dilamet e vo %s goude e %s amzalc'h\n"
|
||||
|
||||
#: lib/libalpm/deps.c:236
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "staliet e vo %s goude e %s amzalc'h\n"
|
||||
|
||||
#: lib/libalpm/deps.c:678 lib/libalpm/deps.c:710
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "o leuskel ar pakad %s - %s a-gostez\n"
|
||||
|
||||
#: lib/libalpm/deps.c:865
|
||||
#: lib/libalpm/deps.c:867
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "n'haller ket diskoulmañ \"%s\", un amzalc'h \"%s\"\n"
|
||||
@@ -339,39 +348,39 @@ msgstr "n'haller ket despizañ poent kenstrollañ ar gwrizienn %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "E mod lenn nemetken eo kenstrollet ar parzhad %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:149
|
||||
#: lib/libalpm/dload.c:159
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "pladenn"
|
||||
|
||||
#: lib/libalpm/dload.c:373
|
||||
#: lib/libalpm/dload.c:345
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "fazi en ur c'hrouiñ ar restr padennek evit ar pellgargañ\n"
|
||||
|
||||
#: lib/libalpm/dload.c:418
|
||||
#: lib/libalpm/dload.c:390
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "direizh eo an url '%s'\n"
|
||||
|
||||
#: lib/libalpm/dload.c:487 lib/libalpm/dload.c:512
|
||||
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "fazi en ur adkavout ar restr '%s' adalek %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:500
|
||||
#: lib/libalpm/dload.c:473
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"fazi en ur adkavout ar restr '%s' adalek %s : re vras eo ment ar "
|
||||
"pellgargadur\n"
|
||||
|
||||
#: lib/libalpm/dload.c:548
|
||||
#: lib/libalpm/dload.c:528
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "krennet e seblant bezañ %s : %jd/%jd eizhbit\n"
|
||||
|
||||
#: lib/libalpm/dload.c:692 lib/libalpm/dload.c:721
|
||||
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "fazi en ur pellgargañ %s\n"
|
||||
@@ -602,7 +611,7 @@ msgstr "direizh pe kontronet eo an delta"
|
||||
msgid "delta patch failed"
|
||||
msgstr "c'hwitadenn war pegell an delta"
|
||||
|
||||
#: lib/libalpm/error.c:140
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "n'haller ket kejañ an holl amzalc'hoù"
|
||||
@@ -652,17 +661,104 @@ msgstr "fazi en ur gervel ar pellgarger diavaez"
|
||||
msgid "unexpected error"
|
||||
msgstr "fazi dic'hortoz"
|
||||
|
||||
#: lib/libalpm/handle.c:155
|
||||
#: lib/libalpm/handle.c:157
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "mankout a ra ar restr marilhañ %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:161
|
||||
#: lib/libalpm/handle.c:163
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "n'haller ket dilemel ar restr marilhañ %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:568
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Mankout a ra bukennoù delusker er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Mankout a ra rizh an delusker er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Mankout a ra gwezhiadur an delusker er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Mankout a ra an dibarzh Exec er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Mankout a ra an dibarzh When er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "AbortOnFail lakaet evit ar c'hrog PostTransaction: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "fazi en ul lenn ar c'hrog %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "krog %s linenn %d: dibarzh didalvoudek %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "krog %slinenn %d: dibarzh didalvoudek %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "krog %s linenn %d: gwerzh didalvoudek %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "krog %s linenn %d: flastrañ despizadur kent %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "krog %s linenn %d: n'haller ket arventennañ an dibarzh (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "n'haller ket lañsañ ar c'hrog %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "n'haller ket digeriñ ar c'havlec'h : %s : %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr "n'haller ket digeriñ ar restr: %s %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "n'heller ket kaout stad ar restr %s : %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "n'haller ket lenn ar c'havlec'h: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "n'haller ket kargañ ar metaroadennoù a-bezh evit ar pakad %s-%s\n"
|
||||
@@ -682,26 +778,110 @@ msgstr "o dilemel %s eus ar roll bukenn\n"
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "n'heller ket dilemel ar restr '%s' : %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "n'haller ket digeriñ ar c'havlec'h : %s : %s\n"
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr "n'haller ket gwarediñ %sabalamour d'an dic'hlann PATH_MAX\n"
|
||||
|
||||
#: lib/libalpm/remove.c:553
|
||||
#: lib/libalpm/remove.c:561
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "n'heller ket dilemel %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:726
|
||||
#: lib/libalpm/remove.c:734
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "n'haller ket dilemel an enankad stlennvon %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:731
|
||||
#: lib/libalpm/remove.c:739
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "n'haller ket dilemel an enankad '%s' eus ar c'hrubuilh\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "Ne gaver ket an droñsell foran; lañset ho peus '%s'?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "Fazi GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "n'haller ket skrivañ en droñsell\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr ""
|
||||
"alc'hwez %s, \"%s\" kavet war an dafariad alc'hwezioù, n'haller ket skrivañ "
|
||||
"en droñsell\n"
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s : mankout a ra ar sinadur dleet\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: mentrezh ar sinadur \"%s\" n'eo ket fizius-tre\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: dianav zo an alc'hwez \"%s\"\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: mentrezh sinadur anskor\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
@@ -732,12 +912,12 @@ msgstr "o leuskel an erlec'hiadur pakad a-gostez (%s-%s => %s-%s)\n"
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "n'haller ket erlec'hiañ %s gant %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:536 lib/libalpm/sync.c:606
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "tabutoù n'haller ket diskoulmañ a zo bet dinoet\n"
|
||||
|
||||
#: lib/libalpm/sync.c:556
|
||||
#: lib/libalpm/sync.c:558
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "o dilemel '%s' eus ar roll bukenn dre m'en deus un tabut gant '%s'\n"
|
||||
@@ -747,11 +927,6 @@ msgstr "o dilemel '%s' eus ar roll bukenn dre m'en deus un tabut gant '%s'\n"
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "c'hwitadenn war atoradur restroù 'zo\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s : mankout a ra ar sinadur dleet\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
@@ -767,87 +942,82 @@ msgstr "n'haller ket erounit an treuzkas dilemel\n"
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "n'haller ket erounit an treuzkas\n"
|
||||
|
||||
#: lib/libalpm/trans.c:360
|
||||
#: lib/libalpm/trans.c:364
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "n'haller ket krouiñ ur c'havlec'h padennek\n"
|
||||
|
||||
#: lib/libalpm/trans.c:375
|
||||
#: lib/libalpm/trans.c:379
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "n'haller ket eilañ ar restr padennek e %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/trans.c:406
|
||||
#: lib/libalpm/trans.c:410
|
||||
#, c-format
|
||||
msgid "could not remove %s\n"
|
||||
msgstr "n'haller ket dilemel %s\n"
|
||||
|
||||
#: lib/libalpm/trans.c:410
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "n'haller ket dilemel ar c'havlec'h padennek e %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:256
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "n'heller ket kaout stad ar restr %s : %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:493
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
msgid "unable to write to pipe (%s)\n"
|
||||
msgstr "n'haller ket skrivañ er gorzenn (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:552
|
||||
#: lib/libalpm/util.c:545
|
||||
#, c-format
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "n'haller ket lenn ar gorzenn (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:594 lib/libalpm/util.c:600
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "n'haller ket krouiñ ar gorzenn (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:608
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "n'haller ket genel un araezad nevez (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "n'haller ket kemmañ ar c'havlec'h gwrizienn (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:642
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "c'hwitadenn war galv execv (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:711
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "c'hwitadenn war galv waitpid (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:721
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "c'hwitadenn war erounezadur an urzh\n"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Arhent dianav"
|
||||
|
||||
#: lib/libalpm/util.c:730
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "arsavet eo bet an urzh gant an arhent %d : %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:827
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "n'eus krubuilh %s ebet, o krouiñ...\n"
|
||||
|
||||
#: lib/libalpm/util.c:858
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
# Josep <jpreales@gmail.com>, 2011,2013
|
||||
# Josep <jpreales@gmail.com>, 2011,2013
|
||||
# Josep <jpreales@gmail.com>, 2011
|
||||
# Davidmp <medipas@gmail.com>, 2015-2017
|
||||
# Davidmp <medipas@gmail.com>, 2015-2019
|
||||
# Ramon Buldó <rbuldo@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2017-05-22 11:00+1000\n"
|
||||
"PO-Revision-Date: 2017-05-22 07:16+0000\n"
|
||||
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
|
||||
"PO-Revision-Date: 2019-02-18 17:13+0000\n"
|
||||
"Last-Translator: Davidmp <medipas@gmail.com>\n"
|
||||
"Language-Team: Catalan (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/ca/)\n"
|
||||
@@ -47,17 +47,17 @@ msgstr "Degradant el paquet %s (%s => %s).\n"
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "no es pot assignar l'objecte d'arxiu del disc"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:379
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "advertència en extreure %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "no s'ha pogut extreure %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:589 lib/libalpm/remove.c:533
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "no s'ha pogut canviar el nom %s a %s (%s)\n"
|
||||
@@ -102,18 +102,18 @@ msgstr "extracció: no se sobreescriurà el directori amb el fitxer %s\n"
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "no es pot extreure %s.pacnew: camí massa llarg"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:331 lib/libalpm/util.c:577
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "no s'ha pogut obtenir el directori de treball actual\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:336 lib/libalpm/util.c:582
|
||||
#: lib/libalpm/util.c:635
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "no s'ha pogut canviar el directori a %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:400 lib/libalpm/util.c:740
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "no s'ha pogut restaurar el directori de treball (%s)\n"
|
||||
@@ -146,9 +146,9 @@ msgstr "error en llegir el fitxer %s: %s\n"
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "Eliminant la base de dades no vàlida: %s\n"
|
||||
msgstr "Suprimint la base de dades no vàlida: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:886
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "no s'ha pogut crear el directori %s: %s\n"
|
||||
@@ -168,99 +168,104 @@ msgstr "entrada de la base de dades duplicada \"%s\"\n"
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "entrada de la base de dades corrupta \"%s'\"\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:696 lib/libalpm/be_local.c:788
|
||||
#: lib/libalpm/be_local.c:935 lib/libalpm/be_local.c:1032
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:447 lib/libalpm/util.c:250
|
||||
#: lib/libalpm/util.c:266
|
||||
#: lib/libalpm/be_local.c:699 lib/libalpm/be_local.c:791
|
||||
#: lib/libalpm/be_local.c:936 lib/libalpm/be_local.c:1033
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:419 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "no s'ha pogut obrir el fitxer %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:712 lib/libalpm/be_sync.c:641
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "la base de dades %s és inconsistent: nom erroni al paquet %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:718 lib/libalpm/be_sync.c:647
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "la base de dades %s és inconsistent: versió errònia al paquet %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:759
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "tipus de validació desconeguda per al paquet %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:477 lib/libalpm/be_package.c:635
|
||||
#: lib/libalpm/be_package.c:648
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "error en llegir el paquet %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:491 lib/libalpm/be_package.c:515
|
||||
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
|
||||
#, c-format
|
||||
msgid "error while reading mtree of package %s: %s\n"
|
||||
msgstr "error en llegir mtree del paquet %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:601
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "no s'ha pogut analitzar el fitxer de descripció de paquet a %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:606
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "falta el nom del paquet a %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:610
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "falta la versió del paquet a %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:614
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
msgid "invalid package version in %s\n"
|
||||
msgstr "versió del paquet no vàlida a %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:655
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "falten les metadades del paquet a %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:747
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "ha fallat llegir el fitxer de signatures: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:768 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "al clauer manca la clau requerida\n"
|
||||
msgstr "la clau requerida manca al clauer\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "Eliminant el fitxer no vàlid: %s\n"
|
||||
msgstr "Suprimint el fitxer no vàlid: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:513
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr ""
|
||||
"no s'ha pogut analitzar el fitxer de descripció de paquet \"%s\" de la base "
|
||||
"de dades \"%s'\"\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:546 lib/libalpm/be_sync.c:551
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "no s'ha pogut llegir la base de dades \"%s\" (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "La base de dades %s és inconsistent: nom erroni al paquet %s\\n\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:556
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr ""
|
||||
"La base de dades %s és inconsistent: el nom del paquet %s és massa llarg\\n\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:622
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "fitxer de base de dades desconegut: %s\n"
|
||||
@@ -270,27 +275,27 @@ msgstr "fitxer de base de dades desconegut: %s\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "no s'ha definit el camí de la base de dades\n"
|
||||
|
||||
#: lib/libalpm/deps.c:229
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "s'ha detectat una dependència cíclica:\n"
|
||||
|
||||
#: lib/libalpm/deps.c:232
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s s'eliminarà després de la seva dependència %s\n"
|
||||
msgstr "%s se suprimirà després de la seva dependència %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:236
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s s'instal·larà abans de la seva dependència %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:678 lib/libalpm/deps.c:710
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "s'ignora el paquet %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:865
|
||||
#: lib/libalpm/deps.c:867
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "no es pot resoldre \"%s\", una dependència de \"%s\"\n"
|
||||
@@ -348,39 +353,39 @@ msgstr ""
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "La partició %s està muntada només en mode de lectura\n"
|
||||
|
||||
#: lib/libalpm/dload.c:149
|
||||
#: lib/libalpm/dload.c:159
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disc"
|
||||
|
||||
#: lib/libalpm/dload.c:373
|
||||
#: lib/libalpm/dload.c:345
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "ha fallat crear un fitxer temporal per la baixada\n"
|
||||
|
||||
#: lib/libalpm/dload.c:418
|
||||
#: lib/libalpm/dload.c:390
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'url \"%s\" no és vàlid\n"
|
||||
|
||||
#: lib/libalpm/dload.c:487 lib/libalpm/dload.c:512
|
||||
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "ha fallat la recuperació del fitxer \"%s\" des de %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:500
|
||||
#: lib/libalpm/dload.c:473
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"ha fallat la recuperació del fitxer \"%s\" des de %s: mida de la baixada "
|
||||
"superior a l'esperada\n"
|
||||
"ha fallat recuperar el fitxer \"%s\" des de %s: mida de la baixada superior "
|
||||
"a l'esperada\n"
|
||||
|
||||
#: lib/libalpm/dload.c:548
|
||||
#: lib/libalpm/dload.c:528
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s sembla que està truncat: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:692 lib/libalpm/dload.c:721
|
||||
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "ha fallat baixar %s\n"
|
||||
@@ -564,7 +569,7 @@ msgstr "paquet no vàlid o corrupte (signatura PGP)"
|
||||
#: lib/libalpm/error.c:117
|
||||
#, c-format
|
||||
msgid "package missing required signature"
|
||||
msgstr "al paquet manca la signatura requerida "
|
||||
msgstr "la signatura requerida manca al paquet"
|
||||
|
||||
#: lib/libalpm/error.c:119
|
||||
#, c-format
|
||||
@@ -574,7 +579,7 @@ msgstr "no s'ha pogut obrir el fitxer del paquet"
|
||||
#: lib/libalpm/error.c:121
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "no s'han pogut eliminar tots els fitxers del paquet"
|
||||
msgstr "no s'han pogut suprimir tots els fitxers del paquet"
|
||||
|
||||
#: lib/libalpm/error.c:123
|
||||
#, c-format
|
||||
@@ -611,7 +616,7 @@ msgstr "delta no vàlid o corrupte"
|
||||
msgid "delta patch failed"
|
||||
msgstr "ha fallat el pedaç delta"
|
||||
|
||||
#: lib/libalpm/error.c:140
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "no s'han pogut satisfer les dependències"
|
||||
@@ -661,17 +666,104 @@ msgstr "error en invocar el descarregador extern"
|
||||
msgid "unexpected error"
|
||||
msgstr "error inesperat"
|
||||
|
||||
#: lib/libalpm/handle.c:155
|
||||
#: lib/libalpm/handle.c:157
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "falta el fitxer de bloqueig %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:161
|
||||
#: lib/libalpm/handle.c:163
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "no s'ha pogut eliminar el fitxer de bloqueig %s\n"
|
||||
msgstr "no s'ha pogut suprimir el fitxer de bloqueig %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:568
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Objectius d'activació que falten al ganxo: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Tipus d'activació que falta al ganxo: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Operació d'activació que falta al ganxo: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Opció d'Exec que falta al ganxo: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Opció de Quan que falta al ganxo: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "Avortaenfallar establert per al ganxo de posttransacció: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "error mentre es llegia el ganxo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "ganxo %s línia %d: opció no vàlida %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "ganxo %s línia %d: secció no vàlida %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "ganxo %s línia %d: valor no vàlid %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "ganxo %s línia %d: se sobreescriu la definició prèvia de %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "ganxo %s línia %d: no es pot establir l'opció (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "no es pot executar el ganxo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "no s'ha pogut obrir el directori: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr "no s'ha pogut obrir el fitxer: %s%s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "no s'ha pogut validar l'estat del fitxer %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "no s'ha pogut llegir el directori: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr ""
|
||||
@@ -685,32 +777,118 @@ msgstr "No s'ha pogut trobar %s a la base de dades -- s'omet.\n"
|
||||
#: lib/libalpm/remove.c:153
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "Eliminant %s de la llista d'objectius.\n"
|
||||
msgstr "Suprimint %s de la llista d'objectius.\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "no s'ha pogut eliminar el fitxer '%s': %s\n"
|
||||
msgstr "no s'ha pogut suprimir el fitxer '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "no s'ha pogut obrir el directori: %s: %s\n"
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
"no s'ha pogut fer una còpia de seguretat de %s a causa d'un desbordament de "
|
||||
"CAMÍ_MAX\n"
|
||||
|
||||
#: lib/libalpm/remove.c:553
|
||||
#: lib/libalpm/remove.c:561
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "no es pot eliminar %s (%s)\n"
|
||||
msgstr "no es pot suprimir %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:726
|
||||
#: lib/libalpm/remove.c:734
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "no s'ha pogut eliminar la entrada de la base de dades %s-%s\n"
|
||||
msgstr "no s'ha pogut suprimir l'entrada de la base de dades %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:731
|
||||
#: lib/libalpm/remove.c:739
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "no s'ha pogut eliminar l'entrada '%s' de la memòria cau\n"
|
||||
msgstr "no s'ha pogut suprimir l'entrada '%s' de la memòria cau\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "No s'ha trobat el clauer públic. Heu executat \"%s\"?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "error de GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "el clauer no és escrivible\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr "la clau \"%s\" no s'ha pogut importar\n"
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr ""
|
||||
"la clau %s, \"%s\" s'ha trobat al servidor de claus; el clauer no és "
|
||||
"escrivible\n"
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "la clau \"%s\" no s'ha pogut cercar remotament\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: manca la signatura requerida\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: la signatura de \"%s\" és de confiança marginal\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: la signatura de \"%s\" és de confiança desconeguda\n"
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr "%s: en la signatura de \"%s\" no s'hi hauria de confiar mai\n"
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: la clau \"%s\" és desconeguda\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: la clau \"%s\" està inhabilitada\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: la signatura de \"%s\" està caducada\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr "%s: la signatura de \"%s\" no és vàlida\n"
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr "%s: error de format de la signatura\n"
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: format de la signatura no admès\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#, c-format
|
||||
@@ -720,12 +898,12 @@ msgstr "%s: s'ha ignorat l'actualització del paquet (%s => %s)\n"
|
||||
#: lib/libalpm/sync.c:110
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: s'ha ignorat la desactualització del paquet (%s => %s)\n"
|
||||
msgstr "%s: s'ha ignorat la degradació del paquet (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: desactualitzant de la versió %s a la versió %s\n"
|
||||
msgstr "%s: es degrada de la versió %s a la versió %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#, c-format
|
||||
@@ -742,27 +920,22 @@ msgstr "Ignorant el reemplaçament del paquet (%s-%s => %s-%s).\n"
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "no es pot reemplaçar %s per %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:536 lib/libalpm/sync.c:606
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "s'ha detectat un paquet amb un conflicte impossible de resoldre\n"
|
||||
|
||||
#: lib/libalpm/sync.c:556
|
||||
#: lib/libalpm/sync.c:558
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"Eliminant \"%s\" de la llista d'objectius perquè té conflictes amb \"%s\".\n"
|
||||
"Suprimint \"%s\" de la llista d'objectius perquè té conflictes amb \"%s\".\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "ha fallat la recuperació d'alguns fitxers\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: manca la signatura requerida\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
@@ -771,94 +944,89 @@ msgstr "no hi ha prou espai de disc lliure\n"
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "no s'ha pogut fer la transacció d'eliminació\n"
|
||||
msgstr "no s'ha pogut fer la transacció de supressió\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "no s'ha pogut fer la transacció\n"
|
||||
|
||||
#: lib/libalpm/trans.c:360
|
||||
#: lib/libalpm/trans.c:364
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "no s'ha pogut crear el directori temporal\n"
|
||||
|
||||
#: lib/libalpm/trans.c:375
|
||||
#: lib/libalpm/trans.c:379
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "no s'ha pogut copiar el fitxer temporal a %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/trans.c:406
|
||||
#, c-format
|
||||
msgid "could not remove %s\n"
|
||||
msgstr "no s'ha pogut eliminar %s\n"
|
||||
|
||||
#: lib/libalpm/trans.c:410
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "no s'ha pogut eliminar el directori temporal %s\n"
|
||||
msgid "could not remove %s\n"
|
||||
msgstr "no s'ha pogut suprimir %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:256
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "no s'ha pogut validar l'estat del fitxer %s: %s\n"
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "no s'ha pogut suprimir el directori temporal %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:493
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
msgid "unable to write to pipe (%s)\n"
|
||||
msgstr "no es pot escriure a la canonada (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:552
|
||||
#: lib/libalpm/util.c:545
|
||||
#, c-format
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "no es pot llegir des de la canonada (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:594 lib/libalpm/util.c:600
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "no s'ha pogut crear la canonada (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:608
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "no s'ha pogut bifurcar un nou procés (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "no s'ha pogut canviar el directori d'arrel (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:642
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "la crida a execv ha fallat (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:711
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "ha fallat la crida a waitpid (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:721
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "l'ordre a fallat a executar-se correctament\n"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "senyal desconegut"
|
||||
|
||||
#: lib/libalpm/util.c:730
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "orde cancel·lada pel senyal %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:827
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "No existeix la memòria cau %s, es crea...\n"
|
||||
|
||||
#: lib/libalpm/util.c:858
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -5,8 +5,10 @@
|
||||
# Translators:
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# David Kolibáč <david@kolibac.cz>, 2011
|
||||
# Jaroslav Lichtblau <dragonlord@seznam.cz>, 2014-2015
|
||||
# Jaroslav Lichtblau <dragonlord@seznam.cz>, 2014
|
||||
# David Macek <david.macek.0@gmail.com>, 2018
|
||||
# IAmNotImportant, 2017
|
||||
# Jaroslav Lichtblau <jlichtblau@seznam.cz>, 2014-2015
|
||||
# Jaroslav Lichtblau <jlichtblau@seznam.cz>, 2014
|
||||
# mmm <markotahal@gmail.com>, 2013
|
||||
# mmm <markotahal@gmail.com>, 2011
|
||||
# IAmNotImportant, 2017
|
||||
@@ -16,16 +18,17 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2017-05-22 11:00+1000\n"
|
||||
"PO-Revision-Date: 2017-05-23 17:56+0000\n"
|
||||
"Last-Translator: IAmNotImportant\n"
|
||||
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 06:59+0000\n"
|
||||
"Last-Translator: David Macek <david.macek.0@gmail.com>\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/cs/)\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
|
||||
"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#, c-format
|
||||
@@ -47,17 +50,17 @@ msgstr "snížení verze balíčku %s (%s => %s)\n"
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "nedostatek paměti pro alokaci objektu"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:379
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "varování při rozbalování %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "nelze rozbalit %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:589 lib/libalpm/remove.c:533
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nelze přejmenovat %s na %s (%s)\n"
|
||||
@@ -101,18 +104,18 @@ msgstr "rozbalení: adresář nebyl přepsán souborem %s\n"
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "nelze rozbalit %s.pacnew: příliš dlouhá cesta"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:331 lib/libalpm/util.c:577
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "nelze určit aktuální pracovní adresář\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:336 lib/libalpm/util.c:582
|
||||
#: lib/libalpm/util.c:635
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "nelze změnit adresář na %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:400 lib/libalpm/util.c:740
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "nelze obnovit pracovní adresář (%s)\n"
|
||||
@@ -147,7 +150,7 @@ msgstr "chyba při čtení souboru %s: %s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "odstraňuje se chybná databáze: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:886
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "nelze změnit adresář %s: %s\n"
|
||||
@@ -167,71 +170,71 @@ msgstr "duplicitní záznam v databázi '%s'\n"
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "poškozený záznam v databázi '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:696 lib/libalpm/be_local.c:788
|
||||
#: lib/libalpm/be_local.c:935 lib/libalpm/be_local.c:1032
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:447 lib/libalpm/util.c:250
|
||||
#: lib/libalpm/util.c:266
|
||||
#: lib/libalpm/be_local.c:699 lib/libalpm/be_local.c:791
|
||||
#: lib/libalpm/be_local.c:936 lib/libalpm/be_local.c:1033
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:419 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "nelze otevřít soubor %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:712 lib/libalpm/be_sync.c:641
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "databáze %s je nekonzistentní: nesouhlasí jméno balíčku %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:718 lib/libalpm/be_sync.c:647
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "databáze %s je nekonzistentní: nesouhlasí verze balíčku %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:759
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "neznámý způsob ověření pro balíček %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:477 lib/libalpm/be_package.c:635
|
||||
#: lib/libalpm/be_package.c:648
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "chyba při čtení balíčku %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:491 lib/libalpm/be_package.c:515
|
||||
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
|
||||
#, c-format
|
||||
msgid "error while reading mtree of package %s: %s\n"
|
||||
msgstr "chyba při čtení souboru mtree balíčku %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:601
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "nelze zpracovat soubor s popisem balíčku v %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:606
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "chybí jméno balíčku v %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:610
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "chybí veze balíčku v %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:614
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
msgid "invalid package version in %s\n"
|
||||
msgstr "neplatná verze balíčku v %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:655
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "chybí metadata balíčku v %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:747
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "nelze načíst soubor s podpisy: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:768 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "požadovaný klíč není v klíčence\n"
|
||||
@@ -241,22 +244,27 @@ msgstr "požadovaný klíč není v klíčence\n"
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "odstraněn neplatný soubor: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:513
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "nelze načíst soubor s popisem balíčku '%s' z databáze '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:546 lib/libalpm/be_sync.c:551
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "nelze přečíst databázi '%s' (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "databáze %s je nekonzistentní: jméno balíčku %s je nepřípustné\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:556
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "databáze %s je nekonzistentní: jméno balíčku %s je příliš dlouhé\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:622
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "neznámý soubor databáze: %s\n"
|
||||
@@ -266,27 +274,27 @@ msgstr "neznámý soubor databáze: %s\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "cesta k databázi není definována\n"
|
||||
|
||||
#: lib/libalpm/deps.c:229
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "zjištěna cyklická závislost:\n"
|
||||
|
||||
#: lib/libalpm/deps.c:232
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s bude odstraněn po %s, na kterém závisí\n"
|
||||
|
||||
#: lib/libalpm/deps.c:236
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s bude nainstalován před %s, na kterém závisí\n"
|
||||
|
||||
#: lib/libalpm/deps.c:678 lib/libalpm/deps.c:710
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignoruje se balíček %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:865
|
||||
#: lib/libalpm/deps.c:867
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "nelze vyřešit \"%s\", závislost \"%s\"\n"
|
||||
@@ -341,39 +349,39 @@ msgstr "nepodařilo se určit kořen přípojného bodu %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "Diskový oddíl %s je připojen jen pro čtení\n"
|
||||
|
||||
#: lib/libalpm/dload.c:149
|
||||
#: lib/libalpm/dload.c:159
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#: lib/libalpm/dload.c:373
|
||||
#: lib/libalpm/dload.c:345
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "nepodařilo se vytvořit dočasný soubor pro stahování\n"
|
||||
|
||||
#: lib/libalpm/dload.c:418
|
||||
#: lib/libalpm/dload.c:390
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' je chybná\n"
|
||||
|
||||
#: lib/libalpm/dload.c:487 lib/libalpm/dload.c:512
|
||||
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "selhalo získání souboru '%s' z %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:500
|
||||
#: lib/libalpm/dload.c:473
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"selhalo získání souboru '%s' z %s : překročení očekávané velikosti "
|
||||
"stahování\n"
|
||||
|
||||
#: lib/libalpm/dload.c:548
|
||||
#: lib/libalpm/dload.c:528
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s se zdá být zkrácen: %jd/%jd bytů\n"
|
||||
|
||||
#: lib/libalpm/dload.c:692 lib/libalpm/dload.c:721
|
||||
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "selhalo stahování %s\n"
|
||||
@@ -526,7 +534,7 @@ msgstr "pokus o uskutečnění transakce v době, kdy není uzamčena databáze"
|
||||
#: lib/libalpm/error.c:104
|
||||
#, c-format
|
||||
msgid "failed to run transaction hooks"
|
||||
msgstr "selhalo spuštění hook transakcí"
|
||||
msgstr "selhalo spuštění hooků transakce"
|
||||
|
||||
#: lib/libalpm/error.c:107
|
||||
#, c-format
|
||||
@@ -603,7 +611,7 @@ msgstr "neplatný nebo poškozený delta rozdíl"
|
||||
msgid "delta patch failed"
|
||||
msgstr "aplikace delta rozdílu selhala"
|
||||
|
||||
#: lib/libalpm/error.c:140
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "nelze vyřešit závislosti"
|
||||
@@ -653,17 +661,104 @@ msgstr "chyba volání externího programu pro stahování souborů"
|
||||
msgid "unexpected error"
|
||||
msgstr "neočekávaná chyba"
|
||||
|
||||
#: lib/libalpm/handle.c:155
|
||||
#: lib/libalpm/handle.c:157
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "chybí soubor zámku %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:161
|
||||
#: lib/libalpm/handle.c:163
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "nelze odstranit zamykací soubor %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:568
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Chybí cíle pro triggery v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Chybí typ triggeru v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Chybí operace triggeru v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Chybí volba Exec v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Chybí volba When v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "V hooku typu PostTransaction bylo nastaveno AbortOnFail: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "chyba při čtení hooku %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "v hooku %s na řádku %d: neplatná volba %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "v hooku %s na řádku %d: neplatná sekce %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "v hooku %s na řádku %d: neplatná hodnota %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "v hooku %s na řádku %d: přepsání předchozí definice volby %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "v hooku %s na řádku %d: nelze nastavit volbu (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "nelze spustit hook %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "nelze otevřít adresář %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr "nelze otevřít soubor: %s%s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "nelze najít soubor %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "nelze přečíst adresář: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "nelze zcela načíst metadata pro balíček %s-%s\n"
|
||||
@@ -683,26 +778,110 @@ msgstr "'%s' odstraněn ze seznamu cílů\n"
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "nelze odstranit soubor '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "nelze otevřít adresář %s: %s\n"
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr "nelze zazálohovat %s kvůli přetečení PATH_MAX\n"
|
||||
|
||||
#: lib/libalpm/remove.c:553
|
||||
#: lib/libalpm/remove.c:561
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "nelze odstranit %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:726
|
||||
#: lib/libalpm/remove.c:734
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "nelze odstranit záznam databáze %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:731
|
||||
#: lib/libalpm/remove.c:739
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "nelze odstranit položku '%s' z mezipaměti\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "Nebyla nalezena veřejná klíčenka; spustili jste '%s'?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "Chyba GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "do klíčenky nelze zapisovat\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr "klíč \"%s\" se nepodařilo importovat\n"
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr ""
|
||||
"klíč %s, \"%s\" byl nalezen na serveru s klíči, ale do klíčenky nelze "
|
||||
"zapisovat\n"
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "klíč \"%s\" nebylo možné vzdáleně vyhledat\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: chybí vyžadovaný podpis\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: podpis od \"%s\" má částečnou důvěru\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: u podpisu od \"%s\" není známá úroveň důvěry\n"
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr "%s: podpis od \"%s\" je nedůvěryhodný\n"
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: klíč \"%s\" je neznámý\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: klíč \"%s\" je vypnut\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: podpis od \"%s\" vypršel\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr "%s: podpis od \"%s\" je neplatný\n"
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr "%s: chyba formátu podpisu\n"
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: nepodporovaný formát podpisu\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
@@ -733,12 +912,12 @@ msgstr "ignoruje se náhrada balíčku (%s-%s => %s-%s)\n"
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "nelze nahradit soubor %s souborem %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:536 lib/libalpm/sync.c:606
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "zjištěn konflikt nerozlišitelných balíčků\n"
|
||||
|
||||
#: lib/libalpm/sync.c:556
|
||||
#: lib/libalpm/sync.c:558
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' odstraněn ze seznamu cílů, protože je konfliktní s '%s'\n"
|
||||
@@ -748,11 +927,6 @@ msgstr "'%s' odstraněn ze seznamu cílů, protože je konfliktní s '%s'\n"
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "selhalo získání některých souborů\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: chybí vyžadovaný podpis\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
@@ -768,87 +942,82 @@ msgstr "nelze provést transakci pro odstranění\n"
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nelze provést transakci\n"
|
||||
|
||||
#: lib/libalpm/trans.c:360
|
||||
#: lib/libalpm/trans.c:364
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "nelze vytvořit dočasný adresář\n"
|
||||
|
||||
#: lib/libalpm/trans.c:375
|
||||
#: lib/libalpm/trans.c:379
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "nelze zkopírovat dočasný soubor do %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/trans.c:406
|
||||
#: lib/libalpm/trans.c:410
|
||||
#, c-format
|
||||
msgid "could not remove %s\n"
|
||||
msgstr "nelze odstranit %s\n"
|
||||
|
||||
#: lib/libalpm/trans.c:410
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "nelze odstranit dočasný adresář %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:256
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "nelze najít soubor %s: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:493
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
msgid "unable to write to pipe (%s)\n"
|
||||
msgstr "nelze zapisovat do roury (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:552
|
||||
#: lib/libalpm/util.c:545
|
||||
#, c-format
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "nelze číst z roury (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:594 lib/libalpm/util.c:600
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "nepodařilo se vytvořit rouru (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:608
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "nelze spustit nový proces (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "nelze změnit kořenový adresář (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:642
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "volání execv selhalo (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:711
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "volání waitpid selhalo (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:721
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "příkaz se nepodařilo spustit správně\n"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Neznámý signál"
|
||||
|
||||
#: lib/libalpm/util.c:730
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "příkaz ukončen signálem %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:827
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "neexistuje mezipaměť %s, vytváří se...\n"
|
||||
|
||||
#: lib/libalpm/util.c:858
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -8,13 +8,15 @@
|
||||
# jakobw <jakob.wadsager@gmail.com>, 2012
|
||||
# jakobw <jakob.wadsager@gmail.com>, 2012
|
||||
# Joe Hansen <joedalton2@yahoo.dk>, 2011,2013
|
||||
# scootergrisen, 2017
|
||||
# scootergrisen, 2017-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2017-05-22 11:00+1000\n"
|
||||
"PO-Revision-Date: 2017-05-22 01:04+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
|
||||
"PO-Revision-Date: 2018-06-07 09:48+0000\n"
|
||||
"Last-Translator: scootergrisen\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/da/)\n"
|
||||
"Language: da\n"
|
||||
@@ -41,19 +43,19 @@ msgstr "nedgraderer pakke %s (%s => %s)\n"
|
||||
#: lib/libalpm/add.c:124
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr ""
|
||||
msgstr "kan ikke allokere diskarkiv-objekt"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:379
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "advarsel givet under udpakning %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "kunne ikke udpakke %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:589 lib/libalpm/remove.c:533
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kunne ikke omdøbe %s til %s (%s)\n"
|
||||
@@ -97,18 +99,18 @@ msgstr "udtræk: overskriver ikke mappe med fil %s\n"
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "kan ikke pakke %s.pacnew ud: sti for lang"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:331 lib/libalpm/util.c:577
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "kunne ikke hente nuværende arbejdsmappe\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:336 lib/libalpm/util.c:582
|
||||
#: lib/libalpm/util.c:635
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "kunne ikke ændre mappe til %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:400 lib/libalpm/util.c:740
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "kunne ikke genskabe arbejdsmappe (%s)\n"
|
||||
@@ -143,7 +145,7 @@ msgstr "der opstod en fejl under læsning af fil %s: %s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "fjerner ugyldig database: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:886
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "kunne ikke oprette mappe %s: %s\n"
|
||||
@@ -163,71 +165,71 @@ msgstr "duplikeret databasepunkt '%s'\n"
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "beskadiget databasepunkt '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:696 lib/libalpm/be_local.c:788
|
||||
#: lib/libalpm/be_local.c:935 lib/libalpm/be_local.c:1032
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:447 lib/libalpm/util.c:250
|
||||
#: lib/libalpm/util.c:266
|
||||
#: lib/libalpm/be_local.c:699 lib/libalpm/be_local.c:791
|
||||
#: lib/libalpm/be_local.c:936 lib/libalpm/be_local.c:1033
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:419 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "kunne ikke åbne fil %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:712 lib/libalpm/be_sync.c:641
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s-database er inkonsistent: forskellige navne på pakke %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:718 lib/libalpm/be_sync.c:647
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s-database er inkonsistent: forskellige versioner på pakke %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:759
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "ukendt valideringstype for pakke %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:477 lib/libalpm/be_package.c:635
|
||||
#: lib/libalpm/be_package.c:648
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "der opstod en fejl under læsning af pakke %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:491 lib/libalpm/be_package.c:515
|
||||
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
|
||||
#, c-format
|
||||
msgid "error while reading mtree of package %s: %s\n"
|
||||
msgstr "fejl ved læsning af mtree af pakke %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:601
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "kunne ikke fortolke pakkebeskrivelsesfil i %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:606
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "manglende pakkenavn i %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:610
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "manglende pakkeversion i %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:614
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
msgid "invalid package version in %s\n"
|
||||
msgstr "ugyldig pakkeversion i %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:655
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "manglende pakkemetadata i %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:747
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "kunne ikke læse underskriftfil: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:768 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "krævede nøgle mangler fra nøglering\n"
|
||||
@@ -237,22 +239,27 @@ msgstr "krævede nøgle mangler fra nøglering\n"
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "fjerner ugyldig fil: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:513
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "kunne ikke fortolke pakkebeskrivelsesfil '%s' fra db '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:546 lib/libalpm/be_sync.c:551
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "kunne ikke læse db '%s' (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "%s-database er inkonsistent: filnavnet på pakken %s er ugyldigt\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:556
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "%s-database er inkonsistent: filnavnet på pakken %s er for langt\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:622
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "ukendt databaseful: %s\n"
|
||||
@@ -262,27 +269,27 @@ msgstr "ukendt databaseful: %s\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "databasesti er udefineret\n"
|
||||
|
||||
#: lib/libalpm/deps.c:229
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "afhængighedscyklus detekteret:\n"
|
||||
|
||||
#: lib/libalpm/deps.c:232
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s vil blive fjernet efter dennes %s-afhængighed\n"
|
||||
|
||||
#: lib/libalpm/deps.c:236
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s vil blive installeret før dennes %s-afhængighed\n"
|
||||
|
||||
#: lib/libalpm/deps.c:678 lib/libalpm/deps.c:710
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorerer pakke %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:865
|
||||
#: lib/libalpm/deps.c:867
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "kan ikke læse '%s', en afhængighed af '%s'\n"
|
||||
@@ -337,39 +344,39 @@ msgstr "kunne ikke bestemme rodmonteringspunkt %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "Partition %s er monteret som læs-kun\n"
|
||||
|
||||
#: lib/libalpm/dload.c:149
|
||||
#: lib/libalpm/dload.c:159
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#: lib/libalpm/dload.c:373
|
||||
#: lib/libalpm/dload.c:345
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "kunne ikke oprette midlertidig fil til hentning\n"
|
||||
|
||||
#: lib/libalpm/dload.c:418
|
||||
#: lib/libalpm/dload.c:390
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "adressen '%s' er ugyldig\n"
|
||||
|
||||
#: lib/libalpm/dload.c:487 lib/libalpm/dload.c:512
|
||||
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "fejlede i indhentning af fil '%s' fra %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:500
|
||||
#: lib/libalpm/dload.c:473
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"kunne ikke indhente fil '%s' fra %s: forventet downloadstørrelse "
|
||||
"overskredet\n"
|
||||
|
||||
#: lib/libalpm/dload.c:548
|
||||
#: lib/libalpm/dload.c:528
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s ser ud til at være afkortet: %jd/%jd byte\n"
|
||||
|
||||
#: lib/libalpm/dload.c:692 lib/libalpm/dload.c:721
|
||||
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "kunne ikke hente %s\n"
|
||||
@@ -599,7 +606,7 @@ msgstr "ugyldig eller ødelagt delta"
|
||||
msgid "delta patch failed"
|
||||
msgstr "deltarettelse (patch) fejlede"
|
||||
|
||||
#: lib/libalpm/error.c:140
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "kunne ikke tilfredsstille afhængigheder"
|
||||
@@ -649,17 +656,104 @@ msgstr "fejl under opstart af ekstern hentningsprogram"
|
||||
msgid "unexpected error"
|
||||
msgstr "uventet fejl"
|
||||
|
||||
#: lib/libalpm/handle.c:155
|
||||
#: lib/libalpm/handle.c:157
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "låsefil mangler %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:161
|
||||
#: lib/libalpm/handle.c:163
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "kunne ikke fjerne låsningsfil %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:568
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Manglende udløsermål i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Manglende udløsertype i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Manglende udløserhanlding i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Manglende Exec-tilvalg i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Manglende When-tilvalg i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "AbortOnFail sat for PostTransaction-hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "fejl ved læsning af hook %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "hook %s linje %d: ugyldigt tilvalg %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "hook %s linje %d: ugyldigt afsnit %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "hook %s linje %d: ugyldig værdi %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "hook %s linje %d: overskriver forrige definition af %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "hook %s linje %d: kan ikke sætte tilvalg (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "kan ikke køre hook %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "kunne ikke åbne mappe: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr "kunne ikke åbne fil: %s%s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "kunne ikke køre (stat) fil %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "kunne ikke læse mappe: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "kunne ikke fuldt indlæse metadata for pakke %s-%s\n"
|
||||
@@ -679,26 +773,109 @@ msgstr "fjerner %s fra målliste\n"
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "kan ikke fjerne fil »%s«:%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "kunne ikke åbne mappe: %s: %s\n"
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr "kunne ikke sikkerhedskopiere %s på grund af PATH_MAX-overløb\n"
|
||||
|
||||
#: lib/libalpm/remove.c:553
|
||||
#: lib/libalpm/remove.c:561
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "kan ikke fjerne %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:726
|
||||
#: lib/libalpm/remove.c:734
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "kunne ikke fjerne databasepunkt %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:731
|
||||
#: lib/libalpm/remove.c:739
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "kunne ikke fjerne punkt '%s' fra cache\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "Offentlig nøglering ikke fundet. Har du kørt '%s'?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "Fejl ved GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "der kan ikke skrives til nøglering\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr "nøglen \"%s\" kunne ikke importeres\n"
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr ""
|
||||
"nøglen %s, \"%s\" fundet på nøgleserver, der kan ikke skrives til nøglering\n"
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "nøglen \"%s\" kunne ikke fjernopslås\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: mangler krævet signatur\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: signatur fra \"%s\" er marginelt betroet\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: signatur fra \"%s\" er ukendt betroet\n"
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr "%s: signatur fra \"%s\" skal aldrig betroes\n"
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: nøgelen \"%s\" er ukendt\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: nøglen \"%s\" er deaktiveret\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: signatur fra \"%s\" er udløbet\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr "%s: signatur fra \"%s\" er ugyldig\n"
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr "%s: fejl i signaturformat\n"
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: signaturformat understøttes ikke\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
@@ -729,12 +906,12 @@ msgstr "ignorerer pakkeerstatning (%s-%s => %s-%s)\n"
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "kan ikke erstatte %s med %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:536 lib/libalpm/sync.c:606
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "pakkekonflikter, der ikke kan løses, er detekteret\n"
|
||||
|
||||
#: lib/libalpm/sync.c:556
|
||||
#: lib/libalpm/sync.c:558
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "fjerner »%s« fra målliste da det konflikter med »%s«\n"
|
||||
@@ -744,11 +921,6 @@ msgstr "fjerner »%s« fra målliste da det konflikter med »%s«\n"
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "kunne ikke indhente nogle filer\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: mangler krævet signatur\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
@@ -764,87 +936,82 @@ msgstr "kunne ikke indsende (commit) fjernelsestransaktion\n"
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "kunne ikke indsende (commit) transaktion\n"
|
||||
|
||||
#: lib/libalpm/trans.c:360
|
||||
#: lib/libalpm/trans.c:364
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "kunne ikke oprette midlertidig mappe\n"
|
||||
|
||||
#: lib/libalpm/trans.c:375
|
||||
#: lib/libalpm/trans.c:379
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "kunne ikke kopier midlertidig fil til %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/trans.c:406
|
||||
#: lib/libalpm/trans.c:410
|
||||
#, c-format
|
||||
msgid "could not remove %s\n"
|
||||
msgstr "kunne ikke slette %s\n"
|
||||
|
||||
#: lib/libalpm/trans.c:410
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "kunne ikke fjerne tmpdir %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:256
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "kunne ikke køre (stat) fil %s: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:493
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
msgid "unable to write to pipe (%s)\n"
|
||||
msgstr "kan ikke skrive til pipe (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:552
|
||||
#: lib/libalpm/util.c:545
|
||||
#, c-format
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "kan ikke læse fra pipe (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:594 lib/libalpm/util.c:600
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "kunne ikke oprette pipe (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:608
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "kunne ikke forgren en ny proces (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "kunne ikke ændre rodmappen (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:642
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "kald til execv fejlede (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:711
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "kald til waitpid fejlede (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:721
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "kommando kunne ikke udføres korrekt\n"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Ukendt signal"
|
||||
|
||||
#: lib/libalpm/util.c:730
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "kommando afbrudt af signal %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:827
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "ingen %s-cache findes, opretter...\n"
|
||||
|
||||
#: lib/libalpm/util.c:858
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "kunne ikke finde eller oprette pakke-cache, bruger i stedet %s\n"
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#
|
||||
# Translators:
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# Frank Theile, 2018
|
||||
# Frank Theile, 2018
|
||||
# Jakob Gahde <j5lx@fmail.co.uk>, 2014-2015
|
||||
# mar77i <inactive+mar77i@transifex.com>, 2013
|
||||
# mar77i <inactive+mar77i@transifex.com>, 2013
|
||||
@@ -18,9 +20,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2017-05-22 11:00+1000\n"
|
||||
"PO-Revision-Date: 2017-05-22 06:03+0000\n"
|
||||
"Last-Translator: Martin Kühne <mysatyre@gmail.com>\n"
|
||||
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 15:58+0000\n"
|
||||
"Last-Translator: Frank Theile\n"
|
||||
"Language-Team: German (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/de/)\n"
|
||||
"Language: de\n"
|
||||
@@ -49,17 +51,17 @@ msgstr "Downgrade des Paketes %s (%s => %s)\n"
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "Archivobjekt konnte nicht reserviert werden"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:379
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "Es erscheint eine Warnung, wenn %s extrahiert wird (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "Konnte %s nicht entpacken (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:589 lib/libalpm/remove.c:533
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "Konnte %s nicht in %s umbenennen (%s)\n"
|
||||
@@ -104,18 +106,18 @@ msgstr "Entpacken: Überschreibe Verzeichnis nicht mit Datei %s\n"
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "konnte %s.pacnew nicht entpacken: Pfad zu lang"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:331 lib/libalpm/util.c:577
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "Konnte aktuelles Arbeitsverzeichnis nicht ermitteln\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:336 lib/libalpm/util.c:582
|
||||
#: lib/libalpm/util.c:635
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
#, c-format
|
||||
msgid "could not change directory to %s (%s)\n"
|
||||
msgstr "Konnte nicht zu Verzeichnis %s wechseln (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:400 lib/libalpm/util.c:740
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "Konnte das Arbeitsverzeichnis (%s) nicht wiederherstellen\n"
|
||||
@@ -150,7 +152,7 @@ msgstr "Fehler beim Lesen der Datei %s: %s\n"
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "Entferne die ungültige Datenbank: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:886
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "Konnte Verzeichnis %s nicht erstellen: %s\n"
|
||||
@@ -170,75 +172,75 @@ msgstr "Doppelter Datenbank-Eintrag '%s'\n"
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "Beschädigter Datenbank-Eintrag '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:696 lib/libalpm/be_local.c:788
|
||||
#: lib/libalpm/be_local.c:935 lib/libalpm/be_local.c:1032
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:447 lib/libalpm/util.c:250
|
||||
#: lib/libalpm/util.c:266
|
||||
#: lib/libalpm/be_local.c:699 lib/libalpm/be_local.c:791
|
||||
#: lib/libalpm/be_local.c:936 lib/libalpm/be_local.c:1033
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:419 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "Konnte Datei %s nicht öffnen: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:712 lib/libalpm/be_sync.c:641
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"Die Datenbank von %s ist inkonsistent: Die Paketnamen für %s stimmen nicht "
|
||||
"überein\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:718 lib/libalpm/be_sync.c:647
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"Die Datenbank von %s ist inkonsistent: Die Versionsnummern für das Paket %s "
|
||||
"stimmen nicht überein\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:759
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "Unbekannter Validierungstyp für das Paket %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:477 lib/libalpm/be_package.c:635
|
||||
#: lib/libalpm/be_package.c:648
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "Fehler beim Lesen des Paketes %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:491 lib/libalpm/be_package.c:515
|
||||
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
|
||||
#, c-format
|
||||
msgid "error while reading mtree of package %s: %s\n"
|
||||
msgstr "Fehler beim Lesen des mtrees des Pakets %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:601
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "Konnte Paket-Beschreibungsdatei in %s nicht analysieren\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:606
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "Fehlender Paketname in %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:610
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "Fehlende Paketversion in %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:614
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
msgid "invalid package version in %s\n"
|
||||
msgstr "Ungültige Paketversion in %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:655
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "Fehlende Paket-Metadaten in %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:747
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "Konnte die Signatur-Datei nicht lesen: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:768 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "Erforderlicher Schlüssel fehlt im Schlüsselbund\n"
|
||||
@@ -248,27 +250,32 @@ msgstr "Erforderlicher Schlüssel fehlt im Schlüsselbund\n"
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "Entferne ungültige Datei: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:513
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr ""
|
||||
"Konnte Paket-Beschreibungsdatei '%s' der Datenbank '%s' nicht analysieren\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:546 lib/libalpm/be_sync.c:551
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr ""
|
||||
"Datenbank %s ist inkonsistent: Der Dateiname des Paketes %s ist nicht "
|
||||
"erlaubt\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:556
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr ""
|
||||
"Die Datenbank von %s ist inkonsistent: Der Dateiname des Paketes %s ist zu "
|
||||
"lang\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:622
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "Unbekannte Datenbankdatei: %s\n"
|
||||
@@ -278,27 +285,27 @@ msgstr "Unbekannte Datenbankdatei: %s\n"
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "Datenbank-Pfad ist nicht definiert\n"
|
||||
|
||||
#: lib/libalpm/deps.c:229
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "Abhängigkeits-Zyklus entdeckt:\n"
|
||||
|
||||
#: lib/libalpm/deps.c:232
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s wird nach seiner Abhängigkeit %s entfernt werden\n"
|
||||
|
||||
#: lib/libalpm/deps.c:236
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s wird vor seiner Abhängigkeit %s installiert werden\n"
|
||||
|
||||
#: lib/libalpm/deps.c:678 lib/libalpm/deps.c:710
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "Ignoriere Paket %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:865
|
||||
#: lib/libalpm/deps.c:867
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "Kann \"%s\" nicht auflösen (eine Abhängigkeit von \"%s\")\n"
|
||||
@@ -355,39 +362,39 @@ msgstr "Konnte den Root-Einhängepunkt %s nicht ermitteln\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "Die Partition %s ist so eingehängt, dass sie nur gelesen werden kann\n"
|
||||
|
||||
#: lib/libalpm/dload.c:149
|
||||
#: lib/libalpm/dload.c:159
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "Platte"
|
||||
|
||||
#: lib/libalpm/dload.c:373
|
||||
#: lib/libalpm/dload.c:345
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "Konnte temporäre Datei für den Download nicht anlegen\n"
|
||||
|
||||
#: lib/libalpm/dload.c:418
|
||||
#: lib/libalpm/dload.c:390
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' ist ungültig\n"
|
||||
|
||||
#: lib/libalpm/dload.c:487 lib/libalpm/dload.c:512
|
||||
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "Konnte Datei '%s' nicht von %s übertragen : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:500
|
||||
#: lib/libalpm/dload.c:473
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"Konnte Datei '%s' nicht von %s empfangen: Erwartete Downloadgröße "
|
||||
"überschritten\n"
|
||||
|
||||
#: lib/libalpm/dload.c:548
|
||||
#: lib/libalpm/dload.c:528
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s scheint abgeschnitten zu sein: %jd/%jd Bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:692 lib/libalpm/dload.c:721
|
||||
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "Konnte %s nicht herunterladen\n"
|
||||
@@ -618,7 +625,7 @@ msgstr "Ungültiges oder beschädigtes Delta"
|
||||
msgid "delta patch failed"
|
||||
msgstr "Delta-Patch fehlgeschlagen"
|
||||
|
||||
#: lib/libalpm/error.c:140
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "Kann Abhängigkeiten nicht erfüllen"
|
||||
@@ -668,17 +675,104 @@ msgstr "Fehler beim Aufruf eines externen Downloaders"
|
||||
msgid "unexpected error"
|
||||
msgstr "Unerwarteter Fehler"
|
||||
|
||||
#: lib/libalpm/handle.c:155
|
||||
#: lib/libalpm/handle.c:157
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "%s fehlt in Sperrdatei\n"
|
||||
|
||||
#: lib/libalpm/handle.c:161
|
||||
#: lib/libalpm/handle.c:163
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "Konnte Sperrdatei %s nicht entfernen\n"
|
||||
|
||||
#: lib/libalpm/package.c:568
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "Hook %s, Zeile %d: ungültige Option %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "Konnte das Verzeichnis nicht öffnen: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "Konnte Status-Information für die Datei %s nicht ermitteln: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "Konnte die Metadaten für Paket %s-%s nicht vollständig laden\n"
|
||||
@@ -698,26 +792,108 @@ msgstr "Entferne '%s' aus der Ziel-Liste\n"
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "Kann Datei '%s' nicht entfernen: %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "Konnte das Verzeichnis nicht öffnen: %s: %s\n"
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/remove.c:553
|
||||
#: lib/libalpm/remove.c:561
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "Konnte %s nicht entfernen (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:726
|
||||
#: lib/libalpm/remove.c:734
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "Konnte Datenbank-Eintrag %s-%s nicht entfernen\n"
|
||||
|
||||
#: lib/libalpm/remove.c:731
|
||||
#: lib/libalpm/remove.c:739
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "Konnte Eintrag '%s' nicht aus dem Puffer entfernen\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: Erforderliche Signatur fehlt\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
@@ -748,12 +924,12 @@ msgstr "Ignoriere Paket-Ersetzung (%s-%s => %s-%s)\n"
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "Kann %s nicht durch %s ersetzen\n"
|
||||
|
||||
#: lib/libalpm/sync.c:536 lib/libalpm/sync.c:606
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "Nicht auflösbare Paketkonflikte gefunden\n"
|
||||
|
||||
#: lib/libalpm/sync.c:556
|
||||
#: lib/libalpm/sync.c:558
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "Entferne '%s' aus der Ziel-Liste, da es mit '%s' in Konflikt steht\n"
|
||||
@@ -763,11 +939,6 @@ msgstr "Entferne '%s' aus der Ziel-Liste, da es mit '%s' in Konflikt steht\n"
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "Konnte einige Dateien nicht übertragen\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1181
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: Erforderliche Signatur fehlt\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
@@ -783,87 +954,82 @@ msgstr "Konnte Löschvorgang nicht durchführen\n"
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "Konnte den Vorgang nicht durchführen\n"
|
||||
|
||||
#: lib/libalpm/trans.c:360
|
||||
#: lib/libalpm/trans.c:364
|
||||
#, c-format
|
||||
msgid "could not create temp directory\n"
|
||||
msgstr "Konnte temporäres Verzeichnis nicht erstellen\n"
|
||||
|
||||
#: lib/libalpm/trans.c:375
|
||||
#: lib/libalpm/trans.c:379
|
||||
#, c-format
|
||||
msgid "could not copy tempfile to %s (%s)\n"
|
||||
msgstr "Konnte temporäre Datei nicht nach %s kopieren (%s)\n"
|
||||
|
||||
#: lib/libalpm/trans.c:406
|
||||
#: lib/libalpm/trans.c:410
|
||||
#, c-format
|
||||
msgid "could not remove %s\n"
|
||||
msgstr "Konnte %s nicht entfernen\n"
|
||||
|
||||
#: lib/libalpm/trans.c:410
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "Konnte temporäres Verzeichnis %s nicht entfernen\n"
|
||||
|
||||
#: lib/libalpm/util.c:256
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "Konnte Status-Information für die Datei %s nicht ermitteln: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:493
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
msgid "unable to write to pipe (%s)\n"
|
||||
msgstr "konnte nicht in Weiterleitung schreiben (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:552
|
||||
#: lib/libalpm/util.c:545
|
||||
#, c-format
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "konnte nicht von Weiterleitung lesen (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:594 lib/libalpm/util.c:600
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "Konnte Weiterleitung nicht erstellen (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:608
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "Konnte keinen neuen Prozess starten (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "Konnte Root-Verzeichnis nicht wechseln (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:642
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "Konnte execv nicht aufrufen (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:711
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "Aufruf von waitpid fehlgeschlagen (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:721
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "Befehl konnte nicht korrekt ausgeführt werden\n"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Unbekanntes Signal"
|
||||
|
||||
#: lib/libalpm/util.c:730
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "Befehl unterbrochen durch Signal %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:827
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "Es existiert kein %s-Puffer, erstelle...\n"
|
||||
|
||||
#: lib/libalpm/util.c:858
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr ""
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user