forked from mirrors/pacman
Compare commits
134 Commits
release/5.
...
v6.0.0alph
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4240a55e4 | ||
|
|
20f2ae56eb | ||
|
|
5c24f7dd11 | ||
|
|
08f4ae709c | ||
|
|
73e0d7dedc | ||
|
|
66f9f315cf | ||
|
|
75cfce9468 | ||
|
|
4b8c274f7f | ||
|
|
9dc29ebf5f | ||
|
|
db4092e33d | ||
|
|
2859a6eefc | ||
|
|
94ac3330dd | ||
|
|
4d8f58d3b9 | ||
|
|
c99a3cc867 | ||
|
|
f76bd2c6c1 | ||
|
|
406a37206f | ||
|
|
4533c6a8e0 | ||
|
|
ff7ff3c58d | ||
|
|
d85d9c8c60 | ||
|
|
04b69957c8 | ||
|
|
f235cea733 | ||
|
|
f53ac85ff6 | ||
|
|
62246b9355 | ||
|
|
2403fc9732 | ||
|
|
74aacf4495 | ||
|
|
2a352dc059 | ||
|
|
14c0e53eed | ||
|
|
1fd95939db | ||
|
|
a8bdc2e10a | ||
|
|
b01bcc7d3d | ||
|
|
f3dfba73d2 | ||
|
|
78d6dcec6c | ||
|
|
34ba8d984d | ||
|
|
f078c2d3bc | ||
|
|
6b9c1b4d54 | ||
|
|
84723cab5d | ||
|
|
16d98d6577 | ||
|
|
59e751f72d | ||
|
|
7ba8e5f376 | ||
|
|
02ae97b0da | ||
|
|
899d39b635 | ||
|
|
bf458cced7 | ||
|
|
381e113755 | ||
|
|
817f9fb715 | ||
|
|
3bd88821bb | ||
|
|
e348ba3881 | ||
|
|
40bbaead44 | ||
|
|
5f6ef895b1 | ||
|
|
23b50d60e3 | ||
|
|
3674144a74 | ||
|
|
454ea02438 | ||
|
|
8ce142a255 | ||
|
|
8e769ddb8a | ||
|
|
7423b16604 | ||
|
|
559590256c | ||
|
|
22a58f5420 | ||
|
|
557845bc97 | ||
|
|
0346e0eef2 | ||
|
|
b96e0df4dc | ||
|
|
c78eb48d91 | ||
|
|
64c4669f57 | ||
|
|
6a331af27f | ||
|
|
1d42a8f954 | ||
|
|
fa68c33fa8 | ||
|
|
dc98d0ea09 | ||
|
|
a8a1a1bb3e | ||
|
|
fe8e13341b | ||
|
|
cffda331ad | ||
|
|
411b12d09d | ||
|
|
3a6c9220ff | ||
|
|
df30f10672 | ||
|
|
cebda6d0ee | ||
|
|
0b81fb64d3 | ||
|
|
969e1ab996 | ||
|
|
2439222375 | ||
|
|
3ea7fdd96c | ||
|
|
b323528491 | ||
|
|
6ba250e400 | ||
|
|
0eda92c5d4 | ||
|
|
1b32897453 | ||
|
|
1d39557aa0 | ||
|
|
87b74fcd82 | ||
|
|
ddd5b0a462 | ||
|
|
80ae80149a | ||
|
|
0deff63efa | ||
|
|
e578903b60 | ||
|
|
aff69f43b1 | ||
|
|
130db5cc9e | ||
|
|
4246a4cc4f | ||
|
|
e76ec94083 | ||
|
|
033405c963 | ||
|
|
886a6677a8 | ||
|
|
d0c487d4dc | ||
|
|
0a25548cd0 | ||
|
|
21af798604 | ||
|
|
c3852ff425 | ||
|
|
e54617c7d5 | ||
|
|
d626a17ef9 | ||
|
|
2856a7dea3 | ||
|
|
2e32d51a26 | ||
|
|
75bf8e887c | ||
|
|
0965023fc5 | ||
|
|
acaed30e24 | ||
|
|
ee8b4e9283 | ||
|
|
435f5fc204 | ||
|
|
9883015be2 | ||
|
|
ffb69c700a | ||
|
|
56e0763c6d | ||
|
|
b7f61aa557 | ||
|
|
0428f6213b | ||
|
|
1e23b45851 | ||
|
|
3073752bcd | ||
|
|
49a8e90bc7 | ||
|
|
349c22d043 | ||
|
|
55233b69c7 | ||
|
|
8846574eda | ||
|
|
eaa2770c80 | ||
|
|
6fb233d0ee | ||
|
|
e6a6d30793 | ||
|
|
b9faf65273 | ||
|
|
540b19164b | ||
|
|
27f354a787 | ||
|
|
94982d0061 | ||
|
|
1df22d3242 | ||
|
|
7b73c4a75f | ||
|
|
8c7043390f | ||
|
|
2dd7725f2a | ||
|
|
3a814ee6bc | ||
|
|
424129e8d1 | ||
|
|
27955a0fee | ||
|
|
1bfae7d14a | ||
|
|
091b244d0f | ||
|
|
e1f5f21983 | ||
|
|
7be7552329 |
@@ -16,5 +16,9 @@ indent_style = tab
|
||||
[{NEWS,HACKING}]
|
||||
indent_style = space
|
||||
|
||||
[meson.build]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.py]
|
||||
indent_style = space
|
||||
|
||||
21
.gitignore
vendored
21
.gitignore
vendored
@@ -1,24 +1,3 @@
|
||||
*~
|
||||
*.o
|
||||
ABOUT-NLS
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.status
|
||||
config.status.lineno
|
||||
configure
|
||||
configure.lineno
|
||||
cov-int
|
||||
cscope.in.out
|
||||
cscope.out
|
||||
cscope.po.out
|
||||
intl
|
||||
libtool
|
||||
Makefile
|
||||
Makefile.in
|
||||
pacman-*.tar.gz
|
||||
root
|
||||
stamp-h1
|
||||
tags
|
||||
|
||||
119
.gitlab-ci.yml
Normal file
119
.gitlab-ci.yml
Normal file
@@ -0,0 +1,119 @@
|
||||
variables:
|
||||
MAKEFLAGS: "-j10"
|
||||
VERBOSE: 1
|
||||
PACMAN_OPTS: --needed --noconfirm --cachedir .pkg-cache
|
||||
|
||||
cache:
|
||||
key: pkgs-v1
|
||||
paths:
|
||||
# For some reason Gitlab CI only supports storing cache/artifacts in a path relative to the build directory
|
||||
- .pkg-cache
|
||||
|
||||
.arch-test:
|
||||
image: archlinux/base
|
||||
before_script:
|
||||
- >
|
||||
pacman -Syu $PACMAN_OPTS
|
||||
base-devel git
|
||||
gpgme libarchive curl
|
||||
python
|
||||
fakeroot fakechroot
|
||||
meson
|
||||
|
||||
arch:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-debug:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-docs:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- pacman -Syu $PACMAN_OPTS asciidoc
|
||||
- meson -Ddoc=enabled build
|
||||
- ninja -C build
|
||||
|
||||
arch-clang:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- pacman -Syu $PACMAN_OPTS clang
|
||||
- CC=clang meson build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-valgrind:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- pacman -Syu --needed --noconfirm valgrind
|
||||
- meson build
|
||||
- ninja -C build
|
||||
- PACTEST_VALGRIND=1 fakechroot meson test -C build
|
||||
|
||||
arch-nettle:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson -Dcrypto=nettle --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-no-gpg:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson -Dgpgme=disabled --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-no-curl:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson -Dcurl=disabled --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
arch-no-nls:
|
||||
extends: .arch-test
|
||||
script:
|
||||
- meson -Di18n=false --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
debian:
|
||||
image: debian:bullseye
|
||||
cache: {}
|
||||
before_script:
|
||||
- apt update
|
||||
- >
|
||||
apt -y install --no-install-recommends
|
||||
git pkg-config meson gcc libtool
|
||||
libgpgme-dev libarchive-dev libcurl4-openssl-dev libssl-dev curl
|
||||
gettext python3 python3-setuptools dash gawk ca-certificates
|
||||
fakeroot fakechroot
|
||||
script:
|
||||
- meson --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
|
||||
fedora:
|
||||
image: fedora
|
||||
cache: {}
|
||||
before_script:
|
||||
- >
|
||||
dnf -y install
|
||||
git findutils patch sed
|
||||
meson gcc libtool
|
||||
gpgme-devel libarchive-devel libcurl-devel openssl-devel gettext-devel
|
||||
asciidoc python3 dash gawk
|
||||
fakeroot fakechroot
|
||||
perl-Module-Load-Conditional
|
||||
script:
|
||||
- meson --buildtype=debug build
|
||||
- ninja -C build
|
||||
- fakechroot meson test -C build
|
||||
13
HACKING
13
HACKING
@@ -176,16 +176,3 @@ For pacman:
|
||||
-------------------------------------------
|
||||
|
||||
Never directly include config.h. This will always be added via Makefiles.
|
||||
|
||||
GDB and Valgrind Usage
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When using GDB or valgrind on pacman, you will want to run it on the actual
|
||||
binary rather than the shell script wrapper produced by libtool. The actual
|
||||
binary lives at `src/pacman/.libs/lt-pacman`, and will exist after running
|
||||
`./src/pacman/pacman` at least once.
|
||||
|
||||
For example, to run valgrind:
|
||||
|
||||
./src/pacman/pacman
|
||||
valgrind --leak-check=full -- src/pacman/.libs/lt-pacman -Syu
|
||||
|
||||
370
INSTALL
370
INSTALL
@@ -1,370 +0,0 @@
|
||||
Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. This file is offered as-is,
|
||||
without warranty of any kind.
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
Briefly, the shell commands `./configure; make; make install' should
|
||||
configure, build, and install this package. The following
|
||||
more-detailed instructions are generic; see the `README' file for
|
||||
instructions specific to this package. Some packages provide this
|
||||
`INSTALL' file but do not implement all of the features documented
|
||||
below. The lack of an optional feature in a given package is not
|
||||
necessarily a bug. More recommendations for GNU packages can be found
|
||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you don't want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You need `configure.ac' if
|
||||
you want to change it or regenerate `configure' using a newer version
|
||||
of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system.
|
||||
|
||||
Running `configure' might take a while. While running, it prints
|
||||
some messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package, generally using the just-built uninstalled binaries.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation. When installing into a prefix owned by root, it is
|
||||
recommended that the package be configured and built as a regular
|
||||
user, and only the `make install' phase executed with root
|
||||
privileges.
|
||||
|
||||
5. Optionally, type `make installcheck' to repeat any self-tests, but
|
||||
this time using the binaries in their final installed location.
|
||||
This target does not install anything. Running this target as a
|
||||
regular user, particularly if the prior `make install' required
|
||||
root privileges, verifies that the installation completed
|
||||
correctly.
|
||||
|
||||
6. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
7. Often, you can also type `make uninstall' to remove the installed
|
||||
files again. In practice, not all packages have tested that
|
||||
uninstallation works correctly, even though it is required by the
|
||||
GNU Coding Standards.
|
||||
|
||||
8. Some packages, particularly those that use Automake, provide `make
|
||||
distcheck', which can by used by developers to test that all other
|
||||
targets like `make install' and `make uninstall' work correctly.
|
||||
This target is generally not run by end users.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. Run `./configure --help'
|
||||
for details on some of the pertinent environment variables.
|
||||
|
||||
You can give `configure' initial values for configuration parameters
|
||||
by setting variables in the command line or in the environment. Here
|
||||
is an example:
|
||||
|
||||
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
||||
|
||||
*Note Defining Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you can use GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'. This
|
||||
is known as a "VPATH" build.
|
||||
|
||||
With a non-GNU `make', it is safer to compile the package for one
|
||||
architecture at a time in the source code directory. After you have
|
||||
installed the package for one architecture, use `make distclean' before
|
||||
reconfiguring for another architecture.
|
||||
|
||||
On MacOS X 10.5 and later systems, you can create libraries and
|
||||
executables that work on multiple system types--known as "fat" or
|
||||
"universal" binaries--by specifying multiple `-arch' options to the
|
||||
compiler but only a single `-arch' option to the preprocessor. Like
|
||||
this:
|
||||
|
||||
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
CPP="gcc -E" CXXCPP="g++ -E"
|
||||
|
||||
This is not guaranteed to produce working output in all cases, you
|
||||
may have to build one architecture at a time and combine the results
|
||||
using the `lipo' tool if you have problems.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' installs the package's commands under
|
||||
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
||||
can specify an installation prefix other than `/usr/local' by giving
|
||||
`configure' the option `--prefix=PREFIX', where PREFIX must be an
|
||||
absolute file name.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
||||
PREFIX as the prefix for installing programs and libraries.
|
||||
Documentation and other data files still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=DIR' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them. In general, the
|
||||
default for these options is expressed in terms of `${prefix}', so that
|
||||
specifying just `--prefix' will affect all of the other directory
|
||||
specifications that were not explicitly provided.
|
||||
|
||||
The most portable way to affect installation locations is to pass the
|
||||
correct locations to `configure'; however, many packages provide one or
|
||||
both of the following shortcuts of passing variable assignments to the
|
||||
`make install' command line to change installation locations without
|
||||
having to reconfigure or recompile.
|
||||
|
||||
The first method involves providing an override variable for each
|
||||
affected directory. For example, `make install
|
||||
prefix=/alternate/directory' will choose an alternate location for all
|
||||
directory configuration variables that were expressed in terms of
|
||||
`${prefix}'. Any directories that were specified during `configure',
|
||||
but not in terms of `${prefix}', must each be overridden at install
|
||||
time for the entire installation to be relocated. The approach of
|
||||
makefile variable overrides for each directory variable is required by
|
||||
the GNU Coding Standards, and ideally causes no recompilation.
|
||||
However, some platforms have known limitations with the semantics of
|
||||
shared libraries that end up requiring recompilation when using this
|
||||
method, particularly noticeable in packages that use GNU Libtool.
|
||||
|
||||
The second method involves providing the `DESTDIR' variable. For
|
||||
example, `make install DESTDIR=/alternate/directory' will prepend
|
||||
`/alternate/directory' before all installation names. The approach of
|
||||
`DESTDIR' overrides is not required by the GNU Coding Standards, and
|
||||
does not work on platforms that have drive letters. On the other hand,
|
||||
it does better at avoiding recompilation issues, and works well even
|
||||
when some directory options were not specified in terms of `${prefix}'
|
||||
at `configure' time.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Some packages offer the ability to configure how verbose the
|
||||
execution of `make' will be. For these packages, running `./configure
|
||||
--enable-silent-rules' sets the default to minimal output, which can be
|
||||
overridden with `make V=1'; while running `./configure
|
||||
--disable-silent-rules' sets the default to verbose, which can be
|
||||
overridden with `make V=0'.
|
||||
|
||||
Particular systems
|
||||
==================
|
||||
|
||||
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
|
||||
CC is not installed, it is recommended to use the following options in
|
||||
order to use an ANSI C compiler:
|
||||
|
||||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
||||
|
||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
||||
|
||||
HP-UX `make' updates targets which have the same time stamps as
|
||||
their prerequisites, which makes it generally unusable when shipped
|
||||
generated files such as `configure' are involved. Use GNU `make'
|
||||
instead.
|
||||
|
||||
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
|
||||
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
|
||||
a workaround. If GNU CC is not installed, it is therefore recommended
|
||||
to try
|
||||
|
||||
./configure CC="cc"
|
||||
|
||||
and if that doesn't work, try
|
||||
|
||||
./configure CC="cc -nodtk"
|
||||
|
||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
||||
directory contains several dysfunctional programs; working variants of
|
||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
||||
in your `PATH', put it _after_ `/usr/bin'.
|
||||
|
||||
On Haiku, software installed for all users goes in `/boot/common',
|
||||
not `/usr/local'. It is recommended to use the following options:
|
||||
|
||||
./configure --prefix=/boot/common
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' cannot figure out
|
||||
automatically, but needs to determine by the type of machine the package
|
||||
will run on. Usually, assuming the package is built to be run on the
|
||||
_same_ architectures, `configure' can figure that out, but if it prints
|
||||
a message saying it cannot guess the machine type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS
|
||||
KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the machine type.
|
||||
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the option `--target=TYPE' to select the type of system they will
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the
|
||||
"host" platform (i.e., that on which the generated programs will
|
||||
eventually be run) with `--host=TYPE'.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Defining Variables
|
||||
==================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to `configure'. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
causes the specified `gcc' to be used as the C compiler (unless it is
|
||||
overridden in the site shell script).
|
||||
|
||||
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
|
||||
an Autoconf limitation. Until the limitation is lifted, you can use
|
||||
this workaround:
|
||||
|
||||
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of all of the options to `configure', and exit.
|
||||
|
||||
`--help=short'
|
||||
`--help=recursive'
|
||||
Print a summary of the options unique to this package's
|
||||
`configure', and exit. The `short' variant lists options used
|
||||
only in the top level, while the `recursive' variant lists options
|
||||
also present in any nested packages.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made. To
|
||||
suppress all normal output, redirect it to `/dev/null' (any error
|
||||
messages will still be shown).
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--prefix=DIR'
|
||||
Use DIR as the installation prefix. *note Installation Names::
|
||||
for more details, including other options available for fine-tuning
|
||||
the installation locations.
|
||||
|
||||
`--no-create'
|
||||
`-n'
|
||||
Run the configure checks, but stop before creating any output
|
||||
files.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
||||
85
Makefile.am
85
Makefile.am
@@ -1,85 +0,0 @@
|
||||
SUBDIRS = lib/libalpm src/util src/pacman scripts etc test/pacman test/util test/scripts
|
||||
if WANT_DOC
|
||||
SUBDIRS += doc
|
||||
endif
|
||||
|
||||
DIST_SUBDIRS = $(SUBDIRS) src/common
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4 --install
|
||||
AM_MAKEFLAGS = --no-print-directory
|
||||
|
||||
# Make sure we test and build manpages when doing distcheck
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-doc --disable-git-version \
|
||||
bashcompdir='$${prefix}/share/bash-completion/completions'
|
||||
|
||||
# Some files automatically included, so they aren't specified below:
|
||||
# AUTHORS, COPYING, NEWS, README
|
||||
EXTRA_DIST = \
|
||||
HACKING test/tap.sh \
|
||||
meson.build meson_options.txt \
|
||||
build-aux/edit-script.sh.in \
|
||||
build-aux/meson-install-script.sh \
|
||||
build-aux/meson-make-symlink.sh \
|
||||
build-aux/script-wrapper.sh.in
|
||||
|
||||
|
||||
# Sample makepkg prototype files
|
||||
pkgdatadir = ${datadir}/${PACKAGE}
|
||||
dist_pkgdata_DATA = \
|
||||
proto/PKGBUILD.proto \
|
||||
proto/PKGBUILD-split.proto \
|
||||
proto/PKGBUILD-vcs.proto \
|
||||
proto/proto.install
|
||||
|
||||
$(top_srcdir)/test/pacman/tests/TESTS: $(wildcard test/pacman/tests/*.py)
|
||||
@printf "TESTS += %s\n" $^ | LC_ALL=C sort -u > "$@"
|
||||
|
||||
TESTS = test/scripts/parseopts_test.sh \
|
||||
test/scripts/human_to_size_test.sh \
|
||||
test/scripts/makepkg-template_test.sh \
|
||||
test/scripts/pacman-db-upgrade-v9.py \
|
||||
test/util/vercmptest.sh
|
||||
include $(top_srcdir)/test/pacman/tests/TESTS
|
||||
|
||||
TEST_SUITE_LOG = test/test-suite.log
|
||||
TEST_EXTENSIONS = .py
|
||||
AM_TESTS_ENVIRONMENT = \
|
||||
PMTEST_UTIL_DIR=$(top_builddir)/src/util/; export PMTEST_UTIL_DIR; \
|
||||
PMTEST_SCRIPT_DIR=$(top_builddir)/scripts/; export PMTEST_SCRIPT_DIR; \
|
||||
PMTEST_SCRIPTLIB_DIR=$(top_srcdir)/scripts/library/; export PMTEST_SCRIPTLIB_DIR; \
|
||||
PMTEST_LIBMAKEPKG_DIR=$(top_builddir)/scripts/libmakepkg/; export PMTEST_LIBMAKEPKG_DIR;
|
||||
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
|
||||
$(top_srcdir)/build-aux/tap-driver.sh
|
||||
PY_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
|
||||
$(top_srcdir)/build-aux/tap-driver.sh
|
||||
PY_LOG_COMPILER = $(PYTHON) $(top_srcdir)/test/pacman/pactest.py
|
||||
AM_PY_LOG_FLAGS = \
|
||||
--scriptlet-shell $(SCRIPTLET_SHELL) \
|
||||
--ldconfig $(LDCONFIG) \
|
||||
--bindir $(top_builddir)/src/pacman \
|
||||
--bindir $(top_builddir)/scripts
|
||||
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:
|
||||
for dir in "$(DESTDIR)$(localstatedir)/lib/pacman" "$(DESTDIR)$(localstatedir)/cache/pacman/pkg" \
|
||||
"$(DESTDIR)$(datarootdir)/makepkg-template" "$(DESTDIR)$(datarootdir)/libalpm/hooks"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
|
||||
update-po:
|
||||
$(MAKE) -C lib/libalpm/po update-po
|
||||
$(MAKE) -C scripts/po update-po
|
||||
$(MAKE) -C src/pacman/po update-po
|
||||
|
||||
update-copyright:
|
||||
for file in $(shell sh -c 'git grep -l "Copyright .* Pacman Development" | grep -v "\.po"'); do \
|
||||
sed -i -e "/Copyright (/s/-$(OLD)/-$(NEW)/" -e "/Copyright (/s/ $(OLD)/ $(OLD)-$(NEW)/" "$$file"; \
|
||||
done
|
||||
|
||||
.PHONY: update-po update-copyright
|
||||
30
NEWS
30
NEWS
@@ -1,35 +1,5 @@
|
||||
VERSION DESCRIPTION
|
||||
-----------------------------------------------------------------------------
|
||||
5.2.2 - fix pacman test suite under python 3.8
|
||||
- only prompt to import new keys once in a transaction
|
||||
- fix handling of fully downloaded .part files
|
||||
- increase maximum database size (FS#65197)
|
||||
- fix segfault in alpm_option_set_assumeinstalled
|
||||
- change config parsing warnings to errors to match actual
|
||||
behavior
|
||||
- fix key extraction for signatures with two-octet sub-packet
|
||||
headers
|
||||
- fix documentation typos (FS#67000)
|
||||
- change master signing key to RSA4096
|
||||
- improve error message when building without autoconf-archive
|
||||
- pacman-conf:
|
||||
- allow querying ILoveCandy individually
|
||||
- fix querying NoExtract individually
|
||||
- makepkg:
|
||||
- fix seccmp-related error while stripping binaries (FS#65100)
|
||||
- fix extraction of file:// sources (FS#64648)
|
||||
- allow $pkgname in install and changelog file names (FS#64932)
|
||||
- sort libprovides for reproducibility
|
||||
- strip: don't re-add the same debug source multiple times
|
||||
- error on empty refspecs in git sources
|
||||
- correctly handle missing download clients
|
||||
- fix splitting multi-line error messages across stdout and
|
||||
stderr
|
||||
- handle GPGKEY with spaces (FS#66949)
|
||||
- do not accept public-only keys for signing
|
||||
- repo-add:
|
||||
- handle GPGKEY with spaces (FS#66949)
|
||||
- do not accept public-only keys for signing
|
||||
5.2.1 - fix segfault on importing PGP keys for -U operations
|
||||
- fix distribution of meson files
|
||||
- fix inode command for darwin/bsd
|
||||
|
||||
14
README
14
README
@@ -655,3 +655,17 @@ API CHANGES BETWEEN 5.1 AND 5.2
|
||||
- alpm_errno_t - added member ALPM_ERR_MISSING_CAPABILITY_SIGNATURES
|
||||
- alpm_sync_newversion() replaced with alpm_sync_get_new_version() which
|
||||
does not filter on any ALPM_DB_USAGE_*.
|
||||
|
||||
|
||||
API CHANGES BETWEEN 5.2 AND 6.0
|
||||
===============================
|
||||
|
||||
[REMOVED]
|
||||
- ALPM_EVENT_PKGDOWNLOAD_START, ALPM_EVENT_PKGDOWNLOAD_DONE, ALPM_EVENT_PKGDOWNLOAD_FAILED
|
||||
|
||||
[CHANGED]
|
||||
- alpm_db_update() changed its signature and now accepts a list of databases
|
||||
rather than a single database. This is need to handle database downloading
|
||||
in a multiplexed way.
|
||||
|
||||
[ADDED]
|
||||
|
||||
9
RELEASE
9
RELEASE
@@ -1,22 +1,21 @@
|
||||
The following checklist should be used for making a pacman release.
|
||||
|
||||
- Ensure "make distcheck" succeeds
|
||||
- Ensure "ninja dist" succeeds
|
||||
- Call a freeze to development.
|
||||
- Send translation updates to Transifex at least two weeks before a major
|
||||
release (see below). At this stage, strings can only be changed for a
|
||||
major issue.
|
||||
- Update NEWS and README files
|
||||
- Pull translation updates from Transifex
|
||||
- Update version in configure.ac as described in file
|
||||
- Update version in meson.build as described in file
|
||||
- Update doc/index.asciidoc
|
||||
- Create a signed git tag (git tag -s vX.Y.Z -m "commit message")
|
||||
- Create and sign release tarballs (generate with "make distcheck")
|
||||
- In addition to the standard autotools toolchain, autoconf-archive is needed
|
||||
- Create and sign release tarballs (generate with "ninja dist")
|
||||
- Update pacman website
|
||||
|
||||
Transifex updates are handled using the transifex client. The basic process is:
|
||||
- Pull updates from transifex ("tx pull -a -f --minimum-perc 75")
|
||||
- Update po files ("make update-po")
|
||||
- Update po files ("./build-aux/update-po")
|
||||
- Fix all translation errors found
|
||||
- Add any new locales to the relevant LINGUAS file
|
||||
- Optional: Make any manual changes needed (e.g. fixing spacing in a string)
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
autoreconf -i
|
||||
|
||||
exit 0
|
||||
@@ -20,9 +20,6 @@ mode=$3
|
||||
-e "s|@DEBUGSUFFIX[@]|@DEBUGSUFFIX@|g" \
|
||||
-e "s|@INODECMD[@]|@INODECMD@|g" \
|
||||
-e "s|@FILECMD[@]|@FILECMD@|g" \
|
||||
-e "s|@SEDINPLACEFLAGS[@]|@SEDINPLACEFLAGS@|g" \
|
||||
-e "s|@SEDPATH[@]|@SEDPATH@|g" \
|
||||
-e "s|@configure_input[@]|Generated from ${input##*/}; do not edit by hand.|g" \
|
||||
"$input" >"$output"
|
||||
|
||||
if [[ $mode ]]; then
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
built_script=$1
|
||||
dest_path=$2
|
||||
|
||||
install -Dm755 "$built_script" "$DESTDIR/$dest_path"
|
||||
8
build-aux/update-copyright
Executable file
8
build-aux/update-copyright
Executable file
@@ -0,0 +1,8 @@
|
||||
#! /bin/sh
|
||||
|
||||
OLD=$1
|
||||
NEW=$2
|
||||
|
||||
for file in $(git grep -l "Copyright .* Pacman Development" | grep -v "\.po"); do \
|
||||
sed -i -e "/Copyright (/s/-${OLD}/-${NEW}/" -e "/Copyright (/s/ ${OLD}/ ${OLD}-${NEW}/" "$file"
|
||||
done
|
||||
605
configure.ac
605
configure.ac
@@ -1,605 +0,0 @@
|
||||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
# Minimum version of autoconf required
|
||||
AC_PREREQ(2.64)
|
||||
|
||||
# UPDATING VERSION NUMBERS FOR RELEASES
|
||||
#
|
||||
# libalpm:
|
||||
# current
|
||||
# The most recent interface number that this library implements.
|
||||
# revision
|
||||
# The implementation number of the current interface.
|
||||
# age
|
||||
# The difference between the newest and oldest interfaces that this library
|
||||
# implements. In other words, the library implements all the interface
|
||||
# numbers in the range from number current - age to current.
|
||||
#
|
||||
# 1. Start with version information of `0:0:0' for each libtool library.
|
||||
# 2. Update the version information only immediately before a public release of
|
||||
# your software. More frequent updates are unnecessary, and only guarantee
|
||||
# that the current interface number gets larger faster.
|
||||
# 3. If the library source code has changed at all since the last update, then
|
||||
# increment revision (`c:r:a' becomes `c:r+1:a').
|
||||
# 4. If any interfaces have been added, removed, or changed since the last
|
||||
# update, increment current, and set revision to 0.
|
||||
# 5. If any interfaces have been added since the last public release, then
|
||||
# increment age.
|
||||
# 6. If any interfaces have been removed since the last public release, then
|
||||
# set age to 0.
|
||||
#
|
||||
# pacman:
|
||||
# Extreme huge major changes:
|
||||
# pacman_version_major += 1
|
||||
# pacman_version_minor = 0
|
||||
# pacman_version_micro = 0
|
||||
#
|
||||
# Real releases:
|
||||
# pacman_version_minor += 1
|
||||
# pacman_version_micro = 0
|
||||
#
|
||||
# Bugfix releases:
|
||||
# pacman_version_micro += 1
|
||||
|
||||
m4_define([lib_current], [12])
|
||||
m4_define([lib_revision], [2])
|
||||
m4_define([lib_age], [0])
|
||||
|
||||
m4_define([pacman_version_major], [5])
|
||||
m4_define([pacman_version_minor], [2])
|
||||
m4_define([pacman_version_micro], [2])
|
||||
m4_define([pacman_version],
|
||||
[pacman_version_major.pacman_version_minor.pacman_version_micro])
|
||||
|
||||
# Autoconf initialization
|
||||
AC_INIT([pacman], [pacman_version], [pacman-dev@archlinux.org])
|
||||
AC_CONFIG_SRCDIR([config.h.in])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_REQUIRE_AUX_FILE([tap-driver.sh])
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
AM_INIT_AUTOMAKE([1.11 foreign])
|
||||
AM_SILENT_RULES([yes])
|
||||
|
||||
LT_INIT
|
||||
LIB_VERSION=`expr lib_current - lib_age`.lib_age.lib_revision
|
||||
LIB_VERSION_INFO="lib_current:lib_revision:lib_age"
|
||||
|
||||
# Respect empty CFLAGS during compiler tests
|
||||
if test "x$CFLAGS" = "x"; then
|
||||
CFLAGS=""
|
||||
fi
|
||||
|
||||
# Set 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)
|
||||
AC_DEFINE_UNQUOTED([LIB_VERSION], ["$LIB_VERSION"], [libalpm version number])
|
||||
|
||||
# Help line for root directory
|
||||
AC_ARG_WITH(root-dir,
|
||||
AS_HELP_STRING([--with-root-dir=path], [set the location of the root operating directory]),
|
||||
[ROOTDIR=$withval], [ROOTDIR=/])
|
||||
|
||||
# Help line for package extension
|
||||
AC_ARG_WITH(pkg-ext,
|
||||
AS_HELP_STRING([--with-pkg-ext=ext], [set the file extension used by packages]),
|
||||
[PKGEXT=$withval], [PKGEXT=.pkg.tar.gz])
|
||||
|
||||
# Help line for source package directory
|
||||
AC_ARG_WITH(src-ext,
|
||||
AS_HELP_STRING([--with-src-ext=ext], [set the file extension used by source packages]),
|
||||
[SRCEXT=$withval], [SRCEXT=.src.tar.gz])
|
||||
|
||||
# Help line for buildscript filename
|
||||
AC_ARG_WITH(buildscript,
|
||||
AS_HELP_STRING([--with-buildscript=name], [set the build script name used by makepkg]),
|
||||
[BUILDSCRIPT=$withval], [BUILDSCRIPT=PKGBUILD])
|
||||
|
||||
# Help line for buildscript filename
|
||||
AC_ARG_WITH(makepkg-template-dir,
|
||||
AS_HELP_STRING([--with-makepkg-template-dir=name], [set the template dir used by makepkg-template]),
|
||||
[TEMPLATE_DIR=$withval], [TEMPLATE_DIR=${datarootdir}/makepkg-template])
|
||||
|
||||
# Help line for debug package suffix
|
||||
AC_ARG_WITH(debug-suffix,
|
||||
AS_HELP_STRING([--with-debug-suffix=name], [set the suffix for split debugging symbol packages used by makepkg]),
|
||||
[DEBUGSUFFIX=$withval], [DEBUGSUFFIX=debug])
|
||||
|
||||
# Help line for changing shell used to run install scriptlets
|
||||
AC_ARG_WITH(scriptlet-shell,
|
||||
AS_HELP_STRING([--with-scriptlet-shell=shell],
|
||||
[set the full path to the shell used to run install scriptlets]),
|
||||
[SCRIPTLET_SHELL=$withval], [SCRIPTLET_SHELL=/bin/sh])
|
||||
|
||||
# Help line for ldconfig path
|
||||
AC_ARG_WITH(ldconfig,
|
||||
AS_HELP_STRING([--with-ldconfig=path],
|
||||
[set the full path to ldconfig]),
|
||||
[LDCONFIG=$withval], [LDCONFIG=/sbin/ldconfig])
|
||||
|
||||
# Help line for determining whether file is seccomp-enabled
|
||||
AC_ARG_WITH(file-seccomp,
|
||||
AS_HELP_STRING([--with-file-seccomp={yes|no|auto}],
|
||||
[determine whether file is seccomp-enabled @<:@default=auto@:>@]),
|
||||
[with_file_seccomp=$withval], [with_file_seccomp=auto])
|
||||
|
||||
# Help line for selecting a crypto library
|
||||
AC_ARG_WITH(crypto,
|
||||
AS_HELP_STRING([--with-crypto={openssl|nettle}],
|
||||
[select crypto implementation @<:@default=openssl@:>@]),
|
||||
[with_crypto=$withval], [with_crypto=openssl])
|
||||
|
||||
# Help line for using gpgme
|
||||
AC_ARG_WITH(gpgme,
|
||||
AS_HELP_STRING([--with-gpgme], [use GPGME for PGP signature verification]),
|
||||
[], [with_gpgme=check])
|
||||
|
||||
# Help line for using libcurl
|
||||
AC_ARG_WITH(libcurl,
|
||||
AS_HELP_STRING([--with-libcurl], [use libcurl for the internal downloader]),
|
||||
[], [with_libcurl=check])
|
||||
|
||||
# Help line for documentation
|
||||
AC_ARG_ENABLE(doc,
|
||||
AS_HELP_STRING([--disable-doc], [prevent make from looking at doc/ dir]),
|
||||
[wantdoc=$enableval], [wantdoc=yes])
|
||||
|
||||
# Help line for doxygen
|
||||
AC_ARG_ENABLE(doxygen,
|
||||
AS_HELP_STRING([--enable-doxygen], [build your own API docs via Doxygen]),
|
||||
[wantdoxygen=$enableval], [wantdoxygen=no])
|
||||
|
||||
# Help line for debug
|
||||
AC_ARG_ENABLE(debug,
|
||||
AS_HELP_STRING([--enable-debug], [enable debugging support]),
|
||||
[debug=$enableval], [debug=no])
|
||||
|
||||
# Help line for compiler warning flags
|
||||
AC_ARG_ENABLE(warningflags,
|
||||
AS_HELP_STRING([--enable-warningflags], [enable extra compiler warning flags]),
|
||||
[warningflags=$enableval], [warningflags=no])
|
||||
|
||||
# Help line for using git version in pacman version string
|
||||
AC_ARG_ENABLE(git-version,
|
||||
AS_HELP_STRING([--enable-git-version],
|
||||
[enable use of git version in version string if available]),
|
||||
[wantgitver=$enableval], [wantgitver=no])
|
||||
|
||||
# Enable large file support if available (must be enabled before
|
||||
# testing compilation against gpgme).
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
# Record large file flags in pkgconfig file
|
||||
if test "$enable_largefile" != no; then
|
||||
if test "$ac_cv_sys_file_offset_bits" != 'no'; then
|
||||
LFS_CFLAGS="-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(LFS_CFLAGS)
|
||||
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_AWK
|
||||
AC_PROG_CC_C99
|
||||
AC_PROG_INSTALL
|
||||
AC_CHECK_PROGS([PYTHON], [python3 python], [false])
|
||||
AC_PATH_PROGS([BASH_SHELL], [bash bash4], [false])
|
||||
|
||||
# check for perl 5.10.1 (needed by makepkg-template)
|
||||
AC_PATH_PROG([PERL],[perl])
|
||||
AC_DEFUN([AX_PROG_PERL_VERSION],
|
||||
[AC_CACHE_CHECK([for Perl version $1 or later], [ax_cv_prog_perl_version],
|
||||
[AS_IF(["$PERL" -e 'require v$1;' >/dev/null 2>&1],
|
||||
[ax_cv_prog_perl_version=yes],
|
||||
[ax_cv_prog_perl_version=no])])
|
||||
AS_IF([test x"$ax_cv_prog_perl_version" = xyes], [$2], [$3])])
|
||||
AX_PROG_PERL_VERSION([5.10.1], [], [AC_MSG_ERROR([perl is too old])])
|
||||
|
||||
AS_IF([test "x$BASH_SHELL" = "xfalse"],
|
||||
AC_MSG_WARN([*** bash >= 4.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 4; then
|
||||
ok=no
|
||||
fi
|
||||
if test "$ok" = "no"; then
|
||||
AC_MSG_ERROR([*** bash >= 4.4.0 is required for pacman scripts])
|
||||
fi
|
||||
unset bash_version_major bash_version_minor ok])
|
||||
|
||||
# find installed gettext
|
||||
AM_GNU_GETTEXT([external], [need-ngettext])
|
||||
AM_GNU_GETTEXT_VERSION(0.13.1)
|
||||
|
||||
AC_CHECK_LIB([m], [fabs], ,
|
||||
AC_MSG_ERROR([libm is needed to compile pacman!]))
|
||||
|
||||
PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir], ,
|
||||
bashcompdir="${datarootdir}/bash-completion/completions")
|
||||
|
||||
# Check for libarchive
|
||||
PKG_CHECK_MODULES(LIBARCHIVE, [libarchive >= 3.0.0], ,
|
||||
AC_MSG_ERROR([*** libarchive >= 3.0.0 is needed to compile pacman!]))
|
||||
|
||||
m4_pattern_forbid([^AX_COMPARE_VERSION$])
|
||||
# Check file for seccomp
|
||||
if test "x$with_file_seccomp" = "xauto"; then
|
||||
file_version="$(file --version| sed -n 's/^file-\(.*\)/\1/p')"
|
||||
AX_COMPARE_VERSION([$file_version], [ge], [5.38], [with_file_seccomp=yes])
|
||||
fi
|
||||
if test "x$with_file_seccomp" = "xyes"; then
|
||||
FILECMD="file -S"
|
||||
else
|
||||
FILECMD="file"
|
||||
fi
|
||||
AC_SUBST(FILECMD)
|
||||
|
||||
# Check for OpenSSL
|
||||
have_openssl=no
|
||||
have_nettle=no
|
||||
if test "x$with_crypto" = "xnettle"; then
|
||||
AC_SUBST(pc_crypto, [nettle])
|
||||
PKG_CHECK_MODULES(NETTLE, [nettle],
|
||||
[AC_DEFINE(HAVE_LIBNETTLE, 1, [Define whether to use nettle]) have_nettle=yes], have_nettle=no)
|
||||
if test "x$have_nettle" = xno -a "x$with_crypto" = xnettle; then
|
||||
AC_MSG_ERROR([*** nettle support requested but libraries not found])
|
||||
fi
|
||||
else if test "x$with_crypto" = "xopenssl"; then
|
||||
AC_SUBST(pc_crypto, [libcrypto])
|
||||
PKG_CHECK_MODULES(LIBSSL, [libcrypto],
|
||||
[AC_DEFINE(HAVE_LIBSSL, 1, [Define if libcrypto is available]) have_openssl=yes], have_openssl=no)
|
||||
if test "x$have_openssl" = xno; then
|
||||
AC_MSG_ERROR([*** openssl support requested but libraries not found])
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([*** unknown crypto support library requested - $with_crypto])
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_LIBSSL, [test "$have_openssl" = "yes"])
|
||||
AM_CONDITIONAL(HAVE_LIBNETTLE, [test "$have_nettle" = "yes"])
|
||||
|
||||
# Check for libcurl
|
||||
have_libcurl=no
|
||||
if test "x$with_libcurl" != "xno"; then
|
||||
PKG_CHECK_MODULES(LIBCURL, [libcurl >= 7.32.0],
|
||||
[AC_DEFINE(HAVE_LIBCURL, 1, [Define if libcurl is available]) have_libcurl=yes], have_libcurl=no)
|
||||
if test "x$have_libcurl" = xno -a "x$with_libcurl" = xyes; then
|
||||
AC_MSG_ERROR([*** libcurl >= 7.32.0 is required for internal downloader support])
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_LIBCURL, [test "$have_libcurl" = "yes"])
|
||||
# used to generate libalpm.pc
|
||||
if test "x$have_libcurl" = xyes; then
|
||||
AC_SUBST(pc_libcurl, [libcurl])
|
||||
fi
|
||||
|
||||
# Check for gpgme
|
||||
AC_MSG_CHECKING(whether to link with libgpgme)
|
||||
AS_IF([test "x$with_gpgme" != "xno"],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
|
||||
have_gpgme=no
|
||||
if test "x$with_gpgme" != "xno"; then
|
||||
PKG_CHECK_MODULES(GPGME, [gpgme],
|
||||
[AC_DEFINE([HAVE_LIBGPGME], [1], [Define if gpgme should be used to provide GPG signature support.])
|
||||
AC_SUBST(pc_gpgme, [gpgme])
|
||||
have_gpgme=yes],
|
||||
[AM_PATH_GPGME([1.3.0],
|
||||
[LIBS_save="$LIBS"
|
||||
CPPFLAGS_save="$CPPFLAGS"
|
||||
CFLAGS_save="$CFLAGS"
|
||||
|
||||
LIBS="$LIBS $GPGME_LIBS"
|
||||
CPPFLAGS="$CPPFLAGS $GPGME_CPPFLAGS"
|
||||
CFLAGS="$CFLAGS $GPGME_CFLAGS"
|
||||
|
||||
AC_MSG_CHECKING([for sane gpgme])
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <gpgme.h>]],
|
||||
[[return gpgme_check_version("1.3.0");]])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
have_gpgme=yes
|
||||
AC_DEFINE([HAVE_LIBGPGME], [1], [Define if gpgme should be used to provide GPG signature support.])
|
||||
AC_SUBST(pc_gpgme_libs, ["$GPGME_LIBS"])],
|
||||
[AC_MSG_RESULT([no])
|
||||
have_gpgme=no
|
||||
unset GPGME_LIBS
|
||||
unset GPGME_CFLAGS]
|
||||
AS_IF([test "x$with_gpgme" = "xyes"],
|
||||
[AC_MSG_FAILURE([*** gpgme >= 1.3.0 is needed for GPG signature support])])
|
||||
)
|
||||
|
||||
LIBS="$LIBS_save"
|
||||
CPPFLAGS="$CPPFLAGS_save"
|
||||
CFLAGS="$CFLAGS_save"
|
||||
unset CPPFLAGS_save
|
||||
unset CFLAGS_save],)])
|
||||
fi
|
||||
|
||||
AS_IF([test "x$have_gpgme" = xno -a "x$with_gpgme" = xyes],
|
||||
[AC_MSG_FAILURE([--with-gpgme was given, but gpgme was not found])])
|
||||
AM_CONDITIONAL([HAVE_LIBGPGME], [test "x$have_gpgme" = "xyes"])
|
||||
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([fcntl.h float.h glob.h langinfo.h libintl.h limits.h \
|
||||
locale.h mntent.h netinet/in.h netinet/tcp.h \
|
||||
stddef.h string.h sys/ioctl.h \
|
||||
sys/mnttab.h sys/mount.h \
|
||||
sys/param.h sys/statvfs.h sys/time.h sys/types.h \
|
||||
sys/ucred.h syslog.h termios.h wchar.h])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_INLINE
|
||||
AC_TYPE_INT64_T
|
||||
AC_TYPE_MODE_T
|
||||
AC_TYPE_OFF_T
|
||||
AC_TYPE_PID_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_TYPE_SSIZE_T
|
||||
AC_STRUCT_TM
|
||||
AC_TYPE_UID_T
|
||||
AC_STRUCT_DIRENT_D_TYPE
|
||||
PATH_MAX_DEFINED
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_FORK
|
||||
AC_FUNC_GETMNTENT
|
||||
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
|
||||
AC_CHECK_FUNCS([dup2 getcwd getmntinfo gettimeofday memmove memset \
|
||||
mkdir realpath regcomp rmdir setenv setlocale strcasecmp \
|
||||
strchr strcspn strdup strerror strndup strnlen strrchr \
|
||||
strsep strstr strtol swprintf tcflush wcwidth uname])
|
||||
AC_CHECK_MEMBERS([struct stat.st_blksize],,,[[#include <sys/stat.h>]])
|
||||
|
||||
# For the diskspace code
|
||||
FS_STATS_TYPE
|
||||
AC_CHECK_MEMBERS([struct statvfs.f_flag],,,[[#include <sys/statvfs.h>]])
|
||||
AC_CHECK_MEMBERS([struct statfs.f_flags],,,[[#include <sys/param.h>
|
||||
#include <sys/mount.h>]])
|
||||
|
||||
# Check if we can use symbol visibility support in GCC
|
||||
GCC_VISIBILITY_CC
|
||||
|
||||
# Host-dependant definitions
|
||||
DEFAULT_SEDINPLACEFLAGS=" --follow-symlinks -i"
|
||||
INODECMD="stat -c '%i %n'"
|
||||
STRIP_BINARIES="--strip-all"
|
||||
STRIP_SHARED="--strip-unneeded"
|
||||
STRIP_STATIC="--strip-debug"
|
||||
case "${host_os}" in
|
||||
*bsd*)
|
||||
INODECMD="stat -f '%i %N'"
|
||||
DEFAULT_SEDINPLACEFLAGS=" -i \"\""
|
||||
;;
|
||||
darwin*)
|
||||
host_os_darwin=yes
|
||||
INODECMD="/usr/bin/stat -f '%i %N'"
|
||||
DEFAULT_SEDINPLACEFLAGS=" -i ''"
|
||||
STRIP_BINARIES=""
|
||||
STRIP_SHARED="-S"
|
||||
STRIP_STATIC="-S"
|
||||
;;
|
||||
esac
|
||||
AM_CONDITIONAL([DARWIN], test "x$host_os_darwin" = "xyes")
|
||||
AC_PATH_PROGS([SEDPATH], [sed], [sed], [/usr/bin$PATH_SEPARATOR/bin] )
|
||||
AC_SUBST(INODECMD)
|
||||
AC_SUBST(STRIP_BINARIES)
|
||||
AC_SUBST(STRIP_SHARED)
|
||||
AC_SUBST(STRIP_STATIC)
|
||||
|
||||
# Flags for sed in place
|
||||
if test "${SEDINPLACEFLAGS+set}" != "set"; then
|
||||
SEDINPLACEFLAGS="${DEFAULT_SEDINPLACEFLAGS}"
|
||||
fi
|
||||
AC_ARG_VAR(SEDINPLACEFLAGS, [flags for sed, overriding the default])
|
||||
|
||||
# Variables plugged into makepkg.conf
|
||||
CARCH="${host%%-*}"
|
||||
CHOST="${host}"
|
||||
AC_SUBST(CARCH)
|
||||
AC_SUBST(CHOST)
|
||||
|
||||
# Check for documentation support and status
|
||||
AC_CHECK_PROGS([ASCIIDOC], [asciidoc])
|
||||
AC_MSG_CHECKING([for building documentation])
|
||||
if test "x$wantdoc" = "xyes" ; then
|
||||
if test $ASCIIDOC ; then
|
||||
AC_MSG_RESULT([yes, enabled by configure])
|
||||
else
|
||||
asciidoc="(warning : asciidoc not installed)"
|
||||
AC_MSG_RESULT([yes $asciidoc])
|
||||
fi
|
||||
wantdoc=yes
|
||||
else
|
||||
AC_MSG_RESULT([no, disabled by configure])
|
||||
wantdoc=no
|
||||
fi
|
||||
AM_CONDITIONAL(WANT_DOC, test "x$wantdoc" = "xyes")
|
||||
|
||||
# Check for doxygen support and status
|
||||
AC_CHECK_PROGS([DOXYGEN], [doxygen])
|
||||
AC_MSG_CHECKING([for doxygen])
|
||||
if test "x$wantdoxygen" = "xyes" ; then
|
||||
if test $DOXYGEN ; then
|
||||
AC_MSG_RESULT([yes])
|
||||
usedoxygen=yes
|
||||
else
|
||||
AC_MSG_RESULT([no, doxygen missing])
|
||||
usedoxygen=no
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([no, disabled by configure])
|
||||
usedoxygen=no
|
||||
fi
|
||||
AM_CONDITIONAL(USE_DOXYGEN, test "x$usedoxygen" = "xyes")
|
||||
|
||||
# Enable or disable debug code
|
||||
AC_MSG_CHECKING(for debug mode request)
|
||||
if test "x$debug" = "xyes" ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE([PACMAN_DEBUG], , [Enable debug code])
|
||||
# Check for -fstack-protector availability
|
||||
GCC_STACK_PROTECT_LIB
|
||||
GCC_STACK_PROTECT_CC
|
||||
GCC_STACK_CLASH_PROTECTION
|
||||
GCC_FORTIFY_SOURCE_CC
|
||||
WARNING_CFLAGS="-g -Wall -Werror"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
WARNING_CFLAGS="-Wall"
|
||||
fi
|
||||
|
||||
# Enable or disable compiler warning flags
|
||||
AC_MSG_CHECKING(for excessive compiler warning flags)
|
||||
if test "x$warningflags" = "xyes" ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
CFLAGS_ADD([-Wcast-align], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wclobbered], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wempty-body], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wfloat-equal], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wformat-nonliteral], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wformat-security], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wignored-qualifiers], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wimplicit-fallthrough], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Winit-self], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wlogical-op], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wmissing-declarations], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wmissing-field-initializers], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wmissing-parameter-type], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wmissing-prototypes], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wold-style-declaration], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Woverride-init], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wpointer-arith], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wredundant-decls], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wshadow], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wsign-compare], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wstrict-aliasing], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wstrict-overflow=5], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wstrict-prototypes], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wtype-limits], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wuninitialized], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wunused-but-set-parameter], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wunused-parameter], [WARNING_CFLAGS])
|
||||
CFLAGS_ADD([-Wwrite-strings], [WARNING_CFLAGS])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
# Enable or disable use of git version in pacman version string
|
||||
AC_MSG_CHECKING(whether to use git version if available)
|
||||
if test "x$wantgitver" = "xyes" ; then
|
||||
AC_CHECK_PROGS([GIT], [git])
|
||||
AC_CHECK_FILE([.git/], hasgitdir=yes)
|
||||
usegitver=$ac_cv_file__git_
|
||||
if test $GIT -a "x$hasgitdir" = "xyes"; then
|
||||
AC_DEFINE([USE_GIT_VERSION], , [Use GIT version in version string])
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([no, disabled by configure])
|
||||
usegitver=no
|
||||
fi
|
||||
AM_CONDITIONAL(USE_GIT_VERSION, test "x$usegitver" = "xyes")
|
||||
|
||||
# Set root directory
|
||||
AC_SUBST(ROOTDIR)
|
||||
AC_DEFINE_UNQUOTED([ROOTDIR], "$ROOTDIR", [The location of the root operating directory])
|
||||
# Set package file extension
|
||||
AC_SUBST(PKGEXT)
|
||||
AC_DEFINE_UNQUOTED([PKGEXT], "$PKGEXT", [The file extension used by pacman packages])
|
||||
# Set source package file extension
|
||||
AC_SUBST(SRCEXT)
|
||||
AC_DEFINE_UNQUOTED([SRCEXT], "$SRCEXT", [The file extension used by pacman source packages])
|
||||
# Set makepkg build script name
|
||||
AC_SUBST(BUILDSCRIPT)
|
||||
AC_DEFINE_UNQUOTED([BUILDSCRIPT], "$BUILDSCRIPT", [The build script name used by makepkg])
|
||||
# Set makepkg-template template directory
|
||||
AC_SUBST(TEMPLATE_DIR)
|
||||
AC_DEFINE_UNQUOTED([TEMPLATE_DIR], "$TEMPLATE_DIR", [The template directory used by makepkg-teplate])
|
||||
# Set makepkg split debugging symbol package suffix
|
||||
AC_SUBST(DEBUGSUFFIX)
|
||||
AC_DEFINE_UNQUOTED([DEBUGSUFFIX], "$DEBUGSUFFIX", [The suffix for debugging symbol packages used by makepkg])
|
||||
# Set shell used by install scriptlets
|
||||
AC_SUBST(SCRIPTLET_SHELL)
|
||||
AC_DEFINE_UNQUOTED([SCRIPTLET_SHELL], "$SCRIPTLET_SHELL", [The full path of the shell used to run install scriptlets])
|
||||
# Set ldconfig path
|
||||
AC_SUBST(LDCONFIG)
|
||||
AC_DEFINE_UNQUOTED([LDCONFIG], "$LDCONFIG", [The full path to ldconfig])
|
||||
|
||||
|
||||
# Configuration files
|
||||
AC_CONFIG_FILES([
|
||||
lib/libalpm/Makefile
|
||||
lib/libalpm/po/Makefile.in
|
||||
lib/libalpm/libalpm.pc
|
||||
src/common/Makefile
|
||||
src/pacman/Makefile
|
||||
src/pacman/po/Makefile.in
|
||||
src/util/Makefile
|
||||
scripts/Makefile
|
||||
scripts/po/Makefile.in
|
||||
doc/Makefile
|
||||
etc/Makefile
|
||||
test/pacman/Makefile
|
||||
test/pacman/tests/Makefile
|
||||
test/scripts/Makefile
|
||||
test/util/Makefile
|
||||
Makefile
|
||||
])
|
||||
AC_OUTPUT
|
||||
|
||||
echo "
|
||||
${PACKAGE_NAME}:
|
||||
|
||||
Build information:
|
||||
source code location : ${srcdir}
|
||||
prefix : ${prefix}
|
||||
sysconfdir : $(eval echo ${sysconfdir})
|
||||
conf file : $(eval echo ${sysconfdir})/pacman.conf
|
||||
localstatedir : $(eval echo ${localstatedir})
|
||||
database dir : $(eval echo ${localstatedir})/lib/pacman/
|
||||
cache dir : $(eval echo ${localstatedir})/cache/pacman/pkg/
|
||||
|
||||
compiler : ${CC}
|
||||
preprocessor flags : ${CPPFLAGS}
|
||||
compiler flags : ${WARNING_CFLAGS} ${CFLAGS}
|
||||
library flags : ${LIBS} ${LIBSSL_LIBS} ${NETTLE_LIBS} ${LIBARCHIVE_LIBS} ${LIBCURL_LIBS} ${GPGME_LIBS}
|
||||
linker flags : ${LDFLAGS}
|
||||
|
||||
Architecture : ${CARCH}
|
||||
Host Type : ${CHOST}
|
||||
File inode command : ${INODECMD}
|
||||
In-place sed command : ${SEDPATH} ${SEDINPLACEFLAGS}
|
||||
File seccomp command : ${FILECMD}
|
||||
|
||||
libalpm version : ${LIB_VERSION}
|
||||
libalpm version info : ${LIB_VERSION_INFO}
|
||||
pacman version : ${PACKAGE_VERSION}
|
||||
using git version : ${usegitver}
|
||||
|
||||
Directory and file information:
|
||||
root working directory : ${ROOTDIR}
|
||||
package extension : ${PKGEXT}
|
||||
source pkg extension : ${SRCEXT}
|
||||
build script name : ${BUILDSCRIPT}
|
||||
template directory : ${TEMPLATE_DIR}
|
||||
|
||||
Compilation options:
|
||||
Use libcurl : ${have_libcurl}
|
||||
Use GPGME : ${have_gpgme}
|
||||
Use OpenSSL : ${have_openssl}
|
||||
Use nettle : ${have_nettle}
|
||||
Run make in doc/ dir : ${wantdoc} ${asciidoc}
|
||||
Doxygen support : ${usedoxygen}
|
||||
debug support : ${debug}
|
||||
extra warning flags : ${warningflags}
|
||||
use git version : ${wantgitver}
|
||||
"
|
||||
@@ -1,6 +1,3 @@
|
||||
/////
|
||||
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
|
||||
/////
|
||||
BUILDINFO(5)
|
||||
============
|
||||
|
||||
@@ -53,6 +50,9 @@ BUILDINFO file format.
|
||||
*builddir*::
|
||||
The directory where the package was built.
|
||||
|
||||
*startdir*::
|
||||
The directory from which makepkg was executed.
|
||||
|
||||
*buildenv (array)*::
|
||||
The build environment specified in makepkg.conf.
|
||||
|
||||
|
||||
151
doc/Makefile.am
151
doc/Makefile.am
@@ -1,151 +0,0 @@
|
||||
# We have to do some funny stuff here with the manpages. In order to ensure
|
||||
# a dist tarball doesn't get put out there without manpages, we keep those
|
||||
# files listed in EXTRA_DIST no matter what. However, we only add them to
|
||||
# man_MANS if --enable-asciidoc and/or --enable-doxygen are used.
|
||||
|
||||
MANPAGES = \
|
||||
alpm-hooks.5 \
|
||||
pacman.8 \
|
||||
makepkg.8 \
|
||||
makepkg-template.1 \
|
||||
repo-add.8 \
|
||||
vercmp.8 \
|
||||
pacman-key.8 \
|
||||
PKGBUILD.5 \
|
||||
makepkg.conf.5 \
|
||||
pacman.conf.5 \
|
||||
libalpm.3 \
|
||||
BUILDINFO.5 \
|
||||
pacman-conf.8
|
||||
|
||||
DOXYGEN_MANS = $(wildcard man3/*.3)
|
||||
|
||||
HTML_MANPAGES = $(addsuffix .html,$(MANPAGES))
|
||||
ASCIIDOC_MANPAGES = $(addsuffix .asciidoc,$(MANPAGES))
|
||||
|
||||
HTML_OTHER = \
|
||||
index.html \
|
||||
submitting-patches.html \
|
||||
translation-help.html \
|
||||
HACKING.html
|
||||
|
||||
HTML_DOCS = \
|
||||
$(HTML_MANPAGES) \
|
||||
$(HTML_OTHER)
|
||||
|
||||
EXTRA_DIST = \
|
||||
meson.build \
|
||||
asciidoc.conf \
|
||||
asciidoc-override.css \
|
||||
PKGBUILD-example.txt \
|
||||
footer.asciidoc \
|
||||
index.asciidoc \
|
||||
submitting-patches.asciidoc \
|
||||
translation-help.asciidoc \
|
||||
$(ASCIIDOC_MANPAGES) \
|
||||
$(MANPAGES) \
|
||||
$(DOXYGEN_MANS)
|
||||
|
||||
# Files that should be removed, but which Automake does not know.
|
||||
MOSTLYCLEANFILES = *.xml $(MANPAGES) $(HTML_DOCS) repo-remove.8 website.tar.gz
|
||||
|
||||
# Ensure manpages are fresh when building a dist tarball
|
||||
dist-hook:
|
||||
$(MAKE) $(AM_MAKEFLAGS) clean
|
||||
$(MAKE) $(AM_MAKEFLAGS) all
|
||||
|
||||
if USE_GIT_VERSION
|
||||
GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 --dirty | sed s/^v//')
|
||||
REAL_PACKAGE_VERSION = $(GIT_VERSION)
|
||||
else
|
||||
REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
|
||||
endif
|
||||
|
||||
man_MANS =
|
||||
dist_man_MANS = $(MANPAGES)
|
||||
|
||||
if USE_DOXYGEN
|
||||
man_MANS += $(DOXYGEN_MANS)
|
||||
|
||||
all-local: 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
|
||||
|
||||
.PHONY: html website
|
||||
|
||||
website.tar.gz: html
|
||||
$(AM_V_GEN)bsdtar czf $@ $(HTML_DOCS) \
|
||||
asciidoc-override.css \
|
||||
-C /etc/asciidoc/stylesheets/ \
|
||||
asciidoc.css \
|
||||
-C /etc/asciidoc/javascripts/ \
|
||||
asciidoc.js \
|
||||
-C /etc/asciidoc/ \
|
||||
images
|
||||
|
||||
pkgdatadir = ${datadir}/${PACKAGE}
|
||||
|
||||
ASCIIDOC_OPTS = \
|
||||
-f $(srcdir)/asciidoc.conf \
|
||||
-a pacman_version="$(REAL_PACKAGE_VERSION)" \
|
||||
-a pacman_date="`date +%Y-%m-%d`" \
|
||||
-a srcext="$(SRCEXT)" \
|
||||
-a pkgext="$(PKGEXT)" \
|
||||
-a pkgdatadir=$(pkgdatadir) \
|
||||
-a localstatedir=$(localstatedir) \
|
||||
-a sysconfdir=$(sysconfdir) \
|
||||
-a datarootdir=$(datarootdir) \
|
||||
-a rootdir=$(ROOTDIR)
|
||||
|
||||
A2X_OPTS = \
|
||||
--no-xmllint \
|
||||
-d manpage \
|
||||
-f manpage \
|
||||
--xsltproc-opts='-param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0'
|
||||
|
||||
# Generate manpages
|
||||
%: %.asciidoc asciidoc.conf footer.asciidoc Makefile.am
|
||||
$(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.asciidoc
|
||||
|
||||
# Generate HTML pages
|
||||
%.html: %.asciidoc asciidoc.conf footer.asciidoc Makefile.am
|
||||
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - $*.asciidoc | \
|
||||
sed -e 's/\r$$//' > $@
|
||||
|
||||
HACKING.html: ../HACKING
|
||||
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - ../HACKING | \
|
||||
sed -e 's/\r$$//' > $@
|
||||
|
||||
# Customizations for certain HTML docs
|
||||
%.html: 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
|
||||
|
||||
# Custom dependency rules
|
||||
PKGBUILD.5 PKGBUILD.5.html: PKGBUILD.5.asciidoc PKGBUILD-example.txt
|
||||
|
||||
# Manpages as symlinks
|
||||
repo-remove.8: repo-add.8
|
||||
$(RM) repo-remove.8
|
||||
$(LN_S) repo-add.8 repo-remove.8
|
||||
|
||||
install-data-hook:
|
||||
cd $(DESTDIR)$(mandir)/man8 && \
|
||||
$(RM) repo-remove.8 && \
|
||||
( $(LN_S) repo-add.8 repo-remove.8 || \
|
||||
ln repo-add.8 repo-remove.8 || \
|
||||
cp repo-add.8 repo-remove.8 )
|
||||
|
||||
uninstall-hook:
|
||||
$(RM) $(DESTDIR)$(mandir)/man8/repo-remove.8
|
||||
@@ -118,7 +118,7 @@ systems (see below).
|
||||
+
|
||||
Additional architecture-specific sources can be added by appending an
|
||||
underscore and the architecture name e.g., 'source_x86_64=()'. There must be a
|
||||
corresponding integrity array with checksums, e.g. 'md5sums_x86_64=()'.
|
||||
corresponding integrity array with checksums, e.g. 'cksums_x86_64=()'.
|
||||
+
|
||||
It is also possible to change the name of the downloaded file, which is helpful
|
||||
with weird URLs and for handling multiple source files with the same
|
||||
@@ -146,17 +146,19 @@ contain whitespace characters.
|
||||
listed here will not be extracted with the rest of the source files. This
|
||||
is useful for packages that use compressed data directly.
|
||||
|
||||
*md5sums (array)*::
|
||||
This array contains an MD5 hash for every source file specified in the
|
||||
*cksums (array)*::
|
||||
This array contains CRC checksums for every source file specified in the
|
||||
source array (in the same order). makepkg will use this to verify source
|
||||
file integrity during subsequent builds. If 'SKIP' is put in the array
|
||||
in place of a normal hash, the integrity check for that source file will
|
||||
be skipped. To easily generate md5sums, run ``makepkg -g >> PKGBUILD''.
|
||||
If desired, move the md5sums line to an appropriate location.
|
||||
be skipped. To easily generate cksums, run ``makepkg -g >> PKGBUILD''.
|
||||
If desired, move the cksums line to an appropriate location. Note that
|
||||
checksums generated by "makepkg -g" should be verified using checksum
|
||||
values provided by the software developer.
|
||||
|
||||
*sha1sums, sha224sums, sha256sums, sha384sums, sha512sums, b2sums (arrays)*::
|
||||
*md5sums, sha1sums, sha224sums, sha256sums, sha384sums, sha512sums, b2sums (arrays)*::
|
||||
Alternative integrity checks that makepkg supports; these all behave
|
||||
similar to the md5sums option described above. To enable use and generation
|
||||
similar to the cksums option described above. To enable use and generation
|
||||
of these checksums, be sure to set up the `INTEGRITY_CHECK` option in
|
||||
linkman:makepkg.conf[5].
|
||||
|
||||
@@ -466,11 +468,13 @@ reference with all of the available functions defined.
|
||||
Using VCS Sources[[VCS]]
|
||||
------------------------
|
||||
Building a developmental version of a package using sources from a version
|
||||
control system (VCS) is enabled by specifying the source in the form
|
||||
`source=('directory::url#fragment?query')`. Currently makepkg supports the
|
||||
Bazaar, Git, Subversion, and Mercurial version control systems. For other
|
||||
version control systems, manual cloning of upstream repositories must be done
|
||||
in the `prepare()` function.
|
||||
control system (VCS) is enabled by specifying the source in the form:
|
||||
|
||||
source=('directory::url#fragment?query')
|
||||
|
||||
Currently makepkg supports the Bazaar, Git, Subversion, and Mercurial version
|
||||
control systems. For other version control systems, manual cloning of upstream
|
||||
repositories must be done in the `prepare()` function.
|
||||
|
||||
The source URL is divided into four components:
|
||||
|
||||
@@ -488,13 +492,16 @@ The source URL is divided into four components:
|
||||
|
||||
*fragment*::
|
||||
(optional) Allows specifying a revision number or branch for makepkg to checkout
|
||||
from the VCS. For example, to checkout a given revision, the source line would
|
||||
have the format `source=(url#revision=123)`. The available fragments depends on
|
||||
the VCS being used:
|
||||
from the VCS. A fragment has the form `type=value`, for example to checkout a
|
||||
given revision the source line would be `source=(url#revision=123)`. The
|
||||
available types depends on the VCS being used:
|
||||
|
||||
*bzr*;;
|
||||
revision (see `'bzr help revisionspec'` for details)
|
||||
|
||||
*fossil*;;
|
||||
branch, commit, tag
|
||||
|
||||
*git*;;
|
||||
branch, commit, tag
|
||||
|
||||
|
||||
@@ -18,14 +18,15 @@ Current maintainers:
|
||||
|
||||
* Allan McRae <allan@archlinux.org>
|
||||
* Andrew Gregory <andrew.gregory.8@gmail.com>
|
||||
* Dan McGee <dan@archlinux.org>
|
||||
* Dave Reisner <dreisner@archlinux.org>
|
||||
* Eli Schwartz <eschwartz@archlinux.org>
|
||||
|
||||
Past major contributors:
|
||||
|
||||
* Judd Vinet <jvinet@zeroflux.org>
|
||||
* Aurelien Foret <aurelien@archlinux.org>
|
||||
* Aaron Griffin <aaron@archlinux.org>
|
||||
* Dan McGee <dan@archlinux.org>
|
||||
* Xavier Chantry <shiningxc@gmail.com>
|
||||
* Nagy Gabor <ngaba@bibl.u-szeged.hu>
|
||||
|
||||
|
||||
@@ -77,7 +77,6 @@ Releases
|
||||
[frame="topbot",grid="none",options="header,autowidth"]
|
||||
!======
|
||||
!Version !Date
|
||||
!5.2.2 !2020-06-23
|
||||
!5.2.1 !2019-11-01
|
||||
!5.2.0 !2019-10-21
|
||||
!5.1.3 !2019-03-01
|
||||
@@ -194,11 +193,11 @@ link:https://sources.archlinux.org/other/pacman/[]. To install, download the new
|
||||
available source tarball, unpack it in a directory, and run the three magic
|
||||
commands:
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
# make install
|
||||
$ meson build
|
||||
$ ninja -C build
|
||||
# ninja -C build install
|
||||
|
||||
You may wish to read the options presented by `./configure --help` in order to
|
||||
You may wish to read the options presented by `meson` in order to
|
||||
set appropriate paths and build options that are correct for your system.
|
||||
|
||||
Development
|
||||
|
||||
@@ -274,7 +274,7 @@ Environment Variables
|
||||
|
||||
**GPGKEY=**"keyid"::
|
||||
Specify a key to use when signing packages, overriding the GPGKEY setting
|
||||
in linkman:makepkg.conf[5]
|
||||
in linkman:makepkg.conf[5].
|
||||
|
||||
**SOURCE_DATE_EPOCH=**"<date>"::
|
||||
Used for link:https://reproducible-builds.org/docs/[Reproducible Builds].
|
||||
@@ -299,7 +299,7 @@ On exit, makepkg will return one of the following error codes.
|
||||
Error in configuration file.
|
||||
|
||||
3::
|
||||
User specified an invalid option
|
||||
User specified an invalid option.
|
||||
|
||||
4::
|
||||
Error in user-supplied function in PKGBUILD.
|
||||
|
||||
@@ -192,7 +192,7 @@ Options
|
||||
**INTEGRITY_CHECK=(**check1 ...**)**::
|
||||
File integrity checks to use. Multiple checks may be specified; this
|
||||
affects both generation and checking. The current valid options are:
|
||||
`md5`, `sha1`, `sha224`, `sha256`, `sha384`, `sha512`, and `b2`.
|
||||
`ck`, `md5`, `sha1`, `sha224`, `sha256`, `sha384`, `sha512`, and `b2`.
|
||||
|
||||
**STRIP_BINARIES=**"--strip-all"::
|
||||
Options to be used when stripping binaries. See linkman:strip[1]
|
||||
|
||||
@@ -129,6 +129,10 @@ meson.add_install_script(MESON_MAKE_SYMLINK,
|
||||
'repo-add.8',
|
||||
join_paths(MANDIR, 'man8/repo-remove.8'))
|
||||
|
||||
meson.add_install_script(MESON_MAKE_SYMLINK,
|
||||
'alpm-hooks.5',
|
||||
join_paths(MANDIR, 'man5/pacman-hooks.5'))
|
||||
|
||||
doxygen = find_program('doxygen', required : get_option('doxygen'))
|
||||
if doxygen.found() and not get_option('doxygen').disabled()
|
||||
doxyconf = configuration_data()
|
||||
|
||||
@@ -186,6 +186,10 @@ Options
|
||||
*Color*::
|
||||
Automatically enable colors only when pacman's output is on a tty.
|
||||
|
||||
*NoProgressBar*::
|
||||
Disables progress bars. This is useful for terminals which do
|
||||
not support escape characters.
|
||||
|
||||
*TotalDownload*::
|
||||
When downloading, display the amount downloaded, download rate, ETA,
|
||||
and completed percentage of the entire download list rather
|
||||
@@ -205,6 +209,11 @@ Options
|
||||
Disable defaults for low speed limit and timeout on downloads. Use this
|
||||
if you have issues downloading files with proxy and/or security gateway.
|
||||
|
||||
*ParallelDownloads*::
|
||||
Specifies number of concurrent download streams. The value needs to be a
|
||||
positive integer. If this config option is not set then only one download
|
||||
stream is used (i.e. downloads happen sequentially).
|
||||
|
||||
|
||||
Repository Sections
|
||||
-------------------
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
dist_sysconf_DATA = makepkg.conf pacman.conf
|
||||
EXTRA_DIST = makepkg.conf.in pacman.conf.in
|
||||
|
||||
# Files that should be removed, but which Automake does not know.
|
||||
MOSTLYCLEANFILES = $(dist_sysconf_DATA)
|
||||
|
||||
SED_PROCESS = \
|
||||
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
|
||||
$(SED) \
|
||||
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
|
||||
-e 's|@localstatedir[@]|$(localstatedir)|g' \
|
||||
-e 's|@prefix[@]|$(prefix)|g' \
|
||||
-e 's|@PACKAGE_VERSION[@]|$(PACKAGE_VERSION)|g' \
|
||||
-e 's|@PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \
|
||||
-e 's|@PKGEXT[@]|$(PKGEXT)|g' \
|
||||
-e 's|@SRCEXT[@]|$(SRCEXT)|g' \
|
||||
-e 's|@STRIP_BINARIES[@]|$(STRIP_BINARIES)|g' \
|
||||
-e 's|@STRIP_SHARED[@]|$(STRIP_SHARED)|g' \
|
||||
-e 's|@STRIP_STATIC[@]|$(STRIP_STATIC)|g' \
|
||||
-e 's|@CARCH[@]|$(CARCH)|g' \
|
||||
-e 's|@CHOST[@]|$(CHOST)|g' \
|
||||
-e 's|@ARCHSWITCH[@]|$(ARCHSWITCH)|g' \
|
||||
-e 's|@ROOTDIR[@]|$(ROOTDIR)|g' \
|
||||
< $< > $@
|
||||
|
||||
%.conf: %.conf.in Makefile
|
||||
$(SED_PROCESS)
|
||||
@@ -24,6 +24,7 @@ DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u'
|
||||
#-- The package required by makepkg to download VCS sources
|
||||
# Format: 'protocol::package'
|
||||
VCSCLIENTS=('bzr::bzr'
|
||||
'fossil::fossil'
|
||||
'git::git'
|
||||
'hg::mercurial'
|
||||
'svn::subversion')
|
||||
@@ -52,7 +53,7 @@ CHOST="@CHOST@"
|
||||
# BUILD ENVIRONMENT
|
||||
#########################################################################
|
||||
#
|
||||
# Defaults: BUILDENV=(!distcc !color !ccache check !sign)
|
||||
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
|
||||
# A negated environment option will do the opposite of the comments below.
|
||||
#
|
||||
#-- distcc: Use the Distributed C/C++/ObjC compiler
|
||||
@@ -75,7 +76,7 @@ BUILDENV=(!distcc color !ccache check !sign)
|
||||
# These are default values for the options=() settings
|
||||
#########################################################################
|
||||
#
|
||||
# Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug)
|
||||
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug)
|
||||
# A negated option will do the opposite of the comments below.
|
||||
#
|
||||
#-- strip: Strip symbols from binaries/libraries
|
||||
@@ -89,8 +90,8 @@ BUILDENV=(!distcc color !ccache check !sign)
|
||||
#
|
||||
OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !debug)
|
||||
|
||||
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
|
||||
INTEGRITY_CHECK=(md5)
|
||||
#-- File integrity checks to use. Valid: ck, md5, sha1, sha224, sha256, sha384, sha512, b2
|
||||
INTEGRITY_CHECK=(ck)
|
||||
#-- Options to be used when stripping binaries. See `man strip' for details.
|
||||
STRIP_BINARIES="@STRIP_BINARIES@"
|
||||
#-- Options to be used when stripping shared libraries. See `man strip' for details.
|
||||
|
||||
@@ -31,9 +31,11 @@ Architecture = auto
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
#Color
|
||||
#NoProgressBar
|
||||
#TotalDownload
|
||||
CheckSpace
|
||||
#VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
|
||||
# PGP signature checking
|
||||
#SigLevel = Optional
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
AUTOMAKE_OPTIONS = gnu
|
||||
|
||||
SUBDIRS = po
|
||||
|
||||
EXTRA_DIST = meson.build po/meson.build
|
||||
|
||||
lib_LTLIBRARIES = libalpm.la
|
||||
include_HEADERS = alpm_list.h alpm.h
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-imacros $(top_builddir)/config.h \
|
||||
-DSYSHOOKDIR=\"@datarootdir@/libalpm/hooks/\" \
|
||||
-DLOCALEDIR=\"@localedir@\"
|
||||
|
||||
AM_CFLAGS = -pedantic -D_GNU_SOURCE $(WARNING_CFLAGS)
|
||||
|
||||
if ENABLE_VISIBILITY_CC
|
||||
if DARWIN
|
||||
AM_CFLAGS += -fvisibility=hidden
|
||||
else
|
||||
AM_CFLAGS += -fvisibility=internal
|
||||
endif
|
||||
endif
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libalpm.pc
|
||||
|
||||
libalpm_la_SOURCES = \
|
||||
add.h add.c \
|
||||
alpm.h alpm.c \
|
||||
alpm_list.h alpm_list.c \
|
||||
backup.h backup.c \
|
||||
base64.h base64.c \
|
||||
be_local.c \
|
||||
be_package.c \
|
||||
be_sync.c \
|
||||
conflict.h conflict.c \
|
||||
db.h db.c \
|
||||
deps.h deps.c \
|
||||
diskspace.h diskspace.c \
|
||||
dload.h dload.c \
|
||||
error.c \
|
||||
filelist.h filelist.c \
|
||||
graph.h graph.c \
|
||||
group.h group.c \
|
||||
handle.h handle.c \
|
||||
hook.h hook.c \
|
||||
ini.h ini.c \
|
||||
libarchive-compat.h \
|
||||
log.h log.c \
|
||||
package.h package.c \
|
||||
pkghash.h pkghash.c \
|
||||
rawstr.c \
|
||||
remove.h remove.c \
|
||||
signing.c signing.h \
|
||||
sync.h sync.c \
|
||||
trans.h trans.c \
|
||||
util.h util.c \
|
||||
util-common.h util-common.c \
|
||||
version.c
|
||||
|
||||
libalpm_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION_INFO)
|
||||
|
||||
libalpm_la_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
$(GPGME_CFLAGS) \
|
||||
$(LIBARCHIVE_CFLAGS) \
|
||||
$(LIBCURL_CFLAGS) \
|
||||
$(LIBSSL_CFLAGS) \
|
||||
$(NETTLE_CFLAGS)
|
||||
|
||||
libalpm_la_LIBADD = \
|
||||
$(LTLIBINTL) \
|
||||
$(GPGME_LIBS) \
|
||||
$(LIBARCHIVE_LIBS) \
|
||||
$(LIBCURL_LIBS) \
|
||||
$(LIBSSL_LIBS) \
|
||||
$(NETTLE_LIBS)
|
||||
@@ -47,7 +47,6 @@
|
||||
#include "remove.h"
|
||||
#include "handle.h"
|
||||
|
||||
/** Add a package to the transaction. */
|
||||
int SYMEXPORT alpm_add_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg)
|
||||
{
|
||||
const char *pkgname, *pkgver;
|
||||
@@ -484,8 +483,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
/* set up fake remove transaction */
|
||||
if(_alpm_remove_single_package(handle, oldpkg, newpkg, 0, 0) == -1) {
|
||||
handle->pm_errno = ALPM_ERR_TRANS_ABORT;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -496,15 +494,13 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
"error: could not create database entry %s-%s\n",
|
||||
newpkg->name, newpkg->version);
|
||||
handle->pm_errno = ALPM_ERR_DB_WRITE;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
fd = _alpm_open_archive(db->handle, pkgfile, &buf,
|
||||
&archive, ALPM_ERR_PKG_OPEN);
|
||||
if(fd < 0) {
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* save the cwd so we can restore it later */
|
||||
@@ -522,8 +518,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
close(cwdfd);
|
||||
}
|
||||
close(fd);
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(trans->flags & ALPM_TRANS_FLAG_DBONLY) {
|
||||
@@ -607,8 +602,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
"error: could not update database entry %s-%s\n",
|
||||
newpkg->name, newpkg->version);
|
||||
handle->pm_errno = ALPM_ERR_DB_WRITE;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(_alpm_db_add_pkgincache(db, newpkg) == -1) {
|
||||
@@ -654,7 +648,6 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
|
||||
event.type = ALPM_EVENT_PACKAGE_OPERATION_DONE;
|
||||
EVENT(handle, &event);
|
||||
|
||||
cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,19 +32,6 @@
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
|
||||
/** \addtogroup alpm_interface Interface Functions
|
||||
* @brief Functions to initialize and release libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Initializes the library.
|
||||
* Creates handle, connects to database and creates lockfile.
|
||||
* This must be called before any other functions are called.
|
||||
* @param root the root path for all filesystem operations
|
||||
* @param dbpath the absolute path to the libalpm database
|
||||
* @param err an optional variable to hold any error return codes
|
||||
* @return a context handle on success, NULL on error, err will be set if provided
|
||||
*/
|
||||
alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
|
||||
alpm_errno_t *err)
|
||||
{
|
||||
@@ -83,6 +70,13 @@ alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
curl_global_init(CURL_GLOBAL_ALL);
|
||||
myhandle->curlm = curl_multi_init();
|
||||
#endif
|
||||
|
||||
myhandle->parallel_downloads = 1;
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
bindtextdomain("libalpm", LOCALEDIR);
|
||||
#endif
|
||||
@@ -99,14 +93,6 @@ cleanup:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Release the library.
|
||||
* Disconnects from the database, removes handle and lockfile
|
||||
* This should be the last alpm call you make.
|
||||
* After this returns, handle should be considered invalid and cannot be reused
|
||||
* in any way.
|
||||
* @param myhandle the context handle
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int SYMEXPORT alpm_release(alpm_handle_t *myhandle)
|
||||
{
|
||||
int ret = 0;
|
||||
@@ -125,33 +111,22 @@ int SYMEXPORT alpm_release(alpm_handle_t *myhandle)
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
_alpm_handle_unlock(myhandle);
|
||||
_alpm_handle_free(myhandle);
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
curl_multi_cleanup(myhandle->curlm);
|
||||
curl_global_cleanup();
|
||||
#endif
|
||||
|
||||
_alpm_handle_unlock(myhandle);
|
||||
_alpm_handle_free(myhandle);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup alpm_misc Miscellaneous Functions
|
||||
* @brief Various libalpm functions
|
||||
*/
|
||||
|
||||
/** Get the version of library.
|
||||
* @return the library version, e.g. "6.0.4"
|
||||
* */
|
||||
const char SYMEXPORT *alpm_version(void)
|
||||
{
|
||||
return LIB_VERSION;
|
||||
}
|
||||
|
||||
/** Get the capabilities of the library.
|
||||
* @return a bitmask of the capabilities
|
||||
* */
|
||||
int SYMEXPORT alpm_capabilities(void)
|
||||
{
|
||||
return 0
|
||||
|
||||
@@ -335,6 +335,11 @@ typedef enum _alpm_hook_when_t {
|
||||
* Logging facilities
|
||||
*/
|
||||
|
||||
/** \addtogroup alpm_log Logging Functions
|
||||
* @brief Functions to log using libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Logging Levels */
|
||||
typedef enum _alpm_loglevel_t {
|
||||
ALPM_LOG_ERROR = 1,
|
||||
@@ -345,9 +350,17 @@ typedef enum _alpm_loglevel_t {
|
||||
|
||||
typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list);
|
||||
|
||||
/** A printf-like function for logging.
|
||||
* @param handle the context handle
|
||||
* @param prefix caller-specific prefix for the log
|
||||
* @param fmt output format
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_logaction(alpm_handle_t *handle, const char *prefix,
|
||||
const char *fmt, ...) __attribute__((format(printf, 3, 4)));
|
||||
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* Type of events.
|
||||
*/
|
||||
@@ -389,21 +402,18 @@ typedef enum _alpm_event_type_t {
|
||||
/** Scriptlet has printed information; See alpm_event_scriptlet_info_t for
|
||||
* arguments. */
|
||||
ALPM_EVENT_SCRIPTLET_INFO,
|
||||
/** Files will be downloaded from a repository. */
|
||||
ALPM_EVENT_RETRIEVE_START,
|
||||
/** Files were downloaded from a repository. */
|
||||
ALPM_EVENT_RETRIEVE_DONE,
|
||||
/** Not all files were successfully downloaded from a repository. */
|
||||
ALPM_EVENT_RETRIEVE_FAILED,
|
||||
/** A file will be downloaded from a repository; See alpm_event_pkgdownload_t
|
||||
* for arguments */
|
||||
ALPM_EVENT_PKGDOWNLOAD_START,
|
||||
/** A file was downloaded from a repository; See alpm_event_pkgdownload_t
|
||||
* for arguments */
|
||||
ALPM_EVENT_PKGDOWNLOAD_DONE,
|
||||
/** A file failed to be downloaded from a repository; See
|
||||
* alpm_event_pkgdownload_t for arguments */
|
||||
ALPM_EVENT_PKGDOWNLOAD_FAILED,
|
||||
/** Database files will be downloaded from a repository. */
|
||||
ALPM_EVENT_DB_RETRIEVE_START,
|
||||
/** Database files were downloaded from a repository. */
|
||||
ALPM_EVENT_DB_RETRIEVE_DONE,
|
||||
/** Not all database files were successfully downloaded from a repository. */
|
||||
ALPM_EVENT_DB_RETRIEVE_FAILED,
|
||||
/** Package files will be downloaded from a repository. */
|
||||
ALPM_EVENT_PKG_RETRIEVE_START,
|
||||
/** Package files were downloaded from a repository. */
|
||||
ALPM_EVENT_PKG_RETRIEVE_DONE,
|
||||
/** Not all package files were successfully downloaded from a repository. */
|
||||
ALPM_EVENT_PKG_RETRIEVE_FAILED,
|
||||
/** Disk space usage will be computed for a package. */
|
||||
ALPM_EVENT_DISKSPACE_START,
|
||||
/** Disk space usage was computed for a package. */
|
||||
@@ -696,13 +706,42 @@ typedef void (*alpm_cb_progress)(alpm_progress_t, const char *, int, size_t, siz
|
||||
* Downloading
|
||||
*/
|
||||
|
||||
/* File download events.
|
||||
* These events are reported by ALPM via download callback.
|
||||
*/
|
||||
typedef enum {
|
||||
ALPM_DOWNLOAD_INIT, /* alpm initializes file download logic */
|
||||
ALPM_DOWNLOAD_PROGRESS, /* download progress reported */
|
||||
ALPM_DOWNLOAD_COMPLETED /* alpm is about to release data related to the file */
|
||||
} alpm_download_event_type_t;
|
||||
|
||||
typedef struct {
|
||||
int optional; /* whether this file is optional and thus the errors could be ignored */
|
||||
} alpm_download_event_init_t;
|
||||
|
||||
typedef struct {
|
||||
off_t downloaded; /* amount of data downloaded */
|
||||
off_t total; /* total amount need to be downloaded */
|
||||
} alpm_download_event_progress_t;
|
||||
|
||||
typedef struct {
|
||||
/* total bytes in file */
|
||||
off_t total;
|
||||
/* download result code:
|
||||
* 0 - download completed successfully
|
||||
* 1 - the file is up-to-date
|
||||
* -1 - error
|
||||
*/
|
||||
int result;
|
||||
} alpm_download_event_completed_t;
|
||||
|
||||
/** Type of download progress callbacks.
|
||||
* @param filename the name of the file being downloaded
|
||||
* @param xfered the number of transferred bytes
|
||||
* @param total the total number of bytes to transfer
|
||||
* @param event the event type
|
||||
* @param data the event data of type alpm_download_event_*_t
|
||||
*/
|
||||
typedef void (*alpm_cb_download)(const char *filename,
|
||||
off_t xfered, off_t total);
|
||||
alpm_download_event_type_t event, void *data);
|
||||
|
||||
typedef void (*alpm_cb_totaldl)(off_t total);
|
||||
|
||||
@@ -716,12 +755,17 @@ typedef void (*alpm_cb_totaldl)(off_t total);
|
||||
typedef int (*alpm_cb_fetch)(const char *url, const char *localpath,
|
||||
int force);
|
||||
|
||||
/** Fetch a remote pkg.
|
||||
/** Fetch a list of remote packages.
|
||||
* @param handle the context handle
|
||||
* @param url URL of the package to download
|
||||
* @return the downloaded filepath on success, NULL on error
|
||||
* @param urls list of package URLs to download
|
||||
* @param fetched list of filepaths to the fetched packages, each item
|
||||
* corresponds to one in `urls` list. This is an output parameter,
|
||||
* the caller should provide a pointer to an empty list
|
||||
* (*fetched === NULL) and the callee fills the list with data.
|
||||
* @return 0 on success or -1 on failure
|
||||
*/
|
||||
char *alpm_fetch_pkgurl(alpm_handle_t *handle, const char *url);
|
||||
int alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
|
||||
alpm_list_t **fetched);
|
||||
|
||||
/** @addtogroup alpm_api_options Options
|
||||
* Libalpm option getters and setters
|
||||
@@ -890,6 +934,17 @@ int alpm_option_set_remote_file_siglevel(alpm_handle_t *handle, int level);
|
||||
|
||||
int alpm_option_set_disable_dl_timeout(alpm_handle_t *handle, unsigned short disable_dl_timeout);
|
||||
|
||||
int alpm_option_get_parallel_downloads(alpm_handle_t *handle);
|
||||
|
||||
/** Sets number of parallel streams to download database and package files.
|
||||
* If the function is not called then the default value of '1' stream
|
||||
* (i.e. sequential download) is used.
|
||||
* @param handle the context handle
|
||||
* @param num_streams number of parallel download streams
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_option_set_parallel_downloads(alpm_handle_t *handle, unsigned int num_streams);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @addtogroup alpm_api_databases Database Functions
|
||||
@@ -960,13 +1015,65 @@ int alpm_db_get_valid(alpm_db_t *db);
|
||||
/** @name Accessors to the list of servers for a database.
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Get the list of servers assigned to this db.
|
||||
* @param db pointer to the database to get the servers from
|
||||
* @return a char* list of servers
|
||||
*/
|
||||
alpm_list_t *alpm_db_get_servers(const alpm_db_t *db);
|
||||
|
||||
/** Sets the list of servers for the database to use.
|
||||
* @param db the database to set the servers
|
||||
* @param a char* list of servers. Note: the database will
|
||||
* take ownership of the list and it should no longer be
|
||||
* freed by the caller
|
||||
*/
|
||||
int alpm_db_set_servers(alpm_db_t *db, alpm_list_t *servers);
|
||||
|
||||
/** Add a download server to a database.
|
||||
* @param db database pointer
|
||||
* @param url url of the server
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_db_add_server(alpm_db_t *db, const char *url);
|
||||
|
||||
/** Remove a download server from a database.
|
||||
* @param db database pointer
|
||||
* @param url url of the server
|
||||
* @return 0 on success, 1 on server not present,
|
||||
* -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_db_remove_server(alpm_db_t *db, const char *url);
|
||||
/** @} */
|
||||
|
||||
int alpm_db_update(int force, alpm_db_t *db);
|
||||
/** Update package databases
|
||||
*
|
||||
* An update of the package databases in the list \a dbs will be attempted.
|
||||
* Unless \a force is true, the update will only be performed if the remote
|
||||
* databases were modified since the last update.
|
||||
*
|
||||
* This operation requires a database lock, and will return an applicable error
|
||||
* if the lock could not be obtained.
|
||||
*
|
||||
* Example:
|
||||
* @code
|
||||
* alpm_list_t *dbs = alpm_get_syncdbs();
|
||||
* ret = alpm_db_update(config->handle, dbs, force);
|
||||
* if(ret < 0) {
|
||||
* pm_printf(ALPM_LOG_ERROR, _("failed to synchronize all databases (%s)\n"),
|
||||
* alpm_strerror(alpm_errno(config->handle)));
|
||||
* }
|
||||
* @endcode
|
||||
*
|
||||
* @note After a successful update, the \link alpm_db_get_pkgcache()
|
||||
* package cache \endlink will be invalidated
|
||||
* @param handle the context handle
|
||||
* @param dbs list of package databases to update
|
||||
* @param force if true, then forces the update, otherwise update only in case
|
||||
* the databases aren't up to date
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_db_update(alpm_handle_t *handle, alpm_list_t *dbs, int force);
|
||||
|
||||
/** Get a package entry from a package database.
|
||||
* @param db pointer to the package database to get the package from
|
||||
@@ -997,9 +1104,12 @@ alpm_list_t *alpm_db_get_groupcache(alpm_db_t *db);
|
||||
/** Searches a database with regular expressions.
|
||||
* @param db pointer to the package database to search in
|
||||
* @param needles a list of regular expressions to search for
|
||||
* @return the list of packages matching all regular expressions on success, NULL on error
|
||||
* @param ret pointer to list for storing packages matching all
|
||||
* regular expressions - must point to an empty (NULL) alpm_list_t *.
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
alpm_list_t *alpm_db_search(alpm_db_t *db, const alpm_list_t *needles);
|
||||
int alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
|
||||
alpm_list_t **ret);
|
||||
|
||||
typedef enum _alpm_db_usage_t {
|
||||
ALPM_DB_USAGE_SYNC = 1,
|
||||
@@ -1066,7 +1176,20 @@ int alpm_pkg_free(alpm_pkg_t *pkg);
|
||||
*/
|
||||
int alpm_pkg_checkmd5sum(alpm_pkg_t *pkg);
|
||||
|
||||
/** Compare two version strings and determine which one is 'newer'. */
|
||||
/** Compare two version strings and determine which one is 'newer'.
|
||||
* Returns a value comparable to the way strcmp works. Returns 1
|
||||
* if a is newer than b, 0 if a and b are the same version, or -1
|
||||
* if b is newer than a.
|
||||
*
|
||||
* Different epoch values for version strings will override any further
|
||||
* comparison. If no epoch is provided, 0 is assumed.
|
||||
*
|
||||
* Keep in mind that the pkgrel is only compared if it is available
|
||||
* on both versions handed to this function. For example, comparing
|
||||
* 1.5-1 and 1.5 will yield 0; comparing 1.5-1 and 1.5-2 will yield
|
||||
* -1 as expected. This is mainly for supporting versioned dependencies
|
||||
* that do not include the pkgrel.
|
||||
*/
|
||||
int alpm_pkg_vercmp(const char *a, const char *b);
|
||||
|
||||
/** Computes the list of packages requiring a given package.
|
||||
@@ -1284,6 +1407,17 @@ alpm_db_t *alpm_pkg_get_db(alpm_pkg_t *pkg);
|
||||
*/
|
||||
const char *alpm_pkg_get_base64_sig(alpm_pkg_t *pkg);
|
||||
|
||||
/** Extracts package signature either from embedded package signature
|
||||
* or if it is absent then reads data from detached signature file.
|
||||
* @param pkg a pointer to package.
|
||||
* @param sig output parameter for signature data. Callee function allocates
|
||||
* a buffer needed for the signature data. Caller is responsible for
|
||||
* freeing this buffer.
|
||||
* @param sig_len output parameter for the signature data length.
|
||||
* @return 0 on success, negative number on error.
|
||||
*/
|
||||
int alpm_pkg_get_sig(alpm_pkg_t *pkg, unsigned char **sig, size_t *sig_len);
|
||||
|
||||
/** Returns the method used to validate a package during install.
|
||||
* @param pkg a pointer to package
|
||||
* @return an enum member giving the validation method
|
||||
@@ -1314,11 +1448,15 @@ void *alpm_pkg_changelog_open(alpm_pkg_t *pkg);
|
||||
size_t alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
const alpm_pkg_t *pkg, void *fp);
|
||||
|
||||
/** Close a package changelog for reading.
|
||||
* @param pkg the package to close the changelog of (either file or db)
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp);
|
||||
|
||||
/** Open a package mtree file for reading.
|
||||
* @param pkg the local package to read the changelog of
|
||||
* @return a archive structure for the package mtree file
|
||||
* @param pkg the local package to read the mtree of
|
||||
* @return an archive structure for the package mtree file
|
||||
*/
|
||||
struct archive *alpm_pkg_mtree_open(alpm_pkg_t *pkg);
|
||||
|
||||
@@ -1326,11 +1464,15 @@ struct archive *alpm_pkg_mtree_open(alpm_pkg_t *pkg);
|
||||
* @param pkg the package that the mtree file is being read from
|
||||
* @param archive the archive structure reading from the mtree file
|
||||
* @param entry an archive_entry to store the entry header information
|
||||
* @return 0 if end of archive is reached, non-zero otherwise.
|
||||
* @return 0 on success, 1 if end of archive is reached, -1 otherwise.
|
||||
*/
|
||||
int alpm_pkg_mtree_next(const alpm_pkg_t *pkg, struct archive *archive,
|
||||
struct archive_entry **entry);
|
||||
|
||||
/** Close a package mtree file.
|
||||
* @param pkg the local package to close the mtree of
|
||||
* @param the archive to close
|
||||
*/
|
||||
int alpm_pkg_mtree_close(const alpm_pkg_t *pkg, struct archive *archive);
|
||||
|
||||
/** Returns whether the package has an install scriptlet.
|
||||
@@ -1338,8 +1480,7 @@ int alpm_pkg_mtree_close(const alpm_pkg_t *pkg, struct archive *archive);
|
||||
*/
|
||||
int alpm_pkg_has_scriptlet(alpm_pkg_t *pkg);
|
||||
|
||||
/** Returns the size of download.
|
||||
* Returns the size of the files that will be downloaded to install a
|
||||
/** Returns the size of the files that will be downloaded to install a
|
||||
* package.
|
||||
* @param newpkg the new package to upgrade to
|
||||
* @return the size of the download
|
||||
@@ -1377,15 +1518,48 @@ alpm_file_t *alpm_filelist_contains(alpm_filelist_t *filelist, const char *path)
|
||||
* Signatures
|
||||
*/
|
||||
|
||||
/**
|
||||
* Check the PGP signature for the given package file.
|
||||
* @param pkg the package to check
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
|
||||
*/
|
||||
int alpm_pkg_check_pgp_signature(alpm_pkg_t *pkg, alpm_siglist_t *siglist);
|
||||
|
||||
/**
|
||||
* Check the PGP signature for the given database.
|
||||
* @param db the database to check
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
|
||||
*/
|
||||
int alpm_db_check_pgp_signature(alpm_db_t *db, alpm_siglist_t *siglist);
|
||||
|
||||
/**
|
||||
* Clean up and free a signature result list.
|
||||
* Note that this does not free the siglist object itself in case that
|
||||
* was allocated on the stack; this is the responsibility of the caller.
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_siglist_cleanup(alpm_siglist_t *siglist);
|
||||
|
||||
/**
|
||||
* Decode a loaded signature in base64 form.
|
||||
* @param base64_data the signature to attempt to decode
|
||||
* @param data the decoded data; must be freed by the caller
|
||||
* @param data_len the length of the returned data
|
||||
* @return 0 on success, -1 on failure to properly decode
|
||||
*/
|
||||
int alpm_decode_signature(const char *base64_data,
|
||||
unsigned char **data, size_t *data_len);
|
||||
|
||||
/**
|
||||
* Extract the Issuer Key ID from a signature
|
||||
* @param sig PGP signature
|
||||
* @param len length of signature
|
||||
* @param keys a pointer to storage for key IDs
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_extract_keyid(alpm_handle_t *handle, const char *identifier,
|
||||
const unsigned char *sig, const size_t len, alpm_list_t **keys);
|
||||
|
||||
@@ -1393,12 +1567,22 @@ int alpm_extract_keyid(alpm_handle_t *handle, const char *identifier,
|
||||
* Groups
|
||||
*/
|
||||
|
||||
/** Find group members across a list of databases.
|
||||
* If a member exists in several databases, only the first database is used.
|
||||
* IgnorePkg is also handled.
|
||||
* @param dbs the list of alpm_db_t *
|
||||
* @param name the name of the group
|
||||
* @return the list of alpm_pkg_t * (caller is responsible for alpm_list_free)
|
||||
*/
|
||||
alpm_list_t *alpm_find_group_pkgs(alpm_list_t *dbs, const char *name);
|
||||
|
||||
/*
|
||||
* Sync
|
||||
*/
|
||||
|
||||
/** Check for new version of pkg in sync repos
|
||||
* (only the first occurrence is considered in sync)
|
||||
*/
|
||||
alpm_pkg_t *alpm_sync_get_new_version(alpm_pkg_t *pkg, alpm_list_t *dbs_sync);
|
||||
|
||||
/** @addtogroup alpm_api_trans Transaction Functions
|
||||
@@ -1531,12 +1715,49 @@ int alpm_remove_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg);
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Checks dependencies and returns missing ones in a list.
|
||||
* Dependencies can include versions with depmod operators.
|
||||
* @param handle the context handle
|
||||
* @param pkglist the list of local packages
|
||||
* @param remove an alpm_list_t* of packages to be removed
|
||||
* @param upgrade an alpm_list_t* of packages to be upgraded (remove-then-upgrade)
|
||||
* @param reversedeps handles the backward dependencies
|
||||
* @return an alpm_list_t* of alpm_depmissing_t pointers.
|
||||
*/
|
||||
alpm_list_t *alpm_checkdeps(alpm_handle_t *handle, alpm_list_t *pkglist,
|
||||
alpm_list_t *remove, alpm_list_t *upgrade, int reversedeps);
|
||||
|
||||
/** Find a package satisfying a specified dependency.
|
||||
* The dependency can include versions with depmod operators.
|
||||
* @param pkgs an alpm_list_t* of alpm_pkg_t where the satisfier will be searched
|
||||
* @param depstring package or provision name, versioned or not
|
||||
* @return a alpm_pkg_t* satisfying depstring
|
||||
*/
|
||||
alpm_pkg_t *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstring);
|
||||
|
||||
/** Find a package satisfying a specified dependency.
|
||||
* First look for a literal, going through each db one by one. Then look for
|
||||
* providers. The first satisfier that belongs to an installed package is
|
||||
* returned. If no providers belong to an installed package then an
|
||||
* alpm_question_select_provider_t is created to select the provider.
|
||||
* The dependency can include versions with depmod operators.
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param dbs an alpm_list_t* of alpm_db_t where the satisfier will be searched
|
||||
* @param depstring package or provision name, versioned or not
|
||||
* @return a alpm_pkg_t* satisfying depstring
|
||||
*/
|
||||
alpm_pkg_t *alpm_find_dbs_satisfier(alpm_handle_t *handle,
|
||||
alpm_list_t *dbs, const char *depstring);
|
||||
|
||||
/**
|
||||
* @brief Check the package conflicts in a database
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param pkglist the list of packages to check
|
||||
*
|
||||
* @return an alpm_list_t of alpm_conflict_t
|
||||
*/
|
||||
alpm_list_t *alpm_checkconflicts(alpm_handle_t *handle, alpm_list_t *pkglist);
|
||||
|
||||
/** Returns a newly allocated string representing the dependency information.
|
||||
@@ -1565,12 +1786,60 @@ void alpm_dep_free(alpm_depend_t *dep);
|
||||
*/
|
||||
|
||||
/* checksums */
|
||||
|
||||
/** \addtogroup alpm_misc Miscellaneous Functions
|
||||
* @brief Various libalpm functions
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Get the md5 sum of file.
|
||||
* @param filename name of the file
|
||||
* @return the checksum on success, NULL on error
|
||||
*/
|
||||
char *alpm_compute_md5sum(const char *filename);
|
||||
|
||||
/** Get the sha256 sum of file.
|
||||
* @param filename name of the file
|
||||
* @return the checksum on success, NULL on error
|
||||
*/
|
||||
char *alpm_compute_sha256sum(const char *filename);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** \addtogroup alpm_interface Interface Functions
|
||||
* @brief Functions to initialize and release libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Initializes the library.
|
||||
* Creates handle, connects to database and creates lockfile.
|
||||
* This must be called before any other functions are called.
|
||||
* @param root the root path for all filesystem operations
|
||||
* @param dbpath the absolute path to the libalpm database
|
||||
* @param err an optional variable to hold any error return codes
|
||||
* @return a context handle on success, NULL on error, err will be set if provided
|
||||
*/
|
||||
alpm_handle_t *alpm_initialize(const char *root, const char *dbpath,
|
||||
alpm_errno_t *err);
|
||||
|
||||
/** Release the library.
|
||||
* Disconnects from the database, removes handle and lockfile
|
||||
* This should be the last alpm call you make.
|
||||
* After this returns, handle should be considered invalid and cannot be reused
|
||||
* in any way.
|
||||
* @param myhandle the context handle
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int alpm_release(alpm_handle_t *handle);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** Remove the database lock file
|
||||
* @param handle the context handle
|
||||
* @return 0 on success, -1 on error
|
||||
*
|
||||
* @note Safe to call from inside signal handlers.
|
||||
*/
|
||||
int alpm_unlock(alpm_handle_t *handle);
|
||||
|
||||
enum alpm_caps {
|
||||
@@ -1579,12 +1848,27 @@ enum alpm_caps {
|
||||
ALPM_CAPABILITY_SIGNATURES = (1 << 2)
|
||||
};
|
||||
|
||||
/** Get the version of library.
|
||||
* @return the library version, e.g. "6.0.4"
|
||||
* */
|
||||
const char *alpm_version(void);
|
||||
/* Return a bitfield of capabilities using values from 'enum alpm_caps' */
|
||||
|
||||
/** Get the capabilities of the library.
|
||||
* @return a bitmask of the capabilities
|
||||
* */
|
||||
int alpm_capabilities(void);
|
||||
|
||||
/**
|
||||
* Free a fileconflict and its members.
|
||||
* @param conflict the fileconflict to free
|
||||
*/
|
||||
void alpm_fileconflict_free(alpm_fileconflict_t *conflict);
|
||||
void alpm_depmissing_free(alpm_depmissing_t *miss);
|
||||
|
||||
/**
|
||||
* Free a conflict and its members.
|
||||
* @param conflict the conflict to free
|
||||
*/
|
||||
void alpm_conflict_free(alpm_conflict_t *conflict);
|
||||
|
||||
/* End of alpm_api */
|
||||
|
||||
@@ -256,8 +256,7 @@ static struct archive *_cache_mtree_open(alpm_pkg_t *pkg)
|
||||
}
|
||||
|
||||
if((mtree = archive_read_new()) == NULL) {
|
||||
pkg->handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(pkg->handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
_alpm_archive_read_support_filter_all(mtree);
|
||||
@@ -266,9 +265,8 @@ static struct archive *_cache_mtree_open(alpm_pkg_t *pkg)
|
||||
if((r = _alpm_archive_read_open_file(mtree, mtfile, ALPM_BUFFER_SIZE))) {
|
||||
_alpm_log(pkg->handle, ALPM_LOG_ERROR, _("error while reading file %s: %s\n"),
|
||||
mtfile, archive_error_string(mtree));
|
||||
pkg->handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
_alpm_archive_read_free(mtree);
|
||||
goto error;
|
||||
GOTO_ERR(pkg->handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
free(mtfile);
|
||||
@@ -284,12 +282,26 @@ error:
|
||||
* @param pkg the package that the mtree file is being read from
|
||||
* @param archive the archive structure reading from the mtree file
|
||||
* @param entry an archive_entry to store the entry header information
|
||||
* @return 0 if end of archive is reached, non-zero otherwise.
|
||||
* @return 0 on success, 1 if end of archive is reached, -1 otherwise.
|
||||
*/
|
||||
static int _cache_mtree_next(const alpm_pkg_t UNUSED *pkg,
|
||||
struct archive *mtree, struct archive_entry **entry)
|
||||
{
|
||||
return archive_read_next_header(mtree, entry);
|
||||
int ret;
|
||||
ret = archive_read_next_header(mtree, entry);
|
||||
|
||||
switch(ret) {
|
||||
case ARCHIVE_OK:
|
||||
return 0;
|
||||
break;
|
||||
case ARCHIVE_EOF:
|
||||
return 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -680,7 +692,7 @@ char *_alpm_local_db_pkgpath(alpm_db_t *db, alpm_pkg_t *info,
|
||||
static int local_db_read(alpm_pkg_t *info, int inforeq)
|
||||
{
|
||||
FILE *fp = NULL;
|
||||
char line[1024];
|
||||
char line[1024] = {0};
|
||||
alpm_db_t *db = info->origin_data.db;
|
||||
|
||||
/* bitmask logic here:
|
||||
@@ -703,9 +715,6 @@ static int local_db_read(alpm_pkg_t *info, int inforeq)
|
||||
"loading package data for %s : level=0x%x\n",
|
||||
info->name, inforeq);
|
||||
|
||||
/* clear out 'line', to be certain - and to make valgrind happy */
|
||||
memset(line, 0, sizeof(line));
|
||||
|
||||
/* DESC */
|
||||
if(inforeq & INFRQ_DESC && !(info->infolevel & INFRQ_DESC)) {
|
||||
char *path = _alpm_local_db_pkgpath(db, info, "desc");
|
||||
@@ -832,12 +841,7 @@ static int local_db_read(alpm_pkg_t *info, int inforeq)
|
||||
}
|
||||
/* attempt to hand back any memory we don't need */
|
||||
if(files_count > 0) {
|
||||
alpm_file_t *newfiles;
|
||||
|
||||
newfiles = realloc(files, sizeof(alpm_file_t) * files_count);
|
||||
if(newfiles != NULL) {
|
||||
files = newfiles;
|
||||
}
|
||||
REALLOC(files, sizeof(alpm_file_t) * files_count, (void)0);
|
||||
} else {
|
||||
FREE(files);
|
||||
}
|
||||
|
||||
@@ -164,9 +164,8 @@ static int parse_descfile(alpm_handle_t *handle, struct archive *a, alpm_pkg_t *
|
||||
char *ptr = NULL;
|
||||
char *key = NULL;
|
||||
int ret, linenum = 0;
|
||||
struct archive_read_buffer buf;
|
||||
struct archive_read_buffer buf = {0};
|
||||
|
||||
memset(&buf, 0, sizeof(buf));
|
||||
/* 512K for a line length seems reasonable */
|
||||
buf.max_line_size = 512 * 1024;
|
||||
|
||||
@@ -202,11 +201,15 @@ static int parse_descfile(alpm_handle_t *handle, struct archive *a, alpm_pkg_t *
|
||||
} else if(strcmp(key, "pkgdesc") == 0) {
|
||||
STRDUP(newpkg->desc, ptr, return -1);
|
||||
} else if(strcmp(key, "group") == 0) {
|
||||
newpkg->groups = alpm_list_add(newpkg->groups, strdup(ptr));
|
||||
char *tmp = NULL;
|
||||
STRDUP(tmp, ptr, return -1);
|
||||
newpkg->groups = alpm_list_add(newpkg->groups, tmp);
|
||||
} else if(strcmp(key, "url") == 0) {
|
||||
STRDUP(newpkg->url, ptr, return -1);
|
||||
} else if(strcmp(key, "license") == 0) {
|
||||
newpkg->licenses = alpm_list_add(newpkg->licenses, strdup(ptr));
|
||||
char *tmp = NULL;
|
||||
STRDUP(tmp, ptr, return -1);
|
||||
newpkg->licenses = alpm_list_add(newpkg->licenses, tmp);
|
||||
} else if(strcmp(key, "builddate") == 0) {
|
||||
newpkg->builddate = _alpm_parsedate(ptr);
|
||||
} else if(strcmp(key, "packager") == 0) {
|
||||
@@ -308,7 +311,7 @@ int _alpm_pkg_validate_internal(alpm_handle_t *handle,
|
||||
}
|
||||
}
|
||||
|
||||
if(syncpkg && !has_sig) {
|
||||
if(syncpkg && (!has_sig || !syncpkg->base64_sig)) {
|
||||
if(syncpkg->md5sum && !syncpkg->sha256sum) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "md5sum: %s\n", syncpkg->md5sum);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "checking md5sum for %s\n", pkgfile);
|
||||
@@ -448,18 +451,15 @@ static int build_filelist_from_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg, str
|
||||
char *mtree_data = NULL;
|
||||
struct archive *mtree;
|
||||
struct archive_entry *mtree_entry = NULL;
|
||||
alpm_filelist_t filelist;
|
||||
alpm_filelist_t filelist = {0};
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"found mtree for package %s, getting file list\n", pkg->filename);
|
||||
|
||||
memset(&filelist, 0, sizeof(alpm_filelist_t));
|
||||
|
||||
/* create a new archive to parse the mtree and load it from archive into memory */
|
||||
/* TODO: split this into a function */
|
||||
if((mtree = archive_read_new()) == NULL) {
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
_alpm_archive_read_support_filter_all(mtree);
|
||||
@@ -478,8 +478,7 @@ static int build_filelist_from_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg, str
|
||||
if(size < 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, _("error while reading package %s: %s\n"),
|
||||
pkg->filename, archive_error_string(archive));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
if(size == 0) {
|
||||
break;
|
||||
@@ -492,8 +491,7 @@ static int build_filelist_from_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg, str
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
_("error while reading mtree of package %s: %s\n"),
|
||||
pkg->filename, archive_error_string(mtree));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
while((ret = archive_read_next_header(mtree, &mtree_entry)) == ARCHIVE_OK) {
|
||||
@@ -516,8 +514,7 @@ static int build_filelist_from_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg, str
|
||||
if(ret != ARCHIVE_EOF && ret != ARCHIVE_OK) { /* An error occurred */
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, _("error while reading mtree of package %s: %s\n"),
|
||||
pkg->filename, archive_error_string(mtree));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
/* throw away any files we loaded directly from the archive */
|
||||
@@ -582,11 +579,9 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
|
||||
newpkg = _alpm_pkg_new();
|
||||
if(newpkg == NULL) {
|
||||
handle->pm_errno = ALPM_ERR_MEMORY;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_MEMORY, error);
|
||||
}
|
||||
STRDUP(newpkg->filename, pkgfile,
|
||||
handle->pm_errno = ALPM_ERR_MEMORY; goto error);
|
||||
STRDUP(newpkg->filename, pkgfile, GOTO_ERR(handle, ALPM_ERR_MEMORY, error));
|
||||
newpkg->size = st.st_size;
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "starting package load for %s\n", pkgfile);
|
||||
@@ -636,8 +631,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
if(archive_read_data_skip(archive)) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("error while reading package %s: %s\n"),
|
||||
pkgfile, archive_error_string(archive));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
/* if we are not doing a full read, see if we have all we need */
|
||||
@@ -649,8 +643,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
if(ret != ARCHIVE_EOF && ret != ARCHIVE_OK) { /* An error occurred */
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("error while reading package %s: %s\n"),
|
||||
pkgfile, archive_error_string(archive));
|
||||
handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_LIBARCHIVE, error);
|
||||
}
|
||||
|
||||
if(!config) {
|
||||
@@ -663,7 +656,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
|
||||
/* internal fields for package struct */
|
||||
newpkg->origin = ALPM_PKG_FROM_FILE;
|
||||
newpkg->origin_data.file = strdup(pkgfile);
|
||||
STRDUP(newpkg->origin_data.file, pkgfile, goto error);
|
||||
newpkg->ops = get_file_pkg_ops();
|
||||
newpkg->handle = handle;
|
||||
newpkg->infolevel = INFRQ_BASE | INFRQ_DESC | INFRQ_SCRIPTLET;
|
||||
@@ -672,8 +665,7 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
|
||||
if(full) {
|
||||
if(newpkg->files.files) {
|
||||
/* attempt to hand back any memory we don't need */
|
||||
newpkg->files.files = realloc(newpkg->files.files,
|
||||
sizeof(alpm_file_t) * newpkg->files.count);
|
||||
REALLOC(newpkg->files.files, sizeof(alpm_file_t) * newpkg->files.count, (void)0);
|
||||
/* "checking for conflicts" requires a sorted list, ensure that here */
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"sorting package filelist for %s\n", pkgfile);
|
||||
|
||||
@@ -136,178 +136,86 @@ valid:
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Update a package database
|
||||
*
|
||||
* An update of the package database \a db will be attempted. Unless
|
||||
* \a force is true, the update will only be performed if the remote
|
||||
* database was modified since the last update.
|
||||
*
|
||||
* This operation requires a database lock, and will return an applicable error
|
||||
* if the lock could not be obtained.
|
||||
*
|
||||
* Example:
|
||||
* @code
|
||||
* alpm_list_t *syncs = alpm_get_syncdbs();
|
||||
* for(i = syncs; i; i = alpm_list_next(i)) {
|
||||
* alpm_db_t *db = alpm_list_getdata(i);
|
||||
* result = alpm_db_update(0, db);
|
||||
*
|
||||
* if(result < 0) {
|
||||
* printf("Unable to update database: %s\n", alpm_strerrorlast());
|
||||
* } else if(result == 1) {
|
||||
* printf("Database already up to date\n");
|
||||
* } else {
|
||||
* printf("Database updated\n");
|
||||
* }
|
||||
* }
|
||||
* @endcode
|
||||
*
|
||||
* @ingroup alpm_databases
|
||||
* @note After a successful update, the \link alpm_db_get_pkgcache()
|
||||
* package cache \endlink will be invalidated
|
||||
* @param force if true, then forces the update, otherwise update only in case
|
||||
* the database isn't up to date
|
||||
* @param db pointer to the package database to update
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly), 1 if up to
|
||||
* to date
|
||||
*/
|
||||
int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
{
|
||||
int SYMEXPORT alpm_db_update(alpm_handle_t *handle, alpm_list_t *dbs, int force) {
|
||||
char *syncpath;
|
||||
const char *dbext;
|
||||
const char *dbext = handle->dbext;
|
||||
alpm_list_t *i;
|
||||
int updated = 0;
|
||||
int ret = -1;
|
||||
mode_t oldmask;
|
||||
alpm_handle_t *handle;
|
||||
int siglevel;
|
||||
alpm_list_t *payloads = NULL;
|
||||
alpm_event_t event;
|
||||
|
||||
/* Sanity checks */
|
||||
ASSERT(db != NULL, return -1);
|
||||
handle = db->handle;
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
ASSERT(dbs != NULL, return -1);
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
ASSERT(db != handle->db_local, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
ASSERT(db->servers != NULL, RET_ERR(handle, ALPM_ERR_SERVER_NONE, -1));
|
||||
|
||||
if(!(db->usage & ALPM_DB_USAGE_SYNC)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
syncpath = get_sync_dir(handle);
|
||||
if(!syncpath) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* force update of invalid databases to fix potential mismatched database/signature */
|
||||
if(db->status & DB_STATUS_INVALID) {
|
||||
force = 1;
|
||||
}
|
||||
ASSERT(syncpath != NULL, return -1);
|
||||
|
||||
/* make sure we have a sane umask */
|
||||
oldmask = umask(0022);
|
||||
|
||||
siglevel = alpm_db_get_siglevel(db);
|
||||
|
||||
/* attempt to grab a lock */
|
||||
if(_alpm_handle_lock(handle)) {
|
||||
free(syncpath);
|
||||
umask(oldmask);
|
||||
RET_ERR(handle, ALPM_ERR_HANDLE_LOCK, -1);
|
||||
GOTO_ERR(handle, ALPM_ERR_HANDLE_LOCK, cleanup);
|
||||
}
|
||||
|
||||
dbext = db->handle->dbext;
|
||||
|
||||
for(i = db->servers; i; i = i->next) {
|
||||
const char *server = i->data, *final_db_url = NULL;
|
||||
struct dload_payload payload;
|
||||
for(i = dbs; i; i = i->next) {
|
||||
alpm_db_t *db = i->data;
|
||||
int dbforce = force;
|
||||
struct dload_payload *payload = NULL;
|
||||
size_t len;
|
||||
int sig_ret = 0;
|
||||
int siglevel;
|
||||
|
||||
memset(&payload, 0, sizeof(struct dload_payload));
|
||||
if(!(db->usage & ALPM_DB_USAGE_SYNC)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* set hard upper limit of 128MiB */
|
||||
payload.max_size = 128 * 1024 * 1024;
|
||||
ASSERT(db != handle->db_local, GOTO_ERR(handle, ALPM_ERR_WRONG_ARGS, cleanup));
|
||||
ASSERT(db->servers != NULL, GOTO_ERR(handle, ALPM_ERR_SERVER_NONE, cleanup));
|
||||
|
||||
/* force update of invalid databases to fix potential mismatched database/signature */
|
||||
if(db->status & DB_STATUS_INVALID) {
|
||||
dbforce = 1;
|
||||
}
|
||||
|
||||
siglevel = alpm_db_get_siglevel(db);
|
||||
|
||||
CALLOC(payload, 1, sizeof(*payload), GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
payload->servers = db->servers;
|
||||
/* print server + filename into a buffer */
|
||||
len = strlen(server) + strlen(db->treename) + strlen(dbext) + 2;
|
||||
MALLOC(payload.fileurl, len,
|
||||
{
|
||||
free(syncpath);
|
||||
umask(oldmask);
|
||||
RET_ERR(handle, ALPM_ERR_MEMORY, -1);
|
||||
}
|
||||
);
|
||||
snprintf(payload.fileurl, len, "%s/%s%s", server, db->treename, dbext);
|
||||
payload.handle = handle;
|
||||
payload.force = force;
|
||||
payload.unlink_on_fail = 1;
|
||||
|
||||
ret = _alpm_download(&payload, syncpath, NULL, &final_db_url);
|
||||
_alpm_dload_payload_reset(&payload);
|
||||
updated = (updated || ret == 0);
|
||||
|
||||
if(ret != -1 && updated && (siglevel & ALPM_SIG_DATABASE)) {
|
||||
/* an existing sig file is no good at this point */
|
||||
char *sigpath = _alpm_sigpath(handle, _alpm_db_path(db));
|
||||
if(!sigpath) {
|
||||
ret = -1;
|
||||
break;
|
||||
}
|
||||
unlink(sigpath);
|
||||
free(sigpath);
|
||||
|
||||
|
||||
/* check if the final URL from internal downloader looks reasonable */
|
||||
if(final_db_url != NULL) {
|
||||
if(strlen(final_db_url) < 3
|
||||
|| strcmp(final_db_url + strlen(final_db_url) - strlen(dbext),
|
||||
dbext) != 0) {
|
||||
final_db_url = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* if we downloaded a DB, we want the .sig from the same server */
|
||||
if(final_db_url != NULL) {
|
||||
/* print final_db_url into a buffer (leave space for .sig) */
|
||||
len = strlen(final_db_url) + 5;
|
||||
} else {
|
||||
/* print server + filename into a buffer (leave space for separator and .sig) */
|
||||
len = strlen(server) + strlen(db->treename) + strlen(dbext) + 6;
|
||||
}
|
||||
|
||||
MALLOC(payload.fileurl, len,
|
||||
{
|
||||
free(syncpath);
|
||||
umask(oldmask);
|
||||
RET_ERR(handle, ALPM_ERR_MEMORY, -1);
|
||||
}
|
||||
);
|
||||
|
||||
if(final_db_url != NULL) {
|
||||
snprintf(payload.fileurl, len, "%s.sig", final_db_url);
|
||||
} else {
|
||||
snprintf(payload.fileurl, len, "%s/%s%s.sig", server, db->treename, dbext);
|
||||
}
|
||||
|
||||
payload.handle = handle;
|
||||
payload.force = 1;
|
||||
payload.errors_ok = (siglevel & ALPM_SIG_DATABASE_OPTIONAL);
|
||||
|
||||
/* set hard upper limit of 16KiB */
|
||||
payload.max_size = 16 * 1024;
|
||||
|
||||
sig_ret = _alpm_download(&payload, syncpath, NULL, NULL);
|
||||
/* errors_ok suppresses error messages, but not the return code */
|
||||
sig_ret = payload.errors_ok ? 0 : sig_ret;
|
||||
_alpm_dload_payload_reset(&payload);
|
||||
}
|
||||
|
||||
if(ret != -1 && sig_ret != -1) {
|
||||
break;
|
||||
}
|
||||
len = strlen(db->treename) + strlen(dbext) + 1;
|
||||
MALLOC(payload->filepath, len,
|
||||
FREE(payload); GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
snprintf(payload->filepath, len, "%s%s", db->treename, dbext);
|
||||
payload->handle = handle;
|
||||
payload->force = dbforce;
|
||||
payload->unlink_on_fail = 1;
|
||||
payload->download_signature = (siglevel & ALPM_SIG_DATABASE);
|
||||
payload->signature_optional = (siglevel & ALPM_SIG_DATABASE_OPTIONAL);
|
||||
/* set hard upper limit of 128 MiB */
|
||||
payload->max_size = 128 * 1024 * 1024;
|
||||
payloads = alpm_list_add(payloads, payload);
|
||||
}
|
||||
|
||||
if(updated) {
|
||||
event.type = ALPM_EVENT_DB_RETRIEVE_START;
|
||||
EVENT(handle, &event);
|
||||
ret = _alpm_download(handle, payloads, syncpath);
|
||||
if(ret < 0) {
|
||||
event.type = ALPM_EVENT_DB_RETRIEVE_FAILED;
|
||||
EVENT(handle, &event);
|
||||
goto cleanup;
|
||||
}
|
||||
event.type = ALPM_EVENT_DB_RETRIEVE_DONE;
|
||||
EVENT(handle, &event);
|
||||
|
||||
for(i = dbs; i; i = i->next) {
|
||||
alpm_db_t *db = i->data;
|
||||
if(!(db->usage & ALPM_DB_USAGE_SYNC)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Cache needs to be rebuilt */
|
||||
_alpm_db_free_pkgcache(db);
|
||||
|
||||
@@ -318,21 +226,29 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
|
||||
db->status &= ~DB_STATUS_MISSING;
|
||||
|
||||
/* if the download failed skip validation to preserve the download error */
|
||||
if(ret != -1 && sync_db_validate(db) != 0) {
|
||||
if(sync_db_validate(db) != 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "failed to validate db: %s\n",
|
||||
db->treename);
|
||||
/* pm_errno should be set */
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
|
||||
cleanup:
|
||||
_alpm_handle_unlock(handle);
|
||||
|
||||
if(ret == -1) {
|
||||
/* pm_errno was set by the download code */
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "failed to sync db: %s\n",
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "failed to sync dbs: %s\n",
|
||||
alpm_strerror(handle->pm_errno));
|
||||
} else {
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
}
|
||||
|
||||
_alpm_handle_unlock(handle);
|
||||
if(payloads) {
|
||||
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
|
||||
FREELIST(payloads);
|
||||
}
|
||||
free(syncpath);
|
||||
umask(oldmask);
|
||||
return ret;
|
||||
@@ -501,9 +417,8 @@ static int sync_db_populate(alpm_db_t *db)
|
||||
|
||||
db->pkgcache = _alpm_pkghash_create(est_count);
|
||||
if(db->pkgcache == NULL) {
|
||||
db->handle->pm_errno = ALPM_ERR_MEMORY;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
GOTO_ERR(db->handle, ALPM_ERR_MEMORY, cleanup);
|
||||
}
|
||||
|
||||
while((archive_ret = archive_read_next_header(archive, &entry)) == ARCHIVE_OK) {
|
||||
@@ -522,9 +437,8 @@ static int sync_db_populate(alpm_db_t *db)
|
||||
_alpm_log(db->handle, ALPM_LOG_ERROR, _("could not read db '%s' (%s)\n"),
|
||||
db->treename, archive_error_string(archive));
|
||||
_alpm_db_free_pkgcache(db);
|
||||
db->handle->pm_errno = ALPM_ERR_LIBARCHIVE;
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
GOTO_ERR(db->handle, ALPM_ERR_LIBARCHIVE, cleanup);
|
||||
}
|
||||
|
||||
count = alpm_list_count(db->pkgcache->list);
|
||||
@@ -601,7 +515,7 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
{
|
||||
const char *entryname, *filename;
|
||||
alpm_pkg_t *pkg;
|
||||
struct archive_read_buffer buf;
|
||||
struct archive_read_buffer buf = {0};
|
||||
|
||||
entryname = archive_entry_pathname(entry);
|
||||
if(entryname == NULL) {
|
||||
@@ -613,7 +527,6 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
_alpm_log(db->handle, ALPM_LOG_FUNCTION, "loading package data from archive entry %s\n",
|
||||
entryname);
|
||||
|
||||
memset(&buf, 0, sizeof(buf));
|
||||
/* 512K for a line length seems reasonable */
|
||||
buf.max_line_size = 512 * 1024;
|
||||
|
||||
@@ -727,7 +640,7 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
|
||||
}
|
||||
/* attempt to hand back any memory we don't need */
|
||||
if(files_count > 0) {
|
||||
files = realloc(files, sizeof(alpm_file_t) * files_count);
|
||||
REALLOC(files, sizeof(alpm_file_t) * files_count, (void)0);
|
||||
} else {
|
||||
FREE(files);
|
||||
}
|
||||
|
||||
@@ -63,9 +63,6 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Free a conflict and its members.
|
||||
*/
|
||||
void SYMEXPORT alpm_conflict_free(alpm_conflict_t *conflict)
|
||||
{
|
||||
ASSERT(conflict != NULL, return);
|
||||
@@ -243,14 +240,6 @@ alpm_list_t *_alpm_outerconflicts(alpm_db_t *db, alpm_list_t *packages)
|
||||
return baddeps;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check the package conflicts in a database
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param pkglist the list of packages to check
|
||||
*
|
||||
* @return an alpm_list_t of alpm_conflict_t
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_checkconflicts(alpm_handle_t *handle,
|
||||
alpm_list_t *pkglist)
|
||||
{
|
||||
@@ -300,9 +289,6 @@ error:
|
||||
RET_ERR(handle, ALPM_ERR_MEMORY, conflicts);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Frees a conflict and its members.
|
||||
*/
|
||||
void SYMEXPORT alpm_fileconflict_free(alpm_fileconflict_t *conflict)
|
||||
{
|
||||
ASSERT(conflict != NULL, return);
|
||||
|
||||
@@ -37,12 +37,6 @@
|
||||
#include "package.h"
|
||||
#include "group.h"
|
||||
|
||||
/** \addtogroup alpm_databases Database Functions
|
||||
* @brief Functions to query and manipulate the database of libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Register a sync database of packages. */
|
||||
alpm_db_t SYMEXPORT *alpm_register_syncdb(alpm_handle_t *handle,
|
||||
const char *treename, int siglevel)
|
||||
{
|
||||
@@ -81,7 +75,6 @@ void _alpm_db_unregister(alpm_db_t *db)
|
||||
_alpm_db_free(db);
|
||||
}
|
||||
|
||||
/** Unregister all package databases. */
|
||||
int SYMEXPORT alpm_unregister_all_syncdbs(alpm_handle_t *handle)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
@@ -102,7 +95,6 @@ int SYMEXPORT alpm_unregister_all_syncdbs(alpm_handle_t *handle)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Unregister a package database. */
|
||||
int SYMEXPORT alpm_db_unregister(alpm_db_t *db)
|
||||
{
|
||||
int found = 0;
|
||||
@@ -139,14 +131,12 @@ int SYMEXPORT alpm_db_unregister(alpm_db_t *db)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Get the serverlist of a database. */
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_servers(const alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
return db->servers;
|
||||
}
|
||||
|
||||
/** Set the serverlist of a database. */
|
||||
int SYMEXPORT alpm_db_set_servers(alpm_db_t *db, alpm_list_t *servers)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -168,11 +158,6 @@ static char *sanitize_url(const char *url)
|
||||
return newurl;
|
||||
}
|
||||
|
||||
/** Add a download server to a database.
|
||||
* @param db database pointer
|
||||
* @param url url of the server
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_db_add_server(alpm_db_t *db, const char *url)
|
||||
{
|
||||
char *newurl;
|
||||
@@ -193,12 +178,6 @@ int SYMEXPORT alpm_db_add_server(alpm_db_t *db, const char *url)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Remove a download server from a database.
|
||||
* @param db database pointer
|
||||
* @param url url of the server
|
||||
* @return 0 on success, 1 on server not present,
|
||||
* -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_db_remove_server(alpm_db_t *db, const char *url)
|
||||
{
|
||||
char *newurl, *vdata = NULL;
|
||||
@@ -227,14 +206,12 @@ int SYMEXPORT alpm_db_remove_server(alpm_db_t *db, const char *url)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** Get the name of a package database. */
|
||||
const char SYMEXPORT *alpm_db_get_name(const alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
return db->treename;
|
||||
}
|
||||
|
||||
/** Get the signature verification level for a database. */
|
||||
int SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -245,7 +222,6 @@ int SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
|
||||
}
|
||||
}
|
||||
|
||||
/** Check the validity of a database. */
|
||||
int SYMEXPORT alpm_db_get_valid(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -253,7 +229,6 @@ int SYMEXPORT alpm_db_get_valid(alpm_db_t *db)
|
||||
return db->ops->validate(db);
|
||||
}
|
||||
|
||||
/** Get a package entry from a package database. */
|
||||
alpm_pkg_t SYMEXPORT *alpm_db_get_pkg(alpm_db_t *db, const char *name)
|
||||
{
|
||||
alpm_pkg_t *pkg;
|
||||
@@ -269,7 +244,6 @@ alpm_pkg_t SYMEXPORT *alpm_db_get_pkg(alpm_db_t *db, const char *name)
|
||||
return pkg;
|
||||
}
|
||||
|
||||
/** Get the package cache of a package database. */
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
@@ -277,7 +251,6 @@ alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(alpm_db_t *db)
|
||||
return _alpm_db_get_pkgcache(db);
|
||||
}
|
||||
|
||||
/** Get a group entry from a package database. */
|
||||
alpm_group_t SYMEXPORT *alpm_db_get_group(alpm_db_t *db, const char *name)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
@@ -288,7 +261,6 @@ alpm_group_t SYMEXPORT *alpm_db_get_group(alpm_db_t *db, const char *name)
|
||||
return _alpm_db_get_groupfromcache(db, name);
|
||||
}
|
||||
|
||||
/** Get the group cache of a package database. */
|
||||
alpm_list_t SYMEXPORT *alpm_db_get_groupcache(alpm_db_t *db)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
@@ -297,16 +269,16 @@ alpm_list_t SYMEXPORT *alpm_db_get_groupcache(alpm_db_t *db)
|
||||
return _alpm_db_get_groupcache(db);
|
||||
}
|
||||
|
||||
/** Searches a database. */
|
||||
alpm_list_t SYMEXPORT *alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
int SYMEXPORT alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
|
||||
alpm_list_t **ret)
|
||||
{
|
||||
ASSERT(db != NULL, return NULL);
|
||||
ASSERT(db != NULL && ret != NULL && *ret == NULL,
|
||||
RET_ERR(db->handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
db->handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
return _alpm_db_search(db, needles);
|
||||
return _alpm_db_search(db, needles, ret);
|
||||
}
|
||||
|
||||
/** Sets the usage bitmask for a repo */
|
||||
int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, int usage)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -314,7 +286,6 @@ int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, int usage)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Gets the usage bitmask for a repo */
|
||||
int SYMEXPORT alpm_db_get_usage(alpm_db_t *db, int *usage)
|
||||
{
|
||||
ASSERT(db != NULL, return -1);
|
||||
@@ -323,9 +294,6 @@ int SYMEXPORT alpm_db_get_usage(alpm_db_t *db, int *usage)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/** @} */
|
||||
|
||||
alpm_db_t *_alpm_db_new(const char *treename, int is_local)
|
||||
{
|
||||
alpm_db_t *db;
|
||||
@@ -396,13 +364,13 @@ int _alpm_db_cmp(const void *d1, const void *d2)
|
||||
return strcmp(db1->treename, db2->treename);
|
||||
}
|
||||
|
||||
alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
int _alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
|
||||
alpm_list_t **ret)
|
||||
{
|
||||
const alpm_list_t *i, *j, *k;
|
||||
alpm_list_t *ret = NULL;
|
||||
|
||||
if(!(db->usage & ALPM_DB_USAGE_SEARCH)) {
|
||||
return NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* copy the pkgcache- we will free the list var after each needle */
|
||||
@@ -415,12 +383,15 @@ alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
if(i->data == NULL) {
|
||||
continue;
|
||||
}
|
||||
ret = NULL;
|
||||
*ret = NULL;
|
||||
targ = i->data;
|
||||
_alpm_log(db->handle, ALPM_LOG_DEBUG, "searching for target '%s'\n", targ);
|
||||
|
||||
if(regcomp(®, targ, REG_EXTENDED | REG_NOSUB | REG_ICASE | REG_NEWLINE) != 0) {
|
||||
RET_ERR(db->handle, ALPM_ERR_INVALID_REGEX, NULL);
|
||||
db->handle->pm_errno = ALPM_ERR_INVALID_REGEX;
|
||||
alpm_list_free(list);
|
||||
alpm_list_free(*ret);
|
||||
return -1;
|
||||
}
|
||||
|
||||
for(j = list; j; j = j->next) {
|
||||
@@ -463,18 +434,18 @@ alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
|
||||
_alpm_log(db->handle, ALPM_LOG_DEBUG,
|
||||
"search target '%s' matched '%s' on package '%s'\n",
|
||||
targ, matched, name);
|
||||
ret = alpm_list_add(ret, pkg);
|
||||
*ret = alpm_list_add(*ret, pkg);
|
||||
}
|
||||
}
|
||||
|
||||
/* Free the existing search list, and use the returned list for the
|
||||
* next needle. This allows for AND-based package searching. */
|
||||
alpm_list_free(list);
|
||||
list = ret;
|
||||
list = *ret;
|
||||
regfree(®);
|
||||
}
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Returns a new package cache from db.
|
||||
|
||||
@@ -87,7 +87,8 @@ alpm_db_t *_alpm_db_new(const char *treename, int is_local);
|
||||
void _alpm_db_free(alpm_db_t *db);
|
||||
const char *_alpm_db_path(alpm_db_t *db);
|
||||
int _alpm_db_cmp(const void *d1, const void *d2);
|
||||
alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles);
|
||||
int _alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
|
||||
alpm_list_t **ret);
|
||||
alpm_db_t *_alpm_db_register_local(alpm_handle_t *handle);
|
||||
alpm_db_t *_alpm_db_register_sync(alpm_handle_t *handle, const char *treename,
|
||||
int level);
|
||||
|
||||
@@ -286,12 +286,6 @@ static int no_dep_version(alpm_handle_t *handle)
|
||||
return (handle->trans->flags & ALPM_TRANS_FLAG_NODEPVERSION);
|
||||
}
|
||||
|
||||
/** Find a package satisfying a specified dependency.
|
||||
* The dependency can include versions with depmod operators.
|
||||
* @param pkgs an alpm_list_t* of alpm_pkg_t where the satisfier will be searched
|
||||
* @param depstring package or provision name, versioned or not
|
||||
* @return a alpm_pkg_t* satisfying depstring
|
||||
*/
|
||||
alpm_pkg_t SYMEXPORT *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstring)
|
||||
{
|
||||
alpm_depend_t *dep = alpm_dep_from_string(depstring);
|
||||
@@ -303,15 +297,6 @@ alpm_pkg_t SYMEXPORT *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstri
|
||||
return pkg;
|
||||
}
|
||||
|
||||
/** Checks dependencies and returns missing ones in a list.
|
||||
* Dependencies can include versions with depmod operators.
|
||||
* @param handle the context handle
|
||||
* @param pkglist the list of local packages
|
||||
* @param remove an alpm_list_t* of packages to be removed
|
||||
* @param upgrade an alpm_list_t* of packages to be upgraded (remove-then-upgrade)
|
||||
* @param reversedeps handles the backward dependencies
|
||||
* @return an alpm_list_t* of alpm_depmissing_t pointers.
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_handle_t *handle,
|
||||
alpm_list_t *pkglist, alpm_list_t *rem, alpm_list_t *upgrade,
|
||||
int reversedeps)
|
||||
@@ -763,18 +748,6 @@ static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Find a package satisfying a specified dependency.
|
||||
* First look for a literal, going through each db one by one. Then look for
|
||||
* providers. The first satisfier that belongs to an installed package is
|
||||
* returned. If no providers belong to an installed package then an
|
||||
* alpm_question_select_provider_t is created to select the provider.
|
||||
* The dependency can include versions with depmod operators.
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param dbs an alpm_list_t* of alpm_db_t where the satisfier will be searched
|
||||
* @param depstring package or provision name, versioned or not
|
||||
* @return a alpm_pkg_t* satisfying depstring
|
||||
*/
|
||||
alpm_pkg_t SYMEXPORT *alpm_find_dbs_satisfier(alpm_handle_t *handle,
|
||||
alpm_list_t *dbs, const char *depstring)
|
||||
{
|
||||
@@ -889,11 +862,6 @@ int _alpm_resolvedeps(alpm_handle_t *handle, alpm_list_t *localpkgs,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** Reverse of splitdep; make a dep string from a alpm_depend_t struct.
|
||||
* The string must be freed!
|
||||
* @param dep the depend to turn into a string
|
||||
* @return a string-formatted dependency with operator if necessary
|
||||
*/
|
||||
char SYMEXPORT *alpm_dep_compute_string(const alpm_depend_t *dep)
|
||||
{
|
||||
const char *name, *opr, *ver, *desc_delim, *desc;
|
||||
|
||||
@@ -359,7 +359,7 @@ static int check_mountpoint(alpm_handle_t *handle, alpm_mountpoint_t *mp)
|
||||
}
|
||||
|
||||
int _alpm_check_downloadspace(alpm_handle_t *handle, const char *cachedir,
|
||||
size_t num_files, off_t *file_sizes)
|
||||
size_t num_files, const off_t *file_sizes)
|
||||
{
|
||||
alpm_list_t *mount_points;
|
||||
alpm_mountpoint_t *cachedir_mp;
|
||||
|
||||
@@ -58,6 +58,6 @@ typedef struct __alpm_mountpoint_t {
|
||||
|
||||
int _alpm_check_diskspace(alpm_handle_t *handle);
|
||||
int _alpm_check_downloadspace(alpm_handle_t *handle, const char *cachedir,
|
||||
size_t num_files, off_t *file_sizes);
|
||||
size_t num_files, const off_t *file_sizes);
|
||||
|
||||
#endif /* ALPM_DISKSPACE_H */
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
@@ -49,6 +50,10 @@
|
||||
#include "handle.h"
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
|
||||
static int curl_add_payload(alpm_handle_t *handle, CURLM *curlm,
|
||||
struct dload_payload *payload, const char *localpath);
|
||||
|
||||
static const char *get_filename(const char *url)
|
||||
{
|
||||
char *filename = strrchr(url, '/');
|
||||
@@ -72,31 +77,24 @@ static char *get_fullpath(const char *path, const char *filename,
|
||||
return filepath;
|
||||
}
|
||||
|
||||
static CURL *get_libcurl_handle(alpm_handle_t *handle)
|
||||
{
|
||||
if(!handle->curl) {
|
||||
curl_global_init(CURL_GLOBAL_SSL);
|
||||
handle->curl = curl_easy_init();
|
||||
}
|
||||
return handle->curl;
|
||||
}
|
||||
|
||||
enum {
|
||||
ABORT_SIGINT = 1,
|
||||
ABORT_OVER_MAXFILESIZE
|
||||
};
|
||||
|
||||
static int dload_interrupted;
|
||||
static void inthandler(int UNUSED signum)
|
||||
{
|
||||
dload_interrupted = ABORT_SIGINT;
|
||||
}
|
||||
|
||||
static int dload_progress_cb(void *file, curl_off_t dltotal, curl_off_t dlnow,
|
||||
curl_off_t UNUSED ultotal, curl_off_t UNUSED ulnow)
|
||||
{
|
||||
struct dload_payload *payload = (struct dload_payload *)file;
|
||||
off_t current_size, total_size;
|
||||
alpm_download_event_progress_t cb_data = {0};
|
||||
|
||||
/* do not print signature files progress bar */
|
||||
if(payload->signature) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* avoid displaying progress bar for redirects with a body */
|
||||
if(payload->respcode >= 300) {
|
||||
@@ -108,6 +106,11 @@ static int dload_progress_cb(void *file, curl_off_t dltotal, curl_off_t dlnow,
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(dlnow < 0 || dltotal <= 0 || dlnow > dltotal) {
|
||||
/* bogus values : stop here */
|
||||
return 0;
|
||||
}
|
||||
|
||||
current_size = payload->initial_size + dlnow;
|
||||
|
||||
/* is our filesize still under any set limit? */
|
||||
@@ -123,30 +126,15 @@ static int dload_progress_cb(void *file, curl_off_t dltotal, curl_off_t dlnow,
|
||||
|
||||
total_size = payload->initial_size + dltotal;
|
||||
|
||||
if(dltotal == 0 || payload->prevprogress == total_size) {
|
||||
if(payload->prevprogress == total_size) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* initialize the progress bar here to avoid displaying it when
|
||||
* a repo is up to date and nothing gets downloaded.
|
||||
* payload->handle->dlcb will receive the remote_name
|
||||
* and the following arguments:
|
||||
* 0, -1: download initialized
|
||||
* 0, 0: non-download event
|
||||
* x {x>0}, x: download complete
|
||||
* x {x>0, x<y}, y {y > 0}: download progress, expected total is known */
|
||||
if(!payload->cb_initialized) {
|
||||
payload->handle->dlcb(payload->remote_name, 0, -1);
|
||||
payload->cb_initialized = 1;
|
||||
}
|
||||
if(payload->prevprogress == current_size) {
|
||||
payload->handle->dlcb(payload->remote_name, 0, 0);
|
||||
} else {
|
||||
/* do NOT include initial_size since it wasn't part of the package's
|
||||
* download_size (nor included in the total download size callback) */
|
||||
payload->handle->dlcb(payload->remote_name, dlnow, dltotal);
|
||||
}
|
||||
|
||||
cb_data.total = dltotal;
|
||||
cb_data.downloaded = dlnow;
|
||||
payload->handle->dlcb(payload->remote_name, ALPM_DOWNLOAD_PROGRESS, &cb_data);
|
||||
payload->prevprogress = current_size;
|
||||
|
||||
return 0;
|
||||
@@ -195,9 +183,10 @@ static int curl_gethost(const char *url, char *buffer, size_t buf_len)
|
||||
static int utimes_long(const char *path, long seconds)
|
||||
{
|
||||
if(seconds != -1) {
|
||||
struct timeval tv[2];
|
||||
memset(&tv, 0, sizeof(tv));
|
||||
tv[0].tv_sec = tv[1].tv_sec = seconds;
|
||||
struct timeval tv[2] = {
|
||||
{ .tv_sec = seconds, },
|
||||
{ .tv_sec = seconds, },
|
||||
};
|
||||
return utimes(path, tv);
|
||||
}
|
||||
return 0;
|
||||
@@ -240,7 +229,7 @@ static size_t dload_parseheader_cb(void *ptr, size_t size, size_t nmemb, void *u
|
||||
}
|
||||
}
|
||||
|
||||
curl_easy_getinfo(payload->handle->curl, CURLINFO_RESPONSE_CODE, &respcode);
|
||||
curl_easy_getinfo(payload->curl, CURLINFO_RESPONSE_CODE, &respcode);
|
||||
if(payload->respcode != respcode) {
|
||||
payload->respcode = respcode;
|
||||
}
|
||||
@@ -248,8 +237,7 @@ static size_t dload_parseheader_cb(void *ptr, size_t size, size_t nmemb, void *u
|
||||
return realsize;
|
||||
}
|
||||
|
||||
static void curl_set_handle_opts(struct dload_payload *payload,
|
||||
CURL *curl, char *error_buffer)
|
||||
static void curl_set_handle_opts(CURL *curl, struct dload_payload *payload)
|
||||
{
|
||||
alpm_handle_t *handle = payload->handle;
|
||||
const char *useragent = getenv("HTTP_USER_AGENT");
|
||||
@@ -259,7 +247,7 @@ static void curl_set_handle_opts(struct dload_payload *payload,
|
||||
* to reset the handle's parameters for each time it's used. */
|
||||
curl_easy_reset(curl);
|
||||
curl_easy_setopt(curl, CURLOPT_URL, payload->fileurl);
|
||||
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error_buffer);
|
||||
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, payload->error_buffer);
|
||||
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10L);
|
||||
curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 10L);
|
||||
curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
|
||||
@@ -278,12 +266,14 @@ static void curl_set_handle_opts(struct dload_payload *payload,
|
||||
curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 60L);
|
||||
curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);
|
||||
curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
|
||||
curl_easy_setopt(curl, CURLOPT_PRIVATE, (void *)payload);
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "url: %s\n", payload->fileurl);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "%s: url is %s\n",
|
||||
payload->remote_name, payload->fileurl);
|
||||
|
||||
if(payload->max_size) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "maxsize: %jd\n",
|
||||
(intmax_t)payload->max_size);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "%s: maxsize %jd\n",
|
||||
payload->remote_name, (intmax_t)payload->max_size);
|
||||
curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE,
|
||||
(curl_off_t)payload->max_size);
|
||||
}
|
||||
@@ -292,42 +282,25 @@ static void curl_set_handle_opts(struct dload_payload *payload,
|
||||
curl_easy_setopt(curl, CURLOPT_USERAGENT, useragent);
|
||||
}
|
||||
|
||||
if(!payload->allow_resume && !payload->force && payload->destfile_name &&
|
||||
if(!payload->force && payload->destfile_name &&
|
||||
stat(payload->destfile_name, &st) == 0) {
|
||||
/* start from scratch, but only download if our local is out of date. */
|
||||
curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);
|
||||
curl_easy_setopt(curl, CURLOPT_TIMEVALUE, (long)st.st_mtime);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"using time condition: %ld\n", (long)st.st_mtime);
|
||||
"%s: using time condition %ld\n",
|
||||
payload->remote_name, (long)st.st_mtime);
|
||||
} else if(stat(payload->tempfile_name, &st) == 0 && payload->allow_resume) {
|
||||
/* a previous partial download exists, resume from end of file. */
|
||||
payload->tempfile_openmode = "ab";
|
||||
curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, (curl_off_t)st.st_size);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"tempfile found, attempting continuation from %jd bytes\n",
|
||||
(intmax_t)st.st_size);
|
||||
"%s: tempfile found, attempting continuation from %jd bytes\n",
|
||||
payload->remote_name, (intmax_t)st.st_size);
|
||||
payload->initial_size = st.st_size;
|
||||
}
|
||||
}
|
||||
|
||||
static void mask_signal(int signum, void (*handler)(int),
|
||||
struct sigaction *origaction)
|
||||
{
|
||||
struct sigaction newaction;
|
||||
|
||||
newaction.sa_handler = handler;
|
||||
sigemptyset(&newaction.sa_mask);
|
||||
newaction.sa_flags = 0;
|
||||
|
||||
sigaction(signum, NULL, origaction);
|
||||
sigaction(signum, &newaction, NULL);
|
||||
}
|
||||
|
||||
static void unmask_signal(int signum, struct sigaction *sa)
|
||||
{
|
||||
sigaction(signum, sa, NULL);
|
||||
}
|
||||
|
||||
static FILE *create_tempfile(struct dload_payload *payload, const char *localpath)
|
||||
{
|
||||
int fd;
|
||||
@@ -362,121 +335,105 @@ static FILE *create_tempfile(struct dload_payload *payload, const char *localpat
|
||||
/* RFC1123 states applications should support this length */
|
||||
#define HOSTNAME_SIZE 256
|
||||
|
||||
static int curl_download_internal(struct dload_payload *payload,
|
||||
const char *localpath, char **final_file, const char **final_url)
|
||||
/* Return 0 if retry was successful, -1 otherwise */
|
||||
static int curl_retry_next_server(CURLM *curlm, CURL *curl, struct dload_payload *payload)
|
||||
{
|
||||
int ret = -1;
|
||||
FILE *localf = NULL;
|
||||
char *effective_url;
|
||||
char hostname[HOSTNAME_SIZE];
|
||||
char error_buffer[CURL_ERROR_SIZE] = {0};
|
||||
struct stat st;
|
||||
long timecond, remote_time = -1;
|
||||
double remote_size, bytes_dl;
|
||||
struct sigaction orig_sig_pipe, orig_sig_int;
|
||||
/* shortcut to our handle within the payload */
|
||||
const char *server;
|
||||
size_t len;
|
||||
alpm_handle_t *handle = payload->handle;
|
||||
CURL *curl = get_libcurl_handle(handle);
|
||||
handle->pm_errno = ALPM_ERR_OK;
|
||||
|
||||
/* make sure these are NULL */
|
||||
FREE(payload->tempfile_name);
|
||||
FREE(payload->destfile_name);
|
||||
FREE(payload->content_disp_name);
|
||||
|
||||
payload->tempfile_openmode = "wb";
|
||||
if(!payload->remote_name) {
|
||||
STRDUP(payload->remote_name, get_filename(payload->fileurl),
|
||||
RET_ERR(handle, ALPM_ERR_MEMORY, -1));
|
||||
if(payload->servers) {
|
||||
payload->servers = payload->servers->next;
|
||||
}
|
||||
if(curl_gethost(payload->fileurl, hostname, sizeof(hostname)) != 0) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("url '%s' is invalid\n"), payload->fileurl);
|
||||
RET_ERR(handle, ALPM_ERR_SERVER_BAD_URL, -1);
|
||||
if(!payload->servers) {
|
||||
_alpm_log(payload->handle, ALPM_LOG_DEBUG,
|
||||
"%s: no more servers to retry\n", payload->remote_name);
|
||||
return -1;
|
||||
}
|
||||
server = payload->servers->data;
|
||||
|
||||
if(payload->remote_name && strlen(payload->remote_name) > 0 &&
|
||||
strcmp(payload->remote_name, ".sig") != 0) {
|
||||
payload->destfile_name = get_fullpath(localpath, payload->remote_name, "");
|
||||
payload->tempfile_name = get_fullpath(localpath, payload->remote_name, ".part");
|
||||
if(!payload->destfile_name || !payload->tempfile_name) {
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
/* URL doesn't contain a filename, so make a tempfile. We can't support
|
||||
* resuming this kind of download; partial transfers will be destroyed */
|
||||
payload->unlink_on_fail = 1;
|
||||
|
||||
localf = create_tempfile(payload, localpath);
|
||||
if(localf == NULL) {
|
||||
goto cleanup;
|
||||
/* regenerate a new fileurl */
|
||||
FREE(payload->fileurl);
|
||||
len = strlen(server) + strlen(payload->filepath) + 2;
|
||||
MALLOC(payload->fileurl, len, RET_ERR(handle, ALPM_ERR_MEMORY, -1));
|
||||
snprintf(payload->fileurl, len, "%s/%s", server, payload->filepath);
|
||||
|
||||
if(payload->unlink_on_fail) {
|
||||
/* we keep the file for a new retry but remove its data if any */
|
||||
fflush(payload->localf);
|
||||
if(ftruncate(fileno(payload->localf), 0)) {
|
||||
RET_ERR(handle, ALPM_ERR_SYSTEM, -1);
|
||||
}
|
||||
fseek(payload->localf, 0, SEEK_SET);
|
||||
}
|
||||
|
||||
curl_set_handle_opts(payload, curl, error_buffer);
|
||||
/* Set curl with the new URL */
|
||||
curl_easy_setopt(curl, CURLOPT_URL, payload->fileurl);
|
||||
|
||||
if(payload->max_size == payload->initial_size && payload->max_size != 0) {
|
||||
/* .part file is complete */
|
||||
ret = 0;
|
||||
goto cleanup;
|
||||
}
|
||||
curl_multi_remove_handle(curlm, curl);
|
||||
curl_multi_add_handle(curlm, curl);
|
||||
|
||||
if(localf == NULL) {
|
||||
localf = fopen(payload->tempfile_name, payload->tempfile_openmode);
|
||||
if(localf == NULL) {
|
||||
handle->pm_errno = ALPM_ERR_RETRIEVE;
|
||||
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||
_("could not open file %s: %s\n"),
|
||||
payload->tempfile_name, strerror(errno));
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"opened tempfile for download: %s (%s)\n", payload->tempfile_name,
|
||||
payload->tempfile_openmode);
|
||||
/* Returns 2 if download retry happened
|
||||
* Returns 1 if the file is up-to-date
|
||||
* Returns 0 if current payload is completed successfully
|
||||
* Returns -1 if an error happened for a required file
|
||||
* Returns -2 if an error happened for an optional file
|
||||
*/
|
||||
static int curl_check_finished_download(CURLM *curlm, CURLMsg *msg,
|
||||
const char *localpath)
|
||||
{
|
||||
alpm_handle_t *handle = NULL;
|
||||
struct dload_payload *payload = NULL;
|
||||
CURL *curl = msg->easy_handle;
|
||||
CURLcode curlerr;
|
||||
char *effective_url;
|
||||
long timecond;
|
||||
double remote_size, bytes_dl = 0;
|
||||
long remote_time = -1;
|
||||
struct stat st;
|
||||
char hostname[HOSTNAME_SIZE];
|
||||
int ret = -1;
|
||||
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEDATA, localf);
|
||||
curlerr = curl_easy_getinfo(curl, CURLINFO_PRIVATE, &payload);
|
||||
ASSERT(curlerr == CURLE_OK, RET_ERR(handle, ALPM_ERR_LIBCURL, -1));
|
||||
handle = payload->handle;
|
||||
|
||||
/* Ignore any SIGPIPE signals. With libcurl, these shouldn't be happening,
|
||||
* but better safe than sorry. Store the old signal handler first. */
|
||||
mask_signal(SIGPIPE, SIG_IGN, &orig_sig_pipe);
|
||||
dload_interrupted = 0;
|
||||
mask_signal(SIGINT, &inthandler, &orig_sig_int);
|
||||
|
||||
/* perform transfer */
|
||||
payload->curlerr = curl_easy_perform(curl);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "curl returned error %d from transfer\n",
|
||||
payload->curlerr);
|
||||
|
||||
/* disconnect relationships from the curl handle for things that might go out
|
||||
* of scope, but could still be touched on connection teardown. This really
|
||||
* only applies to FTP transfers. */
|
||||
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
|
||||
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, (char *)NULL);
|
||||
curl_gethost(payload->fileurl, hostname, sizeof(hostname));
|
||||
curlerr = msg->data.result;
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "%s: curl returned result %d from transfer\n",
|
||||
payload->remote_name, curlerr);
|
||||
|
||||
/* was it a success? */
|
||||
switch(payload->curlerr) {
|
||||
switch(curlerr) {
|
||||
case CURLE_OK:
|
||||
/* get http/ftp response code */
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "response code: %ld\n", payload->respcode);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "%s: response code %ld\n",
|
||||
payload->remote_name, payload->respcode);
|
||||
if(payload->respcode >= 400) {
|
||||
payload->unlink_on_fail = 1;
|
||||
if(!payload->errors_ok) {
|
||||
handle->pm_errno = ALPM_ERR_RETRIEVE;
|
||||
/* non-translated message is same as libcurl */
|
||||
snprintf(error_buffer, sizeof(error_buffer),
|
||||
snprintf(payload->error_buffer, sizeof(payload->error_buffer),
|
||||
"The requested URL returned error: %ld", payload->respcode);
|
||||
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||
_("failed retrieving file '%s' from %s : %s\n"),
|
||||
payload->remote_name, hostname, error_buffer);
|
||||
payload->remote_name, hostname, payload->error_buffer);
|
||||
}
|
||||
if(curl_retry_next_server(curlm, curl, payload) == 0) {
|
||||
return 2;
|
||||
} else {
|
||||
goto cleanup;
|
||||
}
|
||||
goto cleanup;
|
||||
}
|
||||
break;
|
||||
case CURLE_ABORTED_BY_CALLBACK:
|
||||
/* handle the interrupt accordingly */
|
||||
if(dload_interrupted == ABORT_OVER_MAXFILESIZE) {
|
||||
payload->curlerr = CURLE_FILESIZE_EXCEEDED;
|
||||
curlerr = CURLE_FILESIZE_EXCEEDED;
|
||||
payload->unlink_on_fail = 1;
|
||||
handle->pm_errno = ALPM_ERR_LIBCURL;
|
||||
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||
@@ -489,24 +446,32 @@ static int curl_download_internal(struct dload_payload *payload,
|
||||
handle->pm_errno = ALPM_ERR_SERVER_BAD_URL;
|
||||
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||
_("failed retrieving file '%s' from %s : %s\n"),
|
||||
payload->remote_name, hostname, error_buffer);
|
||||
goto cleanup;
|
||||
payload->remote_name, hostname, payload->error_buffer);
|
||||
if(curl_retry_next_server(curlm, curl, payload) == 0) {
|
||||
return 2;
|
||||
} else {
|
||||
goto cleanup;
|
||||
}
|
||||
default:
|
||||
/* delete zero length downloads */
|
||||
if(fstat(fileno(localf), &st) == 0 && st.st_size == 0) {
|
||||
if(fstat(fileno(payload->localf), &st) == 0 && st.st_size == 0) {
|
||||
payload->unlink_on_fail = 1;
|
||||
}
|
||||
if(!payload->errors_ok) {
|
||||
handle->pm_errno = ALPM_ERR_LIBCURL;
|
||||
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||
_("failed retrieving file '%s' from %s : %s\n"),
|
||||
payload->remote_name, hostname, error_buffer);
|
||||
payload->remote_name, hostname, payload->error_buffer);
|
||||
} else {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"failed retrieving file '%s' from %s : %s\n",
|
||||
payload->remote_name, hostname, error_buffer);
|
||||
payload->remote_name, hostname, payload->error_buffer);
|
||||
}
|
||||
if(curl_retry_next_server(curlm, curl, payload) == 0) {
|
||||
return 2;
|
||||
} else {
|
||||
goto cleanup;
|
||||
}
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* retrieve info about the state of the transfer */
|
||||
@@ -516,30 +481,6 @@ static int curl_download_internal(struct dload_payload *payload,
|
||||
curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &timecond);
|
||||
curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &effective_url);
|
||||
|
||||
if(final_url != NULL) {
|
||||
*final_url = effective_url;
|
||||
}
|
||||
|
||||
/* time condition was met and we didn't download anything. we need to
|
||||
* clean up the 0 byte .part file that's left behind. */
|
||||
if(timecond == 1 && DOUBLE_EQ(bytes_dl, 0)) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "file met time condition\n");
|
||||
ret = 1;
|
||||
unlink(payload->tempfile_name);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* remote_size isn't necessarily the full size of the file, just what the
|
||||
* server reported as remaining to download. compare it to what curl reported
|
||||
* as actually being transferred during curl_easy_perform() */
|
||||
if(!DOUBLE_EQ(remote_size, -1) && !DOUBLE_EQ(bytes_dl, -1) &&
|
||||
!DOUBLE_EQ(bytes_dl, remote_size)) {
|
||||
handle->pm_errno = ALPM_ERR_RETRIEVE;
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("%s appears to be truncated: %jd/%jd bytes\n"),
|
||||
payload->remote_name, (intmax_t)bytes_dl, (intmax_t)remote_size);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if(payload->trust_remote_name) {
|
||||
if(payload->content_disp_name) {
|
||||
/* content-disposition header has a better name for our file */
|
||||
@@ -548,6 +489,7 @@ static int curl_download_internal(struct dload_payload *payload,
|
||||
get_filename(payload->content_disp_name), "");
|
||||
} else {
|
||||
const char *effective_filename = strrchr(effective_url, '/');
|
||||
|
||||
if(effective_filename && strlen(effective_filename) > 2) {
|
||||
effective_filename++;
|
||||
|
||||
@@ -564,28 +506,79 @@ static int curl_download_internal(struct dload_payload *payload,
|
||||
}
|
||||
}
|
||||
|
||||
/* Let's check if client requested downloading accompanion *.sig file */
|
||||
if(!payload->signature && payload->download_signature && curlerr == CURLE_OK && payload->respcode < 400) {
|
||||
struct dload_payload *sig = NULL;
|
||||
|
||||
int len = strlen(effective_url) + 5;
|
||||
CALLOC(sig, 1, sizeof(*sig), GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
MALLOC(sig->fileurl, len, FREE(sig); GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
snprintf(sig->fileurl, len, "%s.sig", effective_url);
|
||||
|
||||
if(payload->trust_remote_name) {
|
||||
/* In this case server might provide a new name for the main payload.
|
||||
* Choose *.sig filename based on this new name.
|
||||
*/
|
||||
const char* realname = payload->destfile_name ? payload->destfile_name : payload->tempfile_name;
|
||||
const char *final_file = get_filename(realname);
|
||||
int remote_name_len = strlen(final_file) + 5;
|
||||
MALLOC(sig->remote_name, remote_name_len, FREE(sig->fileurl); FREE(sig); GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
snprintf(sig->remote_name, remote_name_len, "%s.sig", final_file);
|
||||
}
|
||||
|
||||
sig->signature = 1;
|
||||
sig->handle = handle;
|
||||
sig->force = payload->force;
|
||||
sig->unlink_on_fail = payload->unlink_on_fail;
|
||||
sig->errors_ok = payload->signature_optional;
|
||||
/* set hard upper limit of 16KiB */
|
||||
sig->max_size = 16 * 1024;
|
||||
|
||||
curl_add_payload(handle, curlm, sig, localpath);
|
||||
}
|
||||
|
||||
/* time condition was met and we didn't download anything. we need to
|
||||
* clean up the 0 byte .part file that's left behind. */
|
||||
if(timecond == 1 && DOUBLE_EQ(bytes_dl, 0)) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "%s: file met time condition\n",
|
||||
payload->remote_name);
|
||||
ret = 1;
|
||||
unlink(payload->tempfile_name);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* remote_size isn't necessarily the full size of the file, just what the
|
||||
* server reported as remaining to download. compare it to what curl reported
|
||||
* as actually being transferred during curl_easy_perform() */
|
||||
if(!DOUBLE_EQ(remote_size, -1) && !DOUBLE_EQ(bytes_dl, -1) &&
|
||||
!DOUBLE_EQ(bytes_dl, remote_size)) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("%s appears to be truncated: %jd/%jd bytes\n"),
|
||||
payload->remote_name, (intmax_t)bytes_dl, (intmax_t)remote_size);
|
||||
GOTO_ERR(handle, ALPM_ERR_RETRIEVE, cleanup);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
if(localf != NULL) {
|
||||
fclose(localf);
|
||||
/* disconnect relationships from the curl handle for things that might go out
|
||||
* of scope, but could still be touched on connection teardown. This really
|
||||
* only applies to FTP transfers. */
|
||||
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
|
||||
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, (char *)NULL);
|
||||
|
||||
if(payload->localf != NULL) {
|
||||
fclose(payload->localf);
|
||||
utimes_long(payload->tempfile_name, remote_time);
|
||||
}
|
||||
|
||||
if(ret == 0) {
|
||||
const char *realname = payload->tempfile_name;
|
||||
if(payload->destfile_name) {
|
||||
realname = payload->destfile_name;
|
||||
if(rename(payload->tempfile_name, payload->destfile_name)) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("could not rename %s to %s (%s)\n"),
|
||||
payload->tempfile_name, payload->destfile_name, strerror(errno));
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
if(ret != -1 && final_file) {
|
||||
STRDUP(*final_file, strrchr(realname, '/') + 1,
|
||||
RET_ERR(handle, ALPM_ERR_MEMORY, -1));
|
||||
}
|
||||
}
|
||||
|
||||
if((ret == -1 || dload_interrupted) && payload->unlink_on_fail &&
|
||||
@@ -593,45 +586,245 @@ cleanup:
|
||||
unlink(payload->tempfile_name);
|
||||
}
|
||||
|
||||
/* restore the old signal handlers */
|
||||
unmask_signal(SIGINT, &orig_sig_int);
|
||||
unmask_signal(SIGPIPE, &orig_sig_pipe);
|
||||
/* if we were interrupted, trip the old handler */
|
||||
if(dload_interrupted == ABORT_SIGINT) {
|
||||
raise(SIGINT);
|
||||
if(handle->dlcb && !payload->signature) {
|
||||
alpm_download_event_completed_t cb_data = {0};
|
||||
cb_data.total = bytes_dl;
|
||||
cb_data.result = ret;
|
||||
handle->dlcb(payload->remote_name, ALPM_DOWNLOAD_COMPLETED, &cb_data);
|
||||
}
|
||||
|
||||
curl_multi_remove_handle(curlm, curl);
|
||||
curl_easy_cleanup(curl);
|
||||
payload->curl = NULL;
|
||||
|
||||
FREE(payload->fileurl);
|
||||
|
||||
if(ret == -1 && payload->errors_ok) {
|
||||
ret = -2;
|
||||
}
|
||||
|
||||
if(payload->signature) {
|
||||
/* free signature payload memory that was allocated earlier in dload.c */
|
||||
_alpm_dload_payload_reset(payload);
|
||||
FREE(payload);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Returns 0 in case if a new download transaction has been successfully started
|
||||
* Returns -1 if am error happened while starting a new download
|
||||
*/
|
||||
static int curl_add_payload(alpm_handle_t *handle, CURLM *curlm,
|
||||
struct dload_payload *payload, const char *localpath)
|
||||
{
|
||||
size_t len;
|
||||
CURL *curl = NULL;
|
||||
char hostname[HOSTNAME_SIZE];
|
||||
int ret = -1;
|
||||
|
||||
curl = curl_easy_init();
|
||||
payload->curl = curl;
|
||||
|
||||
if(payload->fileurl) {
|
||||
ASSERT(!payload->servers, GOTO_ERR(handle, ALPM_ERR_WRONG_ARGS, cleanup));
|
||||
ASSERT(!payload->filepath, GOTO_ERR(handle, ALPM_ERR_WRONG_ARGS, cleanup));
|
||||
} else {
|
||||
const char *server;
|
||||
|
||||
ASSERT(payload->servers, GOTO_ERR(handle, ALPM_ERR_SERVER_NONE, cleanup));
|
||||
ASSERT(payload->filepath, GOTO_ERR(handle, ALPM_ERR_WRONG_ARGS, cleanup));
|
||||
|
||||
server = payload->servers->data;
|
||||
|
||||
len = strlen(server) + strlen(payload->filepath) + 2;
|
||||
MALLOC(payload->fileurl, len, GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
snprintf(payload->fileurl, len, "%s/%s", server, payload->filepath);
|
||||
}
|
||||
|
||||
payload->tempfile_openmode = "wb";
|
||||
if(!payload->remote_name) {
|
||||
STRDUP(payload->remote_name, get_filename(payload->fileurl),
|
||||
GOTO_ERR(handle, ALPM_ERR_MEMORY, cleanup));
|
||||
}
|
||||
if(curl_gethost(payload->fileurl, hostname, sizeof(hostname)) != 0) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("url '%s' is invalid\n"), payload->fileurl);
|
||||
GOTO_ERR(handle, ALPM_ERR_SERVER_BAD_URL, cleanup);
|
||||
}
|
||||
|
||||
if(payload->remote_name && strlen(payload->remote_name) > 0) {
|
||||
payload->destfile_name = get_fullpath(localpath, payload->remote_name, "");
|
||||
payload->tempfile_name = get_fullpath(localpath, payload->remote_name, ".part");
|
||||
if(!payload->destfile_name || !payload->tempfile_name) {
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
/* URL doesn't contain a filename, so make a tempfile. We can't support
|
||||
* resuming this kind of download; partial transfers will be destroyed */
|
||||
payload->unlink_on_fail = 1;
|
||||
|
||||
payload->localf = create_tempfile(payload, localpath);
|
||||
if(payload->localf == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
curl_set_handle_opts(curl, payload);
|
||||
|
||||
if(payload->max_size == payload->initial_size && payload->max_size != 0) {
|
||||
/* .part file is complete */
|
||||
ret = 0;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if(payload->localf == NULL) {
|
||||
payload->localf = fopen(payload->tempfile_name, payload->tempfile_openmode);
|
||||
if(payload->localf == NULL) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR,
|
||||
_("could not open file %s: %s\n"),
|
||||
payload->tempfile_name, strerror(errno));
|
||||
GOTO_ERR(handle, ALPM_ERR_RETRIEVE, cleanup);
|
||||
}
|
||||
}
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"%s: opened tempfile for download: %s (%s)\n",
|
||||
payload->remote_name,
|
||||
payload->tempfile_name,
|
||||
payload->tempfile_openmode);
|
||||
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEDATA, payload->localf);
|
||||
curl_multi_add_handle(curlm, curl);
|
||||
return 0;
|
||||
|
||||
cleanup:
|
||||
curl_easy_cleanup(curl);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int curl_download_internal(alpm_handle_t *handle,
|
||||
alpm_list_t *payloads /* struct dload_payload */,
|
||||
const char *localpath)
|
||||
{
|
||||
int active_downloads_num = 0;
|
||||
bool recheck_downloads = false;
|
||||
int err = 0;
|
||||
int max_streams = handle->parallel_downloads;
|
||||
CURLM *curlm = handle->curlm;
|
||||
|
||||
while(active_downloads_num > 0 || payloads || recheck_downloads) {
|
||||
CURLMcode mc;
|
||||
|
||||
for(; active_downloads_num < max_streams && payloads; active_downloads_num++) {
|
||||
struct dload_payload *payload = payloads->data;
|
||||
|
||||
if(curl_add_payload(handle, curlm, payload, localpath) == 0) {
|
||||
if(handle->dlcb && !payload->signature) {
|
||||
alpm_download_event_init_t cb_data = {.optional = payload->errors_ok};
|
||||
handle->dlcb(payload->remote_name, ALPM_DOWNLOAD_INIT, &cb_data);
|
||||
}
|
||||
|
||||
payloads = payloads->next;
|
||||
} else {
|
||||
/* The payload failed to start. Do not start any new downloads.
|
||||
* Wait until all active downloads complete.
|
||||
*/
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("failed to setup a download payload for %s\n"), payload->remote_name);
|
||||
payloads = NULL;
|
||||
err = -1;
|
||||
}
|
||||
}
|
||||
|
||||
mc = curl_multi_perform(curlm, &active_downloads_num);
|
||||
if(mc == CURLM_OK) {
|
||||
mc = curl_multi_wait(curlm, NULL, 0, 1000, NULL);
|
||||
}
|
||||
|
||||
if(mc != CURLM_OK) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("curl returned error %d from transfer\n"), mc);
|
||||
payloads = NULL;
|
||||
err = -1;
|
||||
}
|
||||
|
||||
recheck_downloads = false;
|
||||
while(true) {
|
||||
int msgs_left = 0;
|
||||
CURLMsg *msg = curl_multi_info_read(curlm, &msgs_left);
|
||||
if(!msg) {
|
||||
break;
|
||||
}
|
||||
if(msg->msg == CURLMSG_DONE) {
|
||||
int ret = curl_check_finished_download(curlm, msg, localpath);
|
||||
if(ret == -1) {
|
||||
/* if current payload failed to download then stop adding new payloads but wait for the
|
||||
* current ones
|
||||
*/
|
||||
payloads = NULL;
|
||||
err = -1;
|
||||
}
|
||||
/* curl_multi_check_finished_download() might add more payloads e.g. in case of a retry
|
||||
* from the next mirror. We need to execute curl_multi_perform() at least one more time
|
||||
* to make sure new payload requests are processed.
|
||||
*/
|
||||
recheck_downloads = true;
|
||||
} else {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("curl transfer error: %d\n"), msg->msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "curl_download_internal return code is %d\n", err);
|
||||
return err;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/** Download a file given by a URL to a local directory.
|
||||
* Does not overwrite an existing file if the download fails.
|
||||
* @param payload the payload context
|
||||
* @param localpath the directory to save the file in
|
||||
* @param final_file the real name of the downloaded file (may be NULL)
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly if errors_ok == 0)
|
||||
*/
|
||||
int _alpm_download(struct dload_payload *payload, const char *localpath,
|
||||
char **final_file, const char **final_url)
|
||||
int _alpm_download(alpm_handle_t *handle,
|
||||
alpm_list_t *payloads /* struct dload_payload */,
|
||||
const char *localpath)
|
||||
{
|
||||
alpm_handle_t *handle = payload->handle;
|
||||
|
||||
if(handle->fetchcb == NULL) {
|
||||
#ifdef HAVE_LIBCURL
|
||||
return curl_download_internal(payload, localpath, final_file, final_url);
|
||||
return curl_download_internal(handle, payloads, localpath);
|
||||
#else
|
||||
/* work around unused warnings when building without libcurl */
|
||||
(void)final_file;
|
||||
(void)final_url;
|
||||
RET_ERR(handle, ALPM_ERR_EXTERNAL_DOWNLOAD, -1);
|
||||
#endif
|
||||
} else {
|
||||
int ret = handle->fetchcb(payload->fileurl, localpath, payload->force);
|
||||
if(ret == -1 && !payload->errors_ok) {
|
||||
RET_ERR(handle, ALPM_ERR_EXTERNAL_DOWNLOAD, -1);
|
||||
alpm_list_t *p;
|
||||
for(p = payloads; p; p = p->next) {
|
||||
struct dload_payload *payload = p->data;
|
||||
alpm_list_t *s;
|
||||
int success = 0;
|
||||
|
||||
if(payload->fileurl) {
|
||||
if (handle->fetchcb(payload->fileurl, localpath, payload->force) != -1) {
|
||||
success = 1;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
for(s = payload->servers; s; s = s->next) {
|
||||
const char *server = s->data;
|
||||
char *fileurl;
|
||||
int ret;
|
||||
|
||||
size_t len = strlen(server) + strlen(payload->filepath) + 2;
|
||||
MALLOC(fileurl, len, RET_ERR(handle, ALPM_ERR_MEMORY, -1));
|
||||
snprintf(fileurl, len, "%s/%s", server, payload->filepath);
|
||||
|
||||
ret = handle->fetchcb(fileurl, localpath, payload->force);
|
||||
free(fileurl);
|
||||
|
||||
if (ret != -1) {
|
||||
success = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!success && !payload->errors_ok) {
|
||||
RET_ERR(handle, ALPM_ERR_EXTERNAL_DOWNLOAD, -1);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -651,84 +844,91 @@ static char *filecache_find_url(alpm_handle_t *handle, const char *url)
|
||||
return _alpm_filecache_find(handle, filebase);
|
||||
}
|
||||
|
||||
/** Fetch a remote pkg. */
|
||||
char SYMEXPORT *alpm_fetch_pkgurl(alpm_handle_t *handle, const char *url)
|
||||
int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
|
||||
alpm_list_t **fetched)
|
||||
{
|
||||
char *filepath;
|
||||
const char *cachedir, *final_pkg_url = NULL;
|
||||
char *final_file = NULL;
|
||||
struct dload_payload payload;
|
||||
int ret = 0;
|
||||
const char *cachedir;
|
||||
alpm_list_t *payloads = NULL;
|
||||
const alpm_list_t *i;
|
||||
alpm_event_t event;
|
||||
|
||||
CHECK_HANDLE(handle, return NULL);
|
||||
ASSERT(url, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, NULL));
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
ASSERT(*fetched == NULL, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
|
||||
/* find a valid cache dir to download to */
|
||||
cachedir = _alpm_filecache_setup(handle);
|
||||
|
||||
memset(&payload, 0, sizeof(struct dload_payload));
|
||||
for(i = urls; i; i = i->next) {
|
||||
char *url = i->data;
|
||||
|
||||
/* attempt to find the file in our pkgcache */
|
||||
filepath = filecache_find_url(handle, url);
|
||||
if(filepath == NULL) {
|
||||
STRDUP(payload.fileurl, url, RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
|
||||
payload.allow_resume = 1;
|
||||
payload.handle = handle;
|
||||
payload.trust_remote_name = 1;
|
||||
/* attempt to find the file in our pkgcache */
|
||||
char *filepath = filecache_find_url(handle, url);
|
||||
if(filepath) {
|
||||
/* the file is locally cached so add it to the output right away */
|
||||
alpm_list_append(fetched, filepath);
|
||||
} else {
|
||||
struct dload_payload *payload = NULL;
|
||||
|
||||
/* download the file */
|
||||
ret = _alpm_download(&payload, cachedir, &final_file, &final_pkg_url);
|
||||
_alpm_dload_payload_reset(&payload);
|
||||
if(ret == -1) {
|
||||
_alpm_log(handle, ALPM_LOG_WARNING, _("failed to download %s\n"), url);
|
||||
free(final_file);
|
||||
return NULL;
|
||||
ASSERT(url, GOTO_ERR(handle, ALPM_ERR_WRONG_ARGS, err));
|
||||
CALLOC(payload, 1, sizeof(*payload), GOTO_ERR(handle, ALPM_ERR_MEMORY, err));
|
||||
STRDUP(payload->fileurl, url, FREE(payload); GOTO_ERR(handle, ALPM_ERR_MEMORY, err));
|
||||
payload->allow_resume = 1;
|
||||
payload->handle = handle;
|
||||
payload->trust_remote_name = 1;
|
||||
payload->download_signature = (handle->siglevel & ALPM_SIG_PACKAGE);
|
||||
payload->signature_optional = (handle->siglevel & ALPM_SIG_PACKAGE_OPTIONAL);
|
||||
payloads = alpm_list_add(payloads, payload);
|
||||
}
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "successfully downloaded %s\n", url);
|
||||
}
|
||||
|
||||
/* attempt to download the signature */
|
||||
if(ret == 0 && final_pkg_url && (handle->siglevel & ALPM_SIG_PACKAGE)) {
|
||||
char *sig_filepath, *sig_final_file = NULL;
|
||||
size_t len;
|
||||
if(payloads) {
|
||||
event.type = ALPM_EVENT_PKG_RETRIEVE_START;
|
||||
EVENT(handle, &event);
|
||||
if(_alpm_download(handle, payloads, cachedir) == -1) {
|
||||
_alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n"));
|
||||
event.type = ALPM_EVENT_PKG_RETRIEVE_FAILED;
|
||||
EVENT(handle, &event);
|
||||
|
||||
len = strlen(final_pkg_url) + 5;
|
||||
MALLOC(payload.fileurl, len, free(final_file); RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
|
||||
snprintf(payload.fileurl, len, "%s.sig", final_pkg_url);
|
||||
GOTO_ERR(handle, ALPM_ERR_RETRIEVE, err);
|
||||
} else {
|
||||
event.type = ALPM_EVENT_PKG_RETRIEVE_DONE;
|
||||
EVENT(handle, &event);
|
||||
}
|
||||
|
||||
sig_filepath = filecache_find_url(handle, payload.fileurl);
|
||||
if(sig_filepath == NULL) {
|
||||
payload.handle = handle;
|
||||
payload.trust_remote_name = 1;
|
||||
payload.force = 1;
|
||||
payload.errors_ok = (handle->siglevel & ALPM_SIG_PACKAGE_OPTIONAL);
|
||||
for(i = payloads; i; i = i->next) {
|
||||
struct dload_payload *payload = i->data;
|
||||
char *filepath;
|
||||
|
||||
/* set hard upper limit of 16KiB */
|
||||
payload.max_size = 16 * 1024;
|
||||
|
||||
ret = _alpm_download(&payload, cachedir, &sig_final_file, NULL);
|
||||
if(ret == -1 && !payload.errors_ok) {
|
||||
_alpm_log(handle, ALPM_LOG_WARNING,
|
||||
_("failed to download %s\n"), payload.fileurl);
|
||||
/* Warn now, but don't return NULL. We will fail later during package
|
||||
* load time. */
|
||||
} else if(ret == 0) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"successfully downloaded %s\n", payload.fileurl);
|
||||
if(payload->signature) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if(payload->destfile_name) {
|
||||
const char *filename = mbasename(payload->destfile_name);
|
||||
filepath = _alpm_filecache_find(handle, filename);
|
||||
} else {
|
||||
STRDUP(filepath, payload->tempfile_name, GOTO_ERR(handle, ALPM_ERR_MEMORY, err));
|
||||
}
|
||||
if(filepath) {
|
||||
alpm_list_append(fetched, filepath);
|
||||
} else {
|
||||
_alpm_log(handle, ALPM_LOG_WARNING, _("download completed successfully but no file in the cache\n"));
|
||||
GOTO_ERR(handle, ALPM_ERR_RETRIEVE, err);
|
||||
}
|
||||
FREE(sig_final_file);
|
||||
}
|
||||
free(sig_filepath);
|
||||
_alpm_dload_payload_reset(&payload);
|
||||
|
||||
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
|
||||
FREELIST(payloads);
|
||||
}
|
||||
|
||||
/* we should be able to find the file the second time around */
|
||||
if(filepath == NULL) {
|
||||
filepath = _alpm_filecache_find(handle, final_file);
|
||||
}
|
||||
free(final_file);
|
||||
return 0;
|
||||
|
||||
return filepath;
|
||||
err:
|
||||
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
|
||||
FREELIST(payloads);
|
||||
FREELIST(*fetched);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
void _alpm_dload_payload_reset(struct dload_payload *payload)
|
||||
@@ -740,16 +940,6 @@ void _alpm_dload_payload_reset(struct dload_payload *payload)
|
||||
FREE(payload->destfile_name);
|
||||
FREE(payload->content_disp_name);
|
||||
FREE(payload->fileurl);
|
||||
memset(payload, '\0', sizeof(*payload));
|
||||
}
|
||||
|
||||
void _alpm_dload_payload_reset_for_retry(struct dload_payload *payload)
|
||||
{
|
||||
ASSERT(payload, return);
|
||||
|
||||
FREE(payload->fileurl);
|
||||
payload->initial_size += payload->prevprogress;
|
||||
payload->prevprogress = 0;
|
||||
payload->unlink_on_fail = 0;
|
||||
payload->cb_initialized = 0;
|
||||
FREE(payload->filepath);
|
||||
*payload = (struct dload_payload){0};
|
||||
}
|
||||
|
||||
@@ -30,7 +30,13 @@ struct dload_payload {
|
||||
char *tempfile_name;
|
||||
char *destfile_name;
|
||||
char *content_disp_name;
|
||||
/* client has to provide either
|
||||
* 1) fileurl - full URL to the file
|
||||
* 2) pair of (servers, filepath), in this case ALPM iterates over the
|
||||
* server list and tries to download "$server/$filepath"
|
||||
*/
|
||||
char *fileurl;
|
||||
char *filepath; /* download URL path */
|
||||
alpm_list_t *servers;
|
||||
long respcode;
|
||||
off_t initial_size;
|
||||
@@ -41,16 +47,20 @@ struct dload_payload {
|
||||
int errors_ok;
|
||||
int unlink_on_fail;
|
||||
int trust_remote_name;
|
||||
int cb_initialized;
|
||||
int download_signature; /* specifies if an accompanion *.sig file need to be downloaded*/
|
||||
int signature_optional; /* *.sig file is optional */
|
||||
#ifdef HAVE_LIBCURL
|
||||
CURLcode curlerr; /* last error produced by curl */
|
||||
CURL *curl;
|
||||
char error_buffer[CURL_ERROR_SIZE];
|
||||
FILE *localf; /* temp download file */
|
||||
int signature; /* specifies if this payload is for a signature file */
|
||||
#endif
|
||||
};
|
||||
|
||||
void _alpm_dload_payload_reset(struct dload_payload *payload);
|
||||
void _alpm_dload_payload_reset_for_retry(struct dload_payload *payload);
|
||||
|
||||
int _alpm_download(struct dload_payload *payload, const char *localpath,
|
||||
char **final_file, const char **final_url);
|
||||
int _alpm_download(alpm_handle_t *handle,
|
||||
alpm_list_t *payloads /* struct dload_payload */,
|
||||
const char *localpath);
|
||||
|
||||
#endif /* ALPM_DLOAD_H */
|
||||
|
||||
@@ -64,11 +64,6 @@ void _alpm_handle_free(alpm_handle_t *handle)
|
||||
closelog();
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
/* release curl handle */
|
||||
curl_easy_cleanup(handle->curl);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBGPGME
|
||||
FREELIST(handle->known_keys);
|
||||
#endif
|
||||
@@ -105,7 +100,7 @@ int _alpm_handle_lock(alpm_handle_t *handle)
|
||||
ASSERT(handle->lockfd < 0, return 0);
|
||||
|
||||
/* create the dir of the lockfile first */
|
||||
dir = strdup(handle->lockfile);
|
||||
STRDUP(dir, handle->lockfile, return -1);
|
||||
ptr = strrchr(dir, '/');
|
||||
if(ptr) {
|
||||
*ptr = '\0';
|
||||
@@ -123,12 +118,6 @@ int _alpm_handle_lock(alpm_handle_t *handle)
|
||||
return (handle->lockfd >= 0 ? 0 : -1);
|
||||
}
|
||||
|
||||
/** Remove the database lock file
|
||||
* @param handle the context handle
|
||||
* @return 0 on success, -1 on error
|
||||
*
|
||||
* @note Safe to call from inside signal handlers.
|
||||
*/
|
||||
int SYMEXPORT alpm_unlock(alpm_handle_t *handle)
|
||||
{
|
||||
ASSERT(handle != NULL, return -1);
|
||||
@@ -311,6 +300,16 @@ const char SYMEXPORT *alpm_option_get_dbext(alpm_handle_t *handle)
|
||||
return handle->dbext;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_get_parallel_downloads(alpm_handle_t *handle)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBCURL
|
||||
return handle->parallel_downloads;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_logcb(alpm_handle_t *handle, alpm_cb_log cb)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
@@ -862,3 +861,16 @@ int SYMEXPORT alpm_option_set_disable_dl_timeout(alpm_handle_t *handle,
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_option_set_parallel_downloads(alpm_handle_t *handle,
|
||||
unsigned int num_streams)
|
||||
{
|
||||
CHECK_HANDLE(handle, return -1);
|
||||
#ifdef HAVE_LIBCURL
|
||||
ASSERT(num_streams >= 1, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1));
|
||||
handle->parallel_downloads = num_streams;
|
||||
#else
|
||||
(void)num_streams; /* silence unused variable warnings */
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -59,8 +59,9 @@ struct __alpm_handle_t {
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
/* libcurl handle */
|
||||
CURL *curl; /* reusable curl_easy handle */
|
||||
CURLM *curlm;
|
||||
unsigned short disable_dl_timeout;
|
||||
unsigned int parallel_downloads; /* number of download streams */
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBGPGME
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../../src/common/ini.c
|
||||
@@ -1 +0,0 @@
|
||||
../../src/common/ini.h
|
||||
@@ -10,4 +10,4 @@ Version: @LIB_VERSION@
|
||||
Requires.private: libarchive @pc_crypto@ @pc_libcurl@ @pc_gpgme@
|
||||
Cflags: -I${includedir} @LFS_CFLAGS@
|
||||
Libs: -L${libdir} -lalpm
|
||||
Libs.private: @LIBS@ @pc_gpgme_libs@
|
||||
Libs.private: @LIBS@ @pc_gpgme_libs@ @LIBINTL@
|
||||
|
||||
@@ -30,11 +30,6 @@
|
||||
#include "util.h"
|
||||
#include "alpm.h"
|
||||
|
||||
/** \addtogroup alpm_log Logging Functions
|
||||
* @brief Functions to log using libalpm
|
||||
* @{
|
||||
*/
|
||||
|
||||
static int _alpm_log_leader(FILE *f, const char *prefix)
|
||||
{
|
||||
time_t t = time(NULL);
|
||||
@@ -47,12 +42,6 @@ static int _alpm_log_leader(FILE *f, const char *prefix)
|
||||
return fprintf(f, "[%s] [%s] ", timestamp, prefix);
|
||||
}
|
||||
|
||||
/** A printf-like function for logging.
|
||||
* @param handle the context handle
|
||||
* @param prefix caller-specific prefix for the log
|
||||
* @param fmt output format
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
@@ -109,8 +98,6 @@ int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
void _alpm_log(alpm_handle_t *handle, alpm_loglevel_t flag, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
@@ -34,12 +34,6 @@
|
||||
#include "handle.h"
|
||||
#include "deps.h"
|
||||
|
||||
/** \addtogroup alpm_packages Package Functions
|
||||
* @brief Functions to manipulate libalpm packages
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Free a package. */
|
||||
int SYMEXPORT alpm_pkg_free(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
@@ -52,7 +46,6 @@ int SYMEXPORT alpm_pkg_free(alpm_pkg_t *pkg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Check the integrity (with md5) of a package from the sync cache. */
|
||||
int SYMEXPORT alpm_pkg_checkmd5sum(alpm_pkg_t *pkg)
|
||||
{
|
||||
char *fpath;
|
||||
@@ -275,6 +268,44 @@ const char SYMEXPORT *alpm_pkg_get_base64_sig(alpm_pkg_t *pkg)
|
||||
return pkg->base64_sig;
|
||||
}
|
||||
|
||||
int SYMEXPORT alpm_pkg_get_sig(alpm_pkg_t *pkg, unsigned char **sig, size_t *sig_len)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
|
||||
if(pkg->base64_sig) {
|
||||
int ret = alpm_decode_signature(pkg->base64_sig, sig, sig_len);
|
||||
if(ret != 0) {
|
||||
RET_ERR(pkg->handle, ALPM_ERR_SIG_INVALID, -1);
|
||||
}
|
||||
return 0;
|
||||
} else {
|
||||
char *pkgpath = NULL, *sigpath = NULL;
|
||||
alpm_errno_t err;
|
||||
int ret = -1;
|
||||
|
||||
pkgpath = _alpm_filecache_find(pkg->handle, pkg->filename);
|
||||
if(!pkgpath) {
|
||||
GOTO_ERR(pkg->handle, ALPM_ERR_PKG_NOT_FOUND, cleanup);
|
||||
}
|
||||
sigpath = _alpm_sigpath(pkg->handle, pkgpath);
|
||||
if(!sigpath || _alpm_access(pkg->handle, NULL, sigpath, R_OK)) {
|
||||
GOTO_ERR(pkg->handle, ALPM_ERR_SIG_MISSING, cleanup);
|
||||
}
|
||||
err = _alpm_read_file(sigpath, sig, sig_len);
|
||||
if(err == ALPM_ERR_OK) {
|
||||
_alpm_log(pkg->handle, ALPM_LOG_DEBUG, "found detached signature %s with size %ld\n",
|
||||
sigpath, *sig_len);
|
||||
} else {
|
||||
GOTO_ERR(pkg->handle, err, cleanup);
|
||||
}
|
||||
ret = 0;
|
||||
cleanup:
|
||||
FREE(pkgpath);
|
||||
FREE(sigpath);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_pkg_get_arch(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
@@ -397,7 +428,6 @@ alpm_db_t SYMEXPORT *alpm_pkg_get_db(alpm_pkg_t *pkg)
|
||||
return pkg->origin_data.db;
|
||||
}
|
||||
|
||||
/** Open a package changelog for reading. */
|
||||
void SYMEXPORT *alpm_pkg_changelog_open(alpm_pkg_t *pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
@@ -405,7 +435,6 @@ void SYMEXPORT *alpm_pkg_changelog_open(alpm_pkg_t *pkg)
|
||||
return pkg->ops->changelog_open(pkg);
|
||||
}
|
||||
|
||||
/** Read data from an open changelog 'file stream'. */
|
||||
size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
const alpm_pkg_t *pkg, void *fp)
|
||||
{
|
||||
@@ -414,7 +443,6 @@ size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size,
|
||||
return pkg->ops->changelog_read(ptr, size, pkg, fp);
|
||||
}
|
||||
|
||||
/** Close a package changelog for reading. */
|
||||
int SYMEXPORT alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
@@ -422,7 +450,6 @@ int SYMEXPORT alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp)
|
||||
return pkg->ops->changelog_close(pkg, fp);
|
||||
}
|
||||
|
||||
/** Open a package mtree file for reading. */
|
||||
struct archive SYMEXPORT *alpm_pkg_mtree_open(alpm_pkg_t * pkg)
|
||||
{
|
||||
ASSERT(pkg != NULL, return NULL);
|
||||
@@ -430,7 +457,6 @@ struct archive SYMEXPORT *alpm_pkg_mtree_open(alpm_pkg_t * pkg)
|
||||
return pkg->ops->mtree_open(pkg);
|
||||
}
|
||||
|
||||
/** Read entry from an open mtree file. */
|
||||
int SYMEXPORT alpm_pkg_mtree_next(const alpm_pkg_t * pkg, struct archive *archive,
|
||||
struct archive_entry **entry)
|
||||
{
|
||||
@@ -439,7 +465,6 @@ int SYMEXPORT alpm_pkg_mtree_next(const alpm_pkg_t * pkg, struct archive *archiv
|
||||
return pkg->ops->mtree_next(pkg, archive, entry);
|
||||
}
|
||||
|
||||
/** Close a package mtree file for reading. */
|
||||
int SYMEXPORT alpm_pkg_mtree_close(const alpm_pkg_t * pkg, struct archive *archive)
|
||||
{
|
||||
ASSERT(pkg != NULL, return -1);
|
||||
@@ -510,21 +535,16 @@ static alpm_list_t *compute_requiredby(alpm_pkg_t *pkg, int optional)
|
||||
return reqs;
|
||||
}
|
||||
|
||||
/** Compute the packages requiring a given package. */
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_compute_requiredby(alpm_pkg_t *pkg)
|
||||
{
|
||||
return compute_requiredby(pkg, 0);
|
||||
}
|
||||
|
||||
/** Compute the packages optionally requiring a given package. */
|
||||
alpm_list_t SYMEXPORT *alpm_pkg_compute_optionalfor(alpm_pkg_t *pkg)
|
||||
{
|
||||
return compute_requiredby(pkg, 1);
|
||||
}
|
||||
|
||||
|
||||
/** @} */
|
||||
|
||||
alpm_file_t *_alpm_file_copy(alpm_file_t *dest,
|
||||
const alpm_file_t *src)
|
||||
{
|
||||
@@ -764,16 +784,6 @@ alpm_pkg_t SYMEXPORT *alpm_pkg_find(alpm_list_t *haystack, const char *needle)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Test if a package should be ignored.
|
||||
*
|
||||
* Checks if the package is ignored via IgnorePkg, or if the package is
|
||||
* in a group ignored via IgnoreGroup.
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param pkg the package to test
|
||||
*
|
||||
* @return 1 if the package should be ignored, 0 otherwise
|
||||
*/
|
||||
int SYMEXPORT alpm_pkg_should_ignore(alpm_handle_t *handle, alpm_pkg_t *pkg)
|
||||
{
|
||||
alpm_list_t *groups = NULL;
|
||||
|
||||
@@ -17,7 +17,6 @@ eu_ES
|
||||
fi
|
||||
fr
|
||||
gl
|
||||
hi
|
||||
hr
|
||||
hu
|
||||
id
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -59,7 +59,7 @@ msgstr "تحذير عند الاستخراج %s (%s)\n"
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "تعذّر استخراج %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "تعذر إعادة تسمية %s إلى %s (%s)\n"
|
||||
@@ -170,7 +170,7 @@ msgstr "مدخل قاعدة بيانات معطوب '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -232,7 +232,7 @@ msgstr "معلومات الحزمة مفقودة في %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "فشل في قراءة ملف التّوقيع: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "مفتاح ضروري غير موجود في حلقة المفاتيح\n"
|
||||
@@ -362,22 +362,22 @@ msgstr "غير قادر على إنشاء ملف مؤقت للتحميل\n"
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "العنوان '%s' غير صالح\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "فشل في استقبال الملف '%s' من %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "فشل في استقبال الملف '%s' من %s : تم تجاوز حجم التحميل\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s يبدو غير موثوقًا: %jd/%jd بايت\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "tag td jpldg %s\n"
|
||||
@@ -831,7 +831,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "التوقيع المطلوب مفقود :%s\n"
|
||||
@@ -923,27 +923,27 @@ msgstr "حدثت تعارضات حزميّة تعذّر تحليلها\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr " يجري حذف '%s' من قائمة الأهداف بسبب تعارضها مع '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "تعذّر استقبال بعض الملفات\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "لا توجد مساحة خالية كافية على القرص\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "تعذّر بدء مُبادلة الإزالة\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "فشل في بدء المُبادلة\n"
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
#
|
||||
# Translators:
|
||||
# enolp <enolp@softastur.org>, 2015-2016,2018-2019
|
||||
# Ḷḷumex03, 2014
|
||||
# Ḷḷumex03, 2014
|
||||
# Ḷḷumex03, 2014-2015
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014
|
||||
# Ḷḷumex03 <tornes@opmbx.org>, 2014-2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Asturian (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nun pudo renomase %s a %s (%s)\n"
|
||||
@@ -165,7 +165,7 @@ msgstr "entrada de base de datos toyida '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -229,7 +229,7 @@ msgstr "datos meta de paquete faltantes en %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "fallu al lleer el ficheru de robla: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "clave riquida del aniellu claves faltante\n"
|
||||
@@ -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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "fallu recibiendo'l ficheru '%s' de %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "fallu recibiendo'l ficheru '%s' de %s: tamañu de descarga superáu\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "fallu al lleer %s\n"
|
||||
@@ -830,7 +830,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: falta la robla riquida\n"
|
||||
@@ -923,27 +923,27 @@ msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"desaniciando '%s' de la llista d'oxetivos porque ta en conflictu con '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "fallu al recuperar dellos ficheros\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "nun hai espaciu llibre abondu\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nun pudo unviase la transaición de desaniciu\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nun pudo unviase la transaición\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-11 13:05+0000\n"
|
||||
"Last-Translator: Galin Iskrenov <loot270@abv.bg>\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/toofishes/archlinux-"
|
||||
@@ -50,7 +50,7 @@ msgstr "има предупреждение при извличане %s (%s)\n"
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "не може да се извлече %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "не може да се преименува %s на %s (%s)\n"
|
||||
@@ -163,7 +163,7 @@ msgstr "повреден запис в базата '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -225,7 +225,7 @@ msgstr "липсват метаданни за пакета %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "не се чете подписващият файл: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "нужния ключ липсва от keyring\n"
|
||||
@@ -357,24 +357,24 @@ msgstr "не може да се създаде временен файл за с
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' е невалиден\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "неуспех при извличане на файл '%s' от %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"неуспех при получаването на файл '%s' от %s : очакваният размер за сваляне е "
|
||||
"надвишен\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s изглежда частичен: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "неуспех при сваляне на %s\n"
|
||||
@@ -826,7 +826,7 @@ msgstr "ключ \"%s\" не може да се внесе\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "ключ \"%s\" не може да се прегледа отдалечено\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: липсва изискващ се подпис\n"
|
||||
@@ -918,27 +918,27 @@ msgstr "засечени нерешени пакетни конфликти\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "премахване '%s' от целевия списък заради конфликт с '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "неуспех при извличане на файлове\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "не успя да се прочете файла %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "няма достатъчно свободно място на диска\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "не се потвърждава транзакцията по премахване\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "не се потвърждава транзакцията\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Breton (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "n'haller ket adenvel %s e %s (%s)\n"
|
||||
@@ -167,7 +167,7 @@ msgstr "enankad stlennvon kontronet '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -230,7 +230,7 @@ msgstr "mankout a ra metaroadennoù ar pakad e %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "fazi en ul lenn ar restr sinadur : %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "mankout a ra an alc'hwez goulennet en droñsell\n"
|
||||
@@ -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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "fazi en ur adkavout ar restr '%s' adalek %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"fazi en ur adkavout ar restr '%s' adalek %s : re vras eo ment ar "
|
||||
"pellgargadur\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "krennet e seblant bezañ %s : %jd/%jd eizhbit\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "fazi en ur pellgargañ %s\n"
|
||||
@@ -833,7 +833,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s : mankout a ra ar sinadur dleet\n"
|
||||
@@ -925,27 +925,27 @@ msgstr "tabutoù n'haller ket diskoulmañ a zo bet dinoet\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "o dilemel '%s' eus ar roll bukenn dre m'en deus un tabut gant '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "c'hwitadenn war atoradur restroù 'zo\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "n'eus ket plas dieub a-walc'h war ar bladenn\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "n'haller ket erounit an treuzkas dilemel\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "n'haller ket erounit an treuzkas\n"
|
||||
|
||||
@@ -16,7 +16,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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 14:57+0000\n"
|
||||
"Last-Translator: Davidmp <medipas@gmail.com>\n"
|
||||
"Language-Team: Catalan (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -57,7 +57,7 @@ msgstr "avís 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "no s'ha pogut canviar el nom %s a %s (%s).\n"
|
||||
@@ -170,7 +170,7 @@ msgstr "entrada de la base de dades corrupta \"%s'\".\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -235,7 +235,7 @@ msgstr "manquen les metadades del paquet a %s.\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "ha fallat llegir el fitxer de signatures: %s.\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "la clau requerida manca al clauer.\n"
|
||||
@@ -372,24 +372,24 @@ msgstr "ha fallat crear un fitxer temporal per a la baixada.\n"
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l'url \"%s\" no és vàlid.\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "ha fallat la recuperació del fitxer \"%s\" des de %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "ha fallat baixar %s.\n"
|
||||
@@ -845,7 +845,7 @@ msgstr "la clau \"%s\" no s'ha pogut importar.\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "la clau \"%s\" no s'ha pogut cercar remotament.\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: manca la signatura requerida.\n"
|
||||
@@ -939,27 +939,27 @@ msgstr ""
|
||||
"Se suprimeix \"%s\" de la llista d'objectius perquè té conflictes amb \"%s"
|
||||
"\".\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "ha fallat la recuperació d'alguns fitxers.\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "ha fallat llegir el fitxer %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "no hi ha prou espai de disc lliure.\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "no s'ha pogut fer la transacció de supressió.\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "no s'ha pogut fer la transacció.\n"
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
# IAmNotImportant, 2017
|
||||
# Jaroslav Lichtblau <jlichtblau@seznam.cz>, 2014-2015
|
||||
# Jaroslav Lichtblau <jlichtblau@seznam.cz>, 2014
|
||||
# Lukáš Kucharczyk <lukas@kucharczyk.xyz>, 2020
|
||||
# mmm <markotahal@gmail.com>, 2013
|
||||
# mmm <markotahal@gmail.com>, 2011
|
||||
# IAmNotImportant, 2017
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-06-26 07:36+0000\n"
|
||||
"Last-Translator: Lukáš Kucharczyk <lukas@kucharczyk.xyz>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/cs/)\n"
|
||||
"Language: cs\n"
|
||||
@@ -61,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nelze přejmenovat %s na %s (%s)\n"
|
||||
@@ -173,7 +172,7 @@ msgstr "poškozený záznam v databázi '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -235,7 +234,7 @@ msgstr "chybí metadata balíčku v %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "nelze načíst soubor s podpisy: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "požadovaný klíč není v klíčence\n"
|
||||
@@ -365,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "selhalo získání souboru '%s' z %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"selhalo získání souboru '%s' z %s : překročení očekávané velikosti "
|
||||
"stahování\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s se zdá být zkrácen: %jd/%jd bytů\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "selhalo stahování %s\n"
|
||||
@@ -650,7 +649,7 @@ msgstr "chyba volání externího programu pro stahování souborů"
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "zkompilováno bez podpory podepisování"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
@@ -807,12 +806,12 @@ msgstr "Chyba GPGME: %s\n"
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "vyhledávání klíče %s pomocí WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "chyba gpg: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
@@ -822,7 +821,7 @@ msgstr "do klíčenky nelze zapisovat\n"
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "klíč \"%s\" na serveru\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
@@ -834,7 +833,7 @@ msgstr "klíč \"%s\" se nepodařilo importovat\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "klíč \"%s\" nebylo možné vzdáleně vyhledat\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: chybí vyžadovaný podpis\n"
|
||||
@@ -926,27 +925,27 @@ msgstr "zjištěn konflikt nerozlišitelných balíčků\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' odstraněn ze seznamu cílů, protože je konfliktní s '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "selhalo získání některých souborů\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "načtení souboru %s se nezdařilo: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "není dostatek volného místa na disku\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nelze provést transakci pro odstranění\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nelze provést transakci\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-14 00:27+0000\n"
|
||||
"Last-Translator: scootergrisen\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kunne ikke omdøbe %s til %s (%s)\n"
|
||||
@@ -167,7 +167,7 @@ msgstr "beskadiget databasepunkt '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -229,7 +229,7 @@ msgstr "manglende pakkemetadata i %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "kunne ikke læse underskriftfil: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "krævede nøgle mangler fra nøglering\n"
|
||||
@@ -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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "fejlede i indhentning af fil '%s' fra %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"kunne ikke indhente fil '%s' fra %s: forventet downloadstørrelse "
|
||||
"overskredet\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s ser ud til at være afkortet: %jd/%jd byte\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "kunne ikke hente %s\n"
|
||||
@@ -828,7 +828,7 @@ msgstr "nøglen \"%s\" kunne ikke importeres\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "nøglen \"%s\" kunne ikke opslås eksternt\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: mangler krævet signatur\n"
|
||||
@@ -920,27 +920,27 @@ msgstr "pakkekonflikter, der ikke kan løses, er detekteret\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "fjerner »%s« fra målliste da det konflikter med »%s«\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "kunne ikke indhente nogle filer\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "kunne ikke læse filen %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ikke nok ledig diskplads\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kunne ikke indsende (commit) fjernelsestransaktion\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "kunne ikke indsende (commit) transaktion\n"
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
#
|
||||
# Translators:
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# 21db53640bd6018c4a99700a4cf2ee28_f478df7 <98034cbca98620f1cf39d6ebdfa44311_785827>, 2019-2020
|
||||
# Dieter S <ptpsmail@web.de>, 2019
|
||||
# Frank Theile, 2018
|
||||
# Frank Theile, 2018
|
||||
# Jakob Gahde <j5lx@fmail.co.uk>, 2014-2015
|
||||
# 65138391f015e4001c6ef9d675c96796_707a378 <99e420e9f3ea1b91cb2cbbb4cbc7cd27_2862>, 2013
|
||||
# 65138391f015e4001c6ef9d675c96796_707a378 <99e420e9f3ea1b91cb2cbbb4cbc7cd27_2862>, 2013
|
||||
# mar77i <inactive+mar77i@transifex.com>, 2013
|
||||
# mar77i <inactive+mar77i@transifex.com>, 2013
|
||||
# Martin Kühne <mysatyre@gmail.com>, 2017
|
||||
# Matthias Gorissen <matthias@archlinux.de>, 2011
|
||||
# Wieland Hoffmann <themineo+transifex@googlemail.com>, 2013
|
||||
# 65138391f015e4001c6ef9d675c96796_707a378 <99e420e9f3ea1b91cb2cbbb4cbc7cd27_2862>, 2013
|
||||
# mar77i <inactive+mar77i@transifex.com>, 2013
|
||||
# Silvan Jegen <s.jegen@gmail.com>, 2015
|
||||
# Wieland Hoffmann <themineo+transifex@googlemail.com>, 2013
|
||||
# Wieland Hoffmann <themineo+transifex@googlemail.com>, 2013
|
||||
@@ -21,10 +21,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-01-20 13:10+0000\n"
|
||||
"Last-Translator: 21db53640bd6018c4a99700a4cf2ee28_f478df7 "
|
||||
"<98034cbca98620f1cf39d6ebdfa44311_785827>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: German (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/de/)\n"
|
||||
"Language: de\n"
|
||||
@@ -63,7 +62,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "Konnte %s nicht in %s umbenennen (%s)\n"
|
||||
@@ -176,7 +175,7 @@ msgstr "Beschädigter Datenbank-Eintrag '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -242,7 +241,7 @@ msgstr "Fehlende Paket-Metadaten in %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "Konnte die Signatur-Datei nicht lesen: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "Erforderlicher Schlüssel fehlt im Schlüsselbund\n"
|
||||
@@ -379,24 +378,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "Konnte Datei '%s' nicht von %s übertragen : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"Konnte Datei '%s' nicht von %s empfangen: Erwartete Downloadgröße "
|
||||
"überschritten\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s scheint abgeschnitten zu sein: %jd/%jd Bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "Konnte %s nicht herunterladen\n"
|
||||
@@ -827,7 +826,7 @@ msgstr ""
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "gpg-Fehler: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
@@ -837,7 +836,7 @@ msgstr "Schlüssebund ist nicht schreibbar\n"
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "Schlüssel \"%s\" auf Schlüsselserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
@@ -849,7 +848,7 @@ msgstr "Schlüssel \"%s\" konnte nicht importiert werden\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "Schlüssel \"%s\" konnte nicht entfernt abgerufen werden\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: Erforderliche Signatur fehlt\n"
|
||||
@@ -941,27 +940,27 @@ msgstr "Nicht auflösbare Paketkonflikte gefunden\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "Entferne '%s' aus der Ziel-Liste, da es mit '%s' in Konflikt steht\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "Konnte einige Dateien nicht übertragen\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "konnte die Datei nicht lesen %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "Nicht genug freier Festplattenspeicher\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "Konnte Löschvorgang nicht durchführen\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "Konnte den Vorgang nicht durchführen\n"
|
||||
|
||||
@@ -7,19 +7,19 @@
|
||||
# Achilleas Pipinellis, 2014
|
||||
# Achilleas Pipinellis, 2013
|
||||
# Achilleas Pipinellis, 2013
|
||||
# Christos Nouskas <nous@artixlinux.org>, 2011,2013-2014,2017,2019-2020
|
||||
# Christos Nouskas <nous@archlinux.us>, 2011,2013-2014,2017,2019
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# ifaigios <ifaigios@gmail.com>, 2015
|
||||
# ifaigios <ifaigios@gmail.com>, 2015
|
||||
# Christos Nouskas <nous@artixlinux.org>, 2011
|
||||
# Christos Nouskas <nous@archlinux.us>, 2011
|
||||
# th_ts <tsesmelistheodore@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-04-03 19:45+0000\n"
|
||||
"Last-Translator: Christos Nouskas <nous@artixlinux.org>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Greek (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/el/)\n"
|
||||
"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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "αδυναμία μετονομασίας %s σε %s (%s)\n"
|
||||
@@ -171,7 +171,7 @@ msgstr "κατεστραμμένη εγγραφή βάσης '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -233,7 +233,7 @@ msgstr "απόντα μετα-δεδομένα πακέτου στο %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "αδυναμία ανάγνωσης αρχείου υπογραφής: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr ""
|
||||
@@ -368,23 +368,23 @@ msgstr "αποτυχία δημιουργίας προσωρινού αρχεί
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "άκυρη διεύθυνση '%s'\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "αποτυχία λήψης αρχείου '%s' από %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"αποτυχία λήψης αρχείου '%s' από %s : υπέρβαση αναμενομένου μεγέθους λήψης\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "το %s δείχνει ημιτελές: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "αποτυχία λήψης %s\n"
|
||||
@@ -427,12 +427,12 @@ msgstr "ανεπαρκής ελεύθερος χώρος στον δίσκο"
|
||||
#: lib/libalpm/error.c:55
|
||||
#, c-format
|
||||
msgid "library not initialized"
|
||||
msgstr "βιβλιοθήκη μη προετοιμασμένη"
|
||||
msgstr "βιβλιοθήκη μη εκκινηθείσα"
|
||||
|
||||
#: lib/libalpm/error.c:57
|
||||
#, c-format
|
||||
msgid "library already initialized"
|
||||
msgstr "βιβλιοθήκη ήδη προετοιμασμένη"
|
||||
msgstr "βιβλιοθήκη ήδη εκκινηθείσα"
|
||||
|
||||
#: lib/libalpm/error.c:59
|
||||
#, c-format
|
||||
@@ -452,7 +452,7 @@ msgstr "αδυναμία δημιουργίας βάσης"
|
||||
#: lib/libalpm/error.c:66
|
||||
#, c-format
|
||||
msgid "database not initialized"
|
||||
msgstr "βάση μη προετοιμασμένη"
|
||||
msgstr "βάση μη εκκινηθείσα"
|
||||
|
||||
#: lib/libalpm/error.c:68
|
||||
#, c-format
|
||||
@@ -502,12 +502,12 @@ msgstr "αρρύθμιστοι διακομιστές αποθετηρίου"
|
||||
#: lib/libalpm/error.c:88
|
||||
#, c-format
|
||||
msgid "transaction already initialized"
|
||||
msgstr "διεκπεραίωση ήδη προετοιμασμένη"
|
||||
msgstr "διεκπεραίωση ήδη εκκινηθείσα"
|
||||
|
||||
#: lib/libalpm/error.c:90 lib/libalpm/error.c:94
|
||||
#, c-format
|
||||
msgid "transaction not initialized"
|
||||
msgstr "διεκπεραίωση μη προετοιμασμένη"
|
||||
msgstr "διεκπεραίωση μη εκκινηθείσα"
|
||||
|
||||
#: lib/libalpm/error.c:92
|
||||
#, c-format
|
||||
@@ -652,7 +652,7 @@ msgstr "σφάλμα κλήσης προγράμματος λήψης"
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "μεταγλώττιση χωρίς υποστήριξη υπογραφής"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
@@ -809,12 +809,12 @@ msgstr "σφάλμα GPGME: %s\n"
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "αναζήτησή κλειδιού %s με χρήση WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "σφάλμα gpg: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
@@ -824,7 +824,7 @@ msgstr "μη εγγράψιμος κλειδούχος\n"
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "κλειδί \"%s\" στον διακομιστή κλειδιών\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
@@ -836,7 +836,7 @@ msgstr "αδυναμία εισαγωγής κλειδιού \"%s\"\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "αδυναμία απομεμακρυσμένης αναζήτησης κλειδιού \"%s\"\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: απούσα απαιτούμενη υπογραφή\n"
|
||||
@@ -929,27 +929,27 @@ msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"αφαίρεση του '%s' από την λίστα διεκπεραίωσης λόγω διένεξης με το '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "σφάλμα λήψης μερικών αρχείων\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "αποτυχία ανάγνωσης αρχείου %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "μη αρκετός ελεύθερος χώρος στο δίσκο\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "αδυναμία διεκπεραίωσης διαγραφής\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "αδυναμία διεκπεραίωσης\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:47+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: English (United Kingdom) (http://www.transifex.com/toofishes/"
|
||||
@@ -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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "could not rename %s to %s (%s)\n"
|
||||
@@ -163,7 +163,7 @@ msgstr "corrupted database entry '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -225,7 +225,7 @@ msgstr "missing package metadata in %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "failed to read signature file: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "required key missing from keyring\n"
|
||||
@@ -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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "failed retrieving file '%s' from %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "failed to download %s\n"
|
||||
@@ -823,7 +823,7 @@ msgstr "key \"%s\" could not be imported\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "key \"%s\" could not be looked up remotely\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: missing required signature\n"
|
||||
@@ -915,27 +915,27 @@ msgstr "unresolvable package conflicts detected\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "failed to retrieve some files\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "failed to read file %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "not enough free disk space\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "could not commit removal transaction\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "could not commit transaction\n"
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Kinsey Favre <kinseytamsin@tutanota.com>, 2020
|
||||
# pizzaiolo, 2015
|
||||
# pizzaiolo, 2015
|
||||
# pizzaiolo, 2015
|
||||
@@ -12,9 +11,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: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-02-17 19:07+0000\n"
|
||||
"Last-Translator: Kinsey Favre <kinseytamsin@tutanota.com>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Esperanto (http://www.transifex.com/toofishes/archlinux-"
|
||||
"pacman/language/eo/)\n"
|
||||
"Language: eo\n"
|
||||
@@ -26,34 +25,34 @@ msgstr ""
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s estas ĝisdata -- preterpasado\n"
|
||||
msgstr "%s-%s estas ĝisdata -- preterpasante\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- reinstalling\n"
|
||||
msgstr "%s-%s estas ĝisdata -- reinstalado\n"
|
||||
msgstr "%s-%s estas ĝisdata -- reinstalante\n"
|
||||
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "malpromociado de pakaĵo %s (%s => %s)\n"
|
||||
msgstr "malpromociante pakaĵon %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
msgid "cannot allocate disk archive object"
|
||||
msgstr "ne eblas asigni diskarkivan objekton"
|
||||
msgstr "maleblas disponigi diskarkivaĵon"
|
||||
|
||||
#: lib/libalpm/add.c:143 lib/libalpm/util.c:382
|
||||
#, c-format
|
||||
msgid "warning given when extracting %s (%s)\n"
|
||||
msgstr "averto donita dum eltiri %s (%s)\n"
|
||||
msgstr "averto donita dum eltirado de %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:146 lib/libalpm/util.c:385
|
||||
#, c-format
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "ne eblis eltiri %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "ne eblis renomi %s al %s (%s)\n"
|
||||
@@ -62,13 +61,13 @@ msgstr "ne eblis renomi %s al %s (%s)\n"
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"dosiero ne trovita en la dosierlisto por pakaĵo %s. preterpasado de eltiro "
|
||||
"dosiero ne trovita en la dosierlisto por pakaĵo %s. preterpasante eltirado "
|
||||
"de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
msgid "unable to extract %s%s: path too long"
|
||||
msgstr "ne eblas eltiri %s%s: dosierindiko tro longa"
|
||||
msgstr "ne eblis eltiri %s%s: la dosierindiko estas tro longa"
|
||||
|
||||
#: lib/libalpm/add.c:261
|
||||
#, c-format
|
||||
@@ -76,8 +75,8 @@ msgid ""
|
||||
"directory permissions differ on %s\n"
|
||||
"filesystem: %o package: %o\n"
|
||||
msgstr ""
|
||||
"diferencas dosierujaj permesoj de %s\n"
|
||||
"dosiersistema: %o pakaĵa: %o\n"
|
||||
"dosierujaj permesoj malsamas en\n"
|
||||
"dosiersistemo %s: pakaĵo %o: %o\n"
|
||||
|
||||
#: lib/libalpm/add.c:276
|
||||
#, c-format
|
||||
@@ -85,23 +84,23 @@ msgid ""
|
||||
"directory ownership differs on %s\n"
|
||||
"filesystem: %u:%u package: %u:%u\n"
|
||||
msgstr ""
|
||||
"diferencas dosieruja posedo de %s\n"
|
||||
"dosiersistema: %u:%u pakaĵa: %u:%u\n"
|
||||
"dosieruja posedo malsamas en\n"
|
||||
"dosiersistemo %s: %u:%u pakaĵo: %u:%u\n"
|
||||
|
||||
#: lib/libalpm/add.c:292
|
||||
#, c-format
|
||||
msgid "extract: not overwriting dir with file %s\n"
|
||||
msgstr "eltiri: ne superskribas dosierujon per dosiero %s\n"
|
||||
msgstr "eltiri: ne superskribante dosierujon kun dosiero %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:320
|
||||
#, c-format
|
||||
msgid "unable to extract %s.pacnew: path too long"
|
||||
msgstr "ne eblas eltiri %s.pacnew: la dosierindiko tro longa"
|
||||
msgstr "ne eblis eltiri %s.pacnew: la dosierindiko estas tro longa"
|
||||
|
||||
#: lib/libalpm/add.c:513 lib/libalpm/util.c:334 lib/libalpm/util.c:592
|
||||
#, c-format
|
||||
msgid "could not get current working directory\n"
|
||||
msgstr "ne eblis akiri kurantan dosierujon\n"
|
||||
msgstr "ne eblis akiri nunan funkciantan dosierujon\n"
|
||||
|
||||
#: lib/libalpm/add.c:518 lib/libalpm/util.c:339 lib/libalpm/util.c:597
|
||||
#: lib/libalpm/util.c:650
|
||||
@@ -112,17 +111,17 @@ msgstr "ne eblis ŝanĝi dosierujon al %s (%s)\n"
|
||||
#: lib/libalpm/add.c:575 lib/libalpm/util.c:403 lib/libalpm/util.c:766
|
||||
#, c-format
|
||||
msgid "could not restore working directory (%s)\n"
|
||||
msgstr "ne eblis restaŭri kurantan dosierujon (%s)\n"
|
||||
msgstr "ne eblis restaŭri nunan funkciantan dosierujon (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:583
|
||||
#, c-format
|
||||
msgid "problem occurred while upgrading %s\n"
|
||||
msgstr "problemo okazis dum promocii %s\n"
|
||||
msgstr "problemo okazis dum ĝisdatigo de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:589
|
||||
#, c-format
|
||||
msgid "problem occurred while installing %s\n"
|
||||
msgstr "problemo okazis dum instali %s\n"
|
||||
msgstr "problemo okazis dum instalo de %s\n"
|
||||
|
||||
#: lib/libalpm/add.c:604
|
||||
#, c-format
|
||||
@@ -137,12 +136,12 @@ msgstr "ne eblis aldoni enigon '%s' en kaŝmemoro\n"
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
msgid "error while reading file %s: %s\n"
|
||||
msgstr "eraro dum legi dosieron %s: %s\n"
|
||||
msgstr "eraro dum legado de dosiero %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "forigado de nevalida datumbazo: %s\n"
|
||||
msgstr "forigante nevalidan datumbazon: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
@@ -152,21 +151,21 @@ msgstr "ne eblis krei dosierujon %s: %s\n"
|
||||
#: lib/libalpm/be_local.c:590 lib/libalpm/be_sync.c:386
|
||||
#, c-format
|
||||
msgid "invalid name for database entry '%s'\n"
|
||||
msgstr "nevalida nomo por datumbaz-enigo '%s'\n"
|
||||
msgstr "nevalida nomo por datumbaza enigo '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:598
|
||||
#, c-format
|
||||
msgid "duplicated database entry '%s'\n"
|
||||
msgstr "duobligita datumbaz-enigo '%s'\n"
|
||||
msgstr "duobla datumbaza enigo '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:610
|
||||
#, c-format
|
||||
msgid "corrupted database entry '%s'\n"
|
||||
msgstr "difektita datumbaz-enigo '%s'\n"
|
||||
msgstr "difektita datumbaza enigo '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -175,43 +174,43 @@ msgstr "ne eblis malfermi dosieron %s: %s\n"
|
||||
#: lib/libalpm/be_local.c:729 lib/libalpm/be_sync.c:650
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: name mismatch on package %s\n"
|
||||
msgstr "datumbazo %s estas nekohera: noma miskongruo de pakaĵo %s\n"
|
||||
msgstr "la datumbazo %s estas nekohera: noma malkongruo en la pakaĵo %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:735 lib/libalpm/be_sync.c:656
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: version mismatch on package %s\n"
|
||||
msgstr "datumbazo %s estas nekohera: versia miskongruo de pakaĵo %s\n"
|
||||
msgstr "la datumbazo %s estas nekohera: versia malkongruo en la pakaĵo %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:776
|
||||
#, c-format
|
||||
msgid "unknown validation type for package %s: %s\n"
|
||||
msgstr "nekonata kontrola speco por pakaĵo %s: %s\n"
|
||||
msgstr "nekonata validiga tipo por pakaĵo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:479 lib/libalpm/be_package.c:637
|
||||
#: lib/libalpm/be_package.c:650
|
||||
#, c-format
|
||||
msgid "error while reading package %s: %s\n"
|
||||
msgstr "eraro dum legi pakaĵon %s: %s\n"
|
||||
msgstr "eraro dum legado de pakaĵo %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 "eraro dum legi mtree de pakaĵo %s: %s\n"
|
||||
msgstr "eraro dum legado de mtree de pakaĵo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:603
|
||||
#, c-format
|
||||
msgid "could not parse package description file in %s\n"
|
||||
msgstr "ne eblis analizi pakaĵpriskriban dosieron en %s\n"
|
||||
msgstr "ne eblis analizi priskriban dosieron de la pakaĵo en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:608
|
||||
#, c-format
|
||||
msgid "missing package name in %s\n"
|
||||
msgstr "mankanta pakaĵa nomo en %s\n"
|
||||
msgstr "mankas pakaĵa nomo en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:612
|
||||
#, c-format
|
||||
msgid "missing package version in %s\n"
|
||||
msgstr "mankanta pakaĵa versio en %s\n"
|
||||
msgstr "mankas pakaĵa versio en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:616
|
||||
#, c-format
|
||||
@@ -221,43 +220,46 @@ msgstr "nevalida pakaĵa versio en %s\n"
|
||||
#: lib/libalpm/be_package.c:657
|
||||
#, c-format
|
||||
msgid "missing package metadata in %s\n"
|
||||
msgstr "mankantaj pakaĵaj metadatumoj en %s\n"
|
||||
msgstr "mankas pakaĵaj metadatumoj en %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:750
|
||||
#, c-format
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "malsukcesis legi subskriban dosieron: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "bezonata ŝlosilo mankas de ŝlosilingo\n"
|
||||
msgstr "bezonata ŝlosilo mankas de la ŝlosilingo\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "forigado de nevalida dosiero: %s\n"
|
||||
msgstr "forigante nevalidan dosieron: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, c-format
|
||||
msgid "could not parse package description file '%s' from db '%s'\n"
|
||||
msgstr "ne eblis analizi pakaĵpriskriban dosieron '%s' el datumbazo '%s'\n"
|
||||
msgstr "ne eblis analizi priskriba dosiero de la pakaĵo '%s' el db '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "ne povis legi datumbazon '%s' (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is illegal\n"
|
||||
msgstr ""
|
||||
"datumbazo %s estas nekohera: dosiernomo de pakaĵo %s estas malpermesita\n"
|
||||
"la datumbazo %s estas malkongrua: la dosiernomo de pakaĵo %s estas "
|
||||
"malpermesata\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:566
|
||||
#, c-format
|
||||
msgid "%s database is inconsistent: filename of package %s is too long\n"
|
||||
msgstr "datumbazo %s estas nekohera: dosiernomo de pakaĵo %s estas tro longa\n"
|
||||
msgstr ""
|
||||
"la datumbazo %s estas malkongrua: la dosiernomo de pakaĵo %s estas tro "
|
||||
"longa\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:632
|
||||
#, c-format
|
||||
@@ -267,37 +269,37 @@ msgstr "nekonata datumbaza dosiero: %s\n"
|
||||
#: lib/libalpm/db.c:370
|
||||
#, c-format
|
||||
msgid "database path is undefined\n"
|
||||
msgstr "datumbaza dosierindiko estas senvalora\n"
|
||||
msgstr "la datumbaza vojo estas nedifinita\n"
|
||||
|
||||
#: lib/libalpm/deps.c:184
|
||||
#, c-format
|
||||
msgid "dependency cycle detected:\n"
|
||||
msgstr "postula ciklo detektita:\n"
|
||||
msgstr "dependenca ciklo detektita:\n"
|
||||
|
||||
#: lib/libalpm/deps.c:187
|
||||
#, c-format
|
||||
msgid "%s will be removed after its %s dependency\n"
|
||||
msgstr "%s estos forigita post sia postulataĵo %s\n"
|
||||
msgstr "oni forigos %s post sia dependenco %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:191
|
||||
#, c-format
|
||||
msgid "%s will be installed before its %s dependency\n"
|
||||
msgstr "%s estos instalita antaŭ sia postulataĵo %s\n"
|
||||
msgstr "oni instalos %s antaŭ sia dependenco %s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignorado de pakaĵo %s-%s\n"
|
||||
msgstr "ignorante pakaĵon %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
|
||||
msgstr "ne eblas solvi \"%s\", postulataĵo de \"%s\"\n"
|
||||
msgstr "ne eblas solvi \"%s\", dependeco de \"%s\"\n"
|
||||
|
||||
#: lib/libalpm/diskspace.c:78
|
||||
#, c-format
|
||||
msgid "could not get filesystem information for %s: %s\n"
|
||||
msgstr "ne eblis akiri dosiersistema informo de %s: %s\n"
|
||||
msgstr "ne eblis akiri dosiersistema informo pri %s: %s\n"
|
||||
|
||||
#: lib/libalpm/diskspace.c:108
|
||||
#, c-format
|
||||
@@ -312,37 +314,39 @@ msgstr "ne eblis akiri dosiersistemajn informojn\n"
|
||||
#: lib/libalpm/diskspace.c:242
|
||||
#, c-format
|
||||
msgid "could not get file information for %s\n"
|
||||
msgstr "ne eblis akiri dosierinformon de %s\n"
|
||||
msgstr "ne eblis akiri dosierinformon pri %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 "ne eblis determini surmetingon de dosiero %s\n"
|
||||
msgstr "ne eblis scii surmetingon pri dosiero %s\n"
|
||||
|
||||
#: lib/libalpm/diskspace.c:354
|
||||
#, c-format
|
||||
msgid "Partition %s too full: %jd blocks needed, %ju blocks free\n"
|
||||
msgstr "Subdisko %s tro plena: %jd blokoj bezonataj, %ju blokoj liberaj\n"
|
||||
msgstr ""
|
||||
"La subdisko %s estas tro plena: %jd blokoj bezonataj, %ju blokoj "
|
||||
"malokupataj\n"
|
||||
|
||||
#: lib/libalpm/diskspace.c:379 lib/libalpm/diskspace.c:433
|
||||
#, c-format
|
||||
msgid "could not determine filesystem mount points\n"
|
||||
msgstr "ne eblis determini dosiersistemajn surmetingojn\n"
|
||||
msgstr "ne eblis scii dosiersistemajn surmetingojn\n"
|
||||
|
||||
#: lib/libalpm/diskspace.c:385
|
||||
#, c-format
|
||||
msgid "could not determine cachedir mount point %s\n"
|
||||
msgstr "ne eblis determini kaŝmemoro-dosierujan surmetingon %s\n"
|
||||
msgstr "ne eblis scii surmetingon de cachedir %s\n"
|
||||
|
||||
#: lib/libalpm/diskspace.c:438
|
||||
#, c-format
|
||||
msgid "could not determine root mount point %s\n"
|
||||
msgstr "ne eblis determini radikan surmetingon %s\n"
|
||||
msgstr "ne eblis scii radikan surmetingon %s\n"
|
||||
|
||||
#: lib/libalpm/diskspace.c:486
|
||||
#, c-format
|
||||
msgid "Partition %s is mounted read only\n"
|
||||
msgstr "Subdisko %s estas surmetita nurlege\n"
|
||||
msgstr "La subdisko %s estas surmetita nurlegebla\n"
|
||||
|
||||
#: lib/libalpm/dload.c:161
|
||||
#, c-format
|
||||
@@ -357,26 +361,26 @@ msgstr "malsukcesis krei provizoran dosieron por elŝuto\n"
|
||||
#: lib/libalpm/dload.c:393
|
||||
#, c-format
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' estas nevalida\n"
|
||||
msgstr "la url '%s' ne estas valida\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "malsukcesis ekstrakti dosieron '%s' de %s: %s\n"
|
||||
msgstr "malsukcesis ricevi dosieron '%s' de %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"malsukcesis ekstrakti dosieron '%s' de %s : atendita elŝuta grando "
|
||||
"transpaŝita\n"
|
||||
"malsukcesis ricevi dosieron '%s' de %s: atendita elŝuta grando grandigis\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s aspektas trunkite: %jd/%jd bitokoj\n"
|
||||
msgstr "%s ŝajnas esti trunkita: %jd/%jd bitokoj\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "malsukcesis elŝuti %s\n"
|
||||
@@ -394,7 +398,7 @@ msgstr "neatendita sistema eraro"
|
||||
#: lib/libalpm/error.c:44
|
||||
#, c-format
|
||||
msgid "permission denied"
|
||||
msgstr "permeso rifuzita"
|
||||
msgstr "permeso neita"
|
||||
|
||||
#: lib/libalpm/error.c:46
|
||||
#, c-format
|
||||
@@ -479,7 +483,7 @@ msgstr "ne eblis ĝisdatigi datumbazon"
|
||||
#: lib/libalpm/error.c:80
|
||||
#, c-format
|
||||
msgid "could not remove database entry"
|
||||
msgstr "ne povis forigi datumbaz-enigon"
|
||||
msgstr "ne eblis forigi datumbazan enigon"
|
||||
|
||||
#: lib/libalpm/error.c:83
|
||||
#, c-format
|
||||
@@ -559,7 +563,7 @@ msgstr "nevalida aŭ difektita pakaĵo (PGP-subskribo)"
|
||||
#: lib/libalpm/error.c:117
|
||||
#, c-format
|
||||
msgid "package missing required signature"
|
||||
msgstr "mankas al pakaĵo bezonata subskribo"
|
||||
msgstr "la pakaĵo mankas bezonata subskribo"
|
||||
|
||||
#: lib/libalpm/error.c:119
|
||||
#, c-format
|
||||
@@ -569,7 +573,7 @@ msgstr "ne eblas malfermi pakaĵan dosieron"
|
||||
#: lib/libalpm/error.c:121
|
||||
#, c-format
|
||||
msgid "cannot remove all files for package"
|
||||
msgstr "ne povas forigi ĉiujn dosierojn por pakaĵo"
|
||||
msgstr "ne forviŝeblas ĉiujn dosierojn por la pakaĵo"
|
||||
|
||||
#: lib/libalpm/error.c:123
|
||||
#, c-format
|
||||
@@ -589,7 +593,7 @@ msgstr "ne eblis trovi deponejon por celo"
|
||||
#: lib/libalpm/error.c:130
|
||||
#, c-format
|
||||
msgid "missing PGP signature"
|
||||
msgstr "mankanta PGP-subskribo"
|
||||
msgstr "mankas PGP-subskribo"
|
||||
|
||||
#: lib/libalpm/error.c:132
|
||||
#, c-format
|
||||
@@ -639,12 +643,12 @@ msgstr "eraro de gpgme"
|
||||
#: lib/libalpm/error.c:156
|
||||
#, c-format
|
||||
msgid "error invoking external downloader"
|
||||
msgstr "eraro pri alvoko de ekstera elŝutilo"
|
||||
msgstr "eraro alvokante eksteran elŝutilon"
|
||||
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "programtradukita sen subskriba subteno"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
@@ -654,79 +658,79 @@ msgstr "neatendita eraro"
|
||||
#: lib/libalpm/handle.c:153
|
||||
#, c-format
|
||||
msgid "lock file missing %s\n"
|
||||
msgstr "mankas al ŝlosa dosiero %s\n"
|
||||
msgstr "ŝlosa dosiero mankas %s\n"
|
||||
|
||||
#: lib/libalpm/handle.c:159
|
||||
#, c-format
|
||||
msgid "could not remove lock file %s\n"
|
||||
msgstr "ne eblis forigi la ŝlosdosieron %s\n"
|
||||
msgstr "ne eblis forigi ŝlosan dosieron %s\n"
|
||||
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Mankantaj baskulaj celoj en hoko: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Mankanta baskula tipo en hoko: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Mankanta baskula operacio en hoko: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Mankanta Exec-opcio en hoko: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Mankanta When-opcio en hoko: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "AbortOnFail agordita por PostTransaction-hoko: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "eraro dum legi hokon %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "hoko %s linio %d: nevalida opcio %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "hoko %s linio %d: nevalida sekcio %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "hoko %s linio %d: nevalida valoro %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "hoko %s linio %d: superskribas antaŭan difinon de %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "hoko %s linio %d: ne povas agordi opcion (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "ne povas ruli hokon %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
@@ -736,7 +740,7 @@ msgstr "ne eblis malfermi dosierujon: %s: %s\n"
|
||||
#: lib/libalpm/hook.c:575
|
||||
#, c-format
|
||||
msgid "could not open file: %s%s: %s\n"
|
||||
msgstr "ne povis malfermi dosieron: %s%s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:595 lib/libalpm/util.c:259
|
||||
#, c-format
|
||||
@@ -746,7 +750,7 @@ msgstr "ne eblis statikigi dosieron %s: %s\n"
|
||||
#: lib/libalpm/hook.c:621
|
||||
#, c-format
|
||||
msgid "could not read directory: %s: %s\n"
|
||||
msgstr "ne povis legi dosierujon: %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/package.c:578
|
||||
#, c-format
|
||||
@@ -756,22 +760,22 @@ msgstr "ne eblis tute ŝarĝi la metadatumojn por la pakaĵo %s-%s\n"
|
||||
#: lib/libalpm/remove.c:119
|
||||
#, c-format
|
||||
msgid "could not find %s in database -- skipping\n"
|
||||
msgstr "ne eblis trovi %s en datumbazo -- preterpasado\n"
|
||||
msgstr "ne eblis trovi %s en la datumbazo -- preterpasante\n"
|
||||
|
||||
#: lib/libalpm/remove.c:154
|
||||
#, c-format
|
||||
msgid "removing %s from target list\n"
|
||||
msgstr "forigado de %s de la celolisto\n"
|
||||
msgstr "forigante %s de la cela listo\n"
|
||||
|
||||
#: lib/libalpm/remove.c:346
|
||||
#, c-format
|
||||
msgid "cannot remove file '%s': %s\n"
|
||||
msgstr "ne povas forigi la dosieron '%s': '%s'\n"
|
||||
msgstr "ne eblas forigi dosieron '%s': '%s'\n"
|
||||
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr "ne povis restaŭrkopii %s pro PATH_MAX-troo\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
@@ -781,119 +785,119 @@ msgstr "ne eblas forigi %s (%s)\n"
|
||||
#: lib/libalpm/remove.c:735
|
||||
#, c-format
|
||||
msgid "could not remove database entry %s-%s\n"
|
||||
msgstr "ne povis forigi la datumbaz-enigon %s-%s\n"
|
||||
msgstr "ne eblis forigi datumbazan enigon %s-%s\n"
|
||||
|
||||
#: lib/libalpm/remove.c:740
|
||||
#, c-format
|
||||
msgid "could not remove entry '%s' from cache\n"
|
||||
msgstr "ne povis forigi la enigon '%s' el la kaŝmemoro\n"
|
||||
msgstr "ne eblis forigi enigon '%s' el la kaŝmemoro\n"
|
||||
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "Publika ŝlosilingo ne trovita; ĉu vi rulis '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
msgid "GPGME error: %s\n"
|
||||
msgstr "GPGME-eraro: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "elserĉado de la ŝlosilo %s per WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "gpg-eraro: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "ŝlosilingo ne estas skribebla\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "la ŝlosilo \"%s\" sur ŝlosilservilo\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr "la ŝlosilon \"%s\" ne povis importi\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "la ŝlosilon \"%s\" ne povis elserĉi fore\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: mankanta bezonata subskribo\n"
|
||||
msgstr "%s: mankas bezonata subskribo\n"
|
||||
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s: subskribo de \"%s\" estas iometa fido\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: subskribo de \"%s\" estas nekonata fido\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr "%s: subskribon de \"%s\" neniam devas fidi\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: la ŝlosilo \"%s\" estas nekonata\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: la ŝlosilon \"%s\" estas malvalidigita\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: subskribo de \"%s\" estas eksvalidiĝita\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr "%s: subskribo de \"%s\" estas nevalida\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr "%s: subskribforma eraro\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: nesubtenata subskribformo\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
msgid "%s: ignoring package upgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorado de pakaĵa promocio (%s => %s)\n"
|
||||
msgstr "%s: ignorante pakaĵan promocion (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:111
|
||||
#, c-format
|
||||
msgid "%s: ignoring package downgrade (%s => %s)\n"
|
||||
msgstr "%s: ignorado de pakaĵa malpromocio (%s => %s)\n"
|
||||
msgstr "%s: ignorante pakaĵan malpromocion (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:114
|
||||
#, c-format
|
||||
msgid "%s: downgrading from version %s to version %s\n"
|
||||
msgstr "%s: malpromociado el versio %s al versio %s\n"
|
||||
msgstr "%s: malpromociante de versio %s al versio %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:120
|
||||
#, c-format
|
||||
@@ -903,7 +907,7 @@ msgstr "%s: la loka (%s) estas pli nova ol %s (%s)\n"
|
||||
#: lib/libalpm/sync.c:161
|
||||
#, c-format
|
||||
msgid "ignoring package replacement (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorado de pakaĵa anstataŭo (%s-%s => %s-%s)\n"
|
||||
msgstr "ignorante pakaĵan anstataŭon (%s-%s => %s-%s)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:177
|
||||
#, c-format
|
||||
@@ -918,31 +922,31 @@ msgstr "nesolveblaj pakaĵaj konfliktoj detektitaj\n"
|
||||
#: lib/libalpm/sync.c:555
|
||||
#, c-format
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "forigado de '%s' el celolisto ĉar ĝi konfliktas kun '%s'\n"
|
||||
msgstr "forigante '%s' el cela listo ĉar ĝi konfliktas kun '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "malsukcesis ricevi kelkajn dosierojn\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "malsukcesis legi la dosieron %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ne estas sufiĉe granda malokupata diskspaco\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr ""
|
||||
"malsukcesis enmeti forigan transakcion\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "ne eblis enmeti transakcion\n"
|
||||
@@ -965,7 +969,7 @@ msgstr "ne eblis forigi %s\n"
|
||||
#: lib/libalpm/trans.c:414
|
||||
#, c-format
|
||||
msgid "could not remove tmpdir %s\n"
|
||||
msgstr "ne povis forigi la provizoran dosierujon %s\n"
|
||||
msgstr "ne eblis forigi provizoran dosierujon %s\n"
|
||||
|
||||
#: lib/libalpm/util.c:486
|
||||
#, c-format
|
||||
@@ -1020,7 +1024,7 @@ msgstr "komando ĉesigita de signalo %d: %s\n"
|
||||
#: lib/libalpm/util.c:853
|
||||
#, c-format
|
||||
msgid "no %s cache exists, creating...\n"
|
||||
msgstr "nenia kaŝmemoro de %s ekzistas, kreado...\n"
|
||||
msgstr "neniu kaŝmemoro %s ekzistas, kreante...\n"
|
||||
|
||||
#: lib/libalpm/util.c:884
|
||||
#, c-format
|
||||
|
||||
@@ -22,7 +22,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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 09:15+0000\n"
|
||||
"Last-Translator: picodotdev <pico.dev@gmail.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -64,7 +64,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "no se pudo renombrar %s a %s (%s)\n"
|
||||
@@ -179,7 +179,7 @@ msgstr "la entrada «%s» de la base de datos está dañada\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -245,7 +245,7 @@ msgstr "faltan los metadatos del paquete en %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "no se pudo leer correctamente el archivo de firmas: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "la clave necesaria no está presente en el depósito\n"
|
||||
@@ -385,24 +385,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "no se pudo obtener el archivo «%s» desde %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"no se pudo obtener el archivo «%s» desde %s : el tamaño de la descarga "
|
||||
"supera lo esperado\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s parece estar incompleto: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "no se pudo descargar %s\n"
|
||||
@@ -860,7 +860,7 @@ msgstr "no se pudo importar la clave «%s»\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "no se pudo buscar la clave «%s» de forma remota\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: falta la firma exigida\n"
|
||||
@@ -956,27 +956,27 @@ msgstr ""
|
||||
"quitando «%s» de la lista de paquetes debido a que tiene conflictos con "
|
||||
"«%s»\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "no se pudieron recibir algunos archivos\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "no se pudo leer el archivo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "no hay suficiente espacio libre en el disco\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "no se pudo realizar la operación de eliminación\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "no se pudo realizar la operación\n"
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
# Translators:
|
||||
# Angel Velasquez <angvp@archlinux.org>, 2011
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# ice, 2016
|
||||
# ice <ice.modding@gmail.com>, 2016
|
||||
# Juan Antonio Cánovas Pérez <traumness@gmail.com>, 2011
|
||||
# juantascon <juantascon@gmail.com>, 2011
|
||||
# ice, 2016
|
||||
# ice <ice.modding@gmail.com>, 2016
|
||||
# Leonel <leonelmalon@gmail.com>, 2013
|
||||
# neiko <neikokz+tsfx@gmail.com>, 2011
|
||||
# prflr88 <prflr88@gmail.com>, 2015,2017
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Spanish (Latin America) (http://www.transifex.com/toofishes/"
|
||||
@@ -60,7 +60,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "no se pudo renombrar %s a %s (%s)\n"
|
||||
@@ -173,7 +173,7 @@ msgstr "la entrada «%s» de la base de datos está dañada\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -239,7 +239,7 @@ msgstr "faltan los metadatos del paquete en %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "no se pudo leer correctamente el archivo de firma: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "la clave requerida no está presente en el llavero\n"
|
||||
@@ -381,24 +381,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "no se pudo obtener el archivo «%s» desde %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"no se pudo obtener el archivo «%s» desde %s : tamaño de la descarga superior "
|
||||
"del esperado\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s parece estar incompleto: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "no se pudo descargar %s\n"
|
||||
@@ -852,7 +852,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: falta la firma exigida\n"
|
||||
@@ -946,27 +946,27 @@ msgstr ""
|
||||
"quitando «%s» de la lista de objetivos debido a que tiene conflictos con "
|
||||
"«%s»\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "no se pudieron recibir algunos archivos\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "no hay suficiente espacio libre en el disco\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "no se pudo realizar la operación de eliminación\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "no se pudo realizar la operación\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "ezin izan da %s berrizendatu %s gisa (%s)\n"
|
||||
@@ -166,7 +166,7 @@ msgstr "datu-base sarrera hondatua '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -228,7 +228,7 @@ msgstr "paketearen metadatuak falta dira hemen: %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "sinadura fitxategiaren irakurketak huts egin du: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "beharrezko gakoa falta da gako sortan\n"
|
||||
@@ -364,24 +364,24 @@ msgstr ""
|
||||
"'%s' url baliogabea da\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "huts egin du '%s' fitxategia '%s'-tik erauzteak: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "%s deskargatzeak huts egin du\n"
|
||||
@@ -833,7 +833,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: beharrezko sinadura falta da\n"
|
||||
@@ -925,27 +925,27 @@ msgstr "ebatzi ezineko paketeen arteko gatazka detektatu da\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' helburutik ezabatzen gatazka sortzen duelako '%s' paketearekin\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "fitxategi batzuk eskuratzeak huts egin du\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ez dago behar beste leku libre diskoan\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "ezin izan da ezabaketa transakzioa egikaritu\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "ezin izan da transakzioa egikaritu\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "ezin izan da %s berrizendatu %s gisa (%s)\n"
|
||||
@@ -165,7 +165,7 @@ msgstr "datu-base sarrera hondatua '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -227,7 +227,7 @@ msgstr "paketearen metadatuak falta dira hemen: %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "sinadura fitxategiaren irakurketak huts egin du: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "beharrezko gakoa falta da gako sortan\n"
|
||||
@@ -363,24 +363,24 @@ msgstr ""
|
||||
"'%s' url baliogabea da\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "huts egin du '%s' fitxategia '%s'-tik erauzteak: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "%s deskargatzeak huts egin du\n"
|
||||
@@ -832,7 +832,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: beharrezko sinadura falta da\n"
|
||||
@@ -924,27 +924,27 @@ msgstr "ebatzi ezineko paketeen arteko gatazka detektatu da\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' helburutik ezabatzen gatazka sortzen duelako '%s' paketearekin\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "fitxategi batzuk eskuratzeak huts egin du\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ez dago behar beste leku libre diskoan\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "ezin izan da ezabaketa transakzioa egikaritu\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "ezin izan da transakzioa egikaritu\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kohdetta %s ei voitu nimetä uudelleen kohteeksi %s (%s)\n"
|
||||
@@ -172,7 +172,7 @@ msgstr "vahingoittunut tietokantamerkintä '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -234,7 +234,7 @@ msgstr "paketin metadata puuttuu tiedostosta %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "allekirjoitustiedoston lukeminen epäonnistui: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "vaadittu avain puuttuu avainrenkaasta\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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "tiedoston '%s' nouto palvelimelta %s epäonnistui : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "%s: lataus epäonnistui\n"
|
||||
@@ -835,7 +835,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: pakollinen allekirjoitus puuttuu\n"
|
||||
@@ -929,27 +929,27 @@ msgstr ""
|
||||
"poistetaan '%s' kohteiden listasta, koska se on ristiriidassa paketin '%s' "
|
||||
"kanssa\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "joidenkin tiedostojen noutaminen epäonnistui\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ei tarpeeksi vapaata levytilaa\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "poistotoimenpidettä ei voitu suorittaa\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "toimenpidettä ei voitu suorittaa\n"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# Antoine Lubineau <antoine@lubignon.info>, 2012
|
||||
# Antoine Lubineau <antoine@lubignon.info>, 2012-2014,2018
|
||||
# Cedric Girard <girard.cedric@gmail.com>, 2014
|
||||
# Charles Monzat <c.monzat@laposte.net>, 2018-2020
|
||||
# Charles Monzat <c.monzat@laposte.net>, 2018-2019
|
||||
# Charles Monzat <c.monzat@laposte.net>, 2015-2018
|
||||
# Charles Monzat <c.monzat@laposte.net>, 2018
|
||||
# Charles Monzat <c.monzat@laposte.net>, 2018
|
||||
@@ -20,8 +20,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: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-10-06 08:45+0000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-20 19:02+0000\n"
|
||||
"Last-Translator: Charles Monzat <c.monzat@laposte.net>\n"
|
||||
"Language-Team: French (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/fr/)\n"
|
||||
@@ -61,7 +61,7 @@ msgstr "problème pendant l’extraction de %s (%s)\n"
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "l’extraction de %s a échoué (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "impossible de renommer %s en %s (%s)\n"
|
||||
@@ -174,7 +174,7 @@ msgstr "l’entrée « %s » de la base de données est corrompue\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -236,7 +236,7 @@ msgstr "méta-données du paquet manquantes dans %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "échec lors de la lecture du fichier de signature : %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "clé requise absente du trousseau\n"
|
||||
@@ -372,24 +372,24 @@ msgstr "échec de création d’un fichier temporaire pour le téléchargement\n
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "l’URL « %s » est non valide\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "échec de récupération du fichier « %s » depuis %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "le fichier %s n’a pas pu être téléchargé\n"
|
||||
@@ -619,12 +619,12 @@ msgstr "la satisfaction des dépendances a échoué"
|
||||
#: lib/libalpm/error.c:137
|
||||
#, c-format
|
||||
msgid "conflicting dependencies"
|
||||
msgstr "conflit de dépendances "
|
||||
msgstr "conflit de dépendances"
|
||||
|
||||
#: lib/libalpm/error.c:139
|
||||
#, c-format
|
||||
msgid "conflicting files"
|
||||
msgstr "conflit de fichiers "
|
||||
msgstr "conflit de fichiers"
|
||||
|
||||
#: lib/libalpm/error.c:142
|
||||
#, c-format
|
||||
@@ -845,7 +845,7 @@ msgstr "la clé « %s » n’a pas pu être importée\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "la clé « %s » ne peut être recherchée à distance\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s : signature requise manquante\n"
|
||||
@@ -938,27 +938,27 @@ msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"supprime « %s » de la liste de cible car il est en conflit avec « %s »\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "erreur lors de la récupération de certains fichiers\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "impossible de lire le fichier %s : %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "espace disque insuffisant\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "appliquer la transaction de suppression a échoué\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "appliquer la transaction a échoué\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "Non foi posíbel cambiar o nome de «%s» a «%s» (%s).\n"
|
||||
@@ -170,7 +170,7 @@ msgstr "entrada dañada na base de datos '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -236,7 +236,7 @@ msgstr "faltan os metadatos do paquete en %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "non foi posíbel ler o ficheiro da sinatura: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "a chave solicitada non está no anel\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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "error ao obter o arquivo '%s' dende %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "non se puido descargar %s\n"
|
||||
@@ -844,7 +844,7 @@ msgstr "a clave \"%s\" non se puido importar\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: fáltalle a sinatura obrigatoria.\n"
|
||||
@@ -937,27 +937,27 @@ msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"quitando '%s' da lista de obxetivos debido a que ten conflictos con '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "non foi posíbel descargar algúns dos ficheiros\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "non hai espazo de almacenamento dabondo\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "non se puido enviar a operación de eliminación\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "non se puido asignar a transacción\n"
|
||||
|
||||
1012
lib/libalpm/po/hi.po
1012
lib/libalpm/po/hi.po
File diff suppressed because it is too large
Load Diff
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 20:45+0000\n"
|
||||
"Last-Translator: Ivica Kolić <ikoli@yahoo.com>\n"
|
||||
"Language-Team: Croatian (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -54,7 +54,7 @@ msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "ne mogu preimenivati %s u %s (%s)\n"
|
||||
@@ -174,7 +174,7 @@ msgstr "oštećeni unos baze podataka '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -239,7 +239,7 @@ msgstr "nedostaju metapodaci paketa u %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "ne mogu pročitati datoteku sa potpisom: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "traženi ključ nedostaje u privjesku\n"
|
||||
@@ -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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "neuspjelo primanje datoteke '%s' iz %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s je okrnjen: %jd%jd bajtova\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "neuspjelo preuzimanje %s\n"
|
||||
@@ -843,7 +843,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr ""
|
||||
@@ -939,27 +939,27 @@ msgstr "otkriveni su nerješivi sukobi paketa\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "uklanjam '%s' sa liste mete jer se sukobljava sa '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "neuspjelo primanje nekin datoteka\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "nema dovoljno slobodnog prostora\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "ne mogu izvršiti transakciju uklanjanja\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "ne mogu izvršiti transakciju\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-09 19:41+0000\n"
|
||||
"Last-Translator: user14 <nleknh@gmail.com>\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/toofishes/archlinux-"
|
||||
@@ -60,7 +60,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nem sikerült az átnevezés: %s -> %s (%s)\n"
|
||||
@@ -172,7 +172,7 @@ msgstr "sérült adatbázis-bejegyzés: '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -234,7 +234,7 @@ msgstr "hiányzó csomaginformációs fájl: %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "nem sikerült olvasni a %s aláírásfájlt\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "egy szükséges kulcs hiányzik a kulcstartóból\n"
|
||||
@@ -369,24 +369,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "nem sikerült a(z) '%s' fájlt letölteni a %s helyről : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "nem sikerült a(z) %s letöltése\n"
|
||||
@@ -840,7 +840,7 @@ msgstr "nem lehetett importálni a \"%s\" kulcsot\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "a \"%s\" távoli kulcs nem található\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: szükséges aláírás hiányzik\n"
|
||||
@@ -932,27 +932,27 @@ msgstr "feloldhatatlan csomagütközéseket találtam\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' kihagyása, mert ütközik a következővel: '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "nem sikerült minden fájlt letölteni\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "nem sikerült olvasni a %s: %s fájlt\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "nincs elég szabad lemezterület\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nem sikerült végrehajtani az eltávolító tranzakciót\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nem sikerült végrehajtani a tranzakciót\n"
|
||||
|
||||
@@ -16,7 +16,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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/toofishes/archlinux-"
|
||||
@@ -57,7 +57,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "tidak dapat mengubah nama %s menjadi %s (%s)\n"
|
||||
@@ -170,7 +170,7 @@ msgstr "entry database korup '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -232,7 +232,7 @@ msgstr "paket %s kehilangan metadata\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "gagal membaca berkas signatur: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "key yang dibutuhkan tidak ada pada keyring\n"
|
||||
@@ -362,23 +362,23 @@ msgstr "gagal membuat berkas unduhan temporer\n"
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' tidak valid\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "gagal mendapatkan berkas '%s' dari %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "gagal mengunduh %s\n"
|
||||
@@ -830,7 +830,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: tidak mempunyai signature yang dibutuhkan\n"
|
||||
@@ -922,27 +922,27 @@ msgstr "konflik paket tak terselesaikan terdeteksi\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "menghapus '%s' dari daftar target karena berkonflik dengan '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "gagal mendapatkan beberapa berkas\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ruang kosong tidak cukup\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "tidak dapat melakukan transaksi penghapusan\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "tidak dapat melakukan transaksi\n"
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
# Translators:
|
||||
# Alessandro Menti <alessandro.menti@hotmail.it>, 2019
|
||||
# d574d4bb40c84861791a694a999cce69_9aabecb <ec34fbc10d74f76d8160c2aae04a84b4_6702>, 2014
|
||||
# d574d4bb40c84861791a694a999cce69_9aabecb <ec34fbc10d74f76d8160c2aae04a84b4_6702>, 2014
|
||||
# d574d4bb40c84861791a694a999cce69_9aabecb <ec34fbc10d74f76d8160c2aae04a84b4_6702>, 2014
|
||||
# Andrea Scarpino <inactive+bash@transifex.com>, 2014
|
||||
# Andrea Scarpino <inactive+bash@transifex.com>, 2014
|
||||
# Andrea Scarpino <inactive+bash@transifex.com>, 2014
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# Giovanni Scafora <giovanni@archlinux.org>, 2011-2013,2015
|
||||
# ~Smlb <smlb@riseup.net>, 2014
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-08 18:22+0000\n"
|
||||
"Last-Translator: Alessandro Menti <alessandro.menti@hotmail.it>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -57,7 +57,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "impossibile rinominare %s in %s (%s)\n"
|
||||
@@ -170,7 +170,7 @@ msgstr "la voce nel database '%s' è corrotta\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -235,7 +235,7 @@ msgstr "manca il metadata del pacchetto in %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "impossibile leggere il file della firma: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "la chiave richiesta non è presente nel portachiavi\n"
|
||||
@@ -374,24 +374,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "impossibile scaricare il pacchetto '%s' da %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "non è stato possibile scaricare %s\n"
|
||||
@@ -843,7 +843,7 @@ msgstr "la chiave \"%s\" non può essere importata\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "impossibile cercare la chiave \"%s\" sul server remoto\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: manca la firma PGP\n"
|
||||
@@ -938,27 +938,27 @@ msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"rimozione di '%s' dalla lista dei pacchetti perché va in conflitto con '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "impossibile scaricare alcuni file\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "impossibile leggere il file %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "lo spazio libero sul disco non è sufficiente\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "impossibile eseguire l'operazione di rimozione\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "impossibile eseguire l'operazione\n"
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Satoru Abe <s@polamjag.info>, 2015
|
||||
# ABE Satoru <s@polamjag.info>, 2015
|
||||
# kusakata, 2017
|
||||
# Satoru Abe <s@polamjag.info>, 2015
|
||||
# ABE Satoru <s@polamjag.info>, 2015
|
||||
# kusakata, 2017-2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 22:59+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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "%s を %s に名前を変更できませんでした (%s)\n"
|
||||
@@ -165,7 +165,7 @@ msgstr "破損したデータベースエントリ '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -227,7 +227,7 @@ msgstr "%s にパッケージのメタデータが見つかりません\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "署名ファイルの読み込みに失敗しました: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "キーリングに必要なキーがありません\n"
|
||||
@@ -360,24 +360,24 @@ msgstr "ダウンロードのための一時ファイルを作成できません
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' は無効です\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "ファイル '%s' を %s から取得するのに失敗しました : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"ファイル '%s' を %s から取得するのに失敗しました : 想定されるダウンロードサイ"
|
||||
"ズを超過しています\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s が途中で切れています: %jd/%jd バイト\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "%s のダウンロードに失敗しました\n"
|
||||
@@ -829,7 +829,7 @@ msgstr "キー \"%s\" をインポートできませんでした\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "キー \"%s\" をリモートで検索できませんでした\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: 必要な署名が見つかりません\n"
|
||||
@@ -921,27 +921,27 @@ msgstr "解決できないパッケージの衝突が検出されました\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "対象リストから '%s' を削除。'%s' と衝突しています\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "複数のファイルの取得に失敗しました\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "ファイル %s を読み込めませんでした: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "十分な空き容量がありません\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "削除処理が完了できませんでした\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "処理が完了できませんでした\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "%s атын жаңа %s атына ауыстыру мүмкін емес (%s)\n"
|
||||
@@ -163,7 +163,7 @@ msgstr "дерекқордағы '%s' жазбасы зақымдалған\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -225,7 +225,7 @@ msgstr "%s ішінде дестенің мета мәліметтері жоқ\
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "қолтаңба файлын оқу сәтсіз аяқталды: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "кілттер бауында керек кілт жоқ болып тұр\n"
|
||||
@@ -355,23 +355,23 @@ msgstr "жүктеп алу үшін уақытша файлды жасау сә
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "'%s' сілтемесі қате\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "'%s' файлын %s адресінен алу қатемен аяқталды : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"'%s' файлын %s ішінен алу қатесі : күтілген жүктеп алу өлшемінен асып кетті\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s қысқартылған сияқты: %jd/%jd байт\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "%s жүктеп алу мүмкін емес\n"
|
||||
@@ -823,7 +823,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: міндетті қолтаңба жоқ\n"
|
||||
@@ -916,27 +916,27 @@ msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"мақсаттар тізімінен '%s' өшіріледі, өйткені ол '%s' дестесімен ерегіседі\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "кейбір файлдарды алу сәтсіз аяқталды\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "бос диск орны жеткіліксіз\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "өшіруге сұранымды орындау мүмкін емес\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "сұранымды аяқтау мүмкін емес\n"
|
||||
|
||||
@@ -16,7 +16,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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-08 20:07+0000\n"
|
||||
"Last-Translator: 배태길 <esrevinu@gmail.com>\n"
|
||||
"Language-Team: Korean (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -57,7 +57,7 @@ msgstr "%s 추출 시 경고 발생 (%s)\n"
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "%s를 추출할 수 없습니다. (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "%s의 이름을 %s로 바꾸지 못했습니다.(%s)\n"
|
||||
@@ -170,7 +170,7 @@ msgstr "데이터베이스 항목인 '%s'가 손상되었습니다.\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -232,7 +232,7 @@ msgstr "%s에서 메타데이터가 누락되었습니다.\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "서명 파일을 읽는 데 실패: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "키링에서 필요한 키를 찾을 수 없습니다.\n"
|
||||
@@ -362,22 +362,22 @@ msgstr "다운로드를 위한 임시파일을 만드는 데 실패하였습니
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s'가 잘못되었습니다.\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "파일 '%s'를 %s에서 가져오는 데 실패 : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "파일 '%s'를 %s에서 가져오는 데 실패 : 예상 내려받기 크기 초과\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s가 잘린 것 같습니다.: %jd/%jd 바이트\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "%s를 다운받지 못했습니다.\n"
|
||||
@@ -829,7 +829,7 @@ msgstr "\"%s\" 키를 들여오지 못했습니다\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "원격의 \"%s\" 키를 조회하지 못했습니다\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: 필요한 서명이 없습니다.\n"
|
||||
@@ -921,27 +921,27 @@ msgstr "해결할 수 없는 꾸러미 충돌이 있습니다.\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%2$s'와 충돌하므로 대상 목록에서 '%1$s'를 뺍니다.\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "일부 파일을 가져오지 못했습니다.\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "파일 %s 읽기 실패: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "디스크 여유 공간이 부족합니다.\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "삭제 처리를 커밋하지 못하였습니다.\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "처리를 커밋하지 못하였습니다.\n"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR "Pacman Development Team <pacman-dev@archlinux.org>"
|
||||
# This file is distributed under the same license as the libalpm package.
|
||||
# Copyright (C) YEAR Pacman Development Team <pacman-dev@archlinux.org>
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libalpm\n"
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr ""
|
||||
@@ -154,7 +154,7 @@ msgstr ""
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -216,7 +216,7 @@ msgstr ""
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr ""
|
||||
@@ -346,22 +346,22 @@ msgstr ""
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr ""
|
||||
@@ -813,7 +813,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr ""
|
||||
@@ -905,27 +905,27 @@ msgstr ""
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 10:33+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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nepavyko pervadint %s į %s (%s)\n"
|
||||
@@ -169,7 +169,7 @@ msgstr "duomenų bazės įrašas sugadintas „%s“\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -233,7 +233,7 @@ msgstr "trūksta paketo meta duomenų %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "nepavyko perskaityt parašo failo: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "reikia rakto kurio nėra raktinėje\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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "nepavyko gauti failo „%s“ iš %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s atrodo apkarpyta: %jd/%jd baitai\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "nepavyko parsiųsti %s\n"
|
||||
@@ -834,7 +834,7 @@ msgstr "nepavyko importuoti rakto \"%s\"\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "rakto \"%s\" nepavyko rasti nuotoliniu būdu\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: trūksta parašo\n"
|
||||
@@ -926,27 +926,27 @@ msgstr "aptikti neišsprendžiami paketų nesuderinamumai\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "iš objektų sąrašo šalinamas „%s“ dėl konfliktų su „%s“\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "nepavyko gauti kai kurių failų\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "nepavyko perskaityt failą %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "nepakanka laisvos vietos\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nepavyko įvykdyti šalinimo perdavimo\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nepavyko įvykdyti perdavimo\n"
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Alexander F. Rødseth <rodseth@gmail.com>, 2011,2013,2016-2019,2021
|
||||
# Alexander F. Rødseth <rodseth@gmail.com>, 2011,2013
|
||||
# Alexander F Rødseth <rodseth@gmail.com>, 2011,2013,2016-2019
|
||||
# Alexander F Rødseth <rodseth@gmail.com>, 2011,2013
|
||||
# Eyolf Østrem <eyolf@oestrem.com>, 2014
|
||||
# Jon Gjengset <jon@thesquareplanet.com>, 2011,2013,2015,2017
|
||||
# Thor K. H. <nitrolinken@gmail.com>, 2019
|
||||
@@ -12,9 +12,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: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2021-03-24 21:50+0000\n"
|
||||
"Last-Translator: Alexander F. Rødseth <rodseth@gmail.com>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 10:29+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"
|
||||
"Language: nb\n"
|
||||
@@ -53,7 +53,7 @@ msgstr "fikk en advarsel ved utpakking av %s (%s)\n"
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "kan ikke pakke ut %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kunne ikke omdøpe %s til %s (%s)\n"
|
||||
@@ -130,7 +130,7 @@ msgstr "kunne ikke oppdatere databaseoppføring %s-%s\n"
|
||||
#: lib/libalpm/add.c:615
|
||||
#, c-format
|
||||
msgid "could not add entry '%s' in cache\n"
|
||||
msgstr "kunne ikke legge '%s' til mellomlageret\n"
|
||||
msgstr "kunne ikke legge til oppføringen '%s' i mellomlageret\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:267
|
||||
#, c-format
|
||||
@@ -164,7 +164,7 @@ msgstr "korrupt databaseoppføring '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -226,7 +226,7 @@ msgstr "mangler metadata i %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "kan ikke lese signaturfil: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "den nødvendige nøkkelen finnes ikke på nøkkelringen\n"
|
||||
@@ -356,22 +356,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "kunne ikke laste ned '%s' fra %s : %s\n"
|
||||
msgstr "kunne ikke hente filen '%s' fra %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "kunne ikke laste ned '%s' fra %s : filen er større enn forventet\n"
|
||||
msgstr "kunne ikke hente filen '%s' fra %s : filen er større enn forventet\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "kunne ikke laste ned %s\n"
|
||||
@@ -823,7 +823,7 @@ msgstr "kan ikke importere nøkkel \"%s\"\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "kunne ikke finne nøkkel \"%s\" på avstand\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: mangler påkrevd signatur\n"
|
||||
@@ -915,27 +915,27 @@ msgstr "uløselige pakkekollisjoner oppdaget\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "fjerner '%s' fra listen over mål fordi den kolliderer med '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "noen filer kunne ikke hentes\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "kunne ikke lese fil %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "ikke nok ledig diskplass\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kunne ikke utføre transaksjon (fjerning)\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "kunne ikke utføre transaksjon\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# Translators:
|
||||
# 56d5d7c9ccc04394ef84fc87640272f6, 2011,2015
|
||||
# Peter van den Hurk, 2014
|
||||
# a91dc94891efad958223abaf78f68e63_4458573, 2014-2015
|
||||
# Peter van den Hurk, 2014-2015
|
||||
# Ruben Van Boxem <vanboxem.ruben@gmail.com>, 2015,2018-2019
|
||||
# 56d5d7c9ccc04394ef84fc87640272f6, 2015
|
||||
# 56d5d7c9ccc04394ef84fc87640272f6, 2011
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 09:17+0000\n"
|
||||
"Last-Translator: Ruben Van Boxem <vanboxem.ruben@gmail.com>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -58,7 +58,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kan %s niet hernoemen als %s (%s)\n"
|
||||
@@ -171,7 +171,7 @@ msgstr "database record '%s' corrupt\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -235,7 +235,7 @@ msgstr "metagegevens van pakket ontbreken in %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "fout tijdens lezen van handtekeningsbestand: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "vereiste sleutel ontbreekt in sleutelhanger\n"
|
||||
@@ -365,24 +365,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "kan het bestand '%s' niet ophalen van %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s werd onderbroken: %jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "downloaden van %s mislukt\n"
|
||||
@@ -834,7 +834,7 @@ msgstr "sleutel \"%s\" kon niet geïmporteerd worden\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "sleutel \"%s\" kon niet gevonden worden\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: ontbrekende PGP handtekening\n"
|
||||
@@ -927,27 +927,27 @@ msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr ""
|
||||
"'%s' wordt verwijderd van de doellijst omdat het conflicteert met '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "Niet alle bestanden konden worden opgehaald\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "fout bij het lezen van bestand '%s': %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "Onvoldoende vrije schijfruimte\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kan de verwijdertransactie niet voltooien\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "kan transactie niet voltooien\n"
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Artur Juraszek <artur@juraszek.xyz>, 2020
|
||||
# Bartek Piotrowski <barthalion@gmail.com>, 2011
|
||||
# Bartłomiej Piotrowski <spam@bpiotrowski.pl>, 2014
|
||||
# Chris Warrick, 2013
|
||||
@@ -21,9 +20,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-01-23 18:09+0000\n"
|
||||
"Last-Translator: Artur Juraszek <artur@juraszek.xyz>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/pl/)\n"
|
||||
"Language: pl\n"
|
||||
@@ -64,7 +63,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nie udało się zmienić nazwy %s na %s (%s)\n"
|
||||
@@ -177,7 +176,7 @@ msgstr "zepsuty wpis w bazie danych '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -239,7 +238,7 @@ msgstr "brak metadanych pakietu w %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "nie udało się odczytać pliku podpisu: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "brak wymaganego klucza w pęku kluczy\n"
|
||||
@@ -370,24 +369,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "nie udało się pobrać pliku '%s' z %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "nie udało się pobrać %s\n"
|
||||
@@ -656,7 +655,7 @@ msgstr ""
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "skompilowano ze wsparciem dla podpisów"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
@@ -815,12 +814,12 @@ msgstr "Błąd GPGME: %s\n"
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "szukam klucza %s przy pomocy WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "błąd gpg: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
@@ -830,7 +829,7 @@ msgstr "zestaw kluczy jest niezapisywalny\n"
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "klucz \"%s\" na keyserverze\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
@@ -842,7 +841,7 @@ msgstr "klucz \"%s\" nie może zostać zaimportowany\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "klucz \"%s\" nie może zostać sprawdzony zdalnie\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: brakuje wymaganego podpisu\n"
|
||||
@@ -934,27 +933,27 @@ msgstr "odkryto nierozwiązywalne konflikty pakietów\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "usuwanie '%s' z listy celów ponieważ konfliktuje z '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "nie udało się pobrać niektórych plików\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "nie udało się odczytać pliku %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "niewystarczające miejsce na dysku\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nie udało się wykonać transakcji usuwania\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nie udało się wykonać transakcji\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/toofishes/archlinux-"
|
||||
@@ -54,7 +54,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "não foi possível renomear %s para %s (%s)\n"
|
||||
@@ -167,7 +167,7 @@ msgstr "entrada da base de dados corrompida '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -230,7 +230,7 @@ msgstr "em falta metadados do pacote em %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "falha ao ler o ficheiro de assinatura: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "chave necessária em falta no chaveiro\n"
|
||||
@@ -368,24 +368,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "falha ao obter ficheiro '%s' de %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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 "
|
||||
"transferência foi excedido\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "falha ao fazer a descarga de %s\n"
|
||||
@@ -838,7 +838,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: não tem a assinatura requerida\n"
|
||||
@@ -930,27 +930,27 @@ msgstr "detetado conflito entre pacotes sem solução\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "a remover '%s' da lista de pacotes porque entra em conflito com '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "falha ao obter alguns ficheiros\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "não há espaço livre suficiente no disco\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "não foi possível efetuar a operação de remoção\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "não foi possível efetuar a operação\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 10:01+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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "não foi possível renomear %s para %s (%s)\n"
|
||||
@@ -169,7 +169,7 @@ msgstr "registro corrompido na base de dados \"%s\"\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -233,7 +233,7 @@ msgstr "faltando metadados do pacote em %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "falha ao ler o arquivo de assinatura: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "faltando chave necessária no chaveiro\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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "falha ao obter o arquivo \"%s\" de %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "falha ao fazer o download de %s\n"
|
||||
@@ -839,7 +839,7 @@ msgstr "a chave \"%s\" não pôde ser importada\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "a chave \"%s\" não pôde ser procurada remotamente\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: faltando assinatura exigida\n"
|
||||
@@ -931,27 +931,27 @@ msgstr "conflito de pacotes não solucionável detectado\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "removendo \"%s\" da lista de pacotes porque ele conflita com \"%s\"\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "falha ao obter alguns arquivos\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "falha ao ler o arquivo %s: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "espaço livre em disco insuficiente\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "não foi possível efetuar a transação de remoção\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "não foi possível efetuar a transação\n"
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
# Arthur Țițeică <arthur.titeica@gmail.com>, 2013
|
||||
# Arthur Titeica <arthur@psw.ro>, 2013
|
||||
# Arthur Țițeică <arthur.titeica@gmail.com>, 2013-2015
|
||||
# 202609b54ed34ff097613de9ccdb5e5a_959331d <9d860af7345e5089300e50121cee92df_6113>, 2011
|
||||
# 202609b54ed34ff097613de9ccdb5e5a_959331d <9d860af7345e5089300e50121cee92df_6113>, 2011
|
||||
# cantabile <inactive+cantabile@transifex.com>, 2011
|
||||
# cantabile <inactive+cantabile@transifex.com>, 2011
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# Ionut Biru <ibiru@archlinux.org>, 2011
|
||||
# Mihai Coman <mihai@m1x.ro>, 2011,2013
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nu s-a putut redenumi %s în %s (%s)\n"
|
||||
@@ -174,7 +174,7 @@ msgstr "intrare coruptă în baza de date '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -238,7 +238,7 @@ msgstr "lipsă metadate pentru pachet în %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "eșec la citirea fișierului de semnătură: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "cheia necesară lipsește din lanțul de chei\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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "eșec la obținerea fișierului '%s' din %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "eșec la descărcarea %s\n"
|
||||
@@ -844,7 +844,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: lipsește semnătura necesară\n"
|
||||
@@ -936,27 +936,27 @@ msgstr "s-au detectat conflicte nerezolvabile în pachet\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "se elimină '%s' din lista țintă deoarece este în conflict cu '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "eșec la obținerea unor fișiere\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "nu există destul spațiu liber pe disc\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nu s-a putut efectua tranzacția de eliminare\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nu s-a putut efectua tranzacția\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
@@ -62,7 +62,7 @@ msgstr "получено предупреждение при извлечени
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "не удалось извлечь %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "не удалось переименовать %s в %s (%s)\n"
|
||||
@@ -173,7 +173,7 @@ msgstr "повреждённая запись в базе данных '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -237,7 +237,7 @@ msgstr "отсутствуют метаданные пакета в %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "не удалось прочитать файл с подписью: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "требуемый ключ отсутствует в цепочке ключей\n"
|
||||
@@ -371,22 +371,22 @@ msgstr "не удалось создать временный файл для з
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "ссылка '%s' некорректна\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "не удалось получить файл '%s' из %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "не удалось получить файл '%s' из %s: превышен ожидаемый размер\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s, видимо, обрезан: %jd/%jd байт\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "не удалось загрузить %s\n"
|
||||
@@ -838,7 +838,7 @@ msgstr "не удалось импортировать ключ \"%s\"\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: не найдена необходимая подпись\n"
|
||||
@@ -930,27 +930,27 @@ msgstr "обнаружен неразрешимый конфликт пакет
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "удаление '%s' из списка целей, поскольку он конфликтует с '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "не удалось получить некоторые файлы\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "недостаточно места на диске\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "не удалось завершить транзакцию удаления\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "не удалось завершить транзакцию\n"
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
# Translators:
|
||||
# archetyp <archetyp@linuxmail.org>, 2013
|
||||
# archetyp <archetyp@linuxmail.org>, 2013-2015
|
||||
# Dušan Kazik <prescott66@gmail.com>, 2016,2020
|
||||
# 3ff9a567ff32d540038a6a558650f376_643ea9b <38630839a6ec6b692ff2ca08fafb2585_10562>, 2011
|
||||
# 3ff9a567ff32d540038a6a558650f376_643ea9b <38630839a6ec6b692ff2ca08fafb2585_10562>, 2011
|
||||
# Dušan Kazik <prescott66@gmail.com>, 2016
|
||||
# Dušan Lago <inactive+dudko@transifex.com>, 2011
|
||||
# Dušan Lago <inactive+dudko@transifex.com>, 2011
|
||||
# Jose Riha <jose1711@gmail.com>, 2011
|
||||
# Jose Riha <jose1711@gmail.com>, 2011
|
||||
# Jose Riha <jose1711@gmail.com>, 2011
|
||||
@@ -15,9 +15,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: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-11-29 12:54+0000\n"
|
||||
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Slovak (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/sk/)\n"
|
||||
"Language: sk\n"
|
||||
@@ -30,7 +30,7 @@ msgstr ""
|
||||
#: lib/libalpm/add.c:91 lib/libalpm/sync.c:290
|
||||
#, c-format
|
||||
msgid "%s-%s is up to date -- skipping\n"
|
||||
msgstr "%s-%s je aktuálny -- vynecháva sa\n"
|
||||
msgstr "%s-%s je aktuálny -- preskakujem\n"
|
||||
|
||||
#: lib/libalpm/add.c:95
|
||||
#, c-format
|
||||
@@ -40,7 +40,7 @@ msgstr "%s-%s je aktuálny -- preinštalovávam\n"
|
||||
#: lib/libalpm/add.c:100
|
||||
#, c-format
|
||||
msgid "downgrading package %s (%s => %s)\n"
|
||||
msgstr "prechádza sa na staršiu verziu balíka %s (%s => %s)\n"
|
||||
msgstr "downgradujem balíček %s (%s => %s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:129
|
||||
#, c-format
|
||||
@@ -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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "nie je možné premenovať %s na %s (%s)\n"
|
||||
@@ -66,7 +66,8 @@ msgstr "nie je možné premenovať %s na %s (%s)\n"
|
||||
#, c-format
|
||||
msgid "file not found in file list for package %s. skipping extraction of %s\n"
|
||||
msgstr ""
|
||||
"súbor sa nenašiel v zozname súborov balíka %s. vynecháva sa rozbaľovanie %s\n"
|
||||
"súbor nebol nájdený v zozname súborov balíčka %s. preskakujem rozbaľovanie "
|
||||
"%s\n"
|
||||
|
||||
#: lib/libalpm/add.c:219
|
||||
#, c-format
|
||||
@@ -145,7 +146,7 @@ msgstr "chyba pri čítaní súboru %s: %s\n"
|
||||
#: lib/libalpm/be_local.c:364
|
||||
#, c-format
|
||||
msgid "removing invalid database: %s\n"
|
||||
msgstr "odstraňuje sa neplatná databáza: %s\n"
|
||||
msgstr "odstraňujem neplatnú databázu: %s\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:415 lib/libalpm/be_local.c:905
|
||||
#, c-format
|
||||
@@ -169,7 +170,7 @@ msgstr "poškodený záznam v databáze '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -231,7 +232,7 @@ msgstr "chýbaju metadáta balíčka v %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "zlyhalo načítanie súboru s podpisom: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "požadovaný kľúč nebol nájdený v kľúčenke\n"
|
||||
@@ -239,7 +240,7 @@ msgstr "požadovaný kľúč nebol nájdený v kľúčenke\n"
|
||||
#: lib/libalpm/be_sync.c:61
|
||||
#, c-format
|
||||
msgid "removing invalid file: %s\n"
|
||||
msgstr "odstraňuje sa neplatný súbor: %s\n"
|
||||
msgstr "odstraňujem neplatný súbor: %s\n"
|
||||
|
||||
#: lib/libalpm/be_sync.c:515
|
||||
#, c-format
|
||||
@@ -289,7 +290,7 @@ msgstr "%s bude nainštalovaný pred %s, na ktorom závisí\n"
|
||||
#: lib/libalpm/deps.c:681 lib/libalpm/deps.c:712
|
||||
#, c-format
|
||||
msgid "ignoring package %s-%s\n"
|
||||
msgstr "ignoruje sa balík %s-%s\n"
|
||||
msgstr "ignorujem balíček %s-%s\n"
|
||||
|
||||
#: lib/libalpm/deps.c:869
|
||||
#, c-format
|
||||
@@ -364,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "chyba pri získavaní súboru '%s' z %s: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "chyba pri sťahovaní %s\n"
|
||||
@@ -833,7 +834,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: chýba vyžadovaný podpis\n"
|
||||
@@ -925,27 +926,27 @@ msgstr "zistený konflikt nerozlíšiteľných balíčkov\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' odstránený zo zoznamu cieľov, pretože je v konflikte s '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "zlyhalo získanie niektorých súborov\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "nedostatok voľného miesta na disku\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "nie je možné uskutočniť transakciu pre odstránenie\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "nie je možné uskutočniť transakciu\n"
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
# smlu <smluprenos@gmail.com>, 2012
|
||||
# smlu <smluprenos@gmail.com>, 2012
|
||||
# Timotej Marosevic <timotej.marosevic@gmail.com>, 2018
|
||||
# 35e31c1f7beb9a73365b56f93b1457f5_fbd83d3, 2014
|
||||
# Readage, 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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Slovenian (http://www.transifex.com/toofishes/archlinux-"
|
||||
@@ -60,7 +60,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "%s ni mogoče preimenovati v %s (%s)\n"
|
||||
@@ -175,7 +175,7 @@ msgstr "pokvarjen vnos '%s' v podatkovni bazi\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -237,7 +237,7 @@ msgstr "v %s manjkajo metapodatki paketa\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "ni mogoče prebrati podpisa datoteke: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "zahtevan ključ iz baze ključev manjka\n"
|
||||
@@ -370,24 +370,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "napaka pri pridobivanju datoteke '%s' iz %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "spodletel prenos %s\n"
|
||||
@@ -839,7 +839,7 @@ msgstr ""
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: manjka zahtevan podpis\n"
|
||||
@@ -931,27 +931,27 @@ msgstr "zaznani so bili nerešljivi spori paketa\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "odstranjevanje '%s' iz ciljnega seznama, ker je v sporu z '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "ni mogoče prejeti nekaterih datotek\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "na disku ni dovolj razpoložljivega prostora\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "ni bilo možno uveljaviti odstranitve transakcije\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "ni bilo mogoče uveljaviti transakcije\n"
|
||||
|
||||
@@ -3,17 +3,17 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Mladen Pejaković, 2013
|
||||
# Mladen Pejaković, 2013
|
||||
# Mladen Pejaković, 2013-2014
|
||||
# Mladen Pejaković, 2013
|
||||
# Mladen Pejaković, 2013
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013-2014
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013
|
||||
# Slobodan Terzić <githzerai06@gmail.com>, 2011,2015,2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "не могу да преименујем %s у %s (%s)\n"
|
||||
@@ -166,7 +166,7 @@ msgstr "оштећен унос базе „%s“\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -228,7 +228,7 @@ msgstr "недостају метаподаци пакета %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "не могу да прочитам фајл потписа: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "захтеваног кључа нема на привеску\n"
|
||||
@@ -358,24 +358,24 @@ msgstr "неуспело стварање привременог фајла пр
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "„%s“ је неисправан урл\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "неуспешно преузимање фајла „%s“ са „%s“: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
"неуспело добављање фајла %s са %s: премашена је предвиђена величина "
|
||||
"преузимања\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "изгледа да је %s окрњен: %jd/%jd бајтова\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "неуспешно преузимање %s\n"
|
||||
@@ -827,7 +827,7 @@ msgstr "кључ „%s“ се не може увести\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "кључ „%s“ се не може потражити удаљено\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: недостаје захтевани потпис\n"
|
||||
@@ -919,27 +919,27 @@ msgstr "откривени су неразрешиви сукоби пакета
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "уклањам „%s“ са списка циљева због сукоба са „%s“\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "неуспешно преузимање неких фајлова\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "нема довољно слободног простора на диску\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "не могу да обавим уклањање\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "не могу да обавим пренос\n"
|
||||
|
||||
@@ -3,17 +3,17 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Mladen Pejaković, 2013
|
||||
# Mladen Pejaković, 2013
|
||||
# Mladen Pejaković, 2013-2014
|
||||
# Mladen Pejaković, 2013
|
||||
# Mladen Pejaković, 2013
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013-2014
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013
|
||||
# Mladen Pejaković <pejakm@autistici.org>, 2013
|
||||
# Slobodan Terzić <githzerai06@gmail.com>, 2011,2015,2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Serbian (Latin) (http://www.transifex.com/toofishes/archlinux-"
|
||||
@@ -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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "ne mogu da preimenujem %s u %s (%s)\n"
|
||||
@@ -167,7 +167,7 @@ msgstr "oštećen unos baze „%s“\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -229,7 +229,7 @@ msgstr "nedostaju metapodaci paketa %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "ne mogu da pročitam fajl potpisa: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "zahtevanog ključa nema na privesku\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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "neuspešno preuzimanje fajla „%s“ sa „%s“: %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "neuspešno preuzimanje %s\n"
|
||||
@@ -828,7 +828,7 @@ msgstr "ključ „%s“ se ne može uvesti\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "ključ „%s“ se ne može potražiti udaljeno\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: nedostaje zahtevani potpis\n"
|
||||
@@ -920,27 +920,27 @@ msgstr "otkriveni su nerazrešivi sukobi paketa\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "uklanjam „%s“ sa spiska ciljeva zbog sukoba sa „%s“\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "neuspešno preuzimanje nekih fajlova\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "nema dovoljno slobodnog prostora na disku\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "ne mogu da obavim uklanjanje\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "ne mogu da obavim prenos\n"
|
||||
|
||||
@@ -5,18 +5,17 @@
|
||||
# Translators:
|
||||
# , 2011
|
||||
# 0x9fff00 , 2019
|
||||
# 0x9fff00, 2019
|
||||
# 0x9fff00 , 2019
|
||||
# Daniel Sandman <revoltism@gmail.com>, 2013,2015
|
||||
# Johan R. <jreinhed@protonmail.com>, 2019
|
||||
# Kim Svensson <ks@linux.com>, 2015
|
||||
# Luna Jernberg <bittin@cafe8bitar.se>, 2020
|
||||
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: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-10-09 08:25+0000\n"
|
||||
"Last-Translator: Luna Jernberg <bittin@cafe8bitar.se>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Swedish (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/sv/)\n"
|
||||
"Language: sv\n"
|
||||
@@ -55,7 +54,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "kunde inte döpa om %s till %s (%s)\n"
|
||||
@@ -166,7 +165,7 @@ msgstr "korrupt databasinlägg '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -228,7 +227,7 @@ msgstr "saknar metadata för paketet i %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "misslyckades att läsa signaturfil: %s⏎\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "nödvändig nyckel saknas från nyckelring\n"
|
||||
@@ -246,7 +245,7 @@ msgstr "Kunde ej finna paketbeskrivningsfilen '%s' från databasen '%s'\n"
|
||||
#: lib/libalpm/be_sync.c:522
|
||||
#, c-format
|
||||
msgid "could not read db '%s' (%s)\n"
|
||||
msgstr "kunde inte läsa db '%s'(%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/be_sync.c:556 lib/libalpm/be_sync.c:561
|
||||
#, c-format
|
||||
@@ -364,12 +363,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "misslyckades hämta filen '%s' från %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr ""
|
||||
@@ -377,12 +376,12 @@ msgstr ""
|
||||
"överskreds\n"
|
||||
"\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "misslyckades ladda ner %s\n"
|
||||
@@ -650,7 +649,7 @@ msgstr "fel vid anrop av extern nerladdare"
|
||||
#: lib/libalpm/error.c:159
|
||||
#, c-format
|
||||
msgid "compiled without signature support"
|
||||
msgstr "kompilerad utan signatur stöd"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/error.c:162
|
||||
#, c-format
|
||||
@@ -670,69 +669,69 @@ msgstr "kunde inte ta bort låsningsfil %s\n"
|
||||
#: lib/libalpm/hook.c:95
|
||||
#, c-format
|
||||
msgid "Missing trigger targets in hook: %s\n"
|
||||
msgstr "Saknar trigger mål i krok: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:101
|
||||
#, c-format
|
||||
msgid "Missing trigger type in hook: %s\n"
|
||||
msgstr "Saknar trigger typ i krok: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:107
|
||||
#, c-format
|
||||
msgid "Missing trigger operation in hook: %s\n"
|
||||
msgstr "Saknar trigger operation i krok: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:134
|
||||
#, c-format
|
||||
msgid "Missing Exec option in hook: %s\n"
|
||||
msgstr "Saknar Exec alternativ i krok: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:140
|
||||
#, c-format
|
||||
msgid "Missing When option in hook: %s\n"
|
||||
msgstr "Saknar När alternativet i krok: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:143
|
||||
#, c-format
|
||||
msgid "AbortOnFail set for PostTransaction hook: %s\n"
|
||||
msgstr "AbortOnFail inställt för PostTransaction-krok: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:160
|
||||
#, c-format
|
||||
msgid "error while reading hook %s: %s\n"
|
||||
msgstr "fel vid läsning av krok %s:%s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:162 lib/libalpm/hook.c:206 lib/libalpm/hook.c:248
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid option %s\n"
|
||||
msgstr "krok %s rad %d: ogiltigt alternativ%s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:172
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid section %s\n"
|
||||
msgstr "krok %srad %d: ogiltig sektion %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:184 lib/libalpm/hook.c:199 lib/libalpm/hook.c:218
|
||||
#: lib/libalpm/hook.c:241
|
||||
#, c-format
|
||||
msgid "hook %s line %d: invalid value %s\n"
|
||||
msgstr "krok %s rad %d: ogiltigt värde %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:188 lib/libalpm/hook.c:211 lib/libalpm/hook.c:222
|
||||
#: lib/libalpm/hook.c:236
|
||||
#, c-format
|
||||
msgid "hook %s line %d: overwriting previous definition of %s\n"
|
||||
msgstr "krok %s rad %d: skriv över tidigare definition av%s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:243
|
||||
#, c-format
|
||||
msgid "hook %s line %d: unable to set option (%s)\n"
|
||||
msgstr "krok %s rad %d: kunde inte ställa in alternativ (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:513
|
||||
#, c-format
|
||||
msgid "unable to run hook %s: %s\n"
|
||||
msgstr "kunde inte köra krok %s:%s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/hook.c:547 lib/libalpm/hook.c:559 lib/libalpm/remove.c:386
|
||||
#, c-format
|
||||
@@ -781,7 +780,7 @@ msgstr "kan inte ta bort '%s': %s\n"
|
||||
#: lib/libalpm/remove.c:411 lib/libalpm/remove.c:420
|
||||
#, c-format
|
||||
msgid "could not backup %s due to PATH_MAX overflow\n"
|
||||
msgstr "kunde inte säkerhetskopiera %s på grund av PATH_MAX överflöd\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/remove.c:562
|
||||
#, c-format
|
||||
@@ -801,7 +800,7 @@ msgstr "kunde inte ta bort '%s' från cachen\n"
|
||||
#: lib/libalpm/signing.c:171
|
||||
#, c-format
|
||||
msgid "Public keyring not found; have you run '%s'?\n"
|
||||
msgstr "Publik nyckelring hittades inte; har du kört '%s'?\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:207 lib/libalpm/signing.c:784
|
||||
#, c-format
|
||||
@@ -811,34 +810,34 @@ msgstr "GPGME-fel: %s\n"
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "letar upp nyckeln %s med WKD\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "gpg fel: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
msgid "keyring is not writable\n"
|
||||
msgstr "nyckelring är inte skrivbar\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "nyckel \"%s\" på nyckelserver\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be imported\n"
|
||||
msgstr "nyckel \"%s\" kunde ej importeras\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:548
|
||||
#, c-format
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "nyckel \"%s\" kunde inte slås upp på distans\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: saknar nödvändig signatur\n"
|
||||
@@ -846,49 +845,49 @@ msgstr "%s: saknar nödvändig signatur\n"
|
||||
#: lib/libalpm/signing.c:958
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is marginal trust\n"
|
||||
msgstr "%s:signatur från \"%s\" har marginellt förtroende\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:966
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is unknown trust\n"
|
||||
msgstr "%s: signatur från \"%s\" har okänt förtroende\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:973
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" should never be trusted\n"
|
||||
msgstr "%s: signatur från \"%s\" ska aldrig litas på\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:985
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is unknown\n"
|
||||
msgstr "%s: nyckel \"%s\" är okänd\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:994
|
||||
#, c-format
|
||||
msgid "%s: key \"%s\" is disabled\n"
|
||||
msgstr "%s: nyckel \"%s\" är inaktiverad\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:998
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is expired\n"
|
||||
msgstr "%s: signatur från \"%s\" har upphört\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1002
|
||||
#, c-format
|
||||
msgid "%s: signature from \"%s\" is invalid\n"
|
||||
msgstr "%s: signatur från \"%s\" är ogiltig\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1079 lib/libalpm/signing.c:1147
|
||||
#: lib/libalpm/signing.c:1226
|
||||
#, c-format
|
||||
msgid "%s: signature format error\n"
|
||||
msgstr "%s: signatur format fel\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:1179 lib/libalpm/signing.c:1212
|
||||
#: lib/libalpm/signing.c:1220
|
||||
#, c-format
|
||||
msgid "%s: unsupported signature format\n"
|
||||
msgstr "%s: ogiltigt signatur format\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:99
|
||||
#, c-format
|
||||
@@ -930,27 +929,27 @@ msgstr "olösliga paketkonflikter upptäckta\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "tar bort '%s' från mållistan då den står i konflikt med '%s'\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "misslyckades att hämta några filer⏎\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "misslyckades att läsa fil %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "saknas tillräckligt med fritt diskutrymme⏎\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kunde inte skicka överföring för borttagning\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "kunde inte skicka överföring\n"
|
||||
|
||||
@@ -3,22 +3,22 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Betül Ünlü, 2018
|
||||
# Betül Ünlü <aarda.uunlu@gmail.com>, 2018
|
||||
# tarakbumba <tarakbumba@gmail.com>, 2011,2014
|
||||
# Betül Ünlü, 2018-2019
|
||||
# Betül Ünlü <aarda.uunlu@gmail.com>, 2018-2019
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# Demiray Muhterem <mdemiray@msn.com>, 2016
|
||||
# Demiray Muhterem <mdemiray@msn.com>, 2016
|
||||
# Betül Ünlü, 2019
|
||||
# Betül Ünlü <aarda.uunlu@gmail.com>, 2019
|
||||
# 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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-10 10:52+0000\n"
|
||||
"Last-Translator: Betül Ünlü\n"
|
||||
"Last-Translator: Betül Ünlü <aarda.uunlu@gmail.com>\n"
|
||||
"Language-Team: Turkish (http://www.transifex.com/toofishes/archlinux-pacman/"
|
||||
"language/tr/)\n"
|
||||
"Language: tr\n"
|
||||
@@ -57,7 +57,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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "%s dosyasının ismi %s olarak değiştirilemiyor (%s)\n"
|
||||
@@ -170,7 +170,7 @@ msgstr "bozuk veritabanı kaydı '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -232,7 +232,7 @@ msgstr "%s içerisinde eksik paket bilgisi\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "imza dosyası okunamadı: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "gerekli anahtar anahtarlıkta bulunamadı\n"
|
||||
@@ -364,24 +364,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:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "%3$s hatası nedeniyle '%1$s' dosyası %2$s adresinden alınamadı\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, 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:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, 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:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "%s dosyası indirilemedi\n"
|
||||
@@ -833,7 +833,7 @@ msgstr "anahtar \"%s\" aktarılamıyor\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "anahtar \"%s\"'a uzaktan bakılamıyor\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: gerekli imza kayıp\n"
|
||||
@@ -926,27 +926,27 @@ msgstr "çözülemeyen paket çakışmaları bulundu\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "'%s' hedef listesindeki '%s' ile çakıştığı için kaldırıldı\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "bazı dosyalar alınamadı\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "%s dosyası okunamadı: %s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "yeterli disk alanı yok\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "kaldırma işlemi teslim edilemedi\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "işlem teslim edilemedi\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: 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:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "неможливо перейменувати %s на %s (%s)\n"
|
||||
@@ -170,7 +170,7 @@ msgstr "пошкоджений запис у базі даних «%s»\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -232,7 +232,7 @@ msgstr "бракує метаданих пакунка в %s\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "не вдалось одержати файл підпису: %s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "потрібний ключ не міститься в зв’язці ключів\n"
|
||||
@@ -362,22 +362,22 @@ msgstr "не вдалось створити тимчасово файла дл
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "посилання «%s» неправильне\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "не вдалось одержати файл «%s» з %s : %s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "не вдалось одержати файл «%s» з %s : перевищено сподіваний розмір\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "здається, %s обрізаний: %jd/%jd байтів\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "не вдалось звантажити %s\n"
|
||||
@@ -829,7 +829,7 @@ msgstr "ключ \"%s\" неможливо імпортувати\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "ключ \"%s\" неможливо шукати віддалено\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s: бракує підпису\n"
|
||||
@@ -921,27 +921,27 @@ msgstr "виявлено нерозв'язні конфлікти пакункі
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "вилучення «%s» зі списку пакунків через конфлікт з «%s»\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "не вдалось одержати деякі файли\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "недостатньо вільного місця на диску \n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "неможливо здійснити транзакцію вилучення\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "неможливо здійснити транзакцію\n"
|
||||
|
||||
@@ -4,13 +4,12 @@
|
||||
#
|
||||
# Translators:
|
||||
# Alimspender Dong <akillcool@outlook.com>, 2019
|
||||
# Feng Chao <chaofeng111@qq.com>, 2018
|
||||
# leonfeng <chaofeng111@qq.com>, 2018
|
||||
# Dan McGee <dpmcgee@gmail.com>, 2011
|
||||
# Feng Chao <chaofeng111@qq.com>, 2020
|
||||
# Jiachen YANG <farseerfc@gmail.com>, 2019
|
||||
# Feng Chao <chaofeng111@qq.com>, 2011
|
||||
# Feng Chao <chaofeng111@qq.com>, 2011,2018
|
||||
# Feng Chao <chaofeng111@qq.com>, 2011
|
||||
# leonfeng <chaofeng111@qq.com>, 2011
|
||||
# leonfeng <chaofeng111@qq.com>, 2011,2018
|
||||
# leonfeng <chaofeng111@qq.com>, 2011
|
||||
# mytbk <mytbk920423@gmail.com>, 2013,2015,2017
|
||||
# mytbk <mytbk920423@gmail.com>, 2013,2015,2017
|
||||
# ykelvis <ykelvis@users.noreply.github.com>, 2014
|
||||
@@ -21,9 +20,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Arch Linux Pacman package manager\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
|
||||
"POT-Creation-Date: 2021-04-23 10:22+1000\n"
|
||||
"PO-Revision-Date: 2020-04-26 08:52+0000\n"
|
||||
"Last-Translator: Feng Chao <chaofeng111@qq.com>\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-07 08:12+0000\n"
|
||||
"Last-Translator: Allan McRae <allan@archlinux.org>\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/toofishes/archlinux-"
|
||||
"pacman/language/zh_CN/)\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -62,7 +61,7 @@ msgstr "解压 %s 时出现警告 (%s)\n"
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "无法解压缩 %1$s (%2$s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "无法将 %1$s 重命名为 %2$s (%3$s)\n"
|
||||
@@ -173,7 +172,7 @@ msgstr "损坏的数据库记录 '%s'\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -235,7 +234,7 @@ msgstr "%s 中缺少软件包元数据\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "读取签名文件失败:%s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "所需的密钥不在密钥环中\n"
|
||||
@@ -369,22 +368,22 @@ msgstr "无法创建下载用的临时文件\n"
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url '%s' 无效\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "无法从 %2$s : %3$s 获取文件 '%1$s'\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "获取文件 '%s' 失败,来自 %s : 下载大小超出期望值\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s 可缩小:%jd/%jd bytes\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "下载 %s 失败\n"
|
||||
@@ -809,12 +808,12 @@ msgstr "GPGME 错误:%s\n"
|
||||
#: lib/libalpm/signing.c:284
|
||||
#, c-format
|
||||
msgid "looking up key %s using WKD\n"
|
||||
msgstr "用 WKD 查询密钥 %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:293
|
||||
#, c-format
|
||||
msgid "gpg error: %s\n"
|
||||
msgstr "gpg 错误: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:441 lib/libalpm/signing.c:515
|
||||
#, c-format
|
||||
@@ -824,7 +823,7 @@ msgstr "密钥环不可写\n"
|
||||
#: lib/libalpm/signing.c:539
|
||||
#, c-format
|
||||
msgid "key \"%s\" on keyserver\n"
|
||||
msgstr "密钥服务器上的密钥 \"%s\"\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libalpm/signing.c:544
|
||||
#, c-format
|
||||
@@ -836,7 +835,7 @@ msgstr "密钥 \"%s\" 无法导入\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "无法远程查找到密钥 \"%s\"\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s:缺失签名\n"
|
||||
@@ -928,27 +927,27 @@ msgstr "检测到未解决的软件包冲突\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "正在从目标清单中删除 '%1$s' ,因为它和 '%2$s' 冲突\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "无法获取某些文件\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "无法读取文件 %s:%s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "剩余空间不够\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "无法提交删除事务\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "无法提交事务\n"
|
||||
|
||||
@@ -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: 2021-04-23 10:22+1000\n"
|
||||
"POT-Creation-Date: 2019-10-21 17:23+1000\n"
|
||||
"PO-Revision-Date: 2019-10-08 00:28+0000\n"
|
||||
"Last-Translator: 黃柏諺 <s8321414@gmail.com>\n"
|
||||
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/toofishes/"
|
||||
@@ -56,7 +56,7 @@ msgstr "解壓縮 %s 時出現警告 (%s)\n"
|
||||
msgid "could not extract %s (%s)\n"
|
||||
msgstr "無法解壓縮 %s (%s)\n"
|
||||
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:580 lib/libalpm/remove.c:542
|
||||
#: lib/libalpm/add.c:159 lib/libalpm/dload.c:574 lib/libalpm/remove.c:542
|
||||
#, c-format
|
||||
msgid "could not rename %s to %s (%s)\n"
|
||||
msgstr "無法將 %s 重命名為 %s (%s)\n"
|
||||
@@ -168,7 +168,7 @@ msgstr "損壞的資料庫記錄「%s」\n"
|
||||
|
||||
#: lib/libalpm/be_local.c:713 lib/libalpm/be_local.c:809
|
||||
#: lib/libalpm/be_local.c:954 lib/libalpm/be_local.c:1051
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:428 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/diskspace.c:131 lib/libalpm/dload.c:422 lib/libalpm/util.c:253
|
||||
#: lib/libalpm/util.c:269
|
||||
#, c-format
|
||||
msgid "could not open file %s: %s\n"
|
||||
@@ -230,7 +230,7 @@ msgstr "%s 中缺少軟體包元資料\n"
|
||||
msgid "failed to read signature file: %s\n"
|
||||
msgstr "無法讀取簽章檔:%s\n"
|
||||
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:971
|
||||
#: lib/libalpm/be_package.c:779 lib/libalpm/sync.c:953
|
||||
#, c-format
|
||||
msgid "required key missing from keyring\n"
|
||||
msgstr "從鑰匙圈找不到需要的金鑰\n"
|
||||
@@ -360,22 +360,22 @@ msgstr "無法建立下載暫存檔\n"
|
||||
msgid "url '%s' is invalid\n"
|
||||
msgstr "url「%s」無效\n"
|
||||
|
||||
#: lib/libalpm/dload.c:470 lib/libalpm/dload.c:491 lib/libalpm/dload.c:502
|
||||
#: lib/libalpm/dload.c:464 lib/libalpm/dload.c:485 lib/libalpm/dload.c:496
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : %s\n"
|
||||
msgstr "無法取得檔案「%s」從 %s:%s\n"
|
||||
|
||||
#: lib/libalpm/dload.c:483
|
||||
#: lib/libalpm/dload.c:477
|
||||
#, c-format
|
||||
msgid "failed retrieving file '%s' from %s : expected download size exceeded\n"
|
||||
msgstr "無法解開「%s」從 %s 壓縮檔:超出下載的檔案大小\n"
|
||||
|
||||
#: lib/libalpm/dload.c:538
|
||||
#: lib/libalpm/dload.c:532
|
||||
#, c-format
|
||||
msgid "%s appears to be truncated: %jd/%jd bytes\n"
|
||||
msgstr "%s 可縮小:%jd/%jd 位元組\n"
|
||||
|
||||
#: lib/libalpm/dload.c:683 lib/libalpm/dload.c:712
|
||||
#: lib/libalpm/dload.c:677 lib/libalpm/dload.c:706
|
||||
#, c-format
|
||||
msgid "failed to download %s\n"
|
||||
msgstr "下載 %s 失敗\n"
|
||||
@@ -827,7 +827,7 @@ msgstr "金鑰「%s」無法匯入\n"
|
||||
msgid "key \"%s\" could not be looked up remotely\n"
|
||||
msgstr "金鑰「%s」無法遠端鎖定\n"
|
||||
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1040
|
||||
#: lib/libalpm/signing.c:943 lib/libalpm/sync.c:1022
|
||||
#, c-format
|
||||
msgid "%s: missing required signature\n"
|
||||
msgstr "%s:缺少需要的簽章\n"
|
||||
@@ -919,27 +919,27 @@ msgstr "檢測到無法解決的軟體包衝突\n"
|
||||
msgid "removing '%s' from target list because it conflicts with '%s'\n"
|
||||
msgstr "正在從目標清單中刪除「%s」,因為它和「%s」衝突\n"
|
||||
|
||||
#: lib/libalpm/sync.c:859
|
||||
#: lib/libalpm/sync.c:849
|
||||
#, c-format
|
||||
msgid "failed to retrieve some files\n"
|
||||
msgstr "解開部分檔案失敗\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1054
|
||||
#: lib/libalpm/sync.c:1036
|
||||
#, c-format
|
||||
msgid "failed to read file %s: %s\n"
|
||||
msgstr "讀取檔案 %s 失敗:%s\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1241
|
||||
#: lib/libalpm/sync.c:1223
|
||||
#, c-format
|
||||
msgid "not enough free disk space\n"
|
||||
msgstr "剩餘空間不夠\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1263
|
||||
#: lib/libalpm/sync.c:1245
|
||||
#, c-format
|
||||
msgid "could not commit removal transaction\n"
|
||||
msgstr "無法遞交移除事務處理\n"
|
||||
|
||||
#: lib/libalpm/sync.c:1271
|
||||
#: lib/libalpm/sync.c:1253
|
||||
#, c-format
|
||||
msgid "could not commit transaction\n"
|
||||
msgstr "無法遞交事務處理\n"
|
||||
|
||||
@@ -46,14 +46,6 @@
|
||||
#include "handle.h"
|
||||
#include "filelist.h"
|
||||
|
||||
/**
|
||||
* @brief Add a package removal action to the transaction.
|
||||
*
|
||||
* @param handle the context handle
|
||||
* @param pkg the package to uninstall
|
||||
*
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int SYMEXPORT alpm_remove_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg)
|
||||
{
|
||||
const char *pkgname;
|
||||
|
||||
@@ -35,14 +35,6 @@
|
||||
#include "alpm.h"
|
||||
#include "handle.h"
|
||||
|
||||
/**
|
||||
* Decode a loaded signature in base64 form.
|
||||
* @param base64_data the signature to attempt to decode
|
||||
* @param data the decoded data; must be freed by the caller
|
||||
* @param data_len the length of the returned data
|
||||
* @return 0 on success, -1 on failure to properly decode
|
||||
*/
|
||||
|
||||
int SYMEXPORT alpm_decode_signature(const char *base64_data,
|
||||
unsigned char **data, size_t *data_len)
|
||||
{
|
||||
@@ -217,7 +209,7 @@ gpg_error:
|
||||
int _alpm_key_in_keychain(alpm_handle_t *handle, const char *fpr)
|
||||
{
|
||||
gpgme_error_t gpg_err;
|
||||
gpgme_ctx_t ctx;
|
||||
gpgme_ctx_t ctx = {0};
|
||||
gpgme_key_t key;
|
||||
int ret = -1;
|
||||
|
||||
@@ -231,7 +223,6 @@ int _alpm_key_in_keychain(alpm_handle_t *handle, const char *fpr)
|
||||
goto error;
|
||||
}
|
||||
|
||||
memset(&ctx, 0, sizeof(ctx));
|
||||
gpg_err = gpgme_new(&ctx);
|
||||
CHECK_ERR();
|
||||
|
||||
@@ -267,12 +258,11 @@ error:
|
||||
static int key_import_wkd(alpm_handle_t *handle, const char *email)
|
||||
{
|
||||
gpgme_error_t gpg_err;
|
||||
gpgme_ctx_t ctx;
|
||||
gpgme_ctx_t ctx = {0};
|
||||
gpgme_keylist_mode_t mode;
|
||||
gpgme_key_t key;
|
||||
int ret = -1;
|
||||
|
||||
memset(&ctx, 0, sizeof(ctx));
|
||||
gpg_err = gpgme_new(&ctx);
|
||||
CHECK_ERR();
|
||||
|
||||
@@ -309,7 +299,7 @@ static int key_search_keyserver(alpm_handle_t *handle, const char *fpr,
|
||||
alpm_pgpkey_t *pgpkey)
|
||||
{
|
||||
gpgme_error_t gpg_err;
|
||||
gpgme_ctx_t ctx;
|
||||
gpgme_ctx_t ctx = {0};
|
||||
gpgme_keylist_mode_t mode;
|
||||
gpgme_key_t key;
|
||||
int ret = -1;
|
||||
@@ -322,7 +312,6 @@ static int key_search_keyserver(alpm_handle_t *handle, const char *fpr,
|
||||
MALLOC(full_fpr, fpr_len + 3, RET_ERR(handle, ALPM_ERR_MEMORY, -1));
|
||||
sprintf(full_fpr, "0x%s", fpr);
|
||||
|
||||
memset(&ctx, 0, sizeof(ctx));
|
||||
gpg_err = gpgme_new(&ctx);
|
||||
CHECK_ERR();
|
||||
|
||||
@@ -431,7 +420,7 @@ gpg_error:
|
||||
static int key_import_keyserver(alpm_handle_t *handle, alpm_pgpkey_t *key)
|
||||
{
|
||||
gpgme_error_t gpg_err;
|
||||
gpgme_ctx_t ctx;
|
||||
gpgme_ctx_t ctx = {0};
|
||||
gpgme_key_t keys[2];
|
||||
gpgme_import_result_t result;
|
||||
int ret = -1;
|
||||
@@ -442,7 +431,6 @@ static int key_import_keyserver(alpm_handle_t *handle, alpm_pgpkey_t *key)
|
||||
return -1;
|
||||
}
|
||||
|
||||
memset(&ctx, 0, sizeof(ctx));
|
||||
gpg_err = gpgme_new(&ctx);
|
||||
CHECK_ERR();
|
||||
|
||||
@@ -507,7 +495,7 @@ static int email_from_uid(const char *uid, char **email)
|
||||
int _alpm_key_import(alpm_handle_t *handle, const char *uid, const char *fpr)
|
||||
{
|
||||
int ret = -1;
|
||||
alpm_pgpkey_t fetch_key;
|
||||
alpm_pgpkey_t fetch_key = {0};
|
||||
char *email;
|
||||
|
||||
if(_alpm_access(handle, handle->gpgdir, "pubring.gpg", W_OK)) {
|
||||
@@ -516,7 +504,6 @@ int _alpm_key_import(alpm_handle_t *handle, const char *uid, const char *fpr)
|
||||
return -1;
|
||||
}
|
||||
|
||||
memset(&fetch_key, 0, sizeof(fetch_key));
|
||||
STRDUP(fetch_key.uid, uid, return -1);
|
||||
STRDUP(fetch_key.fingerprint, fpr, return -1);
|
||||
|
||||
@@ -576,8 +563,8 @@ int _alpm_gpgme_checksig(alpm_handle_t *handle, const char *path,
|
||||
{
|
||||
int ret = -1, sigcount;
|
||||
gpgme_error_t gpg_err = 0;
|
||||
gpgme_ctx_t ctx;
|
||||
gpgme_data_t filedata, sigdata;
|
||||
gpgme_ctx_t ctx = {0};
|
||||
gpgme_data_t filedata = {0}, sigdata = {0};
|
||||
gpgme_verify_result_t verify_result;
|
||||
gpgme_signature_t gpgsig;
|
||||
char *sigpath = NULL;
|
||||
@@ -599,16 +586,14 @@ int _alpm_gpgme_checksig(alpm_handle_t *handle, const char *path,
|
||||
|| (sigfile = fopen(sigpath, "rb")) == NULL) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "sig path %s could not be opened\n",
|
||||
sigpath);
|
||||
handle->pm_errno = ALPM_ERR_SIG_MISSING;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_SIG_MISSING, error);
|
||||
}
|
||||
}
|
||||
|
||||
/* does the file we are verifying exist? */
|
||||
file = fopen(path, "rb");
|
||||
if(file == NULL) {
|
||||
handle->pm_errno = ALPM_ERR_NOT_A_FILE;
|
||||
goto error;
|
||||
GOTO_ERR(handle, ALPM_ERR_NOT_A_FILE, error);
|
||||
}
|
||||
|
||||
if(init_gpgme(handle)) {
|
||||
@@ -618,10 +603,6 @@ int _alpm_gpgme_checksig(alpm_handle_t *handle, const char *path,
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "checking signature for %s\n", path);
|
||||
|
||||
memset(&ctx, 0, sizeof(ctx));
|
||||
memset(&sigdata, 0, sizeof(sigdata));
|
||||
memset(&filedata, 0, sizeof(filedata));
|
||||
|
||||
gpg_err = gpgme_new(&ctx);
|
||||
CHECK_ERR();
|
||||
|
||||
@@ -636,8 +617,7 @@ int _alpm_gpgme_checksig(alpm_handle_t *handle, const char *path,
|
||||
int decode_ret = alpm_decode_signature(base64_sig,
|
||||
&decoded_sigdata, &data_len);
|
||||
if(decode_ret) {
|
||||
handle->pm_errno = ALPM_ERR_SIG_INVALID;
|
||||
goto gpg_error;
|
||||
GOTO_ERR(handle, ALPM_ERR_SIG_INVALID, error);
|
||||
}
|
||||
gpg_err = gpgme_data_new_from_mem(&sigdata,
|
||||
(char *)decoded_sigdata, data_len, 0);
|
||||
@@ -654,15 +634,14 @@ int _alpm_gpgme_checksig(alpm_handle_t *handle, const char *path,
|
||||
CHECK_ERR();
|
||||
if(!verify_result || !verify_result->signatures) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "no signatures returned\n");
|
||||
handle->pm_errno = ALPM_ERR_SIG_MISSING;
|
||||
goto gpg_error;
|
||||
GOTO_ERR(handle, ALPM_ERR_SIG_MISSING, gpg_error);
|
||||
}
|
||||
for(gpgsig = verify_result->signatures, sigcount = 0;
|
||||
gpgsig; gpgsig = gpgsig->next, sigcount++);
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "%d signatures returned\n", sigcount);
|
||||
|
||||
CALLOC(siglist->results, sigcount, sizeof(alpm_sigresult_t),
|
||||
handle->pm_errno = ALPM_ERR_MEMORY; goto gpg_error);
|
||||
GOTO_ERR(handle, ALPM_ERR_MEMORY, gpg_error));
|
||||
siglist->count = sigcount;
|
||||
|
||||
for(gpgsig = verify_result->signatures, sigcount = 0; gpgsig;
|
||||
@@ -699,7 +678,7 @@ int _alpm_gpgme_checksig(alpm_handle_t *handle, const char *path,
|
||||
gpg_err = GPG_ERR_NO_ERROR;
|
||||
/* we dupe the fpr in this case since we have no key to point at */
|
||||
STRDUP(result->key.fingerprint, gpgsig->fpr,
|
||||
handle->pm_errno = ALPM_ERR_MEMORY; goto gpg_error);
|
||||
GOTO_ERR(handle, ALPM_ERR_MEMORY, gpg_error));
|
||||
} else {
|
||||
CHECK_ERR();
|
||||
if(key->uids) {
|
||||
@@ -1008,12 +987,6 @@ int _alpm_process_siglist(alpm_handle_t *handle, const char *identifier,
|
||||
return retry;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the PGP signature for the given package file.
|
||||
* @param pkg the package to check
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
|
||||
*/
|
||||
int SYMEXPORT alpm_pkg_check_pgp_signature(alpm_pkg_t *pkg,
|
||||
alpm_siglist_t *siglist)
|
||||
{
|
||||
@@ -1025,12 +998,6 @@ int SYMEXPORT alpm_pkg_check_pgp_signature(alpm_pkg_t *pkg,
|
||||
pkg->base64_sig, siglist);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the PGP signature for the given database.
|
||||
* @param db the database to check
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
|
||||
*/
|
||||
int SYMEXPORT alpm_db_check_pgp_signature(alpm_db_t *db,
|
||||
alpm_siglist_t *siglist)
|
||||
{
|
||||
@@ -1041,13 +1008,6 @@ int SYMEXPORT alpm_db_check_pgp_signature(alpm_db_t *db,
|
||||
return _alpm_gpgme_checksig(db->handle, _alpm_db_path(db), NULL, siglist);
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean up and free a signature result list.
|
||||
* Note that this does not free the siglist object itself in case that
|
||||
* was allocated on the stack; this is the responsibility of the caller.
|
||||
* @param siglist a pointer to storage for signature results
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int SYMEXPORT alpm_siglist_cleanup(alpm_siglist_t *siglist)
|
||||
{
|
||||
ASSERT(siglist != NULL, return -1);
|
||||
@@ -1128,13 +1088,6 @@ static int parse_subpacket(alpm_handle_t *handle, const char *identifier,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract the Issuer Key ID from a signature
|
||||
* @param sig PGP signature
|
||||
* @param len length of signature
|
||||
* @param keys a pointer to storage for key IDs
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int SYMEXPORT alpm_extract_keyid(alpm_handle_t *handle, const char *identifier,
|
||||
const unsigned char *sig, const size_t len, alpm_list_t **keys)
|
||||
{
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/types.h> /* off_t */
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@@ -52,10 +53,6 @@ struct keyinfo_t {
|
||||
char* keyid;
|
||||
};
|
||||
|
||||
|
||||
/** Check for new version of pkg in sync repos
|
||||
* (only the first occurrence is considered in sync)
|
||||
*/
|
||||
alpm_pkg_t SYMEXPORT *alpm_sync_get_new_version(alpm_pkg_t *pkg, alpm_list_t *dbs_sync)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
@@ -200,7 +197,6 @@ static alpm_list_t *check_replacers(alpm_handle_t *handle, alpm_pkg_t *lpkg,
|
||||
return replacers;
|
||||
}
|
||||
|
||||
/** Search for packages to upgrade and add them to the transaction. */
|
||||
int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
|
||||
{
|
||||
alpm_list_t *i, *j;
|
||||
@@ -256,13 +252,6 @@ int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Find group members across a list of databases.
|
||||
* If a member exists in several databases, only the first database is used.
|
||||
* IgnorePkg is also handled.
|
||||
* @param dbs the list of alpm_db_t *
|
||||
* @param name the name of the group
|
||||
* @return the list of alpm_pkg_t * (caller is responsible for alpm_list_free)
|
||||
*/
|
||||
alpm_list_t SYMEXPORT *alpm_find_group_pkgs(alpm_list_t *dbs,
|
||||
const char *name)
|
||||
{
|
||||
@@ -468,11 +457,10 @@ int _alpm_sync_prepare(alpm_handle_t *handle, alpm_list_t **data)
|
||||
}
|
||||
} else {
|
||||
/* pm_errno was set by resolvedeps, callback may have overwrote it */
|
||||
handle->pm_errno = ALPM_ERR_UNSATISFIED_DEPS;
|
||||
alpm_list_free(resolved);
|
||||
alpm_list_free(unresolvable);
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
GOTO_ERR(handle, ALPM_ERR_UNSATISFIED_DEPS, cleanup);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -673,11 +661,6 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** Returns the size of the files that will be downloaded to install a
|
||||
* package.
|
||||
* @param newpkg the new package to upgrade to
|
||||
* @return the size of the download
|
||||
*/
|
||||
off_t SYMEXPORT alpm_pkg_download_size(alpm_pkg_t *newpkg)
|
||||
{
|
||||
if(!(newpkg->infolevel & INFRQ_DSIZE)) {
|
||||
@@ -705,33 +688,26 @@ static int prompt_to_delete(alpm_handle_t *handle, const char *filepath,
|
||||
};
|
||||
QUESTION(handle, &question);
|
||||
if(question.remove) {
|
||||
char *sig_filepath;
|
||||
|
||||
unlink(filepath);
|
||||
|
||||
sig_filepath = _alpm_sigpath(handle, filepath);
|
||||
unlink(sig_filepath);
|
||||
FREE(sig_filepath);
|
||||
}
|
||||
return question.remove;
|
||||
}
|
||||
|
||||
static struct dload_payload *build_payload(alpm_handle_t *handle,
|
||||
const char *filename, size_t size, alpm_list_t *servers)
|
||||
static int find_dl_candidates(alpm_handle_t *handle, alpm_list_t **files)
|
||||
{
|
||||
struct dload_payload *payload;
|
||||
|
||||
CALLOC(payload, 1, sizeof(*payload), RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
|
||||
STRDUP(payload->remote_name, filename, FREE(payload); RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
|
||||
payload->max_size = size;
|
||||
payload->servers = servers;
|
||||
return payload;
|
||||
}
|
||||
|
||||
static int find_dl_candidates(alpm_db_t *repo, alpm_list_t **files)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
alpm_handle_t *handle = repo->handle;
|
||||
|
||||
for(i = handle->trans->add; i; i = i->next) {
|
||||
for(alpm_list_t *i = handle->trans->add; i; i = i->next) {
|
||||
alpm_pkg_t *spkg = i->data;
|
||||
|
||||
if(spkg->origin != ALPM_PKG_FROM_FILE && repo == spkg->origin_data.db) {
|
||||
char *fpath = NULL;
|
||||
if(spkg->origin != ALPM_PKG_FROM_FILE) {
|
||||
alpm_db_t *repo = spkg->origin_data.db;
|
||||
bool need_download;
|
||||
int siglevel = alpm_db_get_siglevel(alpm_pkg_get_db(spkg));
|
||||
|
||||
if(!repo->servers) {
|
||||
handle->pm_errno = ALPM_ERR_SERVER_NONE;
|
||||
@@ -742,66 +718,39 @@ static int find_dl_candidates(alpm_db_t *repo, alpm_list_t **files)
|
||||
|
||||
ASSERT(spkg->filename != NULL, RET_ERR(handle, ALPM_ERR_PKG_INVALID_NAME, -1));
|
||||
|
||||
if(spkg->download_size == 0) {
|
||||
/* check for file in cache - allows us to handle complete .part files */
|
||||
fpath = _alpm_filecache_find(handle, spkg->filename);
|
||||
need_download = spkg->download_size != 0 || !_alpm_filecache_exists(handle, spkg->filename);
|
||||
/* even if the package file in the cache we need to check for
|
||||
* accompanion *.sig file as well.
|
||||
* If *.sig is not cached then force download the package + its signature file.
|
||||
*/
|
||||
if(!need_download && (siglevel & ALPM_SIG_PACKAGE)) {
|
||||
char *sig_filename = NULL;
|
||||
int len = strlen(spkg->filename) + 5;
|
||||
|
||||
MALLOC(sig_filename, len, RET_ERR(handle, ALPM_ERR_MEMORY, -1));
|
||||
snprintf(sig_filename, len, "%s.sig", spkg->filename);
|
||||
|
||||
need_download = !_alpm_filecache_exists(handle, sig_filename);
|
||||
|
||||
FREE(sig_filename);
|
||||
}
|
||||
|
||||
if(spkg->download_size != 0 || !fpath) {
|
||||
struct dload_payload *payload;
|
||||
payload = build_payload(handle, spkg->filename, spkg->size, repo->servers);
|
||||
ASSERT(payload, return -1);
|
||||
*files = alpm_list_add(*files, payload);
|
||||
if(need_download) {
|
||||
*files = alpm_list_add(*files, spkg);
|
||||
}
|
||||
|
||||
FREE(fpath);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int download_single_file(alpm_handle_t *handle, struct dload_payload *payload,
|
||||
const char *cachedir)
|
||||
{
|
||||
alpm_event_pkgdownload_t event = {
|
||||
.type = ALPM_EVENT_PKGDOWNLOAD_START,
|
||||
.file = payload->remote_name
|
||||
};
|
||||
const alpm_list_t *server;
|
||||
|
||||
payload->handle = handle;
|
||||
payload->allow_resume = 1;
|
||||
|
||||
EVENT(handle, &event);
|
||||
for(server = payload->servers; server; server = server->next) {
|
||||
const char *server_url = server->data;
|
||||
size_t len;
|
||||
|
||||
/* print server + filename into a buffer */
|
||||
len = strlen(server_url) + strlen(payload->remote_name) + 2;
|
||||
MALLOC(payload->fileurl, len, RET_ERR(handle, ALPM_ERR_MEMORY, -1));
|
||||
snprintf(payload->fileurl, len, "%s/%s", server_url, payload->remote_name);
|
||||
|
||||
if(_alpm_download(payload, cachedir, NULL, NULL) != -1) {
|
||||
event.type = ALPM_EVENT_PKGDOWNLOAD_DONE;
|
||||
EVENT(handle, &event);
|
||||
return 0;
|
||||
}
|
||||
_alpm_dload_payload_reset_for_retry(payload);
|
||||
}
|
||||
|
||||
event.type = ALPM_EVENT_PKGDOWNLOAD_FAILED;
|
||||
EVENT(handle, &event);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int download_files(alpm_handle_t *handle)
|
||||
{
|
||||
const char *cachedir;
|
||||
alpm_list_t *i, *files = NULL;
|
||||
int errors = 0;
|
||||
int ret = 0;
|
||||
alpm_event_t event;
|
||||
alpm_list_t *payloads = NULL;
|
||||
|
||||
cachedir = _alpm_filecache_setup(handle);
|
||||
handle->trans->state = STATE_DOWNLOADING;
|
||||
@@ -819,8 +768,9 @@ static int download_files(alpm_handle_t *handle)
|
||||
handle->totaldlcb(total_size);
|
||||
}
|
||||
|
||||
for(i = handle->dbs_sync; i; i = i->next) {
|
||||
errors += find_dl_candidates(i->data, &files);
|
||||
ret = find_dl_candidates(handle, &files);
|
||||
if(ret != 0) {
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if(files) {
|
||||
@@ -828,7 +778,6 @@ static int download_files(alpm_handle_t *handle)
|
||||
if(handle->checkspace) {
|
||||
off_t *file_sizes;
|
||||
size_t idx, num_files;
|
||||
int ret;
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "checking available disk space for download\n");
|
||||
|
||||
@@ -836,36 +785,59 @@ static int download_files(alpm_handle_t *handle)
|
||||
CALLOC(file_sizes, num_files, sizeof(off_t), goto finish);
|
||||
|
||||
for(i = files, idx = 0; i; i = i->next, idx++) {
|
||||
const struct dload_payload *payload = i->data;
|
||||
file_sizes[idx] = payload->max_size;
|
||||
const alpm_pkg_t *pkg = i->data;
|
||||
file_sizes[idx] = pkg->size;
|
||||
}
|
||||
|
||||
ret = _alpm_check_downloadspace(handle, cachedir, num_files, file_sizes);
|
||||
free(file_sizes);
|
||||
|
||||
if(ret != 0) {
|
||||
errors++;
|
||||
goto finish;
|
||||
}
|
||||
}
|
||||
|
||||
event.type = ALPM_EVENT_RETRIEVE_START;
|
||||
event.type = ALPM_EVENT_PKG_RETRIEVE_START;
|
||||
EVENT(handle, &event);
|
||||
event.type = ALPM_EVENT_RETRIEVE_DONE;
|
||||
for(i = files; i; i = i->next) {
|
||||
if(download_single_file(handle, i->data, cachedir) == -1) {
|
||||
errors++;
|
||||
event.type = ALPM_EVENT_RETRIEVE_FAILED;
|
||||
_alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n"));
|
||||
}
|
||||
alpm_pkg_t *pkg = i->data;
|
||||
int siglevel = alpm_db_get_siglevel(alpm_pkg_get_db(pkg));
|
||||
struct dload_payload *payload = NULL;
|
||||
|
||||
CALLOC(payload, 1, sizeof(*payload), GOTO_ERR(handle, ALPM_ERR_MEMORY, finish));
|
||||
STRDUP(payload->remote_name, pkg->filename, FREE(payload); GOTO_ERR(handle, ALPM_ERR_MEMORY, finish));
|
||||
STRDUP(payload->filepath, pkg->filename,
|
||||
FREE(payload->remote_name); FREE(payload);
|
||||
GOTO_ERR(handle, ALPM_ERR_MEMORY, finish));
|
||||
payload->max_size = pkg->size;
|
||||
payload->servers = pkg->origin_data.db->servers;
|
||||
payload->handle = handle;
|
||||
payload->allow_resume = 1;
|
||||
payload->download_signature = (siglevel & ALPM_SIG_PACKAGE);
|
||||
payload->signature_optional = (siglevel & ALPM_SIG_PACKAGE_OPTIONAL);
|
||||
|
||||
payloads = alpm_list_add(payloads, payload);
|
||||
}
|
||||
|
||||
ret = _alpm_download(handle, payloads, cachedir);
|
||||
if(ret != 0) {
|
||||
event.type = ALPM_EVENT_PKG_RETRIEVE_FAILED;
|
||||
EVENT(handle, &event);
|
||||
_alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n"));
|
||||
goto finish;
|
||||
}
|
||||
event.type = ALPM_EVENT_PKG_RETRIEVE_DONE;
|
||||
EVENT(handle, &event);
|
||||
}
|
||||
|
||||
finish:
|
||||
if(payloads) {
|
||||
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
|
||||
FREELIST(payloads);
|
||||
}
|
||||
|
||||
if(files) {
|
||||
alpm_list_free_inner(files, (alpm_list_fn_free)_alpm_dload_payload_reset);
|
||||
FREELIST(files);
|
||||
alpm_list_free(files);
|
||||
}
|
||||
|
||||
for(i = handle->trans->add; i; i = i->next) {
|
||||
@@ -879,7 +851,7 @@ finish:
|
||||
handle->totaldlcb(0);
|
||||
}
|
||||
|
||||
return errors;
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBGPGME
|
||||
@@ -916,18 +888,18 @@ static int check_keyring(alpm_handle_t *handle)
|
||||
}
|
||||
|
||||
level = alpm_db_get_siglevel(alpm_pkg_get_db(pkg));
|
||||
if((level & ALPM_SIG_PACKAGE) && pkg->base64_sig) {
|
||||
unsigned char *decoded_sigdata = NULL;
|
||||
size_t data_len;
|
||||
int decode_ret = alpm_decode_signature(pkg->base64_sig,
|
||||
&decoded_sigdata, &data_len);
|
||||
if(decode_ret == 0) {
|
||||
if((level & ALPM_SIG_PACKAGE)) {
|
||||
unsigned char *sig = NULL;
|
||||
size_t sig_len;
|
||||
int ret = alpm_pkg_get_sig(pkg, &sig, &sig_len);
|
||||
if(ret == 0) {
|
||||
alpm_list_t *keys = NULL;
|
||||
if(alpm_extract_keyid(handle, pkg->name, decoded_sigdata,
|
||||
data_len, &keys) == 0) {
|
||||
if(alpm_extract_keyid(handle, pkg->name, sig,
|
||||
sig_len, &keys) == 0) {
|
||||
alpm_list_t *k;
|
||||
for(k = keys; k; k = k->next) {
|
||||
char *key = k->data;
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "found signature key: %s\n", key);
|
||||
if(!alpm_list_find(errors, key, key_cmp) &&
|
||||
_alpm_key_in_keychain(handle, key) == 0) {
|
||||
keyinfo = malloc(sizeof(struct keyinfo_t));
|
||||
@@ -941,8 +913,8 @@ static int check_keyring(alpm_handle_t *handle)
|
||||
}
|
||||
FREELIST(keys);
|
||||
}
|
||||
free(decoded_sigdata);
|
||||
}
|
||||
free(sig);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -42,12 +42,6 @@
|
||||
#include "deps.h"
|
||||
#include "hook.h"
|
||||
|
||||
/** \addtogroup alpm_trans Transaction Functions
|
||||
* @brief Functions to manipulate libalpm transactions
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Initialize the transaction. */
|
||||
int SYMEXPORT alpm_trans_init(alpm_handle_t *handle, int flags)
|
||||
{
|
||||
alpm_trans_t *trans;
|
||||
@@ -97,7 +91,6 @@ static alpm_list_t *check_arch(alpm_handle_t *handle, alpm_list_t *pkgs)
|
||||
return invalid;
|
||||
}
|
||||
|
||||
/** Prepare a transaction. */
|
||||
int SYMEXPORT alpm_trans_prepare(alpm_handle_t *handle, alpm_list_t **data)
|
||||
{
|
||||
alpm_trans_t *trans;
|
||||
@@ -156,7 +149,6 @@ int SYMEXPORT alpm_trans_prepare(alpm_handle_t *handle, alpm_list_t **data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Commit a transaction. */
|
||||
int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data)
|
||||
{
|
||||
alpm_trans_t *trans;
|
||||
@@ -233,9 +225,6 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Interrupt a transaction.
|
||||
* @note Safe to call from inside signal handlers.
|
||||
*/
|
||||
int SYMEXPORT alpm_trans_interrupt(alpm_handle_t *handle)
|
||||
{
|
||||
alpm_trans_t *trans;
|
||||
@@ -253,7 +242,6 @@ int SYMEXPORT alpm_trans_interrupt(alpm_handle_t *handle)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Release a transaction. */
|
||||
int SYMEXPORT alpm_trans_release(alpm_handle_t *handle)
|
||||
{
|
||||
alpm_trans_t *trans;
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../../src/common/util-common.c
|
||||
@@ -1 +0,0 @@
|
||||
../../src/common/util-common.h
|
||||
@@ -350,7 +350,8 @@ int _alpm_unpack(alpm_handle_t *handle, const char *path, const char *prefix,
|
||||
|
||||
/* If specific files were requested, skip entries that don't match. */
|
||||
if(list) {
|
||||
char *entry_prefix = strdup(entryname);
|
||||
char *entry_prefix = NULL;
|
||||
STRDUP(entry_prefix, entryname, ret = 1; goto cleanup);
|
||||
char *p = strstr(entry_prefix,"/");
|
||||
if(p) {
|
||||
*(p + 1) = '\0';
|
||||
@@ -833,6 +834,20 @@ char *_alpm_filecache_find(alpm_handle_t *handle, const char *filename)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Check whether a filename exists in a registered alpm cachedir.
|
||||
* @param handle the context handle
|
||||
* @param filename name of file to find
|
||||
* @return 0 if the filename was not found, 1 otherwise
|
||||
*/
|
||||
int _alpm_filecache_exists(alpm_handle_t *handle, const char *filename)
|
||||
{
|
||||
int res;
|
||||
char *fpath = _alpm_filecache_find(handle, filename);
|
||||
res = (fpath != NULL);
|
||||
FREE(fpath);
|
||||
return res;
|
||||
}
|
||||
|
||||
/** Check the alpm cachedirs for existence and find a writable one.
|
||||
* If no valid cache directory can be found, use /tmp.
|
||||
* @param handle the context handle
|
||||
@@ -1005,7 +1020,7 @@ static int sha256_file(const char *path, unsigned char output[32])
|
||||
* @return a NULL terminated string with the hexadecimal representation of
|
||||
* bytes or NULL on error. This string must be freed.
|
||||
*/
|
||||
static char *hex_representation(unsigned char *bytes, size_t size)
|
||||
static char *hex_representation(const unsigned char *bytes, size_t size)
|
||||
{
|
||||
static const char *hex_digits = "0123456789abcdef";
|
||||
char *str;
|
||||
@@ -1023,11 +1038,6 @@ static char *hex_representation(unsigned char *bytes, size_t size)
|
||||
return str;
|
||||
}
|
||||
|
||||
/** Get the md5 sum of file.
|
||||
* @param filename name of the file
|
||||
* @return the checksum on success, NULL on error
|
||||
* @addtogroup alpm_misc
|
||||
*/
|
||||
char SYMEXPORT *alpm_compute_md5sum(const char *filename)
|
||||
{
|
||||
unsigned char output[16];
|
||||
@@ -1041,11 +1051,6 @@ char SYMEXPORT *alpm_compute_md5sum(const char *filename)
|
||||
return hex_representation(output, 16);
|
||||
}
|
||||
|
||||
/** Get the sha256 sum of file.
|
||||
* @param filename name of the file
|
||||
* @return the checksum on success, NULL on error
|
||||
* @addtogroup alpm_misc
|
||||
*/
|
||||
char SYMEXPORT *alpm_compute_sha256sum(const char *filename)
|
||||
{
|
||||
unsigned char output[32];
|
||||
@@ -1191,7 +1196,7 @@ cleanup:
|
||||
{
|
||||
int ret = b->ret;
|
||||
FREE(b->line);
|
||||
memset(b, 0, sizeof(struct archive_read_buffer));
|
||||
*b = (struct archive_read_buffer){0};
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
@@ -1437,22 +1442,15 @@ int _alpm_fnmatch(const void *pattern, const void *string)
|
||||
*/
|
||||
void *_alpm_realloc(void **data, size_t *current, const size_t required)
|
||||
{
|
||||
char *newdata;
|
||||
|
||||
newdata = realloc(*data, required);
|
||||
if(!newdata) {
|
||||
_alpm_alloc_fail(required);
|
||||
return NULL;
|
||||
}
|
||||
REALLOC(*data, required, return NULL);
|
||||
|
||||
if (*current < required) {
|
||||
/* ensure all new memory is zeroed out, in both the initial
|
||||
* allocation and later reallocs */
|
||||
memset(newdata + *current, 0, required - *current);
|
||||
memset((char*)*data + *current, 0, required - *current);
|
||||
}
|
||||
*current = required;
|
||||
*data = newdata;
|
||||
return newdata;
|
||||
return *data;
|
||||
}
|
||||
|
||||
/** This automatically grows data based on current/required.
|
||||
@@ -1491,3 +1489,40 @@ void _alpm_alloc_fail(size_t size)
|
||||
{
|
||||
fprintf(stderr, "alloc failure: could not allocate %zu bytes\n", size);
|
||||
}
|
||||
|
||||
/** This functions reads file content.
|
||||
*
|
||||
* Memory buffer is allocated by the callee function. It is responsibility
|
||||
* of the caller to free the buffer.
|
||||
*
|
||||
* @param filepath filepath to read
|
||||
* @param data pointer to output buffer
|
||||
* @param data_len size of the output buffer
|
||||
* @return error code for the operation
|
||||
*/
|
||||
alpm_errno_t _alpm_read_file(const char *filepath, unsigned char **data, size_t *data_len)
|
||||
{
|
||||
struct stat st;
|
||||
FILE *fp;
|
||||
|
||||
if((fp = fopen(filepath, "rb")) == NULL) {
|
||||
return ALPM_ERR_NOT_A_FILE;
|
||||
}
|
||||
|
||||
if(fstat(fileno(fp), &st) != 0) {
|
||||
fclose(fp);
|
||||
return ALPM_ERR_NOT_A_FILE;
|
||||
}
|
||||
*data_len = st.st_size;
|
||||
|
||||
MALLOC(*data, *data_len, fclose(fp); return ALPM_ERR_MEMORY);
|
||||
|
||||
if(fread(*data, *data_len, 1, fp) != 1) {
|
||||
FREE(*data);
|
||||
fclose(fp);
|
||||
return ALPM_ERR_SYSTEM;
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
return ALPM_ERR_OK;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user