Compare commits

..

144 Commits

Author SHA1 Message Date
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
257 changed files with 9926 additions and 7706 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,7 +9,8 @@ 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
@@ -50,6 +51,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:

32
NEWS
View File

@@ -1,7 +1,5 @@
VERSION DESCRIPTION
-----------------------------------------------------------------------------
5.1.3 - Sanitize file path received from Content-Disposition header
to fix potential arbitary code execution
5.1.2 - pacman-conf: add missing DisableDownloadTimeout support
- Include version when checking optdepend install status
during -Qi (FS#60106)
@@ -146,12 +144,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
@@ -243,9 +259,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
@@ -335,7 +351,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
@@ -800,7 +816,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
@@ -1246,7 +1262,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)

View File

@@ -0,0 +1,33 @@
#!@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|@OWNERCMD[@]|@OWNERCMD@|g" \
-e "s|@MODECMD[@]|@MODECMD@|g" \
-e "s|@SEDINPLACEFLAGS[@]|@SEDINPLACEFLAGS@|g" \
-e "s|@SEDPATH[@]|@SEDPATH@|g" \
-e "s|@DUFLAGS[@]|@DUFLAGS@|g" \
-e "s|@DUPATH[@]|@DUPATH@|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

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

296
build-aux/tap-driver.py Normal file
View File

@@ -0,0 +1,296 @@
#!/usr/bin/env python3
# Adapted from tappy copyright (c) 2016, Matt Layman
# MIT license
# https://github.com/python-tap/tappy
import io
import re
import subprocess
import sys
class Directive(object):
"""A representation of a result line directive."""
skip_pattern = re.compile(
r"""^SKIP\S*
(?P<whitespace>\s*) # Optional whitespace.
(?P<reason>.*) # Slurp up the rest.""",
re.IGNORECASE | re.VERBOSE)
todo_pattern = re.compile(
r"""^TODO\b # The directive name
(?P<whitespace>\s*) # Immediately following must be whitespace.
(?P<reason>.*) # Slurp up the rest.""",
re.IGNORECASE | re.VERBOSE)
def __init__(self, text):
"""Initialize the directive by parsing the text.
The text is assumed to be everything after a '#\s*' on a result line.
"""
self._text = text
self._skip = False
self._todo = False
self._reason = None
match = self.skip_pattern.match(text)
if match:
self._skip = True
self._reason = match.group('reason')
match = self.todo_pattern.match(text)
if match:
if match.group('whitespace'):
self._todo = True
else:
# Catch the case where the directive has no descriptive text.
if match.group('reason') == '':
self._todo = True
self._reason = match.group('reason')
@property
def text(self):
"""Get the entire text."""
return self._text
@property
def skip(self):
"""Check if the directive is a SKIP type."""
return self._skip
@property
def todo(self):
"""Check if the directive is a TODO type."""
return self._todo
@property
def reason(self):
"""Get the reason for the directive."""
return self._reason
class Parser(object):
"""A parser for TAP files and lines."""
# ok and not ok share most of the same characteristics.
result_base = r"""
\s* # Optional whitespace.
(?P<number>\d*) # Optional test number.
\s* # Optional whitespace.
(?P<description>[^#]*) # Optional description before #.
\#? # Optional directive marker.
\s* # Optional whitespace.
(?P<directive>.*) # Optional directive text.
"""
ok = re.compile(r'^ok' + result_base, re.VERBOSE)
not_ok = re.compile(r'^not\ ok' + result_base, re.VERBOSE)
plan = re.compile(r"""
^1..(?P<expected>\d+) # Match the plan details.
[^#]* # Consume any non-hash character to confirm only
# directives appear with the plan details.
\#? # Optional directive marker.
\s* # Optional whitespace.
(?P<directive>.*) # Optional directive text.
""", re.VERBOSE)
diagnostic = re.compile(r'^#')
bail = re.compile(r"""
^Bail\ out!
\s* # Optional whitespace.
(?P<reason>.*) # Optional reason.
""", re.VERBOSE)
version = re.compile(r'^TAP version (?P<version>\d+)$')
TAP_MINIMUM_DECLARED_VERSION = 13
def parse(self, fh):
"""Generate tap.line.Line objects, given a file-like object `fh`.
`fh` may be any object that implements both the iterator and
context management protocol (i.e. it can be used in both a
"with" statement and a "for...in" statement.)
Trailing whitespace and newline characters will be automatically
stripped from the input lines.
"""
with fh:
for line in fh:
yield self.parse_line(line.rstrip())
def parse_line(self, text):
"""Parse a line into whatever TAP category it belongs."""
match = self.ok.match(text)
if match:
return self._parse_result(True, match)
match = self.not_ok.match(text)
if match:
return self._parse_result(False, match)
if self.diagnostic.match(text):
return ('diagnostic', text)
match = self.plan.match(text)
if match:
return self._parse_plan(match)
match = self.bail.match(text)
if match:
return ('bail', match.group('reason'))
match = self.version.match(text)
if match:
return self._parse_version(match)
return ('unknown',)
def _parse_plan(self, match):
"""Parse a matching plan line."""
expected_tests = int(match.group('expected'))
directive = Directive(match.group('directive'))
# Only SKIP directives are allowed in the plan.
if directive.text and not directive.skip:
return ('unknown',)
return ('plan', expected_tests, directive)
def _parse_result(self, ok, match):
"""Parse a matching result line into a result instance."""
return ('result', ok, match.group('number'),
match.group('description').strip(),
Directive(match.group('directive')))
def _parse_version(self, match):
version = int(match.group('version'))
if version < self.TAP_MINIMUM_DECLARED_VERSION:
raise ValueError('It is an error to explicitly specify '
'any version lower than 13.')
return ('version', version)
class Rules(object):
def __init__(self):
self._lines_seen = {'plan': [], 'test': 0, 'failed': 0, 'version': []}
self._errors = []
def check(self, final_line_count):
"""Check the status of all provided data and update the suite."""
if self._lines_seen['version']:
self._process_version_lines()
self._process_plan_lines(final_line_count)
def check_errors(self):
if self._lines_seen['failed'] > 0:
self._add_error('Tests failed.')
if self._errors:
for error in self._errors:
print(error)
return 1
return 0
def _process_version_lines(self):
"""Process version line rules."""
if len(self._lines_seen['version']) > 1:
self._add_error('Multiple version lines appeared.')
elif self._lines_seen['version'][0] != 1:
self._add_error('The version must be on the first line.')
def _process_plan_lines(self, final_line_count):
"""Process plan line rules."""
if not self._lines_seen['plan']:
self._add_error('Missing a plan.')
return
if len(self._lines_seen['plan']) > 1:
self._add_error('Only one plan line is permitted per file.')
return
expected_tests, at_line = self._lines_seen['plan'][0]
if not self._plan_on_valid_line(at_line, final_line_count):
self._add_error(
'A plan must appear at the beginning or end of the file.')
return
if expected_tests != self._lines_seen['test']:
self._add_error(
'Expected {expected_count} tests '
'but only {seen_count} ran.'.format(
expected_count=expected_tests,
seen_count=self._lines_seen['test']))
def _plan_on_valid_line(self, at_line, final_line_count):
"""Check if a plan is on a valid line."""
# Put the common cases first.
if at_line == 1 or at_line == final_line_count:
return True
# The plan may only appear on line 2 if the version is at line 1.
after_version = (
self._lines_seen['version'] and
self._lines_seen['version'][0] == 1 and
at_line == 2)
if after_version:
return True
return False
def handle_bail(self, reason):
"""Handle a bail line."""
self._add_error('Bailed: {reason}').format(reason=reason)
def handle_skipping_plan(self):
"""Handle a plan that contains a SKIP directive."""
sys.exit(77)
def saw_plan(self, expected_tests, at_line):
"""Record when a plan line was seen."""
self._lines_seen['plan'].append((expected_tests, at_line))
def saw_test(self, ok):
"""Record when a test line was seen."""
self._lines_seen['test'] += 1
if not ok:
self._lines_seen['failed'] += 1
def saw_version_at(self, line_counter):
"""Record when a version line was seen."""
self._lines_seen['version'].append(line_counter)
def _add_error(self, message):
self._errors += [message]
if __name__ == '__main__':
parser = Parser()
rules = Rules()
try:
out = subprocess.check_output(sys.argv[1:], universal_newlines=True)
except subprocess.CalledProcessError as e:
sys.stdout.write(e.output)
raise e
line_generator = parser.parse(io.StringIO(out))
line_counter = 0
for line in line_generator:
line_counter += 1
if line[0] == 'unknown':
continue
if line[0] == 'result':
rules.saw_test(line[1])
print('{okay} {num} {description} {directive}'.format(
okay=('' if line[1] else 'not ') + 'ok', num=line[2],
description=line[3], directive=line[4].text))
elif line[0] == 'plan':
if line[2].skip:
rules.handle_skipping_plan()
rules.saw_plan(line[1], line_counter)
elif line[0] == 'bail':
rules.handle_bail(line[1])
elif line[0] == 'version':
rules.saw_version_at(line_counter)
elif line[0] == 'diagnostic':
print(line[1])
rules.check(line_counter)
sys.exit(rules.check_errors())

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=(*/.ninja_log)
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

@@ -42,12 +42,12 @@ AC_PREREQ(2.64)
# pacman_version_micro += 1
m4_define([lib_current], [11])
m4_define([lib_revision], [3])
m4_define([lib_revision], [1])
m4_define([lib_age], [0])
m4_define([pacman_version_major], [5])
m4_define([pacman_version_minor], [1])
m4_define([pacman_version_micro], [3])
m4_define([pacman_version_micro], [1])
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,
@@ -179,7 +179,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 +193,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,6 +215,9 @@ 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!]))
@@ -326,8 +329,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 \
@@ -442,6 +443,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 +462,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])

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,7 +3,7 @@
# 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 \
@@ -16,23 +16,12 @@ ASCIIDOC_MANS = \
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))
HTML_OTHER = \
index.html \
@@ -65,12 +54,11 @@ EXTRA_DIST = \
index.asciidoc \
submitting-patches.asciidoc \
translation-help.asciidoc \
Doxyfile \
$(ASCIIDOC_MANS) \
$(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 +73,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
@@ -121,7 +113,8 @@ ASCIIDOC_OPTS = \
-a pkgdatadir=$(pkgdatadir) \
-a localstatedir=$(localstatedir) \
-a sysconfdir=$(sysconfdir) \
-a datarootdir=$(datarootdir)
-a datarootdir=$(datarootdir) \
-a rootdir=$(ROOTDIR)
A2X_OPTS = \
--no-xmllint \
@@ -129,11 +122,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 +136,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

@@ -60,8 +60,8 @@ systems (see below).
allows package maintainers to make updates to the package's configure
flags, for example. This is typically set to '1' for each new upstream
software release and incremented for intermediate PKGBUILD updates. The
variable is a postive integer, with an optional subrelease level
specified by adding another postive integer separated by a period
variable is a positive integer, with an optional subrelease level
specified by adding another positive integer separated by a period
(i.e. in the form x.y).
*epoch*::
@@ -154,7 +154,7 @@ contain whitespace characters.
be skipped. To easily generate md5sums, run ``makepkg -g >> PKGBUILD''.
If desired, move the md5sums line to an appropriate location.
*sha1sums, sha224sums, 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

View File

@@ -43,9 +43,11 @@ 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]
@@ -57,11 +59,11 @@ configuration files dealing with pacman.
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.
@@ -78,6 +80,7 @@ Releases
!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
@@ -200,8 +203,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
~~~~~~~~~~~
@@ -212,11 +215,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
@@ -235,15 +238,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
----

View File

@@ -183,7 +183,7 @@ Options
**INTEGRITY_CHECK=(**check1 ...**)**::
File integrity checks to use. Multiple checks may be specified; this
affects both generation and checking. The current valid options are:
`md5`, `sha1`, `sha224`, `sha256`, `sha384`, and `sha512`.
`md5`, `sha1`, `sha224`, `sha256`, `sha384`, `sha512`, and `b2`.
**STRIP_BINARIES=**"--strip-all"::
Options to be used when stripping binaries. See linkman:strip[1]
@@ -249,16 +249,19 @@ Options
**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"::
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`.
Valid suffixes are `.tar`, `.tar.gz`, `.tar.bz2`, `.tar.xz`, `.tar.zst`,
`.tar.lzo`, `.tar.lrz`, `.tar.lz4`, `.tar.lz` and `.tar.Z`.
Do not touch these unless you know what you are doing.

149
doc/meson.build Normal file
View File

@@ -0,0 +1,149 @@
manpages = [
{ 'name': 'alpm-hooks.5' },
{ 'name': 'pacman.8' },
{ 'name': 'makepkg.8' },
{ 'name': 'makepkg-template.1' },
{ 'name': 'repo-add.8' },
{ 'name': 'vercmp.8' },
{ 'name': 'pkgdelta.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', '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

@@ -131,7 +131,7 @@ Options
not automatically prepended.
*-r, \--root* <path>::
Specify an alternative installation root (default is `/`). This should
Specify an alternative installation root (default is +{rootdir}+). This should
not be used as a way to install software into `/usr/local` instead of
`/usr`.
*NOTE*: If database path or log file are not specified on either the
@@ -514,7 +514,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

@@ -176,7 +176,7 @@ Options
operation on a local file. Uses the value from SigLevel as the default.
*RemoteFileSigLevel =* ...::
Set the signature verification level for installing packages using the "-U"
Set the signature verification level for installing packages using the "-U"
operation on a remote file URL. Uses the value from SigLevel as the default.
*UseSyslog*::

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

@@ -87,7 +87,7 @@ BUILDENV=(!distcc color !ccache check !sign)
#
OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512
#-- 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,9 +130,12 @@ 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

View File

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

@@ -118,7 +118,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. */
@@ -1044,7 +1046,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),
@@ -1450,7 +1452,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 +1463,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

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

@@ -700,17 +700,9 @@ 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) {
@@ -788,7 +780,7 @@ alpm_db_t *_alpm_db_register_sync(alpm_handle_t *handle, const char *treename,
#ifndef HAVE_LIBGPGME
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
RET_ERR(handle, ALPM_ERR_WRONG_ARGS, NULL);
RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, NULL);
}
#endif

View File

@@ -401,8 +401,7 @@ static alpm_pkg_t *_alpm_find_file_owner(alpm_handle_t *handle, const char *path
static int _alpm_can_overwrite_file(alpm_handle_t *handle, const char *path, const char *rootedpath)
{
return handle->trans->flags & ALPM_TRANS_FLAG_FORCE
|| _alpm_fnmatch_patterns(handle->overwrite_files, path) == 0
return _alpm_fnmatch_patterns(handle->overwrite_files, path) == 0
|| _alpm_fnmatch_patterns(handle->overwrite_files, rootedpath) == 0;
}

View File

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

View File

@@ -159,6 +159,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

@@ -803,11 +803,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 +830,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 +854,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 +876,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

@@ -551,7 +551,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 +643,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 +689,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

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

33
lib/libalpm/meson.build Normal file
View File

@@ -0,0 +1,33 @@
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
delta.h delta.c
deps.h deps.c
diskspace.h diskspace.c
dload.h dload.c
error.c
filelist.h filelist.c
graph.h graph.c
group.h group.c
handle.h handle.c
hook.h hook.c
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

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

View File

@@ -9,14 +9,14 @@
# kraim <biskraim@gmail.com>, 2013
# Mosaab Alzoubi <moceap@hotmail.com>, 2013
# Mosaab Alzoubi <moceap@hotmail.com>, 2013
# Mutaz ismail <mutaz@gmx.net>, 2015
# Mutaz ismail <m3taz.ismail@gmail.com>, 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: 2019-08-12 11:23+1000\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"
"Language-Team: Arabic (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -58,7 +58,7 @@ msgstr "تحذير عند الاستخراج %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "تعذّر استخراج %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "تعذر إعادة تسمية %s إلى %s (%s)\n"
@@ -101,18 +101,18 @@ msgstr "الاستخراج: عدم الكتابة فوق المجلد بالمل
msgid "unable to extract %s.pacnew: path too long"
msgstr ""
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "تعذر استعادة مجلد العمل (%s)\n"
@@ -361,22 +361,22 @@ msgstr "غير قادر على إنشاء ملف مؤقت للتحميل\n"
msgid "url '%s' is invalid\n"
msgstr "العنوان '%s' غير صالح\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "فشل في استقبال الملف '%s' من %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr "فشل في استقبال الملف '%s' من %s : تم تجاوز حجم التحميل\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s يبدو غير موثوقًا: %jd/%jd بايت\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "tag td jpldg %s\n"
@@ -969,52 +969,52 @@ msgstr "تعذّرت الكتابة إلى الأنبوب (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "تعذّرت القراءة من الأنبوب (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "غير قادر على إنشاء العبارة (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "تعذّر تفريع العملية إلى عملية جديدة (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "تعذّر التعديل على مجلد الجذر (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "تعذّر مخاطبة execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "تعذّر مخاطبةwaitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "فشل تطبيق الأمر بشكل صحيح\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "إشارة مجهوله"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "تم انهاء الامر بواسطة الاشارة %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "لا يوجد %s مخبئي، يجري الإنشاء...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "تعذّر إيجاد أو إنشاء مخبئية للحزم ، استخدم %s بدلًا عنها\n"

View File

@@ -11,7 +11,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Asturian (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -52,7 +52,7 @@ msgstr "alvertencia dada al estrayer el paquete %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "nun pudo estrayese %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "nun pudo renomase %s a %s (%s)\n"
@@ -97,18 +97,18 @@ msgstr "estración: nun pue sobrescribise'l direutoriu col ficheru %s\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "nun pudo restaurase'l direutoriu de trabayu (%s)\n"
@@ -363,22 +363,22 @@ msgstr "fallu al crear el ficheru temporal pa la descarga\n"
msgid "url '%s' is invalid\n"
msgstr "l'enllaz '%s' ye inválidu\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr ""
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "fallu al lleer %s\n"
@@ -968,52 +968,52 @@ msgstr ""
msgid "unable to read from pipe (%s)\n"
msgstr ""
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr ""
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "Nun pudo bifurcase un procesu nuevu (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "nun pudo cambiase'l direutoriu root (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "llamada a execv fallida (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "llamada a waitpid fallida (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "el comandu falló al executase afayadizamente\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Señal desconocida"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "comandu fináu pola señal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "nun esiste'l caché %s, creando...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -9,7 +9,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-15 12:11+0000\n"
"Last-Translator: Galin Iskrenov <loot270@abv.bg>\n"
"Language-Team: Bulgarian (http://www.transifex.com/toofishes/archlinux-"
@@ -50,7 +50,7 @@ msgstr "има предупреждение при извличане %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "не може да се извлече %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "не може да се преименува %s на %s (%s)\n"
@@ -95,18 +95,18 @@ msgstr "извличане: не се презаписва папка с фай
msgid "unable to extract %s.pacnew: path too long"
msgstr "неспешно извличането на %s.pacnew: пътят е твърде дълъг"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "не може да се възстанови работната директория (%s)\n"
@@ -357,24 +357,24 @@ msgstr "не може да се създаде временен файл за с
msgid "url '%s' is invalid\n"
msgstr "url '%s' е невалиден\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "неуспех при извличане на файл '%s' от %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"неуспех при получаването на файл '%s' от %s : очакваният размер за сваляне е "
"надвишен\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s изглежда частичен: %jd/%jd bytes\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "неуспех при сваляне на %s\n"
@@ -963,52 +963,52 @@ msgstr "неъспешно записването в тръбата (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "неуспешно четенето от тръбата (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "не се създава pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "could not fork a new process (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "не може да се промени root папката (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "неуспех при извикване execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "неуспех при извикване на waitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "неуспешно правилно изпълнение на команда\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Неизвестен сигнал"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "командата прекратена от сигнал %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "не %s съществуваш кеш, създаване...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "не се открива или създава пакетен кеш, използва се %s\n"

View File

@@ -4,14 +4,14 @@
#
# Translators:
# Gwenn M <tornoz@laposte.net>, 2015
# Gwenn M <tornoz@laposte.net>, 2015,2018-2019
# Gwenn M <tornoz@laposte.net>, 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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-01-11 10:35+0000\n"
"Last-Translator: Gwenn M <tornoz@laposte.net>\n"
"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"
"Language-Team: Breton (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/br/)\n"
"Language: br\n"
@@ -42,7 +42,7 @@ msgstr "o pellgargañ ar pakad %s (%s => %s)\n"
#: lib/libalpm/add.c:124
#, c-format
msgid "cannot allocate disk archive object"
msgstr "n'haller ket derannañ an ergorenn kantenn diell"
msgstr ""
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
#, c-format
@@ -54,7 +54,7 @@ msgstr "ur galv diwall a zo bet roet en ur eztennañ %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "n'haller ket eztennañ %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "n'haller ket adenvel %s e %s (%s)\n"
@@ -99,18 +99,18 @@ msgstr "eztannadur : flastradur kavlec'h gant restr %s ebet \n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "n'haller ket eztennañ %s.pacnew : re hir eo an treug"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "n'haller ket assav ar c'havlec'h labour (%s)\n"
@@ -249,7 +249,7 @@ msgstr ""
#: lib/libalpm/be_sync.c:524
#, c-format
msgid "could not read db '%s' (%s)\n"
msgstr "n'haller ket lenn ar stlennvon '%s' (%s)\n"
msgstr ""
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
#, c-format
@@ -363,24 +363,24 @@ msgstr "fazi en ur c'hrouiñ ar restr padennek evit ar pellgargañ\n"
msgid "url '%s' is invalid\n"
msgstr "direizh eo an url '%s'\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "fazi en ur pellgargañ %s\n"
@@ -674,69 +674,69 @@ msgstr "n'haller ket dilemel ar restr marilhañ %s\n"
#: lib/libalpm/hook.c:107
#, c-format
msgid "Missing trigger targets in hook: %s\n"
msgstr "Mankout a ra bukennoù delusker er c'hrog: %s\n"
msgstr ""
#: lib/libalpm/hook.c:113
#, c-format
msgid "Missing trigger type in hook: %s\n"
msgstr "Mankout a ra rizh an delusker er c'hrog: %s\n"
msgstr ""
#: lib/libalpm/hook.c:119
#, c-format
msgid "Missing trigger operation in hook: %s\n"
msgstr "Mankout a ra gwezhiadur an delusker er c'hrog: %s\n"
msgstr ""
#: lib/libalpm/hook.c:146
#, c-format
msgid "Missing Exec option in hook: %s\n"
msgstr "Mankout a ra an dibarzh Exec er c'hrog: %s\n"
msgstr ""
#: lib/libalpm/hook.c:152
#, c-format
msgid "Missing When option in hook: %s\n"
msgstr "Mankout a ra an dibarzh When er c'hrog: %s\n"
msgstr ""
#: lib/libalpm/hook.c:155
#, c-format
msgid "AbortOnFail set for PostTransaction hook: %s\n"
msgstr "AbortOnFail lakaet evit ar c'hrog PostTransaction: %s\n"
msgstr ""
#: lib/libalpm/hook.c:273
#, c-format
msgid "error while reading hook %s: %s\n"
msgstr "fazi en ul lenn ar c'hrog %s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
#, c-format
msgid "hook %s line %d: invalid option %s\n"
msgstr "krog %s linenn %d: dibarzh didalvoudek %s\n"
msgstr ""
#: lib/libalpm/hook.c:285
#, c-format
msgid "hook %s line %d: invalid section %s\n"
msgstr "krog %slinenn %d: dibarzh didalvoudek %s\n"
msgstr ""
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
#: lib/libalpm/hook.c:350
#, c-format
msgid "hook %s line %d: invalid value %s\n"
msgstr "krog %s linenn %d: gwerzh didalvoudek %s\n"
msgstr ""
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
#: lib/libalpm/hook.c:345
#, c-format
msgid "hook %s line %d: overwriting previous definition of %s\n"
msgstr "krog %s linenn %d: flastrañ despizadur kent %s\n"
msgstr ""
#: lib/libalpm/hook.c:352
#, c-format
msgid "hook %s line %d: unable to set option (%s)\n"
msgstr "krog %s linenn %d: n'haller ket arventennañ an dibarzh (%s)\n"
msgstr ""
#: lib/libalpm/hook.c:613
#, c-format
msgid "unable to run hook %s: %s\n"
msgstr "n'haller ket lañsañ ar c'hrog %s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
#, c-format
@@ -746,7 +746,7 @@ msgstr "n'haller ket digeriñ ar c'havlec'h : %s : %s\n"
#: lib/libalpm/hook.c:676
#, c-format
msgid "could not open file: %s%s: %s\n"
msgstr "n'haller ket digeriñ ar restr: %s %s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
#, c-format
@@ -756,7 +756,7 @@ msgstr "n'heller ket kaout stad ar restr %s : %s\n"
#: lib/libalpm/hook.c:722
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr "n'haller ket lenn ar c'havlec'h: %s: %s\n"
msgstr ""
#: lib/libalpm/package.c:586
#, c-format
@@ -781,7 +781,7 @@ msgstr "n'heller ket dilemel ar restr '%s' : %s\n"
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
#, c-format
msgid "could not backup %s due to PATH_MAX overflow\n"
msgstr "n'haller ket gwarediñ %sabalamour d'an dic'hlann PATH_MAX\n"
msgstr ""
#: lib/libalpm/remove.c:561
#, c-format
@@ -801,17 +801,17 @@ msgstr "n'haller ket dilemel an enankad '%s' eus ar c'hrubuilh\n"
#: lib/libalpm/signing.c:171
#, c-format
msgid "Public keyring not found; have you run '%s'?\n"
msgstr "Ne gaver ket an droñsell foran; lañset ho peus '%s'?\n"
msgstr ""
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
#, c-format
msgid "GPGME error: %s\n"
msgstr "Fazi GPGME: %s\n"
msgstr ""
#: lib/libalpm/signing.c:402
#, c-format
msgid "keyring is not writable\n"
msgstr "n'haller ket skrivañ en droñsell\n"
msgstr ""
#: lib/libalpm/signing.c:460
#, c-format
@@ -822,8 +822,6 @@ msgstr ""
#, c-format
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
msgstr ""
"alc'hwez %s, \"%s\" kavet war an dafariad alc'hwezioù, n'haller ket skrivañ "
"en droñsell\n"
#: lib/libalpm/signing.c:471
#, c-format
@@ -838,7 +836,7 @@ msgstr "%s : mankout a ra ar sinadur dleet\n"
#: lib/libalpm/signing.c:874
#, c-format
msgid "%s: signature from \"%s\" is marginal trust\n"
msgstr "%s: mentrezh ar sinadur \"%s\" n'eo ket fizius-tre\n"
msgstr ""
#: lib/libalpm/signing.c:882
#, c-format
@@ -853,7 +851,7 @@ msgstr ""
#: lib/libalpm/signing.c:901
#, c-format
msgid "%s: key \"%s\" is unknown\n"
msgstr "%s: dianav zo an alc'hwez \"%s\"\n"
msgstr ""
#: lib/libalpm/signing.c:910
#, c-format
@@ -880,7 +878,7 @@ msgstr ""
#: lib/libalpm/signing.c:1136
#, c-format
msgid "%s: unsupported signature format\n"
msgstr "%s: mentrezh sinadur anskor\n"
msgstr ""
#: lib/libalpm/sync.c:98
#, c-format
@@ -972,52 +970,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "n'haller ket krouiñ ar gorzenn (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, 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:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "c'hwitadenn war galv execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "c'hwitadenn war galv waitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "c'hwitadenn war erounezadur an urzh\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Arhent dianav"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, 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:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "n'eus krubuilh %s ebet, o krouiñ...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -10,14 +10,14 @@
# Josep <jpreales@gmail.com>, 2011,2013
# Josep <jpreales@gmail.com>, 2011,2013
# Josep <jpreales@gmail.com>, 2011
# Davidmp <medipas@gmail.com>, 2015-2019
# Davidmp <medipas@gmail.com>, 2015-2018
# Ramon Buldó <rbuldo@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: Arch Linux Pacman package manager\n"
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-02-18 17:13+0000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-16 14:16+0000\n"
"Last-Translator: Davidmp <medipas@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/ca/)\n"
@@ -57,7 +57,7 @@ msgstr "advertència en extreure %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "no s'ha pogut extreure %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "no s'ha pogut canviar el nom %s a %s (%s)\n"
@@ -102,18 +102,18 @@ msgstr "extracció: no se sobreescriurà el directori amb el fitxer %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "no es pot extreure %s.pacnew: camí massa llarg"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "no s'ha pogut obtenir el directori de treball actual\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "no s'ha pogut canviar el directori a %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "no s'ha pogut restaurar el directori de treball (%s)\n"
@@ -146,7 +146,7 @@ msgstr "error en llegir el fitxer %s: %s\n"
#: lib/libalpm/be_local.c:350
#, c-format
msgid "removing invalid database: %s\n"
msgstr "Suprimint la base de dades no vàlida: %s\n"
msgstr "Eliminant la base de dades no vàlida: %s\n"
#: lib/libalpm/be_local.c:401 lib/libalpm/be_local.c:887
#, c-format
@@ -240,7 +240,7 @@ msgstr "la clau requerida manca al clauer\n"
#: lib/libalpm/be_sync.c:62
#, c-format
msgid "removing invalid file: %s\n"
msgstr "Suprimint el fitxer no vàlid: %s\n"
msgstr "Eliminant el fitxer no vàlid: %s\n"
#: lib/libalpm/be_sync.c:517
#, c-format
@@ -283,7 +283,7 @@ msgstr "s'ha detectat una dependència cíclica:\n"
#: lib/libalpm/deps.c:187
#, c-format
msgid "%s will be removed after its %s dependency\n"
msgstr "%s se suprimirà després de la seva dependència %s\n"
msgstr "%s s'eliminarà després de la seva dependència %s\n"
#: lib/libalpm/deps.c:191
#, c-format
@@ -368,24 +368,24 @@ msgstr "ha fallat crear un fitxer temporal per la baixada\n"
msgid "url '%s' is invalid\n"
msgstr "l'url \"%s\" no és vàlid\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "ha fallat la recuperació del fitxer \"%s\" des de %s: %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"ha fallat recuperar el fitxer \"%s\" des de %s: mida de la baixada superior "
"a l'esperada\n"
"ha fallat la recuperació del fitxer \"%s\" des de %s: mida de la baixada "
"superior a l'esperada\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s sembla que està truncat: %jd/%jd bytes\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "ha fallat baixar %s\n"
@@ -488,7 +488,7 @@ msgstr "no s'ha pogut actualitzar la base de dades"
#: lib/libalpm/error.c:80
#, c-format
msgid "could not remove database entry"
msgstr "no s'ha pogut suprimir l'entrada de la base de dades"
msgstr "no s'ha pogut eliminar l'entrada de la base de dades"
#: lib/libalpm/error.c:83
#, c-format
@@ -579,7 +579,7 @@ msgstr "no s'ha pogut obrir el fitxer del paquet"
#: lib/libalpm/error.c:121
#, c-format
msgid "cannot remove all files for package"
msgstr "no s'han pogut suprimir tots els fitxers del paquet"
msgstr "no s'han pogut eliminar tots els fitxers del paquet"
#: lib/libalpm/error.c:123
#, c-format
@@ -674,7 +674,7 @@ msgstr "falta el fitxer de bloqueig %s\n"
#: lib/libalpm/handle.c:163
#, c-format
msgid "could not remove lock file %s\n"
msgstr "no s'ha pogut suprimir el fitxer de bloqueig %s\n"
msgstr "no s'ha pogut eliminar el fitxer de bloqueig %s\n"
#: lib/libalpm/hook.c:107
#, c-format
@@ -777,12 +777,12 @@ msgstr "No s'ha pogut trobar %s a la base de dades -- s'omet.\n"
#: lib/libalpm/remove.c:153
#, c-format
msgid "removing %s from target list\n"
msgstr "Suprimint %s de la llista d'objectius.\n"
msgstr "Eliminant %s de la llista d'objectius.\n"
#: lib/libalpm/remove.c:345
#, c-format
msgid "cannot remove file '%s': %s\n"
msgstr "no s'ha pogut suprimir el fitxer '%s': %s\n"
msgstr "no s'ha pogut eliminar el fitxer '%s': %s\n"
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
#, c-format
@@ -794,17 +794,17 @@ msgstr ""
#: lib/libalpm/remove.c:561
#, c-format
msgid "cannot remove %s (%s)\n"
msgstr "no es pot suprimir %s (%s)\n"
msgstr "no es pot eliminar %s (%s)\n"
#: lib/libalpm/remove.c:734
#, c-format
msgid "could not remove database entry %s-%s\n"
msgstr "no s'ha pogut suprimir l'entrada de la base de dades %s-%s\n"
msgstr "no s'ha pogut eliminar la entrada de la base de dades %s-%s\n"
#: lib/libalpm/remove.c:739
#, c-format
msgid "could not remove entry '%s' from cache\n"
msgstr "no s'ha pogut suprimir l'entrada '%s' de la memòria cau\n"
msgstr "no s'ha pogut eliminar l'entrada '%s' de la memòria cau\n"
#: lib/libalpm/signing.c:171
#, c-format
@@ -898,12 +898,12 @@ msgstr "%s: s'ha ignorat l'actualització del paquet (%s => %s)\n"
#: lib/libalpm/sync.c:110
#, c-format
msgid "%s: ignoring package downgrade (%s => %s)\n"
msgstr "%s: s'ha ignorat la degradació del paquet (%s => %s)\n"
msgstr "%s: s'ha ignorat la desactualització del paquet (%s => %s)\n"
#: lib/libalpm/sync.c:113
#, c-format
msgid "%s: downgrading from version %s to version %s\n"
msgstr "%s: es degrada de la versió %s a la versió %s\n"
msgstr "%s: desactualitzant de la versió %s a la versió %s\n"
#: lib/libalpm/sync.c:119
#, c-format
@@ -929,7 +929,7 @@ msgstr "s'ha detectat un paquet amb un conflicte impossible de resoldre\n"
#, c-format
msgid "removing '%s' from target list because it conflicts with '%s'\n"
msgstr ""
"Suprimint \"%s\" de la llista d'objectius perquè té conflictes amb \"%s\".\n"
"Eliminant \"%s\" de la llista d'objectius perquè té conflictes amb \"%s\".\n"
#: lib/libalpm/sync.c:1019
#, c-format
@@ -944,7 +944,7 @@ msgstr "no hi ha prou espai de disc lliure\n"
#: lib/libalpm/sync.c:1406
#, c-format
msgid "could not commit removal transaction\n"
msgstr "no s'ha pogut fer la transacció de supressió\n"
msgstr "no s'ha pogut fer la transacció d'eliminació\n"
#: lib/libalpm/sync.c:1414
#, c-format
@@ -964,12 +964,12 @@ msgstr "no s'ha pogut copiar el fitxer temporal a %s (%s)\n"
#: lib/libalpm/trans.c:410
#, c-format
msgid "could not remove %s\n"
msgstr "no s'ha pogut suprimir %s\n"
msgstr "no s'ha pogut eliminar %s\n"
#: lib/libalpm/trans.c:414
#, c-format
msgid "could not remove tmpdir %s\n"
msgstr "no s'ha pogut suprimir el directori temporal %s\n"
msgstr "no s'ha pogut eliminar el directori temporal %s\n"
#: lib/libalpm/util.c:486
#, c-format
@@ -981,52 +981,52 @@ msgstr "no es pot escriure a la canonada (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "no es pot llegir des de la canonada (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "no s'ha pogut crear la canonada (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "no s'ha pogut bifurcar un nou procés (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "no s'ha pogut canviar el directori d'arrel (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "la crida a execv ha fallat (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "ha fallat la crida a waitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "l'ordre a fallat a executar-se correctament\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "senyal desconegut"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "orde cancel·lada pel senyal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "No existeix la memòria cau %s, es crea...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -7,8 +7,8 @@
# David Kolibáč <david@kolibac.cz>, 2011
# David Macek <david.macek.0@gmail.com>, 2018
# IAmNotImportant, 2017
# Jaroslav Lichtblau <jlichtblau@seznam.cz>, 2014-2015
# Jaroslav Lichtblau <jlichtblau@seznam.cz>, 2014
# Jaroslav Lichtblau <dragonlord@seznam.cz>, 2014-2015
# Jaroslav Lichtblau <dragonlord@seznam.cz>, 2014
# mmm <markotahal@gmail.com>, 2013
# mmm <markotahal@gmail.com>, 2011
# IAmNotImportant, 2017
@@ -18,7 +18,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Czech (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -60,7 +60,7 @@ msgstr "varování při rozbalování %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "nelze rozbalit %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "nelze přejmenovat %s na %s (%s)\n"
@@ -104,18 +104,18 @@ msgstr "rozbalení: adresář nebyl přepsán souborem %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "nelze rozbalit %s.pacnew: příliš dlouhá cesta"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "nelze obnovit pracovní adresář (%s)\n"
@@ -364,24 +364,24 @@ msgstr "nepodařilo se vytvořit dočasný soubor pro stahování\n"
msgid "url '%s' is invalid\n"
msgstr "URL '%s' je chybná\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "selhalo stahování %s\n"
@@ -972,52 +972,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "nepodařilo se vytvořit rouru (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "nelze spustit nový proces (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "nelze změnit kořenový adresář (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "volání execv selhalo (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "volání waitpid selhalo (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "příkaz se nepodařilo spustit správně\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Neznámý signál"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "příkaz ukončen signálem %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "neexistuje mezipaměť %s, vytváří se...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -14,7 +14,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-06-07 09:48+0000\n"
"Last-Translator: scootergrisen\n"
"Language-Team: Danish (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -55,7 +55,7 @@ msgstr "advarsel givet under udpakning %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "kunne ikke udpakke %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "kunne ikke omdøbe %s til %s (%s)\n"
@@ -99,18 +99,18 @@ msgstr "udtræk: overskriver ikke mappe med fil %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "kan ikke pakke %s.pacnew ud: sti for lang"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "kunne ikke genskabe arbejdsmappe (%s)\n"
@@ -359,24 +359,24 @@ msgstr "kunne ikke oprette midlertidig fil til hentning\n"
msgid "url '%s' is invalid\n"
msgstr "adressen '%s' er ugyldig\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "kunne ikke hente %s\n"
@@ -966,52 +966,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "kunne ikke oprette pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "kunne ikke forgren en ny proces (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "kunne ikke ændre rodmappen (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "kald til execv fejlede (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "kald til waitpid fejlede (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "kommando kunne ikke udføres korrekt\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Ukendt signal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "kommando afbrudt af signal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "ingen %s-cache findes, opretter...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, 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

@@ -20,7 +20,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: German (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -61,7 +61,7 @@ msgstr "Es erscheint eine Warnung, wenn %s extrahiert wird (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "Konnte %s nicht entpacken (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "Konnte %s nicht in %s umbenennen (%s)\n"
@@ -106,18 +106,18 @@ msgstr "Entpacken: Überschreibe Verzeichnis nicht mit Datei %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "konnte %s.pacnew nicht entpacken: Pfad zu lang"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "Konnte das Arbeitsverzeichnis (%s) nicht wiederherstellen\n"
@@ -377,24 +377,24 @@ msgstr "Konnte temporäre Datei für den Download nicht anlegen\n"
msgid "url '%s' is invalid\n"
msgstr "URL '%s' ist ungültig\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "Konnte %s nicht herunterladen\n"
@@ -984,52 +984,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "Konnte Weiterleitung nicht erstellen (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "Konnte keinen neuen Prozess starten (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "Konnte Root-Verzeichnis nicht wechseln (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "Konnte execv nicht aufrufen (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "Aufruf von waitpid fehlgeschlagen (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "Befehl konnte nicht korrekt ausgeführt werden\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Unbekanntes Signal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "Befehl unterbrochen durch Signal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "Es existiert kein %s-Puffer, erstelle...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -7,7 +7,7 @@
# Achilleas Pipinellis, 2014
# Achilleas Pipinellis, 2013
# Achilleas Pipinellis, 2013
# Christos Nouskas <nous@archlinux.us>, 2011,2013-2014,2017,2019
# Christos Nouskas <nous@archlinux.us>, 2011,2013-2014,2017
# Dan McGee <dpmcgee@gmail.com>, 2011
# ifaigios <ifaigios@gmail.com>, 2015
# ifaigios <ifaigios@gmail.com>, 2015
@@ -17,9 +17,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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-01-26 18:09+0000\n"
"Last-Translator: Christos Nouskas <nous@archlinux.us>\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"
"Language-Team: Greek (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/el/)\n"
"Language: el\n"
@@ -58,7 +58,7 @@ msgstr "προειδοποίηση κατά την εξαγωγή του %s (%s)
msgid "could not extract %s (%s)\n"
msgstr "αδυναμία εξαγωγής %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "αδυναμία μετονομασίας %s σε %s (%s)\n"
@@ -103,18 +103,18 @@ msgstr "εξαγωγή: μη αντικατάσταση καταλόγου με
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "αδυναμία επαναφοράς καταλόγου εργασίας (%s)\n"
@@ -254,7 +254,7 @@ msgstr ""
#: lib/libalpm/be_sync.c:524
#, c-format
msgid "could not read db '%s' (%s)\n"
msgstr "αδυναμία ανάγνωσης βάσης '%s' (%s)\n"
msgstr ""
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
#, c-format
@@ -368,23 +368,23 @@ msgstr "αποτυχία δημιουργίας προσωρινού αρχεί
msgid "url '%s' is invalid\n"
msgstr "άκυρη διεύθυνση '%s'\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "αποτυχία λήψης αρχείου '%s' από %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"αποτυχία λήψης αρχείου '%s' από %s : υπέρβαση αναμενομένου μεγέθους λήψης\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "το %s δείχνει ημιτελές: %jd/%jd bytes\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "αποτυχία λήψης %s\n"
@@ -677,69 +677,69 @@ msgstr "αδυναμία διαγραφής αρχείου κλειδώματο
#: lib/libalpm/hook.c:107
#, c-format
msgid "Missing trigger targets in hook: %s\n"
msgstr "Απόντες διακόπτες στόχων στο hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:113
#, c-format
msgid "Missing trigger type in hook: %s\n"
msgstr "Απών τύπος διακόπτη στο hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:119
#, c-format
msgid "Missing trigger operation in hook: %s\n"
msgstr "Απούσα λειτουργία διακόπτη στο hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:146
#, c-format
msgid "Missing Exec option in hook: %s\n"
msgstr "Απούσα επιλογή Exec στο hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:152
#, c-format
msgid "Missing When option in hook: %s\n"
msgstr "Απούσα επιλογή When στο hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:155
#, c-format
msgid "AbortOnFail set for PostTransaction hook: %s\n"
msgstr "Τέθηκε AbortOnFail στο PostTransaction hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:273
#, c-format
msgid "error while reading hook %s: %s\n"
msgstr "σφάλμα ανάγνωσης hook %s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
#, c-format
msgid "hook %s line %d: invalid option %s\n"
msgstr "hook %s γραμμή %d: άκυρη επιλογή %s\n"
msgstr ""
#: lib/libalpm/hook.c:285
#, c-format
msgid "hook %s line %d: invalid section %s\n"
msgstr "hook %s γραμμή %d: άκυρη ενότητα %s\n"
msgstr ""
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
#: lib/libalpm/hook.c:350
#, c-format
msgid "hook %s line %d: invalid value %s\n"
msgstr "hook %s γραμμή %d: άκυρη τιμή %s\n"
msgstr ""
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
#: lib/libalpm/hook.c:345
#, c-format
msgid "hook %s line %d: overwriting previous definition of %s\n"
msgstr "hook %s γραμμή %d: αντικατάσταση προηγούμενου ορισμού %s\n"
msgstr ""
#: lib/libalpm/hook.c:352
#, c-format
msgid "hook %s line %d: unable to set option (%s)\n"
msgstr "hook %s γραμμή %d: αδυναμία ορισμού επιλογής (%s)\n"
msgstr ""
#: lib/libalpm/hook.c:613
#, c-format
msgid "unable to run hook %s: %s\n"
msgstr "αδυναμία εκτελέσεως hook %s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
#, c-format
@@ -749,7 +749,7 @@ msgstr "αδυναμία ανοίγματος καταλόγου %s: %s\n"
#: lib/libalpm/hook.c:676
#, c-format
msgid "could not open file: %s%s: %s\n"
msgstr "αδυναμία ανοίγματος αρχείου: %s%s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
#, c-format
@@ -759,7 +759,7 @@ msgstr "αδυναμία εντοπισμού αρχείου %s: %s\n"
#: lib/libalpm/hook.c:722
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr "αδυναμία ανάγνωσης καταλόγου: %s: %s\n"
msgstr ""
#: lib/libalpm/package.c:586
#, c-format
@@ -784,7 +784,7 @@ msgstr "αδυναμία διαγραφής αρχείου '%s': %s\n"
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
#, c-format
msgid "could not backup %s due to PATH_MAX overflow\n"
msgstr "αδυναμία εφεδρικής αντιγραφής %s εξαιτίας υπερχείλισης PATH_MAX\n"
msgstr ""
#: lib/libalpm/remove.c:561
#, c-format
@@ -804,33 +804,32 @@ msgstr "αδυναμία κατάργησης εγγραφής '%s' από κρ
#: lib/libalpm/signing.c:171
#, c-format
msgid "Public keyring not found; have you run '%s'?\n"
msgstr "Δεν ευρέθη δημόσιος κλειδούχος· εκτελέστηκε '%s';\n"
msgstr ""
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
#, c-format
msgid "GPGME error: %s\n"
msgstr "σφάλμα GPGME: %s\n"
msgstr ""
#: lib/libalpm/signing.c:402
#, c-format
msgid "keyring is not writable\n"
msgstr "μη εγγράψιμος κλειδούχος\n"
msgstr ""
#: lib/libalpm/signing.c:460
#, c-format
msgid "key \"%s\" could not be imported\n"
msgstr "αδυναμία εισαγωγής κλειδιού \"%s\"\n"
msgstr ""
#: lib/libalpm/signing.c:466
#, c-format
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
msgstr ""
"κλειδί %s, \"%s\" ευρέθη στον διακομιστή κλειδιών, μη εγγράψιμος κλειδούχος\n"
#: lib/libalpm/signing.c:471
#, c-format
msgid "key \"%s\" could not be looked up remotely\n"
msgstr "αδυναμία απομεμακρυσμένης αναζήτησης κλειδιού \"%s\"\n"
msgstr ""
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
#, c-format
@@ -840,49 +839,49 @@ msgstr "%s: απούσα απαιτούμενη υπογραφή\n"
#: lib/libalpm/signing.c:874
#, c-format
msgid "%s: signature from \"%s\" is marginal trust\n"
msgstr "%s: υπογραφή από \"%s\" οριακής εμπιστοσύνης\n"
msgstr ""
#: lib/libalpm/signing.c:882
#, c-format
msgid "%s: signature from \"%s\" is unknown trust\n"
msgstr "%s: υπογραφή από \"%s\" αγνώστου εμπιστοσύνης\n"
msgstr ""
#: lib/libalpm/signing.c:889
#, c-format
msgid "%s: signature from \"%s\" should never be trusted\n"
msgstr "%s: υπογραφή από \"%s\" ουδεμίας εμπιστοσύνης\n"
msgstr ""
#: lib/libalpm/signing.c:901
#, c-format
msgid "%s: key \"%s\" is unknown\n"
msgstr "%s: κλειδί \"%s\" άγνωστο\n"
msgstr ""
#: lib/libalpm/signing.c:910
#, c-format
msgid "%s: key \"%s\" is disabled\n"
msgstr "%s: κλειδί \"%s\" απενεργοποιημένο\n"
msgstr ""
#: lib/libalpm/signing.c:914
#, c-format
msgid "%s: signature from \"%s\" is expired\n"
msgstr "%s: υπογραφή από \"%s\" ληγμένη\n"
msgstr ""
#: lib/libalpm/signing.c:918
#, c-format
msgid "%s: signature from \"%s\" is invalid\n"
msgstr "%s: υπογραφή από \"%s\" άκυρη\n"
msgstr ""
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
#: lib/libalpm/signing.c:1142
#, c-format
msgid "%s: signature format error\n"
msgstr "%s: σφάλμα μορφής υπογραφής\n"
msgstr ""
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
#: lib/libalpm/signing.c:1136
#, c-format
msgid "%s: unsupported signature format\n"
msgstr "%s: μη υποστηριζόμενη μορφή υπογραφής\n"
msgstr ""
#: lib/libalpm/sync.c:98
#, c-format
@@ -975,52 +974,52 @@ msgstr "αποτυχία εγγραφής σε αγωγό (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "αποτυχία ανάγνωσης από αγωγό (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "αδυναμία δημιουργίας αγωγού (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "αδυναμία εκκίνησης νέας διεργασίας (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "αδυναμία αλλαγής ριζικού καταλόγου (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "αποτυχία κλήσης execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "αποτυχία κλήσης waitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "αποτυχία σωστής εκτέλεσης εντολής\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Άγνωστο σήμα"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "τερματισμός εντολής με σήμα %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "μη υπάρχουσα κρύπτη %s, δημιουργία...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "αδυναμία εύρεσης ή δημιουργίας κρύπτης πακέτων, χρήση %s\n"

View File

@@ -10,7 +10,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-15 01:15+0000\n"
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/toofishes/"
@@ -51,7 +51,7 @@ msgstr "warning given when extracting %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "could not extract %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "could not rename %s to %s (%s)\n"
@@ -95,18 +95,18 @@ msgstr "extract: not overwriting dir with file %s\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "could not restore working directory (%s)\n"
@@ -355,23 +355,23 @@ msgstr "failed to create temporary file for download\n"
msgid "url '%s' is invalid\n"
msgstr "URL '%s' is invalid\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "failed retrieving file '%s' from %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "failed to download %s\n"
@@ -960,52 +960,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "could not create pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "could not fork a new process (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "could not change the root directory (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "call to execv failed (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "call to waitpid failed (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "command failed to execute correctly\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Unknown signal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "command terminated by signal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "no %s cache exists, creating...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, 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"

View File

@@ -11,7 +11,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Esperanto (http://www.transifex.com/toofishes/archlinux-"
@@ -52,7 +52,7 @@ msgstr "averto donita dum eltirado de %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "ne eblis eltiri %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "ne eblis renomi %s al %s (%s)\n"
@@ -97,18 +97,18 @@ msgstr "eltiri: ne superskribante dosierujon kun dosiero %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "ne eblis eltiri %s.pacnew: la dosierindiko estas tro longa"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "ne eblis akiri nunan funkciantan dosierujon\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "ne eblis ŝanĝi dosierujon al %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "ne eblis restaŭri nunan funkciantan dosierujon (%s)\n"
@@ -363,24 +363,24 @@ msgstr "malsukcesis krei provizoran dosieron por elŝuto\n"
msgid "url '%s' is invalid\n"
msgstr "la url '%s' ne estas valida\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "malsukcesis ricevi dosieron '%s' de %s: %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"malsukcesis ricevi dosieron '%s' de %s: atendita elŝuta grando grandigis\n"
"\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s ŝajnas esti trunkita: %jd/%jd bitokoj\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "malsukcesis elŝuti %s\n"
@@ -971,52 +971,52 @@ msgstr "ne eblas skribi al dukto (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "ne eblas legi el dukto (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "ne eblis krei dukton (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "ne eblis forki novan procezon (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ne eblis ŝanĝi la radikan dosierujon (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "alvoko al execv fiaskis (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "alvoko al waitpid fiaskis (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "la komando malsukcese rulis ĝuste\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Nekonata signalo"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "komando ĉesigita de signalo %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "neniu kaŝmemoro %s ekzistas, kreante...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "ne eblis trovi aŭ krei pakaĵan kaŝmemoron, uzante %s anstataŭ\n"

View File

@@ -11,9 +11,9 @@
# Leonel <leonelmalon@gmail.com>, 2013
# Leonel <leonelmalon@gmail.com>, 2013
# neiko <neikokz+tsfx@gmail.com>, 2011
# prflr88 <prflr88@gmail.com>, 2017
# prflr88 <prflr88@gmail.com>, 2013-2016
# prflr88 <prflr88@gmail.com>, 2017
# Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] <prflr88@gmail.com>, 2017
# Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] <prflr88@gmail.com>, 2013-2016
# Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] <prflr88@gmail.com>, 2017
# Pedro Román <roizheim@gmail.com>, 2013-2014,2016-2018
# picodotdev <pico.dev@gmail.com>, 2016
# Swyter <Swyterzone@gmail.com>, 2015,2017-2018
@@ -21,7 +21,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-06-22 07:25+0000\n"
"Last-Translator: Pedro Román <roizheim@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -63,7 +63,7 @@ msgstr "se han advertido errores mientras se extraía %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "no se pudo extraer %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "no se pudo renombrar %s a %s (%s)\n"
@@ -110,18 +110,18 @@ msgstr ""
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "no se pudo restaurar el directorio de trabajo (%s)\n"
@@ -384,24 +384,24 @@ msgstr "no se pudo crear el archivo temporal para la descarga\n"
msgid "url '%s' is invalid\n"
msgstr "la dirección «%s» no es válida\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"no se pudo obtener el archivo «%s» desde %s : el tamaño de la descarga "
"supera lo esperado\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "no se pudo descargar %s\n"
@@ -1002,52 +1002,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "no se pudo crear la tubería (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, 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:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "llamada a execv fallida (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "llamada a waitpid fallida (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "la orden no se ejecutó correctamente\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "firma desconocida"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "orden terminada por la señal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "no existe la caché de %s, creándola...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -11,14 +11,14 @@
# ice <ice.modding@gmail.com>, 2016
# Leonel <leonelmalon@gmail.com>, 2013
# neiko <neikokz+tsfx@gmail.com>, 2011
# prflr88 <prflr88@gmail.com>, 2015,2017
# prflr88 <prflr88@gmail.com>, 2015
# prflr88 <prflr88@gmail.com>, 2015,2017
# 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
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: 2019-08-12 11:23+1000\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"
"Language-Team: Spanish (Latin America) (http://www.transifex.com/toofishes/"
@@ -59,7 +59,7 @@ msgstr "alerta producida mientras se extraía %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "no se pudo extraer %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "no se pudo renombrar %s a %s (%s)\n"
@@ -104,18 +104,18 @@ msgstr "extracto: no se puede sobrescribir el directorio con el archivo %s\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "no se pudo restaurar el directorio de trabajo (%s)\n"
@@ -380,24 +380,24 @@ msgstr "no se pudo crear el archivo temporal para la descarga\n"
msgid "url '%s' is invalid\n"
msgstr "la dirección «%s» no es válida\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "no se pudo descargar %s\n"
@@ -990,52 +990,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "no se pudo crear la tubería (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, 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:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "llamada a execv fallida (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "llamada a waitpid fallida (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "la orden no se ejecutó correctamente\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "firma desconocida"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "orden terminada por la señal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "no existe la caché de %s, creándola…\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -9,7 +9,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Basque (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -50,7 +50,7 @@ msgstr "oharra eman da %s erauztean (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "ezin izan da %s erauzi (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "ezin izan da %s berrizendatu %s gisa (%s)\n"
@@ -96,18 +96,18 @@ msgstr "erauzi: ez da direktorioa %s fitxategiarekin gainidatziko\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "ezin izan da laneko direktorioa berreskuratu (%s)\n"
@@ -364,24 +364,24 @@ msgstr ""
"'%s' url baliogabea da\n"
"\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "%s deskargatzeak huts egin du\n"
@@ -970,52 +970,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "ezin izan da kanalizazioa sortu (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ezin izan da erro direktorioa aldatu (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv deiak huts egin du (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid deiak huts egin du (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "komandoa ez da behar bezala exekutatu\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Seinale ezezaguna"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "%d seinaleak eten du komandoa: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "ez dago %s katxerik, sortzen...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, 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,7 +8,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Basque (Spain) (http://www.transifex.com/toofishes/archlinux-"
@@ -49,7 +49,7 @@ msgstr "oharra eman da %s erauztean (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "ezin izan da %s erauzi (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "ezin izan da %s berrizendatu %s gisa (%s)\n"
@@ -95,18 +95,18 @@ msgstr "erauzi: ez da direktorioa %s fitxategiarekin gainidatziko\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "ezin izan da laneko direktorioa berreskuratu (%s)\n"
@@ -363,24 +363,24 @@ msgstr ""
"'%s' url baliogabea da\n"
"\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "%s deskargatzeak huts egin du\n"
@@ -969,52 +969,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "ezin izan da kanalizazioa sortu (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ezin izan da erro direktorioa aldatu (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv deiak huts egin du (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid deiak huts egin du (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "komandoa ez da behar bezala exekutatu\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Seinale ezezaguna"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "%d seinaleak eten du komandoa: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "ez dago %s katxerik, sortzen...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, 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,7 +18,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Finnish (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -59,7 +59,7 @@ msgstr "annettiin varoitus purettaessa %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "tiedostoa %s ei voitu purkaa (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "kohdetta %s ei voitu nimetä uudelleen kohteeksi %s (%s)\n"
@@ -104,18 +104,18 @@ msgstr "purku: kansiota ei korvata tiedostolla %s\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "työhakemistoa ei voitu palauttaa (%s)\n"
@@ -366,24 +366,24 @@ msgstr "väliaikaistiedoston luonti lataamista varten epäonnistui\n"
msgid "url '%s' is invalid\n"
msgstr "osoite '%s' on virheellinen\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "%s: lataus epäonnistui\n"
@@ -974,52 +974,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "ei voitu luoda putkea (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "ei voitu käynnistää uutta prosessia (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "juurikansiota ei voitu vaihtaa (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv-kutsu epäonnistui (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid-kutsu epäonnistui (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "komento päättyi virheeseen\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Tuntematon signaali"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "signaali %d päätti komennon: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "välimuistia %s ei ole olemassa, luodaan...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -19,7 +19,7 @@ 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: 2019-08-12 11:23+1000\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 <c.monzat@laposte.net>\n"
"Language-Team: French (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -60,7 +60,7 @@ msgstr "problème pendant lextraction de %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "lextraction de %s a échoué (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "impossible de renommer %s en %s (%s)\n"
@@ -105,18 +105,18 @@ msgstr "extraction : nécrase pas le répertoire par le fichier %s\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "impossible de restaurer le répertoire de travail (%s)\n"
@@ -371,24 +371,24 @@ msgstr "échec de création dun fichier temporaire pour le téléchargement\n
msgid "url '%s' is invalid\n"
msgstr "lURL « %s » est non valide\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "le fichier %s na pas pu être téléchargé\n"
@@ -986,52 +986,52 @@ msgstr ""
msgid "unable to read from pipe (%s)\n"
msgstr "impossible de lire à partir du tube (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "impossible de créer le tube (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, 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:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "lappel à execv a échoué (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "lappel de waitpid a échoué (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, 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:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Signal inconnu"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "commande terminée par le signal %d : %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "le cache %s nexiste pas, création…\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -15,7 +15,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Galician (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -56,7 +56,7 @@ msgstr "alerta producida mentres se extraía %s (%s)\n"
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:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, 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"
@@ -102,18 +102,18 @@ msgstr ""
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "non se puido restaurar o directorio de traballo (%s)\n"
@@ -374,24 +374,24 @@ msgstr "error ao crear un arquivo temporal para a descarga\n"
msgid "url '%s' is invalid\n"
msgstr "a dirección %s non é válida\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "non se puido descargar %s\n"
@@ -982,52 +982,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "non se puido crear tubería (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, 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:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "chamada a execv fallida (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "chamada a waitpid fallida (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "o comando fallou ao executarse\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Sinal descoñecido"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "O sinal %d interrompeu a execución: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "non existe o caché %s, creando...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -9,7 +9,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-24 04:44+0000\n"
"Last-Translator: Ivica Kolić <ikoli@yahoo.com>\n"
"Language-Team: Croatian (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -54,7 +54,7 @@ msgstr ""
"\n"
"\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "ne mogu preimenivati %s u %s (%s)\n"
@@ -98,18 +98,18 @@ msgstr "raspakiravanje: ne pišem preko direktorija datotekom %s\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr ""
@@ -372,24 +372,24 @@ msgstr "neuspjela izrada privremene datoteke za preuzimanje\n"
msgid "url '%s' is invalid\n"
msgstr "url '%s' je neispravan\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "neuspjelo primanje datoteke '%s' iz %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s je okrnjen: %jd%jd bajtova\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "neuspjelo preuzimanje %s\n"
@@ -984,52 +984,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "ne mogu napraviti cijev (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "ne mogu račvati novi proces (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ne mogu promjeniti korjenski/root direktorij (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "poziv procesa izvršavanja nije uspio (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "poziv procesa čekanja nije uspio (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "neuspjelo ispravno izvršenje naredbe\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Nepoznati signal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "naredba prekinuta signalom %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s cache ne postoji, pravim...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, 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

@@ -17,7 +17,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Hungarian (http://www.transifex.com/toofishes/archlinux-"
@@ -58,7 +58,7 @@ msgstr "figyelmeztetés a(z) %s kibontása közben (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "nem sikerült kibontani: %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "nem sikerült az átnevezés: %s -> %s (%s)\n"
@@ -102,18 +102,18 @@ msgstr "kibontás: nem írok felül könyvtárat a %s fájllal\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "nem sikerült visszalépni a munkakönyvárba (%s)\n"
@@ -367,24 +367,24 @@ msgstr "nem sikerült létrehozni ideiglenes fájlt a letöltéshez\n"
msgid "url '%s' is invalid\n"
msgstr "a '%s' URL hibás\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, 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:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "nem sikerült a(z) %s letöltése\n"
@@ -974,52 +974,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "nem sikerült az adatcsatorna létrehozása (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, 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:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "sikertelen execv hívás (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "sikertelen waitpid hívás (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "a parancs nem futott le helyesen\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Ismeretlen szignál"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, 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:853
#: lib/libalpm/util.c:825
#, 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:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -8,14 +8,14 @@
# Ibnu Daru Aji, 2013-2014
# Hasan Al Banna, 2013
# Ibnu Daru Aji, 2013
# se7entime <se7entime@disroot.org>, 2013
# se7entime <se7entime@disroot.org>, 2013,2015
# se7entime <se7entime@disroot.org>, 2013,2015
# se7entime <se7entime@openmailbox.org>, 2013
# se7entime <se7entime@openmailbox.org>, 2013,2015
# se7entime <se7entime@openmailbox.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: 2019-08-12 11:23+1000\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"
"Language-Team: Indonesian (http://www.transifex.com/toofishes/archlinux-"
@@ -56,7 +56,7 @@ msgstr "peringatan diberikan ketika mengekstrak %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "tidak dapat mengekstrak %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "tidak dapat mengubah nama %s menjadi %s (%s)\n"
@@ -101,18 +101,18 @@ msgstr "ekstrak: tidak menimpa direktori dengan berkas %s\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "tidak dapat mengembalikan direktori kerja (%s)\n"
@@ -361,23 +361,23 @@ msgstr "gagal membuat berkas unduhan temporer\n"
msgid "url '%s' is invalid\n"
msgstr "url '%s' tidak valid\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "gagal mendapatkan berkas '%s' dari %s: %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, 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:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "gagal mengunduh %s\n"
@@ -966,52 +966,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:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "tidak dapat membuat pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, 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:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "tidak dapat mengubah direktori root (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "panggilan ke execv gagal (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "gagal memanggil waitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "gagal menjalankan perintah dengan benar\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Sinyal tak dikenal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "Perintah dimatikan dengan sinyal %d:%s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "tidak ada %s cache yang ada, membuat...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "tidak dapat membuat cache paket, gunakan %s saja\n"

View File

@@ -3,7 +3,6 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Alessandro Menti <alessandro.menti@hotmail.it>, 2019
# Andrea Scarpino <inactive+bash@transifex.com>, 2014
# Andrea Scarpino <inactive+bash@transifex.com>, 2014
# Andrea Scarpino <inactive+bash@transifex.com>, 2014
@@ -14,9 +13,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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-08-11 09:10+0000\n"
"Last-Translator: Alessandro Menti <alessandro.menti@hotmail.it>\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"
"Language-Team: Italian (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/it/)\n"
"Language: it\n"
@@ -45,7 +44,7 @@ msgstr ""
#: lib/libalpm/add.c:124
#, c-format
msgid "cannot allocate disk archive object"
msgstr "impossibile allocare l'oggetto archivio su disco"
msgstr ""
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
#, c-format
@@ -57,7 +56,7 @@ msgstr "è stato rilevato un warning durante l'estrazione di %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "impossibile estrarre %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "impossibile rinominare %s in %s (%s)\n"
@@ -102,18 +101,18 @@ msgstr "estrazione: impossibile sovrascrivere la directory con il file %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "impossibile estrarre %s.pacnew: percorso troppo lungo"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "impossibile determinare la directory corrente\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "impossibile spostarsi nella directory %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "impossibile ripristinare la directory di lavoro (%s)\n"
@@ -255,7 +254,7 @@ msgstr ""
#: lib/libalpm/be_sync.c:524
#, c-format
msgid "could not read db '%s' (%s)\n"
msgstr "impossibile leggere il database '%s' (%s)\n"
msgstr ""
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
#, c-format
@@ -374,24 +373,24 @@ msgstr "impossibile creare la directory temporanea per il download\n"
msgid "url '%s' is invalid\n"
msgstr "l'url '%s' non è valido\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "impossibile scaricare il pacchetto '%s' da %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"impossibile scaricare il file '%s' da %s: la dimensione di download supera "
"quella attesa\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s sembra essere incompleto: %jd/%jd byte\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "non è stato possibile scaricare %s\n"
@@ -684,69 +683,69 @@ msgstr "impossibile rimuovere il file di lock %s\n"
#: lib/libalpm/hook.c:107
#, c-format
msgid "Missing trigger targets in hook: %s\n"
msgstr "Mancano i target trigger nell'hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:113
#, c-format
msgid "Missing trigger type in hook: %s\n"
msgstr "Manca il tipo trigger nell'hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:119
#, c-format
msgid "Missing trigger operation in hook: %s\n"
msgstr "Manca l'operazione trigger nell'hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:146
#, c-format
msgid "Missing Exec option in hook: %s\n"
msgstr "Manca l'opzione Exec nell'hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:152
#, c-format
msgid "Missing When option in hook: %s\n"
msgstr "Manca l'opzione When nell'hook: %s\n"
msgstr ""
#: lib/libalpm/hook.c:155
#, c-format
msgid "AbortOnFail set for PostTransaction hook: %s\n"
msgstr "Impostato AbortOnFail per l'hook PostTransaction: %s\n"
msgstr ""
#: lib/libalpm/hook.c:273
#, c-format
msgid "error while reading hook %s: %s\n"
msgstr "si è verificato un errore durante la lettura dell'hook %s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
#, c-format
msgid "hook %s line %d: invalid option %s\n"
msgstr "hook %s, riga %d: opzione non valida: %s\n"
msgstr ""
#: lib/libalpm/hook.c:285
#, c-format
msgid "hook %s line %d: invalid section %s\n"
msgstr "hook %s, riga %d: sezione non valida: %s\n"
msgstr ""
#: lib/libalpm/hook.c:297 lib/libalpm/hook.c:308 lib/libalpm/hook.c:327
#: lib/libalpm/hook.c:350
#, c-format
msgid "hook %s line %d: invalid value %s\n"
msgstr "hook %s, riga %d: valore non valido: %s\n"
msgstr ""
#: lib/libalpm/hook.c:301 lib/libalpm/hook.c:320 lib/libalpm/hook.c:331
#: lib/libalpm/hook.c:345
#, c-format
msgid "hook %s line %d: overwriting previous definition of %s\n"
msgstr "hook %s, riga %d: sovrascrivo la definizione precedente di %s\n"
msgstr ""
#: lib/libalpm/hook.c:352
#, c-format
msgid "hook %s line %d: unable to set option (%s)\n"
msgstr "hook %s, riga %d: impossibile impostare l'opzione (%s)\n"
msgstr ""
#: lib/libalpm/hook.c:613
#, c-format
msgid "unable to run hook %s: %s\n"
msgstr "impossibile eseguire l'hook %s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
#, c-format
@@ -756,7 +755,7 @@ msgstr "impossibile accedere alla directory: %s: %s\n"
#: lib/libalpm/hook.c:676
#, c-format
msgid "could not open file: %s%s: %s\n"
msgstr "impossibile aprire il file: %s%s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
#, c-format
@@ -766,7 +765,7 @@ msgstr "impossibile trovare il file %s: %s\n"
#: lib/libalpm/hook.c:722
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr "impossibile leggere la directory: %s: %s\n"
msgstr ""
#: lib/libalpm/package.c:586
#, c-format
@@ -791,7 +790,7 @@ msgstr "impossibile rimuovere il file '%s': %s\n"
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
#, c-format
msgid "could not backup %s due to PATH_MAX overflow\n"
msgstr "impossibile eseguire il backup %s a causa di un overflow di PATH_MAX\n"
msgstr ""
#: lib/libalpm/remove.c:561
#, c-format
@@ -811,34 +810,32 @@ msgstr "impossibile rimuovere la voce '%s' dalla cache\n"
#: lib/libalpm/signing.c:171
#, c-format
msgid "Public keyring not found; have you run '%s'?\n"
msgstr "Portachiavi pubblico non trovato; hai eseguito '%s'?\n"
msgstr ""
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
#, c-format
msgid "GPGME error: %s\n"
msgstr "Errore di GPGME: %s\n"
msgstr ""
#: lib/libalpm/signing.c:402
#, c-format
msgid "keyring is not writable\n"
msgstr "il portachiavi non è scrivibile\n"
msgstr ""
#: lib/libalpm/signing.c:460
#, c-format
msgid "key \"%s\" could not be imported\n"
msgstr "la chiave \"%s\" non può essere importata\n"
msgstr ""
#: lib/libalpm/signing.c:466
#, c-format
msgid "key %s, \"%s\" found on keyserver, keyring is not writable\n"
msgstr ""
"chiave %s, \"%s\" trovata sul server delle chiavi, il portachiavi non è "
"scrivibile\n"
#: lib/libalpm/signing.c:471
#, c-format
msgid "key \"%s\" could not be looked up remotely\n"
msgstr "impossibile cercare la chiave \"%s\" sul server remoto\n"
msgstr ""
#: lib/libalpm/signing.c:859 lib/libalpm/sync.c:1181
#, c-format
@@ -848,50 +845,49 @@ msgstr "%s: manca la firma PGP\n"
#: lib/libalpm/signing.c:874
#, c-format
msgid "%s: signature from \"%s\" is marginal trust\n"
msgstr "%s: la firma di \"%s\" ha un'affidabilità marginale\n"
msgstr ""
#: lib/libalpm/signing.c:882
#, c-format
msgid "%s: signature from \"%s\" is unknown trust\n"
msgstr "%s: la firma di \"%s\" ha un'affidabilità sconosciuta\n"
msgstr ""
#: lib/libalpm/signing.c:889
#, c-format
msgid "%s: signature from \"%s\" should never be trusted\n"
msgstr ""
"%s: la firma di \"%s\" non dovrebbe mai essere considerata affidabile\n"
#: lib/libalpm/signing.c:901
#, c-format
msgid "%s: key \"%s\" is unknown\n"
msgstr "%s: chiave \"%s\" sconosciuta\n"
msgstr ""
#: lib/libalpm/signing.c:910
#, c-format
msgid "%s: key \"%s\" is disabled\n"
msgstr "%s: chiave \"%s\" disabilitata\n"
msgstr ""
#: lib/libalpm/signing.c:914
#, c-format
msgid "%s: signature from \"%s\" is expired\n"
msgstr "%s: la firma di \"%s\" è scaduta\n"
msgstr ""
#: lib/libalpm/signing.c:918
#, c-format
msgid "%s: signature from \"%s\" is invalid\n"
msgstr "%s: la firma di \"%s\" non è valida\n"
msgstr ""
#: lib/libalpm/signing.c:995 lib/libalpm/signing.c:1063
#: lib/libalpm/signing.c:1142
#, c-format
msgid "%s: signature format error\n"
msgstr "%s: errore formato firma\n"
msgstr ""
#: lib/libalpm/signing.c:1095 lib/libalpm/signing.c:1128
#: lib/libalpm/signing.c:1136
#, c-format
msgid "%s: unsupported signature format\n"
msgstr "%s: formato firma non supportato\n"
msgstr ""
#: lib/libalpm/sync.c:98
#, c-format
@@ -985,52 +981,52 @@ msgstr "impossibile scrivere nella pipe (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "impossibile leggere dalla pipe (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "impossibile creare una pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "impossibile effettuare il fork di un nuovo processo (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "impossibile cambiare la root directory (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "impossibile chiamare execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "la chiamata a waitpid non è riuscita (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "l'esecuzione del comando non è riuscita correttamente\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Segnale sconosciuto"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "comando terminato dal segnale %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "la cache di %s non esiste, creazione in corso...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -11,7 +11,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-15 10:35+0000\n"
"Last-Translator: kusakata\n"
"Language-Team: Japanese (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -52,7 +52,7 @@ msgstr "%s の展開中に警告が発生しました (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "%s を展開できませんでした (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "%s を %s に名前を変更できませんでした (%s)\n"
@@ -97,18 +97,18 @@ msgstr "extract: ディレクトリをファイルで上書きできません %s
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "作業ディレクトリを復帰できませんでした (%s)\n"
@@ -360,24 +360,24 @@ msgstr "ダウンロードのための一時ファイルを作成できません
msgid "url '%s' is invalid\n"
msgstr "url '%s' は無効です\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "ファイル '%s' を %s から取得するのに失敗しました : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"ファイル '%s' を %s から取得するのに失敗しました : 想定されるダウンロードサイ"
"ズを超過しています\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s が途中で切れています: %jd/%jd バイト\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "%s のダウンロードに失敗しました\n"
@@ -966,52 +966,52 @@ msgstr "パイプに書き込めません (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "パイプを読み込めません (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "パイプを作成できません (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "新しいプロセスをフォークできません (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ルートディレクトリを変更できません (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv のコールに失敗しました (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid のコールに失敗しました (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "コマンドの実行に失敗しました\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "不明なシグナル"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "コマンドはシグナル %d で終了しました: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s キャッシュが存在しません、作成します...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -9,7 +9,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Kazakh (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -50,7 +50,7 @@ msgstr "%s тарқатқанда ескерту алынды (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "%s тарқату қатесі (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "%s атын жаңа %s атына ауыстыру мүмкін емес (%s)\n"
@@ -95,18 +95,18 @@ msgstr "тарқату: бума %s файлымен ауыстырылмайд
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "жұмыс бумасын (%s) қалпына келтіру мүмкін емес\n"
@@ -355,23 +355,23 @@ msgstr "жүктеп алу үшін уақытша файлды жасау сә
msgid "url '%s' is invalid\n"
msgstr "'%s' сілтемесі қате\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "'%s' файлын %s адресінен алу қатемен аяқталды : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"'%s' файлын %s ішінен алу қатесі : күтілген жүктеп алу өлшемінен асып кетті\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s қысқартылған сияқты: %jd/%jd байт\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "%s жүктеп алу мүмкін емес\n"
@@ -961,52 +961,52 @@ msgstr ""
msgid "unable to read from pipe (%s)\n"
msgstr ""
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "pipe жасау мүмкін емес (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "жаңа үрдісті жасау мүмкін емес (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "түбірлік буманы ауыстыру мүмкін емес (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv шақыру талабы сәтсіз (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid шақыру қатемен аяқталды(%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "команда дұрыс орындалмады\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Белгісіз сигнал"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "команда %d сигналымен үзілді: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s кэші жоқ болып тұр, құрылады...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "дестелер кэшін табу не жасау мүмкін емес, орнына %s қолданылады\n"

View File

@@ -5,17 +5,17 @@
# Translators:
# 배태길 <esrevinu@gmail.com>, 2017-2018
# Ji-Hyeon Gim <potatogim@potatogim.net>, 2014,2018
# Thomas Sungjin Kang <potopro@gmail.com>, 2012-2013
# Thomas Sungjin Kang <potopro@gmail.com>, 2013
# Thomas Sungjin Kang <potopro@gmail.com>, 2013
# Thomas Sungjin Kang <potopro@gmail.com>, 2013
# Sungjin Kang <potopro@gmail.com>, 2012-2013
# Sungjin Kang <potopro@gmail.com>, 2013
# Sungjin Kang <potopro@gmail.com>, 2013
# Sungjin Kang <potopro@gmail.com>, 2013
# 배태길 <esrevinu@gmail.com>, 2014-2015
# Thomas Sungjin Kang <potopro@gmail.com>, 2013
# Sungjin Kang <potopro@gmail.com>, 2013
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: 2019-08-12 11:23+1000\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"
"Language-Team: Korean (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -56,7 +56,7 @@ msgstr "%s 추출 시 경고 발생 (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "%s를 추출할 수 없습니다. (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "%s의 이름을 %s로 바꾸지 못했습니다.(%s)\n"
@@ -101,18 +101,18 @@ msgstr "추출: %s 파일로 디렉터리를 덮어쓰지 못함\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "작업 디렉터리를 복원할 수 없습니다. (%s)\n"
@@ -361,22 +361,22 @@ msgstr "다운로드를 위한 임시파일을 만드는 데 실패하였습니
msgid "url '%s' is invalid\n"
msgstr "url '%s'가 잘못되었습니다.\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "파일 '%s'를 %s에서 가져오는 데 실패 : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr "파일 '%s'를 %s에서 가져오는 데 실패 : 예상 내려받기 크기 초과\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s가 잘린 것 같습니다.: %jd/%jd 바이트\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "%s를 다운받지 못했습니다.\n"
@@ -965,52 +965,52 @@ msgstr "파이프에 기록할 수 없습니다.(%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "파이프로부터 읽을 수 없습니다.(%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "파이프를 만들 수 없습니다.(%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "새 프로세스를 포크할 수 없습니다.(%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "루트 디렉터리를 변경할 수 없습니다.(%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv 호출 실패 (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid 호출 실패 (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "명령이 올바르게 실행되지 못하였습니다.\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "알 수 없는 시그널"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "명령이 시그널 %d에 의해 종료되었습니다: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s 캐시가 없으므로 생성 중...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "꾸러미 캐시를 찾거나 생성할 수 없어 대신 %s를 사용합니다.\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -47,7 +47,7 @@ msgstr ""
msgid "could not extract %s (%s)\n"
msgstr ""
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr ""
@@ -86,18 +86,18 @@ msgstr ""
msgid "unable to extract %s.pacnew: path too long"
msgstr ""
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr ""
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr ""
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr ""
@@ -346,22 +346,22 @@ msgstr ""
msgid "url '%s' is invalid\n"
msgstr ""
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr ""
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr ""
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr ""
@@ -950,52 +950,52 @@ msgstr ""
msgid "unable to read from pipe (%s)\n"
msgstr ""
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr ""
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr ""
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr ""
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr ""
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr ""
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr ""
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr ""
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr ""
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr ""
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -14,7 +14,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-16 09:23+0000\n"
"Last-Translator: Moo\n"
"Language-Team: Lithuanian (http://www.transifex.com/toofishes/archlinux-"
@@ -57,7 +57,7 @@ msgstr "bandant išskleisti gautas įspėjimas %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "nepavyko išskleisti %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "nepavyko pervadint %s į %s (%s)\n"
@@ -101,18 +101,18 @@ msgstr "išskleidimas: nepakeistas aplankas failu %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "nepavyko išskleisti %s.pacnew: per ilgas kelias"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "nepavyko nustatyt dabartinio aplanko\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "nepavyko pakeist aplanko į %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "nepavyko atstatyt darbinio aplanko (%s)\n"
@@ -366,23 +366,23 @@ msgstr "nepavyko sukurti laikino failo parsiuntimui\n"
msgid "url '%s' is invalid\n"
msgstr "neteisingas url „%s“\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "nepavyko gauti failo „%s“ iš %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"gauti failo „%s“ iš %s nepavyko: viršytas tikėtasis parsiuntimo dydis\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s atrodo apkarpyta: %jd/%jd baitai\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "nepavyko parsiųsti %s\n"
@@ -972,52 +972,52 @@ msgstr "nepavyko įrašyti į pipe (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "nepavyko perskaityti iš pipe (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "nepavyko sukurti pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "nepavyko iššakoti naujo proceso (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "nepavyko pakeisti šakninio aplanko (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "nepavyko iškviesti execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "nepavyko iškviesti waitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "nepavyko teisingai įvykdyti komandos\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Nežinomas signalas"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "komanda nutraukta signalo %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s podėlis neegzistuoja, kuriamas...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "nepavyko rasti ar sukurti podėlio paketui, vietoj jo naudojama %s\n"

View File

@@ -0,0 +1,15 @@
i18n.gettext(
'libalpm',
args : [
'--directory=@0@'.format(meson.current_source_dir()),
'--msgid-bugs-address=http://bugs.archlinux.org/index.php?project=3',
'--copyright-holder="Pacman Development Team <pacman-dev@archlinux.org>"',
'--language', 'c',
'--keyword=_',
'--flag=_:1:c-format',
'--keyword=_n:1,2',
'--flag=_n:1:c-format',
'--flag=_n:2:c-format',
])

View File

@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Alexander F Rødseth <rodseth@gmail.com>, 2011,2013,2016-2019
# Alexander F Rødseth <rodseth@gmail.com>, 2011,2013,2016-2018
# Alexander F Rødseth <rodseth@gmail.com>, 2011,2013
# Eyolf Østrem <eyolf@oestrem.com>, 2014
# Jon Gjengset <jon@thesquareplanet.com>, 2011,2013,2015,2017
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Arch Linux Pacman package manager\n"
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
"POT-Creation-Date: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-04-21 15:49+0000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-06-04 12:26+0000\n"
"Last-Translator: Alexander F Rødseth <rodseth@gmail.com>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/toofishes/"
"archlinux-pacman/language/nb/)\n"
@@ -30,7 +30,7 @@ msgstr "%s-%s er allerede oppdatert -- hopper over\n"
#: lib/libalpm/add.c:90
#, c-format
msgid "%s-%s is up to date -- reinstalling\n"
msgstr "%s-%s er allerede oppdatert -- installerer en gang til\n"
msgstr "%s-%s er allerede oppdatert -- installerer på nytt\n"
#: lib/libalpm/add.c:95
#, c-format
@@ -40,7 +40,7 @@ msgstr "nedgraderer pakke %s (%s => %s)\n"
#: lib/libalpm/add.c:124
#, c-format
msgid "cannot allocate disk archive object"
msgstr "kunne ikke opprette arkiv på disk"
msgstr "kunne ikke opprette diskarkiv"
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
#, c-format
@@ -50,9 +50,9 @@ msgstr "fikk en advarsel ved utpakking av %s (%s)\n"
#: lib/libalpm/add.c:141 lib/libalpm/util.c:385
#, c-format
msgid "could not extract %s (%s)\n"
msgstr "kan ikke pakke ut %s (%s)\n"
msgstr "kunne ikke pakke ut %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "kunne ikke omdøpe %s til %s (%s)\n"
@@ -60,7 +60,7 @@ msgstr "kunne ikke omdøpe %s til %s (%s)\n"
#: lib/libalpm/add.c:205
#, c-format
msgid "file not found in file list for package %s. skipping extraction of %s\n"
msgstr "Filen finnes ikke i pakken %s. Hopper over utpakking av %s\n"
msgstr "en fil finnes ikke i pakken %s. hopper over utpakking av %s\n"
#: lib/libalpm/add.c:214
#, c-format
@@ -82,8 +82,8 @@ msgid ""
"directory ownership differs on %s\n"
"filesystem: %u:%u package: %u:%u\n"
msgstr ""
"eierskapet stemmer ikke for mappen %s\n"
"filsystem: %u:%u pakke: %u:%u\n"
"mapperettigheter er forskjellige for %s\n"
"i filsystem: %u:%u pakke: %u:%u\n"
#: lib/libalpm/add.c:287
#, c-format
@@ -93,23 +93,23 @@ msgstr "utpakking: overskriver ikke mappe med fil %s\n"
#: lib/libalpm/add.c:315
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "kan ikke pakke ut %s.pacnew: stien er for lang"
msgstr "kunne ikke pakke ut %s.pacnew: stien er for lang"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "kunne ikke finne gjeldende mappe\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "kan ikke åpne mappen %s (%s)\n"
msgstr "kunne ikke endre mappe til %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "kan ikke gjenopprette gjeldende mappe (%s)\n"
msgstr "kunne ikke gjenopprette gjeldende mappe (%s)\n"
#: lib/libalpm/add.c:578
#, c-format
@@ -134,7 +134,7 @@ msgstr "kunne ikke legge til oppføringen '%s' i mellomlageret\n"
#: lib/libalpm/be_local.c:255
#, c-format
msgid "error while reading file %s: %s\n"
msgstr "feil ved lesing av filen %s: %s\n"
msgstr "feil ved lesing av fil %s: %s\n"
#: lib/libalpm/be_local.c:350
#, c-format
@@ -182,7 +182,7 @@ msgstr "%s databasen er ikke konsistent: versjon samsvarer ikke med pakke %s\n"
#: lib/libalpm/be_local.c:762
#, c-format
msgid "unknown validation type for package %s: %s\n"
msgstr "ukjent validering for pakke %s: %s\n"
msgstr "ukjent valideringstype for pakke %s: %s\n"
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
#: lib/libalpm/be_package.c:650
@@ -193,12 +193,12 @@ msgstr "feil oppstod ved lesing av pakke: %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 "feil ved lesing av \"mtree\" for pakken %s: %s\n"
msgstr "feil oppstod ved lesning av mtree for pakke %s: %s\n"
#: lib/libalpm/be_package.c:603
#, c-format
msgid "could not parse package description file in %s\n"
msgstr "kan ikke forstå pakkebeskrivelsen i filen %s\n"
msgstr "kunne ikke tolke pakkebeskrivelsesfilen i %s\n"
#: lib/libalpm/be_package.c:608
#, c-format
@@ -223,22 +223,22 @@ msgstr "mangler metadata i %s\n"
#: lib/libalpm/be_package.c:748
#, c-format
msgid "failed to read signature file: %s\n"
msgstr "kan ikke lese signaturfil: %s\n"
msgstr "kunne ikke lese signaturfil: %s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#, c-format
msgid "required key missing from keyring\n"
msgstr "den nødvendige nøkkelen finnes ikke på nøkkelringen\n"
msgstr "nødvendig nøkkel mangler i nøkkelringen\n"
#: lib/libalpm/be_sync.c:62
#, c-format
msgid "removing invalid file: %s\n"
msgstr "sletter ugyldig fil: %s\n"
msgstr "fjerner ugyldig fil: %s\n"
#: lib/libalpm/be_sync.c:517
#, c-format
msgid "could not parse package description file '%s' from db '%s'\n"
msgstr "kan ikke forstå pakkebeskrivelsen i filen '%s' fra databasen '%s'\n"
msgstr "kunne ikke tolke filen med pakkebeskrivelse '%s' fra databasen '%s'\n"
#: lib/libalpm/be_sync.c:524
#, c-format
@@ -293,27 +293,27 @@ msgstr "kan ikke finne \"%s\", en avhengighet av \"%s\"\n"
#: lib/libalpm/diskspace.c:78
#, c-format
msgid "could not get filesystem information for %s: %s\n"
msgstr "kan ikke hente filsysteminformasjon for %s: %s\n"
msgstr "kunne ikke finne filsysteminformasjon for %s: %s\n"
#: lib/libalpm/diskspace.c:108
#, c-format
msgid "could not open file: %s: %s\n"
msgstr "kan ikke åpne fil: %s: %s\n"
msgstr "kune ikke åpne fil: %s: %s\n"
#: lib/libalpm/diskspace.c:146 lib/libalpm/diskspace.c:159
#, c-format
msgid "could not get filesystem information\n"
msgstr "kan ikke hente filsysteminformasjon\n"
msgstr "kunne ikke finne filsysteminformasjon\n"
#: lib/libalpm/diskspace.c:242
#, c-format
msgid "could not get file information for %s\n"
msgstr "kan ikke hente filinformasjon for %s\n"
msgstr "kunne ikke hente filinformasjon for %s\n"
#: lib/libalpm/diskspace.c:256 lib/libalpm/diskspace.c:315
#, c-format
msgid "could not determine mount point for file %s\n"
msgstr "kan ikke bestemme monteringspunkt for filen %s\n"
msgstr "kunne ikke avgjøre monteringspunkt for fil %s\n"
#: lib/libalpm/diskspace.c:354
#, c-format
@@ -323,17 +323,17 @@ msgstr "Diskpartisjonen %s er for full: trenger %jd blokker, %ju er ledig\n"
#: lib/libalpm/diskspace.c:379 lib/libalpm/diskspace.c:433
#, c-format
msgid "could not determine filesystem mount points\n"
msgstr "kunne ikke bestemme monteringspunkt for filsystem\n"
msgstr "kunne ikke avgjøre monteringspunkt for filsystem\n"
#: lib/libalpm/diskspace.c:385
#, c-format
msgid "could not determine cachedir mount point %s\n"
msgstr "kunne ikke bestemme monteringspunkt for mellomlagringsmappen %s\n"
msgstr "kunne ikke avgjøre monteringspunkt for cachemappen %s\n"
#: lib/libalpm/diskspace.c:438
#, c-format
msgid "could not determine root mount point %s\n"
msgstr "kunne ikke montere bunnmappen %s\n"
msgstr "kunne ikke avgjøre monteringspunkt for root %s\n"
#: lib/libalpm/diskspace.c:486
#, c-format
@@ -355,22 +355,22 @@ msgstr "kunne ikke opprette midlertidig fil i sammengeng med nedlasting\n"
msgid "url '%s' is invalid\n"
msgstr "url '%s' er ugyldig\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "kunne ikke hente filen '%s' fra %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr "kunne ikke hente filen '%s' fra %s : filen er større enn forventet\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s ser ut til å være avkortet: %jd/%jd bytes\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "kunne ikke laste ned %s\n"
@@ -523,7 +523,7 @@ msgstr "forsøkte å utføre transaksjon med ulåst database"
#: lib/libalpm/error.c:104
#, c-format
msgid "failed to run transaction hooks"
msgstr "feil under bruk av transaksjonshekte"
msgstr "feil under utførsel av transaksjonshekte"
#: lib/libalpm/error.c:107
#, c-format
@@ -663,27 +663,27 @@ msgstr "kunne ikke fjerne låsefil %s\n"
#: lib/libalpm/hook.c:107
#, c-format
msgid "Missing trigger targets in hook: %s\n"
msgstr "Mangler utløsermål for hekte: %s\n"
msgstr "Mangler utløsermål i hekte: %s\n"
#: lib/libalpm/hook.c:113
#, c-format
msgid "Missing trigger type in hook: %s\n"
msgstr "Mangler utløsertype for hekte: %s\n"
msgstr "Mangler utløsertype i hekte: %s\n"
#: lib/libalpm/hook.c:119
#, c-format
msgid "Missing trigger operation in hook: %s\n"
msgstr "Mangler utløserfunksjon for hekte: %s\n"
msgstr "Mangler utløseroperasjon i hekte: %s\n"
#: lib/libalpm/hook.c:146
#, c-format
msgid "Missing Exec option in hook: %s\n"
msgstr "Mangler tilvalget \"Exec\" for hekte: %s\n"
msgstr "Mangler tilvalget \"Exec\" i hekte: %s\n"
#: lib/libalpm/hook.c:152
#, c-format
msgid "Missing When option in hook: %s\n"
msgstr "Mangler tilvalget \"When\" for hekte: %s\n"
msgstr "Mangler tilvalget \"When\" i hekte: %s\n"
#: lib/libalpm/hook.c:155
#, c-format
@@ -693,7 +693,7 @@ msgstr "\"AbortOnFail\" er satt for kommandoene som kjører etter hekten: %s\n"
#: lib/libalpm/hook.c:273
#, c-format
msgid "error while reading hook %s: %s\n"
msgstr "feil under observasjon av hekte %s: %s\n"
msgstr "feil ved lesing av hekte %s: %s\n"
#: lib/libalpm/hook.c:275 lib/libalpm/hook.c:315 lib/libalpm/hook.c:357
#, c-format
@@ -725,7 +725,7 @@ msgstr "hekte %s linje %d: kan ikke bruke tilvalget (%s)\n"
#: lib/libalpm/hook.c:613
#, c-format
msgid "unable to run hook %s: %s\n"
msgstr "kan ikke bruke hekte %s: %s\n"
msgstr "kan ikke kjøre hekte %s: %s\n"
#: lib/libalpm/hook.c:648 lib/libalpm/hook.c:660 lib/libalpm/remove.c:385
#, c-format
@@ -805,7 +805,7 @@ msgstr "nøkkelringen er ikke skrivbar\n"
#: lib/libalpm/signing.c:460
#, c-format
msgid "key \"%s\" could not be imported\n"
msgstr "kan ikke importere nøkkel \"%s\"\n"
msgstr "nøkkelen \"%s\" kunne ikke importeres\n"
#: lib/libalpm/signing.c:466
#, c-format
@@ -960,52 +960,52 @@ msgstr "kunne ikke skrive til dataledning (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "kunne ikke lese fra dataledning (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "kunne ikke opprette dataledning (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "kunne ikke føde en ny prosess (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "kunne ikke endre rotmappe (%s)\n"
msgstr "kunne ikke endre root-mappe (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "kall til execv feilet (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "kall til waitpid feilet (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "kommandoen feilet\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Ukjent signal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "kommando avbrutt med signal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "mellomlageret %s eksisterer ikke, oppretter...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -6,19 +6,18 @@
# Peter van den Hurk, 2014
# Peter van den Hurk, 2014-2015
# Ruben Van Boxem <vanboxem.ruben@gmail.com>, 2015,2018
# 56d5d7c9ccc04394ef84fc87640272f6, 2015
# 56d5d7c9ccc04394ef84fc87640272f6, 2011
# 56d5d7c9ccc04394ef84fc87640272f6, 2011,2015
# W J <transifex@woutje.be>, 2018
# swilkens <stefanwilkens@gmail.com>, 2015
# swilkens <stefanwilkens@gmail.com>, 2011
# swilkens <stefanwilkens@gmail.com>, 2011,2015
# zenlord <zenlord@gmail.com>, 2013,2015
# zenlord <zenlord@gmail.com>, 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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2018-09-12 11:17+0000\n"
"Last-Translator: W J <transifex@woutje.be>\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"
"Language-Team: Dutch (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/nl/)\n"
"Language: nl\n"
@@ -57,7 +56,7 @@ msgstr "waarschuwing tijdens uitpakken van %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "kon %s (%s) niet uitpakken\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "kan %s niet hernoemen als %s (%s)\n"
@@ -102,18 +101,18 @@ msgstr "uitpakken: map wordt niet overschreven met bestand %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "kan %s.pacnew niet uitpakken: pad te lang"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "kan de huidige werkmap niet bepalen\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "kan niet naar de map %s (%s) wisselen\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "kan werkmap (%s) niet terugzetten\n"
@@ -364,24 +363,24 @@ msgstr "aanmaken van tijdelijk bestand voor download mislukt\n"
msgid "url '%s' is invalid\n"
msgstr "url '%s' is niet geldig\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "kan het bestand '%s' niet ophalen van %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"kon het bestand '%s' niet ophalen van %s : verwachte download grootte "
"overschreden\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s werd onderbroken: %jd/%jd bytes\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "downloaden van %s mislukt\n"
@@ -781,7 +780,7 @@ msgstr "kan bestand '%s': %s niet verwijderen\n"
#: lib/libalpm/remove.c:410 lib/libalpm/remove.c:419
#, c-format
msgid "could not backup %s due to PATH_MAX overflow\n"
msgstr "kon geen backup maken van %s wegens PATH_MAX overflow\n"
msgstr ""
#: lib/libalpm/remove.c:561
#, c-format
@@ -973,52 +972,52 @@ msgstr "kan niet schrijven naar pipe (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "kan niet lezen uit pipe (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "kan geen pipe aanmaken (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "kan geen nieuw proces (%s) afsplitsen\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "kan de root map (%s) niet wijzigen\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv aanroepen mislukt (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid aanroepen mislukt (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "fout tijdens uitvoeren van commando\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Onbekend signaal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "opdracht afgebroken door signaal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s-cache bestaat niet, wordt aangemaakt...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "kan pakket-cache niet vinden of aanmaken, %s wordt gebruikt\n"

View File

@@ -18,7 +18,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-16 22:15+0000\n"
"Last-Translator: Piotr Strębski <strebski@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -61,7 +61,7 @@ msgstr "wystąpił błąd podczas rozpakowywania %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "nie udało się rozpakować %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "nie udało się zmienić nazwy %s na %s (%s)\n"
@@ -106,18 +106,18 @@ msgstr "rozpakowywanie: nie nadpisuję katalogu plikiem %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "nie można wyodrębnić %s.pacnew: ścieżka zbyt długa"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "nie można znaleźć obecnego katalogu\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "nie udało się zmienić katalogu na %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "nie można powrócić do katalogu roboczego (%s)\n"
@@ -367,24 +367,24 @@ msgstr "nie udało się stworzyć tymczasowego pliku pobierania\n"
msgid "url '%s' is invalid\n"
msgstr "url '%s' jest błędny\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "nie udało się pobrać pliku '%s' z %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"nie powiodło się pobieranie pliku '%s' z %s : oczekiwany rozmiar pobierania "
"został przekroczony\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s wygląda, jakby został obcięty %jd/%jd bajtów\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "nie udało się pobrać %s\n"
@@ -977,52 +977,52 @@ msgstr "nie można zapisać do potoku (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "nie można odczytać z potoku (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "nie można stworzyć potoku (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "nie udało się odwidlić nowego procesu (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "nie udało się zmienić katalogu głównego (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "odwołanie do execv zakończone błędem (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "zawołanie do waitpid nieudane (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "komenda nie wykonała się poprawnie\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Nieznany sygnał"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "polecenie zakończone sygnałem %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "brak pamięci podręcznej dla %s, tworzenie...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -8,14 +8,13 @@
# ArchGalileu <geral@gasparsantos.eu>, 2011
# R00KIE <registosites@hotmail.com>, 2013,2016
# R00KIE <registosites@hotmail.com>, 2013,2016-2017
# Rui <xymarior@yandex.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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-02-06 18:35+0000\n"
"Last-Translator: Rui <xymarior@yandex.com>\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"
"Language-Team: Portuguese (http://www.transifex.com/toofishes/archlinux-"
"pacman/language/pt/)\n"
"Language: pt\n"
@@ -42,7 +41,7 @@ msgstr "a fazer downgrade do pacote %s (%s => %s)\n"
#: lib/libalpm/add.c:124
#, c-format
msgid "cannot allocate disk archive object"
msgstr "não foi possível alocar objeto de pacote de disco"
msgstr "não é possível alocar objecto de arquivo do disco"
#: lib/libalpm/add.c:138 lib/libalpm/util.c:382
#, c-format
@@ -54,7 +53,7 @@ msgstr "aviso apresentado ao extrair %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "não foi possível extrair %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "não foi possível renomear %s para %s (%s)\n"
@@ -92,25 +91,25 @@ msgstr ""
#: lib/libalpm/add.c:287
#, c-format
msgid "extract: not overwriting dir with file %s\n"
msgstr "extração: não sobrescrever diretório com o ficheiro %s\n"
msgstr "extracção: não sobrescrever diretório com o ficheiro %s\n"
#: lib/libalpm/add.c:315
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "incapaz de extrair %s.pacnew: caminho demasiado longo"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "não foi possível obter o diretório de trabalho atual\n"
msgstr "não foi possível obter o diretório de trabalho actual\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "não foi possível mudar o diretório para %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "não é possível restaurar diretório em trabalho (%s)\n"
@@ -118,7 +117,7 @@ msgstr "não é possível restaurar diretório em trabalho (%s)\n"
#: lib/libalpm/add.c:578
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "ocorreram erros durante a atualização de %s\n"
msgstr "ocorreram erros durante a actualização de %s\n"
#: lib/libalpm/add.c:584
#, c-format
@@ -128,7 +127,7 @@ msgstr "ocorreram erros durante a instalação de %s\n"
#: lib/libalpm/add.c:599
#, c-format
msgid "could not update database entry %s-%s\n"
msgstr "não foi possível atualizar a entrada na base de dados %s-%s\n"
msgstr "não foi possível actualizar a entrada na base de dados %s-%s\n"
#: lib/libalpm/add.c:610
#, c-format
@@ -278,7 +277,7 @@ msgstr "localização da base de dados não definida\n"
#: lib/libalpm/deps.c:184
#, c-format
msgid "dependency cycle detected:\n"
msgstr "detetada dependência cíclica:\n"
msgstr "dependência cíclica detectada:\n"
#: lib/libalpm/deps.c:187
#, c-format
@@ -368,24 +367,24 @@ msgstr "erro ao criar ficheiro temporário para download\n"
msgid "url '%s' is invalid\n"
msgstr "url '%s' é inválida\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "falha ao obter ficheiro '%s' de %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"falhou a obtenção do ficheiro '%s' de %s : o tamanho esperado da "
"falhou a obtenção do ficheiro '%s' de %s : o tamanho expectado da "
"transferência foi excedido\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s parece estar quebrado: %jd/%jd bytes\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "falha ao fazer a descarga de %s\n"
@@ -478,12 +477,12 @@ msgstr "base de dados inválida ou corrompida (assinatura PGP)"
#: lib/libalpm/error.c:76
#, c-format
msgid "database is incorrect version"
msgstr "a versão da base de dados é incorreta"
msgstr "a versão da base de dados é incorrecta"
#: lib/libalpm/error.c:78
#, c-format
msgid "could not update database"
msgstr "não foi possível atualizar a base de dados"
msgstr "não foi possível actualizar a base de dados"
#: lib/libalpm/error.c:80
#, c-format
@@ -513,7 +512,7 @@ msgstr "operação não inicializada"
#: lib/libalpm/error.c:92
#, c-format
msgid "duplicate target"
msgstr "objeto alvo duplicado"
msgstr "objecto alvo duplicado"
#: lib/libalpm/error.c:96
#, c-format
@@ -528,7 +527,7 @@ msgstr "operação abortada"
#: lib/libalpm/error.c:100
#, c-format
msgid "operation not compatible with the transaction type"
msgstr "atividade não compatível com o tipo de operação"
msgstr "actividade não compatível com o tipo de operação"
#: lib/libalpm/error.c:102
#, c-format
@@ -538,7 +537,7 @@ msgstr "tentativa de aceitar a operação com a base de dados não bloqueada"
#: lib/libalpm/error.c:104
#, c-format
msgid "failed to run transaction hooks"
msgstr "falha ao correr os hooks da transação"
msgstr "falha ao correr os hooks da transacção"
#: lib/libalpm/error.c:107
#, c-format
@@ -588,7 +587,7 @@ msgstr "o nome do pacote não é válido"
#: lib/libalpm/error.c:125
#, c-format
msgid "package architecture is not valid"
msgstr "a arquitetura do pacote não é válida"
msgstr "a arquitectura do pacote não é válida"
#: lib/libalpm/error.c:127
#, c-format
@@ -776,7 +775,7 @@ msgstr "não foi possível encontrar %s na base de dados - a ignorar\n"
#: lib/libalpm/remove.c:153
#, c-format
msgid "removing %s from target list\n"
msgstr "a remover %s da lista de pacotes a serem atualizados\n"
msgstr "a remover %s da lista de pacotes a serem actualizados\n"
#: lib/libalpm/remove.c:345
#, c-format
@@ -888,7 +887,7 @@ msgstr ""
#: lib/libalpm/sync.c:98
#, c-format
msgid "%s: ignoring package upgrade (%s => %s)\n"
msgstr "%s: a ignorar atualização do pacote (%s => %s)\n"
msgstr "%s: a ignorar actualização do pacote (%s => %s)\n"
#: lib/libalpm/sync.c:110
#, c-format
@@ -918,7 +917,7 @@ msgstr "não foi possível substituir %s por %s\n"
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
#, c-format
msgid "unresolvable package conflicts detected\n"
msgstr "detetado conflito entre pacotes sem solução\n"
msgstr "detectado conflito entre pacotes sem solução\n"
#: lib/libalpm/sync.c:558
#, c-format
@@ -938,12 +937,12 @@ msgstr "não há espaço livre suficiente no disco\n"
#: lib/libalpm/sync.c:1406
#, c-format
msgid "could not commit removal transaction\n"
msgstr "não foi possível efetuar a operação de remoção\n"
msgstr "não foi possível efectuar a operação de remoção\n"
#: lib/libalpm/sync.c:1414
#, c-format
msgid "could not commit transaction\n"
msgstr "não foi possível efetuar a operação\n"
msgstr "não foi possível efectuar a operação\n"
#: lib/libalpm/trans.c:364
#, c-format
@@ -975,52 +974,52 @@ msgstr "incapaz de escrever para o pipe (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "incapaz de ler do pipe (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "não foi possível criar pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "não foi possível fazer fork de um novo processo (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "não foi possível mudar o diretório raiz (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "falhou chamada para execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "chamada para waitpid falhou (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "comando não executado corretamente\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Sinal desconhecido"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "o comando parou pelo sinal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "cache %s não existe, a criar...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -15,7 +15,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-15 14:51+0000\n"
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/toofishes/"
@@ -56,7 +56,7 @@ msgstr "recebido aviso ao extrair %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "não foi possível extrair %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "não foi possível renomear %s para %s (%s)\n"
@@ -101,18 +101,18 @@ msgstr "extração: não sobrescrevendo diretório com arquivo %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "não foi possível extrair %s.pacnew: caminho longo demais"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "não foi possível obter o diretório de trabalho atual\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "não foi possível mudar para o diretório %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "falha em recuperar diretório de trabalho (%s)\n"
@@ -371,23 +371,23 @@ msgstr "falha em criar arquivo temporário para download\n"
msgid "url '%s' is invalid\n"
msgstr "a url \"%s\" é inválida\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "falha ao obter o arquivo \"%s\" de %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"falha ao obter arquivo \"%s\" de %s: esperava tamanho de download excedido\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, 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:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "falha ao fazer o download de %s\n"
@@ -978,52 +978,52 @@ msgstr "não foi possível escrever para o pipe (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "não foi possível ler do pipe (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "não foi possível criar o pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "não foi possível fazer fork de um novo processo (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "não foi possível mudar o diretório raiz (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "chamada a execv falhou (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "chamada a waitpid falhou (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "comando não executado corretamente\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Sinal desconhecido"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "comando terminado pelo sinal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "cache %s não existe, criando...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -19,7 +19,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Romanian (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -61,7 +61,7 @@ msgstr "s-a primit o avertizare la extragerea %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "nu s-a putut extrage %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "nu s-a putut redenumi %s în %s (%s)\n"
@@ -106,18 +106,18 @@ msgstr "extragere: nu se suprascrie dir cu fișierul %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "nu se poate extrage %s.pacnew: cale prea lungă"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "nu s-a putut determina directorul de lucru curent\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "nu s-a putut schimba directorul în %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "nu s-a putut restabili directorul de lucru curent (%s)\n"
@@ -375,24 +375,24 @@ msgstr "eșec la crearea fișierului temporar pentru descărcare\n"
msgid "url '%s' is invalid\n"
msgstr "Adresa url '%s' este nevalidă\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "eșec la obținerea fișierului '%s' din %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"eșec la obținerea fișierului '%s' din %s : dimensiunea de descărcare "
"așteptată a fost depășită\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s pare a fi trunchiat: %jd/%jd octeți\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "eșec la descărcarea %s\n"
@@ -981,52 +981,52 @@ msgstr "nu se poate scrie în redirecționare (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "nu se poate citi din redirecționare (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "nu s-a putut crea o redirecționare (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "nu s-a putut ramifica un nou proces (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "nu s-a putut schimba directorul root (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "eșec la apelul execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "eșec la apelul waitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "executarea corectă a comenzii a eșuat\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Semnal necunoscut"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "comandă terminată de semnalul %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "nu există cache %s, se crează...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -12,13 +12,13 @@
# kyak <peselnik@gmail.com>, 2013
# partizan <serg.partizan@gmail.com>, 2014-2015,2017
# partizan <serg.partizan@gmail.com>, 2012
# be1bb8e720f95f5c175a5f1f3aa8f780, 2015
# Vasiliy Polyakov <vp@psu.ru>, 2015
# Анатолий Валерианович <ffox909@mail.ru>, 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-29 16:20+0000\n"
"Last-Translator: Igor <f2404@yandex.ru>\n"
"Language-Team: Russian (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -61,7 +61,7 @@ msgstr "получено предупреждение при извлечени
msgid "could not extract %s (%s)\n"
msgstr "не удалось извлечь %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "не удалось переименовать %s в %s (%s)\n"
@@ -104,18 +104,18 @@ msgstr "извлечение: не перезаписывается катало
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "не удалось восстановить рабочий каталог (%s)\n"
@@ -370,22 +370,22 @@ msgstr "не удалось создать временный файл для з
msgid "url '%s' is invalid\n"
msgstr "ссылка '%s' некорректна\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "не удалось получить файл '%s' из %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr "не удалось получить файл '%s' из %s: превышен ожидаемый размер\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s, видимо, обрезан: %jd/%jd байт\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "не удалось загрузить %s\n"
@@ -974,52 +974,52 @@ msgstr "не удалось записать в пайп (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "не удалось чтение из пайпа (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "не удалось создать канал (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "не удалось создать новый процесс (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "не удалось изменить корневой каталог (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "вызов execv завершился неудачно (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "вызов waitpid не удался (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "не удалось корректно выполнить команду\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Неизвестный сигнал"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "команда завершена по сигналу %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "кэш %s не существует, создается...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "не удалось найти или создать кеш пакета, используется %s\n"

View File

@@ -15,7 +15,7 @@ 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: 2019-08-12 11:23+1000\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"
"Language-Team: Slovak (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -57,7 +57,7 @@ msgstr "varovanie pri rozbaľovaní %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "nie je možné rozbaliť %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "nie je možné premenovať %s na %s (%s)\n"
@@ -102,18 +102,18 @@ msgstr "rozbalenie: adresár nebol prepísaný súborom %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "nepodarilo sa extrahovať %s.pacnew: cesta je príliš dlhá"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "nie je možné zistiť aktuálny pracovný adresár\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "nie je možné prepnúť sa do adresára %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "nie je možné obnoviť pracovný adresár (%s)\n"
@@ -365,24 +365,24 @@ msgstr "chyba pri vytváraní dočasného súboru pre sťahovanie\n"
msgid "url '%s' is invalid\n"
msgstr "URL '%s' je neplatná\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "chyba pri získavaní súboru '%s' z %s: %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"chyba pri sťahovaní súboru '%s' z %s : očakávaná veľkosť sťahovaného súboru "
"bola prekročená\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s vyzerá byť skrátený: %jd/%jd bytov\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "chyba pri sťahovaní %s\n"
@@ -971,52 +971,52 @@ msgstr "nie je možné zapísať do zreťazenia (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "nie je možné čítať zo zreťazenia (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "nepodarilo sa vytvoriť rúru (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "nie je možné spustiť nový proces (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "nie je možné zmeniť koreňový adresár (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "volanie execv zlyhalo (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "volanie waitpid zlyhalo (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "príkaz sa nepodarilo spustiť správne\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Neznámy signál"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "príkaz bol ukončený signálom %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "neexistuje cache %s, vytváram...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -3,10 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Dejan Rožič <drozic1989@gmail.com>, 2014
# Abomination1 <drozic1989@gmail.com>, 2014
# ansich <mojmejlzaforume@gmail.com>, 2014
# Dejan Rožič <drozic1989@gmail.com>, 2014
# matevž lapajne <sivar.lapajne@gmail.com>, 2019
# Abomination1 <drozic1989@gmail.com>, 2014
# ansich <mojmejlzaforume@gmail.com>, 2014
# Readage, 2014
# smlu <smluprenos@gmail.com>, 2012
@@ -17,9 +16,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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-08-09 07:40+0000\n"
"Last-Translator: matevž lapajne <sivar.lapajne@gmail.com>\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"
"Language-Team: Slovenian (http://www.transifex.com/toofishes/archlinux-"
"pacman/language/sl/)\n"
"Language: sl\n"
@@ -59,7 +58,7 @@ msgstr "opozorilo podano med razširjanjem %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "ni mogoče razširiti %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "%s ni mogoče preimenovati v %s (%s)\n"
@@ -74,7 +73,7 @@ msgstr ""
#: lib/libalpm/add.c:214
#, c-format
msgid "unable to extract %s%s: path too long"
msgstr "ni mogoče razširiti %s%s: pot predolga"
msgstr ""
#: lib/libalpm/add.c:256
#, c-format
@@ -104,20 +103,20 @@ msgstr ""
#: lib/libalpm/add.c:315
#, c-format
msgid "unable to extract %s.pacnew: path too long"
msgstr "ni mogoče razširiti %s.pacnew: pot predolga"
msgstr ""
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "ni mogoče dobiti trenutne delovne mape\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "ni bilo mogoče spremeniti mape v %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "delovne mape (%s) ni bilo mogoče obnoviti\n"
@@ -256,7 +255,7 @@ msgstr ""
#: lib/libalpm/be_sync.c:524
#, c-format
msgid "could not read db '%s' (%s)\n"
msgstr "ni mogoče prebrati podatkovne baze '%s' (%s)\n"
msgstr ""
#: lib/libalpm/be_sync.c:558 lib/libalpm/be_sync.c:563
#, c-format
@@ -322,7 +321,7 @@ msgstr "informacije o datotečnem sistemu ni bilo mogoče pridobiti\n"
#: lib/libalpm/diskspace.c:242
#, c-format
msgid "could not get file information for %s\n"
msgstr "ni mogoče dobiti informacije o datoteki za %s\n"
msgstr ""
#: lib/libalpm/diskspace.c:256 lib/libalpm/diskspace.c:315
#, c-format
@@ -332,7 +331,7 @@ msgstr "priklopne točke za datoteko %s ni bilo mogoče določiti\n"
#: lib/libalpm/diskspace.c:354
#, c-format
msgid "Partition %s too full: %jd blocks needed, %ju blocks free\n"
msgstr "Razdelek %s je poln: potrebnih je %jd blokov, %jublokov je prostih\n"
msgstr ""
#: lib/libalpm/diskspace.c:379 lib/libalpm/diskspace.c:433
#, c-format
@@ -369,24 +368,24 @@ msgstr "napaka pri ustvarjanju začasne datoteke za prenos\n"
msgid "url '%s' is invalid\n"
msgstr "url naslov '%s' je neveljaven\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "napaka pri pridobivanju datoteke '%s' iz %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"napaka pri pridobivanju datoteke '%s' iz %s : pričakovana velikost prenosa "
"presežena\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "zdi se, da je %s prirezan: %jd/%jd bajtov \n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "spodletel prenos %s\n"
@@ -751,7 +750,7 @@ msgstr "ni mogoče odpreti mape: %s:%s\n"
#: lib/libalpm/hook.c:676
#, c-format
msgid "could not open file: %s%s: %s\n"
msgstr "ni mogoče odpreti datoteke: %s%s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
#, c-format
@@ -761,7 +760,7 @@ msgstr "ne morem prebrati statusa datoteke %s:%s\n"
#: lib/libalpm/hook.c:722
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr "ni mogoče prebrati mape: %s: %s\n"
msgstr ""
#: lib/libalpm/package.c:586
#, c-format
@@ -811,12 +810,12 @@ msgstr ""
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:705
#, c-format
msgid "GPGME error: %s\n"
msgstr "GPGME napaka: %s\n"
msgstr ""
#: lib/libalpm/signing.c:402
#, c-format
msgid "keyring is not writable\n"
msgstr "v bazo ključev ni mogoče pisati\n"
msgstr ""
#: lib/libalpm/signing.c:460
#, c-format
@@ -851,17 +850,17 @@ msgstr ""
#: lib/libalpm/signing.c:889
#, c-format
msgid "%s: signature from \"%s\" should never be trusted\n"
msgstr "%s: podpisu iz \"%s\" nikoli ne bi smeli zaupati\n"
msgstr ""
#: lib/libalpm/signing.c:901
#, c-format
msgid "%s: key \"%s\" is unknown\n"
msgstr "%s: ključ \"%s\" je neznan\n"
msgstr ""
#: lib/libalpm/signing.c:910
#, c-format
msgid "%s: key \"%s\" is disabled\n"
msgstr "%s: ključ \"%s\" je onemogočen\n"
msgstr ""
#: lib/libalpm/signing.c:914
#, c-format
@@ -975,52 +974,52 @@ msgstr ""
msgid "unable to read from pipe (%s)\n"
msgstr ""
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "ne morem ustvariti cevi (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "ni bilo mogoče odcepiti novega procesa (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ni bilo mogoče spremeniti korenske mape (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "klic k execv je spodletel (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "klic k waitpid je spodletel (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "ukaza ni bilo mogoče pravilno izvesti\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Neznan signal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "ukaz koncan s signalom %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s predpomnilnik ne obstaja, se ustvarja ...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -13,7 +13,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-23 12:45+0000\n"
"Last-Translator: Slobodan Terzić <githzerai06@gmail.com>\n"
"Language-Team: Serbian (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -55,7 +55,7 @@ msgstr "дато је упозорење при распакивању %s (%s)\n
msgid "could not extract %s (%s)\n"
msgstr "не могу да распакујем %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "не могу да преименујем %s у %s (%s)\n"
@@ -98,18 +98,18 @@ msgstr "распакивање: не преписујем фасциклу фа
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "не могу да повратим радну фасциклу (%s)\n"
@@ -358,24 +358,24 @@ msgstr "неуспело стварање привременог фајла пр
msgid "url '%s' is invalid\n"
msgstr "„%s“ је неисправан урл\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "неуспешно преузимање фајла „%s“ са „%s“: %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"неуспело добављање фајла %s са %s: премашена је предвиђена величина "
"преузимања\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "изгледа да је %s окрњен: %jd/%jd бајтова\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "неуспешно преузимање %s\n"
@@ -964,52 +964,52 @@ msgstr "не могу да пишем у цев (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "не могу да читам из цеви (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "не могу да направим цев (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "не могу да рачвам нови процес (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "ме могу да променим корену фасциклу (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "неуспео позив извршног аргумента (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "неуспешно позивање процеса чекања (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "неуспешно правилно извршавање наредбе\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Непознат сигнал"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "наредба прекинута сигналом %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "не постоји кеш за %s; правим....\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "не могу да нађем или направим кеш пакета, као замену користим %s\n"

View File

@@ -13,11 +13,11 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-23 12:43+0000\n"
"Last-Translator: Slobodan Terzić <githzerai06@gmail.com>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/toofishes/archlinux-"
"pacman/language/sr@latin/)\n"
"pacman/language/sr%40latin/)\n"
"Language: sr@latin\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -55,7 +55,7 @@ msgstr "dato je upozorenje pri raspakivanju %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "ne mogu da raspakujem %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "ne mogu da preimenujem %s u %s (%s)\n"
@@ -99,18 +99,18 @@ msgstr "raspakivanje: ne prepisujem fasciklu fajlom %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "ne mogu da raspakujem %s.pacnew: putanja je predugačka"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "ne mogu da odredim radnu fasciklu\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "ne mogu da promenim fasciklu u %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "ne mogu da povratim radnu fasciklu (%s)\n"
@@ -359,24 +359,24 @@ msgstr "neuspelo stvaranje privremenog fajla preuzimanja\n"
msgid "url '%s' is invalid\n"
msgstr "„%s“ je neispravan url\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "neuspešno preuzimanje fajla „%s“ sa „%s“: %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"neuspelo dobavljanje fajla %s sa %s: premašena je predviđena veličina "
"preuzimanja\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "izgleda da je %s okrnjen: %jd/%jd bajtova\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "neuspešno preuzimanje %s\n"
@@ -965,52 +965,52 @@ msgstr "ne mogu da pišem u cev (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "ne mogu da čitam iz cevi (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "ne mogu da napravim cev (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "ne mogu da račvam novi proces (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "me mogu da promenim korenu fasciklu (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "neuspeo poziv izvršnog argumenta (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "neuspešno pozivanje procesa čekanja (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "neuspešno pravilno izvršavanje naredbe\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Nepoznat signal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "naredba prekinuta signalom %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "ne postoji keš za %s; pravim....\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "ne mogu da nađem ili napravim keš paketa, kao zamenu koristim %s\n"

View File

@@ -5,15 +5,14 @@
# Translators:
# , 2011
# Daniel Sandman <revoltism@gmail.com>, 2013,2015
# Johan R. <jreinhed@protonmail.com>, 2019
# Kim Svensson <ks@linux.com>, 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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-08-07 13:03+0000\n"
"Last-Translator: Johan R. <jreinhed@protonmail.com>\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-16 20:56+0000\n"
"Last-Translator: Kristoffer Andersson <kode.kristoff@gmail.com>\n"
"Language-Team: Swedish (http://www.transifex.com/toofishes/archlinux-pacman/"
"language/sv/)\n"
"Language: sv\n"
@@ -52,7 +51,7 @@ msgstr "varning given vid extrahering av %s (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "kunde inte extrahera %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "kunde inte döpa om %s till %s (%s)\n"
@@ -95,18 +94,18 @@ msgstr "extrahera: ersätter ej katalog med fil %s\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "kunde inte extrahera %s.pacnew: sökvägen är för lång"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "kunde inte hitta nuvarande sökväg\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "kunde inte byta katalog till %s (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "kunde ej återställa arbetskatalogen (%s)\n"
@@ -361,12 +360,12 @@ msgstr "kunde ej skapa temporär fil för nedladdning\n"
msgid "url '%s' is invalid\n"
msgstr "url '%s' är ogiltigt\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "misslyckades hämta filen '%s' från %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
@@ -374,12 +373,12 @@ msgstr ""
"överskreds\n"
"\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s verkar vara trunkerad: %jd/%jd bytes\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "misslyckades ladda ner %s\n"
@@ -746,7 +745,7 @@ msgstr ""
#: lib/libalpm/hook.c:676
#, c-format
msgid "could not open file: %s%s: %s\n"
msgstr "kunde inte öppna fil: %s%s: %s\n"
msgstr ""
#: lib/libalpm/hook.c:696 lib/libalpm/util.c:259
#, c-format
@@ -758,7 +757,7 @@ msgstr ""
#: lib/libalpm/hook.c:722
#, c-format
msgid "could not read directory: %s: %s\n"
msgstr "kunde inte läsa katalog: %s: %s\n"
msgstr ""
#: lib/libalpm/package.c:586
#, c-format
@@ -972,52 +971,52 @@ msgstr "kunde inte skriva till rör (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "kunde inte läsa från rör (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "kunde ej skapa pipe (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "kunde inte förgrena en ny process (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "kunde inte byta rootkatalogen (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "anrop till execv misslyckades (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "anrop till waitpid misslyckades (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "kommando misslyckades att exekveras korrekt\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Okänd signal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "kommando avslutades av signal %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "ingen %s cache existerar, skapar...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "kunde ej hitta eller skapa paketcache, använder %s istället\n"

View File

@@ -6,15 +6,15 @@
# Arda Ünlü <aarda.uunlu@gmail.com>, 2018
# tarakbumba <tarakbumba@gmail.com>, 2011,2014
# Dan McGee <dpmcgee@gmail.com>, 2011
# Demiray Muhterem <mdemiray@msn.com>, 2016
# Demiray Muhterem <mdemiray@msn.com>, 2016
# Demiray “tulliana” Muhterem <mdemiray@msn.com>, 2016
# Demiray “tulliana” Muhterem <mdemiray@msn.com>, 2016
# Samed Beyribey <ras0ir@eventualis.org>, 2011,2013
# tarakbumba <tarakbumba@gmail.com>, 2011,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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-15 15:11+0000\n"
"Last-Translator: Arda Ünlü <aarda.uunlu@gmail.com>\n"
"Language-Team: Turkish (http://www.transifex.com/toofishes/archlinux-pacman/"
@@ -55,7 +55,7 @@ msgstr "%s açılırken uyarı verildi (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "%s açılamadı (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "%s dosyasının ismi %s olarak değiştirilemiyor (%s)\n"
@@ -100,18 +100,18 @@ msgstr "aç: %s dosyası dizinin üzerine yazılmıyor\n"
msgid "unable to extract %s.pacnew: path too long"
msgstr "%s.pacnew aktarılamadı: yol çok uzun"
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, c-format
msgid "could not get current working directory\n"
msgstr "üzerinde çalışılan dizin algılanamadı\n"
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "%s dizinine geçilemedi (%s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "çalışılan dizin (%s) geri yüklenemiyor\n"
@@ -362,24 +362,24 @@ msgstr "indirilecek geçici dosya oluşturulamıyor\n"
msgid "url '%s' is invalid\n"
msgstr "'%s' adresi geçersiz\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "%3$s hatası nedeniyle '%1$s' dosyası %2$s adresinden alınamadı\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr ""
"'%s' dosyası %s üzerinden alınırken hata oluştu: beklenen indirme boyutuna "
"ulaşıldı\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s eksik görünüyor: %jd/%jd bayt\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "%s dosyası indirilemedi\n"
@@ -970,52 +970,52 @@ msgstr "(%s) üzerine yazılamadı\n"
msgid "unable to read from pipe (%s)\n"
msgstr "(%s) okunamadı\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "boru oluşturulamadı (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "yeni bir süreç çatallanamadı (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "kök dizini değiştirilemedi (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "execv çağrısı başarısız (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "waitpid çağrısı başarısız (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "komut düzgün çalıştırılamadı\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Bilinmeyen sinyal"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "Komut %d sinyali tarafından sonlandırıldı: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "%s önbelleği yok, oluşturuluyor...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -10,7 +10,7 @@ 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: 2019-08-12 11:23+1000\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-16 08:24+0000\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian (http://www.transifex.com/toofishes/archlinux-"
@@ -54,7 +54,7 @@ msgstr "Видається попередження протягом розпа
msgid "could not extract %s (%s)\n"
msgstr "неможливо розпакувати %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "неможливо перейменувати %s на %s (%s)\n"
@@ -100,18 +100,18 @@ msgstr "розпакування: каталог не перезаписано
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "неможливо відновити робочий каталог (%s)\n"
@@ -362,22 +362,22 @@ msgstr "не вдалось створити тимчасово файла дл
msgid "url '%s' is invalid\n"
msgstr "посилання «%s» неправильне\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "не вдалось одержати файл «%s» з %s : %s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr "не вдалось одержати файл «%s» з %s : перевищено сподіваний розмір\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "здається, %s обрізаний: %jd/%jd байтів\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "не вдалось звантажити %s\n"
@@ -968,52 +968,52 @@ msgstr "неможливо записати у вузол (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "неможливо прочитати з вузла (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "неможливо створити вузол (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "неможливо почати новий процес (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "неможливо змінити кореневий каталог (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "не вдалось викликати execv (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "не вдалось викликати waitpid (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "команда не змогла виконатись коректно\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "Невідомий сигнал"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "команду завершено сигналом %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "кеш %s не існує, створюється…\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr ""

View File

@@ -5,7 +5,6 @@
# Translators:
# leonfeng <chaofeng111@qq.com>, 2018
# Dan McGee <dpmcgee@gmail.com>, 2011
# Jiachen YANG <farseerfc@gmail.com>, 2019
# leonfeng <chaofeng111@qq.com>, 2011
# leonfeng <chaofeng111@qq.com>, 2011,2018
# leonfeng <chaofeng111@qq.com>, 2011
@@ -19,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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-07-04 13:58+0000\n"
"Last-Translator: Nicholas Wang <wck963@gmail.com>\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-15 01:32+0000\n"
"Last-Translator: 张海\n"
"Language-Team: Chinese (China) (http://www.transifex.com/toofishes/archlinux-"
"pacman/language/zh_CN/)\n"
"Language: zh_CN\n"
@@ -60,7 +59,7 @@ msgstr "解压 %s 时出现警告 (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "无法解压缩 %1$s (%2$s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "无法将 %1$s 重命名为 %2$s (%3$s)\n"
@@ -103,18 +102,18 @@ msgstr "解压缩:没有用文件 %s 覆盖目录\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, c-format
msgid "could not change directory to %s (%s)\n"
msgstr "无法更改目录到 %1$s (%2$s)\n"
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "无法恢复工作目录 (%s)\n"
@@ -236,7 +235,7 @@ msgstr "读取签名文件失败:%s\n"
#: lib/libalpm/be_package.c:769 lib/libalpm/sync.c:1113
#, c-format
msgid "required key missing from keyring\n"
msgstr "所需的密钥不在密钥环中\n"
msgstr "所需的密钥密钥环中丢失\n"
#: lib/libalpm/be_sync.c:62
#, c-format
@@ -276,7 +275,7 @@ msgstr "数据库路径未定义\n"
#: lib/libalpm/deps.c:184
#, c-format
msgid "dependency cycle detected:\n"
msgstr "检测到循环依赖:\n"
msgstr "检测到依赖关系环\n"
#: lib/libalpm/deps.c:187
#, c-format
@@ -326,12 +325,12 @@ msgstr "无法确定文件 %s 的挂载点\n"
#: lib/libalpm/diskspace.c:354
#, c-format
msgid "Partition %s too full: %jd blocks needed, %ju blocks free\n"
msgstr "分区 %s 已用满:需要 %jd 个块,可用 %ju 个块\n"
msgstr "分区 %s 满:需要 %jd 个块,剩余 %ju 个块\n"
#: lib/libalpm/diskspace.c:379 lib/libalpm/diskspace.c:433
#, c-format
msgid "could not determine filesystem mount points\n"
msgstr "无法定文件系统挂载点\n"
msgstr "无法定文件系统挂载点\n"
#: lib/libalpm/diskspace.c:385
#, c-format
@@ -343,13 +342,13 @@ msgstr ""
#: lib/libalpm/diskspace.c:438
#, c-format
msgid "could not determine root mount point %s\n"
msgstr "无法定根分区挂载点 %s\n"
msgstr "无法定根分区挂载点 %s\n"
#: lib/libalpm/diskspace.c:486
#, c-format
msgid "Partition %s is mounted read only\n"
msgstr ""
"分区 %s 被挂载为只读\n"
"分区 %s 为只读\n"
"\n"
#: lib/libalpm/dload.c:159
@@ -367,22 +366,22 @@ msgstr "无法创建下载用的临时文件\n"
msgid "url '%s' is invalid\n"
msgstr "url '%s' 无效\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "无法从 %2$s : %3$s 获取文件 '%1$s'\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr "获取文件 '%s' 失败,来自 %s : 下载大小超出期望值\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s 可缩小:%jd/%jd bytes\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "下载 %s 失败\n"
@@ -455,7 +454,7 @@ msgstr "数据库未初始化"
#: lib/libalpm/error.c:68
#, c-format
msgid "database already registered"
msgstr "数据库已经注册过了"
msgstr "数据库已登记"
#: lib/libalpm/error.c:70
#, c-format
@@ -495,17 +494,17 @@ msgstr "无效的服务器 url"
#: lib/libalpm/error.c:85
#, c-format
msgid "no servers configured for repository"
msgstr "软件库没有配置服务器信息"
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
@@ -515,22 +514,22 @@ msgstr "重复的目标"
#: lib/libalpm/error.c:96
#, c-format
msgid "transaction not prepared"
msgstr "事务未准备好"
msgstr "处理未准备好"
#: lib/libalpm/error.c:98
#, c-format
msgid "transaction aborted"
msgstr "事务已放弃"
msgstr "处理已放弃"
#: lib/libalpm/error.c:100
#, c-format
msgid "operation not compatible with the transaction type"
msgstr "操作与事务类型不兼容"
msgstr "操作与处理类型不兼容"
#: lib/libalpm/error.c:102
#, c-format
msgid "transaction commit attempt when database is not locked"
msgstr "尝试提交事务处理时尚未锁定数据库"
msgstr "未锁定数据库即提交了事务处理尝试"
#: lib/libalpm/error.c:104
#, c-format
@@ -590,7 +589,7 @@ msgstr "无效的软件包架构"
#: lib/libalpm/error.c:127
#, c-format
msgid "could not find repository for target"
msgstr "无法为目标找到软件库"
msgstr "无法为目标找到软件库"
#: lib/libalpm/error.c:130
#, c-format
@@ -605,12 +604,12 @@ msgstr "无效 PGP 签名"
#: lib/libalpm/error.c:135
#, c-format
msgid "invalid or corrupted delta"
msgstr "无效的或已损坏的增量"
msgstr "无效的或已损坏的 delta"
#: lib/libalpm/error.c:137
#, c-format
msgid "delta patch failed"
msgstr "增量补丁失败"
msgstr "delta 补丁失败"
#: lib/libalpm/error.c:140 lib/libalpm/hook.c:614
#, c-format
@@ -650,7 +649,7 @@ msgstr "下载数据库出错"
#: lib/libalpm/error.c:159
#, c-format
msgid "gpgme error"
msgstr "gpgme 错误"
msgstr "pgpme 错误"
#: lib/libalpm/error.c:161
#, c-format
@@ -665,12 +664,12 @@ msgstr "未预期的错误"
#: lib/libalpm/handle.c:157
#, c-format
msgid "lock file missing %s\n"
msgstr "缺失锁文件 %s\n"
msgstr "lock 文件缺失 %s\n"
#: lib/libalpm/handle.c:163
#, c-format
msgid "could not remove lock file %s\n"
msgstr "无法删除锁文件 %s\n"
msgstr "无法删除锁文件 %s\n"
#: lib/libalpm/hook.c:107
#, c-format
@@ -727,7 +726,7 @@ msgstr "钩子 %s 第 %d 行:无效值 %s\n"
#: lib/libalpm/hook.c:345
#, c-format
msgid "hook %s line %d: overwriting previous definition of %s\n"
msgstr "钩子 %s 第 %d 行:覆盖了此前 %s 的定义\n"
msgstr "钩子 %s 第 %d 行:重写此前 %s 的定义\n"
#: lib/libalpm/hook.c:352
#, c-format
@@ -837,7 +836,7 @@ msgstr "%s缺失签名\n"
#: lib/libalpm/signing.c:874
#, c-format
msgid "%s: signature from \"%s\" is marginal trust\n"
msgstr "%s: 来自 \"%s\" 的签名是勉强信任的\n"
msgstr "%s: 来自 \"%s\" 的签名是接近完全信任的\n"
#: lib/libalpm/signing.c:882
#, c-format
@@ -847,7 +846,7 @@ msgstr "%s: 来自 \"%s\" 的签名是未知信任的\n"
#: lib/libalpm/signing.c:889
#, c-format
msgid "%s: signature from \"%s\" should never be trusted\n"
msgstr "%s: 来自 \"%s\" 的签名是从不应该信任的\n"
msgstr "%s: 来自 \"%s\" 的签名是从不应该信任的\n"
#: lib/libalpm/signing.c:901
#, c-format
@@ -884,12 +883,12 @@ msgstr "%s: 不支持的签名格式\n"
#: lib/libalpm/sync.c:98
#, c-format
msgid "%s: ignoring package upgrade (%s => %s)\n"
msgstr "%s忽略软件包升级 (%s => %s)\n"
msgstr "%s忽略软件包更新 (%s => %s)\n"
#: lib/libalpm/sync.c:110
#, c-format
msgid "%s: ignoring package downgrade (%s => %s)\n"
msgstr "%s忽略软件包降级 (%s => %s)\n"
msgstr "%s正在忽略软件包降级 (%s => %s)\n"
#: lib/libalpm/sync.c:113
#, c-format
@@ -904,12 +903,12 @@ msgstr "%s本地 (%s) 比 %s 的版本更新 (%s)\n"
#: lib/libalpm/sync.c:160
#, c-format
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
msgstr "正在忽略替换软件包 (%s-%s => %s-%s)\n"
msgstr "正在忽略软件包更新 (%s-%s => %s-%s)\n"
#: lib/libalpm/sync.c:176
#, c-format
msgid "cannot replace %s by %s\n"
msgstr "无法替换 %s 为 %s\n"
msgstr "无法用文件 '%2$s' 替代 %1$s\n"
#: lib/libalpm/sync.c:538 lib/libalpm/sync.c:608
#, c-format
@@ -934,12 +933,12 @@ msgstr "剩余空间不够\n"
#: lib/libalpm/sync.c:1406
#, c-format
msgid "could not commit removal transaction\n"
msgstr "无法提交删除事务\n"
msgstr "无法交付可撤销处理\n"
#: lib/libalpm/sync.c:1414
#, c-format
msgid "could not commit transaction\n"
msgstr "无法提交事务\n"
msgstr "无法交付处理\n"
#: lib/libalpm/trans.c:364
#, c-format
@@ -971,52 +970,52 @@ msgstr "无法写入管道 (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "无法读取管道 (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "无法创建管道 (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "无法 fork 新进程 (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "无法更改根目录 (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "调用 execv 失败 (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "调用 waitpid 失败 (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "命令未能被正确执行\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "未知信号"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "命令被信号 %d 终止: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "没有 %s 缓存存在,正在创建...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "无法找到或创建软件包缓存,使用 %s 中\n"

View File

@@ -8,15 +8,15 @@
# dlin <dlin.tw@gmail.com>, 2014
# dlin <dlin.tw@gmail.com>, 2014
# dlin <dlin.tw@gmail.com>, 2011-2012
# 黃柏諺 <s8321414@gmail.com>, 2014-2015,2018
# 黃柏諺 <s8321414@gmail.com>, 2014
# Jeff Huang <s8321414@gmail.com>, 2014-2015,2018
# Jeff Huang <s8321414@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: 2019-08-12 11:23+1000\n"
"PO-Revision-Date: 2019-04-13 16:14+0000\n"
"Last-Translator: byStarTW (pan93412) <pan93412@gmail.com>\n"
"POT-Creation-Date: 2018-05-15 10:34+1000\n"
"PO-Revision-Date: 2018-05-15 23:43+0000\n"
"Last-Translator: Jeff Huang <s8321414@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/toofishes/"
"archlinux-pacman/language/zh_TW/)\n"
"Language: zh_TW\n"
@@ -55,7 +55,7 @@ msgstr "解壓縮 %s 時出現警告 (%s)\n"
msgid "could not extract %s (%s)\n"
msgstr "無法解壓縮 %s (%s)\n"
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:570 lib/libalpm/remove.c:541
#: lib/libalpm/add.c:154 lib/libalpm/dload.c:561 lib/libalpm/remove.c:541
#, c-format
msgid "could not rename %s to %s (%s)\n"
msgstr "無法將 %s 重命名為 %s (%s)\n"
@@ -99,18 +99,18 @@ msgstr "解壓縮:沒有用檔案 %s 覆蓋目錄\n"
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:592
#: lib/libalpm/add.c:508 lib/libalpm/util.c:334 lib/libalpm/util.c:573
#, 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:597
#: lib/libalpm/util.c:650
#: lib/libalpm/add.c:513 lib/libalpm/util.c:339 lib/libalpm/util.c:578
#: lib/libalpm/util.c:631
#, 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:766
#: lib/libalpm/add.c:570 lib/libalpm/util.c:403 lib/libalpm/util.c:738
#, c-format
msgid "could not restore working directory (%s)\n"
msgstr "無法回存到工作目錄(%s)\n"
@@ -359,22 +359,22 @@ msgstr "無法建立下載暫存檔\n"
msgid "url '%s' is invalid\n"
msgstr "url「%s」無效\n"
#: lib/libalpm/dload.c:460 lib/libalpm/dload.c:481 lib/libalpm/dload.c:492
#: lib/libalpm/dload.c:459 lib/libalpm/dload.c:484
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "無法取得檔案「%s」從 %s%s\n"
#: lib/libalpm/dload.c:473
#: lib/libalpm/dload.c:472
#, c-format
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
msgstr "無法解開「%s」從 %s 壓縮檔:超出下載的檔案大小\n"
#: lib/libalpm/dload.c:528
#: lib/libalpm/dload.c:520
#, c-format
msgid "%s appears to be truncated: %jd/%jd bytes\n"
msgstr "%s 可縮小:%jd/%jd 位元組\n"
#: lib/libalpm/dload.c:673 lib/libalpm/dload.c:702
#: lib/libalpm/dload.c:664 lib/libalpm/dload.c:693
#, c-format
msgid "failed to download %s\n"
msgstr "下載 %s 失敗\n"
@@ -963,52 +963,52 @@ msgstr "無法寫入到管線 (%s)\n"
msgid "unable to read from pipe (%s)\n"
msgstr "無法從管線讀取 (%s)\n"
#: lib/libalpm/util.c:609 lib/libalpm/util.c:615
#: lib/libalpm/util.c:590 lib/libalpm/util.c:596
#, c-format
msgid "could not create pipe (%s)\n"
msgstr "無法建立管線 (%s)\n"
#: lib/libalpm/util.c:623
#: lib/libalpm/util.c:604
#, c-format
msgid "could not fork a new process (%s)\n"
msgstr "無法 fork 新行程 (%s)\n"
#: lib/libalpm/util.c:646
#: lib/libalpm/util.c:627
#, c-format
msgid "could not change the root directory (%s)\n"
msgstr "無法更改根目錄 (%s)\n"
#: lib/libalpm/util.c:658
#: lib/libalpm/util.c:638
#, c-format
msgid "call to execv failed (%s)\n"
msgstr "呼叫 execv 失敗 (%s)\n"
#: lib/libalpm/util.c:737
#: lib/libalpm/util.c:709
#, c-format
msgid "call to waitpid failed (%s)\n"
msgstr "呼叫 waitpid 失敗 (%s)\n"
#: lib/libalpm/util.c:747
#: lib/libalpm/util.c:719
#, c-format
msgid "command failed to execute correctly\n"
msgstr "命令未能被正確執行\n"
#: lib/libalpm/util.c:754
#: lib/libalpm/util.c:726
#, c-format
msgid "Unknown signal"
msgstr "未知的訊號"
#: lib/libalpm/util.c:756
#: lib/libalpm/util.c:728
#, c-format
msgid "command terminated by signal %d: %s\n"
msgstr "命令被訊號中斷 %d: %s\n"
#: lib/libalpm/util.c:853
#: lib/libalpm/util.c:825
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "沒有 %s 快取存在,正在建立...\n"
#: lib/libalpm/util.c:884
#: lib/libalpm/util.c:856
#, c-format
msgid "couldn't find or create package cache, using %s instead\n"
msgstr "無法建立軟體包快取,以 %s 取代\n"

View File

@@ -74,7 +74,8 @@ int SYMEXPORT alpm_remove_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg)
pkgname = pkg->name;
if(alpm_pkg_find(trans->remove, pkgname)) {
RET_ERR(handle, ALPM_ERR_TRANS_DUP_TARGET, -1);
_alpm_log(handle, ALPM_LOG_DEBUG, "skipping duplicate target: %s\n", pkgname);
return 0;
}
_alpm_log(handle, ALPM_LOG_DEBUG, "adding package %s to the transaction remove list\n",

View File

@@ -182,7 +182,7 @@ static int init_gpgme(alpm_handle_t *handle)
#endif
/* NOTE:
* The GPGME library installs a SIGPIPE signal handler automatically if
* the default signal hander is in use. The only time we set a handler
* the default signal handler is in use. The only time we set a handler
* for SIGPIPE is in dload.c, and we reset it when we are done. Given that
* we do this, we can let GPGME do its automagic. However, if we install
* a library-wide SIGPIPE handler, we will have to be careful.

View File

@@ -51,7 +51,7 @@
/** Check for new version of pkg in sync repos
* (only the first occurrence is considered in sync)
*/
alpm_pkg_t SYMEXPORT *alpm_sync_newversion(alpm_pkg_t *pkg, alpm_list_t *dbs_sync)
alpm_pkg_t SYMEXPORT *alpm_sync_get_new_version(alpm_pkg_t *pkg, alpm_list_t *dbs_sync)
{
alpm_list_t *i;
alpm_pkg_t *spkg = NULL;
@@ -61,10 +61,6 @@ alpm_pkg_t SYMEXPORT *alpm_sync_newversion(alpm_pkg_t *pkg, alpm_list_t *dbs_syn
for(i = dbs_sync; !spkg && i; i = i->next) {
alpm_db_t *db = i->data;
if(!(db->usage & ALPM_DB_USAGE_SEARCH)) {
continue;
}
spkg = _alpm_db_get_pkgfromcache(db, pkg->name);
}
@@ -277,10 +273,21 @@ alpm_list_t SYMEXPORT *alpm_find_group_pkgs(alpm_list_t *dbs,
for(j = grp->packages; j; j = j->next) {
alpm_pkg_t *pkg = j->data;
alpm_trans_t *trans = db->handle->trans;
if(alpm_pkg_find(ignorelist, pkg->name)) {
continue;
}
if(trans != NULL && trans->flags & ALPM_TRANS_FLAG_NEEDED) {
alpm_pkg_t *local = _alpm_db_get_pkgfromcache(db->handle->db_local, pkg->name);
if(local && _alpm_pkg_compare_versions(pkg, local) == 0) {
/* with the NEEDED flag, packages up to date are not reinstalled */
_alpm_log(db->handle, ALPM_LOG_WARNING, _("%s-%s is up to date -- skipping\n"),
local->name, local->version);
ignorelist = alpm_list_add(ignorelist, pkg);
continue;
}
}
if(alpm_pkg_should_ignore(db->handle, pkg)) {
alpm_question_install_ignorepkg_t question = {
.type = ALPM_QUESTION_INSTALL_IGNOREPKG,
@@ -1176,17 +1183,28 @@ static int check_validity(alpm_handle_t *handle,
if(errors) {
for(i = errors; i; i = i->next) {
struct validity *v = i->data;
if(v->error == ALPM_ERR_PKG_MISSING_SIG) {
_alpm_log(handle, ALPM_LOG_ERROR,
_("%s: missing required signature\n"), v->pkg->name);
} else if(v->error == ALPM_ERR_PKG_INVALID_SIG) {
_alpm_process_siglist(handle, v->pkg->name, v->siglist,
v->siglevel & ALPM_SIG_PACKAGE_OPTIONAL,
v->siglevel & ALPM_SIG_PACKAGE_MARGINAL_OK,
v->siglevel & ALPM_SIG_PACKAGE_UNKNOWN_OK);
prompt_to_delete(handle, v->path, v->error);
} else if(v->error == ALPM_ERR_PKG_INVALID_CHECKSUM) {
prompt_to_delete(handle, v->path, v->error);
switch(v->error) {
case ALPM_ERR_PKG_MISSING_SIG:
_alpm_log(handle, ALPM_LOG_ERROR,
_("%s: missing required signature\n"), v->pkg->name);
break;
case ALPM_ERR_PKG_INVALID_SIG:
_alpm_process_siglist(handle, v->pkg->name, v->siglist,
v->siglevel & ALPM_SIG_PACKAGE_OPTIONAL,
v->siglevel & ALPM_SIG_PACKAGE_MARGINAL_OK,
v->siglevel & ALPM_SIG_PACKAGE_UNKNOWN_OK);
/* fallthrough */
case ALPM_ERR_PKG_INVALID_CHECKSUM:
prompt_to_delete(handle, v->path, v->error);
break;
case ALPM_ERR_PKG_NOT_FOUND:
case ALPM_ERR_BADPERMS:
case ALPM_ERR_PKG_OPEN:
_alpm_log(handle, ALPM_LOG_ERROR, _("failed to read file %s: %s\n"), v->path, alpm_strerror(v->error));
break;
default:
/* ignore */
break;
}
alpm_siglist_cleanup(v->siglist);
free(v->siglist);

View File

@@ -38,6 +38,25 @@ AC_DEFUN([GCC_STACK_PROTECT_CC],[
fi
])
dnl GCC_STACK_CLASH_PROTECTION
dnl check -fstack-clash-protection with the C compiler, if it exists then
dnl updates CFLAGS
AC_DEFUN([GCC_STACK_CLASH_PROTECTION],[
AC_LANG_ASSERT(C)
if test "X$CC" != "X"; then
AC_CACHE_CHECK([whether ${CC} accepts -fstack-clash-protection],
scp_cv_cc,
[scp_old_cflags="$CFLAGS"
CFLAGS="$CFLAGS -fstack-clash-protection"
AC_TRY_COMPILE(,, scp_cv_cc=yes, scp_cv_cc=no)
CFLAGS="$scp_old_cflags"
])
if test $scp_cv_cc = yes; then
CFLAGS="$CFLAGS -fstack-clash-protection"
fi
fi
])
dnl GCC_FORTIFY_SOURCE_CC
dnl checks -D_FORTIFY_SOURCE with the C compiler, if it exists then updates
dnl CPPFLAGS

507
meson.build Normal file
View File

@@ -0,0 +1,507 @@
project('pacman',
'c',
version : '5.1.0',
license : 'GPLv2+',
default_options : [
'c_std=gnu99',
'prefix=/usr',
'sysconfdir=/etc',
'localstatedir=/var',
],
meson_version : '>= 0.47')
libalpm_version = '11.0.1'
cc = meson.get_compiler('c')
# commandline options
PREFIX = get_option('prefix')
DATAROOTDIR = join_paths(PREFIX, get_option('datarootdir'))
SYSCONFDIR = join_paths(PREFIX, get_option('sysconfdir'))
LOCALSTATEDIR = join_paths(PREFIX, get_option('localstatedir'))
LOCALEDIR = join_paths(PREFIX, get_option('localedir'))
ROOTDIR = get_option('root-dir')
BINDIR = join_paths(PREFIX, get_option('bindir'))
MANDIR = join_paths(PREFIX, get_option('mandir'))
BUILDSCRIPT = get_option('buildscript')
LIBMAKEPKGDIR = join_paths(PREFIX, DATAROOTDIR, 'makepkg')
PKGDATADIR = join_paths(PREFIX, DATAROOTDIR, meson.project_name())
PYTHON = import('python').find_installation('python3')
M4 = find_program('m4')
SED = find_program('sed')
DU = find_program('du')
LDCONFIG = get_option('ldconfig')
MESON_MAKE_SYMLINK = join_paths(meson.source_root(), 'build-aux/meson-make-symlink.sh')
MESON_INSTALL_SCRIPT = join_paths(meson.source_root(), 'build-aux/meson-install-script.sh')
BASH = find_program('bash4', 'bash')
if BASH.found()
bash_version = run_command(BASH, '-c', 'IFS=.; echo "${BASH_VERSINFO[*]:0:3}"').stdout()
have_bash = bash_version.version_compare('>= 4.4.0')
endif
if not have_bash
error('bash >= 4.4.0 is required for pacman scripts.')
endif
bashcompletion = dependency('bash-completion', required : false)
if bashcompletion.found()
BASHCOMPDIR = bashcompletion.get_pkgconfig_variable('completionsdir')
else
BASHCOMPDIR = join_paths(DATAROOTDIR, 'bash-completion/completions')
endif
if get_option('use-git-version')
PACKAGE_VERSION = run_command(
find_program('git'),
'describe',
'--abbrev=4',
'--dirty').stdout().strip().strip('v')
else
PACKAGE_VERSION = meson.project_version()
endif
conf = configuration_data()
conf.set('_GNU_SOURCE', true)
conf.set_quoted('PACKAGE', meson.project_name())
conf.set_quoted('PACKAGE_VERSION', PACKAGE_VERSION)
conf.set_quoted('LOCALEDIR', LOCALEDIR)
conf.set_quoted('SCRIPTLET_SHELL', get_option('scriptlet-shell'))
conf.set_quoted('LDCONFIG', LDCONFIG)
conf.set_quoted('LIB_VERSION', meson.project_version())
conf.set_quoted('SYSHOOKDIR', join_paths(DATAROOTDIR, 'libalpm/hooks/'))
conf.set_quoted('CONFFILE', join_paths(SYSCONFDIR, 'pacman.conf'))
conf.set_quoted('DBPATH', join_paths(LOCALSTATEDIR, 'lib/pacman/'))
conf.set_quoted('GPGDIR', join_paths(SYSCONFDIR, 'pacman.d/gnupg/'))
conf.set_quoted('LOGFILE', join_paths(LOCALSTATEDIR, 'log/pacman.log'))
conf.set_quoted('CACHEDIR', join_paths(LOCALSTATEDIR, 'cache/pacman/pkg/'))
conf.set_quoted('HOOKDIR', join_paths(SYSCONFDIR, 'pacman.d/hooks/'))
conf.set_quoted('ROOTDIR', ROOTDIR)
if get_option('i18n')
if not cc.has_function('ngettext')
error('ngettext not found but NLS support requested')
endif
conf.set('ENABLE_NLS', 1)
endif
# dependencies
libarchive = dependency('libarchive',
version : '>=3.0.0',
static : get_option('buildstatic'))
libcurl = dependency('libcurl',
version : '>=7.32.0',
required : get_option('curl'),
static : get_option('buildstatic'))
conf.set('HAVE_LIBCURL', libcurl.found())
want_gpgme = get_option('gpgme')
gpgme_config = find_program('gpgme-config', required : want_gpgme)
if not want_gpgme.disabled() and gpgme_config.found()
gpgme_version = run_command(gpgme_config, '--version').stdout().strip()
needed_gpgme_version = '>=1.3.0'
have = gpgme_version.version_compare(needed_gpgme_version)
if want_gpgme.enabled() and not have
error('gpgme @0@ is needed for GPG signature support'.format(needed_gpgme_version))
endif
gpgme_libs = [
cc.find_library('gpgme', required : have,
dirs : [get_option('gpgme-libdir')]),
cc.find_library('gpg-error', required : have,
dirs : [get_option('gpgme-libdir')]),
cc.find_library('assuan', required : have,
dirs : [get_option('gpgme-libdir')]),
]
conf.set('HAVE_LIBGPGME', have)
else
gpgme_libs = []
conf.set('HAVE_LIBGPGME', false)
endif
want_crypto = get_option('crypto')
if want_crypto == 'openssl'
libcrypto = dependency('libcrypto', static : get_option('buildstatic'))
if not libcrypto.found()
error('openssl support requested but not found')
endif
crypto_provider = libcrypto
conf.set10('HAVE_LIBSSL', true)
elif want_crypto == 'nettle'
libnettle = dependency('nettle', static : get_option('buildstatic'))
if not libnettle.found()
error('nettle support requested but not found')
endif
crypto_provider = libnettle
conf.set10('HAVE_LIBNETTLE', true)
else
error('unhandled crypto value @0@'.format(want_crypto))
endif
foreach header : [
'mntent.h',
'sys/mnttab.h',
'sys/mount.h',
'sys/param.h',
'sys/statvfs.h',
'sys/types.h',
'sys/ucred.h',
'termios.h',
]
if cc.has_header(header)
conf.set('HAVE_' + header.underscorify().to_upper(), true)
endif
endforeach
foreach sym : [
'dup2',
'fork',
'getcwd',
'getmntent',
'getmntinfo',
'gettimeofday',
'memmove',
'memset',
'mkdir',
'realpath',
'regcomp',
'rmdir',
'setenv',
'setlocale',
'strcasecmp',
'strchr',
'strcspn',
'strdup',
'strerror',
'strndup',
'strnlen',
'strnlen',
'strrchr',
'strsep',
'strsep',
'strstr',
'strtol',
'swprintf',
'tcflush',
'tcflush',
'uname',
'wcwidth',
]
have = cc.has_function(sym, args : '-D_GNU_SOURCE')
conf.set10('HAVE_' + sym.to_upper(), have)
endforeach
foreach member : [
['struct stat', 'st_blksize', '''#include <sys/stat.h>'''],
['struct statvfs', 'f_flag', '''#include <sys/statvfs.h>'''],
['struct statfs', 'f_flags', '''#include <sys/param.h>
#include <sys/mount.h>'''],
]
have = cc.has_member(member[0], member[1], prefix : member[2])
conf.set('HAVE_' + '_'.join([member[0], member[1]]).underscorify().to_upper(), have)
endforeach
if conf.has('HAVE_STRUCT_STATVFS_F_FLAG')
conf.set('FSSTATSTYPE', 'struct statvfs')
elif conf.has('HAVE_STRUCT_STATFS_F_FLAGS')
conf.set('FSSTATSTYPE', 'struct statfs')
endif
if get_option('buildtype').startswith('debug')
extra_cflags = [
'-Wcast-align',
'-Wclobbered',
'-Wempty-body',
'-Wfloat-equal',
'-Wformat-nonliteral',
'-Wformat-security',
'-Wignored-qualifiers',
'-Wimplicit-fallthrough',
'-Winit-self',
'-Wlogical-op',
'-Wmissing-declarations',
'-Wmissing-field-initializers',
'-Wmissing-parameter-type',
'-Wmissing-prototypes',
'-Wold-style-declaration',
'-Woverride-init',
'-Wpointer-arith',
'-Wredundant-decls',
'-Wshadow',
'-Wsign-compare',
'-Wstrict-aliasing',
'-Wstrict-overflow=5',
'-Wstrict-prototypes',
'-Wtype-limits',
'-Wuninitialized',
'-Wunused-but-set-parameter',
'-Wunused-parameter',
'-Wwrite-strings',
]
add_project_arguments(cc.get_supported_arguments(extra_cflags), language : 'c')
conf.set('PACMAN_DEBUG', 1)
endif
config_h = configure_file(
output : 'config.h',
configuration : conf)
add_project_arguments('-include', 'config.h', language : 'c')
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'
os = host_machine.system()
if os.startswith('darwin')
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'
elif os.contains('bsd') or os == 'dragonfly'
inodecmd = 'stat -f \'%i %n\''
ownercmd = 'stat -f \'%u:%g\''
modecmd = 'stat -f \'%lp\''
default_sedinplaceflags = ' -i \'\''
default_duflags = ' -sk'
endif
duflags = get_option('duflags')
if duflags == 'autodetect'
duflags = default_duflags
endif
sedinplaceflags = get_option('sedinplaceflags')
if sedinplaceflags == 'auto'
sedinplaceflags = default_sedinplaceflags
endif
chost = run_command(cc, '-dumpmachine').stdout().strip()
carch = chost.split('-')[0]
# annoyingly, we have to maintain two sets of configuration_data which is
# largely identical, but which distinguishes between quoting needs.
substs = configuration_data()
substs.set('SED', SED.path())
substs.set('M4', M4.path())
substs.set('CARCH', carch)
substs.set('CHOST', chost)
substs.set('PKGEXT', get_option('pkg-ext'))
substs.set('SRCEXT', get_option('src-ext'))
substs.set('ROOTDIR', ROOTDIR)
substs.set('LOCALEDIR', LOCALEDIR)
substs.set('sysconfdir', SYSCONFDIR)
substs.set('localstatedir', LOCALSTATEDIR)
substs.set('PKGDATADIR', PKGDATADIR)
substs.set('PREFIX', PREFIX)
substs.set('BASH', BASH.path())
substs.set('PACKAGE_VERSION', PACKAGE_VERSION)
substs.set('PACKAGE_NAME', meson.project_name())
substs.set('BUILDSCRIPT', BUILDSCRIPT)
substs.set('TEMPLATE_DIR', get_option('makepkg-template-dir'))
substs.set('DEBUGSUFFIX', get_option('debug-suffix'))
substs.set('INODECMD', inodecmd)
substs.set('OWNERCMD', ownercmd)
substs.set('MODECMD', modecmd)
substs.set('SEDINPLACEFLAGS', sedinplaceflags)
substs.set('SEDPATH', SED.path())
substs.set('DUFLAGS', duflags)
substs.set('DUPATH', DU.path())
substs.set('LIBMAKEPKGDIR', LIBMAKEPKGDIR)
substs.set('STRIP_BINARIES', strip_binaries)
substs.set('STRIP_SHARED', strip_shared)
substs.set('STRIP_STATIC', strip_static)
subdir('lib/libalpm')
subdir('src/common')
subdir('src/pacman')
subdir('src/util')
subdir('scripts')
# Internationalization
if get_option('i18n')
i18n = import('i18n')
subdir('lib/libalpm/po')
subdir('src/pacman/po')
subdir('scripts/po')
endif
want_doc = get_option('doc')
ASCIIDOC = find_program('asciidoc', required : want_doc)
A2X = find_program('a2x', required : want_doc)
build_doc = A2X.found() and not want_doc.disabled()
if build_doc
subdir('doc')
endif
includes = include_directories('src/common', 'lib/libalpm')
libcommon = static_library(
'common',
libcommon_sources,
include_directories : includes,
install : false)
libalpm_a = static_library(
'alpm',
libalpm_sources,
include_directories : includes,
dependencies : [crypto_provider, libarchive, libcurl] + gpgme_libs,
link_with : [libcommon],
install : true)
if get_option('default_library') != 'static'
libalpm = library(
'alpm',
version : libalpm_version,
link_whole: [libalpm_a],
install : true)
else
libalpm = libalpm_a
endif
install_headers(
'lib/libalpm/alpm.h',
'lib/libalpm/alpm_list.h')
# TODO: libs.private seem quite wrong here
pkgconfig = import('pkgconfig')
pkgconfig.generate(
libalpm,
name : 'libalpm',
description : 'Arch Linux package management library',
version : libalpm_version,
url : 'http://www.archlinux.org/pacman/')
pacman_bin = executable(
'pacman',
pacman_sources,
include_directories : includes,
link_with : [libalpm, libcommon],
dependencies : [libarchive],
install : true,
)
executable(
'pacman-conf',
pacman_conf_sources,
include_directories : includes,
link_with : [libalpm],
install : true,
)
executable(
'cleanupdelta',
cleanupdelta_sources,
include_directories : includes,
link_with : [libalpm],
install : true,
)
executable(
'testpkg',
testpkg_sources,
include_directories : includes,
link_with : [libalpm],
install : true,
)
executable(
'vercmp',
vercmp_sources,
include_directories : includes,
link_with : [libalpm_a],
install : true,
)
configure_file(
input : 'etc/makepkg.conf.in',
output : 'makepkg.conf',
configuration : substs,
install_dir : SYSCONFDIR)
configure_file(
input : 'etc/pacman.conf.in',
output : 'pacman.conf',
configuration : substs,
install_dir : SYSCONFDIR)
install_data(
'proto/PKGBUILD-split.proto',
'proto/PKGBUILD-vcs.proto',
'proto/PKGBUILD.proto',
'proto/proto.install',
install_dir : join_paths(DATAROOTDIR, 'pacman'))
foreach path : [
join_paths(LOCALSTATEDIR, 'lib/pacman/'),
join_paths(LOCALSTATEDIR, 'cache/pacman/pkg/'),
join_paths(DATAROOTDIR, 'makepkg-template/'),
join_paths(DATAROOTDIR, 'libalpm/hooks/'),
]
meson.add_install_script('sh', '-c', 'mkdir -p "$DESTDIR/@0@"'.format(path))
endforeach
TEST_ENV = environment()
TEST_ENV.set('PMTEST_SCRIPTLIB_DIR', join_paths(meson.source_root(), 'scripts/library/'))
TEST_ENV.set('PMTEST_LIBMAKEPKG_DIR', join_paths(meson.build_root(), 'scripts/libmakepkg/'))
TEST_ENV.set('PMTEST_UTIL_DIR', meson.build_root() + '/')
TEST_ENV.set('PMTEST_SCRIPT_DIR', join_paths(meson.build_root(), 'scripts/'))
subdir('test/pacman')
subdir('test/scripts')
subdir('test/util')
message('\n '.join([
'@0@ @1@'.format(meson.project_name(), meson.project_version()),
'Build information:',
' prefix : @0@'.format(PREFIX),
' sysconfdir : @0@'.format(SYSCONFDIR),
' conf file : @0@'.format(join_paths(SYSCONFDIR, 'pacman.conf')),
' localstatedir : @0@'.format(LOCALSTATEDIR),
' database dir : @0@'.format(join_paths(LOCALSTATEDIR, 'lib/pacman/')),
' cache dir : @0@'.format(join_paths(LOCALSTATEDIR, 'cache/pacman/pkg/')),
' compiler : @0@ @1@'.format(cc.get_id(), cc.version()),
'',
' Architecture : @0@'.format(carch),
' Host Type : @0@'.format(chost),
' File inode command : @0@'.format(inodecmd),
' File owner command : @0@'.format(ownercmd),
' File mode command : @0@'.format(modecmd),
' Directory size command : @0@ @1@'.format(DU.path(), duflags),
' In-place sed command : @0@ @1@'.format(SED.path(), sedinplaceflags),
' libalpm version : @0@'.format(libalpm_version),
' pacman version : @0@'.format(PACKAGE_VERSION),
'',
'Directory and file information:',
' root working directory : @0@'.format(ROOTDIR),
' package extension : @0@'.format(get_option('pkg-ext')),
' source pkg extension : @0@'.format(get_option('src-ext')),
' build script name : @0@'.format(BUILDSCRIPT),
' template directory : @0@'.format(get_option('makepkg-template-dir')),
'',
'Compilation options:',
' i18n support : @0@'.format(get_option('i18n')),
' Build docs : @0@'.format(build_doc),
' debug build : @0@'.format(get_option('buildtype') == 'debug'),
' Use libcurl : @0@'.format(conf.get('HAVE_LIBCURL')),
' Use GPGME : @0@'.format(conf.get('HAVE_LIBGPGME')),
' Use OpenSSL : @0@'.format(conf.has('HAVE_LIBSSL') and
conf.get('HAVE_LIBSSL') == 1),
' Use nettle : @0@'.format(conf.has('HAVE_LIBNETTLE') and
conf.get('HAVE_LIBNETTLE') == 1),
'',
]))

61
meson_options.txt Normal file
View File

@@ -0,0 +1,61 @@
# build behavior
option('use-git-version', type : 'boolean', value : false,
description : 'take version information from git')
option('buildstatic', type : 'boolean', value : false,
description : 'if true, build statically linked binaries')
# directories and filenames
option('root-dir', type : 'string', value : '/',
description : 'set the location of the root operating directory')
option('pkg-ext', type : 'string', value : '.pkg.tar.gz',
description : 'set the file extension used by packages')
option('src-ext', type : 'string', value : '.src.tar.gz',
description : 'set the file extension used by source packages')
option('scriptlet-shell', type : 'string', value : '/bin/sh',
description : 'The full path of the shell used to run install scriptlets')
option('ldconfig', type : 'string', value : '/sbin/ldconfig',
description : 'set the full path to ldconfig')
option('buildscript', type : 'string', value : 'PKGBUILD',
description : 'set the build script name used by makepkg')
option('datarootdir', type : 'string', value : 'share',
description : 'FIXME')
option('makepkg-template-dir', type : 'string', value : '/usr/share/makepkg-template',
description : 'template dir used by makepkg-template')
option('debug-suffix', type : 'string', value : 'debug',
description : 'suffix for split debugging symbol packages used by makepkg')
# dependencies, features
option('doc', type : 'feature', value : 'auto',
description : 'generate docs and manpages')
option('doxygen', type : 'feature', value : 'disabled',
description : 'generate doxygen manpages and html')
option('curl', type : 'feature', value : 'auto',
description : 'use curl to download files')
option('crypto', type : 'combo', choices : ['openssl', 'nettle'],
description : 'select crypto implementation')
option('gpgme', type : 'feature', value : 'auto',
description : 'use GPGME for PGP signature verification')
option('gpgme-libdir', type : 'string', value : '/usr/lib',
description : 'search directory for gpgme libraries.')
option('i18n', type : 'boolean', value : true,
description : 'enable localization of pacman, libalpm and scripts')
# tools
option('duflags', type : 'string', value : 'autodetect',
description : 'flags to pass to du to measure file size')
option('sedinplaceflags', type : 'string', value : 'auto',
description : 'flags to pass to sed to edit a file in-place')

View File

@@ -1,10 +1,7 @@
# enforce that all scripts have a --help and --version option
AUTOMAKE_OPTIONS = std-options
AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = \
makepkg-wrapper \
pacman-db-upgrade-wrapper \
pacman-key-wrapper \
pkgdelta-wrapper
$(WRAPPER)
SUBDIRS = po
@@ -35,14 +32,13 @@ EXTRA_DIST = \
$(LIBMAKEPKG_DIST)
LIBRARY = \
library/output_format.sh \
library/human_to_size.sh \
library/size_to_human.sh \
library/term_colors.sh
library/human_to_size.sh
libmakepkgdir = $(datarootdir)/makepkg
LIBMAKEPKGDIRS = \
buildenv \
executable \
integrity \
lint_config \
lint_package \
@@ -52,6 +48,22 @@ LIBMAKEPKGDIRS = \
util
LIBMAKEPKG_IN = \
libmakepkg/executable.sh \
libmakepkg/executable/ccache.sh \
libmakepkg/executable/checksum.sh \
libmakepkg/executable/distcc.sh \
libmakepkg/executable/fakeroot.sh \
libmakepkg/executable/gpg.sh \
libmakepkg/executable/gzip.sh \
libmakepkg/executable/pacman.sh \
libmakepkg/executable/strip.sh \
libmakepkg/executable/sudo.sh \
libmakepkg/executable/vcs.sh \
libmakepkg/buildenv.sh \
libmakepkg/buildenv/buildflags.sh \
libmakepkg/buildenv/compiler.sh \
libmakepkg/buildenv/debugflags.sh \
libmakepkg/buildenv/makeflags.sh \
libmakepkg/integrity.sh \
libmakepkg/integrity/generate_checksum.sh \
libmakepkg/integrity/generate_signature.sh \
@@ -59,6 +71,7 @@ LIBMAKEPKG_IN = \
libmakepkg/integrity/verify_signature.sh \
libmakepkg/lint_config.sh \
libmakepkg/lint_config/paths.sh \
libmakepkg/lint_config/source_date_epoch.sh \
libmakepkg/lint_config/variable.sh \
libmakepkg/lint_package.sh \
libmakepkg/lint_package/build_references.sh \
@@ -67,17 +80,20 @@ LIBMAKEPKG_IN = \
libmakepkg/lint_package/missing_backup.sh \
libmakepkg/lint_pkgbuild.sh \
libmakepkg/lint_pkgbuild/arch.sh \
libmakepkg/lint_pkgbuild/arch_specific.sh \
libmakepkg/lint_pkgbuild/backup.sh \
libmakepkg/lint_pkgbuild/changelog.sh \
libmakepkg/lint_pkgbuild/checkdepends.sh \
libmakepkg/lint_pkgbuild/conflicts.sh \
libmakepkg/lint_pkgbuild/depends.sh \
libmakepkg/lint_pkgbuild/epoch.sh \
libmakepkg/lint_pkgbuild/fullpkgver.sh \
libmakepkg/lint_pkgbuild/install.sh \
libmakepkg/lint_pkgbuild/makedepends.sh \
libmakepkg/lint_pkgbuild/optdepends.sh \
libmakepkg/lint_pkgbuild/options.sh \
libmakepkg/lint_pkgbuild/package_function.sh \
libmakepkg/lint_pkgbuild/package_function_variable.sh \
libmakepkg/lint_pkgbuild/pkgbase.sh \
libmakepkg/lint_pkgbuild/pkglist.sh \
libmakepkg/lint_pkgbuild/pkgname.sh \
@@ -110,6 +126,7 @@ LIBMAKEPKG_IN = \
libmakepkg/util/option.sh \
libmakepkg/util/parseopts.sh \
libmakepkg/util/pkgbuild.sh \
libmakepkg/util/schema.sh \
libmakepkg/util/source.sh \
libmakepkg/util/util.sh
@@ -120,7 +137,8 @@ WRAPPER = \
makepkg-wrapper \
pacman-db-upgrade-wrapper \
pacman-key-wrapper \
pkgdelta-wrapper
pkgdelta-wrapper \
repo-add-wrapper
COMPLETION_IN = \
completion/bash_completion \
@@ -161,18 +179,17 @@ edit = sed \
-e "s|@INODECMD[@]|$(INODECMD)|g" \
-e "s|@OWNERCMD[@]|$(OWNERCMD)|g" \
-e "s|@MODECMD[@]|$(MODECMD)|g" \
-e 's|@SIZECMD[@]|$(SIZECMD)|g' \
-e 's|@SEDINPLACEFLAGS[@]|$(SEDINPLACEFLAGS)|g' \
-e 's|@SEDPATH[@]|$(SEDPATH)|g' \
-e 's|@DUFLAGS[@]|$(DUFLAGS)|g' \
-e 's|@DUPATH[@]|$(DUPATH)|g' \
-e 's|@SCRIPTNAME[@]|$@|g' \
-e 's|@configure_input[@]|Generated from $@.sh.in; do not edit by hand.|g'
-e 's|@configure_input[@]|Generated from $<; do not edit by hand.|g'
## All the scripts depend on Makefile so that they are rebuilt when the
## prefix etc. changes. Use chmod -w to prevent people from editing the
## wrong file by accident.
$(OURSCRIPTS): Makefile
$(OURSCRIPTS): %: %.sh.in wrapper.sh.in $(LIBMAKEPKG_IN) Makefile
$(AM_V_at)$(RM) $@
$(AM_V_GEN)test -f $(srcdir)/$@.sh.in && m4 -P -I $(srcdir) $(srcdir)/$@.sh.in | $(edit) >$@
$(AM_V_at)chmod +x,a-w $@
@@ -193,11 +210,6 @@ $(COMPLETION_IN): %: %.in Makefile
all-am: $(COMPLETION_IN)
makepkg: \
$(srcdir)/makepkg.sh.in \
$(srcdir)/wrapper.sh.in \
$(LIBMAKEPKG_IN)
makepkg-template: \
$(srcdir)/makepkg-template.pl.in \
Makefile
@@ -206,32 +218,13 @@ makepkg-template: \
$(AM_V_GEN)$(edit) $< > $@
$(AM_V_at)chmod +x,a-w $@
pacman-db-upgrade: \
$(srcdir)/pacman-db-upgrade.sh.in \
$(srcdir)/library/output_format.sh
pacman-key: \
$(srcdir)/pacman-key.sh.in \
$(srcdir)/library/output_format.sh
pkgdelta: \
$(srcdir)/pkgdelta.sh.in \
$(srcdir)/library/output_format.sh
repo-add: \
$(srcdir)/repo-add.sh.in \
$(srcdir)/library/output_format.sh
repo-remove: $(srcdir)/repo-add.sh.in
$(AM_V_at)$(RM) repo-remove
$(AM_V_at)$(LN_S) repo-add repo-remove
repo-elephant: $(srcdir)/repo-add.sh.in
$(AM_V_at)$(RM) repo-elephant
$(AM_V_at)$(LN_S) repo-add repo-elephant
repo-remove repo-elephant: repo-add
$(AM_V_at)$(RM) $@
$(AM_V_at)$(LN_S) repo-add $@
.SECONDEXPANSION:
$(WRAPPER): \
$(srcdir)/wrapper.sh.in \
$$(subst -wrapper,,$$@)
$(AM_V_at)$(MKDIR_P) .lib
@@ -246,13 +239,18 @@ $(WRAPPER): \
$(AM_V_at)$(LN_S) $@ $(subst -wrapper,,$@)
install-data-local:
$(MKDIR_P) $(DESTDIR)$(sysconfdir)/bash_completion.d/
$(INSTALL_DATA) completion/bash_completion $(DESTDIR)$(sysconfdir)/bash_completion.d/pacman
$(MKDIR_P) $(DESTDIR)$(bashcompdir)
$(INSTALL_DATA) completion/bash_completion $(DESTDIR)/$(bashcompdir)/pacman
for completion in makepkg pacman-key; do \
$(LN_S) pacman $(DESTDIR)/$(bashcompdir)/$$completion; \
done
$(MKDIR_P) $(DESTDIR)$(datarootdir)/zsh/site-functions/
$(INSTALL_DATA) completion/zsh_completion $(DESTDIR)$(datarootdir)/zsh/site-functions/_pacman
uninstall-local:
$(RM) $(DESTDIR)$(sysconfdir)/bash_completion.d/pacman
$(RM) $(DESTDIR)$(bashcompdir)/makepkg
$(RM) $(DESTDIR)$(bashcompdir)/pacman
$(RM) $(DESTDIR)$(bashcompdir)/pacman-key
$(RM) $(DESTDIR)$(datarootdir)/zsh/site-functions/_pacman
install-exec-hook:

View File

@@ -71,10 +71,13 @@ _pacman_key() {
}
_makepkg() {
compopt +o default
local cur opts prev
COMPREPLY=()
_get_comp_words_by_ref cur prev
if [[ $cur = -* && ! $prev =~ ^-(-(config|help|key|version)$|\w*[Vhp]) ]]; then
if [[ $prev = @(-p|--config) ]]; then
compopt -o default
elif [[ ! $prev =~ ^-(-(config|help|key|version)$|\w*[Vh]) ]]; then
opts=('allsource asdeps check clean cleanbuild config force geninteg help
holdver ignorearch install key log needed noarchive nobuild nocheck
nocolor noconfirm nodeps noextract noprepare noprogressbar nosign
@@ -101,6 +104,7 @@ _pacman_repo_list() {
}
_pacman() {
compopt -o default
local common core cur database files prev query remove sync upgrade o
COMPREPLY=()
_get_comp_words_by_ref cur prev
@@ -131,16 +135,20 @@ _pacman() {
D|R)
_pacman_pkg Qq;;
F)
_arch_incomp 'l list' && _pacman_pkg Slq;
;;
{ _arch_incomp 'l list' && _pacman_pkg Slq ; } ||
_arch_incomp 'o owns' ||
compopt +o default;;
Q)
{ _arch_incomp 'g groups' && _pacman_pkg Qg sort; } ||
{ _arch_incomp 'p file' && _pacman_file; } ||
_arch_incomp 'o owns' || _arch_incomp 'u upgrades' ||
{ _arch_incomp 's search' && compopt +o default; } ||
{ _arch_incomp 'u upgrades' && compopt +o default; } ||
_arch_incomp 'o owns' ||
_pacman_pkg Qq;;
S)
{ _arch_incomp 'g groups' && _pacman_pkg Sg; } ||
{ _arch_incomp 'l list' && _pacman_repo_list; } ||
{ _arch_incomp 's search' && compopt +o default; } ||
_pacman_pkg Slq;;
U)
_pacman_file;;
@@ -153,8 +161,8 @@ _pacman_file() {
compopt -o filenames; _filedir 'pkg.tar*'
}
complete -F _pacman -o default pacman
complete -F _makepkg -o default makepkg
complete -F _pacman pacman
complete -F _makepkg makepkg
complete -F _pacman_key -o default pacman-key
# ex:et ts=2 sw=2 ft=sh

View File

@@ -370,7 +370,7 @@ _pacman_get_command() {
# main dispatcher
_pacman_zsh_comp() {
local -a args cmds;
local -a args cmds
local tmp
args=( ${${${(M)words:#-*}#-}:#-*} )
for tmp in $words; do
@@ -465,7 +465,7 @@ _pacman_zsh_comp() {
if (( ${(w)#cmds} == 1 )); then
_pacman_action_help
else
return 0;
return 0
fi
;;
*--sync*)
@@ -554,7 +554,7 @@ _pacman_key() {
"$_key_longopts[@]"
;;
*)
i=$#;
i=$#
while [[ $words[$i] != -* ]] && [[ $words[$i] != "pacman-key" ]];do
i=$(($i-1))
done
@@ -681,7 +681,7 @@ _makepkg(){
*)
i=$#
while [[ $words[i] != -* ]] && [[ $words[$i] != "makepkg" ]];do
i=$((i-1));
i=$((i-1))
done
case $words[$i] in
-*)

View File

@@ -0,0 +1,45 @@
#!/bin/bash
#
# buildenv.sh - functions for altering the build environment before
# compiliation
#
# Copyright (c) 2015-2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_BUILDENV_SH" ]] && return
LIBMAKEPKG_BUILDENV_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
source "$LIBRARY/util/message.sh"
declare -a buildenv_functions build_options
for lib in "$LIBRARY/buildenv/"*.sh; do
source "$lib"
done
readonly -a buildenv_functions build_options
prepare_buildenv() {
for func in ${buildenv_functions[@]}; do
$func
done
# ensure all necessary build variables are exported
export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS MAKEFLAGS CHOST
}

View File

@@ -0,0 +1,35 @@
#!/usr/bin/bash
#
# buildflags.sh - Clear user-specified buildflags if requested
#
# Copyright (c) 2011-2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_BUILDENV_BUILDFLAGS_SH" ]] && return
LIBMAKEPKG_BUILDENV_BUILDFLAGS_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
source "$LIBRARY/util/option.sh"
build_options+=('buildflags')
buildenv_functions+=('buildenv_buildflags')
buildenv_buildflags() {
if check_option "buildflags" "n"; then
unset CPPFLAGS CFLAGS DEBUG_CFLAGS CXXFLAGS DEBUG_CXXFLAGS LDFLAGS
fi
}

View File

@@ -0,0 +1,55 @@
#!/usr/bin/bash
#
# compiler.sh - CCache and DistCC compilation
# ccache - Cache compilations and reuse them to save time on repetitions
# distcc - Distribute compilation of C and C++ across machines
#
# Copyright (c) 2007-2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_BUILDENV_COMPILER_SH" ]] && return
LIBMAKEPKG_BUILDENV_COMPILER_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
source "$LIBRARY/util/option.sh"
build_options+=('ccache' 'distcc')
buildenv_functions+=('buildenv_ccache' 'buildenv_distcc')
using_ccache=0
buildenv_ccache() {
if check_buildoption "ccache" "y"; then
if [ -d /usr/lib/ccache/bin ]; then
export PATH="/usr/lib/ccache/bin:$PATH"
using_ccache=1
fi
fi
}
buildenv_distcc() {
if check_buildoption "distcc" "y"; then
if (( using_ccache )); then
export CCACHE_PREFIX="${CCACHE_PREFIX:+$CCACHE_PREFIX }distcc"
export CCACHE_BASEDIR="$srcdir"
elif [[ -d /usr/lib/distcc/bin ]]; then
export PATH="/usr/lib/distcc/bin:$PATH"
fi
export DISTCC_HOSTS
fi
}

View File

@@ -0,0 +1,38 @@
#!/usr/bin/bash
#
# debugflags.sh - Specify flags for building a package with debugging
# symbols
#
# Copyright (c) 2012-2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_BUILDENV_DEBUGFLAGS_SH" ]] && return
LIBMAKEPKG_BUILDENV_DEBUGFLAGS_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
source "$LIBRARY/util/option.sh"
buildenv_functions+=('buildenv_debugflags')
buildenv_debugflags() {
if check_option "debug" "y"; then
DEBUG_CFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}"
DEBUG_CXXFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}"
CFLAGS+=" $DEBUG_CFLAGS"
CXXFLAGS+=" $DEBUG_CXXFLAGS"
fi
}

View File

@@ -0,0 +1,35 @@
#!/usr/bin/bash
#
# makeflags.sh - Clear user-specified makeflags if requested
#
# Copyright (c) 2007-2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_BUILDENV_MAKEFLAGS_SH" ]] && return
LIBMAKEPKG_BUILDENV_MAKEFLAGS_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
source "$LIBRARY/util/option.sh"
build_options+=('makeflags')
buildenv_functions+=('buildenv_makeflags')
buildenv_makeflags() {
if check_option "makeflags" "n"; then
unset MAKEFLAGS
fi
}

View File

@@ -0,0 +1,20 @@
libmakepkg_module = 'buildenv'
sources = [
'buildflags.sh.in',
'compiler.sh.in',
'debugflags.sh.in',
'makeflags.sh.in',
]
foreach src : sources
output_dir = join_paths(get_option('datadir'), 'makepkg', libmakepkg_module)
custom_target(
libmakepkg_module + '_' + src.underscorify(),
command : [ SCRIPT_EDITOR, '@INPUT@', '@OUTPUT@' ],
input : src,
output : '@BASENAME@',
install : true,
install_dir : output_dir)
endforeach

View File

@@ -0,0 +1,45 @@
#!/bin/bash
#
# executable.sh - confirm presence of dependent executables
#
# Copyright (c) 2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_EXECUTABLE_SH" ]] && return
LIBMAKEPKG_EXECUTABLE_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
source "$LIBRARY/util/message.sh"
declare -a executable_functions
for lib in "$LIBRARY/executable/"*.sh; do
source "$lib"
done
readonly -a executable_functions
check_software() {
local ret=0
for func in ${executable_functions[@]}; do
$func || ret=1
done
return $ret
}

View File

@@ -0,0 +1,37 @@
#!/usr/bin/bash
#
# ccache.sh - Confirm presence of ccache binary
#
# Copyright (c) 2011-2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_EXECUTABLE_CCACHE_SH" ]] && return
LIBMAKEPKG_EXECUTABLE_CCACHE_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
source "$LIBRARY/util/option.sh"
executable_functions+=('executable_ccache')
executable_ccache() {
if check_buildoption "ccache" "y"; then
if ! type -p ccache >/dev/null; then
error "$(gettext "Cannot find the %s binary required for compiler cache usage.")" "ccache"
return 1
fi
fi
}

View File

@@ -0,0 +1,42 @@
#!/usr/bin/bash
#
# checksum.sh - Confirm presence of binaries for checksum operations
#
# Copyright (c) 2016-2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_EXECUTABLE_CHECKSUM_SH" ]] && return
LIBMAKEPKG_EXECUTABLE_CHECKSUM_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
executable_functions+=('executable_checksum')
executable_checksum() {
if (( GENINTEG || ! SKIPCHECKSUMS )); then
local integlist
mapfile -t integlist < <(get_integlist)
local integ
for integ in "${integlist[@]}"; do
if ! type -p "${integ}sum" >/dev/null; then
error "$(gettext "Cannot find the %s binary required for source file checksums operations.")" "${integ}sum"
return 1
fi
done
fi
}

View File

@@ -0,0 +1,37 @@
#!/usr/bin/bash
#
# distcc.sh - Confirm presence of distcc binary
#
# Copyright (c) 2011-2018 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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/>.
#
[[ -n "$LIBMAKEPKG_EXECUTABLE_DISTCC_SH" ]] && return
LIBMAKEPKG_EXECUTABLE_DISTCC_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
source "$LIBRARY/util/option.sh"
executable_functions+=('executable_distcc')
executable_distcc() {
if check_buildoption "distcc" "y"; then
if ! type -p distcc >/dev/null; then
error "$(gettext "Cannot find the %s binary required for distributed compilation.")" "distcc"
return 1
fi
fi
}

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