forked from mirrors/pacman
Compare commits
393 Commits
v5.1.1
...
v6.0.0alph
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4240a55e4 | ||
|
|
20f2ae56eb | ||
|
|
5c24f7dd11 | ||
|
|
08f4ae709c | ||
|
|
73e0d7dedc | ||
|
|
66f9f315cf | ||
|
|
75cfce9468 | ||
|
|
4b8c274f7f | ||
|
|
9dc29ebf5f | ||
|
|
db4092e33d | ||
|
|
2859a6eefc | ||
|
|
94ac3330dd | ||
|
|
4d8f58d3b9 | ||
|
|
c99a3cc867 | ||
|
|
f76bd2c6c1 | ||
|
|
406a37206f | ||
|
|
4533c6a8e0 | ||
|
|
ff7ff3c58d | ||
|
|
d85d9c8c60 | ||
|
|
04b69957c8 | ||
|
|
f235cea733 | ||
|
|
f53ac85ff6 | ||
|
|
62246b9355 | ||
|
|
2403fc9732 | ||
|
|
74aacf4495 | ||
|
|
2a352dc059 | ||
|
|
14c0e53eed | ||
|
|
1fd95939db | ||
|
|
a8bdc2e10a | ||
|
|
b01bcc7d3d | ||
|
|
f3dfba73d2 | ||
|
|
78d6dcec6c | ||
|
|
34ba8d984d | ||
|
|
f078c2d3bc | ||
|
|
6b9c1b4d54 | ||
|
|
84723cab5d | ||
|
|
16d98d6577 | ||
|
|
59e751f72d | ||
|
|
7ba8e5f376 | ||
|
|
02ae97b0da | ||
|
|
899d39b635 | ||
|
|
bf458cced7 | ||
|
|
381e113755 | ||
|
|
817f9fb715 | ||
|
|
3bd88821bb | ||
|
|
e348ba3881 | ||
|
|
40bbaead44 | ||
|
|
5f6ef895b1 | ||
|
|
23b50d60e3 | ||
|
|
3674144a74 | ||
|
|
454ea02438 | ||
|
|
8ce142a255 | ||
|
|
8e769ddb8a | ||
|
|
7423b16604 | ||
|
|
559590256c | ||
|
|
22a58f5420 | ||
|
|
557845bc97 | ||
|
|
0346e0eef2 | ||
|
|
b96e0df4dc | ||
|
|
c78eb48d91 | ||
|
|
64c4669f57 | ||
|
|
6a331af27f | ||
|
|
1d42a8f954 | ||
|
|
fa68c33fa8 | ||
|
|
dc98d0ea09 | ||
|
|
a8a1a1bb3e | ||
|
|
fe8e13341b | ||
|
|
cffda331ad | ||
|
|
411b12d09d | ||
|
|
3a6c9220ff | ||
|
|
df30f10672 | ||
|
|
cebda6d0ee | ||
|
|
0b81fb64d3 | ||
|
|
969e1ab996 | ||
|
|
2439222375 | ||
|
|
3ea7fdd96c | ||
|
|
b323528491 | ||
|
|
6ba250e400 | ||
|
|
0eda92c5d4 | ||
|
|
1b32897453 | ||
|
|
1d39557aa0 | ||
|
|
87b74fcd82 | ||
|
|
ddd5b0a462 | ||
|
|
80ae80149a | ||
|
|
0deff63efa | ||
|
|
e578903b60 | ||
|
|
aff69f43b1 | ||
|
|
130db5cc9e | ||
|
|
4246a4cc4f | ||
|
|
e76ec94083 | ||
|
|
033405c963 | ||
|
|
886a6677a8 | ||
|
|
d0c487d4dc | ||
|
|
0a25548cd0 | ||
|
|
21af798604 | ||
|
|
c3852ff425 | ||
|
|
e54617c7d5 | ||
|
|
d626a17ef9 | ||
|
|
2856a7dea3 | ||
|
|
2e32d51a26 | ||
|
|
75bf8e887c | ||
|
|
0965023fc5 | ||
|
|
acaed30e24 | ||
|
|
ee8b4e9283 | ||
|
|
435f5fc204 | ||
|
|
9883015be2 | ||
|
|
ffb69c700a | ||
|
|
56e0763c6d | ||
|
|
b7f61aa557 | ||
|
|
0428f6213b | ||
|
|
1e23b45851 | ||
|
|
3073752bcd | ||
|
|
49a8e90bc7 | ||
|
|
349c22d043 | ||
|
|
55233b69c7 | ||
|
|
8846574eda | ||
|
|
eaa2770c80 | ||
|
|
6fb233d0ee | ||
|
|
e6a6d30793 | ||
|
|
b9faf65273 | ||
|
|
540b19164b | ||
|
|
27f354a787 | ||
|
|
94982d0061 | ||
|
|
1df22d3242 | ||
|
|
7b73c4a75f | ||
|
|
8c7043390f | ||
|
|
2dd7725f2a | ||
|
|
3a814ee6bc | ||
|
|
424129e8d1 | ||
|
|
27955a0fee | ||
|
|
1bfae7d14a | ||
|
|
091b244d0f | ||
|
|
e1f5f21983 | ||
|
|
7be7552329 | ||
|
|
f6564377a2 | ||
|
|
c9613f3a0a | ||
|
|
fca2f7e598 | ||
|
|
4d76cf6f07 | ||
|
|
866a5cd431 | ||
|
|
5c2059db28 | ||
|
|
0272fca993 | ||
|
|
a745d97c17 | ||
|
|
99639dc27c | ||
|
|
ae5cf26b5b | ||
|
|
dc55701132 | ||
|
|
f37a3752b3 | ||
|
|
a9835a38a3 | ||
|
|
cd4f8f7530 | ||
|
|
c58bf862b4 | ||
|
|
7df70e7fff | ||
|
|
942b909829 | ||
|
|
8ce20d3754 | ||
|
|
de24f644f4 | ||
|
|
9ddd0be027 | ||
|
|
b05a3c10bf | ||
|
|
719efe19c7 | ||
|
|
54b6d689e5 | ||
|
|
27ccd68976 | ||
|
|
5e11d86cc5 | ||
|
|
d4e667ee5e | ||
|
|
808a4f15ce | ||
|
|
a82b0028e4 | ||
|
|
a2c4ad4675 | ||
|
|
a897599fa5 | ||
|
|
e8d4228614 | ||
|
|
379f715105 | ||
|
|
d5c3ed129c | ||
|
|
5d2e48d17f | ||
|
|
7e79cf73fa | ||
|
|
095d6332be | ||
|
|
8e7d425627 | ||
|
|
e581068c77 | ||
|
|
8f89e509d2 | ||
|
|
f2442bc2e9 | ||
|
|
0a295f3f39 | ||
|
|
0e3a4bd1fb | ||
|
|
facd9533b0 | ||
|
|
c0da1ba13a | ||
|
|
de6249ce22 | ||
|
|
2a792ac7bb | ||
|
|
f492339035 | ||
|
|
45e01e55c9 | ||
|
|
6d99a15f0b | ||
|
|
a6ae5f0a04 | ||
|
|
b4e4b74ace | ||
|
|
bcacb00fc8 | ||
|
|
48752f1b4b | ||
|
|
80e2e1c7c9 | ||
|
|
0c4a8ae24b | ||
|
|
5dd2b3776d | ||
|
|
fd70c1c7bb | ||
|
|
6f3810793f | ||
|
|
bcb44891ef | ||
|
|
024fde9748 | ||
|
|
f9f22fded2 | ||
|
|
18a6440061 | ||
|
|
75837a2717 | ||
|
|
0318e84546 | ||
|
|
72dae345e4 | ||
|
|
b3dd02236c | ||
|
|
4e5254dbf3 | ||
|
|
e7156e78b8 | ||
|
|
0e67ee55bd | ||
|
|
796c02af4c | ||
|
|
e7a2b2764a | ||
|
|
83f428d974 | ||
|
|
cd475331f4 | ||
|
|
d917109432 | ||
|
|
30acc87b7d | ||
|
|
686a9ee8e7 | ||
|
|
4ca5f5949b | ||
|
|
1a343d378a | ||
|
|
80321b21ae | ||
|
|
39c20ad4f1 | ||
|
|
55a65aaf90 | ||
|
|
ff1ae94c10 | ||
|
|
eb92bcb089 | ||
|
|
27e80ca7f6 | ||
|
|
a00615bfda | ||
|
|
5caf45cdbb | ||
|
|
4c38f4b991 | ||
|
|
c8062d753c | ||
|
|
99c5809bbf | ||
|
|
0bc687e2e0 | ||
|
|
9375f49865 | ||
|
|
614ef781eb | ||
|
|
b93dfa935f | ||
|
|
a0f4429e95 | ||
|
|
583f3122ce | ||
|
|
6911904a03 | ||
|
|
f2a7fb2b96 | ||
|
|
a8b3d1a62a | ||
|
|
915ac9ff9b | ||
|
|
d37e6d40a1 | ||
|
|
7a598d0845 | ||
|
|
9f5412d809 | ||
|
|
7b15918b65 | ||
|
|
ee5f24e50c | ||
|
|
35a0d5e744 | ||
|
|
0a72874734 | ||
|
|
226d2c1248 | ||
|
|
bbfb75fd29 | ||
|
|
f26cb61cb6 | ||
|
|
c61cd050f9 | ||
|
|
c0e9be7973 | ||
|
|
e7bb0f8824 | ||
|
|
40391c564a | ||
|
|
2883b869c7 | ||
|
|
9adb0d5b37 | ||
|
|
377d47142f | ||
|
|
298bcf7986 | ||
|
|
e03752e6ad | ||
|
|
0113214db9 | ||
|
|
d197d8ab82 | ||
|
|
adb961a88e | ||
|
|
ba7a41031c | ||
|
|
3c774252ef | ||
|
|
656e851f0a | ||
|
|
4b83bcfcee | ||
|
|
477a66cd0e | ||
|
|
86004227d1 | ||
|
|
db102c67ef | ||
|
|
714a1b4e4e | ||
|
|
04e77591d6 | ||
|
|
11bc315cdb | ||
|
|
14755df06f | ||
|
|
75aae126c4 | ||
|
|
6cf0548128 | ||
|
|
776fbe1cde | ||
|
|
5bd54fa0c6 | ||
|
|
1e040153bc | ||
|
|
9c817b6549 | ||
|
|
ac0e21a6df | ||
|
|
1b9e358f1d | ||
|
|
4d1d857ef0 | ||
|
|
ff8c96fa7d | ||
|
|
c15f7ae606 | ||
|
|
a5090217f9 | ||
|
|
10bcf66db8 | ||
|
|
02598521b1 | ||
|
|
a769fbfd40 | ||
|
|
b76dbb1159 | ||
|
|
ce040514c4 | ||
|
|
5d2f7ee6c3 | ||
|
|
031611ff40 | ||
|
|
10fe71e5f3 | ||
|
|
aa284c97f1 | ||
|
|
f7efa6a93d | ||
|
|
30e3e21e87 | ||
|
|
03d85763e0 | ||
|
|
e9d91a688d | ||
|
|
9b2a90cfb1 | ||
|
|
9b637cc27a | ||
|
|
f9eb2aacb4 | ||
|
|
238fa4af45 | ||
|
|
268b0255fa | ||
|
|
c5c7fc7f4a | ||
|
|
2f15921230 | ||
|
|
7c5958e0eb | ||
|
|
e1fc2f901e | ||
|
|
3a5a0d53bc | ||
|
|
984492b92f | ||
|
|
4778f13188 | ||
|
|
2d403709d9 | ||
|
|
ecac357c1a | ||
|
|
d150b97190 | ||
|
|
33a8ced334 | ||
|
|
6b541404cc | ||
|
|
281cdb2e1c | ||
|
|
b109d7096b | ||
|
|
77b8ca7032 | ||
|
|
d73fed4e13 | ||
|
|
b67ec90520 | ||
|
|
36a5069a59 | ||
|
|
f28ddd9d93 | ||
|
|
9f1b735d76 | ||
|
|
65e09705d3 | ||
|
|
f615f7bd5a | ||
|
|
5fc3056e6a | ||
|
|
e1b9dc6bea | ||
|
|
71f837e45e | ||
|
|
83a16d3041 | ||
|
|
363664e47d | ||
|
|
fbc6d8b428 | ||
|
|
6e819c819a | ||
|
|
b95ba13df1 | ||
|
|
44cfc09511 | ||
|
|
61fe738043 | ||
|
|
3726693612 | ||
|
|
508b4e3ec0 | ||
|
|
0bb04fa16a | ||
|
|
d81b5cc2a5 | ||
|
|
1aaf95089a | ||
|
|
926eb345c2 | ||
|
|
c41222837d | ||
|
|
0dd1492442 | ||
|
|
de915c4f14 | ||
|
|
3dfec574a3 | ||
|
|
635a9c911c | ||
|
|
d230ec6f17 | ||
|
|
51db84750e | ||
|
|
dab45f0808 | ||
|
|
b5d62d2c91 | ||
|
|
3561c872ca | ||
|
|
882e707e40 | ||
|
|
b5191ea140 | ||
|
|
e12d032174 | ||
|
|
ea877c596b | ||
|
|
c887d2cf00 | ||
|
|
ac959bb9c6 | ||
|
|
9886566abb | ||
|
|
2c91d08e62 | ||
|
|
79a528735e | ||
|
|
02255fd97e | ||
|
|
8c9046e604 | ||
|
|
afb9c0140f | ||
|
|
ffde85aadf | ||
|
|
d96d0ffe7c | ||
|
|
7afe51171f | ||
|
|
bae74c8e9e | ||
|
|
cd7b2d6e07 | ||
|
|
192d6166e9 | ||
|
|
b54b33d816 | ||
|
|
3d5a056452 | ||
|
|
961ef1a4c8 | ||
|
|
2bec380e10 | ||
|
|
3318039e3b | ||
|
|
ba2984db3e | ||
|
|
58c76daf5e | ||
|
|
d03409ccde | ||
|
|
62eef5bbdb | ||
|
|
5b2ff51c39 | ||
|
|
16f6aae330 | ||
|
|
48c8f9f2a2 | ||
|
|
0696307a3b | ||
|
|
3370c08a29 | ||
|
|
3e9a62e721 | ||
|
|
9fde55c0c7 | ||
|
|
8b2f3323b8 | ||
|
|
2d8d8af915 | ||
|
|
7d05ffceaf | ||
|
|
e4be26b732 | ||
|
|
4e83abaae5 | ||
|
|
92bc0a4740 | ||
|
|
b0a8f44f10 | ||
|
|
885bbb504a | ||
|
|
9e960d9d5a | ||
|
|
7f1f1355bb | ||
|
|
0937d322ba | ||
|
|
7edbbd9a63 | ||
|
|
f2788244d3 | ||
|
|
0cbb128818 | ||
|
|
fd16da2ed6 |
@@ -16,5 +16,9 @@ indent_style = tab
|
||||
[{NEWS,HACKING}]
|
||||
indent_style = space
|
||||
|
||||
[meson.build]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.py]
|
||||
indent_style = space
|
||||
|
||||
21
.gitignore
vendored
21
.gitignore
vendored
@@ -1,24 +1,3 @@
|
||||
*~
|
||||
*.o
|
||||
ABOUT-NLS
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.status
|
||||
config.status.lineno
|
||||
configure
|
||||
configure.lineno
|
||||
cov-int
|
||||
cscope.in.out
|
||||
cscope.out
|
||||
cscope.po.out
|
||||
intl
|
||||
libtool
|
||||
Makefile
|
||||
Makefile.in
|
||||
pacman-*.tar.gz
|
||||
root
|
||||
stamp-h1
|
||||
tags
|
||||
|
||||
119
.gitlab-ci.yml
Normal file
119
.gitlab-ci.yml
Normal file
@@ -0,0 +1,119 @@
|
||||
variables:
|
||||
MAKEFLAGS: "-j10"
|
||||
VERBOSE: 1
|
||||
PACMAN_OPTS: --needed --noconfirm --cachedir .pkg-cache
|
||||
|
||||
cache:
|
||||
key: pkgs-v1
|
||||
paths:
|
||||
# For some reason Gitlab CI only supports storing cache/artifacts in a path relative to the build directory
|
||||
- .pkg-cache
|
||||
|
||||
.arch-test:
|
||||
image: archlinux/base
|
||||
before_script:
|
||||
- >
|
||||
pacman -Syu $PACMAN_OPTS
|
||||
base-devel git
|
||||
gpgme libarchive curl
|
||||
python
|
||||
fakeroot fakechroot
|
||||
meson
|
||||
|
||||
arch:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-debug:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-docs:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- pacman -Syu $PACMAN_OPTS asciidoc
|
||||
- meson -Ddoc=enabled build
|
||||
- ninja -C build
|
||||
|
||||
arch-clang:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- pacman -Syu $PACMAN_OPTS clang
|
||||
- CC=clang meson build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-valgrind:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- pacman -Syu --needed --noconfirm valgrind
|
||||
- meson build
|
||||
- ninja -C build
|
||||
- PACTEST_VALGRIND=1 fakechroot meson test -C build
|
||||
|
||||
arch-nettle:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson -Dcrypto=nettle --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-no-gpg:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson -Dgpgme=disabled --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-no-curl:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson -Dcurl=disabled --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-no-nls:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson -Di18n=false --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
debian:
|
||||
image: debian:bullseye
|
||||
cache: {}
|
||||
before_script:
|
||||
- apt update
|
||||
- >
|
||||
apt -y install --no-install-recommends
|
||||
git pkg-config meson gcc libtool
|
||||
libgpgme-dev libarchive-dev libcurl4-openssl-dev libssl-dev curl
|
||||
gettext python3 python3-setuptools dash gawk ca-certificates
|
||||
fakeroot fakechroot
|
||||
script:
|
||||
- meson --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
fedora:
|
||||
image: fedora
|
||||
cache: {}
|
||||
before_script:
|
||||
- >
|
||||
dnf -y install
|
||||
git findutils patch sed
|
||||
meson gcc libtool
|
||||
gpgme-devel libarchive-devel libcurl-devel openssl-devel gettext-devel
|
||||
asciidoc python3 dash gawk
|
||||
fakeroot fakechroot
|
||||
perl-Module-Load-Conditional
|
||||
script:
|
||||
- meson --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
250
.ycm_extra_conf.py
Normal file
250
.ycm_extra_conf.py
Normal file
@@ -0,0 +1,250 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
#
|
||||
# Based on the template file provided by the 'YCM-Generator' project authored by
|
||||
# Reuben D'Netto.
|
||||
# Jiahui Xie has re-reformatted and expanded the original script in accordance
|
||||
# to the requirements of the PEP 8 style guide and 'systemd' project,
|
||||
# respectively.
|
||||
#
|
||||
# The original license is preserved as it is.
|
||||
#
|
||||
#
|
||||
# This is free and unencumbered software released into the public domain.
|
||||
#
|
||||
# Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
# distribute this software, either in source code form or as a compiled
|
||||
# binary, for any purpose, commercial or non-commercial, and by any
|
||||
# means.
|
||||
#
|
||||
# In jurisdictions that recognize copyright laws, the author or authors
|
||||
# of this software dedicate any and all copyright interest in the
|
||||
# software to the public domain. We make this dedication for the benefit
|
||||
# of the public at large and to the detriment of our heirs and
|
||||
# successors. We intend this dedication to be an overt act of
|
||||
# relinquishment in perpetuity of all present and future rights to this
|
||||
# software under copyright law.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
# OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# For more information, please refer to <http://unlicense.org/>
|
||||
|
||||
"""
|
||||
YouCompleteMe configuration file tailored to support the 'meson' build system
|
||||
used by the 'systemd' project.
|
||||
"""
|
||||
|
||||
import glob
|
||||
import os
|
||||
import ycm_core
|
||||
|
||||
|
||||
SOURCE_EXTENSIONS = (".C", ".cpp", ".cxx", ".cc", ".c", ".m", ".mm")
|
||||
HEADER_EXTENSIONS = (".H", ".h", ".hxx", ".hpp", ".hh")
|
||||
|
||||
|
||||
def DirectoryOfThisScript():
|
||||
"""
|
||||
Return the absolute path of the parent directory containing this
|
||||
script.
|
||||
"""
|
||||
return os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
def GuessBuildDirectory():
|
||||
"""
|
||||
Guess the build directory using the following heuristics:
|
||||
|
||||
1. Returns the current directory of this script plus 'build'
|
||||
subdirectory in absolute path if this subdirectory exists.
|
||||
|
||||
2. Otherwise, probes whether there exists any directory
|
||||
containing '.ninja_log' file two levels above the current directory;
|
||||
returns this single directory only if there is one candidate.
|
||||
"""
|
||||
result = os.path.join(DirectoryOfThisScript(), "build")
|
||||
|
||||
if os.path.exists(result):
|
||||
return result
|
||||
|
||||
result = glob.glob(os.path.join(DirectoryOfThisScript(),
|
||||
"..", "..", "*", ".ninja_log"))
|
||||
|
||||
if not result:
|
||||
return ""
|
||||
|
||||
if 1 != len(result):
|
||||
return ""
|
||||
|
||||
return os.path.split(result[0])[0]
|
||||
|
||||
|
||||
def TraverseByDepth(root, include_extensions):
|
||||
"""
|
||||
Return a set of child directories of the 'root' containing file
|
||||
extensions specified in 'include_extensions'.
|
||||
|
||||
NOTE:
|
||||
1. The 'root' directory itself is excluded from the result set.
|
||||
2. No subdirectories would be excluded if 'include_extensions' is left
|
||||
to 'None'.
|
||||
3. Each entry in 'include_extensions' must begin with string '.'.
|
||||
"""
|
||||
is_root = True
|
||||
result = set()
|
||||
# Perform a depth first top down traverse of the given directory tree.
|
||||
for root_dir, subdirs, file_list in os.walk(root):
|
||||
if not is_root:
|
||||
# print("Relative Root: ", root_dir)
|
||||
# print(subdirs)
|
||||
if include_extensions:
|
||||
get_ext = os.path.splitext
|
||||
subdir_extensions = {
|
||||
get_ext(f)[-1] for f in file_list if get_ext(f)[-1]
|
||||
}
|
||||
if subdir_extensions & include_extensions:
|
||||
result.add(root_dir)
|
||||
else:
|
||||
result.add(root_dir)
|
||||
else:
|
||||
is_root = False
|
||||
|
||||
return result
|
||||
|
||||
|
||||
_project_src_dir = os.path.join(DirectoryOfThisScript(), "src")
|
||||
_include_dirs_set = TraverseByDepth(_project_src_dir, frozenset({".h"}))
|
||||
flags = [
|
||||
"-x",
|
||||
"c"
|
||||
# The following flags are partially redundant due to the existence of
|
||||
# 'compile_commands.json'.
|
||||
# '-Wall',
|
||||
# '-Wextra',
|
||||
# '-Wfloat-equal',
|
||||
# '-Wpointer-arith',
|
||||
# '-Wshadow',
|
||||
# '-std=gnu99',
|
||||
]
|
||||
|
||||
for include_dir in _include_dirs_set:
|
||||
flags.append("-I" + include_dir)
|
||||
|
||||
# Set this to the absolute path to the folder (NOT the file!) containing the
|
||||
# compile_commands.json file to use that instead of 'flags'. See here for
|
||||
# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
|
||||
#
|
||||
# You can get CMake to generate this file for you by adding:
|
||||
# set( CMAKE_EXPORT_COMPILE_COMMANDS 1 )
|
||||
# to your CMakeLists.txt file.
|
||||
#
|
||||
# Most projects will NOT need to set this to anything; you can just change the
|
||||
# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
|
||||
compilation_database_folder = GuessBuildDirectory()
|
||||
|
||||
if os.path.exists(compilation_database_folder):
|
||||
database = ycm_core.CompilationDatabase(compilation_database_folder)
|
||||
else:
|
||||
database = None
|
||||
|
||||
|
||||
def MakeRelativePathsInFlagsAbsolute(flags, working_directory):
|
||||
"""
|
||||
Iterate through 'flags' and replace the relative paths prefixed by
|
||||
'-isystem', '-I', '-iquote', '--sysroot=' with absolute paths
|
||||
start with 'working_directory'.
|
||||
"""
|
||||
if not working_directory:
|
||||
return list(flags)
|
||||
new_flags = []
|
||||
make_next_absolute = False
|
||||
path_flags = ["-isystem", "-I", "-iquote", "--sysroot="]
|
||||
for flag in flags:
|
||||
new_flag = flag
|
||||
|
||||
if make_next_absolute:
|
||||
make_next_absolute = False
|
||||
if not flag.startswith("/"):
|
||||
new_flag = os.path.join(working_directory, flag)
|
||||
|
||||
for path_flag in path_flags:
|
||||
if flag == path_flag:
|
||||
make_next_absolute = True
|
||||
break
|
||||
|
||||
if flag.startswith(path_flag):
|
||||
path = flag[len(path_flag):]
|
||||
new_flag = path_flag + os.path.join(working_directory, path)
|
||||
break
|
||||
|
||||
if new_flag:
|
||||
new_flags.append(new_flag)
|
||||
return new_flags
|
||||
|
||||
|
||||
def IsHeaderFile(filename):
|
||||
"""
|
||||
Check whether 'filename' is considered as a header file.
|
||||
"""
|
||||
extension = os.path.splitext(filename)[1]
|
||||
return extension in HEADER_EXTENSIONS
|
||||
|
||||
|
||||
def GetCompilationInfoForFile(filename):
|
||||
"""
|
||||
Helper function to look up compilation info of 'filename' in the 'database'.
|
||||
"""
|
||||
# The compilation_commands.json file generated by CMake does not have
|
||||
# entries for header files. So we do our best by asking the db for flags for
|
||||
# a corresponding source file, if any. If one exists, the flags for that
|
||||
# file should be good enough.
|
||||
if not database:
|
||||
return None
|
||||
|
||||
if IsHeaderFile(filename):
|
||||
basename = os.path.splitext(filename)[0]
|
||||
for extension in SOURCE_EXTENSIONS:
|
||||
replacement_file = basename + extension
|
||||
if os.path.exists(replacement_file):
|
||||
compilation_info = \
|
||||
database.GetCompilationInfoForFile(replacement_file)
|
||||
if compilation_info.compiler_flags_:
|
||||
return compilation_info
|
||||
return None
|
||||
return database.GetCompilationInfoForFile(filename)
|
||||
|
||||
|
||||
def FlagsForFile(filename, **kwargs):
|
||||
"""
|
||||
Callback function to be invoked by YouCompleteMe in order to get the
|
||||
information necessary to compile 'filename'.
|
||||
|
||||
It returns a dictionary with a single element 'flags'. This element is a
|
||||
list of compiler flags to pass to libclang for the file 'filename'.
|
||||
"""
|
||||
if database:
|
||||
# Bear in mind that compilation_info.compiler_flags_ does NOT return a
|
||||
# python list, but a "list-like" StringVec object
|
||||
compilation_info = GetCompilationInfoForFile(filename)
|
||||
if not compilation_info:
|
||||
return None
|
||||
|
||||
final_flags = MakeRelativePathsInFlagsAbsolute(
|
||||
compilation_info.compiler_flags_,
|
||||
compilation_info.compiler_working_dir_)
|
||||
|
||||
else:
|
||||
relative_to = DirectoryOfThisScript()
|
||||
final_flags = MakeRelativePathsInFlagsAbsolute(flags, relative_to)
|
||||
|
||||
return {
|
||||
"flags": final_flags,
|
||||
"do_cache": True
|
||||
}
|
||||
13
HACKING
13
HACKING
@@ -176,16 +176,3 @@ For pacman:
|
||||
-------------------------------------------
|
||||
|
||||
Never directly include config.h. This will always be added via Makefiles.
|
||||
|
||||
GDB and Valgrind Usage
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When using GDB or valgrind on pacman, you will want to run it on the actual
|
||||
binary rather than the shell script wrapper produced by libtool. The actual
|
||||
binary lives at `src/pacman/.libs/lt-pacman`, and will exist after running
|
||||
`./src/pacman/pacman` at least once.
|
||||
|
||||
For example, to run valgrind:
|
||||
|
||||
./src/pacman/pacman
|
||||
valgrind --leak-check=full -- src/pacman/.libs/lt-pacman -Syu
|
||||
|
||||
370
INSTALL
370
INSTALL
@@ -1,370 +0,0 @@
|
||||
Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. This file is offered as-is,
|
||||
without warranty of any kind.
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
Briefly, the shell commands `./configure; make; make install' should
|
||||
configure, build, and install this package. The following
|
||||
more-detailed instructions are generic; see the `README' file for
|
||||
instructions specific to this package. Some packages provide this
|
||||
`INSTALL' file but do not implement all of the features documented
|
||||
below. The lack of an optional feature in a given package is not
|
||||
necessarily a bug. More recommendations for GNU packages can be found
|
||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you don't want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You need `configure.ac' if
|
||||
you want to change it or regenerate `configure' using a newer version
|
||||
of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system.
|
||||
|
||||
Running `configure' might take a while. While running, it prints
|
||||
some messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package, generally using the just-built uninstalled binaries.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation. When installing into a prefix owned by root, it is
|
||||
recommended that the package be configured and built as a regular
|
||||
user, and only the `make install' phase executed with root
|
||||
privileges.
|
||||
|
||||
5. Optionally, type `make installcheck' to repeat any self-tests, but
|
||||
this time using the binaries in their final installed location.
|
||||
This target does not install anything. Running this target as a
|
||||
regular user, particularly if the prior `make install' required
|
||||
root privileges, verifies that the installation completed
|
||||
correctly.
|
||||
|
||||
6. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
7. Often, you can also type `make uninstall' to remove the installed
|
||||
files again. In practice, not all packages have tested that
|
||||
uninstallation works correctly, even though it is required by the
|
||||
GNU Coding Standards.
|
||||
|
||||
8. Some packages, particularly those that use Automake, provide `make
|
||||
distcheck', which can by used by developers to test that all other
|
||||
targets like `make install' and `make uninstall' work correctly.
|
||||
This target is generally not run by end users.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. Run `./configure --help'
|
||||
for details on some of the pertinent environment variables.
|
||||
|
||||
You can give `configure' initial values for configuration parameters
|
||||
by setting variables in the command line or in the environment. Here
|
||||
is an example:
|
||||
|
||||
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
||||
|
||||
*Note Defining Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you can use GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'. This
|
||||
is known as a "VPATH" build.
|
||||
|
||||
With a non-GNU `make', it is safer to compile the package for one
|
||||
architecture at a time in the source code directory. After you have
|
||||
installed the package for one architecture, use `make distclean' before
|
||||
reconfiguring for another architecture.
|
||||
|
||||
On MacOS X 10.5 and later systems, you can create libraries and
|
||||
executables that work on multiple system types--known as "fat" or
|
||||
"universal" binaries--by specifying multiple `-arch' options to the
|
||||
compiler but only a single `-arch' option to the preprocessor. Like
|
||||
this:
|
||||
|
||||
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
CPP="gcc -E" CXXCPP="g++ -E"
|
||||
|
||||
This is not guaranteed to produce working output in all cases, you
|
||||
may have to build one architecture at a time and combine the results
|
||||
using the `lipo' tool if you have problems.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' installs the package's commands under
|
||||
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
||||
can specify an installation prefix other than `/usr/local' by giving
|
||||
`configure' the option `--prefix=PREFIX', where PREFIX must be an
|
||||
absolute file name.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
||||
PREFIX as the prefix for installing programs and libraries.
|
||||
Documentation and other data files still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=DIR' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them. In general, the
|
||||
default for these options is expressed in terms of `${prefix}', so that
|
||||
specifying just `--prefix' will affect all of the other directory
|
||||
specifications that were not explicitly provided.
|
||||
|
||||
The most portable way to affect installation locations is to pass the
|
||||
correct locations to `configure'; however, many packages provide one or
|
||||
both of the following shortcuts of passing variable assignments to the
|
||||
`make install' command line to change installation locations without
|
||||
having to reconfigure or recompile.
|
||||
|
||||
The first method involves providing an override variable for each
|
||||
affected directory. For example, `make install
|
||||
prefix=/alternate/directory' will choose an alternate location for all
|
||||
directory configuration variables that were expressed in terms of
|
||||
`${prefix}'. Any directories that were specified during `configure',
|
||||
but not in terms of `${prefix}', must each be overridden at install
|
||||
time for the entire installation to be relocated. The approach of
|
||||
makefile variable overrides for each directory variable is required by
|
||||
the GNU Coding Standards, and ideally causes no recompilation.
|
||||
However, some platforms have known limitations with the semantics of
|
||||
shared libraries that end up requiring recompilation when using this
|
||||
method, particularly noticeable in packages that use GNU Libtool.
|
||||
|
||||
The second method involves providing the `DESTDIR' variable. For
|
||||
example, `make install DESTDIR=/alternate/directory' will prepend
|
||||
`/alternate/directory' before all installation names. The approach of
|
||||
`DESTDIR' overrides is not required by the GNU Coding Standards, and
|
||||
does not work on platforms that have drive letters. On the other hand,
|
||||
it does better at avoiding recompilation issues, and works well even
|
||||
when some directory options were not specified in terms of `${prefix}'
|
||||
at `configure' time.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Some packages offer the ability to configure how verbose the
|
||||
execution of `make' will be. For these packages, running `./configure
|
||||
--enable-silent-rules' sets the default to minimal output, which can be
|
||||
overridden with `make V=1'; while running `./configure
|
||||
--disable-silent-rules' sets the default to verbose, which can be
|
||||
overridden with `make V=0'.
|
||||
|
||||
Particular systems
|
||||
==================
|
||||
|
||||
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
|
||||
CC is not installed, it is recommended to use the following options in
|
||||
order to use an ANSI C compiler:
|
||||
|
||||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
||||
|
||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
||||
|
||||
HP-UX `make' updates targets which have the same time stamps as
|
||||
their prerequisites, which makes it generally unusable when shipped
|
||||
generated files such as `configure' are involved. Use GNU `make'
|
||||
instead.
|
||||
|
||||
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
|
||||
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
|
||||
a workaround. If GNU CC is not installed, it is therefore recommended
|
||||
to try
|
||||
|
||||
./configure CC="cc"
|
||||
|
||||
and if that doesn't work, try
|
||||
|
||||
./configure CC="cc -nodtk"
|
||||
|
||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
||||
directory contains several dysfunctional programs; working variants of
|
||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
||||
in your `PATH', put it _after_ `/usr/bin'.
|
||||
|
||||
On Haiku, software installed for all users goes in `/boot/common',
|
||||
not `/usr/local'. It is recommended to use the following options:
|
||||
|
||||
./configure --prefix=/boot/common
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' cannot figure out
|
||||
automatically, but needs to determine by the type of machine the package
|
||||
will run on. Usually, assuming the package is built to be run on the
|
||||
_same_ architectures, `configure' can figure that out, but if it prints
|
||||
a message saying it cannot guess the machine type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS
|
||||
KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the machine type.
|
||||
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the option `--target=TYPE' to select the type of system they will
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the
|
||||
"host" platform (i.e., that on which the generated programs will
|
||||
eventually be run) with `--host=TYPE'.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Defining Variables
|
||||
==================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to `configure'. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
causes the specified `gcc' to be used as the C compiler (unless it is
|
||||
overridden in the site shell script).
|
||||
|
||||
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
|
||||
an Autoconf limitation. Until the limitation is lifted, you can use
|
||||
this workaround:
|
||||
|
||||
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of all of the options to `configure', and exit.
|
||||
|
||||
`--help=short'
|
||||
`--help=recursive'
|
||||
Print a summary of the options unique to this package's
|
||||
`configure', and exit. The `short' variant lists options used
|
||||
only in the top level, while the `recursive' variant lists options
|
||||
also present in any nested packages.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made. To
|
||||
suppress all normal output, redirect it to `/dev/null' (any error
|
||||
messages will still be shown).
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--prefix=DIR'
|
||||
Use DIR as the installation prefix. *note Installation Names::
|
||||
for more details, including other options available for fine-tuning
|
||||
the installation locations.
|
||||
|
||||
`--no-create'
|
||||
`-n'
|
||||
Run the configure checks, but stop before creating any output
|
||||
files.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
||||
71
Makefile.am
71
Makefile.am
@@ -1,71 +0,0 @@
|
||||
SUBDIRS = lib/libalpm src/util src/pacman scripts etc test/pacman test/util test/scripts
|
||||
if WANT_DOC
|
||||
SUBDIRS += doc
|
||||
endif
|
||||
|
||||
DIST_SUBDIRS = $(SUBDIRS) src/common
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4 --install
|
||||
AM_MAKEFLAGS = --no-print-directory
|
||||
|
||||
# Make sure we test and build manpages when doing distcheck
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-doc --disable-git-version
|
||||
|
||||
# Some files automatically included, so they aren't specified below:
|
||||
# AUTHORS, COPYING, NEWS, README
|
||||
EXTRA_DIST = HACKING test/tap.sh
|
||||
|
||||
# Sample makepkg prototype files
|
||||
pkgdatadir = ${datadir}/${PACKAGE}
|
||||
dist_pkgdata_DATA = \
|
||||
proto/PKGBUILD.proto \
|
||||
proto/PKGBUILD-split.proto \
|
||||
proto/PKGBUILD-vcs.proto \
|
||||
proto/proto.install
|
||||
|
||||
$(top_srcdir)/test/pacman/tests/TESTS: $(wildcard test/pacman/tests/*.py)
|
||||
@printf "TESTS += %s\n" $^ | LC_ALL=C sort -u > "$@"
|
||||
|
||||
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/vercmptest.sh
|
||||
include $(top_srcdir)/test/pacman/tests/TESTS
|
||||
|
||||
TEST_SUITE_LOG = test/test-suite.log
|
||||
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_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) \
|
||||
$(top_srcdir)/build-aux/tap-driver.sh
|
||||
PY_LOG_COMPILER = $(PYTHON) $(top_srcdir)/test/pacman/pactest.py
|
||||
AM_PY_LOG_FLAGS = \
|
||||
--scriptlet-shell $(SCRIPTLET_SHELL) \
|
||||
--ldconfig $(LDCONFIG) \
|
||||
--bindir $(top_builddir)/src/pacman \
|
||||
--bindir $(top_builddir)/scripts
|
||||
|
||||
# create the pacman DB, cache, makepkg-template and system hook directories upon install
|
||||
install-data-local:
|
||||
for dir in "$(DESTDIR)$(localstatedir)/lib/pacman" "$(DESTDIR)$(localstatedir)/cache/pacman/pkg" \
|
||||
"$(DESTDIR)$(datarootdir)/makepkg-template" "$(DESTDIR)$(datarootdir)/libalpm/hooks"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
|
||||
update-po:
|
||||
$(MAKE) -C lib/libalpm/po update-po
|
||||
$(MAKE) -C scripts/po update-po
|
||||
$(MAKE) -C src/pacman/po update-po
|
||||
|
||||
update-copyright:
|
||||
for file in $(shell sh -c 'git grep -l "Copyright .* Pacman Development" | grep -v "\.po"'); do \
|
||||
sed -i -e "/Copyright (/s/-$(OLD)/-$(NEW)/" -e "/Copyright (/s/ $(OLD)/ $(OLD)-$(NEW)/" "$$file"; \
|
||||
done
|
||||
|
||||
.PHONY: update-po update-copyright
|
||||
172
NEWS
172
NEWS
@@ -1,5 +1,147 @@
|
||||
VERSION DESCRIPTION
|
||||
-----------------------------------------------------------------------------
|
||||
5.2.1 - fix segfault on importing PGP keys for -U operations
|
||||
- fix distribution of meson files
|
||||
- fix inode command for darwin/bsd
|
||||
- distribute all documentation files
|
||||
- update bash/zsh completion for -F changes, remove --force
|
||||
- makepkg:
|
||||
- fix calculation of package sizes in presence of hardlinks
|
||||
- do not warn about PACKAGER format if not set
|
||||
- only run --clean when a package is built
|
||||
- repo-add:
|
||||
- fix compression of databases with zstd
|
||||
5.2.0 - completely remove delta support (CVE-2019-18183)
|
||||
- add support to pacman and pacman-key for downloading PGP
|
||||
signing keys using the WKD protocol (FS#63171)
|
||||
- completely remove the --force option
|
||||
- renovate and simplify the UI for -F (FS#47949)
|
||||
- hooks: rename type File to Path, for accuracy
|
||||
- add the meson build system as an alternative to autotools, and
|
||||
distribute it in autotools dist tarballs
|
||||
- switch from system() to exec() when using alternative download
|
||||
agents for XferCommand; this prevents a potential source of
|
||||
shell injection (CVE-2019-18182)
|
||||
- ignore .hook suffix when sorting libalpm hooks
|
||||
- update the minimum requirement of bash to 4.4
|
||||
- scripts: pass on options such as set -x to child processes
|
||||
- show group and installed status during -Fs
|
||||
- user-visible log when validity check fails due to access
|
||||
- port pactest to python3
|
||||
- process --needed before group selection when resolving the
|
||||
dependencies to prompt for (FS#22870)
|
||||
- don't error when a group exists but all packages are ignored
|
||||
- bash completion now completes when it should, and doesn't
|
||||
complete when it shouldn't (FS#59965)
|
||||
- improve error message when gpg support is missing (FS#60880)
|
||||
- don't emit confusing errors when a package is simultaneously
|
||||
replaced and upgraded (FS#50875, FS#55534)
|
||||
- better warning message when skipping duplicate targets
|
||||
(FS#49377)
|
||||
- libalpm: parse {check, make}depends when reading database
|
||||
(FS#60347)
|
||||
- add [ignored] to -Qu output for packages in repos that are not
|
||||
Usage = Upgrade (FS#59854)
|
||||
- prevent 301 redirect loop from hanging libalpm
|
||||
- use standard, consistent units in the download progress
|
||||
(FS#59201)
|
||||
- fix segfault when Usage is specified without a value
|
||||
- include timezones in pacman.log
|
||||
- bash-completion: use POSIX character classes for portability
|
||||
- correctly report a download failiure for 404s
|
||||
- fix handling of signals during SIGSEGV
|
||||
- fix buffer overread in pacman/callback
|
||||
- fix crash when downloading files with a Content-Disposition
|
||||
that has no directory component
|
||||
- pacman-conf, testpkg are now properly localized
|
||||
- when -F returns zero results, set a failing exit code
|
||||
- improve wording for the error message when a package cannot be
|
||||
removed due to dependencies
|
||||
- fix segfaults and other incorrect behavior when using -Qip if
|
||||
pacman was compiled without GPGME support
|
||||
- makepkg:
|
||||
- implement extendable source/signature verification routines
|
||||
within libmakepkg (FS#49076)
|
||||
- if pacman is in use, wait until it is available before
|
||||
continuing (FS#28840)
|
||||
- add support for lzip, lz4 and zst compressed packages
|
||||
(FS#56676, FS#59081)
|
||||
- add new checksum algorithm, b2sum
|
||||
- various improvements to PKGBUILD linting
|
||||
- when signing packages, report package filename on failure
|
||||
- fix pkgver() function not aborting on errors
|
||||
- remove checksum algorithm whirlpoolsum as it has not worked
|
||||
for a long time
|
||||
- reject PKGBUILDs with both split and non-split package
|
||||
functions
|
||||
- send status messages to stderr rather than stdout (FS#17173)
|
||||
- ensure debug buildflags are unset when they are supposed to be
|
||||
- buildenv and executable detection, definitions for the
|
||||
PKGBUILD schema, and makepkg.conf loading are now part of
|
||||
libmakepkg
|
||||
- fix broken check for the fakeroot binary
|
||||
- improve the error message for invalid dependency versioning
|
||||
- add routine for linting $SOURCE_DATE_EPOCH
|
||||
- fix the error code when no PKGBUILD exists
|
||||
- use --unneeded when removing build deps to allow runtime-only
|
||||
deps to work well with makepkg -sir (FS#32723)
|
||||
- compute package sizes correctly across different filesystems
|
||||
- use shared clones for git sources to save space when building
|
||||
- fix reporting of invalid archive extensions
|
||||
- correctly handle hg sources with updates on a non-default
|
||||
branch
|
||||
- install pkg-config file for libmakepkg's library directory
|
||||
- propagate error codes when package failed to sign correctly
|
||||
- be compatible with file 5.37's application/gzip MIME type
|
||||
- forbid non-ASCII pkgname and pkgver (FS#49342)
|
||||
- fix exiting on failure without ensuring dependencies are
|
||||
prompted for removal (FS#63000)
|
||||
- quiet superfluous warnings for missing debug source files for
|
||||
artificial symbols
|
||||
- add routine for linting $PACKAGER to check that it has a
|
||||
valid name and email address, and document the desired format
|
||||
in makepkg.conf(5)
|
||||
- add rust support for *FLAGS and debug-prefix-map
|
||||
- correctly handle a system file command with seccomp enabled
|
||||
(FS#58626)
|
||||
- try to more thoroughly clean up logpipe during unusual exit
|
||||
states such as CTRL-C
|
||||
- when installing packages with -sir, be more robust against
|
||||
conflicting makedepends by always uninstalling them first
|
||||
- fix exit code when removing deps fails
|
||||
- reproducible builds: suppress filesystem-specific archive
|
||||
metadata from built packages as they are not needed
|
||||
- pacman-key:
|
||||
- just accept one file to verify, and enforce detached sigs
|
||||
(FS#52022)
|
||||
- after recent GnuPG updates, ensure the Web of Trust is still
|
||||
used
|
||||
- clean keys during import to reduce size consumed by unusable
|
||||
signatures
|
||||
- repo-add:
|
||||
- add support for zst compressed databases
|
||||
- print the name of the database when extracting
|
||||
- do not infinitely loop on malformed arguments with embedded
|
||||
globs
|
||||
- add option to prevent downgrading (FS#17752)
|
||||
- various documentation updates
|
||||
5.1.3 - Sanitize file name received from Content-Disposition header
|
||||
during -U (CVE-2019-9686)
|
||||
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
|
||||
@@ -129,12 +271,30 @@ VERSION DESCRIPTION
|
||||
- vercmp:
|
||||
- remove duplicate, undocumented --usage option
|
||||
- fail when the wrong number of arguments are used (FS#49093)
|
||||
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)
|
||||
- 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
|
||||
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)
|
||||
- fix handling of stdin scripts called by pacman
|
||||
- hook activity is logged
|
||||
- documentataion updates for alpm-hooks (FS#48080)
|
||||
- documentation updates for alpm-hooks (FS#48080)
|
||||
- makepkg:
|
||||
- increase robustness of variable array checks
|
||||
- makepkg -g does not perform current architecture checks
|
||||
@@ -226,9 +386,9 @@ VERSION DESCRIPTION
|
||||
- Fix removal of static libraries when the shared library
|
||||
uses the absolute path in symbolic links (FS#43395)
|
||||
- Improve Bazaar cloning (FS#43448)
|
||||
- Fix issues with architecture dependant checksum
|
||||
- Fix issues with architecture dependent checksum
|
||||
verification (FS#43192)
|
||||
- Fix .SRCINFO file with architecture dependant fields
|
||||
- Fix .SRCINFO file with architecture dependent fields
|
||||
(FS#43247)
|
||||
- Fix compatibility with older bash versions
|
||||
- Allow git checkouts to be downloaded into directory ending
|
||||
@@ -318,7 +478,7 @@ VERSION DESCRIPTION
|
||||
- checkupdates: rename CHECKUPDATE_DB to CHECKUPDATES_DB
|
||||
- pacdiff: add a "Quit" option, and many other improvements
|
||||
- pacsysclean is removed
|
||||
4.1.2 - validate %FILEPATH% when parsing repos to prevent arbitary
|
||||
4.1.2 - validate %FILEPATH% when parsing repos to prevent arbitrary
|
||||
file overwrites from malicious databases
|
||||
- makepkg:
|
||||
- restrict package name from starting with a dot
|
||||
@@ -783,7 +943,7 @@ VERSION DESCRIPTION
|
||||
- repo-add: use openssl instead of md5sum
|
||||
- simplify doc building process for ease of development
|
||||
- ensure correct handling of syscall interruptions
|
||||
- readd missing newline on -Qi/-Si output (FS#11331)
|
||||
- re-add missing newline on -Qi/-Si output (FS#11331)
|
||||
- fix TotalDownload regression (FS#11339)
|
||||
- makepkg:
|
||||
- replace getopt with an internal function
|
||||
@@ -1229,7 +1389,7 @@ VERSION DESCRIPTION
|
||||
external download utility like wget
|
||||
- added a license field to package meta-data
|
||||
- add url support to -A and -U operations (download packages)
|
||||
- -Ss now searches thru provides fields
|
||||
- -Ss now searches through provides fields
|
||||
- added --dbonly option to -R
|
||||
2.7.6 - added --print-uris option
|
||||
- fixed an http download bug (FS#667)
|
||||
|
||||
40
README
40
README
@@ -58,7 +58,6 @@ library is initialized.
|
||||
* progresscb: Callback to handle display of transaction progress.
|
||||
* gpgdir: Directory where GnuPG files are stored.
|
||||
* arch: Allowed package architecture.
|
||||
* deltaratio: Download deltas if possible; a ratio value.
|
||||
* checkspace: Check disk space before installing.
|
||||
* default_siglevel: Default signature verification level.
|
||||
* local_file_siglevel: Signature verification level for local file upgrades.
|
||||
@@ -631,3 +630,42 @@ API CHANGES BETWEEN 5.0 AND 5.1
|
||||
- alpm_capabilities()
|
||||
- duplicate and add to list
|
||||
- alpm_list_append_strdup()
|
||||
|
||||
|
||||
API CHANGES BETWEEN 5.1 AND 5.2
|
||||
===============================
|
||||
|
||||
[REMOVED]
|
||||
- package delta support
|
||||
- alpm_delta_t
|
||||
- alpm_event_delta_patch_t
|
||||
- alpm_event_t union - removed alpm_event_delta_patch_t
|
||||
- ALPM_EVENT_DELTA_INTEGRITY_START, ALPM_EVENT_DELTA_INTEGRITY_DONE,
|
||||
ALPM_EVENT_DELTA_PATCHES_START, ALPM_EVENT_DELTA_PATCHES_DONE,
|
||||
ALPM_EVENT_DELTA_PATCH_START, ALPM_EVENT_DELTA_PATCH_DONE,
|
||||
ALPM_EVENT_DELTA_PATCH_FAILED
|
||||
- ALPM_ERR_DLT_INVALID, ALPM_ERR_DLT_PATCHFAILED
|
||||
- alpm_option_get_deltaratio()
|
||||
- alpm_option_set_deltaratio()
|
||||
- alpm_pkg_get_deltas()
|
||||
- alpm_pkg_unused_deltas()
|
||||
- alpm_transflag_t - removed member ALPM_TRANS_FLAG_FORCE
|
||||
|
||||
[CHANGED]
|
||||
- alpm_errno_t - added member ALPM_ERR_MISSING_CAPABILITY_SIGNATURES
|
||||
- alpm_sync_newversion() replaced with alpm_sync_get_new_version() which
|
||||
does not filter on any ALPM_DB_USAGE_*.
|
||||
|
||||
|
||||
API CHANGES BETWEEN 5.2 AND 6.0
|
||||
===============================
|
||||
|
||||
[REMOVED]
|
||||
- ALPM_EVENT_PKGDOWNLOAD_START, ALPM_EVENT_PKGDOWNLOAD_DONE, ALPM_EVENT_PKGDOWNLOAD_FAILED
|
||||
|
||||
[CHANGED]
|
||||
- alpm_db_update() changed its signature and now accepts a list of databases
|
||||
rather than a single database. This is need to handle database downloading
|
||||
in a multiplexed way.
|
||||
|
||||
[ADDED]
|
||||
|
||||
8
RELEASE
8
RELEASE
@@ -1,21 +1,21 @@
|
||||
The following checklist should be used for making a pacman release.
|
||||
|
||||
- Ensure "make distcheck" succeeds
|
||||
- Ensure "ninja dist" 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 version in meson.build 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")
|
||||
- Create and sign release tarballs (generate with "ninja dist")
|
||||
- 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")
|
||||
- Update po files ("./build-aux/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)
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
autoreconf -i
|
||||
patch -d build-aux -Np0 -i ltmain-asneeded.patch
|
||||
|
||||
exit 0
|
||||
27
build-aux/edit-script.sh.in
Normal file
27
build-aux/edit-script.sh.in
Normal file
@@ -0,0 +1,27 @@
|
||||
#!@BASH@
|
||||
|
||||
input=$1
|
||||
output=$2
|
||||
mode=$3
|
||||
|
||||
"@SED@" \
|
||||
-e "s|@rootdir[@]|@ROOTDIR@|g" \
|
||||
-e "s|@localedir[@]|@LOCALEDIR@|g" \
|
||||
-e "s|@sysconfdir[@]|@sysconfdir@|g" \
|
||||
-e "s|@localstatedir[@]|@localstatedir@|g" \
|
||||
-e "s|@libmakepkgdir[@]|@LIBMAKEPKGDIR@|g" \
|
||||
-e "s|@pkgdatadir[@]|@PKGDATADIR@|g" \
|
||||
-e "s|@prefix[@]|@PREFIX@|g" \
|
||||
-e "1s|#!/bin/bash|#!@BASH@|g" \
|
||||
-e "s|@PACKAGE_VERSION[@]|@PACKAGE_VERSION@|g" \
|
||||
-e "s|@PACKAGE_NAME[@]|@PACKAGE_NAME@|g" \
|
||||
-e "s|@BUILDSCRIPT[@]|@BUILDSCRIPT@|g" \
|
||||
-e "s|@TEMPLATE_DIR[@]|@TEMPLATE_DIR@|g" \
|
||||
-e "s|@DEBUGSUFFIX[@]|@DEBUGSUFFIX@|g" \
|
||||
-e "s|@INODECMD[@]|@INODECMD@|g" \
|
||||
-e "s|@FILECMD[@]|@FILECMD@|g" \
|
||||
"$input" >"$output"
|
||||
|
||||
if [[ $mode ]]; then
|
||||
chmod "$mode" "$output"
|
||||
fi
|
||||
@@ -1,33 +0,0 @@
|
||||
--- ltmain.sh.orig 2013-06-26 14:31:53.472627840 +1000
|
||||
+++ ltmain.sh 2013-06-26 14:30:56.137038936 +1000
|
||||
@@ -5800,6 +5800,14 @@
|
||||
arg=$func_stripname_result
|
||||
;;
|
||||
|
||||
+ -Wl,*--as-needed*)
|
||||
+ deplibs="$deplibs $wl--as-needed"
|
||||
+ ;;
|
||||
+
|
||||
+ -Wl,*--no-as-needed*)
|
||||
+ deplibs="$deplibs $wl--no-as-needed"
|
||||
+ ;;
|
||||
+
|
||||
-Wl,*)
|
||||
func_stripname '-Wl,' '' "$arg"
|
||||
args=$func_stripname_result
|
||||
@@ -6160,6 +6168,15 @@
|
||||
lib=
|
||||
found=no
|
||||
case $deplib in
|
||||
+ -Wl,--as-needed|-Wl,--no-as-needed)
|
||||
+ if test "$linkmode,$pass" = "prog,link"; then
|
||||
+ compile_deplibs="$deplib $compile_deplibs"
|
||||
+ finalize_deplibs="$deplib $finalize_deplibs"
|
||||
+ else
|
||||
+ deplibs="$deplib $deplibs"
|
||||
+ fi
|
||||
+ continue
|
||||
+ ;;
|
||||
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|
||||
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
|
||||
if test "$linkmode,$pass" = "prog,link"; then
|
||||
12
build-aux/meson-make-symlink.sh
Normal file
12
build-aux/meson-make-symlink.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
# this is needed mostly because $DESTDIR is provided as a variable,
|
||||
# and we need to create the target directory...
|
||||
|
||||
mkdir -vp "$(dirname "${DESTDIR:-}$2")"
|
||||
if [ "$(dirname $1)" = . ]; then
|
||||
ln -vfs -T "$1" "${DESTDIR:-}$2"
|
||||
else
|
||||
ln -vfs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2"
|
||||
fi
|
||||
6
build-aux/script-wrapper.sh.in
Executable file
6
build-aux/script-wrapper.sh.in
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script serves as a trampoline for running scripts which depend on
|
||||
# libmakepkg with the libmakepkg within the build tree.
|
||||
|
||||
LIBRARY=@BUILDDIR@/libmakepkg exec @BASH@ -$- @REAL_PROGPATH@ "$@"
|
||||
@@ -1,652 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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, 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/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
scriptversion=2011-12-27.17; # UTC
|
||||
|
||||
# Make unconditional expansion of undefined variables an error. This
|
||||
# helps a lot in preventing typo-related bugs.
|
||||
set -u
|
||||
|
||||
me=tap-driver.sh
|
||||
|
||||
fatal ()
|
||||
{
|
||||
echo "$me: fatal: $*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
usage_error ()
|
||||
{
|
||||
echo "$me: $*" >&2
|
||||
print_usage >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
print_usage ()
|
||||
{
|
||||
cat <<END
|
||||
Usage:
|
||||
tap-driver.sh --test-name=NAME --log-file=PATH --trs-file=PATH
|
||||
[--expect-failure={yes|no}] [--color-tests={yes|no}]
|
||||
[--enable-hard-errors={yes|no}] [--ignore-exit]
|
||||
[--diagnostic-string=STRING] [--merge|--no-merge]
|
||||
[--comments|--no-comments] [--] TEST-COMMAND
|
||||
The \`--test-name', \`--log-file' and \`--trs-file' options are mandatory.
|
||||
END
|
||||
}
|
||||
|
||||
# TODO: better error handling in option parsing (in particular, ensure
|
||||
# TODO: $log_file, $trs_file and $test_name are defined).
|
||||
test_name= # Used for reporting.
|
||||
log_file= # Where to save the result and output of the test script.
|
||||
trs_file= # Where to save the metadata of the test run.
|
||||
expect_failure=0
|
||||
color_tests=0
|
||||
merge=0
|
||||
ignore_exit=0
|
||||
comments=0
|
||||
diag_string='#'
|
||||
while test $# -gt 0; do
|
||||
case $1 in
|
||||
--help) print_usage; exit $?;;
|
||||
--version) echo "$me $scriptversion"; exit $?;;
|
||||
--test-name) test_name=$2; shift;;
|
||||
--log-file) log_file=$2; shift;;
|
||||
--trs-file) trs_file=$2; shift;;
|
||||
--color-tests) color_tests=$2; shift;;
|
||||
--expect-failure) expect_failure=$2; shift;;
|
||||
--enable-hard-errors) shift;; # No-op.
|
||||
--merge) merge=1;;
|
||||
--no-merge) merge=0;;
|
||||
--ignore-exit) ignore_exit=1;;
|
||||
--comments) comments=1;;
|
||||
--no-comments) comments=0;;
|
||||
--diagnostic-string) diag_string=$2; shift;;
|
||||
--) shift; break;;
|
||||
-*) usage_error "invalid option: '$1'";;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
test $# -gt 0 || usage_error "missing test command"
|
||||
|
||||
case $expect_failure in
|
||||
yes) expect_failure=1;;
|
||||
*) expect_failure=0;;
|
||||
esac
|
||||
|
||||
if test $color_tests = yes; then
|
||||
init_colors='
|
||||
color_map["red"]="[0;31m" # Red.
|
||||
color_map["grn"]="[0;32m" # Green.
|
||||
color_map["lgn"]="[1;32m" # Light green.
|
||||
color_map["blu"]="[1;34m" # Blue.
|
||||
color_map["mgn"]="[0;35m" # Magenta.
|
||||
color_map["std"]="[m" # No color.
|
||||
color_for_result["ERROR"] = "mgn"
|
||||
color_for_result["PASS"] = "grn"
|
||||
color_for_result["XPASS"] = "red"
|
||||
color_for_result["FAIL"] = "red"
|
||||
color_for_result["XFAIL"] = "lgn"
|
||||
color_for_result["SKIP"] = "blu"'
|
||||
else
|
||||
init_colors=''
|
||||
fi
|
||||
|
||||
# :; is there to work around a bug in bash 3.2 (and earlier) which
|
||||
# does not always set '$?' properly on redirection failure.
|
||||
# See the Autoconf manual for more details.
|
||||
:;{
|
||||
(
|
||||
# Ignore common signals (in this subshell only!), to avoid potential
|
||||
# problems with Korn shells. Some Korn shells are known to propagate
|
||||
# to themselves signals that have killed a child process they were
|
||||
# waiting for; this is done at least for SIGINT (and usually only for
|
||||
# it, in truth). Without the `trap' below, such a behaviour could
|
||||
# cause a premature exit in the current subshell, e.g., in case the
|
||||
# test command it runs gets terminated by a SIGINT. Thus, the awk
|
||||
# script we are piping into would never seen the exit status it
|
||||
# expects on its last input line (which is displayed below by the
|
||||
# last `echo $?' statement), and would thus die reporting an internal
|
||||
# error.
|
||||
# For more information, see the Autoconf manual and the threads:
|
||||
# <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
|
||||
# <http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html>
|
||||
trap : 1 3 2 13 15
|
||||
if test $merge -gt 0; then
|
||||
exec 2>&1
|
||||
else
|
||||
exec 2>&3
|
||||
fi
|
||||
"$@"
|
||||
echo $?
|
||||
) | LC_ALL=C ${AM_TAP_AWK-awk} \
|
||||
-v me="$me" \
|
||||
-v test_script_name="$test_name" \
|
||||
-v log_file="$log_file" \
|
||||
-v trs_file="$trs_file" \
|
||||
-v expect_failure="$expect_failure" \
|
||||
-v merge="$merge" \
|
||||
-v ignore_exit="$ignore_exit" \
|
||||
-v comments="$comments" \
|
||||
-v diag_string="$diag_string" \
|
||||
'
|
||||
# FIXME: the usages of "cat >&3" below could be optimized when using
|
||||
# FIXME: GNU awk, and/on on systems that supports /dev/fd/.
|
||||
|
||||
# Implementation note: in what follows, `result_obj` will be an
|
||||
# associative array that (partly) simulates a TAP result object
|
||||
# from the `TAP::Parser` perl module.
|
||||
|
||||
## ----------- ##
|
||||
## FUNCTIONS ##
|
||||
## ----------- ##
|
||||
|
||||
function fatal(msg)
|
||||
{
|
||||
print me ": " msg | "cat >&2"
|
||||
exit 1
|
||||
}
|
||||
|
||||
function abort(where)
|
||||
{
|
||||
fatal("internal error " where)
|
||||
}
|
||||
|
||||
# Convert a boolean to a "yes"/"no" string.
|
||||
function yn(bool)
|
||||
{
|
||||
return bool ? "yes" : "no";
|
||||
}
|
||||
|
||||
function add_test_result(result)
|
||||
{
|
||||
if (!test_results_index)
|
||||
test_results_index = 0
|
||||
test_results_list[test_results_index] = result
|
||||
test_results_index += 1
|
||||
test_results_seen[result] = 1;
|
||||
}
|
||||
|
||||
# Whether the test script should be re-run by "make recheck".
|
||||
function must_recheck()
|
||||
{
|
||||
for (k in test_results_seen)
|
||||
if (k != "XFAIL" && k != "PASS" && k != "SKIP")
|
||||
return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
# Whether the content of the log file associated to this test should
|
||||
# be copied into the "global" test-suite.log.
|
||||
function copy_in_global_log()
|
||||
{
|
||||
for (k in test_results_seen)
|
||||
if (k != "PASS")
|
||||
return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
# FIXME: this can certainly be improved ...
|
||||
function get_global_test_result()
|
||||
{
|
||||
if ("ERROR" in test_results_seen)
|
||||
return "ERROR"
|
||||
if ("FAIL" in test_results_seen || "XPASS" in test_results_seen)
|
||||
return "FAIL"
|
||||
all_skipped = 1
|
||||
for (k in test_results_seen)
|
||||
if (k != "SKIP")
|
||||
all_skipped = 0
|
||||
if (all_skipped)
|
||||
return "SKIP"
|
||||
return "PASS";
|
||||
}
|
||||
|
||||
function stringify_result_obj(result_obj)
|
||||
{
|
||||
if (result_obj["is_unplanned"] || result_obj["number"] != testno)
|
||||
return "ERROR"
|
||||
|
||||
if (plan_seen == LATE_PLAN)
|
||||
return "ERROR"
|
||||
|
||||
if (result_obj["directive"] == "TODO")
|
||||
return result_obj["is_ok"] ? "XPASS" : "XFAIL"
|
||||
|
||||
if (result_obj["directive"] == "SKIP")
|
||||
return result_obj["is_ok"] ? "SKIP" : COOKED_FAIL;
|
||||
|
||||
if (length(result_obj["directive"]))
|
||||
abort("in function stringify_result_obj()")
|
||||
|
||||
return result_obj["is_ok"] ? COOKED_PASS : COOKED_FAIL
|
||||
}
|
||||
|
||||
function decorate_result(result)
|
||||
{
|
||||
color_name = color_for_result[result]
|
||||
if (color_name)
|
||||
return color_map[color_name] "" result "" color_map["std"]
|
||||
# If we are not using colorized output, or if we do not know how
|
||||
# to colorize the given result, we should return it unchanged.
|
||||
return result
|
||||
}
|
||||
|
||||
function report(result, details)
|
||||
{
|
||||
if (result ~ /^(X?(PASS|FAIL)|SKIP|ERROR)/)
|
||||
{
|
||||
msg = ": " test_script_name
|
||||
add_test_result(result)
|
||||
}
|
||||
else if (result == "#")
|
||||
{
|
||||
msg = " " test_script_name ":"
|
||||
}
|
||||
else
|
||||
{
|
||||
abort("in function report()")
|
||||
}
|
||||
if (length(details))
|
||||
msg = msg " " details
|
||||
# Output on console might be colorized.
|
||||
print decorate_result(result) msg
|
||||
# Log the result in the log file too, to help debugging (this is
|
||||
# especially true when said result is a TAP error or "Bail out!").
|
||||
print result msg | "cat >&3";
|
||||
}
|
||||
|
||||
function testsuite_error(error_message)
|
||||
{
|
||||
report("ERROR", "- " error_message)
|
||||
}
|
||||
|
||||
function handle_tap_result()
|
||||
{
|
||||
details = result_obj["number"];
|
||||
if (length(result_obj["description"]))
|
||||
details = details " " result_obj["description"]
|
||||
|
||||
if (plan_seen == LATE_PLAN)
|
||||
{
|
||||
details = details " # AFTER LATE PLAN";
|
||||
}
|
||||
else if (result_obj["is_unplanned"])
|
||||
{
|
||||
details = details " # UNPLANNED";
|
||||
}
|
||||
else if (result_obj["number"] != testno)
|
||||
{
|
||||
details = sprintf("%s # OUT-OF-ORDER (expecting %d)",
|
||||
details, testno);
|
||||
}
|
||||
else if (result_obj["directive"])
|
||||
{
|
||||
details = details " # " result_obj["directive"];
|
||||
if (length(result_obj["explanation"]))
|
||||
details = details " " result_obj["explanation"]
|
||||
}
|
||||
|
||||
report(stringify_result_obj(result_obj), details)
|
||||
}
|
||||
|
||||
# `skip_reason` should be empty whenever planned > 0.
|
||||
function handle_tap_plan(planned, skip_reason)
|
||||
{
|
||||
planned += 0 # Avoid getting confused if, say, `planned` is "00"
|
||||
if (length(skip_reason) && planned > 0)
|
||||
abort("in function handle_tap_plan()")
|
||||
if (plan_seen)
|
||||
{
|
||||
# Error, only one plan per stream is acceptable.
|
||||
testsuite_error("multiple test plans")
|
||||
return;
|
||||
}
|
||||
planned_tests = planned
|
||||
# The TAP plan can come before or after *all* the TAP results; we speak
|
||||
# respectively of an "early" or a "late" plan. If we see the plan line
|
||||
# after at least one TAP result has been seen, assume we have a late
|
||||
# plan; in this case, any further test result seen after the plan will
|
||||
# be flagged as an error.
|
||||
plan_seen = (testno >= 1 ? LATE_PLAN : EARLY_PLAN)
|
||||
# If testno > 0, we have an error ("too many tests run") that will be
|
||||
# automatically dealt with later, so do not worry about it here. If
|
||||
# $plan_seen is true, we have an error due to a repeated plan, and that
|
||||
# has already been dealt with above. Otherwise, we have a valid "plan
|
||||
# with SKIP" specification, and should report it as a particular kind
|
||||
# of SKIP result.
|
||||
if (planned == 0 && testno == 0)
|
||||
{
|
||||
if (length(skip_reason))
|
||||
skip_reason = "- " skip_reason;
|
||||
report("SKIP", skip_reason);
|
||||
}
|
||||
}
|
||||
|
||||
function extract_tap_comment(line)
|
||||
{
|
||||
if (index(line, diag_string) == 1)
|
||||
{
|
||||
# Strip leading `diag_string` from `line`.
|
||||
line = substr(line, length(diag_string) + 1)
|
||||
# And strip any leading and trailing whitespace left.
|
||||
sub("^[ \t]*", "", line)
|
||||
sub("[ \t]*$", "", line)
|
||||
# Return what is left (if any).
|
||||
return line;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
# When this function is called, we know that line is a TAP result line,
|
||||
# so that it matches the (perl) RE "^(not )?ok\b".
|
||||
function setup_result_obj(line)
|
||||
{
|
||||
# Get the result, and remove it from the line.
|
||||
result_obj["is_ok"] = (substr(line, 1, 2) == "ok" ? 1 : 0)
|
||||
sub("^(not )?ok[ \t]*", "", line)
|
||||
|
||||
# If the result has an explicit number, get it and strip it; otherwise,
|
||||
# automatically assing the next progresive number to it.
|
||||
if (line ~ /^[0-9]+$/ || line ~ /^[0-9]+[^a-zA-Z0-9_]/)
|
||||
{
|
||||
match(line, "^[0-9]+")
|
||||
# The final `+ 0` is to normalize numbers with leading zeros.
|
||||
result_obj["number"] = substr(line, 1, RLENGTH) + 0
|
||||
line = substr(line, RLENGTH + 1)
|
||||
}
|
||||
else
|
||||
{
|
||||
result_obj["number"] = testno
|
||||
}
|
||||
|
||||
if (plan_seen == LATE_PLAN)
|
||||
# No further test results are acceptable after a "late" TAP plan
|
||||
# has been seen.
|
||||
result_obj["is_unplanned"] = 1
|
||||
else if (plan_seen && testno > planned_tests)
|
||||
result_obj["is_unplanned"] = 1
|
||||
else
|
||||
result_obj["is_unplanned"] = 0
|
||||
|
||||
# Strip trailing and leading whitespace.
|
||||
sub("^[ \t]*", "", line)
|
||||
sub("[ \t]*$", "", line)
|
||||
|
||||
# This will have to be corrected if we have a "TODO"/"SKIP" directive.
|
||||
result_obj["description"] = line
|
||||
result_obj["directive"] = ""
|
||||
result_obj["explanation"] = ""
|
||||
|
||||
if (index(line, "#") == 0)
|
||||
return # No possible directive, nothing more to do.
|
||||
|
||||
# Directives are case-insensitive.
|
||||
rx = "[ \t]*#[ \t]*([tT][oO][dD][oO]|[sS][kK][iI][pP])[ \t]*"
|
||||
|
||||
# See whether we have the directive, and if yes, where.
|
||||
pos = match(line, rx "$")
|
||||
if (!pos)
|
||||
pos = match(line, rx "[^a-zA-Z0-9_]")
|
||||
|
||||
# If there was no TAP directive, we have nothing more to do.
|
||||
if (!pos)
|
||||
return
|
||||
|
||||
# Let`s now see if the TAP directive has been escaped. For example:
|
||||
# escaped: ok \# SKIP
|
||||
# not escaped: ok \\# SKIP
|
||||
# escaped: ok \\\\\# SKIP
|
||||
# not escaped: ok \ # SKIP
|
||||
if (substr(line, pos, 1) == "#")
|
||||
{
|
||||
bslash_count = 0
|
||||
for (i = pos; i > 1 && substr(line, i - 1, 1) == "\\"; i--)
|
||||
bslash_count += 1
|
||||
if (bslash_count % 2)
|
||||
return # Directive was escaped.
|
||||
}
|
||||
|
||||
# Strip the directive and its explanation (if any) from the test
|
||||
# description.
|
||||
result_obj["description"] = substr(line, 1, pos - 1)
|
||||
# Now remove the test description from the line, that has been dealt
|
||||
# with already.
|
||||
line = substr(line, pos)
|
||||
# Strip the directive, and save its value (normalized to upper case).
|
||||
sub("^[ \t]*#[ \t]*", "", line)
|
||||
result_obj["directive"] = toupper(substr(line, 1, 4))
|
||||
line = substr(line, 5)
|
||||
# Now get the explanation for the directive (if any), with leading
|
||||
# and trailing whitespace removed.
|
||||
sub("^[ \t]*", "", line)
|
||||
sub("[ \t]*$", "", line)
|
||||
result_obj["explanation"] = line
|
||||
}
|
||||
|
||||
function get_test_exit_message(status)
|
||||
{
|
||||
if (status == 0)
|
||||
return ""
|
||||
if (status !~ /^[1-9][0-9]*$/)
|
||||
abort("getting exit status")
|
||||
if (status < 127)
|
||||
exit_details = ""
|
||||
else if (status == 127)
|
||||
exit_details = " (command not found?)"
|
||||
else if (status >= 128 && status <= 255)
|
||||
exit_details = sprintf(" (terminated by signal %d?)", status - 128)
|
||||
else if (status > 256 && status <= 384)
|
||||
# We used to report an "abnormal termination" here, but some Korn
|
||||
# shells, when a child process die due to signal number n, can leave
|
||||
# in $? an exit status of 256+n instead of the more standard 128+n.
|
||||
# Apparently, both behaviours are allowed by POSIX (2008), so be
|
||||
# prepared to handle them both. See also Austing Group report ID
|
||||
# 0000051 <http://www.austingroupbugs.net/view.php?id=51>
|
||||
exit_details = sprintf(" (terminated by signal %d?)", status - 256)
|
||||
else
|
||||
# Never seen in practice.
|
||||
exit_details = " (abnormal termination)"
|
||||
return sprintf("exited with status %d%s", status, exit_details)
|
||||
}
|
||||
|
||||
function write_test_results()
|
||||
{
|
||||
print ":global-test-result: " get_global_test_result() > trs_file
|
||||
print ":recheck: " yn(must_recheck()) > trs_file
|
||||
print ":copy-in-global-log: " yn(copy_in_global_log()) > trs_file
|
||||
for (i = 0; i < test_results_index; i += 1)
|
||||
print ":test-result: " test_results_list[i] > trs_file
|
||||
close(trs_file);
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
|
||||
## ------- ##
|
||||
## SETUP ##
|
||||
## ------- ##
|
||||
|
||||
'"$init_colors"'
|
||||
|
||||
# Properly initialized once the TAP plan is seen.
|
||||
planned_tests = 0
|
||||
|
||||
COOKED_PASS = expect_failure ? "XPASS": "PASS";
|
||||
COOKED_FAIL = expect_failure ? "XFAIL": "FAIL";
|
||||
|
||||
# Enumeration-like constants to remember which kind of plan (if any)
|
||||
# has been seen. It is important that NO_PLAN evaluates "false" as
|
||||
# a boolean.
|
||||
NO_PLAN = 0
|
||||
EARLY_PLAN = 1
|
||||
LATE_PLAN = 2
|
||||
|
||||
testno = 0 # Number of test results seen so far.
|
||||
bailed_out = 0 # Whether a "Bail out!" directive has been seen.
|
||||
|
||||
# Whether the TAP plan has been seen or not, and if yes, which kind
|
||||
# it is ("early" is seen before any test result, "late" otherwise).
|
||||
plan_seen = NO_PLAN
|
||||
|
||||
## --------- ##
|
||||
## PARSING ##
|
||||
## --------- ##
|
||||
|
||||
is_first_read = 1
|
||||
|
||||
while (1)
|
||||
{
|
||||
# Involutions required so that we are able to read the exit status
|
||||
# from the last input line.
|
||||
st = getline
|
||||
if (st < 0) # I/O error.
|
||||
fatal("I/O error while reading from input stream")
|
||||
else if (st == 0) # End-of-input
|
||||
{
|
||||
if (is_first_read)
|
||||
abort("in input loop: only one input line")
|
||||
break
|
||||
}
|
||||
if (is_first_read)
|
||||
{
|
||||
is_first_read = 0
|
||||
nextline = $0
|
||||
continue
|
||||
}
|
||||
else
|
||||
{
|
||||
curline = nextline
|
||||
nextline = $0
|
||||
$0 = curline
|
||||
}
|
||||
# Copy any input line verbatim into the log file.
|
||||
print | "cat >&3"
|
||||
# Parsing of TAP input should stop after a "Bail out!" directive.
|
||||
if (bailed_out)
|
||||
continue
|
||||
|
||||
# TAP test result.
|
||||
if ($0 ~ /^(not )?ok$/ || $0 ~ /^(not )?ok[^a-zA-Z0-9_]/)
|
||||
{
|
||||
testno += 1
|
||||
setup_result_obj($0)
|
||||
handle_tap_result()
|
||||
}
|
||||
# TAP plan (normal or "SKIP" without explanation).
|
||||
else if ($0 ~ /^1\.\.[0-9]+[ \t]*$/)
|
||||
{
|
||||
# The next two lines will put the number of planned tests in $0.
|
||||
sub("^1\\.\\.", "")
|
||||
sub("[^0-9]*$", "")
|
||||
handle_tap_plan($0, "")
|
||||
continue
|
||||
}
|
||||
# TAP "SKIP" plan, with an explanation.
|
||||
else if ($0 ~ /^1\.\.0+[ \t]*#/)
|
||||
{
|
||||
# The next lines will put the skip explanation in $0, stripping
|
||||
# any leading and trailing whitespace. This is a little more
|
||||
# tricky in truth, since we want to also strip a potential leading
|
||||
# "SKIP" string from the message.
|
||||
sub("^[^#]*#[ \t]*(SKIP[: \t][ \t]*)?", "")
|
||||
sub("[ \t]*$", "");
|
||||
handle_tap_plan(0, $0)
|
||||
}
|
||||
# "Bail out!" magic.
|
||||
# Older versions of prove and TAP::Harness (e.g., 3.17) did not
|
||||
# recognize a "Bail out!" directive when preceded by leading
|
||||
# whitespace, but more modern versions (e.g., 3.23) do. So we
|
||||
# emulate the latter, "more modern" behaviour.
|
||||
else if ($0 ~ /^[ \t]*Bail out!/)
|
||||
{
|
||||
bailed_out = 1
|
||||
# Get the bailout message (if any), with leading and trailing
|
||||
# whitespace stripped. The message remains stored in `$0`.
|
||||
sub("^[ \t]*Bail out![ \t]*", "");
|
||||
sub("[ \t]*$", "");
|
||||
# Format the error message for the
|
||||
bailout_message = "Bail out!"
|
||||
if (length($0))
|
||||
bailout_message = bailout_message " " $0
|
||||
testsuite_error(bailout_message)
|
||||
}
|
||||
# Maybe we have too look for dianogtic comments too.
|
||||
else if (comments != 0)
|
||||
{
|
||||
comment = extract_tap_comment($0);
|
||||
if (length(comment))
|
||||
report("#", comment);
|
||||
}
|
||||
}
|
||||
|
||||
## -------- ##
|
||||
## FINISH ##
|
||||
## -------- ##
|
||||
|
||||
# A "Bail out!" directive should cause us to ignore any following TAP
|
||||
# error, as well as a non-zero exit status from the TAP producer.
|
||||
if (!bailed_out)
|
||||
{
|
||||
if (!plan_seen)
|
||||
{
|
||||
testsuite_error("missing test plan")
|
||||
}
|
||||
else if (planned_tests != testno)
|
||||
{
|
||||
bad_amount = testno > planned_tests ? "many" : "few"
|
||||
testsuite_error(sprintf("too %s tests run (expected %d, got %d)",
|
||||
bad_amount, planned_tests, testno))
|
||||
}
|
||||
if (!ignore_exit)
|
||||
{
|
||||
# Fetch exit status from the last line.
|
||||
exit_message = get_test_exit_message(nextline)
|
||||
if (exit_message)
|
||||
testsuite_error(exit_message)
|
||||
}
|
||||
}
|
||||
|
||||
write_test_results()
|
||||
|
||||
exit 0
|
||||
|
||||
} # End of "BEGIN" block.
|
||||
'
|
||||
|
||||
# TODO: document that we consume the file descriptor 3 :-(
|
||||
} 3>"$log_file"
|
||||
|
||||
test $? -eq 0 || fatal "I/O or internal error"
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
8
build-aux/update-copyright
Executable file
8
build-aux/update-copyright
Executable file
@@ -0,0 +1,8 @@
|
||||
#! /bin/sh
|
||||
|
||||
OLD=$1
|
||||
NEW=$2
|
||||
|
||||
for file in $(git grep -l "Copyright .* Pacman Development" | grep -v "\.po"); do \
|
||||
sed -i -e "/Copyright (/s/-${OLD}/-${NEW}/" -e "/Copyright (/s/ ${OLD}/ ${OLD}-${NEW}/" "$file"
|
||||
done
|
||||
39
build-aux/update-po
Executable file
39
build-aux/update-po
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
find_build_directory() {
|
||||
local build_dirs=(*/build.ninja)
|
||||
|
||||
if [[ ! -e ${build_dirs[0]} ]]; then
|
||||
echo "error: No build directory found. Have you run 'meson build' yet?" >&2
|
||||
return 1
|
||||
elif (( ${#build_dirs[*]} > 1 )); then
|
||||
echo "error: Multiple build directories found. Unable to proceed." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
printf '%s\n' "${build_dirs[0]%/*}"
|
||||
}
|
||||
|
||||
|
||||
filter_targets_by_name() {
|
||||
if command -v jq &>/dev/null; then
|
||||
jq --arg re "$1" -r 'map(.name)[] | select(match($re))'
|
||||
else
|
||||
json_pp | awk -v filter="$1" -F'[:"]' \
|
||||
'$2 == "name" && $(NF - 1) ~ filter { print $(NF - 1) }'
|
||||
fi
|
||||
}
|
||||
|
||||
# Make things simple and require that we're in the build root rather than
|
||||
# trying to chase down the location of this script and the relative build dir.
|
||||
if [[ ! -d .git ]]; then
|
||||
echo "This script must be run from the root of the repository" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
build_dir=$(find_build_directory) || exit 1
|
||||
|
||||
mapfile -t targets < \
|
||||
<(meson introspect "$build_dir" --targets | filter_targets_by_name "-update-po$")
|
||||
|
||||
ninja -C "$build_dir" "${targets[@]}"
|
||||
596
configure.ac
596
configure.ac
@@ -1,596 +0,0 @@
|
||||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
# Minimum version of autoconf required
|
||||
AC_PREREQ(2.64)
|
||||
|
||||
# UPDATING VERSION NUMBERS FOR RELEASES
|
||||
#
|
||||
# libalpm:
|
||||
# current
|
||||
# The most recent interface number that this library implements.
|
||||
# revision
|
||||
# The implementation number of the current interface.
|
||||
# age
|
||||
# The difference between the newest and oldest interfaces that this library
|
||||
# implements. In other words, the library implements all the interface
|
||||
# numbers in the range from number current - age to current.
|
||||
#
|
||||
# 1. Start with version information of `0:0:0' for each libtool library.
|
||||
# 2. Update the version information only immediately before a public release of
|
||||
# your software. More frequent updates are unnecessary, and only guarantee
|
||||
# that the current interface number gets larger faster.
|
||||
# 3. If the library source code has changed at all since the last update, then
|
||||
# increment revision (`c:r:a' becomes `c:r+1:a').
|
||||
# 4. If any interfaces have been added, removed, or changed since the last
|
||||
# update, increment current, and set revision to 0.
|
||||
# 5. If any interfaces have been added since the last public release, then
|
||||
# increment age.
|
||||
# 6. If any interfaces have been removed since the last public release, then
|
||||
# set age to 0.
|
||||
#
|
||||
# pacman:
|
||||
# Extreme huge major changes:
|
||||
# pacman_version_major += 1
|
||||
# pacman_version_minor = 0
|
||||
# pacman_version_micro = 0
|
||||
#
|
||||
# Real releases:
|
||||
# pacman_version_minor += 1
|
||||
# pacman_version_micro = 0
|
||||
#
|
||||
# Bugfix releases:
|
||||
# pacman_version_micro += 1
|
||||
|
||||
m4_define([lib_current], [11])
|
||||
m4_define([lib_revision], [1])
|
||||
m4_define([lib_age], [0])
|
||||
|
||||
m4_define([pacman_version_major], [5])
|
||||
m4_define([pacman_version_minor], [1])
|
||||
m4_define([pacman_version_micro], [1])
|
||||
m4_define([pacman_version],
|
||||
[pacman_version_major.pacman_version_minor.pacman_version_micro])
|
||||
|
||||
# Autoconf initialization
|
||||
AC_INIT([pacman], [pacman_version], [pacman-dev@archlinux.org])
|
||||
AC_CONFIG_SRCDIR([config.h.in])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_REQUIRE_AUX_FILE([tap-driver.sh])
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
AM_INIT_AUTOMAKE([1.11 foreign])
|
||||
AM_SILENT_RULES([yes])
|
||||
|
||||
LT_INIT
|
||||
LIB_VERSION=`expr lib_current - lib_age`.lib_age.lib_revision
|
||||
LIB_VERSION_INFO="lib_current:lib_revision:lib_age"
|
||||
|
||||
# Respect empty CFLAGS during compiler tests
|
||||
if test "x$CFLAGS" = "x"; then
|
||||
CFLAGS=""
|
||||
fi
|
||||
|
||||
# Set subsitution values for version stuff in Makefiles and anywhere else,
|
||||
# and put LIB_VERSION in config.h
|
||||
AC_SUBST(LIB_VERSION)
|
||||
AC_SUBST(LIB_VERSION_INFO)
|
||||
AC_DEFINE_UNQUOTED([LIB_VERSION], ["$LIB_VERSION"], [libalpm version number])
|
||||
|
||||
# Help line for root directory
|
||||
AC_ARG_WITH(root-dir,
|
||||
AS_HELP_STRING([--with-root-dir=path], [set the location of the root operating directory]),
|
||||
[ROOTDIR=$withval], [ROOTDIR=/])
|
||||
|
||||
# Help line for package extension
|
||||
AC_ARG_WITH(pkg-ext,
|
||||
AS_HELP_STRING([--with-pkg-ext=ext], [set the file extension used by packages]),
|
||||
[PKGEXT=$withval], [PKGEXT=.pkg.tar.gz])
|
||||
|
||||
# Help line for source package directory
|
||||
AC_ARG_WITH(src-ext,
|
||||
AS_HELP_STRING([--with-src-ext=ext], [set the file extension used by source packages]),
|
||||
[SRCEXT=$withval], [SRCEXT=.src.tar.gz])
|
||||
|
||||
# Help line for buildscript filename
|
||||
AC_ARG_WITH(buildscript,
|
||||
AS_HELP_STRING([--with-buildscript=name], [set the build script name used by makepkg]),
|
||||
[BUILDSCRIPT=$withval], [BUILDSCRIPT=PKGBUILD])
|
||||
|
||||
# Help line for buildscript filename
|
||||
AC_ARG_WITH(makepkg-template-dir,
|
||||
AS_HELP_STRING([--with-makepkg-template-dir=name], [set the template dir used by makepkg-template]),
|
||||
[TEMPLATE_DIR=$withval], [TEMPLATE_DIR=/usr/share/makepkg-template])
|
||||
|
||||
# Help line for debug package suffix
|
||||
AC_ARG_WITH(debug-suffix,
|
||||
AS_HELP_STRING([--with-debug-suffix=name], [set the suffix for split debugging symbol packages used by makepkg]),
|
||||
[DEBUGSUFFIX=$withval], [DEBUGSUFFIX=debug])
|
||||
|
||||
# Help line for changing shell used to run install scriptlets
|
||||
AC_ARG_WITH(scriptlet-shell,
|
||||
AS_HELP_STRING([--with-scriptlet-shell=shell],
|
||||
[set the full path to the shell used to run install scriptlets]),
|
||||
[SCRIPTLET_SHELL=$withval], [SCRIPTLET_SHELL=/bin/sh])
|
||||
|
||||
# Help line for ldconfig path
|
||||
AC_ARG_WITH(ldconfig,
|
||||
AS_HELP_STRING([--with-ldconfig=path],
|
||||
[set the full path to ldconfig]),
|
||||
[LDCONFIG=$withval], [LDCONFIG=/sbin/ldconfig])
|
||||
|
||||
# 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,
|
||||
AS_HELP_STRING([--with-gpgme], [use GPGME for PGP signature verification]),
|
||||
[], [with_gpgme=check])
|
||||
|
||||
# Help line for using libcurl
|
||||
AC_ARG_WITH(libcurl,
|
||||
AS_HELP_STRING([--with-libcurl], [use libcurl for the internal downloader]),
|
||||
[], [with_libcurl=check])
|
||||
|
||||
# Help line for documentation
|
||||
AC_ARG_ENABLE(doc,
|
||||
AS_HELP_STRING([--disable-doc], [prevent make from looking at doc/ dir]),
|
||||
[wantdoc=$enableval], [wantdoc=yes])
|
||||
|
||||
# Help line for doxygen
|
||||
AC_ARG_ENABLE(doxygen,
|
||||
AS_HELP_STRING([--enable-doxygen], [build your own API docs via Doxygen]),
|
||||
[wantdoxygen=$enableval], [wantdoxygen=no])
|
||||
|
||||
# Help line for debug
|
||||
AC_ARG_ENABLE(debug,
|
||||
AS_HELP_STRING([--enable-debug], [enable debugging support]),
|
||||
[debug=$enableval], [debug=no])
|
||||
|
||||
# Help line for compiler warning flags
|
||||
AC_ARG_ENABLE(warningflags,
|
||||
AS_HELP_STRING([--enable-warningflags], [enable extra compiler warning flags]),
|
||||
[warningflags=$enableval], [warningflags=no])
|
||||
|
||||
# Help line for using git version in pacman version string
|
||||
AC_ARG_ENABLE(git-version,
|
||||
AS_HELP_STRING([--enable-git-version],
|
||||
[enable use of git version in version string if available]),
|
||||
[wantgitver=$enableval], [wantgitver=no])
|
||||
|
||||
# Enable large file support if available (must be enabled before
|
||||
# testing compilation against gpgme).
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
# Record large file flags in pkgconfig file
|
||||
if test "$enable_largefile" != no; then
|
||||
if test "$ac_cv_sys_file_offset_bits" != 'no'; then
|
||||
LFS_CFLAGS="-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(LFS_CFLAGS)
|
||||
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_AWK
|
||||
AC_PROG_CC_C99
|
||||
AC_PROG_INSTALL
|
||||
AC_CHECK_PROGS([PYTHON], [python2.7 python2 python], [false])
|
||||
AC_PATH_PROGS([BASH_SHELL], [bash bash4], [false])
|
||||
|
||||
# check for perl 5.10.1 (needed by makepkg-template)
|
||||
AC_PATH_PROG([PERL],[perl])
|
||||
AC_DEFUN([AX_PROG_PERL_VERSION],
|
||||
[AC_CACHE_CHECK([for Perl version $1 or later], [ax_cv_prog_perl_version],
|
||||
[AS_IF(["$PERL" -e 'require v$1;' >/dev/null 2>&1],
|
||||
[ax_cv_prog_perl_version=yes],
|
||||
[ax_cv_prog_perl_version=no])])
|
||||
AS_IF([test x"$ax_cv_prog_perl_version" = xyes], [$2], [$3])])
|
||||
AX_PROG_PERL_VERSION([5.10.1], [], [AC_MSG_ERROR([perl is too old])])
|
||||
|
||||
AS_IF([test "x$BASH_SHELL" = "xfalse"],
|
||||
AC_MSG_WARN([*** bash >= 4.1.0 is required for pacman scripts]),
|
||||
[bash_version_major=`$BASH_SHELL -c 'echo "${BASH_VERSINFO[[0]]}"'`
|
||||
bash_version_minor=`$BASH_SHELL -c 'echo "${BASH_VERSINFO[[1]]}"'`
|
||||
ok=yes
|
||||
if test "$bash_version_major" -lt 4; then
|
||||
ok=no
|
||||
fi
|
||||
if test "$bash_version_major" -eq 4 && test "$bash_version_minor" -lt 1; then
|
||||
ok=no
|
||||
fi
|
||||
if test "$ok" = "no"; then
|
||||
AC_MSG_ERROR([*** bash >= 4.1.0 is required for pacman scripts])
|
||||
fi
|
||||
unset bash_version_major bash_version_minor ok])
|
||||
|
||||
# find installed gettext
|
||||
AM_GNU_GETTEXT([external], [need-ngettext])
|
||||
AM_GNU_GETTEXT_VERSION(0.13.1)
|
||||
|
||||
AC_CHECK_LIB([m], [fabs], ,
|
||||
AC_MSG_ERROR([libm is needed to compile pacman!]))
|
||||
|
||||
# Check for libarchive
|
||||
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
|
||||
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; 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.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.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)
|
||||
AS_IF([test "x$with_gpgme" != "xno"],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
|
||||
have_gpgme=no
|
||||
AS_IF([test "x$with_gpgme" != "xno"],
|
||||
[AM_PATH_GPGME([1.3.0],
|
||||
[LIBS_save="$LIBS"
|
||||
CPPFLAGS_save="$CPPFLAGS"
|
||||
CFLAGS_save="$CFLAGS"
|
||||
|
||||
LIBS="$LIBS $GPGME_LIBS"
|
||||
CPPFLAGS="$CPPFLAGS $GPGME_CPPFLAGS"
|
||||
CFLAGS="$CFLAGS $GPGME_CFLAGS"
|
||||
|
||||
AC_MSG_CHECKING([for sane gpgme])
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <gpgme.h>]],
|
||||
[[return gpgme_check_version("1.3.0");]])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
have_gpgme=yes
|
||||
AC_DEFINE([HAVE_LIBGPGME], [1], [Define if gpgme should be used to provide GPG signature support.])],
|
||||
[AC_MSG_RESULT([no])
|
||||
have_gpgme=no
|
||||
unset GPGME_LIBS
|
||||
unset GPGME_CFLAGS]
|
||||
AS_IF([test "x$with_gpgme" = "xyes"],
|
||||
[AC_MSG_FAILURE([*** gpgme >= 1.3.0 is needed for GPG signature support])])
|
||||
)
|
||||
|
||||
LIBS="$LIBS_save"
|
||||
CPPFLAGS="$CPPFLAGS_save"
|
||||
CFLAGS="$CFLAGS_save"
|
||||
unset CPPFLAGS_save
|
||||
unset CFLAGS_save],)])
|
||||
|
||||
AS_IF([test "x$have_gpgme" = xno -a "x$with_gpgme" = xyes],
|
||||
[AC_MSG_FAILURE([--with-gpgme was given, but gpgme was not found])])
|
||||
AM_CONDITIONAL([HAVE_LIBGPGME], [test "x$have_gpgme" = "xyes"])
|
||||
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([fcntl.h float.h glob.h langinfo.h libintl.h limits.h \
|
||||
locale.h mntent.h netinet/in.h netinet/tcp.h \
|
||||
stddef.h string.h sys/ioctl.h \
|
||||
sys/mnttab.h sys/mount.h \
|
||||
sys/param.h sys/statvfs.h sys/time.h sys/types.h \
|
||||
sys/ucred.h syslog.h termios.h wchar.h])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_INLINE
|
||||
AC_TYPE_INT64_T
|
||||
AC_TYPE_MODE_T
|
||||
AC_TYPE_OFF_T
|
||||
AC_TYPE_PID_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_TYPE_SSIZE_T
|
||||
AC_STRUCT_TM
|
||||
AC_TYPE_UID_T
|
||||
AC_STRUCT_DIRENT_D_TYPE
|
||||
PATH_MAX_DEFINED
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_FORK
|
||||
AC_FUNC_GETMNTENT
|
||||
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
|
||||
AC_FUNC_MKTIME
|
||||
AC_FUNC_STRCOLL
|
||||
AC_CHECK_FUNCS([dup2 getcwd getmntinfo gettimeofday memmove memset \
|
||||
mkdir realpath regcomp rmdir setenv setlocale strcasecmp \
|
||||
strchr strcspn strdup strerror strndup strnlen strrchr \
|
||||
strsep strstr strtol swprintf tcflush wcwidth uname])
|
||||
AC_CHECK_MEMBERS([struct stat.st_blksize],,,[[#include <sys/stat.h>]])
|
||||
|
||||
# For the diskspace code
|
||||
FS_STATS_TYPE
|
||||
AC_CHECK_MEMBERS([struct statvfs.f_flag],,,[[#include <sys/statvfs.h>]])
|
||||
AC_CHECK_MEMBERS([struct statfs.f_flags],,,[[#include <sys/param.h>
|
||||
#include <sys/mount.h>]])
|
||||
|
||||
# Check if we can use symbol visibility support in GCC
|
||||
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'"
|
||||
STRIP_BINARIES="--strip-all"
|
||||
STRIP_SHARED="--strip-unneeded"
|
||||
STRIP_STATIC="--strip-debug"
|
||||
case "${host_os}" in
|
||||
*bsd*)
|
||||
INODECMD="stat -f '%i %N'"
|
||||
OWNERCMD="stat -f '%u:%g'"
|
||||
MODECMD="stat -f '%Lp'"
|
||||
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'"
|
||||
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(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}"
|
||||
AC_SUBST(CARCH)
|
||||
AC_SUBST(CHOST)
|
||||
|
||||
# Check for documentation support and status
|
||||
AC_CHECK_PROGS([ASCIIDOC], [asciidoc])
|
||||
AC_MSG_CHECKING([for building documentation])
|
||||
if test "x$wantdoc" = "xyes" ; then
|
||||
if test $ASCIIDOC ; then
|
||||
AC_MSG_RESULT([yes, enabled by configure])
|
||||
else
|
||||
asciidoc="(warning : asciidoc not installed)"
|
||||
AC_MSG_RESULT([yes $asciidoc])
|
||||
fi
|
||||
wantdoc=yes
|
||||
else
|
||||
AC_MSG_RESULT([no, disabled by configure])
|
||||
wantdoc=no
|
||||
fi
|
||||
AM_CONDITIONAL(WANT_DOC, test "x$wantdoc" = "xyes")
|
||||
|
||||
# Check for doxygen support and status
|
||||
AC_CHECK_PROGS([DOXYGEN], [doxygen])
|
||||
AC_MSG_CHECKING([for doxygen])
|
||||
if test "x$wantdoxygen" = "xyes" ; then
|
||||
if test $DOXYGEN ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
usedoxygen=yes
|
||||
else
|
||||
AC_MSG_RESULT([no, doxygen missing])
|
||||
usedoxygen=no
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([no, disabled by configure])
|
||||
usedoxygen=no
|
||||
fi
|
||||
AM_CONDITIONAL(USE_DOXYGEN, test "x$usedoxygen" = "xyes")
|
||||
|
||||
# Enable or disable debug code
|
||||
AC_MSG_CHECKING(for debug mode request)
|
||||
if test "x$debug" = "xyes" ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE([PACMAN_DEBUG], , [Enable debug code])
|
||||
# Check for -fstack-protector availability
|
||||
GCC_STACK_PROTECT_LIB
|
||||
GCC_STACK_PROTECT_CC
|
||||
GCC_FORTIFY_SOURCE_CC
|
||||
WARNING_CFLAGS="-g -Wall -Werror"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
WARNING_CFLAGS="-Wall"
|
||||
fi
|
||||
|
||||
# Enable or disable compiler warning flags
|
||||
AC_MSG_CHECKING(for excessive compiler warning flags)
|
||||
if test "x$warningflags" = "xyes" ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
CFLAGS_ADD([-Wcast-align], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wclobbered], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wempty-body], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wfloat-equal], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wformat-nonliteral], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wformat-security], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wignored-qualifiers], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Winit-self], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wlogical-op], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wmissing-declarations], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wmissing-field-initializers], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wmissing-parameter-type], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wmissing-prototypes], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wold-style-declaration], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Woverride-init], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wpointer-arith], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wredundant-decls], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wshadow], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wsign-compare], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wstrict-aliasing], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wstrict-overflow=5], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wstrict-prototypes], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wtype-limits], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wuninitialized], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wunused-but-set-parameter], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wunused-parameter], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wwrite-strings], [WARNING_CFLAGS])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
# Enable or disable use of git version in pacman version string
|
||||
AC_MSG_CHECKING(whether to use git version if available)
|
||||
if test "x$wantgitver" = "xyes" ; then
|
||||
AC_CHECK_PROGS([GIT], [git])
|
||||
AC_CHECK_FILE([.git/], hasgitdir=yes)
|
||||
usegitver=$ac_cv_file__git_
|
||||
if test $GIT -a "x$hasgitdir" = "xyes"; then
|
||||
AC_DEFINE([USE_GIT_VERSION], , [Use GIT version in version string])
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([no, disabled by configure])
|
||||
usegitver=no
|
||||
fi
|
||||
AM_CONDITIONAL(USE_GIT_VERSION, test "x$usegitver" = "xyes")
|
||||
|
||||
# Set root directory
|
||||
AC_SUBST(ROOTDIR)
|
||||
AC_DEFINE_UNQUOTED([ROOTDIR], "$ROOTDIR", [The location of the root operating directory])
|
||||
# Set package file extension
|
||||
AC_SUBST(PKGEXT)
|
||||
AC_DEFINE_UNQUOTED([PKGEXT], "$PKGEXT", [The file extension used by pacman packages])
|
||||
# Set source package file extension
|
||||
AC_SUBST(SRCEXT)
|
||||
AC_DEFINE_UNQUOTED([SRCEXT], "$SRCEXT", [The file extension used by pacman source packages])
|
||||
# Set makepkg build script name
|
||||
AC_SUBST(BUILDSCRIPT)
|
||||
AC_DEFINE_UNQUOTED([BUILDSCRIPT], "$BUILDSCRIPT", [The build script name used by makepkg])
|
||||
# Set makepkg-template template directory
|
||||
AC_SUBST(TEMPLATE_DIR)
|
||||
AC_DEFINE_UNQUOTED([TEMPLATE_DIR], "$TEMPLATE_DIR", [The template directory used by makepkg-teplate])
|
||||
# Set makepkg split debugging symbol package suffix
|
||||
AC_SUBST(DEBUGSUFFIX)
|
||||
AC_DEFINE_UNQUOTED([DEBUGSUFFIX], "$DEBUGSUFFIX", [The suffix for debugging symbol packages used by makepkg])
|
||||
# Set shell used by install scriptlets
|
||||
AC_SUBST(SCRIPTLET_SHELL)
|
||||
AC_DEFINE_UNQUOTED([SCRIPTLET_SHELL], "$SCRIPTLET_SHELL", [The full path of the shell used to run install scriptlets])
|
||||
# Set ldconfig path
|
||||
AC_SUBST(LDCONFIG)
|
||||
AC_DEFINE_UNQUOTED([LDCONFIG], "$LDCONFIG", [The full path to ldconfig])
|
||||
|
||||
|
||||
# Configuration files
|
||||
AC_CONFIG_FILES([
|
||||
lib/libalpm/Makefile
|
||||
lib/libalpm/po/Makefile.in
|
||||
lib/libalpm/libalpm.pc
|
||||
src/common/Makefile
|
||||
src/pacman/Makefile
|
||||
src/pacman/po/Makefile.in
|
||||
src/util/Makefile
|
||||
scripts/Makefile
|
||||
scripts/po/Makefile.in
|
||||
doc/Makefile
|
||||
etc/Makefile
|
||||
test/pacman/Makefile
|
||||
test/pacman/tests/Makefile
|
||||
test/scripts/Makefile
|
||||
test/util/Makefile
|
||||
Makefile
|
||||
])
|
||||
AC_OUTPUT
|
||||
|
||||
echo "
|
||||
${PACKAGE_NAME}:
|
||||
|
||||
Build information:
|
||||
source code location : ${srcdir}
|
||||
prefix : ${prefix}
|
||||
sysconfdir : $(eval echo ${sysconfdir})
|
||||
conf file : $(eval echo ${sysconfdir})/pacman.conf
|
||||
localstatedir : $(eval echo ${localstatedir})
|
||||
database dir : $(eval echo ${localstatedir})/lib/pacman/
|
||||
cache dir : $(eval echo ${localstatedir})/cache/pacman/pkg/
|
||||
|
||||
compiler : ${CC}
|
||||
preprocessor flags : ${CPPFLAGS}
|
||||
compiler flags : ${WARNING_CFLAGS} ${CFLAGS}
|
||||
library flags : ${LIBS} ${LIBSSL_LIBS} ${NETTLE_LIBS} ${LIBARCHIVE_LIBS} ${LIBCURL_LIBS} ${GPGME_LIBS}
|
||||
linker flags : ${LDFLAGS}
|
||||
|
||||
Architecture : ${CARCH}
|
||||
Host Type : ${CHOST}
|
||||
File inode command : ${INODECMD}
|
||||
File owner command : ${OWNERCMD}
|
||||
File mode command : ${MODECMD}
|
||||
In-place sed command : ${SEDPATH} ${SEDINPLACEFLAGS}
|
||||
|
||||
libalpm version : ${LIB_VERSION}
|
||||
libalpm version info : ${LIB_VERSION_INFO}
|
||||
pacman version : ${PACKAGE_VERSION}
|
||||
using git version : ${usegitver}
|
||||
|
||||
Directory and file information:
|
||||
root working directory : ${ROOTDIR}
|
||||
package extension : ${PKGEXT}
|
||||
source pkg extension : ${SRCEXT}
|
||||
build script name : ${BUILDSCRIPT}
|
||||
template directory : ${TEMPLATE_DIR}
|
||||
|
||||
Compilation options:
|
||||
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}
|
||||
"
|
||||
1
doc/.gitignore
vendored
1
doc/.gitignore
vendored
@@ -6,3 +6,4 @@ asciidoc.js
|
||||
*.xml
|
||||
man3
|
||||
website.tar.gz
|
||||
Doxyfile
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
BUILDINFO(5)
|
||||
============
|
||||
|
||||
@@ -53,6 +50,9 @@ BUILDINFO file format.
|
||||
*builddir*::
|
||||
The directory where the package was built.
|
||||
|
||||
*startdir*::
|
||||
The directory from which makepkg was executed.
|
||||
|
||||
*buildenv (array)*::
|
||||
The build environment specified in makepkg.conf.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ PROJECT_NAME = libalpm
|
||||
PROJECT_NUMBER =
|
||||
PROJECT_BRIEF = "Arch Linux Package Manager Library"
|
||||
PROJECT_LOGO =
|
||||
OUTPUT_DIRECTORY = ./
|
||||
OUTPUT_DIRECTORY = @OUTPUT_DIRECTORY@
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
178
doc/Makefile.am
178
doc/Makefile.am
@@ -1,178 +0,0 @@
|
||||
# We have to do some funny stuff here with the manpages. In order to ensure
|
||||
# a dist tarball doesn't get put out there without manpages, we keep those
|
||||
# files listed in EXTRA_DIST no matter what. However, we only add them to
|
||||
# man_MANS if --enable-asciidoc and/or --enable-doxygen are used.
|
||||
|
||||
ASCIIDOC_MANS = \
|
||||
alpm-hooks.5 \
|
||||
pacman.8 \
|
||||
makepkg.8 \
|
||||
makepkg-template.1 \
|
||||
repo-add.8 \
|
||||
vercmp.8 \
|
||||
pkgdelta.8 \
|
||||
pacman-key.8 \
|
||||
PKGBUILD.5 \
|
||||
makepkg.conf.5 \
|
||||
pacman.conf.5 \
|
||||
libalpm.3 \
|
||||
BUILDINFO.5
|
||||
|
||||
DOXYGEN_MANS = $(wildcard man3/*.3)
|
||||
|
||||
HTML_MANPAGES = \
|
||||
alpm-hooks.5.html \
|
||||
pacman.8.html \
|
||||
makepkg.8.html \
|
||||
makepkg-template.1.html \
|
||||
repo-add.8.html \
|
||||
vercmp.8.html \
|
||||
pkgdelta.8.html \
|
||||
pacman-key.8.html \
|
||||
PKGBUILD.5.html \
|
||||
makepkg.conf.5.html \
|
||||
pacman.conf.5.html \
|
||||
libalpm.3.html
|
||||
|
||||
HTML_OTHER = \
|
||||
index.html \
|
||||
submitting-patches.html \
|
||||
translation-help.html \
|
||||
HACKING.html
|
||||
|
||||
HTML_DOCS = \
|
||||
$(HTML_MANPAGES) \
|
||||
$(HTML_OTHER)
|
||||
|
||||
EXTRA_DIST = \
|
||||
asciidoc.conf \
|
||||
asciidoc-override.css \
|
||||
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.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)
|
||||
|
||||
# Files that should be removed, but which Automake does not know.
|
||||
MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) $(HTML_DOCS) repo-remove.8 website.tar.gz
|
||||
|
||||
# Ensure manpages are fresh when building a dist tarball
|
||||
dist-hook:
|
||||
$(MAKE) $(AM_MAKEFLAGS) clean
|
||||
$(MAKE) $(AM_MAKEFLAGS) all
|
||||
|
||||
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
|
||||
|
||||
man_MANS =
|
||||
dist_man_MANS = $(ASCIIDOC_MANS)
|
||||
|
||||
if USE_DOXYGEN
|
||||
man_MANS += $(DOXYGEN_MANS)
|
||||
|
||||
all-local: doxygen.in
|
||||
|
||||
doxygen.in:
|
||||
$(DOXYGEN) $(srcdir)/Doxyfile
|
||||
endif
|
||||
|
||||
html: $(HTML_DOCS)
|
||||
|
||||
website: website.tar.gz
|
||||
|
||||
.PHONY: html website
|
||||
|
||||
website.tar.gz: html
|
||||
$(AM_V_GEN)bsdtar czf $@ $(HTML_DOCS) \
|
||||
asciidoc-override.css \
|
||||
-C /etc/asciidoc/stylesheets/ \
|
||||
asciidoc.css \
|
||||
-C /etc/asciidoc/javascripts/ \
|
||||
asciidoc.js \
|
||||
-C /etc/asciidoc/ \
|
||||
images
|
||||
|
||||
pkgdatadir = ${datadir}/${PACKAGE}
|
||||
|
||||
ASCIIDOC_OPTS = \
|
||||
-f $(srcdir)/asciidoc.conf \
|
||||
-a pacman_version="$(REAL_PACKAGE_VERSION)" \
|
||||
-a pacman_date="`date +%Y-%m-%d`" \
|
||||
-a pkgdatadir=$(pkgdatadir) \
|
||||
-a localstatedir=$(localstatedir) \
|
||||
-a sysconfdir=$(sysconfdir) \
|
||||
-a datarootdir=$(datarootdir)
|
||||
|
||||
A2X_OPTS = \
|
||||
--no-xmllint \
|
||||
-d manpage \
|
||||
-f manpage \
|
||||
--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.asciidoc Makefile.am
|
||||
$(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.asciidoc
|
||||
|
||||
%.html: %.asciidoc
|
||||
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - $*.asciidoc | \
|
||||
sed -e 's/\r$$//' > $@
|
||||
|
||||
HACKING.html: ../HACKING
|
||||
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - ../HACKING | \
|
||||
sed -e 's/\r$$//' > $@
|
||||
|
||||
# Customizations for certain HTML docs
|
||||
$(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
|
||||
%.5.html: ASCIIDOC_OPTS += -d manpage
|
||||
%.3.html: ASCIIDOC_OPTS += -d manpage
|
||||
|
||||
# Dependency rules
|
||||
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
|
||||
$(LN_S) repo-add.8 repo-remove.8
|
||||
|
||||
install-data-hook:
|
||||
cd $(DESTDIR)$(mandir)/man8 && \
|
||||
$(RM) repo-remove.8 && \
|
||||
( $(LN_S) repo-add.8 repo-remove.8 || \
|
||||
ln repo-add.8 repo-remove.8 || \
|
||||
cp repo-add.8 repo-remove.8 )
|
||||
|
||||
uninstall-hook:
|
||||
$(RM) $(DESTDIR)$(mandir)/man8/repo-remove.8
|
||||
@@ -60,8 +60,8 @@ systems (see below).
|
||||
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 a postive integer, with an optional subrelease level
|
||||
specified by adding another postive integer separated by a period
|
||||
variable is a positive integer, with an optional subrelease level
|
||||
specified by adding another positive integer separated by a period
|
||||
(i.e. in the form x.y).
|
||||
|
||||
*epoch*::
|
||||
@@ -118,7 +118,7 @@ systems (see below).
|
||||
+
|
||||
Additional architecture-specific sources can be added by appending an
|
||||
underscore and the architecture name e.g., 'source_x86_64=()'. There must be a
|
||||
corresponding integrity array with checksums, e.g. 'md5sums_x86_64=()'.
|
||||
corresponding integrity array with checksums, e.g. 'cksums_x86_64=()'.
|
||||
+
|
||||
It is also possible to change the name of the downloaded file, which is helpful
|
||||
with weird URLs and for handling multiple source files with the same
|
||||
@@ -146,17 +146,19 @@ contain whitespace characters.
|
||||
listed here will not be extracted with the rest of the source files. This
|
||||
is useful for packages that use compressed data directly.
|
||||
|
||||
*md5sums (array)*::
|
||||
This array contains an MD5 hash for every source file specified in the
|
||||
*cksums (array)*::
|
||||
This array contains CRC checksums for every source file specified in the
|
||||
source array (in the same order). makepkg will use this to verify source
|
||||
file integrity during subsequent builds. If 'SKIP' is put in the array
|
||||
in place of a normal hash, the integrity check for that source file will
|
||||
be skipped. To easily generate md5sums, run ``makepkg -g >> PKGBUILD''.
|
||||
If desired, move the md5sums line to an appropriate location.
|
||||
be skipped. To easily generate cksums, run ``makepkg -g >> PKGBUILD''.
|
||||
If desired, move the cksums line to an appropriate location. Note that
|
||||
checksums generated by "makepkg -g" should be verified using checksum
|
||||
values provided by the software developer.
|
||||
|
||||
*sha1sums, sha224sums, sha256sums, sha384sums, sha512sums (arrays)*::
|
||||
*md5sums, sha1sums, sha224sums, sha256sums, sha384sums, sha512sums, b2sums (arrays)*::
|
||||
Alternative integrity checks that makepkg supports; these all behave
|
||||
similar to the md5sums option described above. To enable use and generation
|
||||
similar to the cksums option described above. To enable use and generation
|
||||
of these checksums, be sure to set up the `INTEGRITY_CHECK` option in
|
||||
linkman:makepkg.conf[5].
|
||||
|
||||
@@ -296,23 +298,23 @@ underscore and the architecture name e.g., 'replaces_x86_64=()'.
|
||||
Compress man and info pages with gzip.
|
||||
|
||||
*ccache*;;
|
||||
Allow the use of ccache during build. More useful in its negative
|
||||
Allow the use of ccache during `build()`. More useful in its negative
|
||||
form `!ccache` with select packages that have problems building
|
||||
with ccache.
|
||||
|
||||
*distcc*;;
|
||||
Allow the use of distcc during build. More useful in its negative
|
||||
Allow the use of distcc during `build()`. More useful in its negative
|
||||
form `!distcc` with select packages that have problems building
|
||||
with distcc.
|
||||
|
||||
*buildflags*;;
|
||||
Allow the use of user-specific buildflags (CPPFLAGS, CFLAGS, CXXFLAGS,
|
||||
LDFLAGS) during build as specified in linkman:makepkg.conf[5]. More
|
||||
LDFLAGS) during `build()` as specified in linkman:makepkg.conf[5]. More
|
||||
useful in its negative form `!buildflags` with select packages that
|
||||
have problems building with custom buildflags.
|
||||
|
||||
*makeflags*;;
|
||||
Allow the use of user-specific makeflags during build as specified
|
||||
Allow the use of user-specific makeflags during `build()` as specified
|
||||
in linkman:makepkg.conf[5]. More useful in its negative form
|
||||
`!makeflags` with select packages that have problems building with
|
||||
custom makeflags such as `-j2` (or higher).
|
||||
@@ -332,6 +334,14 @@ PKGBUILD must contain a `package()` function which installs all the package's
|
||||
files into the packaging directory, with optional `prepare()`, `build()`, and
|
||||
`check()` functions being used to create those files from source.
|
||||
|
||||
This is directly sourced and executed by makepkg, so anything that Bash or the
|
||||
system has available is available for use here. Be sure any exotic commands
|
||||
used are covered by the `makedepends` array.
|
||||
|
||||
If you create any variables of your own in any of these functions, it is
|
||||
recommended to use the Bash `local` keyword to scope the variable to inside the
|
||||
function.
|
||||
|
||||
*package() Function*::
|
||||
The `package()` function is used to install files into the directory that
|
||||
will become the root directory of the built package and is run after all
|
||||
@@ -348,14 +358,7 @@ files into the packaging directory, with optional `prepare()`, `build()`, and
|
||||
|
||||
*build() Function*::
|
||||
The optional `build()` function is use to compile and/or adjust the source
|
||||
files in preparation to be installed by the `package()` function. This is
|
||||
directly sourced and executed by makepkg, so anything that Bash or the
|
||||
system has available is available for use here. Be sure any exotic
|
||||
commands used are covered by the `makedepends` array.
|
||||
+
|
||||
If you create any variables of your own in the `build()` function, it is
|
||||
recommended to use the Bash `local` keyword to scope the variable to inside
|
||||
the `build()` function.
|
||||
files in preparation to be installed by the `package()` function.
|
||||
|
||||
*check() Function*::
|
||||
An optional `check()` function can be specified in which a package's
|
||||
@@ -465,11 +468,13 @@ reference with all of the available functions defined.
|
||||
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?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.
|
||||
control system (VCS) is enabled by specifying the source in the form:
|
||||
|
||||
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 four components:
|
||||
|
||||
@@ -487,13 +492,16 @@ The source URL is divided into four components:
|
||||
|
||||
*fragment*::
|
||||
(optional) Allows specifying a revision number or branch for makepkg to checkout
|
||||
from the VCS. For example, to checkout a given revision, the source line would
|
||||
have the format `source=(url#revision=123)`. The available fragments depends on
|
||||
the VCS being used:
|
||||
from the VCS. A fragment has the form `type=value`, for example to checkout a
|
||||
given revision the source line would be `source=(url#revision=123)`. The
|
||||
available types depends on the VCS being used:
|
||||
|
||||
*bzr*;;
|
||||
revision (see `'bzr help revisionspec'` for details)
|
||||
|
||||
*fossil*;;
|
||||
branch, commit, tag
|
||||
|
||||
*git*;;
|
||||
branch, commit, tag
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ SYNOPSIS
|
||||
--------
|
||||
[Trigger] (Required, Repeatable)
|
||||
Operation = Install|Upgrade|Remove (Required, Repeatable)
|
||||
Type = File|Package (Required)
|
||||
Type = Path|Package (Required)
|
||||
Target = <Path|PkgName> (Required, Repeatable)
|
||||
|
||||
[Action] (Required)
|
||||
@@ -49,19 +49,20 @@ defined the hook will run if the transaction matches *any* of the triggers.
|
||||
Select the type of operation to match targets against. May be specified
|
||||
multiple times. Installations are considered an upgrade if the package or
|
||||
file is already present on the system regardless of whether the new package
|
||||
version is actually greater than the currently installed version. For File
|
||||
version is actually greater than the currently installed version. For Path
|
||||
triggers, this is true even if the file changes ownership from one package
|
||||
to another. Required.
|
||||
|
||||
*Type =* File|Package::
|
||||
*Type =* Path|Package::
|
||||
Select whether targets are matched against transaction packages or files.
|
||||
See CAVEATS for special notes regarding File triggers. Required.
|
||||
See CAVEATS for special notes regarding Path triggers. 'File' is a deprecated
|
||||
alias for 'Path' and will be removed in a future release. Required.
|
||||
|
||||
*Target =* <path|package>::
|
||||
The file path or package name to match against the active transaction.
|
||||
File paths refer to the files in the package archive; the installation root
|
||||
The path or package name to match against the active transaction.
|
||||
Paths refer to the files in the package archive; the installation root
|
||||
should *not* be included in the path. Shell-style glob patterns are
|
||||
allowed. It is possible to invert matches by prepending a file with an
|
||||
allowed. It is possible to invert matches by prepending a target with an
|
||||
exclamation mark. May be specified multiple times. Required.
|
||||
|
||||
ACTIONS
|
||||
@@ -119,7 +120,7 @@ Exec = /usr/bin/sync
|
||||
CAVEATS
|
||||
-------
|
||||
|
||||
There are situations when file triggers may act in unexpected ways. Hooks are
|
||||
There are situations when path triggers may act in unexpected ways. Hooks are
|
||||
triggered using the file list of the installed, upgraded, or removed package.
|
||||
When installing or upgrading a file that is extracted with a '.pacnew'
|
||||
extension, the original file name is used in triggering the hook. When
|
||||
|
||||
@@ -6,8 +6,9 @@ information on pacman and its related tools.
|
||||
Bugs
|
||||
----
|
||||
Bugs? You must be kidding; there are no bugs in this software. But if we
|
||||
happen to be wrong, send us an email with as much detail as possible to
|
||||
mailto:pacman-dev@archlinux.org[].
|
||||
happen to be wrong, submit a bug report with as much detail as possible
|
||||
at the https://bugs.archlinux.org/index.php?project=3[Arch Linux Bug Tracker]
|
||||
in the Pacman section.
|
||||
|
||||
|
||||
Authors
|
||||
@@ -17,14 +18,15 @@ Current maintainers:
|
||||
|
||||
* Allan McRae <allan@archlinux.org>
|
||||
* Andrew Gregory <andrew.gregory.8@gmail.com>
|
||||
* Dan McGee <dan@archlinux.org>
|
||||
* Dave Reisner <dreisner@archlinux.org>
|
||||
* Eli Schwartz <eschwartz@archlinux.org>
|
||||
|
||||
Past major contributors:
|
||||
|
||||
* Judd Vinet <jvinet@zeroflux.org>
|
||||
* Aurelien Foret <aurelien@archlinux.org>
|
||||
* Aaron Griffin <aaron@archlinux.org>
|
||||
* Dan McGee <dan@archlinux.org>
|
||||
* Xavier Chantry <shiningxc@gmail.com>
|
||||
* Nagy Gabor <ngaba@bibl.u-szeged.hu>
|
||||
|
||||
|
||||
@@ -43,25 +43,27 @@ There are several man pages available for the programs, utilities, and
|
||||
configuration files dealing with pacman.
|
||||
|
||||
* linkman:alpm-hooks[5]
|
||||
* linkman:BUILDINFO[5]
|
||||
* linkman:PKGBUILD[5]
|
||||
* linkman:libalpm[3]
|
||||
* linkman:makepkg[8]
|
||||
* linkman:makepkg-template[1]
|
||||
* linkman:makepkg.conf[5]
|
||||
* linkman:pacman[8]
|
||||
* linkman:pacman-key[8]
|
||||
* linkman:pacman-conf[8]
|
||||
* linkman:pacman.conf[5]
|
||||
* linkman:pkgdelta[8]
|
||||
* linkman:repo-add[8]
|
||||
* linkman:vercmp[8]
|
||||
|
||||
Changelog
|
||||
~~~~~~~~~
|
||||
For a good idea of what is going on in pacman development, take a look at the
|
||||
link:https://projects.archlinux.org/pacman.git/[Git summary page] for the
|
||||
link:https://git.archlinux.org/pacman.git/[Git summary page] for the
|
||||
project.
|
||||
|
||||
See the most recent
|
||||
link:https://projects.archlinux.org/pacman.git/tree/NEWS[NEWS]
|
||||
link:https://git.archlinux.org/pacman.git/tree/NEWS[NEWS]
|
||||
file for a not-as-frequently-updated list of changes. However, this should
|
||||
contain the biggest changes in a format more concise than the commit log.
|
||||
|
||||
@@ -75,8 +77,13 @@ Releases
|
||||
[frame="topbot",grid="none",options="header,autowidth"]
|
||||
!======
|
||||
!Version !Date
|
||||
!5.2.1 !2019-11-01
|
||||
!5.2.0 !2019-10-21
|
||||
!5.1.3 !2019-03-01
|
||||
!5.1.2 !2018-12-25
|
||||
!5.1.1 !2018-07-27
|
||||
!5.1.0 !2018-05-28
|
||||
!5.0.2 !2017-06-03
|
||||
!5.0.1 !2016-02-23
|
||||
!5.0.0 !2016-01-30
|
||||
!4.2.1 !2015-02-20
|
||||
@@ -186,11 +193,11 @@ link:https://sources.archlinux.org/other/pacman/[]. To install, download the new
|
||||
available source tarball, unpack it in a directory, and run the three magic
|
||||
commands:
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
# make install
|
||||
$ meson build
|
||||
$ ninja -C build
|
||||
# ninja -C build install
|
||||
|
||||
You may wish to read the options presented by `./configure --help` in order to
|
||||
You may wish to read the options presented by `meson` in order to
|
||||
set appropriate paths and build options that are correct for your system.
|
||||
|
||||
Development
|
||||
@@ -199,8 +206,8 @@ Development
|
||||
Mailing List
|
||||
~~~~~~~~~~~~
|
||||
There is a mailing list devoted to pacman development, hosted by Arch Linux.
|
||||
link:https://mailman.archlinux.org/mailman/listinfo/pacman-dev/[Subscribe] or
|
||||
link:https://mailman.archlinux.org/pipermail/pacman-dev/[view the archives].
|
||||
link:https://lists.archlinux.org/listinfo/pacman-dev/[Subscribe] or
|
||||
link:https://lists.archlinux.org/pipermail/pacman-dev/[view the archives].
|
||||
|
||||
Source Code
|
||||
~~~~~~~~~~~
|
||||
@@ -211,11 +218,11 @@ these trees).
|
||||
|
||||
The current development tree can be fetched with the following command:
|
||||
|
||||
git clone git://projects.archlinux.org/pacman.git pacman
|
||||
git clone git://git.archlinux.org/pacman.git pacman
|
||||
|
||||
which will fetch the full development history into a directory named pacman.
|
||||
You can browse the source as well using
|
||||
link:https://projects.archlinux.org/pacman.git/[cgit]. HTTP/HTTPS URLs are also
|
||||
link:https://git.archlinux.org/pacman.git/[cgit]. HTTP/HTTPS URLs are also
|
||||
available for cloning purposes; these URLs are listed at the above page.
|
||||
|
||||
If you are interested in hacking on pacman, it is highly recommended you join
|
||||
@@ -234,15 +241,13 @@ Although the package manager itself is quite simple, many scripts have been
|
||||
developed that help automate building and installing packages. These are used
|
||||
extensively in link:https://www.archlinux.org/[Arch Linux]. Most of these utilities
|
||||
are available in the Arch Linux projects
|
||||
link:https://projects.archlinux.org/[code browser].
|
||||
link:https://git.archlinux.org/[code browser].
|
||||
|
||||
Utilities available:
|
||||
|
||||
* link:https://projects.archlinux.org/abs.git/[abs] - ABS (Arch Build System), scripts to download & use the Arch Linux PKGBUILD tree
|
||||
* link:https://projects.archlinux.org/dbscripts.git/[dbscripts] - scripts used by Arch Linux to manage the main package repositories
|
||||
* link:https://projects.archlinux.org/devtools.git/[devtools] - tools to assist in packaging and dependency checking
|
||||
* link:https://projects.archlinux.org/namcap.git/[namcap] - a package analysis utility written in python
|
||||
* link:https://projects.archlinux.org/srcpac.git/[srcpac] - a bash build-from-source pacman wrapper
|
||||
* link:https://git.archlinux.org/dbscripts.git/[dbscripts] - scripts used by Arch Linux to manage the main package repositories
|
||||
* link:https://git.archlinux.org/devtools.git/[devtools] - tools to assist in packaging and dependency checking
|
||||
* link:https://git.archlinux.org/namcap.git/[namcap] - a package analysis utility written in python
|
||||
|
||||
Bugs
|
||||
----
|
||||
@@ -257,7 +262,7 @@ bugs under the Pacman project.
|
||||
|
||||
Copyright
|
||||
---------
|
||||
pacman is Copyright (C) 2006-2018 Pacman Development Team
|
||||
pacman is Copyright (C) 2006-2020 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.
|
||||
|
||||
@@ -274,7 +274,7 @@ Environment Variables
|
||||
|
||||
**GPGKEY=**"keyid"::
|
||||
Specify a key to use when signing packages, overriding the GPGKEY setting
|
||||
in linkman:makepkg.conf[5]
|
||||
in linkman:makepkg.conf[5].
|
||||
|
||||
**SOURCE_DATE_EPOCH=**"<date>"::
|
||||
Used for link:https://reproducible-builds.org/docs/[Reproducible Builds].
|
||||
@@ -299,7 +299,7 @@ On exit, makepkg will return one of the following error codes.
|
||||
Error in configuration file.
|
||||
|
||||
3::
|
||||
User specified an invalid option
|
||||
User specified an invalid option.
|
||||
|
||||
4::
|
||||
Error in user-supplied function in PKGBUILD.
|
||||
@@ -340,7 +340,7 @@ On exit, makepkg will return one of the following error codes.
|
||||
Programs necessary to run makepkg are missing.
|
||||
|
||||
16::
|
||||
Specified GPG key does not exist.
|
||||
Specified GPG key does not exist or failed to sign package.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
@@ -72,6 +72,10 @@ Options
|
||||
**CXXFLAGS=**"cxxflags"::
|
||||
Flags used for the C++ compiler; see CFLAGS for more info.
|
||||
|
||||
**RUSTFLAGS=**"rustflags"::
|
||||
Flags used for the Rust compiler, similar in spirit to CFLAGS. Read
|
||||
linkman:rustc[1] for more details on the available flags.
|
||||
|
||||
**LDFLAGS=**"ldflags"::
|
||||
Flags used for the linker. Several options may be specified with common
|
||||
usage resembling ``-Wl,--hash-style=gnu''. Read ld(1) for more details on
|
||||
@@ -89,6 +93,11 @@ Options
|
||||
**DEBUG_CXXFLAGS=**"debug_cxxflags"::
|
||||
Debug flags used for the C++ compiler; see DEBUG_CFLAGS for more info.
|
||||
|
||||
**DEBUG_RUSTFLAGS=**"debug_rustflags"::
|
||||
Additional compiler flags appended to `RUSTFLAGS` for use in debugging.
|
||||
Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for
|
||||
more details on the available flags.
|
||||
|
||||
**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
|
||||
@@ -183,7 +192,7 @@ 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`, `sha224`, `sha256`, `sha384`, and `sha512`.
|
||||
`ck`, `md5`, `sha1`, `sha224`, `sha256`, `sha384`, `sha512`, and `b2`.
|
||||
|
||||
**STRIP_BINARIES=**"--strip-all"::
|
||||
Options to be used when stripping binaries. See linkman:strip[1]
|
||||
@@ -244,22 +253,27 @@ Options
|
||||
|
||||
**PACKAGER=**"John Doe <john@example.com>"::
|
||||
This value is used when querying a package to see who was the builder.
|
||||
The given format is required for PGP key lookup through WKD.
|
||||
It is recommended to change this to your name and email address.
|
||||
|
||||
**COMPRESSGZ=**"(gzip -c -f -n)"::
|
||||
**COMPRESSBZ2=**"(bzip2 -c -f)"::
|
||||
**COMPRESSXZ=**"(xz -c -z -)"::
|
||||
**COMPRESSZST=**"(zstd -c -z -)"::
|
||||
**COMPRESSLZO**"(lzop -q)"::
|
||||
**COMPRESSLRZ=**"(lrzip -q)"::
|
||||
**COMPRESSLZ4=**"(lz4 -q)"::
|
||||
**COMPRESSZ=**"(compress -c -f)"::
|
||||
**COMPRESSLZ=**"(lzip -c -f)"::
|
||||
Sets the command and options used when compressing compiled or source
|
||||
packages in the named format.
|
||||
|
||||
**PKGEXT=**".pkg.tar.gz", **SRCEXT=**".src.tar.gz"::
|
||||
**PKGEXT=**"{pkgext}", **SRCEXT=**"{srcext}"::
|
||||
Sets the compression used when making compiled or source packages.
|
||||
Valid suffixes are `.tar`, `.tar.gz`, `.tar.bz2`, `.tar.xz`,
|
||||
`.tar.lzo`, `.tar.lrz`, and `.tar.Z`.
|
||||
Do not touch these unless you know what you are doing.
|
||||
Valid suffixes are `.tar.gz`, `.tar.bz2`, `.tar.xz`, `.tar.zst`,
|
||||
`.tar.lzo`, `.tar.lrz`, `.tar.lz4`, `.tar.lz` and `.tar.Z`, or
|
||||
simply `.tar` to disable compression entirely.
|
||||
|
||||
|
||||
|
||||
See Also
|
||||
|
||||
154
doc/meson.build
Normal file
154
doc/meson.build
Normal file
@@ -0,0 +1,154 @@
|
||||
manpages = [
|
||||
{ 'name': 'alpm-hooks.5' },
|
||||
{ 'name': 'pacman.8' },
|
||||
{ 'name': 'makepkg.8' },
|
||||
{ 'name': 'makepkg-template.1' },
|
||||
{ 'name': 'repo-add.8' },
|
||||
{ 'name': 'vercmp.8' },
|
||||
{ 'name': 'pacman-key.8' },
|
||||
{ 'name': 'PKGBUILD.5', 'extra_depends' : [ 'PKGBUILD-example.txt' ] },
|
||||
{ 'name': 'makepkg.conf.5' },
|
||||
{ 'name': 'pacman.conf.5' },
|
||||
{ 'name': 'libalpm.3' },
|
||||
{ 'name': 'BUILDINFO.5' },
|
||||
{ 'name': 'pacman-conf.8' },
|
||||
]
|
||||
|
||||
sitepages = [
|
||||
{ 'name': 'submitting-patches' },
|
||||
{ 'name': 'translation-help' },
|
||||
{ 'name': 'HACKING', 'source': '../HACKING' },
|
||||
{ 'name': 'index' },
|
||||
]
|
||||
|
||||
asciidoc_conf = join_paths(meson.current_source_dir(), 'asciidoc.conf')
|
||||
|
||||
asciidoc_opts = [
|
||||
'-f', asciidoc_conf,
|
||||
'-a', 'pacman_version="@0@"'.format(PACKAGE_VERSION),
|
||||
'-a', 'pacman_date=@0@'.format(run_command('date', '+%Y-%m-%d').stdout().strip()),
|
||||
'-a', 'srcext=@0@'.format(get_option('src-ext')),
|
||||
'-a', 'pkgext=@0@'.format(get_option('pkg-ext')),
|
||||
'-a', 'pkgdatadir=@0@'.format(PKGDATADIR),
|
||||
'-a', 'localstatedir=@0@'.format(LOCALSTATEDIR),
|
||||
'-a', 'sysconfdir=@0@'.format(SYSCONFDIR),
|
||||
'-a', 'datarootdir=@0@'.format(DATAROOTDIR),
|
||||
'-a', 'rootdir=@0@'.format(ROOTDIR),
|
||||
]
|
||||
|
||||
html_targets = []
|
||||
html_files = []
|
||||
|
||||
foreach page : manpages
|
||||
manpage = page['name']
|
||||
htmlpage = '@0@.html'.format(manpage)
|
||||
input = '@0@.asciidoc'.format(manpage)
|
||||
|
||||
section = page['name'].split('.')[-1]
|
||||
|
||||
mandirn = join_paths(MANDIR, 'man' + section)
|
||||
|
||||
custom_target(
|
||||
manpage,
|
||||
command : [
|
||||
A2X,
|
||||
'--no-xmllint',
|
||||
'-d', 'manpage',
|
||||
'-f', 'manpage',
|
||||
'--xsltproc-opts', '-param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0',
|
||||
'-D', '@OUTDIR@',
|
||||
'--asciidoc-opts', ' '.join(asciidoc_opts),
|
||||
'@INPUT@',
|
||||
],
|
||||
input : input,
|
||||
output : [manpage],
|
||||
depend_files : [
|
||||
asciidoc_conf,
|
||||
] + page.get('extra_depends', []),
|
||||
install : true,
|
||||
install_dir : mandirn,
|
||||
)
|
||||
endforeach
|
||||
|
||||
foreach page: manpages + sitepages
|
||||
manpage = page['name']
|
||||
htmlpage = '@0@.html'.format(manpage)
|
||||
input = page.get('source', '@0@.asciidoc'.format(manpage))
|
||||
|
||||
html = custom_target(
|
||||
htmlpage,
|
||||
command : [
|
||||
ASCIIDOC,
|
||||
] + asciidoc_opts + [
|
||||
'-a', 'linkcss',
|
||||
'-a', 'toc',
|
||||
'-a', 'icons',
|
||||
'-a', 'max-width=960px',
|
||||
'-a', 'stylesheet=asciidoc-override.css',
|
||||
'-o', '@OUTPUT@',
|
||||
'@INPUT@',
|
||||
],
|
||||
input : input,
|
||||
output : [htmlpage],
|
||||
depend_files : [
|
||||
asciidoc_conf,
|
||||
'asciidoc-override.css',
|
||||
] + page.get('extra_depends', []),
|
||||
build_by_default : false,
|
||||
install : false,
|
||||
)
|
||||
html_targets += [html]
|
||||
html_files += [htmlpage]
|
||||
endforeach
|
||||
|
||||
run_target('html',
|
||||
command : ['/bin/true'],
|
||||
depends : html_targets)
|
||||
|
||||
custom_target(
|
||||
'website.tar.gz',
|
||||
command : [
|
||||
'bsdtar', 'czf', '@OUTPUT@',
|
||||
'-C', meson.current_build_dir(),
|
||||
] + html_files + [
|
||||
'-C', meson.current_source_dir(),
|
||||
'asciidoc-override.css',
|
||||
'-C', '/etc/asciidoc/stylesheets/',
|
||||
'asciidoc.css',
|
||||
'-C', '/etc/asciidoc/javascripts/',
|
||||
'asciidoc.js',
|
||||
'-C', '/etc/asciidoc/',
|
||||
'images',
|
||||
],
|
||||
output : ['website.tar.gz'],
|
||||
build_by_default : false,
|
||||
depends : html_targets,
|
||||
)
|
||||
|
||||
meson.add_install_script(MESON_MAKE_SYMLINK,
|
||||
'repo-add.8',
|
||||
join_paths(MANDIR, 'man8/repo-remove.8'))
|
||||
|
||||
meson.add_install_script(MESON_MAKE_SYMLINK,
|
||||
'alpm-hooks.5',
|
||||
join_paths(MANDIR, 'man5/pacman-hooks.5'))
|
||||
|
||||
doxygen = find_program('doxygen', required : get_option('doxygen'))
|
||||
if doxygen.found() and not get_option('doxygen').disabled()
|
||||
doxyconf = configuration_data()
|
||||
doxyconf.set('OUTPUT_DIRECTORY', meson.current_build_dir())
|
||||
doxyfile = configure_file(
|
||||
input : 'Doxyfile.in',
|
||||
output : 'Doxyfile',
|
||||
configuration : doxyconf,
|
||||
install : false)
|
||||
|
||||
custom_target(
|
||||
'doxygen',
|
||||
input : doxyfile,
|
||||
output : ['man3'],
|
||||
command : [doxygen, doxyfile],
|
||||
build_by_default : true,
|
||||
install : true,
|
||||
install_dir : MANDIR)
|
||||
endif
|
||||
67
doc/pacman-conf.8.asciidoc
Normal file
67
doc/pacman-conf.8.asciidoc
Normal file
@@ -0,0 +1,67 @@
|
||||
pacman-conf(8)
|
||||
==============
|
||||
|
||||
Name
|
||||
----
|
||||
pacman-conf - query pacman's configuration file
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
'pacman-conf' [options] [<directive> ...]
|
||||
|
||||
'pacman-conf' (--repo-list|--help|--version)
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
'pacman-conf' is a utility for parsing the 'pacman' configuration file
|
||||
and returning script-friendly output. It is designed to properly handle
|
||||
non-trivial configuration features such as variable interpolation and
|
||||
the use of the Include directive, and guarantees that it will return the
|
||||
same configuration values which 'pacman' itself would use.
|
||||
|
||||
'pacman-conf' will output the fully-resolved contents of the
|
||||
configuration file by default, or, if provided with the name of a
|
||||
configuration directive, output the contents of the given directive alone.
|
||||
|
||||
|
||||
Options
|
||||
-------
|
||||
*-c, \--config* <path>::
|
||||
Specify an alternate configuration file.
|
||||
|
||||
*-R, \--rootdir* <path>::
|
||||
Specify an alternate installation root (default is `/`).
|
||||
|
||||
*-r, \--repo* <remote>::
|
||||
Query options for a specific repository.
|
||||
|
||||
*-v, \--verbose*::
|
||||
Always shown directive names.
|
||||
|
||||
*-l, \--repo-list*::
|
||||
List configured repositories.
|
||||
|
||||
*-h, \--help*::
|
||||
Output syntax and command line options.
|
||||
|
||||
*-V, \--version*::
|
||||
Display version and exit.
|
||||
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
pacman-conf -r core Usage::
|
||||
Show the value of the Usage configuration option for core repository.
|
||||
|
||||
pacman-conf HoldPkg::
|
||||
Show the value of the HoldPkg configuration option.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
linkman:pacman.conf[5]
|
||||
|
||||
include::footer.asciidoc[]
|
||||
@@ -97,7 +97,13 @@ Operations
|
||||
Displays the program version.
|
||||
|
||||
*-v, \--verify*::
|
||||
Verify the file(s) specified by the signature(s).
|
||||
Assume that the first argument is a signature and verify it. If a second
|
||||
argument is provided, it is the file to be verified.
|
||||
+
|
||||
With only one argument given, assume that the signature is a detached
|
||||
signature, and look for a matching data file to verify by stripping the file
|
||||
extension. If no matching data file is found, fall back on GnuPG semantics and
|
||||
attempt to verify a file with an embedded signature.
|
||||
|
||||
|
||||
Options
|
||||
|
||||
@@ -131,7 +131,7 @@ Options
|
||||
not automatically prepended.
|
||||
|
||||
*-r, \--root* <path>::
|
||||
Specify an alternative installation root (default is `/`). This should
|
||||
Specify an alternative installation root (default is +{rootdir}+). This should
|
||||
not be used as a way to install software into `/usr/local` instead of
|
||||
`/usr`.
|
||||
*NOTE*: If database path or log file are not specified on either the
|
||||
@@ -141,7 +141,7 @@ Options
|
||||
guest system. See '\--sysroot' instead.
|
||||
|
||||
*-v, \--verbose*::
|
||||
Output paths such as as the Root, Conf File, DB Path, Cache Dirs, etc.
|
||||
Output paths such as the Root, Conf File, DB Path, Cache Dirs, etc.
|
||||
|
||||
*\--arch* <arch>::
|
||||
Specify an alternate architecture.
|
||||
@@ -464,7 +464,7 @@ Database Options (apply to '-D')[[QO]]
|
||||
|
||||
*\--asexplicit* <package>::
|
||||
Mark a package as explicitly installed; in other words, set their install
|
||||
reason to be explicitly installed. This is useful it you want to keep a
|
||||
reason to be explicitly installed. This is useful if you want to keep a
|
||||
package installed even when it was initially installed as a dependency
|
||||
of another package.
|
||||
|
||||
@@ -488,14 +488,8 @@ File Options (apply to '-F')[[FO]]
|
||||
*-l, \--list*::
|
||||
List the files owned by the queried package.
|
||||
|
||||
*-s, \--search*::
|
||||
Search package file names for matching strings.
|
||||
|
||||
*-x, --regex*::
|
||||
Treat arguments to '--search' as regular expressions.
|
||||
|
||||
*-o, \--owns*::
|
||||
Search for packages that own a particular file.
|
||||
Interpret each query as a regular expression.
|
||||
|
||||
*-q, \--quiet*::
|
||||
Show less information for certain file operations. This is useful when
|
||||
@@ -503,9 +497,9 @@ File Options (apply to '-F')[[FO]]
|
||||
'--machinereadable' instead.
|
||||
|
||||
*--machinereadable*::
|
||||
Use a machine readable output format for '--list', '--search' and
|
||||
'--owns'. The format is 'repository\0pkgname\0pkgver\0path\n' with '\0'
|
||||
being the NULL character and '\n' a linefeed.
|
||||
Print each match in a machine readable output format. The format is
|
||||
'repository\0pkgname\0pkgver\0path\n' with '\0' being the NULL character
|
||||
and '\n' a linefeed.
|
||||
|
||||
Handling Config Files[[HCF]]
|
||||
----------------------------
|
||||
@@ -514,7 +508,7 @@ designated to be backed up. During an upgrade, three MD5 hashes are used for
|
||||
each backup file to determine the required action: one for the original file
|
||||
installed, one for the new file that is about to be installed, and one for the
|
||||
actual file existing on the file system. After comparing these three hashes, the
|
||||
follow scenarios can result:
|
||||
following scenarios can result:
|
||||
|
||||
original=X, current=X, new=X::
|
||||
All three files are the same, so overwrites are not an issue. Install the
|
||||
|
||||
@@ -176,7 +176,7 @@ Options
|
||||
operation on a local file. Uses the value from SigLevel as the default.
|
||||
|
||||
*RemoteFileSigLevel =* ...::
|
||||
Set the signature verification level for installing packages using the "-U"
|
||||
Set the signature verification level for installing packages using the "-U"
|
||||
operation on a remote file URL. Uses the value from SigLevel as the default.
|
||||
|
||||
*UseSyslog*::
|
||||
@@ -186,13 +186,9 @@ Options
|
||||
*Color*::
|
||||
Automatically enable colors only when pacman's output is on a tty.
|
||||
|
||||
*UseDelta* [= ratio]::
|
||||
Download delta files instead of complete packages if possible. Requires
|
||||
the `xdelta3` program to be installed. If a ratio is specified (e.g.,
|
||||
`0.5`), then it is used as a cutoff for determining whether to use deltas.
|
||||
Allowed values are between `0.0` and `2.0`; sensible values are between
|
||||
`0.2` and `0.9`. Using a value above `1.0` is not recommended. The
|
||||
default is `0.7` if left unspecified.
|
||||
*NoProgressBar*::
|
||||
Disables progress bars. This is useful for terminals which do
|
||||
not support escape characters.
|
||||
|
||||
*TotalDownload*::
|
||||
When downloading, display the amount downloaded, download rate, ETA,
|
||||
@@ -213,6 +209,11 @@ Options
|
||||
Disable defaults for low speed limit and timeout on downloads. Use this
|
||||
if you have issues downloading files with proxy and/or security gateway.
|
||||
|
||||
*ParallelDownloads*::
|
||||
Specifies number of concurrent download streams. The value needs to be a
|
||||
positive integer. If this config option is not set then only one download
|
||||
stream is used (i.e. downloads happen sequentially).
|
||||
|
||||
|
||||
Repository Sections
|
||||
-------------------
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
pkgdelta(8)
|
||||
=========
|
||||
|
||||
Name
|
||||
----
|
||||
pkgdelta - package delta generation utility
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
'pkgdelta' [options] <package1> <package2>
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
'pkgdelta' is used to create package delta files between two versions of the
|
||||
same package. These files are essentially binary patches. linkman:pacman[8] can
|
||||
download deltas instead of full package upgrades, and use them with the
|
||||
previous versions of packages (in the package cache) to synthesize the upgraded
|
||||
version of the packages. This likely reduces download sizes for upgrades
|
||||
significantly.
|
||||
|
||||
'pkgdelta' requires linkman:xdelta3[1] to do its job.
|
||||
|
||||
|
||||
Options
|
||||
-------
|
||||
*--max-delta-size <ratio>*::
|
||||
Only create delta files if the delta is smaller than ratio * package_size.
|
||||
Possible values: 0.0 to 2.0.
|
||||
Recommended values: 0.2 to 0.9.
|
||||
Default value: 0.7
|
||||
|
||||
*--min-pkg-size <size>*::
|
||||
Minimal size of the package file in bytes to be considered for delta creation.
|
||||
Default value: 1048576 bytes = 1 MiB. This may be any absolute size in bytes or
|
||||
a human-readable value such as `4MiB` or `3.5MB`.
|
||||
|
||||
*-q, \--quiet*::
|
||||
Be quiet. Do not output anything but warnings and errors.
|
||||
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
$ pkgdelta libreoffice-3.3.2-1-x86_64.pkg.tar.xz libreoffice-3.3.2-2-x86_64.pkg.tar.xz
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
linkman:pacman[8], linkman:xdelta3[1]
|
||||
|
||||
include::footer.asciidoc[]
|
||||
@@ -8,27 +8,25 @@ repo-add - package database maintenance utility
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
'repo-add' [options] <path-to-db> <package|delta> [<package|delta> ...]
|
||||
'repo-add' [options] <path-to-db> <package> [<package> ...]
|
||||
|
||||
'repo-remove' [options] <path-to-db> <packagename|delta> [<packagename|delta> ...]
|
||||
'repo-remove' [options] <path-to-db> <packagename> [<packagename> ...]
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
'repo-add' and 'repo-remove' are two scripts to help build a package database for
|
||||
packages built with linkman:makepkg[8] and installed with linkman:pacman[8].
|
||||
They also handle package deltas produced by linkman:pkgdelta[8].
|
||||
|
||||
'repo-add' will update a package database by reading a built package or package
|
||||
delta file. Multiple packages and/or deltas to add can be specified on the
|
||||
command line.
|
||||
'repo-add' will update a package database by reading a built package file.
|
||||
Multiple packages to add can be specified on the command line.
|
||||
|
||||
If a matching ``.sig'' file is found alongside a package file, the signature
|
||||
will automatically be embedded into the database.
|
||||
|
||||
'repo-remove' will update a package database by removing the package name or
|
||||
delta specified on the command line. Multiple packages and/or delta to remove
|
||||
can be specified on the command line.
|
||||
'repo-remove' will update a package database by removing the package name
|
||||
specified on the command line. Multiple packages to remove can be specified
|
||||
on the command line.
|
||||
|
||||
A package database is a tar file, optionally compressed. Valid extensions are
|
||||
``.db'' followed by an archive extension of ``.tar'', ``.tar.gz'', ``.tar.bz2'',
|
||||
@@ -64,10 +62,6 @@ Common Options
|
||||
|
||||
repo-add Options
|
||||
----------------
|
||||
*-d, \--delta*::
|
||||
Automatically generate and add a delta file between the old entry and the
|
||||
new one, if the old package file is found next to the new one.
|
||||
|
||||
*-n, \--new*::
|
||||
Only add packages that are not already in the database. Warnings will be
|
||||
printed upon detection of existing packages, but they will not be re-added.
|
||||
@@ -89,6 +83,6 @@ db.tar* extension), there is currently no additional benefit for the larger down
|
||||
|
||||
See Also
|
||||
--------
|
||||
linkman:makepkg[8], linkman:pacman[8], linkman:pkgdelta[8]
|
||||
linkman:makepkg[8], linkman:pacman[8]
|
||||
|
||||
include::footer.asciidoc[]
|
||||
|
||||
@@ -20,7 +20,7 @@ started with GIT if you have not worked with it before.
|
||||
|
||||
The pacman code can be fetched using the following command:
|
||||
|
||||
git clone git://projects.archlinux.org/pacman.git
|
||||
git clone git://git.archlinux.org/pacman.git
|
||||
|
||||
|
||||
Creating your patch
|
||||
@@ -39,7 +39,7 @@ address if you're afraid of spam.
|
||||
|
||||
* Describe your patch.
|
||||
|
||||
It helps if you describe the overview and goals of the patch in the git commit
|
||||
It helps if you describe the overview and goals of the patch in the git commit
|
||||
log. This allows others to see what you intended so as to compare it to what
|
||||
was actually done, and allows better feedback.
|
||||
|
||||
|
||||
@@ -4,10 +4,10 @@ Pacman - Translating
|
||||
This document is here to guide you in helping translate pacman messages,
|
||||
libalpm messages, and the manual pages for the entire pacman package.
|
||||
|
||||
We are currently using http://www.transifex.com/[Transifex] as the translation
|
||||
We are currently using https://www.transifex.com/[Transifex] as the translation
|
||||
platform for pacman and libalpm. You will need to sign up for an account there
|
||||
and then register with a translation team on the
|
||||
http://www.transifex.com/projects/p/archlinux-pacman/[pacman project page].
|
||||
https://www.transifex.com/projects/p/archlinux-pacman/[pacman project page].
|
||||
|
||||
NOTE: This may be old information due to our switch to Transifex, but the
|
||||
gettext website is a very useful guide to read before embarking on translation
|
||||
@@ -31,7 +31,7 @@ either be hand-edited, or modified with a tool such as poedit, gtranslator or
|
||||
kbabel. Using a translation tool tends to make the job easier.
|
||||
|
||||
Please read up on Transifex usage using the
|
||||
http://docs.transifex.com/[Transifex Help] if you are not familiar.
|
||||
https://docs.transifex.com/[Transifex Help] if you are not familiar.
|
||||
|
||||
Transifex provides a command-line client to help with translations. Here is
|
||||
an example set of commands if you have a source code checkout and are not
|
||||
@@ -78,7 +78,7 @@ Incremental Updates
|
||||
If you have more advanced needs you will have to get a copy of the pacman
|
||||
repository.
|
||||
|
||||
git clone git://projects.archlinux.org/pacman.git pacman
|
||||
git clone git://git.archlinux.org/pacman.git pacman
|
||||
|
||||
Next, you will need to run `./autogen.sh` and `./configure` in the base
|
||||
directory to generate the correct Makefiles. At this point, all necessary
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
dist_sysconf_DATA = makepkg.conf pacman.conf
|
||||
EXTRA_DIST = makepkg.conf.in pacman.conf.in
|
||||
|
||||
# Files that should be removed, but which Automake does not know.
|
||||
MOSTLYCLEANFILES = $(dist_sysconf_DATA)
|
||||
|
||||
SED_PROCESS = \
|
||||
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
|
||||
$(SED) \
|
||||
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
|
||||
-e 's|@localstatedir[@]|$(localstatedir)|g' \
|
||||
-e 's|@prefix[@]|$(prefix)|g' \
|
||||
-e 's|@PACKAGE_VERSION[@]|$(PACKAGE_VERSION)|g' \
|
||||
-e 's|@PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \
|
||||
-e 's|@PKGEXT[@]|$(PKGEXT)|g' \
|
||||
-e 's|@SRCEXT[@]|$(SRCEXT)|g' \
|
||||
-e 's|@STRIP_BINARIES[@]|$(STRIP_BINARIES)|g' \
|
||||
-e 's|@STRIP_SHARED[@]|$(STRIP_SHARED)|g' \
|
||||
-e 's|@STRIP_STATIC[@]|$(STRIP_STATIC)|g' \
|
||||
-e 's|@CARCH[@]|$(CARCH)|g' \
|
||||
-e 's|@CHOST[@]|$(CHOST)|g' \
|
||||
-e 's|@ARCHSWITCH[@]|$(ARCHSWITCH)|g' \
|
||||
-e 's|@ROOTDIR[@]|$(ROOTDIR)|g' \
|
||||
< $< > $@
|
||||
|
||||
%.conf: %.conf.in Makefile
|
||||
$(SED_PROCESS)
|
||||
@@ -24,6 +24,7 @@ DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u'
|
||||
#-- The package required by makepkg to download VCS sources
|
||||
# Format: 'protocol::package'
|
||||
VCSCLIENTS=('bzr::bzr'
|
||||
'fossil::fossil'
|
||||
'git::git'
|
||||
'hg::mercurial'
|
||||
'svn::subversion')
|
||||
@@ -40,17 +41,19 @@ CHOST="@CHOST@"
|
||||
#CFLAGS="-O2 -pipe"
|
||||
#CXXFLAGS="-O2 -pipe"
|
||||
#LDFLAGS=""
|
||||
#RUSTFLAGS="-C opt-level=2"
|
||||
#-- Make Flags: change this for DistCC/SMP systems
|
||||
#MAKEFLAGS="-j2"
|
||||
#-- Debugging flags
|
||||
#DEBUG_CFLAGS="-g"
|
||||
#DEBUG_CXXFLAGS="-g"
|
||||
#DEBUG_RUSTFLAGS="-C debuginfo=2"
|
||||
|
||||
#########################################################################
|
||||
# BUILD ENVIRONMENT
|
||||
#########################################################################
|
||||
#
|
||||
# Defaults: BUILDENV=(!distcc !color !ccache check !sign)
|
||||
# Makepkg 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
|
||||
@@ -73,7 +76,7 @@ BUILDENV=(!distcc color !ccache check !sign)
|
||||
# These are default values for the options=() settings
|
||||
#########################################################################
|
||||
#
|
||||
# Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug)
|
||||
# Makepkg defaults: 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
|
||||
@@ -87,8 +90,8 @@ BUILDENV=(!distcc color !ccache check !sign)
|
||||
#
|
||||
OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !debug)
|
||||
|
||||
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512
|
||||
INTEGRITY_CHECK=(md5)
|
||||
#-- File integrity checks to use. Valid: ck, md5, sha1, sha224, sha256, sha384, sha512, b2
|
||||
INTEGRITY_CHECK=(ck)
|
||||
#-- Options to be used when stripping binaries. See `man strip' for details.
|
||||
STRIP_BINARIES="@STRIP_BINARIES@"
|
||||
#-- Options to be used when stripping shared libraries. See `man strip' for details.
|
||||
@@ -130,16 +133,16 @@ DBGSRCDIR="/usr/src/debug"
|
||||
COMPRESSGZ=(gzip -c -f -n)
|
||||
COMPRESSBZ2=(bzip2 -c -f)
|
||||
COMPRESSXZ=(xz -c -z -)
|
||||
COMPRESSZST=(zstd -c -z -q -)
|
||||
COMPRESSLRZ=(lrzip -q)
|
||||
COMPRESSLZO=(lzop -q)
|
||||
COMPRESSZ=(compress -c -f)
|
||||
COMPRESSLZ4=(lz4 -q)
|
||||
COMPRESSLZ=(lzip -c -f)
|
||||
|
||||
#########################################################################
|
||||
# EXTENSION DEFAULTS
|
||||
#########################################################################
|
||||
#
|
||||
# WARNING: Do NOT modify these variables unless you know what you are
|
||||
# doing.
|
||||
#
|
||||
PKGEXT='@PKGEXT@'
|
||||
SRCEXT='@SRCEXT@'
|
||||
|
||||
@@ -19,7 +19,6 @@ HoldPkg = pacman glibc
|
||||
#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
|
||||
Architecture = auto
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
@@ -32,9 +31,11 @@ Architecture = auto
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
#Color
|
||||
#NoProgressBar
|
||||
#TotalDownload
|
||||
CheckSpace
|
||||
#VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
|
||||
# PGP signature checking
|
||||
#SigLevel = Optional
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
AUTOMAKE_OPTIONS = gnu
|
||||
|
||||
SUBDIRS = po
|
||||
|
||||
lib_LTLIBRARIES = libalpm.la
|
||||
include_HEADERS = alpm_list.h alpm.h
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-imacros $(top_builddir)/config.h \
|
||||
-DSYSHOOKDIR=\"@datarootdir@/libalpm/hooks/\" \
|
||||
-DLOCALEDIR=\"@localedir@\"
|
||||
|
||||
AM_CFLAGS = -pedantic -D_GNU_SOURCE $(WARNING_CFLAGS)
|
||||
|
||||
if ENABLE_VISIBILITY_CC
|
||||
if DARWIN
|
||||
AM_CFLAGS += -fvisibility=hidden
|
||||
else
|
||||
AM_CFLAGS += -fvisibility=internal
|
||||
endif
|
||||
endif
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libalpm.pc
|
||||
|
||||
libalpm_la_SOURCES = \
|
||||
add.h add.c \
|
||||
alpm.h alpm.c \
|
||||
alpm_list.h alpm_list.c \
|
||||
backup.h backup.c \
|
||||
base64.h base64.c \
|
||||
be_local.c \
|
||||
be_package.c \
|
||||
be_sync.c \
|
||||
conflict.h conflict.c \
|
||||
db.h db.c \
|
||||
delta.h delta.c \
|
||||
deps.h deps.c \
|
||||
diskspace.h diskspace.c \
|
||||
dload.h dload.c \
|
||||
error.c \
|
||||
filelist.h filelist.c \
|
||||
graph.h graph.c \
|
||||
group.h group.c \
|
||||
handle.h handle.c \
|
||||
hook.h hook.c \
|
||||
ini.h ini.c \
|
||||
libarchive-compat.h \
|
||||
log.h log.c \
|
||||
package.h package.c \
|
||||
pkghash.h pkghash.c \
|
||||
rawstr.c \
|
||||
remove.h remove.c \
|
||||
signing.c signing.h \
|
||||
sync.h sync.c \
|
||||
trans.h trans.c \
|
||||
util.h util.c \
|
||||
util-common.h util-common.c \
|
||||
version.c
|
||||
|
||||
libalpm_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION_INFO)
|
||||
|
||||
libalpm_la_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
$(GPGME_CFLAGS) \
|
||||
$(LIBARCHIVE_CFLAGS) \
|
||||
$(LIBCURL_CFLAGS) \
|
||||
$(LIBSSL_CFLAGS) \
|
||||
$(NETTLE_CFLAGS)
|
||||
|
||||
libalpm_la_LIBADD = \
|
||||
$(LTLIBINTL) \
|
||||
$(GPGME_LIBS) \
|
||||
$(LIBARCHIVE_LIBS) \
|
||||
$(LIBCURL_LIBS) \
|
||||
$(LIBSSL_LIBS) \
|
||||
$(NETTLE_LIBS)
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* add.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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,12 +47,12 @@
|
||||
#include "remove.h"
|
||||
#include "handle.h"
|
||||
|
||||
/** Add a package to the transaction. */
|
||||
int SYMEXPORT alpm_add_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg)
|
||||
{
|
||||
const char *pkgname, *pkgver;
|
||||
alpm_trans_t *trans;
|
||||
alpm_pkg_t *local;
|
||||
alpm_pkg_t *dup;
|
||||
|
||||
/* Sanity checks */
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
@@ -70,12 +70,16 @@ int SYMEXPORT alpm_add_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg)
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "adding package '%s'\n", pkgname);
|
||||
|
||||
if(alpm_pkg_find(trans->add, pkgname)) {
|
||||
if((dup = alpm_pkg_find(trans->add, pkgname))) {
|
||||
if(dup == pkg) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "skipping duplicate target: %s\n", pkgname);
|
||||
return 0;
|
||||
}
|
||||
/* error for separate packages with the same name */
|
||||
RET_ERR(handle, ALPM_ERR_TRANS_DUP_TARGET, -1);
|
||||
}
|
||||
|
||||
local = _alpm_db_get_pkgfromcache(handle->db_local, pkgname);
|
||||
if(local) {
|
||||
if((local = _alpm_db_get_pkgfromcache(handle->db_local, pkgname))) {
|
||||
const char *localpkgname = local->name;
|
||||
const char *localpkgver = local->version;
|
||||
int cmp = _alpm_pkg_compare_versions(pkg, local);
|
||||
@@ -427,7 +431,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
ASSERT(trans != NULL, return -1);
|
||||
|
||||
/* see if this is an upgrade. if so, remove the old package first */
|
||||
if((oldpkg = newpkg->oldpkg)) {
|
||||
if(_alpm_db_get_pkgfromcache(db, newpkg->name) && (oldpkg = newpkg->oldpkg)) {
|
||||
int cmp = _alpm_pkg_compare_versions(newpkg, oldpkg);
|
||||
if(cmp < 0) {
|
||||
log_msg = "downgrading";
|
||||
@@ -479,8 +483,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
/* set up fake remove transaction */
|
||||
if(_alpm_remove_single_package(handle, oldpkg, newpkg, 0, 0) == -1) {
|
||||
handle->pm_errno = ALPM_ERR_TRANS_ABORT;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -491,15 +494,13 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
"error: could not create database entry %s-%s\n",
|
||||
newpkg->name, newpkg->version);
|
||||
handle->pm_errno = ALPM_ERR_DB_WRITE;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
fd = _alpm_open_archive(db->handle, pkgfile, &buf,
|
||||
&archive, ALPM_ERR_PKG_OPEN);
|
||||
if(fd < 0) {
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* save the cwd so we can restore it later */
|
||||
@@ -517,8 +518,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
close(cwdfd);
|
||||
}
|
||||
close(fd);
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(trans->flags & ALPM_TRANS_FLAG_DBONLY) {
|
||||
@@ -602,8 +602,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
"error: could not update database entry %s-%s\n",
|
||||
newpkg->name, newpkg->version);
|
||||
handle->pm_errno = ALPM_ERR_DB_WRITE;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(_alpm_db_add_pkgincache(db, newpkg) == -1) {
|
||||
@@ -649,7 +648,6 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
event.type = ALPM_EVENT_PACKAGE_OPERATION_DONE;
|
||||
EVENT(handle, &event);
|
||||
|
||||
cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* add.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* alpm.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -32,19 +32,6 @@
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
|
||||
/** \addtogroup alpm_interface Interface Functions
|
||||
* @brief Functions to initialize and release libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Initializes the library.
|
||||
* Creates handle, connects to database and creates lockfile.
|
||||
* This must be called before any other functions are called.
|
||||
* @param root the root path for all filesystem operations
|
||||
* @param dbpath the absolute path to the libalpm database
|
||||
* @param err an optional variable to hold any error return codes
|
||||
* @return a context handle on success, NULL on error, err will be set if provided
|
||||
*/
|
||||
alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
|
||||
alpm_errno_t *err)
|
||||
{
|
||||
@@ -68,7 +55,7 @@ alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
|
||||
* 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);
|
||||
sprintf(hookdir, "%s%s", myhandle->root, SYSHOOKDIR + 1);
|
||||
sprintf(hookdir, "%s%s", myhandle->root, &SYSHOOKDIR[1]);
|
||||
myhandle->hookdirs = alpm_list_add(NULL, hookdir);
|
||||
|
||||
/* set default database extension */
|
||||
@@ -83,6 +70,13 @@ alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
curl_global_init(CURL_GLOBAL_ALL);
|
||||
myhandle->curlm = curl_multi_init();
|
||||
#endif
|
||||
|
||||
myhandle->parallel_downloads = 1;
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
bindtextdomain("libalpm", LOCALEDIR);
|
||||
#endif
|
||||
@@ -99,14 +93,6 @@ cleanup:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Release the library.
|
||||
* Disconnects from the database, removes handle and lockfile
|
||||
* This should be the last alpm call you make.
|
||||
* After this returns, handle should be considered invalid and cannot be reused
|
||||
* in any way.
|
||||
* @param myhandle the context handle
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int SYMEXPORT alpm_release(alpm_handle_t *myhandle)
|
||||
{
|
||||
int ret = 0;
|
||||
@@ -125,33 +111,22 @@ int SYMEXPORT alpm_release(alpm_handle_t *myhandle)
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
_alpm_handle_unlock(myhandle);
|
||||
_alpm_handle_free(myhandle);
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
curl_multi_cleanup(myhandle->curlm);
|
||||
curl_global_cleanup();
|
||||
#endif
|
||||
|
||||
_alpm_handle_unlock(myhandle);
|
||||
_alpm_handle_free(myhandle);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup alpm_misc Miscellaneous Functions
|
||||
* @brief Various libalpm functions
|
||||
*/
|
||||
|
||||
/** Get the version of library.
|
||||
* @return the library version, e.g. "6.0.4"
|
||||
* */
|
||||
const char SYMEXPORT *alpm_version(void)
|
||||
{
|
||||
return LIB_VERSION;
|
||||
}
|
||||
|
||||
/** Get the capabilities of the library.
|
||||
* @return a bitmask of the capabilities
|
||||
* */
|
||||
int SYMEXPORT alpm_capabilities(void)
|
||||
{
|
||||
return 0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* alpm.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -104,9 +104,6 @@ typedef enum _alpm_errno_t {
|
||||
/* Signatures */
|
||||
ALPM_ERR_SIG_MISSING,
|
||||
ALPM_ERR_SIG_INVALID,
|
||||
/* Deltas */
|
||||
ALPM_ERR_DLT_INVALID,
|
||||
ALPM_ERR_DLT_PATCHFAILED,
|
||||
/* Dependencies */
|
||||
ALPM_ERR_UNSATISFIED_DEPS,
|
||||
ALPM_ERR_CONFLICTING_DEPS,
|
||||
@@ -118,7 +115,9 @@ typedef enum _alpm_errno_t {
|
||||
ALPM_ERR_LIBARCHIVE,
|
||||
ALPM_ERR_LIBCURL,
|
||||
ALPM_ERR_EXTERNAL_DOWNLOAD,
|
||||
ALPM_ERR_GPGME
|
||||
ALPM_ERR_GPGME,
|
||||
/* Missing compile-time features */
|
||||
ALPM_ERR_MISSING_CAPABILITY_SIGNATURES
|
||||
} alpm_errno_t;
|
||||
|
||||
/** Returns the current error code from the handle. */
|
||||
@@ -271,22 +270,6 @@ typedef struct _alpm_group_t {
|
||||
alpm_list_t *packages;
|
||||
} alpm_group_t;
|
||||
|
||||
/** Package upgrade delta */
|
||||
typedef struct _alpm_delta_t {
|
||||
/** filename of the delta patch */
|
||||
char *delta;
|
||||
/** md5sum of the delta file */
|
||||
char *delta_md5;
|
||||
/** filename of the 'before' file */
|
||||
char *from;
|
||||
/** filename of the 'after' file */
|
||||
char *to;
|
||||
/** filesize of the delta file */
|
||||
off_t delta_size;
|
||||
/** download filesize of the delta file */
|
||||
off_t download_size;
|
||||
} alpm_delta_t;
|
||||
|
||||
/** File in a package */
|
||||
typedef struct _alpm_file_t {
|
||||
char *name;
|
||||
@@ -352,6 +335,11 @@ typedef enum _alpm_hook_when_t {
|
||||
* Logging facilities
|
||||
*/
|
||||
|
||||
/** \addtogroup alpm_log Logging Functions
|
||||
* @brief Functions to log using libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Logging Levels */
|
||||
typedef enum _alpm_loglevel_t {
|
||||
ALPM_LOG_ERROR = 1,
|
||||
@@ -362,9 +350,17 @@ typedef enum _alpm_loglevel_t {
|
||||
|
||||
typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list);
|
||||
|
||||
/** A printf-like function for logging.
|
||||
* @param handle the context handle
|
||||
* @param prefix caller-specific prefix for the log
|
||||
* @param fmt output format
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_logaction(alpm_handle_t *handle, const char *prefix,
|
||||
const char *fmt, ...) __attribute__((format(printf, 3, 4)));
|
||||
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* Type of events.
|
||||
*/
|
||||
@@ -403,39 +399,21 @@ typedef enum _alpm_event_type_t {
|
||||
ALPM_EVENT_LOAD_START,
|
||||
/** Target package is finished loading. */
|
||||
ALPM_EVENT_LOAD_DONE,
|
||||
/** Target delta's integrity will be checked. */
|
||||
ALPM_EVENT_DELTA_INTEGRITY_START,
|
||||
/** Target delta's integrity was checked. */
|
||||
ALPM_EVENT_DELTA_INTEGRITY_DONE,
|
||||
/** Deltas will be applied to packages. */
|
||||
ALPM_EVENT_DELTA_PATCHES_START,
|
||||
/** Deltas were applied to packages. */
|
||||
ALPM_EVENT_DELTA_PATCHES_DONE,
|
||||
/** Delta patch will be applied to target package; See
|
||||
* alpm_event_delta_patch_t for arguments.. */
|
||||
ALPM_EVENT_DELTA_PATCH_START,
|
||||
/** Delta patch was applied to target package. */
|
||||
ALPM_EVENT_DELTA_PATCH_DONE,
|
||||
/** Delta patch failed to apply to target package. */
|
||||
ALPM_EVENT_DELTA_PATCH_FAILED,
|
||||
/** Scriptlet has printed information; See alpm_event_scriptlet_info_t for
|
||||
* arguments. */
|
||||
ALPM_EVENT_SCRIPTLET_INFO,
|
||||
/** Files will be downloaded from a repository. */
|
||||
ALPM_EVENT_RETRIEVE_START,
|
||||
/** Files were downloaded from a repository. */
|
||||
ALPM_EVENT_RETRIEVE_DONE,
|
||||
/** Not all files were successfully downloaded from a repository. */
|
||||
ALPM_EVENT_RETRIEVE_FAILED,
|
||||
/** A file will be downloaded from a repository; See alpm_event_pkgdownload_t
|
||||
* for arguments */
|
||||
ALPM_EVENT_PKGDOWNLOAD_START,
|
||||
/** A file was downloaded from a repository; See alpm_event_pkgdownload_t
|
||||
* for arguments */
|
||||
ALPM_EVENT_PKGDOWNLOAD_DONE,
|
||||
/** A file failed to be downloaded from a repository; See
|
||||
* alpm_event_pkgdownload_t for arguments */
|
||||
ALPM_EVENT_PKGDOWNLOAD_FAILED,
|
||||
/** Database files will be downloaded from a repository. */
|
||||
ALPM_EVENT_DB_RETRIEVE_START,
|
||||
/** Database files were downloaded from a repository. */
|
||||
ALPM_EVENT_DB_RETRIEVE_DONE,
|
||||
/** Not all database files were successfully downloaded from a repository. */
|
||||
ALPM_EVENT_DB_RETRIEVE_FAILED,
|
||||
/** Package files will be downloaded from a repository. */
|
||||
ALPM_EVENT_PKG_RETRIEVE_START,
|
||||
/** Package files were downloaded from a repository. */
|
||||
ALPM_EVENT_PKG_RETRIEVE_DONE,
|
||||
/** Not all package files were successfully downloaded from a repository. */
|
||||
ALPM_EVENT_PKG_RETRIEVE_FAILED,
|
||||
/** Disk space usage will be computed for a package. */
|
||||
ALPM_EVENT_DISKSPACE_START,
|
||||
/** Disk space usage was computed for a package. */
|
||||
@@ -507,13 +485,6 @@ typedef struct _alpm_event_optdep_removal_t {
|
||||
alpm_depend_t *optdep;
|
||||
} alpm_event_optdep_removal_t;
|
||||
|
||||
typedef struct _alpm_event_delta_patch_t {
|
||||
/** Type of event. */
|
||||
alpm_event_type_t type;
|
||||
/** Delta info */
|
||||
alpm_delta_t *delta;
|
||||
} alpm_event_delta_patch_t;
|
||||
|
||||
typedef struct _alpm_event_scriptlet_info_t {
|
||||
/** Type of event. */
|
||||
alpm_event_type_t type;
|
||||
@@ -587,7 +558,6 @@ typedef union _alpm_event_t {
|
||||
alpm_event_any_t any;
|
||||
alpm_event_package_operation_t package_operation;
|
||||
alpm_event_optdep_removal_t optdep_removal;
|
||||
alpm_event_delta_patch_t delta_patch;
|
||||
alpm_event_scriptlet_info_t scriptlet_info;
|
||||
alpm_event_database_missing_t database_missing;
|
||||
alpm_event_pkgdownload_t pkgdownload;
|
||||
@@ -736,13 +706,42 @@ typedef void (*alpm_cb_progress)(alpm_progress_t, const char *, int, size_t, siz
|
||||
* Downloading
|
||||
*/
|
||||
|
||||
/* File download events.
|
||||
* These events are reported by ALPM via download callback.
|
||||
*/
|
||||
typedef enum {
|
||||
ALPM_DOWNLOAD_INIT, /* alpm initializes file download logic */
|
||||
ALPM_DOWNLOAD_PROGRESS, /* download progress reported */
|
||||
ALPM_DOWNLOAD_COMPLETED /* alpm is about to release data related to the file */
|
||||
} alpm_download_event_type_t;
|
||||
|
||||
typedef struct {
|
||||
int optional; /* whether this file is optional and thus the errors could be ignored */
|
||||
} alpm_download_event_init_t;
|
||||
|
||||
typedef struct {
|
||||
off_t downloaded; /* amount of data downloaded */
|
||||
off_t total; /* total amount need to be downloaded */
|
||||
} alpm_download_event_progress_t;
|
||||
|
||||
typedef struct {
|
||||
/* total bytes in file */
|
||||
off_t total;
|
||||
/* download result code:
|
||||
* 0 - download completed successfully
|
||||
* 1 - the file is up-to-date
|
||||
* -1 - error
|
||||
*/
|
||||
int result;
|
||||
} alpm_download_event_completed_t;
|
||||
|
||||
/** Type of download progress callbacks.
|
||||
* @param filename the name of the file being downloaded
|
||||
* @param xfered the number of transferred bytes
|
||||
* @param total the total number of bytes to transfer
|
||||
* @param event the event type
|
||||
* @param data the event data of type alpm_download_event_*_t
|
||||
*/
|
||||
typedef void (*alpm_cb_download)(const char *filename,
|
||||
off_t xfered, off_t total);
|
||||
alpm_download_event_type_t event, void *data);
|
||||
|
||||
typedef void (*alpm_cb_totaldl)(off_t total);
|
||||
|
||||
@@ -756,12 +755,17 @@ typedef void (*alpm_cb_totaldl)(off_t total);
|
||||
typedef int (*alpm_cb_fetch)(const char *url, const char *localpath,
|
||||
int force);
|
||||
|
||||
/** Fetch a remote pkg.
|
||||
/** Fetch a list of remote packages.
|
||||
* @param handle the context handle
|
||||
* @param url URL of the package to download
|
||||
* @return the downloaded filepath on success, NULL on error
|
||||
* @param urls list of package URLs to download
|
||||
* @param fetched list of filepaths to the fetched packages, each item
|
||||
* corresponds to one in `urls` list. This is an output parameter,
|
||||
* the caller should provide a pointer to an empty list
|
||||
* (*fetched === NULL) and the callee fills the list with data.
|
||||
* @return 0 on success or -1 on failure
|
||||
*/
|
||||
char *alpm_fetch_pkgurl(alpm_handle_t *handle, const char *url);
|
||||
int alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
|
||||
alpm_list_t **fetched);
|
||||
|
||||
/** @addtogroup alpm_api_options Options
|
||||
* Libalpm option getters and setters
|
||||
@@ -913,9 +917,6 @@ const char *alpm_option_get_arch(alpm_handle_t *handle);
|
||||
/** Sets the targeted architecture. */
|
||||
int alpm_option_set_arch(alpm_handle_t *handle, const char *arch);
|
||||
|
||||
double alpm_option_get_deltaratio(alpm_handle_t *handle);
|
||||
int alpm_option_set_deltaratio(alpm_handle_t *handle, double ratio);
|
||||
|
||||
int alpm_option_get_checkspace(alpm_handle_t *handle);
|
||||
int alpm_option_set_checkspace(alpm_handle_t *handle, int checkspace);
|
||||
|
||||
@@ -933,6 +934,17 @@ 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);
|
||||
|
||||
int alpm_option_get_parallel_downloads(alpm_handle_t *handle);
|
||||
|
||||
/** Sets number of parallel streams to download database and package files.
|
||||
* If the function is not called then the default value of '1' stream
|
||||
* (i.e. sequential download) is used.
|
||||
* @param handle the context handle
|
||||
* @param num_streams number of parallel download streams
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_option_set_parallel_downloads(alpm_handle_t *handle, unsigned int num_streams);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @addtogroup alpm_api_databases Database Functions
|
||||
@@ -1003,13 +1015,65 @@ int alpm_db_get_valid(alpm_db_t *db);
|
||||
/** @name Accessors to the list of servers for a database.
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Get the list of servers assigned to this db.
|
||||
* @param db pointer to the database to get the servers from
|
||||
* @return a char* list of servers
|
||||
*/
|
||||
alpm_list_t *alpm_db_get_servers(const alpm_db_t *db);
|
||||
|
||||
/** Sets the list of servers for the database to use.
|
||||
* @param db the database to set the servers
|
||||
* @param a char* list of servers. Note: the database will
|
||||
* take ownership of the list and it should no longer be
|
||||
* freed by the caller
|
||||
*/
|
||||
int alpm_db_set_servers(alpm_db_t *db, alpm_list_t *servers);
|
||||
|
||||
/** Add a download server to a database.
|
||||
* @param db database pointer
|
||||
* @param url url of the server
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_db_add_server(alpm_db_t *db, const char *url);
|
||||
|
||||
/** Remove a download server from a database.
|
||||
* @param db database pointer
|
||||
* @param url url of the server
|
||||
* @return 0 on success, 1 on server not present,
|
||||
* -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_db_remove_server(alpm_db_t *db, const char *url);
|
||||
/** @} */
|
||||
|
||||
int alpm_db_update(int force, alpm_db_t *db);
|
||||
/** Update package databases
|
||||
*
|
||||
* An update of the package databases in the list \a dbs will be attempted.
|
||||
* Unless \a force is true, the update will only be performed if the remote
|
||||
* databases were modified since the last update.
|
||||
*
|
||||
* This operation requires a database lock, and will return an applicable error
|
||||
* if the lock could not be obtained.
|
||||
*
|
||||
* Example:
|
||||
* @code
|
||||
* alpm_list_t *dbs = alpm_get_syncdbs();
|
||||
* ret = alpm_db_update(config->handle, dbs, force);
|
||||
* if(ret < 0) {
|
||||
* pm_printf(ALPM_LOG_ERROR, _("failed to synchronize all databases (%s)\n"),
|
||||
* alpm_strerror(alpm_errno(config->handle)));
|
||||
* }
|
||||
* @endcode
|
||||
*
|
||||
* @note After a successful update, the \link alpm_db_get_pkgcache()
|
||||
* package cache \endlink will be invalidated
|
||||
* @param handle the context handle
|
||||
* @param dbs list of package databases to update
|
||||
* @param force if true, then forces the update, otherwise update only in case
|
||||
* the databases aren't up to date
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_db_update(alpm_handle_t *handle, alpm_list_t *dbs, int force);
|
||||
|
||||
/** Get a package entry from a package database.
|
||||
* @param db pointer to the package database to get the package from
|
||||
@@ -1040,11 +1104,14 @@ alpm_list_t *alpm_db_get_groupcache(alpm_db_t *db);
|
||||
/** Searches a database with regular expressions.
|
||||
* @param db pointer to the package database to search in
|
||||
* @param needles a list of regular expressions to search for
|
||||
* @return the list of packages matching all regular expressions on success, NULL on error
|
||||
* @param ret pointer to list for storing packages matching all
|
||||
* regular expressions - must point to an empty (NULL) alpm_list_t *.
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
alpm_list_t *alpm_db_search(alpm_db_t *db, const alpm_list_t *needles);
|
||||
int alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
|
||||
alpm_list_t **ret);
|
||||
|
||||
typedef enum _alpm_db_usage_ {
|
||||
typedef enum _alpm_db_usage_t {
|
||||
ALPM_DB_USAGE_SYNC = 1,
|
||||
ALPM_DB_USAGE_SEARCH = (1 << 1),
|
||||
ALPM_DB_USAGE_INSTALL = (1 << 2),
|
||||
@@ -1109,7 +1176,20 @@ int alpm_pkg_free(alpm_pkg_t *pkg);
|
||||
*/
|
||||
int alpm_pkg_checkmd5sum(alpm_pkg_t *pkg);
|
||||
|
||||
/** Compare two version strings and determine which one is 'newer'. */
|
||||
/** Compare two version strings and determine which one is 'newer'.
|
||||
* Returns a value comparable to the way strcmp works. Returns 1
|
||||
* if a is newer than b, 0 if a and b are the same version, or -1
|
||||
* if b is newer than a.
|
||||
*
|
||||
* Different epoch values for version strings will override any further
|
||||
* comparison. If no epoch is provided, 0 is assumed.
|
||||
*
|
||||
* Keep in mind that the pkgrel is only compared if it is available
|
||||
* on both versions handed to this function. For example, comparing
|
||||
* 1.5-1 and 1.5 will yield 0; comparing 1.5-1 and 1.5-2 will yield
|
||||
* -1 as expected. This is mainly for supporting versioned dependencies
|
||||
* that do not include the pkgrel.
|
||||
*/
|
||||
int alpm_pkg_vercmp(const char *a, const char *b);
|
||||
|
||||
/** Computes the list of packages requiring a given package.
|
||||
@@ -1292,12 +1372,6 @@ alpm_list_t *alpm_pkg_get_conflicts(alpm_pkg_t *pkg);
|
||||
*/
|
||||
alpm_list_t *alpm_pkg_get_provides(alpm_pkg_t *pkg);
|
||||
|
||||
/** Returns the list of available deltas for pkg.
|
||||
* @param pkg a pointer to package
|
||||
* @return a reference to an internal list of strings.
|
||||
*/
|
||||
alpm_list_t *alpm_pkg_get_deltas(alpm_pkg_t *pkg);
|
||||
|
||||
/** Returns the list of packages to be replaced by pkg.
|
||||
* @param pkg a pointer to package
|
||||
* @return a reference to an internal list of alpm_depend_t structures.
|
||||
@@ -1333,6 +1407,17 @@ alpm_db_t *alpm_pkg_get_db(alpm_pkg_t *pkg);
|
||||
*/
|
||||
const char *alpm_pkg_get_base64_sig(alpm_pkg_t *pkg);
|
||||
|
||||
/** Extracts package signature either from embedded package signature
|
||||
* or if it is absent then reads data from detached signature file.
|
||||
* @param pkg a pointer to package.
|
||||
* @param sig output parameter for signature data. Callee function allocates
|
||||
* a buffer needed for the signature data. Caller is responsible for
|
||||
* freeing this buffer.
|
||||
* @param sig_len output parameter for the signature data length.
|
||||
* @return 0 on success, negative number on error.
|
||||
*/
|
||||
int alpm_pkg_get_sig(alpm_pkg_t *pkg, unsigned char **sig, size_t *sig_len);
|
||||
|
||||
/** Returns the method used to validate a package during install.
|
||||
* @param pkg a pointer to package
|
||||
* @return an enum member giving the validation method
|
||||
@@ -1363,11 +1448,15 @@ void *alpm_pkg_changelog_open(alpm_pkg_t *pkg);
|
||||
size_t alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
const alpm_pkg_t *pkg, void *fp);
|
||||
|
||||
/** Close a package changelog for reading.
|
||||
* @param pkg the package to close the changelog of (either file or db)
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp);
|
||||
|
||||
/** Open a package mtree file for reading.
|
||||
* @param pkg the local package to read the changelog of
|
||||
* @return a archive structure for the package mtree file
|
||||
* @param pkg the local package to read the mtree of
|
||||
* @return an archive structure for the package mtree file
|
||||
*/
|
||||
struct archive *alpm_pkg_mtree_open(alpm_pkg_t *pkg);
|
||||
|
||||
@@ -1375,11 +1464,15 @@ struct archive *alpm_pkg_mtree_open(alpm_pkg_t *pkg);
|
||||
* @param pkg the package that the mtree file is being read from
|
||||
* @param archive the archive structure reading from the mtree file
|
||||
* @param entry an archive_entry to store the entry header information
|
||||
* @return 0 if end of archive is reached, non-zero otherwise.
|
||||
* @return 0 on success, 1 if end of archive is reached, -1 otherwise.
|
||||
*/
|
||||
int alpm_pkg_mtree_next(const alpm_pkg_t *pkg, struct archive *archive,
|
||||
struct archive_entry **entry);
|
||||
|
||||
/** Close a package mtree file.
|
||||
* @param pkg the local package to close the mtree of
|
||||
* @param the archive to close
|
||||
*/
|
||||
int alpm_pkg_mtree_close(const alpm_pkg_t *pkg, struct archive *archive);
|
||||
|
||||
/** Returns whether the package has an install scriptlet.
|
||||
@@ -1387,16 +1480,13 @@ int alpm_pkg_mtree_close(const alpm_pkg_t *pkg, struct archive *archive);
|
||||
*/
|
||||
int alpm_pkg_has_scriptlet(alpm_pkg_t *pkg);
|
||||
|
||||
/** Returns the size of download.
|
||||
* Returns the size of the files that will be downloaded to install a
|
||||
/** Returns the size of the files that will be downloaded to install a
|
||||
* package.
|
||||
* @param newpkg the new package to upgrade to
|
||||
* @return the size of the download
|
||||
*/
|
||||
off_t alpm_pkg_download_size(alpm_pkg_t *newpkg);
|
||||
|
||||
alpm_list_t *alpm_pkg_unused_deltas(alpm_pkg_t *pkg);
|
||||
|
||||
/** Set install reason for a package in the local database.
|
||||
* The provided package object must be from the local database or this method
|
||||
* will fail. The write to the local database is performed immediately.
|
||||
@@ -1428,15 +1518,48 @@ alpm_file_t *alpm_filelist_contains(alpm_filelist_t *filelist, const char *path)
|
||||
* Signatures
|
||||
*/
|
||||
|
||||
/**
|
||||
* Check the PGP signature for the given package file.
|
||||
* @param pkg the package to check
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
|
||||
*/
|
||||
int alpm_pkg_check_pgp_signature(alpm_pkg_t *pkg, alpm_siglist_t *siglist);
|
||||
|
||||
/**
|
||||
* Check the PGP signature for the given database.
|
||||
* @param db the database to check
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
|
||||
*/
|
||||
int alpm_db_check_pgp_signature(alpm_db_t *db, alpm_siglist_t *siglist);
|
||||
|
||||
/**
|
||||
* Clean up and free a signature result list.
|
||||
* Note that this does not free the siglist object itself in case that
|
||||
* was allocated on the stack; this is the responsibility of the caller.
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_siglist_cleanup(alpm_siglist_t *siglist);
|
||||
|
||||
/**
|
||||
* Decode a loaded signature in base64 form.
|
||||
* @param base64_data the signature to attempt to decode
|
||||
* @param data the decoded data; must be freed by the caller
|
||||
* @param data_len the length of the returned data
|
||||
* @return 0 on success, -1 on failure to properly decode
|
||||
*/
|
||||
int alpm_decode_signature(const char *base64_data,
|
||||
unsigned char **data, size_t *data_len);
|
||||
|
||||
/**
|
||||
* Extract the Issuer Key ID from a signature
|
||||
* @param sig PGP signature
|
||||
* @param len length of signature
|
||||
* @param keys a pointer to storage for key IDs
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_extract_keyid(alpm_handle_t *handle, const char *identifier,
|
||||
const unsigned char *sig, const size_t len, alpm_list_t **keys);
|
||||
|
||||
@@ -1444,13 +1567,23 @@ int alpm_extract_keyid(alpm_handle_t *handle, const char *identifier,
|
||||
* Groups
|
||||
*/
|
||||
|
||||
/** Find group members across a list of databases.
|
||||
* If a member exists in several databases, only the first database is used.
|
||||
* IgnorePkg is also handled.
|
||||
* @param dbs the list of alpm_db_t *
|
||||
* @param name the name of the group
|
||||
* @return the list of alpm_pkg_t * (caller is responsible for alpm_list_free)
|
||||
*/
|
||||
alpm_list_t *alpm_find_group_pkgs(alpm_list_t *dbs, const char *name);
|
||||
|
||||
/*
|
||||
* Sync
|
||||
*/
|
||||
|
||||
alpm_pkg_t *alpm_sync_newversion(alpm_pkg_t *pkg, alpm_list_t *dbs_sync);
|
||||
/** Check for new version of pkg in sync repos
|
||||
* (only the first occurrence is considered in sync)
|
||||
*/
|
||||
alpm_pkg_t *alpm_sync_get_new_version(alpm_pkg_t *pkg, alpm_list_t *dbs_sync);
|
||||
|
||||
/** @addtogroup alpm_api_trans Transaction Functions
|
||||
* Functions to manipulate libalpm transactions
|
||||
@@ -1461,8 +1594,7 @@ alpm_pkg_t *alpm_sync_newversion(alpm_pkg_t *pkg, alpm_list_t *dbs_sync);
|
||||
typedef enum _alpm_transflag_t {
|
||||
/** Ignore dependency checks. */
|
||||
ALPM_TRANS_FLAG_NODEPS = 1,
|
||||
/** Ignore file conflicts and overwrite files. */
|
||||
ALPM_TRANS_FLAG_FORCE = (1 << 1),
|
||||
/* (1 << 1) flag can go here */
|
||||
/** Delete files even if they are tagged as backup. */
|
||||
ALPM_TRANS_FLAG_NOSAVE = (1 << 2),
|
||||
/** Ignore version numbers when checking dependencies. */
|
||||
@@ -1583,12 +1715,49 @@ int alpm_remove_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg);
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Checks dependencies and returns missing ones in a list.
|
||||
* Dependencies can include versions with depmod operators.
|
||||
* @param handle the context handle
|
||||
* @param pkglist the list of local packages
|
||||
* @param remove an alpm_list_t* of packages to be removed
|
||||
* @param upgrade an alpm_list_t* of packages to be upgraded (remove-then-upgrade)
|
||||
* @param reversedeps handles the backward dependencies
|
||||
* @return an alpm_list_t* of alpm_depmissing_t pointers.
|
||||
*/
|
||||
alpm_list_t *alpm_checkdeps(alpm_handle_t *handle, alpm_list_t *pkglist,
|
||||
alpm_list_t *remove, alpm_list_t *upgrade, int reversedeps);
|
||||
|
||||
/** Find a package satisfying a specified dependency.
|
||||
* The dependency can include versions with depmod operators.
|
||||
* @param pkgs an alpm_list_t* of alpm_pkg_t where the satisfier will be searched
|
||||
* @param depstring package or provision name, versioned or not
|
||||
* @return a alpm_pkg_t* satisfying depstring
|
||||
*/
|
||||
alpm_pkg_t *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstring);
|
||||
|
||||
/** Find a package satisfying a specified dependency.
|
||||
* First look for a literal, going through each db one by one. Then look for
|
||||
* providers. The first satisfier that belongs to an installed package is
|
||||
* returned. If no providers belong to an installed package then an
|
||||
* alpm_question_select_provider_t is created to select the provider.
|
||||
* The dependency can include versions with depmod operators.
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param dbs an alpm_list_t* of alpm_db_t where the satisfier will be searched
|
||||
* @param depstring package or provision name, versioned or not
|
||||
* @return a alpm_pkg_t* satisfying depstring
|
||||
*/
|
||||
alpm_pkg_t *alpm_find_dbs_satisfier(alpm_handle_t *handle,
|
||||
alpm_list_t *dbs, const char *depstring);
|
||||
|
||||
/**
|
||||
* @brief Check the package conflicts in a database
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param pkglist the list of packages to check
|
||||
*
|
||||
* @return an alpm_list_t of alpm_conflict_t
|
||||
*/
|
||||
alpm_list_t *alpm_checkconflicts(alpm_handle_t *handle, alpm_list_t *pkglist);
|
||||
|
||||
/** Returns a newly allocated string representing the dependency information.
|
||||
@@ -1617,12 +1786,60 @@ void alpm_dep_free(alpm_depend_t *dep);
|
||||
*/
|
||||
|
||||
/* checksums */
|
||||
|
||||
/** \addtogroup alpm_misc Miscellaneous Functions
|
||||
* @brief Various libalpm functions
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Get the md5 sum of file.
|
||||
* @param filename name of the file
|
||||
* @return the checksum on success, NULL on error
|
||||
*/
|
||||
char *alpm_compute_md5sum(const char *filename);
|
||||
|
||||
/** Get the sha256 sum of file.
|
||||
* @param filename name of the file
|
||||
* @return the checksum on success, NULL on error
|
||||
*/
|
||||
char *alpm_compute_sha256sum(const char *filename);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** \addtogroup alpm_interface Interface Functions
|
||||
* @brief Functions to initialize and release libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Initializes the library.
|
||||
* Creates handle, connects to database and creates lockfile.
|
||||
* This must be called before any other functions are called.
|
||||
* @param root the root path for all filesystem operations
|
||||
* @param dbpath the absolute path to the libalpm database
|
||||
* @param err an optional variable to hold any error return codes
|
||||
* @return a context handle on success, NULL on error, err will be set if provided
|
||||
*/
|
||||
alpm_handle_t *alpm_initialize(const char *root, const char *dbpath,
|
||||
alpm_errno_t *err);
|
||||
|
||||
/** Release the library.
|
||||
* Disconnects from the database, removes handle and lockfile
|
||||
* This should be the last alpm call you make.
|
||||
* After this returns, handle should be considered invalid and cannot be reused
|
||||
* in any way.
|
||||
* @param myhandle the context handle
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_release(alpm_handle_t *handle);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** Remove the database lock file
|
||||
* @param handle the context handle
|
||||
* @return 0 on success, -1 on error
|
||||
*
|
||||
* @note Safe to call from inside signal handlers.
|
||||
*/
|
||||
int alpm_unlock(alpm_handle_t *handle);
|
||||
|
||||
enum alpm_caps {
|
||||
@@ -1631,12 +1848,27 @@ enum alpm_caps {
|
||||
ALPM_CAPABILITY_SIGNATURES = (1 << 2)
|
||||
};
|
||||
|
||||
/** Get the version of library.
|
||||
* @return the library version, e.g. "6.0.4"
|
||||
* */
|
||||
const char *alpm_version(void);
|
||||
/* Return a bitfield of capabilities using values from 'enum alpm_caps' */
|
||||
|
||||
/** Get the capabilities of the library.
|
||||
* @return a bitmask of the capabilities
|
||||
* */
|
||||
int alpm_capabilities(void);
|
||||
|
||||
/**
|
||||
* Free a fileconflict and its members.
|
||||
* @param conflict the fileconflict to free
|
||||
*/
|
||||
void alpm_fileconflict_free(alpm_fileconflict_t *conflict);
|
||||
void alpm_depmissing_free(alpm_depmissing_t *miss);
|
||||
|
||||
/**
|
||||
* Free a conflict and its members.
|
||||
* @param conflict the conflict to free
|
||||
*/
|
||||
void alpm_conflict_free(alpm_conflict_t *conflict);
|
||||
|
||||
/* End of alpm_api */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* alpm_list.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* alpm_list.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* backup.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* backup.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* be_local.c : backend for the local database
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
@@ -153,6 +153,18 @@ static alpm_list_t *_cache_get_optdepends(alpm_pkg_t *pkg)
|
||||
return pkg->optdepends;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_makedepends(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->makedepends;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_checkdepends(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
return pkg->checkdepends;
|
||||
}
|
||||
|
||||
static alpm_list_t *_cache_get_conflicts(alpm_pkg_t *pkg)
|
||||
{
|
||||
LAZY_LOAD(INFRQ_DESC);
|
||||
@@ -244,8 +256,7 @@ static struct archive *_cache_mtree_open(alpm_pkg_t *pkg)
|
||||
}
|
||||
|
||||
if((mtree = archive_read_new()) == NULL) {
|
||||
pkg->handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(pkg->handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
_alpm_archive_read_support_filter_all(mtree);
|
||||
@@ -254,9 +265,8 @@ static struct archive *_cache_mtree_open(alpm_pkg_t *pkg)
|
||||
if((r = _alpm_archive_read_open_file(mtree, mtfile, ALPM_BUFFER_SIZE))) {
|
||||
_alpm_log(pkg->handle, ALPM_LOG_ERROR, _("error while reading file %s: %s\n"),
|
||||
mtfile, archive_error_string(mtree));
|
||||
pkg->handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
_alpm_archive_read_free(mtree);
|
||||
goto error;
|
||||
GOTO_ERR(pkg->handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
free(mtfile);
|
||||
@@ -272,12 +282,26 @@ error:
|
||||
* @param pkg the package that the mtree file is being read from
|
||||
* @param archive the archive structure reading from the mtree file
|
||||
* @param entry an archive_entry to store the entry header information
|
||||
* @return 0 if end of archive is reached, non-zero otherwise.
|
||||
* @return 0 on success, 1 if end of archive is reached, -1 otherwise.
|
||||
*/
|
||||
static int _cache_mtree_next(const alpm_pkg_t UNUSED *pkg,
|
||||
struct archive *mtree, struct archive_entry **entry)
|
||||
{
|
||||
return archive_read_next_header(mtree, entry);
|
||||
int ret;
|
||||
ret = archive_read_next_header(mtree, entry);
|
||||
|
||||
switch(ret) {
|
||||
case ARCHIVE_OK:
|
||||
return 0;
|
||||
break;
|
||||
case ARCHIVE_EOF:
|
||||
return 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -303,36 +327,38 @@ static int _cache_force_load(alpm_pkg_t *pkg)
|
||||
* logic.
|
||||
*/
|
||||
static struct pkg_operations local_pkg_ops = {
|
||||
.get_base = _cache_get_base,
|
||||
.get_desc = _cache_get_desc,
|
||||
.get_url = _cache_get_url,
|
||||
.get_builddate = _cache_get_builddate,
|
||||
.get_base = _cache_get_base,
|
||||
.get_desc = _cache_get_desc,
|
||||
.get_url = _cache_get_url,
|
||||
.get_builddate = _cache_get_builddate,
|
||||
.get_installdate = _cache_get_installdate,
|
||||
.get_packager = _cache_get_packager,
|
||||
.get_arch = _cache_get_arch,
|
||||
.get_isize = _cache_get_isize,
|
||||
.get_reason = _cache_get_reason,
|
||||
.get_validation = _cache_get_validation,
|
||||
.has_scriptlet = _cache_has_scriptlet,
|
||||
.get_licenses = _cache_get_licenses,
|
||||
.get_groups = _cache_get_groups,
|
||||
.get_depends = _cache_get_depends,
|
||||
.get_optdepends = _cache_get_optdepends,
|
||||
.get_conflicts = _cache_get_conflicts,
|
||||
.get_provides = _cache_get_provides,
|
||||
.get_replaces = _cache_get_replaces,
|
||||
.get_files = _cache_get_files,
|
||||
.get_backup = _cache_get_backup,
|
||||
.get_packager = _cache_get_packager,
|
||||
.get_arch = _cache_get_arch,
|
||||
.get_isize = _cache_get_isize,
|
||||
.get_reason = _cache_get_reason,
|
||||
.get_validation = _cache_get_validation,
|
||||
.has_scriptlet = _cache_has_scriptlet,
|
||||
.get_licenses = _cache_get_licenses,
|
||||
.get_groups = _cache_get_groups,
|
||||
.get_depends = _cache_get_depends,
|
||||
.get_optdepends = _cache_get_optdepends,
|
||||
.get_makedepends = _cache_get_makedepends,
|
||||
.get_checkdepends = _cache_get_checkdepends,
|
||||
.get_conflicts = _cache_get_conflicts,
|
||||
.get_provides = _cache_get_provides,
|
||||
.get_replaces = _cache_get_replaces,
|
||||
.get_files = _cache_get_files,
|
||||
.get_backup = _cache_get_backup,
|
||||
|
||||
.changelog_open = _cache_changelog_open,
|
||||
.changelog_read = _cache_changelog_read,
|
||||
.changelog_open = _cache_changelog_open,
|
||||
.changelog_read = _cache_changelog_read,
|
||||
.changelog_close = _cache_changelog_close,
|
||||
|
||||
.mtree_open = _cache_mtree_open,
|
||||
.mtree_next = _cache_mtree_next,
|
||||
.mtree_close = _cache_mtree_close,
|
||||
.mtree_open = _cache_mtree_open,
|
||||
.mtree_next = _cache_mtree_next,
|
||||
.mtree_close = _cache_mtree_close,
|
||||
|
||||
.force_load = _cache_force_load,
|
||||
.force_load = _cache_force_load,
|
||||
};
|
||||
|
||||
static int checkdbdir(alpm_db_t *db)
|
||||
@@ -666,7 +692,7 @@ char *_alpm_local_db_pkgpath(alpm_db_t *db, alpm_pkg_t *info,
|
||||
static int local_db_read(alpm_pkg_t *info, int inforeq)
|
||||
{
|
||||
FILE *fp = NULL;
|
||||
char line[1024];
|
||||
char line[1024] = {0};
|
||||
alpm_db_t *db = info->origin_data.db;
|
||||
|
||||
/* bitmask logic here:
|
||||
@@ -689,9 +715,6 @@ static int local_db_read(alpm_pkg_t *info, int inforeq)
|
||||
"loading package data for %s : level=0x%x\n",
|
||||
info->name, inforeq);
|
||||
|
||||
/* clear out 'line', to be certain - and to make valgrind happy */
|
||||
memset(line, 0, sizeof(line));
|
||||
|
||||
/* DESC */
|
||||
if(inforeq & INFRQ_DESC && !(info->infolevel & INFRQ_DESC)) {
|
||||
char *path = _alpm_local_db_pkgpath(db, info, "desc");
|
||||
@@ -773,6 +796,10 @@ static int local_db_read(alpm_pkg_t *info, int inforeq)
|
||||
READ_AND_SPLITDEP(info->depends);
|
||||
} else if(strcmp(line, "%OPTDEPENDS%") == 0) {
|
||||
READ_AND_SPLITDEP(info->optdepends);
|
||||
} else if(strcmp(line, "%MAKEDEPENDS%") == 0) {
|
||||
READ_AND_SPLITDEP(info->makedepends);
|
||||
} else if(strcmp(line, "%CHECKDEPENDS%") == 0) {
|
||||
READ_AND_SPLITDEP(info->checkdepends);
|
||||
} else if(strcmp(line, "%CONFLICTS%") == 0) {
|
||||
READ_AND_SPLITDEP(info->conflicts);
|
||||
} else if(strcmp(line, "%PROVIDES%") == 0) {
|
||||
@@ -814,12 +841,7 @@ static int local_db_read(alpm_pkg_t *info, int inforeq)
|
||||
}
|
||||
/* attempt to hand back any memory we don't need */
|
||||
if(files_count > 0) {
|
||||
alpm_file_t *newfiles;
|
||||
|
||||
newfiles = realloc(files, sizeof(alpm_file_t) * files_count);
|
||||
if(newfiles != NULL) {
|
||||
files = newfiles;
|
||||
}
|
||||
REALLOC(files, sizeof(alpm_file_t) * files_count, (void)0);
|
||||
} else {
|
||||
FREE(files);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* be_package.c : backend for packages
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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,9 +164,8 @@ static int parse_descfile(alpm_handle_t *handle, struct archive *a, alpm_pkg_t *
|
||||
char *ptr = NULL;
|
||||
char *key = NULL;
|
||||
int ret, linenum = 0;
|
||||
struct archive_read_buffer buf;
|
||||
struct archive_read_buffer buf = {0};
|
||||
|
||||
memset(&buf, 0, sizeof(buf));
|
||||
/* 512K for a line length seems reasonable */
|
||||
buf.max_line_size = 512 * 1024;
|
||||
|
||||
@@ -202,11 +201,15 @@ static int parse_descfile(alpm_handle_t *handle, struct archive *a, alpm_pkg_t *
|
||||
} else if(strcmp(key, "pkgdesc") == 0) {
|
||||
STRDUP(newpkg->desc, ptr, return -1);
|
||||
} else if(strcmp(key, "group") == 0) {
|
||||
newpkg->groups = alpm_list_add(newpkg->groups, strdup(ptr));
|
||||
char *tmp = NULL;
|
||||
STRDUP(tmp, ptr, return -1);
|
||||
newpkg->groups = alpm_list_add(newpkg->groups, tmp);
|
||||
} else if(strcmp(key, "url") == 0) {
|
||||
STRDUP(newpkg->url, ptr, return -1);
|
||||
} else if(strcmp(key, "license") == 0) {
|
||||
newpkg->licenses = alpm_list_add(newpkg->licenses, strdup(ptr));
|
||||
char *tmp = NULL;
|
||||
STRDUP(tmp, ptr, return -1);
|
||||
newpkg->licenses = alpm_list_add(newpkg->licenses, tmp);
|
||||
} else if(strcmp(key, "builddate") == 0) {
|
||||
newpkg->builddate = _alpm_parsedate(ptr);
|
||||
} else if(strcmp(key, "packager") == 0) {
|
||||
@@ -308,7 +311,7 @@ int _alpm_pkg_validate_internal(alpm_handle_t *handle,
|
||||
}
|
||||
}
|
||||
|
||||
if(syncpkg && !has_sig) {
|
||||
if(syncpkg && (!has_sig || !syncpkg->base64_sig)) {
|
||||
if(syncpkg->md5sum && !syncpkg->sha256sum) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "md5sum: %s\n", syncpkg->md5sum);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "checking md5sum for %s\n", pkgfile);
|
||||
@@ -448,18 +451,15 @@ static int build_filelist_from_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg, str
|
||||
char *mtree_data = NULL;
|
||||
struct archive *mtree;
|
||||
struct archive_entry *mtree_entry = NULL;
|
||||
alpm_filelist_t filelist;
|
||||
alpm_filelist_t filelist = {0};
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"found mtree for package %s, getting file list\n", pkg->filename);
|
||||
|
||||
memset(&filelist, 0, sizeof(alpm_filelist_t));
|
||||
|
||||
/* create a new archive to parse the mtree and load it from archive into memory */
|
||||
/* TODO: split this into a function */
|
||||
if((mtree = archive_read_new()) == NULL) {
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
_alpm_archive_read_support_filter_all(mtree);
|
||||
@@ -478,8 +478,7 @@ static int build_filelist_from_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg, str
|
||||
if(size < 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, _("error while reading package %s: %s\n"),
|
||||
pkg->filename, archive_error_string(archive));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
if(size == 0) {
|
||||
break;
|
||||
@@ -492,8 +491,7 @@ static int build_filelist_from_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg, str
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
_("error while reading mtree of package %s: %s\n"),
|
||||
pkg->filename, archive_error_string(mtree));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
while((ret = archive_read_next_header(mtree, &mtree_entry)) == ARCHIVE_OK) {
|
||||
@@ -516,8 +514,7 @@ static int build_filelist_from_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg, str
|
||||
if(ret != ARCHIVE_EOF && ret != ARCHIVE_OK) { /* An error occurred */
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, _("error while reading mtree of package %s: %s\n"),
|
||||
pkg->filename, archive_error_string(mtree));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
/* throw away any files we loaded directly from the archive */
|
||||
@@ -582,11 +579,9 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
|
||||
newpkg = _alpm_pkg_new();
|
||||
if(newpkg == NULL) {
|
||||
handle->pm_errno = ALPM_ERR_MEMORY;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_MEMORY, error);
|
||||
}
|
||||
STRDUP(newpkg->filename, pkgfile,
|
||||
handle->pm_errno = ALPM_ERR_MEMORY; goto error);
|
||||
STRDUP(newpkg->filename, pkgfile, GOTO_ERR(handle, ALPM_ERR_MEMORY, error));
|
||||
newpkg->size = st.st_size;
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "starting package load for %s\n", pkgfile);
|
||||
@@ -636,8 +631,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
if(archive_read_data_skip(archive)) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("error while reading package %s: %s\n"),
|
||||
pkgfile, archive_error_string(archive));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
/* if we are not doing a full read, see if we have all we need */
|
||||
@@ -649,8 +643,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
if(ret != ARCHIVE_EOF && ret != ARCHIVE_OK) { /* An error occurred */
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("error while reading package %s: %s\n"),
|
||||
pkgfile, archive_error_string(archive));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
if(!config) {
|
||||
@@ -663,7 +656,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
|
||||
/* internal fields for package struct */
|
||||
newpkg->origin = ALPM_PKG_FROM_FILE;
|
||||
newpkg->origin_data.file = strdup(pkgfile);
|
||||
STRDUP(newpkg->origin_data.file, pkgfile, goto error);
|
||||
newpkg->ops = get_file_pkg_ops();
|
||||
newpkg->handle = handle;
|
||||
newpkg->infolevel = INFRQ_BASE | INFRQ_DESC | INFRQ_SCRIPTLET;
|
||||
@@ -672,8 +665,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
if(full) {
|
||||
if(newpkg->files.files) {
|
||||
/* attempt to hand back any memory we don't need */
|
||||
newpkg->files.files = realloc(newpkg->files.files,
|
||||
sizeof(alpm_file_t) * newpkg->files.count);
|
||||
REALLOC(newpkg->files.files, sizeof(alpm_file_t) * newpkg->files.count, (void)0);
|
||||
/* "checking for conflicts" requires a sorted list, ensure that here */
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"sorting package filelist for %s\n", pkgfile);
|
||||
@@ -731,6 +723,8 @@ int SYMEXPORT alpm_pkg_load(alpm_handle_t *handle, const char *filename, int ful
|
||||
{
|
||||
int validation = 0;
|
||||
char *sigpath;
|
||||
alpm_pkg_t *pkg_temp;
|
||||
char *packager;
|
||||
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
ASSERT(pkg != NULL, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
@@ -755,9 +749,17 @@ int SYMEXPORT alpm_pkg_load(alpm_handle_t *handle, const char *filename, int ful
|
||||
for(k = keys; k; k = k->next) {
|
||||
char *key = k->data;
|
||||
if(_alpm_key_in_keychain(handle, key) == 0) {
|
||||
if(_alpm_key_import(handle, key) == -1) {
|
||||
pkg_temp = _alpm_pkg_load_internal(handle, filename, full);
|
||||
if(pkg_temp) {
|
||||
packager = pkg_temp->packager;
|
||||
|
||||
} else {
|
||||
packager = NULL;
|
||||
}
|
||||
if(_alpm_key_import(handle, packager, key) == -1) {
|
||||
fail = 1;
|
||||
}
|
||||
_alpm_pkg_free(pkg_temp);
|
||||
}
|
||||
}
|
||||
FREELIST(keys);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* be_sync.c : backend for sync databases
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
@@ -37,7 +37,6 @@
|
||||
#include "alpm_list.h"
|
||||
#include "package.h"
|
||||
#include "handle.h"
|
||||
#include "delta.h"
|
||||
#include "deps.h"
|
||||
#include "dload.h"
|
||||
#include "filelist.h"
|
||||
@@ -137,178 +136,86 @@ valid:
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Update a package database
|
||||
*
|
||||
* An update of the package database \a db will be attempted. Unless
|
||||
* \a force is true, the update will only be performed if the remote
|
||||
* database was modified since the last update.
|
||||
*
|
||||
* This operation requires a database lock, and will return an applicable error
|
||||
* if the lock could not be obtained.
|
||||
*
|
||||
* Example:
|
||||
* @code
|
||||
* alpm_list_t *syncs = alpm_get_syncdbs();
|
||||
* for(i = syncs; i; i = alpm_list_next(i)) {
|
||||
* alpm_db_t *db = alpm_list_getdata(i);
|
||||
* result = alpm_db_update(0, db);
|
||||
*
|
||||
* if(result < 0) {
|
||||
* printf("Unable to update database: %s\n", alpm_strerrorlast());
|
||||
* } else if(result == 1) {
|
||||
* printf("Database already up to date\n");
|
||||
* } else {
|
||||
* printf("Database updated\n");
|
||||
* }
|
||||
* }
|
||||
* @endcode
|
||||
*
|
||||
* @ingroup alpm_databases
|
||||
* @note After a successful update, the \link alpm_db_get_pkgcache()
|
||||
* package cache \endlink will be invalidated
|
||||
* @param force if true, then forces the update, otherwise update only in case
|
||||
* the database isn't up to date
|
||||
* @param db pointer to the package database to update
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly), 1 if up to
|
||||
* to date
|
||||
*/
|
||||
int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
{
|
||||
int SYMEXPORT alpm_db_update(alpm_handle_t *handle, alpm_list_t *dbs, int force) {
|
||||
char *syncpath;
|
||||
const char *dbext;
|
||||
const char *dbext = handle->dbext;
|
||||
alpm_list_t *i;
|
||||
int updated = 0;
|
||||
int ret = -1;
|
||||
mode_t oldmask;
|
||||
alpm_handle_t *handle;
|
||||
int siglevel;
|
||||
alpm_list_t *payloads = NULL;
|
||||
alpm_event_t event;
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(db != NULL, return -1);
|
||||
handle = db->handle;
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
ASSERT(dbs != NULL, return -1);
|
||||
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));
|
||||
|
||||
if(!(db->usage & ALPM_DB_USAGE_SYNC)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
syncpath = get_sync_dir(handle);
|
||||
if(!syncpath) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* force update of invalid databases to fix potential mismatched database/signature */
|
||||
if(db->status & DB_STATUS_INVALID) {
|
||||
force = 1;
|
||||
}
|
||||
ASSERT(syncpath != NULL, return -1);
|
||||
|
||||
/* make sure we have a sane umask */
|
||||
oldmask = umask(0022);
|
||||
|
||||
siglevel = alpm_db_get_siglevel(db);
|
||||
|
||||
/* attempt to grab a lock */
|
||||
if(_alpm_handle_lock(handle)) {
|
||||
free(syncpath);
|
||||
umask(oldmask);
|
||||
RET_ERR(handle, ALPM_ERR_HANDLE_LOCK, -1);
|
||||
GOTO_ERR(handle, ALPM_ERR_HANDLE_LOCK, cleanup);
|
||||
}
|
||||
|
||||
dbext = db->handle->dbext;
|
||||
|
||||
for(i = db->servers; i; i = i->next) {
|
||||
const char *server = i->data, *final_db_url = NULL;
|
||||
struct dload_payload payload;
|
||||
for(i = dbs; i; i = i->next) {
|
||||
alpm_db_t *db = i->data;
|
||||
int dbforce = force;
|
||||
struct dload_payload *payload = NULL;
|
||||
size_t len;
|
||||
int sig_ret = 0;
|
||||
int siglevel;
|
||||
|
||||
memset(&payload, 0, sizeof(struct dload_payload));
|
||||
if(!(db->usage & ALPM_DB_USAGE_SYNC)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* set hard upper limit of 25MiB */
|
||||
payload.max_size = 25 * 1024 * 1024;
|
||||
ASSERT(db != handle->db_local, GOTO_ERR(handle, ALPM_ERR_WRONG_ARGS, cleanup));
|
||||
ASSERT(db->servers != NULL, GOTO_ERR(handle, ALPM_ERR_SERVER_NONE, cleanup));
|
||||
|
||||
/* force update of invalid databases to fix potential mismatched database/signature */
|
||||
if(db->status & DB_STATUS_INVALID) {
|
||||
dbforce = 1;
|
||||
}
|
||||
|
||||
siglevel = alpm_db_get_siglevel(db);
|
||||
|
||||
CALLOC(payload, 1, sizeof(*payload), GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
payload->servers = db->servers;
|
||||
/* print server + filename into a buffer */
|
||||
len = strlen(server) + strlen(db->treename) + strlen(dbext) + 2;
|
||||
MALLOC(payload.fileurl, len,
|
||||
{
|
||||
free(syncpath);
|
||||
umask(oldmask);
|
||||
RET_ERR(handle, ALPM_ERR_MEMORY, -1);
|
||||
}
|
||||
);
|
||||
snprintf(payload.fileurl, len, "%s/%s%s", server, db->treename, dbext);
|
||||
payload.handle = handle;
|
||||
payload.force = force;
|
||||
payload.unlink_on_fail = 1;
|
||||
|
||||
ret = _alpm_download(&payload, syncpath, NULL, &final_db_url);
|
||||
_alpm_dload_payload_reset(&payload);
|
||||
updated = (updated || ret == 0);
|
||||
|
||||
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) {
|
||||
ret = -1;
|
||||
break;
|
||||
}
|
||||
unlink(sigpath);
|
||||
free(sigpath);
|
||||
|
||||
|
||||
/* check if the final URL from internal downloader looks reasonable */
|
||||
if(final_db_url != NULL) {
|
||||
if(strlen(final_db_url) < 3
|
||||
|| strcmp(final_db_url + strlen(final_db_url) - strlen(dbext),
|
||||
dbext) != 0) {
|
||||
final_db_url = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* if we downloaded a DB, we want the .sig from the same server */
|
||||
if(final_db_url != NULL) {
|
||||
/* print final_db_url into a buffer (leave space for .sig) */
|
||||
len = strlen(final_db_url) + 5;
|
||||
} else {
|
||||
/* print server + filename into a buffer (leave space for separator and .sig) */
|
||||
len = strlen(server) + strlen(db->treename) + strlen(dbext) + 6;
|
||||
}
|
||||
|
||||
MALLOC(payload.fileurl, len,
|
||||
{
|
||||
free(syncpath);
|
||||
umask(oldmask);
|
||||
RET_ERR(handle, ALPM_ERR_MEMORY, -1);
|
||||
}
|
||||
);
|
||||
|
||||
if(final_db_url != NULL) {
|
||||
snprintf(payload.fileurl, len, "%s.sig", final_db_url);
|
||||
} else {
|
||||
snprintf(payload.fileurl, len, "%s/%s%s.sig", server, db->treename, dbext);
|
||||
}
|
||||
|
||||
payload.handle = handle;
|
||||
payload.force = 1;
|
||||
payload.errors_ok = (siglevel & ALPM_SIG_DATABASE_OPTIONAL);
|
||||
|
||||
/* set hard upper limit of 16KiB */
|
||||
payload.max_size = 16 * 1024;
|
||||
|
||||
sig_ret = _alpm_download(&payload, syncpath, NULL, NULL);
|
||||
/* errors_ok suppresses error messages, but not the return code */
|
||||
sig_ret = payload.errors_ok ? 0 : sig_ret;
|
||||
_alpm_dload_payload_reset(&payload);
|
||||
}
|
||||
|
||||
if(ret != -1 && sig_ret != -1) {
|
||||
break;
|
||||
}
|
||||
len = strlen(db->treename) + strlen(dbext) + 1;
|
||||
MALLOC(payload->filepath, len,
|
||||
FREE(payload); GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
snprintf(payload->filepath, len, "%s%s", db->treename, dbext);
|
||||
payload->handle = handle;
|
||||
payload->force = dbforce;
|
||||
payload->unlink_on_fail = 1;
|
||||
payload->download_signature = (siglevel & ALPM_SIG_DATABASE);
|
||||
payload->signature_optional = (siglevel & ALPM_SIG_DATABASE_OPTIONAL);
|
||||
/* set hard upper limit of 128 MiB */
|
||||
payload->max_size = 128 * 1024 * 1024;
|
||||
payloads = alpm_list_add(payloads, payload);
|
||||
}
|
||||
|
||||
if(updated) {
|
||||
event.type = ALPM_EVENT_DB_RETRIEVE_START;
|
||||
EVENT(handle, &event);
|
||||
ret = _alpm_download(handle, payloads, syncpath);
|
||||
if(ret < 0) {
|
||||
event.type = ALPM_EVENT_DB_RETRIEVE_FAILED;
|
||||
EVENT(handle, &event);
|
||||
goto cleanup;
|
||||
}
|
||||
event.type = ALPM_EVENT_DB_RETRIEVE_DONE;
|
||||
EVENT(handle, &event);
|
||||
|
||||
for(i = dbs; i; i = i->next) {
|
||||
alpm_db_t *db = i->data;
|
||||
if(!(db->usage & ALPM_DB_USAGE_SYNC)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Cache needs to be rebuilt */
|
||||
_alpm_db_free_pkgcache(db);
|
||||
|
||||
@@ -319,21 +226,29 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
db->status &= ~DB_STATUS_MISSING;
|
||||
|
||||
/* if the download failed skip validation to preserve the download error */
|
||||
if(ret != -1 && sync_db_validate(db) != 0) {
|
||||
if(sync_db_validate(db) != 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "failed to validate db: %s\n",
|
||||
db->treename);
|
||||
/* pm_errno should be set */
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
|
||||
cleanup:
|
||||
_alpm_handle_unlock(handle);
|
||||
|
||||
if(ret == -1) {
|
||||
/* pm_errno was set by the download code */
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "failed to sync db: %s\n",
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "failed to sync dbs: %s\n",
|
||||
alpm_strerror(handle->pm_errno));
|
||||
} else {
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
}
|
||||
|
||||
_alpm_handle_unlock(handle);
|
||||
if(payloads) {
|
||||
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
|
||||
FREELIST(payloads);
|
||||
}
|
||||
free(syncpath);
|
||||
umask(oldmask);
|
||||
return ret;
|
||||
@@ -427,9 +342,8 @@ static alpm_pkg_t *load_pkg_for_entry(alpm_db_t *db, const char *entryname,
|
||||
|
||||
/* This function doesn't work as well as one might think, as size of database
|
||||
* entries varies considerably. Adding signatures nearly doubles the size of a
|
||||
* single entry; deltas also can make for large variations in size. These
|
||||
* current values are heavily influenced by Arch Linux; databases with no
|
||||
* deltas and a single signature per package. */
|
||||
* single entry. These current values are heavily influenced by Arch Linux;
|
||||
* databases with a single signature per package. */
|
||||
static size_t estimate_package_count(struct stat *st, struct archive *archive)
|
||||
{
|
||||
int per_package;
|
||||
@@ -503,15 +417,14 @@ static int sync_db_populate(alpm_db_t *db)
|
||||
|
||||
db->pkgcache = _alpm_pkghash_create(est_count);
|
||||
if(db->pkgcache == NULL) {
|
||||
db->handle->pm_errno = ALPM_ERR_MEMORY;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
GOTO_ERR(db->handle, ALPM_ERR_MEMORY, cleanup);
|
||||
}
|
||||
|
||||
while((archive_ret = archive_read_next_header(archive, &entry)) == ARCHIVE_OK) {
|
||||
mode_t mode = archive_entry_mode(entry);
|
||||
if(!S_ISDIR(mode)) {
|
||||
/* we have desc, depends or deltas - parse it */
|
||||
/* we have desc or depends - 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"),
|
||||
@@ -524,9 +437,8 @@ static int sync_db_populate(alpm_db_t *db)
|
||||
_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;
|
||||
GOTO_ERR(db->handle, ALPM_ERR_LIBARCHIVE, cleanup);
|
||||
}
|
||||
|
||||
count = alpm_list_count(db->pkgcache->list);
|
||||
@@ -603,7 +515,7 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
{
|
||||
const char *entryname, *filename;
|
||||
alpm_pkg_t *pkg;
|
||||
struct archive_read_buffer buf;
|
||||
struct archive_read_buffer buf = {0};
|
||||
|
||||
entryname = archive_entry_pathname(entry);
|
||||
if(entryname == NULL) {
|
||||
@@ -615,7 +527,6 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
_alpm_log(db->handle, ALPM_LOG_FUNCTION, "loading package data from archive entry %s\n",
|
||||
entryname);
|
||||
|
||||
memset(&buf, 0, sizeof(buf));
|
||||
/* 512K for a line length seems reasonable */
|
||||
buf.max_line_size = 512 * 1024;
|
||||
|
||||
@@ -637,8 +548,7 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
}
|
||||
|
||||
if(strcmp(filename, "desc") == 0 || strcmp(filename, "depends") == 0
|
||||
|| strcmp(filename, "files") == 0
|
||||
|| (strcmp(filename, "deltas") == 0 && db->handle->deltaratio > 0.0) ) {
|
||||
|| strcmp(filename, "files") == 0) {
|
||||
int ret;
|
||||
while((ret = _alpm_archive_fgets(archive, &buf)) == ARCHIVE_OK) {
|
||||
char *line = buf.line;
|
||||
@@ -700,29 +610,13 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
} else if(strcmp(line, "%OPTDEPENDS%") == 0) {
|
||||
READ_AND_SPLITDEP(pkg->optdepends);
|
||||
} else if(strcmp(line, "%MAKEDEPENDS%") == 0) {
|
||||
/* currently unused */
|
||||
while(1) {
|
||||
READ_NEXT();
|
||||
if(strlen(line) == 0) break;
|
||||
}
|
||||
READ_AND_SPLITDEP(pkg->makedepends);
|
||||
} else if(strcmp(line, "%CHECKDEPENDS%") == 0) {
|
||||
/* currently unused */
|
||||
while(1) {
|
||||
READ_NEXT();
|
||||
if(strlen(line) == 0) break;
|
||||
}
|
||||
READ_AND_SPLITDEP(pkg->checkdepends);
|
||||
} else if(strcmp(line, "%CONFLICTS%") == 0) {
|
||||
READ_AND_SPLITDEP(pkg->conflicts);
|
||||
} else if(strcmp(line, "%PROVIDES%") == 0) {
|
||||
READ_AND_SPLITDEP(pkg->provides);
|
||||
} else if(strcmp(line, "%DELTAS%") == 0) {
|
||||
/* Different than the rest because of the _alpm_delta_parse call. */
|
||||
while(1) {
|
||||
READ_NEXT();
|
||||
if(strlen(line) == 0) break;
|
||||
pkg->deltas = alpm_list_add(pkg->deltas,
|
||||
_alpm_delta_parse(db->handle, line));
|
||||
}
|
||||
} else if(strcmp(line, "%FILES%") == 0) {
|
||||
/* TODO: this could lazy load if there is future demand */
|
||||
size_t files_count = 0, files_size = 0;
|
||||
@@ -746,7 +640,7 @@ 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);
|
||||
REALLOC(files, sizeof(alpm_file_t) * files_count, (void)0);
|
||||
} else {
|
||||
FREE(files);
|
||||
}
|
||||
@@ -759,8 +653,6 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
goto error;
|
||||
}
|
||||
*likely_pkg = pkg;
|
||||
} else if(strcmp(filename, "deltas") == 0) {
|
||||
/* skip reading delta files if UseDelta is unset */
|
||||
} else {
|
||||
/* unknown database file */
|
||||
_alpm_log(db->handle, ALPM_LOG_DEBUG, "unknown database file: %s\n", filename);
|
||||
@@ -787,8 +679,8 @@ alpm_db_t *_alpm_db_register_sync(alpm_handle_t *handle, const char *treename,
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "registering sync database '%s'\n", treename);
|
||||
|
||||
#ifndef HAVE_LIBGPGME
|
||||
if(level != ALPM_SIG_USE_DEFAULT) {
|
||||
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, NULL);
|
||||
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
|
||||
RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* conflict.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -63,9 +63,6 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Free a conflict and its members.
|
||||
*/
|
||||
void SYMEXPORT alpm_conflict_free(alpm_conflict_t *conflict)
|
||||
{
|
||||
ASSERT(conflict != NULL, return);
|
||||
@@ -243,14 +240,6 @@ alpm_list_t *_alpm_outerconflicts(alpm_db_t *db, alpm_list_t *packages)
|
||||
return baddeps;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check the package conflicts in a database
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param pkglist the list of packages to check
|
||||
*
|
||||
* @return an alpm_list_t of alpm_conflict_t
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_checkconflicts(alpm_handle_t *handle,
|
||||
alpm_list_t *pkglist)
|
||||
{
|
||||
@@ -300,9 +289,6 @@ error:
|
||||
RET_ERR(handle, ALPM_ERR_MEMORY, conflicts);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Frees a conflict and its members.
|
||||
*/
|
||||
void SYMEXPORT alpm_fileconflict_free(alpm_fileconflict_t *conflict)
|
||||
{
|
||||
ASSERT(conflict != NULL, return);
|
||||
@@ -401,8 +387,7 @@ static alpm_pkg_t *_alpm_find_file_owner(alpm_handle_t *handle, const char *path
|
||||
|
||||
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
|
||||
return _alpm_fnmatch_patterns(handle->overwrite_files, path) == 0
|
||||
|| _alpm_fnmatch_patterns(handle->overwrite_files, rootedpath) == 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* conflict.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* db.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -37,12 +37,6 @@
|
||||
#include "package.h"
|
||||
#include "group.h"
|
||||
|
||||
/** \addtogroup alpm_databases Database Functions
|
||||
* @brief Functions to query and manipulate the database of libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Register a sync database of packages. */
|
||||
alpm_db_t SYMEXPORT *alpm_register_syncdb(alpm_handle_t *handle,
|
||||
const char *treename, int siglevel)
|
||||
{
|
||||
@@ -81,7 +75,6 @@ void _alpm_db_unregister(alpm_db_t *db)
|
||||
_alpm_db_free(db);
|
||||
}
|
||||
|
||||
/** Unregister all package databases. */
|
||||
int SYMEXPORT alpm_unregister_all_syncdbs(alpm_handle_t *handle)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
@@ -102,7 +95,6 @@ int SYMEXPORT alpm_unregister_all_syncdbs(alpm_handle_t *handle)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Unregister a package database. */
|
||||
int SYMEXPORT alpm_db_unregister(alpm_db_t *db)
|
||||
{
|
||||
int found = 0;
|
||||
@@ -139,14 +131,12 @@ int SYMEXPORT alpm_db_unregister(alpm_db_t *db)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Get the serverlist of a database. */
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_servers(const alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
return db->servers;
|
||||
}
|
||||
|
||||
/** Set the serverlist of a database. */
|
||||
int SYMEXPORT alpm_db_set_servers(alpm_db_t *db, alpm_list_t *servers)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -168,11 +158,6 @@ static char *sanitize_url(const char *url)
|
||||
return newurl;
|
||||
}
|
||||
|
||||
/** Add a download server to a database.
|
||||
* @param db database pointer
|
||||
* @param url url of the server
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_db_add_server(alpm_db_t *db, const char *url)
|
||||
{
|
||||
char *newurl;
|
||||
@@ -193,12 +178,6 @@ int SYMEXPORT alpm_db_add_server(alpm_db_t *db, const char *url)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Remove a download server from a database.
|
||||
* @param db database pointer
|
||||
* @param url url of the server
|
||||
* @return 0 on success, 1 on server not present,
|
||||
* -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_db_remove_server(alpm_db_t *db, const char *url)
|
||||
{
|
||||
char *newurl, *vdata = NULL;
|
||||
@@ -227,14 +206,12 @@ int SYMEXPORT alpm_db_remove_server(alpm_db_t *db, const char *url)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** Get the name of a package database. */
|
||||
const char SYMEXPORT *alpm_db_get_name(const alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
return db->treename;
|
||||
}
|
||||
|
||||
/** Get the signature verification level for a database. */
|
||||
int SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -245,7 +222,6 @@ int SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
|
||||
}
|
||||
}
|
||||
|
||||
/** Check the validity of a database. */
|
||||
int SYMEXPORT alpm_db_get_valid(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -253,7 +229,6 @@ int SYMEXPORT alpm_db_get_valid(alpm_db_t *db)
|
||||
return db->ops->validate(db);
|
||||
}
|
||||
|
||||
/** Get a package entry from a package database. */
|
||||
alpm_pkg_t SYMEXPORT *alpm_db_get_pkg(alpm_db_t *db, const char *name)
|
||||
{
|
||||
alpm_pkg_t *pkg;
|
||||
@@ -269,7 +244,6 @@ alpm_pkg_t SYMEXPORT *alpm_db_get_pkg(alpm_db_t *db, const char *name)
|
||||
return pkg;
|
||||
}
|
||||
|
||||
/** Get the package cache of a package database. */
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
@@ -277,7 +251,6 @@ alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(alpm_db_t *db)
|
||||
return _alpm_db_get_pkgcache(db);
|
||||
}
|
||||
|
||||
/** Get a group entry from a package database. */
|
||||
alpm_group_t SYMEXPORT *alpm_db_get_group(alpm_db_t *db, const char *name)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
@@ -288,7 +261,6 @@ alpm_group_t SYMEXPORT *alpm_db_get_group(alpm_db_t *db, const char *name)
|
||||
return _alpm_db_get_groupfromcache(db, name);
|
||||
}
|
||||
|
||||
/** Get the group cache of a package database. */
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_groupcache(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
@@ -297,16 +269,16 @@ alpm_list_t SYMEXPORT *alpm_db_get_groupcache(alpm_db_t *db)
|
||||
return _alpm_db_get_groupcache(db);
|
||||
}
|
||||
|
||||
/** Searches a database. */
|
||||
alpm_list_t SYMEXPORT *alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
int SYMEXPORT alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
|
||||
alpm_list_t **ret)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
ASSERT(db != NULL && ret != NULL && *ret == NULL,
|
||||
RET_ERR(db->handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
return _alpm_db_search(db, needles);
|
||||
return _alpm_db_search(db, needles, ret);
|
||||
}
|
||||
|
||||
/** Sets the usage bitmask for a repo */
|
||||
int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, int usage)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -314,7 +286,6 @@ int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, int usage)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Gets the usage bitmask for a repo */
|
||||
int SYMEXPORT alpm_db_get_usage(alpm_db_t *db, int *usage)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -323,9 +294,6 @@ int SYMEXPORT alpm_db_get_usage(alpm_db_t *db, int *usage)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/** @} */
|
||||
|
||||
alpm_db_t *_alpm_db_new(const char *treename, int is_local)
|
||||
{
|
||||
alpm_db_t *db;
|
||||
@@ -396,13 +364,13 @@ int _alpm_db_cmp(const void *d1, const void *d2)
|
||||
return strcmp(db1->treename, db2->treename);
|
||||
}
|
||||
|
||||
alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
int _alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
|
||||
alpm_list_t **ret)
|
||||
{
|
||||
const alpm_list_t *i, *j, *k;
|
||||
alpm_list_t *ret = NULL;
|
||||
|
||||
if(!(db->usage & ALPM_DB_USAGE_SEARCH)) {
|
||||
return NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* copy the pkgcache- we will free the list var after each needle */
|
||||
@@ -415,12 +383,15 @@ alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
if(i->data == NULL) {
|
||||
continue;
|
||||
}
|
||||
ret = NULL;
|
||||
*ret = NULL;
|
||||
targ = i->data;
|
||||
_alpm_log(db->handle, ALPM_LOG_DEBUG, "searching for target '%s'\n", targ);
|
||||
|
||||
if(regcomp(®, targ, REG_EXTENDED | REG_NOSUB | REG_ICASE | REG_NEWLINE) != 0) {
|
||||
RET_ERR(db->handle, ALPM_ERR_INVALID_REGEX, NULL);
|
||||
db->handle->pm_errno = ALPM_ERR_INVALID_REGEX;
|
||||
alpm_list_free(list);
|
||||
alpm_list_free(*ret);
|
||||
return -1;
|
||||
}
|
||||
|
||||
for(j = list; j; j = j->next) {
|
||||
@@ -463,18 +434,18 @@ alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
_alpm_log(db->handle, ALPM_LOG_DEBUG,
|
||||
"search target '%s' matched '%s' on package '%s'\n",
|
||||
targ, matched, name);
|
||||
ret = alpm_list_add(ret, pkg);
|
||||
*ret = alpm_list_add(*ret, pkg);
|
||||
}
|
||||
}
|
||||
|
||||
/* Free the existing search list, and use the returned list for the
|
||||
* next needle. This allows for AND-based package searching. */
|
||||
alpm_list_free(list);
|
||||
list = ret;
|
||||
list = *ret;
|
||||
regfree(®);
|
||||
}
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Returns a new package cache from db.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* db.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -87,7 +87,8 @@ alpm_db_t *_alpm_db_new(const char *treename, int is_local);
|
||||
void _alpm_db_free(alpm_db_t *db);
|
||||
const char *_alpm_db_path(alpm_db_t *db);
|
||||
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);
|
||||
int _alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
|
||||
alpm_list_t **ret);
|
||||
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,
|
||||
int level);
|
||||
|
||||
@@ -1,361 +0,0 @@
|
||||
/*
|
||||
* delta.c
|
||||
*
|
||||
* 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h> /* intmax_t */
|
||||
#include <limits.h>
|
||||
#include <sys/types.h>
|
||||
#include <regex.h>
|
||||
|
||||
/* libalpm */
|
||||
#include "delta.h"
|
||||
#include "alpm_list.h"
|
||||
#include "util.h"
|
||||
#include "log.h"
|
||||
#include "graph.h"
|
||||
|
||||
static alpm_list_t *graph_init(alpm_list_t *deltas, int reverse)
|
||||
{
|
||||
alpm_list_t *i, *j;
|
||||
alpm_list_t *vertices = NULL;
|
||||
/* create the vertices */
|
||||
for(i = deltas; i; i = i->next) {
|
||||
alpm_graph_t *v = _alpm_graph_new();
|
||||
if(!v) {
|
||||
alpm_list_free(vertices);
|
||||
return NULL;
|
||||
}
|
||||
alpm_delta_t *vdelta = i->data;
|
||||
vdelta->download_size = vdelta->delta_size;
|
||||
v->weight = LONG_MAX;
|
||||
v->data = vdelta;
|
||||
vertices = alpm_list_add(vertices, v);
|
||||
}
|
||||
|
||||
/* compute the edges */
|
||||
for(i = vertices; i; i = i->next) {
|
||||
alpm_graph_t *v_i = i->data;
|
||||
alpm_delta_t *d_i = v_i->data;
|
||||
/* loop a second time so we make all possible comparisons */
|
||||
for(j = vertices; j; j = j->next) {
|
||||
alpm_graph_t *v_j = j->data;
|
||||
alpm_delta_t *d_j = v_j->data;
|
||||
/* We want to create a delta tree like the following:
|
||||
* 1_to_2
|
||||
* |
|
||||
* 1_to_3 2_to_3
|
||||
* \ /
|
||||
* 3_to_4
|
||||
* If J 'from' is equal to I 'to', then J is a child of I.
|
||||
* */
|
||||
if((!reverse && strcmp(d_j->from, d_i->to) == 0) ||
|
||||
(reverse && strcmp(d_j->to, d_i->from) == 0)) {
|
||||
v_i->children = alpm_list_add(v_i->children, v_j);
|
||||
}
|
||||
}
|
||||
v_i->iterator = v_i->children;
|
||||
}
|
||||
return vertices;
|
||||
}
|
||||
|
||||
static void graph_init_size(alpm_handle_t *handle, alpm_list_t *vertices)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
|
||||
for(i = vertices; i; i = i->next) {
|
||||
char *fpath, *md5sum;
|
||||
alpm_graph_t *v = i->data;
|
||||
alpm_delta_t *vdelta = v->data;
|
||||
|
||||
/* determine whether the delta file already exists */
|
||||
fpath = _alpm_filecache_find(handle, vdelta->delta);
|
||||
if(fpath) {
|
||||
md5sum = alpm_compute_md5sum(fpath);
|
||||
if(md5sum && strcmp(md5sum, vdelta->delta_md5) == 0) {
|
||||
vdelta->download_size = 0;
|
||||
}
|
||||
FREE(md5sum);
|
||||
FREE(fpath);
|
||||
} else {
|
||||
char *fnamepart;
|
||||
CALLOC(fnamepart, strlen(vdelta->delta) + 6, sizeof(char), return);
|
||||
sprintf(fnamepart, "%s.part", vdelta->delta);
|
||||
fpath = _alpm_filecache_find(handle, fnamepart);
|
||||
if(fpath) {
|
||||
struct stat st;
|
||||
if(stat(fpath, &st) == 0) {
|
||||
vdelta->download_size = vdelta->delta_size - st.st_size;
|
||||
vdelta->download_size = vdelta->download_size < 0 ? 0 : vdelta->download_size;
|
||||
}
|
||||
FREE(fpath);
|
||||
}
|
||||
FREE(fnamepart);
|
||||
}
|
||||
|
||||
/* determine whether a base 'from' file exists */
|
||||
fpath = _alpm_filecache_find(handle, vdelta->from);
|
||||
if(fpath) {
|
||||
v->weight = vdelta->download_size;
|
||||
}
|
||||
FREE(fpath);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void dijkstra(alpm_list_t *vertices)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
alpm_graph_t *v;
|
||||
while(1) {
|
||||
v = NULL;
|
||||
/* find the smallest vertice not visited yet */
|
||||
for(i = vertices; i; i = i->next) {
|
||||
alpm_graph_t *v_i = i->data;
|
||||
|
||||
if(v_i->state == ALPM_GRAPH_STATE_PROCESSING) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if(v == NULL || v_i->weight < v->weight) {
|
||||
v = v_i;
|
||||
}
|
||||
}
|
||||
if(v == NULL || v->weight == LONG_MAX) {
|
||||
break;
|
||||
}
|
||||
|
||||
v->state = ALPM_GRAPH_STATE_PROCESSING;
|
||||
|
||||
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->iterator = (v->iterator)->next;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static off_t shortest_path(alpm_list_t *vertices, const char *to, alpm_list_t **path)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
alpm_graph_t *v = NULL;
|
||||
off_t bestsize = 0;
|
||||
alpm_list_t *rpath = NULL;
|
||||
|
||||
for(i = vertices; i; i = i->next) {
|
||||
alpm_graph_t *v_i = i->data;
|
||||
alpm_delta_t *d_i = v_i->data;
|
||||
|
||||
if(strcmp(d_i->to, to) == 0) {
|
||||
if(v == NULL || v_i->weight < v->weight) {
|
||||
v = v_i;
|
||||
bestsize = v->weight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while(v != NULL) {
|
||||
alpm_delta_t *vdelta = v->data;
|
||||
rpath = alpm_list_add(rpath, vdelta);
|
||||
v = v->parent;
|
||||
}
|
||||
*path = alpm_list_reverse(rpath);
|
||||
alpm_list_free(rpath);
|
||||
|
||||
return bestsize;
|
||||
}
|
||||
|
||||
/** Calculates the shortest path from one version to another.
|
||||
* The shortest path is defined as the path with the smallest combined
|
||||
* size, not the length of the path.
|
||||
* @param handle the context handle
|
||||
* @param deltas the list of alpm_delta_t * objects that a file has
|
||||
* @param to the file to start the search at
|
||||
* @param path the pointer to a list location where alpm_delta_t * objects that
|
||||
* have the smallest size are placed. NULL is set if there is no path
|
||||
* possible with the files available.
|
||||
* @return the size of the path stored, or LONG_MAX if path is unfindable
|
||||
*/
|
||||
off_t _alpm_shortest_delta_path(alpm_handle_t *handle, alpm_list_t *deltas,
|
||||
const char *to, alpm_list_t **path)
|
||||
{
|
||||
alpm_list_t *bestpath = NULL;
|
||||
alpm_list_t *vertices;
|
||||
off_t bestsize = LONG_MAX;
|
||||
|
||||
if(deltas == NULL) {
|
||||
*path = NULL;
|
||||
return bestsize;
|
||||
}
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "started delta shortest-path search for '%s'\n", to);
|
||||
|
||||
vertices = graph_init(deltas, 0);
|
||||
graph_init_size(handle, vertices);
|
||||
dijkstra(vertices);
|
||||
bestsize = shortest_path(vertices, to, &bestpath);
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "delta shortest-path search complete : '%jd'\n", (intmax_t)bestsize);
|
||||
|
||||
alpm_list_free_inner(vertices, _alpm_graph_free);
|
||||
alpm_list_free(vertices);
|
||||
|
||||
*path = bestpath;
|
||||
return bestsize;
|
||||
}
|
||||
|
||||
static alpm_list_t *find_unused(alpm_list_t *deltas, const char *to, off_t quota)
|
||||
{
|
||||
alpm_list_t *unused = NULL;
|
||||
alpm_list_t *vertices;
|
||||
alpm_list_t *i;
|
||||
vertices = graph_init(deltas, 1);
|
||||
|
||||
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) {
|
||||
v->weight = vdelta->download_size;
|
||||
}
|
||||
}
|
||||
dijkstra(vertices);
|
||||
for(i = vertices; i; i = i->next) {
|
||||
alpm_graph_t *v = i->data;
|
||||
alpm_delta_t *vdelta = v->data;
|
||||
if(v->weight > quota) {
|
||||
unused = alpm_list_add(unused, vdelta->delta);
|
||||
}
|
||||
}
|
||||
alpm_list_free_inner(vertices, _alpm_graph_free);
|
||||
alpm_list_free(vertices);
|
||||
return unused;
|
||||
}
|
||||
|
||||
/** \addtogroup alpm_deltas Delta Functions
|
||||
* @brief Functions to manipulate libalpm deltas
|
||||
* @{
|
||||
*/
|
||||
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_unused_deltas(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
return find_unused(pkg->deltas, pkg->filename,
|
||||
pkg->size * pkg->handle->deltaratio);
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
#define NUM_MATCHES 6
|
||||
|
||||
/** Parses the string representation of a alpm_delta_t object.
|
||||
* This function assumes that the string is in the correct format.
|
||||
* This format is as follows:
|
||||
* $deltafile $deltamd5 $deltasize $oldfile $newfile
|
||||
* @param handle the context handle
|
||||
* @param line the string to parse
|
||||
* @return A pointer to the new alpm_delta_t object
|
||||
*/
|
||||
alpm_delta_t *_alpm_delta_parse(alpm_handle_t *handle, const char *line)
|
||||
{
|
||||
alpm_delta_t *delta;
|
||||
size_t len;
|
||||
regmatch_t pmatch[NUM_MATCHES];
|
||||
char filesize[32];
|
||||
|
||||
/* this is so we only have to compile the pattern once */
|
||||
if(!handle->delta_regex_compiled) {
|
||||
/* $deltafile $deltamd5 $deltasize $oldfile $newfile*/
|
||||
regcomp(&handle->delta_regex,
|
||||
"^([^[:space:]]+) ([[:xdigit:]]{32}) ([[:digit:]]+)"
|
||||
" ([^[:space:]]+) ([^[:space:]]+)$",
|
||||
REG_EXTENDED | REG_NEWLINE);
|
||||
handle->delta_regex_compiled = 1;
|
||||
}
|
||||
|
||||
if(regexec(&handle->delta_regex, line, NUM_MATCHES, pmatch, 0) != 0) {
|
||||
/* delta line is invalid, return NULL */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
CALLOC(delta, 1, sizeof(alpm_delta_t), return NULL);
|
||||
|
||||
/* start at index 1 -- match 0 is the entire match */
|
||||
len = pmatch[1].rm_eo - pmatch[1].rm_so;
|
||||
STRNDUP(delta->delta, &line[pmatch[1].rm_so], len, goto error);
|
||||
|
||||
len = pmatch[2].rm_eo - pmatch[2].rm_so;
|
||||
STRNDUP(delta->delta_md5, &line[pmatch[2].rm_so], len, goto error);
|
||||
|
||||
len = pmatch[3].rm_eo - pmatch[3].rm_so;
|
||||
if(len < sizeof(filesize)) {
|
||||
strncpy(filesize, &line[pmatch[3].rm_so], len);
|
||||
filesize[len] = '\0';
|
||||
delta->delta_size = _alpm_strtoofft(filesize);
|
||||
}
|
||||
|
||||
len = pmatch[4].rm_eo - pmatch[4].rm_so;
|
||||
STRNDUP(delta->from, &line[pmatch[4].rm_so], len, goto error);
|
||||
|
||||
len = pmatch[5].rm_eo - pmatch[5].rm_so;
|
||||
STRNDUP(delta->to, &line[pmatch[5].rm_so], len, goto error);
|
||||
|
||||
return delta;
|
||||
|
||||
error:
|
||||
_alpm_delta_free(delta);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#undef NUM_MATCHES
|
||||
|
||||
void _alpm_delta_free(alpm_delta_t *delta)
|
||||
{
|
||||
ASSERT(delta != NULL, return);
|
||||
FREE(delta->delta);
|
||||
FREE(delta->delta_md5);
|
||||
FREE(delta->from);
|
||||
FREE(delta->to);
|
||||
FREE(delta);
|
||||
}
|
||||
|
||||
alpm_delta_t *_alpm_delta_dup(const alpm_delta_t *delta)
|
||||
{
|
||||
alpm_delta_t *newdelta;
|
||||
CALLOC(newdelta, 1, sizeof(alpm_delta_t), return NULL);
|
||||
STRDUP(newdelta->delta, delta->delta, goto error);
|
||||
STRDUP(newdelta->delta_md5, delta->delta_md5, goto error);
|
||||
STRDUP(newdelta->from, delta->from, goto error);
|
||||
STRDUP(newdelta->to, delta->to, goto error);
|
||||
newdelta->delta_size = delta->delta_size;
|
||||
newdelta->download_size = delta->download_size;
|
||||
|
||||
return newdelta;
|
||||
|
||||
error:
|
||||
_alpm_delta_free(newdelta);
|
||||
return NULL;
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* delta.h
|
||||
*
|
||||
* 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
|
||||
* 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 ALPM_DELTA_H
|
||||
#define ALPM_DELTA_H
|
||||
|
||||
#include <sys/types.h> /* off_t */
|
||||
|
||||
#include "alpm.h"
|
||||
|
||||
alpm_delta_t *_alpm_delta_parse(alpm_handle_t *handle, const char *line);
|
||||
void _alpm_delta_free(alpm_delta_t *delta);
|
||||
alpm_delta_t *_alpm_delta_dup(const alpm_delta_t *delta);
|
||||
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 */
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* deps.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -286,12 +286,6 @@ static int no_dep_version(alpm_handle_t *handle)
|
||||
return (handle->trans->flags & ALPM_TRANS_FLAG_NODEPVERSION);
|
||||
}
|
||||
|
||||
/** Find a package satisfying a specified dependency.
|
||||
* The dependency can include versions with depmod operators.
|
||||
* @param pkgs an alpm_list_t* of alpm_pkg_t where the satisfier will be searched
|
||||
* @param depstring package or provision name, versioned or not
|
||||
* @return a alpm_pkg_t* satisfying depstring
|
||||
*/
|
||||
alpm_pkg_t SYMEXPORT *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstring)
|
||||
{
|
||||
alpm_depend_t *dep = alpm_dep_from_string(depstring);
|
||||
@@ -303,15 +297,6 @@ alpm_pkg_t SYMEXPORT *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstri
|
||||
return pkg;
|
||||
}
|
||||
|
||||
/** Checks dependencies and returns missing ones in a list.
|
||||
* Dependencies can include versions with depmod operators.
|
||||
* @param handle the context handle
|
||||
* @param pkglist the list of local packages
|
||||
* @param remove an alpm_list_t* of packages to be removed
|
||||
* @param upgrade an alpm_list_t* of packages to be upgraded (remove-then-upgrade)
|
||||
* @param reversedeps handles the backward dependencies
|
||||
* @return an alpm_list_t* of alpm_depmissing_t pointers.
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_handle_t *handle,
|
||||
alpm_list_t *pkglist, alpm_list_t *rem, alpm_list_t *upgrade,
|
||||
int reversedeps)
|
||||
@@ -643,10 +628,9 @@ int _alpm_recursedeps(alpm_db_t *db, alpm_list_t **targs, int include_explicit)
|
||||
* @param dep is the dependency to search for
|
||||
* @param dbs are the databases to search
|
||||
* @param excluding are the packages to exclude from the search
|
||||
* @param prompt if true, will cause an unresolvable dependency to issue an
|
||||
* interactive prompt asking whether the package should be removed from
|
||||
* the transaction or the transaction aborted; if false, simply returns
|
||||
* an error code without prompting
|
||||
* @param prompt if true, ask an alpm_question_install_ignorepkg_t to decide
|
||||
* if ignored packages should be installed; if false, skip ignored
|
||||
* packages.
|
||||
* @return the resolved package
|
||||
**/
|
||||
static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep,
|
||||
@@ -699,7 +683,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;
|
||||
if((pkg->name_hash != dep->name_hash || strcmp(pkg->name, dep->name) != 0)
|
||||
&& _alpm_depcmp(pkg, dep) && !alpm_pkg_find(excluding, pkg->name)) {
|
||||
&& _alpm_depcmp_provides(dep, alpm_pkg_get_provides(pkg))
|
||||
&& !alpm_pkg_find(excluding, pkg->name)) {
|
||||
if(alpm_pkg_should_ignore(handle, pkg)) {
|
||||
alpm_question_install_ignorepkg_t question = {
|
||||
.type = ALPM_QUESTION_INSTALL_IGNOREPKG,
|
||||
@@ -719,20 +704,19 @@ static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep,
|
||||
}
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "provider found (%s provides %s)\n",
|
||||
pkg->name, dep->name);
|
||||
|
||||
/* provide is already installed so return early instead of prompting later */
|
||||
if(_alpm_db_get_pkgfromcache(handle->db_local, pkg->name)) {
|
||||
alpm_list_free(providers);
|
||||
return pkg;
|
||||
}
|
||||
|
||||
providers = alpm_list_add(providers, pkg);
|
||||
/* keep looking for other providers in the all dbs */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* first check if one provider is already installed locally */
|
||||
for(i = providers; i; i = i->next) {
|
||||
alpm_pkg_t *pkg = i->data;
|
||||
if(_alpm_db_get_pkgfromcache(handle->db_local, pkg->name)) {
|
||||
alpm_list_free(providers);
|
||||
return pkg;
|
||||
}
|
||||
}
|
||||
count = alpm_list_count(providers);
|
||||
if(count >= 1) {
|
||||
alpm_question_select_provider_t question = {
|
||||
@@ -764,15 +748,6 @@ static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Find a package satisfying a specified dependency.
|
||||
* First look for a literal, going through each db one by one. Then look for
|
||||
* providers. The first satisfier found is returned.
|
||||
* The dependency can include versions with depmod operators.
|
||||
* @param handle the context handle
|
||||
* @param dbs an alpm_list_t* of alpm_db_t where the satisfier will be searched
|
||||
* @param depstring package or provision name, versioned or not
|
||||
* @return a alpm_pkg_t* satisfying depstring
|
||||
*/
|
||||
alpm_pkg_t SYMEXPORT *alpm_find_dbs_satisfier(alpm_handle_t *handle,
|
||||
alpm_list_t *dbs, const char *depstring)
|
||||
{
|
||||
@@ -887,11 +862,6 @@ int _alpm_resolvedeps(alpm_handle_t *handle, alpm_list_t *localpkgs,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** Reverse of splitdep; make a dep string from a alpm_depend_t struct.
|
||||
* The string must be freed!
|
||||
* @param dep the depend to turn into a string
|
||||
* @return a string-formatted dependency with operator if necessary
|
||||
*/
|
||||
char SYMEXPORT *alpm_dep_compute_string(const alpm_depend_t *dep)
|
||||
{
|
||||
const char *name, *opr, *ver, *desc_delim, *desc;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* deps.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* diskspace.c
|
||||
*
|
||||
* Copyright (c) 2010-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2010-2020 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
|
||||
@@ -359,7 +359,7 @@ static int check_mountpoint(alpm_handle_t *handle, alpm_mountpoint_t *mp)
|
||||
}
|
||||
|
||||
int _alpm_check_downloadspace(alpm_handle_t *handle, const char *cachedir,
|
||||
size_t num_files, off_t *file_sizes)
|
||||
size_t num_files, const off_t *file_sizes)
|
||||
{
|
||||
alpm_list_t *mount_points;
|
||||
alpm_mountpoint_t *cachedir_mp;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* diskspace.h
|
||||
*
|
||||
* Copyright (c) 2010-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2010-2020 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
|
||||
@@ -58,6 +58,6 @@ typedef struct __alpm_mountpoint_t {
|
||||
|
||||
int _alpm_check_diskspace(alpm_handle_t *handle);
|
||||
int _alpm_check_downloadspace(alpm_handle_t *handle, const char *cachedir,
|
||||
size_t num_files, off_t *file_sizes);
|
||||
size_t num_files, const off_t *file_sizes);
|
||||
|
||||
#endif /* ALPM_DISKSPACE_H */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* dload.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
@@ -30,7 +30,13 @@ struct dload_payload {
|
||||
char *tempfile_name;
|
||||
char *destfile_name;
|
||||
char *content_disp_name;
|
||||
/* client has to provide either
|
||||
* 1) fileurl - full URL to the file
|
||||
* 2) pair of (servers, filepath), in this case ALPM iterates over the
|
||||
* server list and tries to download "$server/$filepath"
|
||||
*/
|
||||
char *fileurl;
|
||||
char *filepath; /* download URL path */
|
||||
alpm_list_t *servers;
|
||||
long respcode;
|
||||
off_t initial_size;
|
||||
@@ -41,16 +47,20 @@ struct dload_payload {
|
||||
int errors_ok;
|
||||
int unlink_on_fail;
|
||||
int trust_remote_name;
|
||||
int cb_initialized;
|
||||
int download_signature; /* specifies if an accompanion *.sig file need to be downloaded*/
|
||||
int signature_optional; /* *.sig file is optional */
|
||||
#ifdef HAVE_LIBCURL
|
||||
CURLcode curlerr; /* last error produced by curl */
|
||||
CURL *curl;
|
||||
char error_buffer[CURL_ERROR_SIZE];
|
||||
FILE *localf; /* temp download file */
|
||||
int signature; /* specifies if this payload is for a signature file */
|
||||
#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);
|
||||
int _alpm_download(alpm_handle_t *handle,
|
||||
alpm_list_t *payloads /* struct dload_payload */,
|
||||
const char *localpath);
|
||||
|
||||
#endif /* ALPM_DLOAD_H */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* error.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
@@ -130,11 +130,6 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err)
|
||||
return _("missing PGP signature");
|
||||
case ALPM_ERR_SIG_INVALID:
|
||||
return _("invalid PGP signature");
|
||||
/* Deltas */
|
||||
case ALPM_ERR_DLT_INVALID:
|
||||
return _("invalid or corrupted delta");
|
||||
case ALPM_ERR_DLT_PATCHFAILED:
|
||||
return _("delta patch failed");
|
||||
/* Dependencies */
|
||||
case ALPM_ERR_UNSATISFIED_DEPS:
|
||||
return _("could not satisfy dependencies");
|
||||
@@ -159,6 +154,9 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err)
|
||||
return _("gpgme error");
|
||||
case ALPM_ERR_EXTERNAL_DOWNLOAD:
|
||||
return _("error invoking external downloader");
|
||||
/* Missing compile-time features */
|
||||
case ALPM_ERR_MISSING_CAPABILITY_SIGNATURES:
|
||||
return _("compiled without signature support");
|
||||
/* Unknown error! */
|
||||
default:
|
||||
return _("unexpected error");
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* filelist.c
|
||||
*
|
||||
* Copyright (c) 2012-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2012-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* filelist.h
|
||||
*
|
||||
* Copyright (c) 2012-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2012-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* graph.c - helpful graph structure and setup/teardown methods
|
||||
*
|
||||
* Copyright (c) 2007-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2007-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* graph.h - helpful graph structure and setup/teardown methods
|
||||
*
|
||||
* Copyright (c) 2007-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2007-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* group.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* group.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* handle.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -34,7 +34,6 @@
|
||||
#include "alpm_list.h"
|
||||
#include "util.h"
|
||||
#include "log.h"
|
||||
#include "delta.h"
|
||||
#include "trans.h"
|
||||
#include "alpm.h"
|
||||
#include "deps.h"
|
||||
@@ -44,7 +43,6 @@ alpm_handle_t *_alpm_handle_new(void)
|
||||
alpm_handle_t *handle;
|
||||
|
||||
CALLOC(handle, 1, sizeof(alpm_handle_t), return NULL);
|
||||
handle->deltaratio = 0.0;
|
||||
handle->lockfd = -1;
|
||||
|
||||
return handle;
|
||||
@@ -66,17 +64,10 @@ void _alpm_handle_free(alpm_handle_t *handle)
|
||||
closelog();
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
/* release curl handle */
|
||||
curl_easy_cleanup(handle->curl);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBGPGME
|
||||
FREELIST(handle->known_keys);
|
||||
#endif
|
||||
|
||||
regfree(&handle->delta_regex);
|
||||
|
||||
/* free memory */
|
||||
_alpm_trans_free(handle->trans);
|
||||
FREE(handle->root);
|
||||
@@ -109,7 +100,7 @@ int _alpm_handle_lock(alpm_handle_t *handle)
|
||||
ASSERT(handle->lockfd < 0, return 0);
|
||||
|
||||
/* create the dir of the lockfile first */
|
||||
dir = strdup(handle->lockfile);
|
||||
STRDUP(dir, handle->lockfile, return -1);
|
||||
ptr = strrchr(dir, '/');
|
||||
if(ptr) {
|
||||
*ptr = '\0';
|
||||
@@ -127,12 +118,6 @@ int _alpm_handle_lock(alpm_handle_t *handle)
|
||||
return (handle->lockfd >= 0 ? 0 : -1);
|
||||
}
|
||||
|
||||
/** Remove the database lock file
|
||||
* @param handle the context handle
|
||||
* @return 0 on success, -1 on error
|
||||
*
|
||||
* @note Safe to call from inside signal handlers.
|
||||
*/
|
||||
int SYMEXPORT alpm_unlock(alpm_handle_t *handle)
|
||||
{
|
||||
ASSERT(handle != NULL, return -1);
|
||||
@@ -303,12 +288,6 @@ const char SYMEXPORT *alpm_option_get_arch(alpm_handle_t *handle)
|
||||
return handle->arch;
|
||||
}
|
||||
|
||||
double SYMEXPORT alpm_option_get_deltaratio(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
return handle->deltaratio;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_get_checkspace(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
@@ -321,6 +300,16 @@ const char SYMEXPORT *alpm_option_get_dbext(alpm_handle_t *handle)
|
||||
return handle->dbext;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_get_parallel_downloads(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBCURL
|
||||
return handle->parallel_downloads;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_logcb(alpm_handle_t *handle, alpm_cb_log cb)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
@@ -700,6 +689,7 @@ int SYMEXPORT alpm_option_set_assumeinstalled(alpm_handle_t *handle, alpm_list_t
|
||||
if(handle->assumeinstalled) {
|
||||
alpm_list_free_inner(handle->assumeinstalled, (alpm_list_fn_free)alpm_dep_free);
|
||||
alpm_list_free(handle->assumeinstalled);
|
||||
handle->assumeinstalled = NULL;
|
||||
}
|
||||
while(deps) {
|
||||
if(alpm_option_add_assumeinstalled(handle, deps->data) != 0) {
|
||||
@@ -755,16 +745,6 @@ int SYMEXPORT alpm_option_set_arch(alpm_handle_t *handle, const char *arch)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_deltaratio(alpm_handle_t *handle, double ratio)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
if(ratio < 0.0 || ratio > 2.0) {
|
||||
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
|
||||
}
|
||||
handle->deltaratio = ratio;
|
||||
return 0;
|
||||
}
|
||||
|
||||
alpm_db_t SYMEXPORT *alpm_get_localdb(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return NULL);
|
||||
@@ -803,11 +783,14 @@ int SYMEXPORT alpm_option_set_default_siglevel(alpm_handle_t *handle,
|
||||
int level)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
if(level == ALPM_SIG_USE_DEFAULT) {
|
||||
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
|
||||
}
|
||||
#ifdef HAVE_LIBGPGME
|
||||
handle->siglevel = level;
|
||||
#else
|
||||
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
|
||||
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
|
||||
if(level != 0) {
|
||||
RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
@@ -827,7 +810,7 @@ int SYMEXPORT alpm_option_set_local_file_siglevel(alpm_handle_t *handle,
|
||||
handle->localfilesiglevel = level;
|
||||
#else
|
||||
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
|
||||
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
|
||||
RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
@@ -851,7 +834,7 @@ int SYMEXPORT alpm_option_set_remote_file_siglevel(alpm_handle_t *handle,
|
||||
handle->remotefilesiglevel = level;
|
||||
#else
|
||||
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
|
||||
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
|
||||
RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
@@ -873,6 +856,21 @@ int SYMEXPORT alpm_option_set_disable_dl_timeout(alpm_handle_t *handle,
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBCURL
|
||||
handle->disable_dl_timeout = disable_dl_timeout;
|
||||
#else
|
||||
(void)disable_dl_timeout; /* silence unused variable warnings */
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_parallel_downloads(alpm_handle_t *handle,
|
||||
unsigned int num_streams)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBCURL
|
||||
ASSERT(num_streams >= 1, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
handle->parallel_downloads = num_streams;
|
||||
#else
|
||||
(void)num_streams; /* silence unused variable warnings */
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* handle.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
@@ -59,8 +59,9 @@ struct __alpm_handle_t {
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
/* libcurl handle */
|
||||
CURL *curl; /* reusable curl_easy handle */
|
||||
CURLM *curlm;
|
||||
unsigned short disable_dl_timeout;
|
||||
unsigned int parallel_downloads; /* number of download streams */
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBGPGME
|
||||
@@ -95,7 +96,6 @@ struct __alpm_handle_t {
|
||||
|
||||
/* options */
|
||||
char *arch; /* Architecture of packages we should allow */
|
||||
double deltaratio; /* Download deltas if possible; a ratio value */
|
||||
int usesyslog; /* Use syslog instead of logfile? */ /* TODO move to frontend */
|
||||
int checkspace; /* Check disk space before installing */
|
||||
char *dbext; /* Sync DB extension */
|
||||
@@ -110,10 +110,6 @@ struct __alpm_handle_t {
|
||||
|
||||
/* lock file descriptor */
|
||||
int lockfd;
|
||||
|
||||
/* for delta parsing efficiency */
|
||||
int delta_regex_compiled;
|
||||
regex_t delta_regex;
|
||||
};
|
||||
|
||||
alpm_handle_t *_alpm_handle_new(void);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* hook.c
|
||||
*
|
||||
* Copyright (c) 2015-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2015-2020 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
|
||||
@@ -17,7 +17,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
#include <dirent.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
@@ -38,7 +37,7 @@ enum _alpm_hook_op_t {
|
||||
|
||||
enum _alpm_trigger_type_t {
|
||||
ALPM_HOOK_TYPE_PACKAGE = 1,
|
||||
ALPM_HOOK_TYPE_FILE,
|
||||
ALPM_HOOK_TYPE_PATH,
|
||||
};
|
||||
|
||||
struct _alpm_trigger_t {
|
||||
@@ -71,23 +70,12 @@ static void _alpm_trigger_free(struct _alpm_trigger_t *trigger)
|
||||
}
|
||||
}
|
||||
|
||||
static void _alpm_wordsplit_free(char **ws)
|
||||
{
|
||||
if(ws) {
|
||||
char **c;
|
||||
for(c = ws; *c; c++) {
|
||||
free(*c);
|
||||
}
|
||||
free(ws);
|
||||
}
|
||||
}
|
||||
|
||||
static void _alpm_hook_free(struct _alpm_hook_t *hook)
|
||||
{
|
||||
if(hook) {
|
||||
free(hook->name);
|
||||
free(hook->desc);
|
||||
_alpm_wordsplit_free(hook->cmd);
|
||||
wordsplit_free(hook->cmd);
|
||||
alpm_list_free_inner(hook->triggers, (alpm_list_fn_free) _alpm_trigger_free);
|
||||
alpm_list_free(hook->triggers);
|
||||
alpm_list_free(hook->matches);
|
||||
@@ -158,107 +146,6 @@ static int _alpm_hook_validate(alpm_handle_t *handle,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static char **_alpm_wordsplit(char *str)
|
||||
{
|
||||
char *c = str, *end;
|
||||
char **out = NULL, **outsave;
|
||||
size_t count = 0;
|
||||
|
||||
if(str == NULL) {
|
||||
errno = EINVAL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for(c = str; isspace(*c); c++);
|
||||
while(*c) {
|
||||
size_t wordlen = 0;
|
||||
|
||||
/* extend our array */
|
||||
outsave = out;
|
||||
if((out = realloc(out, (count + 1) * sizeof(char*))) == NULL) {
|
||||
out = outsave;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* calculate word length and check for unbalanced quotes */
|
||||
for(end = c; *end && !isspace(*end); end++) {
|
||||
if(*end == '\'' || *end == '"') {
|
||||
char quote = *end;
|
||||
while(*(++end) && *end != quote) {
|
||||
if(*end == '\\' && *(end + 1) == quote) {
|
||||
end++;
|
||||
}
|
||||
wordlen++;
|
||||
}
|
||||
if(*end != quote) {
|
||||
errno = EINVAL;
|
||||
goto error;
|
||||
}
|
||||
} else {
|
||||
if(*end == '\\' && (end[1] == '\'' || end[1] == '"')) {
|
||||
end++; /* skip the '\\' */
|
||||
}
|
||||
wordlen++;
|
||||
}
|
||||
}
|
||||
|
||||
if(wordlen == (size_t) (end - c)) {
|
||||
/* no internal quotes or escapes, copy it the easy way */
|
||||
if((out[count++] = strndup(c, wordlen)) == NULL) {
|
||||
goto error;
|
||||
}
|
||||
} else {
|
||||
/* manually copy to remove quotes and escapes */
|
||||
char *dest = out[count++] = malloc(wordlen + 1);
|
||||
if(dest == NULL) { goto error; }
|
||||
while(c < end) {
|
||||
if(*c == '\'' || *c == '"') {
|
||||
char quote = *c;
|
||||
/* we know there must be a matching end quote,
|
||||
* no need to check for '\0' */
|
||||
for(c++; *c != quote; c++) {
|
||||
if(*c == '\\' && *(c + 1) == quote) {
|
||||
c++;
|
||||
}
|
||||
*(dest++) = *c;
|
||||
}
|
||||
c++;
|
||||
} else {
|
||||
if(*c == '\\' && (c[1] == '\'' || c[1] == '"')) {
|
||||
c++; /* skip the '\\' */
|
||||
}
|
||||
*(dest++) = *(c++);
|
||||
}
|
||||
}
|
||||
*dest = '\0';
|
||||
}
|
||||
|
||||
if(*end == '\0') {
|
||||
break;
|
||||
} else {
|
||||
for(c = end + 1; isspace(*c); c++);
|
||||
}
|
||||
}
|
||||
|
||||
outsave = out;
|
||||
if((out = realloc(out, (count + 1) * sizeof(char*))) == NULL) {
|
||||
out = outsave;
|
||||
goto error;
|
||||
}
|
||||
|
||||
out[count++] = NULL;
|
||||
|
||||
return out;
|
||||
|
||||
error:
|
||||
/* can't use wordsplit_free here because NULL has not been appended */
|
||||
while(count) {
|
||||
free(out[--count]);
|
||||
}
|
||||
free(out);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
const char *section, char *key, char *value, void *data)
|
||||
{
|
||||
@@ -303,7 +190,11 @@ static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
if(strcmp(value, "Package") == 0) {
|
||||
t->type = ALPM_HOOK_TYPE_PACKAGE;
|
||||
} else if(strcmp(value, "File") == 0) {
|
||||
t->type = ALPM_HOOK_TYPE_FILE;
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"File targets are deprecated, use Path instead\n");
|
||||
t->type = ALPM_HOOK_TYPE_PATH;
|
||||
} else if(strcmp(value, "Path") == 0) {
|
||||
t->type = ALPM_HOOK_TYPE_PATH;
|
||||
} else {
|
||||
error(_("hook %s line %d: invalid value %s\n"), file, line, value);
|
||||
}
|
||||
@@ -343,9 +234,9 @@ static int _alpm_hook_parse_cb(const char *file, int line,
|
||||
} 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);
|
||||
wordsplit_free(hook->cmd);
|
||||
}
|
||||
if((hook->cmd = _alpm_wordsplit(value)) == NULL) {
|
||||
if((hook->cmd = wordsplit(value)) == NULL) {
|
||||
if(errno == EINVAL) {
|
||||
error(_("hook %s line %d: invalid value %s\n"), file, line, value);
|
||||
} else {
|
||||
@@ -551,7 +442,16 @@ static int _alpm_hook_triggered(alpm_handle_t *handle, struct _alpm_hook_t *hook
|
||||
|
||||
static int _alpm_hook_cmp(struct _alpm_hook_t *h1, struct _alpm_hook_t *h2)
|
||||
{
|
||||
return strcmp(h1->name, h2->name);
|
||||
size_t suflen = strlen(ALPM_HOOK_SUFFIX), l1, l2;
|
||||
int ret;
|
||||
l1 = strlen(h1->name) - suflen;
|
||||
l2 = strlen(h2->name) - suflen;
|
||||
/* exclude the suffixes from comparison */
|
||||
ret = strncmp(h1->name, h2->name, l1 <= l2 ? l1 : l2);
|
||||
if(ret == 0 && l1 != l2) {
|
||||
return l1 < l2 ? -1 : 1;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static alpm_list_t *find_hook(alpm_list_t *haystack, const void *needle)
|
||||
@@ -634,8 +534,7 @@ int _alpm_hook_run(alpm_handle_t *handle, alpm_hook_when_t when)
|
||||
alpm_event_hook_t event = { .when = when };
|
||||
alpm_event_hook_run_t hook_event;
|
||||
alpm_list_t *i, *hooks = NULL, *hooks_triggered = NULL;
|
||||
const char *suffix = ".hook";
|
||||
size_t suflen = strlen(suffix), triggered = 0;
|
||||
size_t suflen = strlen(ALPM_HOOK_SUFFIX), triggered = 0;
|
||||
int ret = 0;
|
||||
|
||||
for(i = alpm_list_last(handle->hookdirs); i; i = alpm_list_previous(i)) {
|
||||
@@ -681,7 +580,7 @@ int _alpm_hook_run(alpm_handle_t *handle, alpm_hook_when_t when)
|
||||
memcpy(path + dirlen, entry->d_name, name_len + 1);
|
||||
|
||||
if(name_len < suflen
|
||||
|| strcmp(entry->d_name + name_len - suflen, suffix) != 0) {
|
||||
|| strcmp(entry->d_name + name_len - suflen, ALPM_HOOK_SUFFIX) != 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "skipping non-hook file %s\n", path);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* hook.h
|
||||
*
|
||||
* Copyright (c) 2015-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2015-2020 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
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
#include "alpm.h"
|
||||
|
||||
#define ALPM_HOOK_SUFFIX ".hook"
|
||||
|
||||
int _alpm_hook_run(alpm_handle_t *handle, alpm_hook_when_t when);
|
||||
|
||||
#endif /* ALPM_HOOK_H */
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../../src/common/ini.c
|
||||
@@ -1 +0,0 @@
|
||||
../../src/common/ini.h
|
||||
@@ -7,7 +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@
|
||||
Requires.private: libarchive @pc_crypto@ @pc_libcurl@ @pc_gpgme@
|
||||
Cflags: -I${includedir} @LFS_CFLAGS@
|
||||
Libs: -L${libdir} -lalpm
|
||||
Libs.private: @LIBS@ @GPGME_LIBS@
|
||||
Libs.private: @LIBS@ @pc_gpgme_libs@ @LIBINTL@
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/*
|
||||
* libarchive-compat.h
|
||||
*
|
||||
* Copyright (c) 2013-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2013-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* log.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <stdarg.h>
|
||||
#include <errno.h>
|
||||
#include <syslog.h>
|
||||
#include <time.h>
|
||||
|
||||
/* libalpm */
|
||||
#include "log.h"
|
||||
@@ -29,28 +30,18 @@
|
||||
#include "util.h"
|
||||
#include "alpm.h"
|
||||
|
||||
/** \addtogroup alpm_log Logging Functions
|
||||
* @brief Functions to log using libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
static int _alpm_log_leader(FILE *f, const char *prefix)
|
||||
{
|
||||
time_t t = time(NULL);
|
||||
struct tm *tm = localtime(&t);
|
||||
int length = 32;
|
||||
char timestamp[length];
|
||||
|
||||
/* Use ISO-8601 date format */
|
||||
return fprintf(f, "[%04d-%02d-%02d %02d:%02d] [%s] ",
|
||||
tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
|
||||
tm->tm_hour, tm->tm_min, prefix);
|
||||
strftime(timestamp,length,"%FT%T%z", tm);
|
||||
return fprintf(f, "[%s] [%s] ", timestamp, prefix);
|
||||
}
|
||||
|
||||
/** A printf-like function for logging.
|
||||
* @param handle the context handle
|
||||
* @param prefix caller-specific prefix for the log
|
||||
* @param fmt output format
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
@@ -107,8 +98,6 @@ int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
void _alpm_log(alpm_handle_t *handle, alpm_loglevel_t flag, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* log.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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
|
||||
|
||||
32
lib/libalpm/meson.build
Normal file
32
lib/libalpm/meson.build
Normal file
@@ -0,0 +1,32 @@
|
||||
libalpm_sources = files('''
|
||||
add.h add.c
|
||||
alpm.h alpm.c
|
||||
alpm_list.h alpm_list.c
|
||||
backup.h backup.c
|
||||
base64.h base64.c
|
||||
be_local.c
|
||||
be_package.c
|
||||
be_sync.c
|
||||
conflict.h conflict.c
|
||||
db.h db.c
|
||||
deps.h deps.c
|
||||
diskspace.h diskspace.c
|
||||
dload.h dload.c
|
||||
error.c
|
||||
filelist.h filelist.c
|
||||
graph.h graph.c
|
||||
group.h group.c
|
||||
handle.h handle.c
|
||||
hook.h hook.c
|
||||
libarchive-compat.h
|
||||
log.h log.c
|
||||
package.h package.c
|
||||
pkghash.h pkghash.c
|
||||
rawstr.c
|
||||
remove.h remove.c
|
||||
signing.c signing.h
|
||||
sync.h sync.c
|
||||
trans.h trans.c
|
||||
util.h util.c
|
||||
version.c
|
||||
'''.split())
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* package.c
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -31,16 +31,9 @@
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
#include "db.h"
|
||||
#include "delta.h"
|
||||
#include "handle.h"
|
||||
#include "deps.h"
|
||||
|
||||
/** \addtogroup alpm_packages Package Functions
|
||||
* @brief Functions to manipulate libalpm packages
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Free a package. */
|
||||
int SYMEXPORT alpm_pkg_free(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
@@ -53,7 +46,6 @@ int SYMEXPORT alpm_pkg_free(alpm_pkg_t *pkg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Check the integrity (with md5) of a package from the sync cache. */
|
||||
int SYMEXPORT alpm_pkg_checkmd5sum(alpm_pkg_t *pkg)
|
||||
{
|
||||
char *fpath;
|
||||
@@ -276,6 +268,44 @@ const char SYMEXPORT *alpm_pkg_get_base64_sig(alpm_pkg_t *pkg)
|
||||
return pkg->base64_sig;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_pkg_get_sig(alpm_pkg_t *pkg, unsigned char **sig, size_t *sig_len)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
|
||||
if(pkg->base64_sig) {
|
||||
int ret = alpm_decode_signature(pkg->base64_sig, sig, sig_len);
|
||||
if(ret != 0) {
|
||||
RET_ERR(pkg->handle, ALPM_ERR_SIG_INVALID, -1);
|
||||
}
|
||||
return 0;
|
||||
} else {
|
||||
char *pkgpath = NULL, *sigpath = NULL;
|
||||
alpm_errno_t err;
|
||||
int ret = -1;
|
||||
|
||||
pkgpath = _alpm_filecache_find(pkg->handle, pkg->filename);
|
||||
if(!pkgpath) {
|
||||
GOTO_ERR(pkg->handle, ALPM_ERR_PKG_NOT_FOUND, cleanup);
|
||||
}
|
||||
sigpath = _alpm_sigpath(pkg->handle, pkgpath);
|
||||
if(!sigpath || _alpm_access(pkg->handle, NULL, sigpath, R_OK)) {
|
||||
GOTO_ERR(pkg->handle, ALPM_ERR_SIG_MISSING, cleanup);
|
||||
}
|
||||
err = _alpm_read_file(sigpath, sig, sig_len);
|
||||
if(err == ALPM_ERR_OK) {
|
||||
_alpm_log(pkg->handle, ALPM_LOG_DEBUG, "found detached signature %s with size %ld\n",
|
||||
sigpath, *sig_len);
|
||||
} else {
|
||||
GOTO_ERR(pkg->handle, err, cleanup);
|
||||
}
|
||||
ret = 0;
|
||||
cleanup:
|
||||
FREE(pkgpath);
|
||||
FREE(sigpath);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_arch(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
@@ -374,13 +404,6 @@ alpm_list_t SYMEXPORT *alpm_pkg_get_replaces(alpm_pkg_t *pkg)
|
||||
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 = ALPM_ERR_OK;
|
||||
return pkg->deltas;
|
||||
}
|
||||
|
||||
alpm_filelist_t SYMEXPORT *alpm_pkg_get_files(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
@@ -405,7 +428,6 @@ alpm_db_t SYMEXPORT *alpm_pkg_get_db(alpm_pkg_t *pkg)
|
||||
return pkg->origin_data.db;
|
||||
}
|
||||
|
||||
/** Open a package changelog for reading. */
|
||||
void SYMEXPORT *alpm_pkg_changelog_open(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
@@ -413,7 +435,6 @@ void SYMEXPORT *alpm_pkg_changelog_open(alpm_pkg_t *pkg)
|
||||
return pkg->ops->changelog_open(pkg);
|
||||
}
|
||||
|
||||
/** Read data from an open changelog 'file stream'. */
|
||||
size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
const alpm_pkg_t *pkg, void *fp)
|
||||
{
|
||||
@@ -422,7 +443,6 @@ size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
return pkg->ops->changelog_read(ptr, size, pkg, fp);
|
||||
}
|
||||
|
||||
/** Close a package changelog for reading. */
|
||||
int SYMEXPORT alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
@@ -430,7 +450,6 @@ int SYMEXPORT alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp)
|
||||
return pkg->ops->changelog_close(pkg, fp);
|
||||
}
|
||||
|
||||
/** Open a package mtree file for reading. */
|
||||
struct archive SYMEXPORT *alpm_pkg_mtree_open(alpm_pkg_t * pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
@@ -438,7 +457,6 @@ struct archive SYMEXPORT *alpm_pkg_mtree_open(alpm_pkg_t * pkg)
|
||||
return pkg->ops->mtree_open(pkg);
|
||||
}
|
||||
|
||||
/** Read entry from an open mtree file. */
|
||||
int SYMEXPORT alpm_pkg_mtree_next(const alpm_pkg_t * pkg, struct archive *archive,
|
||||
struct archive_entry **entry)
|
||||
{
|
||||
@@ -447,7 +465,6 @@ int SYMEXPORT alpm_pkg_mtree_next(const alpm_pkg_t * pkg, struct archive *archiv
|
||||
return pkg->ops->mtree_next(pkg, archive, entry);
|
||||
}
|
||||
|
||||
/** Close a package mtree file for reading. */
|
||||
int SYMEXPORT alpm_pkg_mtree_close(const alpm_pkg_t * pkg, struct archive *archive)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
@@ -518,21 +535,16 @@ static alpm_list_t *compute_requiredby(alpm_pkg_t *pkg, int optional)
|
||||
return reqs;
|
||||
}
|
||||
|
||||
/** Compute the packages requiring a given package. */
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_compute_requiredby(alpm_pkg_t *pkg)
|
||||
{
|
||||
return compute_requiredby(pkg, 0);
|
||||
}
|
||||
|
||||
/** Compute the packages optionally requiring a given package. */
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_compute_optionalfor(alpm_pkg_t *pkg)
|
||||
{
|
||||
return compute_requiredby(pkg, 1);
|
||||
}
|
||||
|
||||
|
||||
/** @} */
|
||||
|
||||
alpm_file_t *_alpm_file_copy(alpm_file_t *dest,
|
||||
const alpm_file_t *src)
|
||||
{
|
||||
@@ -620,9 +632,6 @@ int _alpm_pkg_dup(alpm_pkg_t *pkg, alpm_pkg_t **new_ptr)
|
||||
newpkg->optdepends = list_depdup(pkg->optdepends);
|
||||
newpkg->conflicts = list_depdup(pkg->conflicts);
|
||||
newpkg->provides = list_depdup(pkg->provides);
|
||||
for(i = pkg->deltas; i; i = i->next) {
|
||||
newpkg->deltas = alpm_list_add(newpkg->deltas, _alpm_delta_dup(i->data));
|
||||
}
|
||||
|
||||
if(pkg->files.count) {
|
||||
size_t filenum;
|
||||
@@ -694,11 +703,10 @@ void _alpm_pkg_free(alpm_pkg_t *pkg)
|
||||
alpm_list_free(pkg->backup);
|
||||
free_deplist(pkg->depends);
|
||||
free_deplist(pkg->optdepends);
|
||||
free_deplist(pkg->checkdepends);
|
||||
free_deplist(pkg->makedepends);
|
||||
free_deplist(pkg->conflicts);
|
||||
free_deplist(pkg->provides);
|
||||
alpm_list_free_inner(pkg->deltas, (alpm_list_fn_free)_alpm_delta_free);
|
||||
alpm_list_free(pkg->deltas);
|
||||
alpm_list_free(pkg->delta_path);
|
||||
alpm_list_free(pkg->removes);
|
||||
_alpm_pkg_free(pkg->oldpkg);
|
||||
|
||||
@@ -776,16 +784,6 @@ alpm_pkg_t SYMEXPORT *alpm_pkg_find(alpm_list_t *haystack, const char *needle)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Test if a package should be ignored.
|
||||
*
|
||||
* Checks if the package is ignored via IgnorePkg, or if the package is
|
||||
* in a group ignored via IgnoreGroup.
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param pkg the package to test
|
||||
*
|
||||
* @return 1 if the package should be ignored, 0 otherwise
|
||||
*/
|
||||
int SYMEXPORT alpm_pkg_should_ignore(alpm_handle_t *handle, alpm_pkg_t *pkg)
|
||||
{
|
||||
alpm_list_t *groups = NULL;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* package.h
|
||||
*
|
||||
* Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2006-2020 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>
|
||||
@@ -38,7 +38,7 @@
|
||||
/** Package operations struct. This struct contains function pointers to
|
||||
* all methods used to access data in a package to allow for things such
|
||||
* as lazy package initialization (such as used by the file backend). Each
|
||||
* backend is free to define a stuct containing pointers to a specific
|
||||
* backend is free to define a struct containing pointers to a specific
|
||||
* implementation of these methods. Some backends may find using the
|
||||
* defined default_pkg_ops struct to work just fine for their needs.
|
||||
*/
|
||||
@@ -118,8 +118,6 @@ struct __alpm_pkg_t {
|
||||
alpm_list_t *makedepends;
|
||||
alpm_list_t *conflicts;
|
||||
alpm_list_t *provides;
|
||||
alpm_list_t *deltas;
|
||||
alpm_list_t *delta_path;
|
||||
alpm_list_t *removes; /* in transaction targets only */
|
||||
alpm_pkg_t *oldpkg; /* in transaction targets only */
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* pkghash.c
|
||||
*
|
||||
* Copyright (c) 2011-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2011-2020 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* pkghash.h
|
||||
*
|
||||
* Copyright (c) 2011-2018 Pacman Development Team <pacman-dev@archlinux.org>
|
||||
* Copyright (c) 2011-2020 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
|
||||
|
||||
@@ -12,7 +12,6 @@ lib/libalpm/be_package.c
|
||||
lib/libalpm/be_sync.c
|
||||
lib/libalpm/conflict.c
|
||||
lib/libalpm/db.c
|
||||
lib/libalpm/delta.c
|
||||
lib/libalpm/deps.c
|
||||
lib/libalpm/diskspace.c
|
||||
lib/libalpm/dload.c
|
||||
|
||||
@@ -9,15 +9,16 @@
|
||||
# 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
|
||||
# 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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 01:05+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/ar/)\n"
|
||||
@@ -28,52 +29,52 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s محدّثة -- سأتجاوزها\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s محدّثة -- سأعيد تثبيتها\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "سأُنزِل الحزمة %s (من %s إلى %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 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:385
|
||||
#: lib/libalpm/add.c:146 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:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "تعذر إعادة تسمية %s إلى %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr "لم يتم العثور على قائمة الملفات في الحزمة %s. تم تخطي الاستخراج %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -82,7 +83,7 @@ msgstr ""
|
||||
"صلاحيات المجلد تختلف عن %s\n"
|
||||
"نظام الملفات: %o الحزمة: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -91,101 +92,101 @@ msgstr ""
|
||||
"ملكية المجلد تختلف عن %s\n"
|
||||
"ملفات النظام: %u:%u الحزمة: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "الاستخراج: عدم الكتابة فوق المجلد بالملف %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 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:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "تعذر استعادة مجلد العمل (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "حدثت مشكلة أثناء ترقية %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "حدثت مشكلة أثناء تثبيت %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "غير قادر على تحديث مدخل قاعدة البيانات %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "غير قادر على إضافة المدخل '%s' إلى المخبئيات\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "خطأ أثناء قراءة الملف %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "تجري إزالة قاعدة البيانات الغير صالحة: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "غير قادر على إنشاء الدليل %s : %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "مدخل قاعدة بيانات غير صالح '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "مدخل قاعدة بيانات مكرر '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "مدخل قاعدة بيانات معطوب '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 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:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s قاعدة البيانات غير متناسقة : اسم الحزمة غير مطابق %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s قاعدة البيانات غير متناسقة : إصدار الحزمة غير مطابق %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "نوع التّحقق غير مألوف في الحزمة %s: %s\n"
|
||||
@@ -226,42 +227,42 @@ msgstr "إصدارة الحزمة غير صالح في %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "معلومات الحزمة مفقودة في %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "فشل في قراءة ملف التّوقيع: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "مفتاح ضروري غير موجود في حلقة المفاتيح\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "يجري حذف ملف غير صالح: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "تعذّر تحليل ملف وصف الحزمة '%s' من قاعدة البيانات '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "%s قاعدة البيانات غير متناسقة : اسم ملف الحزمة غير قانوني %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "%s قاعدة البيانات غير متناسقة : اسم ملف الحزمة طويل جدًا %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "ملف قاعدة البيانات مجهول : %s\n"
|
||||
@@ -286,12 +287,12 @@ msgstr "%s سيتم إزالتها بعد %s اعتمادياتها\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s سيتم تثبيتها قبل %s اعتمادياتها\n"
|
||||
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "تجاهل الحزمة %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "تعذّر تحليل \"%s\"، اعتمادية لـ \"%s\"\n"
|
||||
@@ -346,37 +347,37 @@ msgstr "غير قادر على تحديد نقطة وصل الجذر %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "القسم %s موصول بصفة القراءة فقط\n"
|
||||
|
||||
#: lib/libalpm/dload.c:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "القرص"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "غير قادر على إنشاء ملف مؤقت للتحميل\n"
|
||||
|
||||
#: lib/libalpm/dload.c:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "العنوان '%s' غير صالح\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "فشل في استقبال الملف '%s' من %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "فشل في استقبال الملف '%s' من %s : تم تجاوز حجم التحميل\n"
|
||||
|
||||
#: lib/libalpm/dload.c:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s يبدو غير موثوقًا: %jd/%jd بايت\n"
|
||||
|
||||
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "tag td jpldg %s\n"
|
||||
@@ -596,201 +597,196 @@ msgstr "توقيع PGP مفقود"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "توقيع PGP غير سليم"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "فروقات غير سليمة أو معطوبة"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "فشل تطبيق الفروقات"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "غير قادر على استيفاء الاعتماديات"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "اعتماديات متضاربة"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "ملفات متضاربة"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "فشل في استقبال بعض الملفات"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "تعبير غير نظامي"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "خطا في مكتبة الارشيف"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "خطأ في مكتبة التحميل"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "خطأ gpgme"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "خطأ في استحضار المحمّل الخارجي"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "خطأ غير متوقع"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "الملف المغلق مفقود %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "تعذّر إزالة ملف القفل %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "تعذّر فتح المجلد: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#: lib/libalpm/hook.c:595 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "تعذّر إحصاء الملف %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "غير قادر على استيراد معلومات الميتا للحزمة %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "لم يعثر على %s في قاعدة البيانات -- يجري التجاوز\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "يجري حذف %s من قائمة الأهداف\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr ""
|
||||
"تعذر إزالة الملف '%s': %s\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "تعذّر إزالة %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "تعذّر إزالة مدخل قاعدة البيانات %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "تعذر إزالة المدخل '%s' من المخبئيات\n"
|
||||
@@ -800,139 +796,154 @@ msgstr "تعذر إزالة المدخل '%s' من المخبئيات\n"
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "التوقيع المطلوب مفقود :%s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: يجري تجاهل تحديث الحزمة (%s => %s) \n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: يجري تجاهل إرجاع الحزمة (%s => %s) \n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: يجري الإرجاع من الإصدار %s إلى الإصدار %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: (%s) المحلّي أحدث من %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "يجري تجاهل استبدال الحزمة (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "تعذر استبدال %s بـ %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "حدثت تعارضات حزميّة تعذّر تحليلها\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr " يجري حذف '%s' من قائمة الأهداف بسبب تعارضها مع '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "تعذّر استقبال بعض الملفات\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "لا توجد مساحة خالية كافية على القرص\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "تعذّر بدء مُبادلة الإزالة\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "فشل في بدء المُبادلة\n"
|
||||
@@ -969,52 +980,52 @@ msgstr "تعذّرت الكتابة إلى الأنبوب (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "تعذّرت القراءة من الأنبوب (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: 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:604
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "تعذّر تفريع العملية إلى عملية جديدة (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:627
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "تعذّر التعديل على مجلد الجذر (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:638
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "تعذّر مخاطبة execv (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:709
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "تعذّر مخاطبةwaitpid (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:719
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "فشل تطبيق الأمر بشكل صحيح\n"
|
||||
|
||||
#: lib/libalpm/util.c:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "إشارة مجهوله"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "تم انهاء الامر بواسطة الاشارة %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:825
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "لا يوجد %s مخبئي، يجري الإنشاء...\n"
|
||||
|
||||
#: lib/libalpm/util.c:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "تعذّر إيجاد أو إنشاء مخبئية للحزم ، استخدم %s بدلًا عنها\n"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# enolp <enolp@softastur.org>, 2015-2016,2018
|
||||
# enolp <enolp@softastur.org>, 2015-2016,2018-2019
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014-2015
|
||||
@@ -11,8 +11,8 @@ 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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 01:05+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Asturian (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/ast/)\n"
|
||||
@@ -22,54 +22,54 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s ta anováu -- saltando\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s ta anováu -- reinstalando\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "baxando de versión el paquete %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "nun pue allugase l'oxetu del archivu del discu"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 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:385
|
||||
#: lib/libalpm/add.c:146 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:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nun pudo renomase %s a %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "nun pue estrayese %s%s: camín perllargu"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -78,7 +78,7 @@ msgstr ""
|
||||
"los permisos del direutoriu son distintos en %s\n"
|
||||
"sistema de ficheros: %o paquete: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -87,103 +87,103 @@ msgstr ""
|
||||
"la propiedá del direutoriu ye distinta en %s\n"
|
||||
"sistema de ficheros: %u:%u paquete: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "estración: nun pue sobrescribise'l direutoriu col ficheru %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, 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:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 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:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 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"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "asocedió un problema al anovar %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "asocedió un problema al instalar %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "nun pudo anovase la entrada de base de datos %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "nun pudo amestase la entrada '%s' na caché\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "fallu al lleer el ficheru %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
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:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "nun pudo crease'l direutoriu %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nome non válidu pa la base de datos '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "entrada de base de datos duplicada '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "entrada de base de datos toyida '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 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:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "triba de validación desconocida pal paquete %s: %s\n"
|
||||
@@ -224,46 +224,46 @@ msgstr "versión del paquete non válida en %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "datos meta de paquete faltantes en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, 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:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "clave riquida del aniellu claves faltante\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "desaniciando ficheru non válidu: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "ficheru de base de datos desconocíu: %s\n"
|
||||
@@ -288,12 +288,12 @@ msgstr "%s desaniciaráse dempués de la so dependencia %s\n"
|
||||
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:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "inorando paquete %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "nun pue iguase \"%s\", una dependencia de \"%s\"\n"
|
||||
@@ -348,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:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "discu"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, 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:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'enllaz '%s' ye inválidu\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, 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:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "fallu al lleer %s\n"
|
||||
@@ -598,199 +598,194 @@ msgstr "falta la robla PGP"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "robla PGP non válida"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "delta non válidu o toriáu"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "fallu del parche delta"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "nun pudieron satisfacese les dependencies"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "dependencies en conflictu"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "ficheros en conflictu"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "fallu al recibir dello ficheros"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "espresión regular non válida"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "fallu de libarchive"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "fallu de llibrería de descarga"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "fallu de gpgme"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "fallu invocando'l descargador esternu"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "fallu inesperáu"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "falta'l ficheru de bloquéu %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "nun pudo desaniciase'l ficheru de bloquéu %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "nun pudo abrise'l direutoriu: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#: lib/libalpm/hook.c:595 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "nun pudo alcontrase %s na base de datos -- saltando\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "desaniciando %s de la llista d'oxetivos\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "nun pue desaniciase'l ficheru '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "nun pue desaniciase %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, 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:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "nun pudo desaniciase la entrada '%s' de la caché\n"
|
||||
@@ -800,140 +795,155 @@ msgstr "nun pudo desaniciase la entrada '%s' de la caché\n"
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: falta la robla riquida\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: inorando anovamientu del paquete (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: inorando baxada de versión del paquete (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: baxando de la versión %s a la %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: llocal (%s) ye más nuevu que %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "inorando troquéu de paquete (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "nun pue trocase %s por %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "deteutaos conflictos de paquete que nun puen iguase\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "fallu al recuperar dellos ficheros\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "nun hai espaciu llibre abondu\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nun pudo unviase la transaición de desaniciu\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nun pudo unviase la transaición\n"
|
||||
@@ -968,52 +978,52 @@ msgstr ""
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/util.c:604
|
||||
#: 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:627
|
||||
#: 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:638
|
||||
#: 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:709
|
||||
#: 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:719
|
||||
#: 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:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Señal desconocida"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: 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:825
|
||||
#: 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:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Galin Iskrenov <loot270@abv.bg>, 2017-2018
|
||||
# Galin Iskrenov <loot270@abv.bg>, 2017-2019
|
||||
# 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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 12:11+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-11 13:05+0000\n"
|
||||
"Last-Translator: Galin Iskrenov <loot270@abv.bg>\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/toofishes/archlinux-"
|
||||
"pacman/language/bg/)\n"
|
||||
@@ -20,54 +20,54 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s е актуален -- пропускане\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s е актуален -- преинсталиране\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "понижаване на пакет %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "не се открие указания архив на диск"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 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:385
|
||||
#: lib/libalpm/add.c:146 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:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "не може да се преименува %s на %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"файл не е намерен в листа с файлове на пекет %s. пропускане извличането на "
|
||||
"%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "неспешно извличането на %s%s: пътят е твърде дълъг"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -76,7 +76,7 @@ msgstr ""
|
||||
"разлика в правата на папка за %s\n"
|
||||
"filesystem: %o пакет: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -85,101 +85,101 @@ msgstr ""
|
||||
"правата на директория се различава от %s\n"
|
||||
"filesystem: %u:%u пакет: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "извличане: не се презаписва папка с файл %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "неспешно извличането на %s.pacnew: пътят е твърде дълъг"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 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:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "не може да се възстанови работната директория (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "възникнал проблем при подновяване %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "възникнал проблем при инсталиране %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "не може да се поднови запис в базата %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "не може да се добави запис '%s' в кеша\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "грешка при четене на файл %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "премахване на невалидна база: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "не се създава директория %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "невалидно име за запис в базата '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "дублиран запис в базата '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "повреден запис в базата '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 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:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s несъответствие в базата: името не съответства на пакета %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s несъответствие в базата: версията не съответства на пакета %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "непознат валидиращ тип на пакета %s: %s\n"
|
||||
@@ -220,42 +220,42 @@ msgstr "невалидна версия на пакет в %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "липсват метаданни за пакета %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "не се чете подписващият файл: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "нужния ключ липсва от keyring\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "премахване невалиден файл: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "не може да се анализира описателния файл '%s' от db '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, 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
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "%s базата е непълна: името на пакета %s е недопустимо\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "%s базата е непълна: името на пакета %s е твърде дълго\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "непознат датабаза файл: %s\n"
|
||||
@@ -280,12 +280,12 @@ msgstr "%s ще бъде премахната след зависимостта
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s ще бъде инсталиран преди зависимостта %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "пренебрегване на пакет %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "не може да се разреши \"%s\", зависи от \"%s\"\n"
|
||||
@@ -342,39 +342,39 @@ msgstr "не може да се определи root mount point %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "Дялът %s е монтиран само за четене\n"
|
||||
|
||||
#: lib/libalpm/dload.c:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "диск"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "не може да се създаде временен файл за сваляне\n"
|
||||
|
||||
#: lib/libalpm/dload.c:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' е невалиден\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "неуспех при извличане на файл '%s' от %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"неуспех при получаването на файл '%s' от %s : очакваният размер за сваляне е "
|
||||
"надвишен\n"
|
||||
|
||||
#: lib/libalpm/dload.c:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s изглежда частичен: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "неуспех при сваляне на %s\n"
|
||||
@@ -594,199 +594,194 @@ msgstr "липсва PGP подпис"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "невалиден PGP подпис"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "невалидна или повредена delta"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "делта пач се провали"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "зависимостите не са решени"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "зависимости в конфликт"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "файлове в конфликт"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "не могат да се извлекат файлове"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "невалиден регулярен израз"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "грешка в libarchive"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "грешка в библиотеката за сваляне"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "грешка в gpgme"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "грешка при извикването на външен downloader"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "компилиран без поддръжка на подпис"
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "неочаквана грешка"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "липсва заключващ файл %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "не се премахва заключен файл %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Липсва цели на спусъка в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Липсва тип на спусъка в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Липсва операция на спусъка в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Липсва Exec опция в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Липсва When опция в куката: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "AbortOnFail е зададен за PostTransaction кука: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "кука %s ред %d: невалидна опция %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "кука %s ред %d: пренаписва предишната дефиниция на %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "кука %s ред %d: невъзможно да се зададе опцията (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "не се отваря папка: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:595 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "не се коригира %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "не може да се прочете папката: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "не пълно извеждане на метаданни за пакет %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "няма %s в базата -- пропускане\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "премахване %s от списъка с целите\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "не се премахва файла '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr "не може да се архивира %s поради препълване на PATH_MAX\n"
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "не се премахва %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "не може да се премахне запис в базата %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "не може да се премахне '%s' от кеша\n"
|
||||
@@ -796,139 +791,154 @@ msgstr "не може да се премахне '%s' от кеша\n"
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "Публичният ключодържател не е открит; Ще пуснете ли '%s'?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "GPGME грешка: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "търсене на ключ %s използвайки WKD\n"
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "gpg грешка: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "ключодържателя не се записва\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "ключ \"%s\" на ключов съвър\n"
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: липсва изискващ се подпис\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: подписът от \"%s\" е изрично доверен\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: подписът от \"%s\" е с непознато доверие\n"
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr "%s: подписът от \"%s\" никога да не се му вярва\n"
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: ключ \"%s\" е непознат\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: ключа е \"%s\" е негоден\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: подписът от \"%s\" е изтекъл\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: неподдържан формат на подписа\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: игнориране надграждането на пакет (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: игнориране на пакетен downgrade (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: снижаване на версията от %s към версия %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: текущият (%s) е по-нов от %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "игнориране замяната на пакет (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "не може да се замести %s от %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "засечени нерешени пакетни конфликти\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "премахване '%s' от целевия списък заради конфликт с '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "неуспех при извличане на файлове\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "не успя да се прочете файла %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "няма достатъчно свободно място на диска\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "не се потвърждава транзакцията по премахване\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "не се потвърждава транзакцията\n"
|
||||
@@ -963,52 +973,52 @@ msgstr "неъспешно записването в тръбата (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "неуспешно четенето от тръбата (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: 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:604
|
||||
#: 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:627
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "не може да се промени root папката (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:638
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "неуспех при извикване execv (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:709
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "неуспех при извикване на waitpid (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:719
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "неуспешно правилно изпълнение на команда\n"
|
||||
|
||||
#: lib/libalpm/util.c:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Неизвестен сигнал"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "командата прекратена от сигнал %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:825
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "не %s съществуваш кеш, създаване...\n"
|
||||
|
||||
#: lib/libalpm/util.c:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "не се открива или създава пакетен кеш, използва се %s\n"
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
#
|
||||
# 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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 01:05+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Breton (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/br/)\n"
|
||||
@@ -24,54 +24,54 @@ msgstr ""
|
||||
"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
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "hizivaet eo %s - %s -- laosket a-gostez\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "Hizivaet eo %s - %s -- adstaliadur\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "o pellgargañ ar pakad %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, 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:382
|
||||
#: lib/libalpm/add.c:143 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:385
|
||||
#: lib/libalpm/add.c:146 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:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "n'haller ket adenvel %s e %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"n'eo ket bet kavet ar restr er roll restroù evit ar pakad %s. o tremen "
|
||||
"eztennadur %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "n'haller ket eztennañ %s%s : re hir eo an treug"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -80,7 +80,7 @@ msgstr ""
|
||||
"disheñvel eo an aotreoù kavlec'hioù war %s\n"
|
||||
"reizhad restroù : %o pakad : %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -89,102 +89,102 @@ msgstr ""
|
||||
"disheñvel eo perc'henniezh ar c'havlec'hioù evit %s\n"
|
||||
"reizhad restroù : %u:%u pakad : %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "eztannadur : flastradur kavlec'h gant restr %s ebet \n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
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:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 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:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 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"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "ur fazi a zo bet en ur hizivaat %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "ur fazi a zo bet en ur staliañ %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "n'haller ket hizivaat an enankad stlennvon %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "n'haller ket ouzhpennañ an enankad '%s' er skurzer\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "fazi en ul lenn ar restr %s : %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
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:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "n'haller ker krouiñ ar c'havlec'h %s : %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "anv direizh evit an enankad stlennvon '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "enankad stlennvon eilet '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "enankad stlennvon kontronet '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 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:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, 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:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, 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:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "doare gwiriadur dianav evit ar pakad %s : %s\n"
|
||||
@@ -225,44 +225,44 @@ msgstr "handelv pakad direizh e %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "mankout a ra metaroadennoù ar pakad e %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, 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:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "mankout a ra an alc'hwez goulennet en droñsell\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "o dilemel ar restr direizh : %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, 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:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "n'haller ket lenn ar stlennvon '%s' (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, 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:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, 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:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "restr stlennvon dianav : %s\n"
|
||||
@@ -287,12 +287,12 @@ msgstr "dilamet e vo %s goude e %s amzalc'h\n"
|
||||
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:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 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:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "n'haller ket diskoulmañ \"%s\", un amzalc'h \"%s\"\n"
|
||||
@@ -348,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:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "pladenn"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, 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:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "direizh eo an url '%s'\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, 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:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "fazi en ur pellgargañ %s\n"
|
||||
@@ -601,199 +601,194 @@ msgstr "mankout a ra ar sinadur PGP"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "direizh eo ar sinadur PGP"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "direizh pe kontronet eo an delta"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "c'hwitadenn war pegell an delta"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "n'haller ket kejañ an holl amzalc'hoù"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "tabutoù en amzalc'hoù"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "tabut er restroù"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "c'hwitadenn war atoradur restroù 'zo"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "direizh eo ar bomm reol"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "fazi libarchive"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "pellgargañ fazi al levraoueg"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "fazi gpgme"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "fazi en ur gervel ar pellgarger diavaez"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "fazi dic'hortoz"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "mankout a ra ar restr marilhañ %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "n'haller ket dilemel ar restr marilhañ %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Mankout a ra bukennoù delusker er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Mankout a ra rizh an delusker er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Mankout a ra gwezhiadur an delusker er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Mankout a ra an dibarzh Exec er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Mankout a ra an dibarzh When er c'hrog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "AbortOnFail lakaet evit ar c'hrog PostTransaction: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr ""
|
||||
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
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr ""
|
||||
msgstr "krog %s linenn %d: dibarzh didalvoudek %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr ""
|
||||
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
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr ""
|
||||
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
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
msgstr "krog %s linenn %d: flastrañ despizadur kent %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "krog %s linenn %d: n'haller ket arventennañ an dibarzh (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr ""
|
||||
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
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "n'haller ket digeriñ ar restr: %s %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#: lib/libalpm/hook.c:595 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
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "n'haller ket lenn ar c'havlec'h: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "n'haller ket kavout %s er stlennvon -- laosket a-gostez\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "o dilemel %s eus ar roll bukenn\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "n'heller ket dilemel ar restr '%s' : %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
msgstr "n'haller ket gwarediñ %sabalamour d'an dic'hlann PATH_MAX\n"
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "n'heller ket dilemel %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, 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:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "n'haller ket dilemel an enankad '%s' eus ar c'hrubuilh\n"
|
||||
@@ -801,141 +796,156 @@ 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 ""
|
||||
msgstr "Ne gaver ket an droñsell foran; lañset ho peus '%s'?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "Fazi GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "n'haller ket skrivañ en droñsell\n"
|
||||
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s : mankout a ra ar sinadur dleet\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
msgstr "%s: mentrezh ar sinadur \"%s\" n'eo ket fizius-tre\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
msgstr "%s: dianav zo an alc'hwez \"%s\"\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
msgstr "%s: mentrezh sinadur anskor\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s : o leuskel an hizivadenn pakad a-gostez (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s : o leuskel a-gostez an distro d'an handelv kozhoc'h (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s : o distreiñ eus an handelv %s betek an hini %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s : nevezoc'h eo an handelv lec'hel (%s) evit %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "o leuskel an erlec'hiadur pakad a-gostez (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "n'haller ket erlec'hiañ %s gant %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "tabutoù n'haller ket diskoulmañ a zo bet dinoet\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "c'hwitadenn war atoradur restroù 'zo\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "n'eus ket plas dieub a-walc'h war ar bladenn\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "n'haller ket erounit an treuzkas dilemel\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "n'haller ket erounit an treuzkas\n"
|
||||
@@ -970,52 +980,52 @@ msgstr "n'haller ket skrivañ er gorzenn (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "n'haller ket lenn ar gorzenn (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: 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:604
|
||||
#: 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:627
|
||||
#: 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:638
|
||||
#: 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:709
|
||||
#: 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:719
|
||||
#: 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:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Arhent dianav"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: 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:825
|
||||
#: 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:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr ""
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,8 +7,8 @@
|
||||
# David Kolibáč <david@kolibac.cz>, 2011
|
||||
# David Macek <david.macek.0@gmail.com>, 2018
|
||||
# IAmNotImportant, 2017
|
||||
# Jaroslav Lichtblau <dragonlord@seznam.cz>, 2014-2015
|
||||
# Jaroslav Lichtblau <dragonlord@seznam.cz>, 2014
|
||||
# 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
|
||||
@@ -18,9 +18,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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 06:59+0000\n"
|
||||
"Last-Translator: David Macek <david.macek.0@gmail.com>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/cs/)\n"
|
||||
"Language: cs\n"
|
||||
@@ -30,53 +30,53 @@ msgstr ""
|
||||
"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
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s je aktuální -- vynechat\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s je aktuální -- přeinstalovat\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "snížení verze balíčku %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "nedostatek paměti pro alokaci objektu"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 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:385
|
||||
#: lib/libalpm/add.c:146 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:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nelze přejmenovat %s na %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"soubor nenalezen v seznamu souborů balíčku %s. přeskakuje se rozbalení %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "nelze rozbalit %s%s: příliš dlouhá cesta"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -85,7 +85,7 @@ msgstr ""
|
||||
"přístupová práva adresáře %s se neshodují\n"
|
||||
"souborový systém: %o balíček: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -94,101 +94,101 @@ msgstr ""
|
||||
"rozdílný vlastník adresáře %s\n"
|
||||
"souborový systém: %u:%u balíček: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "rozbalení: adresář nebyl přepsán souborem %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
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:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 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:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 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"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "nastal problém při aktualizaci %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "nastal problém při instalaci %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "nelze aktualizovat záznam databáze %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "nelze přidat položku '%s' do mezipaměti\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "chyba při čtení souboru %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
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:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "nelze změnit adresář %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "chybný název záznamu v databázi '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "duplicitní záznam v databázi '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "poškozený záznam v databázi '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 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:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, 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:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, 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:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "neznámý způsob ověření pro balíček %s: %s\n"
|
||||
@@ -229,42 +229,42 @@ msgstr "neplatná verze balíčku v %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "chybí metadata balíčku v %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "nelze načíst soubor s podpisy: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "požadovaný klíč není v klíčence\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "odstraněn neplatný soubor: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, 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:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, 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
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, 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:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, 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:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "neznámý soubor databáze: %s\n"
|
||||
@@ -289,12 +289,12 @@ msgstr "%s bude odstraněn po %s, na kterém závisí\n"
|
||||
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:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 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:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "nelze vyřešit \"%s\", závislost \"%s\"\n"
|
||||
@@ -349,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:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, 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:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' je chybná\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, 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:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "selhalo stahování %s\n"
|
||||
@@ -601,199 +601,194 @@ msgstr "chybějící podpis PGP"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "neplatný podpis PGP"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "neplatný nebo poškozený delta rozdíl"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "aplikace delta rozdílu selhala"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "nelze vyřešit závislosti"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "konfliktní závislosti"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "konfliktní soubory"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "selhalo získání některých souborů"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "nesprávný regulární výraz"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "chyba knihovny libarchive"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "chyba knihovny pro stahování souborů"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "chyba v gpgme"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "chyba volání externího programu pro stahování souborů"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "neočekávaná chyba"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "chybí soubor zámku %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "nelze odstranit zamykací soubor %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Chybí typ triggeru v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Chybí operace triggeru v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Chybí volba Exec v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Chybí volba When v hooku: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "nelze otevřít adresář %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:595 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
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "nelze přečíst adresář: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "nelze nalézt %s v databázi -- vynechat\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "'%s' odstraněn ze seznamu cílů\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "nelze odstranit soubor '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
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:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "nelze odstranit %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, 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:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "nelze odstranit položku '%s' z mezipaměti\n"
|
||||
@@ -803,141 +798,154 @@ msgstr "nelze odstranit položku '%s' z mezipaměti\n"
|
||||
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
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "Chyba GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "do klíčenky nelze zapisovat\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: chybí vyžadovaný podpis\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: klíč \"%s\" je neznámý\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: klíč \"%s\" je vypnut\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: podpis od \"%s\" vypršel\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: nepodporovaný formát podpisu\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignoruje se aktualizace balíčku (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignoruje se snížení verze balíčku (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: snížení z verze %s na verzi %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: lokální verze (%s) je novější než v %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignoruje se náhrada balíčku (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "nelze nahradit soubor %s souborem %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "zjištěn konflikt nerozlišitelných balíčků\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "selhalo získání některých souborů\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "není dostatek volného místa na disku\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nelze provést transakci pro odstranění\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nelze provést transakci\n"
|
||||
@@ -972,52 +980,52 @@ msgstr "nelze zapisovat do roury (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "nelze číst z roury (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: 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:604
|
||||
#: 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:627
|
||||
#: 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:638
|
||||
#: 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:709
|
||||
#: 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:719
|
||||
#: 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:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Neznámý signál"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: 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:825
|
||||
#: 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:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
# jakobw <jakob.wadsager@gmail.com>, 2012
|
||||
# Joe Hansen <joedalton2@yahoo.dk>, 2011,2013
|
||||
# scootergrisen, 2017
|
||||
# scootergrisen, 2017-2018
|
||||
# scootergrisen, 2017-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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-06-07 09:48+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-14 00:27+0000\n"
|
||||
"Last-Translator: scootergrisen\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/da/)\n"
|
||||
@@ -25,53 +25,53 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s er opdateret - springer over\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s er opdateret - springer over\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "nedgraderer pakke %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "kan ikke allokere diskarkiv-objekt"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 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:385
|
||||
#: lib/libalpm/add.c:146 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:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kunne ikke omdøbe %s til %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"fil ikke fundet i fillisten for pakke %s. springer over udpakkelse af %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "kan ikke pakke %s%s ud: sti for lang"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -80,7 +80,7 @@ msgstr ""
|
||||
"mapperettigheder er forskellige for %s\n"
|
||||
"filsystem: %o pakke: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -89,101 +89,101 @@ msgstr ""
|
||||
"mapperettigheder er forskellige for %s\n"
|
||||
"filsystem: %u:%u pakke: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "udtræk: overskriver ikke mappe med fil %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
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:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 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:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 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"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "der opstod et problem under opgradering %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "der opstod et problem under installation af %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "kunne ikke opdatere databasepunkt %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "kunne ikke tilføje punkt »%s« i cache\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "der opstod en fejl under læsning af fil %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "fjerner ugyldig database: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "kunne ikke oprette mappe %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "ugyldigt navn for databasepunkt '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "duplikeret databasepunkt '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "beskadiget databasepunkt '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 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:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, 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:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, 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:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "ukendt valideringstype for pakke %s: %s\n"
|
||||
@@ -224,42 +224,42 @@ msgstr "ugyldig pakkeversion i %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "manglende pakkemetadata i %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "kunne ikke læse underskriftfil: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "krævede nøgle mangler fra nøglering\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "fjerner ugyldig fil: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, 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:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, 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
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, 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:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, 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:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "ukendt databaseful: %s\n"
|
||||
@@ -284,12 +284,12 @@ msgstr "%s vil blive fjernet efter dennes %s-afhængighed\n"
|
||||
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:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorerer pakke %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "kan ikke læse '%s', en afhængighed af '%s'\n"
|
||||
@@ -344,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:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "kunne ikke oprette midlertidig fil til hentning\n"
|
||||
|
||||
#: lib/libalpm/dload.c:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "adressen '%s' er ugyldig\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, 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:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "kunne ikke hente %s\n"
|
||||
@@ -596,199 +596,194 @@ msgstr "manglende PGP-signatur"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "ugyldig PGP-signatur"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "ugyldig eller ødelagt delta"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "deltarettelse (patch) fejlede"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "kunne ikke tilfredsstille afhængigheder"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "konfliktende afhængigheder"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "konfliktende filer"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "kunne ikke indhente nogle filer"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "ugyldigt regulært udtryk"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "biblioteksarkivfejl"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "hent biblioteksfejl"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "gpgme fejl"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "fejl under opstart af ekstern hentningsprogram"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "kompileret uden understøttelse af signatur"
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "uventet fejl"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "låsefil mangler %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "kunne ikke fjerne låsningsfil %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Manglende udløsermål i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Manglende udløsertype i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Manglende udløserhanlding i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Manglende Exec-tilvalg i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Manglende When-tilvalg i krog: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "AbortOnFail sat for PostTransaction-hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "kunne ikke åbne mappe: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:595 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
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "kunne ikke læse mappe: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "kunne ikke finde %s i database - springer over\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "fjerner %s fra målliste\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "kan ikke fjerne fil »%s«:%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
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:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "kan ikke fjerne %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "kunne ikke fjerne databasepunkt %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "kunne ikke fjerne punkt '%s' fra cache\n"
|
||||
@@ -798,140 +793,154 @@ msgstr "kunne ikke fjerne punkt '%s' fra cache\n"
|
||||
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
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "Fejl ved GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "slår nøglen %s op med WKD\n"
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "fejl ved gpg: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "der kan ikke skrives til nøglering\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "nøglen\"%s\" på nøgleserver\n"
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "nøglen \"%s\" kunne ikke fjernopslås\n"
|
||||
msgstr "nøglen \"%s\" kunne ikke opslås eksternt\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: mangler krævet signatur\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: nøgelen \"%s\" er ukendt\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: nøglen \"%s\" er deaktiveret\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: signatur fra \"%s\" er udløbet\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: signaturformat understøttes ikke\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorerer pakkeopgradering (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorerer pakkenedgradering (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: nedgraderer fra version %s til version %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: lokal (%s) er nyere end %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorerer pakkeerstatning (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "kan ikke erstatte %s med %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "pakkekonflikter, der ikke kan løses, er detekteret\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "kunne ikke indhente nogle filer\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "kunne ikke læse filen %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ikke nok ledig diskplads\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kunne ikke indsende (commit) fjernelsestransaktion\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "kunne ikke indsende (commit) transaktion\n"
|
||||
@@ -966,52 +975,52 @@ msgstr "kan ikke skrive til pipe (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "kan ikke læse fra pipe (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: 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:604
|
||||
#: 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:627
|
||||
#: 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:638
|
||||
#: 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:709
|
||||
#: 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:719
|
||||
#: 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:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Ukendt signal"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: 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:825
|
||||
#: 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:856
|
||||
#: 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,7 @@
|
||||
#
|
||||
# Translators:
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# Dieter S <ptpsmail@web.de>, 2019
|
||||
# Frank Theile, 2018
|
||||
# Frank Theile, 2018
|
||||
# Jakob Gahde <j5lx@fmail.co.uk>, 2014-2015
|
||||
@@ -20,9 +21,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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 15:58+0000\n"
|
||||
"Last-Translator: Frank Theile\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: German (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/de/)\n"
|
||||
"Language: de\n"
|
||||
@@ -31,54 +32,54 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s ist aktuell -- Überspringe\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s ist aktuell -- Reinstalliere\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "Downgrade des Paketes %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "Archivobjekt konnte nicht reserviert werden"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 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:385
|
||||
#: lib/libalpm/add.c:146 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:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "Konnte %s nicht in %s umbenennen (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"Datei nicht in Dateiliste des Pakets %s gefunden. Überspringe Entpacken von "
|
||||
"%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "konnte %s%s nicht entpacken: Pfad zu lang"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -87,7 +88,7 @@ msgstr ""
|
||||
"Verzeichnis-Berechtigungen unterscheiden sich für %s\n"
|
||||
"Dateisystem: %o Paket: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -96,105 +97,105 @@ msgstr ""
|
||||
"Verzeichnis-Eigentümer unterscheidet sich für %s\n"
|
||||
"Dateisystem: %u:%u Paket: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "Entpacken: Überschreibe Verzeichnis nicht mit Datei %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
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:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 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:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 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"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "Fehler traten auf, während %s aktualisiert wurde\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "Fehler traten bei der Installation von %s auf\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "Konnte Datenbankeintrag %s-%s nicht aktualisieren\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "Konnte Eintrag '%s' nicht zum Pufferspeicher hinzufügen\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "Fehler beim Lesen der Datei %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
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:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "Konnte Verzeichnis %s nicht erstellen: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "Ungültiger Name für Datenbank-Eintrag '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "Doppelter Datenbank-Eintrag '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "Beschädigter Datenbank-Eintrag '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 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:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, 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:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, 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:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "Unbekannter Validierungstyp für das Paket %s: %s\n"
|
||||
@@ -235,47 +236,47 @@ msgstr "Ungültige Paketversion in %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "Fehlende Paket-Metadaten in %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "Konnte die Signatur-Datei nicht lesen: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "Erforderlicher Schlüssel fehlt im Schlüsselbund\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "Entferne ungültige Datei: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, 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:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "konnte Datenbank '%s' (%s) nicht lesen\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, 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:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, 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:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "Unbekannte Datenbankdatei: %s\n"
|
||||
@@ -300,12 +301,12 @@ msgstr "%s wird nach seiner Abhängigkeit %s entfernt werden\n"
|
||||
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:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "Ignoriere Paket %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "Kann \"%s\" nicht auflösen (eine Abhängigkeit von \"%s\")\n"
|
||||
@@ -362,39 +363,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:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "Platte"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, 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:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' ist ungültig\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, 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:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "Konnte %s nicht herunterladen\n"
|
||||
@@ -615,199 +616,194 @@ msgstr "Fehlende PGP-Signatur"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "Ungültige PGP-Signatur"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "Ungültiges oder beschädigtes Delta"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "Delta-Patch fehlgeschlagen"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "Kann Abhängigkeiten nicht erfüllen"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "In Konflikt stehende Abhängigkeiten"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "In Konflikt stehende Dateien"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "Konnte manche Dateien nicht übertragen"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "Ungültiger Regulärer Ausdruck"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "libarchive-Fehler"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "Fehler in der Bibliothek für Downloads"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "gpgme-Fehler"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "Fehler beim Aufruf eines externen Downloaders"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "Kompiliert ohne Signatur-Unterstützung"
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "Unerwarteter Fehler"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "%s fehlt in Sperrdatei\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "Konnte Sperrdatei %s nicht entfernen\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Fehlende Exec-Option im hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Fehlende Exec-Option im hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Fehler beim Lesen des hooks %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s, Zeile %d: Ungültige Sektion %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s, Zeile %d: Ungültiger Wert %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s, Zeile %d: Üerschreibe vorherige Definition von %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s, Zeile %d: Kann die Option (%s) nicht setzen\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Kann den hook %s nicht starten: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "Konnte das Verzeichnis nicht öffnen: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Konnte die Datei nicht öffnen: %s%s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#: lib/libalpm/hook.c:595 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
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Konnte Verzeichnis nicht lesen: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "Konnte %s nicht in Datenbank finden -- Überspringe\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "Entferne '%s' aus der Ziel-Liste\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "Kann Datei '%s' nicht entfernen: %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
msgstr "Kann kein Backup von %s erstellen, auf Grund eines PATH_MAX overflow\n"
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "Konnte %s nicht entfernen (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "Konnte Datenbank-Eintrag %s-%s nicht entfernen\n"
|
||||
|
||||
#: lib/libalpm/remove.c:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "Konnte Eintrag '%s' nicht aus dem Puffer entfernen\n"
|
||||
@@ -817,139 +813,154 @@ msgstr "Konnte Eintrag '%s' nicht aus dem Puffer entfernen\n"
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "Schlüssebund ist nicht schreibbar\n"
|
||||
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr ""
|
||||
msgstr "Schlüssel \"%s\" konnte nicht importiert werden\n"
|
||||
|
||||
#: 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
msgstr "Schlüssel \"%s\" konnte nicht entfernt abgerufen werden\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: Erforderliche Signatur fehlt\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
msgstr "%s: Schlüssel \"%s\" ist unbekannt\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
msgstr "%s: Schlüssel \"%s\" ist deaktiviert\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
msgstr "%s: Signatur von \"%s\" ist abgelaufen\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr ""
|
||||
msgstr "%s: Signatur von \"%s\" ist ungültig\n"
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
msgstr "%s: Signaturformatfehler\n"
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
msgstr "%s: nicht unterstütztes Signaturformat\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: Ignoriere Paket-Aktualisierung (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: Ignoriere Paket-Downgrade (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: Downgrade von Version %s zu Version %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "Ignoriere Paket-Ersetzung (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "Kann %s nicht durch %s ersetzen\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "Nicht auflösbare Paketkonflikte gefunden\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "Konnte einige Dateien nicht übertragen\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "konnte die Datei nicht lesen %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "Nicht genug freier Festplattenspeicher\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "Konnte Löschvorgang nicht durchführen\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "Konnte den Vorgang nicht durchführen\n"
|
||||
@@ -984,52 +995,52 @@ msgstr "konnte nicht in Weiterleitung schreiben (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "konnte nicht von Weiterleitung lesen (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: 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:604
|
||||
#: 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:627
|
||||
#: 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:638
|
||||
#: 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:709
|
||||
#: 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:719
|
||||
#: 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:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Unbekanntes Signal"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: 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:825
|
||||
#: 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:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# Achilleas Pipinellis, 2014
|
||||
# Achilleas Pipinellis, 2013
|
||||
# Achilleas Pipinellis, 2013
|
||||
# Christos Nouskas <nous@archlinux.us>, 2011,2013-2014,2017
|
||||
# Christos Nouskas <nous@archlinux.us>, 2011,2013-2014,2017,2019
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# ifaigios <ifaigios@gmail.com>, 2015
|
||||
# ifaigios <ifaigios@gmail.com>, 2015
|
||||
@@ -17,8 +17,8 @@ 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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 01:05+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Greek (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/el/)\n"
|
||||
@@ -28,54 +28,54 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s ενημερωμένο -- παράλειψη\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s ενημερωμένο -- επανεγκατάσταση\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "υποβάθμιση πακέτου %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "αδυναμία κατανομής αντικειμένου αρχείου δίσκου"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 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:385
|
||||
#: lib/libalpm/add.c:146 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:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "αδυναμία μετονομασίας %s σε %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"αρχείο δεν βρέθηκε στην λίστα αρχείων του πακέτου %s. παράλειψη εξαγωγής του "
|
||||
"%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "αδυναμία εξαγωγής %s%s: πολύ μεγάλο μήκος διαδρομής"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -84,7 +84,7 @@ msgstr ""
|
||||
"τα δικαιώματα καταλόγου διαφέρουν στο %s\n"
|
||||
"σύστημα αρχείων: %o πακέτο: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -93,101 +93,101 @@ msgstr ""
|
||||
"κυριότητα καταλόγου διαφορετική από του %s\n"
|
||||
"σύστημα αρχείων: %u:%u πακέτου: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "εξαγωγή: μη αντικατάσταση καταλόγου με αρχείο %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "αδυναμία εξαγωγής %s.pacnew: πολύ μεγάλο μήκος διαδρομής"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 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:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "αδυναμία επαναφοράς καταλόγου εργασίας (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "πρόβλημα κατά την αναβάθμιση του %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "πρόβλημα κατά την εγκατάσταση του %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "αδυναμία ενημέρωσης εγγραφής βάσης %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "αδυναμία προσθήκης εγγραφής '%s' στην κρύπτη\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "σφάλμα ανάγνωσης αρχείου %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "διαγραφή άκυρης βάσης: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "αδυναμία δημιουργίας καταλόγου %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "άκυρο όνομα εγγραφής βάσης '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "διπλότυπη εγγραφή βάσης '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "κατεστραμμένη εγγραφή βάσης '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 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:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "ανακολουθία στην βάση %s: αναντιστοιχία ονόματος πακέτου %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "ανακολουθία στην βάση %s: ασυμφωνία έκδοσης πακέτου %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "άγνωστος τύπος επικύρωσης πακέτου %s: %s\n"
|
||||
@@ -228,45 +228,45 @@ msgstr "άκυρη έκδοση πακέτου στο %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "απόντα μετα-δεδομένα πακέτου στο %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "αδυναμία ανάγνωσης αρχείου υπογραφής: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr ""
|
||||
"απόν κλειδί από τον κλειδούχο\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "διαγραφή άκυρου αρχείου: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr ""
|
||||
"αδυναμία ανάλυσης αρχείου περιγραφής πακέτου '%s' στη βάση δεδομένων '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "αδυναμία ανάγνωσης βάσης '%s' (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "ασυνέπεια βάσης %s: μη έγκυρο όνομα πακέτου %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "ασυνέπεια βάσης %s: πολύ μεγάλο όνομα πακέτου %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "άγνωστο αρχείο βάσης: %s\n"
|
||||
@@ -291,12 +291,12 @@ msgstr "κατάργηση του %s μετά την εξάρτησή του %s\
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "εγκατάσταση του %s πρίν από την εξάρτησή του %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "παράβλεψη πακέτου %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "αδυναμία εύρεσης του \"%s\", εξάρτησης του \"%s\"\n"
|
||||
@@ -353,38 +353,38 @@ msgstr "αδυναμία καθορισμού ριζικού σημείου πρ
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "Η κατάτμηση %s είναι προσαρτημένη μόνο για ανάγνωση\n"
|
||||
|
||||
#: lib/libalpm/dload.c:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "δίσκο"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "αποτυχία δημιουργίας προσωρινού αρχείου λήψης\n"
|
||||
|
||||
#: lib/libalpm/dload.c:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "άκυρη διεύθυνση '%s'\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "αποτυχία λήψης αρχείου '%s' από %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"αποτυχία λήψης αρχείου '%s' από %s : υπέρβαση αναμενομένου μεγέθους λήψης\n"
|
||||
|
||||
#: lib/libalpm/dload.c:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "το %s δείχνει ημιτελές: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "αποτυχία λήψης %s\n"
|
||||
@@ -604,199 +604,194 @@ msgstr "απούσα υπογραφή PGP"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "άκυρη υπογραφή PGP"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "άκυρο ή κατεστραμμένο delta"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "αποτυχία μπάλωματος delta"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "αδυναμία επίλυσης εξαρτήσεων"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "διένεξη εξαρτήσεων"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "διένεξη αρχείων"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "αποτυχία λήψης κάποιων αρχείων"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "άκυρη κανονική έκφραση"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "σφάλμα libarchive"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "σφάλμα βιβλιοθήκης λήψης"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "σφάλμα gpgme"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "σφάλμα κλήσης προγράμματος λήψης"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "απρόσμενο σφάλμα"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "απόν αρχείο κλειδώματος %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "αδυναμία διαγραφής αρχείου κλειδώματος %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Απόντες διακόπτες στόχων στο hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Απών τύπος διακόπτη στο hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Απούσα λειτουργία διακόπτη στο hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Απούσα επιλογή Exec στο hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Απούσα επιλογή When στο hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
msgstr "Τέθηκε AbortOnFail στο PostTransaction hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "σφάλμα ανάγνωσης hook %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s γραμμή %d: άκυρη επιλογή %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s γραμμή %d: άκυρη ενότητα %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s γραμμή %d: άκυρη τιμή %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s γραμμή %d: αντικατάσταση προηγούμενου ορισμού %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
msgstr "hook %s γραμμή %d: αδυναμία ορισμού επιλογής (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "αδυναμία εκτελέσεως hook %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "αδυναμία ανοίγματος καταλόγου %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "αδυναμία ανοίγματος αρχείου: %s%s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#: lib/libalpm/hook.c:595 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "αδυναμία εντοπισμού αρχείου %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
msgstr "αδυναμία ανάγνωσης καταλόγου: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "αδυναμία πλήρους φόρτωσης μεταδεδομένων πακέτου %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "δεν βρέθηκε το %s στη βάση -- παράλειψη\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "αφαίρεση του %s από λίστα διεκπεραίωσης\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "αδυναμία διαγραφής αρχείου '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
msgstr "αδυναμία εφεδρικής αντιγραφής %s εξαιτίας υπερχείλισης PATH_MAX\n"
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "αδυναμία κατάργησης %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "αδυναμία κατάργησης εγγραφής βάσης %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "αδυναμία κατάργησης εγγραφής '%s' από κρύπτη\n"
|
||||
@@ -804,142 +799,157 @@ msgstr "αδυναμία κατάργησης εγγραφής '%s' από κρ
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr ""
|
||||
msgstr "Δεν ευρέθη δημόσιος κλειδούχος· εκτελέστηκε '%s';\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "σφάλμα GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "μη εγγράψιμος κλειδούχος\n"
|
||||
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr ""
|
||||
msgstr "αδυναμία εισαγωγής κλειδιού \"%s\"\n"
|
||||
|
||||
#: 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
msgstr "αδυναμία απομεμακρυσμένης αναζήτησης κλειδιού \"%s\"\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: απούσα απαιτούμενη υπογραφή\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
msgstr "%s: υπογραφή από \"%s\" οριακής εμπιστοσύνης\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
msgstr "%s: υπογραφή από \"%s\" αγνώστου εμπιστοσύνης\n"
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
msgstr "%s: υπογραφή από \"%s\" ουδεμίας εμπιστοσύνης\n"
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
msgstr "%s: κλειδί \"%s\" άγνωστο\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
msgstr "%s: κλειδί \"%s\" απενεργοποιημένο\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
msgstr "%s: υπογραφή από \"%s\" ληγμένη\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr ""
|
||||
msgstr "%s: υπογραφή από \"%s\" άκυρη\n"
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
msgstr "%s: σφάλμα μορφής υπογραφής\n"
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
msgstr "%s: μη υποστηριζόμενη μορφή υπογραφής\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: παράβλεψη αναβάθμισης πακέτου (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: παράβλεψη υποβάθμισης πακέτου (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: υποβάθμιση από έκδοση %s στην έκδοση %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: τοπικό (%s) νεότερο από του [%s] (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "παράβλεψη αντικατάστασης πακέτου (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "αδυναμία αντικατάστασης του %s από το %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "εντοπισμός ανεπίλυτων διενέξεων πακέτων\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"αφαίρεση του '%s' από την λίστα διεκπεραίωσης λόγω διένεξης με το '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "σφάλμα λήψης μερικών αρχείων\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "μη αρκετός ελεύθερος χώρος στο δίσκο\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "αδυναμία διεκπεραίωσης διαγραφής\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "αδυναμία διεκπεραίωσης\n"
|
||||
@@ -974,52 +984,52 @@ msgstr "αποτυχία εγγραφής σε αγωγό (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "αποτυχία ανάγνωσης από αγωγό (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: 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:604
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "αδυναμία εκκίνησης νέας διεργασίας (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:627
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "αδυναμία αλλαγής ριζικού καταλόγου (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:638
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "αποτυχία κλήσης execv (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:709
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "αποτυχία κλήσης waitpid (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:719
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "αποτυχία σωστής εκτέλεσης εντολής\n"
|
||||
|
||||
#: lib/libalpm/util.c:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Άγνωστο σήμα"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "τερματισμός εντολής με σήμα %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:825
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "μη υπάρχουσα κρύπτη %s, δημιουργία...\n"
|
||||
|
||||
#: lib/libalpm/util.c:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "αδυναμία εύρεσης ή δημιουργίας κρύπτης πακέτων, χρήση %s\n"
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
#
|
||||
# Translators:
|
||||
# Allan McRae <allan@archlinux.org>, 2013
|
||||
# Allan McRae <allan@archlinux.org>, 2013-2015,2017-2018
|
||||
# Allan McRae <allan@archlinux.org>, 2013-2015,2017-2019
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 01:15+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:47+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: English (United Kingdom) (http://www.transifex.com/toofishes/"
|
||||
"archlinux-pacman/language/en_GB/)\n"
|
||||
@@ -21,53 +21,53 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s is up to date -- skipping\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s is up to date -- reinstalling\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "downgrading package %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "cannot allocate disk archive object"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "warning given when extracting %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#: lib/libalpm/add.c:146 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "could not extract %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "could not rename %s to %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"file not found in file list for package %s. skipping extraction of %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "unable to extract %s%s: path too long"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -76,7 +76,7 @@ msgstr ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -85,101 +85,101 @@ msgstr ""
|
||||
"directory ownership differs on %s\n"
|
||||
"filesystem: %u:%u package: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "extract: not overwriting dir with file %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "unable to extract %s.pacnew: path too long"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "could not get current working directory\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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 "could not change directory to %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "could not restore working directory (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "problem occurred while upgrading %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "problem occurred while installing %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "could not update database entry %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "could not add entry '%s' in cache\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "error while reading file %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "removing invalid database: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "could not create directory %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "invalid name for database entry '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "duplicated database entry '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "corrupted database entry '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "could not open file %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "%s database is inconsistent: name mismatch on package %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "%s database is inconsistent: version mismatch on package %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "unknown validation type for package %s: %s\n"
|
||||
@@ -220,42 +220,42 @@ msgstr "invalid package version in %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "missing package metadata in %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "failed to read signature file: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "required key missing from keyring\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "removing invalid file: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "could not parse package description file '%s' from db '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "could not read db '%s' (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "%s database is inconsistent: filename of package %s is too long\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "unknown database file: %s\n"
|
||||
@@ -280,12 +280,12 @@ msgstr "%s will be removed after its %s dependency\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s will be installed before its %s dependency\n"
|
||||
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignoring package %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
@@ -340,38 +340,38 @@ msgstr "could not determine root mount point %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "Partition %s is mounted read only\n"
|
||||
|
||||
#: lib/libalpm/dload.c:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disk"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "failed to create temporary file for download\n"
|
||||
|
||||
#: lib/libalpm/dload.c:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "URL '%s' is invalid\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "failed retrieving file '%s' from %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
|
||||
#: lib/libalpm/dload.c:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "failed to download %s\n"
|
||||
@@ -591,199 +591,194 @@ msgstr "missing PGP signature"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "invalid PGP signature"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "invalid or corrupted delta"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "delta patch failed"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "could not satisfy dependencies"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "conflicting dependencies"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "conflicting files"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "failed to retrieve some files"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "invalid regular expression"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "libarchive error"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "download library error"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "gpgme error"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "error invoking external downloader"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "compiled without signature support"
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "unexpected error"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "lock file missing %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "could not remove lock file %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Missing trigger targets in hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Missing trigger type in hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Missing trigger operation in hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Missing Exec option in hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Missing When option in hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "error while reading hook %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "hook %s line %d: invalid option %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "hook %s line %d: invalid section %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "hook %s line %d: invalid value %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "hook %s line %d: overwriting previous definition of %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "hook %s line %d: unable to set option (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "unable to run hook %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "could not open directory: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr "could not open file: %s%s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#: lib/libalpm/hook.c:595 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "could not stat file %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "could not read directory: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "could not fully load metadata for package %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "could not find %s in database -- skipping\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "removing %s from target list\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "cannot remove file '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr "could not backup %s due to PATH_MAX overflow\n"
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "cannot remove %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "could not remove database entry %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "could not remove entry '%s' from cache\n"
|
||||
@@ -793,139 +788,154 @@ msgstr "could not remove entry '%s' from cache\n"
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "Public keyring not found; have you run '%s'?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "GPGME error: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "looking up key %s using WKD\n"
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "gpg error: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "keyring is not writable\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "key \"%s\" on keyserver\n"
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr "key \"%s\" could not be imported\n"
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "key \"%s\" could not be looked up remotely\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: missing required signature\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: signature from \"%s\" is marginal trust\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: signature from \"%s\" is unknown trust\n"
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr "%s: signature from \"%s\" should never be trusted\n"
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: key \"%s\" is unknown\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: key \"%s\" is disabled\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: signature from \"%s\" is expired\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr "%s: signature from \"%s\" is invalid\n"
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr "%s: signature format error\n"
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: unsupported signature format\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignoring package upgrade (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignoring package downgrade (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: downgrading from version %s to version %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: local (%s) is newer than %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "cannot replace %s by %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "unresolvable package conflicts detected\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "failed to retrieve some files\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "failed to read file %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "not enough free disk space\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "could not commit removal transaction\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "could not commit transaction\n"
|
||||
@@ -960,52 +970,52 @@ msgstr "unable to write to pipe (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "unable to read from pipe (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "could not create pipe (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:604
|
||||
#: 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:627
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "could not change the root directory (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:638
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "call to execv failed (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:709
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "call to waitpid failed (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:719
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "command failed to execute correctly\n"
|
||||
|
||||
#: lib/libalpm/util.c:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Unknown signal"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "command terminated by signal %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:825
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "no %s cache exists, creating...\n"
|
||||
|
||||
#: lib/libalpm/util.c:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "couldn't find or create package cache, using %s instead\n"
|
||||
|
||||
@@ -11,8 +11,8 @@ 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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-05-15 01:05+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Esperanto (http://www.transifex.com/toofishes/archlinux-"
|
||||
"pacman/language/eo/)\n"
|
||||
@@ -22,54 +22,54 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s estas ĝisdata -- preterpasante\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s estas ĝisdata -- reinstalante\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "malpromociante pakaĵon %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "maleblas disponigi diskarkivaĵon"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "averto donita dum eltirado de %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#: lib/libalpm/add.c:146 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "ne eblis eltiri %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "ne eblis renomi %s al %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"dosiero ne trovita en la dosierlisto por pakaĵo %s. preterpasante eltirado "
|
||||
"de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "ne eblis eltiri %s%s: la dosierindiko estas tro longa"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -78,7 +78,7 @@ msgstr ""
|
||||
"dosierujaj permesoj malsamas en\n"
|
||||
"dosiersistemo %s: pakaĵo %o: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -87,101 +87,101 @@ msgstr ""
|
||||
"dosieruja posedo malsamas en\n"
|
||||
"dosiersistemo %s: %u:%u pakaĵo: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "eltiri: ne superskribante dosierujon kun dosiero %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "ne eblis eltiri %s.pacnew: la dosierindiko estas tro longa"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "ne eblis akiri nunan funkciantan dosierujon\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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 "ne eblis ŝanĝi dosierujon al %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "ne eblis restaŭri nunan funkciantan dosierujon (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "problemo okazis dum ĝisdatigo de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "problemo okazis dum instalo de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "ne eblis ĝisdatigi datumbazan enigon %s-%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "ne eblis aldoni enigon '%s' en kaŝmemoro\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "eraro dum legado de dosiero %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "forigante nevalidan datumbazon: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "ne eblis krei dosierujon %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nevalida nomo por datumbaza enigo '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "duobla datumbaza enigo '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "difektita datumbaza enigo '%s'\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "ne eblis malfermi dosieron %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "la datumbazo %s estas nekohera: noma malkongruo en la pakaĵo %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "la datumbazo %s estas nekohera: versia malkongruo en la pakaĵo %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "nekonata validiga tipo por pakaĵo %s: %s\n"
|
||||
@@ -222,46 +222,46 @@ msgstr "nevalida pakaĵa versio en %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "mankas pakaĵaj metadatumoj en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "malsukcesis legi subskriban dosieron: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "bezonata ŝlosilo mankas de la ŝlosilingo\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "forigante nevalidan dosieron: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "ne eblis analizi priskriba dosiero de la pakaĵo '%s' el db '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr ""
|
||||
"la datumbazo %s estas malkongrua: la dosiernomo de pakaĵo %s estas "
|
||||
"malpermesata\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr ""
|
||||
"la datumbazo %s estas malkongrua: la dosiernomo de pakaĵo %s estas tro "
|
||||
"longa\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "nekonata datumbaza dosiero: %s\n"
|
||||
@@ -286,12 +286,12 @@ msgstr "oni forigos %s post sia dependenco %s\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "oni instalos %s antaŭ sia dependenco %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorante pakaĵon %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "ne eblas solvi \"%s\", dependeco de \"%s\"\n"
|
||||
@@ -348,39 +348,39 @@ msgstr "ne eblis scii radikan surmetingon %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "La subdisko %s estas surmetita nurlegebla\n"
|
||||
|
||||
#: lib/libalpm/dload.c:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disko"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "malsukcesis krei provizoran dosieron por elŝuto\n"
|
||||
|
||||
#: lib/libalpm/dload.c:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "la url '%s' ne estas valida\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "malsukcesis ricevi dosieron '%s' de %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"malsukcesis ricevi dosieron '%s' de %s: atendita elŝuta grando grandigis\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/dload.c:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s ŝajnas esti trunkita: %jd/%jd bitokoj\n"
|
||||
|
||||
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "malsukcesis elŝuti %s\n"
|
||||
@@ -600,199 +600,194 @@ msgstr "mankas PGP-subskribo"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "nevalida PGP-subskribo"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "nevalida aŭ difektita diferencodosiero"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "diferencodosiera fliko fiaskis"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "ne eblis satigi dependencojn"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "konfliktantaj dependencoj"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "konfliktantaj dosieroj"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "malsukcesis ricevi kelkajn dosierojn"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "nevalida regula esprimo"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "eraro en libarchive"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "eraro de biblioteka elŝuto"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "eraro de gpgme"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "eraro alvokante eksteran elŝutilon"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "neatendita eraro"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "ŝlosa dosiero mankas %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "ne eblis forigi ŝlosan dosieron %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, 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
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "ne eblis malfermi dosierujon: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#: lib/libalpm/hook.c:595 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "ne eblis statikigi dosieron %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr "ne eblis tute ŝarĝi la metadatumojn por la pakaĵo %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "ne eblis trovi %s en la datumbazo -- preterpasante\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "forigante %s de la cela listo\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "ne eblas forigi dosieron '%s': '%s'\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "ne eblas forigi %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "ne eblis forigi datumbazan enigon %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "ne eblis forigi enigon '%s' el la kaŝmemoro\n"
|
||||
@@ -802,141 +797,156 @@ msgstr "ne eblis forigi enigon '%s' el la kaŝmemoro\n"
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: mankas bezonata subskribo\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, 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
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorante pakaĵan promocion (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorante pakaĵan malpromocion (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: malpromociante de versio %s al versio %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: la loka (%s) estas pli nova ol %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorante pakaĵan anstataŭon (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "ne eblas anstataŭi %s por %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "nesolveblaj pakaĵaj konfliktoj detektitaj\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "forigante '%s' el cela listo ĉar ĝi konfliktas kun '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "malsukcesis ricevi kelkajn dosierojn\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ne estas sufiĉe granda malokupata diskspaco\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr ""
|
||||
"malsukcesis enmeti forigan transakcion\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "ne eblis enmeti transakcion\n"
|
||||
@@ -971,52 +981,52 @@ msgstr "ne eblas skribi al dukto (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "ne eblas legi el dukto (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "ne eblis krei dukton (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:604
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "ne eblis forki novan procezon (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:627
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "ne eblis ŝanĝi la radikan dosierujon (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:638
|
||||
#: lib/libalpm/util.c:658
|
||||
#, c-format
|
||||
msgid "call to execv failed (%s)\n"
|
||||
msgstr "alvoko al execv fiaskis (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:709
|
||||
#: lib/libalpm/util.c:737
|
||||
#, c-format
|
||||
msgid "call to waitpid failed (%s)\n"
|
||||
msgstr "alvoko al waitpid fiaskis (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:719
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "la komando malsukcese rulis ĝuste\n"
|
||||
|
||||
#: lib/libalpm/util.c:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "Nekonata signalo"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "komando ĉesigita de signalo %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:825
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "neniu kaŝmemoro %s ekzistas, kreante...\n"
|
||||
|
||||
#: lib/libalpm/util.c:856
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
msgid "couldn't find or create package cache, using %s instead\n"
|
||||
msgstr "ne eblis trovi aŭ krei pakaĵan kaŝmemoron, uzante %s anstataŭ\n"
|
||||
|
||||
@@ -11,19 +11,20 @@
|
||||
# Leonel <leonelmalon@gmail.com>, 2013
|
||||
# Leonel <leonelmalon@gmail.com>, 2013
|
||||
# neiko <neikokz+tsfx@gmail.com>, 2011
|
||||
# Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] <prflr88@gmail.com>, 2017
|
||||
# Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] <prflr88@gmail.com>, 2013-2016
|
||||
# Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] <prflr88@gmail.com>, 2017
|
||||
# Pedro Román <roizheim@gmail.com>, 2013-2014,2016-2018
|
||||
# picodotdev <pico.dev@gmail.com>, 2016
|
||||
# prflr88 <prflr88@gmail.com>, 2017
|
||||
# prflr88 <prflr88@gmail.com>, 2013-2016
|
||||
# prflr88 <prflr88@gmail.com>, 2017
|
||||
# Pedro Román <roizheim@gmail.com>, 2013-2014,2016-2019
|
||||
# picodotdev <pico.dev@gmail.com>, 2016,2019
|
||||
# prflr88 <prflr88@gmail.com>, 2017
|
||||
# Swyter <Swyterzone@gmail.com>, 2015,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: 2018-05-15 10:34+1000\n"
|
||||
"PO-Revision-Date: 2018-06-22 07:25+0000\n"
|
||||
"Last-Translator: Pedro Román <roizheim@gmail.com>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 09:15+0000\n"
|
||||
"Last-Translator: picodotdev <pico.dev@gmail.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/es/)\n"
|
||||
"Language: es\n"
|
||||
@@ -32,55 +33,55 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/libalpm/add.c:86
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s está actualizado -- omitiéndolo\n"
|
||||
|
||||
#: lib/libalpm/add.c:90
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s está actualizado -- reinstalándolo\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "revertiendo el paquete %s a una versión anterior (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:124
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr ""
|
||||
"memoria insuficiente en el sistema para lograr los objetivos del archivo"
|
||||
|
||||
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
|
||||
#: lib/libalpm/add.c:143 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "se han advertido errores mientras se extraía %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
|
||||
#: lib/libalpm/add.c:146 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "no se pudo extraer %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "no se pudo renombrar %s a %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:205
|
||||
#: lib/libalpm/add.c:210
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"el archivo no figura en la lista de archivos del paquete %s. Omitiendo la "
|
||||
"extracción de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:214
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "no se pudo extraer %s%s: ruta demasiado larga"
|
||||
|
||||
#: lib/libalpm/add.c:256
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
@@ -89,7 +90,7 @@ msgstr ""
|
||||
"los permisos del directorio difieren respecto de %s\n"
|
||||
"sistema de archivos: %o paquete: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:271
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
@@ -98,107 +99,107 @@ msgstr ""
|
||||
"la propiedad del directorio difiere respecto de %s\n"
|
||||
"sistema de archivos: %u:%u paquete: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:287
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr ""
|
||||
"sobre la extracción: no se puede sobrescribir el directorio con el archivo "
|
||||
"%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:315
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "no se pudo extraer %s.pacnew: ruta demasiado larga"
|
||||
|
||||
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "no se pudo determinar el directorio de trabajo actual\n"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
|
||||
#: lib/libalpm/util.c:631
|
||||
#: lib/libalpm/add.c:518 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 se pudo cambiar el directorio a %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
|
||||
#: lib/libalpm/add.c:575 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "no se pudo restaurar el directorio de trabajo (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:578
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "ocurrió un error durante la actualización de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:584
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "ocurrió un error durante la instalación de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:599
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
msgid "could not update database entry %s-%s\n"
|
||||
msgstr "no se pudo actualizar la entrada %s-%s en la base de datos\n"
|
||||
|
||||
#: lib/libalpm/add.c:610
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "no se pudo agregar la entrada «%s» a la caché\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:255
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "error al leer el archivo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:350
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "quitando la base de datos no válida: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
msgid "could not create directory %s: %s\n"
|
||||
msgstr "no se pudo crear el directorio %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:576 lib/libalpm/be_sync.c:387
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nombre no válido para la entrada «%s» de la base de datos\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:584
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "entrada «%s» duplicada en la base de datos\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:596
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "la entrada «%s» de la base de datos está dañada\n"
|
||||
|
||||
#: 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/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
msgstr "no se pudo abrir el archivo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:715 lib/libalpm/be_sync.c:653
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"la base de datos %s es inconsistente: nombre mal emparejado en el paquete "
|
||||
"%s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:721 lib/libalpm/be_sync.c:659
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr ""
|
||||
"la base de datos %s es inconsistente: versión mal emparejada en el paquete "
|
||||
"%s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:762
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "tipo de validación desconocida para el paquete %s: %s\n"
|
||||
@@ -239,48 +240,48 @@ msgstr "versión del paquete no válida en %s\n"
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "faltan los metadatos del paquete en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:748
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "no se pudo leer correctamente el archivo de firmas: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "la clave necesaria no está presente en el depósito\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:62
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "quitando archivo no válido: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:517
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr ""
|
||||
"no se pudo analizar el archivo de descripción del paquete «%s» de la base de "
|
||||
"datos «%s»\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:524
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "no se pudo leer la base de datos '%s' (%s)\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr ""
|
||||
"la base de datos %s es inconsistente: el nombre del archivo del paquete %s "
|
||||
"no entra dentro de lo permisible\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:568
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr ""
|
||||
"la base de datos %s es inconsistente: el nombre del archivo del paquete %s "
|
||||
"es demasiado largo\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:634
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
msgid "unknown database file: %s\n"
|
||||
msgstr "archivo de base de datos desconocido: %s\n"
|
||||
@@ -305,12 +306,12 @@ msgstr "%s se quitará después de su dependencia %s\n"
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s se instalará antes de su dependencia %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:682 lib/libalpm/deps.c:712
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorando el paquete %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:867
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "no se pudo resolver «%s», una dependencia de «%s»\n"
|
||||
@@ -369,39 +370,39 @@ msgstr "no se pudo determinar el punto de montaje de la raíz %s\n"
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "La partición %s está montada solamente en modo lectura\n"
|
||||
|
||||
#: lib/libalpm/dload.c:159
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
msgid "disk"
|
||||
msgstr "disco"
|
||||
|
||||
#: lib/libalpm/dload.c:345
|
||||
#: lib/libalpm/dload.c:348
|
||||
#, c-format
|
||||
msgid "failed to create temporary file for download\n"
|
||||
msgstr "no se pudo crear el archivo temporal para la descarga\n"
|
||||
|
||||
#: lib/libalpm/dload.c:390
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "la dirección «%s» no es válida\n"
|
||||
|
||||
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "no se pudo obtener el archivo «%s» desde %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:472
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"no se pudo obtener el archivo «%s» desde %s : el tamaño de la descarga "
|
||||
"supera lo esperado\n"
|
||||
|
||||
#: lib/libalpm/dload.c:520
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s parece estar incompleto: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "no se pudo descargar %s\n"
|
||||
@@ -622,202 +623,197 @@ msgstr "falta la firma PGP"
|
||||
msgid "invalid PGP signature"
|
||||
msgstr "firma PGP no válida"
|
||||
|
||||
#: lib/libalpm/error.c:135
|
||||
#, c-format
|
||||
msgid "invalid or corrupted delta"
|
||||
msgstr "el archivo diferencial no es válido o está dañado"
|
||||
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "delta patch failed"
|
||||
msgstr "el parche del diferencial ha fallado"
|
||||
|
||||
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
|
||||
#: lib/libalpm/error.c:135 lib/libalpm/hook.c:514
|
||||
#, c-format
|
||||
msgid "could not satisfy dependencies"
|
||||
msgstr "no se pudieron satisfacer las dependencias"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "dependencias en conflicto"
|
||||
|
||||
#: lib/libalpm/error.c:144
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "archivos en conflicto"
|
||||
|
||||
#: lib/libalpm/error.c:147
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files"
|
||||
msgstr "no se pudieron descargar algunos archivos"
|
||||
|
||||
#: lib/libalpm/error.c:149
|
||||
#: lib/libalpm/error.c:144
|
||||
#, c-format
|
||||
msgid "invalid regular expression"
|
||||
msgstr "expresión regular no válida"
|
||||
|
||||
#: lib/libalpm/error.c:155
|
||||
#: lib/libalpm/error.c:150
|
||||
#, c-format
|
||||
msgid "libarchive error"
|
||||
msgstr "error de la biblioteca libarchive"
|
||||
|
||||
#: lib/libalpm/error.c:157
|
||||
#: lib/libalpm/error.c:152
|
||||
#, c-format
|
||||
msgid "download library error"
|
||||
msgstr "error de la biblioteca de descarga"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#: lib/libalpm/error.c:154
|
||||
#, c-format
|
||||
msgid "gpgme error"
|
||||
msgstr "error de gpgme"
|
||||
|
||||
#: lib/libalpm/error.c:161
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "error al invocar al gestor de descargas externo"
|
||||
|
||||
#: lib/libalpm/error.c:164
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "compilado sin soporte de firma"
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
msgid "unexpected error"
|
||||
msgstr "error inesperado"
|
||||
|
||||
#: lib/libalpm/handle.c:157
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "falta el archivo de bloqueo %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:163
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "no se pudo quitar el archivo de bloqueo %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Paquetes de ejecución que faltan en el «hook»: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:113
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Tipo de ejecución que falta en el «hook»: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:119
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Operación de ejecución que falta en el «hook»: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:146
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Falta la opción «Exec» en el «hook»: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:152
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Falta la opción «When» en el «hook»: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:155
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "«AbortOnFail» establecido para el «hook» de posinstalación: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:273
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "hubo un error al leer el «hook» %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "«hook» %s línea %d: la opción %s no es correcta\n"
|
||||
|
||||
#: lib/libalpm/hook.c:285
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "«hook» %s línea %d: la sección %s no es correcta\n"
|
||||
|
||||
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
|
||||
#: lib/libalpm/hook.c:350
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "«hook» %s línea %d: el valor %s no es correcto\n"
|
||||
|
||||
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
|
||||
#: lib/libalpm/hook.c:345
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "«hook» %s línea %d: sobrescribiendo la definición de %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:352
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "«hook» %s línea %d: no se puede especificar la opción (%s)\n"
|
||||
|
||||
#: lib/libalpm/hook.c:613
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "no se pudo ejecutar el «hook» %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
msgid "could not open directory: %s: %s\n"
|
||||
msgstr "no se pudo abrir el directorio: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:676
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr "no se pudo abrir el archivo: %s%s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
|
||||
#: lib/libalpm/hook.c:595 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
msgid "could not stat file %s: %s\n"
|
||||
msgstr "no se pudo recuperar la información del archivo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:722
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "no se pudo crear la carpeta: %s: %s\n"
|
||||
|
||||
#: lib/libalpm/package.c:586
|
||||
#: lib/libalpm/package.c:578
|
||||
#, c-format
|
||||
msgid "could not fully load metadata for package %s-%s\n"
|
||||
msgstr ""
|
||||
"no se pudieron cargar completamente los metadatos para el paquete %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:118
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "no se pudo encontrar %s en la base de datos -- omitiéndolo\n"
|
||||
|
||||
#: lib/libalpm/remove.c:153
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "quitando %s de la lista de paquetes\n"
|
||||
|
||||
#: lib/libalpm/remove.c:345
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "no se pudo quitar el archivo «%s»: %s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr ""
|
||||
"no se ha podido respaldar %s debido a que la ruta supera el tamaño de "
|
||||
"PATH_MAX\n"
|
||||
|
||||
#: lib/libalpm/remove.c:561
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
msgid "cannot remove %s (%s)\n"
|
||||
msgstr "no se pudo quitar %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/remove.c:734
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "no se pudo quitar la entrada %s-%s de la base de datos\n"
|
||||
|
||||
#: lib/libalpm/remove.c:739
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "no se pudo quitar la entrada «%s» de la caché\n"
|
||||
@@ -829,145 +825,158 @@ msgstr ""
|
||||
"No se ha encontrado el depósito público de claves; ¿ya se ha ejecutado "
|
||||
"«%s»?\n"
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "Error de GPGME: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:402
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "buscando clave %s usando WKD\n"
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "error gpg: %s\n"
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "no se puede escribir en el depósito de claves\n"
|
||||
|
||||
#: lib/libalpm/signing.c:460
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "clave «%s» en servidor de claves\n"
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr "no se pudo importar la clave «%s»\n"
|
||||
|
||||
#: lib/libalpm/signing.c:466
|
||||
#, c-format
|
||||
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
|
||||
msgstr ""
|
||||
"se ha encontrado la clave %s, «%s» en el servidor de claves, pero no se "
|
||||
"puede añadir al llavero porque está protegido contra escritura\n"
|
||||
|
||||
#: lib/libalpm/signing.c:471
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "no se pudo buscar la clave «%s» de forma remota\n"
|
||||
|
||||
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: falta la firma exigida\n"
|
||||
|
||||
#: lib/libalpm/signing.c:874
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: la firma de «%s» es de confianza mínima\n"
|
||||
|
||||
#: lib/libalpm/signing.c:882
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: se desconoce el nivel de confianza de la firma de «%s»\n"
|
||||
|
||||
#: lib/libalpm/signing.c:889
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr ""
|
||||
"%s: la firma de «%s» no es de confianza y no se debería confiar en ella bajo "
|
||||
"ningún concepto\n"
|
||||
|
||||
#: lib/libalpm/signing.c:901
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: clave «%s» desconocida\n"
|
||||
|
||||
#: lib/libalpm/signing.c:910
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: la clave «%s» está desactivada\n"
|
||||
|
||||
#: lib/libalpm/signing.c:914
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: la firma de «%s» ha expirado\n"
|
||||
|
||||
#: lib/libalpm/signing.c:918
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr "%s: la firma de «%s» no es válida\n"
|
||||
|
||||
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
|
||||
#: lib/libalpm/signing.c:1142
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr "%s: hubo un error con el formato de la firma\n"
|
||||
|
||||
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
|
||||
#: lib/libalpm/signing.c:1136
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: formato de firma desconocido\n"
|
||||
|
||||
#: lib/libalpm/sync.c:98
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorando la actualización del paquete (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:110
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorando la desactualización del paquete (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:113
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: desactualizando de la versión %s a la versión %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:119
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
msgid "%s: local (%s) is newer than %s (%s)\n"
|
||||
msgstr "%s: la versión instalada (%s) es más nueva que %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:160
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorando el remplazo del paquete (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:176
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
msgid "cannot replace %s by %s\n"
|
||||
msgstr "no se pudo remplazar el archivo %s por %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
|
||||
#: lib/libalpm/sync.c:535 lib/libalpm/sync.c:605
|
||||
#, c-format
|
||||
msgid "unresolvable package conflicts detected\n"
|
||||
msgstr "se han detectado paquetes con conflictos sin resolver\n"
|
||||
|
||||
#: lib/libalpm/sync.c:558
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"quitando «%s» de la lista de paquetes debido a que tiene conflictos con "
|
||||
"«%s»\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1019
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "no se pudieron recibir algunos archivos\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1384
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "no se pudo leer el archivo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "no hay suficiente espacio libre en el disco\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1406
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "no se pudo realizar la operación de eliminación\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1414
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "no se pudo realizar la operación\n"
|
||||
@@ -1002,52 +1011,52 @@ msgstr "no se pudo escribir en la tubería (%s)\n"
|
||||
msgid "unable to read from pipe (%s)\n"
|
||||
msgstr "no se pudo leer de la tubería (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
|
||||
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
|
||||
#, c-format
|
||||
msgid "could not create pipe (%s)\n"
|
||||
msgstr "no se pudo crear la tubería (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:604
|
||||
#: lib/libalpm/util.c:623
|
||||
#, c-format
|
||||
msgid "could not fork a new process (%s)\n"
|
||||
msgstr "no se pudo crear un nuevo proceso (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:627
|
||||
#: lib/libalpm/util.c:646
|
||||
#, c-format
|
||||
msgid "could not change the root directory (%s)\n"
|
||||
msgstr "no se pudo cambiar el directorio raíz (%s)\n"
|
||||
|
||||
#: lib/libalpm/util.c:638
|
||||
#: 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:709
|
||||
#: 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:719
|
||||
#: lib/libalpm/util.c:747
|
||||
#, c-format
|
||||
msgid "command failed to execute correctly\n"
|
||||
msgstr "la orden no se ejecutó correctamente\n"
|
||||
|
||||
#: lib/libalpm/util.c:726
|
||||
#: lib/libalpm/util.c:754
|
||||
#, c-format
|
||||
msgid "Unknown signal"
|
||||
msgstr "firma desconocida"
|
||||
|
||||
#: lib/libalpm/util.c:728
|
||||
#: lib/libalpm/util.c:756
|
||||
#, c-format
|
||||
msgid "command terminated by signal %d: %s\n"
|
||||
msgstr "orden terminada por la señal %d: %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:825
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "no existe la caché de %s, creándola...\n"
|
||||
|
||||
#: lib/libalpm/util.c:856
|
||||
#: 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