1
0
forked from mirrors/pacman

Compare commits

...

321 Commits

Author SHA1 Message Date
Andrew Gregory
5537881b25 Release 5.2.2
Signed-off-by: Andrew Gregory <andrew@archlinux.org>
2020-06-25 22:04:50 -07:00
Andrew Gregory
027c87ae3f update NEWS for 5.2.2
Signed-off-by: Andrew Gregory <andrew@archlinux.org>
2020-06-22 02:12:41 -07:00
Eli Schwartz
b2c97ad762 autotools: emit error message when autoconf-archive is missing
Forbid the AX_COMPARE_VERSION macro from being found in the output
configure script. If autoconf-archive is not installed when autoreconf
is run, the following error message is emitted:

configure.ac:231: error: possibly undefined macro: AX_COMPARE_VERSION
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 435f5fc204)
2020-06-22 01:29:27 -07:00
Allan McRae
c834a75718 pacman-key: change signing key to RSA4096
RSA2048 may have been fine when this was written many moons ago, but time
this has a bump.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 7ba8e5f376)
2020-06-22 01:29:10 -07:00
Eli Schwartz
82d4b98ddc doc/pacman.8: fix typo
Fixes FS#67000

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 59e751f72d)
2020-06-21 09:43:53 -07:00
Allan McRae
50f5e484f2 Pull translation updates
Signed-off-by: Allan McRae <allan@archlinux.org>
2020-06-19 09:49:28 +10:00
Eli Schwartz
1e9cd30e48 makepkg/repo-add: do not accept public-only keys for signing
If it's not listed by --list-secret-key we don't care if it has been
imported into your keyring, it's unusable. And you might not have a
private key at all in the no-keyid-specified case.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 02ae97b0da)
2020-06-18 02:07:35 -07:00
Eli Schwartz
2a345604cd makepkg/repo-add: handle GPGKEY with spaces
We pass this to gpg -u and this gpg option can accept a number of
different formats, not just the historical hexadecimal fingerprint we
assumed. We should not barf hard if a format is used which happens to
contain spaces.

This also fixes a validation bug. When we initially check if the desired
key is available, we don't quote spaces, so gpg goes ahead and treats
each space-separated string as a *different key* to search for,
returning partial matches, and returning success if at least one key is
found. But gpg --detach-sign -u will certainly not accept multiple keys!

Fixes FS#66949

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 899d39b635)
2020-06-18 02:07:14 -07:00
Eli Schwartz
f4da297de2 libmakepkg: fix regression in sending plain() output to stderr
In commit 882e707e40 we changed message
output to go to stdout by default, unless it was an error. The plain()
function doesn't *look* like an error function, but in practice it was
-- it's used to continue multiline messages, and all in-tree uses were
for warning/error.

This is a problem both because we're sending output to the wrong place,
and because in some cases, we were performing error logging from a
function which would otherwise return a value to be captured in a
variable using command substution.

Fix this and straighten out the API by providing two functions: one for
continuing msg output, and one which wraps this by sending output to
stderr, for continuing error output.

Change all callers to use the second function.

(cherry picked from commit bf458cced7)
2020-06-18 02:06:46 -07:00
Eli Schwartz
22e6daa794 makepkg: correctly handle missing download clients
This was broken in commit 882e707e40,
which changed 'plain()' messages to go to stdout, which was then
captured as the download client in question: cmdline=("Aborting...").

The result was a very confusing error message e.g.

/usr/share/makepkg/source/file.sh: line 72: $'\E[1m': command not found

or with makepkg --nocolor:

/usr/share/makepkg/source/file.sh: line 72: Aborting...: command not found

The problem here is that we checked to see if an asynchronous subshell,
in our case <(...), failed, by checking if its captured stdout is
non-empty. Which is terrible, and also a limitation of old bash. But
bash 4.4 can use wait $! to retrieve the return value of an asynchronous
subshell. Now we target that as our minimum, we can sanely handle errors
in such functions.

Losing error messages on stdout by capturing them in a variable instead
of printing them, continues to be a problem, but this will be fixed
systematically in a later commit.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 381e113755)
2020-06-18 02:05:38 -07:00
Eli Schwartz
d69da08abe makepkg: guard against undefined git pinned sources
If something like source=(..."#commit=") is used, e.g. due to failed
variable expansion, we try to check out an empty refspec as nothing at
all, and end up just running "git checkout". This happens because we
fail at variable expansion too -- so let's quote our variables properly
and make sure git sees this as an empty refspec, so it can error out.

Also make sure it is interpreted as a ref instead of a path.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 817f9fb715)
2020-06-18 02:04:15 -07:00
Allan McRae
12503767c0 libalpm/signing.c: Fix calculation of packet size in parse_subpacket
Given RFC 4880 provides the code to do this calculation, I am not sure
how I managed to stuff that up!  This bug was only exposed when a
signature made with "include-key-block" was added to the Arch repos,
which provided a subpacket with the required size to hit this issue.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 5f6ef895b1)
2020-06-18 02:03:51 -07:00
Eli Schwartz
03cfe9e21c libmakepkg/strip: don't re-add the same debug source multiple times
It's either a waste of work, or triggers edge cases in some packages
(like coreutils-8.31) where the source file is readonly and cp gets a
permission denied error trying to overwrite it with an identical copy of
itself.

Also while we are at it, make the variable names be something readable,
because I could barely tell what this was doing while editing it.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 3674144a74)
2020-06-18 02:03:33 -07:00
Levente Polyak
b3be0ce99b makepkg: deterministic PKGINFO libprovides for multiple library versions
While iterating over the provides array, the find call for locating a
shared library may result in listing multiple entries which by itself
does not produce a stable deterministic order and may vary depending on
the underlying filesystem.
To provide a stable listing and a reproducible .PKGINFO file the result
of find is piped to sort with a static LC_ALL=C localisation.

Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 8ce142a255)
2020-06-18 02:02:28 -07:00
Eli Schwartz
68418c5442 Log invalid conf settings as an error
This is not a warning, _parse_options() returns failure without even
parsing further lines and the attempted pacman/pacman-conf program
execution immediately aborts. Warnings are for when e.g. later on if we
don't recognize a setting at all, we skip over it and have enough
confidence in this to continue executing the program.

The current implementation results in pacman-conf aborting with:

warning: config file /etc/pacman.conf, line 60: invalid value for 'ParallelDownloads' : '2.5'
error parsing '/etc/pacman.conf'

or pacman -Syu aborting with the entirely more cryptic:

warning: config file /etc/pacman.conf, line 59: invalid value for 'ParallelDownloads' : '2.5'

and this isn't just a problem for the newly added ParallelDownloads
setting, either, you could get the same problem if you specified a
broken XferCommand, but that's harder as it's more accepting of input
and you probably don't hit this except with unbalanced quotes.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 8e769ddb8a)
2020-06-18 02:01:25 -07:00
Eli Schwartz
bb50e8d73a pacman-conf: fix incomplete support for ILoveCandy
This was only partially implemented in the original implementation.
`pacman-conf | grep ILoveCandy` would tell you if it was set, but
querying directly by name would not.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 7423b16604)
2020-06-18 01:56:09 -07:00
Allan McRae
b9d397c731 pacman.8: Fix typo
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 3ea7fdd96c)
2020-06-18 01:53:27 -07:00
Earnestly
39ce2b7663 Use noextract with pacman-conf NoExtract
Current code accidently uses noupgrade for the NoExtract directive.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 1d39557aa0)
2020-06-18 01:46:59 -07:00
Allan McRae
01d5a68c1a build-aux/update-copyright 2019 2020
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit e76ec94083)
2020-06-18 01:45:38 -07:00
morganamilo
08aa3d97ea libalpm: fix alpm_option_set_assumeinstalled
It looks like this function has never actually worked. The current list
is never set to NULL after being freed. So the new deps were just
appended to the already freed list, leading to a segfault.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 0a25548cd0)
2020-06-18 01:44:01 -07:00
Eli Schwartz
0bf4779cda makepkg: make per-package files containing '$pkgname' consistently work
Extracting function variables containing arbitrarily scoped variables of
arbitrary nature is a disaster, but let's at least cover the common case
of using the actual '$pkgname' in an install/changelog file. It's the
odd case of actually being basically justified use of disambiguating
between the same variable used in multiple different split packages...
and also, --printsrcinfo already uses and overwrites the variable
'pkgname' in pkgbuild_extract_to_srcinfo, so this "works" in .SRCINFO
but doesn't work in .src.tar.gz

It doesn't work in lint_pkgbuild either, but in that case the problem is
being too permissive, not too restrictive -- we might end up checking
the same file twice, and printing that it is missing twice.

Fixes FS#64932

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit d626a17ef9)
2020-06-18 01:43:04 -07:00
Allan McRae
d61c398b2c Fix "pacman -U <url>" operations
Commit e6a6d307 detected complete part files by comparing a payload's
max_size to initial_size.  However, these values are also equal when we
use pacman -U on a URL as max_size is set to 0 in that case.  Add a further
condition to avoid that.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit e54617c7d5)
2020-06-18 01:42:34 -07:00
Allan McRae
7faa795268 Increase maximum database size
We previously has the maximum database size as 25MB.  This was set in the days
before repos had as many packages as they do now, and before we started
distributing files databases.  Increase this limit to 128MB.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 2856a7dea3)
2020-06-18 01:41:48 -07:00
Allan McRae
0d0a4bd680 Remove unneeded ltmain patch
Many moons ago, libtool was bad - I mean worse than today!  It gobbled all
--as-needed and we ended up with an overlinked libalpm.  This was annoying,
particularly when dealing with soname bumps in libraries pacman/libalpm had
no business linking to. Luckily we had a fix, stolen from GNOME I believe.
And with that fix, we lived in harmony with libtool for many years.  Until one
day, unbeknownst to us, libtool was "fixed".  We kept applying our patch,
because it still applied, but it did worse than nothing.  It gobbled up our
other LDFLAGS, and our libalpm started missing out on RELRO and BIND_NOW.
This made the Arch Security Team unhappy. We will make them happy again by
stopping the patch.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 2e32d51a26)
[Andrew: restore autogen.sh]
2020-06-18 01:39:14 -07:00
Allan McRae
76c50e3439 Handle .part files that are the size of the correct package
In rare cases, likely due to a well timed Ctrl+C, but possibly due to a
broken mirror, a ".part" file may have size at least that of the correct
package size.

When encountering this issue, currently pacman fails in different ways
depending on where the package falls in the list to download.  If last,
"wrong or NULL argument passed" error is reported, or a "invalid or
corrupt package" issue if not.

Capture these .part files, and remove the extension. This lets pacman
either use the package if valid, or offer to remove it if it fails checksum
or signature verification.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit e6a6d30793)
2020-06-18 01:25:50 -07:00
Allan McRae
c2fa9f85cc libalpm/sync.c: Do not download missing keys multiple times
We now store key structs of our missing key info, so can not search the list
for string matches. This caused missing keys to be downloaded once for every
package they signed.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 540b19164b)
2020-06-18 01:13:09 -07:00
Eli Schwartz
6f1a9e6ea8 makepkg: fix regression that broke extraction of file:// sources
In commit 9c817b6549 we made these sources
extendable, and heuristically determined the correct extraction
functions to use. But our fallback for protos that didn't have an exact
extract_* function didn't take into account that 'extract_file' matches
an actual proto... so we passed the netfile in while the function
expected a file.

Solution: the function should expect a netfile too, thereby allowing us
to delay an attempted resolution of netfile -> file, to the one case
where it is actually used. This makes us slightly more efficient in the
non-file case, makes our functions a bit more consistent, and makes
file:// extraction work again.

Fixes FS#64648

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 349c22d043)
2020-01-14 01:26:52 -08:00
Daniel T. Borelli
41c3b1d78c Dereference double pointer before assigning NULL
Daniel T. Borelli <danieltborelli@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit eaa2770c80)
2020-01-14 01:24:50 -08:00
Eli Schwartz
d6dcc93645 makepkg: fix one more file-seccomp issue
When file is called via fakeroot, it doesn't matter whether you use -z
or not, it is still incompatible with seccomp. Fix by configuring it
with FILECMD when used in the fakeroot 'tidy' run.

Fixes FS#65100

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
2020-01-09 23:29:14 -08:00
Allan McRae
019f9386ef pactest: set package tar format to GNU_FORMAT
python-3.8 changed the default tar format to PAX_FORMAT. This caused
issues in our testsuite with package extraction of files with UTF-8
characters as we run the tests under the C locale.

sycn600.py:
error: error while reading package /tmp/pactest-xuhri4xa/var/cache/pacman/pkg/unicodechars-2.0-1.pkg.tar.gz: Pathname can't be converted from UTF-8 to current locale.

Set format back to GNU_FORMAT.

Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit b9faf65273)
2020-01-09 23:19:47 -08:00
Allan McRae
f6564377a2 Release 5.2.1
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-11-01 10:57:09 +10:00
Allan McRae
c9613f3a0a Pull latest translations from Transifex
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-11-01 10:54:12 +10:00
Allan McRae
fca2f7e598 Update NEWS for pacman-5.2.1
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-11-01 09:26:54 +10:00
Allan McRae
4d76cf6f07 Comma fail 2019-10-30 14:26:07 +10:00
Eli Schwartz
866a5cd431 autotools: be more templated when getting list of doc dist files
Distribute asciidoc sources for all manpages instead of remembering to
add files to both variables. Fixes regression in
377d47142f which broke building the
website from a dist tarball:

make: *** No rule to make target 'pacman-conf.8.html', needed by 'html'.  Stop.

(Technically this regression is already fixed by commit
942b909829, but this is just going to keep
happening, I suspect, so we should fix the root cause.)

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-30 10:05:28 +10:00
Eli Schwartz
5c2059db28 makepkg: only run --clean actions if we built a package
Fixes issue where users were allowed to run cleanup while running
--geninteg or --printsrcinfo or --packagelist, thus mixing invalid
responses into stdout.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-30 10:04:17 +10:00
Eli Schwartz
0272fca993 makepkg: do not count hard links multiple times when calculating pkg size
Exclude files with hardlinks when cat'ing all the files, and do a second
run to look at each file with hardlinks, keep track of the ones we've
already operated on, and only cat each inode once. Then use "wc -c" to get
the size of all (deduplicated) files the same way we were already doing.

Original-patch-by: Ronan Pigott <rpigott@berkeley.edu>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-30 10:03:46 +10:00
Eli Schwartz
a745d97c17 makepkg: protect against unexpected whitespace in filenames
zipman:

read -r protects against those evil manpages whose filenames contain
backslash escapes, (muahahaha?)

IFS= read protects against filenames with:

- leading whitespace (but no one is actually stupid enough to configure
  their MAN_DIRS=() in makepkg.conf with such silly directories, *right*?)

- trailing whitespace (but likewise, no one should be stupid enough to
  write an uncompressed manpage for section '1 ' or something)

Also fix several other cases where we read filenames without protecting
against surrounding whitespace, or without using null-delimited
filenames when we could trivially do so.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-30 09:47:28 +10:00
Eli Schwartz
99639dc27c meson: fix inodecmd for darwin/bsd
The BSD stat command uses %N, not %n, and was incorrectly ported to
meson.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-30 09:34:51 +10:00
Allan McRae
ae5cf26b5b Fix segfault importing PGP key for pacman -U operations
Use after free.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-27 19:05:27 +10:00
Evangelos Foutras
dc55701132 Add pacman-conf(8) to the documentation index
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-24 17:18:28 +10:00
Allan McRae
f37a3752b3 Update copyright years
make update-copyright OLD=2018 NEW=2019

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-23 22:06:54 +10:00
Allan McRae
a9835a38a3 Remove --force from completion
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-23 22:06:54 +10:00
Allan McRae
cd4f8f7530 Update completion for -F changes
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-23 22:06:45 +10:00
morganamilo
c58bf862b4 makepkg: don't warn when PACKAGER is unset
makepkg now complains when PACKAGER is not in the format
"name <email>".

Hide this warning when PACKAGER is unset but still warn if it is set to
something out of format.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-22 23:18:48 +10:00
Nick Cao
7df70e7fff Fix compression of package databases with zstd
Commit 7afe51171 attempted to add zstd compression support to repo-add,
but failed...

FS#64213

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-22 17:27:15 +10:00
Allan McRae
942b909829 Fix distribution of meson files
Also caught the source of a man page not being distributed.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-22 09:25:49 +10:00
Allan McRae
8ce20d3754 Release v5.2.0
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-21 17:56:25 +10:00
Allan McRae
de24f644f4 Final translation updates for pacman-5.2.0
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-21 17:25:29 +10:00
Eli Schwartz
9ddd0be027 document changes between 5.1 and 5.2
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
2019-10-17 11:51:30 -04:00
Allan McRae
b05a3c10bf Update README for pacman 5.2.0 release
This is the first major release without any additions to the libalpm API!

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-15 21:29:22 +10:00
morganamilo
719efe19c7 libalpm: set errno in signing dummy functions
This allows pacman to print the correct error message when checking keys
and libalpm has been compiled without gpgme support.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-15 19:56:40 +10:00
morganamilo
54b6d689e5 libalpm: fix segfault when -Qip'ing a package
The dummy checksigs function never sets count to 0, leaving it
unitialized. This caused the siglist cleanup to try and free the empty
list.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-15 19:56:00 +10:00
Allan McRae
27ccd68976 Translation updates
Pull all translations with >75% completion.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-14 09:43:35 +10:00
Andrew Gregory
5e11d86cc5 remove: improve broken dependency error message
This message was clarified for sync operations in
2b1b7b7075.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-14 09:31:43 +10:00
morganamilo
d4e667ee5e pacman: return 1 when -F <target> has no results
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-13 12:37:34 +10:00
Andrew Gregory
808a4f15ce run XferCommand via exec
system() runs the provided command via a shell, which is subject to
command injection.  Even though pacman already provides a mechanism to
sign and verify the databases containing the urls, certain distributions
have yet to get their act together and start signing databases, leaving
them vulnerable to MITM attacks.  Replacing the system call with an
almost equivalent exec call removes the possibility of a shell-injection
attack for those users.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
2019-10-12 07:04:20 -07:00
Andrew Gregory
a82b0028e4 add arg_to_string helper
Converts an argc/argv pair to a string for presentation to the user.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
2019-10-11 20:14:29 -07:00
Andrew Gregory
a2c4ad4675 move wordsplit into common for sharing
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
2019-10-11 18:49:38 -07:00
Eli Schwartz
a897599fa5 makepkg: do not save fflags when creating packages
Saving fflages breaks reproducible builds due to encoding information
specific to the filesystem that was used to build the package. This
information is not needed for packaging purposes anyway.

Including fflags also means that attempting to extract a package file as
root (or fakeroot) might result in angry warnings being printed to the
console by bsdtar, followed by a non-zero exit code, unless the user
remembers to use --no-fflags during extraction. This is unpleasant UI, even
if pacman itself won't care about these.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-09 15:39:48 +10:00
Christian Hesse
e8d4228614 signing: handle unknown uid in key import
With unknown uid pacman crashed. Return with error from email_from_uid()
if uid is NULL.

Signed-off-by: Christian Hesse <mail@eworm.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-09 15:39:35 +10:00
Christian Hesse
379f715105 signing: modify question text with unknwon uid
If the key's uid is unknown (for example with db signatures) the
question was:

:: Import PGP key 02FD1C7A934E614545849F19A6234074498E9CEE, "(null)"? [Y/n]

Let's display a modified question for unknown uid.

Signed-off-by: Christian Hesse <mail@eworm.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-09 15:39:22 +10:00
Jonas Witschel
d5c3ed129c pacman-key: receive keys from WKD with -r/--recv-keys
If an email address is specified, we use --locate-key to look up the key
using WKD and keyserver as a fallback. If the key is specified as a key
ID, this doesn't work, so we use the normal keyserver-based --recv-keys.

Note that --refresh-keys still uses the keyservers exclusively for
refreshing, though the situation might potentially be improved in a new
version of GnuPG:
https://lists.gnupg.org/pipermail/gnupg-users/2019-July/062169.html

Signed-off-by: Jonas Witschel <diabonas@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 21:40:54 +10:00
Allan McRae
5d2e48d17f Pull and push translation changes in preparation for 5.2
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 18:12:24 +10:00
Alad Wenter
7e79cf73fa makepkg: propagate E_REMOVE_BUILD_DEPS
remove_deps is called once, at the end of clean_up() before makepkg
exit. If remove_deps returns >0 (e.g. when pressing "n" in the resulting
prompt), the error is caught by the ERR signal handler. This in turns
sends SIGUSR1 to the process group, with resulting exit code 138.

In case remove_deps fails, this patch exits makepkg with E_REMOVE_DEPS
if there was no previous error (that is, EXIT_CODE equals E_OK).
Otherwise, makepkg exits with EXIT_CODE.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 17:09:23 +10:00
Erich Eckner
095d6332be makepkg: remove makedepends before installing built package
When running `makepkg -i` it may be necessary to first remove make- and
checkdepends before installing the built package - for example if they
conflict each other. This is the case for wireguard-arch which
makedepends and conflicts wireguard-dkms.

Signed-off-by: Erich Eckner <git@eckner.net>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 16:44:42 +10:00
Allan McRae
8e7d425627 makepkg: wait for process to finish
Without the -f option to wait, we might move on and try to delete the
logpipe before the process is completed.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 16:22:52 +10:00
Austin Lund
e581068c77 makepkg: Delete logpipe when exiting
The logpipe fifo can remain when exiting on a non-error condition such
as recieving signals INT and USR1.  This can be seen by doing either a
manual CTRL-C to interrupt the build or by sending a signal such as:

$ makepkg & sleep 5 ; kill -USR1 $!

Remove the fifo in all cases on script exit if it still exists.

Signed-off-by: Austin Lund <austin.lund@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 16:21:24 +10:00
morganamilo
8f89e509d2 pacman: speed up deptest
Try and find an exact match via pkgcache before iterating the entire
localdb.

Gives a noticeable speed up for exact matches e.g. `pacman -T zlib`

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 14:27:09 +10:00
morganamilo
f2442bc2e9 libalpm: short circuit alpm_find_dbs_satisfier
when a satisfying package is already installed, we always pick it
instead of prompting the user. So we can return that package as soon as
we find it, instead of waiting until we've iterated through all the
databases.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 14:21:08 +10:00
morganamilo
0a295f3f39 libalpm: fix incorrect documentation
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 14:19:54 +10:00
Eli Schwartz
0e3a4bd1fb meson: work around broken pkg-config file with private requires
In addition to the general issue of staticlibs linkage, linking a static
lib to a library() does not seem to generate the needed Libs.private.

Rework how we handle this entirely. Instead of relying on convenience
libraries, we will *sigh* go extract a boatload of .o files again, then
relink those to the installable libalpm, while mentioning our
dependencies again.

We still have our guaranteed static library for linking arbitrary programs
with (e.g. vercmp), and we still only generate one identical copy of the
.o files, but now we potentially `ar` it up twice, which isn't so bad.
And linking still works, and pkg-config files also still work.

One alternative would be to explicitly list our dependencies to
pkgconfig.generate with requires_private, but since gpgme might be an
elevated config-tool dependency, this can fail with:

meson.build:341:10: ERROR: requires argument not a string, library with pkgconfig-generated file or pkgconfig-dependency object, got <GpgmeDependency gpgme: True>

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 14:09:34 +10:00
Eli Schwartz
facd9533b0 meson: fix incorrect libalpm version
LIB_VERSION is supposed to be something like 11.0.1, not simply
reiterate the project version. As a result, we ended up with this:

$ pacman -V
[...]
Pacman v5.1.0 - libalpm v5.1.0
[...]

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 14:09:21 +10:00
Eli Schwartz
c0da1ba13a meson: fix libcommon being publicly exposed as a static link dependency
libcommon isn't even installed, so that means libalpm.a (if installed)
is fatally broken as it misses objects. The problem is that meson
doesn't handle this case correctly:

https://github.com/mesonbuild/meson/issues/3934
https://github.com/mesonbuild/meson/issues/3937
https://github.com/mesonbuild/meson/pull/3939

Work around this by manually extracting libcommon's .o files into the
list of objects used to create libalpm.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 14:08:57 +10:00
Eli Schwartz
de6249ce22 Support file with seccomp enabled
Not all compression types can be detected in the seccomp sandbox, so we
need to disable it. This requires either configuring makepkg to know the
sandbox is available, or checking for file >= 5.38 in which the sandbox
option is a no-op even when seccomp is disabled.

- Requires autoconf-archive for autotools version compare macro.
- meson version comparison could be made a lot simpler using meson-git.

Fixes FS#58626

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 13:43:37 +10:00
Eli Schwartz
2a792ac7bb pacman-key: clean keys on import to remove unknown signatures
There is no good reason to bloat the keyring by importing tons of
signatures we cannot use; drop any signatures that don't validate
against another available key (probably the master keys).

If any desired signatures get cleaned, the key can be refreshed after
importing the new signing public key.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 13:23:22 +10:00
Eli Schwartz
f492339035 pacman-key: make sure we actually use the Web of Trust, which GnuPG doesn't.
By default, the latest versions of GnuPG disable the Web of Trust and
refuse to import signatures from public keyservers. This is to prevent
denial of service attacks, because refusing to import signatures only if
the key size is too big, is apparently too silly to consider.

Either way, pacman needs the WoT. If pacman imports a key at all, it
means everything failed and we are in fallback mode, trying to overcome
a shortcoming in the availability of keys in the keyring package.
(This commonly means the user needs to acquire a new key during the same
transaction that updates archlinux-keyring.)
In order for that new key to be usable, it *must* also import signatures
from the Master Keys.

I don't give credence to this supposed DoS, since the worst case
scenario is nothing happening and needing to CTRL+C in order to exit the
program. In the case of pacman, this is better than being unable to
install anything at all (which is gnupg doing a much more harmful DoS to
pacman), and in the already unusual case where something like
--refresh-keys is being used directly instead of depending on the
keyring package itself, gnupg supports WKD out of the box and will
prefer that for people whose keys are marketed as being non-DOSable.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 13:23:11 +10:00
Eli Schwartz
45e01e55c9 pacman-key: when refreshing gpg.conf, don't truncate option checking
If an option is a two-part option, we print both (separated by IFS=' '),
but when grepping to see if it already exists, we only checked the first
component. This means that something like keyserver-options could only
check if there were existing keyserver options of any sort, but not
which ones.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 13:16:07 +10:00
Matthew Sexton
6d99a15f0b pacman/pacman-conf, testpkg: Added translatable strings
Added gettext macro to warnings, helps, and errors for translation.

Signed-off-by: Matthew Sexton <wsdmatty@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 12:15:06 +10:00
Matthew Sexton
a6ae5f0a04 pacman: pacman-conf: removed hputs macro for usage display
Using the macro got in the way of _() macro for translation
All the macro did was make it so the writer didn't have to type
\n", stream); at the end of every line.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 12:15:02 +10:00
morganamilo
b4e4b74ace libalpm: resolvedep(): don't compare names twice
If we failed to get the pkg from pkgcache then we know no satisfying
package exists by name. So only compare provides.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 12:12:04 +10:00
Eli Schwartz
bcacb00fc8 makepkg: add rust support for *FLAGS and debug-prefix-map
The rust language supports $RUSTFLAGS to be used automatically in all
rustc invocations. Allow setting this in makepkg.conf (e.g. for
optimization or debuginfo support), and teach debug+strip to pass the
rustc command line argument necessary to rewrite source file paths in
the debugging symbols.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 11:48:41 +10:00
Jonas Witschel
48752f1b4b signing: add ability to import keys using a WKD
Currently pacman relies on the SKS keyserver network to fetch unknown
PGP keys. These keyservers are vulnerable to signature spamming attacks,
potentionally making it impossible to import the required keys. An
alternative to keyservers is a so-called Web Key Directory (WKD), a
well-known, trusted location on a server from where the keys can be
fetched.

This commit adds the ability to retrieve keys from a WKD. Due to the
mentioned vulnerabilities, the WKD is tried first, falling back to the
keyservers only if no appropriate key is found there.

In contrast to keyservers, keys in a WKD are not looked up using their
fingerprint, but by email address. Since the email address of the
signing key is usually not included in the signature, we will use the
packager email address to perform the lookup.

Also see FS#63171.

Signed-off-by: Jonas Witschel <diabonas@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 11:21:46 +10:00
Jonas Witschel
80e2e1c7c9 signing: move key import confirmation before key_search
Ask the user whether they want to import a missing key before even doing
a search on the keyserver. This will be useful for getting Web Key
Directory support in place: for a WKD, looking up and importing a key
are a single action, so the current key_search -> QUESTION -> key_import
workflow does not apply.

Since only the ID of the package signing key is available before
key_search, we display the packager variable in addition to the key ID
for user convenience.

Signed-off-by: Jonas Witschel <diabonas@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 11:07:39 +10:00
Dave Reisner
0c4a8ae24b dload: never return NULL from get_filename
Downloads with a Content-Disposition header will typically not include
slashes. When they do, we should most certainly only take the basename,
but when they don't, we should treat the header value as the filename.

Crash introduced in d197d8ab82 when we started using get_filename
in order to rightfully avoid an arbitrary file overwrite vulnerability.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07 10:55:49 +10:00
Allan McRae
5dd2b3776d makepkg.conf.5: Document PACKAGER format requirements
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-04 12:07:04 +10:00
Jonas Witschel
fd70c1c7bb libmakepkg: check if PACKAGER has the expected format for WKD lookup
pacman should be able to extract an email address from PACKAGER for WKD
lookup, so issue a warning if it is not of the form
"Example Name <email@address.invalid>". Neither the name nor the email
address must contain additional angle brackets.

Signed-off-by: Jonas Witschel <diabonas@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-04 11:48:51 +10:00
morganamilo
6f3810793f libmakepkg: fix typo
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-04 11:26:44 +10:00
Eli Schwartz
bcb44891ef autotools: distribute meson files
If we use make dist to create the official, signed release tarballs,
those will not have meson build files by default since autotools doesn't
know what they are.

Also distribute all src/common/ files. We never strictly needed any of
them to be distributed with autotools, because the dist tarball
dereferences the symlinks (???), but only some of them were being
distributed, and meson needs them to be in the right location as we only
build libcommon from the primary files.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-04 11:25:48 +10:00
Allan McRae
024fde9748 Prepare translations for next release
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-12 11:42:10 +10:00
László Várady
f9f22fded2 pacman/callback: fix buffer over-read
Commit 11ab9aa9f5 replaced a strcpy() call
with memcpy(), without copying the terminating null character.

Since fname is allocated with malloc(), subsequent strstr() calls will
overrun the buffer's boundary.

Signed-off-by: László Várady <laszlo.varady93@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-12 10:19:09 +10:00
Dave Reisner
18a6440061 meson: remove tap-driver.py, use meson's TAP protocol
This includes a patch from Andrew to fix pactest's TAP output for
subtests. Original TAP support in meson was added in 0.50, but 0.51
contains a bugfix that ensures the test still work with the --verbose
flag passed to meson test, so let's depend on that.
2019-08-12 10:03:17 +10:00
Austin Lund
75837a2717 makepkg: Ignore "<artificial>" source files
An artificial symbol can be produced when requesting debugging symbols
and the compiler has inlined a function.  These symbols will give
spurious results when listing source files for inclusion in debug
packages.  This will ignore these symbols and avoid an error that can be
generated when creating a debug package.

Signed-off-by: Austin Lund <austin.lund@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-05 20:28:09 +10:00
Dave Reisner
0318e84546 build-aux: detect build dir based on build.ninja
.ninja.log is only present after building (successful or otherwise) the
project, but build.ninja is output as soon as the build dir is setup.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-05 18:26:21 +10:00
Dave Reisner
72dae345e4 meson: port over checks for types used from sys/types.h
These are defined by a POSIX standard, and we should assert that we have
them, or define sane fallbacks (as per sys_types.h(0P)).

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-05 18:21:17 +10:00
Dave Reisner
b3dd02236c meson: drop checks for things we don't use
This was ported over from the AC_CHECK_{FUNCS,HEADERS} lists in
configure.ac, but I never actually checked if the resulting CPP defines
are used. Turns out, lots of symbols, not a lot of define usage.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-05 18:21:12 +10:00
Andrew Gregory
4e5254dbf3 create coredump on segfault
Overriding the segfault handler prevents the creation of core dumps by
the default handler, which makes debugging segfaults difficult.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-05 18:19:04 +10:00
Andrew Gregory
e7156e78b8 sighandler: block signals while handling SIGSEGV
If we get SIGSEGV we need to bail out quickly, leaving other signals
unblocked could lead to other signal handlers getting triggered.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-05 18:10:31 +10:00
morganamilo
0e67ee55bd Correctly report a download failiure for 404s
Currently when caling alpm_trans_commit, if fetching a package restults
in a 404 (or other non 400 response code), the function returns -1 but
errno is never set.

This patch sets errno to ALPM_ERR_RETRIEVE.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-28 13:39:48 +10:00
Eli Schwartz
796c02af4c meson: use dependency('gpgme') exclusively
This works everywhere that gpgme >= 1.13.0 because it is a pkg-config
dependency, and meson 0.51 adds a fallback config-tool dependency
provider that detects older versions of gpgme seamlessly via
gpgme-config.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-28 10:20:58 +10:00
Eli Schwartz
e7a2b2764a meson: use not_found_message when dependencies are not found
The default state of `dependency()` is `required: true`, which means if
a dependency is not found, meson immediately aborts and does not log our
`error()` messages. meson 0.50 has builtin support for dependencies with
custom error messages.

The alternative would be to specify `required: false` everywhere, and
only then to key off of `dep.found()`.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-28 10:20:53 +10:00
Eli Schwartz
83f428d974 meson: bump the minimum supported version of meson to 0.51
We haven't reached our first public release of the meson build backend
yet, so we have lots of flexibility for this... and build dependencies
are easier to upgrade than runtime dependencies anyway.

Updating meson allows us to make use of a bunch of new features that
rewquire the latest version of meson.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-28 10:20:49 +10:00
Eli Schwartz
cd475331f4 bash-completion: use POSIX character classes in regular expressions
bash uses POSIX extended regular expressions via regex(3), which does
not guarantee support for shorthand character classes. Although glibc
supports it, msys2-runtime does not.

Make sure the completion script works (hopefully) everywhere by being
more portable.

Fixes: https://github.com/msys2/MSYS2-packages/pull/1549

Original-patch-by: plotasse <platos@protonmail.ch>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-26 10:15:47 +10:00
Allan McRae
d917109432 makepkg: do not exit immediately on dependency install failures
Fixes FS#63000

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-25 21:56:58 +10:00
Andrew Gregory
30acc87b7d use consistent time notation for the log
%X is locale-dependent, making it impossible to reliably parse and
potentially overflowing the buffer.  %T is consistent across locales.

Also fixes some adjacent whitespace.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-20 17:00:53 +10:00
morganamilo
686a9ee8e7 pacman: correctly free lists
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-20 16:56:57 +10:00
Allan McRae
4ca5f5949b Fix compiler warnings with gcc-9.1
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-20 16:28:44 +10:00
Dave Reisner
1a343d378a free makedepends/checkdepends when freeing packages
Credit to Andrew for identifying source of the leak.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-20 14:45:58 +10:00
morganamilo
80321b21ae pacman: fix error during -Fy
Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-07 09:33:26 +10:00
Andrew Gregory
39c20ad4f1 hooks: rename type File to Path
Make it clearer that the targets are matched against both directories
and regular files and free up File to potentially refer specifically to
regular files in the future.  File is retained as a deprecated alias for
Path for the time being to avoid breaking existing hooks and will be
removed in a future release.

See FS#53136.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-06 10:38:31 +10:00
Andrew Gregory
55a65aaf90 makepkg: restrict pkgname and pkgver to ascii
pkgname and pkgver are used as directory names within database files.
libarchive does not provide a reliable locale-independent method for
reading archive file names, causing errors when archive paths include
non-ascii characters.

This is a first step toward dealing with FS#49342, by hopefully reducing
the number of packages with non-ascii data in the wild before updating
libalpm to reject them outright.

See https://github.com/libarchive/libarchive/wiki/Filenames
and https://github.com/libarchive/libarchive/issues/587

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-06 10:34:23 +10:00
morganamilo
ff1ae94c10 pacman: rework the UI of -F
Reworks the UI of -F according to FS#47949

In short -F replaces both -Fs and -Fo.

Searching for an exact path (target contains "/"), causes the output to
switch to the old -Fo output. Otherwise the old -Fs output is used.

Also strip the leading "/" from targets like how -Qo does.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-06 10:30:04 +10:00
morganamilo
eb92bcb089 pacman: refactor file match printing to their own functions
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-06-06 10:29:39 +10:00
Eli Schwartz
27e80ca7f6 makepkg: also move restore_envvars handling into libmakepkg
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-28 12:46:44 +10:00
Eli Schwartz
a00615bfda makepkg: move config loading into libmakepkg
When scripting/automating around makepkg, it is sometimes desirable to
know how makepkg will be configured to operate. One example is the
archlinux devtools, which must forward select makepkg.conf variables
into a build chroot (for example PACKAGER) or use those variables itself
(for example {SRC,PKG,LOG}DEST).

The configuration file can be in up to 3 places, and should be capable
of being overridden via environment variables. It is sufficiently
complex to represent distinct functionality, and sufficiently useful to
merit easy accessibility in other scripts, therefore, let us move it
into a publicly exposed utility library.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-28 11:28:30 +10:00
Eli Schwartz
5caf45cdbb doc: update SRCEXT/PKGEXT to reduce needlessly scary warnings
Currently this tells people that the settings should not be touched, but
we should just rely on the description of what it should be set to, and
leave it up to the user.  With the previous patch, makepkg aborts if an
invalid value is set, greatly reducing the danger of it being badly
configured.

Also make this clearer by indicating when it would be useful to change
the settings -- i.e. disable compression -- and ensure their described
defaults are based on the ones established during ./configure or meson
setup.

Reported-by: Jouke Witteveen <j.witteveen@gmail.com>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-28 11:18:04 +10:00
Eli Schwartz
4c38f4b991 libmakepkg: add lint_config to validate SRCEXT/PKGEXT
These variables must begin with .src.tar / .pkg.tar respectively, so
fail early if those expectations are not matched. This prevents makepkg
from creating e.g. package files literally named "./pacman-5.1.3-1-x86_64"
which are actually uncompressed tarballs.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-28 11:13:40 +10:00
ekardnam
c8062d753c repo-add: Add --prevent-downgrade option
Implements FS#17752

Signed-off-by: Luca Bertozzi <ekarndam@autistici.org>
2019-05-28 11:08:21 +10:00
Kevin Mihelich
99c5809bbf Support application/gzip MIME type in extraction
file 5.37 changed the gzip MIME type from application/x-gzip to
application/gzip, so support this when checking to extract source files.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-28 10:48:42 +10:00
Eli Schwartz
0bc687e2e0 makepkg: propagate error codes when package failed to sign correctly
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 13:08:47 +10:00
Eli Schwartz
9375f49865 libmakepkg: install pkg-config file
Since makepkg exports a public library of functions, other projects may
wish to use these functions. Highlights include parseopts or our
messaging functions.

Install a pkg-config file in order to let downstream users detect where
they can source the libmakepkg functionality. This is useful e.g. to
gracefully handle the case where a thirdparty project is configured and
installed into a different datarootdir from pacman, but still wants to
use the installed pacman's version of libmakepkg.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 12:46:33 +10:00
Eli Schwartz
614ef781eb libmakepkg: fix missing or inaccurate interdependencies
When the executable checking was refactored into libmakepkg, it carried
with it, usage of $E_* error codes, which need to be declared from
error.sh but are only available when the parent program already sources
error.sh; additionally, message.sh was only loaded in a parent
library, but not where it was needed, and option.sh was often loaded
when it wasn't needed at all.

util.sh, meanwhile, has always depended on message.sh functions.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 12:45:34 +10:00
Eli Schwartz
b93dfa935f scripts: protect against unintended glob matching in [[ ]] RHS
The right-hand side of the [[ ... = ... ]] keyword is an exception to
the general rule that quoting is unnecessary with [[

This is usually not a problem, e.g. in libmakepkg, lint_one_pkgname will
already fail if pkgname has an asterisk, but it certainly doesn't hurt
to be "more proper" and go with the spec; it is more dangerous in
repo-add, which can get caught in an infinite loop instead of safely
asserting there is no package named 'foo*'.

Reported-by: Rafael Ascensão <rafa.almas@gmail.com>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 12:45:26 +10:00
Eli Schwartz
a0f4429e95 makepkg: use more schema.sh to clean the environment of special variables
Fixes "arch" and "checkdepends" never having been unset, fixes b2sums
(but not ${!b2sums_@}) being recently left out.
The "build" function used to be unset as well, explicitly unset it as a
function and do the same for other official functions as well.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 12:45:26 +10:00
Eli Schwartz
583f3122ce meson: fix build of executables with nonstandard libarchive path
The libarchive header is used in alpm.h, and several binaries include
this header. This is noticeably a problem when using e.g. the musl-gcc
compiler which does not include /usr/include by default, and thus the
build system reports:

...../lib/libalpm/alpm.h:35:10: fatal error: archive.h: No such file or directory

More commonly, this will result in compiling against potentially the
wrong headers, if the libarchive installation picked up by pkg-config is
different from the one with headers in /usr/include, and /usr/include is
in the -isystem path.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 10:15:52 +10:00
Eli Schwartz
6911904a03 makepkg: fix bash 5 compatibility when packaging symlinks to a directory
In commit b5191ea140 we moved to using
shell globbing to print package files for a couple of reasons including
reproducible packaging of .METADATA files.

Unfortunately, this only works reliably when the glob pattern does not
resolve to a symlinked directory due to a change in the bash 5.0
release. Note that the previous, desired behavior was rather to merely
refuse to recurse into symlinked directories, but due to an unrelated
issue, the symlink handling for globstar was reworked in a way that had
this side effect.
See https://lists.gnu.org/archive/html/bug-bash/2019-04/msg00015.html
for discussion; this may be fixed at some point, but bash 5.0 is broken
either way.

The appropriate way of handling this seems to be to use **/* to match
instead; this produces the same results on both bash 4 and bash 5, as
the ** matches any leading directory component (or none), and the *
matches any file, directory, or symlink to either one.

Fixes FS#62278

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 10:14:32 +10:00
Rikard Falkeborn
f2a7fb2b96 Fix clang 8 string-plus-int warnings
Clang 8 warns that adding a string to an integer does not append to
string. Indeed it doesn't, but that was not the intentetion. Use array
indexing as suggested by the compiler to silence the warning. There
should be no functional change.

Example of warning message:

    alpm.c:71:54: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
            sprintf(hookdir, "%s%s", myhandle->root, SYSHOOKDIR + 1);
                                                     ~~~~~~~~~~~^~~
    alpm.c:71:54: note: use array indexing to silence this warning
            sprintf(hookdir, "%s%s", myhandle->root, SYSHOOKDIR + 1);
                                                                ^
                                                     &          [  ]
    1 warning generated.
2019-05-08 10:12:14 +10:00
Eli Schwartz
a8b3d1a62a makepkg: correctly handle hg sources with updates on a non-default branch
The "tip" ref actually signifies the most recently updated branch. hg
does not support a default branch named anything other than "default",
except by creating a "@" bookmark. The correct way to explicitly update
to the default clone ref, is therefore to use one of these, rather than
"tip".

Fixes FS#62092

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 10:10:57 +10:00
Eli Schwartz
915ac9ff9b libmakepkg: fix migration to schema.sh for integsums
One of the callers was changed to use known_hash_algos, one was not.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-05-08 10:05:23 +10:00
Eli Schwartz
d37e6d40a1 bash-completion: support file redirection completions
The current completions don't properly handle redirection operators, and
attempt to complete command completions rather than completing filenames
to redirect to.

bash-completion provides both _get_comp_words_by_ref and a higher-level
wrapper _init_completion, but the latter provides handling of redirection
operators, so switch to using that.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-25 11:15:26 +10:00
Allan McRae
7a598d0845 Use bug tracker to track bugs
The mailing list requires subscription.  So does the bug tracker,
but that is more obvious.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-20 09:58:16 +10:00
Eli Schwartz
9f5412d809 doc: generalize description of the bash nature of PKGBUILD functions
Currently this is scoped to the build() function, which is simply wrong
as it equally applies to any function. Simply moving the paragraphs up
to the main manpage section makes this clear.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 14:33:50 +10:00
Que Quotion
7b15918b65 Clarify that build_options only apply during build()
Signed-off-by: Que Quotion <quequotion@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 14:24:18 +10:00
Eli Schwartz
ee5f24e50c libmakepkg: fix reporting of invalid archive extensions in compress.sh
In commit 1825bd6716 this was split out
from makepkg, but the warning was not properly migrated; $ext did not
ever exist.

As a result, no matter what you did, the only possible warning was:

==> WARNING: '' is not a valid archive extension.

Fix to filter based on the presence of .tar in the argument, and
building the $ext variable for all checking and messaging purposes
within the function.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 14:12:44 +10:00
Eli Schwartz
35a0d5e744 makepkg: use "shared" git clones when checking out sources
In order to cache sources offline, makepkg creates *two* copies of every
git repo. This is a useful tradeoff for network time, but comes at the
cost of increased disk space.

Normally, git can smooth this over automagically. Whenever possible, git
objects are hardlinked to save space, but this does not work when
SRCDEST and BUILDDIR are on separate filesystems.

When the repo in question is both very large (linux.git for example is
2.2 GB) and crosses filesystem boundaries, this results in a lot of
extra disk space being used; the most likely scenario is where BUILDDIR
is a tmpfs for bonus ouch.

git(1) has a builtin feature which serves this case handily: the
--shared flag will create the info/alternates file instructing git to
not copy or hardlink or create objects/packs at all, but merely look for
them in an external location (that being the source of the clone).

The downside of using shared clones, is that if you modify and drop
commits from the original repo, or simply delete the whole repo
altogether, you break the copy. But we don't care about that here,
because

1) the BUILDDIR copy is meant to be a temporary copy strictly derived
   via PKGBUILD syntax from the SRCDEST, and must be able to be
   recreated at any time,
2) if the SRCDEST disappears, makepkg will redownload it, thus restoring
   the objects needed by the BUILDDIR clone,
3) if the user does non-default things like hacking on the BUILDDIR copy
   then deleting and re-cloning the SRCDEST may result in momentary
   breakage, but ultimately should be fine -- the unique objects they
   created will be stored in the BUILDDIR copy.

While it's theoretically possible that upstream will force-push to
overwrite the base tree from which makepkg is building (which they
should not do), *and* the user deleted their SRCDEST which they should
not do, *and* they saved work in makepkg's working directory which they
should not do either...
... this is an unlikely chain of events for which we should not care.

Using --shared is therefore helpful in immediately useful ways and IMHO
has no actual downsides; we should use it.

An alternative implementation would be to use worktrees. I've rejected
this since it is essentially the same as shared clones, except adding
additional restrictions on the branch namespace, and could potentially
break existing use cases such as manually handling the SRCDEST in order
to share repositories with normal working copies.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 14:09:00 +10:00
Eli Schwartz
0a72874734 build: check for gpgme with pkg-config before gpgme-config
gpgme in git master now supports pkg-config and with the next release we
can and should prefer its use. However, retain the legacy code that
enables building with older versions of gpgme, as a fallback.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 14:05:53 +10:00
Santiago Torres
226d2c1248 drop DU* config variables
Since DUFLAGS and DUPATH are not needed anymore remove them from the
source

Signed-off-by: Santiago Torres <santiago@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 12:07:15 +10:00
Eli Schwartz
bbfb75fd29 build: remove references to variable replacements from pacman-optimize
MODECMD and OWNERCMD are not used by pacman itself, so we don't need to
check for and replace them now that pacman-optimize is removed.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 12:04:51 +10:00
Santiago Torres
f26cb61cb6 Make makepkg compute sizes properly
Makepkg used to use du --apparent-size to compute the size of the
package. Unfortunately, this would result in different sizes depending
on the filesystem used (e.g., btrfs vs ext4), which would affect
reproducible builds. Use a wc-based approach to compute sizes

Signed-off-by: Santiago Torres <santiago@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 11:54:50 +10:00
Florian Wehner
c61cd050f9 Reformatting log timestamp to include time-zone
The time logged is currently given as localtime without any timezone
information. This is confusing in various scenarios.

Examples:
* If one is travelling across time-zones and the timestamps in the log
appear out of order.
* Comparing dates with `datediff` gives an offset by the time-zone

This patch would reformat the time-stamp to a full ISO-8601 version.
It includes the 'T' separating date and time including seconds.

Old: [2019-03-04 16:15]
New: [2019-03-04T16:15:45-05:00]

Signed-off-by: Florian Wehner <florian@whnr.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19 11:53:30 +10:00
Allan McRae
c0e9be7973 Remove support for deltas from libalpm
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
Allan McRae
e7bb0f8824 Make pacman forget deltas exist
Dummy callbacks are still present to prevent compiler warnings until
libalpm is delta free.

Also remove Delta parsing from pacman.conf.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
Allan McRae
40391c564a Remove cleanupdelta
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
Allan McRae
2883b869c7 Remove pkgdelta
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
Allan McRae
9adb0d5b37 Remove delta support from repo-add
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
Jelle van der Waa
377d47142f doc: add man page for pacman-conf
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
Jelle van der Waa
298bcf7986 doc: set rootdir correctly in man pages
If an alternative rootdir is specified in either meson or configure it's
not respected in the generated man pages.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
Eli Schwartz
e03752e6ad makepkg: add new checksum algorithm via coreutils b2sum
coreutils 8.26 in December 2016 added this new hashing method which is
compatible with the existing md5sum and sha*sum tool usage, while using
the blake2 hash algorithm.

makepkg uses coreutils to provide source file integrity checks via
${integ}sum binaries and it makes sense to offer this as an additional
option.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
morganamilo
0113214db9 pacman: fix segfault when Usage is specified without a value
And extract all the common code to a macro.

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-07 11:12:12 +10:00
Andrew Gregory
d197d8ab82 Sanitize file name received from Content-Disposition header
When installing a remote package with "pacman -U <url>", pacman renames
the downloaded package file to match the name given in the
Content-Disposition header. However, pacman does not sanitize this name,
which may contain slashes, before calling rename(). A malicious server (or
a network MitM if downloading over HTTP) can send a content-disposition
header to make pacman place the file anywhere in the filesystem,
potentially leading to arbitrary root code execution. Notably, this
bypasses pacman's package signature checking.

For example, a malicious package-hosting server (or a network
man-in-the-middle, if downloading over HTTP) could serve the following
header:

Content-Disposition: filename=../../../../../../usr/share/libalpm/hooks/evil.hook

and pacman would move the downloaded file to
/usr/share/libalpm/hooks/evil.hook. This invocation of "pacman -U" would
later fail, unable to find the downloaded package in the cache directory,
but the hook file would remain in place. The commands in the malicious
hook would then be run (as root) the next time any package is installed.

Discovered-by: Adam Suhl <asuhl@mit.edu>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-01 11:23:20 +10:00
Sever Oraz
adb961a88e Use standard, consistent units in the download progress.
Rather than use M/s which can be either MB or MiB, specify that it uses
MiB (consistent with the displayed total size).

Fixes FS#59201

Signed-off-by: Sever Oraz <severoraz@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-21 14:55:49 +10:00
Eli Schwartz
ba7a41031c meson: fix static/shared split again
shared_library does not generate a sane pkg-config file because it
assumes we don't want dependencies.

Additionally, since we key off of buildstatic, when *not* using
buildstatic but attempting to build libalpm on its own as static using
-Ddefault_library=static, we are building and linking to a shared
libalpm anyway.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-21 14:34:02 +10:00
Eli Schwartz
3c774252ef libmakepkg: migrate to schema.sh for integsums
We cannot use most of the arrays defined in schema.sh as srcinfo is dependent
on the order, but migrate the hashes for now.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-21 14:26:59 +10:00
Eli Schwartz
656e851f0a makepkg: simplify run_pacman logic
We don't need to check the options twice, since it is the same check
both times. Instead, merge the conditionals.

As far as I can tell, the only reason the checks for:

- PACMAN_OPTS and
- whether to use sudo

were ever separated is due to the historic existence of --asroot, since
the second check included a check for (( ! ASROOT )) until it was
cleaned up in commit 61ba5c961e.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-21 14:18:25 +10:00
Eli Schwartz
4b83bcfcee makepkg: implement locking for pacman commands
When pacman is run as root to do -S, -U, or -R, it would immediately
abort if pacman is not ready for use. Instead, poll the lockfile and
wait until it becomes available.

Implements FS#28840

Original-patch-by: Georges Dubus <georges.dubus@compiletoi.net>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-21 14:16:16 +10:00
Eli Schwartz
477a66cd0e build: link vercmp with a static copy of libalpm
This has historically been the case in autotools since we want vercmp to
not break mid-transaction in an install script.

For convenience, we create libalpm.a and use this to optionally generate
libalpm.so (when not configured with -Dbuildstatic=true) as well as to
link any binary which explicitly wishes to be built statically "with
libalpm", but does not care where a function is defined. meson then
treats this correctly: it builds the object file only once for both
libraries, and the compiler strips out unused functionality from the
final static binary.

Currently the only binary which requires this is vercmp.

Fixes FS#61719

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-12 21:58:19 +10:00
Allan McRae
86004227d1 Add implicit fall through warning
Requires modification to our comment about fall through to match compilers
expectations.  Works for GCC and Clang.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-12 11:29:13 +10:00
Mark Ulrich
db102c67ef libalpm: prevent 301 redirect loop from hanging the process
If a mirror responds with a 301 redirect to itself, it will create an
infinite redirect loop. This will cause pacman to hang, unresponsive to
even a SIGINT. The result is pacman being unable to sync or
download any package from a particular repo if its current mirror
is stuck in a redirect loop. Setting libcurl's MAXREDIRS option
effectively prevents a redirect loop from hanging the process.

Signed-off-by: Mark Ulrich <mark.ulrich.86@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-07 09:51:01 +10:00
Allan McRae
714a1b4e4e I blame everyone but me for this
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-07 09:50:49 +10:00
morganamilo
04e77591d6 fix various typos
Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-02-04 10:17:30 +10:00
morganamilo
11bc315cdb libmakepkg: lint disallowed architecture specific variables
Variables such as 'pkgdesc_x86_64' are invalid, instead of ignoring them
raise an error.

This also disallows using 'any' as an architecture specific variable

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-31 15:03:28 +10:00
morganamilo
14755df06f libmakepkg: lint disallowed variables in package()
makepkg will now error if disallowed variables are set inside of
the package function.

Disallowed variables are variables that do exist, like 'makedepends'
and 'pkgver' but can not be set inside of a package function.

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-31 15:03:25 +10:00
morganamilo
75aae126c4 libmakepkg: centralise random arrays of pkgbuild variables
Refactor many of the different arrays of pkgbuild variables
into scripts/libmakepkg/util/schema.sh.in.

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-31 10:02:37 +10:00
Allan McRae
6cf0548128 makepkg: use --unneeded for pacman call in remove_deps()
This patch was inspired by FS#32723 which asks makepkg to install makedepends
before depends.  The use case is to build a package depending on a virtual
package that is only provided by other packages (e.g. java-runtime in Arch
Linux), but wanting to build against a specific version.  Installing makedepends
first (but not at the same time as depends) would allow specifying the version
to build against, instead of pacman resolving to the default version when
installing depends.

It turns out, we can already achieve installing makedepends first by specifying
dependencies only in the package function (and making sure makedepends includes
everything needed). The only issue is that if we use makepkg to install the
built package with the --install flag and along with the --rmdeps flag, we will
try to remove any installed dependencies that are specified in the depends
array in the package function.  To counter this, we need to use the --unneeded
flag for the pacman call.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-30 13:39:35 +10:00
Chloe Kudryavtsev
776fbe1cde libmakepkg: Add lzip ext support
lzip is a lossless data compressor designed to replace gzip and bzip2 as
the standard general-purpose compressed format.
- add .lz (lzip) support to libmakepkg/util/compress.sh:compress_as
- add COMPRESSLZ to makepkg.conf.in
- document COMPRESSLZ
- document PKGEXT with `.tar.lz`

Signed-off-by: Chloe Kudryavtsev <toast@toastin.space>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-30 10:06:55 +10:00
morganamilo
5bd54fa0c6 libmakepkg: move checkdepends to the correct array
Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-22 11:06:11 +10:00
Eli Schwartz
1e040153bc libmakepkg: Implement extendable signature verification
Lookup the existence of matching functions for each protocol, and
fallback on the generic file handler. New verification protocols can
then be added via thirdparty libmakepkg drop-ins without requiring
modifications to verify_signature.sh

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-22 09:42:38 +10:00
Eli Schwartz
9c817b6549 libmakepkg: implement extendable source protocols
Lookup the existence of matching functions for each protocol, and
fallback on the generic file handler. New source protocols can then be
added via thirdparty libmakepkg drop-ins without requiring modifications
to source.sh

Fixes FS#49076

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-22 09:38:31 +10:00
Eli Schwartz
ac0e21a6df libmakepkg: optimize get_protocol to always return proto, not proto+uri
e.g. git+https:// is commonly used for git repositories cloned over
HTTPS, but we assume a proto with a plus in it is actually a protocol
followed by some URI handler. So we might as well simplify the return
value and not have to always add glob matching everywhere when checking
the proto in use.

This is required in order to use the proto directly in function calls,
which will be used in a followup patch.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-22 09:38:21 +10:00
Eli Schwartz
1b9e358f1d libmakepkg: make gettext replacements more templated
Making the undescore be translated is probably not something we need
translators to think about.

Additionally, a number of places which use the same text differ only by
the variable being referenced, so simplifying the string means we can
drop a redundant translation.

Bonus: we save a few bytes here and there. \o/
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-22 07:32:41 +10:00
morganamilo
4d1d857ef0 libalpm: fix minor typo in _alpm_db_usage_
Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-21 13:47:23 +10:00
Allan McRae
ff8c96fa7d Fix typo in pacman man page
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-21 13:20:47 +10:00
morganamilo
c15f7ae606 libmakepkg: disallow using 'any' with other arches
Error if the arch array contains any and any other values. This also
fixes a bug where the check for `$arch == 'any'` which only evaluated
the first value in the array, meaning the rest of the values would not
be linted.

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-16 11:23:17 +10:00
Eli Schwartz
a5090217f9 meson: fix website target
A number of pages don't actually exist as html inside the source tree,
and need to be generated even though they are manpages.

This caused the website.tar.gz target to only work inside a dirty tree
initially created by autotools.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-16 11:22:48 +10:00
Eli Schwartz
10bcf66db8 update a bunch of links for https and to adapt to changing domains
projects.archlinux.org and mailman.archlinux.org are both migrated to
new domains.

Transifex supports https, so encourage its use by default.

Take advantage of the opportunity when updating these links, to also
delist some projects that are dead.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-14 13:35:47 +10:00
Eli Schwartz
02598521b1 doc: add a couple missing manpages from the html index
The index embeds the names of all doc subpages, and these were never
updated.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-14 13:19:05 +10:00
Eli Schwartz
a769fbfd40 doc: keep manpages and html pages in sync
We forgot to add BUILDINFO to the list of html docs. Instead of always
updating things in two places, just derive the one from the other.

meson did not have this problem as it already derives both lists from
one template.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-14 13:15:11 +10:00
Eli Schwartz
b76dbb1159 meson: fix regression that broke building libmakepkg
In commit f7efa6a93d we added a new file,
and also wired it up to the build systems, but it got added under the
wrong name in meson.build

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-14 13:12:33 +10:00
Eli Schwartz
ce040514c4 makepkg: return E_PKGBUILD_ERROR for nonexistent PKGBUILD
This is not really an error with a "user function".

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 17:07:23 +10:00
Eli Schwartz
5d2f7ee6c3 libmakepkg: simplify splitting command output into array
Use mapfile instead of hacking around read -a with the $IFS.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 17:03:04 +10:00
Eli Schwartz
031611ff40 libmakepkg: add routine for linting $SOURCE_DATE_EPOCH
This can only ever be an int, and the specification states that a
malformed timestamp should be considered a fatal error.

https://reproducible-builds.org/specs/source-date-epoch/

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 17:01:30 +10:00
Eli Schwartz
10fe71e5f3 makepkg: fix unguarded use of printf
paths can contain printf-unsafe chars, and printf -v is not somehow immune to this

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 17:00:05 +10:00
Luke Shumaker
aa284c97f1 makepkg: check_pkgrel: Don't say "decimal" in the error message
If you have a malformed pkgrel, the error message says that it must be a
"decimal".  That isn't quite true, as that would mean that `1.1 == 1.10`.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 17:00:05 +10:00
Luke Shumaker
f7efa6a93d makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts
Given the depends

    depends=('foo>=1.2-1.par2')

and the error message

    ==> ERROR: pkgver in depends is not allowed to contain colons, forward slashes, hyphens or whitespace.

One would be lead to believe that the problem is that they gave a pkgrel in
depends at all, not that the pkgrel contains letters.

Each of the (check,make,opt)depends, conflicts, and provides linters use a
glob to trim off properly formed epoch an rel from the full version string,
and pass the remainder to check_pkgver().  This does a good job of
accepting/rejecting full versions, but doesn't do a good job of generating
good error messages when rejecting if it's because of the epoch or rel.

1. Factor out check_epoch() and check_pkgrel() from lint_epoch() and
   lint_pkgrel(), similarly to check_pkgver().
2. Add a check_fullpkgver() that takes a full [epoch:]ver[-rel] string and
   splits it in to epoch/ver/rel, and calls the appropriate check_ function
   on each.
3. Use check_fullpkgver() in the {,check,make,opt}depends, conflicts, and
   provides linters.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 17:00:03 +10:00
Eli Schwartz
30e3e21e87 libmakepkg/lint_pkgbuild: check for invalid variables even if they're empty
Checking the length of the variable to be non-zero before considering it
an error is inconsistent; license=() and depends='' and `declare arch`
should be considered just as wrong.

In fact the current check detects depends='' as non-zero and returns an
error, but happily considers the others to be perfectly okay.

A more reliable check is to simply see if the name has been declared
(whether it is set or not), and then enforce that it's been declared to
the right type.

As an added benefit, avoiding the creation of proxy-evaled variables to
count the number of indexes results in simpler code.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 15:21:13 +10:00
Allan McRae
03d85763e0 Add [ignored] to -Qu output for packages in repos that are not Usage = Upgrade
List all available updates in -Qu output, but include [ignored] beside
those that will not be updated in a -Su operation due to thier repo Usage
value (in addition to those that are Ignored).

Fixes FS#59854.

The following people provided initial patches to print [ignored] on -Qu
operations, which highlighted a larger problem to be fixed first:

With-thanks-to: morganamilo <morganamilo@gmail.com>
With-thanks-to: Michael Straube <michael.straube@posteo.de>

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 14:14:04 +10:00
Allan McRae
e9d91a688d libalpm/sync.c: change alpm_sync_newversion() to alpm_sync_get_new_version()
The behaviour of "pacman -Qu" was very strange...  It would only consider
packages from repos with Usage = Search (or All), and ignore those with
Usage = Sync, Install or Upgrade.

This is because the function alpm_sync_newversion() used ALPM_DB_USAGE_SEARCH
for its filtering. Given this function is documented (at least in the source)
to "Check for new version of pkg in sync repos", I would expect that to look at
all repos. However, just changing this parameter, would result in a fairly
silent change in behaviour of this function. Instead, rename the function
and remove this filtering altogether.  Users of this function can filter
the dbs passed to this function to achieve their desired output.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 14:14:04 +10:00
Allan McRae
9b2a90cfb1 Add -fstack-clash-protection to CFLAGS in debug builds if available
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 14:14:04 +10:00
Allan McRae
9b637cc27a be_local.c: remove aligment in local_pkg_ops
The alignment was not overly helpful and caused unnecessary churn when a new
value with longer name was added.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 14:10:55 +10:00
morganamilo
f9eb2aacb4 libalpm: parse {check, make}depends when reading database
Commit 0994893b0e added the
alpm_pkg_get_{make,check}depends functions but forgot to include
logic for parsing these fields from the database. As a result these
functions will always return an empty list.

This commit adds the parsing logic.

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 14:04:59 +10:00
Eli Schwartz
238fa4af45 makepkg: fix broken check for the fakeroot binary
In commit d8ee8d0c99 we made use of
fakeroot absolutely mandatory, and disabled a lot of the code which
checked to see if this now-defunct BUILDENV option was set, before
setting up the environment to use fakeroot. Unfortunately, we missed one
spot.

The check_software routine still checked to see if fakeroot was
enabled, but due to the option being removed, thought that it was in
fact disabled, and as a result this check would never run.

Fix by checking to see if we are trying to build either a package or a
source package, and if so, checking for fakeroot. These are the only two
situations where fakeroot is needed.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 13:25:12 +10:00
Eli Schwartz
268b0255fa makepkg: add internal variable to track when we're building a package
There are state variables for everything else, and we use them to do
conditional checks on things, but it's currently a bit difficult to test
whether a package is being built, as it's the default action if *no*
options are specified.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 13:25:12 +10:00
Jan Alexander Steffens (heftig)
c5c7fc7f4a makepkg: Make pkgdir a local
Causes it to be reset (to $pkgdirbase/$pkgbase) between subpackages.
This shouldn't be visible.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 15:43:41 +10:00
Jan Alexander Steffens (heftig)
2f15921230 makepkg: Create a single-package packaging function
Merge the similar code handling unsplit PKGBUILDs and individual
packages in a split PKGBUILD and make it a new function.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 15:43:41 +10:00
Jan Alexander Steffens (heftig)
7c5958e0eb makepkg: Only backup package variables once
We don't need to re-backup the variables we restored on the previous
iteration.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 15:43:41 +10:00
Michael Straube
e1fc2f901e libalpm/add.c: move assignment into conditional in alpm_add_pkg
While at it and for consistency move the assignment of the variable
'local' into the subsequent conditional.

Signed-off-by: Michael Straube <michael.straube@posteo.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 11:32:49 +10:00
Michael Straube
3a5a0d53bc Move skipping of duplicate sync/remove targets into libalpm
sync:
As pointed out by Andrew Gregory there could be an error when adding
duplicates if they are two separate packages with the same name. Add a
check in alpm_add_pkg() to test whether the duplicate is actually the
same package, and if so, log a debug message and return success to skip
the package. If the duplicate is a different package return
ALPM_ERR_TRANS_DUP_TARGET and treat that error just like any other error
in pacman.

remove:
Change alpm_remove_pkg() to just log a debug message and return success
to skip duplicates. Remove the handling of ALPM_ERR_TRANS_DUP_TARGET in
pacman.

Also fixes FS#49377.

Suggested-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Michael Straube <michael.straube@posteo.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 11:31:55 +10:00
Eli Schwartz
984492b92f repo-add: don't break if delta package sources contain epoch
Our sed parser for xdelta3 headers will greedily match on ":" which
coincidentally is also the character we use to define a version with an
epoch.

While we are at it, simply use sed for the whole pipeline, rather than
using both grep and sed.

Fixes FS#61195

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 11:15:16 +10:00
Eli Schwartz
4778f13188 repo-remove: fix removing packages with deltas
We have code in order to remove deltas when removing a package, but it
is never run, since we try to remove the wrong file.

This was broken in commit cb0f2bd038 which
modified the internal layout we use to modify the db, changing "tree" to
"db", but did not update all locations where it was used.

This worked swimmingly well as long as only repo-add updates were
handling the backup and restore of the delta file, as the delta file
therefore got backed up to the correct location (db) in the shared
db_remove_entry() function.

But later on in the repo-remove logic, we tried removing a different
file that will never exist (tree).

Fixes FS#53041

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 11:14:52 +10:00
Andrew Gregory
2d403709d9 allow tests for disabled features to be skipped
Previously, pacman's test suite would fail when compiled without
signature support.

Adds a require_capability method to pmtest objects.  Currently
recognized values are 'gpg', 'curl', and 'nls'; although only gpg is
used presently.  Missing features are indicated by running pactest with
one of the --without-<feature> options.

This modifies pmenv to run each case as independent tests.  Previously,
a single pmenv could run multiple tests, combining there output into
a single TAP stream but making it impossible to properly skip an entire
test case.  This change does not affect running pactest.py with a single
test (as both autotools and meson do), but will affect anybody manually
running pactest.py with multiple tests at once.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 11:10:47 +10:00
Andrew Gregory
ecac357c1a tap.py: add skip_all function
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 11:10:37 +10:00
Andrew Gregory
d150b97190 remove unused test summary code
Unused since 12e00af531

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 11:09:48 +10:00
Andrew Gregory
33a8ced334 silence warning when built without curl
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-04 11:08:54 +10:00
Andrew Gregory
6b541404cc update NEWS for v5.1.2
Signed-off-by: Andrew Gregory <andrew@archlinux.org>
(cherry picked from commit f8c73464c9)
2018-12-25 01:58:33 -08:00
Andrew Gregory
281cdb2e1c update NEWS for v5.0.2
Signed-off-by: Andrew Gregory <andrew@archlinux.org>
(cherry picked from commit fdf53393bc)
2018-12-25 01:57:01 -08:00
Eli Schwartz
b109d7096b meson: add trailing slashes to directory components in configuration defines
This matches what we currently do in the autotools build configuration,
and ensures that the default pacman-conf definitions for unspecified
values consistently end with the trailing directory slashes.

This has ramifications for thirdparty tools that up to now, have relied
on this slash being there. Those tools should be fixed to prevent
breaking when custom locations are set, but this is no reason not to fix
it on our end as well. An extra trailng slash should never cause harm.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-12-12 10:13:26 +10:00
Eli Schwartz
77b8ca7032 meson: install the directories needed for successful pacman operation
This was neglected in the initial meson port. We need these directories
to exist in order to bootstrap a new installation.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-12-12 10:13:08 +10:00
Eli Schwartz
d73fed4e13 meson: remove useless mkdir -p
directories are created by install_dir within the subdir custom_target
installation targets.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-12-12 10:12:41 +10:00
Dave Reisner
b67ec90520 Enable additional debug flags/logging with debugoptimized builds
This lets developers run a local build with optimizations but also the
added debug logging that comes with PACMAN_DEBUG being defined.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-12-10 11:20:02 +10:00
Michael Straube
36a5069a59 scripts/library: fix typo in README
Simply fix a typo: in written -> is written

Signed-off-by: Michael Straube <michael.straube@posteo.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-12-10 11:12:27 +10:00
Andrew Gregory
f28ddd9d93 check localdb before upgrading package
Commit 2ee7a8d89a replaced a manual check
for a local package with a check for the "oldpkg" member, which gets set
at the beginning of the transaction.  If the package was also in the
remove list, such as when a package gets replaced, it would no longer be
in the local db and pacman would try to remove it twice, resulting in
superfluous error messages.

Fixes: FS#50875, FS#55534

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-12-10 11:12:06 +10:00
Eli Schwartz
9f1b735d76 libmakepkg/executable: don't rely on scoped value of $ret to flag outcomes
Elsewhere, we return 1 if a library dropin fails, and when running
functions in a loop, we use `|| ret=1` to preserve scope. This ensures
the return value of the function remains useful in isolation. Do the
same thing here as well.

Drop trivial function which wraps a dropin that also uses $ret, since
it's no longer needed.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-12-04 17:22:27 +10:00
Eli Schwartz
65e09705d3 Make make distcheck work when bash-completion is installed.
bash-completion uses pkg-config to determine the best installation
directory, but this does not take --prefix into account (although it
works fine with DESTDIR). The fallback value does attempt to set this
based on --prefix.

The distcheck uses --prefix, though, which means when attempting to
install the results and bash-completion support for pkg-config was
detected, it errors out on trying to write to, usually, /usr/share.

Tell distcheck to use the prefix-based fallback location instead, as the
PKG_CHECK_* override.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-12-04 17:20:57 +10:00
Allan McRae
f615f7bd5a configure.ac: use $datarootdir instead of $prefix/share
Even worse, makepkg-template ignored $prefix completely.
2018-12-03 15:18:27 +10:00
Eli Schwartz
5fc3056e6a scripts: make repo-add utilize a wrapper as well
Now that repo-add uses libmakepkg, it needs to have $LIBRARY set before
testing it in-tree.

[Allan: fix "make distcheck"]
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28 11:06:12 +10:00
Eli Schwartz
e1b9dc6bea autotools: be more accurate in comments when generating processed scripts
Instead of assuming all scripts are .sh.in and leaving a comment to that
effect, just take the input file directly.

This depends on the first dependency for the target being the source of
the script.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28 11:02:19 +10:00
Eli Schwartz
71f837e45e scripts: fix some inaccurate Makefile targets, and be more templated
All of our scripts depend on the same pattern .sh.in, and since commit
b5d62d2c91, they also all (not just
makepkg itself) depend on libmakepkg.

There's no real reason to include separate targets for them just to
establish dependency rules.

While we are at it, fix a longstanding bug where generated wrapper
scripts did not depend on wrapper.sh.in (which due to moving to .lib,
requires we regenerate the script too), by making the shared target
pattern depend on it. All our generated scripts now require the wrapper,
even repo-add which now uses libmakepkg.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28 11:02:19 +10:00
Eli Schwartz
83a16d3041 scripts: fix repo-remove/elephant Makefile targets
repo-remove and repo-elephant don't care whether repo-add.sh.in is
updated... but they do require the repo-add target to be up to date, so
use that instead. As a bonus, use the same rule for both of them.
2018-11-28 10:50:02 +10:00
Eli Schwartz
363664e47d meson: be more accurate in comments when generating processed scripts
Instead of assuming all scripts are .sh.in and leaving a comment to that
effect, just take the input file directly.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28 10:48:57 +10:00
Eli Schwartz
fbc6d8b428 build-aux: rm annoying and useless file
tap-driver.sh is added to the build tree by autoreconf, and contains
upstream modifications as such. This results in dirty working trees.

It was originally added in commit 403c175dbc
which made the testsuite use automake, but as far as I can tell, never
served any purpose.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28 10:48:41 +10:00
Andrew Gregory
6e819c819a add missing tests to meson.build
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28 10:24:28 +10:00
Andrew Gregory
b95ba13df1 common/ini: remove unnecessary alpm include
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28 10:24:00 +10:00
Andrew Gregory
44cfc09511 require actual siglevel for default
ALPM_SIG_USE_DEFAULT does not refer to an actual siglevel, rather it
indicates that the global default should be used in place of the
operation-specific one.  Setting this value for the global default
itself makes no sense.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-27 22:48:43 +10:00
Andrew Gregory
61fe738043 always allow explicit empty siglevel for sync dbs
An empty siglevel does not do any signature verification which is
exactly what we want when compiled without gpg support.  This is already
allowed in other parts of the codebase and required for the test suite
to pass when compiled without gpg support.

Fixes: FS#60880

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-27 22:48:43 +10:00
Andrew Gregory
3726693612 add specific error for missing gpg support
"wrong or NULL argument passed" is a useless error for end users.

Fixes FS#60880.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-27 22:48:43 +10:00
Que Quotion
508b4e3ec0 Split prepare_buildenv() to libmakepkg
This opens the door for third parties to provide libmakepkg
extentions for the purpose of altering the build environment.

Signed-off-by: Que Quotion <quequotion@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-27 22:48:43 +10:00
Que Quotion
0bb04fa16a Split check_software() to libmakepkg
This opens the door for third parties who provide extensions to
libmakepkg to supply scripts that confirm the presence of their
dependant executables.

Signed-off-by: Que Quotion <quequotion@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-27 22:48:43 +10:00
Dave Reisner
d81b5cc2a5 scripts/meson: ensure wrapper scripts are executable 2018-11-27 22:48:43 +10:00
Eli Schwartz
1aaf95089a makepkg: if "!buildflags" and "debug" coincide, unset the debug buildflags too
If a user has a makepkg.conf policy to enable debug builds, but a
PKGBUILD has disabled buildflags, we would unset the *FLAGS but then
later append the debug *FLAGS anyway, which would result in some *FLAGS
being used, against the wishes of the PKGBUILD author.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-27 22:48:43 +10:00
Dave Reisner
926eb345c2 buildsys: remove size_to_human
This was only ever used by paccache, and paccache has since been moved
to pacman-contrib.
2018-11-27 22:48:43 +10:00
Dave Reisner
c41222837d meson: separate out wrapped from non-wrapped scripts
makepkg-template is a perl script and doesn't get wrapped by our shell
wrapper. It (wrongly) reads from the host machine rather than the build
root, but this is working as implemented.
2018-11-27 22:48:43 +10:00
Allan McRae
0dd1492442 Remove Doxyfile from EXTRA_DIST
We generate this now, so no need to distribute. Fixes "make dist".

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-27 22:48:43 +10:00
Eli Schwartz
de915c4f14 repo-add: print the name of the database when extracting
Currently this prints the following message:
==> Extracting database to a temporary location...
==> Extracting database to a temporary location...

This redundancy is potentially confusing and may cause people to think
something is wrong. Historically, this message came from a time when we
only extracted one database, but repo-add was changed to always create
the files database in commit cb0f2bd038
and whole code block with message intact was moved into a for loop and
run (and printed) twice.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-03 21:57:03 +10:00
Eli Schwartz
3dfec574a3 makepkg: fix .PKGINFO/.BUILDINFO files swallowing status printing
The respective write_* functions are low-level and shouldn't be
outputting statuses; move these to the logic flow where they are used.
This ensures the functions can be used in the future wherever, and also
solves an issue where, as fallout from the message.sh retrofitting in
commit 882e707e40, the statuses got
redirected to the actual files.

The resulting package was technically correct, except that it contained
useless lines which pacman ignored, and repo-add also ignored but at the
same time generated an error message:

/usr/bin/repo-add: line 335: declare: `=-> Generating .PKGINFO file...': not a valid identifier

Thirdparty package tools with stricter parsers may abort with errors,
and "repose" is known to do so.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-03 21:56:40 +10:00
Eli Schwartz
635a9c911c pacman-key: just accept one file to verify, and enforce detached sigs
Simply pass options on to gpg the same way gpg uses them -- no looping
through and checking lots of signatures.

This prevents a situation where the signature file to be verified is
manipulated to contain an embedded signature which is valid, but not a
detached signature for the file you are actually trying to verify.

gpg does not offer an option to verify many files at once by naming each
signature/file pair, and there's no reason for us to do so either, since
it would be quite tiresome to do so.

In the event that there is no signature/file pair specified to
pacman-key itself,

- preserve gpg's behavior, *if* the matching file does not exist, by
 - assuming the signature is an embedded signature
- deviate from gpg's behavior, by
 - offering a security warning about which one is happening
 - when there is an embedded signature *and* a matching detached file,
   assume the latter is desired

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-03 21:56:09 +10:00
Dave Reisner
d230ec6f17 meson: add a wrapper to bootstrap scripts from within build dir
This doesn't do quite as good of a job of "hiding away" the real script
as we did with autotools, but it satisfies the need for being able to
run scripts which depend on libmakepkg with the local copy within the
repo. We do, however, improve upon the autotools script by ensuring that
the bash path used in configuring pacman is the interpreter used to run
the underlying script.
2018-11-02 03:16:34 -04:00
Dave Reisner
51db84750e Add meson.build files to build with meson
Provide both build systems in parallel for now, to ensure that we work
out all the differences between the two. Some time from now, we'll give
up on autotools.

Meson tends to be faster and probably easier to read/maintain. On my
machine, the full meson configure+build+install takes a little under
half as long as a similar autotools-based invocation.

Building with meson is a two step process. First, configure the build:

  meson build

Then, compile the project:

  ninja -C build

There's some mild differences in functionality between meson and
autotools.  specifically:

1) No singular update-po target. meson only generates individual
update-po targets for each textdomain (of which we have 3).  To make
this easier, there's a build-aux/update-po script which finds all
update-po targets and runs them.

2) No 'make dist' equivalent. Just run 'git archive' to generate a
suitable tarball for distribution.
2018-11-02 03:16:34 -04:00
Dave Reisner
dab45f0808 Dynamically generate Doxyfile from input
This isn't super interesting for the autotools side, but it's necessary
in order to make things sane for other build systems which we might
introduce in the future.
2018-10-23 12:13:18 -04:00
Eli Schwartz
b5d62d2c91 Port scripts to use libmakepkg's messaging code.
Remove all remnants of library/{output_format,term_colors}.sh

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 20:22:19 +10:00
Eli Schwartz
3561c872ca message.sh: add modifications from output_format.sh
In the spirit of making libmakepkg more useful as a library, and,
critically, *using* that library for additional pacman scripts, we
should include all of output_format.sh and term_colors.sh directly in
libmakepkg and hopefully stop having to embed additional copies in e.g.
repo-add via m4 macros.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 20:20:45 +10:00
Eli Schwartz
882e707e40 makepkg: send messages to stdout rather than stderr
This behavior is confusing, since it means absolutely everything goes to
stderr and makepkg itself is a quiet program that produces no expected
output???

The only situation where messages should go to stderr rather than
stdout, is with --geninteg which is meant to return the checksums on
stdout (but we don't want to totally get rid of status messages when
redirecting the results elsewhere, or, worse, redirect status messages
to a PKGBUILD). For this specific case, redirect message output to
stderr in the --geninteg callers directly.

Implements FS#17173

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 20:20:17 +10:00
Eli Schwartz
b5191ea140 makepkg: use builtin globbing to print files in package
- it comes with free collation when moving the LC_ALL declaration up a bit;
  this fixes a bug where the .FILES were not being properly sorted and
  their order depended on directory creation order, which broke
  reproducible builds in the wild.
- it handles sorting null-delimited output everywhere, without sort -z;
  this lets us get rid of sed hacks
- it is faster than invoking multiple find subprocesses
- dotfiles can be automatically printed *and the C locale sorts them first*
  with a single ** glob

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 20:09:04 +10:00
Eli Schwartz
e12d032174 makepkg: use bash 4.4 to localize set without explicitly saving/restoring
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 20:03:41 +10:00
Eli Schwartz
ea877c596b bash-completion: disable completions for pacman --search operations
We don't need exact package name completions for something that expects a
regular expression *search*, which is what we currently do. If you want
a package name completion for a search, you don't need the search.

This change is consistent with the current state of zsh completions.

Fixes FS#59965

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 19:33:57 +10:00
Eli Schwartz
c887d2cf00 bash-completion: don't complete filenames when they're not wanted
Filename completion should only be generated for makepkg, when using the
options -p or --config... which means we should offer option completions
by default.

Filename completion for pacman, should not be generated when using -Qu,
or -F without -o.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 19:33:07 +10:00
Andrew Gregory
ac959bb9c6 handle EINTR while polling scripts/hooks
If poll() is interrupted by a signal, alpm was closing the socket it
uses for listening to script/hook output.  This would drop script output
at the least and kill the script at the worst.

Fixes FS#60396

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 19:19:48 +10:00
Andrew Gregory
9886566abb reset signal handlers before running scripts/hooks
Front-ends or libraries may set signals to be ignored, which gets
inherited across fork and exec.  This can cause scripts to malfunction
if they expect the signal.  To make matters worse, scripts written in
bash can't reset signals that were ignored when bash was started.

Fixes FS#56756

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 19:18:29 +10:00
morganamilo
2c91d08e62 libmakepkg: fix linting arrays of empty strings
[[ ${array[@]} ]] will resolve to false if array only contains empty
strings. This means that values such as "depends=('')" can be inserted
into a pkgbuild and bypass the linting.

This causes makepkg to successfully build the package while pacman
refuses to install it because of the unmet dependency on ''.

Instead check the length of the array.

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-10-21 19:08:03 +10:00
Dave Reisner
79a528735e Drop vestiges of SIZECMD
SIZECMD was replaced in 1af766987f with a POSIX solution, and this token
is no longer used/needed.
2018-10-20 13:22:05 -07:00
morganamilo
02255fd97e libalpm: process needed before group selection
When --needed is used, up to date packages are now filtered out
before showing the group select.

Fixes FS#22870.

Signed-off-by: morganamilo <morganamilo@gmail.com>
2018-10-20 12:08:27 -07:00
morganamilo
8c9046e604 pacman: don't error when a group exists but all packages are ignored
Currently when attempting to sync a group where all packages are
ignored, either by ignorepkg, ignoregroup or --needed, pacman
will error with "target not found".

Instead, if a group has no packages check if the group exists
before throwing an error.

Signed-off-by: morganamilo <morganamilo@gmail.com>
2018-10-20 12:07:48 -07:00
Dave Reisner
afb9c0140f Port pactest to python3
Use BytesIO instead of StringIO, and ensure that we unicode-encode data
where needed.
2018-10-18 18:05:19 -07:00
Olivier Brunel
ffde85aadf alpm: Fix SIGINT handling re: aborting download
Upon receiving SIGINT a flag is set to abort the (curl) download.
However, since it was never reset/initialized, if a front-end doesn't
actually exit on SIGINT, and later tries any operation that needs to
perform a new download, said download would always get aborted right
away due to the flag not having been reset.
2018-10-17 17:28:32 -07:00
Olivier Brunel
d96d0ffe7c alpm: Do not raise SIGINT when filesize goes over limit
Variable dload_interrupted is used both to abort a download because
SIGINT was caught, and when a file limit is reached. But raising SIGINT
is only meant to happen in the first case.

Signed-off-by: Olivier Brunel <jjk@jjacky.com>
2018-10-17 17:28:32 -07:00
Eli Schwartz
7afe51171f repo-add: add support for the zst format
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 18:15:50 +10:00
Eli Schwartz
bae74c8e9e makepkg: add support for the zst format
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 18:15:29 +10:00
Luke Shumaker
cd7b2d6e07 makepkg: lint_pkgver: Run even if PKGVERFUNC
lint_pkgver returns 0 if PKGVERFUNC, since it's likely that update_pkgver()
will change the value of pkgver anyway, and there's no point in linting the
old value.  update_pkgver() will call check_pkgver() itself to validate the
new value.

However, that "optimization" only holds if we're definitely going to call
update_pkgver() later; and that's way more complicated than

    if (( PKGVERFUNC )); then

it's more like:

    if (( !GENINTEG && !PACKAGELIST && !PRINTSRCINFO && !SOURCEONLY && !REPKG && PKGVERFUNC )); then

Which is to say: If I have a PKGBUILD with pkgver():

 * if I run `makepkg -g` I expect it to lint pkgver, but it won't
 * if I run `makepkg -R` I expect it to lint pkgver, but it won't
 * ...

So let's fix that.

Rather than try to keep a huge list of conditions in sync with the flow of
makepkg.sh.in, let's just drop it.  As far as I can tell, the only thing
that skipping lint_pkgver() really enables is letting the PKGBUILD author
write `pkgver=` in the initial version, and letting pkgver() fill it in.
They can just start writing `pkgver=0` for that workflow.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 18:01:23 +10:00
David Phillips
192d6166e9 User-visible log when validity check fails due to access
Currently, if checking the validity of packages fails due to an access
error on one or more packages, the user must sift through debug output
in order to find the culprit package(s). This patch adds a call to
_alpm_log in such a case to make the culprits more easily visible.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 17:04:45 +10:00
David Phillips
b54b33d816 Change if-else chain to switch
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 17:04:38 +10:00
Eli Schwartz
3d5a056452 makepkg: reject PKGBUILDs with both split and non-split package functions
We accept package_foo() in non-split packages, because it's easier to
switch to/from a split package just by removing a pkgname element. But
it makes no sense to have both in one PKGBUILD.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 11:10:04 +10:00
morganamilo
961ef1a4c8 Show group status during file search
When doing "pacman -Fs", show the "(groupname)"
message just like "pacman -Ss".

And refactor group printing to its own function.

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 11:06:55 +10:00
Eli Schwartz
2bec380e10 libmakepkg/lint_config: fix lint_variable actually running the PKGBUILD lint
Due to a copy-paste error when initially implementing this, it actually
uses a duplicate function name, usually resulting in lint_pkgbuild
overwriting the function definition.

Then the PKGBUILD lint gets run twice, one time before the PKGBUILD is
even sourced -- to potentially surprising results, like erroring out on
a pre-existing shell definition that doesn't match our expectations.

Seen in the wild with lint_config triggering an error for
'declare -x arch="foo"'

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 10:54:26 +10:00
Eli Schwartz
3318039e3b pacman: check versioned optdepends in -Qi operation
Fixes FS#60106

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 10:48:22 +10:00
Rikard Falkeborn
ba2984db3e doc: Remove double spaces
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 00:52:48 +10:00
Eli Schwartz
58c76daf5e scripts: deduplicate localized copyright messages
We don't need to translate the "Copyright YEAR AUTHOR" part, no part of
it should probably be translated and it definitely shouldn't turn every
single license terms notice into a separate translation just because the
author/year is different.

Fixes FS#58452
Also consistently add a blank line after the copyright and before the
license terms.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-19 00:13:29 +10:00
Eli Schwartz
d03409ccde Revert "makepkg: add whirlpool to the list of hashing algorithms"
This reverts commit 9cdfd18739.

We've never documented whirlpoolsums support in the manpage and no one
really seems to have realized we support it, let alone use it -- except
for a few parabola packages, being the contributor's motivation for
adding support.

The problem is that for two years the code has been broken. In commit
577701250d we moved to coreutils to
provide checksum commands, rather than openssl, but there is no
whirlpoolsums binary.

Properly fixing this would require re-adding a dependency on openssl,
independent of the libalpm crypto backend -- which defeats the purpose
of moving to coreutils in the general case. nettle-hash does not provide
a whirlpool algorithm any more than it does base64 (the original reason
for moving to coreutils).

Therefore, we should just drop support for this again.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-18 21:53:21 +10:00
morganamilo
62eef5bbdb pacman-conf: add missing DisableDownloadTimeout
Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-09-18 10:38:23 +10:00
Eli Schwartz
5b2ff51c39 makepkg: don't print status for run_function when in a subshell
It's most likely a case where output is being captured, so we shouldn't
be interleaving status messages with function output regardless. Setting
the pkgver() status message (the one time we use it in a subshell)
separately also makes it safe to change whether message.sh functions write
to stdout or stderr.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-29 16:00:01 +10:00
Eli Schwartz
16f6aae330 makepkg: fix pkgver() function not aborting on errors
`run_function_safe pkgver` is evaluated in a subshell and therefore does
not abort when it should. Explicitly check the return outside of the
subshell and abort if necessary.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-29 14:58:32 +10:00
Eli Schwartz
48c8f9f2a2 makepkg: don't save the same shopts twice
Both run_function and run_function_safe will save and restore `shopt -p`
but the former is only called from the latter. It makes sense to save
this as part of a "safe" runner, so let's just do it in one place, there
where we save and restore everything else too.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-29 14:56:20 +10:00
morganamilo
0696307a3b Show install status during file search
When doing "pacman -Fs", show the "[installed: version]"
message just like "pacman -Ss".

Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-29 14:32:46 +10:00
Dave Reisner
3370c08a29 pacman/conf: Remove unused include
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-29 14:14:29 +10:00
Dave Reisner
3e9a62e721 doc: use more implicit rules to build manpages
Use implicit dependency rules to translate asciidoc inputs to HTML and
manpage outputs. We should only have to declare explicit dependencies
for odd cases, e.g. the PKGBUILD documentation has an additional include
file and isn't a 1:1 conversion.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-29 14:05:03 +10:00
Dave Reisner
9fde55c0c7 Remove unused checks for strcoll and mktime
We don't use these.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-29 14:04:45 +10:00
Dave Reisner
8b2f3323b8 common/ini: Depend on util-common, not util
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-29 14:02:58 +10:00
Eli Schwartz
2d8d8af915 scripts: pass on options such as set -x to child processes
When re-running makepkg for fakeroot, if `bash -x makepkg` was used this
is lost. Fix by encoding the current set of options explicitly in the
invocation, both for makepkg and for the wrapper used to test scripts
inside the source tree.

Also change to use ${BASH_SOURCE[0]} instead of $0 as the latter can be
anything the parent process wants, while the former is explicitly set by
bash itself to the filepath of the script.

See http://mywiki.wooledge.org/BashFAQ/028

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 15:20:40 +10:00
Allan McRae
7d05ffceaf Remove the last traces of the pacman --force option
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:38:03 +10:00
Jan Alexander Steffens (heftig)
e4be26b732 scripts: Remove trailing semicolons
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:20 +10:00
Jan Alexander Steffens (heftig)
4e83abaae5 libmakepkg/util/option: Refactor checking to reduce code duplication
Pull out the expected=y/n check into a separate function and make use of
the fact we can just prepend the fallback arrays to get the same result.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:20 +10:00
Eli Schwartz
92bc0a4740 libmakepkg/util: use parameter transformation when checking variable type
Now that we require bash 4.4 this is "more correct" than analyzing the
output of declare -p to see if it compares favorably with -a.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:20 +10:00
Eli Schwartz
b0a8f44f10 configure: bump the minimum version of bash to 4.4
This is required in order to use declare -g and ${var@a}

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:20 +10:00
Eli Schwartz
885bbb504a makepkg: when signing packages, report package filename on failure
In commit c6b04c0465 the signing function
was moved out of fakeroot, and thus out of the create_package loop. This
meant that if package signing failed, it was no longer possible to tell
which package it failed on by checking which package creation is
currently running. Successful signing attempts do not have this problem
as we already printed the name of the signature file.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:20 +10:00
Michael Straube
9e960d9d5a libalpm/dload.c: add case for CURLE_COULDNT_RESOLVE_HOST
Add a case for curl error 'Could not resolve host'.
An attempt to fix FS#48285.

Signed-off-by: Michael Straube <straubem@gmx.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:19 +10:00
Jouke Witteveen
7f1f1355bb libalpm: ignore .hook suffix when sorting hooks
It is desirable to have 'a-post.hook' ordered after 'a.hook'. For this,
it is needed to ignore the suffix when sorting.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:19 +10:00
morganamilo
0937d322ba libmakepkg: add pkgbase to linted variables
Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:19 +10:00
Jan Alexander Steffens (heftig)
7edbbd9a63 makepkg: Simplify run_package
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:19 +10:00
Jan Alexander Steffens (heftig)
f2788244d3 makepkg: Simplify SPLITPKG check
This causes package_$pkgname() to be preferred over package() in the
non-split case, but the behavior if both functions exist was
undocumented anyway.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:19 +10:00
Alex Butler
0cbb128818 Add lz4 compression support to makepkg
Adds opt-in lz4 compression of *pkg.tar files with makepkg.
This is nice to have as an option for very fast compression
and is already installed with libarchive.

Signed-off-by: Alex Butler<alexheretic@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:19 +10:00
Eli Schwartz
fd16da2ed6 scripts/completion: derive the bash completion directory from pkg-config
Default to the standard completionsdir, which is lazy-loaded, rather
than hardcoding the compatdir which is not.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-08-10 12:37:19 +10:00
Allan McRae
7e081d2adf Release v5.1.1
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-27 11:43:39 +10:00
Eli Schwartz
1a5f308d52 makepkg: optimize and fix BUILDINFO generation's use of awk
The biggest issue is directly supplying the data within the format
string which can result in misinterpreting formatter sequences if a
printed variable contains an "%" in it. This character is currently
permitted in the pkgver field, though not in the pkgname. Also
pacman/libalpm itself has much looser limitations and this can appear
anywhere at all if a package was created by some other program.

For the package "iambroke-1%s-1-any.pkg.tar.xz", installed in the build
environment, the result is:

  -> Generating .BUILDINFO file...
awk: cmd. line:3: (FILENAME=- FNR=1085) fatal: not enough arguments to satisfy format string
	`-1%s-1'
	   ^ ran out for this one

Followed by a .BUILDINFO which contains an LC_ALL=C sorted list of
$pkgname-${epoch:+$epoch:}$pkgver-$pkgrel-$arch ending in:

installed = iambroke

Which is cut short, then fails to list the succeeding packages. The
package itself successfully builds.

It's also unnecessary to save the output of pacman -Qq in order to get the
information for pacman -Qi, since the latter will, just like the former,
return information for all installed packages if not given a package
name(s).

While I am at it, pipe this directly to awk rather than keeping a copy
in an unnecessary local variable. This is slightly more efficient in
addition to preventing the <<< herestring from re-interpreting the
content of "$pkginfos" in ways that don't really matter for our usage.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-27 11:43:39 +10:00
Jouke Witteveen
2d8a751943 alpm-hooks.5: include more information on hook files
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-27 11:04:02 +10:00
Allan McRae
13fb2430e8 Pull updated translations from Transifex
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-27 10:38:57 +10:00
Allan McRae
0827aff85e Handle root prefix in overwrite operations
The pacman --overwrite operation currently expects a path without
the root prefix specified.  This is unexpected, particularly
given our conflict error message reports the path with the root
prefix included.

This patch allows libalpm to overwrite files with the root prefix
specified.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-27 10:24:57 +10:00
Eli Schwartz
316b031b7c makepkg: reduce strictness of pkgver in depends linting
This change was introduced to prevent entries like depends=('foo>').
However, it had the unintended side effect of causing a number of
working PKGBUILDs to fail to build. This happened when a PKGBUILD
defined one variable through calling a "complex" statement within the
PKGBUILD's package function (e.g. a function or evaluating in a
subshell), then used it to define the package metadata variable.

extract_function_variable() cannot execute the package function in order
to retrieve this information, so it performs a simple grep + eval instead
and in the process misses the contextual awareness of running within the
package function.

While not catching these "issues" can result in incorrect SRCINFO, the
resulting packages are fine. Stop aborting on the common case where the
pkgver of a dependency is dynamically set during the package function
until the large number of broken PKGBUILDs are fixed, and the
restrictions of the PKGBUILD format are documented.

"Fixes" FS#58776

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-27 10:21:58 +10:00
Michael Straube
757e85b21d makepkg.conf: add missing sha224 sums
Add missing sha224 sums to makepkg.conf and it's man page.

Signed-off-by: Michael Straube <michael.straube@posteo.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-27 10:21:58 +10:00
Eli Schwartz
41cbea29b4 doc: declare what type of comments we support in pacman.conf
Ini-style configuration formats are all over the place. So are we, for
that matter, as we switched how we treated middle-of-line comments in
commit 8a19c4a782 -- namely, they're not
comments anymore. This is surprising to users, who report bugs because
it used to work, but what's more surprising is that the only
"documentation" for the type of comments users can be expected to use,
is by guessing from our example pacman.conf and maybe discovering
unreliable easter eggs.

Fixes FS#58809

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-25 09:50:26 +10:00
Allan McRae
0adb36346c Revert "Deprecate --root in favour of --sysroot"
The use of --sysroot in the real world has flagged some issues that need
addressing.  Undeprecate --root for now.

This reverts commit a278356f75.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-25 09:50:26 +10:00
Allan McRae
acef70c103 libmakepkg: remove accidentally added file
A blank file slipped into libmakepkg in commit 2c94118d.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-19 12:23:57 +10:00
Eli Schwartz
8b4be66a30 libmakepkg/tidy: fix debug sources not being properly detected sometimes
DW_AT_comp_dir is meant to contain the directory in which the compiler
was run

DW_AT_name contains the source file the compiler was told to use.

In the event that DW_AT_name is an absolute path, it is (obviously) not
meant to be computed relative to DW_AT_comp_dir. However, we did not
handle this correctly, and as a result tried to copy source files using
doubled-up filepaths.

The correct approach should be to use DW_AT_name on its own, in the
event that it is an absolute path.

See http://wiki.dwarfstd.org/index.php?title=Best_Practices.

This fixes debug package generation for many packages that use absolute
paths in their build systems... like CMake.

Reported-by: Jagannathan Tiruvallur Eachambadi <jagannathante@gmail.com>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-19 12:23:57 +10:00
Allan McRae
9a8c7154b1 Revert "makepkg: use the declare builtin when backing up variables to eval"
This reverts commit 9e52a36794.

The change to use declare for the split package metadata backup/restore
resulted in variables being declared at a local scope. When these variables
were unset (mostly noticed with debug packaging) this left the variable at
global scope defined. Revert back to the known good state.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-07-19 12:23:25 +10:00
Allan McRae
4fe9adf418 PKGBUILD(5): Remove reference to ChangeLog prototype inclusion
We do not distribute a ChangeLog prototype, so should not reference
it in the man page.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-19 20:44:14 +10:00
Eli Schwartz
0d6e82d374 makepkg: don't print per-pkgname debug packages
In commit 9a4d616220 debug packages were
merged into one exclusive pkgbase-debug, but the print_all_package_names
function did not get updated to match this logic.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 16:54:37 +10:00
Allan McRae
d750c854bc Fix signing of debug packages
Commit 9c8d7a80 broke the signing of debug packages by merging code up but
not changing the test condition.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 16:50:58 +10:00
Michael Straube
72263e22bd libalpm/dload.c: fix filename in license header
The filename in the license header did not match the actual filename
as in the other files. Hopefully this is not too nit-picky.

Signed-off-by: Michael Straube <straubem@gmx.de>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 16:28:04 +10:00
Dave Reisner
a92a36070a makepkg: fix initialization when extracting arrays
Assuming that everything is a string leads to code which is effectively:

  a=
  a+=('bar')

This creates an array with 2 elements instead of one. Using proper array
initialization fixes this.

https://lists.archlinux.org/pipermail/pacman-dev/2018-June/022591.html
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
morganamilo
5cf6f614eb Add missing sha224 sums in man page and linting
Signed-off-by: morganamilo <morganamilo@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Eli Schwartz
793202344b makepkg: fix erroneous $BUILDDIR when $startdir is not an absolute path
When comparing the $BUILDDIR to the $startdir, we used string equality
instead of testing whether they are the same location, and ended up
appending $pkgbase even though there's no reason to use it here.

In some cases, this could result in makepkg erroring when trying to
create $srcdir/$pkgdir, if a file with the same name as the $pkgbase
exists. This is expected behavior if a file "src" or "pkg" exists, but
decidedly less so for $pkgbase.

This could be fixed either by setting $startdir to an absolute path, or
by ensuring the test checks this directly; I've chosen to do both, since
the test should really be correctly checking the thing it actually cares
about, but since we ensure absolute paths are used everywhere else, this
might bite us elsewhere someday. It's also more consistent.

Fixes FS#58865

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Allan McRae
e6dbe82c0c PKGBUILD.5: document restriction on pkgrel
The format of pkgrel was much more retrictive than described in the
man page. Update the documentation to reflect this.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Jan Alexander Steffens (heftig)
05a3641c76 makepkg: Don't use parameterless return
It's especially dangerous in trap handlers since the return value of the
function becomes the return value of the last command before the trap,
not the last command in the current function. This applies to any
function executed in a trap handler, nested functions included.

In one case, install_packages failed (via return 14), which was inside a
conditional that then ran exit 14, which triggered the EXIT handler,
which called clean_up, which called remove_deps, which had !RMDEPS and
thus returned. The return value of remove_deps became the return value
of install_packages, triggering the ERR handler, which (due to another
problem) was still the user function handler, which then printed a
misleading error message and overrode the exit code with 4.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Eli Schwartz
ab1e92860b makepkg: fix the --nocolor option being broken when passed to pacman -U
In commit 8ff03868a3 PACMAN_OPTS was
turned into an array. Unfortunately, that array was generated by
treating the "--color never" option as one string, instead of an
array of two strings...

Fixes FS#58820

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Luke Shumaker
b37a6063d0 pacman.conf: Fixup the XferCommand example for curl
1. Without `-L`, curl doesn't follow redirects.  This is different than
    both the default behavior of pacman, and from the wget example.  So add
    `-L`.

 2. It uses `-C -` to supposedly allow resuming partial downloads; but that
    doesn't work if we use `> %o` to direct the output to the file.
    Instead, use `-o %o` so that `-C -` actually works.

Signed-off-by: Luke Shumaker <lukeshu@parabola.nu>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Jan Alexander Steffens (heftig)
f78914cc6e makepkg: Clear ERR trap before trying to restore it
$restoretrap is empty if the trap was not set. This caused the trap
handler to remain and override later exit codes.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Eli Schwartz
de8c5e78bb libmakepkg/lint_pkgbuild: squelch syntax error when a pkgname is empty
We fail with an error, but then we also fail with:

==> ERROR: depends is not allowed to be empty.
/usr/share/makepkg/lint_pkgbuild/pkgname.sh: line 39: continue: only meaningful in a `for', `while', or `until' loop

During the refactor to provide enhanced pkgname=pkgver linting, this was
moved out of the ${pkgname[@]} loop to a distinct function, at which
time it should have been modified to return rather than continue.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Eli Schwartz
737596f038 makepkg: do not chmod $BUILDDIR itself after checking for its existence
In commit d8717a6a96 the write permission
checks were refactored. Initially we intended to drop this chmod in the
process, but due to some confusion about whether it was needed, I ended
up submitting patches both to preserve and to remove it... but it's not
needed after all. We do it on the individual $srcdir/$pkgdir, later on.

Then, we used the wrong version, which causes unnecessary restrictions.

See FS#58790

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Eli Schwartz
870d4c8fdd libmakepkg/lint_pkgbuild: permit versioned optdepends
pacman accepts these, and there is no good reason to be more restrictive
ourselves; we should follow the example of "depends" here.

Update the documentation to actually state that this is supported.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Eli Schwartz
c37a06fe1d libmakepkg: when checking for write permissions, handle pre-existing dirs
Simplifies the function a bit, but mostly, mkdir -p will never fail if
the directory exists, and therefore makepkg never checks to see if it is
actually writable. On the other hand, it's unnecessary to check if the
directory exists once we know mkdir -p succeeded...

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Eli Schwartz
9eb3695a3f makepkg: remove unused variable forgotten when moving to parseopts
Reported-by: Rafael Ascensão <rafa.almas@gmail.com>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Eli Schwartz
3a66b93be0 makepkg: update help text to describe --packagelist's new behavior
In commit d8591dd341 when teaching
--packagelist to print the full filepath for built arches only, I forgot
to update the helptext at the same time as I updated the manpage.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-18 13:15:51 +10:00
Allan McRae
930d501947 pacman-conf: fix detection of repo usage
pacman-conf returned All for any repo Usage query because it was
checking if any repo options were enabled rather than if all options
were enabled.

Signed-off-by: Allan McRae <allan@archlinux.org>
2018-06-04 21:32:43 +10:00
Allan McRae
716d776936 Apparently we live in the future!
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-05-28 13:47:36 +10:00
406 changed files with 44757 additions and 45439 deletions

250
.ycm_extra_conf.py Normal file
View 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
}

View File

@@ -9,11 +9,19 @@ 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
DISTCHECK_CONFIGURE_FLAGS = --enable-doc --disable-git-version \
bashcompdir='$${prefix}/share/bash-completion/completions'
# Some files automatically included, so they aren't specified below:
# AUTHORS, COPYING, NEWS, README
EXTRA_DIST = HACKING test/tap.sh
EXTRA_DIST = \
HACKING test/tap.sh \
meson.build meson_options.txt \
build-aux/edit-script.sh.in \
build-aux/meson-install-script.sh \
build-aux/meson-make-symlink.sh \
build-aux/script-wrapper.sh.in
# Sample makepkg prototype files
pkgdatadir = ${datadir}/${PACKAGE}
@@ -50,6 +58,12 @@ AM_PY_LOG_FLAGS = \
--ldconfig $(LDCONFIG) \
--bindir $(top_builddir)/src/pacman \
--bindir $(top_builddir)/scripts
if !HAVE_LIBGPGME
AM_PY_LOG_FLAGS += --without-gpg
endif
if !HAVE_LIBCURL
AM_PY_LOG_FLAGS += --without-curl
endif
# create the pacman DB, cache, makepkg-template and system hook directories upon install
install-data-local:

221
NEWS
View File

@@ -1,5 +1,196 @@
VERSION DESCRIPTION
-----------------------------------------------------------------------------
5.2.2 - fix pacman test suite under python 3.8
- only prompt to import new keys once in a transaction
- fix handling of fully downloaded .part files
- increase maximum database size (FS#65197)
- fix segfault in alpm_option_set_assumeinstalled
- change config parsing warnings to errors to match actual
behavior
- fix key extraction for signatures with two-octet sub-packet
headers
- fix documentation typos (FS#67000)
- change master signing key to RSA4096
- improve error message when building without autoconf-archive
- pacman-conf:
- allow querying ILoveCandy individually
- fix querying NoExtract individually
- makepkg:
- fix seccmp-related error while stripping binaries (FS#65100)
- fix extraction of file:// sources (FS#64648)
- allow $pkgname in install and changelog file names (FS#64932)
- sort libprovides for reproducibility
- strip: don't re-add the same debug source multiple times
- error on empty refspecs in git sources
- correctly handle missing download clients
- fix splitting multi-line error messages across stdout and
stderr
- handle GPGKEY with spaces (FS#66949)
- do not accept public-only keys for signing
- repo-add:
- handle GPGKEY with spaces (FS#66949)
- do not accept public-only keys for signing
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
- Document comment syntax restrictions in pacman.conf
- makepkg:
- handle pre-existing directories when checking for write
permissions
- reduce restrictions on pkgver in depends listings (FS#58776)
- permit versioned optdepends
- remove unintended chmod of $BUILDDIR (FS#58790)
- fix issue when $startdir was not an absolute path (FS#58865)
- fix syntax error when $pkgname is empty
- fix --nocolor being passed to pacman (FS#58820)
- fix issues with trap handling
- fix several issues with debug packages (signing, printing of
package names, clearing of global package options, source
file inclusion)
- fix --help text for --packagelist
- pacman-conf: Fix detection of Usage option
5.1.0 - Add new --overwrite option and deprecate --force. This accepts a
glob pattern with far more control than the widely abused force
option which mostly just causes issues (FS#31549)
@@ -110,12 +301,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
@@ -207,9 +416,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
@@ -299,7 +508,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
@@ -764,7 +973,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
@@ -1210,7 +1419,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)

26
README
View File

@@ -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,28 @@ 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_*.

View File

@@ -11,6 +11,7 @@ The following checklist should be used for making a pacman release.
- 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")
- In addition to the standard autotools toolchain, autoconf-archive is needed
- Update pacman website
Transifex updates are handled using the transifex client. The basic process is:

View File

@@ -1,6 +1,5 @@
#!/bin/sh -x
autoreconf -i
patch -d build-aux -Np0 -i ltmain-asneeded.patch
exit 0

View File

@@ -0,0 +1,30 @@
#!@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" \
-e "s|@SEDINPLACEFLAGS[@]|@SEDINPLACEFLAGS@|g" \
-e "s|@SEDPATH[@]|@SEDPATH@|g" \
-e "s|@configure_input[@]|Generated from ${input##*/}; do not edit by hand.|g" \
"$input" >"$output"
if [[ $mode ]]; then
chmod "$mode" "$output"
fi

View File

@@ -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

View File

@@ -0,0 +1,6 @@
#!/bin/sh
built_script=$1
dest_path=$2
install -Dm755 "$built_script" "$DESTDIR/$dest_path"

View 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
View 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@ "$@"

View File

@@ -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"]="" # Red.
color_map["grn"]="" # Green.
color_map["lgn"]="" # Light green.
color_map["blu"]="" # Blue.
color_map["mgn"]="" # Magenta.
color_map["std"]="" # 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:

39
build-aux/update-po Executable file
View 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[@]}"

View File

@@ -41,13 +41,13 @@ AC_PREREQ(2.64)
# Bugfix releases:
# pacman_version_micro += 1
m4_define([lib_current], [11])
m4_define([lib_revision], [0])
m4_define([lib_current], [12])
m4_define([lib_revision], [2])
m4_define([lib_age], [0])
m4_define([pacman_version_major], [5])
m4_define([pacman_version_minor], [1])
m4_define([pacman_version_micro], [0])
m4_define([pacman_version_minor], [2])
m4_define([pacman_version_micro], [2])
m4_define([pacman_version],
[pacman_version_major.pacman_version_minor.pacman_version_micro])
@@ -72,7 +72,7 @@ if test "x$CFLAGS" = "x"; then
CFLAGS=""
fi
# Set subsitution values for version stuff in Makefiles and anywhere else,
# Set substitution 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)
@@ -101,7 +101,7 @@ AC_ARG_WITH(buildscript,
# 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])
[TEMPLATE_DIR=$withval], [TEMPLATE_DIR=${datarootdir}/makepkg-template])
# Help line for debug package suffix
AC_ARG_WITH(debug-suffix,
@@ -120,6 +120,12 @@ AC_ARG_WITH(ldconfig,
[set the full path to ldconfig]),
[LDCONFIG=$withval], [LDCONFIG=/sbin/ldconfig])
# Help line for determining whether file is seccomp-enabled
AC_ARG_WITH(file-seccomp,
AS_HELP_STRING([--with-file-seccomp={yes|no|auto}],
[determine whether file is seccomp-enabled @<:@default=auto@:>@]),
[with_file_seccomp=$withval], [with_file_seccomp=auto])
# Help line for selecting a crypto library
AC_ARG_WITH(crypto,
AS_HELP_STRING([--with-crypto={openssl|nettle}],
@@ -179,7 +185,7 @@ AC_SUBST(LFS_CFLAGS)
AC_PROG_AWK
AC_PROG_CC_C99
AC_PROG_INSTALL
AC_CHECK_PROGS([PYTHON], [python2.7 python2 python], [false])
AC_CHECK_PROGS([PYTHON], [python3 python], [false])
AC_PATH_PROGS([BASH_SHELL], [bash bash4], [false])
# check for perl 5.10.1 (needed by makepkg-template)
@@ -193,18 +199,18 @@ AC_DEFUN([AX_PROG_PERL_VERSION],
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]),
AC_MSG_WARN([*** bash >= 4.4.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
if test "$bash_version_major" -eq 4 && test "$bash_version_minor" -lt 4; then
ok=no
fi
if test "$ok" = "no"; then
AC_MSG_ERROR([*** bash >= 4.1.0 is required for pacman scripts])
AC_MSG_ERROR([*** bash >= 4.4.0 is required for pacman scripts])
fi
unset bash_version_major bash_version_minor ok])
@@ -215,10 +221,26 @@ AM_GNU_GETTEXT_VERSION(0.13.1)
AC_CHECK_LIB([m], [fabs], ,
AC_MSG_ERROR([libm is needed to compile pacman!]))
PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir], ,
bashcompdir="${datarootdir}/bash-completion/completions")
# Check for libarchive
PKG_CHECK_MODULES(LIBARCHIVE, [libarchive >= 3.0.0], ,
AC_MSG_ERROR([*** libarchive >= 3.0.0 is needed to compile pacman!]))
m4_pattern_forbid([^AX_COMPARE_VERSION$])
# Check file for seccomp
if test "x$with_file_seccomp" = "xauto"; then
file_version="$(file --version| sed -n 's/^file-\(.*\)/\1/p')"
AX_COMPARE_VERSION([$file_version], [ge], [5.38], [with_file_seccomp=yes])
fi
if test "x$with_file_seccomp" = "xyes"; then
FILECMD="file -S"
else
FILECMD="file"
fi
AC_SUBST(FILECMD)
# Check for OpenSSL
have_openssl=no
have_nettle=no
@@ -265,37 +287,43 @@ AS_IF([test "x$with_gpgme" != "xno"],
[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"
if test "x$with_gpgme" != "xno"; then
PKG_CHECK_MODULES(GPGME, [gpgme],
[AC_DEFINE([HAVE_LIBGPGME], [1], [Define if gpgme should be used to provide GPG signature support.])
AC_SUBST(pc_gpgme, [gpgme])
have_gpgme=yes],
[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"
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])])
)
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_SUBST(pc_gpgme_libs, ["$GPGME_LIBS"])],
[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],)])
LIBS="$LIBS_save"
CPPFLAGS="$CPPFLAGS_save"
CFLAGS="$CFLAGS_save"
unset CPPFLAGS_save
unset CFLAGS_save],)])
fi
AS_IF([test "x$have_gpgme" = xno -a "x$with_gpgme" = xyes],
[AC_MSG_FAILURE([--with-gpgme was given, but gpgme was not found])])
@@ -326,8 +354,6 @@ PATH_MAX_DEFINED
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 \
@@ -344,50 +370,32 @@ AC_CHECK_MEMBERS([struct statfs.f_flags],,,[[#include <sys/param.h>
GCC_VISIBILITY_CC
# Host-dependant definitions
DEFAULT_DUFLAGS=" -sk --apparent-size"
DEFAULT_SEDINPLACEFLAGS=" --follow-symlinks -i"
INODECMD="stat -c '%i %n'"
OWNERCMD="stat -c '%u:%g'"
MODECMD="stat -c '%a'"
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}"
@@ -442,6 +450,7 @@ if test "x$debug" = "xyes" ; then
# Check for -fstack-protector availability
GCC_STACK_PROTECT_LIB
GCC_STACK_PROTECT_CC
GCC_STACK_CLASH_PROTECTION
GCC_FORTIFY_SOURCE_CC
WARNING_CFLAGS="-g -Wall -Werror"
else
@@ -460,6 +469,7 @@ if test "x$warningflags" = "xyes" ; then
CFLAGS_ADD([-Wformat-nonliteral], [WARNING_CFLAGS])
CFLAGS_ADD([-Wformat-security], [WARNING_CFLAGS])
CFLAGS_ADD([-Wignored-qualifiers], [WARNING_CFLAGS])
CFLAGS_ADD([-Wimplicit-fallthrough], [WARNING_CFLAGS])
CFLAGS_ADD([-Winit-self], [WARNING_CFLAGS])
CFLAGS_ADD([-Wlogical-op], [WARNING_CFLAGS])
CFLAGS_ADD([-Wmissing-declarations], [WARNING_CFLAGS])
@@ -567,9 +577,8 @@ ${PACKAGE_NAME}:
Architecture : ${CARCH}
Host Type : ${CHOST}
File inode command : ${INODECMD}
File owner command : ${OWNERCMD}
File mode command : ${MODECMD}
In-place sed command : ${SEDPATH} ${SEDINPLACEFLAGS}
File seccomp command : ${FILECMD}
libalpm version : ${LIB_VERSION}
libalpm version info : ${LIB_VERSION_INFO}

1
doc/.gitignore vendored
View File

@@ -6,3 +6,4 @@ asciidoc.js
*.xml
man3
website.tar.gz
Doxyfile

View File

@@ -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

View File

@@ -3,36 +3,25 @@
# 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 = \
MANPAGES = \
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
BUILDINFO.5 \
pacman-conf.8
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_MANPAGES = $(addsuffix .html,$(MANPAGES))
ASCIIDOC_MANPAGES = $(addsuffix .asciidoc,$(MANPAGES))
HTML_OTHER = \
index.html \
@@ -45,32 +34,20 @@ HTML_DOCS = \
$(HTML_OTHER)
EXTRA_DIST = \
meson.build \
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) \
$(ASCIIDOC_MANPAGES) \
$(MANPAGES) \
$(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
MOSTLYCLEANFILES = *.xml $(MANPAGES) $(HTML_DOCS) repo-remove.8 website.tar.gz
# Ensure manpages are fresh when building a dist tarball
dist-hook:
@@ -85,17 +62,21 @@ REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
endif
man_MANS =
dist_man_MANS = $(ASCIIDOC_MANS)
dist_man_MANS = $(MANPAGES)
if USE_DOXYGEN
man_MANS += $(DOXYGEN_MANS)
all-local: doxygen.in
doxygen.in:
Doxyfile: Doxyfile.in
sed 's,@OUTPUT_DIRECTORY@,./,' Doxyfile.in >Doxyfile
doxygen.in: Doxyfile
$(DOXYGEN) $(srcdir)/Doxyfile
endif
man: $(MANPAGES)
html: $(HTML_DOCS)
website: website.tar.gz
@@ -118,10 +99,13 @@ ASCIIDOC_OPTS = \
-f $(srcdir)/asciidoc.conf \
-a pacman_version="$(REAL_PACKAGE_VERSION)" \
-a pacman_date="`date +%Y-%m-%d`" \
-a srcext="$(SRCEXT)" \
-a pkgext="$(PKGEXT)" \
-a pkgdatadir=$(pkgdatadir) \
-a localstatedir=$(localstatedir) \
-a sysconfdir=$(sysconfdir) \
-a datarootdir=$(datarootdir)
-a datarootdir=$(datarootdir) \
-a rootdir=$(ROOTDIR)
A2X_OPTS = \
--no-xmllint \
@@ -129,11 +113,12 @@ A2X_OPTS = \
-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
# Generate manpages
%: %.asciidoc asciidoc.conf footer.asciidoc Makefile.am
$(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.asciidoc
%.html: %.asciidoc
# Generate HTML pages
%.html: %.asciidoc asciidoc.conf footer.asciidoc Makefile.am
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - $*.asciidoc | \
sed -e 's/\r$$//' > $@
@@ -142,27 +127,15 @@ HACKING.html: ../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
# Custom dependency rules
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
# Manpages as symlinks
repo-remove.8: repo-add.8
$(RM) repo-remove.8
$(LN_S) repo-add.8 repo-remove.8

View File

@@ -18,9 +18,9 @@ PKGBUILD is written, the actual package is built using makepkg and installed
with pacman.
NOTE: An example PKGBUILD, useful for reference, is located in '{pkgdatadir}'
along with other example files such as a ChangeLog and an install
script. You can copy the provided PKGBUILD.proto file to a new package build
directory and make customizations to suit your needs.
along with other example files such as an install script. You can copy the
provided PKGBUILD.proto file to a new package build directory and make
customizations to suit your needs.
Options and Directives
@@ -56,11 +56,13 @@ new `pkgver`. This is most useful when used with sources from version control
systems (see below).
*pkgrel*::
This is the release number specific to the Arch Linux release. This
This is the release number specific to the distribution. This
allows package maintainers to make updates to the package's configure
flags, for example. This is typically set to '1' for each new upstream
software release and incremented for intermediate PKGBUILD updates. The
variable is not allowed to contain hyphens.
variable is a 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*::
Used to force the package to be seen as newer than any previous versions
@@ -152,7 +154,7 @@ contain whitespace characters.
be skipped. To easily generate md5sums, run ``makepkg -g >> PKGBUILD''.
If desired, move the md5sums line to an appropriate location.
*sha1sums, sha256sums, sha384sums, sha512sums (arrays)*::
*sha1sums, sha224sums, sha256sums, sha384sums, sha512sums, b2sums (arrays)*::
Alternative integrity checks that makepkg supports; these all behave
similar to the md5sums option described above. To enable use and generation
of these checksums, be sure to set up the `INTEGRITY_CHECK` option in
@@ -212,8 +214,9 @@ underscore and the architecture name e.g., 'checkdepends_x86_64=()'.
An array of packages (and accompanying reasons) that are not essential for
base functionality, but may be necessary to make full use of the contents
of this package. optdepends are currently for informational purposes only
and are not utilized by pacman during dependency resolution. The format
for specifying optdepends is:
and are not utilized by pacman during dependency resolution. Packages in
this list follow the same format as depends, with an optional description
appended. The format for specifying optdepends descriptions is:
optdepends=('python: for library bindings')
+
@@ -293,23 +296,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).
@@ -329,6 +332,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
@@ -345,14 +356,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

View File

@@ -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)
@@ -30,9 +30,13 @@ DESCRIPTION
libalpm provides the ability to specify hooks to run before or after
transactions based on the packages and/or files being modified. Hooks consist
of a single '[Action]' section describing the action to be run and one or more
'[Trigger]' section describing which transactions it should be run for. Hook
'[Trigger]' section describing which transactions it should be run for.
Hooks are read from files located in the system hook directory
+{datarootdir}/libalpm/hooks+, and additional custom directories specified in
linkman:pacman.conf[5] (the default is +{sysconfdir}/pacman.d/hooks+). The
file names are required to have the suffix ".hook". Hooks are run in
alphabetical order of their file name.
alphabetical order of their file name, where the ordering ignores the suffix.
TRIGGERS
--------
@@ -45,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
@@ -115,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

View File

@@ -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

View File

@@ -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,7 +77,14 @@ Releases
[frame="topbot",grid="none",options="header,autowidth"]
!======
!Version !Date
!5.1.0 !2017-05-28
!5.2.2 !2020-06-23
!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
@@ -198,8 +207,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
~~~~~~~~~~~
@@ -210,11 +219,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
@@ -233,15 +242,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
----
@@ -256,7 +263,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.

View File

@@ -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
--------

View File

@@ -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`, `sha256`, `sha384`, and `sha512`.
`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

150
doc/meson.build Normal file
View File

@@ -0,0 +1,150 @@
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'))
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

View 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[]

View File

@@ -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

View File

@@ -130,8 +130,18 @@ Options
*NOTE*: If specified, this is an absolute path, and the root path is
not automatically prepended.
*-r, \--root* <path>::
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
command line or in linkman:pacman.conf[5], their default location will
be inside this root path.
*NOTE*: This option is not suitable for performing operations on a mounted
guest system. See '\--sysroot' instead.
*-v, \--verbose*::
Output paths such as as the Root, Conf File, DB Path, Cache Dirs, etc.
Output paths such as the Root, Conf File, DB Path, Cache Dirs, etc.
*\--arch* <arch>::
Specify an alternate architecture.
@@ -454,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.
@@ -478,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
@@ -493,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]]
----------------------------
@@ -504,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

View File

@@ -19,6 +19,9 @@ Each section defines a package repository that pacman can use when searching
for packages in '\--sync' mode. The exception to this is the options section,
which defines global options.
Comments are only supported by beginning a line with the hash (#) symbol.
Comments cannot begin in the middle of a line.
Example
-------
@@ -173,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*::
@@ -183,14 +186,6 @@ 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.
*TotalDownload*::
When downloading, display the amount downloaded, download rate, ETA,
and completed percentage of the entire download list rather

View File

@@ -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[]

View File

@@ -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[]

View File

@@ -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.

View File

@@ -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

View File

@@ -40,11 +40,13 @@ 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
@@ -87,7 +89,7 @@ BUILDENV=(!distcc color !ccache check !sign)
#
OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="@STRIP_BINARIES@"
@@ -130,16 +132,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@'

View File

@@ -16,10 +16,9 @@
#GPGDir = @sysconfdir@/pacman.d/gnupg/
#HookDir = @sysconfdir@/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup

View File

@@ -2,6 +2,8 @@ AUTOMAKE_OPTIONS = gnu
SUBDIRS = po
EXTRA_DIST = meson.build po/meson.build
lib_LTLIBRARIES = libalpm.la
include_HEADERS = alpm_list.h alpm.h
@@ -34,7 +36,6 @@ libalpm_la_SOURCES = \
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 \

View File

@@ -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
@@ -53,6 +53,7 @@ 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 +71,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 +432,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";

View File

@@ -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

View File

@@ -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>
@@ -68,7 +68,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 */

View File

@@ -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;
@@ -403,21 +386,6 @@ 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,
@@ -507,13 +475,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 +548,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;
@@ -913,9 +873,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);
@@ -1044,7 +1001,7 @@ alpm_list_t *alpm_db_get_groupcache(alpm_db_t *db);
*/
alpm_list_t *alpm_db_search(alpm_db_t *db, const alpm_list_t *needles);
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),
@@ -1292,12 +1249,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.
@@ -1395,8 +1346,6 @@ int alpm_pkg_has_scriptlet(alpm_pkg_t *pkg);
*/
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.
@@ -1450,7 +1399,7 @@ 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);
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 +1410,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. */

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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);
@@ -303,36 +315,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)
@@ -773,6 +787,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) {

View File

@@ -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
@@ -731,6 +731,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 +757,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);

View File

@@ -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"
@@ -226,8 +225,8 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
memset(&payload, 0, sizeof(struct dload_payload));
/* set hard upper limit of 25MiB */
payload.max_size = 25 * 1024 * 1024;
/* set hard upper limit of 128MiB */
payload.max_size = 128 * 1024 * 1024;
/* print server + filename into a buffer */
len = strlen(server) + strlen(db->treename) + strlen(dbext) + 2;
@@ -427,9 +426,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;
@@ -511,7 +509,7 @@ static int sync_db_populate(alpm_db_t *db)
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"),
@@ -637,8 +635,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 +697,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;
@@ -759,8 +740,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 +766,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

View File

@@ -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>
@@ -399,10 +399,10 @@ static alpm_pkg_t *_alpm_find_file_owner(alpm_handle_t *handle, const char *path
return NULL;
}
static int _alpm_can_overwrite_file(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;
}
/**
@@ -468,7 +468,7 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
/* can skip file-file conflicts when forced *
* checking presence in p2_files detects dir-file or file-dir
* conflicts as the path from p1 is returned */
if(_alpm_can_overwrite_file(handle, filename)
if(_alpm_can_overwrite_file(handle, filename, path)
&& alpm_filelist_contains(p2_files, filename)) {
_alpm_log(handle, ALPM_LOG_DEBUG,
"%s exists in both '%s' and '%s'\n", filename,
@@ -675,7 +675,7 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
/* skip file-file conflicts when being forced */
if(!S_ISDIR(lsbuf.st_mode)
&& _alpm_can_overwrite_file(handle, filestr)) {
&& _alpm_can_overwrite_file(handle, filestr, path)) {
_alpm_log(handle, ALPM_LOG_DEBUG,
"conflict with file on filesystem being forced\n");
resolved_conflict = 1;

View File

@@ -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

View File

@@ -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>

View File

@@ -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>

View File

@@ -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;
}

View File

@@ -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 */

View File

@@ -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>
@@ -643,10 +643,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 +698,8 @@ static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep,
for(j = _alpm_db_get_pkgcache(db); j; j = j->next) {
alpm_pkg_t *pkg = j->data;
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 +719,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 = {
@@ -766,8 +765,11 @@ static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep,
/** 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.
* 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

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -1,7 +1,7 @@
/*
* download.c
* dload.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
@@ -53,9 +53,11 @@ static const char *get_filename(const char *url)
{
char *filename = strrchr(url, '/');
if(filename != NULL) {
filename++;
return filename + 1;
}
return filename;
/* no slash found, it's a filename */
return url;
}
static char *get_fullpath(const char *path, const char *filename,
@@ -259,6 +261,7 @@ static void curl_set_handle_opts(struct dload_payload *payload,
curl_easy_setopt(curl, CURLOPT_URL, payload->fileurl);
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error_buffer);
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10L);
curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 10L);
curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
@@ -411,6 +414,12 @@ static int curl_download_internal(struct dload_payload *payload,
curl_set_handle_opts(payload, curl, error_buffer);
if(payload->max_size == payload->initial_size && payload->max_size != 0) {
/* .part file is complete */
ret = 0;
goto cleanup;
}
if(localf == NULL) {
localf = fopen(payload->tempfile_name, payload->tempfile_openmode);
if(localf == NULL) {
@@ -431,6 +440,7 @@ static int curl_download_internal(struct dload_payload *payload,
/* Ignore any SIGPIPE signals. With libcurl, these shouldn't be happening,
* but better safe than sorry. Store the old signal handler first. */
mask_signal(SIGPIPE, SIG_IGN, &orig_sig_pipe);
dload_interrupted = 0;
mask_signal(SIGINT, &inthandler, &orig_sig_int);
/* perform transfer */
@@ -452,6 +462,7 @@ static int curl_download_internal(struct dload_payload *payload,
if(payload->respcode >= 400) {
payload->unlink_on_fail = 1;
if(!payload->errors_ok) {
handle->pm_errno = ALPM_ERR_RETRIEVE;
/* non-translated message is same as libcurl */
snprintf(error_buffer, sizeof(error_buffer),
"The requested URL returned error: %ld", payload->respcode);
@@ -473,6 +484,13 @@ static int curl_download_internal(struct dload_payload *payload,
payload->remote_name, hostname);
}
goto cleanup;
case CURLE_COULDNT_RESOLVE_HOST:
payload->unlink_on_fail = 1;
handle->pm_errno = ALPM_ERR_SERVER_BAD_URL;
_alpm_log(handle, ALPM_LOG_ERROR,
_("failed retrieving file '%s' from %s : %s\n"),
payload->remote_name, hostname, error_buffer);
goto cleanup;
default:
/* delete zero length downloads */
if(fstat(fileno(localf), &st) == 0 && st.st_size == 0) {
@@ -526,7 +544,8 @@ static int curl_download_internal(struct dload_payload *payload,
if(payload->content_disp_name) {
/* content-disposition header has a better name for our file */
free(payload->destfile_name);
payload->destfile_name = get_fullpath(localpath, payload->content_disp_name, "");
payload->destfile_name = get_fullpath(localpath,
get_filename(payload->content_disp_name), "");
} else {
const char *effective_filename = strrchr(effective_url, '/');
if(effective_filename && strlen(effective_filename) > 2) {
@@ -578,7 +597,7 @@ cleanup:
unmask_signal(SIGINT, &orig_sig_int);
unmask_signal(SIGPIPE, &orig_sig_pipe);
/* if we were interrupted, trip the old handler */
if(dload_interrupted) {
if(dload_interrupted == ABORT_SIGINT) {
raise(SIGINT);
}

View File

@@ -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

View File

@@ -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");

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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;
@@ -75,8 +73,6 @@ void _alpm_handle_free(alpm_handle_t *handle)
FREELIST(handle->known_keys);
#endif
regfree(&handle->delta_regex);
/* free memory */
_alpm_trans_free(handle->trans);
FREE(handle->root);
@@ -303,12 +299,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);
@@ -700,6 +690,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 +746,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 +784,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 +811,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 +835,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 +857,8 @@ 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;
}

View File

@@ -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
@@ -95,7 +95,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 +109,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);

View File

@@ -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;
}

View File

@@ -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 */

View File

@@ -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@

View File

@@ -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

View File

@@ -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"
@@ -38,11 +39,12 @@ 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.

View File

@@ -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
View 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())

View File

@@ -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,7 +31,6 @@
#include "log.h"
#include "util.h"
#include "db.h"
#include "delta.h"
#include "handle.h"
#include "deps.h"
@@ -374,13 +373,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);
@@ -620,9 +612,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 +683,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);

View File

@@ -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 */

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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: 2020-06-19 09:48+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:580 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:428 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:971
#, 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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, 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:1040
#, 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:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "تعذّر استقبال بعض الملفات\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "لا توجد مساحة خالية كافية على القرص\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "تعذّر بدء مُبادلة الإزالة\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, 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"

View File

@@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# enolp <enolp@softastur.org>, 2015-2016,2018
# Ḷḷumex03 <tornes@opmbx.org>, 2014
# Ḷḷumex03 <tornes@opmbx.org>, 2014
# Ḷḷumex03 <tornes@opmbx.org>, 2014-2015
# enolp <enolp@softastur.org>, 2015-2016,2018-2019
# Ḷḷumex03, 2014
# Ḷḷumex03, 2014
# Ḷḷumex03, 2014-2015
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: 2020-06-19 09:48+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:580 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:428 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:971
#, 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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, 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:1040
#, 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:859
#, 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:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, 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:1263
#, 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:1271
#, 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 ""

View File

@@ -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: 2020-06-19 09:48+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:580 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:428 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:971
#, 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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, 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:1040
#, 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:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "неуспех при извличане на файлове\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr "не успя да се прочете файла %s: %s\n"
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "няма достатъчно свободно място на диска\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "не се потвърждава транзакцията по премахване\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, 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"

View File

@@ -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: 2020-06-19 09:48+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:580 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:428 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:971
#, 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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, 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:1040
#, 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:859
#, 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:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, 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:1263
#, 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:1271
#, 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

View File

@@ -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: 2020-06-19 09:48+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:580 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:428 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:971
#, 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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, 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:1040
#, 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:859
#, 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:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, 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:1263
#, 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:1271
#, 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 ""

View File

@@ -9,14 +9,14 @@
# jakobw <jakob.wadsager@gmail.com>, 2012
# Joe Hansen <joedalton2@yahoo.dk>, 2011,2013
# scootergrisen, 2017
# scootergrisen, 2017
# 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-05-15 01:05+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"POT-Creation-Date: 2020-06-19 09:48+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"
"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:580 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:428 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:971
#, 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 ""
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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, 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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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"
@@ -796,141 +791,156 @@ msgstr "kunne ikke fjerne punkt '%s' fra cache\n"
#: lib/libalpm/signing.c:171
#, c-format
msgid "Public keyring not found; have you run '%s'?\n"
msgstr ""
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 ""
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 ""
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 ""
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 ""
#: lib/libalpm/signing.c:471
#: lib/libalpm/signing.c:548
#, c-format
msgid "key \"%s\" could not be looked up remotely\n"
msgstr ""
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:1040
#, 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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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:859
#, 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:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr "kunne ikke læse filen %s: %s\n"
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "ikke nok ledig diskplads\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, 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:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "kunne ikke indsende (commit) transaktion\n"
@@ -965,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"

View File

@@ -4,14 +4,16 @@
#
# Translators:
# Dan McGee <dpmcgee@gmail.com>, 2011
# 21db53640bd6018c4a99700a4cf2ee28_f478df7 <98034cbca98620f1cf39d6ebdfa44311_785827>, 2019-2020
# Frank Theile, 2018
# Frank Theile, 2018
# Jakob Gahde <j5lx@fmail.co.uk>, 2014-2015
# mar77i <inactive+mar77i@transifex.com>, 2013
# mar77i <inactive+mar77i@transifex.com>, 2013
# 65138391f015e4001c6ef9d675c96796_707a378 <99e420e9f3ea1b91cb2cbbb4cbc7cd27_2862>, 2013
# 65138391f015e4001c6ef9d675c96796_707a378 <99e420e9f3ea1b91cb2cbbb4cbc7cd27_2862>, 2013
# Martin Kühne <mysatyre@gmail.com>, 2017
# Matthias Gorissen <matthias@archlinux.de>, 2011
# Wieland Hoffmann <themineo+transifex@googlemail.com>, 2013
# mar77i <inactive+mar77i@transifex.com>, 2013
# 65138391f015e4001c6ef9d675c96796_707a378 <99e420e9f3ea1b91cb2cbbb4cbc7cd27_2862>, 2013
# Silvan Jegen <s.jegen@gmail.com>, 2015
# Wieland Hoffmann <themineo+transifex@googlemail.com>, 2013
# Wieland Hoffmann <themineo+transifex@googlemail.com>, 2013
@@ -19,9 +21,10 @@ 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: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2020-01-20 13:10+0000\n"
"Last-Translator: 21db53640bd6018c4a99700a4cf2ee28_f478df7 "
"<98034cbca98620f1cf39d6ebdfa44311_785827>\n"
"Language-Team: German (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/de/)\n"
"Language: de\n"
@@ -30,54 +33,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:580 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"
@@ -86,7 +89,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"
@@ -95,105 +98,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:428 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"
@@ -234,47 +237,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:971
#, 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"
@@ -299,12 +302,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"
@@ -361,39 +364,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "Konnte %s nicht herunterladen\n"
@@ -614,199 +617,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"
@@ -816,139 +814,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 "gpg-Fehler: %s\n"
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
#, c-format
msgid "keyring is not writable\n"
msgstr ""
msgstr "Schlüssebund ist nicht schreibbar\n"
#: lib/libalpm/signing.c:460
#: lib/libalpm/signing.c:539
#, c-format
msgid "key \"%s\" on keyserver\n"
msgstr "Schlüssel \"%s\" auf Schlüsselserver\n"
#: 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:1040
#, 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:859
#, 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:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr "konnte die Datei nicht lesen %s: %s\n"
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "Nicht genug freier Festplattenspeicher\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, 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:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "Konnte den Vorgang nicht durchführen\n"
@@ -983,52 +996,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 ""

View File

@@ -7,19 +7,19 @@
# Achilleas Pipinellis, 2014
# Achilleas Pipinellis, 2013
# Achilleas Pipinellis, 2013
# Christos Nouskas <nous@archlinux.us>, 2011,2013-2014,2017
# Christos Nouskas <nous@artixlinux.org>, 2011,2013-2014,2017,2019-2020
# Dan McGee <dpmcgee@gmail.com>, 2011
# ifaigios <ifaigios@gmail.com>, 2015
# ifaigios <ifaigios@gmail.com>, 2015
# Christos Nouskas <nous@archlinux.us>, 2011
# Christos Nouskas <nous@artixlinux.org>, 2011
# th_ts <tsesmelistheodore@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: Arch Linux Pacman package manager\n"
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-15 01:05+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"POT-Creation-Date: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2020-04-03 19:45+0000\n"
"Last-Translator: Christos Nouskas <nous@artixlinux.org>\n"
"Language-Team: Greek (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/el/)\n"
"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:580 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:428 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:971
#, 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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "αποτυχία λήψης %s\n"
@@ -427,12 +427,12 @@ msgstr "ανεπαρκής ελεύθερος χώρος στον δίσκο"
#: lib/libalpm/error.c:55
#, c-format
msgid "library not initialized"
msgstr "βιβλιοθήκη μη εκκινηθείσα"
msgstr "βιβλιοθήκη μη προετοιμασμένη"
#: lib/libalpm/error.c:57
#, c-format
msgid "library already initialized"
msgstr "βιβλιοθήκη ήδη εκκινηθείσα"
msgstr "βιβλιοθήκη ήδη προετοιμασμένη"
#: lib/libalpm/error.c:59
#, c-format
@@ -452,7 +452,7 @@ msgstr "αδυναμία δημιουργίας βάσης"
#: lib/libalpm/error.c:66
#, c-format
msgid "database not initialized"
msgstr "βάση μη εκκινηθείσα"
msgstr "βάση μη προετοιμασμένη"
#: lib/libalpm/error.c:68
#, c-format
@@ -502,12 +502,12 @@ msgstr "αρρύθμιστοι διακομιστές αποθετηρίου"
#: lib/libalpm/error.c:88
#, c-format
msgid "transaction already initialized"
msgstr "διεκπεραίωση ήδη εκκινηθείσα"
msgstr "διεκπεραίωση ήδη προετοιμασμένη"
#: lib/libalpm/error.c:90 lib/libalpm/error.c:94
#, c-format
msgid "transaction not initialized"
msgstr "διεκπεραίωση μη εκκινηθείσα"
msgstr "διεκπεραίωση μη προετοιμασμένη"
#: lib/libalpm/error.c:92
#, c-format
@@ -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 ""
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 ""
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 ""
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:1040
#, 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:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "σφάλμα λήψης μερικών αρχείων\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr "αποτυχία ανάγνωσης αρχείου %s: %s\n"
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "μη αρκετός ελεύθερος χώρος στο δίσκο\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "αδυναμία διεκπεραίωσης διαγραφής\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, 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"

View File

@@ -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: 2020-06-19 09:48+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:580 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:428 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:971
#, 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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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:538
#, 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:683 lib/libalpm/dload.c:712
#, 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:1040
#, 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:859
#, 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:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr "failed to read file %s: %s\n"
#: lib/libalpm/sync.c:1241
#, 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:1263
#, 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:1271
#, 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"

File diff suppressed because it is too large Load Diff

View File

@@ -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-2017
# 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-05-15 01:34+0000\n"
"Last-Translator: Swyter <Swyterzone@gmail.com>\n"
"POT-Creation-Date: 2020-06-19 09:48+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 a una versión anterior del paquete %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:580 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,105 +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 "extracto: no se puede sobrescribir el directorio con el archivo %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:428 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"
@@ -210,7 +213,7 @@ msgstr "error al leer el paquete %s: %s\n"
#: lib/libalpm/be_package.c:493 lib/libalpm/be_package.c:517
#, c-format
msgid "error while reading mtree of package %s: %s\n"
msgstr "error al leer mtree del paquete %s: %s\n"
msgstr "error al leer «mtree» del paquete %s: %s\n"
#: lib/libalpm/be_package.c:603
#, c-format
@@ -237,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 firma: %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:971
#, 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 "eliminando archivo no válido: %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"
@@ -291,7 +294,7 @@ msgstr "la ruta de la base de datos no está definida\n"
#: lib/libalpm/deps.c:184
#, c-format
msgid "dependency cycle detected:\n"
msgstr "bucle de dependencias detectado:\n"
msgstr "se ha detectado un bucle de dependencias:\n"
#: lib/libalpm/deps.c:187
#, c-format
@@ -303,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"
@@ -342,8 +345,8 @@ msgstr "no se pudo determinar el punto de montaje para el archivo %s\n"
#, c-format
msgid "Partition %s too full: %jd blocks needed, %ju blocks free\n"
msgstr ""
"La partición %s está llena: se necesitan %jd bloques, hay %ju bloques "
"libres\n"
"La partición %s está demasiado llena: se necesitan %jd bloques, hay %ju "
"bloques libres\n"
#: lib/libalpm/diskspace.c:379 lib/libalpm/diskspace.c:433
#, c-format
@@ -367,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, 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 descarga supera "
"lo esperado\n"
"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:538
#, 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:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "no se pudo descargar %s\n"
@@ -427,7 +430,7 @@ msgstr "no se pudo encontrar o leer el archivo"
#: lib/libalpm/error.c:48
#, c-format
msgid "could not find or read directory"
msgstr "no se pudo encontrar (o leer) el directorio"
msgstr "no se pudo encontrar o leer el directorio"
#: lib/libalpm/error.c:50
#, c-format
@@ -492,7 +495,7 @@ msgstr "base de datos no válida o dañada (firma PGP)"
#: lib/libalpm/error.c:76
#, c-format
msgid "database is incorrect version"
msgstr "la base de datos es de una versión incorrecta"
msgstr "la versión de la base de datos es incorrecta"
#: lib/libalpm/error.c:78
#, c-format
@@ -527,7 +530,7 @@ msgstr "la operación no está iniciada"
#: lib/libalpm/error.c:92
#, c-format
msgid "duplicate target"
msgstr "objetivo duplicado"
msgstr "paquete duplicado"
#: lib/libalpm/error.c:96
#, c-format
@@ -620,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 "Faltan objetivos del «trigger» en el «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 "Falta el tipo del «trigger» en el «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 "Falta la operación del «trigger» en el «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 "El «hook» PostTransaction se ha establecido como AbortOnFail: %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 -- ignorándolo\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 objetivos\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"
@@ -824,147 +822,161 @@ msgstr "no se pudo quitar la entrada «%s» de la caché\n"
#, c-format
msgid "Public keyring not found; have you run '%s'?\n"
msgstr ""
"No se ha encontrado el llavero de claves público; ¿ya se ha ejecutado «%s»?\n"
"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 llavero de claves\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:1040
#, 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 objetivos debido a que tiene conflictos con "
"quitando «%s» de la lista de paquetes debido a que tiene conflictos con "
"«%s»\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, 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:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr "no se pudo leer el archivo %s: %s\n"
#: lib/libalpm/sync.c:1241
#, 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:1263
#, 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:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "no se pudo realizar la operación\n"
@@ -999,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 ""

View File

@@ -5,21 +5,22 @@
# Translators:
# Angel Velasquez <angvp@archlinux.org>, 2011
# Dan McGee <dpmcgee@gmail.com>, 2011
# ice <ice.modding@gmail.com>, 2016
# ice, 2016
# Juan Antonio Cánovas Pérez <traumness@gmail.com>, 2011
# juantascon <juantascon@gmail.com>, 2011
# ice <ice.modding@gmail.com>, 2016
# ice, 2016
# 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>, 2015,2017
# Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] <prflr88@gmail.com>, 2015
# Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] <prflr88@gmail.com>, 2015,2017
# prflr88 <prflr88@gmail.com>, 2015,2017
# prflr88 <prflr88@gmail.com>, 2015
# prflr88 <prflr88@gmail.com>, 2015,2017
# prflr88 <prflr88@gmail.com>, 2015,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: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"Language-Team: Spanish (Latin America) (http://www.transifex.com/toofishes/"
"archlinux-pacman/language/es_419/)\n"
@@ -29,54 +30,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 ya está actualizado -- omitiendo\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 ya está actualizado -- reinstalando\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "regresando a una versión anterior del paquete %s (%s => %s)\n"
#: lib/libalpm/add.c:124
#: lib/libalpm/add.c:129
#, c-format
msgid "cannot allocate disk archive object"
msgstr "No se puede asignar objeto de archivo de disco"
#: 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 "alerta producida 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:580 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 "
"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"
@@ -85,7 +86,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"
@@ -94,105 +95,105 @@ 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 "extracto: 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 durante la lectura del 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:428 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"
@@ -233,48 +234,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 firma: %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "la clave requerida no está presente en el llavero\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "eliminando 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 ""
#: 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 "
"es ilegal\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"
@@ -299,12 +300,12 @@ msgstr "%s será eliminado después de su dependencia %s\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "%s será instalado antes que 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"
@@ -365,39 +366,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 como solamente 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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, 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:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"no se pudo obtener el archivo «%s» desde %s : tamaño de la descarga superior "
"del esperado\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, 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:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "no se pudo descargar %s\n"
@@ -618,200 +619,195 @@ 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 ""
#: 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 eliminar 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 ""
#: 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 "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 ""
#: 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 ""
#: 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 -- ignorá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 objetivos\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 ""
#: lib/libalpm/remove.c:561
#: lib/libalpm/remove.c:562
#, c-format
msgid "cannot remove %s (%s)\n"
msgstr "no se pudo eliminar %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"
@@ -821,141 +817,156 @@ msgstr "no se pudo quitar 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:1040
#, 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 ""
#: 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: 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 irresolubles\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 objetivos debido a que tiene conflictos con "
"«%s»\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, 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:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, 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:1263
#, 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:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "no se pudo realizar la operación\n"
@@ -990,52 +1001,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 ""

View File

@@ -9,8 +9,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: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"Language-Team: Basque (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/eu/)\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 egunean dago -- ezikusi\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 egunean dago -- berrinstalatu\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "bertsio zahartzen %s paketea (%s => %s)\n"
#: lib/libalpm/add.c:124
#: lib/libalpm/add.c:129
#, c-format
msgid "cannot allocate disk archive object"
msgstr "ezin da artxibo-objektua esleitu"
#: 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 "oharra eman da %s erauztean (%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 "ezin izan da %s erauzi (%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:580 lib/libalpm/remove.c:542
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "ezin izan da %s berrizendatu %s gisa (%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 ""
"ez da fitxategia aurkitu %s paketearen fitxategi zerrendan. %s ez da "
"erauziko\n"
#: lib/libalpm/add.c:214
#: lib/libalpm/add.c:219
#, c-format
msgid "unable to extract %s%s: path too long"
msgstr "ezin izan da %s%s erauzi: bidea luzeegia da"
#: lib/libalpm/add.c:256
#: lib/libalpm/add.c:261
#, c-format
msgid ""
"directory permissions differ on %s\n"
@@ -76,7 +76,7 @@ msgstr ""
"direktorioaren baimenak desberdinak dira hemen %s\n"
"fitxategi sistema: %o paketea: %o\n"
#: lib/libalpm/add.c:271
#: lib/libalpm/add.c:276
#, c-format
msgid ""
"directory ownership differs on %s\n"
@@ -86,103 +86,103 @@ msgstr ""
"fitxategi sistema: %u:%u paketea: %u:%u\n"
"\n"
#: lib/libalpm/add.c:287
#: lib/libalpm/add.c:292
#, c-format
msgid "extract: not overwriting dir with file %s\n"
msgstr "erauzi: ez da direktorioa %s fitxategiarekin gainidatziko\n"
#: lib/libalpm/add.c:315
#: lib/libalpm/add.c:320
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "ezin izan da %s.pacnew erauzi: bidea luzeegia da"
#: 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 "ezin izan da uneko lan direktorioa lortu\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 "ezin izan da direktorioa hona aldatu %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 "ezin izan da laneko direktorioa berreskuratu (%s)\n"
#: lib/libalpm/add.c:578
#: lib/libalpm/add.c:583
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "arazo bat egon da %s bertsio berritzean\n"
#: lib/libalpm/add.c:584
#: lib/libalpm/add.c:589
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "arazo bat egon da %s instalatzean\n"
#: lib/libalpm/add.c:599
#: lib/libalpm/add.c:604
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "ezin izan da datu-base sarrera eguneratu %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 "ezin izan da '%s' sarrera katxean gehitu\n"
#: lib/libalpm/be_local.c:255
#: lib/libalpm/be_local.c:267
#, c-format
msgid "error while reading file %s: %s\n"
msgstr "errorea %s fitxategia irakurtzean: %s\n"
#: lib/libalpm/be_local.c:350
#: lib/libalpm/be_local.c:364
#, c-format
msgid "removing invalid database: %s\n"
msgstr "datu-base baliogabea ezabatzen:%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 ""
"ezin izan da %s direktorioa sortu: %s\n"
"\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 "izen baliogabea '%s' datu-base sarreran\n"
#: lib/libalpm/be_local.c:584
#: lib/libalpm/be_local.c:598
#, c-format
msgid "duplicated database entry '%s'\n"
msgstr "bikoiztutako datu-base sarrera '%s'\n"
#: lib/libalpm/be_local.c:596
#: lib/libalpm/be_local.c:610
#, c-format
msgid "corrupted database entry '%s'\n"
msgstr "datu-base sarrera hondatua '%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:428 lib/libalpm/util.c:253
#: lib/libalpm/util.c:269
#, c-format
msgid "could not open file %s: %s\n"
msgstr "ezin izan da %s fitxategia ireki: %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 datu-basea kontraesankorra da: izenak ez datoz bat %s paketean\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 datu-basea kontraesankorra da: bertsioak ez datoz bat %s paketean\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 "Balidazio mota ezezaguna %s paketearentzat: %s\n"
@@ -223,45 +223,45 @@ msgstr "paketearen bertsio baliogabea hemen %s\n"
msgid "missing package metadata in %s\n"
msgstr "paketearen metadatuak falta dira hemen: %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 "sinadura fitxategiaren irakurketak huts egin du: %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "beharrezko gakoa falta da gako sortan\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "fitxategi baliogabea ezabatzen: %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 "ezin izan da '%s' fitxategi deskripzioa prozesatu '%s' datu-basetik\n"
#: lib/libalpm/be_sync.c:524
#: lib/libalpm/be_sync.c:522
#, c-format
msgid "could not read db '%s' (%s)\n"
msgstr "ezin izan da '%s' datu-basea irakurri (%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 datu-basea kontraesankorra da: %s paketearen fitxategi izena legez "
"kanpokoa da\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 datu-basea kontraesankorra da: %s paketearen fitxategi izena luzeegia da\n"
#: lib/libalpm/be_sync.c:634
#: lib/libalpm/be_sync.c:632
#, c-format
msgid "unknown database file: %s\n"
msgstr "datu-base fitxategi ezezaguna: %s\n"
@@ -286,12 +286,12 @@ msgstr "%s ezabatuko da bere %s menpekotasuna eta gero\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "%s instalatuko da bere %s menpekotasuna baino lehenago\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 "paketea ezikusten %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 "ezin ebatzi \"%s\", \"%s\" paketearen menpekotasun bat\n"
@@ -347,41 +347,41 @@ msgstr "ezin izan da %s erro muntatze puntua zehaztu\n"
msgid "Partition %s is mounted read only\n"
msgstr "%s partizioa soilik irakurtzeko moduan muntatuta dago\n"
#: lib/libalpm/dload.c:159
#: lib/libalpm/dload.c:161
#, c-format
msgid "disk"
msgstr "diskoa"
#: lib/libalpm/dload.c:345
#: lib/libalpm/dload.c:348
#, c-format
msgid "failed to create temporary file for download\n"
msgstr "huts egin du deskargarako behin behineko fitxategiaren sorrerak\n"
#: lib/libalpm/dload.c:390
#: lib/libalpm/dload.c:393
#, c-format
msgid "url '%s' is invalid\n"
msgstr ""
"'%s' url baliogabea da\n"
"\n"
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "huts egin du '%s' fitxategia '%s'-tik erauzteak: %s\n"
#: lib/libalpm/dload.c:472
#: lib/libalpm/dload.c:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"huts egin du '%s' fitxategia eskuratzean hemendik: %s : aurreikusitako "
"deskarga tamaina gainditu da\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s ez dago osorik antza: %jd/%jd byte\n"
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "%s deskargatzeak huts egin du\n"
@@ -601,199 +601,194 @@ msgstr "PGP sinadura falta da"
msgid "invalid PGP signature"
msgstr "PGP sinadura baliogabea"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "delta baliogabea edo hondatua"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "delta adabakiak huts egin du"
#: 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 "ezin dira menpekotasunak bete"
#: lib/libalpm/error.c:142
#: lib/libalpm/error.c:137
#, c-format
msgid "conflicting dependencies"
msgstr "menpekotasunen arteko gatazka"
#: lib/libalpm/error.c:144
#: lib/libalpm/error.c:139
#, c-format
msgid "conflicting files"
msgstr "fitxategien arteko gatazka"
#: lib/libalpm/error.c:147
#: lib/libalpm/error.c:142
#, c-format
msgid "failed to retrieve some files"
msgstr "ezin izan dira fitxategi batzuk eskuratu"
#: lib/libalpm/error.c:149
#: lib/libalpm/error.c:144
#, c-format
msgid "invalid regular expression"
msgstr "adierazpen erregular baliogabea"
#: lib/libalpm/error.c:155
#: lib/libalpm/error.c:150
#, c-format
msgid "libarchive error"
msgstr "libarchive errorea"
#: lib/libalpm/error.c:157
#: lib/libalpm/error.c:152
#, c-format
msgid "download library error"
msgstr "errorea liburutegia deskargatzean"
#: lib/libalpm/error.c:159
#: lib/libalpm/error.c:154
#, c-format
msgid "gpgme error"
msgstr "gpgme errorea"
#: lib/libalpm/error.c:161
#: lib/libalpm/error.c:156
#, c-format
msgid "error invoking external downloader"
msgstr "errorea kanpo deskarga programa deitzean"
#: 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 "ustegabeko errorea"
#: lib/libalpm/handle.c:157
#: lib/libalpm/handle.c:153
#, c-format
msgid "lock file missing %s\n"
msgstr "blokeo fitxategia falta da %s\n"
#: lib/libalpm/handle.c:163
#: lib/libalpm/handle.c:159
#, c-format
msgid "could not remove lock file %s\n"
msgstr "ezin izan da %s blokeo fitxategia ezabatu\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 "ezin izan da direktorioa ireki: %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 "ezin izan da fitxategiaren egoera zehaztu: %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 "ezin izan dira %s-%s paketearen meta-datuak guztiz kargatu\n"
#: lib/libalpm/remove.c:118
#: lib/libalpm/remove.c:119
#, c-format
msgid "could not find %s in database -- skipping\n"
msgstr "ezin izan da %s aurkitu datu-basean -- ezikusi\n"
#: lib/libalpm/remove.c:153
#: lib/libalpm/remove.c:154
#, c-format
msgid "removing %s from target list\n"
msgstr "%s helburu zerrendatik ezabatzen\n"
#: lib/libalpm/remove.c:345
#: lib/libalpm/remove.c:346
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "ezin '%s' fitxategia ezabatu: %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 "ezin ezabatu %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 "ezin izan da datu-base sarrera ezabatu %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 "ezin izan da '%s' sarrera ezabatu katxetik\n"
@@ -803,139 +798,154 @@ msgstr "ezin izan da '%s' sarrera ezabatu katxetik\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:1040
#, c-format
msgid "%s: missing required signature\n"
msgstr "%s: beharrezko sinadura falta da\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: ezikusi pakete bertsio berritzea (%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: ezikusi paketea bertsio zahartzea (%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: bertsio zahartzen %s bertsiotik %s bertsiora\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: lokala (%s) %s (%s) baino berriagoa da\n"
#: lib/libalpm/sync.c:160
#: lib/libalpm/sync.c:161
#, c-format
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
msgstr "ezikusi pakete ordezkapena (%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 "ezin %s ordezkatu %s paketearekin\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 "ebatzi ezineko paketeen arteko gatazka detektatu da\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' helburutik ezabatzen gatazka sortzen duelako '%s' paketearekin\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "fitxategi batzuk eskuratzeak huts egin du\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "ez dago behar beste leku libre diskoan\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "ezin izan da ezabaketa transakzioa egikaritu\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "ezin izan da transakzioa egikaritu\n"
@@ -970,52 +980,52 @@ msgstr "ezin izan da kanalizazioan idatzi (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "ezin izan da kanalizaziotik irakurri (%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 "ezin izan da kanalizazioa sortu (%s)\n"
#: lib/libalpm/util.c:604
#: lib/libalpm/util.c:623
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "ezin izan da prozesu berri bat sardetu (%s)\n"
#: lib/libalpm/util.c:627
#: lib/libalpm/util.c:646
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ezin izan da erro direktorioa aldatu (%s)\n"
#: lib/libalpm/util.c:638
#: lib/libalpm/util.c:658
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv deiak huts egin du (%s)\n"
#: lib/libalpm/util.c:709
#: lib/libalpm/util.c:737
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid deiak huts egin du (%s)\n"
#: lib/libalpm/util.c:719
#: lib/libalpm/util.c:747
#, c-format
msgid "command failed to execute correctly\n"
msgstr "komandoa ez da behar bezala exekutatu\n"
#: lib/libalpm/util.c:726
#: lib/libalpm/util.c:754
#, c-format
msgid "Unknown signal"
msgstr "Seinale ezezaguna"
#: lib/libalpm/util.c:728
#: lib/libalpm/util.c:756
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "%d seinaleak eten du komandoa: %s\n"
#: lib/libalpm/util.c:825
#: lib/libalpm/util.c:853
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "ez dago %s katxerik, sortzen...\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 "ezin izan da pakete katxea aurkitu edo sortu, %s erabiliko da ordez\n"

View File

@@ -8,8 +8,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: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"Language-Team: Basque (Spain) (http://www.transifex.com/toofishes/archlinux-"
"pacman/language/eu_ES/)\n"
@@ -19,54 +19,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 egunean dago -- ezikusi\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 egunean dago -- berrinstalatu\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "bertsio zahartzen %s paketea (%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 "oharra eman da %s erauztean (%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 "ezin izan da %s erauzi (%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:580 lib/libalpm/remove.c:542
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "ezin izan da %s berrizendatu %s gisa (%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 ""
"ez da fitxategia aurkitu %s paketearen fitxategi zerrendan. %s ez da "
"erauziko\n"
#: lib/libalpm/add.c:214
#: lib/libalpm/add.c:219
#, c-format
msgid "unable to extract %s%s: path too long"
msgstr "ezin izan da %s%s erauzi: bidea luzeegia da"
#: lib/libalpm/add.c:256
#: lib/libalpm/add.c:261
#, c-format
msgid ""
"directory permissions differ on %s\n"
@@ -75,7 +75,7 @@ msgstr ""
"direktorioaren baimenak desberdinak dira hemen %s\n"
"fitxategi sistema: %o paketea: %o\n"
#: lib/libalpm/add.c:271
#: lib/libalpm/add.c:276
#, c-format
msgid ""
"directory ownership differs on %s\n"
@@ -85,103 +85,103 @@ msgstr ""
"fitxategi sistema: %u:%u paketea: %u:%u\n"
"\n"
#: lib/libalpm/add.c:287
#: lib/libalpm/add.c:292
#, c-format
msgid "extract: not overwriting dir with file %s\n"
msgstr "erauzi: ez da direktorioa %s fitxategiarekin gainidatziko\n"
#: lib/libalpm/add.c:315
#: lib/libalpm/add.c:320
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "ezin izan da %s.pacnew erauzi: bidea luzeegia da"
#: 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 "ezin izan da uneko lan direktorioa lortu\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 "ezin izan da direktorioa hona aldatu %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 "ezin izan da laneko direktorioa berreskuratu (%s)\n"
#: lib/libalpm/add.c:578
#: lib/libalpm/add.c:583
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "arazo bat egon da %s bertsio berritzean\n"
#: lib/libalpm/add.c:584
#: lib/libalpm/add.c:589
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "arazo bat egon da %s instalatzean\n"
#: lib/libalpm/add.c:599
#: lib/libalpm/add.c:604
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "ezin izan da datu-base sarrera eguneratu %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 "ezin izan da '%s' sarrera katxean gehitu\n"
#: lib/libalpm/be_local.c:255
#: lib/libalpm/be_local.c:267
#, c-format
msgid "error while reading file %s: %s\n"
msgstr "errorea %s fitxategia irakurtzean: %s\n"
#: lib/libalpm/be_local.c:350
#: lib/libalpm/be_local.c:364
#, c-format
msgid "removing invalid database: %s\n"
msgstr "datu-base baliogabea ezabatzen:%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 ""
"ezin izan da %s direktorioa sortu: %s\n"
"\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 "izen baliogabea '%s' datu-base sarreran\n"
#: lib/libalpm/be_local.c:584
#: lib/libalpm/be_local.c:598
#, c-format
msgid "duplicated database entry '%s'\n"
msgstr "bikoiztutako datu-base sarrera '%s'\n"
#: lib/libalpm/be_local.c:596
#: lib/libalpm/be_local.c:610
#, c-format
msgid "corrupted database entry '%s'\n"
msgstr "datu-base sarrera hondatua '%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:428 lib/libalpm/util.c:253
#: lib/libalpm/util.c:269
#, c-format
msgid "could not open file %s: %s\n"
msgstr "ezin izan da %s fitxategia ireki: %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 datu-basea kontraesankorra da: izenak ez datoz bat %s paketean\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 datu-basea kontraesankorra da: bertsioak ez datoz bat %s paketean\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 "Balidazio mota ezezaguna %s paketearentzat: %s\n"
@@ -222,45 +222,45 @@ msgstr "paketearen bertsio baliogabea hemen %s\n"
msgid "missing package metadata in %s\n"
msgstr "paketearen metadatuak falta dira hemen: %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 "sinadura fitxategiaren irakurketak huts egin du: %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "beharrezko gakoa falta da gako sortan\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "fitxategi baliogabea ezabatzen: %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 "ezin izan da '%s' fitxategi deskripzioa prozesatu '%s' datu-basetik\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 datu-basea kontraesankorra da: %s paketearen fitxategi izena legez "
"kanpokoa da\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 datu-basea kontraesankorra da: %s paketearen fitxategi izena luzeegia da\n"
#: lib/libalpm/be_sync.c:634
#: lib/libalpm/be_sync.c:632
#, c-format
msgid "unknown database file: %s\n"
msgstr "datu-base fitxategi ezezaguna: %s\n"
@@ -285,12 +285,12 @@ msgstr "%s ezabatuko da bere %s menpekotasuna eta gero\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "%s instalatuko da bere %s menpekotasuna baino lehenago\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 "paketea ezikusten %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 "ezin ebatzi \"%s\", \"%s\" paketearen menpekotasun bat\n"
@@ -346,41 +346,41 @@ msgstr "ezin izan da %s erro muntatze puntua zehaztu\n"
msgid "Partition %s is mounted read only\n"
msgstr "%s partizioa soilik irakurtzeko moduan muntatuta dago\n"
#: lib/libalpm/dload.c:159
#: lib/libalpm/dload.c:161
#, c-format
msgid "disk"
msgstr "diskoa"
#: lib/libalpm/dload.c:345
#: lib/libalpm/dload.c:348
#, c-format
msgid "failed to create temporary file for download\n"
msgstr "huts egin du deskargarako behin behineko fitxategiaren sorrerak\n"
#: lib/libalpm/dload.c:390
#: lib/libalpm/dload.c:393
#, c-format
msgid "url '%s' is invalid\n"
msgstr ""
"'%s' url baliogabea da\n"
"\n"
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "huts egin du '%s' fitxategia '%s'-tik erauzteak: %s\n"
#: lib/libalpm/dload.c:472
#: lib/libalpm/dload.c:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"huts egin du '%s' fitxategia eskuratzean hemendik: %s : aurreikusitako "
"deskarga tamaina gainditu da\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s ez dago osorik antza: %jd/%jd byte\n"
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "%s deskargatzeak huts egin du\n"
@@ -600,199 +600,194 @@ msgstr "PGP sinadura falta da"
msgid "invalid PGP signature"
msgstr "PGP sinadura baliogabea"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "delta baliogabea edo hondatua"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "delta adabakiak huts egin du"
#: 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 "ezin dira menpekotasunak bete"
#: lib/libalpm/error.c:142
#: lib/libalpm/error.c:137
#, c-format
msgid "conflicting dependencies"
msgstr "menpekotasunen arteko gatazka"
#: lib/libalpm/error.c:144
#: lib/libalpm/error.c:139
#, c-format
msgid "conflicting files"
msgstr "fitxategien arteko gatazka"
#: lib/libalpm/error.c:147
#: lib/libalpm/error.c:142
#, c-format
msgid "failed to retrieve some files"
msgstr "ezin izan dira fitxategi batzuk eskuratu"
#: lib/libalpm/error.c:149
#: lib/libalpm/error.c:144
#, c-format
msgid "invalid regular expression"
msgstr "adierazpen erregular baliogabea"
#: lib/libalpm/error.c:155
#: lib/libalpm/error.c:150
#, c-format
msgid "libarchive error"
msgstr "libarchive errorea"
#: lib/libalpm/error.c:157
#: lib/libalpm/error.c:152
#, c-format
msgid "download library error"
msgstr "errorea liburutegia deskargatzean"
#: lib/libalpm/error.c:159
#: lib/libalpm/error.c:154
#, c-format
msgid "gpgme error"
msgstr "gpgme errorea"
#: lib/libalpm/error.c:161
#: lib/libalpm/error.c:156
#, c-format
msgid "error invoking external downloader"
msgstr "errorea kanpo deskarga programa deitzean"
#: 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 "ustegabeko errorea"
#: lib/libalpm/handle.c:157
#: lib/libalpm/handle.c:153
#, c-format
msgid "lock file missing %s\n"
msgstr "blokeo fitxategia falta da %s\n"
#: lib/libalpm/handle.c:163
#: lib/libalpm/handle.c:159
#, c-format
msgid "could not remove lock file %s\n"
msgstr "ezin izan da %s blokeo fitxategia ezabatu\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 "ezin izan da direktorioa ireki: %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 "ezin izan da fitxategiaren egoera zehaztu: %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 "ezin izan dira %s-%s paketearen meta-datuak guztiz kargatu\n"
#: lib/libalpm/remove.c:118
#: lib/libalpm/remove.c:119
#, c-format
msgid "could not find %s in database -- skipping\n"
msgstr "ezin izan da %s aurkitu datu-basean -- ezikusi\n"
#: lib/libalpm/remove.c:153
#: lib/libalpm/remove.c:154
#, c-format
msgid "removing %s from target list\n"
msgstr "%s helburu zerrendatik ezabatzen\n"
#: lib/libalpm/remove.c:345
#: lib/libalpm/remove.c:346
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "ezin '%s' fitxategia ezabatu: %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 "ezin ezabatu %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 "ezin izan da datu-base sarrera ezabatu %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 "ezin izan da '%s' sarrera ezabatu katxetik\n"
@@ -802,139 +797,154 @@ msgstr "ezin izan da '%s' sarrera ezabatu katxetik\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:1040
#, c-format
msgid "%s: missing required signature\n"
msgstr "%s: beharrezko sinadura falta da\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: ezikusi pakete bertsio berritzea (%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: ezikusi paketea bertsio zahartzea (%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: bertsio zahartzen %s bertsiotik %s bertsiora\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: lokala (%s) %s (%s) baino berriagoa da\n"
#: lib/libalpm/sync.c:160
#: lib/libalpm/sync.c:161
#, c-format
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
msgstr "ezikusi pakete ordezkapena (%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 "ezin %s ordezkatu %s paketearekin\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 "ebatzi ezineko paketeen arteko gatazka detektatu da\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' helburutik ezabatzen gatazka sortzen duelako '%s' paketearekin\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "fitxategi batzuk eskuratzeak huts egin du\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "ez dago behar beste leku libre diskoan\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "ezin izan da ezabaketa transakzioa egikaritu\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "ezin izan da transakzioa egikaritu\n"
@@ -969,52 +979,52 @@ msgstr "ezin izan da kanalizazioan idatzi (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "ezin izan da kanalizaziotik irakurri (%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 "ezin izan da kanalizazioa sortu (%s)\n"
#: lib/libalpm/util.c:604
#: lib/libalpm/util.c:623
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "ezin izan da prozesu berri bat sardetu (%s)\n"
#: lib/libalpm/util.c:627
#: lib/libalpm/util.c:646
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ezin izan da erro direktorioa aldatu (%s)\n"
#: lib/libalpm/util.c:638
#: lib/libalpm/util.c:658
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv deiak huts egin du (%s)\n"
#: lib/libalpm/util.c:709
#: lib/libalpm/util.c:737
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid deiak huts egin du (%s)\n"
#: lib/libalpm/util.c:719
#: lib/libalpm/util.c:747
#, c-format
msgid "command failed to execute correctly\n"
msgstr "komandoa ez da behar bezala exekutatu\n"
#: lib/libalpm/util.c:726
#: lib/libalpm/util.c:754
#, c-format
msgid "Unknown signal"
msgstr "Seinale ezezaguna"
#: lib/libalpm/util.c:728
#: lib/libalpm/util.c:756
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "%d seinaleak eten du komandoa: %s\n"
#: lib/libalpm/util.c:825
#: lib/libalpm/util.c:853
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "ez dago %s katxerik, sortzen...\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 "ezin izan da pakete katxea aurkitu edo sortu, %s erabiliko da ordez\n"

View File

@@ -18,8 +18,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: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"Language-Team: Finnish (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/fi/)\n"
@@ -29,54 +29,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 on ajan tasalla -- ohitetaan\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 on ajan tasalla -- asennetaan uudelleen\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "varhennetaan paketti %s (%s => %s)\n"
#: lib/libalpm/add.c:124
#: lib/libalpm/add.c:129
#, c-format
msgid "cannot allocate disk archive object"
msgstr "levyn arkisto-objektia ei voida varata"
#: 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 "annettiin varoitus purettaessa %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 "tiedostoa %s ei voitu purkaa (%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:580 lib/libalpm/remove.c:542
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "kohdetta %s ei voitu nimetä uudelleen kohteeksi %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 ""
"tiedostoa ei löydy paketin %s tiedostolistalta. ohitetaan paketin %s "
"purkaminen\n"
#: lib/libalpm/add.c:214
#: lib/libalpm/add.c:219
#, c-format
msgid "unable to extract %s%s: path too long"
msgstr "ei voitu purkaa %s%s: polku liian pitkä"
#: lib/libalpm/add.c:256
#: lib/libalpm/add.c:261
#, c-format
msgid ""
"directory permissions differ on %s\n"
@@ -85,7 +85,7 @@ msgstr ""
"kansion oikeuksissa eroavaisuuksia kohdassa %s\n"
"tiedostojärjestelmä: %o paketti: %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 ""
"kansion omistajuus eroaa tiedostossa %s\n"
"tiedostojärjestelmä: %u:%u paketti: %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 "purku: kansiota ei korvata tiedostolla %s\n"
#: lib/libalpm/add.c:315
#: lib/libalpm/add.c:320
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "ei voitu purkaa %s.pacnew: polku liian pitkä"
#: 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 "nykyisen kansion sijaintia ei voitu määrittää\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 "ei voitu vaihtaa kansioon %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 "työhakemistoa ei voitu palauttaa (%s)\n"
#: lib/libalpm/add.c:578
#: lib/libalpm/add.c:583
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "pakettia %s päivitettäessä tapahtui virhe\n"
#: lib/libalpm/add.c:584
#: lib/libalpm/add.c:589
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "pakettia %s asennettaessa tapahtui virhe\n"
#: lib/libalpm/add.c:599
#: lib/libalpm/add.c:604
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "ei voitu päivittää tietokantamerkintää: %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 "merkintää '%s' ei voitu lisätä välimuistiin\n"
#: lib/libalpm/be_local.c:255
#: lib/libalpm/be_local.c:267
#, c-format
msgid "error while reading file %s: %s\n"
msgstr "virhe luettaessa tiedostoa %s: %s\n"
#: lib/libalpm/be_local.c:350
#: lib/libalpm/be_local.c:364
#, c-format
msgid "removing invalid database: %s\n"
msgstr "poistetaan virheellinen tietokanta: %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 "kansiota %s ei voitu luoda: %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 "virheellinen nimi tietokantamerkinnälle '%s'\n"
#: lib/libalpm/be_local.c:584
#: lib/libalpm/be_local.c:598
#, c-format
msgid "duplicated database entry '%s'\n"
msgstr "tietokantamerkintä '%s' on useampaan kertaan\n"
#: lib/libalpm/be_local.c:596
#: lib/libalpm/be_local.c:610
#, c-format
msgid "corrupted database entry '%s'\n"
msgstr "vahingoittunut tietokantamerkintä '%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:428 lib/libalpm/util.c:253
#: lib/libalpm/util.c:269
#, c-format
msgid "could not open file %s: %s\n"
msgstr "tiedostoa %s ei voitu avata: %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 "tietokanta %s on epäyhtenäinen: paketin %s nimi ei täsmää\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 "tietokanta %s on epäyhtenäinen: paketin %s versio ei täsmää\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 "tuntematon validointityyppi paketille %s: %s\n"
@@ -229,44 +229,44 @@ msgstr "virheellinen paketin versio tiedostossa %s\n"
msgid "missing package metadata in %s\n"
msgstr "paketin metadata puuttuu tiedostosta %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 "allekirjoitustiedoston lukeminen epäonnistui: %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "vaadittu avain puuttuu avainrenkaasta\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "poistetaan virheellinen tiedosto: %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 "paketin kuvaustiedostoa '%s' ei voitu jäsentää tietokannassa '%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 ""
"tietokanta %s on epäyhtenäinen: paketin %s tiedostonimi on virheellinen\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 ""
"tietokanta %s on epäyhtenäinen: paketin %s tiedostonimi on liian pitkä\n"
#: lib/libalpm/be_sync.c:634
#: lib/libalpm/be_sync.c:632
#, c-format
msgid "unknown database file: %s\n"
msgstr "tuntematon tietokantatiedosto: %s\n"
@@ -291,12 +291,12 @@ msgstr "%s poistetaan riippuvuutensa %s jälkeen\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "%s asennetaan ennen riippuvuuttansa %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 "ohitetaan paketti %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 "pakettia '%s' ei voida selvittää; se on paketin '%s' riippuvuus\n"
@@ -351,39 +351,39 @@ msgstr "juuren %s liitospistettä ei voitu selvittää\n"
msgid "Partition %s is mounted read only\n"
msgstr "Osio %s on liitetty vain lukutilassa\n"
#: lib/libalpm/dload.c:159
#: lib/libalpm/dload.c:161
#, c-format
msgid "disk"
msgstr "levy"
#: lib/libalpm/dload.c:345
#: lib/libalpm/dload.c:348
#, c-format
msgid "failed to create temporary file for download\n"
msgstr "väliaikaistiedoston luonti lataamista varten epäonnistui\n"
#: lib/libalpm/dload.c:390
#: lib/libalpm/dload.c:393
#, c-format
msgid "url '%s' is invalid\n"
msgstr "osoite '%s' on virheellinen\n"
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "tiedoston '%s' nouto palvelimelta %s epäonnistui : %s\n"
#: lib/libalpm/dload.c:472
#: lib/libalpm/dload.c:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"tiedoston '%s' noutaminen koneelta %s epäonnistui: odotettu latauskoko "
"ylittyi\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s näyttää katkenneen: %jd/%jd tavua\n"
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "%s: lataus epäonnistui\n"
@@ -603,199 +603,194 @@ msgstr "puuttuva PGP-allekirjoitus"
msgid "invalid PGP signature"
msgstr "virheellinen PGP-allekirjoitus"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "virheellinen tai vahingoittunut delta"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "deltapaikkaus epäonnistui"
#: 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 "riippuvuuksia ei voitu ratkoa"
#: lib/libalpm/error.c:142
#: lib/libalpm/error.c:137
#, c-format
msgid "conflicting dependencies"
msgstr "ristiriidassa olevia riippuvuuksia"
#: lib/libalpm/error.c:144
#: lib/libalpm/error.c:139
#, c-format
msgid "conflicting files"
msgstr "ristiriidassa olevia tiedostoja"
#: lib/libalpm/error.c:147
#: lib/libalpm/error.c:142
#, c-format
msgid "failed to retrieve some files"
msgstr "joidenkin tiedostojen noutaminen epäonnistui"
#: lib/libalpm/error.c:149
#: lib/libalpm/error.c:144
#, c-format
msgid "invalid regular expression"
msgstr "virheellinen säännöllinen lauseke"
#: lib/libalpm/error.c:155
#: lib/libalpm/error.c:150
#, c-format
msgid "libarchive error"
msgstr "libarchive-virhe"
#: lib/libalpm/error.c:157
#: lib/libalpm/error.c:152
#, c-format
msgid "download library error"
msgstr "latauskirjaston virhe"
#: lib/libalpm/error.c:159
#: lib/libalpm/error.c:154
#, c-format
msgid "gpgme error"
msgstr "gpgme-virhe"
#: lib/libalpm/error.c:161
#: lib/libalpm/error.c:156
#, c-format
msgid "error invoking external downloader"
msgstr "virhe kutsuttaessa ulkoista latausohjelmaa"
#: 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 "odottamaton virhe"
#: lib/libalpm/handle.c:157
#: lib/libalpm/handle.c:153
#, c-format
msgid "lock file missing %s\n"
msgstr "puuttuva lukkotiedosto %s\n"
#: lib/libalpm/handle.c:163
#: lib/libalpm/handle.c:159
#, c-format
msgid "could not remove lock file %s\n"
msgstr "lukkotiedostoa %s ei voitu poistaa\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 "kansiota ei voitu avata: %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 "tiedoston %s stat-toiminnon ei voitu tehdä: %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 "paketin %s-%s metadataa ei voitu ladata täysin\n"
#: lib/libalpm/remove.c:118
#: lib/libalpm/remove.c:119
#, c-format
msgid "could not find %s in database -- skipping\n"
msgstr "%s ei löytynyt tietokannasta -- ohitetaan\n"
#: lib/libalpm/remove.c:153
#: lib/libalpm/remove.c:154
#, c-format
msgid "removing %s from target list\n"
msgstr "poistetaan %s kohteiden listasta\n"
#: lib/libalpm/remove.c:345
#: lib/libalpm/remove.c:346
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "tiedostoa '%s' ei voitu poistaa: %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 "tiedostoa %s ei voida poistaa (%s)\n"
#: lib/libalpm/remove.c:734
#: lib/libalpm/remove.c:735
#, c-format
msgid "could not remove database entry %s-%s\n"
msgstr "ei voitu poistaa tietokantamerkintää %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 "merkintää '%s' ei voitu poistaa välimuistista\n"
@@ -805,141 +800,156 @@ msgstr "merkintää '%s' ei voitu poistaa välimuistista\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:1040
#, c-format
msgid "%s: missing required signature\n"
msgstr "%s: pakollinen allekirjoitus puuttuu\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: ohitetaan paketin päivitys (%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: ohitetaan paketin varhennus (%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: varhennetaan versiosta %s versioon %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: paikallinen (%s) on uudempi kuin %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 "ohitetaan paketin korvaus (%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 "pakettia %s ei voi korvata paketilla %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 "ratkaisemattomia pakettiristiriitoja havaittu\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 ""
"poistetaan '%s' kohteiden listasta, koska se on ristiriidassa paketin '%s' "
"kanssa\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "joidenkin tiedostojen noutaminen epäonnistui\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "ei tarpeeksi vapaata levytilaa\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "poistotoimenpidettä ei voitu suorittaa\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "toimenpidettä ei voitu suorittaa\n"
@@ -974,52 +984,52 @@ msgstr "ei voitu kirjoittaa putkeen (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "ei voitu lukea putkesta (%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 "ei voitu luoda putkea (%s)\n"
#: lib/libalpm/util.c:604
#: lib/libalpm/util.c:623
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "ei voitu käynnistää uutta prosessia (%s)\n"
#: lib/libalpm/util.c:627
#: lib/libalpm/util.c:646
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "juurikansiota ei voitu vaihtaa (%s)\n"
#: lib/libalpm/util.c:638
#: lib/libalpm/util.c:658
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv-kutsu epäonnistui (%s)\n"
#: lib/libalpm/util.c:709
#: lib/libalpm/util.c:737
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid-kutsu epäonnistui (%s)\n"
#: lib/libalpm/util.c:719
#: lib/libalpm/util.c:747
#, c-format
msgid "command failed to execute correctly\n"
msgstr "komento päättyi virheeseen\n"
#: lib/libalpm/util.c:726
#: lib/libalpm/util.c:754
#, c-format
msgid "Unknown signal"
msgstr "Tuntematon signaali"
#: lib/libalpm/util.c:728
#: lib/libalpm/util.c:756
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "signaali %d päätti komennon: %s\n"
#: lib/libalpm/util.c:825
#: lib/libalpm/util.c:853
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "välimuistia %s ei ole olemassa, luodaan...\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 ""

View File

@@ -8,9 +8,10 @@
# Antoine Lubineau <antoine@lubignon.info>, 2012
# Antoine Lubineau <antoine@lubignon.info>, 2012-2014,2018
# Cedric Girard <girard.cedric@gmail.com>, 2014
# Charles Monzat <superboa@hotmail.fr>, 2015-2018
# Charles Monzat <superboa@hotmail.fr>, 2018
# Charles Monzat <superboa@hotmail.fr>, 2018
# Charles Monzat <c.monzat@laposte.net>, 2018-2019
# Charles Monzat <c.monzat@laposte.net>, 2015-2018
# Charles Monzat <c.monzat@laposte.net>, 2018
# Charles Monzat <c.monzat@laposte.net>, 2018
# Dan McGee <dpmcgee@gmail.com>, 2011
# jiehong <ma.jiehong@gmail.com>, 2011-2012
# shining <chantry.xavier@gmail.com>, 2011
@@ -19,9 +20,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Arch Linux Pacman package manager\n"
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-20 14:11+0000\n"
"Last-Translator: Charles Monzat <superboa@hotmail.fr>\n"
"POT-Creation-Date: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-20 19:02+0000\n"
"Last-Translator: Charles Monzat <c.monzat@laposte.net>\n"
"Language-Team: French (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/fr/)\n"
"Language: fr\n"
@@ -30,54 +31,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 est à jour -- ignoré\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 à jour -- réinstallation\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "retourne à la version antérieure du paquet %s (%s => %s)\n"
#: lib/libalpm/add.c:124
#: lib/libalpm/add.c:129
#, c-format
msgid "cannot allocate disk archive object"
msgstr "Impossible dallouer lobjet darchive disque"
#: 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 "problème pendant lextraction 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 "lextraction de %s a échoué (%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:580 lib/libalpm/remove.c:542
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "impossible de renommer %s en %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 ""
"fichier non trouvé dans la liste des fichiers du paquet %s. Extraction de %s "
"ignorée\n"
#: lib/libalpm/add.c:214
#: lib/libalpm/add.c:219
#, c-format
msgid "unable to extract %s%s: path too long"
msgstr "impossible dextraire %s%s : chemin trop long"
#: lib/libalpm/add.c:256
#: lib/libalpm/add.c:261
#, c-format
msgid ""
"directory permissions differ on %s\n"
@@ -86,7 +87,7 @@ msgstr ""
"les permissions pour le répertoire %s sont différentes\n"
"système de fichiers : %o, paquet : %o\n"
#: lib/libalpm/add.c:271
#: lib/libalpm/add.c:276
#, c-format
msgid ""
"directory ownership differs on %s\n"
@@ -95,101 +96,101 @@ msgstr ""
"le propriétaire du répertoire %s est différent\n"
"système de fichiers : %u:%u, paquet : %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 "extraction : nécrase pas le répertoire par le fichier %s\n"
#: lib/libalpm/add.c:315
#: lib/libalpm/add.c:320
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "impossible dextraire %s.pacnew : chemin trop 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 "déterminer le répertoire courant a échoué\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 "changer de répertoire vers %s a échoué (%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 "impossible de restaurer le répertoire de travail (%s)\n"
#: lib/libalpm/add.c:578
#: lib/libalpm/add.c:583
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "des erreurs sont survenues pendant la mise à jour de %s\n"
#: lib/libalpm/add.c:584
#: lib/libalpm/add.c:589
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "des erreurs sont survenues pendant linstallation 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 "la mise à jour de lentrée de base de données %s-%s a échoué\n"
#: lib/libalpm/add.c:610
#: lib/libalpm/add.c:615
#, c-format
msgid "could not add entry '%s' in cache\n"
msgstr "lajout au cache de lentrée « %s » a échoué\n"
#: lib/libalpm/be_local.c:255
#: lib/libalpm/be_local.c:267
#, c-format
msgid "error while reading file %s: %s\n"
msgstr "erreur lors de la lecture du paquet %s : %s\n"
#: lib/libalpm/be_local.c:350
#: lib/libalpm/be_local.c:364
#, c-format
msgid "removing invalid database: %s\n"
msgstr "suppression dune base de données non valide : %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 "la création du répertoire %s a échoué : %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 "nom incorrect pour lentrée de base de données « %s »\n"
#: lib/libalpm/be_local.c:584
#: lib/libalpm/be_local.c:598
#, c-format
msgid "duplicated database entry '%s'\n"
msgstr "lentrée « %s » de la base de données est dupliquée\n"
#: lib/libalpm/be_local.c:596
#: lib/libalpm/be_local.c:610
#, c-format
msgid "corrupted database entry '%s'\n"
msgstr "lentrée « %s » de la base de données est corrompue\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:428 lib/libalpm/util.c:253
#: lib/libalpm/util.c:269
#, c-format
msgid "could not open file %s: %s\n"
msgstr "louverture du fichier %s a échoué : %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 "le dépôt %s est incohérent : noms différents pour le paquet %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 "le dépôt %s est incohérent : versions différentes pour le paquet %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 "type de validation inconnu pour le paquet %s : %s\n"
@@ -230,46 +231,46 @@ msgstr "version de paquet non valide dans %s\n"
msgid "missing package metadata in %s\n"
msgstr "méta-données du paquet manquantes dans %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 "échec lors de la lecture du fichier de signature : %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "clé requise absente du trousseau\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "suppression du fichier non valide : %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 ""
"impossible danalyser le fichier « %s » de description du paquet depuis la "
"base de données « %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 "impossible de lire la base de données « %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 ""
"le dépôt %s est incohérent : le nom de fichier du paquet %s est incorrect\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 ""
"le dépôt %s est incohérent : le nom de fichier du paquet %s est trop long\n"
#: lib/libalpm/be_sync.c:634
#: lib/libalpm/be_sync.c:632
#, c-format
msgid "unknown database file: %s\n"
msgstr "fichier de base de données inconnu : %s\n"
@@ -294,12 +295,12 @@ msgstr "%s sera supprimé après sa dépendance %s\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "%s sera installé avant sa dépendance %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 "ignore le paquet %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 "impossible de résoudre « %s », une dépendance de « %s »\n"
@@ -356,39 +357,39 @@ msgstr "impossible de déterminer le point de montage de la racine %s\n"
msgid "Partition %s is mounted read only\n"
msgstr "La partition %s est en lecture seule\n"
#: lib/libalpm/dload.c:159
#: lib/libalpm/dload.c:161
#, c-format
msgid "disk"
msgstr "disque"
#: lib/libalpm/dload.c:345
#: lib/libalpm/dload.c:348
#, c-format
msgid "failed to create temporary file for download\n"
msgstr "échec de création dun fichier temporaire pour le téléchargement\n"
#: lib/libalpm/dload.c:390
#: lib/libalpm/dload.c:393
#, c-format
msgid "url '%s' is invalid\n"
msgstr "lURL « %s » est non valide\n"
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "échec de récupération du fichier « %s » depuis %s : %s\n"
#: lib/libalpm/dload.c:472
#: lib/libalpm/dload.c:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"échec de récupération du fichier « %s » depuis %s : taille attendue "
"dépassée\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s est apparemment tronqué : %jd/%jd octets\n"
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "le fichier %s na pas pu être téléchargé\n"
@@ -610,200 +611,195 @@ msgstr "signature PGP manquante"
msgid "invalid PGP signature"
msgstr "signature PGP non valide"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "delta non valide ou corrompu"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "lapplication du delta a échoué"
#: 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 "la satisfaction des dépendances a échoué"
#: lib/libalpm/error.c:142
#: lib/libalpm/error.c:137
#, c-format
msgid "conflicting dependencies"
msgstr "conflit de dépendances"
#: lib/libalpm/error.c:144
#: lib/libalpm/error.c:139
#, c-format
msgid "conflicting files"
msgstr "conflit de fichiers"
#: lib/libalpm/error.c:147
#: lib/libalpm/error.c:142
#, c-format
msgid "failed to retrieve some files"
msgstr "échec de récupération de certains fichiers"
#: lib/libalpm/error.c:149
#: lib/libalpm/error.c:144
#, c-format
msgid "invalid regular expression"
msgstr "expression régulière incorrecte"
#: lib/libalpm/error.c:155
#: lib/libalpm/error.c:150
#, c-format
msgid "libarchive error"
msgstr "erreur de libarchive"
#: lib/libalpm/error.c:157
#: lib/libalpm/error.c:152
#, c-format
msgid "download library error"
msgstr "erreur de la bibliothèque de téléchargement"
#: lib/libalpm/error.c:159
#: lib/libalpm/error.c:154
#, c-format
msgid "gpgme error"
msgstr "erreur de gpgme"
#: lib/libalpm/error.c:161
#: lib/libalpm/error.c:156
#, c-format
msgid "error invoking external downloader"
msgstr "erreur en invoquant le client externe de téléchargement"
#: lib/libalpm/error.c:164
#: lib/libalpm/error.c:159
#, c-format
msgid "compiled without signature support"
msgstr "compilé sans prise en charge de signature"
#: lib/libalpm/error.c:162
#, c-format
msgid "unexpected error"
msgstr "erreur non prévue"
#: lib/libalpm/handle.c:157
#: lib/libalpm/handle.c:153
#, c-format
msgid "lock file missing %s\n"
msgstr "fichier de verrou manquant %s\n"
#: lib/libalpm/handle.c:163
#: lib/libalpm/handle.c:159
#, c-format
msgid "could not remove lock file %s\n"
msgstr "la suppression du fichier de verrouillage %s a échoué\n"
#: lib/libalpm/hook.c:107
#: lib/libalpm/hook.c:95
#, c-format
msgid "Missing trigger targets in hook: %s\n"
msgstr "Cibles de déclenchement manquantes dans le crochet : %s\n"
#: lib/libalpm/hook.c:113
#: lib/libalpm/hook.c:101
#, c-format
msgid "Missing trigger type in hook: %s\n"
msgstr "Type de déclenchement manquant dans le crochet : %s\n"
#: lib/libalpm/hook.c:119
#: lib/libalpm/hook.c:107
#, c-format
msgid "Missing trigger operation in hook: %s\n"
msgstr "Opération de déclenchement manquante dans le crochet : %s\n"
#: lib/libalpm/hook.c:146
#: lib/libalpm/hook.c:134
#, c-format
msgid "Missing Exec option in hook: %s\n"
msgstr "Option dexécution manquante dans le crochet : %s\n"
#: lib/libalpm/hook.c:152
#: lib/libalpm/hook.c:140
#, c-format
msgid "Missing When option in hook: %s\n"
msgstr "Option manquante dans le crochet : %s\n"
#: lib/libalpm/hook.c:155
#: lib/libalpm/hook.c:143
#, c-format
msgid "AbortOnFail set for PostTransaction hook: %s\n"
msgstr "AbortOnFail défini pour le crochet de post-transaction : %s\n"
#: lib/libalpm/hook.c:273
#: lib/libalpm/hook.c:160
#, c-format
msgid "error while reading hook %s: %s\n"
msgstr "erreur lors de la lecture du crochet %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 "crochet %s ligne %d: option incorrecte %s\n"
#: lib/libalpm/hook.c:285
#: lib/libalpm/hook.c:172
#, c-format
msgid "hook %s line %d: invalid section %s\n"
msgstr "crochet %s ligne %d : section %s incorrecte\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 "crochet %s ligne %d : valeur %s incorrecte\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 "crochet %s ligne %d : remplacement de la définition précédente 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 "crochet %s ligne %d : impossible de définir loption (%s)\n"
#: lib/libalpm/hook.c:613
#: lib/libalpm/hook.c:513
#, c-format
msgid "unable to run hook %s: %s\n"
msgstr "impossible dexécuter le crochet %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 "impossible douvrir le dossier %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 "impossible douvrir le fichier : %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 "impossible de connaître létat du fichier %s : %s\n"
#: lib/libalpm/hook.c:722
#: lib/libalpm/hook.c:621
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr "impossible de lire le répertoire : %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 ""
"les métadonnées pour le paquet %s-%s nont pas pu être totalement chargées.\n"
#: lib/libalpm/remove.c:118
#: lib/libalpm/remove.c:119
#, c-format
msgid "could not find %s in database -- skipping\n"
msgstr "trouver %s dans la base de données a échoué -- ignoré\n"
#: lib/libalpm/remove.c:153
#: lib/libalpm/remove.c:154
#, c-format
msgid "removing %s from target list\n"
msgstr "supprime %s de la liste de cible\n"
#: lib/libalpm/remove.c:345
#: lib/libalpm/remove.c:346
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "suppression du fichier « %s » impossible : %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 "impossible de sauvegarder %s en raison du débordement de PATH_MAX\n"
#: lib/libalpm/remove.c:561
#: lib/libalpm/remove.c:562
#, c-format
msgid "cannot remove %s (%s)\n"
msgstr "impossible de supprimer %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 "la suppression de lentrée de base de données %s-%s a échoué\n"
#: lib/libalpm/remove.c:739
#: lib/libalpm/remove.c:740
#, c-format
msgid "could not remove entry '%s' from cache\n"
msgstr "la suppression du cache de lentrée « %s » a échoué\n"
@@ -814,142 +810,155 @@ msgid "Public keyring not found; have you run '%s'?\n"
msgstr ""
"Le trousseau de clés publique est introuvable ; avez-vous exécuté « %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 "erreur GPGME : %s\n"
#: lib/libalpm/signing.c:402
#: lib/libalpm/signing.c:284
#, c-format
msgid "looking up key %s using WKD\n"
msgstr "recherche de la clé %s via WKD\n"
#: lib/libalpm/signing.c:293
#, c-format
msgid "gpg error: %s\n"
msgstr "erreur gpg : %s\n"
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
#, c-format
msgid "keyring is not writable\n"
msgstr "le trousseau de clés nest pas accessible en écriture\n"
#: lib/libalpm/signing.c:460
#: lib/libalpm/signing.c:539
#, c-format
msgid "key \"%s\" on keyserver\n"
msgstr "clé « %s » sur le serveur de clés\n"
#: lib/libalpm/signing.c:544
#, c-format
msgid "key \"%s\" could not be imported\n"
msgstr "la clé « %s » na pas pu être importée\n"
#: lib/libalpm/signing.c:466
#, c-format
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
msgstr ""
"clé %s, « %s » trouvée sur le serveur de clés, le trousseau de clés nest "
"pas accessible en écriture\n"
#: lib/libalpm/signing.c:471
#: lib/libalpm/signing.c:548
#, c-format
msgid "key \"%s\" could not be looked up remotely\n"
msgstr "la clé « %s » ne peut être recherchée à distance\n"
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
#, c-format
msgid "%s: missing required signature\n"
msgstr "%s : signature requise manquante\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 signature de « %s » est de confiance mitigée\n"
#: lib/libalpm/signing.c:882
#: lib/libalpm/signing.c:966
#, c-format
msgid "%s: signature from \"%s\" is unknown trust\n"
msgstr "%s : la signature de « %s » est de confiance inconnue\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 signature de « %s » nest pas digne de confiance\n"
#: lib/libalpm/signing.c:901
#: lib/libalpm/signing.c:985
#, c-format
msgid "%s: key \"%s\" is unknown\n"
msgstr "%s : la clé « %s » est inconnue\n"
#: lib/libalpm/signing.c:910
#: lib/libalpm/signing.c:994
#, c-format
msgid "%s: key \"%s\" is disabled\n"
msgstr "%s : la clé « %s » est désactivée\n"
#: lib/libalpm/signing.c:914
#: lib/libalpm/signing.c:998
#, c-format
msgid "%s: signature from \"%s\" is expired\n"
msgstr "%s : la signature de « %s » est périmée\n"
#: lib/libalpm/signing.c:918
#: lib/libalpm/signing.c:1002
#, c-format
msgid "%s: signature from \"%s\" is invalid\n"
msgstr "%s : la signature de « %s » nest pas valide\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 : erreur de format de signature\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 : format de signature non pris en charge\n"
#: lib/libalpm/sync.c:98
#: lib/libalpm/sync.c:99
#, c-format
msgid "%s: ignoring package upgrade (%s => %s)\n"
msgstr "%s : ignore la mise à jour du paquet (%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 : ignore le retour à la version antérieure (%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 : retourne à la version antérieure (%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 : la version locale (%s) est plus récente 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 "ignore le remplacement du paquet (%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 "le remplacement de %s par %s est impossible\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 "un conflit de paquets impossible à résoudre a été détecté\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 ""
"supprime « %s » de la liste de cible car il est en conflit avec « %s »\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "erreur lors de la récupération de certains fichiers\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr "impossible de lire le fichier %s : %s\n"
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "espace disque insuffisant\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "appliquer la transaction de suppression a échoué\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "appliquer la transaction a échoué\n"
@@ -986,52 +995,52 @@ msgstr ""
msgid "unable to read from pipe (%s)\n"
msgstr "impossible de lire à partir du tube (%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 "impossible de créer le tube (%s)\n"
#: lib/libalpm/util.c:604
#: lib/libalpm/util.c:623
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "la génération dun nouveau processus a échoué (%s)\n"
#: lib/libalpm/util.c:627
#: lib/libalpm/util.c:646
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "changer le répertoire racine a échoué (%s)\n"
#: lib/libalpm/util.c:638
#: lib/libalpm/util.c:658
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "lappel à execv a échoué (%s)\n"
#: lib/libalpm/util.c:709
#: lib/libalpm/util.c:737
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "lappel de waitpid a échoué (%s)\n"
#: lib/libalpm/util.c:719
#: lib/libalpm/util.c:747
#, c-format
msgid "command failed to execute correctly\n"
msgstr "la commande na pas pu être exécutée correctement\n"
#: lib/libalpm/util.c:726
#: lib/libalpm/util.c:754
#, c-format
msgid "Unknown signal"
msgstr "Signal inconnu"
#: lib/libalpm/util.c:728
#: lib/libalpm/util.c:756
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "commande terminée par le signal %d : %s\n"
#: lib/libalpm/util.c:825
#: lib/libalpm/util.c:853
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "le cache %s nexiste pas, création…\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 ""

View File

@@ -15,8 +15,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: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"Language-Team: Galician (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/gl/)\n"
@@ -26,54 +26,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 está actualizado -- omitindo\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 --re-instalando\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "desactualizando a versión do paquete %s (%s => %s)\n"
#: lib/libalpm/add.c:124
#: lib/libalpm/add.c:129
#, c-format
msgid "cannot allocate disk archive object"
msgstr "memoria insuficiente para o obxecto de arquivo de disco"
#: 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 "alerta producida mentres 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 "Non foi posíbel 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:580 lib/libalpm/remove.c:542
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "Non foi posíbel cambiar o nome de «%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 ""
"Non se atopou o ficheiro na lista de ficheiros do paquete «%s». Non se "
"extraerá «%s».\n"
#: lib/libalpm/add.c:214
#: lib/libalpm/add.c:219
#, c-format
msgid "unable to extract %s%s: path too long"
msgstr "non se pode extraer %s%s: ruta demasiado longa"
#: lib/libalpm/add.c:256
#: lib/libalpm/add.c:261
#, c-format
msgid ""
"directory permissions differ on %s\n"
@@ -82,7 +82,7 @@ msgstr ""
"Os permisos dun directorio son distintos en «%s».\n"
"No sistema de ficheiros: «%o». No paquete: «%o».\n"
#: lib/libalpm/add.c:271
#: lib/libalpm/add.c:276
#, c-format
msgid ""
"directory ownership differs on %s\n"
@@ -91,86 +91,86 @@ msgstr ""
"O dono do cartafol «%s» non cadra.\n"
"No sistema de ficheiros é «%u:%u», no 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 ""
"[Extracción] Non é posíbel substituír un directorio polo ficheiro «%s».\n"
#: lib/libalpm/add.c:315
#: lib/libalpm/add.c:320
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "non se pode extraer %s.pacnew: ruta demasiado 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 "non se puido obter o directorio de traballo 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 "non se puido cambiar o 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 "non se puido restaurar o directorio de traballo (%s)\n"
#: lib/libalpm/add.c:578
#: lib/libalpm/add.c:583
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "aconteceu un erro durante a 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 "aconteceu un erro durante a 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 "non se puido actualizar a entrada %s-%s na 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 "non se puido agregar a entrada '%s' á 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 "erro ao ler o ficheiro «%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 a 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 "non se puido crear o 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 "nome non válido para a entrada '%s' da 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 na 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 "entrada dañada na base de datos '%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:428 lib/libalpm/util.c:253
#: lib/libalpm/util.c:269
#, c-format
msgid "could not open file %s: %s\n"
@@ -178,19 +178,19 @@ msgstr ""
"non se puido abrir o arquivo %s: %s\n"
"\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 ""
"a base de datos %s é inconsistente: nome mal emparexado no 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 ""
"a base de datos %s é inconsistente: versión mal emparexada no 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 "o paquete «%s» ten un tipo de validación incorrecto: %s\n"
@@ -231,47 +231,47 @@ msgstr "A versión do paquete %s non é correcta.\n"
msgid "missing package metadata in %s\n"
msgstr "faltan os metadatos do 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 "non foi posíbel ler o ficheiro da sinatura: %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "a chave solicitada non está no anel\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "eliminando arquivo invá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 ""
"error ao ler o arquivo de descripción '%s' do paquete da 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 "non se puido ler a 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 ""
"A base de datos «%s» é inconsistente: a ruta do arquivo do paquete %s contén "
"caracteres non permitidos.\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 ""
"A base de datos «%s» é inconsistente: a ruta do arquivo do paquete %s é "
"demasiado longa.\n"
#: lib/libalpm/be_sync.c:634
#: lib/libalpm/be_sync.c:632
#, c-format
msgid "unknown database file: %s\n"
msgstr "Ficheiro de base de datos descoñecido: %s\n"
@@ -296,12 +296,12 @@ msgstr "%s eliminarase tras a súa dependencia %s\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "%s instalarase antes ca súa 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 o 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 "non se puido resolver \"%s\", unha dependencia de \"%s\"\n"
@@ -359,39 +359,39 @@ msgstr "non se puido determinar o punto de montaxe da raiz %s\n"
msgid "Partition %s is mounted read only\n"
msgstr "A partición %s está montada como só 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 "error ao crear un arquivo temporal para a descarga\n"
#: lib/libalpm/dload.c:390
#: lib/libalpm/dload.c:393
#, c-format
msgid "url '%s' is invalid\n"
msgstr "a dirección %s non é válida\n"
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "error ao obter o arquivo '%s' dende %s: %s\n"
#: lib/libalpm/dload.c:472
#: lib/libalpm/dload.c:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"Non foi posíbel obter o ficheiro «%s» de «%s»: superouse o tamaño de "
"descarga esperado.\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s parece estar truncado: %jd/%jd bytes\n"
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "non se puido descargar %s\n"
@@ -612,199 +612,194 @@ msgstr "falta a firma PGP"
msgid "invalid PGP signature"
msgstr "firma PGP non válida"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "non válido ou diferencial dañado"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "parche diferencial fallou"
#: 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 "non se puideron satisfacer as 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 "arquivos en conflicto"
#: lib/libalpm/error.c:147
#: lib/libalpm/error.c:142
#, c-format
msgid "failed to retrieve some files"
msgstr "error ao descargar algúns arquivos"
#: lib/libalpm/error.c:149
#: lib/libalpm/error.c:144
#, c-format
msgid "invalid regular expression"
msgstr "expresión regular non válida"
#: lib/libalpm/error.c:155
#: lib/libalpm/error.c:150
#, c-format
msgid "libarchive error"
msgstr "error de libarchive"
#: lib/libalpm/error.c:157
#: lib/libalpm/error.c:152
#, c-format
msgid "download library error"
msgstr "error de descarga de biblioteca"
#: 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 invocando o descargador externo"
#: 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 "error inesperado"
#: lib/libalpm/handle.c:157
#: lib/libalpm/handle.c:153
#, c-format
msgid "lock file missing %s\n"
msgstr "Falta «%s» ao ficheiro de bloqueo.\n"
#: lib/libalpm/handle.c:163
#: lib/libalpm/handle.c:159
#, c-format
msgid "could not remove lock file %s\n"
msgstr "Non foi posíbel eliminar o ficheiro 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 ""
#: 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 "non foi posíbel abrir o cartafol «%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 "non foi posíbel abrir o ficheiro:%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 "non foi posíbel executar a orde «stat» co ficheiro «%s»: %s\n"
#: lib/libalpm/hook.c:722
#: lib/libalpm/hook.c:621
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr "non se puido ler o cartafol: %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 "non se puido cargar completamente os metadatos para o 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 "non se puido atopar %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 "quitando %s da lista de obxetivos\n"
#: lib/libalpm/remove.c:345
#: lib/libalpm/remove.c:346
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "non se puido quitar o arquivo '%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 "error ao eliminar %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 "non se puido quitar a entrada %s-%s da 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 "non se puido quitar a entrada '%s' do caché\n"
@@ -814,140 +809,155 @@ msgstr "non se puido quitar a entrada '%s' do 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 "a clave \"%s\" non se puido importar\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 ""
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
#, c-format
msgid "%s: missing required signature\n"
msgstr "%s: fáltalle a sinatura obrigatoria.\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 "%s: a clave \"%s\" é descoñecida\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 "%s: a sinatura de \"%s\" caducou\n"
#: lib/libalpm/signing.c:918
#: lib/libalpm/signing.c:1002
#, c-format
msgid "%s: signature from \"%s\" is invalid\n"
msgstr "%s: a sinatura de \"%s\" non é 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: erro no formato da sinatura\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 da sinatura non soportado\n"
#: lib/libalpm/sync.c:98
#: lib/libalpm/sync.c:99
#, c-format
msgid "%s: ignoring package upgrade (%s => %s)\n"
msgstr "%s: ignorando a actualización do 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 a desactualización do 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 da versión %s á 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: local (%s) é máis novo 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 o reemplazo do 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 "non se puido reemplazar o arquivo %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 "detectáronse paquetes con conflictos non resolvibles\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' da lista de obxetivos debido a que ten conflictos con '%s'\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "non foi posíbel descargar algúns dos ficheiros\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "non hai espazo de almacenamento dabondo\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "non se puido enviar a operación de eliminación\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "non se puido asignar a transacción\n"
@@ -982,52 +992,52 @@ msgstr "non se pode escribir na tubería (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "non se pode ler da 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 "non se puido crear 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 "non se puido crear un novo 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 "non se puido cambiar o 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 "chamada 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 "chamada 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 "o comando fallou ao executarse\n"
#: lib/libalpm/util.c:726
#: lib/libalpm/util.c:754
#, c-format
msgid "Unknown signal"
msgstr "Sinal descoñecido"
#: lib/libalpm/util.c:728
#: lib/libalpm/util.c:756
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "O sinal %d interrompeu a execución: %s\n"
#: lib/libalpm/util.c:825
#: lib/libalpm/util.c:853
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "non existe o 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 ""

View File

@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Ivica Kolić <ikoli@yahoo.com>, 2012-2016,2018
# Ivica Kolić <ikoli@yahoo.com>, 2012-2016,2018-2019
# Viktor Coric <viktor_coric94@hotmail.com>, 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-24 04:44+0000\n"
"POT-Creation-Date: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-07 20:45+0000\n"
"Last-Translator: Ivica Kolić <ikoli@yahoo.com>\n"
"Language-Team: Croatian (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/hr/)\n"
@@ -21,32 +21,32 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\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 ažuriran -- preskačem\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 ažuriran -- ponovno instaliram\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "unazađujem paket %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 "dano upozorenje tijekom raspakiranja %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 ""
@@ -54,23 +54,23 @@ msgstr ""
"\n"
"\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:580 lib/libalpm/remove.c:542
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "ne mogu preimenivati %s u %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 ""
"datoteka nije pronađena u listi datoteka za %s, preskačem raspakiranje %s\n"
#: lib/libalpm/add.c:214
#: lib/libalpm/add.c:219
#, c-format
msgid "unable to extract %s%s: path too long"
msgstr "nije moguće raspakirati %s%s: putanja je preduga"
#: lib/libalpm/add.c:256
#: lib/libalpm/add.c:261
#, c-format
msgid ""
"directory permissions differ on %s\n"
@@ -79,7 +79,7 @@ msgstr ""
"dozvole direktorija razlikuju se na %s\n"
"datotečni sustav: %o paket: %o\n"
#: lib/libalpm/add.c:271
#: lib/libalpm/add.c:276
#, c-format
msgid ""
"directory ownership differs on %s\n"
@@ -88,110 +88,110 @@ msgstr ""
"vlasništvo direktorija se razlikuje na %s\n"
"datotečni sustav: %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 "raspakiravanje: ne pišem preko direktorija datotekom %s\n"
#: lib/libalpm/add.c:315
#: lib/libalpm/add.c:320
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "nije moguće raspakirati %s.pacnew: putanja je preduga"
#: 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 mogu dobaviti trenutni radni direktorij\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 mogu promjeniti direktorij u %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 mogu obnoviti radni direktorij (%s)\n"
"\n"
#: lib/libalpm/add.c:578
#: lib/libalpm/add.c:583
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr ""
"došlo je do greške prilikom nadogradnje %s\n"
"\n"
#: lib/libalpm/add.c:584
#: lib/libalpm/add.c:589
#, c-format
msgid "problem occurred while installing %s\n"
msgstr ""
"došlo je do greške prilikom instaliranja %s\n"
"\n"
#: lib/libalpm/add.c:599
#: lib/libalpm/add.c:604
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "ne mogu ažurirati unos baze podataka %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 mogu dodati unos '%s' u 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 "greška prilikom čitanja datoteke %s: %s\n"
#: lib/libalpm/be_local.c:350
#: lib/libalpm/be_local.c:364
#, c-format
msgid "removing invalid database: %s\n"
msgstr "uklanjam neispravnu bazu podataka: %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 mogu napraviti direktorij %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 ""
"neispravno ime za unos baze podataka '%s'\n"
"\n"
#: lib/libalpm/be_local.c:584
#: lib/libalpm/be_local.c:598
#, c-format
msgid "duplicated database entry '%s'\n"
msgstr "dvostruki unos '%s' u bazi podataka\n"
#: lib/libalpm/be_local.c:596
#: lib/libalpm/be_local.c:610
#, c-format
msgid "corrupted database entry '%s'\n"
msgstr "oštećeni unos baze podataka '%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:428 lib/libalpm/util.c:253
#: lib/libalpm/util.c:269
#, c-format
msgid "could not open file %s: %s\n"
msgstr "ne mogu otvoriti datoteku %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 baza podatak je nedosljedna: ime se ne podudara sa paketom %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 baza podataka je nedosljedna: verzija se ne podudara sa paketom %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 "nepoznata vrsta provjere za paket %s: %s\n"
@@ -234,42 +234,42 @@ msgstr "neispravna verzija pakata u %s\n"
msgid "missing package metadata in %s\n"
msgstr "nedostaju metapodaci paketa u %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 "ne mogu pročitati datoteku sa potpisom: %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "traženi ključ nedostaje u privjesku\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "uklanjam neispravnu datoteku: %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 mogu obraditi datoteku opisa paketa '%s' iz baze podataka '%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 "ne mogu čitati 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 "nedosljednost baze podataka %s: ime paketa %s je nevažeći\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 "nedosljednost baze podataka %s: ime paketa %s je predugo\n"
#: lib/libalpm/be_sync.c:634
#: lib/libalpm/be_sync.c:632
#, c-format
msgid "unknown database file: %s\n"
msgstr "nepoznata datoteka baze podataka: %s\n"
@@ -294,12 +294,12 @@ msgstr "%s će biti uklonjen nakon njegove %s zavisnosti\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "%s će biti instaliran prije svoje %s zavisnosti\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 "ignoriram 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 "ne mogu riješiti \"%s\", zavisnost je od \"%s\"\n"
@@ -357,39 +357,39 @@ msgstr "ne mogu odrediti točku montiranja za root %s\n"
msgid "Partition %s is mounted read only\n"
msgstr "Particija %s je montirana samo za čitanje\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 "neuspjela izrada privremene datoteke za preuzimanje\n"
#: lib/libalpm/dload.c:390
#: lib/libalpm/dload.c:393
#, c-format
msgid "url '%s' is invalid\n"
msgstr "url '%s' je neispravan\n"
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "neuspjelo primanje datoteke '%s' iz %s : %s\n"
#: lib/libalpm/dload.c:472
#: lib/libalpm/dload.c:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"greška pri dobavljanju datoteke '%s' iz %s: veličina preuzimanja je veća od "
"očekivane\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s je okrnjen: %jd%jd bajtova\n"
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "neuspjelo preuzimanje %s\n"
@@ -609,201 +609,196 @@ msgstr "nedostaje PGP potpis"
msgid "invalid PGP signature"
msgstr "neispravni PGP potpis"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "neispravna ili oštećena delta"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "delta zakrpa nije uspjela"
#: 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 mogu zadovoljiti zavisnosti"
#: lib/libalpm/error.c:142
#: lib/libalpm/error.c:137
#, c-format
msgid "conflicting dependencies"
msgstr "sukobljene zavisnosti"
#: lib/libalpm/error.c:144
#: lib/libalpm/error.c:139
#, c-format
msgid "conflicting files"
msgstr "sukobljene datoteke"
#: lib/libalpm/error.c:147
#: lib/libalpm/error.c:142
#, c-format
msgid "failed to retrieve some files"
msgstr "neuspjelo primanje nekih datoteka"
#: lib/libalpm/error.c:149
#: lib/libalpm/error.c:144
#, c-format
msgid "invalid regular expression"
msgstr "neispravan regularni izraz"
#: lib/libalpm/error.c:155
#: lib/libalpm/error.c:150
#, c-format
msgid "libarchive error"
msgstr "libarchive greška"
#: lib/libalpm/error.c:157
#: lib/libalpm/error.c:152
#, c-format
msgid "download library error"
msgstr "Greška pri preuzimanju biblioteke"
#: lib/libalpm/error.c:159
#: lib/libalpm/error.c:154
#, c-format
msgid "gpgme error"
msgstr "gpgme greška"
#: lib/libalpm/error.c:161
#: lib/libalpm/error.c:156
#, c-format
msgid "error invoking external downloader"
msgstr "Greška pri dozivanju vanjskog preuzimatelja"
#: 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čekivana greška"
#: lib/libalpm/handle.c:157
#: lib/libalpm/handle.c:153
#, c-format
msgid "lock file missing %s\n"
msgstr "datoteka za zaključavanje nedostaje %s\n"
#: lib/libalpm/handle.c:163
#: lib/libalpm/handle.c:159
#, c-format
msgid "could not remove lock file %s\n"
msgstr "ne mogu ukloniti datoteku za zaključavanje %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 mogu otvoriti direktorij: %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 mogu odrediti pojedinosti datoteke %s: %s\n"
#: lib/libalpm/hook.c:722
#: lib/libalpm/hook.c:621
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr "ne mogu čitati direktorij: %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 "ne mogu skroz učitati metapodatke za oaket %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 mogu naći %s u bazi podataka -- preskačem\n"
#: lib/libalpm/remove.c:153
#: lib/libalpm/remove.c:154
#, c-format
msgid "removing %s from target list\n"
msgstr "uklanjanje %s sa ciljane liste\n"
#: lib/libalpm/remove.c:345
#: lib/libalpm/remove.c:346
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "ne mogu ukloniti datoteku %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 mogu ukloniti %s (%s)\n"
"\n"
#: lib/libalpm/remove.c:734
#: lib/libalpm/remove.c:735
#, c-format
msgid "could not remove database entry %s-%s\n"
msgstr "ne mogu ukloniti unos baze podataka %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 mogu ukloniti unos '%s' iz cachea\n"
@@ -813,143 +808,158 @@ msgstr "ne mogu ukloniti unos '%s' iz cachea\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 "GPGME greška: %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 "gpg greška: %s\n"
#: 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:1040
#, c-format
msgid "%s: missing required signature\n"
msgstr ""
"%s: nedostaje potrebni potpis\n"
"\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: ključ \"%s\" je nepoznat\n"
#: lib/libalpm/signing.c:910
#: lib/libalpm/signing.c:994
#, c-format
msgid "%s: key \"%s\" is disabled\n"
msgstr ""
msgstr "%s: ključ \"%s\" je onemogućen\n"
#: 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 "%s: greška formata potpisa\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: nepodržani format potpisa\n"
#: lib/libalpm/sync.c:98
#: lib/libalpm/sync.c:99
#, c-format
msgid "%s: ignoring package upgrade (%s => %s)\n"
msgstr ""
"%s: ignoriram nadogradnju paketa (%s => %s)\n"
"\n"
#: lib/libalpm/sync.c:110
#: lib/libalpm/sync.c:111
#, c-format
msgid "%s: ignoring package downgrade (%s => %s)\n"
msgstr "%s: ignoriram unazađivanje paketa (%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: unazađujem sa verzije %s na verziju %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: lokalni (%s) je noviji od %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 "ignoriram zamjenu paketa (%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 mogu zamjeniti %s sa %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 "otkriveni su nerješivi sukobi paketa\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 "uklanjam '%s' sa liste mete jer se sukobljava sa '%s'\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "neuspjelo primanje nekin datoteka\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "nema dovoljno slobodnog prostora\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "ne mogu izvršiti transakciju uklanjanja\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "ne mogu izvršiti transakciju\n"
@@ -984,52 +994,52 @@ msgstr "ne mogu pisati u cijev (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "ne mogu čitati iz cijevi (%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 mogu napraviti cijev (%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 mogu račvati novi 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 "ne mogu promjeniti korjenski/root direktorij (%s)\n"
#: lib/libalpm/util.c:638
#: lib/libalpm/util.c:658
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "poziv procesa izvršavanja nije uspio (%s)\n"
#: lib/libalpm/util.c:709
#: lib/libalpm/util.c:737
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "poziv procesa čekanja nije uspio (%s)\n"
#: lib/libalpm/util.c:719
#: lib/libalpm/util.c:747
#, c-format
msgid "command failed to execute correctly\n"
msgstr "neuspjelo ispravno izvršenje naredbe\n"
#: lib/libalpm/util.c:726
#: lib/libalpm/util.c:754
#, c-format
msgid "Unknown signal"
msgstr "Nepoznati signal"
#: lib/libalpm/util.c:728
#: lib/libalpm/util.c:756
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "naredba prekinuta signalom %d: %s\n"
#: lib/libalpm/util.c:825
#: lib/libalpm/util.c:853
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s cache ne postoji, pravim...\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 mogu naći ili napraviti cache paketa, koristim %s umjesto toga\n"

View File

@@ -13,13 +13,15 @@
# JUHASZ, Peter Karoly <stone@midway.hu>, 2013
# Gábor Nagy <ngaba@bibl.u-szeged.hu>, 2013
# Gábor Nagy <ngaba@bibl.u-szeged.hu>, 2011,2013
# user14 <nleknh@gmail.com>, 2019
# user14 <nleknh@gmail.com>, 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"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"POT-Creation-Date: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-09 19:41+0000\n"
"Last-Translator: user14 <nleknh@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/toofishes/archlinux-"
"pacman/language/hu/)\n"
"Language: hu\n"
@@ -28,53 +30,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 "a(z) %s-%s naprakész -- kihagyás\n"
#: lib/libalpm/add.c:90
#: lib/libalpm/add.c:95
#, c-format
msgid "%s-%s is up to date -- reinstalling\n"
msgstr "a(z) %s-%s naprakész -- újratelepítés\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "visszatérés egy régebbi %s verzióhoz (%s => %s)\n"
#: lib/libalpm/add.c:124
#: lib/libalpm/add.c:129
#, c-format
msgid "cannot allocate disk archive object"
msgstr "az archív objektum nem foglalható le a lemezen"
#: 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 "figyelmeztetés a(z) %s kibontása közben (%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 "nem sikerült kibontani: %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:580 lib/libalpm/remove.c:542
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "nem sikerült az átnevezés: %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 ""
"fájl nem található a(z) %s csomag fájllistájában. %s kibontásának kihagyása\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 kibontása nem sikerült: az útvonal túl hosszú"
#: lib/libalpm/add.c:256
#: lib/libalpm/add.c:261
#, c-format
msgid ""
"directory permissions differ on %s\n"
@@ -83,7 +85,7 @@ msgstr ""
"eltérő könyvtárjogosultságok: %s\n"
"fájlrendszer: %o csomag: %o\n"
#: lib/libalpm/add.c:271
#: lib/libalpm/add.c:276
#, c-format
msgid ""
"directory ownership differs on %s\n"
@@ -92,101 +94,101 @@ msgstr ""
"eltérő könyvtártulajdonos: %s\n"
"fájlrendszer: %u:%u csomag: %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 "kibontás: nem írok felül könyvtárat a %s fájllal\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 kibontása nem sikerült: az útvonal túl hosszú"
#: 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 "a jelenlegi munkakönyvtár nem kapható meg\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 "nem sikerült a könyvtárváltás ide: %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 "nem sikerült visszalépni a munkakönyvárba (%s)\n"
#: lib/libalpm/add.c:578
#: lib/libalpm/add.c:583
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "hiba történt a(z) %s frissítése közben\n"
#: lib/libalpm/add.c:584
#: lib/libalpm/add.c:589
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "hiba történt a(z) %s telepítése közben\n"
#: lib/libalpm/add.c:599
#: lib/libalpm/add.c:604
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "nem sikerült a(z) %s-%s adatbázis-bejegyzés frissítése\n"
#: lib/libalpm/add.c:610
#: lib/libalpm/add.c:615
#, c-format
msgid "could not add entry '%s' in cache\n"
msgstr "nem sikerült a(z) '%s' bejegyzés hozzáadása a gyorsítótárhoz\n"
#: lib/libalpm/be_local.c:255
#: lib/libalpm/be_local.c:267
#, c-format
msgid "error while reading file %s: %s\n"
msgstr "hiba a %s fájl olvasása közben: %s\n"
#: lib/libalpm/be_local.c:350
#: lib/libalpm/be_local.c:364
#, c-format
msgid "removing invalid database: %s\n"
msgstr "hibás adatbázis eltávolítása: %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 "nem sikerült létrehozni a %s könyvtárat: %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 "hibás név a(z) '%s' adatbázis-bejegyzés számára\n"
#: lib/libalpm/be_local.c:584
#: lib/libalpm/be_local.c:598
#, c-format
msgid "duplicated database entry '%s'\n"
msgstr "duplikált adatbázis-bejegyzés: '%s'\n"
#: lib/libalpm/be_local.c:596
#: lib/libalpm/be_local.c:610
#, c-format
msgid "corrupted database entry '%s'\n"
msgstr "sérült adatbázis-bejegyzés: '%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:428 lib/libalpm/util.c:253
#: lib/libalpm/util.c:269
#, c-format
msgid "could not open file %s: %s\n"
msgstr "nem sikerült megnyitni a %s fájlt: %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 "a(z) %s adatbázis inkonzisztens: eltérő nevek a(z) %s csomagnál\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 "a(z) %s adatbázis inkonzisztens: eltérő verziók a(z) %s csomagnál\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 "ismeretlen érvényességellenőrzési mód a(z) %s csomaghoz: %s\n"
@@ -227,45 +229,45 @@ msgstr "érvénytelen csomagverzió: %s\n"
msgid "missing package metadata in %s\n"
msgstr "hiányzó csomaginformációs fájl: %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 "nem sikerült olvasni a %s aláírásfájlt\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "egy szükséges kulcs hiányzik a kulcstartóból\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "hibás fájl eltávolítása: %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 ""
"nem sikerült értelmezni a(z) '%s' csomagleíró fájlját a(z) '%s' "
"adatbázisból\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) nem lehetett olvasni a(z) '%s' adatbázist\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 ""
"a(z) %s adatbázis inkonzisztens: a(z) %s csomag fájlneve nem megengedett\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 "a(z) %s adatbázis inkonzisztens: a(z) %s csomag fáljneve túl hosszú\n"
#: lib/libalpm/be_sync.c:634
#: lib/libalpm/be_sync.c:632
#, c-format
msgid "unknown database file: %s\n"
msgstr "ismeretlen adatbázisfájl: %s\n"
@@ -290,12 +292,12 @@ msgstr "a(z) %s csomag saját %s függősége után lesz eltávolítva\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "a(z) %s csomag saját %s függősége előtt lesz telepítve\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 csomag kihagyása\n"
#: lib/libalpm/deps.c:867
#: lib/libalpm/deps.c:869
#, c-format
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
msgstr "nem sikerült a(z) \"%2$s\" csomag \"%1$s\" függőségét feloldani\n"
@@ -352,39 +354,39 @@ msgstr "nem sikerült meghatározni a %s gyökérkönyvtár csatolási pontját\
msgid "Partition %s is mounted read only\n"
msgstr "A %s partíció csak olvashatóként van csatolva\n"
#: lib/libalpm/dload.c:159
#: lib/libalpm/dload.c:161
#, c-format
msgid "disk"
msgstr "lemez"
#: lib/libalpm/dload.c:345
#: lib/libalpm/dload.c:348
#, c-format
msgid "failed to create temporary file for download\n"
msgstr "nem sikerült létrehozni ideiglenes fájlt a letöltéshez\n"
#: lib/libalpm/dload.c:390
#: lib/libalpm/dload.c:393
#, c-format
msgid "url '%s' is invalid\n"
msgstr "a '%s' URL hibás\n"
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "nem sikerült a(z) '%s' fájlt letölteni a %s helyről : %s\n"
#: lib/libalpm/dload.c:472
#: lib/libalpm/dload.c:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"nem sikerült a(z) '%s' fájlt letölteni a %s helyről : a várt letöltési méret "
"túlhaladva\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "úgy tűnik, hogy %s csonka: %jd/%jd bájt\n"
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "nem sikerült a(z) %s letöltése\n"
@@ -604,200 +606,196 @@ msgstr "hiányzó PGP aláírás"
msgid "invalid PGP signature"
msgstr "érvénytelen PGP aláírás"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "hibás vagy sérült delta"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "delta foltozás sikertelen"
#: 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 "nem sikerült kielégíteni a függőségeket"
#: lib/libalpm/error.c:142
#: lib/libalpm/error.c:137
#, c-format
msgid "conflicting dependencies"
msgstr "ütköző függőségek"
#: lib/libalpm/error.c:144
#: lib/libalpm/error.c:139
#, c-format
msgid "conflicting files"
msgstr "ütköző fájlok"
#: lib/libalpm/error.c:147
#: lib/libalpm/error.c:142
#, c-format
msgid "failed to retrieve some files"
msgstr "nem sikerült néhány fájlt letölteni"
#: lib/libalpm/error.c:149
#: lib/libalpm/error.c:144
#, c-format
msgid "invalid regular expression"
msgstr "hibás reguláris kifejezés"
#: lib/libalpm/error.c:155
#: lib/libalpm/error.c:150
#, c-format
msgid "libarchive error"
msgstr "libarchive hiba"
#: lib/libalpm/error.c:157
#: lib/libalpm/error.c:152
#, c-format
msgid "download library error"
msgstr "letöltőfüggvénytár hiba"
#: lib/libalpm/error.c:159
#: lib/libalpm/error.c:154
#, c-format
msgid "gpgme error"
msgstr "gpgme hiba"
#: lib/libalpm/error.c:161
#: lib/libalpm/error.c:156
#, c-format
msgid "error invoking external downloader"
msgstr "hiba a külső letöltő meghívásakor"
#: lib/libalpm/error.c:164
#: lib/libalpm/error.c:159
#, c-format
msgid "compiled without signature support"
msgstr "aláírás nélkül lett lefordítva"
#: lib/libalpm/error.c:162
#, c-format
msgid "unexpected error"
msgstr "nem várt hiba"
#: lib/libalpm/handle.c:157
#: lib/libalpm/handle.c:153
#, c-format
msgid "lock file missing %s\n"
msgstr "zárolófájl hiányzik: %s\n"
#: lib/libalpm/handle.c:163
#: lib/libalpm/handle.c:159
#, c-format
msgid "could not remove lock file %s\n"
msgstr "nem sikerült a zárolófájl (%s) eltávolítása\n"
#: lib/libalpm/hook.c:107
#: lib/libalpm/hook.c:95
#, c-format
msgid "Missing trigger targets in hook: %s\n"
msgstr ""
msgstr "Hiányzó trigger célpont ebben a horogban: %s\n"
#: lib/libalpm/hook.c:113
#: lib/libalpm/hook.c:101
#, c-format
msgid "Missing trigger type in hook: %s\n"
msgstr ""
msgstr "Hiányzó trigger típus ebben a horogban: %s\n"
#: lib/libalpm/hook.c:119
#: lib/libalpm/hook.c:107
#, c-format
msgid "Missing trigger operation in hook: %s\n"
msgstr ""
msgstr "Hiányzó triggerművelet ebben a horogban: %s\n"
#: lib/libalpm/hook.c:146
#: lib/libalpm/hook.c:134
#, c-format
msgid "Missing Exec option in hook: %s\n"
msgstr ""
msgstr "Hiányzó Exec opció ebben a horogban: %s\n"
#: lib/libalpm/hook.c:152
#: lib/libalpm/hook.c:140
#, c-format
msgid "Missing When option in hook: %s\n"
msgstr ""
msgstr "Hiányzik a Mikor választási lehetőség ebben a horogban: %s\n"
#: lib/libalpm/hook.c:155
#: lib/libalpm/hook.c:143
#, c-format
msgid "AbortOnFail set for PostTransaction hook: %s\n"
msgstr ""
msgstr "be van állítva az AbortOnFail a PostTransaction horogban: %s\n"
#: lib/libalpm/hook.c:273
#: lib/libalpm/hook.c:160
#, c-format
msgid "error while reading hook %s: %s\n"
msgstr ""
msgstr "hiaba a horog olvasása közben %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 "horog %s sor %d: érvénytelen opció %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 "horog %s sor %d: érvénytelen szakasz %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 "horog %s sor %d: érvénytelen érték %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 "horog %s sor %d: az előző definíció %s felülírása\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 "horog %s sor %d: a (%s) opció beállítása nem lehetséges\n"
#: lib/libalpm/hook.c:613
#: lib/libalpm/hook.c:513
#, c-format
msgid "unable to run hook %s: %s\n"
msgstr ""
msgstr "a horog futtatása nem lehetséges %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 "nem sikerült megnyitni a %s könyvtárat: %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 "fájl nem nyitható meg: %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 "sikertelen stat művelet a %s fájlon: %s\n"
#: lib/libalpm/hook.c:722
#: lib/libalpm/hook.c:621
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr ""
msgstr "könyvtár nem olvasható: %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 ""
"nem sikerült teljesen betölteni az információs fájlt a(z) %s-%s csomaghoz\n"
#: lib/libalpm/remove.c:118
#: lib/libalpm/remove.c:119
#, c-format
msgid "could not find %s in database -- skipping\n"
msgstr "nem található %s az adatbázisban -- kihagyás\n"
#: lib/libalpm/remove.c:153
#: lib/libalpm/remove.c:154
#, c-format
msgid "removing %s from target list\n"
msgstr "%s eltávolítása a céllistából\n"
#: lib/libalpm/remove.c:345
#: lib/libalpm/remove.c:346
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "nem sikerült eltávolítani a '%s' fájlt : %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 ""
"nem lehet biztonsági másolatot készíteni %s a PATH_MAX túlcsordulása miatt\n"
#: lib/libalpm/remove.c:561
#: lib/libalpm/remove.c:562
#, c-format
msgid "cannot remove %s (%s)\n"
msgstr "%s nem távolítható el (%s)\n"
#: lib/libalpm/remove.c:734
#: lib/libalpm/remove.c:735
#, c-format
msgid "could not remove database entry %s-%s\n"
msgstr "nem sikerült eltávolítani a(z) %s-%s adatbázis-bejegyzést\n"
#: lib/libalpm/remove.c:739
#: lib/libalpm/remove.c:740
#, c-format
msgid "could not remove entry '%s' from cache\n"
msgstr "nem sikerült eltávolítani a(z) '%s' bejegyzést a gyorsítótárból\n"
@@ -805,141 +803,156 @@ msgstr "nem sikerült eltávolítani a(z) '%s' bejegyzést a gyorsítótárból\
#: lib/libalpm/signing.c:171
#, c-format
msgid "Public keyring not found; have you run '%s'?\n"
msgstr ""
msgstr "Nem található a nyilvános kulcstartó; futtattad a(z) '%s' -t?\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 ""
msgstr "GPGME hiba: %s\n"
#: lib/libalpm/signing.c:402
#: lib/libalpm/signing.c:284
#, c-format
msgid "looking up key %s using WKD\n"
msgstr "%s kulcs keresése WKD használatával\n"
#: lib/libalpm/signing.c:293
#, c-format
msgid "gpg error: %s\n"
msgstr "gpg hiba: %s\n"
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
#, c-format
msgid "keyring is not writable\n"
msgstr ""
msgstr "a kulcstartó nem írható\n"
#: lib/libalpm/signing.c:460
#: lib/libalpm/signing.c:539
#, c-format
msgid "key \"%s\" on keyserver\n"
msgstr "a kulcszerveren a \"%s\" kulcs\n"
#: lib/libalpm/signing.c:544
#, c-format
msgid "key \"%s\" could not be imported\n"
msgstr ""
msgstr "nem lehetett importálni a \"%s\" kulcsot\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 "a \"%s\" távoli kulcs nem található\n"
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
#, c-format
msgid "%s: missing required signature\n"
msgstr "%s: szükséges aláírás hiányzik\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: az aláírásnak a \"%s\" -ről alig megbízható\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: az aláírásnak a \"%s\" -ről ismeretlen a megbízhatósága\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: az aláírás a \"%s\" -ról soha nem megbízható\n"
#: lib/libalpm/signing.c:901
#: lib/libalpm/signing.c:985
#, c-format
msgid "%s: key \"%s\" is unknown\n"
msgstr ""
msgstr "%s: a \"%s\" kulcs ismeretlen\n"
#: lib/libalpm/signing.c:910
#: lib/libalpm/signing.c:994
#, c-format
msgid "%s: key \"%s\" is disabled\n"
msgstr ""
msgstr "%s: a \"%s\" kulcs ki van kapcsolva\n"
#: lib/libalpm/signing.c:914
#: lib/libalpm/signing.c:998
#, c-format
msgid "%s: signature from \"%s\" is expired\n"
msgstr ""
msgstr "%s: az aláírás \"%s\" lejárt\n"
#: lib/libalpm/signing.c:918
#: lib/libalpm/signing.c:1002
#, c-format
msgid "%s: signature from \"%s\" is invalid\n"
msgstr ""
msgstr "%s: az aláírás a \"%s\" -tól érvénytelen\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 "aláírásformátum hiba: %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 "nem támogatott aláírásformátum: %s\n"
#: lib/libalpm/sync.c:98
#: lib/libalpm/sync.c:99
#, c-format
msgid "%s: ignoring package upgrade (%s => %s)\n"
msgstr "%s: csomagfrissítés kihagyása (%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: csomag visszafejlesztésének kihagyása (%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: visszatérés a(z) %s verzióról a régebbi %s verzióhoz\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: a helyi (%s) újabb, mint a(z) %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 "csomaglecserélés kihagyása (%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 "nem lehet lecserélni a(z) %s csomagot a(z) %s csomaggal\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 "feloldhatatlan csomagütközéseket találtam\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' kihagyása, mert ütközik a következővel: '%s'\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "nem sikerült minden fájlt letölteni\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr "nem sikerült olvasni a %s: %s fájlt\n"
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "nincs elég szabad lemezterület\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "nem sikerült végrehajtani az eltávolító tranzakciót\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "nem sikerült végrehajtani a tranzakciót\n"
@@ -974,52 +987,52 @@ msgstr "nem sikerül írni az adatcsatornába (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "nem sikerül olvasni az adatcsatornából (%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 "nem sikerült az adatcsatorna létrehozása (%s)\n"
#: lib/libalpm/util.c:604
#: lib/libalpm/util.c:623
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "nem sikerült indítani egy új folyamatot (%s)\n"
#: lib/libalpm/util.c:627
#: lib/libalpm/util.c:646
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "nem sikerült gyökérkönyvtárat váltani (%s)\n"
#: lib/libalpm/util.c:638
#: lib/libalpm/util.c:658
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "sikertelen execv hívás (%s)\n"
#: lib/libalpm/util.c:709
#: lib/libalpm/util.c:737
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "sikertelen waitpid hívás (%s)\n"
#: lib/libalpm/util.c:719
#: lib/libalpm/util.c:747
#, c-format
msgid "command failed to execute correctly\n"
msgstr "a parancs nem futott le helyesen\n"
#: lib/libalpm/util.c:726
#: lib/libalpm/util.c:754
#, c-format
msgid "Unknown signal"
msgstr "Ismeretlen szignál"
#: lib/libalpm/util.c:728
#: lib/libalpm/util.c:756
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "parancs megszakítva a(z) %d szignál által: %s\n"
#: lib/libalpm/util.c:825
#: lib/libalpm/util.c:853
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "nem létezik a(z) %s gyorsítótár, létrehozá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 ""

View File

@@ -8,15 +8,16 @@
# Ibnu Daru Aji, 2013-2014
# Hasan Al Banna, 2013
# Ibnu Daru Aji, 2013
# se7entime <se7entime@openmailbox.org>, 2013
# se7entime <se7entime@openmailbox.org>, 2013,2015
# se7entime <se7entime@openmailbox.org>, 2013,2015
# se7entime <se7entime@disroot.org>, 2013
# se7entime <se7entime@disroot.org>, 2013,2015
# se7entime <se7entime@disroot.org>, 2013,2015
# se7entime <se7entime@disroot.org>, 2013,2015
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: 2020-06-19 09:48+1000\n"
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"Language-Team: Indonesian (http://www.transifex.com/toofishes/archlinux-"
"pacman/language/id/)\n"
@@ -26,54 +27,54 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\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 sudah mutakhir -- melewati\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 sudah mutakhir -- memasang ulang\n"
#: lib/libalpm/add.c:95
#: lib/libalpm/add.c:100
#, c-format
msgid "downgrading package %s (%s => %s)\n"
msgstr "menurunkan paket %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 "peringatan diberikan ketika mengekstrak %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 "tidak dapat mengekstrak %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:580 lib/libalpm/remove.c:542
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "tidak dapat mengubah nama %s menjadi %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 ""
"berkas tidak ditemukan pada daftar berkas untuk paket %s. ekstraksi %s "
"dilewati.\n"
#: lib/libalpm/add.c:214
#: lib/libalpm/add.c:219
#, c-format
msgid "unable to extract %s%s: path too long"
msgstr "gagal mengekstrak %s%s: jalur terlalu panjang"
#: lib/libalpm/add.c:256
#: lib/libalpm/add.c:261
#, c-format
msgid ""
"directory permissions differ on %s\n"
@@ -82,7 +83,7 @@ msgstr ""
"izin direktori berbeda pada %s\n"
"filesystem: %o paket: %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 ""
"kepemilikan direktori berbeda pada %s\n"
"sistem berkas: %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 "ekstrak: tidak menimpa direktori dengan berkas %s\n"
#: lib/libalpm/add.c:315
#: lib/libalpm/add.c:320
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "gagal mengekstrak %s.pacnew: jalur terlalu panjang"
#: 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 "tidak dapat mendapatkan direktori kerja saat ini\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 "tidak dapat mengganti direktori ke %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 "tidak dapat mengembalikan direktori kerja (%s)\n"
#: lib/libalpm/add.c:578
#: lib/libalpm/add.c:583
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "mendapati masalah saat meningkatkan %s\n"
#: lib/libalpm/add.c:584
#: lib/libalpm/add.c:589
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "mendapati masalah ketika memasang %s\n"
#: lib/libalpm/add.c:599
#: lib/libalpm/add.c:604
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "tidak dapat memutakhirkan entry database %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 "tidak dapat menambah entry '%s' pada 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 "galat ketika membaca berkas %s: %s\n"
#: lib/libalpm/be_local.c:350
#: lib/libalpm/be_local.c:364
#, c-format
msgid "removing invalid database: %s\n"
msgstr "menghapus semua database tak valid: %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 "tidak dapat membuat direktori %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 "nama entry '%s' database tidak valid\n"
#: lib/libalpm/be_local.c:584
#: lib/libalpm/be_local.c:598
#, c-format
msgid "duplicated database entry '%s'\n"
msgstr "entry database diduplikasi '%s'\n"
#: lib/libalpm/be_local.c:596
#: lib/libalpm/be_local.c:610
#, c-format
msgid "corrupted database entry '%s'\n"
msgstr "entry database korup '%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:428 lib/libalpm/util.c:253
#: lib/libalpm/util.c:269
#, c-format
msgid "could not open file %s: %s\n"
msgstr "tidak dapat membuka berkas %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 tidak konsisten: nama tidak cocok pada paket %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 tidak konsisten: versi tidak sama pada paket %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 "tipe validasi tidak dikenal untuk paket %s: %s\n"
@@ -226,42 +227,42 @@ msgstr "Versi paket tidak valid pada %s\n"
msgid "missing package metadata in %s\n"
msgstr "paket %s kehilangan metadata\n"
#: lib/libalpm/be_package.c:748
#: lib/libalpm/be_package.c:750
#, c-format
msgid "failed to read signature file: %s\n"
msgstr "gagal membaca berkas signatur: %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
#, c-format
msgid "required key missing from keyring\n"
msgstr "key yang dibutuhkan tidak ada pada keyring\n"
#: lib/libalpm/be_sync.c:62
#: lib/libalpm/be_sync.c:61
#, c-format
msgid "removing invalid file: %s\n"
msgstr "menghapus berkas tidak valid: %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 "tidak dapat menerjemahkan deskripsi berkas '%s' dari 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 "%s basis data tidak konsisten: nama berkas paket %s adalah ilegal\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 basis data tidak konsisten: nama berkas paket %s terlalu panjang\n"
#: lib/libalpm/be_sync.c:634
#: lib/libalpm/be_sync.c:632
#, c-format
msgid "unknown database file: %s\n"
msgstr "berkas database tidak dikenal: %s\n"
@@ -286,12 +287,12 @@ msgstr "%s akan dihapus setelah %s dependensi\n"
msgid "%s will be installed before its %s dependency\n"
msgstr "%s akan dipasang sebelum %s dependensinya\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 "mengabaikan 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 "tidak dapat menyelesaikan \"%s\", dependensi dari \"%s\"\n"
@@ -346,38 +347,38 @@ msgstr "tidak dapat menentukan titik kait root %s\n"
msgid "Partition %s is mounted read only\n"
msgstr "Partisi %s dikaitkan hanya baca\n"
#: lib/libalpm/dload.c:159
#: lib/libalpm/dload.c:161
#, c-format
msgid "disk"
msgstr "diska"
#: lib/libalpm/dload.c:345
#: lib/libalpm/dload.c:348
#, c-format
msgid "failed to create temporary file for download\n"
msgstr "gagal membuat berkas unduhan temporer\n"
#: lib/libalpm/dload.c:390
#: lib/libalpm/dload.c:393
#, c-format
msgid "url '%s' is invalid\n"
msgstr "url '%s' tidak valid\n"
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "gagal mendapatkan berkas '%s' dari %s: %s\n"
#: lib/libalpm/dload.c:472
#: lib/libalpm/dload.c:483
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"gagal mendapatkan berkas '%s' dari %s: ukuran unduhan melebihi perkiraan\n"
#: lib/libalpm/dload.c:520
#: lib/libalpm/dload.c:538
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s sepertinya tidak lengkap: %jd/%jd byte\n"
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
#, c-format
msgid "failed to download %s\n"
msgstr "gagal mengunduh %s\n"
@@ -597,199 +598,194 @@ msgstr "signature PGP tidak ada"
msgid "invalid PGP signature"
msgstr "signature PGP tidak valid"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "delta korup atau tidak valid"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "patch delta gagal"
#: 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 "tidak dapat memuaskan dependensi"
#: lib/libalpm/error.c:142
#: lib/libalpm/error.c:137
#, c-format
msgid "conflicting dependencies"
msgstr "dependensi konflik"
#: lib/libalpm/error.c:144
#: lib/libalpm/error.c:139
#, c-format
msgid "conflicting files"
msgstr "berkas yang konflik"
#: lib/libalpm/error.c:147
#: lib/libalpm/error.c:142
#, c-format
msgid "failed to retrieve some files"
msgstr "gagal mendapatkan beberapa berkas"
#: lib/libalpm/error.c:149
#: lib/libalpm/error.c:144
#, c-format
msgid "invalid regular expression"
msgstr "regular expression tidak valid"
#: 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 "pustaka pengunduhan 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 "galat melibatkan pengunduh eksternal"
#: 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 "galat tak terduga"
#: lib/libalpm/handle.c:157
#: lib/libalpm/handle.c:153
#, c-format
msgid "lock file missing %s\n"
msgstr "berkas lock tidak ditemukan %s\n"
#: lib/libalpm/handle.c:163
#: lib/libalpm/handle.c:159
#, c-format
msgid "could not remove lock file %s\n"
msgstr "tidak dapat menghapus berkas kunci %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 "tidak dapat membuka direktori: %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 "tidak dapat mencatat stat berkas %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 "tidak dapat memuat metadata secara penuh untuk paket %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 "tidak dapat mencari %s pada database -- melewati\n"
#: lib/libalpm/remove.c:153
#: lib/libalpm/remove.c:154
#, c-format
msgid "removing %s from target list\n"
msgstr "menghapus %s dari daftar target\n"
#: lib/libalpm/remove.c:345
#: lib/libalpm/remove.c:346
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "tidak dapat menghapus berkas '%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 "tidak dapat menghapus %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 "tidak dapat menghapus entry database %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 "tidak dapat menghapus entry '%s' dari cache\n"
@@ -799,139 +795,154 @@ msgstr "tidak dapat menghapus entry '%s' dari cache\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:1040
#, c-format
msgid "%s: missing required signature\n"
msgstr "%s: tidak mempunyai signature yang dibutuhkan\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: mengabaikan peningkatan paket (%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: mengabaikan penurunan paket (%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: menurunkan dari versi %s ke versi %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) lebih baru dari %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 "mengabaikan penggantian paket (%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 "tidak dapat mengganti %s dengan %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 "konflik paket tak terselesaikan terdeteksi\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 "menghapus '%s' dari daftar target karena berkonflik dengan '%s'\n"
#: lib/libalpm/sync.c:1019
#: lib/libalpm/sync.c:859
#, c-format
msgid "failed to retrieve some files\n"
msgstr "gagal mendapatkan beberapa berkas\n"
#: lib/libalpm/sync.c:1384
#: lib/libalpm/sync.c:1054
#, c-format
msgid "failed to read file %s: %s\n"
msgstr ""
#: lib/libalpm/sync.c:1241
#, c-format
msgid "not enough free disk space\n"
msgstr "ruang kosong tidak cukup\n"
#: lib/libalpm/sync.c:1406
#: lib/libalpm/sync.c:1263
#, c-format
msgid "could not commit removal transaction\n"
msgstr "tidak dapat melakukan transaksi penghapusan\n"
#: lib/libalpm/sync.c:1414
#: lib/libalpm/sync.c:1271
#, c-format
msgid "could not commit transaction\n"
msgstr "tidak dapat melakukan transaksi\n"
@@ -966,52 +977,52 @@ msgstr "gagal menulis ke pipa (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "gagal membaca dari pipa (%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 "tidak dapat membuat 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 "tidak dapat melakukan fork ke proses baru (%s)\n"
#: lib/libalpm/util.c:627
#: lib/libalpm/util.c:646
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "tidak dapat mengubah direktori root (%s)\n"
#: lib/libalpm/util.c:638
#: lib/libalpm/util.c:658
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "panggilan ke execv gagal (%s)\n"
#: lib/libalpm/util.c:709
#: lib/libalpm/util.c:737
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "gagal memanggil waitpid (%s)\n"
#: lib/libalpm/util.c:719
#: lib/libalpm/util.c:747
#, c-format
msgid "command failed to execute correctly\n"
msgstr "gagal menjalankan perintah dengan benar\n"
#: lib/libalpm/util.c:726
#: lib/libalpm/util.c:754
#, c-format
msgid "Unknown signal"
msgstr "Sinyal tak dikenal"
#: lib/libalpm/util.c:728
#: lib/libalpm/util.c:756
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "Perintah dimatikan dengan sinyal %d:%s\n"
#: lib/libalpm/util.c:825
#: lib/libalpm/util.c:853
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "tidak ada %s cache yang ada, membuat...\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 "tidak dapat membuat cache paket, gunakan %s saja\n"

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