summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS6
-rw-r--r--Makefile.am7
-rw-r--r--TRANSLATORS36
-rw-r--r--configure.ac110
-rw-r--r--contrib/.gitignore2
-rw-r--r--contrib/Makefile.am6
-rw-r--r--contrib/PKGBUILD.proto35
-rw-r--r--contrib/README7
-rw-r--r--contrib/bash_completion4
-rw-r--r--contrib/install.proto40
-rwxr-xr-xcontrib/pacsearch2
-rwxr-xr-xcontrib/re-pacman2
-rw-r--r--contrib/vimproject5
-rw-r--r--contrib/zsh_completion4
-rw-r--r--doc/.gitignore2
-rw-r--r--etc/.gitignore2
-rw-r--r--etc/abs/Makefile.am2
-rw-r--r--etc/abs/abs.conf2
-rw-r--r--etc/abs/supfile.core (renamed from etc/abs/supfile.arch)6
-rw-r--r--etc/abs/supfile.testing2
-rw-r--r--etc/makepkg.conf.in8
-rw-r--r--etc/pacman.conf.in12
-rw-r--r--etc/pacman.d/.gitignore9
-rw-r--r--etc/pacman.d/Makefile.am10
-rw-r--r--etc/pacman.d/mirrorlist.in91
-rw-r--r--lib/libalpm/.gitignore2
-rw-r--r--lib/libalpm/Makefile.am5
-rw-r--r--lib/libalpm/add.c1146
-rw-r--r--lib/libalpm/alpm.c15
-rw-r--r--lib/libalpm/alpm.h42
-rw-r--r--lib/libalpm/alpm_list.c22
-rw-r--r--lib/libalpm/backup.c6
-rw-r--r--lib/libalpm/be_files.c131
-rw-r--r--lib/libalpm/cache.c24
-rw-r--r--lib/libalpm/conflict.c300
-rw-r--r--lib/libalpm/db.c255
-rw-r--r--lib/libalpm/db.h4
-rw-r--r--lib/libalpm/deps.c424
-rw-r--r--lib/libalpm/deps.h5
-rw-r--r--lib/libalpm/error.c7
-rw-r--r--lib/libalpm/error.h2
-rw-r--r--lib/libalpm/group.c2
-rw-r--r--lib/libalpm/handle.c214
-rw-r--r--lib/libalpm/handle.h55
-rw-r--r--lib/libalpm/log.c2
-rw-r--r--lib/libalpm/md5.c565
-rw-r--r--lib/libalpm/md5.h122
-rw-r--r--lib/libalpm/md5driver.c93
-rw-r--r--lib/libalpm/package.c1040
-rw-r--r--lib/libalpm/package.h16
-rw-r--r--lib/libalpm/po/.gitignore2
-rw-r--r--lib/libalpm/po/POTFILES.in3
-rw-r--r--lib/libalpm/po/de.po1258
-rw-r--r--lib/libalpm/po/en_GB.po1252
-rw-r--r--lib/libalpm/po/es.po1267
-rw-r--r--lib/libalpm/po/fr.po1415
-rw-r--r--lib/libalpm/po/hu.po1263
-rw-r--r--lib/libalpm/po/it.po1314
-rw-r--r--lib/libalpm/po/libalpm.pot1201
-rw-r--r--lib/libalpm/po/pl_PL.po1263
-rw-r--r--lib/libalpm/po/pt_BR.po1235
-rw-r--r--lib/libalpm/po/ru_RU.po1238
-rw-r--r--lib/libalpm/remove.c108
-rw-r--r--lib/libalpm/server.c123
-rw-r--r--lib/libalpm/server.h2
-rw-r--r--lib/libalpm/sha1.c431
-rw-r--r--lib/libalpm/sha1.h72
-rw-r--r--lib/libalpm/sync.c300
-rw-r--r--lib/libalpm/trans.c175
-rw-r--r--lib/libalpm/trans.h2
-rw-r--r--lib/libalpm/util.c252
-rw-r--r--lib/libalpm/util.h11
-rw-r--r--lib/libalpm/versioncmp.c294
-rw-r--r--lib/libalpm/versioncmp.h33
-rw-r--r--pactest/.gitignore3
-rwxr-xr-xpactest/pmdb.py5
-rw-r--r--pactest/tests/conflict001.py19
-rw-r--r--pactest/tests/conflict002.py13
-rw-r--r--pactest/tests/conflict003.py13
-rw-r--r--pactest/tests/conflict004.py15
-rw-r--r--pactest/tests/remove044.py16
-rw-r--r--pactest/tests/remove045.py30
-rw-r--r--pactest/tests/remove046.py10
-rw-r--r--pactest/tests/remove047.py25
-rw-r--r--pactest/tests/sync011.py20
-rw-r--r--pactest/tests/sync012.py20
-rw-r--r--pactest/tests/sync022.py22
-rw-r--r--pactest/tests/sync030.py19
-rw-r--r--pactest/tests/sync1002.py19
-rw-r--r--pactest/tests/sync1003.py26
-rw-r--r--pactest/tests/sync400.py25
-rw-r--r--pactest/tests/sync401.py21
-rw-r--r--pactest/tests/sync402.py21
-rw-r--r--pactest/tests/sync403.py21
-rw-r--r--pactest/tests/upgrade031.py19
-rw-r--r--pactest/tests/upgrade056.py1
-rw-r--r--po/.gitignore2
-rw-r--r--po/de.po97
-rw-r--r--po/es.po23
-rw-r--r--po/hu.po1866
-rw-r--r--scripts/makepkg.sh.in94
-rw-r--r--scripts/pacman-optimize.sh.in49
-rw-r--r--scripts/repo-add.sh.in284
-rw-r--r--scripts/repo-remove.sh.in130
-rw-r--r--src/pacman/.gitignore2
-rw-r--r--src/pacman/Makefile.am5
-rw-r--r--src/pacman/add.c26
-rw-r--r--src/pacman/callback.c3
-rw-r--r--src/pacman/conf.c24
-rw-r--r--src/pacman/conf.h15
-rw-r--r--src/pacman/deptest.c19
-rw-r--r--src/pacman/package.c25
-rw-r--r--src/pacman/pacman.c261
-rw-r--r--src/pacman/query.c262
-rw-r--r--src/pacman/remove.c15
-rw-r--r--src/pacman/sync.c56
-rw-r--r--src/pacman/util.c11
-rw-r--r--src/util/.gitignore3
-rw-r--r--src/util/Makefile.am18
-rw-r--r--src/util/testdb.c193
-rw-r--r--src/util/testpkg.c14
-rw-r--r--src/util/vercmp.c23
122 files changed, 7501 insertions, 15827 deletions
diff --git a/AUTHORS b/AUTHORS
index 106433d0..943df83f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -3,12 +3,12 @@ Aurelien Foret <aurelien@archlinux.org>
Aaron Griffin <aaron@archlinux.org>
Dan McGee <dan@archlinux.org>
-Mikls Vajna <vmiklos@frugalware.org>
+Miklós Vajna <vmiklos@frugalware.org>
Christian Hamar <krics@linuxforum.hu>
-
Josh Wheeler <deltalima@gmail.com>
David Kimpe <DNAku@frugalware.org>
-
James Rosten <seinfeld90@gmail.com>
Roman Kyrylych <Roman.Kyrylych@gmail.com>
Andrew Fyfe <andrew@neptune-one.net>
+Chantry Xavier <shiningxc@gmail.com>
+Nagy Gabor <ngaba@petra.hos.u-szeged.hu>
diff --git a/Makefile.am b/Makefile.am
index 039e2fbe..87bbee6a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,10 +4,17 @@ SUBDIRS = lib/libalpm src/util src/pacman scripts doc etc po pactest contrib
# AUTHORS, COPYING, NEWS, README
EXTRA_DIST = HACKING
+# run the pactest test suite
check-local: src/pacman
python $(top_srcdir)/pactest/pactest.py --debug=1 \
--test $(top_srcdir)/pactest/tests/*.py \
-p $(top_builddir)/src/pacman/pacman
rm -rf $(top_builddir)/root
+# create the pacman DB and cache directories upon install
+install-data-local:
+ for dir in "$(DESTDIR)$(localstatedir)/lib/pacman" "$(DESTDIR)$(localstatedir)/cache/pacman/pkg"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+
# vim:set ts=2 sw=2 noet:
diff --git a/TRANSLATORS b/TRANSLATORS
new file mode 100644
index 00000000..914ebc2a
--- /dev/null
+++ b/TRANSLATORS
@@ -0,0 +1,36 @@
+Thanks to all of those who have helped translate pacman, both in the past
+and currently. Here are some of the current translators (past translators
+can be found by looking in the GIT history).
+
+If your language is listed here and you are interested in helping translate,
+contact either the pacman mailing list at pacman-dev@archlinux.org, or one
+of the translators listed above.
+
+If your language is not listed here and you wish it was, let the pacman mailing
+list know you are interested in making a translation. We will be happy to add
+your language to the mix.
+
+German (de):
+ Pierre Schmitz <pierre@archlinux.de>
+British English (en_GB):
+ Jeff Bailes <thepizzaking@gmail.com>
+Spanish (es):
+ Juan Pablo González Tognarelli <jotapesan@gmail.com>
+French (fr):
+ solsTiCe d'Hiver <solstice.dhiver@laposte.net>
+Hungarian (hu):
+ Nagy Gabor <ngaba@petra.hos.u-szeged.hu>
+Italian (it):
+ Giovanni 'voidnull' Scafora <linuxmania@gmail.com>
+ Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+ Lorenzo '^zanDarK' Masini <lorenxo86@gmail.com>
+Polish (pl_PL):
+ Mateusz Jędrasik <m.jedrasik@gmail.com>
+Brazilian Portuguese (pt_BR):
+ Douglas Soares de Andrade <douglas@archlinux-br.org>
+ Hugo Doria <hugodoria@archlinux-br.org>
+ Lincoln de Sousa <lincoln@archlinux-br.org>
+ Leandro Inácio <leandro@archlinux-br.org>
+Russian (ru_RU):
+ Vladimir Bayrakovskiy <4rayven@gmail.com>
+
diff --git a/configure.ac b/configure.ac
index 17c85ad6..96d8f167 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,24 +3,74 @@
# Minimum version of autoconf required
AC_PREREQ(2.61)
+# 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
+#
+# pacman_version_suffix should be similar to one of the following:
+# For beta releases: [beta2]
+# For code under development: [devel]
+# For production releases: []
+
+m4_define([lib_current], [2])
+m4_define([lib_revision], [0])
+m4_define([lib_age], [0])
+
+m4_define([pacman_version_major], [3])
+m4_define([pacman_version_minor], [1])
+m4_define([pacman_version_micro], [0])
+m4_define([pacman_version_suffix], [devel])
+m4_define([pacman_version],
+ [pacman_version_major.pacman_version_minor.pacman_version_micro])
+m4_define([pacman_display_version],
+ pacman_version[]m4_ifdef([pacman_version_suffix],[pacman_version_suffix]))
+
# Autoconf initialization
# AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
-AC_INIT([Pacman Package Manager], 3.1.0-dev, [pacman-dev@archlinux.org], [pacman])
+AC_INIT([Pacman Package Manager], [pacman_display_version],
+ [pacman-dev@archlinux.org], [pacman])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE
-# Define the libalpm version number here
-LIB_MAJOR_VERSION=1
-LIB_MINOR_VERSION=1
-LIB_MICRO_VERSION=1
-LIB_VERSION=$LIB_MAJOR_VERSION.$LIB_MINOR_VERSION.$LIB_MICRO_VERSION
-# Needed for libtool to create proper shared lib version.
-# This is not completely correct- see
-# http://sourceware.org/autobook/autobook/autobook_91.html for details.
-LIB_VERSION_INFO=`expr $LIB_MAJOR_VERSION + $LIB_MINOR_VERSION`:$LIB_MICRO_VERSION:$LIB_MINOR_VERSION
+LIB_VERSION=`expr lib_current-lib_age`.lib_revision
+LIB_VERSION_INFO="lib_current:lib_revision:lib_age"
# Set subsitution values for version stuff in Makefiles and anywhere else,
# and put LIB_VERSION in config.h
@@ -124,7 +174,10 @@ AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([getcwd gettimeofday memmove memset mkdir realpath regcomp \
rmdir setenv setlocale sqrt strcasecmp strchr strdup strerror \
- strndup strrchr strstr strverscmp uname mtrace geteuid])
+ strndup strrchr strsep strstr strverscmp uname mtrace geteuid])
+
+# Enable large file support if available
+AC_SYS_LARGEFILE
# Host-dependant flags
case "${host}" in
@@ -133,45 +186,41 @@ case "${host}" in
;;
esac
-# Check for architecture
+# Check for architecture, used in default makepkg.conf
+# (Note single space left after CARCHFLAGS)
case "${host}" in
i686-*)
CARCH="i686"
- CARCHFLAGS="i686"
- ARCHSWITCH="march"
+ CARCHFLAGS="-march=i686 "
;;
x86_64-*)
CARCH="x86_64"
- CARCHFLAGS="x86-64"
- ARCHSWITCH="march"
+ CARCHFLAGS="-march=x86-64 "
;;
ia64-*)
CARCH="ia64"
- CARCHFLAGS="ia64"
- ARCHSWITCH="march"
+ CARCHFLAGS="-march=ia64 "
;;
sparc-*)
CARCH="sparc"
- CARCHFLAGS="v9"
- ARCHSWITCH="mcpu"
+ CARCHFLAGS="-mcpu=v9 "
;;
ppc-* | powerpc-*)
CARCH="ppc"
- CARCHFLAGS="750"
- ARCHSWITCH="mcpu"
+ CARCHFLAGS="-mcpu=750 "
;;
i386-*)
CARCH="i386"
- CARCHFLAGS="i386"
- ARCHSWITCH="march"
+ CARCHFLAGS="-march=i386 "
;;
arm-*)
CARCH="arm"
- CARCHFLAGS="armv4"
- ARCHSWITCH="march"
+ CARCHFLAGS="-march=armv4 "
;;
*)
- AC_MSG_ERROR([[Your architecture is not supported; consider adding it to configure.ac]])
+ AC_MSG_WARN([[Your architecture is unknown for makepkg.conf, consider adding it to configure.ac]])
+ CARCH="unknown"
+ CARCHFLAGS=""
;;
esac
@@ -179,7 +228,6 @@ esac
CHOST="${host}"
AC_SUBST(CARCH)
AC_SUBST(CARCHFLAGS)
-AC_SUBST(ARCHSWITCH)
AC_SUBST(CHOST)
# Check for doxygen support and status
@@ -220,7 +268,7 @@ AM_CONDITIONAL(USE_ASCIIDOC, test "x$useasciidoc" = "xyes")
AC_MSG_CHECKING(for debug mode request)
if test "x$debug" = "xyes" ; then
AC_DEFINE([PACMAN_DEBUG], , [Enable debug code])
- CFLAGS="$CFLAGS -g -Wall -Werror -fstack-protector -std=c99"
+ CFLAGS="$CFLAGS -g -Wall -Werror -fstack-protector-all -std=c99"
LDFLAGS="$LDFLAGS -lmcheck"
AC_MSG_RESULT(yes)
else
@@ -269,7 +317,7 @@ Makefile
AC_OUTPUT
echo "
-$PACKAGE_STRING:
+pacman_display_version:
Build information:
source code location : ${srcdir}
@@ -284,7 +332,7 @@ $PACKAGE_STRING:
defines : ${DEFS}
Architecture : ${CARCH}
- Architecture flags : -${ARCHSWITCH}=${CARCHFLAGS}
+ Architecture flags : ${CARCHFLAGS}
Host Type : ${CHOST}
libalpm version : ${LIB_VERSION}
diff --git a/contrib/.gitignore b/contrib/.gitignore
index 282522db..e69de29b 100644
--- a/contrib/.gitignore
+++ b/contrib/.gitignore
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index 3ad85931..73d2130a 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -1,8 +1,12 @@
EXTRA_DIST = \
+ PKGBUILD.proto \
+ PKGBUILD.vim \
bash_completion \
- pacsearch \
+ install.proto \
pacdiff \
+ pacsearch \
re-pacman \
+ vimproject \
wget-xdelta.sh \
zsh_completion \
README
diff --git a/contrib/PKGBUILD.proto b/contrib/PKGBUILD.proto
new file mode 100644
index 00000000..9e4b69a0
--- /dev/null
+++ b/contrib/PKGBUILD.proto
@@ -0,0 +1,35 @@
+# This is an example PKGBUILD file. Use this as a start to creating your own,
+# and remove these comments. For more information, see 'man PKGBUILD'.
+# NOTE: Please fill out the license field for your package! If it is unknown,
+# then please put 'unknown'.
+
+# Contributor: Your Name <youremail@domain.com>
+pkgname=NAME
+pkgver=VERSION
+pkgrel=1
+pkgdesc=""
+arch=()
+url=""
+license=('GPL')
+groups=()
+depends=()
+makedepends=()
+provides=()
+conflicts=()
+replaces=()
+backup=()
+options=()
+install=
+source=($pkgname-$pkgver.tar.gz)
+noextract=()
+md5sums=() #generate with 'makepkg -g'
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/contrib/README b/contrib/README
index 3cb54a1a..95186aba 100644
--- a/contrib/README
+++ b/contrib/README
@@ -1,5 +1,8 @@
Here is a brief description of the files included in this directory:
+{PKGBUILD,install}.proto - prototype PKGBUILD and install files for creating
+packages using makepkg.
+
PKGBUILD.vim - a vim/gvim syntax file for PKGBUILDs. Colors known variable
names, highlights common errors such as invalid characters in pkgname or
pkgver, etc.
@@ -21,3 +24,7 @@ database entries. Useful for reuse, or possible config file extension.
vimproject - a project file for the vim project plugin (some files listed
may need to be updated).
+
+wget-xdelta.sh - A download script for pacman which allows binary deltas
+generated with makepkg to be used instead of downloading full binary packages.
+This should cut download sizes for some package upgrades significantly.
diff --git a/contrib/bash_completion b/contrib/bash_completion
index 7018dfeb..a3d5c432 100644
--- a/contrib/bash_completion
+++ b/contrib/bash_completion
@@ -48,7 +48,7 @@ _available_pkgs ()
local available_pkgs
local enabled_repos
enabled_repos=$( grep '\[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]' )
- available_pkgs=$( for r in $enabled_repos; do echo /var/lib/pacman/$r/*; done )
+ available_pkgs=$( for r in $enabled_repos; do echo /var/lib/pacman/sync/$r/*; done )
COMPREPLY=( $( compgen -W "$( for i in $available_pkgs; do j=${i##*/}; echo ${j%-*-*}; done )" -- $cur ) )
}
@@ -67,7 +67,7 @@ _available_groups ()
local available_groups
local enabled_repos
enabled_repos=$( grep '\[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]' )
- available_groups=$( for r in $enabled_repos; do sed '/%GROUPS%/,/^$/{//d; p}' /var/lib/pacman/$r/*/desc | sort -u; done )
+ available_groups=$( for r in $enabled_repos; do sed '/%GROUPS%/,/^$/{//d; p}' /var/lib/pacman/sync/$r/*/desc | sort -u; done )
COMPREPLY=( $( compgen -W "$( for i in $available_groups; do echo ${i%-*-*}; done )" -- $cur ) )
}
diff --git a/contrib/install.proto b/contrib/install.proto
new file mode 100644
index 00000000..4bf55280
--- /dev/null
+++ b/contrib/install.proto
@@ -0,0 +1,40 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ /bin/true
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+["$(type -t "$op")" = "function" ] && $op "$@"
+
+# vim:set ts=2 sw=2 et:
diff --git a/contrib/pacsearch b/contrib/pacsearch
index 6eed254d..1e1c0504 100755
--- a/contrib/pacsearch
+++ b/contrib/pacsearch
@@ -72,7 +72,7 @@ done
# Print colorized package list and descriptions to screen
echo -e "$(sed -r \
- -e "s@current/.*@$CLR1&$BASE@" \
+ -e "s@core/.*@$CLR1&$BASE@" \
-e "s@extra/.*@$CLR2&$BASE@" \
-e "s@community/.*@$CLR3&$BASE@" \
-e "s@testing/.*@$CLR4&$BASE@" \
diff --git a/contrib/re-pacman b/contrib/re-pacman
index 350fe865..c53ce87d 100755
--- a/contrib/re-pacman
+++ b/contrib/re-pacman
@@ -48,6 +48,8 @@ make_pkginfo () {
done
}
+LANG="POSIX"
+
if [ $# -ne 1 ]; then
echo "usage: re-pacman <installed package name>"
exit 1
diff --git a/contrib/vimproject b/contrib/vimproject
index 662bf04f..c84b6762 100644
--- a/contrib/vimproject
+++ b/contrib/vimproject
@@ -24,16 +24,13 @@ pacman=~/devel/pacman-lib CD=. flags=S {
handle.c
log.c
md5.c
- md5driver.c
package.c
provide.c
remove.c
server.c
- sha1.c
sync.c
trans.c
util.c
- versioncmp.c
add.h
alpm.h
alpm_list.h
@@ -51,11 +48,9 @@ pacman=~/devel/pacman-lib CD=. flags=S {
provide.h
remove.h
server.h
- sha1.h
sync.h
trans.h
util.h
- versioncmp.h
Makefile.am
Makefile.in
}
diff --git a/contrib/zsh_completion b/contrib/zsh_completion
index d7e14864..4607bd7e 100644
--- a/contrib/zsh_completion
+++ b/contrib/zsh_completion
@@ -227,9 +227,9 @@ _pacman_completions_all_packages() {
repositories=( $(_call_program repositories cat /etc/pacman.conf | grep "^\[" | sed "s,\(\[\|\]\),,g" | grep -v "^options" | sort -u) )
# these can be specified as either 'package' or 'repository/package'
if [[ "$PREFIX" == "" ]] ; then
- packages=( $(_call_program packages ls /var/lib/pacman/${^repositories} | grep -v "^/" | sed "s,\-[^-]*\-[^-]*$,," | sort -u) )
+ packages=( $(_call_program packages ls /var/lib/pacman/sync/${^repositories} | grep -v "^/" | sed "s,\-[^-]*\-[^-]*$,," | sort -u) )
else
- packages=( $(_call_program packages ls /var/lib/pacman/${^repositories} | grep -v "^/" | grep -e \^$PREFIX | sed "s,\-[^-]*\-[^-]*$,," | sort -u) )
+ packages=( $(_call_program packages ls /var/lib/pacman/sync/${^repositories} | grep -v "^/" | grep -e \^$PREFIX | sed "s,\-[^-]*\-[^-]*$,," | sort -u) )
fi
compadd "$@" -a packages
}
diff --git a/doc/.gitignore b/doc/.gitignore
index 6fee5088..e10f61a4 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1,5 +1,3 @@
-Makefile
-Makefile.in
PKGBUILD.5
libalpm.3
makepkg.8
diff --git a/etc/.gitignore b/etc/.gitignore
index 19f2216d..7c5f1e2b 100644
--- a/etc/.gitignore
+++ b/etc/.gitignore
@@ -1,4 +1,2 @@
-Makefile
-Makefile.in
makepkg.conf
pacman.conf
diff --git a/etc/abs/Makefile.am b/etc/abs/Makefile.am
index 530540e0..b6b64f03 100644
--- a/etc/abs/Makefile.am
+++ b/etc/abs/Makefile.am
@@ -1,7 +1,7 @@
EXTRA_DIST = \
abs.conf \
- supfile.arch \
supfile.community \
+ supfile.core \
supfile.extra \
supfile.testing \
supfile.unstable
diff --git a/etc/abs/abs.conf b/etc/abs/abs.conf
index 66ba5277..782b269b 100644
--- a/etc/abs/abs.conf
+++ b/etc/abs/abs.conf
@@ -9,5 +9,5 @@
# Supfiles to be parsed by abs (in this order)
# (prefix a module with a ! to disable it)
#
-SUPFILES=(arch extra !unstable !community !testing)
+SUPFILES=(core extra !unstable !community !testing)
diff --git a/etc/abs/supfile.arch b/etc/abs/supfile.core
index 4ab4e499..2e052bce 100644
--- a/etc/abs/supfile.arch
+++ b/etc/abs/supfile.core
@@ -1,8 +1,8 @@
#
-# supfile.arch
+# supfile.core
#
-# this is the host containing the current PKGBUILD files
+# this is the host containing the core PKGBUILD files
*default host=cvs.archlinux.org
*default release=cvs
@@ -12,4 +12,4 @@
#*default umask=002
*default tag=CURRENT
-arch
+core
diff --git a/etc/abs/supfile.testing b/etc/abs/supfile.testing
index d2fc6106..70fc6551 100644
--- a/etc/abs/supfile.testing
+++ b/etc/abs/supfile.testing
@@ -12,5 +12,5 @@
#*default umask=002
*default tag=TESTING
-arch
+core
extra
diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in
index 615ad440..d13c3d69 100644
--- a/etc/makepkg.conf.in
+++ b/etc/makepkg.conf.in
@@ -27,10 +27,10 @@ CARCH="@CARCH@"
CHOST="@CHOST@"
#-- Exclusive: will only run on @CARCHFLAGS@
-# -mtune builds exclusively for an architecture
-# -mcpu optimizes for an architecture, but builds for the whole processor family
-CFLAGS="-@ARCHSWITCH@=@CARCHFLAGS@ -mtune=generic -O2 -pipe"
-CXXFLAGS="-@ARCHSWITCH@=@CARCHFLAGS@ -mtune=generic -O2 -pipe"
+# -march (or -mcpu) builds exclusively for an architecture
+# -mtune optimizes for an architecture, but builds for whole processor family
+CFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
+CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
diff --git a/etc/pacman.conf.in b/etc/pacman.conf.in
index 33ef1814..7a775bfe 100644
--- a/etc/pacman.conf.in
+++ b/etc/pacman.conf.in
@@ -23,23 +23,23 @@ HoldPkg = pacman glibc
# have identical names, regardless of version number
#
#[testing]
-#Include = @sysconfdir@/pacman.d/testing
+#Include = @sysconfdir@/pacman.d/mirrorlist
-[current]
+[core]
# Add your preferred servers here, they will be used first
-Include = @sysconfdir@/pacman.d/current
+Include = @sysconfdir@/pacman.d/mirrorlist
[extra]
# Add your preferred servers here, they will be used first
-Include = @sysconfdir@/pacman.d/extra
+Include = @sysconfdir@/pacman.d/mirrorlist
[community]
# Add your preferred servers here, they will be used first
-Include = @sysconfdir@/pacman.d/community
+Include = @sysconfdir@/pacman.d/mirrorlist
#[unstable]
# Add your preferred servers here, they will be used first
-#Include = @sysconfdir@/pacman.d/unstable
+#Include = @sysconfdir@/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
diff --git a/etc/pacman.d/.gitignore b/etc/pacman.d/.gitignore
index c7001838..b47959b7 100644
--- a/etc/pacman.d/.gitignore
+++ b/etc/pacman.d/.gitignore
@@ -1,8 +1 @@
-Makefile
-Makefile.in
-community
-current
-extra
-release
-unstable
-testing
+mirrorlist
diff --git a/etc/pacman.d/Makefile.am b/etc/pacman.d/Makefile.am
index 940282dc..e1f33c76 100644
--- a/etc/pacman.d/Makefile.am
+++ b/etc/pacman.d/Makefile.am
@@ -1,5 +1,5 @@
pkgsysconfdir = ${sysconfdir}/pacman.d
-dist_pkgsysconf_DATA = community current extra release testing unstable
+dist_pkgsysconf_DATA = mirrorlist
EXTRA_DIST = mirrorlist.in
#
# Files that should be removed, but which Automake does not know.
@@ -8,16 +8,10 @@ MOSTLYCLEANFILES = $(dist_pkgsysconf_DATA)
$(dist_pkgsysconf_DATA): Makefile
rm -f $@ $@.tmp
sed \
- -e "s|@REPO[@]|$@|g" \
-e 's|@CARCH[@]|$(CARCH)|g' \
$(srcdir)/mirrorlist.in >$@.tmp
mv $@.tmp $@
-community: $(srcdir)/mirrorlist.in
-current: $(srcdir)/mirrorlist.in
-extra: $(srcdir)/mirrorlist.in
-release: $(srcdir)/mirrorlist.in
-testing: $(srcdir)/mirrorlist.in
-unstable: $(srcdir)/mirrorlist.in
+mirrorlist: $(srcdir)/mirrorlist.in
# vim:set ts=2 sw=2 noet:
diff --git a/etc/pacman.d/mirrorlist.in b/etc/pacman.d/mirrorlist.in
index 28895376..1b97a752 100644
--- a/etc/pacman.d/mirrorlist.in
+++ b/etc/pacman.d/mirrorlist.in
@@ -1,82 +1,83 @@
#
-# @REPO@: Arch Linux @REPO@ repository
+# $repo: Arch Linux @REPO@ repository
#
# United States
-Server = ftp://ftp.archlinux.org/@REPO@/os/@CARCH@
-Server = ftp://ftp.nethat.com/pub/linux/archlinux/@REPO@/os/@CARCH@
-Server = ftp://locke.suu.edu/linux/dist/archlinux/@REPO@/os/@CARCH@
-Server = ftp://mirrors.unixheads.org/archlinux/@REPO@/os/@CARCH@
-Server = ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/archlinux/@REPO@/os/@CARCH@
-Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/@REPO@/os/@CARCH@
-Server = http://mirrors.easynews.com/linux/archlinux/@REPO@/os/@CARCH@
-Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.archlinux.org/$repo/os/@CARCH@
+Server = ftp://ftp.nethat.com/pub/linux/archlinux/$repo/os/@CARCH@
+Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/@CARCH@
+Server = ftp://mirrors.unixheads.org/archlinux/$repo/os/@CARCH@
+Server = ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/archlinux/$repo/os/@CARCH@
+Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/@CARCH@
+Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/@CARCH@
+Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/@CARCH@
# South America
# - Brazil
-Server = http://archlinux.c3sl.ufpr.br/@REPO@/os/@CARCH@
+Server = http://archlinux.c3sl.ufpr.br/$repo/os/@CARCH@
# Europe
# - Austria
-Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/@REPO@/os/@CARCH@
+Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/@CARCH@
# - Belgium
-Server = ftp://ftp.belnet.be/packages/archlinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.belnet.be/packages/archlinux/$repo/os/@CARCH@
# - Czech Republic
-Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/@REPO@/os/@CARCH@
+Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/@CARCH@
# - Estonia
-Server = ftp://ftp.estpak.ee/pub/archlinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.estpak.ee/pub/archlinux/$repo/os/@CARCH@
# - Finland
-Server = ftp://ftp.sixnix.net/pub/archlinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.sixnix.net/pub/archlinux/$repo/os/@CARCH@
# - France
-Server = ftp://ftp.rez-gif.supelec.fr/pub/Linux/distrib/archlinux/@REPO@/os/@CARCH@
-Server = ftp://mir1.archlinuxfr.org/archlinux/@REPO@/os/@CARCH@
-Server = ftp://mir2.archlinuxfr.org/archlinux/@REPO@/os/@CARCH@
-Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.rez-gif.supelec.fr/pub/Linux/distrib/archlinux/$repo/os/@CARCH@
+Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/@CARCH@
+Server = ftp://mir2.archlinuxfr.org/archlinux/$repo/os/@CARCH@
+Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/@CARCH@
# - Germany
-Server = ftp://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/archlinux/@REPO@/os/@CARCH@
-Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/@REPO@/os/@CARCH@
-Server = ftp://ftp.archlinuxppc.org/i686/@REPO@/os/@CARCH@
-Server = http://mirror.archlinux.de/@REPO@/os/@CARCH@
+Server = ftp://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/archlinux/$repo/os/@CARCH@
+Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/@CARCH@
+Server = ftp://ftp.archlinuxppc.org/i686/$repo/os/@CARCH@
# - Great Britain
-Server = http://ftp.parrswood.manchester.sch.uk/Mirrors/ftp.archlinux.org/@REPO@/os/@CARCH@
+Server = http://ftp.parrswood.manchester.sch.uk/Mirrors/ftp.archlinux.org/$repo/os/@CARCH@
# - Greece
-Server = ftp://ftp.ntua.gr/pub/linux/archlinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/@CARCH@
# - Ireland
-Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/@REPO@/os/@CARCH@
+Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/@CARCH@
# - Italy
-Server = ftp://mi.mirror.garr.it/mirrors/archlinux/@REPO@/os/@CARCH@
+Server = ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/@CARCH@
# - Lithuania
-Server = ftp://saule.mintis.lt/pub/linux/@REPO@/os/@CARCH@
+Server = ftp://saule.mintis.lt/pub/linux/$repo/os/@CARCH@
# - Netherlands
-Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/@REPO@/os/@CARCH@
-Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/@CARCH@
+Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/@CARCH@
# - Norway
-Server = ftp://mirror.djzradio.net/archlinux/@REPO@/os/@CARCH@
+Server = ftp://mirror.djzradio.net/archlinux/$repo/os/@CARCH@
# - Poland
-Server = ftp://sunsite.icm.edu.pl/site/linux-sunsite/distributions/archlinux/@REPO@/os/@CARCH@
-Server = ftp://mirror.icis.pcz.pl/archlinux/@REPO@/os/@CARCH@
+Server = ftp://sunsite.icm.edu.pl/site/linux-sunsite/distributions/archlinux/$repo/os/@CARCH@
+Server = ftp://mirror.icis.pcz.pl/archlinux/$repo/os/@CARCH@
# - Portugal
-Server = ftp://gul.est.ips.pt/repos/archlinux/@REPO@/os/@CARCH@
-Server = ftp://cesium.di.uminho.pt/pub/archlinux/@REPO@/os/@CARCH@
-Server = ftp://darkstar.ist.utl.pt/pub/archlinux/@REPO@/os/@CARCH@
+Server = ftp://gul.est.ips.pt/repos/archlinux/$repo/os/@CARCH@
+Server = ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/@CARCH@
+Server = ftp://darkstar.ist.utl.pt/pub/archlinux/$repo/os/@CARCH@
# - Romania
-Server = ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/@REPO@/os/@CARCH@
+Server = ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/$repo/os/@CARCH@
# - Russia
-Server = http://archlinux.freeside.ru/@REPO@/os/@CARCH@
+Server = http://archlinux.freeside.ru/$repo/os/@CARCH@
+Server = ftp://mirror.yandex.ru/archlinux/$repo/os/@CARCH@
# - Sweden
-Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/@REPO@/os/@CARCH@
-Server = ftp://ftp.gigabit.nu/@REPO@/os/@CARCH@
+Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/@CARCH@
+Server = ftp://ftp.gigabit.nu/$repo/os/@CARCH@
# - Switzerland
-Server = ftp://archlinux.puzzle.ch/@REPO@/os/@CARCH@
+Server = ftp://archlinux.puzzle.ch/$repo/os/@CARCH@
# - Turkey
-Server = ftp://ftp.linux.org.tr/pub/archlinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.linux.org.tr/pub/archlinux/$repo/os/@CARCH@
# - Ukraine
-Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/@REPO@/os/@CARCH@
+Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/@CARCH@
+Server = ftp://hell.org.ua/archlinux/$repo/os/@CARCH@
# Asia
# - Israel
-Server = http://mirror.isoc.org.il/pub/archlinux/@REPO@/os/@CARCH@
+Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/@CARCH@
# Australia
-Server = ftp://mirror.pacific.net.au/linux/archlinux/@REPO@/os/@CARCH@
+Server = ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/@CARCH@
diff --git a/lib/libalpm/.gitignore b/lib/libalpm/.gitignore
index 09980ae6..36d41441 100644
--- a/lib/libalpm/.gitignore
+++ b/lib/libalpm/.gitignore
@@ -1,6 +1,4 @@
.deps
.libs
-Makefile
-Makefile.in
*.lo
*.la
diff --git a/lib/libalpm/Makefile.am b/lib/libalpm/Makefile.am
index 20e7203d..37053707 100644
--- a/lib/libalpm/Makefile.am
+++ b/lib/libalpm/Makefile.am
@@ -24,16 +24,13 @@ libalpm_la_SOURCES = \
handle.h handle.c \
log.h log.c \
md5.h md5.c \
- md5driver.c \
package.h package.c \
provide.h provide.c \
remove.h remove.c \
server.h server.c \
- sha1.h sha1.c \
sync.h sync.c \
trans.h trans.c \
- util.h util.c \
- versioncmp.h versioncmp.c
+ util.h util.c
libalpm_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION_INFO)
libalpm_la_LIBADD = -larchive -ldownload
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index df01cb43..98906879 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -1,11 +1,7 @@
/*
* add.c
*
- * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
- * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
- * Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
- * Copyright (c) 2006 by David Kimpe <dnaku@frugalware.org>
- * Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
+ * Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -28,9 +24,11 @@
#include <stdlib.h>
#include <errno.h>
#include <time.h>
-#include <fcntl.h>
#include <string.h>
#include <limits.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
/* libarchive */
#include <archive.h>
@@ -43,9 +41,6 @@
#include "util.h"
#include "error.h"
#include "cache.h"
-#include "versioncmp.h"
-#include "md5.h"
-#include "sha1.h"
#include "log.h"
#include "backup.h"
#include "package.h"
@@ -70,7 +65,7 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
ASSERT(name != NULL && strlen(name) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1));
- _alpm_log(PM_LOG_DEBUG, _("loading target '%s'"), name);
+ _alpm_log(PM_LOG_DEBUG, "loading target '%s'\n", name);
/* TODO FS#5120 we need a better way to check if a package is a valid package,
* and read the metadata instead of relying on the filename for package name
@@ -115,7 +110,7 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
if(strcmp(pkg->name, pkgname) == 0) {
if(_alpm_versioncmp(pkg->version, pkgver) < 0) {
pmpkg_t *newpkg;
- _alpm_log(PM_LOG_WARNING, _("replacing older version %s-%s by %s in target list"),
+ _alpm_log(PM_LOG_WARNING, _("replacing older version %s-%s by %s in target list\n"),
pkg->name, pkg->version, pkgver);
if((newpkg = _alpm_pkg_load(name)) == NULL) {
/* pm_errno is already set by pkg_load() */
@@ -124,14 +119,14 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
_alpm_pkg_free(i->data);
i->data = newpkg;
} else {
- _alpm_log(PM_LOG_WARNING, _("newer version %s-%s is in the target list -- skipping"),
+ _alpm_log(PM_LOG_WARNING, _("newer version %s-%s is in the target list -- skipping\n"),
pkg->name, pkg->version);
}
return(0);
}
}
- _alpm_log(PM_LOG_DEBUG, _("reading '%s' metadata"), pkgname);
+ _alpm_log(PM_LOG_DEBUG, "reading '%s' metadata\n", pkgname);
info = _alpm_pkg_load(name);
if(info == NULL) {
/* pm_errno is already set by pkg_load() */
@@ -181,7 +176,7 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
EVENT(trans, PM_TRANS_EVT_CHECKDEPS_START, NULL, NULL);
/* look for unsatisfied dependencies */
- _alpm_log(PM_LOG_DEBUG, _("looking for unsatisfied dependencies"));
+ _alpm_log(PM_LOG_DEBUG, "looking for unsatisfied dependencies\n");
lp = _alpm_checkdeps(db, trans->type, trans->packages);
if(lp != NULL) {
if(data) {
@@ -193,13 +188,13 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
}
/* no unsatisfied deps, so look for conflicts */
- _alpm_log(PM_LOG_DEBUG, _("looking for conflicts"));
+ _alpm_log(PM_LOG_DEBUG, "looking for conflicts\n");
lp = _alpm_checkconflicts(db, trans->packages);
for(i = lp; i; i = i->next) {
pmdepmissing_t *miss = i->data;
- _alpm_log(PM_LOG_ERROR, _("replacing packages with -A and -U is not supported yet"));
- _alpm_log(PM_LOG_ERROR, _("please remove '%s' first, using -Rd"), miss->depend.name);
+ _alpm_log(PM_LOG_ERROR, _("replacing packages with -A and -U is not supported yet\n"));
+ _alpm_log(PM_LOG_ERROR, _("please remove '%s' first, using -Rd\n"), miss->depend.name);
RET_ERR(PM_ERR_CONFLICTING_DEPS, -1);
/* Attempt to resolve conflicts */
@@ -240,7 +235,7 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
}
/* re-order w.r.t. dependencies */
- _alpm_log(PM_LOG_DEBUG, _("sorting by dependencies"));
+ _alpm_log(PM_LOG_DEBUG, "sorting by dependencies\n");
lp = _alpm_sortbydeps(trans->packages, PM_TRANS_TYPE_ADD);
/* free the old alltargs */
alpm_list_free(trans->packages);
@@ -253,7 +248,7 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
if(!(trans->flags & PM_TRANS_FLAG_FORCE)) {
EVENT(trans, PM_TRANS_EVT_FILECONFLICTS_START, NULL, NULL);
- _alpm_log(PM_LOG_DEBUG, _("looking for file conflicts"));
+ _alpm_log(PM_LOG_DEBUG, "looking for file conflicts\n");
lp = _alpm_db_find_conflicts(db, trans, handle->root);
if(lp != NULL) {
if(data) {
@@ -270,601 +265,658 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
return(0);
}
-/* TODO clean up this monster 554 line function */
-int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
-{
- int i, ret = 0, errors = 0, pkg_count = 0;
- struct archive *archive;
- struct archive_entry *entry;
- char cwd[PATH_MAX] = "";
- alpm_list_t *targ;
- const int archive_flags = ARCHIVE_EXTRACT_OWNER |
- ARCHIVE_EXTRACT_PERM |
- ARCHIVE_EXTRACT_TIME;
+static int upgrade_remove(pmpkg_t *oldpkg, pmpkg_t *newpkg, pmtrans_t *trans, pmdb_t *db) {
+ /* this is kinda odd. If the old package exists, at this point we make a
+ * NEW transaction, unrelated to handle->trans, and instantiate a "remove"
+ * with the type PM_TRANS_TYPE_REMOVEUPGRADE. TODO: kill this weird
+ * behavior. */
+ pmtrans_t *tr = _alpm_trans_new();
+ _alpm_log(PM_LOG_DEBUG, "removing old package first (%s-%s)\n",
+ oldpkg->name, oldpkg->version);
+
+ if(!tr) {
+ RET_ERR(PM_ERR_TRANS_ABORT, -1);
+ }
- ALPM_LOG_FUNC;
+ if(_alpm_trans_init(tr, PM_TRANS_TYPE_REMOVEUPGRADE, trans->flags,
+ NULL, NULL, NULL) == -1) {
+ _alpm_trans_free(tr);
+ tr = NULL;
+ RET_ERR(PM_ERR_TRANS_ABORT, -1);
+ }
- ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
- ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
+ if(_alpm_remove_loadtarget(tr, db, newpkg->name) == -1) {
+ _alpm_trans_free(tr);
+ tr = NULL;
+ RET_ERR(PM_ERR_TRANS_ABORT, -1);
+ }
- if(trans->packages == NULL) {
- return(0);
+ /* copy the remove skiplist over */
+ tr->skip_remove = alpm_list_strdup(trans->skip_remove);
+ const alpm_list_t *b;
+
+ /* Add files in the NEW package's backup array to the noupgrade array
+ * so this removal operation doesn't kill them */
+ /* TODO if we add here, all backup=() entries for all targets, new and
+ * old, we cover all bases, including backup=() locations changing hands.
+ * But is this viable? */
+ alpm_list_t *old_noupgrade = alpm_list_strdup(handle->noupgrade);
+ for(b = alpm_pkg_get_backup(newpkg); b; b = b->next) {
+ const char *backup = b->data;
+ _alpm_log(PM_LOG_DEBUG, "adding %s to the NoUpgrade array temporarily\n",
+ backup);
+ handle->noupgrade = alpm_list_add(handle->noupgrade, strdup(backup));
}
- pkg_count = alpm_list_count(trans->targets);
-
- for(targ = trans->packages; targ; targ = targ->next) {
- char scriptlet[PATH_MAX+1];
- int targ_count = 0, is_upgrade = 0, use_md5 = 0;
- double percent = 0.0;
- pmpkg_t *newpkg = (pmpkg_t *)targ->data;
- pmpkg_t *oldpkg = NULL;
- errors = 0;
+ int ret = _alpm_remove_commit(tr, db);
- if(handle->trans->state == STATE_INTERRUPTED) {
- break;
- }
+ _alpm_trans_free(tr);
+ tr = NULL;
- snprintf(scriptlet, PATH_MAX, "%s%s-%s/install", db->path,
- alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
+ /* restore our "NoUpgrade" list to previous state */
+ alpm_list_free_inner(handle->noupgrade, free);
+ alpm_list_free(handle->noupgrade);
+ handle->noupgrade = old_noupgrade;
- /* check if we have a valid sha1sum, if not, use MD5 */
- if(strlen(newpkg->sha1sum) == 0) {
- use_md5 = 1;
- }
+ if(ret == -1) {
+ RET_ERR(PM_ERR_TRANS_ABORT, -1);
+ }
- /* see if this is an upgrade. if so, remove the old package first */
- pmpkg_t *local = _alpm_db_get_pkgfromcache(db, newpkg->name);
- if(local) {
- is_upgrade = 1;
-
- EVENT(trans, PM_TRANS_EVT_UPGRADE_START, newpkg, NULL);
- _alpm_log(PM_LOG_DEBUG, _("upgrading package %s-%s"), newpkg->name, newpkg->version);
-
- /* we'll need to save some record for backup checks later */
- oldpkg = _alpm_pkg_new(local->name, local->version);
- if(oldpkg) {
- oldpkg->backup = alpm_list_strdup(alpm_pkg_get_backup(local));
- oldpkg->provides = alpm_list_strdup(alpm_pkg_get_provides(local));
- strncpy(oldpkg->name, local->name, PKG_NAME_LEN);
- strncpy(oldpkg->version, local->version, PKG_VERSION_LEN);
- } else {
- RET_ERR(PM_ERR_MEMORY, -1);
- }
+ return(0);
+}
- /* copy over the install reason */
- newpkg->reason = alpm_pkg_get_reason(local);
+static int extract_single_file(struct archive *archive,
+ struct archive_entry *entry, pmpkg_t *newpkg, pmpkg_t *oldpkg,
+ pmtrans_t *trans, pmdb_t *db)
+{
+ const char *entryname; /* the name of the file in the archive */
+ mode_t entrymode;
+ char filename[PATH_MAX]; /* the actual file we're extracting */
+ int needbackup = 0, notouch = 0;
+ char *hash_orig = NULL;
+ const int archive_flags = ARCHIVE_EXTRACT_OWNER |
+ ARCHIVE_EXTRACT_PERM |
+ ARCHIVE_EXTRACT_TIME;
+ int errors = 0;
+
+ entryname = archive_entry_pathname(entry);
+ entrymode = archive_entry_mode(entry);
+
+ memset(filename, 0, PATH_MAX); /* just to be sure */
+
+ if(strcmp(entryname, ".INSTALL") == 0) {
+ /* the install script goes inside the db */
+ snprintf(filename, PATH_MAX, "%s/%s-%s/install", db->path,
+ newpkg->name, newpkg->version);
+ } else if(strcmp(entryname, ".CHANGELOG") == 0) {
+ /* the changelog goes inside the db */
+ snprintf(filename, PATH_MAX, "%s/%s-%s/changelog", db->path,
+ newpkg->name, newpkg->version);
+ } else if(*entryname == '.') {
+ /* for now, ignore all files starting with '.' that haven't
+ * already been handled (for future possibilities) */
+ _alpm_log(PM_LOG_DEBUG, "skipping extraction of '%s'\n", entryname);
+ archive_read_data_skip(archive);
+ return(0);
+ } else {
+ /* build the new entryname relative to handle->root */
+ snprintf(filename, PATH_MAX, "%s%s", handle->root, entryname);
+ }
+
+ /* if a file is in NoExtract then we never extract it */
+ if(alpm_list_find_str(handle->noextract, entryname)) {
+ _alpm_log(PM_LOG_DEBUG, "%s is in NoExtract, skipping extraction\n",
+ entryname);
+ alpm_logaction("note: %s is in NoExtract, skipping extraction",
+ entryname);
+ archive_read_data_skip(archive);
+ return(0);
+ }
- /* pre_upgrade scriptlet */
- if(alpm_pkg_has_scriptlet(newpkg) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
- _alpm_runscriptlet(handle->root, newpkg->data, "pre_upgrade", newpkg->version, oldpkg->version, trans);
+ /* if a file is in the add skiplist we never extract it */
+ if(alpm_list_find_str(trans->skip_add, filename)) {
+ _alpm_log(PM_LOG_DEBUG, "%s is in trans->skip_add, skipping extraction\n", entryname);
+ archive_read_data_skip(archive);
+ return(0);
+ }
+
+ /* Check for file existence. This is one of the more crucial parts
+ * to get 'right'. Here are the possibilities, with the filesystem
+ * on the left and the package on the top:
+ * (F=file, N=node, S=symlink, D=dir)
+ * | F/N | S | D
+ * non-existent | 1 | 2 | 3
+ * F/N | 4 | 5 | 6
+ * S | 7 | 8 | 9
+ * D | 10 | 11 | 12
+ *
+ * 1,2,3- just extract, no magic necessary. lstat will fail here.
+ * 4,5,6,7,8- conflict checks should have caught this. either overwrite
+ * or backup the file.
+ * 9- follow the symlink, hopefully it is a directory, check it.
+ * 10- file replacing directory- don't allow it.
+ * 11- don't extract symlink- a dir exists here. we don't want links to
+ * links, etc.
+ * 12- skip extraction, dir already exists.
+ */
+ struct stat lsbuf;
+ if(lstat(filename, &lsbuf) != 0) {
+ /* cases 1,2,3: couldn't stat an existing file, skip all backup checks */
+ } else {
+ /* do a stat as well, so we can see what symlinks point to */
+ struct stat sbuf;
+ stat(filename, &sbuf);
+
+ if(S_ISDIR(lsbuf.st_mode) && S_ISDIR(entrymode)) {
+ /* case 12: existing dir, ignore it */
+ if(lsbuf.st_mode != entrymode) {
+ /* if filesystem perms are different than pkg perms, warn user */
+ int mask = 07777;
+ _alpm_log(PM_LOG_WARNING, _("directory permissions differ on %s\n"
+ "filesystem: %o package: %o"), entryname, lsbuf.st_mode & mask,
+ entrymode & mask);
+ alpm_logaction("warning: directory permissions differ on %s\n"
+ "filesystem: %o package: %o", entryname, lsbuf.st_mode & mask,
+ entrymode & mask);
}
- } else {
- is_upgrade = 0;
+ _alpm_log(PM_LOG_DEBUG, "extract: skipping dir extraction of %s\n",
+ entryname);
+ archive_read_data_skip(archive);
+ return(0);
+ } else if(S_ISDIR(lsbuf.st_mode) && S_ISLNK(entrymode)) {
+ /* case 11: existing dir, symlink in package, ignore it */
+ _alpm_log(PM_LOG_DEBUG, "extract: skipping symlink extraction of %s\n",
+ entryname);
+ archive_read_data_skip(archive);
+ return(0);
+ } else if(S_ISLNK(lsbuf.st_mode) && S_ISDIR(entrymode)) {
+ /* case 9: existing symlink, dir in package */
+ if(S_ISDIR(sbuf.st_mode)) {
+ /* the symlink on FS is to a directory, so we'll use it */
+ _alpm_log(PM_LOG_DEBUG, "extract: skipping symlink overwrite of %s\n",
+ entryname);
+ archive_read_data_skip(archive);
+ return(0);
+ } else {
+ /* this is BAD. symlink was not to a directory */
+ _alpm_log(PM_LOG_ERROR, _("extract: symlink %s does not point to dir\n"),
+ entryname);
+ archive_read_data_skip(archive);
+ return(1);
+ }
+ } else if(S_ISDIR(lsbuf.st_mode) && S_ISREG(entrymode)) {
+ /* case 10: trying to overwrite dir tree with file, don't allow it */
+ _alpm_log(PM_LOG_ERROR, _("extract: not overwriting dir with file %s\n"),
+ entryname);
+ archive_read_data_skip(archive);
+ return(1);
+ } else if(S_ISREG(lsbuf.st_mode) && S_ISDIR(entrymode)) {
+ /* case 6: trying to overwrite file with dir */
+ _alpm_log(PM_LOG_DEBUG, "extract: overwriting file with dir %s\n",
+ entryname);
+ } else if(S_ISREG(entrymode)) {
+ /* case 4,7: */
+ /* if file is in NoUpgrade, don't touch it */
+ if(alpm_list_find_str(handle->noupgrade, entryname)) {
+ notouch = 1;
+ } else {
+ /* go to the backup array and see if our conflict is there */
+ /* check newpkg first, so that adding backup files is retroactive */
+ needbackup = alpm_list_find_str(alpm_pkg_get_backup(newpkg), entryname);
+
+ /* check oldpkg for a backup entry, store the hash if available */
+ if(oldpkg) {
+ hash_orig = _alpm_needbackup(entryname, alpm_pkg_get_backup(oldpkg));
+ if(hash_orig) {
+ needbackup = 1;
+ }
+ }
- EVENT(trans, PM_TRANS_EVT_ADD_START, newpkg, NULL);
- _alpm_log(PM_LOG_DEBUG, _("adding package %s-%s"), newpkg->name, newpkg->version);
-
- /* pre_install scriptlet */
- if(alpm_pkg_has_scriptlet(newpkg) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
- _alpm_runscriptlet(handle->root, newpkg->data, "pre_install", newpkg->version, NULL, trans);
+ /* if we force hash_orig to be non-NULL retroactive backup works */
+ if(needbackup && !hash_orig) {
+ hash_orig = strdup("");
+ }
}
}
+ /* else if(S_ISLNK(entrymode)) { */
+ /* case 5,8: don't need to do anything special */
+ }
- if(oldpkg) {
- /* this is kinda odd. If the old package exists, at this point we make a
- * NEW transaction, unrelated to handle->trans, and instantiate a "remove"
- * with the type PM_TRANS_TYPE_UPGRADE. TODO: kill this weird behavior. */
- pmtrans_t *tr = _alpm_trans_new();
- _alpm_log(PM_LOG_DEBUG, _("removing old package first (%s-%s)"), oldpkg->name, oldpkg->version);
+ if(needbackup) {
+ char *tempfile = NULL;
+ char *hash_local = NULL, *hash_pkg = NULL;
+ int fd;
+
+ /* extract the package's version to a temporary file and checksum it */
+ tempfile = strdup("/tmp/alpm_XXXXXX");
+ fd = mkstemp(tempfile);
+
+ archive_entry_set_pathname(entry, tempfile);
+
+ int ret = archive_read_extract(archive, entry, archive_flags);
+ if(ret == ARCHIVE_WARN) {
+ /* operation succeeded but a non-critical error was encountered */
+ _alpm_log(PM_LOG_DEBUG, "warning extracting %s (%s)\n",
+ entryname, archive_error_string(archive));
+ } else if(ret != ARCHIVE_OK) {
+ _alpm_log(PM_LOG_ERROR, _("could not extract %s (%s)\n"),
+ entryname, archive_error_string(archive));
+ alpm_logaction("error: could not extract %s (%s)",
+ entryname, archive_error_string(archive));
+ unlink(tempfile);
+ FREE(hash_orig);
+ close(fd);
+ return(1);
+ }
- if(!tr) {
- RET_ERR(PM_ERR_TRANS_ABORT, -1);
+ hash_local = alpm_get_md5sum(filename);
+ hash_pkg = alpm_get_md5sum(tempfile);
+
+ /* append the new md5 hash to it's respective entry
+ * in newpkg's backup (it will be the new orginal) */
+ alpm_list_t *backups;
+ for(backups = alpm_pkg_get_backup(newpkg); backups;
+ backups = alpm_list_next(backups)) {
+ char *oldbackup = alpm_list_getdata(backups);
+ if(!oldbackup || strcmp(oldbackup, entryname) != 0) {
+ continue;
}
-
- if(_alpm_trans_init(tr, PM_TRANS_TYPE_UPGRADE, trans->flags, NULL, NULL, NULL) == -1) {
- _alpm_trans_free(tr);
- tr = NULL;
- RET_ERR(PM_ERR_TRANS_ABORT, -1);
+ char *backup = NULL;
+ /* length is tab char, null byte and MD5 (32 char) */
+ int backup_len = strlen(oldbackup) + 34;
+ backup = malloc(backup_len);
+ if(!backup) {
+ RET_ERR(PM_ERR_MEMORY, -1);
}
- if(_alpm_remove_loadtarget(tr, db, newpkg->name) == -1) {
- _alpm_trans_free(tr);
- tr = NULL;
- RET_ERR(PM_ERR_TRANS_ABORT, -1);
- }
+ sprintf(backup, "%s\t%s", oldbackup, hash_pkg);
+ backup[backup_len-1] = '\0';
+ FREE(oldbackup);
+ backups->data = backup;
+ }
- /* copy the remove skiplist over */
- tr->skip_remove = alpm_list_strdup(trans->skip_remove);
- const alpm_list_t *b;
-
- /* Add files in the NEW package's backup array to the noupgrade array
- * so this removal operation doesn't kill them */
- /* TODO if we add here, all backup=() entries for all targets, new and
- * old, we cover all bases, including backup=() locations changing hands.
- * But is this viable? */
- alpm_list_t *old_noupgrade = alpm_list_strdup(handle->noupgrade);
- for(b = alpm_pkg_get_backup(newpkg); b; b = b->next) {
- const char *backup = b->data;
- _alpm_log(PM_LOG_DEBUG, _("adding %s to the NoUpgrade array temporarily"), backup);
- handle->noupgrade = alpm_list_add(handle->noupgrade, strdup(backup));
- }
+ _alpm_log(PM_LOG_DEBUG, "checking hashes for %s\n", entryname);
+ _alpm_log(PM_LOG_DEBUG, "current: %s\n", hash_local);
+ _alpm_log(PM_LOG_DEBUG, "new: %s\n", hash_pkg);
+ _alpm_log(PM_LOG_DEBUG, "original: %s\n", hash_orig);
- int ret = _alpm_remove_commit(tr, db);
+ if(!oldpkg) {
+ /* looks like we have a local file that has a different hash as the
+ * file in the package, move it to a .pacorig */
+ if(strcmp(hash_local, hash_pkg) != 0) {
+ char newpath[PATH_MAX];
+ snprintf(newpath, PATH_MAX, "%s.pacorig", filename);
- _alpm_trans_free(tr);
- tr = NULL;
+ /* move the existing file to the "pacorig" */
+ if(rename(filename, newpath)) {
+ archive_entry_set_pathname(entry, filename);
+ _alpm_log(PM_LOG_ERROR, _("could not rename %s (%s)\n"), filename, strerror(errno));
+ alpm_logaction("error: could not rename %s (%s)", filename, strerror(errno));
+ errors++;
+ } else {
+ /* copy the tempfile we extracted to the real path */
+ if(_alpm_copyfile(tempfile, filename)) {
+ archive_entry_set_pathname(entry, filename);
+ _alpm_log(PM_LOG_ERROR, _("could not copy tempfile to %s (%s)\n"), filename, strerror(errno));
+ alpm_logaction("error: could not copy tempfile to %s (%s)", filename, strerror(errno));
+ errors++;
+ } else {
+ archive_entry_set_pathname(entry, filename);
+ _alpm_log(PM_LOG_WARNING, _("%s saved as %s\n"), filename, newpath);
+ alpm_logaction("warning: %s saved as %s", filename, newpath);
+ }
+ }
+ }
+ } else if(hash_orig) {
+ /* the fun part */
- /* restore our "NoUpgrade" list to previous state */
- alpm_list_free_inner(handle->noupgrade, free);
- alpm_list_free(handle->noupgrade);
- handle->noupgrade = old_noupgrade;
+ if(strcmp(hash_orig, hash_local) == 0) {
+ /* installed file has NOT been changed by user */
+ if(strcmp(hash_orig, hash_pkg) != 0) {
+ _alpm_log(PM_LOG_DEBUG, "action: installing new file: %s\n",
+ entryname);
- if(ret == -1) {
- RET_ERR(PM_ERR_TRANS_ABORT, -1);
+ if(_alpm_copyfile(tempfile, filename)) {
+ _alpm_log(PM_LOG_ERROR, _("could not copy tempfile to %s (%s)\n"), filename, strerror(errno));
+ errors++;
+ }
+ archive_entry_set_pathname(entry, filename);
+ } else {
+ /* there's no sense in installing the same file twice, install
+ * ONLY is the original and package hashes differ */
+ _alpm_log(PM_LOG_DEBUG, "action: leaving existing file in place\n");
+ }
+ } else if(strcmp(hash_orig, hash_pkg) == 0) {
+ /* originally installed file and new file are the same - this
+ * implies the case above failed - i.e. the file was changed by a
+ * user */
+ _alpm_log(PM_LOG_DEBUG, "action: leaving existing file in place\n");
+ } else if(strcmp(hash_local, hash_pkg) == 0) {
+ /* this would be magical. The above two cases failed, but the
+ * user changes just so happened to make the new file exactly the
+ * same as the one in the package... skip it */
+ _alpm_log(PM_LOG_DEBUG, "action: leaving existing file in place\n");
+ } else {
+ char newpath[PATH_MAX];
+ _alpm_log(PM_LOG_DEBUG, "action: keeping current file and installing new one with .pacnew ending\n");
+ snprintf(newpath, PATH_MAX, "%s.pacnew", filename);
+ if(_alpm_copyfile(tempfile, newpath)) {
+ _alpm_log(PM_LOG_ERROR, _("could not install %s as %s: %s\n"), filename, newpath, strerror(errno));
+ alpm_logaction("error: could not install %s as %s: %s", filename, newpath, strerror(errno));
+ } else {
+ _alpm_log(PM_LOG_WARNING, _("%s installed as %s\n"), filename, newpath);
+ alpm_logaction("warning: %s installed as %s", filename, newpath);
+ }
}
}
- if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
- _alpm_log(PM_LOG_DEBUG, _("extracting files"));
+ FREE(hash_local);
+ FREE(hash_pkg);
+ FREE(hash_orig);
+ unlink(tempfile);
+ FREE(tempfile);
+ close(fd);
+ } else {
+ /* we didn't need a backup */
+ if(notouch) {
+ /* change the path to a .pacnew extension */
+ _alpm_log(PM_LOG_DEBUG, "%s is in NoUpgrade -- skipping\n", filename);
+ _alpm_log(PM_LOG_WARNING, _("extracting %s as %s.pacnew\n"), filename, filename);
+ alpm_logaction("warning: extracting %s as %s.pacnew", filename, filename);
+ strncat(filename, ".pacnew", PATH_MAX - strlen(filename));
+ } else {
+ _alpm_log(PM_LOG_DEBUG, "extracting %s\n", filename);
+ }
- if ((archive = archive_read_new()) == NULL) {
- RET_ERR(PM_ERR_LIBARCHIVE_ERROR, -1);
- }
+ if(trans->flags & PM_TRANS_FLAG_FORCE) {
+ /* if FORCE was used, unlink() each file (whether it's there
+ * or not) before extracting. This prevents the old "Text file busy"
+ * error that crops up if forcing a glibc or pacman upgrade. */
+ unlink(filename);
+ }
- archive_read_support_compression_all(archive);
- archive_read_support_format_all(archive);
+ archive_entry_set_pathname(entry, filename);
+
+ int ret = archive_read_extract(archive, entry, archive_flags);
+ if(ret == ARCHIVE_WARN) {
+ /* operation succeeded but a non-critical error was encountered */
+ _alpm_log(PM_LOG_DEBUG, "warning extracting %s (%s)\n",
+ entryname, archive_error_string(archive));
+ } else if(ret != ARCHIVE_OK) {
+ _alpm_log(PM_LOG_ERROR, _("could not extract %s (%s)\n"),
+ entryname, archive_error_string(archive));
+ alpm_logaction("error: could not extract %s (%s)",
+ entryname, archive_error_string(archive));
+ return(1);
+ }
+
+ /* calculate an hash if this is in newpkg's backup */
+ alpm_list_t *b;
+ for(b = alpm_pkg_get_backup(newpkg); b; b = b->next) {
+ char *backup = NULL, *hash = NULL;
+ char *oldbackup = alpm_list_getdata(b);
+ /* length is tab char, null byte and MD5 (32 char) */
+ int backup_len = strlen(oldbackup) + 34;
- if(archive_read_open_file(archive, newpkg->data, ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
- RET_ERR(PM_ERR_PKG_OPEN, -1);
+ if(!oldbackup || strcmp(oldbackup, entryname) != 0) {
+ return(0);
}
+ _alpm_log(PM_LOG_DEBUG, "appending backup entry for %s\n", filename);
- /* save the cwd so we can restore it later */
- if(getcwd(cwd, PATH_MAX) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not get current working directory"));
- cwd[0] = 0;
+ hash = alpm_get_md5sum(filename);
+ backup = malloc(backup_len);
+ if(!backup) {
+ RET_ERR(PM_ERR_MEMORY, -1);
}
- /* libarchive requires this for extracting hard links */
- chdir(handle->root);
-
- targ_count = alpm_list_count(targ);
- /* call PROGRESS once with 0 percent, as we sort-of skip that here */
- PROGRESS(trans, (is_upgrade ? PM_TRANS_PROGRESS_UPGRADE_START : PM_TRANS_PROGRESS_ADD_START),
- newpkg->name, 0, pkg_count, (pkg_count - targ_count +1));
-
- for(i = 0; archive_read_next_header(archive, &entry) == ARCHIVE_OK; i++) {
- const char *entryname; /* the name of the file in the archive */
- char filename[PATH_MAX]; /* the actual file we're extracting */
- int needbackup = 0, notouch = 0;
- char *hash_orig = NULL;
- struct stat buf;
-
- entryname = archive_entry_pathname(entry);
-
- if(newpkg->size != 0) {
- /* Using compressed size for calculations here, as newpkg->isize is not
- * exact when it comes to comparing to the ACTUAL uncompressed size
- * (missing metadata sizes) */
- unsigned long pos = archive_position_compressed(archive);
- percent = (double)pos / (double)newpkg->size;
- _alpm_log(PM_LOG_DEBUG, "decompression progress: %f%% (%ld / %ld)", percent*100.0, pos, newpkg->size);
- if(percent >= 1.0) {
- percent = 1.0;
- }
- }
-
- PROGRESS(trans, (is_upgrade ? PM_TRANS_PROGRESS_UPGRADE_START : PM_TRANS_PROGRESS_ADD_START),
- newpkg->name, (int)(percent * 100), pkg_count, (pkg_count - targ_count +1));
-
- memset(filename, 0, PATH_MAX); /* just to be sure */
-
- if(strcmp(entryname, ".PKGINFO") == 0
- || strcmp(entryname, ".FILELIST") == 0) {
- archive_read_data_skip(archive);
- continue;
- } else if(strcmp(entryname, ".INSTALL") == 0) {
- /* the install script goes inside the db */
- snprintf(filename, PATH_MAX, "%s/%s-%s/install", db->path,
- newpkg->name, newpkg->version);
- } else if(strcmp(entryname, ".CHANGELOG") == 0) {
- /* the changelog goes inside the db */
- snprintf(filename, PATH_MAX, "%s/%s-%s/changelog", db->path,
- newpkg->name, newpkg->version);
- } else if(*entryname == '.') {
- /* for now, ignore all files starting with '.' that haven't
- * already been handled (for future possibilities) */
- _alpm_log(PM_LOG_DEBUG, _("skipping extraction of '%s'"), entryname);
- archive_read_data_skip(archive);
- continue;
- } else {
- /* build the new entryname relative to handle->root */
- snprintf(filename, PATH_MAX, "%s%s", handle->root, entryname);
- }
+ sprintf(backup, "%s\t%s", oldbackup, hash);
+ backup[backup_len-1] = '\0';
+ FREE(hash);
+ FREE(oldbackup);
+ b->data = backup;
+ }
+ }
+ return(errors);
+}
- /* if a file is in NoExtract then we never extract it */
- if(alpm_list_find_str(handle->noextract, entryname)) {
- _alpm_log(PM_LOG_DEBUG, _("%s is in NoExtract, skipping extraction"), entryname);
- alpm_logaction("note: %s is in NoExtract, skipping extraction", entryname);
- archive_read_data_skip(archive);
- continue;
- }
+static int commit_single_pkg(pmpkg_t *newpkg, int pkg_current, int pkg_count,
+ pmtrans_t *trans, pmdb_t *db)
+{
+ int i, ret = 0, errors = 0;
+ struct archive *archive;
+ struct archive_entry *entry;
+ char cwd[PATH_MAX] = "";
+ char scriptlet[PATH_MAX+1];
+ int is_upgrade = 0;
+ double percent = 0.0;
+ pmpkg_t *oldpkg = NULL;
+
+ snprintf(scriptlet, PATH_MAX, "%s%s-%s/install", db->path,
+ alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
+
+ /* see if this is an upgrade. if so, remove the old package first */
+ pmpkg_t *local = _alpm_db_get_pkgfromcache(db, newpkg->name);
+ if(local) {
+ is_upgrade = 1;
+
+ EVENT(trans, PM_TRANS_EVT_UPGRADE_START, newpkg, NULL);
+ _alpm_log(PM_LOG_DEBUG, "upgrading package %s-%s\n",
+ newpkg->name, newpkg->version);
+
+ /* we'll need to save some record for backup checks later */
+ oldpkg = _alpm_pkg_dup(local);
+ /* copy over the install reason (unless alldeps is set) */
+ if(trans->flags & PM_TRANS_FLAG_ALLDEPS) {
+ newpkg->reason = PM_PKG_REASON_DEPEND;
+ } else {
+ newpkg->reason = alpm_pkg_get_reason(local);
+ }
- /* if a file is in the add skiplist we never extract it */
- if(alpm_list_find_str(trans->skip_add, filename)) {
- _alpm_log(PM_LOG_DEBUG, _("%s is in trans->skip_add, skipping extraction"), entryname);
- archive_read_data_skip(archive);
- continue;
- }
+ /* pre_upgrade scriptlet */
+ if(alpm_pkg_has_scriptlet(newpkg) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
+ _alpm_runscriptlet(handle->root, newpkg->origin_data.file,
+ "pre_upgrade", newpkg->version, oldpkg->version);
+ }
+ } else {
+ is_upgrade = 0;
- /* check is file already exists */
- if(stat(filename, &buf) == 0 && !S_ISDIR(buf.st_mode)) {
- /* it does, is it a backup=() file?
- * always check the newpkg first, so when we do add a backup=() file,
- * we don't have to wait a full upgrade cycle */
- needbackup = alpm_list_find_str(alpm_pkg_get_backup(newpkg), entryname);
-
- if(is_upgrade) {
- hash_orig = _alpm_needbackup(entryname, alpm_pkg_get_backup(oldpkg));
- if(hash_orig) {
- needbackup = 1;
- }
- }
+ EVENT(trans, PM_TRANS_EVT_ADD_START, newpkg, NULL);
+ _alpm_log(PM_LOG_DEBUG, "adding package %s-%s\n",
+ newpkg->name, newpkg->version);
- /* this is kind of gross. if we force hash_orig to be non-NULL we can
- * catch the pro-active backup=() case (when the backup entry is in
- * the new package, and not the old */
- if(needbackup && !hash_orig) {
- hash_orig = strdup("");
- }
-
- /* NoUpgrade skips all this backup stuff, because it's just never
- * touched */
- if(alpm_list_find_str(handle->noupgrade, entryname)) {
- notouch = 1;
- needbackup = 0;
- }
- }
+ /* pre_install scriptlet */
+ if(alpm_pkg_has_scriptlet(newpkg) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
+ _alpm_runscriptlet(handle->root, newpkg->origin_data.file,
+ "pre_install", newpkg->version, NULL);
+ }
+ }
- if(needbackup) {
- char *tempfile = NULL;
- char *hash_local = NULL, *hash_pkg = NULL;
- int fd;
-
- /* extract the package's version to a temporary file and md5 it */
- tempfile = strdup("/tmp/alpm_XXXXXX");
- fd = mkstemp(tempfile);
-
- archive_entry_set_pathname(entry, tempfile);
-
- int ret = archive_read_extract(archive, entry, archive_flags);
- if(ret == ARCHIVE_WARN) {
- /* operation succeeded but a non-critical error was encountered */
- _alpm_log(PM_LOG_DEBUG, _("warning extracting %s (%s)"),
- entryname, archive_error_string(archive));
- } else if(ret != ARCHIVE_OK) {
- _alpm_log(PM_LOG_ERROR, _("could not extract %s (%s)"),
- entryname, archive_error_string(archive));
- alpm_logaction("error: could not extract %s (%s)",
- entryname, archive_error_string(archive));
- errors++;
- unlink(tempfile);
- FREE(hash_orig);
- close(fd);
- continue;
- }
+ if(oldpkg) {
+ /* set up fake remove transaction */
+ int ret = upgrade_remove(oldpkg, newpkg, trans, db);
+ if(ret != 0) {
+ return(ret);
+ }
+ }
- if(use_md5) {
- hash_local = _alpm_MDFile(filename);
- hash_pkg = _alpm_MDFile(tempfile);
- } else {
- hash_local = _alpm_SHAFile(filename);
- hash_pkg = _alpm_SHAFile(tempfile);
- }
+ if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
+ _alpm_log(PM_LOG_DEBUG, "extracting files\n");
- /* append the new md5 or sha1 hash to it's respective entry
- * in newpkg's backup (it will be the new orginal) */
- alpm_list_t *backups;
- for(backups = alpm_pkg_get_backup(newpkg); backups;
- backups = alpm_list_next(backups)) {
- char *oldbackup = alpm_list_getdata(backups);
- if(!oldbackup || strcmp(oldbackup, entryname) != 0) {
- continue;
- }
- char *backup = NULL;
- int backup_len = strlen(oldbackup) + 2; /* tab char and null byte */
-
- if(use_md5) {
- backup_len += 32; /* MD5s are 32 chars in length */
- } else {
- backup_len += 40; /* SHA1s are 40 chars in length */
- }
-
- backup = malloc(backup_len);
- if(!backup) {
- RET_ERR(PM_ERR_MEMORY, -1);
- }
-
- sprintf(backup, "%s\t%s", oldbackup, hash_pkg);
- backup[backup_len-1] = '\0';
- FREE(oldbackup);
- backups->data = backup;
- }
+ if ((archive = archive_read_new()) == NULL) {
+ RET_ERR(PM_ERR_LIBARCHIVE_ERROR, -1);
+ }
- if(use_md5) {
- _alpm_log(PM_LOG_DEBUG, _("checking md5 hashes for %s"), entryname);
- } else {
- _alpm_log(PM_LOG_DEBUG, _("checking sha1 hashes for %s"), entryname);
- }
- _alpm_log(PM_LOG_DEBUG, _("current: %s"), hash_local);
- _alpm_log(PM_LOG_DEBUG, _("new: %s"), hash_pkg);
- _alpm_log(PM_LOG_DEBUG, _("original: %s"), hash_orig);
-
- if(!is_upgrade) {
- /* looks like we have a local file that has a different hash as the
- * file in the package, move it to a .pacorig */
- if(strcmp(hash_local, hash_pkg) != 0) {
- char newpath[PATH_MAX];
- snprintf(newpath, PATH_MAX, "%s.pacorig", filename);
-
- /* move the existing file to the "pacorig" */
- if(rename(filename, newpath)) {
- archive_entry_set_pathname(entry, filename);
- _alpm_log(PM_LOG_ERROR, _("could not rename %s (%s)"), filename, strerror(errno));
- alpm_logaction("error: could not rename %s (%s)", filename, strerror(errno));
- errors++;
- } else {
- /* copy the tempfile we extracted to the real path */
- if(_alpm_copyfile(tempfile, filename)) {
- archive_entry_set_pathname(entry, filename);
- _alpm_log(PM_LOG_ERROR, _("could not copy tempfile to %s (%s)"), filename, strerror(errno));
- alpm_logaction("error: could not copy tempfile to %s (%s)", filename, strerror(errno));
- errors++;
- } else {
- archive_entry_set_pathname(entry, filename);
- _alpm_log(PM_LOG_WARNING, _("%s saved as %s"), filename, newpath);
- alpm_logaction("warning: %s saved as %s", filename, newpath);
- }
- }
- }
- } else if(hash_orig) {
- /* the fun part */
-
- if(strcmp(hash_orig, hash_local) == 0) {
- /* installed file has NOT been changed by user */
- if(strcmp(hash_orig, hash_pkg) != 0) {
- _alpm_log(PM_LOG_DEBUG, _("action: installing new file: %s"), entryname);
-
- if(_alpm_copyfile(tempfile, filename)) {
- _alpm_log(PM_LOG_ERROR, _("could not copy tempfile to %s (%s)"), filename, strerror(errno));
- errors++;
- }
- archive_entry_set_pathname(entry, filename);
- } else {
- /* there's no sense in installing the same file twice, install
- * ONLY is the original and package hashes differ */
- _alpm_log(PM_LOG_DEBUG, _("action: leaving existing file in place"));
- }
- } else if(strcmp(hash_orig, hash_pkg) == 0) {
- /* originally installed file and new file are the same - this
- * implies the case above failed - i.e. the file was changed by a
- * user */
- _alpm_log(PM_LOG_DEBUG, _("action: leaving existing file in place"));
- } else if(strcmp(hash_local, hash_pkg) == 0) {
- /* this would be magical. The above two cases failed, but the
- * user changes just so happened to make the new file exactly the
- * same as the one in the package... skip it */
- _alpm_log(PM_LOG_DEBUG, _("action: leaving existing file in place"));
- } else {
- char newpath[PATH_MAX];
- _alpm_log(PM_LOG_DEBUG, _("action: keeping current file and installing new one with .pacnew ending"));
- snprintf(newpath, PATH_MAX, "%s.pacnew", filename);
- if(_alpm_copyfile(tempfile, newpath)) {
- _alpm_log(PM_LOG_ERROR, _("could not install %s as %s: %s"), filename, newpath, strerror(errno));
- alpm_logaction("error: could not install %s as %s: %s", filename, newpath, strerror(errno));
- } else {
- _alpm_log(PM_LOG_WARNING, _("%s installed as %s"), filename, newpath);
- alpm_logaction("warning: %s installed as %s", filename, newpath);
- }
- }
- }
+ archive_read_support_compression_all(archive);
+ archive_read_support_format_all(archive);
- FREE(hash_local);
- FREE(hash_pkg);
- FREE(hash_orig);
- unlink(tempfile);
- FREE(tempfile);
- close(fd);
- } else { /* ! needbackup */
-
- if(notouch) {
- _alpm_log(PM_LOG_DEBUG, _("%s is in NoUpgrade -- skipping"), filename);
- _alpm_log(PM_LOG_WARNING, _("extracting %s as %s.pacnew"), filename, filename);
- alpm_logaction("warning: extracting %s as %s.pacnew", filename, filename);
- strncat(filename, ".pacnew", PATH_MAX);
- } else {
- _alpm_log(PM_LOG_DEBUG, _("extracting %s"), filename);
- }
+ if(archive_read_open_filename(archive, newpkg->origin_data.file,
+ ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
+ RET_ERR(PM_ERR_PKG_OPEN, -1);
+ }
- if(trans->flags & PM_TRANS_FLAG_FORCE) {
- /* if FORCE was used, then unlink() each file (whether it's there
- * or not) before extracting. this prevents the old "Text file busy"
- * error that crops up if one tries to --force a glibc or pacman
- * upgrade.
- */
- unlink(filename);
- }
+ /* save the cwd so we can restore it later */
+ if(getcwd(cwd, PATH_MAX) == NULL) {
+ _alpm_log(PM_LOG_ERROR, _("could not get current working directory\n"));
+ cwd[0] = 0;
+ }
- archive_entry_set_pathname(entry, filename);
+ /* libarchive requires this for extracting hard links */
+ chdir(handle->root);
- /* FS #7484
- * By default, libarchive 2.2.3 overwrites existing symlinks by directories from the archive,
- * which isn't the behavior we want.
- * This can be avoided by using the ARCHIVE_EXTRACT_NO_OVERWRITE flag, and this works
- * fine because all files where an overwrite could be needed are deleted first :
- * 1) if it's an upgrade, existing files are removed when the old pkg is removed
- * 2) if there is a file conflict, but --force is used, then files are also removed : see above
- */
- int ret = archive_read_extract(archive, entry, archive_flags | ARCHIVE_EXTRACT_NO_OVERWRITE);
- if(ret == ARCHIVE_WARN) {
- /* operation succeeded but a non-critical error was encountered */
- _alpm_log(PM_LOG_DEBUG, _("warning extracting %s (%s)"),
- entryname, archive_error_string(archive));
- } else if(ret != ARCHIVE_OK) {
- _alpm_log(PM_LOG_ERROR, _("could not extract %s (%s)"),
- entryname, archive_error_string(archive));
- alpm_logaction("error: could not extract %s (%s)",
- entryname, archive_error_string(archive));
- errors++;
- continue;
- }
+ /* call PROGRESS once with 0 percent, as we sort-of skip that here */
+ if(is_upgrade) {
+ PROGRESS(trans, PM_TRANS_PROGRESS_UPGRADE_START,
+ alpm_pkg_get_name(newpkg), 0, pkg_count, pkg_current);
+ } else {
+ PROGRESS(trans, PM_TRANS_PROGRESS_ADD_START,
+ alpm_pkg_get_name(newpkg), 0, pkg_count, pkg_current);
+ }
- /* calculate an hash if this is in newpkg's backup */
- alpm_list_t *b;
- for(b = alpm_pkg_get_backup(newpkg); b; b = b->next) {
- char *backup = NULL, *hash = NULL;
- char *oldbackup = alpm_list_getdata(b);
- int backup_len = strlen(oldbackup) + 2; /* tab char and null byte */
-
- if(!oldbackup || strcmp(oldbackup, entryname) != 0) {
- continue;
- }
- _alpm_log(PM_LOG_DEBUG, _("appending backup entry for %s"), filename);
-
- if(use_md5) {
- backup_len += 32; /* MD5s are 32 chars in length */
- hash = _alpm_MDFile(filename);
- } else {
- backup_len += 40; /* SHA1s are 40 chars in length */
- hash = _alpm_SHAFile(filename);
- }
-
- backup = malloc(backup_len);
- if(!backup) {
- RET_ERR(PM_ERR_MEMORY, -1);
- }
-
- sprintf(backup, "%s\t%s", oldbackup, hash);
- backup[backup_len-1] = '\0';
- FREE(hash);
- FREE(oldbackup);
- b->data = backup;
- }
+ for(i = 0; archive_read_next_header(archive, &entry) == ARCHIVE_OK; i++) {
+ if(newpkg->size != 0) {
+ /* Using compressed size for calculations here, as newpkg->isize is not
+ * exact when it comes to comparing to the ACTUAL uncompressed size
+ * (missing metadata sizes) */
+ unsigned long pos = archive_position_compressed(archive);
+ percent = (double)pos / (double)newpkg->size;
+ _alpm_log(PM_LOG_DEBUG, "decompression progress: %f%% (%ld / %ld)\n",
+ percent*100.0, pos, newpkg->size);
+ if(percent >= 1.0) {
+ percent = 1.0;
}
}
- archive_read_finish(archive);
- /* restore the old cwd is we have it */
- if(strlen(cwd)) {
- chdir(cwd);
+ if(is_upgrade) {
+ PROGRESS(trans, PM_TRANS_PROGRESS_UPGRADE_START,
+ alpm_pkg_get_name(newpkg), (int)(percent * 100), pkg_count,
+ pkg_current);
+ } else {
+ PROGRESS(trans, PM_TRANS_PROGRESS_ADD_START,
+ alpm_pkg_get_name(newpkg), (int)(percent * 100), pkg_count,
+ pkg_current);
}
- if(errors) {
- ret = 1;
- if(is_upgrade) {
- _alpm_log(PM_LOG_ERROR, _("problem occurred while upgrading %s"),
- newpkg->name);
- alpm_logaction("error: problem occurred while upgrading %s",
- newpkg->name);
- } else {
- _alpm_log(PM_LOG_ERROR, _("problem occurred while installing %s"),
- newpkg->name);
- alpm_logaction("error: problem occurred while installing %s",
- newpkg->name);
- }
- }
+ /* extract the next file from the archive */
+ errors += extract_single_file(archive, entry, newpkg, oldpkg,
+ trans, db);
}
+ archive_read_finish(archive);
- /* Update the requiredby field by scanning the whole database
- * looking for packages depending on the package to add */
- _alpm_pkg_update_requiredby(newpkg);
-
- /* special case: if our provides list has changed from oldpkg to newpkg AND
- * we get here, we need to make sure we find the actual provision that
- * still satisfies this case, and update its 'requiredby' field... ugh */
- alpm_list_t *provdiff, *prov;
- provdiff = alpm_list_diff(alpm_pkg_get_provides(oldpkg),
- alpm_pkg_get_provides(newpkg),
- _alpm_str_cmp);
- for(prov = provdiff; prov; prov = prov->next) {
- const char *provname = prov->data;
- _alpm_log(PM_LOG_DEBUG, _("provision '%s' has been removed from package %s (%s => %s)"),
- provname, alpm_pkg_get_name(oldpkg),
- alpm_pkg_get_version(oldpkg), alpm_pkg_get_version(newpkg));
-
- alpm_list_t *p = _alpm_db_whatprovides(handle->db_local, provname);
- if(p) {
- /* we now have all the provisions in the local DB for this virtual
- * package... seeing as we can't really determine which is the 'correct'
- * provision, we'll use the FIRST for now.
- * TODO figure out a way to find a "correct" provision */
- pmpkg_t *provpkg = p->data;
- const char *pkgname = alpm_pkg_get_name(provpkg);
- _alpm_log(PM_LOG_DEBUG, _("updating '%s' due to provision change (%s)"), pkgname, provname);
- _alpm_pkg_update_requiredby(provpkg);
-
- if(_alpm_db_write(db, provpkg, INFRQ_DEPENDS)) {
- _alpm_log(PM_LOG_ERROR, _("could not update provision '%s' from '%s'"), provname, pkgname);
- alpm_logaction("error: could not update provision '%s' from '%s'",
- provname, pkgname);
- RET_ERR(PM_ERR_DB_WRITE, -1);
- }
- }
- }
- alpm_list_free(provdiff);
-
- /* make an install date (in UTC) */
- time_t t = time(NULL);
- strncpy(newpkg->installdate, asctime(gmtime(&t)), PKG_DATE_LEN);
- /* remove the extra line feed appended by asctime() */
- newpkg->installdate[strlen(newpkg->installdate)-1] = 0;
-
- _alpm_log(PM_LOG_DEBUG, _("updating database"));
- _alpm_log(PM_LOG_DEBUG, _("adding database entry '%s'"), newpkg->name);
-
- if(_alpm_db_write(db, newpkg, INFRQ_ALL)) {
- _alpm_log(PM_LOG_ERROR, _("could not update database entry %s-%s"),
- alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
- alpm_logaction("error: could not update database entry %s-%s",
- alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
- RET_ERR(PM_ERR_DB_WRITE, -1);
- }
-
- if(_alpm_db_add_pkgincache(db, newpkg) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not add entry '%s' in cache"),
- alpm_pkg_get_name(newpkg));
+ /* restore the old cwd is we have it */
+ if(strlen(cwd)) {
+ chdir(cwd);
}
- /* update dependency packages' REQUIREDBY fields */
- _alpm_trans_update_depends(trans, newpkg);
-
- PROGRESS(trans, (is_upgrade ? PM_TRANS_PROGRESS_UPGRADE_START : PM_TRANS_PROGRESS_ADD_START),
- alpm_pkg_get_name(newpkg), 100, pkg_count, (pkg_count - targ_count +1));
- EVENT(trans, PM_TRANS_EVT_EXTRACT_DONE, NULL, NULL);
-
- /* run the post-install script if it exists */
- if(alpm_pkg_has_scriptlet(newpkg) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
+ if(errors) {
+ ret = 1;
if(is_upgrade) {
- _alpm_runscriptlet(handle->root, scriptlet, "post_upgrade",
- alpm_pkg_get_version(newpkg), oldpkg ? alpm_pkg_get_version(oldpkg) : NULL,
- trans);
+ _alpm_log(PM_LOG_ERROR, _("problem occurred while upgrading %s\n"),
+ newpkg->name);
+ alpm_logaction("error: problem occurred while upgrading %s",
+ newpkg->name);
} else {
- _alpm_runscriptlet(handle->root, scriptlet, "post_install",
- alpm_pkg_get_version(newpkg), NULL, trans);
+ _alpm_log(PM_LOG_ERROR, _("problem occurred while installing %s\n"),
+ newpkg->name);
+ alpm_logaction("error: problem occurred while installing %s",
+ newpkg->name);
}
}
+ }
- EVENT(trans, (is_upgrade) ? PM_TRANS_EVT_UPGRADE_DONE : PM_TRANS_EVT_ADD_DONE, newpkg, oldpkg);
+ /* Update the requiredby field by scanning the whole database
+ * looking for packages depending on the package to add */
+ _alpm_pkg_update_requiredby(newpkg);
+
+ /* make an install date (in UTC) */
+ time_t t = time(NULL);
+ strncpy(newpkg->installdate, asctime(gmtime(&t)), PKG_DATE_LEN);
+ /* remove the extra line feed appended by asctime() */
+ newpkg->installdate[strlen(newpkg->installdate)-1] = 0;
+
+ _alpm_log(PM_LOG_DEBUG, "updating database\n");
+ _alpm_log(PM_LOG_DEBUG, "adding database entry '%s'\n", newpkg->name);
+
+ if(_alpm_db_write(db, newpkg, INFRQ_ALL)) {
+ _alpm_log(PM_LOG_ERROR, _("could not update database entry %s-%s\n"),
+ alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
+ alpm_logaction("error: could not update database entry %s-%s",
+ alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
+ RET_ERR(PM_ERR_DB_WRITE, -1);
+ }
- _alpm_pkg_free(oldpkg);
+ if(_alpm_db_add_pkgincache(db, newpkg) == -1) {
+ _alpm_log(PM_LOG_ERROR, _("could not add entry '%s' in cache\n"),
+ alpm_pkg_get_name(newpkg));
}
- /* run ldconfig if it exists */
- if(handle->trans->state != STATE_INTERRUPTED) {
- _alpm_log(PM_LOG_DEBUG, _("running \"ldconfig -r %s\""), handle->root);
- _alpm_ldconfig(handle->root);
+ /* update dependency packages' REQUIREDBY fields */
+ _alpm_trans_update_depends(trans, newpkg);
+
+ if(is_upgrade) {
+ PROGRESS(trans, PM_TRANS_PROGRESS_UPGRADE_START,
+ alpm_pkg_get_name(newpkg), 100, pkg_count, pkg_current);
+ } else {
+ PROGRESS(trans, PM_TRANS_PROGRESS_ADD_START,
+ alpm_pkg_get_name(newpkg), 100, pkg_count, pkg_current);
+ }
+ EVENT(trans, PM_TRANS_EVT_EXTRACT_DONE, NULL, NULL);
+
+ /* run the post-install script if it exists */
+ if(alpm_pkg_has_scriptlet(newpkg)
+ && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
+ if(is_upgrade) {
+ _alpm_runscriptlet(handle->root, scriptlet, "post_upgrade",
+ alpm_pkg_get_version(newpkg),
+ oldpkg ? alpm_pkg_get_version(oldpkg) : NULL);
+ } else {
+ _alpm_runscriptlet(handle->root, scriptlet, "post_install",
+ alpm_pkg_get_version(newpkg), NULL);
+ }
+ }
+
+ if(is_upgrade) {
+ EVENT(trans, PM_TRANS_EVT_UPGRADE_DONE, newpkg, oldpkg);
+ } else {
+ EVENT(trans, PM_TRANS_EVT_ADD_DONE, newpkg, oldpkg);
+ }
+
+ _alpm_pkg_free(oldpkg);
+
+ return(0);
+}
+
+int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
+{
+ int pkg_count, pkg_current;
+ alpm_list_t *targ;
+
+ ALPM_LOG_FUNC;
+
+ ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
+ ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
+
+ if(trans->packages == NULL) {
+ return(0);
}
+ pkg_count = alpm_list_count(trans->targets);
+ pkg_current = 1;
+
+ /* loop through our package list adding/upgrading one at a time */
+ for(targ = trans->packages; targ; targ = targ->next) {
+ if(handle->trans->state == STATE_INTERRUPTED) {
+ return(0);
+ }
+
+ pmpkg_t *newpkg = (pmpkg_t *)targ->data;
+ commit_single_pkg(newpkg, pkg_current, pkg_count, trans, db);
+ pkg_current++;
+ }
+
+ /* run ldconfig if it exists */
+ _alpm_log(PM_LOG_DEBUG, "running \"ldconfig -r %s\"\n", handle->root);
+ _alpm_ldconfig(handle->root);
+
return(0);
}
diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c
index 11d00d4d..20d4a746 100644
--- a/lib/libalpm/alpm.c
+++ b/lib/libalpm/alpm.c
@@ -62,23 +62,12 @@ int SYMEXPORT alpm_initialize(void)
*/
int SYMEXPORT alpm_release(void)
{
- int dbs_left = 0;
-
ALPM_LOG_FUNC;
ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
- /* close local database */
- if(handle->db_local) {
- alpm_db_unregister(handle->db_local);
- handle->db_local = NULL;
- }
- /* and also sync ones */
- while((dbs_left = alpm_list_count(handle->dbs_sync)) > 0) {
- pmdb_t *db = (pmdb_t *)handle->dbs_sync->data;
- _alpm_log(PM_LOG_DEBUG, _("removing DB %s, %d remaining..."), db->treename, dbs_left);
- alpm_db_unregister(db);
- db = NULL;
+ if(alpm_db_unregister_all() == -1) {
+ return(-1);
}
_alpm_handle_free(handle);
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index a7fcb5c2..4a44cc76 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -31,6 +31,8 @@ extern "C" {
#include <time.h> /* for time_t */
#include <stdarg.h> /* for va_list */
+#define DEPRECATED __attribute__((deprecated))
+
/*
* Arch Linux Package Management library
*/
@@ -93,17 +95,17 @@ alpm_cb_download alpm_option_get_dlcb();
void alpm_option_set_dlcb(alpm_cb_download cb);
const char *alpm_option_get_root();
-void alpm_option_set_root(const char *root);
+int alpm_option_set_root(const char *root);
const char *alpm_option_get_dbpath();
-void alpm_option_set_dbpath(const char *dbpath);
+int alpm_option_set_dbpath(const char *dbpath);
alpm_list_t *alpm_option_get_cachedirs();
-void alpm_option_add_cachedir(const char *cachedir);
+int alpm_option_add_cachedir(const char *cachedir);
void alpm_option_set_cachedirs(alpm_list_t *cachedirs);
const char *alpm_option_get_logfile();
-void alpm_option_set_logfile(const char *logfile);
+int alpm_option_set_logfile(const char *logfile);
const char *alpm_option_get_lockfile();
/* no set_lockfile, path is determined from dbpath */
@@ -143,8 +145,11 @@ alpm_list_t *alpm_option_get_syncdbs();
* Databases
*/
-pmdb_t *alpm_db_register(const char *treename);
+/* Preferred interfaces db_register_local and db_register_sync */
+pmdb_t *alpm_db_register_local(void);
+pmdb_t *alpm_db_register_sync(const char *treename);
int alpm_db_unregister(pmdb_t *db);
+int alpm_db_unregister_all(void);
const char *alpm_db_get_name(const pmdb_t *db);
const char *alpm_db_get_url(const pmdb_t *db);
@@ -159,10 +164,9 @@ alpm_list_t *alpm_db_whatprovides(pmdb_t *db, const char *name);
pmgrp_t *alpm_db_readgrp(pmdb_t *db, const char *name);
alpm_list_t *alpm_db_getgrpcache(pmdb_t *db);
-alpm_list_t *alpm_db_test(pmdb_t *db);
alpm_list_t *alpm_db_search(pmdb_t *db, const alpm_list_t* needles);
-alpm_list_t *alpm_db_get_upgrades();
+alpm_list_t *alpm_db_get_upgrades(void);
/*
* Packages
@@ -187,10 +191,10 @@ typedef enum _pmpkghasarch_t {
int alpm_pkg_load(const char *filename, pmpkg_t **pkg);
int alpm_pkg_free(pmpkg_t *pkg);
int alpm_pkg_checkmd5sum(pmpkg_t *pkg);
-int alpm_pkg_checksha1sum(pmpkg_t *pkg);
char *alpm_fetch_pkgurl(const char *url);
int alpm_pkg_vercmp(const char *ver1, const char *ver2);
char *alpm_pkg_name_hasarch(const char *pkgname);
+alpm_list_t *alpm_pkg_compute_requiredby(pmpkg_t *pkg);
const char *alpm_pkg_get_filename(pmpkg_t *pkg);
const char *alpm_pkg_get_name(pmpkg_t *pkg);
@@ -202,7 +206,6 @@ const char *alpm_pkg_get_buildtype(pmpkg_t *pkg);
const char *alpm_pkg_get_installdate(pmpkg_t *pkg);
const char *alpm_pkg_get_packager(pmpkg_t *pkg);
const char *alpm_pkg_get_md5sum(pmpkg_t *pkg);
-const char *alpm_pkg_get_sha1sum(pmpkg_t *pkg);
const char *alpm_pkg_get_arch(pmpkg_t *pkg);
unsigned long alpm_pkg_get_size(pmpkg_t *pkg);
unsigned long alpm_pkg_get_isize(pmpkg_t *pkg);
@@ -247,6 +250,7 @@ void *alpm_sync_get_data(const pmsyncpkg_t *sync);
typedef enum _pmtranstype_t {
PM_TRANS_TYPE_ADD = 1,
PM_TRANS_TYPE_REMOVE,
+ PM_TRANS_TYPE_REMOVEUPGRADE,
PM_TRANS_TYPE_UPGRADE,
PM_TRANS_TYPE_SYNC
} pmtranstype_t;
@@ -331,6 +335,7 @@ int alpm_trans_sysupgrade(void);
int alpm_trans_addtarget(char *target);
int alpm_trans_prepare(alpm_list_t **data);
int alpm_trans_commit(alpm_list_t **data);
+int alpm_trans_interrupt(void);
int alpm_trans_release(void);
/*
@@ -351,12 +356,16 @@ typedef enum _pmdeptype_t {
pmdepend_t *alpm_splitdep(const char *depstring);
int alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
+alpm_list_t *alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
+ alpm_list_t *packages);
+
+const char *alpm_miss_get_target(pmdepmissing_t *miss);
+pmdeptype_t alpm_miss_get_type(pmdepmissing_t *miss);
+pmdepend_t *alpm_miss_get_dep(pmdepmissing_t *miss);
-const char *alpm_dep_get_target(pmdepmissing_t *miss);
-pmdeptype_t alpm_dep_get_type(pmdepmissing_t *miss);
-pmdepmod_t alpm_dep_get_mod(pmdepmissing_t *miss);
-const char *alpm_dep_get_name(pmdepmissing_t *miss);
-const char *alpm_dep_get_version(pmdepmissing_t *miss);
+pmdepmod_t alpm_dep_get_mod(pmdepend_t *dep);
+const char *alpm_dep_get_name(pmdepend_t *dep);
+const char *alpm_dep_get_version(pmdepend_t *dep);
/*
* File conflicts
@@ -377,8 +386,7 @@ const char *alpm_conflict_get_ctarget(pmconflict_t *conflict);
*/
/* checksums */
-char *alpm_get_md5sum(char *name);
-char *alpm_get_sha1sum(char *name);
+char *alpm_get_md5sum(const char *name);
/*
* Errors
@@ -388,6 +396,7 @@ enum _pmerrno_t {
PM_ERR_SYSTEM,
PM_ERR_BADPERMS,
PM_ERR_NOT_A_FILE,
+ PM_ERR_NOT_A_DIR,
PM_ERR_WRONG_ARGS,
/* Interface */
PM_ERR_HANDLE_NULL,
@@ -452,6 +461,7 @@ enum _pmerrno_t {
extern enum _pmerrno_t pm_errno;
const char *alpm_strerror(int err);
+const char *alpm_strerrorlast(void);
#ifdef __cplusplus
}
diff --git a/lib/libalpm/alpm_list.c b/lib/libalpm/alpm_list.c
index cd99f596..5671b4a2 100644
--- a/lib/libalpm/alpm_list.c
+++ b/lib/libalpm/alpm_list.c
@@ -46,7 +46,7 @@
*
* @return a new alpm_list_t item, or NULL on failure
*/
-alpm_list_t *alpm_list_new()
+alpm_list_t SYMEXPORT *alpm_list_new()
{
alpm_list_t *list = NULL;
@@ -143,7 +143,7 @@ alpm_list_t SYMEXPORT *alpm_list_add(alpm_list_t *list, void *data)
*
* @return the resultant list
*/
-alpm_list_t *alpm_list_add_sorted(alpm_list_t *list, void *data, alpm_list_fn_cmp fn)
+alpm_list_t SYMEXPORT *alpm_list_add_sorted(alpm_list_t *list, void *data, alpm_list_fn_cmp fn)
{
if(!fn) {
return alpm_list_add(list, data);
@@ -187,7 +187,7 @@ alpm_list_t *alpm_list_add_sorted(alpm_list_t *list, void *data, alpm_list_fn_cm
*
* @return the resultant list
*/
-alpm_list_t *alpm_list_mmerge(alpm_list_t *left, alpm_list_t *right, alpm_list_fn_cmp fn)
+alpm_list_t SYMEXPORT *alpm_list_mmerge(alpm_list_t *left, alpm_list_t *right, alpm_list_fn_cmp fn)
{
alpm_list_t *newlist, *lp;
@@ -242,7 +242,7 @@ alpm_list_t *alpm_list_mmerge(alpm_list_t *left, alpm_list_t *right, alpm_list_f
*
* @return the resultant list
*/
-alpm_list_t* alpm_list_msort(alpm_list_t *list, int n, alpm_list_fn_cmp fn)
+alpm_list_t SYMEXPORT *alpm_list_msort(alpm_list_t *list, int n, alpm_list_fn_cmp fn)
{
if (n > 1) {
alpm_list_t *left = list;
@@ -268,7 +268,7 @@ alpm_list_t* alpm_list_msort(alpm_list_t *list, int n, alpm_list_fn_cmp fn)
*
* @return the resultant list
*/
-alpm_list_t *alpm_list_remove(alpm_list_t *haystack, const void *needle, alpm_list_fn_cmp fn, void **data)
+alpm_list_t SYMEXPORT *alpm_list_remove(alpm_list_t *haystack, const void *needle, alpm_list_fn_cmp fn, void **data)
{ /* TODO I modified this to remove ALL matching items. Do we need a remove_first? */
alpm_list_t *i = haystack, *tmp = NULL;
@@ -316,7 +316,7 @@ alpm_list_t *alpm_list_remove(alpm_list_t *haystack, const void *needle, alpm_li
*
* @return the node which took the place of this one
*/
-alpm_list_t *alpm_list_remove_node(alpm_list_t *node)
+alpm_list_t SYMEXPORT *alpm_list_remove_node(alpm_list_t *node)
{
if(!node) return(NULL);
@@ -367,7 +367,7 @@ alpm_list_t SYMEXPORT *alpm_list_remove_dupes(const alpm_list_t *list)
*
* @return a copy of the original list
*/
-alpm_list_t *alpm_list_strdup(const alpm_list_t *list)
+alpm_list_t SYMEXPORT *alpm_list_strdup(const alpm_list_t *list)
{
const alpm_list_t *lp = list;
alpm_list_t *newlist = NULL;
@@ -385,7 +385,7 @@ alpm_list_t *alpm_list_strdup(const alpm_list_t *list)
*
* @return a new list in reverse order
*/
-alpm_list_t *alpm_list_reverse(alpm_list_t *list)
+alpm_list_t SYMEXPORT *alpm_list_reverse(alpm_list_t *list)
{ /* TODO any invalid free's from NOT duplicating data here? */
alpm_list_t *lp, *newlist = NULL;
@@ -419,7 +419,7 @@ inline alpm_list_t SYMEXPORT *alpm_list_first(const alpm_list_t *list)
*
* @return an alpm_list_t node for index `n`
*/
-alpm_list_t *alpm_list_nth(const alpm_list_t *list, int n)
+alpm_list_t SYMEXPORT *alpm_list_nth(const alpm_list_t *list, int n)
{
const alpm_list_t *i = list;
while(n--) {
@@ -447,7 +447,7 @@ inline alpm_list_t SYMEXPORT *alpm_list_next(const alpm_list_t *node)
*
* @return the last element in the list
*/
-alpm_list_t *alpm_list_last(const alpm_list_t *list)
+alpm_list_t SYMEXPORT *alpm_list_last(const alpm_list_t *list)
{
const alpm_list_t *i = list;
while(i && i->next) {
@@ -545,7 +545,7 @@ int SYMEXPORT alpm_list_find_str(const alpm_list_t *haystack, const char *needle
*
* @return a list containing all items in `lhs` not present in `rhs`
*/
-alpm_list_t *alpm_list_diff(const alpm_list_t *lhs,
+alpm_list_t SYMEXPORT *alpm_list_diff(const alpm_list_t *lhs,
const alpm_list_t *rhs, alpm_list_fn_cmp fn)
{
const alpm_list_t *i, *j;
diff --git a/lib/libalpm/backup.c b/lib/libalpm/backup.c
index ffd45086..9cdb7940 100644
--- a/lib/libalpm/backup.c
+++ b/lib/libalpm/backup.c
@@ -34,7 +34,7 @@
#include "util.h"
/* Look for a filename in a pmpkg_t.backup list. If we find it,
- * then we return the md5 or sha1 hash (parsed from the same line)
+ * then we return the md5 hash (parsed from the same line)
*/
char *_alpm_needbackup(const char *file, const alpm_list_t *backup)
{
@@ -46,7 +46,7 @@ char *_alpm_needbackup(const char *file, const alpm_list_t *backup)
return(NULL);
}
- /* run through the backup list and parse out the md5 or sha1 hash for our file */
+ /* run through the backup list and parse out the md5 hash for our file */
for(lp = backup; lp; lp = lp->next) {
char *str = strdup(lp->data);
char *ptr;
@@ -59,7 +59,7 @@ char *_alpm_needbackup(const char *file, const alpm_list_t *backup)
}
*ptr = '\0';
ptr++;
- /* now str points to the filename and ptr points to the md5 or sha1 hash */
+ /* now str points to the filename and ptr points to the md5 hash */
if(strcmp(file, str) == 0) {
char *hash = strdup(ptr);
FREE(str);
diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c
index 83b6072c..8998f678 100644
--- a/lib/libalpm/be_files.c
+++ b/lib/libalpm/be_files.c
@@ -27,9 +27,6 @@
#include <stdlib.h>
#include <errno.h>
#include <string.h>
-#ifdef __sun__
-#include <strings.h>
-#endif
#include <sys/stat.h>
#include <dirent.h>
#ifdef CYGWIN
@@ -56,7 +53,7 @@ int _alpm_db_install(pmdb_t *db, const char *dbfile)
/* TODO we should not simply unpack the archive, but better parse it and
* db_write each entry (see sync_load_dbarchive to get archive content) */
- _alpm_log(PM_LOG_DEBUG, _("unpacking database '%s'"), dbfile);
+ _alpm_log(PM_LOG_DEBUG, "unpacking database '%s'\n", dbfile);
if(_alpm_unpack(dbfile, db->path, NULL)) {
RET_ERR(PM_ERR_SYSTEM, -1);
@@ -65,38 +62,6 @@ int _alpm_db_install(pmdb_t *db, const char *dbfile)
return unlink(dbfile);
}
-alpm_list_t *_alpm_db_test(pmdb_t *db)
-{
- struct dirent *ent;
- char path[PATH_MAX];
- char text[PATH_MAX+1];
- struct stat buf;
- alpm_list_t *ret = NULL;
-
- while ((ent = readdir(db->handle)) != NULL) {
- if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) {
- continue;
- }
- /* check for desc, depends, and files */
- snprintf(path, PATH_MAX, "%s/%s/desc", db->path, ent->d_name);
- if(stat(path, &buf)) {
- snprintf(text, PATH_MAX, _("%s: description file is missing"), ent->d_name);
- ret = alpm_list_add(ret, strdup(text));
- }
- snprintf(path, PATH_MAX, "%s/%s/depends", db->path, ent->d_name);
- if(stat(path, &buf)) {
- snprintf(text, PATH_MAX, _("%s: dependency file is missing"), ent->d_name);
- ret = alpm_list_add(ret, strdup(text));
- }
- snprintf(path, PATH_MAX, "%s/%s/files", db->path, ent->d_name);
- if(stat(path, &buf)) {
- snprintf(text, PATH_MAX, _("%s: file list is missing"), ent->d_name);
- ret = alpm_list_add(ret, strdup(text));
- }
- }
- return(ret);
-}
-
int _alpm_db_open(pmdb_t *db)
{
ALPM_LOG_FUNC;
@@ -105,7 +70,7 @@ int _alpm_db_open(pmdb_t *db)
RET_ERR(PM_ERR_DB_NULL, -1);
}
- _alpm_log(PM_LOG_DEBUG, _("opening database from path '%s'"), db->path);
+ _alpm_log(PM_LOG_DEBUG, "opening database from path '%s'\n", db->path);
db->handle = opendir(db->path);
if(db->handle == NULL) {
RET_ERR(PM_ERR_DB_OPEN, -1);
@@ -209,11 +174,11 @@ pmpkg_t *_alpm_db_scan(pmdb_t *db, const char *target)
pkg = _alpm_pkg_new(NULL, NULL);
if(pkg == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("db scan could not find package: %s"), target);
+ _alpm_log(PM_LOG_DEBUG, "db scan could not find package: %s\n", target);
return(NULL);
}
if(_alpm_pkg_splitname(ent->d_name, pkg->name, pkg->version, 0) == -1) {
- _alpm_log(PM_LOG_ERROR, _("invalid name for database entry '%s'"), ent->d_name);
+ _alpm_log(PM_LOG_ERROR, _("invalid name for database entry '%s'\n"), ent->d_name);
alpm_pkg_free(pkg);
pkg = NULL;
continue;
@@ -224,8 +189,8 @@ pmpkg_t *_alpm_db_scan(pmdb_t *db, const char *target)
/* TODO removed corrupt entry from the FS here */
_alpm_pkg_free(pkg);
} else {
- pkg->data = db;
pkg->origin = PKG_FROM_CACHE;
+ pkg->origin_data.db = db;
}
}
@@ -238,10 +203,6 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
struct stat buf;
char path[PATH_MAX+1];
char line[513];
- /*
- alpm_list_t *tmplist;
- char *locale;
- */
ALPM_LOG_FUNC;
@@ -250,12 +211,12 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
}
if(info == NULL || info->name[0] == 0 || info->version[0] == 0) {
- _alpm_log(PM_LOG_DEBUG, _("invalid package entry provided to _alpm_db_read, skipping"));
+ _alpm_log(PM_LOG_DEBUG, "invalid package entry provided to _alpm_db_read, skipping\n");
return(-1);
}
if(info->origin == PKG_FROM_FILE) {
- _alpm_log(PM_LOG_DEBUG, _("request to read database info for a file-based package '%s', skipping..."), info->name);
+ _alpm_log(PM_LOG_DEBUG, "request to read database info for a file-based package '%s', skipping...\n", info->name);
return(-1);
}
@@ -268,7 +229,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
/* already loaded this info, do nothing */
return(0);
}
- _alpm_log(PM_LOG_FUNCTION, _("loading package data for %s : level=%d"), info->name, inforeq);
+ _alpm_log(PM_LOG_FUNCTION, _("loading package data for %s : level=%d\n"), info->name, inforeq);
/* clear out 'line', to be certain - and to make valgrind happy */
memset(line, 0, 513);
@@ -276,7 +237,8 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
snprintf(path, PATH_MAX, "%s/%s-%s", db->path, info->name, info->version);
if(stat(path, &buf)) {
/* directory doesn't exist or can't be opened */
- _alpm_log(PM_LOG_DEBUG, _("cannot find '%s-%s' in db '%s'"), info->name, info->version, db->treename);
+ _alpm_log(PM_LOG_DEBUG, "cannot find '%s-%s' in db '%s'\n",
+ info->name, info->version, db->treename);
return(-1);
}
@@ -284,7 +246,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
if(inforeq & INFRQ_DESC) {
snprintf(path, PATH_MAX, "%s/%s-%s/desc", db->path, info->name, info->version);
if((fp = fopen(path, "r")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s"), path, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s\n"), path, strerror(errno));
goto error;
}
while(!feof(fp)) {
@@ -305,32 +267,6 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
if(fgets(info->desc, sizeof(info->desc), fp) == NULL) {
goto error;
}
- /*
- while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
- info->desc_localized = alpm_list_add(info->desc_localized, strdup(line));
- PKG_
- }
-
- if((locale = setlocale(LC_ALL, "")) == NULL) { //To fix segfault when locale invalid
- setenv("LC_ALL", "C", 1);
- locale = setlocale(LC_ALL, "");
- }
-
- if(info->desc_localized && !info->desc_localized->next) {
- snprintf(info->desc, 512, "%s", (char*)info->desc_localized->data);
- } else {
- for (tmplist = info->desc_localized; tmplist; tmplist = tmplist->next) {
- if (tmplist->data && strncmp(tmplist->data, locale, strlen(locale))) {
- strncpy(info->desc, (char *)info->desc_localized->data, sizeof(info->desc));
- } else {
- char *p = (char *)tmplist->data;
- p += strlen(locale) + 1;
- strncpy(info->desc, p, sizeof(info->desc));
- break;
- }
- }
- }
- */
_alpm_strtrim(info->desc);
} else if(!strcmp(line, "%GROUPS%")) {
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
@@ -355,11 +291,6 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
goto error;
}
_alpm_strtrim(info->builddate);
- } else if(!strcmp(line, "%BUILDTYPE%")) {
- if(fgets(info->buildtype, sizeof(info->buildtype), fp) == NULL) {
- goto error;
- }
- _alpm_strtrim(info->buildtype);
} else if(!strcmp(line, "%INSTALLDATE%")) {
if(fgets(info->installdate, sizeof(info->installdate), fp) == NULL) {
goto error;
@@ -398,12 +329,6 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
}
_alpm_strtrim(tmp);
info->isize = atol(tmp);
- } else if(!strcmp(line, "%SHA1SUM%")) {
- /* SHA1SUM tag only appears in sync repositories,
- * not the local one. */
- if(fgets(info->sha1sum, sizeof(info->sha1sum), fp) == NULL) {
- goto error;
- }
} else if(!strcmp(line, "%MD5SUM%")) {
/* MD5SUM tag only appears in sync repositories,
* not the local one. */
@@ -430,7 +355,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
if(inforeq & INFRQ_FILES) {
snprintf(path, PATH_MAX, "%s/%s-%s/files", db->path, info->name, info->version);
if((fp = fopen(path, "r")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s"), path, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s\n"), path, strerror(errno));
goto error;
}
while(fgets(line, 256, fp)) {
@@ -453,7 +378,7 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
if(inforeq & INFRQ_DEPENDS) {
snprintf(path, PATH_MAX, "%s/%s-%s/depends", db->path, info->name, info->version);
if((fp = fopen(path, "r")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s"), path, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s\n"), path, strerror(errno));
goto error;
}
while(!feof(fp)) {
@@ -541,22 +466,17 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
/* DESC */
if(inforeq & INFRQ_DESC) {
- _alpm_log(PM_LOG_DEBUG, _("writing %s-%s DESC information back to db"), info->name, info->version);
+ _alpm_log(PM_LOG_DEBUG, "writing %s-%s DESC information back to db\n",
+ info->name, info->version);
snprintf(path, PATH_MAX, "%s/%s-%s/desc", db->path, info->name, info->version);
if((fp = fopen(path, "w")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s"), path, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s\n"), path, strerror(errno));
retval = -1;
goto cleanup;
}
fprintf(fp, "%%NAME%%\n%s\n\n"
"%%VERSION%%\n%s\n\n", info->name, info->version);
if(info->desc[0]) {
- /*fputs("%DESC%\n", fp);
- for(lp = info->desc_localized; lp; lp = lp->next) {
- fprintf(fp, "%s\n", (char *)lp->data);
- }
- fprintf(fp, "\n");
- */
fprintf(fp, "%%DESC%%\n"
"%s\n\n", info->desc);
}
@@ -587,10 +507,6 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
fprintf(fp, "%%BUILDDATE%%\n"
"%s\n\n", info->builddate);
}
- if(info->buildtype[0]) {
- fprintf(fp, "%%BUILDTYPE%%\n"
- "%s\n\n", info->buildtype);
- }
if(info->installdate[0]) {
fprintf(fp, "%%INSTALLDATE%%\n"
"%s\n\n", info->installdate);
@@ -617,10 +533,7 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
fprintf(fp, "%%ISIZE%%\n"
"%lu\n\n", info->isize);
}
- if(info->sha1sum) {
- fprintf(fp, "%%SHA1SUM%%\n"
- "%s\n\n", info->sha1sum);
- } else if(info->md5sum) {
+ if(info->md5sum) {
fprintf(fp, "%%MD5SUM%%\n"
"%s\n\n", info->md5sum);
}
@@ -631,10 +544,11 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
/* FILES */
if(local && (inforeq & INFRQ_FILES)) {
- _alpm_log(PM_LOG_DEBUG, _("writing %s-%s FILES information back to db"), info->name, info->version);
+ _alpm_log(PM_LOG_DEBUG, "writing %s-%s FILES information back to db\n",
+ info->name, info->version);
snprintf(path, PATH_MAX, "%s/%s-%s/files", db->path, info->name, info->version);
if((fp = fopen(path, "w")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s"), path, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s\n"), path, strerror(errno));
retval = -1;
goto cleanup;
}
@@ -658,10 +572,11 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
/* DEPENDS */
if(inforeq & INFRQ_DEPENDS) {
- _alpm_log(PM_LOG_DEBUG, _("writing %s-%s DEPENDS information back to db"), info->name, info->version);
+ _alpm_log(PM_LOG_DEBUG, "writing %s-%s DEPENDS information back to db\n",
+ info->name, info->version);
snprintf(path, PATH_MAX, "%s/%s-%s/depends", db->path, info->name, info->version);
if((fp = fopen(path, "w")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s"), path, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s\n"), path, strerror(errno));
retval = -1;
goto cleanup;
}
diff --git a/lib/libalpm/cache.c b/lib/libalpm/cache.c
index 0a3cd1e2..ef3c71bd 100644
--- a/lib/libalpm/cache.c
+++ b/lib/libalpm/cache.c
@@ -26,7 +26,6 @@
#include <stdlib.h>
#include <errno.h>
#include <string.h>
-#include <sys/stat.h>
/* libalpm */
#include "cache.h"
@@ -55,15 +54,15 @@ int _alpm_db_load_pkgcache(pmdb_t *db)
_alpm_db_free_pkgcache(db);
- _alpm_log(PM_LOG_DEBUG, _("loading package cache for repository '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "loading package cache for repository '%s'\n",
db->treename);
_alpm_db_rewind(db);
while((info = _alpm_db_scan(db, NULL)) != NULL) {
- _alpm_log(PM_LOG_FUNCTION, _("adding '%s' to package cache for db '%s'"),
+ _alpm_log(PM_LOG_FUNCTION, _("adding '%s' to package cache for db '%s'\n"),
alpm_pkg_get_name(info), db->treename);
info->origin = PKG_FROM_CACHE;
- info->data = db;
+ info->origin_data.db = db;
/* add to the collection */
db->pkgcache = alpm_list_add(db->pkgcache, info);
count++;
@@ -81,13 +80,14 @@ void _alpm_db_free_pkgcache(pmdb_t *db)
return;
}
- _alpm_log(PM_LOG_DEBUG, _("freeing package cache for repository '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "freeing package cache for repository '%s'\n",
db->treename);
alpm_list_t *tmp;
for(tmp = db->pkgcache; tmp; tmp = alpm_list_next(tmp)) {
_alpm_pkg_free(tmp->data);
}
+ alpm_list_free(db->pkgcache);
db->pkgcache = NULL;
if(db->grpcache) {
@@ -109,7 +109,7 @@ alpm_list_t *_alpm_db_get_pkgcache(pmdb_t *db)
/* hmmm, still NULL ?*/
if(!db->pkgcache) {
- _alpm_log(PM_LOG_DEBUG, _("error: pkgcache is NULL for db '%s'"), db->treename);
+ _alpm_log(PM_LOG_DEBUG, "error: pkgcache is NULL for db '%s'\n", db->treename);
}
return(db->pkgcache);
@@ -129,7 +129,7 @@ int _alpm_db_add_pkgincache(pmdb_t *db, pmpkg_t *pkg)
if(newpkg == NULL) {
return(-1);
}
- _alpm_log(PM_LOG_DEBUG, _("adding entry '%s' in '%s' cache"),
+ _alpm_log(PM_LOG_DEBUG, "adding entry '%s' in '%s' cache\n",
alpm_pkg_get_name(newpkg), db->treename);
db->pkgcache = alpm_list_add_sorted(db->pkgcache, newpkg, _alpm_pkg_cmp);
@@ -149,14 +149,14 @@ int _alpm_db_remove_pkgfromcache(pmdb_t *db, pmpkg_t *pkg)
return(-1);
}
- _alpm_log(PM_LOG_DEBUG, _("removing entry '%s' from '%s' cache"),
+ _alpm_log(PM_LOG_DEBUG, "removing entry '%s' from '%s' cache\n",
alpm_pkg_get_name(pkg), db->treename);
db->pkgcache = alpm_list_remove(db->pkgcache, pkg, _alpm_pkg_cmp, &vdata);
data = vdata;
if(data == NULL) {
/* package not found */
- _alpm_log(PM_LOG_DEBUG, _("cannot remove entry '%s' from '%s' cache: not found"),
+ _alpm_log(PM_LOG_DEBUG, "cannot remove entry '%s' from '%s' cache: not found\n",
alpm_pkg_get_name(pkg), db->treename);
return(-1);
}
@@ -178,7 +178,8 @@ pmpkg_t *_alpm_db_get_pkgfromcache(pmdb_t *db, const char *target)
alpm_list_t *pkgcache = _alpm_db_get_pkgcache(db);
if(!pkgcache) {
- _alpm_log(PM_LOG_DEBUG, _("error: failed to get '%s' from NULL pkgcache"), target);
+ _alpm_log(PM_LOG_DEBUG, "error: failed to get '%s' from NULL pkgcache\n",
+ target);
return(NULL);
}
@@ -201,7 +202,8 @@ int _alpm_db_load_grpcache(pmdb_t *db)
_alpm_db_load_pkgcache(db);
}
- _alpm_log(PM_LOG_DEBUG, _("loading group cache for repository '%s'"), db->treename);
+ _alpm_log(PM_LOG_DEBUG, "loading group cache for repository '%s'\n",
+ db->treename);
for(lp = _alpm_db_get_pkgcache(db); lp; lp = lp->next) {
const alpm_list_t *i;
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
index 3755fcd7..d09c996d 100644
--- a/lib/libalpm/conflict.c
+++ b/lib/libalpm/conflict.c
@@ -30,9 +30,6 @@
#include <unistd.h>
#include <string.h>
#include <limits.h>
-#if defined(__APPLE__) || defined(__OpenBSD__)
-#include <sys/syslimits.h>
-#endif
#include <sys/stat.h>
/* libalpm */
@@ -47,190 +44,96 @@
#include "deps.h"
-/** See if potential conflict 'name' matches package 'pkg'.
- * @param target the name of the parent package we're checking
- * @param depname the name of the dependency we're checking
- * @param pkg the package to check
- * @param conflict the name of the possible conflict
- * @return A depmissing struct indicating the conflict
- * @note The first two paramters are here to simplify the addition
- * of new 'depmiss' objects.
- *
- * TODO WTF is a 'depmissing' doing indicating a conflict??
+/** Check if pkg1 conflicts with pkg2
+ * @param pkg1 package we are looking at
+ * @param conflict name of the possible conflict
+ * @param pkg2 package to check
+ * @return 0 for no conflict, non-zero otherwise
*/
-static pmdepmissing_t *does_conflict(const char *target, const char *depname,
- pmpkg_t *pkg, const char *conflict)
+static int does_conflict(pmpkg_t *pkg1, const char *conflict, pmpkg_t *pkg2)
{
- alpm_list_t *i;
-
- /* check the actual package name, easy */
- if(strcmp(alpm_pkg_get_name(pkg), conflict) == 0) {
- _alpm_log(PM_LOG_DEBUG, _(" found conflict '%s' : package '%s'"), conflict, target);
- return(_alpm_depmiss_new(target, PM_DEP_TYPE_CONFLICT,
- PM_DEP_MOD_ANY, depname, NULL));
- } else {
- /* check what this package provides, harder */
- for(i = alpm_pkg_get_provides(pkg); i; i = i->next) {
- const char *provision = i->data;
-
- if(strcmp(provision, conflict) == 0) {
- _alpm_log(PM_LOG_DEBUG, _(" found conflict '%s' : package '%s' provides '%s'"),
- conflict, target, provision);
- return(_alpm_depmiss_new(target, PM_DEP_TYPE_CONFLICT,
- PM_DEP_MOD_ANY, depname, NULL));
- }
- }
+ const char *pkg1name = alpm_pkg_get_name(pkg1);
+ const char *pkg2name = alpm_pkg_get_name(pkg2);
+ pmdepend_t *conf = alpm_splitdep(conflict);
+ int match = 0;
+
+ match = alpm_depcmp(pkg2, conf);
+ if(match) {
+ _alpm_log(PM_LOG_DEBUG, "package %s conflicts with %s (by %s)\n",
+ pkg1name, pkg2name, conflict);
}
- return(NULL); /* not a conflict */
+ FREE(conf);
+ return(match);
}
-static alpm_list_t *chk_pkg_vs_db(alpm_list_t *baddeps, pmpkg_t *pkg, pmdb_t *db)
+/** Adds the pkg1/pkg2 conflict to the baddeps list
+ * @param *baddeps list to add conflict to
+ * @param pkg1 first package
+ * @param pkg2 package causing conflict
+ */
+/* TODO WTF is a 'depmissing' doing indicating a conflict? */
+static void add_conflict(alpm_list_t **baddeps, const char *pkg1,
+ const char *pkg2)
{
- pmdepmissing_t *miss = NULL;
- const char *pkgname;
- alpm_list_t *i, *j;
-
- pkgname = alpm_pkg_get_name(pkg);
-
- for(i = alpm_pkg_get_conflicts(pkg); i; i = i->next) {
- const char *conflict = i->data;
-
- if(strcmp(pkgname, conflict) == 0) {
- /* a package cannot conflict with itself -- that's just not nice */
- _alpm_log(PM_LOG_DEBUG, _("package '%s' conflicts with itself - packaging error"),
- pkgname);
- continue;
- }
-
- /* CHECK 1: check targets against database */
- _alpm_log(PM_LOG_DEBUG, _("checkconflicts: target '%s' vs db"), pkgname);
-
- for(j = _alpm_db_get_pkgcache(db); j; j = j->next) {
- pmpkg_t *dbpkg = j->data;
-
- if(strcmp(alpm_pkg_get_name(dbpkg), pkgname) == 0) {
- /* skip the package we're currently processing */
- continue;
- }
-
- miss = does_conflict(pkgname, alpm_pkg_get_name(dbpkg), dbpkg, conflict);
- if(miss && !_alpm_depmiss_isin(miss, baddeps)) {
- baddeps = alpm_list_add(baddeps, miss);
- } else {
- FREE(miss);
- }
- }
+ pmdepmissing_t *miss = _alpm_depmiss_new(pkg1, PM_DEP_TYPE_CONFLICT,
+ PM_DEP_MOD_ANY, pkg2, NULL);
+ if(miss && !_alpm_depmiss_isin(miss, *baddeps)) {
+ *baddeps = alpm_list_add(*baddeps, miss);
+ } else {
+ FREE(miss);
}
- return(baddeps);
}
-static alpm_list_t *chk_pkg_vs_targets(alpm_list_t *baddeps,
- pmpkg_t *pkg, pmdb_t *db,
- alpm_list_t *targets)
-{
- pmdepmissing_t *miss = NULL;
- const char *pkgname;
- alpm_list_t *i, *j;
-
- pkgname = alpm_pkg_get_name(pkg);
-
- for(i = alpm_pkg_get_conflicts(pkg); i; i = i->next) {
- const char *conflict = i->data;
-
- if(strcmp(pkgname, conflict) == 0) {
- /* a package cannot conflict with itself -- that's just not nice */
- _alpm_log(PM_LOG_DEBUG, _("package '%s' conflicts with itself - packaging error"),
- pkgname);
- continue;
- }
-
- /* CHECK 2: check targets against targets */
- _alpm_log(PM_LOG_DEBUG, _("checkconflicts: target '%s' vs all targets"), pkgname);
-
- for(j = targets; j; j = j->next) {
- const char *targetname;
- pmpkg_t *target = j->data;
- targetname = alpm_pkg_get_name(target);
-
- if(strcmp(targetname, pkgname) == 0) {
- /* skip the package we're currently processing */
- continue;
- }
+/** Check if packages from list1 conflict with packages from list2.
+ * This looks at the conflicts fields of all packages from list1, and sees
+ * if they match packages from list2.
+ * If a conflict (pkg1, pkg2) is found, it is added to the baddeps list
+ * in this order if order >= 0, or reverse order (pkg2,pkg1) otherwise.
+ *
+ * @param list1 first list of packages
+ * @param list2 second list of packages
+ * @param *baddeps list to store conflicts
+ * @param order if >= 0 the conflict order is preserved, if < 0 it's reversed
+ */
+static void check_conflict(alpm_list_t *list1, alpm_list_t *list2,
+ alpm_list_t **baddeps, int order) {
+ alpm_list_t *i, *j, *k;
- miss = does_conflict(pkgname, targetname, target, conflict);
- if(miss && !_alpm_depmiss_isin(miss, baddeps)) {
- baddeps = alpm_list_add(baddeps, miss);
- } else {
- FREE(miss);
- }
- }
+ if(!baddeps) {
+ return;
}
- return(baddeps);
-}
-
-static alpm_list_t *chk_db_vs_targets(alpm_list_t *baddeps, pmpkg_t *pkg,
- pmdb_t *db, alpm_list_t *targets)
-{
- pmdepmissing_t *miss = NULL;
- const char *pkgname;
- alpm_list_t *i, *j;
-
- pkgname = alpm_pkg_get_name(pkg);
-
- _alpm_log(PM_LOG_DEBUG, _("checkconflicts: db vs target '%s'"), pkgname);
-
- for(i = _alpm_db_get_pkgcache(db); i; i = i->next) {
- alpm_list_t *conflicts = NULL;
- const char *dbpkgname;
+ for(i = list1; i; i = i->next) {
+ pmpkg_t *pkg1 = i->data;
+ const char *pkg1name = alpm_pkg_get_name(pkg1);
- pmpkg_t *dbpkg = i->data;
- dbpkgname = alpm_pkg_get_name(dbpkg);
-
- if(strcmp(dbpkgname, pkgname) == 0) {
- /* skip the package we're currently processing */
- continue;
- }
-
- /* is this db package in the targets? if so use the
- * new package's conflict list to pick up new changes */
- int use_newconflicts = 0;
- for(j = targets; j; j = j->next) {
- pmpkg_t *targ = j->data;
- if(strcmp(alpm_pkg_get_name(targ), dbpkgname) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("target '%s' is also in target list, using NEW conflicts"),
- dbpkgname);
- conflicts = alpm_pkg_get_conflicts(targ);
- use_newconflicts = 1;
- break;
- }
- }
- /* if we didn't find newer conflicts, use the original list */
- if(!use_newconflicts) {
- conflicts = alpm_pkg_get_conflicts(dbpkg);
- }
-
- for(j = conflicts; j; j = j->next) {
+ for(j = alpm_pkg_get_conflicts(pkg1); j; j = j->next) {
const char *conflict = j->data;
+ for(k = list2; k; k = k->next) {
+ pmpkg_t *pkg2 = k->data;
+ const char *pkg2name = alpm_pkg_get_name(pkg2);
- miss = does_conflict(pkgname, dbpkgname, pkg, conflict);
- if(miss && !_alpm_depmiss_isin(miss, baddeps)) {
- baddeps = alpm_list_add(baddeps, miss);
- } else {
- FREE(miss);
+ if(strcmp(pkg1name, pkg2name) == 0) {
+ /* skip the package we're currently processing */
+ continue;
+ }
+
+ if(does_conflict(pkg1, conflict, pkg2)) {
+ if(order >= 0) {
+ add_conflict(baddeps, pkg1name, pkg2name);
+ } else {
+ add_conflict(baddeps, pkg2name, pkg1name);
+ }
+ }
}
}
}
- return(baddeps);
}
-/* Returns a alpm_list_t* of pmdepmissing_t pointers.
- *
- * conflicts are always name only
- */
+/* Returns a alpm_list_t* of pmdepmissing_t pointers. */
alpm_list_t *_alpm_checkconflicts(pmdb_t *db, alpm_list_t *packages)
{
- alpm_list_t *i, *baddeps = NULL;
+ alpm_list_t *baddeps = NULL;
ALPM_LOG_FUNC;
@@ -238,28 +141,21 @@ alpm_list_t *_alpm_checkconflicts(pmdb_t *db, alpm_list_t *packages)
return(NULL);
}
- for(i = packages; i; i = i->next) {
- pmpkg_t *pkg = i->data;
- if(pkg == NULL) {
- continue;
- }
+ alpm_list_t *dblist = alpm_list_diff(_alpm_db_get_pkgcache(db), packages,
+ _alpm_pkg_cmp);
- /* run three different conflict checks on each package */
- baddeps = chk_pkg_vs_db(baddeps, pkg, db);
- baddeps = chk_pkg_vs_targets(baddeps, pkg, db, packages);
- baddeps = chk_db_vs_targets(baddeps, pkg, db, packages);
- }
-
- /* debug loop */
- for(i = baddeps; i; i = i->next) {
- pmdepmissing_t *miss = i->data;
- _alpm_log(PM_LOG_DEBUG, _("\tCONFLICTS:: %s conflicts with %s"), miss->target, miss->depend.name);
- }
+ /* three checks to be done here for conflicts */
+ _alpm_log(PM_LOG_DEBUG, "check targets vs db\n");
+ check_conflict(packages, dblist, &baddeps, 1);
+ _alpm_log(PM_LOG_DEBUG, "check db vs targets\n");
+ check_conflict(dblist, packages, &baddeps, -1);
+ _alpm_log(PM_LOG_DEBUG, "check targets vs targets\n");
+ check_conflict(packages, packages, &baddeps, 0);
+ alpm_list_free(dblist);
return(baddeps);
}
-
/* Returns a alpm_list_t* of file conflicts.
* Hooray for set-intersects!
* Pre-condition: both lists are sorted!
@@ -345,7 +241,7 @@ static alpm_list_t *add_fileconflict(alpm_list_t *conflicts,
{
pmconflict_t *conflict = malloc(sizeof(pmconflict_t));
if(conflict == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"),
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"),
sizeof(pmconflict_t));
return(conflicts);
}
@@ -359,7 +255,7 @@ static alpm_list_t *add_fileconflict(alpm_list_t *conflicts,
}
conflicts = alpm_list_add(conflicts, conflict);
- _alpm_log(PM_LOG_DEBUG, "found file conflict %s, packages %s and %s",
+ _alpm_log(PM_LOG_DEBUG, "found file conflict %s, packages %s and %s\n",
filestr, name1, name2 ? name2 : "(filesystem)");
return(conflicts);
@@ -373,6 +269,7 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
alpm_list_t *i, *conflicts = NULL;
alpm_list_t *targets = trans->packages;
int numtargs = alpm_list_count(targets);
+ int current;
ALPM_LOG_FUNC;
@@ -380,7 +277,7 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
return(NULL);
}
- for(i = targets; i; i = i->next) {
+ for(current = 1, i = targets; i; i = i->next, current++) {
alpm_list_t *j, *k, *tmpfiles = NULL;
pmpkg_t *p1, *p2, *dbpkg;
char path[PATH_MAX+1];
@@ -390,17 +287,16 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
continue;
}
- double percent = (double)(alpm_list_count(targets) - alpm_list_count(i) + 1)
- / alpm_list_count(targets);
+ double percent = (double)current / numtargs;
PROGRESS(trans, PM_TRANS_PROGRESS_CONFLICTS_START, "", (percent * 100),
- numtargs, (numtargs - alpm_list_count(i) +1));
+ numtargs, current);
/* CHECK 1: check every target against every target */
for(j = i->next; j; j = j->next) {
p2 = j->data;
if(!p2) {
continue;
}
- _alpm_log(PM_LOG_DEBUG, "searching for file conflicts: %s and %s",
+ _alpm_log(PM_LOG_DEBUG, "searching for file conflicts: %s and %s\n",
alpm_pkg_get_name(p1), alpm_pkg_get_name(p2));
tmpfiles = chk_fileconflicts(alpm_pkg_get_files(p1), alpm_pkg_get_files(p2));
@@ -420,7 +316,7 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
char *filestr = NULL;
/* CHECK 2: check every target against the filesystem */
- _alpm_log(PM_LOG_DEBUG, "searching for filesystem conflicts: %s", p1->name);
+ _alpm_log(PM_LOG_DEBUG, "searching for filesystem conflicts: %s\n", p1->name);
dbpkg = _alpm_db_get_pkgfromcache(db, p1->name);
/* Do two different checks here. f the package is currently installed,
@@ -440,9 +336,14 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
snprintf(path, PATH_MAX, "%s%s", root, filestr);
- /* stat the file - if it exists and is not a dir, do some checks */
- if(lstat(path, &buf) == 0 && !S_ISDIR(buf.st_mode)) {
- _alpm_log(PM_LOG_DEBUG, "checking possible conflict: %s", path);
+ /* stat the file - if it exists, do some checks */
+ if(lstat(path, &buf) != 0) {
+ continue;
+ }
+ if(S_ISDIR(buf.st_mode)) {
+ _alpm_log(PM_LOG_DEBUG, "%s is a directory, not a conflict\n", path);
+ } else {
+ _alpm_log(PM_LOG_DEBUG, "checking possible conflict: %s\n", path);
/* Make sure the possible conflict is not a symlink that points to a
* path in the old package. This is kind of dirty with inode usage */
@@ -452,10 +353,9 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
unsigned ok = 0;
for(k = dbpkg->files; k; k = k->next) {
snprintf(str, PATH_MAX, "%s%s", root, (char*)k->data);
- lstat(str, &buf2);
- if(buf.st_ino == buf2.st_ino) {
+ if(!lstat(str, &buf2) && buf.st_ino == buf2.st_ino) {
ok = 1;
- _alpm_log(PM_LOG_DEBUG, "conflict was a symlink: %s", path);
+ _alpm_log(PM_LOG_DEBUG, "conflict was a symlink: %s\n", path);
break;
}
}
@@ -486,7 +386,7 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
/* keep file intact if it is in backup array */
trans->skip_add = alpm_list_add(trans->skip_add, strdup(path));
trans->skip_remove = alpm_list_add(trans->skip_remove, strdup(path));
- _alpm_log(PM_LOG_DEBUG, "file in backup array, adding to add and remove skiplist: %s", filestr);
+ _alpm_log(PM_LOG_DEBUG, "file in backup array, adding to add and remove skiplist: %s\n", filestr);
resolved_conflict = 1;
break;
} else {
@@ -494,19 +394,17 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
* package from removing the file when it was already installed
* by its new owner */
trans->skip_remove = alpm_list_add(trans->skip_remove, strdup(path));
- _alpm_log(PM_LOG_DEBUG, "file changed packages, adding to remove skiplist: %s", filestr);
+ _alpm_log(PM_LOG_DEBUG, "file changed packages, adding to remove skiplist: %s\n", filestr);
resolved_conflict = 1;
break;
}
}
}
if(!resolved_conflict) {
- _alpm_log(PM_LOG_DEBUG, "file found in conflict: %s", path);
+ _alpm_log(PM_LOG_DEBUG, "file found in conflict: %s\n", path);
conflicts = add_fileconflict(conflicts, PM_CONFLICT_TYPE_FILE,
path, p1->name, NULL);
}
- } else {
- _alpm_log(PM_LOG_DEBUG, "%s is a directory, not a conflict", path);
}
}
alpm_list_free_inner(tmpfiles, &free);
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 95a1ecb3..b06a970c 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -53,11 +53,11 @@
* @{
*/
-/** Register a package database
- * @param treename the name of the repository
+/** Register a sync database of packages.
+ * @param treename the name of the sync repository
* @return a pmdb_t* on success (the value), NULL on error
*/
-pmdb_t SYMEXPORT *alpm_db_register(const char *treename)
+pmdb_t SYMEXPORT *alpm_db_register_sync(const char *treename)
{
ALPM_LOG_FUNC;
@@ -67,7 +67,64 @@ pmdb_t SYMEXPORT *alpm_db_register(const char *treename)
/* Do not register a database if a transaction is on-going */
ASSERT(handle->trans == NULL, RET_ERR(PM_ERR_TRANS_NOT_NULL, NULL));
- return(_alpm_db_register(treename));
+ return(_alpm_db_register_sync(treename));
+}
+
+/** Register the local package database.
+ * @return a pmdb_t* representing the local database, or NULL on error
+ */
+pmdb_t SYMEXPORT *alpm_db_register_local(void)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, NULL));
+ /* Do not register a database if a transaction is on-going */
+ ASSERT(handle->trans == NULL, RET_ERR(PM_ERR_TRANS_NOT_NULL, NULL));
+
+ return(_alpm_db_register_local());
+}
+
+/* Helper function for alpm_db_unregister{_all} */
+static void _alpm_db_unregister(pmdb_t *db)
+{
+ if(db == NULL) {
+ return;
+ }
+
+ _alpm_log(PM_LOG_DEBUG, "closing database '%s'\n", db->treename);
+ _alpm_db_close(db);
+
+ _alpm_log(PM_LOG_DEBUG, "unregistering database '%s'\n", db->treename);
+ _alpm_db_free(db);
+}
+
+/** Unregister all package databases
+ * @return 0 on success, -1 on error (pm_errno is set accordingly)
+ */
+int SYMEXPORT alpm_db_unregister_all(void)
+{
+ alpm_list_t *i;
+
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
+ /* Do not unregister a database if a transaction is on-going */
+ ASSERT(handle->trans == NULL, RET_ERR(PM_ERR_TRANS_NOT_NULL, -1));
+
+ /* close local database */
+ _alpm_db_unregister(handle->db_local);
+ handle->db_local = NULL;
+
+ /* and also sync ones */
+ for(i = handle->dbs_sync; i; i = i->next) {
+ pmdb_t *db = i->data;
+ _alpm_db_unregister(db);
+ i->data = NULL;
+ }
+ FREELIST(handle->dbs_sync);
+ return(0);
}
/** Unregister a package database
@@ -90,8 +147,13 @@ int SYMEXPORT alpm_db_unregister(pmdb_t *db)
handle->db_local = NULL;
found = 1;
} else {
+ /* Warning : this function shouldn't be used to unregister all sync
+ * databases by walking through the list returned by
+ * alpm_option_get_syncdbs, because the db is removed from that list here.
+ */
void *data;
- handle->dbs_sync = alpm_list_remove(handle->dbs_sync, db, _alpm_db_cmp, &data);
+ handle->dbs_sync = alpm_list_remove(handle->dbs_sync,
+ db, _alpm_db_cmp, &data);
if(data) {
found = 1;
}
@@ -101,16 +163,7 @@ int SYMEXPORT alpm_db_unregister(pmdb_t *db)
RET_ERR(PM_ERR_DB_NOT_FOUND, -1);
}
- _alpm_log(PM_LOG_DEBUG, _("unregistering database '%s'"), db->treename);
-
- /* Cleanup */
- _alpm_db_free_pkgcache(db);
-
- _alpm_log(PM_LOG_DEBUG, _("closing database '%s'"), db->treename);
- _alpm_db_close(db);
-
- _alpm_db_free(db);
-
+ _alpm_db_unregister(db);
return(0);
}
@@ -121,6 +174,7 @@ int SYMEXPORT alpm_db_unregister(pmdb_t *db)
*/
int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url)
{
+ alpm_list_t *i;
int found = 0;
ALPM_LOG_FUNC;
@@ -128,18 +182,11 @@ int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url)
/* Sanity checks */
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
- if(strcmp(db->treename, "local") == 0) {
- if(handle->db_local != NULL) {
+ for(i = handle->dbs_sync; i && !found; i = i->next) {
+ pmdb_t *sdb = i->data;
+ if(strcmp(db->treename, sdb->treename) == 0) {
found = 1;
}
- } else {
- alpm_list_t *i;
- for(i = handle->dbs_sync; i && !found; i = i->next) {
- pmdb_t *sdb = i->data;
- if(strcmp(db->treename, sdb->treename) == 0) {
- found = 1;
- }
- }
}
if(!found) {
RET_ERR(PM_ERR_DB_NOT_FOUND, -1);
@@ -152,11 +199,11 @@ int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url)
return(-1);
}
db->servers = alpm_list_add(db->servers, server);
- _alpm_log(PM_LOG_DEBUG, _("adding new server to database '%s': protocol '%s', server '%s', path '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "adding new server to database '%s': protocol '%s', server '%s', path '%s'\n",
db->treename, server->s_url->scheme, server->s_url->host, server->s_url->doc);
} else {
FREELIST(db->servers);
- _alpm_log(PM_LOG_DEBUG, _("serverlist flushed for '%s'"), db->treename);
+ _alpm_log(PM_LOG_DEBUG, "serverlist flushed for '%s'\n", db->treename);
}
return(0);
@@ -200,7 +247,7 @@ int SYMEXPORT alpm_db_update(int force, pmdb_t *db)
/* get the lastupdate time */
_alpm_db_getlastupdate(db, lastupdate);
if(strlen(lastupdate) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("failed to get lastupdate time for %s (no big deal)"), db->treename);
+ _alpm_log(PM_LOG_DEBUG, "failed to get lastupdate time for %s (no big deal)\n", db->treename);
}
}
@@ -219,21 +266,23 @@ int SYMEXPORT alpm_db_update(int force, pmdb_t *db)
} else if(ret == -1) {
/* we use downloadLastErrString and downloadLastErrCode here, error returns from
* libdownload */
- _alpm_log(PM_LOG_DEBUG, _("failed to sync db: %s [%d]"), downloadLastErrString, downloadLastErrCode);
+ _alpm_log(PM_LOG_DEBUG, "failed to sync db: %s [%d]\n",
+ downloadLastErrString, downloadLastErrCode);
RET_ERR(PM_ERR_DB_SYNC, -1);
} else {
if(strlen(newmtime)) {
- _alpm_log(PM_LOG_DEBUG, _("sync: new mtime for %s: %s"), db->treename, newmtime);
+ _alpm_log(PM_LOG_DEBUG, "sync: new mtime for %s: %s\n",
+ db->treename, newmtime);
_alpm_db_setlastupdate(db, newmtime);
}
snprintf(path, PATH_MAX, "%s%s" DBEXT, dbpath, db->treename);
/* remove the old dir */
- _alpm_log(PM_LOG_DEBUG, _("flushing database %s%s"), db->path);
+ _alpm_log(PM_LOG_DEBUG, "flushing database %s%s\n", db->path);
for(lp = _alpm_db_get_pkgcache(db); lp; lp = lp->next) {
pmpkg_t *pkg = lp->data;
if(pkg && _alpm_db_remove(db, pkg) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not remove database entry %s%s"), db->treename,
+ _alpm_log(PM_LOG_ERROR, _("could not remove database entry %s%s\n"), db->treename,
alpm_pkg_get_name(pkg));
RET_ERR(PM_ERR_DB_REMOVE, -1);
}
@@ -369,19 +418,6 @@ alpm_list_t SYMEXPORT *alpm_db_getgrpcache(pmdb_t *db)
return(_alpm_db_get_grpcache(db));
}
-/** Tests a database
- * @param db pointer to the package database to search in
- * @return the list of problems found on success, NULL on error
- */
-alpm_list_t SYMEXPORT *alpm_db_test(pmdb_t *db)
-{
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(db != NULL, return(NULL));
-
- return(_alpm_db_test(db));
-}
-
/** Searches a database
* @param db pointer to the package database to search in
* @param needles the list of strings to search for
@@ -404,7 +440,7 @@ alpm_list_t SYMEXPORT *alpm_db_search(pmdb_t *db, const alpm_list_t* needles)
/** Get a list of upgradable packages on the current system
* @return a pmsyncpkg_t list of packages that are out of date
*/
-alpm_list_t SYMEXPORT *alpm_db_get_upgrades()
+alpm_list_t SYMEXPORT *alpm_db_get_upgrades(void)
{
alpm_list_t *syncpkgs = NULL;
const alpm_list_t *i, *j, *k, *m;
@@ -413,7 +449,7 @@ alpm_list_t SYMEXPORT *alpm_db_get_upgrades()
/* TODO holy nested loops, Batman! */
/* check for "recommended" package replacements */
- _alpm_log(PM_LOG_DEBUG, _("checking for package replacements"));
+ _alpm_log(PM_LOG_DEBUG, "checking for package replacements\n");
for(i = handle->dbs_sync; i; i = i->next) {
for(j = _alpm_db_get_pkgcache(i->data); j; j = j->next) {
pmpkg_t *spkg = j->data;
@@ -424,10 +460,10 @@ alpm_list_t SYMEXPORT *alpm_db_get_upgrades()
pmpkg_t *lpkg = m->data;
if(strcmp(k->data, alpm_pkg_get_name(lpkg)) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("checking replacement '%s' for package '%s'"), k->data,
- alpm_pkg_get_name(spkg));
+ _alpm_log(PM_LOG_DEBUG, "checking replacement '%s' for package '%s'\n",
+ k->data, alpm_pkg_get_name(spkg));
if(alpm_list_find_str(handle->ignorepkg, alpm_pkg_get_name(lpkg))) {
- _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (to be replaced by %s-%s)"),
+ _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"),
alpm_pkg_get_name(lpkg), alpm_pkg_get_version(lpkg),
alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg));
} else {
@@ -457,7 +493,7 @@ alpm_list_t SYMEXPORT *alpm_db_get_upgrades()
sync->data = alpm_list_add(NULL, dummy);
syncpkgs = alpm_list_add(syncpkgs, sync);
}
- _alpm_log(PM_LOG_DEBUG, _("%s-%s elected for upgrade (to be replaced by %s-%s)"),
+ _alpm_log(PM_LOG_DEBUG, "%s-%s elected for upgrade (to be replaced by %s-%s)\n",
alpm_pkg_get_name(lpkg), alpm_pkg_get_version(lpkg),
alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg));
}
@@ -479,7 +515,8 @@ alpm_list_t SYMEXPORT *alpm_db_get_upgrades()
spkg = _alpm_db_get_pkgfromcache(j->data, alpm_pkg_get_name(local));
}
if(spkg == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("'%s' not found in sync db -- skipping"), alpm_pkg_get_name(local));
+ _alpm_log(PM_LOG_DEBUG, "'%s' not found in sync db -- skipping\n",
+ alpm_pkg_get_name(local));
continue;
}
@@ -493,13 +530,13 @@ alpm_list_t SYMEXPORT *alpm_db_get_upgrades()
}
}
if(replace) {
- _alpm_log(PM_LOG_DEBUG, _("'%s' is already elected for removal -- skipping"),
+ _alpm_log(PM_LOG_DEBUG, "'%s' is already elected for removal -- skipping\n",
alpm_pkg_get_name(local));
continue;
}
if(alpm_pkg_compare_versions(local, spkg)) {
- _alpm_log(PM_LOG_DEBUG, _("%s elected for upgrade (%s => %s)"),
+ _alpm_log(PM_LOG_DEBUG, "%s elected for upgrade (%s => %s)\n",
alpm_pkg_get_name(local), alpm_pkg_get_version(local),
alpm_pkg_get_version(spkg));
@@ -547,15 +584,13 @@ pmdb_t *_alpm_db_new(const char *dbpath, const char *treename)
db = calloc(1, sizeof(pmdb_t));
if(db == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failed: could not allocate %d bytes"),
- sizeof(pmdb_t));
+ _alpm_log(PM_LOG_ERROR, "calloc : %s\n", strerror(errno));
RET_ERR(PM_ERR_MEMORY, NULL);
}
db->path = calloc(1, pathsize);
if(db->path == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failed: could not allocate %d bytes"),
- pathsize);
+ _alpm_log(PM_LOG_ERROR, "calloc : %s\n", strerror(errno));
FREE(db);
RET_ERR(PM_ERR_MEMORY, NULL);
}
@@ -568,12 +603,17 @@ pmdb_t *_alpm_db_new(const char *dbpath, const char *treename)
void _alpm_db_free(pmdb_t *db)
{
+ alpm_list_t *tmp;
+
ALPM_LOG_FUNC;
- alpm_list_t *tmp;
+ /* cleanup pkgcache */
+ _alpm_db_free_pkgcache(db);
+ /* cleanup server list */
for(tmp = db->servers; tmp; tmp = alpm_list_next(tmp)) {
_alpm_server_free(tmp->data);
}
+ alpm_list_free(db->servers);
FREE(db->path);
FREE(db);
@@ -601,7 +641,7 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
continue;
}
targ = i->data;
- _alpm_log(PM_LOG_DEBUG, "searching for target '%s'", targ);
+ _alpm_log(PM_LOG_DEBUG, "searching for target '%s'\n", targ);
if(regcomp(&reg, targ, REG_EXTENDED | REG_NOSUB | REG_ICASE | REG_NEWLINE) != 0) {
RET_ERR(PM_ERR_INVALID_REGEX, NULL);
@@ -632,7 +672,7 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
}
if(matched != NULL) {
- _alpm_log(PM_LOG_DEBUG, " search target '%s' matched '%s'",
+ _alpm_log(PM_LOG_DEBUG, " search target '%s' matched '%s'\n",
targ, matched);
ret = alpm_list_add(ret, pkg);
}
@@ -644,7 +684,7 @@ alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles)
return(ret);
}
-pmdb_t *_alpm_db_register(const char *treename)
+pmdb_t *_alpm_db_register_local(void)
{
struct stat buf;
pmdb_t *db;
@@ -653,56 +693,97 @@ pmdb_t *_alpm_db_register(const char *treename)
ALPM_LOG_FUNC;
- if(strcmp(treename, "local") == 0) {
- if(handle->db_local != NULL) {
- _alpm_log(PM_LOG_WARNING, _("attempt to re-register the 'local' DB"));
- RET_ERR(PM_ERR_DB_NOT_NULL, NULL);
- }
- } else {
- alpm_list_t *i;
- for(i = handle->dbs_sync; i; i = i->next) {
- pmdb_t *sdb = i->data;
- if(strcmp(treename, sdb->treename) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("attempt to re-register the '%s' database, using existing"), sdb->treename);
- return sdb;
- }
- }
+ if(handle->db_local != NULL) {
+ _alpm_log(PM_LOG_WARNING, _("attempt to re-register the 'local' DB\n"));
+ RET_ERR(PM_ERR_DB_NOT_NULL, NULL);
}
-
- _alpm_log(PM_LOG_DEBUG, _("registering database '%s'"), treename);
+
+ _alpm_log(PM_LOG_DEBUG, "registering local database\n");
/* make sure the database directory exists */
dbpath = alpm_option_get_dbpath();
if(!dbpath) {
- _alpm_log(PM_LOG_WARNING, _("database path is undefined"));
+ _alpm_log(PM_LOG_WARNING, _("database path is undefined\n"));
RET_ERR(PM_ERR_DB_OPEN, NULL);
}
- snprintf(path, PATH_MAX, "%s%s", dbpath, treename);
+ snprintf(path, PATH_MAX, "%slocal", dbpath);
+ /* TODO this is rediculous, we try to do this even if we can't */
if(stat(path, &buf) != 0 || !S_ISDIR(buf.st_mode)) {
- _alpm_log(PM_LOG_DEBUG, _("database directory '%s' does not exist, creating it"),
+ _alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
path);
if(_alpm_makepath(path) != 0) {
RET_ERR(PM_ERR_SYSTEM, NULL);
}
}
- db = _alpm_db_new(handle->dbpath, treename);
+ db = _alpm_db_new(dbpath, "local");
if(db == NULL) {
RET_ERR(PM_ERR_DB_CREATE, NULL);
}
- _alpm_log(PM_LOG_DEBUG, _("opening database '%s'"), db->treename);
+ _alpm_log(PM_LOG_DEBUG, "opening database '%s'\n", db->treename);
if(_alpm_db_open(db) == -1) {
_alpm_db_free(db);
RET_ERR(PM_ERR_DB_OPEN, NULL);
}
- if(strcmp(treename, "local") == 0) {
- handle->db_local = db;
- } else {
- handle->dbs_sync = alpm_list_add(handle->dbs_sync, db);
+ handle->db_local = db;
+ return(db);
+}
+
+pmdb_t *_alpm_db_register_sync(const char *treename)
+{
+ struct stat buf;
+ pmdb_t *db;
+ const char *dbpath;
+ char path[PATH_MAX];
+ alpm_list_t *i;
+
+ ALPM_LOG_FUNC;
+
+ for(i = handle->dbs_sync; i; i = i->next) {
+ pmdb_t *sdb = i->data;
+ if(strcmp(treename, sdb->treename) == 0) {
+ _alpm_log(PM_LOG_DEBUG, "attempt to re-register the '%s' database, using existing\n", sdb->treename);
+ return sdb;
+ }
+ }
+
+ _alpm_log(PM_LOG_DEBUG, "registering sync database '%s'\n", treename);
+
+ /* make sure the database directory exists */
+ dbpath = alpm_option_get_dbpath();
+ if(!dbpath) {
+ _alpm_log(PM_LOG_WARNING, _("database path is undefined\n"));
+ RET_ERR(PM_ERR_DB_OPEN, NULL);
+ }
+ /* all sync DBs now reside in the sync/ subdir of the dbpath */
+ snprintf(path, PATH_MAX, "%ssync/%s", dbpath, treename);
+ /* TODO this is rediculous, we try to do this even if we can't */
+ if(stat(path, &buf) != 0 || !S_ISDIR(buf.st_mode)) {
+ _alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
+ path);
+ if(_alpm_makepath(path) != 0) {
+ RET_ERR(PM_ERR_SYSTEM, NULL);
+ }
+ }
+
+ /* Ensure the db gets the real path. */
+ path[0] = '\0';
+ snprintf(path, PATH_MAX, "%ssync/", dbpath);
+
+ db = _alpm_db_new(path, treename);
+ if(db == NULL) {
+ RET_ERR(PM_ERR_DB_CREATE, NULL);
+ }
+
+ _alpm_log(PM_LOG_DEBUG, "opening database '%s'\n", db->treename);
+ if(_alpm_db_open(db) == -1) {
+ _alpm_db_free(db);
+ RET_ERR(PM_ERR_DB_OPEN, NULL);
}
+ handle->dbs_sync = alpm_list_add(handle->dbs_sync, db);
return(db);
}
diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h
index 2597c8c4..3ee49770 100644
--- a/lib/libalpm/db.h
+++ b/lib/libalpm/db.h
@@ -52,11 +52,11 @@ pmdb_t *_alpm_db_new(const char *dbpath, const char *treename);
void _alpm_db_free(pmdb_t *db);
int _alpm_db_cmp(const void *db1, const void *db2);
alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles);
-pmdb_t *_alpm_db_register(const char *treename);
+pmdb_t *_alpm_db_register_local(void);
+pmdb_t *_alpm_db_register_sync(const char *treename);
/* be.c, backend specific calls */
int _alpm_db_install(pmdb_t *db, const char *dbfile);
-alpm_list_t *_alpm_db_test(pmdb_t *db);
int _alpm_db_open(pmdb_t *db);
void _alpm_db_close(pmdb_t *db);
void _alpm_db_rewind(pmdb_t *db);
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index 524136bd..946a42ff 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -26,9 +26,6 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-#ifdef __sun__
-#include <strings.h>
-#endif
/* libalpm */
#include "deps.h"
@@ -40,7 +37,6 @@
#include "db.h"
#include "cache.h"
#include "provide.h"
-#include "versioncmp.h"
#include "handle.h"
extern pmhandle_t *handle;
@@ -77,7 +73,7 @@ pmdepmissing_t *_alpm_depmiss_new(const char *target, pmdeptype_t type,
miss = malloc(sizeof(pmdepmissing_t));
if(miss == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmdepmissing_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmdepmissing_t));
RET_ERR(PM_ERR_MEMORY, NULL);
}
@@ -111,6 +107,46 @@ int _alpm_depmiss_isin(pmdepmissing_t *needle, alpm_list_t *haystack)
return(0);
}
+/* Convert a list of pmpkg_t * to a graph structure,
+ * with a edge for each dependency.
+ * Returns a list of vertices (one vertex = one package)
+ * (used by alpm_sortbydeps)
+ */
+static alpm_list_t *_alpm_graph_init(alpm_list_t *targets)
+{
+ alpm_list_t *i, *j, *k;
+ alpm_list_t *vertices = NULL;
+ /* We create the vertices */
+ for(i = targets; i; i = i->next) {
+ pmgraph_t *vertex = _alpm_graph_new();
+ vertex->data = (void *)i->data;
+ vertices = alpm_list_add(vertices, vertex);
+ }
+
+ /* We compute the edges */
+ for(i = vertices; i; i = i->next) {
+ pmgraph_t *vertex_i = i->data;
+ pmpkg_t *p_i = vertex_i->data;
+ /* TODO this should be somehow combined with _alpm_checkdeps */
+ for(j = vertices; j; j = j->next) {
+ pmgraph_t *vertex_j = j->data;
+ pmpkg_t *p_j = vertex_j->data;
+ int child = 0;
+ for(k = alpm_pkg_get_depends(p_i); k && !child; k = k->next) {
+ pmdepend_t *depend = alpm_splitdep(k->data);
+ child = alpm_depcmp(p_j, depend);
+ free(depend);
+ }
+ if(child) {
+ vertex_i->children =
+ alpm_list_add(vertex_i->children, vertex_j);
+ }
+ }
+ vertex_i->childptr = vertex_i->children;
+ }
+ return(vertices);
+}
+
/* Re-order a list of target packages with respect to their dependencies.
*
* Example (PM_TRANS_TYPE_ADD):
@@ -129,7 +165,6 @@ int _alpm_depmiss_isin(pmdepmissing_t *needle, alpm_list_t *haystack)
alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, pmtranstype_t mode)
{
alpm_list_t *newtargs = NULL;
- alpm_list_t *i, *j, *k;
alpm_list_t *vertices = NULL;
alpm_list_t *vptr;
pmgraph_t *vertex;
@@ -140,34 +175,9 @@ alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, pmtranstype_t mode)
return(NULL);
}
- _alpm_log(PM_LOG_DEBUG, _("started sorting dependencies"));
-
- /* We create the vertices */
- for(i = targets; i; i = i->next) {
- pmgraph_t *vertex = _alpm_graph_new();
- vertex->data = (void *)i->data;
- vertices = alpm_list_add(vertices, vertex);
- }
+ _alpm_log(PM_LOG_DEBUG, "started sorting dependencies\n");
- /* We compute the edges */
- for(i = vertices; i; i = i->next) {
- pmgraph_t *vertex_i = i->data;
- pmpkg_t *p_i = vertex_i->data;
- /* TODO this should be somehow combined with _alpm_checkdeps */
- for(j = vertices; j; j = j->next) {
- pmgraph_t *vertex_j = j->data;
- pmpkg_t *p_j = vertex_j->data;
- int child = 0;
- for(k = alpm_pkg_get_depends(p_i); k && !child; k = k->next) {
- pmdepend_t *depend = alpm_splitdep(k->data);
- child = alpm_depcmp(p_j, depend);
- free(depend);
- }
- if(child) vertex_i->children =
- alpm_list_add(vertex_i->children, vertex_j);
- }
- vertex_i->childptr = vertex_i->children;
- }
+ vertices = _alpm_graph_init(targets);
vptr = vertices;
vertex = vertices->data;
@@ -203,7 +213,7 @@ alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, pmtranstype_t mode)
}
}
- _alpm_log(PM_LOG_DEBUG, _("sorting dependencies finished"));
+ _alpm_log(PM_LOG_DEBUG, "sorting dependencies finished\n");
if(mode == PM_TRANS_TYPE_REMOVE) {
/* we're removing packages, so reverse the order */
@@ -218,12 +228,19 @@ alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, pmtranstype_t mode)
return(newtargs);
}
-/** Checks dependencies and returns missing ones in a list. Dependencies can include versions with depmod operators.
+/** Checks dependencies and returns missing ones in a list.
+ * Dependencies can include versions with depmod operators.
* @param db pointer to the local package database
* @param op transaction type
* @param packages an alpm_list_t* of packages to be checked
- * @return an alpm_list_t* of missing_t pointers.
+ * @return an alpm_list_t* of pmpkg_t* of missing_t pointers.
*/
+alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
+ alpm_list_t *packages)
+{
+ return(_alpm_checkdeps(db, op, packages));
+}
+
alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
alpm_list_t *packages)
{
@@ -246,12 +263,12 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
pmpkg_t *newpkg = i->data;
pmpkg_t *oldpkg;
if(newpkg == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("null package found in package list"));
+ _alpm_log(PM_LOG_DEBUG, "null package found in package list\n");
continue;
}
if((oldpkg = _alpm_db_get_pkgfromcache(db, alpm_pkg_get_name(newpkg))) == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("cannot find package installed '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "cannot find package installed '%s'\n",
alpm_pkg_get_name(newpkg));
continue;
}
@@ -284,7 +301,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
pmpkg_t *pkg = l->data;
if(alpm_depcmp(pkg, depend)) {
- _alpm_log(PM_LOG_DEBUG, _("checkdeps: dependency '%s' has moved from '%s' to '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "checkdeps: dependency '%s' has moved from '%s' to '%s'\n",
depend->name, alpm_pkg_get_name(oldpkg), alpm_pkg_get_name(pkg));
satisfied = 1;
break;
@@ -300,7 +317,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
if(alpm_depcmp(pkg, depend) && !_alpm_pkg_find(alpm_pkg_get_name(pkg), packages)) {
/* we ignore packages that will be updated because we know
* that the updated ones don't satisfy depend */
- _alpm_log(PM_LOG_DEBUG, _("checkdeps: dependency '%s' satisfied by installed package '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "checkdeps: dependency '%s' satisfied by installed package '%s'\n",
depend->name, alpm_pkg_get_name(pkg));
satisfied = 1;
break;
@@ -309,7 +326,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
}
if(!satisfied) {
- _alpm_log(PM_LOG_DEBUG, _("checkdeps: updated '%s' won't satisfy a dependency of '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "checkdeps: updated '%s' won't satisfy a dependency of '%s'\n",
alpm_pkg_get_name(oldpkg), alpm_pkg_get_name(p));
miss = _alpm_depmiss_new(p->name, PM_DEP_TYPE_DEPEND, depend->mod,
depend->name, depend->version);
@@ -320,7 +337,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
}
}
}
- free(depend);
+ FREE(depend);
}
}
}
@@ -330,7 +347,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
for(i = packages; i; i = i->next) {
pmpkg_t *tp = i->data;
if(tp == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("null package found in package list"));
+ _alpm_log(PM_LOG_DEBUG, "null package found in package list\n");
continue;
}
@@ -358,7 +375,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
/* else if still not found... */
if(!found) {
- _alpm_log(PM_LOG_DEBUG, _("missing dependency '%s' for package '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "missing dependency '%s' for package '%s'\n",
depend->name, alpm_pkg_get_name(tp));
miss = _alpm_depmiss_new(alpm_pkg_get_name(tp), PM_DEP_TYPE_DEPEND, depend->mod,
depend->name, depend->version);
@@ -368,7 +385,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
FREE(miss);
}
}
- free(depend);
+ FREE(depend);
}
}
} else if(op == PM_TRANS_TYPE_REMOVE) {
@@ -377,7 +394,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
pmpkg_t *rmpkg = alpm_list_getdata(i);
if(rmpkg == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("null package found in package list"));
+ _alpm_log(PM_LOG_DEBUG, "null package found in package list\n");
continue;
}
for(j = alpm_pkg_get_requiredby(rmpkg); j; j = j->next) {
@@ -404,7 +421,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
for(l = _alpm_db_get_pkgcache(db); l; l = l->next) {
pmpkg_t *pkg = l->data;
if(alpm_depcmp(pkg, depend) && !_alpm_pkg_find(alpm_pkg_get_name(pkg), packages)) {
- _alpm_log(PM_LOG_DEBUG, _("checkdeps: dependency '%s' satisfied by installed package '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "checkdeps: dependency '%s' satisfied by installed package '%s'\n",
depend->name, alpm_pkg_get_name(pkg));
satisfied = 1;
break;
@@ -412,7 +429,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
}
if(!satisfied) {
- _alpm_log(PM_LOG_DEBUG, _("checkdeps: found %s which requires %s"),
+ _alpm_log(PM_LOG_DEBUG, "checkdeps: found %s which requires %s\n",
alpm_pkg_get_name(p), alpm_pkg_get_name(rmpkg));
miss = _alpm_depmiss_new(alpm_pkg_get_name(p),
PM_DEP_TYPE_DEPEND, depend->mod, depend->name,
@@ -424,7 +441,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
}
}
}
- free(depend);
+ FREE(depend);
}
}
}
@@ -433,6 +450,61 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
return(baddeps);
}
+static int _alpm_dep_vercmp(const char *version1, pmdepmod_t mod,
+ const char *version2)
+{
+ int equal = 0;
+
+ if(mod == PM_DEP_MOD_ANY) {
+ equal = 1;
+ } else {
+ int cmp = _alpm_versioncmp(version1, version2);
+ switch(mod) {
+ case PM_DEP_MOD_EQ: equal = (cmp == 0); break;
+ case PM_DEP_MOD_GE: equal = (cmp >= 0); break;
+ case PM_DEP_MOD_LE: equal = (cmp <= 0); break;
+ default: equal = 1; break;
+ }
+ }
+ return(equal);
+}
+
+int SYMEXPORT alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep)
+{
+ int equal = 0;
+
+ ALPM_LOG_FUNC;
+
+ const char *pkgname = alpm_pkg_get_name(pkg);
+ const char *pkgversion = alpm_pkg_get_version(pkg);
+
+ if(strcmp(pkgname, dep->name) == 0
+ || alpm_list_find_str(alpm_pkg_get_provides(pkg), dep->name)) {
+
+ equal = _alpm_dep_vercmp(pkgversion, dep->mod, dep->version);
+
+ char *mod = "~=";
+ switch(dep->mod) {
+ case PM_DEP_MOD_EQ: mod = "=="; break;
+ case PM_DEP_MOD_GE: mod = ">="; break;
+ case PM_DEP_MOD_LE: mod = "<="; break;
+ default: break;
+ }
+
+ if(strlen(dep->version) > 0) {
+ _alpm_log(PM_LOG_DEBUG, "depcmp: %s-%s %s %s-%s => %s\n",
+ pkgname, pkgversion,
+ mod, dep->name, dep->version, (equal ? "match" : "no match"));
+ } else {
+ _alpm_log(PM_LOG_DEBUG, "depcmp: %s-%s %s %s => %s\n",
+ pkgname, pkgversion,
+ mod, dep->name, (equal ? "match" : "no match"));
+ }
+ }
+
+ return(equal);
+}
+
pmdepend_t SYMEXPORT *alpm_splitdep(const char *depstring)
{
pmdepend_t *depend;
@@ -446,7 +518,7 @@ pmdepend_t SYMEXPORT *alpm_splitdep(const char *depstring)
depend = malloc(sizeof(pmdepend_t));
if(depend == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmdepend_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmdepend_t));
return(NULL);
}
@@ -482,10 +554,12 @@ pmdepend_t SYMEXPORT *alpm_splitdep(const char *depstring)
return(depend);
}
-/* These parameters are messy. We check if this package, given a list of
- * targets (and a db), is safe to remove. We do NOT remove it if it is in the
- * target list */
-static int can_remove_package(pmdb_t *db, pmpkg_t *pkg, alpm_list_t *targets)
+/* These parameters are messy. We check if this package, given a list of
+ * targets and a db is safe to remove. We do NOT remove it if it is in the
+ * target list, or if if the package was explictly installed and
+ * include_explicit == 0 */
+static int can_remove_package(pmdb_t *db, pmpkg_t *pkg, alpm_list_t *targets,
+ int include_explicit)
{
alpm_list_t *i;
@@ -493,12 +567,21 @@ static int can_remove_package(pmdb_t *db, pmpkg_t *pkg, alpm_list_t *targets)
return(0);
}
- /* see if it was explicitly installed */
- if(alpm_pkg_get_reason(pkg) == PM_PKG_REASON_EXPLICIT) {
- _alpm_log(PM_LOG_DEBUG, _("excluding %s -- explicitly installed"), alpm_pkg_get_name(pkg));
- return(0);
+ if(!include_explicit) {
+ /* see if it was explicitly installed */
+ if(alpm_pkg_get_reason(pkg) == PM_PKG_REASON_EXPLICIT) {
+ _alpm_log(PM_LOG_DEBUG, "excluding %s -- explicitly installed\n",
+ alpm_pkg_get_name(pkg));
+ return(0);
+ }
}
+ /* TODO: checkdeps could be used here, it handles multiple providers
+ * better, but that also makes it slower.
+ * Also this would require to first add the package to the targets list,
+ * then call checkdeps with it, then remove the package from the targets list
+ * if checkdeps detected it would break something */
+
/* see if other packages need it */
for(i = alpm_pkg_get_requiredby(pkg); i; i = i->next) {
pmpkg_t *reqpkg = _alpm_db_get_pkgfromcache(db, i->data);
@@ -511,89 +594,76 @@ static int can_remove_package(pmdb_t *db, pmpkg_t *pkg, alpm_list_t *targets)
return(1);
}
-/* return a new alpm_list_t target list containing all packages in the original
- * target list, as well as all their un-needed dependencies. By un-needed,
- * I mean dependencies that are *only* required for packages in the target
- * list, so they can be safely removed. This function is recursive.
+/**
+ * @brief Adds unneeded dependencies to an existing list of packages.
+ * By unneeded, we mean dependencies that are only required by packages in the
+ * target list, so they can be safely removed.
+ *
+ * @param db package database to do dependency tracing in
+ * @param *targs pointer to a list of packages
+ * @param include_explicit if 0, explicitly installed packages are not included
*/
-alpm_list_t *_alpm_removedeps(pmdb_t *db, alpm_list_t *targs)
+void _alpm_recursedeps(pmdb_t *db, alpm_list_t **targs, int include_explicit)
{
alpm_list_t *i, *j, *k;
- alpm_list_t *newtargs = targs;
ALPM_LOG_FUNC;
- if(db == NULL) {
- return(newtargs);
+ if(db == NULL || targs == NULL) {
+ return;
}
- for(i = targs; i; i = i->next) {
- pmpkg_t *pkg = i->data;
- for(j = alpm_pkg_get_depends(pkg); j; j = j->next) {
- pmdepend_t *depend = alpm_splitdep(j->data);
- pmpkg_t *deppkg;
- if(depend == NULL) {
- continue;
- }
-
- deppkg = _alpm_db_get_pkgfromcache(db, depend->name);
- if(deppkg == NULL) {
- /* package not found... look for a provision instead */
- alpm_list_t *provides = _alpm_db_whatprovides(db, depend->name);
- if(!provides) {
- /* Not found, that's fine, carry on */
- _alpm_log(PM_LOG_DEBUG, _("cannot find package \"%s\" or anything that provides it!"), depend->name);
+ /* TODO: the while loop should be removed if we can assume
+ * that alpm_list_add (or another function) adds to the end of the list,
+ * and that the target list is topo sorted (by _alpm_sortbydeps()).
+ */
+ int ready = 0;
+ while(!ready) {
+ ready = 1;
+ for(i = *targs; i; i = i->next) {
+ pmpkg_t *pkg = i->data;
+ for(j = alpm_pkg_get_depends(pkg); j; j = j->next) {
+ pmdepend_t *depend = alpm_splitdep(j->data);
+ if(depend == NULL) {
continue;
}
- for(k = provides; k; k = k->next) {
- pmpkg_t *provpkg = k->data;
- if(can_remove_package(db, provpkg, newtargs)) {
- pmpkg_t *pkg = _alpm_pkg_dup(provpkg);
-
- _alpm_log(PM_LOG_DEBUG, _("adding '%s' to the targets"), alpm_pkg_get_name(pkg));
+ for(k = _alpm_db_get_pkgcache(db); k; k = k->next) {
+ pmpkg_t *deppkg = k->data;
+ if(alpm_depcmp(deppkg,depend)
+ && can_remove_package(db, deppkg, *targs, include_explicit)) {
+ _alpm_log(PM_LOG_DEBUG, "adding '%s' to the targets\n",
+ alpm_pkg_get_name(deppkg));
/* add it to the target list */
- newtargs = alpm_list_add(newtargs, pkg);
- newtargs = _alpm_removedeps(db, newtargs);
+ *targs = alpm_list_add(*targs, _alpm_pkg_dup(deppkg));
+ ready = 0;
}
}
- alpm_list_free(provides);
- } else if(can_remove_package(db, deppkg, newtargs)) {
- pmpkg_t *pkg = _alpm_pkg_dup(deppkg);
-
- _alpm_log(PM_LOG_DEBUG, _("adding '%s' to the targets"), alpm_pkg_get_name(pkg));
-
- /* add it to the target list */
- newtargs = alpm_list_add(newtargs, pkg);
- newtargs = _alpm_removedeps(db, newtargs);
+ FREE(depend);
}
- free(depend);
}
}
-
- return(newtargs);
}
/* populates *list with packages that need to be installed to satisfy all
* dependencies (recursive) for syncpkg
*
- * make sure *list and *trail are already initialized
+ * make sure **list is already initialized
*/
int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
- alpm_list_t *list, alpm_list_t *trail, pmtrans_t *trans,
- alpm_list_t **data)
+ alpm_list_t **list, pmtrans_t *trans, alpm_list_t **data)
{
- alpm_list_t *i, *j;
+ alpm_list_t *i, *j, *k;
alpm_list_t *targ;
alpm_list_t *deps = NULL;
ALPM_LOG_FUNC;
- if(local == NULL || dbs_sync == NULL || syncpkg == NULL) {
+ if(local == NULL || dbs_sync == NULL || syncpkg == NULL || list == NULL) {
return(-1);
}
- _alpm_log(PM_LOG_DEBUG, _("started resolving dependencies"));
+ _alpm_log(PM_LOG_DEBUG, "started resolving dependencies\n");
targ = alpm_list_add(NULL, syncpkg);
deps = _alpm_checkdeps(local, PM_TRANS_TYPE_ADD, targ);
alpm_list_free(targ);
@@ -605,14 +675,15 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
for(i = deps; i; i = i->next) {
int found = 0;
pmdepmissing_t *miss = i->data;
+ pmdepend_t *missdep = &(miss->depend);
pmpkg_t *sync = NULL;
- /* check if one of the packages in *list already provides this dependency */
- for(j = list; j && !found; j = j->next) {
+ /* check if one of the packages in *list already satisfies this dependency */
+ for(j = *list; j && !found; j = j->next) {
pmpkg_t *sp = j->data;
- if(alpm_list_find_str(alpm_pkg_get_provides(sp), miss->depend.name)) {
- _alpm_log(PM_LOG_DEBUG, _("%s provides dependency %s -- skipping"),
- alpm_pkg_get_name(sp), miss->depend.name);
+ if(alpm_depcmp(sp, missdep)) {
+ _alpm_log(PM_LOG_DEBUG, "%s satisfies dependency %s -- skipping\n",
+ alpm_pkg_get_name(sp), missdep->name);
found = 1;
}
}
@@ -622,29 +693,27 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
/* find the package in one of the repositories */
/* check literals */
- for(j = dbs_sync; !sync && j; j = j->next) {
- sync = _alpm_db_get_pkgfromcache(j->data, miss->depend.name);
+ for(j = dbs_sync; j && !found; j = j->next) {
+ if((sync = _alpm_db_get_pkgfromcache(j->data, missdep->name))) {
+ found = alpm_depcmp(sync, missdep);
+ }
}
- /*TODO this autoresolves the first 'provides' package... we should fix this
+ /*TODO this autoresolves the first 'satisfier' package... we should fix this
* somehow */
/* check provides */
- if(!sync) {
- for(j = dbs_sync; !sync && j; j = j->next) {
- alpm_list_t *provides;
- provides = _alpm_db_whatprovides(j->data, miss->depend.name);
- if(provides) {
- sync = provides->data;
- }
- alpm_list_free(provides);
+ for(j = dbs_sync; j && !found; j = j->next) {
+ for(k = _alpm_db_get_pkgcache(j->data); k && !found; k = k->next) {
+ sync = k->data;
+ found = alpm_depcmp(sync, missdep);
}
}
- if(!sync) {
- _alpm_log(PM_LOG_ERROR, _("cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"),
- miss->target, miss->depend.name);
+ if(!found) {
+ _alpm_log(PM_LOG_ERROR, _("cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)\n"),
+ miss->target, missdep->name);
if(data) {
if((miss = malloc(sizeof(pmdepmissing_t))) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmdepmissing_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmdepmissing_t));
FREELIST(*data);
pm_errno = PM_ERR_MEMORY;
goto error;
@@ -655,53 +724,40 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
pm_errno = PM_ERR_UNSATISFIED_DEPS;
goto error;
}
- if(_alpm_pkg_find(alpm_pkg_get_name(sync), list)) {
- /* this dep is already in the target list */
- _alpm_log(PM_LOG_DEBUG, _("dependency %s is already in the target list -- skipping"),
- alpm_pkg_get_name(sync));
- continue;
+ /* check pmo_ignorepkg and pmo_s_ignore to make sure we haven't pulled in
+ * something we're not supposed to.
+ */
+ int usedep = 1;
+ if(alpm_list_find_str(handle->ignorepkg, alpm_pkg_get_name(sync))) {
+ pmpkg_t *dummypkg = _alpm_pkg_new(miss->target, NULL);
+ QUESTION(trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, dummypkg, sync, NULL, &usedep);
+ _alpm_pkg_free(dummypkg);
}
-
- if(!_alpm_pkg_find(alpm_pkg_get_name(sync), trail)) {
- /* check pmo_ignorepkg and pmo_s_ignore to make sure we haven't pulled in
- * something we're not supposed to.
- */
- int usedep = 1;
- if(alpm_list_find_str(handle->ignorepkg, alpm_pkg_get_name(sync))) {
- pmpkg_t *dummypkg = _alpm_pkg_new(miss->target, NULL);
- QUESTION(trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, dummypkg, sync, NULL, &usedep);
- _alpm_pkg_free(dummypkg);
+ if(usedep) {
+ _alpm_log(PM_LOG_DEBUG, "pulling dependency %s (needed by %s)\n",
+ alpm_pkg_get_name(sync), alpm_pkg_get_name(syncpkg));
+ *list = alpm_list_add(*list, sync);
+ if(_alpm_resolvedeps(local, dbs_sync, sync, list, trans, data)) {
+ goto error;
}
- if(usedep) {
- trail = alpm_list_add(trail, sync);
- if(_alpm_resolvedeps(local, dbs_sync, sync, list, trail, trans, data)) {
+ } else {
+ _alpm_log(PM_LOG_ERROR, _("cannot resolve dependencies for \"%s\"\n"), miss->target);
+ if(data) {
+ if((miss = malloc(sizeof(pmdepmissing_t))) == NULL) {
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmdepmissing_t));
+ FREELIST(*data);
+ pm_errno = PM_ERR_MEMORY;
goto error;
}
- _alpm_log(PM_LOG_DEBUG, _("pulling dependency %s (needed by %s)"),
- alpm_pkg_get_name(sync), alpm_pkg_get_name(syncpkg));
- list = alpm_list_add(list, sync);
- } else {
- _alpm_log(PM_LOG_ERROR, _("cannot resolve dependencies for \"%s\""), miss->target);
- if(data) {
- if((miss = malloc(sizeof(pmdepmissing_t))) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmdepmissing_t));
- FREELIST(*data);
- pm_errno = PM_ERR_MEMORY;
- goto error;
- }
- *miss = *(pmdepmissing_t *)i->data;
- *data = alpm_list_add(*data, miss);
- }
- pm_errno = PM_ERR_UNSATISFIED_DEPS;
- goto error;
+ *miss = *(pmdepmissing_t *)i->data;
+ *data = alpm_list_add(*data, miss);
}
- } else {
- /* cycle detected -- skip it */
- _alpm_log(PM_LOG_DEBUG, _("dependency cycle detected: %s"), sync->name);
+ pm_errno = PM_ERR_UNSATISFIED_DEPS;
+ goto error;
}
}
- _alpm_log(PM_LOG_DEBUG, _("finished resolving dependencies"));
+ _alpm_log(PM_LOG_DEBUG, "finished resolving dependencies\n");
FREELIST(deps);
@@ -712,7 +768,7 @@ error:
return(-1);
}
-const char SYMEXPORT *alpm_dep_get_target(pmdepmissing_t *miss)
+const char SYMEXPORT *alpm_miss_get_target(pmdepmissing_t *miss)
{
ALPM_LOG_FUNC;
@@ -723,7 +779,7 @@ const char SYMEXPORT *alpm_dep_get_target(pmdepmissing_t *miss)
return miss->target;
}
-pmdeptype_t SYMEXPORT alpm_dep_get_type(pmdepmissing_t *miss)
+pmdeptype_t SYMEXPORT alpm_miss_get_type(pmdepmissing_t *miss)
{
ALPM_LOG_FUNC;
@@ -734,36 +790,48 @@ pmdeptype_t SYMEXPORT alpm_dep_get_type(pmdepmissing_t *miss)
return miss->type;
}
-pmdepmod_t SYMEXPORT alpm_dep_get_mod(pmdepmissing_t *miss)
+pmdepend_t SYMEXPORT *alpm_miss_get_dep(pmdepmissing_t *miss)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(miss != NULL, return(NULL));
+
+ return &miss->depend;
+}
+
+pmdepmod_t SYMEXPORT alpm_dep_get_mod(pmdepend_t *dep)
{
ALPM_LOG_FUNC;
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
- ASSERT(miss != NULL, return(-1));
+ ASSERT(dep != NULL, return(-1));
- return miss->depend.mod;
+ return dep->mod;
}
-const char SYMEXPORT *alpm_dep_get_name(pmdepmissing_t *miss)
+const char SYMEXPORT *alpm_dep_get_name(pmdepend_t *dep)
{
ALPM_LOG_FUNC;
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
- ASSERT(miss != NULL, return(NULL));
+ ASSERT(dep != NULL, return(NULL));
- return miss->depend.name;
+ return dep->name;
}
-const char SYMEXPORT *alpm_dep_get_version(pmdepmissing_t *miss)
+const char SYMEXPORT *alpm_dep_get_version(pmdepend_t *dep)
{
ALPM_LOG_FUNC;
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
- ASSERT(miss != NULL, return(NULL));
+ ASSERT(dep != NULL, return(NULL));
- return miss->depend.version;
+ return dep->version;
}
+
/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/deps.h b/lib/libalpm/deps.h
index 2edbb503..59b26307 100644
--- a/lib/libalpm/deps.h
+++ b/lib/libalpm/deps.h
@@ -58,10 +58,9 @@ int _alpm_depmiss_isin(pmdepmissing_t *needle, alpm_list_t *haystack);
alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, pmtranstype_t mode);
alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op,
alpm_list_t *packages);
-alpm_list_t *_alpm_removedeps(pmdb_t *db, alpm_list_t *targs);
+void _alpm_recursedeps(pmdb_t *db, alpm_list_t **targs, int include_explicit);
int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
- alpm_list_t *list, alpm_list_t *trail, pmtrans_t *trans,
- alpm_list_t **data);
+ alpm_list_t **list, pmtrans_t *trans, alpm_list_t **data);
#endif /* _ALPM_DEPS_H */
diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c
index 29ee61ad..f81d22da 100644
--- a/lib/libalpm/error.c
+++ b/lib/libalpm/error.c
@@ -30,6 +30,11 @@
#include "alpm.h"
/* TODO does this really need a file all on its own? */
+const char SYMEXPORT *alpm_strerrorlast(void)
+{
+ return alpm_strerror(pm_errno);
+}
+
const char SYMEXPORT *alpm_strerror(int err)
{
switch(err) {
@@ -42,6 +47,8 @@ const char SYMEXPORT *alpm_strerror(int err)
return _("insufficient privileges");
case PM_ERR_NOT_A_FILE:
return _("could not find or read file");
+ case PM_ERR_NOT_A_DIR:
+ return _("could not find or read directory");
case PM_ERR_WRONG_ARGS:
return _("wrong or NULL argument passed");
/* Interface */
diff --git a/lib/libalpm/error.h b/lib/libalpm/error.h
index 6294f05b..8e9e7c80 100644
--- a/lib/libalpm/error.h
+++ b/lib/libalpm/error.h
@@ -22,7 +22,7 @@
#define _ALPM_ERROR_H
#define RET_ERR(err, ret) do { pm_errno = (err); \
- _alpm_log(PM_LOG_DEBUG, _("returning error %d from %s : %s\n"), err, __func__, alpm_strerror(err)); \
+ _alpm_log(PM_LOG_DEBUG, "returning error %d from %s : %s\n", err, __func__, alpm_strerrorlast()); \
return(ret); } while(0)
#endif /* _ALPM_ERROR_H */
diff --git a/lib/libalpm/group.c b/lib/libalpm/group.c
index 58759d0d..7a6db163 100644
--- a/lib/libalpm/group.c
+++ b/lib/libalpm/group.c
@@ -41,7 +41,7 @@ pmgrp_t *_alpm_grp_new()
grp = calloc(1, sizeof(pmgrp_t));
if(grp == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"),
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"),
sizeof(pmgrp_t));
RET_ERR(PM_ERR_MEMORY, NULL);
}
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index 7cee5020..ea252adb 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -30,6 +30,8 @@
#include <sys/types.h>
#include <syslog.h>
#include <time.h>
+#include <sys/stat.h>
+#include <errno.h>
/* libalpm */
#include "handle.h"
@@ -47,37 +49,16 @@ pmhandle_t *_alpm_handle_new()
handle = malloc(sizeof(pmhandle_t));
if(handle == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmhandle_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmhandle_t));
RET_ERR(PM_ERR_MEMORY, NULL);
}
memset(handle, 0, sizeof(pmhandle_t));
handle->lckfd = -1;
+ handle->logstream = NULL;
-#ifndef CYGWIN
/* see if we're root or not */
handle->uid = geteuid();
-//#ifndef FAKEROOT
-// if(!handle->uid && getenv("FAKEROOTKEY")) {
-// /* fakeroot doesn't count, we're non-root */
-// handle->uid = 99;
-// }
-//#endif
-//
-// /* see if we're root or not (fakeroot does not count) */
-//#ifndef FAKEROOT
-// if(handle->uid == 0 && !getenv("FAKEROOTKEY")) {
-// /* } make vim indent work - stupid ifdef's */
-//#else
-// if(handle->uid == 0) {
-//#endif
-// handle->access = PM_ACCESS_RW;
-// } else {
-// handle->access = PM_ACCESS_RO;
-// }
-//#else
- handle->access = PM_ACCESS_RW;
-#endif
handle->root = NULL;
handle->dbpath = NULL;
handle->cachedirs = NULL;
@@ -95,10 +76,10 @@ void _alpm_handle_free(pmhandle_t *handle)
return;
}
- /* close logfiles */
- if(handle->logfd) {
- fclose(handle->logfd);
- handle->logfd = NULL;
+ /* close logfile */
+ if(handle->logstream) {
+ fclose(handle->logstream);
+ handle->logstream= NULL;
}
if(handle->usesyslog) {
handle->usesyslog = 0;
@@ -147,76 +128,112 @@ void SYMEXPORT alpm_option_set_logcb(alpm_cb_log cb) { handle->logcb = cb; }
void SYMEXPORT alpm_option_set_dlcb(alpm_cb_download cb) { handle->dlcb = cb; }
-void SYMEXPORT alpm_option_set_root(const char *root)
+int SYMEXPORT alpm_option_set_root(const char *root)
{
+ struct stat st;
+ char *realroot;
+ size_t rootlen;
+
ALPM_LOG_FUNC;
- if(handle->root) FREE(handle->root);
+ if(!root) {
+ pm_errno = PM_ERR_WRONG_ARGS;
+ return(-1);
+ }
+ if(stat(root, &st) == -1 || !S_ISDIR(st.st_mode)) {
+ pm_errno = PM_ERR_NOT_A_DIR;
+ return(-1);
+ }
/* According to the man page, realpath is safe to use IFF the second arg is
* NULL. */
- char *realroot = realpath(root, NULL);
- if(realroot) {
- root = realroot;
- } else {
- _alpm_log(PM_LOG_ERROR, _("cannot canonicalize specified root path '%s'"), root);
+ realroot = realpath(root, NULL);
+ if(!realroot) {
+ pm_errno = PM_ERR_NOT_A_DIR;
+ return(-1);
}
- if(root) {
- /* verify root ends in a '/' */
- int rootlen = strlen(realroot);
- if(realroot[rootlen-1] != '/') {
- rootlen += 1;
- }
- handle->root = calloc(rootlen+1, sizeof(char));
- strncpy(handle->root, realroot, rootlen);
- handle->root[rootlen-1] = '/';
+ /* verify root ends in a '/' */
+ rootlen = strlen(realroot);
+ if(realroot[rootlen-1] != '/') {
+ rootlen += 1;
}
- if(realroot) {
- free(realroot);
+ if(handle->root) {
+ FREE(handle->root);
}
+ handle->root = calloc(rootlen + 1, sizeof(char));
+ strncpy(handle->root, realroot, rootlen);
+ handle->root[rootlen-1] = '/';
+ FREE(realroot);
+ _alpm_log(PM_LOG_DEBUG, "option 'root' = %s\n", handle->root);
+ return(0);
}
-void SYMEXPORT alpm_option_set_dbpath(const char *dbpath)
+int SYMEXPORT alpm_option_set_dbpath(const char *dbpath)
{
+ struct stat st;
+ size_t dbpathlen, lockfilelen;
+ const char *lf = "db.lck";
+
ALPM_LOG_FUNC;
- if(handle->dbpath) FREE(handle->dbpath);
- if(handle->lockfile) FREE(handle->lockfile);
- if(dbpath) {
- /* verify dbpath ends in a '/' */
- int dbpathlen = strlen(dbpath);
- if(dbpath[dbpathlen-1] != '/') {
- dbpathlen += 1;
- }
- handle->dbpath = calloc(dbpathlen+1, sizeof(char));
- strncpy(handle->dbpath, dbpath, dbpathlen);
- handle->dbpath[dbpathlen-1] = '/';
-
- const char *lf = "db.lck";
- int lockfilelen = strlen(handle->dbpath) + strlen(lf);
- handle->lockfile = calloc(lockfilelen + 1, sizeof(char));
- snprintf(handle->lockfile, lockfilelen, "%s%s", handle->dbpath, lf);
+ if(!dbpath) {
+ pm_errno = PM_ERR_WRONG_ARGS;
+ return(-1);
}
+ if(stat(dbpath, &st) == -1 || !S_ISDIR(st.st_mode)) {
+ pm_errno = PM_ERR_NOT_A_DIR;
+ return(-1);
+ }
+ /* verify dbpath ends in a '/' */
+ dbpathlen = strlen(dbpath);
+ if(dbpath[dbpathlen-1] != '/') {
+ dbpathlen += 1;
+ }
+ if(handle->dbpath) {
+ FREE(handle->dbpath);
+ }
+ handle->dbpath = calloc(dbpathlen+1, sizeof(char));
+ strncpy(handle->dbpath, dbpath, dbpathlen);
+ handle->dbpath[dbpathlen-1] = '/';
+ _alpm_log(PM_LOG_DEBUG, "option 'dbpath' = %s\n", handle->dbpath);
+ if(handle->lockfile) {
+ FREE(handle->lockfile);
+ }
+ lockfilelen = strlen(handle->dbpath) + strlen(lf) + 1;
+ handle->lockfile = calloc(lockfilelen, sizeof(char));
+ snprintf(handle->lockfile, lockfilelen, "%s%s", handle->dbpath, lf);
+ _alpm_log(PM_LOG_DEBUG, "option 'lockfile' = %s\n", handle->lockfile);
+ return(0);
}
-void SYMEXPORT alpm_option_add_cachedir(const char *cachedir)
+int SYMEXPORT alpm_option_add_cachedir(const char *cachedir)
{
+ struct stat st;
+ char *newcachedir;
+ size_t cachedirlen;
+
ALPM_LOG_FUNC;
- if(cachedir) {
- char *newcachedir;
- /* verify cachedir ends in a '/' */
- int cachedirlen = strlen(cachedir);
- if(cachedir[cachedirlen-1] != '/') {
- cachedirlen += 1;
- }
- newcachedir = calloc(cachedirlen + 1, sizeof(char));
- strncpy(newcachedir, cachedir, cachedirlen);
- newcachedir[cachedirlen-1] = '/';
- handle->cachedirs = alpm_list_add(handle->cachedirs, newcachedir);
- _alpm_log(PM_LOG_DEBUG, _("option 'cachedir' = %s"), newcachedir);
+ if(!cachedir) {
+ pm_errno = PM_ERR_WRONG_ARGS;
+ return(-1);
}
+ if(stat(cachedir, &st) == -1 || !S_ISDIR(st.st_mode)) {
+ pm_errno = PM_ERR_NOT_A_DIR;
+ return(-1);
+ }
+ /* verify cachedir ends in a '/' */
+ cachedirlen = strlen(cachedir);
+ if(cachedir[cachedirlen-1] != '/') {
+ cachedirlen += 1;
+ }
+ newcachedir = calloc(cachedirlen + 1, sizeof(char));
+ strncpy(newcachedir, cachedir, cachedirlen);
+ newcachedir[cachedirlen-1] = '/';
+ handle->cachedirs = alpm_list_add(handle->cachedirs, newcachedir);
+ _alpm_log(PM_LOG_DEBUG, "option 'cachedir' = %s\n", newcachedir);
+ return(0);
}
void SYMEXPORT alpm_option_set_cachedirs(alpm_list_t *cachedirs)
@@ -225,21 +242,48 @@ void SYMEXPORT alpm_option_set_cachedirs(alpm_list_t *cachedirs)
if(cachedirs) handle->cachedirs = cachedirs;
}
-void SYMEXPORT alpm_option_set_logfile(const char *logfile)
+int SYMEXPORT alpm_option_set_logfile(const char *logfile)
{
+ char *oldlogfile = handle->logfile;
+ FILE *oldlogstream = handle->logstream;
+
ALPM_LOG_FUNC;
- if(handle->logfile) {
- FREE(handle->logfile);
- if(handle->logfd) {
- fclose(handle->logfd);
- handle->logfd = NULL;
+ if(!logfile) {
+ pm_errno = PM_ERR_WRONG_ARGS;
+ return(-1);
+ }
+
+ handle->logfile = strdup(logfile);
+ handle->logstream = fopen(logfile, "a");
+ if(handle->logstream == NULL) {
+ /* TODO we probably want to do this at some point, but right now
+ * it just blows up when a user calls pacman without privilages */
+ _alpm_log(PM_LOG_DEBUG, "couldn't open logfile for writing, ignoring\n");
+ /*
+ if(errno == EACCES) {
+ pm_errno = PM_ERR_BADPERMS;
+ } else if(errno == ENOENT) {
+ pm_errno = PM_ERR_NOT_A_DIR;
+ } else {
+ pm_errno = PM_ERR_SYSTEM;
}
+ * reset logfile to its previous value *
+ FREE(handle->logfile);
+ handle->logfile = oldlogfile;
+ handle->logstream = oldlogstream;
+ return(-1);
+ */
+ }
+
+ if(oldlogfile) {
+ FREE(oldlogfile);
}
- if(logfile) {
- handle->logfile = strdup(logfile);
- handle->logfd = fopen(logfile, "a");
+ if(oldlogstream) {
+ fclose(oldlogstream);
}
+ _alpm_log(PM_LOG_DEBUG, "option 'logfile' = %s\n", handle->logfile);
+ return(0);
}
void SYMEXPORT alpm_option_set_usesyslog(unsigned short usesyslog)
@@ -273,6 +317,7 @@ void SYMEXPORT alpm_option_add_ignorepkg(const char *pkg)
{
handle->ignorepkg = alpm_list_add(handle->ignorepkg, strdup(pkg));
}
+
void alpm_option_set_ignorepkgs(alpm_list_t *ignorepkgs)
{
if(handle->ignorepkg) FREELIST(handle->ignorepkg);
@@ -283,6 +328,7 @@ void SYMEXPORT alpm_option_add_holdpkg(const char *pkg)
{
handle->holdpkg = alpm_list_add(handle->holdpkg, strdup(pkg));
}
+
void SYMEXPORT alpm_option_set_holdpkgs(alpm_list_t *holdpkgs)
{
if(handle->holdpkg) FREELIST(handle->holdpkg);
diff --git a/lib/libalpm/handle.h b/lib/libalpm/handle.h
index b0e80338..cf2e9d5c 100644
--- a/lib/libalpm/handle.h
+++ b/lib/libalpm/handle.h
@@ -30,40 +30,37 @@
#include "alpm.h"
#include "trans.h"
-typedef enum _pmaccess_t {
- PM_ACCESS_RO,
- PM_ACCESS_RW
-} pmaccess_t;
-
typedef struct _pmhandle_t {
- /* Internal */
- pmaccess_t access;
- uid_t uid;
- pmdb_t *db_local;
- alpm_list_t *dbs_sync; /* List of (pmdb_t *) */
- FILE *logfd;
- int lckfd;
+ /* internal usage */
+ uid_t uid; /* current UID */ /* TODO is this used? */
+ pmdb_t *db_local; /* local db pointer */
+ alpm_list_t *dbs_sync; /* List of (pmdb_t *) */
+ FILE *logstream; /* log file stream pointer */
+ int lckfd; /* lock file descriptor if one exists */
pmtrans_t *trans;
- /* options */
- alpm_cb_log logcb; /* Log callback function */
- alpm_cb_download dlcb; /* Download callback function */
- char *root; /* Root path, default '/' */
- char *dbpath; /* Base path to pacman's DBs */
- alpm_list_t *cachedirs; /* Paths to pacman cache directories */
- char *logfile; /* Name of the file to log to */ /*TODO is this used?*/
- char *lockfile; /* Name of the lock file */
- unsigned short usesyslog; /* Use syslog instead of logfile? */ /* TODO move to frontend */
-
- alpm_list_t *noupgrade; /* List of packages NOT to be upgraded */
- alpm_list_t *noextract; /* List of packages NOT to extract */ /*TODO is this used?*/
- alpm_list_t *ignorepkg; /* List of packages to ignore */
- alpm_list_t *holdpkg; /* List of packages which 'hold' pacman */
+ /* callback functions */
+ alpm_cb_log logcb; /* Log callback function */
+ alpm_cb_download dlcb; /* Download callback function */
- time_t upgradedelay; /* Amount of time to wait before upgrading a package */
- /* servers */
- char *xfercommand; /* External download command */
+ /* filesystem paths */
+ char *root; /* Root path, default '/' */
+ char *dbpath; /* Base path to pacman's DBs */
+ char *logfile; /* Name of the log file */
+ char *lockfile; /* Name of the lock file */
+ alpm_list_t *cachedirs; /* Paths to pacman cache directories */
+
+ /* package lists */
+ alpm_list_t *noupgrade; /* List of packages NOT to be upgraded */
+ alpm_list_t *noextract; /* List of packages NOT to extract */ /*TODO is this used?*/
+ alpm_list_t *ignorepkg; /* List of packages to ignore */
+ alpm_list_t *holdpkg; /* List of packages which 'hold' pacman */
+
+ /* options */
+ unsigned short usesyslog; /* Use syslog instead of logfile? */ /* TODO move to frontend */
unsigned short nopassiveftp; /* Don't use PASV ftp connections */
+ time_t upgradedelay; /* Time to wait before upgrading a package */
+ char *xfercommand; /* External download command */
} pmhandle_t;
extern pmhandle_t *handle;
diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c
index 19f41283..f4564fc9 100644
--- a/lib/libalpm/log.c
+++ b/lib/libalpm/log.c
@@ -52,7 +52,7 @@ int SYMEXPORT alpm_logaction(char *fmt, ...)
ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
va_start(args, fmt);
- ret = _alpm_logaction(handle->usesyslog, handle->logfd, fmt, args);
+ ret = _alpm_logaction(handle->usesyslog, handle->logstream, fmt, args);
va_end(args);
/* TODO We should add a prefix to log strings depending on who called us.
diff --git a/lib/libalpm/md5.c b/lib/libalpm/md5.c
index 6d5aa6a3..8d6fe049 100644
--- a/lib/libalpm/md5.c
+++ b/lib/libalpm/md5.c
@@ -1,307 +1,336 @@
-/* MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm
+/*
+ * RFC 1321 compliant MD5 implementation
+ *
+ * Copyright (C) 2006-2007 Christophe Devine
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License, version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
*/
-
-/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software.
+/*
+ * The MD5 algorithm was designed by Ron Rivest in 1991.
+ *
+ * http://www.ietf.org/rfc/rfc1321.txt
*/
+/*
+ * Pacman Notes:
+ *
+ * Taken from the XySSL project at www.xyssl.org under terms of the
+ * LGPL. This is from version 0.7 of the library, and has been modified
+ * as following, which may be helpful for future updates:
+ * * change include from "xyssl/md5.h" to "md5.h"
+ * * removal of HMAC code
+ * * removal of SELF_TEST code
+ * * removal of ipad and opad from the md5_context struct in md5.h
+ * * change of md5_file prototype from
+ * int md5_file( char *path, unsigned char *output )
+ * to
+ * int md5_file( const char *path, unsigned char *output )
+ */
+
+#ifndef _CRT_SECURE_NO_DEPRECATE
+#define _CRT_SECURE_NO_DEPRECATE 1
+#endif
#include <string.h>
+#include <stdio.h>
#include "md5.h"
-/* Constants for MD5Transform routine.
+/*
+ * 32-bit integer manipulation macros (little endian)
*/
+#ifndef GET_UINT32_LE
+#define GET_UINT32_LE(n,b,i) \
+{ \
+ (n) = ( (unsigned long) (b)[(i) ] ) \
+ | ( (unsigned long) (b)[(i) + 1] << 8 ) \
+ | ( (unsigned long) (b)[(i) + 2] << 16 ) \
+ | ( (unsigned long) (b)[(i) + 3] << 24 ); \
+}
+#endif
+
+#ifndef PUT_UINT32_LE
+#define PUT_UINT32_LE(n,b,i) \
+{ \
+ (b)[(i) ] = (unsigned char) ( (n) ); \
+ (b)[(i) + 1] = (unsigned char) ( (n) >> 8 ); \
+ (b)[(i) + 2] = (unsigned char) ( (n) >> 16 ); \
+ (b)[(i) + 3] = (unsigned char) ( (n) >> 24 ); \
+}
+#endif
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
-
-static void MD5Transform(UINT4 [4], unsigned char [64]);
-static void Encode(unsigned char *, UINT4 *, unsigned int);
-static void Decode(UINT4 *, unsigned char *, unsigned int);
-
-static unsigned char PADDING[64] = {
- 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-/* F, G, H and I are basic MD5 functions.
+/*
+ * MD5 context setup
*/
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define I(x, y, z) ((y) ^ ((x) | (~z)))
+void md5_starts( md5_context *ctx )
+{
+ ctx->total[0] = 0;
+ ctx->total[1] = 0;
-/* ROTATE_LEFT rotates x left n bits.
- */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
+ ctx->state[0] = 0x67452301;
+ ctx->state[1] = 0xEFCDAB89;
+ ctx->state[2] = 0x98BADCFE;
+ ctx->state[3] = 0x10325476;
+}
-/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
-Rotation is separate from addition to prevent recomputation.
- */
-#define FF(a, b, c, d, x, s, ac) { \
- (a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define GG(a, b, c, d, x, s, ac) { \
- (a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define HH(a, b, c, d, x, s, ac) { \
- (a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define II(a, b, c, d, x, s, ac) { \
- (a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-
-/* MD5 initialization. Begins an MD5 operation, writing a new context.
- */
-void _alpm_MD5Init (context)
-MD5_CTX *context; /* context */
+static void md5_process( md5_context *ctx, unsigned char data[64] )
{
- context->count[0] = context->count[1] = 0;
- /* Load magic initialization constants.
-*/
- context->state[0] = 0x67452301;
- context->state[1] = 0xefcdab89;
- context->state[2] = 0x98badcfe;
- context->state[3] = 0x10325476;
+ unsigned long X[16], A, B, C, D;
+
+ GET_UINT32_LE( X[ 0], data, 0 );
+ GET_UINT32_LE( X[ 1], data, 4 );
+ GET_UINT32_LE( X[ 2], data, 8 );
+ GET_UINT32_LE( X[ 3], data, 12 );
+ GET_UINT32_LE( X[ 4], data, 16 );
+ GET_UINT32_LE( X[ 5], data, 20 );
+ GET_UINT32_LE( X[ 6], data, 24 );
+ GET_UINT32_LE( X[ 7], data, 28 );
+ GET_UINT32_LE( X[ 8], data, 32 );
+ GET_UINT32_LE( X[ 9], data, 36 );
+ GET_UINT32_LE( X[10], data, 40 );
+ GET_UINT32_LE( X[11], data, 44 );
+ GET_UINT32_LE( X[12], data, 48 );
+ GET_UINT32_LE( X[13], data, 52 );
+ GET_UINT32_LE( X[14], data, 56 );
+ GET_UINT32_LE( X[15], data, 60 );
+
+#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
+
+#define P(a,b,c,d,k,s,t) \
+{ \
+ a += F(b,c,d) + X[k] + t; a = S(a,s) + b; \
+}
+
+ A = ctx->state[0];
+ B = ctx->state[1];
+ C = ctx->state[2];
+ D = ctx->state[3];
+
+#define F(x,y,z) (z ^ (x & (y ^ z)))
+
+ P( A, B, C, D, 0, 7, 0xD76AA478 );
+ P( D, A, B, C, 1, 12, 0xE8C7B756 );
+ P( C, D, A, B, 2, 17, 0x242070DB );
+ P( B, C, D, A, 3, 22, 0xC1BDCEEE );
+ P( A, B, C, D, 4, 7, 0xF57C0FAF );
+ P( D, A, B, C, 5, 12, 0x4787C62A );
+ P( C, D, A, B, 6, 17, 0xA8304613 );
+ P( B, C, D, A, 7, 22, 0xFD469501 );
+ P( A, B, C, D, 8, 7, 0x698098D8 );
+ P( D, A, B, C, 9, 12, 0x8B44F7AF );
+ P( C, D, A, B, 10, 17, 0xFFFF5BB1 );
+ P( B, C, D, A, 11, 22, 0x895CD7BE );
+ P( A, B, C, D, 12, 7, 0x6B901122 );
+ P( D, A, B, C, 13, 12, 0xFD987193 );
+ P( C, D, A, B, 14, 17, 0xA679438E );
+ P( B, C, D, A, 15, 22, 0x49B40821 );
+
+#undef F
+
+#define F(x,y,z) (y ^ (z & (x ^ y)))
+
+ P( A, B, C, D, 1, 5, 0xF61E2562 );
+ P( D, A, B, C, 6, 9, 0xC040B340 );
+ P( C, D, A, B, 11, 14, 0x265E5A51 );
+ P( B, C, D, A, 0, 20, 0xE9B6C7AA );
+ P( A, B, C, D, 5, 5, 0xD62F105D );
+ P( D, A, B, C, 10, 9, 0x02441453 );
+ P( C, D, A, B, 15, 14, 0xD8A1E681 );
+ P( B, C, D, A, 4, 20, 0xE7D3FBC8 );
+ P( A, B, C, D, 9, 5, 0x21E1CDE6 );
+ P( D, A, B, C, 14, 9, 0xC33707D6 );
+ P( C, D, A, B, 3, 14, 0xF4D50D87 );
+ P( B, C, D, A, 8, 20, 0x455A14ED );
+ P( A, B, C, D, 13, 5, 0xA9E3E905 );
+ P( D, A, B, C, 2, 9, 0xFCEFA3F8 );
+ P( C, D, A, B, 7, 14, 0x676F02D9 );
+ P( B, C, D, A, 12, 20, 0x8D2A4C8A );
+
+#undef F
+
+#define F(x,y,z) (x ^ y ^ z)
+
+ P( A, B, C, D, 5, 4, 0xFFFA3942 );
+ P( D, A, B, C, 8, 11, 0x8771F681 );
+ P( C, D, A, B, 11, 16, 0x6D9D6122 );
+ P( B, C, D, A, 14, 23, 0xFDE5380C );
+ P( A, B, C, D, 1, 4, 0xA4BEEA44 );
+ P( D, A, B, C, 4, 11, 0x4BDECFA9 );
+ P( C, D, A, B, 7, 16, 0xF6BB4B60 );
+ P( B, C, D, A, 10, 23, 0xBEBFBC70 );
+ P( A, B, C, D, 13, 4, 0x289B7EC6 );
+ P( D, A, B, C, 0, 11, 0xEAA127FA );
+ P( C, D, A, B, 3, 16, 0xD4EF3085 );
+ P( B, C, D, A, 6, 23, 0x04881D05 );
+ P( A, B, C, D, 9, 4, 0xD9D4D039 );
+ P( D, A, B, C, 12, 11, 0xE6DB99E5 );
+ P( C, D, A, B, 15, 16, 0x1FA27CF8 );
+ P( B, C, D, A, 2, 23, 0xC4AC5665 );
+
+#undef F
+
+#define F(x,y,z) (y ^ (x | ~z))
+
+ P( A, B, C, D, 0, 6, 0xF4292244 );
+ P( D, A, B, C, 7, 10, 0x432AFF97 );
+ P( C, D, A, B, 14, 15, 0xAB9423A7 );
+ P( B, C, D, A, 5, 21, 0xFC93A039 );
+ P( A, B, C, D, 12, 6, 0x655B59C3 );
+ P( D, A, B, C, 3, 10, 0x8F0CCC92 );
+ P( C, D, A, B, 10, 15, 0xFFEFF47D );
+ P( B, C, D, A, 1, 21, 0x85845DD1 );
+ P( A, B, C, D, 8, 6, 0x6FA87E4F );
+ P( D, A, B, C, 15, 10, 0xFE2CE6E0 );
+ P( C, D, A, B, 6, 15, 0xA3014314 );
+ P( B, C, D, A, 13, 21, 0x4E0811A1 );
+ P( A, B, C, D, 4, 6, 0xF7537E82 );
+ P( D, A, B, C, 11, 10, 0xBD3AF235 );
+ P( C, D, A, B, 2, 15, 0x2AD7D2BB );
+ P( B, C, D, A, 9, 21, 0xEB86D391 );
+
+#undef F
+
+ ctx->state[0] += A;
+ ctx->state[1] += B;
+ ctx->state[2] += C;
+ ctx->state[3] += D;
}
-/* MD5 block update operation. Continues an MD5 message-digest
- operation, processing another message block, and updating the
- context.
+/*
+ * MD5 process buffer
*/
-void _alpm_MD5Update (context, input, inputLen)
-MD5_CTX *context; /* context */
-unsigned char *input; /* input block */
-unsigned int inputLen; /* length of input block */
+void md5_update( md5_context *ctx, unsigned char *input, int ilen )
{
- unsigned int i, index, partLen;
-
- /* Compute number of bytes mod 64 */
- index = (unsigned int)((context->count[0] >> 3) & 0x3F);
+ int fill;
+ unsigned long left;
+
+ if( ilen <= 0 )
+ return;
+
+ left = ctx->total[0] & 0x3F;
+ fill = 64 - left;
+
+ ctx->total[0] += ilen;
+ ctx->total[0] &= 0xFFFFFFFF;
+
+ if( ctx->total[0] < (unsigned long) ilen )
+ ctx->total[1]++;
+
+ if( left && ilen >= fill )
+ {
+ memcpy( (void *) (ctx->buffer + left),
+ (void *) input, fill );
+ md5_process( ctx, ctx->buffer );
+ input += fill;
+ ilen -= fill;
+ left = 0;
+ }
+
+ while( ilen >= 64 )
+ {
+ md5_process( ctx, input );
+ input += 64;
+ ilen -= 64;
+ }
+
+ if( ilen > 0 )
+ {
+ memcpy( (void *) (ctx->buffer + left),
+ (void *) input, ilen );
+ }
+}
- /* Update number of bits */
- if ((context->count[0] += ((UINT4)inputLen << 3))
+static const unsigned char md5_padding[64] =
+{
+ 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
- < ((UINT4)inputLen << 3))
- context->count[1]++;
- context->count[1] += ((UINT4)inputLen >> 29);
+/*
+ * MD5 final digest
+ */
+void md5_finish( md5_context *ctx, unsigned char *output )
+{
+ unsigned long last, padn;
+ unsigned long high, low;
+ unsigned char msglen[8];
- partLen = 64 - index;
+ high = ( ctx->total[0] >> 29 )
+ | ( ctx->total[1] << 3 );
+ low = ( ctx->total[0] << 3 );
- /* Transform as many times as possible.
-*/
- if (inputLen >= partLen) {
- memcpy ((POINTER)&context->buffer[index], (POINTER)input, partLen);
- MD5Transform (context->state, context->buffer);
+ PUT_UINT32_LE( low, msglen, 0 );
+ PUT_UINT32_LE( high, msglen, 4 );
- for (i = partLen; i + 63 < inputLen; i += 64)
- MD5Transform (context->state, &input[i]);
+ last = ctx->total[0] & 0x3F;
+ padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last );
- index = 0;
- }
- else
- i = 0;
+ md5_update( ctx, (unsigned char *) md5_padding, padn );
+ md5_update( ctx, msglen, 8 );
- /* Buffer remaining input */
- memcpy ((POINTER)&context->buffer[index], (POINTER)&input[i], inputLen-i);
+ PUT_UINT32_LE( ctx->state[0], output, 0 );
+ PUT_UINT32_LE( ctx->state[1], output, 4 );
+ PUT_UINT32_LE( ctx->state[2], output, 8 );
+ PUT_UINT32_LE( ctx->state[3], output, 12 );
}
-/* MD5 finalization. Ends an MD5 message-digest operation, writing the
- the message digest and zeroizing the context.
+/*
+ * Output = MD5( input buffer )
*/
-void _alpm_MD5Final (digest, context)
-unsigned char digest[16]; /* message digest */
-MD5_CTX *context; /* context */
+void md5( unsigned char *input, int ilen,
+ unsigned char *output )
{
- unsigned char bits[8];
- unsigned int index, padLen;
+ md5_context ctx;
- /* Save number of bits */
- Encode (bits, context->count, 8);
+ md5_starts( &ctx );
+ md5_update( &ctx, input, ilen );
+ md5_finish( &ctx, output );
- /* Pad out to 56 mod 64.
-*/
- index = (unsigned int)((context->count[0] >> 3) & 0x3f);
- padLen = (index < 56) ? (56 - index) : (120 - index);
- _alpm_MD5Update (context, PADDING, padLen);
-
- /* Append length (before padding) */
- _alpm_MD5Update (context, bits, 8);
-
- /* Store state in digest */
- Encode (digest, context->state, 16);
-
- /* Zeroize sensitive information.
-*/
- memset ((POINTER)context, 0, sizeof (*context));
+ memset( &ctx, 0, sizeof( md5_context ) );
}
-/* MD5 basic transformation. Transforms state based on block.
+/*
+ * Output = MD5( file contents )
*/
-static void MD5Transform (state, block)
-UINT4 state[4];
-unsigned char block[64];
+int md5_file( const char *path, unsigned char *output )
{
- UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
-
- Decode (x, block, 64);
-
- /* Round 1 */
- FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
- FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
- FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
- FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
- FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
- FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
- FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
- FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
- FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
- FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
- FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
- FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
- FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
- FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
- FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
- FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
-
- /* Round 2 */
- GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
- GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
- GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
- GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
- GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
- GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
- GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
- GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
- GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
- GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
- GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
-
- GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
- GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
- GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
- GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
- GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
-
- /* Round 3 */
- HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
- HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
- HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
- HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
- HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
- HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
- HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
- HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
- HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
- HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
- HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
- HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
- HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
- HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
- HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
- HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
-
- /* Round 4 */
- II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
- II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
- II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
- II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
- II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
- II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
- II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
- II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
- II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
- II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
- II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
- II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
- II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
- II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
- II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
- II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
-
- state[0] += a;
- state[1] += b;
- state[2] += c;
- state[3] += d;
-
- /* Zeroize sensitive information.
-
-*/
- memset ((POINTER)x, 0, sizeof (x));
-}
+ FILE *f;
+ size_t n;
+ md5_context ctx;
+ unsigned char buf[1024];
-/* Encodes input (UINT4) into output (unsigned char). Assumes len is
- a multiple of 4.
- */
-static void Encode (output, input, len)
-unsigned char *output;
-UINT4 *input;
-unsigned int len;
-{
- unsigned int i, j;
-
- for (i = 0, j = 0; j < len; i++, j += 4) {
- output[j] = (unsigned char)(input[i] & 0xff);
- output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
- output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
- output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
- }
-}
+ if( ( f = fopen( path, "rb" ) ) == NULL )
+ return( 1 );
-/* Decodes input (unsigned char) into output (UINT4). Assumes len is
- a multiple of 4.
- */
-static void Decode (output, input, len)
-UINT4 *output;
-unsigned char *input;
-unsigned int len;
-{
- unsigned int i, j;
+ md5_starts( &ctx );
+
+ while( ( n = fread( buf, 1, sizeof( buf ), f ) ) > 0 )
+ md5_update( &ctx, buf, (int) n );
+
+ md5_finish( &ctx, output );
+
+ memset( &ctx, 0, sizeof( md5_context ) );
+
+ if( ferror( f ) != 0 )
+ {
+ fclose( f );
+ return( 2 );
+ }
- for (i = 0, j = 0; j < len; i++, j += 4)
- output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
- (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
+ fclose( f );
+ return( 0 );
}
-/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/md5.h b/lib/libalpm/md5.h
index 8ae324e3..7af70749 100644
--- a/lib/libalpm/md5.h
+++ b/lib/libalpm/md5.h
@@ -1,53 +1,91 @@
-/* MD5.H - header file for MD5C.C
+/*
+ * RFC 1321 compliant MD5 implementation
+ *
+ * Copyright (C) 2006-2007 Christophe Devine
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License, version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
*/
-/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software. */
-#ifndef _ALPM_MD5_H
-#define _ALPM_MD5_H
+/**
+ * \file md5.h
+ */
+#ifndef _MD5_H
+#define _MD5_H
-/* POINTER defines a generic pointer type */
-typedef unsigned char *POINTER;
+#ifdef __cplusplus
+extern "C" {
+#endif
-/* UINT2 defines a two byte word */
-typedef unsigned short int UINT2;
+/**
+ * \brief MD5 context structure
+ */
+typedef struct
+{
+ unsigned long total[2]; /*!< number of bytes processed */
+ unsigned long state[4]; /*!< intermediate digest state */
+ unsigned char buffer[64]; /*!< data block being processed */
+}
+md5_context;
-/* UINT4 defines a four byte word */
-typedef unsigned int UINT4;
+/**
+ * \brief MD5 context setup
+ *
+ * \param ctx context to be initialized
+ */
+void md5_starts( md5_context *ctx );
+/**
+ * \brief MD5 process buffer
+ *
+ * \param ctx MD5 context
+ * \param input buffer holding the data
+ * \param ilen length of the input data
+ */
+void md5_update( md5_context *ctx, unsigned char *input, int ilen );
-/* MD5 context. */
-typedef struct {
- UINT4 state[4]; /* state (ABCD) */
- UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
- unsigned char buffer[64]; /* input buffer */
-} MD5_CTX;
+/**
+ * \brief MD5 final digest
+ *
+ * \param ctx MD5 context
+ * \param output MD5 checksum result
+ */
+void md5_finish( md5_context *ctx, unsigned char *output );
-void _alpm_MD5Init(MD5_CTX *);
-void _alpm_MD5Update(MD5_CTX *, unsigned char *, unsigned int);
-void _alpm_MD5Final(unsigned char [16], MD5_CTX *);
+/**
+ * \brief Output = MD5( input buffer )
+ *
+ * \param input buffer holding the data
+ * \param ilen length of the input data
+ * \param output MD5 checksum result
+ */
+void md5( unsigned char *input, int ilen,
+ unsigned char *output );
-char* _alpm_MDFile(char *);
-void _alpm_MDPrint(unsigned char [16]);
+/**
+ * \brief Output = MD5( file contents )
+ *
+ * \param path input file name
+ * \param output MD5 checksum result
+ *
+ * \return 0 if successful, 1 if fopen failed,
+ * or 2 if fread failed
+ */
+int md5_file( const char *path, unsigned char *output );
-#endif /* _ALPM_MD5_H */
+#ifdef __cplusplus
+}
+#endif
-/* vim: set ts=2 sw=2 noet: */
+#endif /* md5.h */
diff --git a/lib/libalpm/md5driver.c b/lib/libalpm/md5driver.c
deleted file mode 100644
index e2821bf0..00000000
--- a/lib/libalpm/md5driver.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/* MD5DRIVER.C - taken and modified from MDDRIVER.C (license below) */
-/* for use in pacman. */
-/*********************************************************************/
-
-/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
-rights reserved.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software.
- */
-
-/* The following makes MD default to MD5 if it has not already been
- defined with C compiler flags.
- */
-#define MD MD5
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-/* libalpm */
-#include "alpm.h"
-#include "log.h"
-#include "util.h"
-#include "md5.h"
-
-/* Length of test block, number of test blocks.
- */
-#define TEST_BLOCK_LEN 1000
-#define TEST_BLOCK_COUNT 1000
-
-#define MD_CTX MD5_CTX
-#define MDInit _alpm_MD5Init
-#define MDUpdate _alpm_MD5Update
-#define MDFinal _alpm_MD5Final
-
-/** Get the md5 sum of file.
- * @param name name of the file
- * @return the checksum on success, NULL on error
- * @addtogroup alpm_misc
- */
-char SYMEXPORT *alpm_get_md5sum(char *name)
-{
- ALPM_LOG_FUNC;
-
- ASSERT(name != NULL, return(NULL));
-
- return(_alpm_MDFile(name));
-}
-
-char* _alpm_MDFile(char *filename)
-{
- FILE *file;
- MD_CTX context;
- int len;
- char hex[3];
- unsigned char buffer[1024], digest[16];
-
- ALPM_LOG_FUNC;
-
- if((file = fopen(filename, "rb")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("md5: %s can't be opened\n"), filename);
- } else {
- char *ret;
- int i;
-
- MDInit(&context);
- while((len = fread(buffer, 1, 1024, file))) {
- MDUpdate(&context, buffer, len);
- }
- MDFinal(digest, &context);
- fclose(file);
-
- ret = calloc(33, sizeof(char));
- for(i = 0; i < 16; i++) {
- snprintf(hex, 3, "%02x", digest[i]);
- strncat(ret, hex, 2);
- }
-
- _alpm_log(PM_LOG_DEBUG, _("md5(%s) = %s"), filename, ret);
- return(ret);
- }
- return(NULL);
-}
-
-/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index 8a3f6ea1..a841bf58 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -48,7 +48,6 @@
#include "cache.h"
#include "provide.h"
#include "handle.h"
-#include "versioncmp.h"
#include "alpm.h"
/** \addtogroup alpm_packages Package Functions
@@ -63,7 +62,7 @@
*/
int SYMEXPORT alpm_pkg_load(const char *filename, pmpkg_t **pkg)
{
- _alpm_log(PM_LOG_FUNCTION, "enter alpm_pkg_load");
+ _alpm_log(PM_LOG_FUNCTION, "enter alpm_pkg_load\n");
/* Sanity checks */
ASSERT(filename != NULL && strlen(filename) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1));
@@ -84,7 +83,7 @@ int SYMEXPORT alpm_pkg_load(const char *filename, pmpkg_t **pkg)
*/
int SYMEXPORT alpm_pkg_free(pmpkg_t *pkg)
{
- _alpm_log(PM_LOG_FUNCTION, "enter alpm_pkg_free");
+ _alpm_log(PM_LOG_FUNCTION, "enter alpm_pkg_free\n");
ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
@@ -96,67 +95,14 @@ int SYMEXPORT alpm_pkg_free(pmpkg_t *pkg)
return(0);
}
-/** Check the integrity (with sha1) of a package from the sync cache.
- * @param pkg package pointer
- * @return 0 on success, -1 on error (pm_errno is set accordingly)
- */
-int alpm_pkg_checksha1sum(pmpkg_t *pkg)
-{
- char path[PATH_MAX];
- struct stat buf;
- char *sha1sum = NULL;
- alpm_list_t *i;
- int retval = 0;
-
- ALPM_LOG_FUNC;
-
- ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
- /* We only inspect packages from sync repositories */
- ASSERT(pkg->origin == PKG_FROM_CACHE, RET_ERR(PM_ERR_PKG_INVALID, -1));
- ASSERT(pkg->data != handle->db_local, RET_ERR(PM_ERR_PKG_INVALID, -1));
-
- /* Loop through the cache dirs until we find a matching file */
- for(i = alpm_option_get_cachedirs(); i; i = alpm_list_next(i)) {
- snprintf(path, PATH_MAX, "%s%s-%s" PKGEXT, (char*)alpm_list_getdata(i),
- alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
- if(stat(path, &buf) == 0) {
- break;
- }
- }
-
- sha1sum = alpm_get_sha1sum(path);
- if(sha1sum == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not get sha1sum for package %s-%s"),
- alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
- pm_errno = PM_ERR_NOT_A_FILE;
- retval = -1;
- } else {
- if(strcmp(sha1sum, alpm_pkg_get_sha1sum(pkg)) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("sha1sums for package %s-%s match"),
- alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
- } else {
- _alpm_log(PM_LOG_ERROR, _("sha1sums do not match for package %s-%s"),
- alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
- pm_errno = PM_ERR_PKG_INVALID;
- retval = -1;
- }
- }
-
- FREE(sha1sum);
-
- return(retval);
-}
-
/** Check the integrity (with md5) of a package from the sync cache.
* @param pkg package pointer
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_pkg_checkmd5sum(pmpkg_t *pkg)
+int SYMEXPORT alpm_pkg_checkmd5sum(pmpkg_t *pkg)
{
- char path[PATH_MAX];
- struct stat buf;
+ char *fpath;
char *md5sum = NULL;
- alpm_list_t *i;
int retval = 0;
ALPM_LOG_FUNC;
@@ -164,43 +110,34 @@ int alpm_pkg_checkmd5sum(pmpkg_t *pkg)
ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
/* We only inspect packages from sync repositories */
ASSERT(pkg->origin == PKG_FROM_CACHE, RET_ERR(PM_ERR_PKG_INVALID, -1));
- ASSERT(pkg->data != handle->db_local, RET_ERR(PM_ERR_PKG_INVALID, -1));
-
- /* Loop through the cache dirs until we find a matching file */
- for(i = alpm_option_get_cachedirs(); i; i = alpm_list_next(i)) {
- snprintf(path, PATH_MAX, "%s%s-%s" PKGEXT, (char*)alpm_list_getdata(i),
- alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
- if(stat(path, &buf) == 0) {
- break;
- }
- }
+ ASSERT(pkg->origin_data.db != handle->db_local, RET_ERR(PM_ERR_PKG_INVALID, -1));
+
+ fpath = _alpm_filecache_find(alpm_pkg_get_filename(pkg));
+ md5sum = alpm_get_md5sum(fpath);
- md5sum = alpm_get_md5sum(path);
if(md5sum == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not get md5sum for package %s-%s"),
+ _alpm_log(PM_LOG_ERROR, _("could not get md5sum for package %s-%s\n"),
alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
pm_errno = PM_ERR_NOT_A_FILE;
retval = -1;
} else {
if(strcmp(md5sum, alpm_pkg_get_md5sum(pkg)) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("md5sums for package %s-%s match"),
+ _alpm_log(PM_LOG_DEBUG, "md5sums for package %s-%s match\n",
alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
} else {
- _alpm_log(PM_LOG_ERROR, _("md5sums do not match for package %s-%s"),
+ _alpm_log(PM_LOG_ERROR, _("md5sums do not match for package %s-%s\n"),
alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
pm_errno = PM_ERR_PKG_INVALID;
retval = -1;
}
}
+ FREE(fpath);
FREE(md5sum);
return(retval);
}
-
-
-
/** Compare versions.
* @param ver1 first version
* @param ver2 secont version
@@ -224,9 +161,7 @@ static char *_supported_archs[] = {
/**
* @brief Determine if a package name has -ARCH tacked on.
- *
* @param pkgname name of the package to parse
- *
* @return pointer to start of -ARCH text if it exists, else NULL
*/
char SYMEXPORT *alpm_pkg_name_hasarch(const char *pkgname)
@@ -261,8 +196,489 @@ char SYMEXPORT *alpm_pkg_name_hasarch(const char *pkgname)
return(NULL);
}
+const char SYMEXPORT *alpm_pkg_get_filename(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(!strlen(pkg->filename)) {
+ /* construct the file name, it's not in the desc file */
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ if(pkg->arch && strlen(pkg->arch) > 0) {
+ snprintf(pkg->filename, PKG_FILENAME_LEN, "%s-%s-%s" PKGEXT,
+ pkg->name, pkg->version, pkg->arch);
+ } else {
+ snprintf(pkg->filename, PKG_FILENAME_LEN, "%s-%s" PKGEXT,
+ pkg->name, pkg->version);
+ }
+ }
+
+ return pkg->filename;
+}
+
+const char SYMEXPORT *alpm_pkg_get_name(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_BASE)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_BASE);
+ }
+ return pkg->name;
+}
+
+const char SYMEXPORT *alpm_pkg_get_version(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_BASE)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_BASE);
+ }
+ return pkg->version;
+}
+
+const char SYMEXPORT *alpm_pkg_get_desc(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->desc;
+}
+
+const char SYMEXPORT *alpm_pkg_get_url(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->url;
+}
+
+const char SYMEXPORT *alpm_pkg_get_builddate(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->builddate;
+}
+
+const char SYMEXPORT *alpm_pkg_get_installdate(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->installdate;
+}
+
+const char SYMEXPORT *alpm_pkg_get_packager(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->packager;
+}
+
+const char SYMEXPORT *alpm_pkg_get_md5sum(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->md5sum;
+}
+
+const char SYMEXPORT *alpm_pkg_get_arch(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->arch;
+}
+
+unsigned long SYMEXPORT alpm_pkg_get_size(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(-1));
+ ASSERT(pkg != NULL, return(-1));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->size;
+}
+
+unsigned long SYMEXPORT alpm_pkg_get_isize(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(-1));
+ ASSERT(pkg != NULL, return(-1));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->isize;
+}
+
+pmpkgreason_t SYMEXPORT alpm_pkg_get_reason(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(-1));
+ ASSERT(pkg != NULL, return(-1));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->reason;
+}
+
+alpm_list_t SYMEXPORT *alpm_pkg_get_licenses(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->licenses;
+}
+
+alpm_list_t SYMEXPORT *alpm_pkg_get_groups(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->groups;
+}
+
+/* depends */
+alpm_list_t SYMEXPORT *alpm_pkg_get_depends(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DEPENDS)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DEPENDS);
+ }
+ return pkg->depends;
+}
+
+alpm_list_t SYMEXPORT *alpm_pkg_get_requiredby(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DEPENDS)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DEPENDS);
+ }
+ return pkg->requiredby;
+}
+
+alpm_list_t SYMEXPORT *alpm_pkg_get_conflicts(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DEPENDS)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DEPENDS);
+ }
+ return pkg->conflicts;
+}
+
+alpm_list_t SYMEXPORT *alpm_pkg_get_provides(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DEPENDS)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DEPENDS);
+ }
+ return pkg->provides;
+}
+
+alpm_list_t SYMEXPORT *alpm_pkg_get_replaces(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
+ }
+ return pkg->replaces;
+}
+
+alpm_list_t SYMEXPORT *alpm_pkg_get_files(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && pkg->origin_data.db == handle->db_local
+ && !(pkg->infolevel & INFRQ_FILES)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_FILES);
+ }
+ return pkg->files;
+}
+
+alpm_list_t SYMEXPORT *alpm_pkg_get_backup(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(pkg != NULL, return(NULL));
+
+ if(pkg->origin == PKG_FROM_CACHE && pkg->origin_data.db == handle->db_local
+ && !(pkg->infolevel & INFRQ_FILES)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_FILES);
+ }
+ return pkg->backup;
+}
+
+unsigned short SYMEXPORT alpm_pkg_has_scriptlet(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, return(-1));
+ ASSERT(pkg != NULL, return(-1));
+
+ if(pkg->origin == PKG_FROM_CACHE && pkg->origin_data.db == handle->db_local
+ && !(pkg->infolevel & INFRQ_SCRIPTLET)) {
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_SCRIPTLET);
+ }
+ return pkg->scriptlet;
+}
+
+/**
+ * @brief Compute the packages requiring a given package.
+ * @param pkg a package
+ * @return the list of packages requiring pkg
+ *
+ * A depends on B through n depends <=> A listed in B's requiredby n times
+ * n == 0 or 1 in almost all cases */
+alpm_list_t SYMEXPORT *alpm_pkg_compute_requiredby(pmpkg_t *pkg)
+{
+ const alpm_list_t *i, *j;
+ alpm_list_t *reqs = NULL;
+
+ pmdb_t *localdb = alpm_option_get_localdb();
+ for(i = _alpm_db_get_pkgcache(localdb); i; i = i->next) {
+ if(!i->data) {
+ continue;
+ }
+ pmpkg_t *cachepkg = i->data;
+ const char *cachepkgname = alpm_pkg_get_name(cachepkg);
+
+ for(j = alpm_pkg_get_depends(cachepkg); j; j = j->next) {
+ pmdepend_t *dep;
+ int satisfies;
+
+ if(!j->data) {
+ continue;
+ }
+ dep = alpm_splitdep(j->data);
+ if(dep == NULL) {
+ continue;
+ }
+
+ satisfies = alpm_depcmp(pkg, dep);
+ FREE(dep);
+ if(satisfies) {
+ _alpm_log(PM_LOG_DEBUG, "adding '%s' in requiredby field for '%s'\n",
+ cachepkgname, pkg->name);
+ reqs = alpm_list_add(reqs, strdup(cachepkgname));
+ break;
+ }
+ }
+ }
+ return(reqs);
+}
+
/** @} */
+/* this function was taken from rpm 4.0.4 and rewritten */
+int _alpm_versioncmp(const char *a, const char *b)
+{
+ char str1[64], str2[64];
+ char *ptr1, *ptr2;
+ char *one, *two;
+ char *rel1 = NULL, *rel2 = NULL;
+ char oldch1, oldch2;
+ int is1num, is2num;
+ int rc;
+
+ ALPM_LOG_FUNC;
+
+ if(!strcmp(a,b)) {
+ return(0);
+ }
+
+ strncpy(str1, a, 64);
+ str1[63] = 0;
+ strncpy(str2, b, 64);
+ str2[63] = 0;
+
+ /* lose the release number */
+ for(one = str1; *one && *one != '-'; one++);
+ if(one) {
+ *one = '\0';
+ rel1 = ++one;
+ }
+ for(two = str2; *two && *two != '-'; two++);
+ if(two) {
+ *two = '\0';
+ rel2 = ++two;
+ }
+
+ one = str1;
+ two = str2;
+
+ while(*one || *two) {
+ while(*one && !isalnum((int)*one)) one++;
+ while(*two && !isalnum((int)*two)) two++;
+
+ ptr1 = one;
+ ptr2 = two;
+
+ /* find the next segment for each string */
+ if(isdigit((int)*ptr1)) {
+ is1num = 1;
+ while(*ptr1 && isdigit((int)*ptr1)) ptr1++;
+ } else {
+ is1num = 0;
+ while(*ptr1 && isalpha((int)*ptr1)) ptr1++;
+ }
+ if(isdigit((int)*ptr2)) {
+ is2num = 1;
+ while(*ptr2 && isdigit((int)*ptr2)) ptr2++;
+ } else {
+ is2num = 0;
+ while(*ptr2 && isalpha((int)*ptr2)) ptr2++;
+ }
+
+ oldch1 = *ptr1;
+ *ptr1 = '\0';
+ oldch2 = *ptr2;
+ *ptr2 = '\0';
+
+ /* see if we ran out of segments on one string */
+ if(one == ptr1 && two != ptr2) {
+ return(is2num ? -1 : 1);
+ }
+ if(one != ptr1 && two == ptr2) {
+ return(is1num ? 1 : -1);
+ }
+
+ /* see if we have a type mismatch (ie, one is alpha and one is digits) */
+ if(is1num && !is2num) return(1);
+ if(!is1num && is2num) return(-1);
+
+ if(is1num) while(*one == '0') one++;
+ if(is2num) while(*two == '0') two++;
+
+ rc = strverscmp(one, two);
+ if(rc) return(rc);
+
+ *ptr1 = oldch1;
+ *ptr2 = oldch2;
+ one = ptr1;
+ two = ptr2;
+ }
+
+ if((!*one) && (!*two)) {
+ /* compare release numbers */
+ if(rel1 && rel2 && strlen(rel1) && strlen(rel2)) return(_alpm_versioncmp(rel1, rel2));
+ return(0);
+ }
+
+ return(*one ? 1 : -1);
+}
+
+
pmpkg_t *_alpm_pkg_new(const char *name, const char *version)
{
pmpkg_t* pkg;
@@ -294,13 +710,12 @@ pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg)
ALPM_LOG_FUNC;
if((newpkg = calloc(1, sizeof(pmpkg_t))) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmpkg_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmpkg_t));
RET_ERR(PM_ERR_MEMORY, NULL);
}
memcpy(newpkg, pkg, sizeof(pmpkg_t));
newpkg->licenses = alpm_list_strdup(alpm_pkg_get_licenses(pkg));
- /*newpkg->desc_localized = alpm_list_strdup(pkg->desc_localized);*/
newpkg->requiredby = alpm_list_strdup(alpm_pkg_get_requiredby(pkg));
newpkg->conflicts = alpm_list_strdup(alpm_pkg_get_conflicts(pkg));
newpkg->files = alpm_list_strdup(alpm_pkg_get_files(pkg));
@@ -310,7 +725,11 @@ pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg)
newpkg->provides = alpm_list_strdup(alpm_pkg_get_provides(pkg));
newpkg->replaces = alpm_list_strdup(alpm_pkg_get_replaces(pkg));
/* internal */
- newpkg->data = (newpkg->origin == PKG_FROM_FILE) ? strdup(pkg->data) : pkg->data;
+ if(newpkg->origin == PKG_FROM_FILE) {
+ newpkg->origin_data.file = strdup(pkg->origin_data.file);
+ } else {
+ newpkg->origin_data.db = pkg->origin_data.db;
+ }
return(newpkg);
}
@@ -324,7 +743,6 @@ void _alpm_pkg_free(pmpkg_t *pkg)
}
FREELIST(pkg->licenses);
- /*FREELIST(pkg->desc_localized);*/
FREELIST(pkg->files);
FREELIST(pkg->backup);
FREELIST(pkg->depends);
@@ -334,7 +752,7 @@ void _alpm_pkg_free(pmpkg_t *pkg)
FREELIST(pkg->provides);
FREELIST(pkg->replaces);
if(pkg->origin == PKG_FROM_FILE) {
- FREE(pkg->data);
+ FREE(pkg->origin_data.file);
}
FREE(pkg);
}
@@ -348,7 +766,7 @@ int alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg)
if(pkg->origin == PKG_FROM_CACHE) {
/* ensure we have the /desc file, which contains the 'force' option */
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
+ _alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
}
/* compare versions and see if we need to upgrade */
@@ -357,7 +775,7 @@ int alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg)
if(alpm_list_find_str(handle->ignorepkg, alpm_pkg_get_name(pkg))) {
/* package should be ignored (IgnorePkg) */
if(cmp > 0) {
- _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (%s)"),
+ _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (%s)\n"),
alpm_pkg_get_name(local_pkg), alpm_pkg_get_version(local_pkg),
alpm_pkg_get_version(pkg));
}
@@ -366,12 +784,12 @@ int alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg)
if(cmp != 0 && pkg->force) {
cmp = 1;
- _alpm_log(PM_LOG_WARNING, _("%s: forcing upgrade to version %s"),
+ _alpm_log(PM_LOG_WARNING, _("%s: forcing upgrade to version %s\n"),
alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
} else if(cmp < 0) {
/* local version is newer */
- pmdb_t *db = pkg->data;
- _alpm_log(PM_LOG_WARNING, _("%s: local (%s) is newer than %s (%s)"),
+ pmdb_t *db = pkg->origin_data.db;
+ _alpm_log(PM_LOG_WARNING, _("%s: local (%s) is newer than %s (%s)\n"),
alpm_pkg_get_name(local_pkg), alpm_pkg_get_version(local_pkg),
alpm_db_get_name(db), alpm_pkg_get_version(pkg));
cmp = 0;
@@ -379,7 +797,7 @@ int alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg)
/* we have an upgrade, make sure we should actually do it */
if(_alpm_pkg_istoonew(pkg)) {
/* package too new (UpgradeDelay) */
- _alpm_log(PM_LOG_WARNING, _("%s-%s: delaying upgrade of package (%s)"),
+ _alpm_log(PM_LOG_WARNING, _("%s-%s: delaying upgrade of package (%s)\n"),
alpm_pkg_get_name(local_pkg), alpm_pkg_get_version(local_pkg),
alpm_pkg_get_version(pkg));
cmp = 0;
@@ -416,7 +834,7 @@ static int parse_descfile(const char *descfile, pmpkg_t *info)
ALPM_LOG_FUNC;
if((fp = fopen(descfile, "r")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s"), descfile, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not open file %s: %s\n"), descfile, strerror(errno));
return(-1);
}
@@ -430,7 +848,7 @@ static int parse_descfile(const char *descfile, pmpkg_t *info)
ptr = line;
key = strsep(&ptr, "=");
if(key == NULL || ptr == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("%s: syntax error in description file line %d"),
+ _alpm_log(PM_LOG_DEBUG, "%s: syntax error in description file line %d\n",
info->name[0] != '\0' ? info->name : "error", linenum);
} else {
_alpm_strtrim(key);
@@ -441,22 +859,7 @@ static int parse_descfile(const char *descfile, pmpkg_t *info)
} else if(!strcmp(key, "PKGVER")) {
strncpy(info->version, ptr, sizeof(info->version));
} else if(!strcmp(key, "PKGDESC")) {
- /*
- char *lang_tmp;
- info->desc_localized = alpm_list_add(info->desc_localized, strdup(ptr));
- if((lang_tmp = malloc(strlen(setlocale(LC_ALL, "")))) == NULL) {
- RET_ERR(PM_ERR_MEMORY, -1);
- }
- strncpy(lang_tmp, setlocale(LC_ALL, ""), strlen(setlocale(LC_ALL, "")));
- if(info->desc_localized && !info->desc_localized->next) {
- */
strncpy(info->desc, ptr, sizeof(info->desc));
- /*
- } else if (ptr && !strncmp(ptr, lang_tmp, strlen(lang_tmp))) {
- strncpy(info->desc, ptr+strlen(lang_tmp)+1, sizeof(info->desc));
- }
- FREE(lang_tmp);
- */
} else if(!strcmp(key, "GROUP")) {
info->groups = alpm_list_add(info->groups, strdup(ptr));
} else if(!strcmp(key, "URL")) {
@@ -465,8 +868,6 @@ static int parse_descfile(const char *descfile, pmpkg_t *info)
info->licenses = alpm_list_add(info->licenses, strdup(ptr));
} else if(!strcmp(key, "BUILDDATE")) {
strncpy(info->builddate, ptr, sizeof(info->builddate));
- } else if(!strcmp(key, "BUILDTYPE")) {
- strncpy(info->buildtype, ptr, sizeof(info->buildtype));
} else if(!strcmp(key, "INSTALLDATE")) {
strncpy(info->installdate, ptr, sizeof(info->installdate));
} else if(!strcmp(key, "PACKAGER")) {
@@ -487,7 +888,7 @@ static int parse_descfile(const char *descfile, pmpkg_t *info)
} else if(!strcmp(key, "BACKUP")) {
info->backup = alpm_list_add(info->backup, strdup(ptr));
} else {
- _alpm_log(PM_LOG_DEBUG, _("%s: syntax error in description file line %d"),
+ _alpm_log(PM_LOG_DEBUG, "%s: syntax error in description file line %d\n",
info->name[0] != '\0' ? info->name : "error", linenum);
}
}
@@ -527,7 +928,8 @@ pmpkg_t *_alpm_pkg_load(const char *pkgfile)
archive_read_support_compression_all(archive);
archive_read_support_format_all(archive);
- if (archive_read_open_file(archive, pkgfile, ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
+ if (archive_read_open_filename(archive, pkgfile,
+ ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
RET_ERR(PM_ERR_PKG_OPEN, NULL);
}
@@ -561,15 +963,15 @@ pmpkg_t *_alpm_pkg_load(const char *pkgfile)
archive_read_data_into_fd (archive, fd);
/* parse the info file */
if(parse_descfile(descfile, info) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not parse the package description file"));
+ _alpm_log(PM_LOG_ERROR, _("could not parse the package description file\n"));
goto pkg_invalid;
}
if(!strlen(info->name)) {
- _alpm_log(PM_LOG_ERROR, _("missing package name in %s"), pkgfile);
+ _alpm_log(PM_LOG_ERROR, _("missing package name in %s\n"), pkgfile);
goto pkg_invalid;
}
if(!strlen(info->version)) {
- _alpm_log(PM_LOG_ERROR, _("missing package version in %s"), pkgfile);
+ _alpm_log(PM_LOG_ERROR, _("missing package version in %s\n"), pkgfile);
goto pkg_invalid;
}
config = 1;
@@ -604,7 +1006,7 @@ pmpkg_t *_alpm_pkg_load(const char *pkgfile)
FREE(str);
fclose(fp);
if(unlink(fn)) {
- _alpm_log(PM_LOG_WARNING, _("could not remove tempfile %s"), fn);
+ _alpm_log(PM_LOG_WARNING, _("could not remove tempfile %s\n"), fn);
}
FREE(fn);
close(fd);
@@ -620,27 +1022,27 @@ pmpkg_t *_alpm_pkg_load(const char *pkgfile)
}
if(archive_read_data_skip(archive)) {
- _alpm_log(PM_LOG_ERROR, _("error while reading package: %s"), archive_error_string(archive));
+ _alpm_log(PM_LOG_ERROR, _("error while reading package: %s\n"), archive_error_string(archive));
pm_errno = PM_ERR_LIBARCHIVE_ERROR;
goto error;
}
expath = NULL;
}
if(ret != ARCHIVE_EOF) { /* An error occured */
- _alpm_log(PM_LOG_ERROR, _("error while reading package: %s"), archive_error_string(archive));
+ _alpm_log(PM_LOG_ERROR, _("error while reading package: %s\n"), archive_error_string(archive));
pm_errno = PM_ERR_LIBARCHIVE_ERROR;
goto error;
}
if(!config) {
- _alpm_log(PM_LOG_ERROR, _("missing package metadata"), pkgfile);
+ _alpm_log(PM_LOG_ERROR, _("missing package metadata\n"), pkgfile);
goto error;
}
archive_read_finish(archive);
if(!filelist) {
- _alpm_log(PM_LOG_ERROR, _("missing package filelist in %s, generating one"), pkgfile);
+ _alpm_log(PM_LOG_ERROR, _("missing package filelist in %s, generating one\n"), pkgfile);
info->files = all_files;
} else {
alpm_list_free_inner(all_files, free);
@@ -653,7 +1055,7 @@ pmpkg_t *_alpm_pkg_load(const char *pkgfile)
/* internal */
info->origin = PKG_FROM_FILE;
- info->data = strdup(pkgfile);
+ info->origin_data.file = strdup(pkgfile);
info->infolevel = 0xFF;
return(info);
@@ -750,409 +1152,11 @@ int _alpm_pkg_splitname(const char *target, char *name, char *version, int witha
return(0);
}
-/* scan the local db to fill in requiredby field of package,
+/* fill in requiredby field of package,
* used when we want to install or add a package */
void _alpm_pkg_update_requiredby(pmpkg_t *pkg)
{
- const alpm_list_t *i, *j;
-
- pmdb_t *localdb = alpm_option_get_localdb();
- for(i = _alpm_db_get_pkgcache(localdb); i; i = i->next) {
- if(!i->data) {
- continue;
- }
- pmpkg_t *cachepkg = i->data;
- const char *cachepkgname = alpm_pkg_get_name(cachepkg);
-
- for(j = alpm_pkg_get_depends(cachepkg); j; j = j->next) {
- pmdepend_t *dep;
- int satisfies;
-
- if(!j->data) {
- continue;
- }
- dep = alpm_splitdep(j->data);
- if(dep == NULL) {
- continue;
- }
-
- satisfies = alpm_depcmp(pkg, dep);
- free(dep);
- if(satisfies) {
- alpm_list_t *reqs = alpm_pkg_get_requiredby(pkg);
- _alpm_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s'"),
- cachepkgname, pkg->name);
- reqs = alpm_list_add(reqs, strdup(cachepkgname));
- pkg->requiredby = reqs;
- break;
- }
- }
- }
-}
-
-const char SYMEXPORT *alpm_pkg_get_filename(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(!strlen(pkg->filename)) {
- /* construct the file name, it's not in the desc file */
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- if(pkg->arch && strlen(pkg->arch) > 0) {
- snprintf(pkg->filename, PKG_FILENAME_LEN, "%s-%s-%s" PKGEXT,
- pkg->name, pkg->version, pkg->arch);
- } else {
- snprintf(pkg->filename, PKG_FILENAME_LEN, "%s-%s" PKGEXT,
- pkg->name, pkg->version);
- }
- }
-
- return pkg->filename;
-}
-
-const char SYMEXPORT *alpm_pkg_get_name(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_BASE)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_BASE);
- }
- return pkg->name;
-}
-
-const char SYMEXPORT *alpm_pkg_get_version(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_BASE)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_BASE);
- }
- return pkg->version;
-}
-
-const char SYMEXPORT *alpm_pkg_get_desc(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->desc;
-}
-
-const char SYMEXPORT *alpm_pkg_get_url(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->url;
-}
-
-const char SYMEXPORT *alpm_pkg_get_builddate(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->builddate;
-}
-
-const char SYMEXPORT *alpm_pkg_get_buildtype(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->buildtype;
-}
-
-const char SYMEXPORT *alpm_pkg_get_installdate(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->installdate;
-}
-
-const char SYMEXPORT *alpm_pkg_get_packager(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->packager;
-}
-
-const char SYMEXPORT *alpm_pkg_get_md5sum(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->md5sum;
-}
-
-const char SYMEXPORT *alpm_pkg_get_sha1sum(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->sha1sum;
-}
-
-const char SYMEXPORT *alpm_pkg_get_arch(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->arch;
-}
-
-unsigned long SYMEXPORT alpm_pkg_get_size(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(-1));
- ASSERT(pkg != NULL, return(-1));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->size;
-}
-
-unsigned long SYMEXPORT alpm_pkg_get_isize(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(-1));
- ASSERT(pkg != NULL, return(-1));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->isize;
-}
-
-pmpkgreason_t SYMEXPORT alpm_pkg_get_reason(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(-1));
- ASSERT(pkg != NULL, return(-1));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->reason;
-}
-
-alpm_list_t SYMEXPORT *alpm_pkg_get_licenses(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->licenses;
-}
-
-alpm_list_t SYMEXPORT *alpm_pkg_get_groups(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->groups;
-}
-
-/* depends */
-alpm_list_t SYMEXPORT *alpm_pkg_get_depends(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DEPENDS)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DEPENDS);
- }
- return pkg->depends;
-}
-
-alpm_list_t SYMEXPORT *alpm_pkg_get_requiredby(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DEPENDS)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DEPENDS);
- }
- return pkg->requiredby;
-}
-
-alpm_list_t SYMEXPORT *alpm_pkg_get_conflicts(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DEPENDS)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DEPENDS);
- }
- return pkg->conflicts;
-}
-
-alpm_list_t SYMEXPORT *alpm_pkg_get_provides(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DEPENDS)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DEPENDS);
- }
- return pkg->provides;
-}
-
-alpm_list_t SYMEXPORT *alpm_pkg_get_replaces(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_DESC);
- }
- return pkg->replaces;
-}
-
-alpm_list_t SYMEXPORT *alpm_pkg_get_files(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && pkg->data == handle->db_local
- && !(pkg->infolevel & INFRQ_FILES)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_FILES);
- }
- return pkg->files;
-}
-
-alpm_list_t SYMEXPORT *alpm_pkg_get_backup(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(pkg != NULL, return(NULL));
-
- if(pkg->origin == PKG_FROM_CACHE && pkg->data == handle->db_local
- && !(pkg->infolevel & INFRQ_FILES)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_FILES);
- }
- return pkg->backup;
-}
-
-unsigned short SYMEXPORT alpm_pkg_has_scriptlet(pmpkg_t *pkg)
-{
- ALPM_LOG_FUNC;
-
- /* Sanity checks */
- ASSERT(handle != NULL, return(-1));
- ASSERT(pkg != NULL, return(-1));
-
- if(pkg->origin == PKG_FROM_CACHE && pkg->data == handle->db_local
- && !(pkg->infolevel & INFRQ_SCRIPTLET)) {
- _alpm_db_read(pkg->data, pkg, INFRQ_SCRIPTLET);
- }
- return pkg->scriptlet;
+ pkg->requiredby = alpm_pkg_compute_requiredby(pkg);
}
/* TODO this should either be public, or done somewhere else */
diff --git a/lib/libalpm/package.h b/lib/libalpm/package.h
index fda10800..9a877ffd 100644
--- a/lib/libalpm/package.h
+++ b/lib/libalpm/package.h
@@ -25,9 +25,7 @@
#ifndef _ALPM_PACKAGE_H
#define _ALPM_PACKAGE_H
-#if defined(__APPLE__) || defined(__sun__)
#include <time.h>
-#endif
#include "alpm.h"
#include "db.h"
@@ -48,7 +46,6 @@ typedef enum _pmpkgfrom_t {
#define PKG_TYPE_LEN 32
#define PKG_PACKAGER_LEN 64
#define PKG_MD5SUM_LEN 33
-#define PKG_SHA1SUM_LEN 41
#define PKG_ARCH_LEN 32
struct __pmpkg_t {
@@ -58,11 +55,9 @@ struct __pmpkg_t {
char desc[PKG_DESC_LEN];
char url[PKG_URL_LEN];
char builddate[PKG_DATE_LEN];
- char buildtype[PKG_TYPE_LEN];
char installdate[PKG_DATE_LEN];
char packager[PKG_PACKAGER_LEN];
char md5sum[PKG_MD5SUM_LEN];
- char sha1sum[PKG_SHA1SUM_LEN];
char arch[PKG_ARCH_LEN];
unsigned long size;
unsigned long isize;
@@ -70,7 +65,6 @@ struct __pmpkg_t {
unsigned short force;
time_t date;
pmpkgreason_t reason;
- /* alpm_list_t *desc_localized;*/
alpm_list_t *licenses;
alpm_list_t *replaces;
alpm_list_t *groups;
@@ -82,18 +76,18 @@ struct __pmpkg_t {
alpm_list_t *provides;
/* internal */
pmpkgfrom_t origin;
- void *data;
- /* TODO replace 'data' with this:
+ /* Replaced 'void *data' with this union as follows:
origin == PKG_FROM_CACHE, use pkg->origin_data.db
- origin == PKG_FROM_FILE, use pkg->origin_data.fd
+ origin == PKG_FROM_FILE, use pkg->origin_data.file
+ */
union {
- int fd;
pmdb_t *db;
+ char *file;
} origin_data;
- */
pmdbinfrq_t infolevel;
};
+int _alpm_versioncmp(const char *a, const char *b);
pmpkg_t* _alpm_pkg_new(const char *name, const char *version);
pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg);
void _alpm_pkg_free(pmpkg_t *pkg);
diff --git a/lib/libalpm/po/.gitignore b/lib/libalpm/po/.gitignore
index 50a7b2a4..3be83ffa 100644
--- a/lib/libalpm/po/.gitignore
+++ b/lib/libalpm/po/.gitignore
@@ -1,5 +1,3 @@
-Makefile
-Makefile.in
*.gmo
POTFILES
stamp-po
diff --git a/lib/libalpm/po/POTFILES.in b/lib/libalpm/po/POTFILES.in
index e668f661..caf68c30 100644
--- a/lib/libalpm/po/POTFILES.in
+++ b/lib/libalpm/po/POTFILES.in
@@ -14,12 +14,9 @@ lib/libalpm/group.c
lib/libalpm/handle.c
lib/libalpm/log.c
lib/libalpm/md5.c
-lib/libalpm/md5driver.c
lib/libalpm/package.c
lib/libalpm/provide.c
lib/libalpm/remove.c
-lib/libalpm/sha1.c
lib/libalpm/sync.c
lib/libalpm/trans.c
lib/libalpm/util.c
-lib/libalpm/versioncmp.c
diff --git a/lib/libalpm/po/de.po b/lib/libalpm/po/de.po
index 2d57053c..2b9eb692 100644
--- a/lib/libalpm/po/de.po
+++ b/lib/libalpm/po/de.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\n"
"PO-Revision-Date: 2007-04-17 20:26+0200\n"
-"Last-Translator: Pierre Schmitz <pierre@archlinux.de>\n"
+"Last-Translator: Matthias Gorissen <matthias@archlinux.de>\n"
"Language-Team: German <archlinux.de>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,734 +20,163 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);X-Generator: KBabel 1.11.4\n"
"X-Generator: KBabel 1.11.4\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr "Lade Ziel '%s'"
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "Ersetze ältere Version %s-%s durch %s in der Ziel-Liste"
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr "Neuere Version %s-%s ist in der Ziel-Liste -- Überspringe"
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "Lese Metadaten von '%s'"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "Suche nach ungelösten Abhängigkeiten"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "Suche nach Konflikten"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "Das Ersetzen von Paketen mit -A und -U wird noch nicht unterstützt"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "Entfernen Sie bitte zuerst '%s' mit -Rd"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "Sortiere nach Abhängigkeiten"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "Räume auf"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "Suche nach Dateikonflikten"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "Aktualisiere Paket %s-%s"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "Füge Paket %s-%s hinzu"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "Entferne zuerst altes Paket (%s-%s)"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr "Füge %s temporär zum NoUpgrade-Array hinzu"
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "Entpacke Dateien"
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "Konnte aktuelles Arbeitsverzeichnis nicht ermitteln"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s ist in NoExtract, wird nicht entpackt"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr "%s ist in trans->skip_add, wird nicht entpackt"
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "Konnte %s nicht entpacken (%s)"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "Prüfe MD5-Hashes für %s"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "Prüfe SHA1-Hashes für %s"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "Aktuell: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "Neu: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "Original: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "Konnte %s nicht umbenennen (%s)"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "Fehler: Konnte %s nicht umbenennen (%s)"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "Konnte temporäre Datei nicht nach %s kopieren (%s)"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "Fehler: Konnte temporäre Datei nicht nach %s kopieren (%s)"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "%s gespeichert als %s"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "Warnung: %s gespeichert als %s"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "Aktion: Installiere neue Datei: %s"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "Aktion: Belasse existierende Datei an ihrem Platz"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"Aktion: Behalte aktuelle Datei und installiere die neue mit der Endung ."
-"pacnew"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "Konnte %s nicht als %s installieren: %s"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "Fehler: Konnte %s nicht als %s installieren: %s"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "%s installiert als %s"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "Warnung: %s installiert als %s"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s ist in NoUpgrade -- Überspringe"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "Entpacke %s als %s.pacnew"
-#: lib/libalpm/add.c:686
+#: lib/libalpm/add.c:721
#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "Warnung: Entpacke %s als %s.pacnew"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "Entpacke %s"
-
-#: lib/libalpm/add.c:705
-#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "Fehler: Konnte %s nicht entpacken (%s)"
-
-#: lib/libalpm/add.c:717
-#, c-format
-msgid "appending backup entry for %s"
-msgstr "Hänge Sicherungseintrag für %s an"
-
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
-msgstr "Fehler traten auf, während %s %s"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "Aktualisiere"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "Installiere"
+msgid "could not extract %s (%s)"
+msgstr "Konnte %s nicht entpacken (%s)"
-#: lib/libalpm/add.c:769
+#: lib/libalpm/add.c:772
#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr "'%s' wird nicht mehr von %s bereitgestellt (%s => %s)"
+msgid "problem occurred while upgrading %s"
+msgstr "Fehler traten auf, während %s aktualisiert wurde"
-#: lib/libalpm/add.c:781
+#: lib/libalpm/add.c:777
#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr "Aktualisiere '%s' aufgrund einer Bereitstellungsänderung (%s)"
+msgid "problem occurred while installing %s"
+msgstr "Fehler traten auf, während %s installiert wurde"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr "Konnte Bereitstellung '%s' von '%s' nicht aktualisieren"
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "Aktualisiere Datenbank"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "Füge Datenbankeintrag '%s' hinzu"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "Konnte Datenbankeintrag %s-%s nicht aktualisieren"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "Konnte Eintrag '%s' nicht zum Pufferspeicher hinzufügen"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
-#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "Führe \"ldconfig -r %s\" aus"
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr "Entferne Datenbank %s, %d verbleibend..."
-
-#: lib/libalpm/alpm.c:181
-#, c-format
-msgid "unregistering database '%s'"
-msgstr "Nicht registrierte Datenbank '%s'"
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "Schließe Datenbank '%s'"
-
-#: lib/libalpm/alpm.c:232
-#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
-msgstr ""
-"Füge neuen Server zur Datenbank '%s' hinzu: Protokoll '%s', Server '%s', "
-"Pfad '%s'"
-
-#: lib/libalpm/alpm.c:236
-#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "Server-Liste geleert für '%s'"
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
-msgstr "Konnte letzte Update-Zeit für %s nicht ermitteln (nicht schlimm)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "Konnte Datenbank nicht synchronisieren: %s [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr "Synchronisation: Neue mtime für %s: %s"
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr "Leere Datenbank %s%s"
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "Konnte Datenbankeintrag %s%s nicht entfernen"
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "Konnte SHA1-Prüfsumme für Paket %s-%s nicht ermitteln"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "SHA1-Prüfsummen für Paket %s-%s stimmen überein"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "SHA1-Prüfsummen für Paket %s-%s stimmen nicht überein"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "Konnte MD5-Prüfsumme für Paket %s-%s nicht ermitteln"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "MD5-Prüfsummen für Paket %s-%s stimmen überein"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "MD5-Prüfsummen für Paket %s-%s stimmen nicht überein"
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "Konnte Sperrdatei %s nicht entfernen"
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "Warnung: Konnte Sperrdatei %s nicht entfernen"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "Konfiguration: Neuer Abschnitt '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr "Konfiguration: nopassiveftp"
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr "Konfiguration: usesyslog"
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr "Konfiguration: chomp"
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr "Konfiguration: usecolor"
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr "Konfiguration: including %s"
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr "Konfiguration: noupgrade: %s"
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr "Konfiguration: noextract: %s"
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr "Konfiguration: ignorepkg: %s"
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr "Konfiguration: holdpkg: %s"
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr "Konfiguration: dbpath: %s"
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr "Konfiguration: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1050
-#, c-format
-msgid "config: rootdir: %s"
-msgstr "Konfiguration: rootdir: %s"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr "Konfiguration: logfile: %s"
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr "Konfiguration: xfercommand: %s"
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr "Konfiguration: upgradedelay: %d"
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "Prüfe auf Paketersetzungen"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "Prüfe Ersetzung '%s' für Paket '%s'"
-
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
-#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s: Ignoriere zu aktualisierendes Packet (zu ersetzen durch %s-%s)"
-
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
-#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s wurde zur Aktualisierung ausgewählt (wird durch %s-%s ersetzt)"
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr "'%s' nicht in Sync-DB gefunden -- Überspringe"
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr "'%s' ist bereits zum Entfernen ausgewählt -- Überspringe"
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr "%s wurde zur Aktualisierung ausgewählt (%s => %s)"
-
-#: lib/libalpm/be_files.c:61
+#: lib/libalpm/be_files.c:83
#, c-format
-msgid "unpacking database '%s'"
-msgstr "Entpacke Datenbank '%s'"
+msgid "%s: description file is missing"
+msgstr "%s: Beschreibungsdatei fehlt"
-#: lib/libalpm/be_files.c:78
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid "opening database from path '%s'"
-msgstr "Öffne Datenbank aus Pfad '%s'"
+msgid "%s: dependency file is missing"
+msgstr "%s: Abhängige Datei fehlt"
-#: lib/libalpm/be_files.c:182
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "db scan could not find package: %s"
-msgstr "Konnte Paket nicht in Datenbank finden: %s"
+msgid "%s: file list is missing"
+msgstr "%s: Dateiliste fehlt"
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr "Falscher Name für Datenbank-Eintrag '%s'"
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr "Ungültiger Paket-Eintrag wurde an _alpm_db_read übergeben, überspringe"
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-"Überspringe das Lesen der Datenbank-Information für das Datei-basierte Paket "
-"'%s'..."
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr "Lade Paket-Daten für %s : level=%d"
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr "Kann %s-%s nicht in der Datenbank '%s' finden"
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr "Konnte Datei %s nicht öffnen: %s"
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr "Schreibe %s-%s Informationen aus DESC-Datei zurück in die Datenbank"
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr "Schreibe %s-%s Informationen aus FILES-Datei zurück in die Datenbank"
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr "Schreibe %s-%s Informationen aus DEPENDS-Datei zurück in die Datenbank"
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr "Lade Paketpuffer für Repositorium '%s'"
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr "Füge '%s' zum Paketpuffer der Datenbank '%s' hinzu"
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr "Lösche Paketpuffer für Repositorium '%s'"
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr "Fehler: Paketpuffer ist NULL für Datenbank '%s'"
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr "Füge Eintrag '%s' zu '%s'-Puffer hinzu"
-
-#: lib/libalpm/cache.c:149
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr "Entferne Eintrag '%s' aus '%s'-Puffer"
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr "Konnte Eintrag '%s' aus '%s'-Puffer nicht entfernen: nicht gefunden"
-
-#: lib/libalpm/cache.c:178
-#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr "Fehler: Konnte Eintrag '%s' nicht aus dem NULL Paketpuffer laden"
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr "Lade Gruppenpuffer für Repositorium '%s'"
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr " Konflikt gefunden '%s' : Paket '%s'"
-
-#: lib/libalpm/conflict.c:78
-#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr " Konflikt '%s' gefunden: Paket '%s' stellt '%s' bereit"
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr "Paket '%s' steht im Konflikt mit sich selbst - ist falsch gepackt"
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr "checkconflicts: Ziel '%s' gegen Datenbank"
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr "checkconflicts: Ziel '%s' gegen alle Ziele"
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr "checkconflicts: Datenbank gegen Ziel '%s'"
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
-msgstr "Ziel '%s' ist auch in der Ziel-Liste, benutze neue Konflikte"
+msgid "malloc failure: could not allocate %d bytes"
+msgstr "malloc-Fehler: Konnte %d Bytes nicht zuweisen"
-#: lib/libalpm/conflict.c:257
+#: lib/libalpm/db.c:238
#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr "\tCONFLICTS:: %s steht im Konflikt mit %s"
+msgid "could not remove database entry %s%s"
+msgstr "Konnte Datenbankeintrag %s%s nicht entfernen"
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "malloc failure: could not allocate %d bytes"
-msgstr "malloc-Fehler: Konnte %d Bytes nicht zuweisen"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
+msgstr "%s-%s: Ignoriere zu aktualisierendes Packet (zu ersetzen durch %s-%s)"
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr "malloc fehlgeschlagen: Konnte %d Bytes nicht zuweisen"
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr "Versuche die lokale Datenbank neu zu registrieren"
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr "Versuche die %s Datenbank neu zu registrieren, verwende die bestehende"
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr "Registriere Datenbank '%s'"
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr "Datenbank-Verzeichnis '%s' ist nicht vorhanden, erstelle es"
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr "Öffne Datenbank '%s'"
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr "Sortieren von Abhängigkeiten gestartet"
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr "Möglicher Abhängigkeitszyklus gefunden"
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr "Sortieren von Abhängigkeiten beendet"
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr "Ein leeres Paket wurde in der Paketliste gefunden"
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr "Konnte installiertes Paket '%s' nicht finden"
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr "checkdeps: Abhängigkeit'%s' wurde von '%s' nach '%s' verschoben"
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr "checkdeps: Abhängigkeit '%s' von installiertem Paket '%s' erfüllt"
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr ""
-"checkdeps: aktualisiertes '%s' wird die Abhängigkeit von '%s' nicht erfüllen"
+#: lib/libalpm/db.c:680
+msgid "database path is undefined"
+msgstr "Datenbank-Pfad ist nicht definiert"
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr "Abhängigkeit '%s' für Paket '%s' fehlt"
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr "checkdeps: %s wird von %s benötigt"
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr "Schließe %s aus -- Ausdrücklich installiert"
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr ""
-"Kann Paket \"%s\" oder irgendwas, das es zur Verfügung stellt, nicht finden!"
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr "Füge '%s' zu der Ziel-Liste hinzu"
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr "Starte das Auflösen der Abhängigkeiten"
+#: lib/libalpm/deps.c:187
+msgid "dependency cycle detected\n"
+msgstr "Abhängigkeits-Zyklus entdeckt\n"
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr "%s stellt Abhängigkeit %s zur Verfügung -- Überspringe"
-
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
@@ -755,764 +184,445 @@ msgstr ""
"Kann Abhängigkeiten für \"%s\" nicht auflösen (\"%s\" ist nicht in "
"Paketliste enthalten)"
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr "Abhängigkeit %s ist bereits in der Ziel-Liste -- Überspringe"
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr "Ziehe Abhängigkeit %s (benötigt von %s)"
-
-#: lib/libalpm/deps.c:671
+#: lib/libalpm/deps.c:687
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "Kann Abhängigkeiten für \"%s\" nicht auflösen"
-#: lib/libalpm/deps.c:687
-#, c-format
-msgid "dependency cycle detected: %s"
-msgstr "Abhängigkeits-Zyklus entdeckt: %s"
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
-msgstr "Auflösen von Abhängigkeiten beendet"
-
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr "Speicher ist voll!"
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr "Unerwarteter Systemfehler"
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr "Unzureichende Rechte"
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr "Konnte Datei nicht finden oder lesen"
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr "Falsches oder NULL-Argument übergeben"
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr "Bibliothek nicht initialisiert"
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr "Bibliothek bereits initialisiert"
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr "Kann Datenbank nicht sperren"
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "Konnte Datenbank nicht öffnen"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "Konnte Datenbank nicht erstellen"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "Datenbank nicht initialisiert"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "Datenbank bereits registriert"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "Konnte Datenbank nicht finden"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "Konnte Datenbank nicht aktualisieren"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "Konnte Datenbank-Eintrag nicht entfernen"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr "Ungültige URL für den Server"
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr "Konnte Parameter nicht setzen"
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
-msgstr "Vorgang wurde schon gestartet"
+msgstr "Vorgang bereits gestartet"
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr "Vorgang nicht gestartet"
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr "Doppelte Ziele"
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr "Vorgang nicht vorbereitet"
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr "Vorgang abgebrochen"
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr "Operation nicht mit dem Vorgangs-Typ kompatibel"
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr "Konnte den Vorgang nicht durchführen"
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr "Konnte nicht alle Dateien herunterladen"
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr "Konnte Paket nicht finden oder lesen"
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr "Ungültiges oder beschädigtes Paket"
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr "Kann Paketdatei nicht öffnen"
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr "Kann Paketdaten nicht laden"
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr "Paket ist bereits installiert"
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr "Paket ist nicht installiert oder ältere Version"
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr "Konnte nicht alle Dateien des Paketes entfernen"
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "Paketname ist nicht gültig"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "Beschädigtes Paket"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr "Kein solches Repositorium"
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "Gruppe nicht gefunden"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr "Kann Abhängigkeiten nicht erfüllen"
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr "In Konflikt stehende Abhängigkeiten"
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr "In Konflikt stehende Dateien"
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr "Benutzer brach die Aktion ab"
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "Interner Fehler"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr "libarchive-Fehler"
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "Nicht genügend Speicherplatz"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr "Nicht bestätigt"
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr "Ungültiger Abschnittsname"
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr "'local' ist reserviert und kann nicht als Repositorium benutzt werden"
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr "Falsche Syntax in Beschreibungsdatei"
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr "Alle Anweisungen müssen zu einem Abschnitt gehören"
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "Ungültiger Regulärer Ausdruck"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr "Verbindung zum Server fehlgeschlagen"
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "Unerwarteter Fehler"
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
-msgstr "Kann das spezifizierte Wurzelverzeichnis nicht anerkennen '%s'"
+msgstr "Kann das spezifizierte Wurzelverzeichnis '%s' nicht anerkennen"
-#: lib/libalpm/handle.c:175
+#: lib/libalpm/md5driver.c:69
#, c-format
-msgid "option 'root' = %s"
-msgstr "Konfiguration 'root' = %s"
+msgid "md5: %s can't be opened\n"
+msgstr "md5: %s kann nicht geöffnet werden\n"
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr "Konfiguration 'dbpath' = %s"
+msgid "could not get sha1sum for package %s-%s"
+msgstr "Konnte SHA1-Prüfsumme für Paket %s-%s nicht ermitteln"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr "Konfiguration 'cachedir' = %s"
+msgid "sha1sums do not match for package %s-%s"
+msgstr "SHA1-Prüfsummen für Paket %s-%s stimmen nicht überein"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr "%s kann nicht geöffnet werden\n"
+msgid "could not get md5sum for package %s-%s"
+msgstr "Konnte MD5-Prüfsumme für Paket %s-%s nicht ermitteln"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr "MD5(%s) = %s"
+msgid "md5sums do not match for package %s-%s"
+msgstr "MD5-Prüfsummen für Paket %s-%s stimmen nicht überein"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: Ignoriere Paketaktualisierung (%s)"
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: Erzwungene Aktualisierung auf Version %s"
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)"
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: Verzögere die Aktualisierung von Paket (%s)"
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr "%s: Falscher Syntax in Beschreibungsdatei, Zeile %d"
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr "Konnte Paket-Beschreibungsdatei nicht analysieren"
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr "Fehlender Paketname in %s"
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr "Fehlende Paketversion in %s"
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr "Konnte tempfile %s nicht entfernen"
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr "Fehler beim Lesen des Paketes: %s"
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr "Fehlende Paket-Metadaten"
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr "Fehlende Paket-Dateiliste in %s, erstelle eine"
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "Füge '%s' zum requiredby-Feld für '%s' hinzu"
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr "Füge '%s' zum requiredby-Feld für '%s' hinzu (stellt bereit: %s)"
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr "Konnte %s nicht in der Datenbank finden"
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr "Füge %s zur Ziel-Liste hinzu"
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr "Ziehe %s in die Ziel-Liste"
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr "Konnte %s nicht in Datenbank finden -- Überspringe"
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr "Finde entfernbare Abhängigkeiten"
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr "Kann Datei '%s' nicht entfernen: %s"
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr "Überspringe das Entfernen von '%s' wegen NoUpgrade"
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "Datei %s existiert nicht"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "Behalte Verzeichnis %s"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "Entferne Verzeichnis %s"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr "%s ist in trans->skip_remove, überspringe das Entfernen"
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr "Vorgang wurde auf NOSAVE gesetzt, '%s' wird nicht gesichert"
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr "Lösche %s"
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr "Kann Datei %s nicht entfernen: %s"
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr "Entferne Paket %s-%s"
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr "Paket '%s' wird nicht entfernt, konnte nicht alle Dateien löschen"
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr "Entferne %d Dateien"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr "Entferne Datenbank-Eintrag '%s'"
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "Konnte Datenbank-Eintrag %s-%s nicht entfernen"
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "Konnte Eintrag '%s' nicht aus dem Puffer entfernen"
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr "sha1: %s kann nicht geöffnet werden\n"
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr "sha1(%s) = %s"
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr "Suche nach Paketaktualisierungen"
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr "%s-%s ausgewählt für Aktualisierung (%s => %s)"
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr "Suche nach Ziel in Repositorium '%s'"
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr "Ziel '%s' wurde nicht gefunden -- suche nach Ähnlichem"
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr "'%s' stellt '%s' bereit"
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr "Repositorium '%s' nicht gefunden"
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr "%s-%s ist aktuell -- Überspringe"
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr "Füge das Ziel '%s' zur Vorgangsliste hinzu"
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr "Auflösen von Ziel-Abhängigkeiten"
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr "Füge Paket %s-%s zur Vorgangszielen hinzu"
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr "Suche nach unlösbaren Abhängigkeiten"
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "Paket '%s' steht im Konflikt mit '%s'"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr "'%s' wurde nicht in der Vorgangsliste gefunden -- überspringe"
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr "Paket '%s' steht im Konflikt mit sich selbst"
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr "'%s' ist in der Ziel-Liste -- ich behalte es"
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr "Entferne '%s' von Ziel-Liste"
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr "Löse Paket-Konflikt '%s'"
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr "Wähle '%s' zum Entfernen aus"
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr "Nicht lösbare Paketkonflikte gefunden"
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr "Überprüfe die Abhängigkeiten der zu entfernenden Pakete"
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr "etwas ist fürchterlich schief gegangen"
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr "'%s' stellt '%s' bereit -- Konflikt abgewandt"
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr "%s ist bereits im Puffer\n"
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "Es existiert kein %s-Puffer. Erstelle... \n"
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr "Warnung: Es existiert kein %s Puffer. Erstelle..."
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
-msgstr "Konnte Paketpuffer nicht erstellen, benutze stattdessen /tmp\n"
+#: lib/libalpm/sync.c:804
+msgid "couldn't create package cache, using /tmp instead"
+msgstr "Konnte Paketpuffer nicht erstellen, benutze stattdessen /tmp"
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr "Warnung: Konnte Paketpuffer nicht erstellen; benutze stattdessen /tmp"
-
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr "Konnte manche Dateien von %s nicht übertragen\n"
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr "Kann MD5- oder SHA1-Prüfsumme für Paket %s nicht ermitteln\n"
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "Archiv %s war beschädigt (falsche MD5- oder SHA1-Prüfsumme)\n"
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "Archiv %s ist beschädigt (falsche MD5- oder SHA1-Prüfsumme)\n"
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr "Konnte den Lösch-Vorgang nicht erstellen"
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr "Konnte den Lösch-Vorgang nicht beginnen"
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr "Entferne im Konflikt stehende und zu ersetzende Pakete"
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr "Konnte Lösch-Vorgang nicht vorbereiten"
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr "Konnte Lösch-Vorgang nicht durchführen"
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr "Installiere Pakete"
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr "Konnte den Vorgang nicht erstellen"
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr "Konnte den Vorgang nicht beginnen"
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr "Konnte den Vorgang nicht vorbereiten"
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr "Aktualisiere Datenbank für die Abhängigkeiten der ersetzten Pakete"
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr "Konnte requiredby für Datenbank-Eintrag %s-%s nicht aktualisieren"
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr "Konnte neuen Datenbank-Eintrag %s-%s nicht aktualisieren"
-#: lib/libalpm/sync.c:1079
-#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr "Paket '%s-%s' gefunden"
-
-#: lib/libalpm/sync.c:1085
-#, c-format
-msgid "package '%s' not found in sync"
-msgstr "Paket '%s' nicht in Datenbank gefunden"
-
-#: lib/libalpm/trans.c:271
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr "Aktualisiere requiredby-Felder abhängiger Pakete für %s-%s"
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr ""
-"Paket besitzt keine Abhängigkeiten, kein anderes Paket muß aktualisiert "
-"werden"
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "Aktualisiere requiredby-Feld für Paket '%s'"
+msgid "could not remove lock file %s"
+msgstr "Konnte Sperrdatei %s nicht entfernen"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr "Konnte requiredby-Eintrag %s-%s nicht aktualisieren"
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "Konnte Abhängigkeit '%s' nicht finden"
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr "Konnte Pfad nicht erstellen '%s' : %s"
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr "Konnte Datei %s nicht öffnen: %s\n"
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr "Konnte %s nicht entpacken: %s\n"
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr "Log-Aktion aufgerufen: %s"
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr "Konnte temp-Verzeichnis nicht erstellen"
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr "Konnte nicht zu Verzeichnis %s wechseln (%s)"
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr "Führe %s-Skript aus ..."
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr "Konnte keinen neuen Prozess starten (%s)"
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr "chroot in %s"
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr "Konnte root-Verzeichnis nicht wechseln (%s)"
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr "Konnte nicht zu Verzeichnis / wechseln (%s)"
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr "Führe \"%s\" aus"
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr "Aufruf von 'popen' fehlgeschlagen (%s)"
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr "Aufruf von 'waitpid' fehlgeschlagen (%s)"
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr "Konnte tmpdir %s nicht entfernen"
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr "Konnte freien Speicher von %s nicht ermitteln: %s"
+msgid "failed to make path '%s' : %s"
+msgstr "Konnte Pfad nicht erstellen '%s' : %s"
-#: lib/libalpm/util.c:609
+#: lib/libalpm/util.c:325
#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
-msgstr "Prüfe freien Speicher: Gesamte pkg-Größe: %lld, Speicherplatz: %lld"
+msgid "could not open %s: %s\n"
+msgstr "Konnte Datei %s nicht öffnen: %s\n"
-#: lib/libalpm/versioncmp.c:279
+#: lib/libalpm/util.c:346
#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
-msgstr "depcmp: %s-%s %s %s-%s => %s"
+msgid "could not extract %s (%s)\n"
+msgstr "Konnte %s nicht entpacken (%s)\n"
-#: lib/libalpm/versioncmp.c:284
-#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr "depcmp: %s-%s %s %s => %s"
diff --git a/lib/libalpm/po/en_GB.po b/lib/libalpm/po/en_GB.po
index c771cc00..5f7f4e6a 100644
--- a/lib/libalpm/po/en_GB.po
+++ b/lib/libalpm/po/en_GB.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Pacman package manager 3.0.0\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\n"
"PO-Revision-Date: 2007-03-07 21:05+1100\n"
"Last-Translator: Jeff Bailes <thepizzaking@gmail.com>\n"
"Language-Team: English <en_gb@li.org>\n"
@@ -16,1491 +16,611 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr "loading target '%s'"
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "replacing older version %s-%s by %s in target list"
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr "newer version %s-%s is in the target list -- skipping"
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "reading '%s' metadata"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "looking for unsatisfied dependencies"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "looking for conflicts"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "replacing packages with -A and -U is not supported yet"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "please remove '%s' first, using -Rd"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "sorting by dependencies"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "cleaning up"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "looking for file conflicts"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "upgrading package %s-%s"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "adding package %s-%s"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "removing old package first (%s-%s)"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr "adding %s to the NoUpgrade array temporarily"
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "extracting files"
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "could not get current working directory"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s is in NoExtract, skipping extraction"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr "%s is in trans->skip_add, skipping extraction"
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "could not extract %s (%s)"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "checking md5 hashes for %s"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "checking sha1 hashes for %s"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "current: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "new: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "original: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "could not rename %s (%s)"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "error: could not rename %s (%s)"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "could not copy tempfile to %s (%s)"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "error: could not copy tempfile to %s (%s)"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "%s saved as %s"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "warning: %s saved as %s"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "action: installing new file: %s"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "action: leaving existing file in place"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"action: keeping current file and installing new one with .pacnew ending"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "could not install %s as %s: %s"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "error: could not install %s as %s: %s"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "%s installed as %s"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "warning: %s installed as %s"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s is in NoUpgrade -- skipping"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "extracting %s as %s.pacnew"
-#: lib/libalpm/add.c:686
-#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "warning: extracting %s as %s.pacnew"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "extracting %s"
-
-#: lib/libalpm/add.c:705
-#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "error: could not extract %s (%s)"
-
-#: lib/libalpm/add.c:717
+#: lib/libalpm/add.c:721
#, c-format
-msgid "appending backup entry for %s"
-msgstr "appending backup entry for %s"
+msgid "could not extract %s (%s)"
+msgstr "could not extract %s (%s)"
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
+#: lib/libalpm/add.c:772
+#, fuzzy, c-format
+msgid "problem occurred while upgrading %s"
msgstr "errors occurred while %s %s"
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "upgrading"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "installing"
-
-#: lib/libalpm/add.c:769
-#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr "provision '%s' has been removed from package %s (%s => %s)"
-
-#: lib/libalpm/add.c:781
-#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr "updating '%s' due to provision change (%s)"
+#: lib/libalpm/add.c:777
+#, fuzzy, c-format
+msgid "problem occurred while installing %s"
+msgstr "errors occurred while %s %s"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr "could not update provision '%s' from '%s'"
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "updating database"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "adding database entry '%s'"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "could not update database entry %s-%s"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "could not add entry '%s' in cache"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
-#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "running \"ldconfig -r %s\""
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr "removing DB %s, %d remaining..."
-
-#: lib/libalpm/alpm.c:181
-#, c-format
-msgid "unregistering database '%s'"
-msgstr "unregistering database '%s'"
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "closing database '%s'"
-
-#: lib/libalpm/alpm.c:232
-#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
-msgstr ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
-
-#: lib/libalpm/alpm.c:236
-#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "serverlist flushed for '%s'"
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
-msgstr "failed to get lastupdate time for %s (no big deal)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "failed to sync db: %s [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr "sync: new mtime for %s: %s"
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr "flushing database %s%s"
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "could not remove database entry %s%s"
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "could not get sha1sum for package %s-%s"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "sha1sums for package %s-%s match"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "sha1sums do not match for package %s-%s"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "could not get md5sum for package %s-%s"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "md5sums for package %s-%s match"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "md5sums do not match for package %s-%s"
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "could not remove lock file %s"
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "warning: could not remove lock file %s"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "config: new section '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr "config: nopassiveftp"
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr "config: usesyslog"
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr "config: chomp"
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr "config: usecolor"
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr "config: including %s"
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr "config: noupgrade: %s"
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr "config: noextract: %s"
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr "config: ignorepkg: %s"
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr "config: holdpkg: %s"
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr "config: dbpath: %s"
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr "config: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1050
+#: lib/libalpm/be_files.c:83
#, fuzzy, c-format
-msgid "config: rootdir: %s"
-msgstr "config: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr "config: logfile: %s"
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr "config: xfercommand: %s"
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr "config: upgradedelay: %d"
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "checking for package replacements"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "checking replacement '%s' for package '%s'"
-
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
-#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
-#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s elected for upgrade (to be replaced by %s-%s)"
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr "'%s' not found in sync db -- skipping"
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr "'%s' is already elected for removal -- skipping"
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr "%s elected for upgrade (%s => %s)"
-
-#: lib/libalpm/be_files.c:61
-#, c-format
-msgid "unpacking database '%s'"
-msgstr "unpacking database '%s'"
+msgid "%s: description file is missing"
+msgstr "%s: syntax error in description file line %d"
-#: lib/libalpm/be_files.c:78
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid "opening database from path '%s'"
-msgstr "opening database from path '%s'"
+msgid "%s: dependency file is missing"
+msgstr ""
-#: lib/libalpm/be_files.c:182
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "db scan could not find package: %s"
-msgstr "db scan could not find package: %s"
+msgid "%s: file list is missing"
+msgstr ""
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr "invalid name for database entry '%s'"
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr "invalid package entry provided to _alpm_db_read, skipping"
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-"request to read database info for a file-based package '%s', skipping..."
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr "loading package data for %s : level=%d"
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr "cannot find '%s-%s' in db '%s'"
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr "could not open file %s: %s"
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr "writing %s-%s DESC information back to db"
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr "writing %s-%s FILES information back to db"
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr "writing %s-%s DEPENDS information back to db"
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr "loading package cache for repository '%s'"
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr "adding '%s' to package cache for db '%s'"
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr "freeing package cache for repository '%s'"
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr "error: pkgcache is NULL for db '%s'"
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr "adding entry '%s' in '%s' cache"
-
-#: lib/libalpm/cache.c:149
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr "removing entry '%s' from '%s' cache"
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr "cannot remove entry '%s' from '%s' cache: not found"
-
-#: lib/libalpm/cache.c:178
-#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr "error: failed to get '%s' from NULL pkgcache"
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr "loading group cache for repository '%s'"
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr " found conflict '%s' : package '%s'"
-
-#: lib/libalpm/conflict.c:78
-#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr " found conflict '%s' : package '%s' provides '%s'"
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr "package '%s' conflicts with itself - packaging error"
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr "checkconflicts: target '%s' vs db"
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr "checkconflicts: target '%s' vs all targets"
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr "checkconflicts: db vs target '%s'"
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
-msgstr "target '%s' is also in target list, using NEW conflicts"
+msgid "malloc failure: could not allocate %d bytes"
+msgstr "malloc failure: could not allocate %d bytes"
-#: lib/libalpm/conflict.c:257
+#: lib/libalpm/db.c:238
#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr "\tCONFLICTS:: %s conflicts with %s"
+msgid "could not remove database entry %s%s"
+msgstr "could not remove database entry %s%s"
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "malloc failure: could not allocate %d bytes"
-msgstr "malloc failure: could not allocate %d bytes"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
+msgstr "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr "malloc failed: could not allocate %d bytes"
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr "attempt to re-register the 'local' DB"
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr "attempt to re-register the '%s' database, using existing"
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr "registering database '%s'"
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr "database directory '%s' does not exist, creating it"
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr "opening database '%s'"
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr "started sorting dependencies"
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr "possible dependency cycle detected"
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr "sorting dependencies finished"
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr "null package found in package list"
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr "cannot find package installed '%s'"
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr "checkdeps: dependency '%s' satisfied by installed package '%s'"
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr "missing dependency '%s' for package '%s'"
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr "checkdeps: found %s as required by %s"
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr "excluding %s -- explicitly installed"
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr "cannot find package \"%s\" or anything that provides it!"
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr "adding '%s' to the targets"
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr "started resolving dependencies"
+#: lib/libalpm/db.c:680
+#, fuzzy
+msgid "database path is undefined"
+msgstr "database not initialised"
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr "%s provides dependency %s -- skipping"
+#: lib/libalpm/deps.c:187
+#, fuzzy
+msgid "dependency cycle detected\n"
+msgstr "dependency cycle detected: %s"
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
msgstr ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr "dependency %s is already in the target list -- skipping"
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr "pulling dependency %s (needed by %s)"
-
-#: lib/libalpm/deps.c:671
+#: lib/libalpm/deps.c:687
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "cannot resolve dependencies for \"%s\""
-#: lib/libalpm/deps.c:687
-#, c-format
-msgid "dependency cycle detected: %s"
-msgstr "dependency cycle detected: %s"
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
-msgstr "finished resolving dependencies"
-
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr "out of memory!"
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr "unexpected system error"
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr "insufficient privileges"
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr "could not find or read file"
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr "wrong or NULL argument passed"
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr "library not initialised"
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr "library already initialised"
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr "unable to lock database"
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "could not open database"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "could not create database"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "database not initialised"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "database already registered"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "could not find database"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "could not update database"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "could not remove database entry"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr "invalid url for server"
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr "could not set parameter"
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr "transaction already initialised"
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr "transaction not initialised"
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr "duplicate target"
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr "transaction not prepared"
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr "transaction aborted"
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr "operation not compatible with the transaction type"
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr "could not commit transaction"
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr "could not download all files"
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr "could not find or read package"
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr "invalid or corrupted package"
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr "cannot open package file"
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr "cannot load package data"
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr "package already installed"
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr "package not installed or lesser version"
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr "cannot remove all files for package"
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "package name is not valid"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "corrupted package"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr "no such repository"
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "group not found"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr "could not satisfy dependencies"
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr "conflicting dependencies"
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr "conflicting files"
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr "user aborted the operation"
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "internal error"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr "libarchive error"
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "not enough space on disk"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr "not confirmed"
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr "bad configuration section name"
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr "'local' is reserved and cannot be used as a repository name"
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr "syntax error in config file"
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr "all directives must belong to a section"
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "invalid regular expression"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr "connection to remote host failed"
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "unexpected error"
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
msgstr "cannot canonicalise specified root path '%s'"
-#: lib/libalpm/handle.c:175
-#, c-format
-msgid "option 'root' = %s"
-msgstr "option 'root' = %s"
+#: lib/libalpm/md5driver.c:69
+#, fuzzy, c-format
+msgid "md5: %s can't be opened\n"
+msgstr "%s can't be opened\n"
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr "option 'dbpath' = %s"
+msgid "could not get sha1sum for package %s-%s"
+msgstr "could not get sha1sum for package %s-%s"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr "option 'cachedir' = %s"
+msgid "sha1sums do not match for package %s-%s"
+msgstr "sha1sums do not match for package %s-%s"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr "%s can't be opened\n"
+msgid "could not get md5sum for package %s-%s"
+msgstr "could not get md5sum for package %s-%s"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr "md5(%s) = %s"
+msgid "md5sums do not match for package %s-%s"
+msgstr "md5sums do not match for package %s-%s"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: ignoring package upgrade (%s)"
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: forcing upgrade to version %s"
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: local (%s) is newer than %s (%s)"
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: delaying upgrade of package (%s)"
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr "%s: syntax error in description file line %d"
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr "could not parse the package description file"
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr "missing package name in %s"
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr "missing package version in %s"
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr "could not remove tempfile %s"
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr "error while reading package: %s"
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr "missing package metadata"
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr "missing package filelist in %s, generating one"
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "adding '%s' in requiredby field for '%s'"
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr "adding '%s' in requiredby field for '%s' (provides: %s)"
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr "could not find %s in database"
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr "adding %s in the targets list"
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr "pulling %s in the targets list"
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr "could not find %s in database -- skipping"
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr "finding removable dependencies"
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr "cannot remove file '%s': %s"
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr "Skipping removal of '%s' due to NoUpgrade"
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "file %s does not exist"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "keeping directory %s"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "removing directory %s"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr "%s is in trans->skip_remove, skipping removal"
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr "transaction is set to NOSAVE, not backing up '%s'"
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr "unlinking %s"
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr "cannot remove file %s: %s"
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr "removing package %s-%s"
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr "not removing package '%s', can't remove all files"
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr "removing %d files"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr "removing database entry '%s'"
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "could not remove database entry %s-%s"
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "could not remove entry '%s' from cache"
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr "sha1: %s can't be opened\n"
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr "sha1(%s) = %s"
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr "checking for package upgrades"
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr "%s-%s elected for upgrade (%s => %s)"
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr "searching for target in repo '%s'"
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr "target '%s' not found -- looking for provisions"
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr "found '%s' as a provision for '%s'"
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr "repository '%s' not found"
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr "%s-%s is up to date -- skipping"
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr "adding target '%s' to the transaction set"
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr "resolving target's dependencies"
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr "adding package %s-%s to the transaction targets"
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr "looking for unresolvable dependencies"
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "package '%s' conflicts with '%s'"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr "'%s' not found in transaction set -- skipping"
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr "package '%s' provides its own conflict"
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr "'%s' is in the target list -- keeping it"
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr "removing '%s' from target list"
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr "resolving package '%s' conflict"
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr "electing '%s' for removal"
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr "unresolvable package conflicts detected"
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr "checking dependencies of packages designated for removal"
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr "something has gone horribly wrong"
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr "found '%s' as a provision for '%s' -- conflict aborted"
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr "%s is already in the cache\n"
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "no %s cache exists, creating...\n"
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr "warning: no %s cache exists, creating..."
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
+#: lib/libalpm/sync.c:804
+#, fuzzy
+msgid "couldn't create package cache, using /tmp instead"
msgstr "couldn't create package cache, using /tmp instead\n"
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr "warning: couldn't create package cache, using /tmp instead"
-
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr "failed to retrieve some files from %s\n"
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr "can't get md5 or sha1 checksum for package %s\n"
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr "could not create removal transaction"
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr "could not initialise the removal transaction"
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr "removing conflicting and to-be-replaced packages"
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr "could not prepare removal transaction"
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr "could not commit removal transaction"
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr "installing packages"
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr "could not create transaction"
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr "could not initialise transaction"
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr "could not prepare transaction"
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr "updating database for replaced packages' dependencies"
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr "could not update requiredby for database entry %s-%s"
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr "could not update new database entry %s-%s"
-#: lib/libalpm/sync.c:1079
-#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr "found package '%s-%s' in sync"
-
-#: lib/libalpm/sync.c:1085
-#, c-format
-msgid "package '%s' not found in sync"
-msgstr "package '%s' not found in sync"
-
-#: lib/libalpm/trans.c:271
-#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr "updating dependency packages 'requiredby' fields for %s-%s"
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr "package has no dependencies, no other packages to update"
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "updating 'requiredby' field for package '%s'"
+msgid "could not remove lock file %s"
+msgstr "could not remove lock file %s"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr "could not update 'requiredby' database entry %s-%s"
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "could not find dependency '%s'"
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr "failed to make path '%s' : %s"
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr "could not open %s: %s\n"
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr "could not extract %s: %s\n"
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr "logaction called: %s"
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr "could not create temp directory"
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr "could not change directory to %s (%s)"
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr "executing %s script..."
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr "could not fork a new process (%s)"
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr "chrooting in %s"
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr "could not change the root directory (%s)"
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr "could not change directory to / (%s)"
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr "executing \"%s\""
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr "call to popen failed (%s)"
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr "call to waitpid failed (%s)"
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr "could not remove tmpdir %s"
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr ""
+msgid "failed to make path '%s' : %s"
+msgstr "failed to make path '%s' : %s"
-#: lib/libalpm/util.c:609
+#: lib/libalpm/util.c:325
#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
-msgstr "check_freespace: total pkg size: %lld, disk space: %lld"
+msgid "could not open %s: %s\n"
+msgstr "could not open %s: %s\n"
-#: lib/libalpm/versioncmp.c:279
-#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
-msgstr "depcmp: %s-%s %s %s-%s => %s"
+#: lib/libalpm/util.c:346
+#, fuzzy, c-format
+msgid "could not extract %s (%s)\n"
+msgstr "could not extract %s (%s)"
-#: lib/libalpm/versioncmp.c:284
-#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr "depcmp: %s-%s %s %s => %s"
diff --git a/lib/libalpm/po/es.po b/lib/libalpm/po/es.po
index 202dbc7d..f49305c3 100644
--- a/lib/libalpm/po/es.po
+++ b/lib/libalpm/po/es.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libalpm\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\n"
"PO-Revision-Date: 2007-04-20 21:19-0300\n"
"Last-Translator: Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>\n"
"Language-Team: juan pablo gonzález tognarelli <lord_jotape@yahoo.com.ar>\n"
@@ -13,741 +13,167 @@ msgstr ""
"X-Poedit-Country: CHILE\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr "cargando el archivo '%s'"
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "reemplazando la versión antigua %s-%s por %s en la lista de objetivos"
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr ""
"una nueva versión %s-%s esta en la lista de objetivos list -- saltándola"
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "leyendo los metadatos '%s'"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "buscando por dependencias no satisfechas"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "buscando por conflictos"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "el reemplazo de paqutes con -A y -U aún no esta soportado"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "por favor quitar '%s' primero, usando -Rd"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "ordenando por dependencias"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "limpiando"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "buscando por conflictos de archivos"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "actualizando el paquete %s-%s"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "agregando el paquete %s-%s"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "quitando el paquete antiguo primero (%s-%s)"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr "agregando %s al arreglo NoUpgrade temporalmente"
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "descomprimiendo archivos"
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "no se pudo obtener el directorio de trabajo actual"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s está en NoExtract. Saltando la extracción"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr "%s esta en la extracción trans->skip_add, skipping"
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "no se pudo extraer %s (%s)"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "verificando los hash md5 para %s"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "verificando los hash SHA1 para %s"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "actual: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "nuevo: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "original: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "no se pudo renombrar %s (%s)"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "error: no se pudo renombrar %s (%s)"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "no se pudo copiar el archivo temporal a %s (%s)"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "error: no se pudo copiar el archivo temporal a %s (%s)"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "%s guardado como %s"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "advertencia: %s guardado como %s"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "acción: instalando nuevo archivo: %s"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "acción: dejando el archivo existente en su lugar"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"action:manteniendo el archivo actual e instalando un no nuevo con postfijo ."
-"pacnew"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "no se pudo instalar %s como %s: %s"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "error: no se pudo instalar %s como %s: %s"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "%s instalado como %s"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "advertencia: %s instalado como %s"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s esta en en los no actualizables -- saltando"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "descomprimiendo %s como %s.pacnew"
-#: lib/libalpm/add.c:686
-#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "advertencia: descomprimiendo %s como %s.pacnew"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "descomprimiendo %s"
-
-#: lib/libalpm/add.c:705
-#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "error: no se pudo descomprimir %s (%s)"
-
-#: lib/libalpm/add.c:717
+#: lib/libalpm/add.c:721
#, c-format
-msgid "appending backup entry for %s"
-msgstr "agregando la entrada de respaldo para %s"
+msgid "could not extract %s (%s)"
+msgstr "no se pudo extraer %s (%s)"
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
+#: lib/libalpm/add.c:772
+#, fuzzy, c-format
+msgid "problem occurred while upgrading %s"
msgstr "ocurrieron errores mientras %s %s"
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "actualizando"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "instalando"
-
-#: lib/libalpm/add.c:769
-#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr "el provisional '%s' ha sido eliminado desde el paquete %s (%s => %s)"
-
-#: lib/libalpm/add.c:781
-#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr "actualizando '%s' debido a un cambio de provisiones (%s)"
+#: lib/libalpm/add.c:777
+#, fuzzy, c-format
+msgid "problem occurred while installing %s"
+msgstr "ocurrieron errores mientras %s %s"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr "no se pudo actualizar la provisión '%s' desde '%s'"
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "actualizando la base de datos"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "agregando a la base de datos '%s'"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "no se pudo actualizar en la base de datos la entrada %s-%s"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "no se pudo agregar '%s' en la cache"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
-#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "ejecutando \"ldconfig -r %s\""
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr "quitando la base de datos %s, %d quedando..."
-
-#: lib/libalpm/alpm.c:181
-#, c-format
-msgid "unregistering database '%s'"
-msgstr "desmarcando la base de datos '%s'"
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "cerrando la base de datos '%s'"
-
-#: lib/libalpm/alpm.c:232
-#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
-msgstr ""
-"agregando un nuevo servidor a la base de datos '%s': protocolo '%s', "
-"servidor '%s', ruta '%s'"
-
-#: lib/libalpm/alpm.c:236
-#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "lista de servidores se ha barrido para '%s'"
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
-msgstr ""
-"fallo al obtener la última fecha de actualización para %s (no es un gran "
-"problema)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "fallo al sincronizar la base de datos: %s [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr "sync: nuevo mtime para %s: %s"
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr "barriendo la base de datos %s%s"
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "no se pudo quitar la entrada en la base de datos %s%s"
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "no se pudo obtener la verificación sha1 para %s-%s"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "verificando sha1 para el paquete %s-%s coincide"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "la verificación sha1 no coincide para %s-%s"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "no se pudo obtener la verificación md5 para %s-%s"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "la verificación md5 para el paquete %s-%s concuerda"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "la verificación md5 para el paquete %s-%s no concuerda"
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "no se pudo quitar el archivo de bloqueo %s"
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "advertencia: no se pudo eliminar el archivo de bloqueo %s"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "config: nueva sección '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr "config: nopassiveftp"
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr "config: usesyslog"
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr "config: chomp"
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr "config: usecolor"
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr "config: incluyendo %s"
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr "config: noupgrade: %s"
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr "config: noextract: %s"
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr "config: ignorepkg: %s"
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr "config: holdpkg: %s"
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr "config: dbpath: %s"
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr "config: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1050
+#: lib/libalpm/be_files.c:83
#, fuzzy, c-format
-msgid "config: rootdir: %s"
-msgstr "config: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr "config: logfile: %s"
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr "config: xfercommand: %s"
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr "config: upgradedelay: %d"
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "verificando si hay reemplazo de paquetes"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "verificando el reemplazo '%s' para el paquete '%s'"
+msgid "%s: description file is missing"
+msgstr "%s: error de sintaxis en la linea de descripción de archivos %d"
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
+msgid "%s: dependency file is missing"
msgstr ""
-"%s-%s: ignorando la actualización del paquete(para ser reemplazado por %s-%s)"
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s escogido para actualizar (para ser reemplazado por %s-%s)"
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr "'%s' not encontrado en la base -- saltando"
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr "'%s' está ya seleccionado para quitar -- saltando"
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr "%s seleccionado para actualizar (%s => %s)"
-
-#: lib/libalpm/be_files.c:61
-#, c-format
-msgid "unpacking database '%s'"
-msgstr "desempaquetando la base de datos '%s'"
-
-#: lib/libalpm/be_files.c:78
-#, c-format
-msgid "opening database from path '%s'"
-msgstr "abriendo la base de datos desde la ruta '%s'"
-
-#: lib/libalpm/be_files.c:182
-#, c-format
-msgid "db scan could not find package: %s"
-msgstr "db scan no pudo encontrar el paquete: %s"
+msgid "%s: file list is missing"
+msgstr ""
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr "nombre invalido para la entrada de la base de datos '%s'"
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr "entrada de paquete invalida a _alpm_db_read, saltando"
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-"petición para leer la información de la base para el paquete basado en "
-"archivo '%s', saltando..."
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr "cargando la información del paquete para %s : nivel=%d"
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr "no se pudo encontrar '%s-%s' en la base '%s'"
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr "no se pudo abrir el archivo %s: %s"
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr "escribiendo %s-%s, información DESC en la base"
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr "escribiendo %s-%s, información FILES en la base"
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr "escribiendo %s-%s, información DEPENDS en la base"
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr "cargando la cache de paquetes para el repositorio '%s'"
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr "agregando '%s' a la cache de paquetes para la base '%s'"
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr "liberando la cache de paquetes para el repositorio '%s'"
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr "error: la cache de paquetes es nula para la base de datos '%s'"
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr "agregando '%s' en la cache '%s'"
-
-#: lib/libalpm/cache.c:149
-#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr "quitando '%s' de la cache '%s'"
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr "no se pudo quitar '%s' de la cache '%s': no encontrado"
-
-#: lib/libalpm/cache.c:178
-#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr ""
-"error: se produjo un fallo al obtener '%s' desde la cache de paquetes \"NULL"
-"\""
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr "cargando la cache de grupo para el repositorio '%s'"
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr " se ha encontrado un conflicto '%s' : paquete '%s'"
-
-#: lib/libalpm/conflict.c:78
-#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr " se ha encontrado un conflicto '%s' : paquete '%s' provee '%s'"
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr "el paquete '%s' posee conflictos con si mismo- error del paquete"
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr "checkconflicts: el objetivo '%s' vs la base de datos"
-
-#: lib/libalpm/conflict.c:149
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr "checkconflicts: el objetivo '%s' vs todos los objetivos"
+msgid "malloc failure: could not allocate %d bytes"
+msgstr "falla en malloc: no se pudo alocar %d bytes"
-#: lib/libalpm/conflict.c:181
+#: lib/libalpm/db.c:238
#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr "checkconflicts: la base de datos vs el objetivo '%s'"
+msgid "could not remove database entry %s%s"
+msgstr "no se pudo quitar la entrada en la base de datos %s%s"
-#: lib/libalpm/conflict.c:201
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
msgstr ""
-"'%s' esta también en la lista de objetivos, usando NEW provoca conflictos"
-
-#: lib/libalpm/conflict.c:257
-#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr "\tCONFLICTS:: %s posee conflictos con %s"
-
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
-#, c-format
-msgid "malloc failure: could not allocate %d bytes"
-msgstr "falla en malloc: no se pudo alocar %d bytes"
+"%s-%s: ignorando la actualización del paquete(para ser reemplazado por %s-%s)"
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr "malloc falló: no se pudo alocar %d bytes"
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr "intento para re-registrar la base de datos 'local'"
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr "intento para re-registrar la base de datos '%s', usando la existente"
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr "registrando la base de datos '%s'"
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr "el directorio de base de datos '%s' no existe, creando"
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr "abriendo la base de datos '%s'"
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr "empezando a ordenar dependencias"
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr "posible ciclo de dependencias detectado"
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr "ordenamiento de dependencias finalizado"
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr "se ha encontrado un paquete nulo en la lista de paquetes"
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr "no se pudo encontrar el paquete instalado '%s'"
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr "checkdeps: la dependencia '%s' ha sido movida desde '%s' a '%s'"
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr ""
-"checkdeps: la dependencia '%s' es satisfecha por el paquete instalado '%s'"
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr ""
-"checkdeps: El paquete actualizado '%s' no satisfará una dependencia de'%s'"
-
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr "dependencia faltante '%s' para el paquete '%s'"
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr "checkdeps: encontrado %s como lo requería %s"
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr "excluyendo %s -- instalado explícitamente"
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr "no se pudo encontrar el paquete \"%s\" o algo que lo provea!"
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr "agregando '%s' a los objetivos"
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr "empezando a resolver dependencias"
+#: lib/libalpm/db.c:680
+#, fuzzy
+msgid "database path is undefined"
+msgstr "base de datos no inicializada"
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr "%s provee la dependencia %s -- saltando"
+#: lib/libalpm/deps.c:187
+#, fuzzy
+msgid "dependency cycle detected\n"
+msgstr "ciclo de dependencias detectado: %s"
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
@@ -755,771 +181,448 @@ msgstr ""
"no se pudo resolver dependecias para \"%s\" (\"%s\" no está en las listas de "
"paquetes)"
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr "la dependencia %s ya está en la lista de objetivos -- saltando"
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr "trayendo la dependencia %s (necesitada por %s)"
-
-#: lib/libalpm/deps.c:671
+#: lib/libalpm/deps.c:687
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "no se pudo resolver las dependencias para \"%s\""
-#: lib/libalpm/deps.c:687
-#, c-format
-msgid "dependency cycle detected: %s"
-msgstr "ciclo de dependencias detectado: %s"
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
-msgstr "se ha finalizado la resolución de dependencias"
-
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr "no hay memoria!"
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr "error de sistema inesperado"
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr "privilegios insuficientes"
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr "no se pudo encontrar o leer el archivo"
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr "argumento erroneo o núlo"
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr "librería no inicializada"
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr "la librería ya fue inicializada"
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr "no se pudo bloquear la base de datos"
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "no se pudo abrir la base de datos"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "no se pudo crear la base de datos"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "base de datos no inicializada"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "base de datos ya registrada"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "no se pudo encontrar la base de datos"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "no se pudo actualizar la base de datos"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "no se pudo quitar la entrada de la base de datos"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr "dirección inválida para el servidor"
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr "no se pudo fijar el parámetro"
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr "la operación ya se inicializó"
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr "operación no inicializada"
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr "objetivo duplicado"
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr "operación no lista"
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr "operación abortada"
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr "la operación no es compatible con el tipo de transacción"
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr "no se pudo hacer la transacción"
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr "no se pudo descargar todos los archivos"
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr "no se pudo encontrar o leer el paquete"
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr "paquete invalido o corrupto"
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr "no se pudo abrir el archivo de paquetes"
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr "no se pudo cargar la información del paquete"
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr "el paquete ya está instalado"
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr "el paquete no está instalado o es una versión menor"
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr "no se pudo quitar todos los archivos del paquete"
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "el nombre del paquete no es válido"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "paquete corrupto"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr "no existe el repositorio"
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "grupo no encontrado"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr "no se pudieron satisfacer las dependencias"
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr "dependencias en conflicto"
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr "archivos en conflicto"
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr "el usuario abortó la operación"
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "error interno"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr "error de libarchive"
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "no hay suficiente espacio en el disco"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr "no confirmado"
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr "nombre de sección de configuración erróneo"
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr ""
-"'local' esta reservado y no puede ser utilizado como nombre de repositorio"
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr "error de sintaxis en el archivo de configuración"
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr "todas las directivas deben pertener a una sección"
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "expresión regular inválida"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr "falló la conexión con el host remoto"
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "error inesperado"
# canonicalize.. no supe traducirla bien
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
msgstr "no se pudo obtener el la ruta canonica de la raiz especificada '%s'"
-#: lib/libalpm/handle.c:175
-#, c-format
-msgid "option 'root' = %s"
-msgstr "opción 'root' = %s"
+#: lib/libalpm/md5driver.c:69
+#, fuzzy, c-format
+msgid "md5: %s can't be opened\n"
+msgstr "%s no puede ser abierto\n"
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr "opción 'dbpath' = %s"
+msgid "could not get sha1sum for package %s-%s"
+msgstr "no se pudo obtener la verificación sha1 para %s-%s"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr "opción 'cachedir' = %s"
+msgid "sha1sums do not match for package %s-%s"
+msgstr "la verificación sha1 no coincide para %s-%s"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr "%s no puede ser abierto\n"
+msgid "could not get md5sum for package %s-%s"
+msgstr "no se pudo obtener la verificación md5 para %s-%s"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr "md5(%s) = %s"
+msgid "md5sums do not match for package %s-%s"
+msgstr "la verificación md5 para el paquete %s-%s no concuerda"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: ignorando la actualización del paquete (%s)"
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: forzando la actualización a la versión %s"
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: local (%s) es más nuevo que %s (%s)"
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: aplazando la actualización del paquete (%s)"
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr "%s: error de sintaxis en la linea de descripción de archivos %d"
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr "no se pudo interpretar el archivo de descripción"
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr "nombre de paquete perdido en %s"
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr "versión de paquete perdida en %s"
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr "no se pudo quitar el archivo temporal %s"
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr "error mientras se leía el paquete : %s"
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr "falta la metadata del paquete "
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr "falta la lita de paquetes en %s. generando una"
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "agregando '%s' en el campo requiredby para '%s'"
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr "agregando '%s' en el campo requiredby para '%s' (provee %s)"
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr "no se pudo encontrar %s en la base de datos"
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr "agregando %s en la lista de objetivos"
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr "poniendo %s en la lista de objetivos"
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr "no se pudo encontrar %s en la base de datos -- saltando"
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr "buscando dependencias a eliminar"
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr "no se pudo quitar el archivo '%s': %s"
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr ""
-"saltando la eliminación de '%s' debido a la condición de no actualización"
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "el archivo %s no existe"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "manteniendo el directorio %s"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "quitando el directorio %s"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr "%s esta en trans->skip_remove, saltando la eliminación"
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr "la transacción esta definida como NOSAVE, no se respaldará '%s'"
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr "desvinculando %s"
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr "no se pudo quitar el archivo %s: %s"
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr "quitando el paquete %s-%s"
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr "no se quitará el paquete '%s', no se puede quitar todos los archivos"
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr "quitando %d archivos"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr "quitando de la base de datos '%s'"
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "no se pudo quitar de la base de datos %s-%s"
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "no se pudo quitar la entrada '%s' de la cache"
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr "sha1: %s no puede ser abierto\n"
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr "sha1(%s) = %s"
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr "verificando actualizaciones de paquetes"
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr "%s-%s seleccionada para actualización (%s => %s)"
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr "buscando el objetivo en el repositorio '%s'"
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr "'%s' no se encontró -- buscando provisionales"
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr "encontrado '%s' como provisional para '%s'"
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr "repositorio '%s' no encontrado"
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr "%s-%s esta al día -- saltando"
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr "agregando el objetivo '%s' a la lista de transacciones"
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr "resolviendo las dependencias"
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr "agregando el paquete %s-%s como blanco para la transacción"
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr "buscando dependencias no resueltas"
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "el paquete '%s' posee conflictos con '%s'"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr "'%s' no se encontró en las transacciones -- saltando"
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr "el paquete '%s' provee su propio conflicto"
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr "'%s' esta en la lista de objetivos -- manteniendolo"
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr "quitando '%s' de la lista de objetivos"
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr "resolviendo el conflicto del paquete '%s'"
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr "escogiendo '%s' para quitarlo"
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr "se han detectado paquetes con conflictos no resueltos"
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr "verificando dependencias de paquetes indicados para quitar"
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr "algo ha ido horriblemente mal"
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr "encontrado '%s' como provisional para '%s' -- conflicto abortado"
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr "%s ya esta en la cache\n"
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "no existe la cache %s, creando...\n"
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr "advertencia: no existe la cache %s. creándola..."
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
+#: lib/libalpm/sync.c:804
+#, fuzzy
+msgid "couldn't create package cache, using /tmp instead"
msgstr "no se pudo crear la cache de paquetes, usando /tmp en su lugar\n"
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr ""
-"advertencia: no se pudo crear la cache para paquetes. usando /tmp en su lugar"
-
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr "fallo al descargar algunos archivos desde %s\n"
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr "no se pudo verificar md5 o sha1 para el paquete %s\n"
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
"el archivo %s estaba corrupto (no coincidió la verificación MD5 o SHA1)\n"
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "el archivo %s esta corrupto (verificación MD5 o SHA1 errónea)\n"
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr "no se pudo crear la operación de eliminación"
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr "no se pudo iniciar la operación de eliminación"
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr "quitando paquetes conflictivos y los que serán reemplazados"
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr "no se pudo preparar la operación de eliminación"
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr "no se pudo asignar la operación de quitado"
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr "instalando paquetes"
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr "no se pudo crear la operación"
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr "no se pudo iniciar la operación"
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr "no se pudo preparar la transacción"
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr ""
-"actuando la base de datos para las dependencias de los paquetes reemplazados"
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr "no se pudo actualizar \"requiredby\" para la entrada %s-%s"
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr "no se pudo actualizar la nueva entrada a la base de datos %s-%s"
-#: lib/libalpm/sync.c:1079
-#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr "paquete encontrado '%s-%s' en la base de sincronización"
-
-#: lib/libalpm/sync.c:1085
-#, c-format
-msgid "package '%s' not found in sync"
-msgstr "el paquete '%s' no fue encontrado en la base de sincronización"
-
-# No me agrada mucho esta traducción. Habrá una mejor manera de indicarlo?
-#: lib/libalpm/trans.c:271
-#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr ""
-"actualizando los campos 'requeridospor' de los paquetes de dependencias "
-"para %s-%s"
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr "el paquete no posee dependencias, no hay más paquetes para actualizar"
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "actualizando el campo 'requiredby' para '%s'"
+msgid "could not remove lock file %s"
+msgstr "no se pudo quitar el archivo de bloqueo %s"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr "no se pudo actualizar \"requiredby\" para la entrada %s-%s"
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "no se pudo encontrar la dependencia '%s'"
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr "fallo al crear la ruta '%s' : %s"
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr "no se pudo abrir %s: %s\n"
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr "no se pudo extraer %s: %s\n"
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr "acción de registro llamada: %s"
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr "no se puede crear el directorio temporal "
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr "no se pudo cambiar el directorio a %s (%s)"
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr "ejecutando el script %s..."
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr "no se pudo crear un nuevo proceso (%s)"
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr "haciendo cambio de raiz en %s"
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr "no se pudo cambiar el directorio raíz (%s)"
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr "no se pudo cambiar el directorio a / (%s)"
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr "ejecutando \"%s\""
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr "llamada a popen fallida (%s)"
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr "llamada a waitpid fallida (%s)"
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr "no se pudo quitar el directorio temporal %s"
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr ""
+msgid "failed to make path '%s' : %s"
+msgstr "fallo al crear la ruta '%s' : %s"
-#: lib/libalpm/util.c:609
+#: lib/libalpm/util.c:325
#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
-msgstr "verificando espacio libre: tamaño total: %lld, espacio en disco: %lld"
+msgid "could not open %s: %s\n"
+msgstr "no se pudo abrir %s: %s\n"
-#: lib/libalpm/versioncmp.c:279
-#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
-msgstr "depcmp: %s-%s %s %s-%s => %s"
+#: lib/libalpm/util.c:346
+#, fuzzy, c-format
+msgid "could not extract %s (%s)\n"
+msgstr "no se pudo extraer %s (%s)"
-#: lib/libalpm/versioncmp.c:284
-#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr "depcmp: %s-%s %s %s => %s"
diff --git a/lib/libalpm/po/fr.po b/lib/libalpm/po/fr.po
index 7e6d0d17..c912acdc 100644
--- a/lib/libalpm/po/fr.po
+++ b/lib/libalpm/po/fr.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Pacman package manager 3.0.1\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\n"
"PO-Revision-Date: 2007-04-17 12:45+0100\n"
"Last-Translator: nam <37ii11@altern.org>\n"
"Language-Team: solsTiCe d'Hiver <solstice.dhiver@laposte.net>\n"
@@ -15,744 +15,168 @@ msgstr ""
"X-Poedit-Language: French\n"
"X-Poedit-Country: FRANCE\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr "chargement de la cible '%s'"
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr ""
"remplacement de l'ancienne version %s-%s par %s dans la liste des cibles"
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr ""
"une version plus récente %s-%s est dans la liste des cibles -- paquet ignoré"
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "lecture des méta-données '%s'"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "recherche des dépendances non satisfaites"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "recherche des conflits"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "remplacer un paquet avec -A ou -U n'est pas encore possible"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "veuillez supprimer '%s' d'abord, en utilisant -Rd"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "tri par dépendances"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "nettoyage"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "recherche de conflits entre fichiers"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "mise à jour du paquet %s-%s"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "ajout du paquet %s-%s"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "suppression préalable de l'ancien paquet (%s-%s)"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr "ajout provisoire de %s parmi les paquets à ne pas mettre à jour"
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "extraction des fichiers"
-
# j'ai traduit chaque fois "could not" par "a échoué"
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "déterminer le répertoire courant a échoué"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s est dans la liste des paquets NoExtract -- extraction non effectuée"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr "%s est dans trans->skip_add, extraction ignorée"
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "l'extraction de %s (%s) a échoué"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "vérification de la 'signature' md5 pour %s"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "vérification de la 'signature' sha1 pour %s"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "courant: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "nouveau: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "original: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "renommer %s (%s) a échoué"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "erreur: renommer %s (%s) a échoué"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "la copie du fichier temporaire vers %s (%s) a échoué"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "erreur: la copie du fichier temporaire vers %s (%s) a échoué"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "%s enregistré en tant que %s"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "avertissement: %s enregistré en tant que %s"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "action: installation du nouveau fichier: %s"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "action: quitte en préservant les fichiers existants"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"action: conserve le fichier actuel et installe le nouveau avec l'extension ."
-"pacnew"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "l'installation de %s en tant que %s: %s a échoué"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "erreur: l'installation de %s en tant que %s: %s a échoué"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "%s installé en tant que %s"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "avertissement: %s installé en tant que %s"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s est parmi les paquets à ne pas mettre à jour -- ignoré"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "extraction de %s comme %s.pacnew"
-#: lib/libalpm/add.c:686
-#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "avertissement: extraction de %s comme %s.pacnew"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "extraction de %s"
-
-#: lib/libalpm/add.c:705
-#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "erreur: l'extraction de %s (%s) a échoué"
-
-#: lib/libalpm/add.c:717
+#: lib/libalpm/add.c:721
#, c-format
-msgid "appending backup entry for %s"
-msgstr "ajoute une entrée de sauvegarde pour %s"
+msgid "could not extract %s (%s)"
+msgstr "l'extraction de %s (%s) a échoué"
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
+#: lib/libalpm/add.c:772
+#, fuzzy, c-format
+msgid "problem occurred while upgrading %s"
msgstr "des erreurs sont survenues pendant %s %s"
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "mise à jour"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "installation"
-
-#: lib/libalpm/add.c:769
-#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr "la condition '%s' a été supprimée du paquet %s (%s => %s)"
-
-#: lib/libalpm/add.c:781
-#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr "mise à jour de '%s' suite à un changement de contenu (%s)"
+#: lib/libalpm/add.c:777
+#, fuzzy, c-format
+msgid "problem occurred while installing %s"
+msgstr "des erreurs sont survenues pendant %s %s"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr "la mise à jour du contenu '%s' dans '%s' a échoué"
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "mise à jour de la base de données"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "ajout de l'entrée de base de données '%s'"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "la mise à jour l'entrée de base de données %s-%s a échoué"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "l'ajout au cache de l'entrée '%s' a échoué"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
-#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "exécution de \"ldconfig -r %s\""
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr "suppression de la DB %s, %d restant..."
-
-#: lib/libalpm/alpm.c:181
-#, c-format
-msgid "unregistering database '%s'"
-msgstr "désenregistrement de la base de données '%s'"
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "fermeture de la base de données '%s'"
+#: lib/libalpm/be_files.c:83
+#, fuzzy, c-format
+msgid "%s: description file is missing"
+msgstr "%s: erreur de syntaxe dans le fichier de description à la ligne %d"
-#: lib/libalpm/alpm.c:232
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
+msgid "%s: dependency file is missing"
msgstr ""
-"ajout d'un nouveau serveur à la base '%s': protocole '%s', serveur '%s', "
-"chemin '%s'"
-
-#: lib/libalpm/alpm.c:236
-#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "liste des serveurs mise à jour pour '%s'"
-#: lib/libalpm/alpm.c:279
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
+msgid "%s: file list is missing"
msgstr ""
-"échec de récupération de la date de dernière mise à jour pour %s (problème "
-"mineur)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "échec de synchronisation de la base de données: %s [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr "sync: nouveau mtime pour %s: %s"
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr "mise à jour de la base de données %s%s"
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "la suppression de l'entrée de base de données %s%s a échoué"
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "l'obtention de la 'signature' sha1 pour le paquet %s-%s a échoué"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "les 'signatures' sha1 correspondent pour le paquet %s-%s"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "les 'signatures' sha1 ne correspondent pas pour le paquet %s-%s"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "l'obtention de la 'signature' md5 pour le paquet %s-%s a échoué"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "les 'signatures' md5 correspondent pour le paquet %s-%s"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "les 'signatures' md5 ne correspondent pas pour le paquet %s-%s"
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "la suppression du fichier de verrouillage %s a échoué"
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "avertissement: la suppression du fichier de verrouillage %s a échoué"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "config: nouvelle section '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr "config: nopassiveftp"
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr "config: usesyslog"
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr "config: chomp"
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr "config: usecolor"
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr "config: inclusion de %s"
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr "config: noupgrade: %s"
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr "config: noextract: %s"
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr "config: ignorepkg: %s"
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr "config: holdpkg: %s"
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr "config: dbpath: %s"
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr "config: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1050
-#, c-format
-msgid "config: rootdir: %s"
-msgstr "config: rootdir: %s"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr "config: logfile: %s"
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr "config: xfercommand: %s"
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr "config: upgradedelay: %d"
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "analyse de remplacements possibles pour le paquet"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "analyse du remplacement '%s' pour le paquet '%s'"
-
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
-#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s: ignore la mise à jour du paquet (à remplacer par %s-%s)"
-
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
-#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s sélectionné pour mise à jour (à remplacer par %s-%s)"
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr "'%s' non trouvé dans la liste de synchronisation -- ignoré"
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr "'%s' est déjà sélectionné pour suppression -- ignoré"
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr "%s sélectionné pour mise à jour (%s => %s)"
-
-#: lib/libalpm/be_files.c:61
-#, c-format
-msgid "unpacking database '%s'"
-msgstr "décompression de la base de données '%s'"
-
-#: lib/libalpm/be_files.c:78
-#, c-format
-msgid "opening database from path '%s'"
-msgstr "ouverture de la base de données à partir du chemin '%s'"
-
-#: lib/libalpm/be_files.c:182
-#, c-format
-msgid "db scan could not find package: %s"
-msgstr "l'analyse de la base de données n'a pas pu trouver le paquet: %s"
-
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr "nom invalide pour l'entrée de base de données '%s'"
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr "paquet invalide fournit à _alpm_db_read, et ignoré"
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-"demande de lecture de la base de données pour un paquet type fichier '%s', "
-"ignoré..."
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr "chargement des données du paquet %s : niveau=%d"
-# j'ai traduit chaque fois "cannot" par "impossible de"
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr "impossible de trouver %s-%s dans la base de données '%s'"
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr "l'ouverture du fichier %s: %s a échoué"
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr "écriture des informations DESC pour %s-%s dans la base de données"
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr "écriture des informations FILES pour %s-%s dans la base de données"
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr "écriture des informations DEPENDS pour %s-%s dans la base de données"
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr "chargement du cache de paquets pour le dépôt '%s'"
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr "ajout de '%s' au cache de paquets pour la base de données '%s'"
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr "nettoyage du cache de paquets pour le dépot '%s'"
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr "erreur: pkgcache est NULL pour la base de données '%s'"
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr "ajout de l'entrée '%s' dans '%s' cache"
-
-#: lib/libalpm/cache.c:149
-#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr "suppression de l'entrée '%s' du '%s' cache"
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr "impossible de supprimer le cache '%s' de l'entrée '%s': non trouvé"
-
-#: lib/libalpm/cache.c:178
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr "erreur: échec d'obtention de '%s' de NULL pkgcache"
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr "chargement du cache de groupe pour le dépôt '%s'"
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr " conflit détecté '%s' : paquet '%s'"
-
-#: lib/libalpm/conflict.c:78
-#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr " conflit détecté '%s': paquet '%s' fournit '%s'"
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr ""
-"le paquet '%s' est en conflit avec lui-même - erreur de création de paquet"
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr "analyse des conflits: cible '%s' comparée à la base"
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr "analyse des conflits: cible '%s' comparée aux cibles"
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr "analyse des conflits: base de données comparée à la cible '%s'"
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
-msgstr ""
-"'%s' est aussi dans la liste de cibles, analyse des nouveaux conflits "
-"possibles"
+msgid "malloc failure: could not allocate %d bytes"
+msgstr "erreur malloc: n'a pas pu allouer %d bytes"
-#: lib/libalpm/conflict.c:257
+#: lib/libalpm/db.c:238
#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr "\tCONFLITS:: %s est en conflit avec %s"
+msgid "could not remove database entry %s%s"
+msgstr "la suppression de l'entrée de base de données %s%s a échoué"
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "malloc failure: could not allocate %d bytes"
-msgstr "erreur malloc: n'a pas pu allouer %d bytes"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
+msgstr "%s-%s: ignore la mise à jour du paquet (à remplacer par %s-%s)"
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr "malloc a echoué: n'a pas pu allouer %d bytes"
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr "tentative de ré-enregistrer la base de données locale"
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr ""
-"essai de ré-enregistrement de la base de données '%s', utilisant celle qui "
-"existe"
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr "enregistrement de la base de données '%s'"
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr "le répertoire de base de données '%s' n'existe pas, création"
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr "ouverture de la base de données '%s'"
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr "début du tri des dépendances"
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr "possible cycle de dépendances détecté"
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr "fin du tri des dépendances"
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr "aucun paquet trouvé dans la liste des paquets"
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr "impossible de trouver le paquet installé '%s'"
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr "checkdeps: dépendance '%s' a changé de '%s' à '%s'"
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr "checkdeps: dépendance '%s' satisfaite par le paquet installé '%s'"
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr "checkdeps: '%s' mis à jour ne satisfera pas une dépendance de '%s'"
-
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr "dépendance manquante '%s' pour le paquet '%s'"
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr "checkdeps: trouvé %s, comme requis par %s"
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr "exclusion de %s -- explicitement installé"
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr ""
-"impossible de trouver le paquet \"%s\" ou quoique ce soit qui le fournisse!"
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr "ajout de '%s' aux cibles"
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr "début du tri des dépendances"
+#: lib/libalpm/db.c:680
+#, fuzzy
+msgid "database path is undefined"
+msgstr "base de données non initialisée"
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr "%s fournit la dépendance %s -- ignoré"
+#: lib/libalpm/deps.c:187
+#, fuzzy
+msgid "dependency cycle detected\n"
+msgstr "cycle de dépendances détecté: %s"
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
@@ -760,919 +184,450 @@ msgstr ""
"résolution des dépendances impossible pour \"%s\" (\"%s\" n'est pas parmi "
"les paquets)"
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr "la dépendance %s est déjà dans la liste de cibles -- ignorée"
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr "récupération de la dépendance %s (requise par %s)"
-
-#: lib/libalpm/deps.c:671
+#: lib/libalpm/deps.c:687
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "résolution des dépendances impossible pour \"%s\""
-#: lib/libalpm/deps.c:687
-#, c-format
-msgid "dependency cycle detected: %s"
-msgstr "cycle de dépendances détecté: %s"
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
-msgstr "fin du tri des dépendances"
-
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr "dépassement de mémoire!"
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr "erreur système non prévue"
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr "autorisation insuffisante"
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr "trouver ou lire le fichier a échoué"
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr "un argument erroné ou nul a été fourni"
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr "librairie non initialisée"
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr "librairie déjà initialisée"
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr "verrouillage de la base de données impossible"
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "l'ouverture de la base de données a échoué"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "la création de la base de données a échoué"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "base de données non initialisée"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "base de données déjà enregistrée"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "trouver la base de données a échoué"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "la mise à jour de la base de données a échoué"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "la suppression de l'entrée de base de données a échoué"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr "URL invalide pour le serveur"
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr "définir le paramètre a échoué"
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr "transaction déjà initialisée"
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr "transaction non initialisée"
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr "cible répétée"
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr "transaction non préparée"
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr "transaction annulée"
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr "opération incompatible avec le type de transaction"
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr "appliquer la transaction a échoué"
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr "tous les fichiers n'ont pas pu être téléchargés"
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr "trouver ou de lire le paquet a échoué"
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr "paquet invalide ou corrompu"
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr "ouverture du fichier paquet impossible"
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr "chargement des données du paquet impossible"
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr "paquet déjà installé"
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr "paquet non installé ou version plus ancienne"
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr "suppression de certains fichiers du paquet impossible"
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "nom de paquet invalide"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "paquet corrompu"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr "ce dépôt n'existe pas"
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "groupe non trouvé"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr "la satisfaction des dépendances a échoué"
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr "conflit de dépendances"
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr "conflit de fichiers"
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr "opération annulée par l'utilisateur"
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "erreur interne"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr "erreur de libarchive"
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "espace disque insuffisant"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr "non confirmé"
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr "nom de la section de configuration erroné"
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr "'local' est réservé et ne peut être utilisé comme nom de dépôt"
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr "erreur de syntaxe dans le fichier de configuration"
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr "toutes les directives doivent appartenir à une section"
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "expression régulière incorrecte"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr "échec de connexion à l'hôte distant "
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "erreur non prévue"
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
msgstr "normalisation du chemin root '%s' impossible"
-#: lib/libalpm/handle.c:175
-#, c-format
-msgid "option 'root' = %s"
-msgstr "option 'root' = %s"
+#: lib/libalpm/md5driver.c:69
+#, fuzzy, c-format
+msgid "md5: %s can't be opened\n"
+msgstr "l'ouverture de %s a échoué\n"
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr "option 'dbpath' = %s"
+msgid "could not get sha1sum for package %s-%s"
+msgstr "l'obtention de la 'signature' sha1 pour le paquet %s-%s a échoué"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr "option 'cachedir' = %s"
+msgid "sha1sums do not match for package %s-%s"
+msgstr "les 'signatures' sha1 ne correspondent pas pour le paquet %s-%s"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr "l'ouverture de %s a échoué\n"
+msgid "could not get md5sum for package %s-%s"
+msgstr "l'obtention de la 'signature' md5 pour le paquet %s-%s a échoué"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr "md5(%s) = %s"
+msgid "md5sums do not match for package %s-%s"
+msgstr "les 'signatures' md5 ne correspondent pas pour le paquet %s-%s"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: ignore la mise à jour du paquet (%s)"
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: force la mise à jour à la version %s"
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: la version locale (%s) est plus récente que %s (%s)"
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: retarde la mise à jour du paquet (%s)"
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr "%s: erreur de syntaxe dans le fichier de description à la ligne %d"
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr "l'analyse du fichier de description a échoué"
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr "nom de paquet manquant dans %s"
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr "version de paquet manquante dans %s"
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr "la suppression du fichier temporaire %s a échoué"
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr "erreur lors de la lecture du paquet: %s"
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr "méta-données du paquet manquantes"
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr "liste de fichiers absente du paquet %s, création"
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "ajoute '%s' dans le champ 'requis par' pour '%s'"
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr "ajoute '%s' dans le champ 'requis par' pour '%s' (fournit: %s)"
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr "trouver %s dans la base de données a échoué"
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr "ajoute %s dans la liste des cibles"
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr "ajoute %s à la liste des cibles"
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr "trouver %s dans la base de données a échoué -- ignoré"
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr "trouve les dépendances susceptibles d'être supprimées"
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr "suppression du fichier '%s': %s impossible"
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr "Ignore la suppression de %s pour cause de NoUpgrade"
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "le fichier %s n'existe pas"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "préservation du répertoire %s"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "suppression du répertoire %s"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr "%s est dans trans->skip_remove, suppression ignorée"
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr "la transaction se fait avec option NOSAVE, pas de sauvegarde de '%s'"
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr "suppression du lien %s"
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr "suppression du fichier %s: %s impossible"
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr "suppression du paquet %s-%s"
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr "paquet '%s' non supprimé, certains fichiers ne peuvent être supprimés"
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr "suppression de %d fichiers"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr "suppression de l'entrée de base de données %s"
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "la suppression de l'entrée de base de données %s-%s a échoué"
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "la suppression du cache de l'entrée '%s' a échoué"
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr "sha1: %s ne peut être ouvert\n"
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr "sha1(%s) = %s"
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr "vérification des mises à jour disponibles"
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr "%s-%s sélectionné pour mise à jour (%s => %s)"
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr "cherche la cible dans le dépôt '%s'"
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr "cible '%s' non trouvée -- recherche des "
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr "trouvé '%s' comme condition pour '%s'"
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr "dépôt '%s' non trouvé"
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr "%s-%s est à jour -- ignoré"
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr "ajout de la cible '%s' au jeu de transactions"
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr "résolution des dépendances pour la cible"
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr "ajout du paquet %s-%s aux cibles de la transaction"
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr "recherche de dépendances impossibles à résoudre"
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "le paquet '%s' est en conflit avec '%s'"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr "'%s' non trouvé dans le jeu de transactions -- ignoré"
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr "le paquet '%s' génère son propre conflit"
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr "'%s' est dans la la liste de cibles -- conservation"
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr "suppression de '%s' de la liste des cibles"
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr "résolution des conflits pour le paquet '%s'"
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr "sélection de '%s' pour suppression"
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr "un conflit de paquets impossible à résoudre a été détecté"
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr "analyse des dépendances des paquets sélectionnés pour suppression"
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr "quelque chose s'est horriblement mal passé"
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr "trouvé '%s' comme pour '%s' -- conflit annulé"
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr "%s est déjà dans le cache\n"
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "le cache %s n'existe pas, création...\n"
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr "avertissement: le cache %s n'existe pas, création..."
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
+#: lib/libalpm/sync.c:804
+#, fuzzy
+msgid "couldn't create package cache, using /tmp instead"
msgstr "n'a pas pu créer le cache de paquets, /tmp sera utilisé à la place\n"
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr ""
-"avertissement: ne peut créer le cache de paquets, /tmp sera utilisé à la "
-"place"
-
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr "échec de récupération de certains fichiers depuis %s\n"
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr "ne peut obtenir la 'signature' md5 ou sha1 pour le paquet %s\n"
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "l'archive %s était corrompue (mauvaise somme MD5 ou SHA1)\n"
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "l'archive %s est corrompue (mauvaise somme MD5 ou SHA1)\n"
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr "la création de la transaction de suppression a échoué"
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr "l'initialisation de la transaction de suppression a échoué"
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr "suppression des paquets en conflit et de ceux à remplacer"
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr "la préparation de la transaction de suppression a échoué"
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr "appliquer la transaction de suppression a échoué"
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr "installation des paquets"
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr "la création de la transaction a échoué"
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr "l'initialisation de la transaction a échoué"
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr "la préparation de la transaction a échoué"
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr ""
-"mise à jour de la base de données avec les dépendances des paquets remplacés"
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr ""
"la mise à jour du champ requiredby pour l'entrée de base de données %s-%s a "
"échoué"
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr "la mise à jour de la nouvelle entrée de base de données %s-%s a échoué"
-#: lib/libalpm/sync.c:1079
-#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr "paquet '%s-%s' trouvé dans sync"
-
-#: lib/libalpm/sync.c:1085
-#, c-format
-msgid "package '%s' not found in sync"
-msgstr "paquet '%s' non trouvé dans la liste de synchronisation"
-
-#: lib/libalpm/trans.c:271
-#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr "mise à jour des dépendances dans les champs 'requiredby' pour %s-%s"
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr "le paquet n'a aucune dépendance, pas d'autres paquets à mettre à jour"
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "mise à jour du champ 'requiredby' pour le paquet '%s'"
+msgid "could not remove lock file %s"
+msgstr "la suppression du fichier de verrouillage %s a échoué"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr ""
"la mise à jour du champ 'requiredby' de l'entrée de base de données %s-%s a "
"échoué"
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "trouver la dépendance '%s' a échoué"
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr "échec de la création du chemin '%s' : %s"
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr "l'ouverture de %s: %s a échoué\n"
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr "l'extraction de %s: %s a échoué\n"
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr "logaction called: %s"
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr "la création du répertoire temporaire a échoué"
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr "changer de répertoire vers %s (%s) a échoué"
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr "exécution du script %s ..."
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr "la génération d'un nouveau processus (%s) a échoué"
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr "chroot dans %s"
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr "changer le répertoire racine (%s) a échoué"
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr "changer de répertoire vers / (%s) a échoué"
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr "exécution de \"%s\""
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr "l'appel à popen a échoué (%s)"
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr "call to waitpid failed (%s)"
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr "la suppression du répertoire temporaire %s a échoué"
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr "impossible de lire l'information concernant l'espace disque de %s: %s"
-
-#: lib/libalpm/util.c:609
-#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
-msgstr "check_freespace: taille totale: %lld, espace disque: %lld"
-
-#: lib/libalpm/versioncmp.c:279
-#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
-msgstr "depcmp: %s-%s %s %s-%s => %s"
+msgid "failed to make path '%s' : %s"
+msgstr "échec de la création du chemin '%s' : %s"
-#: lib/libalpm/versioncmp.c:284
+#: lib/libalpm/util.c:325
#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr "depcmp: %s-%s %s %s => %s"
-
-#~ msgid "%s saved as %s.pacorig"
-#~ msgstr "%s sauve en tant que %s.pacorig"
-
-#~ msgid "could not parse token %s"
-#~ msgstr "ne peut analyser l'élément %s"
-
-#~ msgid "notice: %s is in NoExtract -- skipping extraction"
-#~ msgstr "note: %s est dans la liste NoExtract -- ignore l'extraction"
-
-#~ msgid "loading package cache (infolevel=%#x) for repository '%s'"
-#~ msgstr "chargement du cache de paquet (infolevel=%#x) pour le dépot '%s'"
-
-#, fuzzy
-#~ msgid "package cache reloaded (infolevel=%#x) for repository '%s'"
-#~ msgstr "chargement du cache de paquet (infolevel=%#x) pour le dépot '%s'"
-
-#~ msgid "targs vs db: found %s as a conflict for %s"
-#~ msgstr ""
-#~ "comparaison cibles / base de données : trouve %s comme conflit pour %s"
-
-#~ msgid "targs vs targs: found %s as a conflict for %s"
-#~ msgstr ""
-#~ "comparaison cible / liste de cibles : trouve %s comme conflit pour %s"
-
-#~ msgid "db vs targs: found %s as a conflict for %s"
-#~ msgstr "comparaison base de donnée / cibles: trouve %s en conflit avec %s"
-
-#, fuzzy
-#~ msgid "no dependencies for target '%s'"
-#~ msgstr "ne peut résoudre les dépendances pour \"%s\""
-
-#, fuzzy
-#~ msgid "%s-%s: ignoring package upgrade (%s => %s)"
-#~ msgstr "%s-%s: ignore la mise à jour du paquet (%s)"
-
-#~ msgid "adding new package %s-%s"
-#~ msgstr "ajout du nouveau paquet %s-%s"
-
-#~ msgid "error updating database for %s-%s!"
-#~ msgstr "erreur lors de la mise a jour de la base de données pour %s-%s!"
-
-#~ msgid "dep is NULL!"
-#~ msgstr "dep est NULL!"
-
-#~ msgid "loading ALL info for '%s'"
-#~ msgstr "chargement de TOUTES les infos pour '%s'"
-
-#, fuzzy
-#~ msgid "could not find dependency '%s' for removal"
-#~ msgstr "n'a pas pu trouver la dépendance '%s'"
-
-#~ msgid "loading FILES info for '%s'"
-#~ msgstr "chargement des informations de fichiers pour '%s'"
-
-#~ msgid "loading DESC info for '%s'"
-#~ msgstr "chargement des informations descriptives pour '%s'"
-
-#, fuzzy
-#~ msgid "syntax error"
-#~ msgstr "erreur interne"
-
-#~ msgid "unpacking %s"
-#~ msgstr "décompacte %s"
-
-#~ msgid "loading SCRIPLET info for '%s'"
-#~ msgstr "charge les infos de SCRIPLET pour '%s'"
-
-#, fuzzy
-#~ msgid "config: %s: server: %s\n"
-#~ msgstr "avertissement: %s sauve en tant que %s"
-
-#~ msgid "db_write: could not open file %s/desc"
-#~ msgstr "db_write: n'a pas pu ouvrir le fichier %s/desc"
-
-#~ msgid "db_write: could not open file %s/files"
-#~ msgstr "db_write: n'a pas pu ouvrir le fichier %s/files"
-
-#~ msgid "db_write: could not open file %s/depends"
-#~ msgstr "db_write: n' pas pu ouvrir le fichier %s/depends"
-
-#~ msgid "PM_OPT_DBPATH set to '%s'"
-#~ msgstr "PM_OPT_DBPATH défini à '%s'"
-
-#~ msgid "PM_OPT_CACHEDIR set to '%s'"
-#~ msgstr "PM_OPT_CACHEDIR défini à '%s'"
-
-#~ msgid "can't open log file %s"
-#~ msgstr "ne peut ouvrir le fichier de log %s"
-
-#~ msgid "PM_OPT_LOGFILE set to '%s'"
-#~ msgstr "PM_OPT_LOGFILE défini à '%s'"
-
-#~ msgid "'%s' added to PM_OPT_NOUPGRADE"
-#~ msgstr "'%s' ajouté à PM_OPT_NOUPGRADE"
-
-#~ msgid "PM_OPT_NOUPGRADE flushed"
-#~ msgstr "PM_OPT_NOUPGRADE rechargé"
-
-#~ msgid "'%s' added to PM_OPT_NOEXTRACT"
-#~ msgstr "'%s' ajouté à PM_OPT_NOEXTRACT"
-
-#~ msgid "PM_OPT_NOEXTRACT flushed"
-#~ msgstr "PM_OPT_NOEXTRACT rechargé"
-
-#~ msgid "'%s' added to PM_OPT_IGNOREPKG"
-#~ msgstr "'%s' ajouté à PM_OPT_IGNOREPKG"
-
-#~ msgid "PM_OPT_IGNOREPKG flushed"
-#~ msgstr "PM_OPT_IGNOREPKG rechargé"
-
-#, fuzzy
-#~ msgid "'%s' added to PM_OPT_HOLDPKG"
-#~ msgstr "'%s' ajouté à PM_OPT_IGNOREPKG"
-
-#, fuzzy
-#~ msgid "PM_OPT_HOLDPKG flushed"
-#~ msgstr "PM_OPT_IGNOREPKG rechargé"
-
-#~ msgid "PM_OPT_USESYSLOG set to '%d'"
-#~ msgstr "PM_OPT_USESYSLOG défini à '%d'"
-
-#~ msgid "PM_OPT_LOGMASK set to '%02x'"
-#~ msgstr "PM_OPT_LOGMASK défini à '%02x'"
-
-#, fuzzy
-#~ msgid "PM_OPT_PROXYHOST set to '%s'"
-#~ msgstr "PM_OPT_DBPATH défini à '%s'"
-
-#, fuzzy
-#~ msgid "PM_OPT_PROXYPORT set to '%d'"
-#~ msgstr "PM_OPT_DBPATH défini à '%s'"
-
-#, fuzzy
-#~ msgid "PM_OPT_XFERCOMMAND set to '%s'"
-#~ msgstr "PM_OPT_CACHEDIR défini à '%s'"
-
-#, fuzzy
-#~ msgid "PM_OPT_NOPASSIVEFTP set to '%d'"
-#~ msgstr "PM_OPT_DBPATH défini à '%s'"
-
-#, fuzzy
-#~ msgid "PM_OPT_CHOMP set to '%d'"
-#~ msgstr "PM_OPT_CACHEDIR défini à '%s'"
+msgid "could not open %s: %s\n"
+msgstr "l'ouverture de %s: %s a échoué\n"
-#~ msgid "bad package file in %s"
-#~ msgstr "mauvais fichier de paquet dans %s"
+#: lib/libalpm/util.c:346
+#, fuzzy, c-format
+msgid "could not extract %s (%s)\n"
+msgstr "l'extraction de %s (%s) a échoué"
-#~ msgid "%s-%s: local version is newer -- skipping"
-#~ msgstr "%s-%s: la version locale est plus récente -- ignoré"
diff --git a/lib/libalpm/po/hu.po b/lib/libalpm/po/hu.po
index bf8ee41e..c22f3c77 100644
--- a/lib/libalpm/po/hu.po
+++ b/lib/libalpm/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hu\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-13 14:54+0200\n"
"PO-Revision-Date: 2007-03-14 13:45+0100\n"
"Last-Translator: Nagy Gabor <ngaba@petra.hos.u-szeged.hu>\n"
"Language-Team: <hu@li.org>\n"
@@ -17,735 +17,163 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: KBabel 1.11.4\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr "cl betltse '%s'"
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "a %s-%s-t lecserli a %s a cl listban"
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr "az jabb verzi (%s-%s) mr elrhet a cl listban -- kihagys"
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "'%s' metaadat olvassa"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "elgtelen fggsgek keresse"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "konfliktusok keresse"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "csomagok lecserlse mg nem tmogatott -A s -U esetn"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "krem elszr tvoltsa el '%s'-t a -Rd kapcsolt hasznlva"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "rendezs fggsgek szerint"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "tisztts"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "fjl konfliktusok keresse"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "csomag frisstse: %s-%s"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "csomag hozzadsa %s-%s"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "elsknt a rgi csomag eltvoltsa (%s-%s)"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr ""
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "fjlok kitmrtse"
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "a jelenlegi munkaknyvtr nem kaphat meg"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s a NoExtractben van, kitmrts kihagysa"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr ""
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "nem sikerlt kitmrteni: %s (%s)"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "md5 sszegek vizsglata a %s szmra"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "sha1 sszegek vizsglata a %s szmra"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "jelenlegi: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "j: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "eredeti: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "nem sikerlt tnevezni: %s (%s)"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "hiba: nem sikerlt tnevezni: %s (%s)"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "nem sikerlt az ideiglenes fjlt ide msolni: %s (%s)"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "hiba: nem sikerlt az ideiglenes fjlt ide msolni: %s (%s)"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "a %s elmentve %s nven"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "figyelmeztets: a %s elmentve %s nven"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "folyamat: j fjl teleptse: %s"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "folyamat: a jelenlegi fjl megtartsa"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"folyamat: a jelenlegi fjl megtartsa s az j .pacnew vgzdssel val "
-"teleptse"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "nem sikerlt telepteni a %s-t %s-knt: %s"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "hiba: nem sikerlt telepteni a %s-t %s-knt: %s"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "a %s %s nven lett teleptve"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "figyelmeztets: a %s nven %s lett teleptve"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s a NoUpgrade-ben van -- kihagys"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "%s kitmrtse %s.pacnew nven"
-#: lib/libalpm/add.c:686
+#: lib/libalpm/add.c:721
#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "figyelmeztets: %s kitmrtse %s.pacnew nven"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "a %s kitmrtse"
-
-#: lib/libalpm/add.c:705
-#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "hiba: nem sikerlt kitmrteni: %s (%s)"
-
-#: lib/libalpm/add.c:717
-#, c-format
-msgid "appending backup entry for %s"
-msgstr ""
-
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
-msgstr "hiba %s kzben: %s"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "frissts"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "telepts"
+msgid "could not extract %s (%s)"
+msgstr "nem sikerlt kitmrteni: %s (%s)"
-#: lib/libalpm/add.c:769
+#: lib/libalpm/add.c:772
#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr ""
+msgid "problem occurred while upgrading %s"
+msgstr "hiba trtnt a(z) %s frisstse kzben"
-#: lib/libalpm/add.c:781
+#: lib/libalpm/add.c:777
#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr ""
+msgid "problem occurred while installing %s"
+msgstr "hiba trtnt a(z) %s teleptse kzben"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr ""
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "az adatbzis frisstse"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "adatbzis mez hozzadsa '%s'"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "sikertelen a '%s-%s' adatbzis-bejegyzs frisstse"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "sikertelen a '%s' bejegyzs hozzadsa a gyorsttrhoz"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
+#: lib/libalpm/be_files.c:83
#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "az \"ldconfig -r %s\" futtatsa"
+msgid "%s: description file is missing"
+msgstr "%s: hinyz csomagler fjl"
-#: lib/libalpm/alpm.c:116
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr ""
+msgid "%s: dependency file is missing"
+msgstr "%s: hinyz csomagfggsg fjl"
-#: lib/libalpm/alpm.c:181
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "unregistering database '%s'"
-msgstr "adatbzis eltvoltsa: '%s'"
+msgid "%s: file list is missing"
+msgstr "%s: hinyz fjllista"
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "adatbzis bezrsa: '%s'"
-
-#: lib/libalpm/alpm.c:232
-#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
-msgstr ""
-"j szerver hozzadsa a(z) '%s' adatbzishoz: protokoll '%s', szerver '%s', "
-"t '%s'"
-
-#: lib/libalpm/alpm.c:236
-#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "a szerverlista rtve a(z) '%s' szmra"
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
-msgstr ""
-"nem sikerlt megkapni az utols mdostsi idpontjt a kvetkeznek: %s "
-"(nincs sok esly)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "nem sikerlt szinkronizlni a(z) '%s' adatbzist [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "sikertelen a %s%s adatbzis-bejegyzs eltvoltsa"
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "sikertelen az sha1 ellenrz sszeg elrse a %s-%s csomag szmra"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "a %s-%s csomag sha1 ellenrz sszegei megegyeznek"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "%s-%s csomag sha1 ellenrz sszegei nem egyeznek meg"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "sikertelen az md5 ellenrz sszeg elrse a %s-%s csomag szmra"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "a %s-%s csomag md5 ellenrz sszegei megegyeznek"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "%s-%s csomag md5 ellenrz sszegei nem egyeznek meg"
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "nem sikerlt a zrol fjl (%s) eltvoltsa"
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "figyelmeztets: nem sikerlt a zrol fjl (%s) eltvoltsa"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "belltsok: j szekci '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr "belltsok: nopassiveftp"
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr "belltsok: usesyslog"
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr "belltsok: chomp"
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr "belltsok: usecolor"
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr "belltsok: a %s beolvassa"
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr "belltsok: noupgrade: %s"
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr "belltsok: noextract: %s"
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr "belltsok: ignorepkg: %s"
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr "belltsok: holdpkg: %s"
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr "belltsok: adatbzistvonal: %s"
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr "belltsok: gyorsttrknyvtr: %s"
-
-#: lib/libalpm/alpm.c:1050
-#, fuzzy, c-format
-msgid "config: rootdir: %s"
-msgstr "belltsok: gyorsttrknyvtr: %s"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr "belltsok: naplfjl: %s"
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr "belltsok: xfercommand: %s"
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr "belltsok: frissts ksleltetse: %d"
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "csomagcserk ellenrzse"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "csere vizsglata: '%s' -> '%s'"
-
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
-#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s: frissts figyelmen kvl hagysa (a %s-%s fogja lecserlni)"
-
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
-#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
-msgstr "a %s-%s kivlasztva frisstsre (a %s-%s fogja lecserlni)"
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr "a '%s' nem tallhat a tvoli adatbzisban -- kihagys"
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr "a '%s' mr kijellve eltvoltsra -- kihagys"
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr "a(z) %s kivlasztva frisstsre (%s => %s)"
-
-#: lib/libalpm/be_files.c:61
-#, c-format
-msgid "unpacking database '%s'"
-msgstr "a(z) '%s' adatbzis kitmrtse"
-
-#: lib/libalpm/be_files.c:78
-#, c-format
-msgid "opening database from path '%s'"
-msgstr ""
-
-#: lib/libalpm/be_files.c:182
-#, c-format
-msgid "db scan could not find package: %s"
-msgstr ""
-
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr "rvnytelen nv a '%s' adatbzis-bejegyzs szmra"
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr "az _alpm_db_read nem rvnyes csomag bejegyzst kapott, kihagys"
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
-msgstr ""
-
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr "nem tallhat '%s-%s' a(z) '%s' adatbzisban"
+msgstr "a(z) %s csomag adatainak betltse : szint=%d"
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr "nem sikerlt megnyitni a %s fjlt: %s"
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr ""
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr ""
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr ""
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr "csomaggyorsttr betltse '%s' rep szmra"
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr "a(z) '%s' csomag hozzadsa a(z) '%s' adatbzis csomaggyorsttrhoz"
-#: lib/libalpm/cache.c:85
+#: lib/libalpm/conflict.c:339 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr "csomaggyorsttr felszabadtsa a '%s' rep szmra"
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr "a '%s' bejegyzs hozzadsa a '%s' gyorsttrhoz"
-
-#: lib/libalpm/cache.c:149
-#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr "a '%s' bejegyzs eltvoltsa a '%s' gyorsttrbl"
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr ""
-"nem sikerlt a '%s' bejegyzs eltvoltsa a '%s' gyorsttrbl: nem "
-"tallhat"
-
-#: lib/libalpm/cache.c:178
-#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr ""
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr "csoportgyorsttr betltse a '%s' rep szmra"
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:78
-#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr "a(z) '%s' csomag tkzik sajt magval - csomag hiba"
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr "checkconflicts: cl '%s' vs db"
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr "checkconflicts: cl '%s' vs sszes cl"
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr "checkconflicts: db vs cl '%s'"
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
-msgstr ""
+msgid "malloc failure: could not allocate %d bytes"
+msgstr "malloc problma: nem sikerlt alloklni %d byte-ot"
-#: lib/libalpm/conflict.c:257
+#: lib/libalpm/db.c:238
#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr ""
+msgid "could not remove database entry %s%s"
+msgstr "sikertelen a %s%s adatbzis-bejegyzs eltvoltsa"
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "malloc failure: could not allocate %d bytes"
-msgstr "malloc problma: nem sikerlt alloklni %d byte-ot"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
+msgstr "%s-%s: frissts figyelmen kvl hagysa (a %s-%s fogja lecserlni)"
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr "malloc problma: nem sikerlt alloklni %d byte-ot"
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr "ksrlet a 'local' adatbzis jraregisztrlsra"
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr ""
-"ksrlet a(z) '%s' adatbzis jraregisztrlsra, a jelenlegi hasznlata"
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr "adatbzis regisztrlsa: '%s'"
+#: lib/libalpm/db.c:680
+msgid "database path is undefined"
+msgstr "az adatbzis-tvonal nincs megadva"
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr "'%s' adatbzis-knyvtr nem ltezik, ltrehozs"
+#: lib/libalpm/deps.c:187
+msgid "dependency cycle detected\n"
+msgstr "krkrs fggsg szlelve\n"
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr "adatbzis megnyitsa: '%s'"
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr "a fggsgek rendezse elkezddtt"
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr "lehetsges krkrs fggsgi problma szlelve"
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr "a fggsgek rendezse befejezdtt"
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr ""
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr "checkdeps: a frisstett '%s' nem elgti ki '%s' egy fggsgt"
-
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr "hinyz '%s' fggsg a '%s' csomagnl"
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr "checkdeps: a %s ignyelt a %s ltal"
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr "a %s kihagysa -- explicit mdon lett teleptve"
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr "nem tallhat a \"%s\" csomag s nem is szolgltatja semmi!"
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr "a '%s' hozzadsa a clcsomagokhoz"
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr "a fggsgek rendezse elkezddtt"
-
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr "a %s szolgltatja a %s fggsget -- kihagys"
-
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
@@ -753,766 +181,445 @@ msgstr ""
"nem sikerlt a fggsgek feloldsa a \"%s\" szmra (nem tallhat a \"%s\" "
"a csomagok kztt)"
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr "a %s fggsg mr a clcsomagok kztt szerepel -- kihagys"
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr "a %s fggsg behozsa (a %s ignyli)"
-
-#: lib/libalpm/deps.c:671
+#: lib/libalpm/deps.c:687
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "nem sikerlt feloldani a fggsgeket a \"%s\" szmra"
-#: lib/libalpm/deps.c:687
-#, c-format
-msgid "dependency cycle detected: %s"
-msgstr "krkrs fggsg szlelve: %s"
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
-msgstr "a fggsgek rendezse elkezddtt"
-
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr "elfogyott a memria!"
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr "nemvrt hiba"
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr "elgtelen jogosultsgok"
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr "nem tallhat vagy nem olvashat a fjl"
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr "rossz vagy NULL argumentum rkezett"
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr "a knyvtr nem inicializlt"
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr "a knyvtr mr inicializlt"
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr "nem sikerlt zrolni az adatbzist"
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "nem sikerlt megnyitni az adatbzist"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "nem sikerlt ltrehozni az adatbzist"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "az adatbzis nem inicializlt"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "az adatbzis mr regisztrlt"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "nem tallhat az adatbzis"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "nem sikerlt megnyitni az adatbzist"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "nem sikerlt eltvoltani az adatbzis-bejegyzst"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr "rvnytelen url"
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr "nem sikerlt belltani a paramtert"
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr "a tranzakci mr inicializlt"
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr "a tranzakci nem inicializlt"
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr "kt azonos clcsomag"
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr "a tranzakci nincs elksztve"
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr "a tranzakci flbeszaktva"
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr "a mvelet nem egyeztethet ssze a jelenlegi tranzakcitpussal"
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr "nem sikerlt commitolni a tranzakcit"
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr "nem sikerlt letlteni az sszes fjlt"
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr "nem tallhat vagy nem olvashat a csomag"
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr "nem rvnyes vagy srlt csomag"
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr "nem sikerlt megnyitni a csomagfjlt"
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr "nem sikerlt betlteni a csomagadatokat"
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr "a csomag mr teleptve van"
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr "a csomag nincs teleptve vagy kisebb verzij"
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr "nem sikerlt eltvoltani a csomag sszes fjljt"
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "nem rvnyes a csomagnv"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "srlt csomag"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr "nincs ilyen rep"
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "a csoport nem tallhat"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr "nem sikerlt kielgteni a fggsgeket"
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr "tkz fggsgek"
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr "tkz fjlok"
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr "felhasznli megszakts"
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "bels hiba"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr "libarchive hiba"
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "nincs elg hely"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr "nem megerstett"
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr ""
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr "a 'local' nv fenntartott s nem hasznlhat repnvknt"
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr "szintaktikai hiba a belltsfjlban"
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr "minden direktvnak egy szekcihoz kell tartoznia"
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "rvnytelen regulris kifejezs"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr "nem sikerlt csatlakozni a tvoli gphez"
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "nemvrt hiba"
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
-msgstr ""
+msgstr "nem sikerlt rtelmezni a megadott gykrknyvtr-tvonalat: '%s'"
-#: lib/libalpm/handle.c:175
+#: lib/libalpm/md5driver.c:69
#, c-format
-msgid "option 'root' = %s"
-msgstr ""
+msgid "md5: %s can't be opened\n"
+msgstr "md5: nem sikerlt megnyitni a kvetkezt: %s\n"
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr ""
+msgid "could not get sha1sum for package %s-%s"
+msgstr "sikertelen az sha1 ellenrz sszeg elrse a %s-%s csomag szmra"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr ""
+msgid "sha1sums do not match for package %s-%s"
+msgstr "%s-%s csomag sha1 ellenrz sszegei nem egyeznek meg"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr "nem sikerlt megnyitni a kvetkezt: %s\n"
+msgid "could not get md5sum for package %s-%s"
+msgstr "sikertelen az md5 ellenrz sszeg elrse a %s-%s csomag szmra"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr ""
+msgid "md5sums do not match for package %s-%s"
+msgstr "%s-%s csomag md5 ellenrz sszegei nem egyeznek meg"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: a csomagfrissts figyelmen kvl hagysa (%s)"
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: erltetett frissts a %s verzira"
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: a helyi (%s) jabb, mint %s (%s)"
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: a csomag frisstsnek ksleltetse (%s)"
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr "%s: szintaktikai hiba a lerfjl %d. sorban"
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr "nem sikerlt rtelmezni a csomagler fjlt"
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr "hinyz csomagnv itt: %s"
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr "hinyz csomagverzi itt: %s"
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr "nem sikerlt eltvoltani a %s ideiglenes fjlt"
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr "hiba a csomag olvassa kzben: %s"
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
-msgstr ""
+msgstr "hinyz csomaginformcis fjl"
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
-msgstr ""
-
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr ""
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr ""
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr "nem tallhat a %s az adatbzisban"
+msgstr "hinyzik a(z) %s csomag fjllistja, generls"
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr "a %s hozzadsa a cllisthoz"
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr "a %s behozsa a cllistba"
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr "nem tallhat a %s az adatbzisban -- kihagys"
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr "eltvolthat fggsgek keresse"
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr "nem sikerlt eltvoltani a '%s' fjlt : %s"
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr "A '%s' trlsnek kihagysa a NoUpgrade miatt"
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "a %s fjl nemltezik"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "a %s knyvtr megtartsa"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "a %s knyvtr trlse"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr ""
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr ""
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr "a %s trlse"
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr "nem sikerlt eltvoltani a %s fjlt: %s"
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr "a %s-%s csomag eltvoltsa"
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr ""
-"nem tvoltom el a(z) '%s' csomagot, nem tudom eltvoltani az sszes fjlt"
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr "%d fjl trlse"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr "a '%s' adatbzis-bejegyzs eltvoltsa"
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "nem sikerlt eltvoltani a %s-%s adatbzis-bejegyzst"
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "nem sikerlt eltvoltani a '%s' bejegyzst a gyorsttrbl"
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr "sha2: nem sikerlt megnyitni a kvetkezt: %s\n"
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr ""
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr "csomagfrisstsek vizsglata"
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr "a(z) %s-%s kivlasztva frisstsre (%s => %s)"
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr "cl keresse a '%s' repban"
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr "a(z) '%s' cl nem tallhat - szolglatk keresse"
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr "a(z) '%s' szolgltatja a(z) '%s' csomagot"
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr "a(z) '%s' rep nem tallhat"
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr "a(z) %s-%s napraksz -- kihagys"
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr "a '%s' hozzadsa a tranzakcihoz"
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr "a clok fggsgeinek feloldsa"
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr "a '%s-%s' hozzadsa a clcsomagokhoz"
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr "elgtelen fggsgek keresse"
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "a(z) '%s' csomag tkzik a(z) '%s' csomaggal"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr "a '%s' nem tallhat a tranzakciban -- kihagys"
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr "a(z) '%s' csomag sajt magval tkzik"
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr "a(z) '%s' mr a cl listban -- megtarts"
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr "a(z) '%s' bejegyzs eltvoltsa a cllistbl"
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr "konfliktus feloldsa a(z) '%s' csomag szmra"
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr "a(z) '%s' kivlasztsa eltvoltsra"
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr "feloldhatatlan csomagtkzsek"
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr "az eltvoltand csomagok fggsgeinek ellenrzse"
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr "valami nagyon rosszul ment"
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr "a(z) '%s' szolgltatja a(z) '%s' csomagot - konfliktus flbeszaktva"
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr "%s mr a gyorsttrban\n"
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "nem ltezik a(z) %s gyorsttr. ltrehozs...\n"
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr "figyelmeztets: a(z) %s gyorsttr nem ltezik. ltrehozs..."
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
-msgstr "nem sikerlt ltrehozni a csomag gyorsttrat, a /tmp hasznlata\n"
-
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr ""
-"figyelmeztets: nem sikerlt ltrehozni a csomag gyorsttrat, a /tmp "
-"hasznlata"
+#: lib/libalpm/sync.c:804
+msgid "couldn't create package cache, using /tmp instead"
+msgstr "nem sikerlt ltrehozni a csomag gyorsttrat, a /tmp hasznlata"
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr "nem sikerlt nhny fjlt letlteni innen: %s\n"
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr ""
"sikertelen az md5 vagy sha1 ellenrz sszeg elrse a %s csomag szmra\n"
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "a(z) %s archvum srlt volt (rossz MD5 vagy SHA1 szumma)\n"
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "a(z) %s archvum srlt (rossz MD5 vagy SHA1 szumma)\n"
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr "nem sikerlt ltrehozni az eltvoltsi tranzakcit"
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr "nem sikerlt inicializlni az eltvoltsi tranzakcit"
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr "az tkz s lecserlend csomagok eltvoltsa"
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr "nem sikerlt ltrehozni az eltvoltsi tranzakcit"
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr "nem sikerlt commitolni az eltvolt tranzakcit"
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr "csomagok teleptse"
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr "nem sikerlt ltrehozni a tranzakcit"
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr "nem sikerlt inicializlni a tranzakcit"
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr "nem sikerlt elkszteni a tranzakcit"
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr "a lecserlt csomagok fggsgeinek frisstse az adatbzisban"
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr "sikertelen a %s-%s 'fgg tle' adatbzis-bejegyzsnek frisstse"
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr "sikertelen a '%s-%s' adatbzis-bejegyzs frisstse"
-#: lib/libalpm/sync.c:1079
-#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr ""
-
-#: lib/libalpm/sync.c:1085
-#, c-format
-msgid "package '%s' not found in sync"
-msgstr "a '%s' csomag nem tallhat a tvoli adatbzisban"
-
-#: lib/libalpm/trans.c:271
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr ""
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr "a csomagnak nincsenek fggsgei, nincs tbb frisstend csomag"
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "a '%s' csomag 'fgg tle' mezjnek frisstse"
+msgid "could not remove lock file %s"
+msgstr "nem sikerlt a zrol fjl (%s) eltvoltsa"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr "sikertelen a %s-%s 'fgg tle' adatbzis-bejegyzsnek frisstse"
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "nem tallhat a '%s' fggsg"
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr "nem sikerlt a '%s' tvonal ltrehozsa: %s"
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr "nem sikerlt megnyitni a %s fjlt: %s\n"
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr "nem sikerlt a(z) %s-t kitmrteni: %s\n"
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr ""
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr "nem sikerlt ltrehozni az ideiglenes knyvtrat"
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr "nem sikerlt a(z) %s knyvtrba vltani (%s)"
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr "a(z) %s script vgrehajtsa..."
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr "nem sikerlt forkolni egy j folyamatot (%s)"
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr "chrootols a kvetkez knyvtrba: %s"
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr "nem sikerlt a gykrknyvtrba vltani (%s)"
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr "nem sikerlt a knyvtrat a /-re vltani (%s)"
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr "a(z) %s vgrehajtsa"
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr "a popen hvs sikertelen (%s)"
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr "a waitpid hvs sikertelen (%s)"
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr "nem sikerlt eltvoltani a %s ideiglenes knyvtrat"
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr ""
-
-#: lib/libalpm/util.c:609
-#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
-msgstr "check_freespace: teljes csomagmret: %lld, lemezterlet: %lld"
+msgid "failed to make path '%s' : %s"
+msgstr "nem sikerlt a '%s' tvonal ltrehozsa: %s"
-#: lib/libalpm/versioncmp.c:279
+#: lib/libalpm/util.c:325
#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
-msgstr ""
+msgid "could not open %s: %s\n"
+msgstr "nem sikerlt megnyitni a %s fjlt: %s\n"
-#: lib/libalpm/versioncmp.c:284
+#: lib/libalpm/util.c:346
#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr ""
+msgid "could not extract %s (%s)\n"
+msgstr "nem sikerlt kitmrteni: %s (%s)\n"
diff --git a/lib/libalpm/po/it.po b/lib/libalpm/po/it.po
index a735b1a1..cdc60818 100644
--- a/lib/libalpm/po/it.po
+++ b/lib/libalpm/po/it.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libalpm VERSION\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\n"
"PO-Revision-Date: 2007-03-22 12:30+0100\n"
"Last-Translator: Giovanni Scafora <linuxmania@gmail.com>\n"
"Language-Team: Arch Linux Italian Team <linuxmania@gmail.com>\n"
@@ -17,742 +17,166 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bitPlural-Forms: nplurals=2; plural=(n != 1);\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr "caricamento del pacchetto '%s' in corso"
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "sostituzione in corso della vecchia versione %s-%s con %s"
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr "la versione di %s-%s è più recente e sarà ignorato"
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "lettura dei metadata di '%s' in corso"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "ricerca delle dipendenze non soddisfatte"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "ricerca dei conflitti in corso"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "la sostituzione dei pacchetti con -A e -U non è ancora supportata"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "Si consiglia di rimuovere prima '%s', usando -Rd"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "ordinamento per dipendenze in corso"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "pulizia in corso"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "ricerca dei conflitti tra file in corso"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "aggiornamento del pacchetto %s-%s in corso"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "inclusione del pacchetto %s-%s in corso"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "rimozione del vecchio pacchetto (%s-%s) in corso"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr "aggiunta temporanea di %s nell'array NoUpgrade in corso"
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "estrazione dei file in corso"
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "impossibile ottenere la directory corrente"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s è in NoExtract, estrazione ignorata"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr "%s è in trans->skip_add, estrazione ignorata"
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "impossibile estrarre %s (%s)"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "controllo dell'hash md5 di %s"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "controllo dell'hash sha1 di %s"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "attuale: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "nuovo: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "originale: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "impossibile rinominare %s (%s)"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "errore: impossibile rinominare %s (%s)"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "impossibile copiare il file temporaneo in %s (%s)"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "errore: impossibile copiare il file temporaneo in %s (%s)"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "%s salvato come %s"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "attenzione: %s salvato come %s"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "azione: installazione del nuovo file %s in corso"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "azione: il file non è stato spostato"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"azione: il file attuale non è stato spostato e sarà installato un nuovo file "
-"con il suffisso .pacnew"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "impossibile installare %s come %s: %s"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "errore: impossibile installare %s come %s: %s"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "%s installato come %s"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "attenzione: %s installato come %s"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s è in NoUpgrade e sarà ignorato"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "estrazione di %s come %s.pacnew"
-#: lib/libalpm/add.c:686
-#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "attenzione: estrazione in corso di %s come %s.pacnew"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "estrazione di %s in corso"
-
-#: lib/libalpm/add.c:705
+#: lib/libalpm/add.c:721
#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "errore: impossibile estrarre %s (%s)"
-
-#: lib/libalpm/add.c:717
-#, c-format
-msgid "appending backup entry for %s"
-msgstr "aggiunta in corso della voce di backup per %s"
+msgid "could not extract %s (%s)"
+msgstr "impossibile estrarre %s (%s)"
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
+#: lib/libalpm/add.c:772
+#, fuzzy, c-format
+msgid "problem occurred while upgrading %s"
msgstr "si sono verificati degli errori durante %s %s"
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "l'aggiornamento"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "l'installazione"
-
-#: lib/libalpm/add.c:769
-#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr "'%s' è stato rimosso dal pacchetto %s (%s => %s)"
-
-#: lib/libalpm/add.c:781
-#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr "aggiornamento in corso di '%s' dovuto ad un cambiamento (%s)"
+#: lib/libalpm/add.c:777
+#, fuzzy, c-format
+msgid "problem occurred while installing %s"
+msgstr "si sono verificati degli errori durante %s %s"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr "impossibile aggiornare '%s' da '%s'"
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "aggiornamento del database in corso"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "inclusione della voce '%s' nel database"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "impossibile aggiornare la voce %s-%s nel database"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "impossible includere la voce '%s' nella cache"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
-#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "esecuzione in corso di \"ldconfig -r %s\""
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr "rimozione in corso del DB %s, %d restante..."
-
-#: lib/libalpm/alpm.c:181
-#, c-format
-msgid "unregistering database '%s'"
-msgstr "cancellazione del database '%s' in corso"
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "chiusura del database '%s' in corso"
-
-#: lib/libalpm/alpm.c:232
-#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
-msgstr ""
-"inclusione di un nuovo server nel database '%s': protocollo '%s', server '%"
-"s', path '%s'"
-
-#: lib/libalpm/alpm.c:236
-#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "svuotata la lista dei server per '%s'"
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
-msgstr ""
-"impossibile recuperare la data dell'ultimo aggiornamento di %s (nulla di "
-"grave)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "impossibile sincronizzare il database: %s [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr "sync: nuovo mtime per %s: %s"
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr "pulizia del database %s%s"
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "impossibile rimuovere la voce %s%s dal database"
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "impossibile recuperare la somma sha1 del pacchetto %s-%s"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "la somma sha1 del pacchetto %s-%s corrisponde"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "la somma sha1 del pacchetto %s-%s non corrisponde"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "impossibile recuperare la somma md5 del pacchetto %s-%s"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "la somma md5 del pacchetto %s-%s corrisponde"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "la somma md5 del pacchetto %s-%s non corrisponde"
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "impossibile rimuovere il file di lock %s"
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "attenzione: impossibile rimuovere il file di lock %s"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "config: nuova sezione '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr "config: nopassiveftp"
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr "config: usesyslog"
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr "config: chomp"
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr "config: usecolor"
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr "config: including %s"
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr "config: noupgrade: %s"
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr "config: noextract:·%s"
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr "config: ignorepkg: %s"
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr "config: holdpkg: %s"
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr "config: dbpath: %s"
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr "config: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1050
+#: lib/libalpm/be_files.c:83
#, fuzzy, c-format
-msgid "config: rootdir: %s"
-msgstr "config: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr "config: logfile: %s"
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr "config: xfercommand: %s"
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr "config: upgradedelay: %d"
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "controllo della sostituzione dei pacchetti in corso"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "controllo in corso della sostituzione di '%s' con il pacchetto '%s'"
+msgid "%s: description file is missing"
+msgstr "%s: errore di sintassi nel file di descrizione alla linea %d"
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
+msgid "%s: dependency file is missing"
msgstr ""
-"%s-%s: aggiornamento del pacchetto ignorato (per essere sostituito con %s-%s)"
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
+msgid "%s: file list is missing"
msgstr ""
-"%s-%s selezionato per l'aggiornamento (per essere sostituito con %s-%s)"
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr "impossibile trovare '%s' nel database, sarà ignorato"
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr "'%s' è già selezionato per la rimozione, sarà ignorato"
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr "%s selezionato per l'aggiornamento (%s => %s)"
-
-#: lib/libalpm/be_files.c:61
-#, c-format
-msgid "unpacking database '%s'"
-msgstr "estrazione del database '%s' in corso"
-
-#: lib/libalpm/be_files.c:78
-#, c-format
-msgid "opening database from path '%s'"
-msgstr "apertura in corso del database dal path '%s'"
-
-#: lib/libalpm/be_files.c:182
-#, c-format
-msgid "db scan could not find package: %s"
-msgstr "impossibile trovare il pacchetto: %s"
-
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr "nome non valido per la voce del database '%s'"
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr ""
-"nome non valido per il pacchetto fornito a _alpm_db_read, sarà ignorato"
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-"richiesta di lettura del database per un pacchetto file-based '%s', sarà "
-"ignorata..."
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr "caricamento in corso dei dati del pacchetto %s : livello=%d"
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr "impossibile trovare '%s-%s' nel database '%s'"
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr "impossibile aprire il file %s: %s"
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr "scrittura in corso del campo DESC di %s-%s nel database"
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr "scrittura in corso del campo FILES di %s-%s nel database"
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr "scrittura in corso del campo DEPENDS di %s-%s nel database"
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr "caricamento in corso della cache del pacchetto per il repository '%s'"
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr "aggiunta di '%s' alla cache del pacchetto per il database '%s'"
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr "pulizia in corso della cache dei pacchetti per il repository '%s'"
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr "errore: pkgcache è NULL per il database '%s'"
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr "inclusione della voce '%s' nella cache di '%s'"
-
-#: lib/libalpm/cache.c:149
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr "rimozione della voce '%s' dalla cache di '%s'"
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr "impossibile rimuovere '%s' dalla cache di '%s': non trovato"
-
-#: lib/libalpm/cache.c:178
-#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr "errore: impossibile prelevare '%s' da pkgcache NULL"
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr "caricamento della cache del gruppo per il repository '%s'"
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr " trovato il conflitto '%s' : pacchetto '%s'"
+msgid "malloc failure: could not allocate %d bytes"
+msgstr "malloc failure: impossibile allocare %d byte"
-#: lib/libalpm/conflict.c:78
+#: lib/libalpm/db.c:238
#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr " trovato il conflitto '%s' : il pacchetto '%s' fornisce '%s'"
+msgid "could not remove database entry %s%s"
+msgstr "impossibile rimuovere la voce %s%s dal database"
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
msgstr ""
-"il pacchetto '%s' va in conflitto con se stesso - errore di pacchettizzazione"
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr "checkconflicts: target '%s' vs db"
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr "checkconflicts: target '%s' vs all targets"
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr "checkconflicts: db vs target '%s'"
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
-msgstr "il pacchetto '%s' è già presente nella lista, usando nuovi conflitti"
-
-#: lib/libalpm/conflict.c:257
-#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr "\tCONFLITTI:: %s va in conflitto con %s"
-
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
-#, c-format
-msgid "malloc failure: could not allocate %d bytes"
-msgstr "malloc failure: impossibile allocare %d byte"
+"%s-%s: aggiornamento del pacchetto ignorato (per essere sostituito con %s-%s)"
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr "malloc failed: impossibile allocare %d byte"
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr "tentativo in corso di registrare di nuovo il database 'locale'"
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr ""
-"tentativo in corso di registrare di nuovo il database '%s', usando quello "
-"esistente"
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr "registrazione del database '%s'"
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr "la directory '%s' del database non esiste e sarà creata"
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr "apertura del database '%s' in corso"
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr "avvio dell'ordinamento delle dipendenze"
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr "individuato un possibile ciclo di dipendenze"
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr "ordinamento delle dipendenze terminato"
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr "è stato trovato un pacchetto vuoto nella lista"
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr "impossibile trovare il pacchetto installato '%s'"
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr "checkdeps: la dipendenza '%s' è stata spostata da '%s' a '%s'"
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr "checkdeps: dipendenza '%s' soddisfatta dal pacchetto '%s'"
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr ""
-"checkdeps: il pacchetto aggiornato di '%s' non soddisfa una dipendenza di '%"
-"s'"
-
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr "manca la dipendenza '%s' richiesta dal pacchetto '%s'"
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr "checkdeps: trovato %s come richiesto da %s"
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr "esclusione di %s in corso, installato esplicitamente"
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr "impossibile trovare il pacchetto \"%s\" o qualcosa che lo fornisca!"
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr "inclusione in corso di '%s' nei pacchetti"
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr "avvio risoluzione delle dipendenze"
+#: lib/libalpm/db.c:680
+#, fuzzy
+msgid "database path is undefined"
+msgstr "database non inizializzato"
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr "%s fornisce la dipendenza %s, sarà ignorato"
+#: lib/libalpm/deps.c:187
+#, fuzzy
+msgid "dependency cycle detected\n"
+msgstr "individuato un possibile ciclo di dipendenze: %s"
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
@@ -760,818 +184,448 @@ msgstr ""
"impossibile risolvere le dipendenze per \"%s\" (\"%s\" non è presente nella "
"lista dei pacchetti)"
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr ""
-"la dipendenza %s è già presente nella lista dei pacchetti e sarà ignorata"
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr "aggiunta la dipendenza %s (richiesta da %s)"
-
-#: lib/libalpm/deps.c:671
+#: lib/libalpm/deps.c:687
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "impossibile risolvere le dipendenze per \"%s\""
-#: lib/libalpm/deps.c:687
-#, c-format
-msgid "dependency cycle detected: %s"
-msgstr "individuato un possibile ciclo di dipendenze: %s"
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
-msgstr "risoluzione delle dipendenze terminata"
-
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr "memoria insufficiente!"
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr "errore di sistema"
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr "privilegi insufficienti"
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr "impossibile trovare o leggere il file"
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr "è stato passato un argomento sbagliato o NULL"
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr "libreria non inizializzata"
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr "libreria già inizializzata"
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr "impossibile bloccare il database"
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "impossibile aprire il database"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "impossibile creare il database"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "database non inizializzato"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "il database è già registrato"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "impossibile trovare il database"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "impossibile aggiornare il database"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "impossibile rimuovere la voce dal database"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr "url non valido per il server"
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr "impossibile impostare il parametro"
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr "operazione già inizializzata"
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr "operazione non inizializzata"
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr "pacchetto doppio"
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr "operazione non preparata"
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr "operazione annullata"
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr "operazione incompatibile con il tipo di transazione"
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr "impossibile eseguire l'operazione"
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr "impossibile prelevare tutti i file"
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr "impossibile trovare o leggere il pacchetto"
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr "pacchetto non valido o corrotto"
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr "impossibile aprire il pacchetto"
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr "impossibile caricare i dati del pacchetto"
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr "pacchetto già installato"
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr "pacchetto non installato o una versione precedente"
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr "impossibile rimuovere tutti i file del pacchetto"
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "il nome del pacchetto non è valido"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "pacchetto corrotto"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr "nessun repository corrispondente"
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "gruppo non trovato"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr "impossibile soddisfare le dipendenze"
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr "dipendenze in conflitto"
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr "file in conflitto"
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr "operazione annullata"
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "errore interno"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr "errore di libarchive"
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "spazio sul disco insufficiente"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr "non confermato"
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr "errore nel nome della sezione di configurazione"
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr "'local' è riservato e non può essere usato come nome di un repository"
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr "errore di sintassi nel file di configurazione"
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr "tutte le direttive devono appartenere a una sezione"
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "espressione regolare non valida"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr "impossibile stabilire una connessione con l'host remoto"
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "errore inaspettato"
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
msgstr "impossibile canonicalizzare il path di root specificato '%s'"
-#: lib/libalpm/handle.c:175
-#, c-format
-msgid "option 'root' = %s"
-msgstr "opzione 'root' = %s"
+#: lib/libalpm/md5driver.c:69
+#, fuzzy, c-format
+msgid "md5: %s can't be opened\n"
+msgstr "impossibile aprire %s\n"
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr "opzione 'dbpath' = %s"
+msgid "could not get sha1sum for package %s-%s"
+msgstr "impossibile recuperare la somma sha1 del pacchetto %s-%s"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr "opzione 'cachedir' = %s"
+msgid "sha1sums do not match for package %s-%s"
+msgstr "la somma sha1 del pacchetto %s-%s non corrisponde"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr "impossibile aprire %s\n"
+msgid "could not get md5sum for package %s-%s"
+msgstr "impossibile recuperare la somma md5 del pacchetto %s-%s"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr "md5(%s) = %s"
+msgid "md5sums do not match for package %s-%s"
+msgstr "la somma md5 del pacchetto %s-%s non corrisponde"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: aggiornamento del pacchetto (%s) ignorato"
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: aggiornamento forzato alla versione %s"
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: la versione installata (%s) è più recente di %s (%s)"
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: ritardo durante l'aggiornamento del pacchetto (%s)"
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr "%s: errore di sintassi nel file di descrizione alla linea %d"
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr "impossibile analizzare il file di descrizione del pacchetto"
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr "manca il nome del pacchetto in %s"
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr "manca la versione del pacchetto in %s"
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr "impossibile rimuovere il file temporaneo %s"
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr "si è verificato un errore durante la lettura del pacchetto: %s"
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr "manca il metadata del pacchetto"
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr "manca il filelist nel pacchetto %s, creazione in corso"
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "inclusione di '%s' nel campo 'richiesto da' di '%s'"
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr "inclusione di '%s' nel campo 'richiesto da' di '%s' (fornisce: %s)"
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr "impossibile trovare %s nel database"
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr "aggiunta in corso di %s nella lista dei pacchetti"
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr "estrazione in corso di %s nella lista dei pacchetti"
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr "impossibile trovare %s nel database, sarà ignorato"
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr "ricerca delle dipendenze eliminabili"
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr "impossibile rimuovere il file '%s': %s"
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr "rimozione di '%s' ignorata dovuta a NoUpgrade"
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "il file %s non esiste"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "conservazione in corso della directory %s"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "rimozione in corso della directory %s"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr "%s è in trans->skip_remove, rimozione ignorata"
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr "operazione impostata su NOSAVE, nessun backup di '%s'"
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr "rimozione di %s in corso"
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr "impossibile rimuovere il file %s: %s"
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr "rimozione in corso del pacchetto %s-%s"
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr "impossibile rimuovere il pacchetto '%s' e tutti i file"
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr "rimozione in corso di %d file"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr "rimozione in corso della voce '%s' dal database"
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "impossibile rimuovere la voce %s-%s dal database"
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "impossibile rimuovere '%s' dalla cache"
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr "sha1: impossibile aprire %s\n"
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr "sha1(%s) = %s"
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr "ricerca dei pacchetti da aggiornare in corso"
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr "%s-%s selezionato per l'aggiornamento (%s => %s)"
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr "ricerca in corso del pacchetto nel repository '%s'"
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr "pacchetto '%s' non trovato, ricerca delle alternative in corso"
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr "trovato '%s' come alternativa a '%s'"
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr "impossibile trovare il repository '%s'"
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr "%s-%s è aggiornato, sarà ignorato"
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr "aggiunta in corso del pacchetto '%s'"
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr "risoluzione in corso delle dipendenze dei pacchetti"
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr "aggiunta in corso del pacchetto %s-%s"
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr "ricerca in corso delle dipendenze irrisolvibili"
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "il pacchetto '%s' va in conflitto con '%s'"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr "impossibile trovare '%s', sarà ignorato"
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr "il pacchetto '%s' fornisce il suo stesso conflitto"
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr "'%s' è nella lista dei pacchetti e sarà conservato"
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr "rimozione in corso di '%s' dalla lista dei pacchetti"
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr "risoluzione in corso del conflitto del pacchetto '%s'"
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr "selezionato '%s' per la rimozione"
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr "sono stati rilevati dei conflitti irrisolvibili"
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr ""
-"controllo in corso delle dipendenze dei pacchetti designati per la rimozione"
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr "qualcosa è andato orribilmente storto"
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr "trovato '%s' come alternativa a '%s', conflitto annullato"
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr "%s è già presente nella cache\n"
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "la cache di %s non esiste, creazione in corso...\n"
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr "attenzione: la cache di %s non esiste, creazione in corso..."
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
+#: lib/libalpm/sync.c:804
+#, fuzzy
+msgid "couldn't create package cache, using /tmp instead"
msgstr ""
"impossibile creare la cache del pacchetto, al suo posto sarà usata /tmp\n"
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr ""
-"attenzione: impossibile creare la cache del pacchetto, al suo posto sarà "
-"usata /tmp"
-
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr "impossibile recuperare alcuni file da %s\n"
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr "impossibile recuperare il checksum md5 o sha1 del pacchetto %s\n"
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "archivio %s era corrotto (MD5 o SHA1 checksum errato)\n"
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "archivio %s è corrotto (MD5 o SHA1 checksum errato)\n"
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr "impossibile avviare l'operazione di rimozione"
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr "impossibile inizializzare l'operazione di rimozione"
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr "rimozione in corso dei pacchetti in conflitto e da sostituire"
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr "impossibile preparare l'operazione di rimozione"
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr "impossibile eseguire l'operazione di rimozione"
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr "installazione dei pacchetti in corso"
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr "impossibile avviare l'operazione"
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr "impossibile inizializzare l'operazione"
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr "impossibile preparare l'operazione"
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr ""
-"aggiornamento in corso del database per le dipendenze dei pacchetti "
-"sostituiti"
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr ""
"impossibile aggiornare il campo 'richiesto da' per la voce del database %s-%s"
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr "impossibile aggiornare la nuova voce del database %s-%s"
-#: lib/libalpm/sync.c:1079
-#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr "trovato il pacchetto '%s-%s' nel database"
-
-#: lib/libalpm/sync.c:1085
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "package '%s' not found in sync"
-msgstr "impossibile trovare il pacchetto '%s'"
-
-#: lib/libalpm/trans.c:271
-#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr "aggiornamento delle dipendenze nei campi 'richiesto da' di %s-%s"
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr "il pacchetto non ha dipendenze, nessun altro pacchetto da aggiornare"
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "aggiornamento in corso del campo 'richiesto da' del pacchetto '%s'"
+msgid "could not remove lock file %s"
+msgstr "impossibile rimuovere il file di lock %s"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr "impossibile aggiornare la voce 'richiesto da' del database %s-%s"
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "impossibile trovare la dipendenza '%s'"
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr "impossibile creare il path '%s' : %s"
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr "impossibile aprire %s: %s\n"
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr "impossibile estrarre %s: %s\n"
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr "logaction chiamata: %s"
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr "impossibile creare la directory temporanea"
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr "impossibile spostarsi nella directory %s (%s)"
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr "esecuzione dello script %s in corso..."
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr "impossibile effettuare il fork di un nuovo processo (%s)"
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr "chroot in corso nella directory %s"
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr "impossibile cambiare la root directory (%s)"
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr "impossibile spostarsi nella directory / (%s)"
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr "esecuzione in corso di \"%s\""
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr "chiamata a popen non riuscita (%s)"
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr "chiamata a waitpid non riuscita (%s)"
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr "impossibile rimuovere la directory temporanea %s"
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr ""
-
-#: lib/libalpm/util.c:609
-#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
-msgstr ""
-"check_freespace: dimensione totale dei pacchetti: %lld, spazio disponibile: %"
-"lld"
-
-#: lib/libalpm/versioncmp.c:279
-#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
-msgstr "depcmp: %s-%s %s %s-%s => %s"
+msgid "failed to make path '%s' : %s"
+msgstr "impossibile creare il path '%s' : %s"
-#: lib/libalpm/versioncmp.c:284
+#: lib/libalpm/util.c:325
#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr "depcmp: %s-%s %s %s => %s"
-
-#~ msgid "%s saved as %s.pacorig"
-#~ msgstr "%s salvato come %s.pacorig"
-
-#~ msgid "notice: %s is in NoExtract -- skipping extraction"
-#~ msgstr "avviso: %s è in NoExtract -- estrazione ignorata"
-
-#~ msgid "loading package cache (infolevel=%#x) for repository '%s'"
-#~ msgstr ""
-#~ "caricamento della cache del pacchetto (infolevel=%#x) per il repository '%"
-#~ "s'"
-
-#~ msgid "package cache reloaded (infolevel=%#x) for repository '%s'"
-#~ msgstr ""
-#~ "ricaricamento della cache del pacchetto (infolevel=%#x) per il repository "
-#~ "'%s'"
-
-#~ msgid "targs vs db: found %s as a conflict for %s"
-#~ msgstr "target vs db: trovato %s come conflitto per %s"
-
-#~ msgid "targs vs targs: found %s as a conflict for %s"
-#~ msgstr "targs vs targs: trovato %s come conflitto per %s"
-
-#~ msgid "db vs targs: found %s as a conflict for %s"
-#~ msgstr "db vs targs: trovato %s come conflitto per %s"
-
-#~ msgid "no dependencies for target '%s'"
-#~ msgstr "nessuna dipendenza richiesta dal pacchetto '%s'"
-
-#~ msgid "could not parse token %s"
-#~ msgstr "impossibile analizzare il simbolo %s"
-
-#~ msgid "compare versions for %s: %s vs %s, result=%d"
-#~ msgstr "confronto delle versioni di %s: %s vs %s, risultato=%d"
-
-#~ msgid "%s-%s: ignoring package upgrade (%s => %s)"
-#~ msgstr "%s-%s: aggiornamento del pacchetto (%s => %s) ignorato"
-
-#~ msgid "db scan found package: %s"
-#~ msgstr "trovato il pacchetto: %s"
+msgid "could not open %s: %s\n"
+msgstr "impossibile aprire %s: %s\n"
-#~ msgid "dep is NULL!"
-#~ msgstr "dep è NULL!"
+#: lib/libalpm/util.c:346
+#, fuzzy, c-format
+msgid "could not extract %s (%s)\n"
+msgstr "impossibile estrarre %s (%s)"
-#~ msgid "loading ALL info for '%s'"
-#~ msgstr "caricamento in corso di tutte le informazioni di '%s'"
diff --git a/lib/libalpm/po/libalpm.pot b/lib/libalpm/po/libalpm.pot
index 07a72f32..3aad50a0 100644
--- a/lib/libalpm/po/libalpm.pot
+++ b/lib/libalpm/po/libalpm.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 02:56-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\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"
@@ -16,1487 +16,606 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr ""
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr ""
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr ""
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr ""
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr ""
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr ""
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr ""
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr ""
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr ""
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr ""
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr ""
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr ""
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr ""
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr ""
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr ""
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr ""
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr ""
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr ""
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr ""
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr ""
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr ""
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr ""
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr ""
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr ""
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr ""
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr ""
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr ""
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr ""
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr ""
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr ""
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr ""
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr ""
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr ""
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr ""
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr ""
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr ""
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr ""
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr ""
-
-#: lib/libalpm/add.c:685
-#, c-format
-msgid "extracting %s as %s.pacnew"
-msgstr ""
-
-#: lib/libalpm/add.c:686
-#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr ""
-
#: lib/libalpm/add.c:689
#, c-format
-msgid "extracting %s"
-msgstr ""
-
-#: lib/libalpm/add.c:705
-#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr ""
-
-#: lib/libalpm/add.c:717
-#, c-format
-msgid "appending backup entry for %s"
+msgid "extracting %s as %s.pacnew"
msgstr ""
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
+#: lib/libalpm/add.c:721
#, c-format
-msgid "errors occurred while %s %s"
-msgstr ""
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr ""
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
+msgid "could not extract %s (%s)"
msgstr ""
-#: lib/libalpm/add.c:769
+#: lib/libalpm/add.c:772
#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
+msgid "problem occurred while upgrading %s"
msgstr ""
-#: lib/libalpm/add.c:781
+#: lib/libalpm/add.c:777
#, c-format
-msgid "updating '%s' due to provision change (%s)"
+msgid "problem occurred while installing %s"
msgstr ""
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr ""
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr ""
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr ""
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr ""
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr ""
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
-#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr ""
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr ""
-
-#: lib/libalpm/alpm.c:181
-#, c-format
-msgid "unregistering database '%s'"
-msgstr ""
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr ""
-
-#: lib/libalpm/alpm.c:232
-#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
-msgstr ""
-
-#: lib/libalpm/alpm.c:236
-#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr ""
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
-msgstr ""
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr ""
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr ""
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr ""
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr ""
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr ""
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr ""
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr ""
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr ""
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1050
-#, c-format
-msgid "config: rootdir: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
-#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
-#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr ""
-
-#: lib/libalpm/be_files.c:61
+#: lib/libalpm/be_files.c:83
#, c-format
-msgid "unpacking database '%s'"
+msgid "%s: description file is missing"
msgstr ""
-#: lib/libalpm/be_files.c:78
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid "opening database from path '%s'"
+msgid "%s: dependency file is missing"
msgstr ""
-#: lib/libalpm/be_files.c:182
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "db scan could not find package: %s"
+msgid "%s: file list is missing"
msgstr ""
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr ""
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr ""
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr ""
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr ""
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr ""
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr ""
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr ""
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr ""
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr ""
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:109
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr ""
-
-#: lib/libalpm/cache.c:149
-#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr ""
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr ""
-
-#: lib/libalpm/cache.c:178
-#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr ""
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:78
-#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr ""
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr ""
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr ""
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
+msgid "malloc failure: could not allocate %d bytes"
msgstr ""
-#: lib/libalpm/conflict.c:257
+#: lib/libalpm/db.c:238
#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
+msgid "could not remove database entry %s%s"
msgstr ""
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "malloc failure: could not allocate %d bytes"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
msgstr ""
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr ""
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr ""
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr ""
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr ""
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr ""
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr ""
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr ""
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr ""
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr ""
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
+#: lib/libalpm/db.c:680
+msgid "database path is undefined"
msgstr ""
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
+#: lib/libalpm/deps.c:187
+msgid "dependency cycle detected\n"
msgstr ""
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr ""
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr ""
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr ""
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr ""
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr ""
-
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr ""
-
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
msgstr ""
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr ""
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr ""
-
-#: lib/libalpm/deps.c:671
-#, c-format
-msgid "cannot resolve dependencies for \"%s\""
-msgstr ""
-
#: lib/libalpm/deps.c:687
#, c-format
-msgid "dependency cycle detected: %s"
-msgstr ""
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
+msgid "cannot resolve dependencies for \"%s\""
msgstr ""
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr ""
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr ""
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr ""
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr ""
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr ""
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr ""
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr ""
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr ""
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr ""
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr ""
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr ""
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr ""
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr ""
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr ""
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr ""
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr ""
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr ""
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr ""
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr ""
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr ""
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr ""
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr ""
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr ""
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr ""
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr ""
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr ""
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr ""
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr ""
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr ""
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr ""
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr ""
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr ""
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr ""
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr ""
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr ""
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr ""
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr ""
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr ""
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr ""
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr ""
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr ""
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr ""
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr ""
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr ""
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr ""
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr ""
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr ""
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr ""
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr ""
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr ""
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr ""
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
msgstr ""
-#: lib/libalpm/handle.c:175
+#: lib/libalpm/md5driver.c:69
#, c-format
-msgid "option 'root' = %s"
+msgid "md5: %s can't be opened\n"
msgstr ""
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
+msgid "could not get sha1sum for package %s-%s"
msgstr ""
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
+msgid "sha1sums do not match for package %s-%s"
msgstr ""
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
+msgid "could not get md5sum for package %s-%s"
msgstr ""
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
+msgid "md5sums do not match for package %s-%s"
msgstr ""
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr ""
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr ""
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr ""
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr ""
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr ""
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr ""
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr ""
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr ""
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr ""
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr ""
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr ""
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr ""
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr ""
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr ""
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr ""
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr ""
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr ""
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr ""
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr ""
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr ""
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr ""
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr ""
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr ""
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr ""
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr ""
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr ""
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr ""
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr ""
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr ""
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr ""
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr ""
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr ""
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr ""
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr ""
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr ""
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr ""
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr ""
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr ""
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr ""
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr ""
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr ""
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr ""
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr ""
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr ""
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr ""
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr ""
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr ""
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr ""
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr ""
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr ""
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr ""
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr ""
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr ""
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr ""
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr ""
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr ""
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr ""
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr ""
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr ""
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr ""
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr ""
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
-msgstr ""
-
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
+#: lib/libalpm/sync.c:804
+msgid "couldn't create package cache, using /tmp instead"
msgstr ""
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr ""
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr ""
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr ""
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr ""
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr ""
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr ""
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr ""
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr ""
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr ""
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr ""
-#: lib/libalpm/sync.c:1079
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr ""
-
-#: lib/libalpm/sync.c:1085
-#, c-format
-msgid "package '%s' not found in sync"
-msgstr ""
-
-#: lib/libalpm/trans.c:271
-#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr ""
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr ""
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
+msgid "could not remove lock file %s"
msgstr ""
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr ""
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr ""
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr ""
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr ""
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr ""
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr ""
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr ""
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr ""
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr ""
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr ""
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr ""
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr ""
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr ""
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr ""
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr ""
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr ""
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr ""
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr ""
-
-#: lib/libalpm/util.c:609
-#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
+msgid "failed to make path '%s' : %s"
msgstr ""
-#: lib/libalpm/versioncmp.c:279
+#: lib/libalpm/util.c:325
#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
+msgid "could not open %s: %s\n"
msgstr ""
-#: lib/libalpm/versioncmp.c:284
+#: lib/libalpm/util.c:346
#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
+msgid "could not extract %s (%s)\n"
msgstr ""
diff --git a/lib/libalpm/po/pl_PL.po b/lib/libalpm/po/pl_PL.po
index 75bf3aeb..3b64a3a4 100644
--- a/lib/libalpm/po/pl_PL.po
+++ b/lib/libalpm/po/pl_PL.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Pacman package manager 3.0.1\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\n"
"PO-Revision-Date: 2007-04-12 04:23+0200\n"
"Last-Translator: Mateusz Jędrasik <m.jedrasik@gmail.com>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -18,735 +18,165 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr "ładowanie celu '%s'"
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "zastępowanie starszej wersji %s-%s na %s z listy celów"
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr "nowsza wersja %s-%s znajduje się w liście celów -- pomijam"
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "czytanie metadane '%s'"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "szukanie nieusatysfakcjonowanych zależności"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "szukanie konfliktów"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "zastępowanie pakietów z -A i -U nie jest jeszcze wspierane"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "proszę usunąć pierw '%s', korzystając z -Rd"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "sortowanie według zależności"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "czyszczenie"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "szukanie konfliktów plików"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "aktualizowanie pakietu %s-%s"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "dodawanie pakietu %s-%s"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "usuwanie wpierw starego pakietu (%s-%s)"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr "dodawanie %s tymczasowo do tablicy NoUpgrade"
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "rozpakowywanie plików"
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "nie można znaleźć obecnego katalogu"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s znajduje się w NoExtract, pomijanie rozpakowywania"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr "%s znajduje się w trans->skip_add, pomijanie rozpakowywania"
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "nie udało się rozpakować %s (%s)"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "sprawdzanie sum md5 dla %s"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "sprawdzanie sum sha1 dla %s"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "bieżące: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "nowe: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "oryginalne: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "nie udało się zmienić nazwy %s (%s)"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "błąd: nie udało się zmienić nazwy %s (%s)"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "nie udało się skopiować pliku tymczasowego do %s (%s)"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "błąd: nie udało się skopiować pliku tymczasowego do %s (%s)"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "%s zachowane jako %s"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "uwaga: %s zachowane jako %s"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "czynność: instalowanie nowego pliku: %s"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "czynność: zostawianie obecnych plików na miejscu"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"czynność: zachowywanie obecnego pliku i instalowanie nowego z końcówką ."
-"pacnew"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "nie udało się zainstalować %s jako %s: %s"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "błąd: nie udało się zainstalować %s jako %s: %s"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "%s zainstalowano jako %s"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "uwaga: %s zainstalowano jako %s"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s znajduje się w NoUpgrade -- pomijanie"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "rozpakowywanie %s jako %s.pacnew"
-#: lib/libalpm/add.c:686
-#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "uwaga: rozpakowywanie %s jako %s.pacnew"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "rozpakowywanie %s"
-
-#: lib/libalpm/add.c:705
-#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "błąd: nie udało się rozpakować %s (%s)"
-
-#: lib/libalpm/add.c:717
+#: lib/libalpm/add.c:721
#, c-format
-msgid "appending backup entry for %s"
-msgstr "dodawanie pozycji kopii zapasowej dla %s"
+msgid "could not extract %s (%s)"
+msgstr "nie udało się rozpakować %s (%s)"
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
+#: lib/libalpm/add.c:772
+#, fuzzy, c-format
+msgid "problem occurred while upgrading %s"
msgstr "wystąpiły błędy podczas %s %s"
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "aktualizowanie"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "instalowanie"
-
-#: lib/libalpm/add.c:769
-#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr "zasób '%s' został usunięty z pakietu %s (%s => %s)"
-
-#: lib/libalpm/add.c:781
-#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr "aktualizowanie '%s' z powodu zmiany zasobu (%s)"
+#: lib/libalpm/add.c:777
+#, fuzzy, c-format
+msgid "problem occurred while installing %s"
+msgstr "wystąpiły błędy podczas %s %s"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr "nie udało się zaktualizować zasobu '%s' z '%s'"
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "aktualizowanie bazy danych"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "dodawanie pozycji bazy danych '%s'"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "nie udało się zaktualizować pozycji bazy danych %s-%s"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "nie udało się dodać pozycji '%s' w pliku podręcznym"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
-#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "uruchamianie \"ldconfig -r %s\""
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr "usuwanie BD %s, pozostało %d..."
-
-#: lib/libalpm/alpm.c:181
-#, c-format
-msgid "unregistering database '%s'"
-msgstr "odrejestrowywanie bazy danych '%s'"
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "zamykanie bazy danych '%s'"
+#: lib/libalpm/be_files.c:83
+#, fuzzy, c-format
+msgid "%s: description file is missing"
+msgstr "%s: błąd składni w pliku opisu linia %d"
-#: lib/libalpm/alpm.c:232
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
+msgid "%s: dependency file is missing"
msgstr ""
-"dodawanie nowego serwera do bazy danych '%s': protokół '%s', serwer '%s', "
-"ścieżka '%s'"
-#: lib/libalpm/alpm.c:236
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "lista serwerów spuszczona(?) dla '%s'"
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
+msgid "%s: file list is missing"
msgstr ""
-"nie udało się otrzymać czasu ostatniej aktualizacji dla %s (nic wielkiego)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "nie udało się zsynchronizować bd: %s [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr "sync: nowy mtime dla %s: %s"
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr "spuszczanie(?) bazy danych %s%s"
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "nie udało się usunąć wpisu %s%s z bazy danych"
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "nie udało się otrzymać sumy sha1 dla pakietu %s-%s"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "sumy kontrolne sha1 zgadzają się dla pakietu %s-%s"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "sumy kontrolne sha1 dla pakietu %s-%s nie zgadzają się"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "nie udało się otrzymać sumy md5 dla pakietu %s-%s"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "sumy kontrolne md5 zgadzają się dla pakietu %s-%s"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "sumy kontrolne md5 dla pakietu %s-%s nie zgadzają się"
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "nie udało się usunąć pliku blokującego %s"
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "uwaga: nie udało się usunąć pliku blokującego %s"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "konfiguracja: nowa sekcja '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr "konfiguracja: nopassiveftp"
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr "konfiguracja: usesyslog"
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr "konfiguracja: chomp"
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr "konfiguracja: usecolor"
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr "konfiguracja: zawieranie %s"
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr "konfiguracja: noupgrade: %s"
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr "konfiguracja: noextract: %s"
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr "konfiguracja: ignorepkg: %s"
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr "konfiguracja: holdpkg: %s"
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr "konfiguracja: dbpath: %s"
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr "konfiguracja: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1050
-#, c-format
-msgid "config: rootdir: %s"
-msgstr "konfiguracja: rootdir: %s"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr "konfiguracja: logfile: %s"
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr "konfiguracja: xfercommand: %s"
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr "konfiguracja: upgradedelay: %d"
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "sprawdzanie potencjalnych pakietów zastępczych"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "sprawdzanie zastępcy '%s' dla pakietu '%s'"
-
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
-#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s: ignorowanie aktualizowania pakietu (do zastąpienia przez %s-%s)"
-
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
-#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s wybrany do zaktualizowania (do zastąpienia przez %s-%s)"
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr "'%s' nie odnaleziony w bd sync -- pomijanie"
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr "'%s' jest już wybrany do usunięcia -- pomijanie"
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr "%s wybrany do zaktualizowania (%s => %s)"
-
-#: lib/libalpm/be_files.c:61
-#, c-format
-msgid "unpacking database '%s'"
-msgstr "rozpakowywanie bazy danych '%s'"
-
-#: lib/libalpm/be_files.c:78
-#, c-format
-msgid "opening database from path '%s'"
-msgstr "otwieranie bazy danych ze ścieżki '%s'"
-
-#: lib/libalpm/be_files.c:182
-#, c-format
-msgid "db scan could not find package: %s"
-msgstr "skan bd nie odnalazł pakietu: %s"
-
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr "nieprawidłowa nazwa dla wpisu bazy danych '%s'"
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr "dostarczono nieprawidłowy wpis pakietu do _alpm_db_read, pomijanie"
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-"żądanie odczytania informacji bazy danych dla pakietu '%s' bazowanego na "
-"pliku, pomijanie..."
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr "ładowanie danych pakietu dla %s : poziom=%d"
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr "nie udało się odnaleźć '%s-%s' w bd '%s'"
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr "nie udało się otworzyć pliku %s: %s"
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr "zapisywanie informacji DESC dla %s-%s spowrotem do bd"
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr "zapisywanie informacji FILES dla %s-%s spowrotem do bd"
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr "zapisywanie informacji DEPENDS dla %s-%s spowrotem do bd"
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr "ładowanie pamięci podręcznej pakietów dla repozytorium '%s'"
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr "dodawanie '%s' do pamięci podręcznej pakietów dla bd '%s'"
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr "uwalnianie pamięci podręcznej pakietów dla repozytorium '%s'"
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr "błąd: pkgcache jest równy NULL dla bd '%s'"
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr "dodawanie wpisu '%s' pamięci podręcznej '%s'"
-
-#: lib/libalpm/cache.c:149
-#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr "usuwanie wpisu '%s' z pamięci podręcznej '%s'"
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr ""
-"nie udało się usunąć wpisu '%s' z pamięci podręcznej '%s': nie znaleziono"
-
-#: lib/libalpm/cache.c:178
-#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr "błąd: nie udało się otrzymać '%s' z NULL pkgcache"
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr "ładowanie pamięci podręcznej grup z repozytorium '%s'"
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr " znaleziono konflikt '%s' : pakiet '%s'"
-
-#: lib/libalpm/conflict.c:78
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr " znaleziono konflikt '%s' : pakiet '%s' dostarcza '%s'"
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr "pakiet '%s' konfliktuje ze sobą - błąd pakowania"
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr "checkconflicts: cel '%s' vs bd"
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr "checkconflicts: cel '%s' vs wszystkie cele"
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr "checkconflicts: bd vs cel '%s'"
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
-msgstr "cel '%s' jest także w liście celów, używanie NOWYCH konfliktów"
+msgid "malloc failure: could not allocate %d bytes"
+msgstr "błąd malloc: nie udało się zaalokować %d bajtów"
-#: lib/libalpm/conflict.c:257
+#: lib/libalpm/db.c:238
#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr "\tCONFLICTS:: %s konfliktuje z %s"
+msgid "could not remove database entry %s%s"
+msgstr "nie udało się usunąć wpisu %s%s z bazy danych"
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "malloc failure: could not allocate %d bytes"
-msgstr "błąd malloc: nie udało się zaalokować %d bajtów"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
+msgstr "%s-%s: ignorowanie aktualizowania pakietu (do zastąpienia przez %s-%s)"
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr "błąd malloc: nie udało się zaalokować %d bajtów"
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr "próba ponownej rejestracji 'lokalnej' BD"
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr "próba ponownej rejestracji bazy danych '%s', używając obecnej"
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr "rejestrowanie bazy danych '%s'"
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr "katalog bazy danych '%s' nie istnieje, utwarzanie"
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr "otwieranie bazy danych '%s'"
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr "rozpoczynanie sortowania zależności"
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr "odkryto potencjalny cykl zależności"
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr "sortowanie zależności ukończone"
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr "zerowy pakiet odnaleziony w liście pakietów"
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr "nie udało się odnaleźć pakietu który zainstalował '%s'"
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr "checkdeps: zależność '%s' została przesunięta z '%s' do '%s'"
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr ""
-"checkdeps: zależność '%s' satysfakcjonowana przez zainstalowany pakiet '%s'"
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr "checkdeps: zaktualizowany '%s' nie satysfakcjonuje zależności '%s'"
-
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr "brakująca zależność '%s' dla pakietu '%s'"
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr "checkdeps: znaleziono %s wymagane przez %s"
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr "wykluczanie %s -- zainstalowany eksplicytnie"
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr "nie udało się odnaleźć pakietu \"%s\" ani niczego co go dostarcza!"
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr "dodawanie '%s' do celów"
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr "rozpoczynanie rozwiązywania zależności"
+#: lib/libalpm/db.c:680
+#, fuzzy
+msgid "database path is undefined"
+msgstr "baza danych nie została zainicjowana"
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr "%s dostarcza zależność %s -- pomijanie"
+#: lib/libalpm/deps.c:187
+#, fuzzy
+msgid "dependency cycle detected\n"
+msgstr "wykryto cykl zależności: %s"
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
@@ -754,771 +184,448 @@ msgstr ""
"nie udało się rozwiązać zależności dla \"%s\" (\"%s\" nie znajduje się w "
"zbiorze pakietów)"
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr "zależność %s jest już w liście celów -- pomijanie"
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr "wciąganie zależności %s (wymagane przez %s)"
-
-#: lib/libalpm/deps.c:671
+#: lib/libalpm/deps.c:687
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "nie udało się rozwiązać zależności dla \"%s\""
-#: lib/libalpm/deps.c:687
-#, c-format
-msgid "dependency cycle detected: %s"
-msgstr "wykryto cykl zależności: %s"
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
-msgstr "zakończono rozwiązywanie zależności"
-
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr "brak pamięci!"
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr "niespodziewany błąd systemu"
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr "niewystarczające przywileje"
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr "nie udało się znaleźć bądź odczytać pliku"
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr "błędny bądź ZEROWY argument dany"
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr "biblioteka nie została zainicjowana"
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr "biblioteka już zainicjowana"
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr "nie udało się zablokować bazy danych"
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "nie udało się otworzyć bazy danych"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "nie udało się stworzyć bazy danych"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "baza danych nie została zainicjowana"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "baza danych już zarejestrowana"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "nie udało się odnaleźc bazy danych"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "nie udało się zaktualizować bazy danych"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "nie udało się usunąć wpisu do bazy danych"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr "nieprawidłowy url dla serwera"
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr "nie udało się ustawić parametru"
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr "tranzakcja już zainicjowana"
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr "tranzakcja nie została zainicjowana"
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr "duplikat celu"
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr "tranzakcja nie została przygotowana"
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr "tranzakcja zaniechana"
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr "operacja niekompatybilna z typem tranzakcji"
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr "nie udało się wykonać tranzakcji"
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr "nie udało się pobrać wszystkich plików"
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr "nie udało się znaleźć bądź odczytać pakietu"
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr "nieprawidłowy bądź skorumpowany pakiet"
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr "nie udało się otworzyć pliku pakietu"
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr "nie udało się załadować danych pakietu"
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr "pakiet już zainstalowany"
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr "pakiet nie zainstalowany lub zainstalowany w niższej wersji"
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr "nie udało się usunąć wszystkich plików pakietu"
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "nieprawidłowa nazwa pakietu"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "skorumpowany pakiet"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr "nie ma takiego repozytorium"
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "grupa nie została odnaleziona"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr "nie udało się usatysfakcjonować zależności"
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr "konfliktujące zależności"
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr "konfliktujące pliki"
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr "użytkownik zaniechał operacji"
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "błąd wewnętrzny"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr "błąd libarchive"
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "nie wystarczająca ilość wolnego miejsca na dysku"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr "nie potwierdzono"
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr "zła nazwa sekcji konfiguracji"
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr ""
-"'local' jest nazwą zarezerwowaną i nie może zostać użyty jako nazwa "
-"repozytorium"
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr "błąd składni w pliku konfiguracyjnym"
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr "wszystkie dyrektywy muszą być własnością sekcji"
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "nieprawidłowe wyrażenie regularne"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr "połączenie ze zdalnym hostem nieudane"
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "niespodziewany błąd"
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
msgstr "nie udało się skanonizować podanej ścieżki docelowej '%s'"
-#: lib/libalpm/handle.c:175
-#, c-format
-msgid "option 'root' = %s"
-msgstr "opcja 'root' = %s"
+#: lib/libalpm/md5driver.c:69
+#, fuzzy, c-format
+msgid "md5: %s can't be opened\n"
+msgstr "%s nie może być otwarte\n"
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr "opcja 'dbpath' = %s"
+msgid "could not get sha1sum for package %s-%s"
+msgstr "nie udało się otrzymać sumy sha1 dla pakietu %s-%s"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr "opcja 'cachedir' = %s"
+msgid "sha1sums do not match for package %s-%s"
+msgstr "sumy kontrolne sha1 dla pakietu %s-%s nie zgadzają się"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr "%s nie może być otwarte\n"
+msgid "could not get md5sum for package %s-%s"
+msgstr "nie udało się otrzymać sumy md5 dla pakietu %s-%s"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr "md5(%s) = %s"
+msgid "md5sums do not match for package %s-%s"
+msgstr "sumy kontrolne md5 dla pakietu %s-%s nie zgadzają się"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: ignorowanie aktualizacji pakietu (%s)"
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: wymuszanie aktualizacji do wersji %s"
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: local (%s) jest nowsze niż %s (%s)"
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: opóźnianie aktualizacji pakietu (%s)"
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr "%s: błąd składni w pliku opisu linia %d"
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr "nie udało się przeczytać pliku opisu"
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr "brak nazwy pakietu w %s"
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr "brak wersji pakietu w %s"
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr "nie udało się usunąć pliku tymczasowego %s"
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr "błąd odczytywania pakietu: %s"
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr "brak metadanych pakietu"
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr "brak listy plików pakietu w %s, generowanie"
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "dodawanie '%s' w polu requiredby dla '%s'"
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr "dodawanie '%s' w polu requiredby dla '%s' (dostarcza: %s)"
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr "nie udało się odnaleźć %s w bazie danych"
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr "dodawanie %s do listy celów"
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr "wciąganie %s na listę celów"
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr "nie udało się odnaleźć %s w bazie danych -- pomijanie"
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr "odnajdywanie usuwalnych zależności"
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr "nie udało się usunąć pliku '%s': %s"
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr "Pomijanie usunięcia '%s' ze względu na NoUpgrade"
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "plik %s nie istnieje"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "zachowywanie katalogu %s"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "usuwanie katalogu %s"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr "%s jest w trans->skip_remove, pomijanie usunięcia"
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr ""
-"tranzakcja ustawiona jako NOSAVE, brak tworzenia kopii zapasowej dla '%s'"
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr "odlinkowywanie %s"
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr "nie udało się usunąć pliku %s: %s"
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr "usuwanie pakietu %s-%s"
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr ""
-"pakiet '%s' nie zostanie usunięty, nie udało się usunąć wszystkich plików"
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr "usuwanie %d plików"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr "usuwanie wpisu '%s' z bazy danych"
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "nie udało się usunąć wpisu %s-%s z bazy danych"
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "nie udało się usunąć wpisu '%s' z pamięci podręcznej"
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr "sha1: %s nie może zostać otwarty\n"
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr "sha1(%s) = %s"
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr "sprawdzanie potencjalnych uaktualnień pakietów"
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr "%s-%s wybrany do aktualizacji (%s => %s)"
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr "poszukiwanie celu w repo '%s'"
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr "cel '%s' nie został odnaleziony -- szukanie zasobów dostarczających"
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr "znaleziono '%s' jako zasób dla '%s'"
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr "repozytorium '%s' nie zostało znalezione"
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr "%s-%s jest w najnowszej wersji -- pomijanie"
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr "dodawanie celu '%s' do zestawu tranzakcji"
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr "rozwiązywanie zależności celu"
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr "dodawanie pakietu %s-%s do celów tranzakcji"
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr "szukanie nierozwiązywalnych zależności"
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "pakiet '%s' konfliktuje z '%s'"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr "'%s' nie znaleziony w zestawie tranzakcji -- pomijanie"
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr "pakiet '%s' dostarcza swój własny konflikt"
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr "'%s' jest w liście celów -- zachowywanie"
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr "usuwanie '%s' z listy celów"
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr "rozwiązywanie konfliktu pakietu '%s'"
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr "wybieranie '%s' do usunięcia"
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr "odkryto nierozwiązywalne konflikty pakietów"
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr "sprawdzanie zależności pakietów wyznaczonych do usunięcia"
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr "coś się bardzo nie udało"
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr "znaleziono '%s' jako zasób dla '%s' -- konflikt zaniechany"
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr "%s jest już w pamięci podręcznej\n"
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "brak pamięci podręcznej dla %s, tworzenie...\n"
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr "uwaga: brak pamięci podręcznej dla %s, tworzenie..."
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
+#: lib/libalpm/sync.c:804
+#, fuzzy
+msgid "couldn't create package cache, using /tmp instead"
msgstr ""
"nie udało się stworzenie pamięci podręcznej pakietu, używanie /tmp w zamian\n"
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr ""
-"uwaga: nie udało się stworzenie pamięci podręcznej pakietu, używanie /tmp w "
-"zamian"
-
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr "nie udało się pobrać niektórych plików z %s\n"
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr "nie udało się otrzymać sum kontrolnych md5 lub sha1 dla pakietu %s\n"
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "archiwum %s było skorumpowane (błąd sumy kontrolnej MD5 lub SHA1)\n"
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "archiwum %s jest skorumpowane (błąd sumy kontrolnej MD5 lub SHA1)\n"
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr "nie udało się utworzyć tranzakcji usuwania"
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr "nie udało się zainicjować tranzakcji usuwania"
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr "usuwanie pakietów konfliktujących i pakietów do zastąpienia"
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr "nie udało się przygotować tranzakcji usuwania"
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr "nie udało się wykonać tranzakcji usuwania"
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr "instalowanie pakietów"
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr "nie udało się stworzyć tranzakcji"
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr "nie udało się zainicjować tranzakcji"
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr "nie udało się przygotować tranzakcji"
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr "aktualizowanie baz danych dla zależności zastąpionych pakietów"
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr "nie udało się zaktualizować requiredby dla wpisu %s-%s w bazie danych"
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr "nie udało się zaktualizować nowego wpisu %s-%s w bazie danych"
-#: lib/libalpm/sync.c:1079
-#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr "znaleziono pakiet '%s-%s' w sync"
-
-#: lib/libalpm/sync.c:1085
-#, c-format
-msgid "package '%s' not found in sync"
-msgstr "pakiet '%s' nie został odnaleziony w sync"
-
-#: lib/libalpm/trans.c:271
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr "aktualizowanie pól 'requiredby' pakietów zależności dla %s-%s"
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr ""
-"pakiet nie ma żadnych zależności, brak innych pakietów do zaktualizowania"
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "aktualizowanie pola 'requiredby' dla pakietu '%s'"
+msgid "could not remove lock file %s"
+msgstr "nie udało się usunąć pliku blokującego %s"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr ""
"nie udało się zaktualizować wpisu do bazy danych 'requiredby' dla %s-%s"
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "nie udało się odnaleźć zależności '%s'"
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr "nie udało się stworzyć ścieżki '%s' : %s"
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr "nie udało się otworzyć %s: %s\n"
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr "nie udało się rozpakować %s: %s\n"
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr "zawołane logaction: %s"
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr "nie udało się stworzyć katalogu tymczasowego"
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr "nie udało się zmienić katalogu na %s (%s)"
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr "wykonywanie skryptu %s..."
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr "nie udało się odwidlić nowego procesu (%s)"
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr "chroot'owanie do %s"
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr "nie udało się zmienić katalogu głównego (%s)"
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr "nie udało się zmienić katalogu na / (%s)"
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr "wykonywanie \"%s\""
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr "zawołanie do popen nieudane (%s)"
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr "zawołanie do waitpid nieudane (%s)"
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr "nie udało się usunąć katalogu tymczasowego %s"
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr "nie udało się odczytać informacji o ilości danych na dysku z %s: %s"
+msgid "failed to make path '%s' : %s"
+msgstr "nie udało się stworzyć ścieżki '%s' : %s"
-#: lib/libalpm/util.c:609
+#: lib/libalpm/util.c:325
#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
-msgstr "check_freespace: pełen rozmiar pakietu: %lld, wolna przestrzeń: %lld"
+msgid "could not open %s: %s\n"
+msgstr "nie udało się otworzyć %s: %s\n"
-#: lib/libalpm/versioncmp.c:279
-#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
-msgstr "depcmp: %s-%s %s %s-%s => %s"
+#: lib/libalpm/util.c:346
+#, fuzzy, c-format
+msgid "could not extract %s (%s)\n"
+msgstr "nie udało się rozpakować %s (%s)"
-#: lib/libalpm/versioncmp.c:284
-#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr "depcmp: %s-%s %s %s => %s"
diff --git a/lib/libalpm/po/pt_BR.po b/lib/libalpm/po/pt_BR.po
index b58a36e1..10dc1a5b 100644
--- a/lib/libalpm/po/pt_BR.po
+++ b/lib/libalpm/po/pt_BR.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pt_BR\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\n"
"PO-Revision-Date: 2007-03-07 01:18-0300\n"
"Last-Translator: Douglas Soares de Andrade <dsandrade@gmail.com>\n"
"Language-Team: Português do Brasil <pt@li.org>\n"
@@ -22,1495 +22,608 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: KBabel 1.11.4\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr "carregando pacotes '%s'"
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "substituindo a versão antiga %s-%s por '%s' na lista de pacotes"
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr "versão atualizada %s-%s está na lista de pacotes -- pulando"
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "lendo os metadados de '%s'"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "procurando por dependências não satisfeitas"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "procurando por conflitos"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "substituir pacotes com -A e -U ainda não é suportado"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "por favor, remova '%s' primeiro usando -Rd"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "ordenando por dependências"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "finalizando"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "procurando por conflitos de arquivos"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "atualizando pacote %s-%s"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "adicionando pacote %s-%s"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "removendo pacotes antigos primeiro (%s-%s)"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr "adicionando %s para NoUpgrade temporariamente"
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "extraindo arquivos"
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "não foi possível obter o diretório de trabalho atual"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s está incluso em NoExtract -- não descompactando"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr "o pacote %s está incluso em trans->skip_add, não descompactando"
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "não foi possível extrair %s (%s)"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "verificando hashes md5 para %s"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "verificando hashes sha1 para %s"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "atual: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "novo: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "original: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "não foi possível renomear %s (%s)"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "erro: não foi possível renomear %s (%s)"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "não foi possível copiar arquivo temporário para %s (%s)"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "erro: não foi possível copiar arquivo temporário para %s (%s)"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "%s salvo como %s"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "aviso: %s salvo como %s"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "ação: instalando novo arquivo: %s"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "ação: preservando o arquivo existente"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"ação: preservando o arquivo existente e instalando o novo com um final ."
-"pacnew"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "não foi possível instalar %s como %s: %s"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "erro: não foi possível instalar %s como %s: %s"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "%s instalado como %s"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "atenção: %s instalado como %s"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s está como NoUpgrade -- pulando"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "extraindo %s como %s.pacnew"
-#: lib/libalpm/add.c:686
-#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "aviso: extraindo %s como %s.pacnew"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "extraindo %s"
-
-#: lib/libalpm/add.c:705
+#: lib/libalpm/add.c:721
#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "erro: não foi possível descompactar %s (%s)"
-
-#: lib/libalpm/add.c:717
-#, c-format
-msgid "appending backup entry for %s"
-msgstr "adicionando entrada de backup para %s"
+msgid "could not extract %s (%s)"
+msgstr "não foi possível extrair %s (%s)"
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
+#: lib/libalpm/add.c:772
+#, fuzzy, c-format
+msgid "problem occurred while upgrading %s"
msgstr "erros ocorreram durante %s %s"
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "atualizando"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "instalando"
-
-#: lib/libalpm/add.c:769
-#, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr "a provisão '%s' foi removida do pacote %s (%s => %s)"
-
-#: lib/libalpm/add.c:781
-#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr "atualizando '%s' devido a uma mudança de provisão (%s)"
+#: lib/libalpm/add.c:777
+#, fuzzy, c-format
+msgid "problem occurred while installing %s"
+msgstr "erros ocorreram durante %s %s"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr "não foi possível atualizar a provisão '%s' para '%s'"
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "atualizando base de dados"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "adicionando a entrada de base de dados '%s'"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "não foi possível atualizar a entrada na base de dados %s-%s"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "não foi possível adicionar a entrada '%s' ao cache"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
+#: lib/libalpm/be_files.c:83
#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "executando \"ldconfig -r %s\""
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr "removendo DB %s, %d continua existindo..."
-
-#: lib/libalpm/alpm.c:181
-#, c-format
-msgid "unregistering database '%s'"
-msgstr "desregistrando a base de dados '%s'"
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "fechando a base de dados '%s'"
-
-#: lib/libalpm/alpm.c:232
-#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
+msgid "%s: description file is missing"
msgstr ""
-"adicionando novo servidor à base de dados '%s': protocolo '%s', servidor '%"
-"s', caminho '%s'"
-#: lib/libalpm/alpm.c:236
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "lista de servidores nivelada para '%s'"
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
+msgid "%s: dependency file is missing"
msgstr ""
-"falha para conseguir o horário da última atualização de %s (no big deal)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "falha ao sincronizar base de dados: %s [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr "sincronizar: novo mtime para %s: %s"
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr "nivelando a base de dados %s%s"
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "não foi possível remover a entrada da base de dados %s%s"
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "não foi possível conseguir a soma sha1 para o pacote %s-%s"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "somas sha1 para o pacote %s - %s coincidem"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "somas sha1 não coincidem para o pacote %s-%s"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "não foi possível conseguir a soma md5 para o pacote %s-%s"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "somas md5 para o pacote %s - %s coincidem"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "somas md5 não coincidem para o pacote %s-%s"
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "não foi possível remover o arquivo de lock %s"
-#: lib/libalpm/alpm.c:791
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "aviso: não foi possível remover o arquivo de lock %s"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "configuração: nova seção '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr "configuração: nopassiveftp"
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr "configuração: usesyslog"
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr "configuração: chomp"
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr "configuração: usecolor"
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr "configuração: including %s"
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr "configuração: noupgrade: %s"
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr "configuração: noextract: %s"
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr "configuração: ignorepkg: %s"
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
-#, c-format
-msgid "config: holdpkg: %s"
-msgstr "configuração: holdpkg: %s"
-
-#: lib/libalpm/alpm.c:1036
-#, c-format
-msgid "config: dbpath: %s"
-msgstr "configuração: dbpath: %s"
-
-#: lib/libalpm/alpm.c:1043
-#, c-format
-msgid "config: cachedir: %s"
-msgstr "configuração: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1050
-#, fuzzy, c-format
-msgid "config: rootdir: %s"
-msgstr "configuração: cachedir: %s"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr "configuração: logfile: %s"
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr "configuração: xfercommand: %s"
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr "configuração: upgradedelay: %d"
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "verificando por substitutos do pacote"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "verificando substituto '%s' para o pacote '%s'"
-
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
-#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
-#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
+msgid "%s: file list is missing"
msgstr ""
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr ""
-
-#: lib/libalpm/be_files.c:61
-#, c-format
-msgid "unpacking database '%s'"
-msgstr "descompactando base de dados '%s'"
-
-#: lib/libalpm/be_files.c:78
-#, c-format
-msgid "opening database from path '%s'"
-msgstr "abrindo base de dados '%s'"
-
-#: lib/libalpm/be_files.c:182
-#, fuzzy, c-format
-msgid "db scan could not find package: %s"
-msgstr "não foi possível encontrar a base de dados"
-
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr "nome inválido para a entrada na base de dados '%s'"
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr ""
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr ""
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr ""
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr "não foi possível abrir o arquivo %s: %s"
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr ""
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr ""
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr ""
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr ""
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr ""
-
-#: lib/libalpm/cache.c:149
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr ""
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr ""
-
-#: lib/libalpm/cache.c:178
-#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr ""
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:78
-#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, fuzzy, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr "pacote '%s' conflita com '%s'"
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr ""
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr ""
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
+msgid "malloc failure: could not allocate %d bytes"
msgstr ""
-#: lib/libalpm/conflict.c:257
+#: lib/libalpm/db.c:238
#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr ""
+msgid "could not remove database entry %s%s"
+msgstr "não foi possível remover a entrada da base de dados %s%s"
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "malloc failure: could not allocate %d bytes"
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
msgstr ""
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr ""
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr ""
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr ""
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr ""
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr ""
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr "abrindo base de dados '%s'"
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr ""
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr ""
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr ""
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr ""
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr ""
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr ""
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr ""
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr ""
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr ""
+#: lib/libalpm/db.c:680
+#, fuzzy
+msgid "database path is undefined"
+msgstr "base de dados não inicializada"
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
+#: lib/libalpm/deps.c:187
+msgid "dependency cycle detected\n"
msgstr ""
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
msgstr ""
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr ""
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr ""
-
-#: lib/libalpm/deps.c:671
-#, c-format
-msgid "cannot resolve dependencies for \"%s\""
-msgstr ""
-
#: lib/libalpm/deps.c:687
#, c-format
-msgid "dependency cycle detected: %s"
-msgstr ""
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
+msgid "cannot resolve dependencies for \"%s\""
msgstr ""
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr ""
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr ""
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr ""
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr ""
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr ""
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr "biblioteca não inicializada"
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr "biblioteca já inicializada"
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr ""
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "não foi possível abrir a base de dados"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "não foi possível criar a base de dados"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "base de dados não inicializada"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "base de dados já registrada"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "não foi possível encontrar a base de dados"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "não foi possível atualizar a base de dados"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "não foi possível remover a entrada da base de dados"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr ""
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr ""
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr ""
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr ""
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr "alvo duplicado"
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr ""
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr ""
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr ""
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr ""
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr ""
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr ""
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr ""
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr ""
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr ""
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr ""
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr ""
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr ""
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "o nome do pacote não é valido"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "pacote corrompido"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr ""
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "grupo não encontrado"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr ""
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr ""
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr ""
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr ""
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "erro interno"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr ""
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "espaço insuficiente em disco"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr ""
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr ""
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr ""
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr ""
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr ""
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "expressão regular inválida"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr ""
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "erro inesperado"
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
msgstr ""
-#: lib/libalpm/handle.c:175
+#: lib/libalpm/md5driver.c:69
#, c-format
-msgid "option 'root' = %s"
+msgid "md5: %s can't be opened\n"
msgstr ""
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr ""
+msgid "could not get sha1sum for package %s-%s"
+msgstr "não foi possível conseguir a soma sha1 para o pacote %s-%s"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr ""
+msgid "sha1sums do not match for package %s-%s"
+msgstr "somas sha1 não coincidem para o pacote %s-%s"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr ""
+msgid "could not get md5sum for package %s-%s"
+msgstr "não foi possível conseguir a soma md5 para o pacote %s-%s"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr ""
+msgid "md5sums do not match for package %s-%s"
+msgstr "somas md5 não coincidem para o pacote %s-%s"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr ""
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr ""
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr ""
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr ""
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr ""
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr ""
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr ""
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr ""
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr ""
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr ""
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr ""
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr ""
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr ""
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr ""
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr ""
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr ""
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr ""
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr ""
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr ""
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr ""
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr ""
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "o arquivo %s não existe"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "mantendo diretório %s"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "removendo diretório %s"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr ""
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr ""
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr ""
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr ""
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr ""
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr ""
-
-#: lib/libalpm/remove.c:316
-#, fuzzy, c-format
-msgid "removing %d files"
-msgstr "removendo diretório %s"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr ""
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr ""
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr ""
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr ""
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr ""
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr ""
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr ""
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr ""
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr ""
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr ""
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr ""
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr ""
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr ""
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr ""
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr ""
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr ""
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "pacote '%s' conflita com '%s'"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr ""
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr ""
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr ""
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr "removendo '%s' da lista de alvos"
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr ""
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr ""
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr ""
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr ""
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr ""
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr ""
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr ""
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr ""
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr ""
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
+#: lib/libalpm/sync.c:804
+msgid "couldn't create package cache, using /tmp instead"
msgstr ""
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr ""
-
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr ""
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr ""
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr ""
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr ""
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr ""
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr ""
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr ""
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr ""
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr ""
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr ""
-#: lib/libalpm/sync.c:1079
-#, fuzzy, c-format
-msgid "found package '%s-%s' in sync"
-msgstr "atualizando pacote %s-%s"
-
-#: lib/libalpm/sync.c:1085
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "package '%s' not found in sync"
-msgstr ""
-
-#: lib/libalpm/trans.c:271
-#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr ""
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr ""
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr ""
+msgid "could not remove lock file %s"
+msgstr "não foi possível remover o arquivo de lock %s"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr ""
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "não foi possível encontrar a dependência '%s'"
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr ""
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr ""
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr ""
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr ""
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr ""
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr ""
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr ""
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr ""
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr ""
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr ""
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr ""
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr "executando \"%s\""
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr ""
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr ""
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr ""
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
-msgstr ""
-
-#: lib/libalpm/util.c:609
-#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
+msgid "failed to make path '%s' : %s"
msgstr ""
-#: lib/libalpm/versioncmp.c:279
+#: lib/libalpm/util.c:325
#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
+msgid "could not open %s: %s\n"
msgstr ""
-#: lib/libalpm/versioncmp.c:284
-#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr ""
+#: lib/libalpm/util.c:346
+#, fuzzy, c-format
+msgid "could not extract %s (%s)\n"
+msgstr "não foi possível extrair %s (%s)"
-#~ msgid "%s saved as %s.pacorig"
-#~ msgstr "%s salvo como %s.pacorig"
diff --git a/lib/libalpm/po/ru_RU.po b/lib/libalpm/po/ru_RU.po
index 4ec02c03..09adeec7 100644
--- a/lib/libalpm/po/ru_RU.po
+++ b/lib/libalpm/po/ru_RU.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Pacman package manager 3.0.0\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:43-0400\n"
+"POT-Creation-Date: 2007-07-11 00:26-0400\n"
"PO-Revision-Date: 2007-03-16 02:52+1000\n"
"Last-Translator: Vladimir Bayrakovskiy <4rayven@gmail.com>\n"
"MIME-Version: 1.0\n"
@@ -16,1494 +16,610 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: lib/libalpm/add.c:77
-#, c-format
-msgid "loading target '%s'"
-msgstr ""
-
-#: lib/libalpm/add.c:122
+#: lib/libalpm/add.c:118
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr ""
-#: lib/libalpm/add.c:131
+#: lib/libalpm/add.c:127
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr ""
-#: lib/libalpm/add.c:138
-#, c-format
-msgid "reading '%s' metadata"
-msgstr "читаю метаданные из '%s'"
-
-#: lib/libalpm/add.c:191 lib/libalpm/remove.c:111
-msgid "looking for unsatisfied dependencies"
-msgstr "поиск неразрешенных зависимостей"
-
-#: lib/libalpm/add.c:203 lib/libalpm/sync.c:483
-msgid "looking for conflicts"
-msgstr "поиск конфликтов"
-
-#: lib/libalpm/add.c:208
+#: lib/libalpm/add.c:201
msgid "replacing packages with -A and -U is not supported yet"
msgstr "замещение пакетов с использованием опций -A и -U еще не реализовано"
-#: lib/libalpm/add.c:209
+#: lib/libalpm/add.c:202
#, c-format
msgid "please remove '%s' first, using -Rd"
msgstr "пожалуйста, уделите сначала '%s' используя -Rd"
-#: lib/libalpm/add.c:250 lib/libalpm/remove.c:147
-msgid "sorting by dependencies"
-msgstr "сортировка по зависимостям"
-
-#: lib/libalpm/add.c:262
-msgid "cleaning up"
-msgstr "прибираем за собой"
-
-#: lib/libalpm/add.c:277
-msgid "looking for file conflicts"
-msgstr "поиск конфликтующих файлов"
-
-#: lib/libalpm/add.c:346
-#, c-format
-msgid "upgrading package %s-%s"
-msgstr "обновляется пакет %s-%s"
-
-#: lib/libalpm/add.c:370
-#, c-format
-msgid "adding package %s-%s"
-msgstr "добавляю пакет %s-%s"
-
-#: lib/libalpm/add.c:383
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "сперва удаляю старый пакет (%s-%s)"
-
-#: lib/libalpm/add.c:411
-#, c-format
-msgid "adding %s to the NoUpgrade array temporarily"
-msgstr "временно добавляю %s в список NoUpgrade"
-
-#: lib/libalpm/add.c:429
-msgid "extracting files"
-msgstr "извлекаю файлы из архива"
-
-#: lib/libalpm/add.c:444 lib/libalpm/util.c:465
+#: lib/libalpm/add.c:428 lib/libalpm/trans.c:609
msgid "could not get current working directory"
msgstr "не могу определить текущую рабочую директорию"
-#: lib/libalpm/add.c:500 lib/libalpm/add.c:501
-#, c-format
-msgid "%s is in NoExtract, skipping extraction"
-msgstr "%s в списке NoExtract, пропускаю при распаковке"
-
-#: lib/libalpm/add.c:508
-#, c-format
-msgid "%s is in trans->skip_add, skipping extraction"
-msgstr ""
-
-#: lib/libalpm/add.c:554 lib/libalpm/add.c:555 lib/libalpm/add.c:704
-#, c-format
-msgid "could not extract %s (%s)"
-msgstr "не могу извлечь %s (%s)"
-
-#: lib/libalpm/add.c:598
-#, c-format
-msgid "checking md5 hashes for %s"
-msgstr "проверяю md5 хеши для %s"
-
-#: lib/libalpm/add.c:600
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "проверяю sha1 хеши для %s"
-
-#: lib/libalpm/add.c:602
-#, c-format
-msgid "current: %s"
-msgstr "текущий: %s"
-
-#: lib/libalpm/add.c:603
-#, c-format
-msgid "new: %s"
-msgstr "новый: %s"
-
-#: lib/libalpm/add.c:604
-#, c-format
-msgid "original: %s"
-msgstr "исходный: %s"
-
-#: lib/libalpm/add.c:616
+#: lib/libalpm/add.c:619
#, c-format
msgid "could not rename %s (%s)"
msgstr "не могу переименовать %s (%s)"
-#: lib/libalpm/add.c:617
-#, c-format
-msgid "error: could not rename %s (%s)"
-msgstr "ошибка: не могу переименовать %s (%s)"
-
-#: lib/libalpm/add.c:623 lib/libalpm/add.c:642
+#: lib/libalpm/add.c:626 lib/libalpm/add.c:646
#, c-format
msgid "could not copy tempfile to %s (%s)"
msgstr "не могу скопировать временный файл в %s (%s)"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "error: could not copy tempfile to %s (%s)"
-msgstr "ошибка: не могу скопировать временный файл в %s (%s)"
-
-#: lib/libalpm/add.c:628 lib/libalpm/remove.c:247
+#: lib/libalpm/add.c:631 lib/libalpm/remove.c:241
#, c-format
msgid "%s saved as %s"
msgstr "%s сохранен как %s"
-#: lib/libalpm/add.c:629
-#, c-format
-msgid "warning: %s saved as %s"
-msgstr "предупреждение: %s сохранен как %s"
-
-#: lib/libalpm/add.c:639
-#, c-format
-msgid "action: installing new file: %s"
-msgstr "действие: устанавливаю новый файл: %s"
-
-#: lib/libalpm/add.c:649 lib/libalpm/add.c:655 lib/libalpm/add.c:660
-msgid "action: leaving existing file in place"
-msgstr "действие: оставляем существующий файл на месте"
-
-#: lib/libalpm/add.c:663
-msgid "action: keeping current file and installing new one with .pacnew ending"
-msgstr ""
-"действие: оставляем текущий файл нетронутым и устанавливаем новый с "
-"суффиксом .pacnew"
-
-#: lib/libalpm/add.c:666
+#: lib/libalpm/add.c:670
#, c-format
msgid "could not install %s as %s: %s"
msgstr "не могу установить %s как %s: %s"
-#: lib/libalpm/add.c:667
-#, c-format
-msgid "error: could not install %s as %s: %s"
-msgstr "ошибка: не могу установить %s как %s: %s"
-
-#: lib/libalpm/add.c:669
+#: lib/libalpm/add.c:673
#, c-format
msgid "%s installed as %s"
msgstr "%s установлен как %s"
-#: lib/libalpm/add.c:670
-#, c-format
-msgid "warning: %s installed as %s"
-msgstr "предупреждение: %s установлен как %s"
-
-#: lib/libalpm/add.c:684
-#, c-format
-msgid "%s is in NoUpgrade -- skipping"
-msgstr "%s есть в списке NoUpgrade -- пропускаю"
-
-#: lib/libalpm/add.c:685
+#: lib/libalpm/add.c:689
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "извлекаю %s как %s.pacnew"
-#: lib/libalpm/add.c:686
+#: lib/libalpm/add.c:721
#, c-format
-msgid "warning: extracting %s as %s.pacnew"
-msgstr "предупреждение: извлекаю %s как %s.pacnew"
-
-#: lib/libalpm/add.c:689
-#, c-format
-msgid "extracting %s"
-msgstr "извлекаю %s"
-
-#: lib/libalpm/add.c:705
-#, c-format
-msgid "error: could not extract %s (%s)"
-msgstr "ошибка: не могу извлечь %s (%s)"
-
-#: lib/libalpm/add.c:717
-#, c-format
-msgid "appending backup entry for %s"
-msgstr "добавляю запись для отката для %s"
+msgid "could not extract %s (%s)"
+msgstr "не могу извлечь %s (%s)"
-#: lib/libalpm/add.c:749 lib/libalpm/add.c:751
-#, c-format
-msgid "errors occurred while %s %s"
+#: lib/libalpm/add.c:772
+#, fuzzy, c-format
+msgid "problem occurred while upgrading %s"
msgstr "во время %s %s произошли ошибки"
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "upgrading"
-msgstr "обновляю"
-
-#: lib/libalpm/add.c:750 lib/libalpm/add.c:752
-msgid "installing"
-msgstr "устанавливаю"
-
-#: lib/libalpm/add.c:769
+#: lib/libalpm/add.c:777
#, fuzzy, c-format
-msgid "provision '%s' has been removed from package %s (%s => %s)"
-msgstr "'%s' был удален из пакета %s (%s => %s)"
-
-#: lib/libalpm/add.c:781
-#, c-format
-msgid "updating '%s' due to provision change (%s)"
-msgstr "обновляю '%s' в связи с изменениями в (%s)"
+msgid "problem occurred while installing %s"
+msgstr "во время %s %s произошли ошибки"
-#: lib/libalpm/add.c:785 lib/libalpm/add.c:786
+#: lib/libalpm/add.c:815
#, c-format
msgid "could not update provision '%s' from '%s'"
msgstr "не могу обновить '%s' из '%s'"
-#: lib/libalpm/add.c:799 lib/libalpm/remove.c:341
-msgid "updating database"
-msgstr "обновляю базу данных"
-
-#: lib/libalpm/add.c:800
-#, c-format
-msgid "adding database entry '%s'"
-msgstr "добавляю в базу данных запись '%s'"
-
-#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
+#: lib/libalpm/add.c:835
#, c-format
msgid "could not update database entry %s-%s"
msgstr "не могу обновить в базе данных запись %s-%s"
-#: lib/libalpm/add.c:811
+#: lib/libalpm/add.c:843
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "не могу добавить запись '%s' в кэш"
-#: lib/libalpm/add.c:841 lib/libalpm/remove.c:365 lib/libalpm/sync.c:1055
-#, c-format
-msgid "running \"ldconfig -r %s\""
-msgstr "запускаю \"ldconfig -r %s\""
-
-#: lib/libalpm/alpm.c:116
-#, c-format
-msgid "removing DB %s, %d remaining..."
-msgstr "удаляю БД %s, %d осталось..."
-
-#: lib/libalpm/alpm.c:181
-#, fuzzy, c-format
-msgid "unregistering database '%s'"
-msgstr "дерегестрирую базу данных '%s'"
-
-#: lib/libalpm/alpm.c:186
-#, c-format
-msgid "closing database '%s'"
-msgstr "закрываю базу данных '%s'"
-
-#: lib/libalpm/alpm.c:232
-#, c-format
-msgid ""
-"adding new server to database '%s': protocol '%s', server '%s', path '%s'"
-msgstr ""
-"добавляю новый сервер в базу данных '%s': протокол '%s', сервер '%s', путь '%"
-"s'"
-
-#: lib/libalpm/alpm.c:236
-#, fuzzy, c-format
-msgid "serverlist flushed for '%s'"
-msgstr "список серверов пополнен для '%s'"
-
-#: lib/libalpm/alpm.c:279
-#, c-format
-msgid "failed to get lastupdate time for %s (no big deal)"
-msgstr ""
-"не удалось узнать время последнего обновления для %s (ни чего страшного)"
-
-#: lib/libalpm/alpm.c:298
-#, c-format
-msgid "failed to sync db: %s [%d]"
-msgstr "не удалось синхронизировать базу данных: %s [%d]"
-
-#: lib/libalpm/alpm.c:302
-#, c-format
-msgid "sync: new mtime for %s: %s"
-msgstr "синхронизация: обновлен mtime для %s: %s"
-
-#: lib/libalpm/alpm.c:308
-#, c-format
-msgid "flushing database %s%s"
-msgstr "обновляю базу данных %s%s"
-
-#: lib/libalpm/alpm.c:312
-#, c-format
-msgid "could not remove database entry %s%s"
-msgstr "не могу удалить из базы данных запись %s%s"
-
-#: lib/libalpm/alpm.c:481
-#, c-format
-msgid "could not get sha1sum for package %s-%s"
-msgstr "не могу получить контрольную сумму sha1sum для пакета %s-%s"
-
-#: lib/libalpm/alpm.c:487
-#, c-format
-msgid "sha1sums for package %s-%s match"
-msgstr "контрольные суммы sha1sum для пакета %s-%s совпали"
-
-#: lib/libalpm/alpm.c:490
-#, c-format
-msgid "sha1sums do not match for package %s-%s"
-msgstr "контрольные суммы sha1sum для пакета %s-%s не совпали"
-
-#: lib/libalpm/alpm.c:525
-#, c-format
-msgid "could not get md5sum for package %s-%s"
-msgstr "не могу получить контрольную сумму md5sum для пакета %s-%s"
-
-#: lib/libalpm/alpm.c:531
-#, c-format
-msgid "md5sums for package %s-%s match"
-msgstr "контрольные суммы md5sum для пакета %s-%s совпали"
-
-#: lib/libalpm/alpm.c:534
-#, c-format
-msgid "md5sums do not match for package %s-%s"
-msgstr "контрольные суммы md5sum для пакета %s-%s не совпали"
-
-#: lib/libalpm/alpm.c:790
-#, c-format
-msgid "could not remove lock file %s"
-msgstr "не могу удалить lock-файл %s"
-
-#: lib/libalpm/alpm.c:791
-#, c-format
-msgid "warning: could not remove lock file %s"
-msgstr "предупреждение: не могу удалить lock-файл %s"
-
-#: lib/libalpm/alpm.c:927
-#, c-format
-msgid "config: new section '%s'"
-msgstr "config: новая секция '%s'"
-
-#: lib/libalpm/alpm.c:957
-msgid "config: nopassiveftp"
-msgstr ""
-
-#: lib/libalpm/alpm.c:960
-msgid "config: usesyslog"
-msgstr ""
-
-#: lib/libalpm/alpm.c:963
-msgid "config: chomp"
-msgstr ""
-
-#: lib/libalpm/alpm.c:966
-msgid "config: usecolor"
-msgstr ""
-
-#: lib/libalpm/alpm.c:975
-#, c-format
-msgid "config: including %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:985 lib/libalpm/alpm.c:990
-#, c-format
-msgid "config: noupgrade: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:998 lib/libalpm/alpm.c:1003
-#, c-format
-msgid "config: noextract: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1011 lib/libalpm/alpm.c:1016
-#, c-format
-msgid "config: ignorepkg: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1024 lib/libalpm/alpm.c:1029
+#: lib/libalpm/be_files.c:83
#, c-format
-msgid "config: holdpkg: %s"
+msgid "%s: description file is missing"
msgstr ""
-#: lib/libalpm/alpm.c:1036
+#: lib/libalpm/be_files.c:88
#, c-format
-msgid "config: dbpath: %s"
+msgid "%s: dependency file is missing"
msgstr ""
-#: lib/libalpm/alpm.c:1043
+#: lib/libalpm/be_files.c:93
#, c-format
-msgid "config: cachedir: %s"
+msgid "%s: file list is missing"
msgstr ""
-#: lib/libalpm/alpm.c:1050
-#, fuzzy, c-format
-msgid "config: rootdir: %s"
-msgstr "config: новая секция '%s'"
-
-#: lib/libalpm/alpm.c:1053
-#, c-format
-msgid "config: logfile: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1056
-#, c-format
-msgid "config: xfercommand: %s"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1061
-#, c-format
-msgid "config: upgradedelay: %d"
-msgstr ""
-
-#: lib/libalpm/alpm.c:1099 lib/libalpm/sync.c:107
-msgid "checking for package replacements"
-msgstr "проверяю замены для пакетов"
-
-#: lib/libalpm/alpm.c:1110 lib/libalpm/sync.c:123
-#, c-format
-msgid "checking replacement '%s' for package '%s'"
-msgstr "проверяю замену '%s' для пакета '%s'"
-
-#: lib/libalpm/alpm.c:1113 lib/libalpm/sync.c:125
-#, c-format
-msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s: игнорирую обновление этого пакета (он будет заменен на %s-%s)"
-
-#: lib/libalpm/alpm.c:1143 lib/libalpm/sync.c:160
-#, c-format
-msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
-msgstr "%s-%s выбран для обновления (будет заменен на %s-%s)"
-
-#: lib/libalpm/alpm.c:1165 lib/libalpm/sync.c:194
-#, c-format
-msgid "'%s' not found in sync db -- skipping"
-msgstr "'%s' не найден в базе данных -- пропускаю"
-
-#: lib/libalpm/alpm.c:1179 lib/libalpm/sync.c:208 lib/libalpm/sync.c:509
-#, c-format
-msgid "'%s' is already elected for removal -- skipping"
-msgstr "'%s' уже выбран для удаления -- пропускаю"
-
-#: lib/libalpm/alpm.c:1185
-#, c-format
-msgid "%s elected for upgrade (%s => %s)"
-msgstr "%s выбран для обновления (%s => %s)"
-
-#: lib/libalpm/be_files.c:61
-#, c-format
-msgid "unpacking database '%s'"
-msgstr "распаковываю базу данных '%s'"
-
-#: lib/libalpm/be_files.c:78
-#, c-format
-msgid "opening database from path '%s'"
-msgstr "открываю базу данных расположенную в '%s'"
-
-#: lib/libalpm/be_files.c:182
-#, c-format
-msgid "db scan could not find package: %s"
-msgstr "в БД не удалось найти пакет: %s"
-
-#: lib/libalpm/be_files.c:186
+#: lib/libalpm/be_files.c:216
#, c-format
msgid "invalid name for database entry '%s'"
msgstr ""
-#: lib/libalpm/be_files.c:221
-msgid "invalid package entry provided to _alpm_db_read, skipping"
-msgstr ""
-
-#: lib/libalpm/be_files.c:226
-#, c-format
-msgid ""
-"request to read database info for a file-based package '%s', skipping..."
-msgstr ""
-
-#: lib/libalpm/be_files.c:239
+#: lib/libalpm/be_files.c:271
#, c-format
msgid "loading package data for %s : level=%d"
msgstr "загружаю данные пакета %s : уровень=%d"
-#: lib/libalpm/be_files.c:247
-#, c-format
-msgid "cannot find '%s-%s' in db '%s'"
-msgstr ""
-
-#: lib/libalpm/be_files.c:255 lib/libalpm/be_files.c:401
-#: lib/libalpm/be_files.c:424 lib/libalpm/be_files.c:515
-#: lib/libalpm/be_files.c:605 lib/libalpm/be_files.c:632
-#: lib/libalpm/package.c:208
+#: lib/libalpm/be_files.c:288 lib/libalpm/be_files.c:434
+#: lib/libalpm/be_files.c:457 lib/libalpm/be_files.c:549
+#: lib/libalpm/be_files.c:640 lib/libalpm/be_files.c:668
+#: lib/libalpm/package.c:419
#, c-format
msgid "could not open file %s: %s"
msgstr ""
-#: lib/libalpm/be_files.c:512
-#, c-format
-msgid "writing %s-%s DESC information back to db"
-msgstr ""
-
-#: lib/libalpm/be_files.c:602
-#, c-format
-msgid "writing %s-%s FILES information back to db"
-msgstr ""
-
-#: lib/libalpm/be_files.c:629
-#, c-format
-msgid "writing %s-%s DEPENDS information back to db"
-msgstr ""
-
-#: lib/libalpm/cache.c:59
-#, c-format
-msgid "loading package cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:64
+#: lib/libalpm/cache.c:63
#, c-format
msgid "adding '%s' to package cache for db '%s'"
msgstr ""
-#: lib/libalpm/cache.c:85
-#, c-format
-msgid "freeing package cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:109
-#, c-format
-msgid "error: pkgcache is NULL for db '%s'"
-msgstr ""
-
-#: lib/libalpm/cache.c:129
-#, c-format
-msgid "adding entry '%s' in '%s' cache"
-msgstr ""
-
-#: lib/libalpm/cache.c:149
-#, c-format
-msgid "removing entry '%s' from '%s' cache"
-msgstr ""
-
-#: lib/libalpm/cache.c:156
-#, c-format
-msgid "cannot remove entry '%s' from '%s' cache: not found"
-msgstr ""
-
-#: lib/libalpm/cache.c:178
+#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:80 lib/libalpm/deps.c:449
+#: lib/libalpm/deps.c:650 lib/libalpm/deps.c:690 lib/libalpm/group.c:44
+#: lib/libalpm/handle.c:50 lib/libalpm/package.c:297 lib/libalpm/sync.c:62
+#: lib/libalpm/sync.c:612 lib/libalpm/sync.c:628 lib/libalpm/trans.c:223
#, c-format
-msgid "error: failed to get '%s' from NULL pkgcache"
-msgstr ""
-
-#: lib/libalpm/cache.c:201
-#, c-format
-msgid "loading group cache for repository '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:69
-#, c-format
-msgid " found conflict '%s' : package '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:78
-#, c-format
-msgid " found conflict '%s' : package '%s' provides '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:101 lib/libalpm/conflict.c:143
-#, c-format
-msgid "package '%s' conflicts with itself - packaging error"
-msgstr ""
-
-#: lib/libalpm/conflict.c:107
-#, c-format
-msgid "checkconflicts: target '%s' vs db"
-msgstr ""
-
-#: lib/libalpm/conflict.c:149
-#, c-format
-msgid "checkconflicts: target '%s' vs all targets"
-msgstr ""
-
-#: lib/libalpm/conflict.c:181
-#, c-format
-msgid "checkconflicts: db vs target '%s'"
-msgstr ""
-
-#: lib/libalpm/conflict.c:201
-#, c-format
-msgid "target '%s' is also in target list, using NEW conflicts"
+msgid "malloc failure: could not allocate %d bytes"
msgstr ""
-#: lib/libalpm/conflict.c:257
+#: lib/libalpm/db.c:238
#, c-format
-msgid "\tCONFLICTS:: %s conflicts with %s"
-msgstr ""
+msgid "could not remove database entry %s%s"
+msgstr "не могу удалить из базы данных запись %s%s"
-#: lib/libalpm/conflict.c:349 lib/libalpm/deps.c:60 lib/libalpm/deps.c:438
-#: lib/libalpm/deps.c:634 lib/libalpm/deps.c:674 lib/libalpm/group.c:45
-#: lib/libalpm/handle.c:51 lib/libalpm/package.c:82 lib/libalpm/sync.c:67
-#: lib/libalpm/sync.c:614 lib/libalpm/sync.c:630 lib/libalpm/sync.c:727
-#: lib/libalpm/trans.c:55 lib/libalpm/util.c:614 lib/libalpm/util.c:621
+#: lib/libalpm/db.c:432 lib/libalpm/sync.c:128
#, c-format
-msgid "malloc failure: could not allocate %d bytes"
-msgstr ""
+msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
+msgstr "%s-%s: игнорирую обновление этого пакета (он будет заменен на %s-%s)"
-#: lib/libalpm/db.c:64 lib/libalpm/db.c:71
+#: lib/libalpm/db.c:553 lib/libalpm/db.c:560
#, c-format
msgid "malloc failed: could not allocate %d bytes"
msgstr ""
-#: lib/libalpm/db.c:167
+#: lib/libalpm/db.c:661
msgid "attempt to re-register the 'local' DB"
msgstr ""
-#: lib/libalpm/db.c:175
-#, c-format
-msgid "attempt to re-register the '%s' database, using existing"
-msgstr ""
-
-#: lib/libalpm/db.c:181
-#, c-format
-msgid "registering database '%s'"
-msgstr ""
-
-#: lib/libalpm/db.c:186
-#, c-format
-msgid "database directory '%s' does not exist, creating it"
-msgstr ""
-
-#: lib/libalpm/db.c:197
-#, c-format
-msgid "opening database '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:131
-msgid "started sorting dependencies"
-msgstr ""
-
-#: lib/libalpm/deps.c:136
-msgid "possible dependency cycle detected"
-msgstr ""
-
-#: lib/libalpm/deps.c:183
-msgid "sorting dependencies finished"
-msgstr ""
-
-#: lib/libalpm/deps.c:225 lib/libalpm/deps.c:310
-msgid "null package found in package list"
-msgstr ""
-
-#: lib/libalpm/deps.c:230
-#, c-format
-msgid "cannot find package installed '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:261
-#, c-format
-msgid "checkdeps: dependency '%s' has moved from '%s' to '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:280
-#, c-format
-msgid "checkdeps: dependency '%s' satisfied by installed package '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:289
-#, c-format
-msgid "checkdeps: updated '%s' won't satisfy a dependency of '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:359
-#, c-format
-msgid "missing dependency '%s' for package '%s'"
-msgstr ""
-
-#: lib/libalpm/deps.c:409
-#, c-format
-msgid "checkdeps: found %s as required by %s"
-msgstr ""
-
-#: lib/libalpm/deps.c:485
-#, c-format
-msgid "excluding %s -- explicitly installed"
-msgstr ""
-
-#: lib/libalpm/deps.c:532
-#, c-format
-msgid "cannot find package \"%s\" or anything that provides it!"
-msgstr ""
-
-#: lib/libalpm/deps.c:540 lib/libalpm/deps.c:551
-#, c-format
-msgid "adding '%s' to the targets"
-msgstr ""
-
-#: lib/libalpm/deps.c:583
-msgid "started resolving dependencies"
-msgstr ""
+#: lib/libalpm/db.c:680
+#, fuzzy
+msgid "database path is undefined"
+msgstr "база данных не инициализирована"
-#: lib/libalpm/deps.c:601
-#, c-format
-msgid "%s provides dependency %s -- skipping"
-msgstr ""
+#: lib/libalpm/deps.c:187
+#, fuzzy
+msgid "dependency cycle detected\n"
+msgstr "обнаружена циклическая зависимость: %s"
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:646
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
msgstr ""
-#: lib/libalpm/deps.c:647
-#, c-format
-msgid "dependency %s is already in the target list -- skipping"
-msgstr ""
-
-#: lib/libalpm/deps.c:667
-#, c-format
-msgid "pulling dependency %s (needed by %s)"
-msgstr ""
-
-#: lib/libalpm/deps.c:671
+#: lib/libalpm/deps.c:687
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "не удается удовлетворить зависимости для \"%s\""
-#: lib/libalpm/deps.c:687
-#, c-format
-msgid "dependency cycle detected: %s"
-msgstr "обнаружена циклическая зависимость: %s"
-
-#: lib/libalpm/deps.c:691
-msgid "finished resolving dependencies"
-msgstr ""
-
-#: lib/libalpm/error.c:40
+#: lib/libalpm/error.c:38
msgid "out of memory!"
msgstr ""
-#: lib/libalpm/error.c:42
+#: lib/libalpm/error.c:40
msgid "unexpected system error"
msgstr ""
-#: lib/libalpm/error.c:44
+#: lib/libalpm/error.c:42
msgid "insufficient privileges"
msgstr ""
-#: lib/libalpm/error.c:46
+#: lib/libalpm/error.c:44
msgid "could not find or read file"
msgstr ""
-#: lib/libalpm/error.c:48
+#: lib/libalpm/error.c:46
msgid "wrong or NULL argument passed"
msgstr ""
-#: lib/libalpm/error.c:51
+#: lib/libalpm/error.c:49
msgid "library not initialized"
msgstr ""
-#: lib/libalpm/error.c:53
+#: lib/libalpm/error.c:51
msgid "library already initialized"
msgstr ""
-#: lib/libalpm/error.c:55
+#: lib/libalpm/error.c:53
msgid "unable to lock database"
msgstr "не удается заблокировать базу данных"
-#: lib/libalpm/error.c:58
+#: lib/libalpm/error.c:56
msgid "could not open database"
msgstr "не удается открыть базу данных"
-#: lib/libalpm/error.c:60
+#: lib/libalpm/error.c:58
msgid "could not create database"
msgstr "не удается создать базу данных"
-#: lib/libalpm/error.c:62
+#: lib/libalpm/error.c:60
msgid "database not initialized"
msgstr "база данных не инициализирована"
-#: lib/libalpm/error.c:64
+#: lib/libalpm/error.c:62
msgid "database already registered"
msgstr "база данных уже зарегистрирована"
-#: lib/libalpm/error.c:66
+#: lib/libalpm/error.c:64
msgid "could not find database"
msgstr "не удается найти базу данных"
-#: lib/libalpm/error.c:68
+#: lib/libalpm/error.c:66
msgid "could not update database"
msgstr "не удается обновить базу данных"
-#: lib/libalpm/error.c:70
+#: lib/libalpm/error.c:68
msgid "could not remove database entry"
msgstr "не удается удалить запись в базе данных"
-#: lib/libalpm/error.c:73
+#: lib/libalpm/error.c:71
msgid "invalid url for server"
msgstr "неверный url"
-#: lib/libalpm/error.c:80
+#: lib/libalpm/error.c:78
msgid "could not set parameter"
msgstr "ну могу установить параметр"
-#: lib/libalpm/error.c:83
+#: lib/libalpm/error.c:81
msgid "transaction already initialized"
msgstr ""
-#: lib/libalpm/error.c:85 lib/libalpm/error.c:89
+#: lib/libalpm/error.c:83 lib/libalpm/error.c:87
msgid "transaction not initialized"
msgstr ""
-#: lib/libalpm/error.c:87
+#: lib/libalpm/error.c:85
msgid "duplicate target"
msgstr ""
-#: lib/libalpm/error.c:91
+#: lib/libalpm/error.c:89
msgid "transaction not prepared"
msgstr ""
-#: lib/libalpm/error.c:93
+#: lib/libalpm/error.c:91
msgid "transaction aborted"
msgstr ""
-#: lib/libalpm/error.c:95
+#: lib/libalpm/error.c:93
msgid "operation not compatible with the transaction type"
msgstr ""
-#: lib/libalpm/error.c:97 lib/libalpm/sync.c:994
+#: lib/libalpm/error.c:95 lib/libalpm/sync.c:985
msgid "could not commit transaction"
msgstr ""
-#: lib/libalpm/error.c:99
+#: lib/libalpm/error.c:97
msgid "could not download all files"
msgstr "не могу загрузить все файлы"
-#: lib/libalpm/error.c:102
+#: lib/libalpm/error.c:100
msgid "could not find or read package"
msgstr "не удается найти или прочитать пакет"
-#: lib/libalpm/error.c:104
+#: lib/libalpm/error.c:102
msgid "invalid or corrupted package"
msgstr "пакет неправильный или поврежден"
-#: lib/libalpm/error.c:106
+#: lib/libalpm/error.c:104
msgid "cannot open package file"
msgstr "не удается открыть файл пакета"
-#: lib/libalpm/error.c:108
+#: lib/libalpm/error.c:106
msgid "cannot load package data"
msgstr "не удается загрузить данные пакета"
-#: lib/libalpm/error.c:110
+#: lib/libalpm/error.c:108
msgid "package already installed"
msgstr "пакет уже установлен"
-#: lib/libalpm/error.c:112
+#: lib/libalpm/error.c:110
msgid "package not installed or lesser version"
msgstr ""
-#: lib/libalpm/error.c:114
+#: lib/libalpm/error.c:112
msgid "cannot remove all files for package"
msgstr "не могу удалить все файлы пакета"
-#: lib/libalpm/error.c:116
+#: lib/libalpm/error.c:114
msgid "package name is not valid"
msgstr "неверное имя пакета"
-#: lib/libalpm/error.c:118
+#: lib/libalpm/error.c:116
msgid "corrupted package"
msgstr "пакет поврежден"
-#: lib/libalpm/error.c:120
+#: lib/libalpm/error.c:118
msgid "no such repository"
msgstr "нет такого репозитория"
-#: lib/libalpm/error.c:123
+#: lib/libalpm/error.c:121
msgid "group not found"
msgstr "группа не найдена"
-#: lib/libalpm/error.c:126
+#: lib/libalpm/error.c:124
msgid "could not satisfy dependencies"
msgstr "не удается удовлетворить зависимости"
-#: lib/libalpm/error.c:128
+#: lib/libalpm/error.c:126
msgid "conflicting dependencies"
msgstr ""
-#: lib/libalpm/error.c:130
+#: lib/libalpm/error.c:128
msgid "conflicting files"
msgstr ""
-#: lib/libalpm/error.c:133
+#: lib/libalpm/error.c:131
msgid "user aborted the operation"
msgstr "пользователь прервал операцию"
-#: lib/libalpm/error.c:135
+#: lib/libalpm/error.c:133
msgid "internal error"
msgstr "внутренняя ошибка"
-#: lib/libalpm/error.c:137
+#: lib/libalpm/error.c:135
msgid "libarchive error"
msgstr "ошибка в libarchive"
-#: lib/libalpm/error.c:139
-msgid "not enough space on disk"
-msgstr "недостаточно места на диске"
-
-#: lib/libalpm/error.c:142
+#: lib/libalpm/error.c:138
msgid "not confirmed"
msgstr ""
-#: lib/libalpm/error.c:145
-msgid "bad configuration section name"
-msgstr "неверное название секции в конфигурационном файле"
-
-#: lib/libalpm/error.c:147
-msgid "'local' is reserved and cannot be used as a repository name"
-msgstr ""
-"название 'local' зарезервировано и не может использоваться как название "
-"репозитория"
-
-#: lib/libalpm/error.c:149
-msgid "syntax error in config file"
-msgstr "синтаксическая ошибка в конфигурационном файле"
-
-#: lib/libalpm/error.c:151
-msgid "all directives must belong to a section"
-msgstr "все директивы должны находиться в соответствующих секциях"
-
-#: lib/libalpm/error.c:153
+#: lib/libalpm/error.c:140
msgid "invalid regular expression"
msgstr "неверное регулярное выражение"
-#: lib/libalpm/error.c:156
+#: lib/libalpm/error.c:143
msgid "connection to remote host failed"
msgstr "не удалось подключиться к удаленному хосту"
-#: lib/libalpm/error.c:159
+#: lib/libalpm/error.c:146
msgid "unexpected error"
msgstr "непредвиденная ошибка"
-#: lib/libalpm/handle.c:163
+#: lib/libalpm/handle.c:140
#, c-format
msgid "cannot canonicalize specified root path '%s'"
msgstr ""
-#: lib/libalpm/handle.c:175
+#: lib/libalpm/md5driver.c:69
#, c-format
-msgid "option 'root' = %s"
+msgid "md5: %s can't be opened\n"
msgstr ""
-#: lib/libalpm/handle.c:195
+#: lib/libalpm/package.c:129
#, c-format
-msgid "option 'dbpath' = %s"
-msgstr ""
+msgid "could not get sha1sum for package %s-%s"
+msgstr "не могу получить контрольную сумму sha1sum для пакета %s-%s"
-#: lib/libalpm/handle.c:211
+#: lib/libalpm/package.c:138
#, c-format
-msgid "option 'cachedir' = %s"
-msgstr ""
+msgid "sha1sums do not match for package %s-%s"
+msgstr "контрольные суммы sha1sum для пакета %s-%s не совпали"
-#: lib/libalpm/md5driver.c:56
+#: lib/libalpm/package.c:180
#, c-format
-msgid "%s can't be opened\n"
-msgstr ""
+msgid "could not get md5sum for package %s-%s"
+msgstr "не могу получить контрольную сумму md5sum для пакета %s-%s"
-#: lib/libalpm/md5driver.c:74
+#: lib/libalpm/package.c:189
#, c-format
-msgid "md5(%s) = %s"
-msgstr ""
+msgid "md5sums do not match for package %s-%s"
+msgstr "контрольные суммы md5sum для пакета %s-%s не совпали"
-#: lib/libalpm/package.c:147
+#: lib/libalpm/package.c:360
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr ""
-#: lib/libalpm/package.c:158
+#: lib/libalpm/package.c:369
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: принудительно обновляю до версии %s"
-#: lib/libalpm/package.c:163
+#: lib/libalpm/package.c:374
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: установленная версия (%s) новее, чем в %s (%s)"
-#: lib/libalpm/package.c:171
+#: lib/libalpm/package.c:382
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr ""
-#: lib/libalpm/package.c:222 lib/libalpm/package.c:281
-#, c-format
-msgid "%s: syntax error in description file line %d"
-msgstr ""
-
-#: lib/libalpm/package.c:355
+#: lib/libalpm/package.c:564
msgid "could not parse the package description file"
msgstr ""
-#: lib/libalpm/package.c:359
+#: lib/libalpm/package.c:568
#, c-format
msgid "missing package name in %s"
msgstr ""
-#: lib/libalpm/package.c:363
+#: lib/libalpm/package.c:572
#, c-format
msgid "missing package version in %s"
msgstr ""
-#: lib/libalpm/package.c:398
+#: lib/libalpm/package.c:607
#, c-format
msgid "could not remove tempfile %s"
msgstr "не могу удалить временный файл %s"
-#: lib/libalpm/package.c:411 lib/libalpm/package.c:418
+#: lib/libalpm/package.c:623 lib/libalpm/package.c:630
#, c-format
msgid "error while reading package: %s"
msgstr "ошибка при чтении пакета: %s"
-#: lib/libalpm/package.c:424
+#: lib/libalpm/package.c:636
msgid "missing package metadata"
msgstr ""
-#: lib/libalpm/package.c:431
+#: lib/libalpm/package.c:643
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr "отсутствует список файлов пакета в %s, генерирую его"
-#: lib/libalpm/package.c:570
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "добавляю '%s' в поле requiredby для '%s'"
-
-#: lib/libalpm/package.c:584
-#, c-format
-msgid "adding '%s' in requiredby field for '%s' (provides: %s)"
-msgstr "добавляю '%s' в поле requiredby для '%s' (обеспечивает :%s)"
-
-#: lib/libalpm/remove.c:79
-#, c-format
-msgid "could not find %s in database"
-msgstr "не могу найти %s в базе данных"
-
-#: lib/libalpm/remove.c:93
-#, c-format
-msgid "adding %s in the targets list"
-msgstr ""
-
-#: lib/libalpm/remove.c:121
-#, c-format
-msgid "pulling %s in the targets list"
-msgstr ""
-
-#: lib/libalpm/remove.c:124
+#: lib/libalpm/remove.c:117
#, c-format
msgid "could not find %s in database -- skipping"
msgstr "не могу найти %s в базе данных -- пропускаю"
-#: lib/libalpm/remove.c:142
-msgid "finding removable dependencies"
-msgstr "ищу устранимые зависимости"
-
-#: lib/libalpm/remove.c:175
+#: lib/libalpm/remove.c:168
#, c-format
msgid "cannot remove file '%s': %s"
msgstr "не могу удалить файл '%s': %s"
-#: lib/libalpm/remove.c:213
-#, c-format
-msgid "Skipping removal of '%s' due to NoUpgrade"
-msgstr "Пакет '%s' не будет удален, так как он входит в список NoUpgrade"
-
-#: lib/libalpm/remove.c:220
-#, c-format
-msgid "file %s does not exist"
-msgstr "файл %s не существует"
-
-#: lib/libalpm/remove.c:227
-#, c-format
-msgid "keeping directory %s"
-msgstr "сохраняю директорию %s"
-
-#: lib/libalpm/remove.c:229
-#, c-format
-msgid "removing directory %s"
-msgstr "удаляю директорию %s"
-
-#: lib/libalpm/remove.c:236
-#, c-format
-msgid "%s is in trans->skip_remove, skipping removal"
-msgstr ""
-
-#: lib/libalpm/remove.c:250
-#, c-format
-msgid "transaction is set to NOSAVE, not backing up '%s'"
-msgstr ""
-
-#: lib/libalpm/remove.c:254
-#, c-format
-msgid "unlinking %s"
-msgstr ""
-
-#: lib/libalpm/remove.c:261
+#: lib/libalpm/remove.c:255
#, c-format
msgid "cannot remove file %s: %s"
msgstr "не могу удалить файл %s: %s"
-#: lib/libalpm/remove.c:294
-#, c-format
-msgid "removing package %s-%s"
-msgstr "удаляю пакет %s-%s"
-
-#: lib/libalpm/remove.c:309
-#, c-format
-msgid "not removing package '%s', can't remove all files"
-msgstr "пакет '%s' не удален, так как не удается удалить все файлы"
-
-#: lib/libalpm/remove.c:316
-#, c-format
-msgid "removing %d files"
-msgstr "удаляю %d файлов"
-
-#: lib/libalpm/remove.c:342
-#, c-format
-msgid "removing database entry '%s'"
-msgstr "удаляю запись '%s' в базе данных"
-
-#: lib/libalpm/remove.c:344
+#: lib/libalpm/remove.c:338
#, c-format
msgid "could not remove database entry %s-%s"
msgstr ""
-#: lib/libalpm/remove.c:349
+#: lib/libalpm/remove.c:343
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr ""
-#: lib/libalpm/sha1.c:397
+#: lib/libalpm/sha1.c:409
#, c-format
msgid "sha1: %s can't be opened\n"
msgstr ""
-#: lib/libalpm/sha1.c:412
-#, c-format
-msgid "sha1(%s) = %s"
-msgstr ""
-
-#: lib/libalpm/sync.c:183
-msgid "checking for package upgrades"
-msgstr "проверяю наличие обновлений"
-
-#: lib/libalpm/sync.c:215
-#, c-format
-msgid "%s-%s elected for upgrade (%s => %s)"
-msgstr "%s-%s выбран для обновления (%s => %s)"
-
-#: lib/libalpm/sync.c:270
-#, c-format
-msgid "searching for target in repo '%s'"
-msgstr ""
-
-#: lib/libalpm/sync.c:278 lib/libalpm/sync.c:301
-#, c-format
-msgid "target '%s' not found -- looking for provisions"
-msgstr ""
-
-#: lib/libalpm/sync.c:283 lib/libalpm/sync.c:306
-#, c-format
-msgid "found '%s' as a provision for '%s'"
-msgstr ""
-
-#: lib/libalpm/sync.c:290
+#: lib/libalpm/sync.c:294
#, c-format
msgid "repository '%s' not found"
msgstr "репозиторий '%s' не найден"
-#: lib/libalpm/sync.c:331
+#: lib/libalpm/sync.c:335
#, c-format
msgid "%s-%s is up to date -- skipping"
msgstr "%s-%s не устарел -- пропускаю"
-#: lib/libalpm/sync.c:354
-#, c-format
-msgid "adding target '%s' to the transaction set"
-msgstr ""
-
-#: lib/libalpm/sync.c:402
-msgid "resolving target's dependencies"
-msgstr "разрешаю зависимости пакетов"
-
-#: lib/libalpm/sync.c:422
-#, c-format
-msgid "adding package %s-%s to the transaction targets"
-msgstr ""
-
-#: lib/libalpm/sync.c:463
-msgid "looking for unresolvable dependencies"
-msgstr "ищу неразрешимые зависимости"
-
-#: lib/libalpm/sync.c:494
-#, c-format
-msgid "package '%s' conflicts with '%s'"
-msgstr "пакет '%s' конфликтует с '%s'"
-
-#: lib/libalpm/sync.c:516
-#, c-format
-msgid "'%s' not found in transaction set -- skipping"
-msgstr ""
-
-#: lib/libalpm/sync.c:527
-#, c-format
-msgid "package '%s' provides its own conflict"
-msgstr ""
-
-#: lib/libalpm/sync.c:550 lib/libalpm/sync.c:555
-#, c-format
-msgid "'%s' is in the target list -- keeping it"
-msgstr ""
-
-#: lib/libalpm/sync.c:567 lib/libalpm/sync.c:604
-#, c-format
-msgid "removing '%s' from target list"
-msgstr ""
-
-#: lib/libalpm/sync.c:576
-#, c-format
-msgid "resolving package '%s' conflict"
-msgstr "разрешаю конфликт пакета '%s'"
-
-#: lib/libalpm/sync.c:599
-#, c-format
-msgid "electing '%s' for removal"
-msgstr "помечаю '%s' для удаления"
-
-#: lib/libalpm/sync.c:610 lib/libalpm/sync.c:626
+#: lib/libalpm/sync.c:608 lib/libalpm/sync.c:624
msgid "unresolvable package conflicts detected"
msgstr "обнаружен неразрешимый конфликт пакетов"
-#: lib/libalpm/sync.c:678
-msgid "checking dependencies of packages designated for removal"
-msgstr "проверяю зависимости пакетов отмеченных для удаления"
-
-#: lib/libalpm/sync.c:692
-msgid "something has gone horribly wrong"
-msgstr "произошло что-то ужасное и непонятное"
-
-#: lib/libalpm/sync.c:712
-#, c-format
-msgid "found '%s' as a provision for '%s' -- conflict aborted"
-msgstr ""
-
-#: lib/libalpm/sync.c:808
-#, c-format
-msgid "%s is already in the cache\n"
-msgstr "%s уже есть в кэше\n"
-
-#: lib/libalpm/sync.c:819
+#: lib/libalpm/sync.c:778
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "кэш %s не существует, создаю...\n"
-#: lib/libalpm/sync.c:820
-#, c-format
-msgid "warning: no %s cache exists, creating..."
-msgstr "предупреждение: кэш %s не существует, создаю..."
-
-#: lib/libalpm/sync.c:825
-msgid "couldn't create package cache, using /tmp instead\n"
+#: lib/libalpm/sync.c:804
+#, fuzzy
+msgid "couldn't create package cache, using /tmp instead"
msgstr "не могу создать кэш пакета, будет использован /tmp\n"
-#: lib/libalpm/sync.c:826
-msgid "warning: couldn't create package cache, using /tmp instead"
-msgstr "предупреждение: не могу создать кэш пакета, будет использован /tmp"
-
-#: lib/libalpm/sync.c:833
+#: lib/libalpm/sync.c:808
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr "не удалось получить некоторые файлы с %s\n"
-#: lib/libalpm/sync.c:863 lib/libalpm/sync.c:875
+#: lib/libalpm/sync.c:839 lib/libalpm/sync.c:861
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr "не удалось получить md5 или sha1 контрольную сумму для пакета %s\n"
-#: lib/libalpm/sync.c:894
+#: lib/libalpm/sync.c:878
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "архив %s был поврежден (не сходится MD5 или SHA1 контрольная сумма)\n"
-#: lib/libalpm/sync.c:896
+#: lib/libalpm/sync.c:880
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr "архив %s поврежден (не сходится MD5 или SHA1 контрольная сумма)\n"
-#: lib/libalpm/sync.c:917
+#: lib/libalpm/sync.c:901
msgid "could not create removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:923
+#: lib/libalpm/sync.c:907
msgid "could not initialize the removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:943
-msgid "removing conflicting and to-be-replaced packages"
-msgstr ""
-
-#: lib/libalpm/sync.c:945
+#: lib/libalpm/sync.c:929
msgid "could not prepare removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:951
+#: lib/libalpm/sync.c:935
msgid "could not commit removal transaction"
msgstr ""
-#: lib/libalpm/sync.c:958
-msgid "installing packages"
-msgstr "устанавливаю пакеты"
-
-#: lib/libalpm/sync.c:961
+#: lib/libalpm/sync.c:946
msgid "could not create transaction"
msgstr ""
-#: lib/libalpm/sync.c:966
+#: lib/libalpm/sync.c:951
msgid "could not initialize transaction"
msgstr ""
-#: lib/libalpm/sync.c:989
+#: lib/libalpm/sync.c:980
msgid "could not prepare transaction"
msgstr ""
-#: lib/libalpm/sync.c:1001
-msgid "updating database for replaced packages' dependencies"
-msgstr ""
-
-#: lib/libalpm/sync.c:1030
+#: lib/libalpm/sync.c:1022
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr ""
-#: lib/libalpm/sync.c:1039
+#: lib/libalpm/sync.c:1031
#, c-format
msgid "could not update new database entry %s-%s"
msgstr ""
-#: lib/libalpm/sync.c:1079
+#: lib/libalpm/trans.c:205
#, c-format
-msgid "found package '%s-%s' in sync"
-msgstr ""
-
-#: lib/libalpm/sync.c:1085
-#, c-format
-msgid "package '%s' not found in sync"
-msgstr "пакет '%s' не найден в базе данных"
-
-#: lib/libalpm/trans.c:271
-#, c-format
-msgid "updating dependency packages 'requiredby' fields for %s-%s"
-msgstr ""
-
-#: lib/libalpm/trans.c:274
-msgid "package has no dependencies, no other packages to update"
-msgstr ""
-
-#: lib/libalpm/trans.c:311 lib/libalpm/trans.c:341
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr ""
+msgid "could not remove lock file %s"
+msgstr "не могу удалить lock-файл %s"
-#: lib/libalpm/trans.c:326 lib/libalpm/trans.c:356
+#: lib/libalpm/trans.c:498 lib/libalpm/trans.c:528
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr ""
-#: lib/libalpm/trans.c:333
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr ""
-
-#: lib/libalpm/util.c:142
-#, c-format
-msgid "failed to make path '%s' : %s"
-msgstr ""
-
-#: lib/libalpm/util.c:280
-#, c-format
-msgid "could not open %s: %s\n"
-msgstr ""
-
-#: lib/libalpm/util.c:293
-#, c-format
-msgid "could not extract %s: %s\n"
-msgstr ""
-
-#: lib/libalpm/util.c:350
-#, c-format
-msgid "logaction called: %s"
-msgstr ""
-
-#: lib/libalpm/util.c:445
+#: lib/libalpm/trans.c:589
msgid "could not create temp directory"
msgstr ""
-#: lib/libalpm/util.c:472
+#: lib/libalpm/trans.c:616
#, c-format
msgid "could not change directory to %s (%s)"
msgstr ""
-#: lib/libalpm/util.c:476
-#, c-format
-msgid "executing %s script..."
-msgstr ""
-
-#: lib/libalpm/util.c:489
+#: lib/libalpm/trans.c:633
#, c-format
msgid "could not fork a new process (%s)"
msgstr ""
-#: lib/libalpm/util.c:496
-#, c-format
-msgid "chrooting in %s"
-msgstr ""
-
-#: lib/libalpm/util.c:498
+#: lib/libalpm/trans.c:641
#, c-format
msgid "could not change the root directory (%s)"
msgstr ""
-#: lib/libalpm/util.c:502
+#: lib/libalpm/trans.c:645
#, c-format
msgid "could not change directory to / (%s)"
msgstr ""
-#: lib/libalpm/util.c:506
-#, c-format
-msgid "executing \"%s\""
-msgstr ""
-
-#: lib/libalpm/util.c:509
-#, c-format
-msgid "call to popen failed (%s)"
-msgstr ""
-
-#: lib/libalpm/util.c:541
+#: lib/libalpm/trans.c:654
#, c-format
msgid "call to waitpid failed (%s)"
msgstr ""
-#: lib/libalpm/util.c:550
+#: lib/libalpm/trans.c:663
#, c-format
msgid "could not remove tmpdir %s"
msgstr ""
-#: lib/libalpm/util.c:568
+#: lib/libalpm/util.c:127
#, c-format
-msgid "cannot read disk space information from %s: %s"
+msgid "failed to make path '%s' : %s"
msgstr ""
-#: lib/libalpm/util.c:609
+#: lib/libalpm/util.c:325
#, c-format
-msgid "check_freespace: total pkg size: %lld, disk space: %lld"
+msgid "could not open %s: %s\n"
msgstr ""
-#: lib/libalpm/versioncmp.c:279
-#, c-format
-msgid "depcmp: %s-%s %s %s-%s => %s"
-msgstr ""
+#: lib/libalpm/util.c:346
+#, fuzzy, c-format
+msgid "could not extract %s (%s)\n"
+msgstr "не могу извлечь %s (%s)"
-#: lib/libalpm/versioncmp.c:284
-#, c-format
-msgid "depcmp: %s-%s %s %s => %s"
-msgstr ""
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 1a0b2d5e..fb5ddb92 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -32,6 +32,7 @@
#include <string.h>
#include <limits.h>
#include <unistd.h>
+#include <sys/stat.h>
/* libalpm */
#include "remove.h"
@@ -39,9 +40,6 @@
#include "trans.h"
#include "util.h"
#include "error.h"
-#include "versioncmp.h"
-#include "md5.h"
-#include "sha1.h"
#include "log.h"
#include "backup.h"
#include "package.h"
@@ -68,7 +66,7 @@ int _alpm_remove_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
if((info = _alpm_db_scan(db, name)) == NULL) {
/* Unimportant - just ignore it if we can't find it */
- _alpm_log(PM_LOG_DEBUG, _("could not find %s in database"), name);
+ _alpm_log(PM_LOG_DEBUG, "could not find %s in database\n", name);
RET_ERR(PM_ERR_PKG_NOT_FOUND, -1);
}
@@ -82,7 +80,7 @@ int _alpm_remove_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
}
}
- _alpm_log(PM_LOG_DEBUG, _("adding %s in the targets list"), info->name);
+ _alpm_log(PM_LOG_DEBUG, "adding %s in the targets list\n", info->name);
trans->packages = alpm_list_add(trans->packages, info);
return(0);
@@ -97,10 +95,15 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
- if(!(trans->flags & (PM_TRANS_FLAG_NODEPS)) && (trans->type != PM_TRANS_TYPE_UPGRADE)) {
- EVENT(trans, PM_TRANS_EVT_CHECKDEPS_START, NULL, NULL);
+ /* skip all checks if we are doing this removal as part of an upgrade */
+ if(trans->type == PM_TRANS_TYPE_REMOVEUPGRADE) {
+ return(0);
+ }
+
+ EVENT(trans, PM_TRANS_EVT_CHECKDEPS_START, NULL, NULL);
- _alpm_log(PM_LOG_DEBUG, _("looking for unsatisfied dependencies"));
+ if(!(trans->flags & PM_TRANS_FLAG_NODEPS)) {
+ _alpm_log(PM_LOG_DEBUG, "looking for unsatisfied dependencies\n");
lp = _alpm_checkdeps(db, trans->type, trans->packages);
if(lp != NULL) {
if(trans->flags & PM_TRANS_FLAG_CASCADE) {
@@ -110,10 +113,13 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
pmdepmissing_t *miss = (pmdepmissing_t *)i->data;
pmpkg_t *info = _alpm_db_scan(db, miss->target);
if(info) {
- _alpm_log(PM_LOG_DEBUG, _("pulling %s in the targets list"), alpm_pkg_get_name(info));
- trans->packages = alpm_list_add(trans->packages, info);
+ if(!_alpm_pkg_find(alpm_pkg_get_name(info), trans->packages)) {
+ _alpm_log(PM_LOG_DEBUG, "pulling %s in the targets list\n",
+ alpm_pkg_get_name(info));
+ trans->packages = alpm_list_add(trans->packages, info);
+ }
} else {
- _alpm_log(PM_LOG_ERROR, _("could not find %s in database -- skipping"),
+ _alpm_log(PM_LOG_ERROR, _("could not find %s in database -- skipping\n"),
miss->depend.name);
}
}
@@ -129,21 +135,21 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
RET_ERR(PM_ERR_UNSATISFIED_DEPS, -1);
}
}
+ }
- if(trans->flags & PM_TRANS_FLAG_RECURSE) {
- _alpm_log(PM_LOG_DEBUG, _("finding removable dependencies"));
- trans->packages = _alpm_removedeps(db, trans->packages);
- }
+ if(trans->flags & PM_TRANS_FLAG_RECURSE) {
+ _alpm_log(PM_LOG_DEBUG, "finding removable dependencies\n");
+ _alpm_recursedeps(db, &trans->packages, 0);
+ }
- /* re-order w.r.t. dependencies */
- _alpm_log(PM_LOG_DEBUG, _("sorting by dependencies"));
- lp = _alpm_sortbydeps(trans->packages, PM_TRANS_TYPE_REMOVE);
- /* free the old alltargs */
- alpm_list_free(trans->packages);
- trans->packages = lp;
+ /* re-order w.r.t. dependencies */
+ _alpm_log(PM_LOG_DEBUG, "sorting by dependencies\n");
+ lp = _alpm_sortbydeps(trans->packages, PM_TRANS_TYPE_REMOVE);
+ /* free the old alltargs */
+ alpm_list_free(trans->packages);
+ trans->packages = lp;
- EVENT(trans, PM_TRANS_EVT_CHECKDEPS_DONE, NULL, NULL);
- }
+ EVENT(trans, PM_TRANS_EVT_CHECKDEPS_DONE, NULL, NULL);
return(0);
}
@@ -161,10 +167,10 @@ static int can_remove_file(pmtrans_t *trans, const char *path)
/* If we fail write permissions due to a read-only filesystem, abort.
* Assume all other possible failures are covered somewhere else */
if(access(file, W_OK) == -1) {
- if(errno != EACCES && access(file, F_OK) == 0) {
+ if(errno != EACCES && errno != ETXTBSY && access(file, F_OK) == 0) {
/* only return failure if the file ACTUALLY exists and we can't write to
* it - ignore "chmod -w" simple permission failures */
- _alpm_log(PM_LOG_ERROR, _("cannot remove file '%s': %s"),
+ _alpm_log(PM_LOG_ERROR, _("cannot remove file '%s': %s\n"),
file, strerror(errno));
return(0);
}
@@ -201,57 +207,57 @@ static void unlink_file(pmpkg_t *info, alpm_list_t *lp, alpm_list_t *targ,
snprintf(file, PATH_MAX, "%s%s", handle->root, (char *)lp->data);
- if(trans->type == PM_TRANS_TYPE_UPGRADE) {
+ if(trans->type == PM_TRANS_TYPE_REMOVEUPGRADE) {
/* check noupgrade */
if(alpm_list_find_str(handle->noupgrade, lp->data)) {
- _alpm_log(PM_LOG_DEBUG, _("Skipping removal of '%s' due to NoUpgrade"), file);
+ _alpm_log(PM_LOG_DEBUG, "Skipping removal of '%s' due to NoUpgrade\n", file);
return;
}
}
if(lstat(file, &buf)) {
- _alpm_log(PM_LOG_DEBUG, _("file %s does not exist"), file);
+ _alpm_log(PM_LOG_DEBUG, "file %s does not exist\n", file);
return;
}
if(S_ISDIR(buf.st_mode)) {
if(rmdir(file)) {
/* this is okay, other pakcages are probably using it (like /usr) */
- _alpm_log(PM_LOG_DEBUG, _("keeping directory %s"), file);
+ _alpm_log(PM_LOG_DEBUG, "keeping directory %s\n", file);
} else {
- _alpm_log(PM_LOG_DEBUG, _("removing directory %s"), file);
+ _alpm_log(PM_LOG_DEBUG, "removing directory %s\n", file);
}
} else {
/* check the remove skip list before removing the file.
* see the big comment block in db_find_conflicts() for an
* explanation. */
if(alpm_list_find_str(trans->skip_remove, file)) {
- _alpm_log(PM_LOG_DEBUG, _("%s is in trans->skip_remove, skipping removal"), file);
+ _alpm_log(PM_LOG_DEBUG, "%s is in trans->skip_remove, skipping removal\n", file);
return;
} else if(needbackup) {
/* if the file is flagged, back it up to .pacsave */
- if(!(trans->type == PM_TRANS_TYPE_UPGRADE)) {
+ if(!(trans->type == PM_TRANS_TYPE_REMOVEUPGRADE)) {
/* if it was an upgrade, the file would be left alone because
* pacman_add() would handle it */
if(!(trans->flags & PM_TRANS_FLAG_NOSAVE)) {
char newpath[PATH_MAX];
snprintf(newpath, PATH_MAX, "%s.pacsave", file);
rename(file, newpath);
- _alpm_log(PM_LOG_WARNING, _("%s saved as %s"), file, newpath);
+ _alpm_log(PM_LOG_WARNING, _("%s saved as %s\n"), file, newpath);
return;
} else {
- _alpm_log(PM_LOG_DEBUG, _("transaction is set to NOSAVE, not backing up '%s'"), file);
+ _alpm_log(PM_LOG_DEBUG, "transaction is set to NOSAVE, not backing up '%s'\n", file);
}
}
}
- _alpm_log(PM_LOG_DEBUG, _("unlinking %s"), file);
+ _alpm_log(PM_LOG_DEBUG, "unlinking %s\n", file);
int list_count = alpm_list_count(trans->packages); /* this way we don't have to call alpm_list_count twice during PROGRESS */
PROGRESS(trans, PM_TRANS_PROGRESS_REMOVE_START, info->name, (double)(percent * 100), list_count, (list_count - alpm_list_count(targ) + 1));
++(*position);
if(unlink(file) == -1) {
- _alpm_log(PM_LOG_ERROR, _("cannot remove file %s: %s"), lp->data, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("cannot remove file %s: %s\n"), lp->data, strerror(errno));
}
}
}
@@ -274,7 +280,7 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
const char *pkgname = NULL;
if(handle->trans->state == STATE_INTERRUPTED) {
- break;
+ return(0);
}
/* get the name now so we can use it after package is removed */
@@ -282,15 +288,15 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
snprintf(scriptlet, PATH_MAX, "%s%s-%s/install", db->path,
pkgname, alpm_pkg_get_version(info));
- if(trans->type != PM_TRANS_TYPE_UPGRADE) {
+ if(trans->type != PM_TRANS_TYPE_REMOVEUPGRADE) {
EVENT(trans, PM_TRANS_EVT_REMOVE_START, info, NULL);
- _alpm_log(PM_LOG_DEBUG, _("removing package %s-%s"),
+ _alpm_log(PM_LOG_DEBUG, "removing package %s-%s\n",
pkgname, alpm_pkg_get_version(info));
/* run the pre-remove scriptlet if it exists */
if(alpm_pkg_has_scriptlet(info) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
_alpm_runscriptlet(handle->root, scriptlet, "pre_remove",
- alpm_pkg_get_version(info), NULL, trans);
+ alpm_pkg_get_version(info), NULL);
}
}
@@ -299,14 +305,14 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
for(lp = files; lp; lp = lp->next) {
if(!can_remove_file(trans, lp->data)) {
- _alpm_log(PM_LOG_DEBUG, _("not removing package '%s', can't remove all files"),
+ _alpm_log(PM_LOG_DEBUG, "not removing package '%s', can't remove all files\n",
pkgname);
RET_ERR(PM_ERR_PKG_CANT_REMOVE, -1);
}
}
int filenum = alpm_list_count(files);
- _alpm_log(PM_LOG_DEBUG, _("removing %d files"), filenum);
+ _alpm_log(PM_LOG_DEBUG, "removing %d files\n", filenum);
/* iterate through the list backwards, unlinking files */
for(lp = alpm_list_last(files); lp; lp = lp->prev) {
@@ -319,11 +325,11 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
alpm_list_count(trans->packages),
(alpm_list_count(trans->packages) - alpm_list_count(targ) +1));
- if(trans->type != PM_TRANS_TYPE_UPGRADE) {
+ if(trans->type != PM_TRANS_TYPE_REMOVEUPGRADE) {
/* run the post-remove script if it exists */
if(alpm_pkg_has_scriptlet(info) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
_alpm_runscriptlet(handle->root, scriptlet, "post_remove",
- alpm_pkg_get_version(info), NULL, trans);
+ alpm_pkg_get_version(info), NULL);
}
}
@@ -331,15 +337,15 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
infodup = _alpm_pkg_dup(info);
/* remove the package from the database */
- _alpm_log(PM_LOG_DEBUG, _("updating database"));
- _alpm_log(PM_LOG_DEBUG, _("removing database entry '%s'"), pkgname);
+ _alpm_log(PM_LOG_DEBUG, "updating database\n");
+ _alpm_log(PM_LOG_DEBUG, "removing database entry '%s'\n", pkgname);
if(_alpm_db_remove(db, info) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not remove database entry %s-%s"),
+ _alpm_log(PM_LOG_ERROR, _("could not remove database entry %s-%s\n"),
pkgname, alpm_pkg_get_version(info));
}
/* remove the package from the cache */
if(_alpm_db_remove_pkgfromcache(db, info) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not remove entry '%s' from cache"),
+ _alpm_log(PM_LOG_ERROR, _("could not remove entry '%s' from cache\n"),
pkgname);
}
@@ -348,14 +354,14 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
_alpm_pkg_free(infodup);
/* call a done event if this isn't an upgrade */
- if(trans->type != PM_TRANS_TYPE_UPGRADE) {
+ if(trans->type != PM_TRANS_TYPE_REMOVEUPGRADE) {
EVENT(trans, PM_TRANS_EVT_REMOVE_DONE, info, NULL);
}
}
/* run ldconfig if it exists */
- if((trans->type != PM_TRANS_TYPE_UPGRADE) && (handle->trans->state != STATE_INTERRUPTED)) {
- _alpm_log(PM_LOG_DEBUG, _("running \"ldconfig -r %s\""), handle->root);
+ if(trans->type != PM_TRANS_TYPE_REMOVEUPGRADE) {
+ _alpm_log(PM_LOG_DEBUG, "running \"ldconfig -r %s\"\n", handle->root);
_alpm_ldconfig(handle->root);
}
diff --git a/lib/libalpm/server.c b/lib/libalpm/server.c
index 5b41a808..5fdc41a6 100644
--- a/lib/libalpm/server.c
+++ b/lib/libalpm/server.c
@@ -41,20 +41,6 @@
#include "handle.h"
#include "package.h"
-/** Fetch a remote pkg.
- * @param url
- * @return the downloaded filename on success, NULL on error
- * @addtogroup alpm_misc
- */
-char SYMEXPORT *alpm_fetch_pkgurl(const char *url)
-{
- ALPM_LOG_FUNC;
-
- ASSERT(strstr(url, "://"), return(NULL));
-
- return(_alpm_fetch_pkgurl(url));
-}
-
pmserver_t *_alpm_server_new(const char *url)
{
struct url *u;
@@ -64,18 +50,18 @@ pmserver_t *_alpm_server_new(const char *url)
server = malloc(sizeof(pmserver_t));
if(server == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmserver_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmserver_t));
RET_ERR(PM_ERR_MEMORY, NULL);
}
memset(server, 0, sizeof(pmserver_t));
u = downloadParseURL(url);
if(!u) {
- _alpm_log(PM_LOG_ERROR, _("url '%s' is invalid, ignoring"), url);
+ _alpm_log(PM_LOG_ERROR, _("url '%s' is invalid, ignoring\n"), url);
RET_ERR(PM_ERR_SERVER_BAD_URL, NULL);
}
if(strlen(u->scheme) == 0) {
- _alpm_log(PM_LOG_WARNING, _("url scheme not specified, assuming http"));
+ _alpm_log(PM_LOG_WARNING, _("url scheme not specified, assuming http\n"));
strcpy(u->scheme, "http");
}
@@ -117,7 +103,8 @@ static char *strip_filename(pmserver_t *server)
p = strrchr(server->s_url->doc, '/');
if(p && *(++p)) {
fname = strdup(p);
- _alpm_log(PM_LOG_DEBUG, _("stripping '%s' from '%s'"), fname, server->s_url->doc);
+ _alpm_log(PM_LOG_DEBUG, "stripping '%s' from '%s'\n",
+ fname, server->s_url->doc);
*p = 0;
}
@@ -146,7 +133,7 @@ static struct url *url_for_file(pmserver_t *server, const char *filename)
doc,
server->s_url->user,
server->s_url->pwd);
- free(doc);
+ FREE(doc);
return(ret);
}
@@ -156,9 +143,9 @@ static struct url *url_for_file(pmserver_t *server, const char *filename)
*
* RETURN: 0 for successful download, 1 on error
*/
-int _alpm_downloadfiles(alpm_list_t *servers, const char *localpath, alpm_list_t *files)
+int _alpm_downloadfiles(alpm_list_t *servers, const char *localpath,
+ alpm_list_t *files)
{
- ALPM_LOG_FUNC;
return(_alpm_downloadfiles_forreal(servers, localpath, files, NULL, NULL));
}
@@ -216,7 +203,7 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
/* just use the raw filename if we can't find crap */
strncpy(pkgname, fn, PKG_NAME_LEN);
}
- _alpm_log(PM_LOG_DEBUG, _("using '%s' for download progress"), pkgname);
+ _alpm_log(PM_LOG_DEBUG, "using '%s' for download progress\n", pkgname);
snprintf(realfile, PATH_MAX, "%s%s", localpath, fn);
snprintf(output, PATH_MAX, "%s%s.part", localpath, fn);
@@ -232,7 +219,7 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
int chk_resume = 0;
if(stat(output, &st) == 0 && st.st_size > 0) {
- _alpm_log(PM_LOG_DEBUG, _("existing file found, using it"));
+ _alpm_log(PM_LOG_DEBUG, "existing file found, using it\n");
fileurl->offset = (off_t)st.st_size;
dltotal_bytes = st.st_size;
localf = fopen(output, "a");
@@ -251,22 +238,23 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
dlf = downloadXGet(fileurl, &ust, (handle->nopassiveftp ? "" : "p"));
if(downloadLastErrCode != 0 || dlf == NULL) {
- _alpm_log(PM_LOG_ERROR, _("failed retrieving file '%s' from %s : %s"),
+ _alpm_log(PM_LOG_ERROR, _("failed retrieving file '%s' from %s : %s\n"),
fn, fileurl->host, downloadLastErrString);
if(localf != NULL) {
fclose(localf);
}
/* try the next server */
+ downloadFreeURL(fileurl);
continue;
} else {
- _alpm_log(PM_LOG_DEBUG, _("connected to %s successfully"), fileurl->host);
+ _alpm_log(PM_LOG_DEBUG, "connected to %s successfully\n", fileurl->host);
}
if(ust.mtime && mtime1) {
char strtime[15];
_alpm_time2string(ust.mtime, strtime);
if(strcmp(mtime1, strtime) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("mtimes are identical, skipping %s"), fn);
+ _alpm_log(PM_LOG_DEBUG, "mtimes are identical, skipping %s\n", fn);
complete = alpm_list_add(complete, fn);
if(localf != NULL) {
fclose(localf);
@@ -274,6 +262,7 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
if(dlf != NULL) {
fclose(dlf);
}
+ downloadFreeURL(fileurl);
return(1);
}
}
@@ -283,7 +272,7 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
}
if(chk_resume && fileurl->offset == 0) {
- _alpm_log(PM_LOG_WARNING, _("cannot resume download, starting over"));
+ _alpm_log(PM_LOG_WARNING, _("cannot resume download, starting over\n"));
if(localf != NULL) {
fclose(localf);
localf = NULL;
@@ -296,11 +285,12 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
dltotal_bytes = 0;
localf = fopen(output, "w");
if(localf == NULL) { /* still null? */
- _alpm_log(PM_LOG_ERROR, _("cannot write to file '%s'"), output);
+ _alpm_log(PM_LOG_ERROR, _("cannot write to file '%s'\n"), output);
if(dlf != NULL) {
fclose(dlf);
}
- return -1;
+ downloadFreeURL(fileurl);
+ return(-1);
}
}
@@ -311,10 +301,11 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
char buffer[PM_DLBUF_LEN];
while((nread = fread(buffer, 1, PM_DLBUF_LEN, dlf)) > 0) {
if(ferror(dlf)) {
- _alpm_log(PM_LOG_ERROR, _("error downloading '%s': %s"),
+ _alpm_log(PM_LOG_ERROR, _("error downloading '%s': %s\n"),
fn, downloadLastErrString);
fclose(localf);
fclose(dlf);
+ downloadFreeURL(fileurl);
return(-1);
}
@@ -322,10 +313,11 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
while(nwritten < nread) {
nwritten += fwrite(buffer, 1, (nread - nwritten), localf);
if(ferror(localf)) {
- _alpm_log(PM_LOG_ERROR, _("error writing to file '%s': %s"),
+ _alpm_log(PM_LOG_ERROR, _("error writing to file '%s': %s\n"),
realfile, strerror(errno));
fclose(localf);
fclose(dlf);
+ downloadFreeURL(fileurl);
return(-1);
}
}
@@ -337,7 +329,7 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
if(handle->dlcb) handle->dlcb(pkgname, dltotal_bytes, ust.size);
}
-
+ downloadFreeURL(fileurl);
fclose(localf);
fclose(dlf);
rename(output, realfile);
@@ -352,7 +344,10 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
char cwd[PATH_MAX];
/* build the full download url */
- snprintf(url, PATH_MAX, "%s://%s%s", fileurl->scheme, fileurl->host, fileurl->doc);
+ snprintf(url, PATH_MAX, "%s://%s%s", fileurl->scheme,
+ fileurl->host, fileurl->doc);
+ /* we don't need this anymore */
+ downloadFreeURL(fileurl);
/* replace all occurrences of %o with fn.part */
strncpy(origCmd, handle->xfercommand, sizeof(origCmd));
@@ -379,18 +374,18 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
/* cwd to the download directory */
getcwd(cwd, PATH_MAX);
if(chdir(localpath)) {
- _alpm_log(PM_LOG_WARNING, _("could not chdir to %s"), localpath);
+ _alpm_log(PM_LOG_WARNING, _("could not chdir to %s\n"), localpath);
return(PM_ERR_CONNECT_FAILED);
}
/* execute the parsed command via /bin/sh -c */
- _alpm_log(PM_LOG_DEBUG, _("running command: %s"), parsedCmd);
+ _alpm_log(PM_LOG_DEBUG, "running command: %s\n", parsedCmd);
ret = system(parsedCmd);
if(ret == -1) {
- _alpm_log(PM_LOG_WARNING, _("running XferCommand: fork failed!"));
+ _alpm_log(PM_LOG_WARNING, _("running XferCommand: fork failed!\n"));
return(PM_ERR_FORK_FAILED);
} else if(ret != 0) {
/* download failed */
- _alpm_log(PM_LOG_DEBUG, _("XferCommand command returned non-zero status code (%d)"), ret);
+ _alpm_log(PM_LOG_DEBUG, "XferCommand command returned non-zero status code (%d)\n", ret);
} else {
/* download was successful */
complete = alpm_list_add(complete, fn);
@@ -400,26 +395,36 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
}
chdir(cwd);
}
- downloadFreeURL(fileurl);
}
if(alpm_list_count(complete) == alpm_list_count(files)) {
done = 1;
}
+ alpm_list_free(complete);
}
return(done ? 0 : -1);
}
-char *_alpm_fetch_pkgurl(const char *target)
+/** Fetch a remote pkg.
+ * @param url URL of the package to download
+ * @return the downloaded filepath on success, NULL on error
+ * @addtogroup alpm_misc
+ */
+char SYMEXPORT *alpm_fetch_pkgurl(const char *url)
{
pmserver_t *server;
- char *filename;
- struct stat st;
+ char *filename, *filepath;
+ const char *cachedir;
ALPM_LOG_FUNC;
- server = _alpm_server_new(target);
+ if(strstr(url, "://") == NULL) {
+ _alpm_log(PM_LOG_DEBUG, "Invalid URL passed to alpm_fetch_pkgurl\n");
+ return(NULL);
+ }
+
+ server = _alpm_server_new(url);
if(!server) {
return(NULL);
}
@@ -427,30 +432,30 @@ char *_alpm_fetch_pkgurl(const char *target)
/* strip path information from the filename */
filename = strip_filename(server);
if(!filename) {
- _alpm_log(PM_LOG_ERROR, _("URL does not contain a file for download"));
+ _alpm_log(PM_LOG_ERROR, _("URL does not contain a file for download\n"));
return(NULL);
}
- /* do not download the file if it exists in the current dir */
- if(stat(filename, &st) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("%s has already been downloaded"), filename);
- } else {
- alpm_list_t *servers = alpm_list_add(NULL, server);
- alpm_list_t *files = alpm_list_add(NULL, filename);
+ /* find a valid cache dir to download to */
+ cachedir = _alpm_filecache_setup();
- if(_alpm_downloadfiles(servers, "./", files)) {
- _alpm_log(PM_LOG_WARNING, _("failed to download %s"), target);
- return(NULL);
- }
- _alpm_log(PM_LOG_DEBUG, _("successfully downloaded %s"), filename);
- alpm_list_free(files);
- alpm_list_free(servers);
- }
+ /* TODO this seems like needless complexity just to download one file */
+ alpm_list_t *servers = alpm_list_add(NULL, server);
+ alpm_list_t *files = alpm_list_add(NULL, filename);
+ /* download the file */
+ if(_alpm_downloadfiles(servers, cachedir, files)) {
+ _alpm_log(PM_LOG_WARNING, _("failed to download %s\n"), url);
+ return(NULL);
+ }
+ _alpm_log(PM_LOG_DEBUG, "successfully downloaded %s\n", filename);
+ alpm_list_free(files);
+ alpm_list_free(servers);
_alpm_server_free(server);
- /* return the target with the raw filename, no URL */
- return(filename);
+ /* we should be able to find the file the second time around */
+ filepath = _alpm_filecache_find(filename);
+ return(filepath);
}
/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/server.h b/lib/libalpm/server.h
index 76758d21..462d9b24 100644
--- a/lib/libalpm/server.h
+++ b/lib/libalpm/server.h
@@ -41,8 +41,6 @@ int _alpm_downloadfiles(alpm_list_t *servers, const char *localpath, alpm_list_t
int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
alpm_list_t *files, const char *mtime1, char *mtime2);
-char *_alpm_fetch_pkgurl(const char *target);
-
#endif /* _ALPM_SERVER_H */
/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/sha1.c b/lib/libalpm/sha1.c
deleted file mode 100644
index 1adf067b..00000000
--- a/lib/libalpm/sha1.c
+++ /dev/null
@@ -1,431 +0,0 @@
-/* sha.c - Functions to compute SHA1 message digest of files or
- memory blocks according to the NIST specification FIPS-180-1.
-
- Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
- later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Written by Scott G. Miller
- Credits:
- Robert Klep <robert@ilse.nl> -- Expansion function fix
-*/
-
-#include "config.h"
-
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-
-/* libalpm */
-#include "sha1.h"
-#include "alpm.h"
-#include "log.h"
-#include "util.h"
-
-/*
- Not-swap is a macro that does an endian swap on architectures that are
- big-endian, as SHA needs some data in a little-endian format
-*/
-
-#ifdef WORDS_BIGENDIAN
-# define NOTSWAP(n) (n)
-# define SWAP(n) \
- (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
-#else
-# define NOTSWAP(n) \
- (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
-# define SWAP(n) (n)
-#endif
-
-#define BLOCKSIZE 4096
-/* Ensure that BLOCKSIZE is a multiple of 64. */
-#if BLOCKSIZE % 64 != 0
-/* FIXME-someday (soon?): use #error instead of this kludge. */
-"invalid BLOCKSIZE"
-#endif
-
-/* This array contains the bytes used to pad the buffer to the next
- 64-byte boundary. (RFC 1321, 3.1: Step 1) */
-static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ };
-
-
-/* Starting with the result of former calls of this function (or the
- initialization function update the context for the next LEN bytes
- starting at BUFFER.
- It is necessary that LEN is a multiple of 64!!! */
-static void sha_process_block (const void *buffer, size_t len,
- struct sha_ctx *ctx);
-
-/* Starting with the result of former calls of this function (or the
- initialization function update the context for the next LEN bytes
- starting at BUFFER.
- It is NOT required that LEN is a multiple of 64. */
-static void sha_process_bytes (const void *buffer, size_t len,
- struct sha_ctx *ctx);
-
-/* Put result from CTX in first 20 bytes following RESBUF. The result is
- always in little endian byte order, so that a byte-wise output yields
- to the wanted ASCII representation of the message digest.
-
- IMPORTANT: On some systems it is required that RESBUF is correctly
- aligned for a 32 bits value. */
-static void *sha_read_ctx (const struct sha_ctx *ctx, void *resbuf);
-
-/*
- Takes a pointer to a 160 bit block of data (five 32 bit ints) and
- intializes it to the start constants of the SHA1 algorithm. This
- must be called before using hash in the call to sha_hash
-*/
-static void
-sha_init_ctx (struct sha_ctx *ctx)
-{
- ctx->A = 0x67452301;
- ctx->B = 0xefcdab89;
- ctx->C = 0x98badcfe;
- ctx->D = 0x10325476;
- ctx->E = 0xc3d2e1f0;
-
- ctx->total[0] = ctx->total[1] = 0;
- ctx->buflen = 0;
-}
-
-/* Put result from CTX in first 20 bytes following RESBUF. The result
- must be in little endian byte order.
-
- IMPORTANT: On some systems it is required that RESBUF is correctly
- aligned for a 32 bits value. */
-static void *
-sha_read_ctx (const struct sha_ctx *ctx, void *resbuf)
-{
- ((sha_uint32 *) resbuf)[0] = NOTSWAP (ctx->A);
- ((sha_uint32 *) resbuf)[1] = NOTSWAP (ctx->B);
- ((sha_uint32 *) resbuf)[2] = NOTSWAP (ctx->C);
- ((sha_uint32 *) resbuf)[3] = NOTSWAP (ctx->D);
- ((sha_uint32 *) resbuf)[4] = NOTSWAP (ctx->E);
-
- return resbuf;
-}
-
-/* Process the remaining bytes in the internal buffer and the usual
- prolog according to the standard and write the result to RESBUF.
-
- IMPORTANT: On some systems it is required that RESBUF is correctly
- aligned for a 32 bits value. */
-static void *
-sha_finish_ctx (struct sha_ctx *ctx, void *resbuf)
-{
- /* Take yet unprocessed bytes into account. */
- sha_uint32 bytes = ctx->buflen;
- size_t pad;
-
- /* Now count remaining bytes. */
- ctx->total[0] += bytes;
- if (ctx->total[0] < bytes)
- ++ctx->total[1];
-
- pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes;
- memcpy (&ctx->buffer[bytes], fillbuf, pad);
-
- /* Put the 64-bit file length in *bits* at the end of the buffer. */
- *(sha_uint32 *) &ctx->buffer[bytes + pad + 4] = NOTSWAP (ctx->total[0] << 3);
- *(sha_uint32 *) &ctx->buffer[bytes + pad] = NOTSWAP ((ctx->total[1] << 3) |
- (ctx->total[0] >> 29));
-
- /* Process last bytes. */
- sha_process_block (ctx->buffer, bytes + pad + 8, ctx);
-
- return sha_read_ctx (ctx, resbuf);
-}
-
-static void
-sha_process_bytes (const void *buffer, size_t len, struct sha_ctx *ctx)
-{
- /* When we already have some bits in our internal buffer concatenate
- both inputs first. */
- if (ctx->buflen != 0)
- {
- size_t left_over = ctx->buflen;
- size_t add = 128 - left_over > len ? len : 128 - left_over;
-
- memcpy (&ctx->buffer[left_over], buffer, add);
- ctx->buflen += add;
-
- if (ctx->buflen > 64)
- {
- sha_process_block (ctx->buffer, ctx->buflen & ~63, ctx);
-
- ctx->buflen &= 63;
- /* The regions in the following copy operation cannot overlap. */
- memcpy (ctx->buffer, &ctx->buffer[(left_over + add) & ~63],
- ctx->buflen);
- }
-
- buffer = (const char *) buffer + add;
- len -= add;
- }
-
- /* Process available complete blocks. */
- if (len >= 64)
- {
-#if !_STRING_ARCH_unaligned
-/* To check alignment gcc has an appropriate operator. Other
- compilers don't. */
-# if __GNUC__ >= 2
-# define UNALIGNED_P(p) (((sha_uintptr) p) % __alignof__ (sha_uint32) != 0)
-# else
-# define UNALIGNED_P(p) (((sha_uintptr) p) % sizeof (sha_uint32) != 0)
-# endif
- if (UNALIGNED_P (buffer))
- while (len > 64)
- {
- sha_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx);
- buffer = (const char *) buffer + 64;
- len -= 64;
- }
- else
-#endif
- {
- sha_process_block (buffer, len & ~63, ctx);
- buffer = (const char *) buffer + (len & ~63);
- len &= 63;
- }
- }
-
- /* Move remaining bytes in internal buffer. */
- if (len > 0)
- {
- size_t left_over = ctx->buflen;
-
- memcpy (&ctx->buffer[left_over], buffer, len);
- left_over += len;
- if (left_over >= 64)
- {
- sha_process_block (ctx->buffer, 64, ctx);
- left_over -= 64;
- memcpy (ctx->buffer, &ctx->buffer[64], left_over);
- }
- ctx->buflen = left_over;
- }
-}
-
-/* --- Code below is the primary difference between md5.c and sha.c --- */
-
-/* SHA1 round constants */
-#define K1 0x5a827999L
-#define K2 0x6ed9eba1L
-#define K3 0x8f1bbcdcL
-#define K4 0xca62c1d6L
-
-/* Round functions. Note that F2 is the same as F4. */
-#define F1(B,C,D) ( D ^ ( B & ( C ^ D ) ) )
-#define F2(B,C,D) (B ^ C ^ D)
-#define F3(B,C,D) ( ( B & C ) | ( D & ( B | C ) ) )
-#define F4(B,C,D) (B ^ C ^ D)
-
-/* Process LEN bytes of BUFFER, accumulating context into CTX.
- It is assumed that LEN % 64 == 0.
- Most of this code comes from GnuPG's cipher/sha1.c. */
-
-static void
-sha_process_block (const void *buffer, size_t len, struct sha_ctx *ctx)
-{
- const sha_uint32 *words = buffer;
- size_t nwords = len / sizeof (sha_uint32);
- const sha_uint32 *endp = words + nwords;
- sha_uint32 x[16];
- sha_uint32 a = ctx->A;
- sha_uint32 b = ctx->B;
- sha_uint32 c = ctx->C;
- sha_uint32 d = ctx->D;
- sha_uint32 e = ctx->E;
-
- /* First increment the byte count. RFC 1321 specifies the possible
- length of the file up to 2^64 bits. Here we only compute the
- number of bytes. Do a double word increment. */
- ctx->total[0] += len;
- if (ctx->total[0] < len)
- ++ctx->total[1];
-
-#define M(I) ( tm = x[I&0x0f] ^ x[(I-14)&0x0f] \
- ^ x[(I-8)&0x0f] ^ x[(I-3)&0x0f] \
- , (x[I&0x0f] = rol(tm, 1)) )
-
-#define R(A,B,C,D,E,F,K,M) do { E += rol( A, 5 ) \
- + F( B, C, D ) \
- + K \
- + M; \
- B = rol( B, 30 ); \
- } while(0)
-
- while (words < endp)
- {
- sha_uint32 tm;
- int t;
- /* FIXME: see sha1.c for a better implementation. */
- for (t = 0; t < 16; t++)
- {
- x[t] = NOTSWAP (*words);
- words++;
- }
-
- R( a, b, c, d, e, F1, K1, x[ 0] );
- R( e, a, b, c, d, F1, K1, x[ 1] );
- R( d, e, a, b, c, F1, K1, x[ 2] );
- R( c, d, e, a, b, F1, K1, x[ 3] );
- R( b, c, d, e, a, F1, K1, x[ 4] );
- R( a, b, c, d, e, F1, K1, x[ 5] );
- R( e, a, b, c, d, F1, K1, x[ 6] );
- R( d, e, a, b, c, F1, K1, x[ 7] );
- R( c, d, e, a, b, F1, K1, x[ 8] );
- R( b, c, d, e, a, F1, K1, x[ 9] );
- R( a, b, c, d, e, F1, K1, x[10] );
- R( e, a, b, c, d, F1, K1, x[11] );
- R( d, e, a, b, c, F1, K1, x[12] );
- R( c, d, e, a, b, F1, K1, x[13] );
- R( b, c, d, e, a, F1, K1, x[14] );
- R( a, b, c, d, e, F1, K1, x[15] );
- R( e, a, b, c, d, F1, K1, M(16) );
- R( d, e, a, b, c, F1, K1, M(17) );
- R( c, d, e, a, b, F1, K1, M(18) );
- R( b, c, d, e, a, F1, K1, M(19) );
- R( a, b, c, d, e, F2, K2, M(20) );
- R( e, a, b, c, d, F2, K2, M(21) );
- R( d, e, a, b, c, F2, K2, M(22) );
- R( c, d, e, a, b, F2, K2, M(23) );
- R( b, c, d, e, a, F2, K2, M(24) );
- R( a, b, c, d, e, F2, K2, M(25) );
- R( e, a, b, c, d, F2, K2, M(26) );
- R( d, e, a, b, c, F2, K2, M(27) );
- R( c, d, e, a, b, F2, K2, M(28) );
- R( b, c, d, e, a, F2, K2, M(29) );
- R( a, b, c, d, e, F2, K2, M(30) );
- R( e, a, b, c, d, F2, K2, M(31) );
- R( d, e, a, b, c, F2, K2, M(32) );
- R( c, d, e, a, b, F2, K2, M(33) );
- R( b, c, d, e, a, F2, K2, M(34) );
- R( a, b, c, d, e, F2, K2, M(35) );
- R( e, a, b, c, d, F2, K2, M(36) );
- R( d, e, a, b, c, F2, K2, M(37) );
- R( c, d, e, a, b, F2, K2, M(38) );
- R( b, c, d, e, a, F2, K2, M(39) );
- R( a, b, c, d, e, F3, K3, M(40) );
- R( e, a, b, c, d, F3, K3, M(41) );
- R( d, e, a, b, c, F3, K3, M(42) );
- R( c, d, e, a, b, F3, K3, M(43) );
- R( b, c, d, e, a, F3, K3, M(44) );
- R( a, b, c, d, e, F3, K3, M(45) );
- R( e, a, b, c, d, F3, K3, M(46) );
- R( d, e, a, b, c, F3, K3, M(47) );
- R( c, d, e, a, b, F3, K3, M(48) );
- R( b, c, d, e, a, F3, K3, M(49) );
- R( a, b, c, d, e, F3, K3, M(50) );
- R( e, a, b, c, d, F3, K3, M(51) );
- R( d, e, a, b, c, F3, K3, M(52) );
- R( c, d, e, a, b, F3, K3, M(53) );
- R( b, c, d, e, a, F3, K3, M(54) );
- R( a, b, c, d, e, F3, K3, M(55) );
- R( e, a, b, c, d, F3, K3, M(56) );
- R( d, e, a, b, c, F3, K3, M(57) );
- R( c, d, e, a, b, F3, K3, M(58) );
- R( b, c, d, e, a, F3, K3, M(59) );
- R( a, b, c, d, e, F4, K4, M(60) );
- R( e, a, b, c, d, F4, K4, M(61) );
- R( d, e, a, b, c, F4, K4, M(62) );
- R( c, d, e, a, b, F4, K4, M(63) );
- R( b, c, d, e, a, F4, K4, M(64) );
- R( a, b, c, d, e, F4, K4, M(65) );
- R( e, a, b, c, d, F4, K4, M(66) );
- R( d, e, a, b, c, F4, K4, M(67) );
- R( c, d, e, a, b, F4, K4, M(68) );
- R( b, c, d, e, a, F4, K4, M(69) );
- R( a, b, c, d, e, F4, K4, M(70) );
- R( e, a, b, c, d, F4, K4, M(71) );
- R( d, e, a, b, c, F4, K4, M(72) );
- R( c, d, e, a, b, F4, K4, M(73) );
- R( b, c, d, e, a, F4, K4, M(74) );
- R( a, b, c, d, e, F4, K4, M(75) );
- R( e, a, b, c, d, F4, K4, M(76) );
- R( d, e, a, b, c, F4, K4, M(77) );
- R( c, d, e, a, b, F4, K4, M(78) );
- R( b, c, d, e, a, F4, K4, M(79) );
-
- a = ctx->A += a;
- b = ctx->B += b;
- c = ctx->C += c;
- d = ctx->D += d;
- e = ctx->E += e;
- }
-}
-
-/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
-rights reserved.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software.
- */
-
-/** Get the sha1 sum of file.
- * @param name name of the file
- * @return the checksum on success, NULL on error
- * @addtogroup alpm_misc
- */
-char SYMEXPORT *alpm_get_sha1sum(char *name)
-{
- ALPM_LOG_FUNC;
-
- ASSERT(name != NULL, return(NULL));
-
- return(_alpm_SHAFile(name));
-}
-
-char* _alpm_SHAFile(char *filename) {
- FILE *file;
- struct sha_ctx context;
- int len, i;
- char hex[3];
- unsigned char buffer[1024], digest[20];
- char *ret;
-
- ALPM_LOG_FUNC;
-
- if((file = fopen(filename, "rb")) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("sha1: %s can't be opened\n"), filename);
- } else {
- sha_init_ctx(&context);
- while((len = fread(buffer, 1, 1024, file))) {
- sha_process_bytes(buffer, len, &context);
- }
- sha_finish_ctx(&context, digest);
- fclose(file);
-
- ret = (char*)malloc(41);
- ret[0] = '\0';
- for(i = 0; i < 20; i++) {
- snprintf(hex, 3, "%02x", digest[i]);
- strncat(ret, hex, 2);
- }
- _alpm_log(PM_LOG_DEBUG, _("sha1(%s) = %s"), filename, ret);
- return(ret);
- }
-
- return(NULL);
-}
-
-/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/sha1.h b/lib/libalpm/sha1.h
deleted file mode 100644
index fc0aa230..00000000
--- a/lib/libalpm/sha1.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Declarations of functions and data types used for SHA1 sum
- library functions.
- Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
- later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-#ifndef _ALPM_SHA1_H
-#define _ALPM_SHA1_H
-
-#include <stdio.h>
-#include <limits.h>
-
-#define rol(x,n) ( ((x) << (n)) | ((x) >> (32 -(n))) )
-/* TODO check this comment */
-/* The code below is from md5.h (from coreutils), little modifications */
-#define UINT_MAX_32_BITS 4294967295U
-
-/* This new ifdef allows splint to not fail on its static code check */
-#ifdef S_SPLINT_S
- typedef unsigned int sha_uint32;
-#else
-#if UINT_MAX == UINT_MAX_32_BITS
- typedef unsigned int sha_uint32;
-#else
-#if USHRT_MAX == UINT_MAX_32_BITS
- typedef unsigned short sha_uint32;
-#else
-#if ULONG_MAX == UINT_MAX_32_BITS
- typedef unsigned long sha_uint32;
-#else
- /* The following line is intended to evoke an error. Using #error is not portable enough. */
-#error "Cannot determine unsigned 32-bit data type"
-#endif /* ULONG_MAX */
-#endif /* USHRT_MAX */
-#endif /* UINT_MAX */
-#endif /* S_SPLINT_S */
-/* We have to make a guess about the integer type equivalent in size
- to pointers which should always be correct. */
-typedef unsigned long int sha_uintptr;
-
-/* Structure to save state of computation between the single steps. */
-struct sha_ctx
-{
- sha_uint32 A;
- sha_uint32 B;
- sha_uint32 C;
- sha_uint32 D;
- sha_uint32 E;
-
- sha_uint32 total[2];
- sha_uint32 buflen;
- char buffer[128];
-};
-
-
-/* Needed for pacman */
-char *_alpm_SHAFile (char *);
-
-#endif /* _ALPM_SHA1_H */
-
-/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index d50d6cfa..f21f7d35 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -45,11 +45,8 @@
#include "provide.h"
#include "trans.h"
#include "util.h"
-#include "versioncmp.h"
#include "handle.h"
#include "alpm.h"
-#include "md5.h"
-#include "sha1.h"
#include "server.h"
pmsyncpkg_t *_alpm_sync_new(int type, pmpkg_t *spkg, void *data)
@@ -59,7 +56,7 @@ pmsyncpkg_t *_alpm_sync_new(int type, pmpkg_t *spkg, void *data)
ALPM_LOG_FUNC;
if((sync = malloc(sizeof(pmsyncpkg_t))) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmsyncpkg_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmsyncpkg_t));
return(NULL);
}
@@ -104,7 +101,7 @@ static int find_replacements(pmtrans_t *trans, pmdb_t *db_local,
ALPM_LOG_FUNC;
/* check for "recommended" package replacements */
- _alpm_log(PM_LOG_DEBUG, _("checking for package replacements"));
+ _alpm_log(PM_LOG_DEBUG, "checking for package replacements\n");
for(i = dbs_sync; i; i = i->next) {
pmdb_t *db = i->data;
@@ -120,11 +117,12 @@ static int find_replacements(pmtrans_t *trans, pmdb_t *db_local,
continue;
}
- _alpm_log(PM_LOG_DEBUG, _("checking replacement '%s' for package '%s'"), replacement, spkg->name);
+ _alpm_log(PM_LOG_DEBUG, "checking replacement '%s' for package '%s'\n",
+ replacement, spkg->name);
/* ignore if EITHER the local or replacement package are to be ignored */
if(alpm_list_find_str(handle->ignorepkg, spkg->name)
|| alpm_list_find_str(handle->ignorepkg, lpkg->name)) {
- _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (to be replaced by %s-%s)"),
+ _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"),
alpm_pkg_get_name(lpkg), alpm_pkg_get_version(lpkg),
alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg));
} else {
@@ -159,7 +157,7 @@ static int find_replacements(pmtrans_t *trans, pmdb_t *db_local,
sync->data = alpm_list_add(NULL, dummy);
trans->packages = alpm_list_add(trans->packages, sync);
}
- _alpm_log(PM_LOG_DEBUG, _("%s-%s elected for upgrade (to be replaced by %s-%s)"),
+ _alpm_log(PM_LOG_DEBUG, "%s-%s elected for upgrade (to be replaced by %s-%s)\n",
alpm_pkg_get_name(lpkg), alpm_pkg_get_version(lpkg),
alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg));
}
@@ -182,7 +180,7 @@ int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_s
/* check for "recommended" package replacements */
if(find_replacements(trans, db_local, dbs_sync) == 0) {
/* match installed packages with the sync dbs and compare versions */
- _alpm_log(PM_LOG_DEBUG, _("checking for package upgrades"));
+ _alpm_log(PM_LOG_DEBUG, "checking for package upgrades\n");
for(i = _alpm_db_get_pkgcache(db_local); i; i = i->next) {
int replace=0;
pmpkg_t *local = i->data;
@@ -193,7 +191,8 @@ int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_s
spkg = _alpm_db_get_pkgfromcache(j->data, alpm_pkg_get_name(local));
}
if(spkg == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("'%s' not found in sync db -- skipping"), alpm_pkg_get_name(local));
+ _alpm_log(PM_LOG_DEBUG, "'%s' not found in sync db -- skipping\n",
+ alpm_pkg_get_name(local));
continue;
}
@@ -207,14 +206,14 @@ int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_s
}
}
if(replace) {
- _alpm_log(PM_LOG_DEBUG, _("'%s' is already elected for removal -- skipping"),
+ _alpm_log(PM_LOG_DEBUG, "'%s' is already elected for removal -- skipping\n",
alpm_pkg_get_name(local));
continue;
}
/* compare versions and see if we need to upgrade */
if(alpm_pkg_compare_versions(local, spkg)) {
- _alpm_log(PM_LOG_DEBUG, _("%s-%s elected for upgrade (%s => %s)"),
+ _alpm_log(PM_LOG_DEBUG, "%s-%s elected for upgrade (%s => %s)\n",
alpm_pkg_get_name(local), alpm_pkg_get_version(local),
alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg));
if(!_alpm_sync_find(trans->packages, alpm_pkg_get_name(spkg))) {
@@ -269,7 +268,7 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy
if(targ) {
*targ = '\0';
targ++;
- _alpm_log(PM_LOG_DEBUG, _("searching for target in repo '%s'"), targ);
+ _alpm_log(PM_LOG_DEBUG, "searching for target in repo '%s'\n", targ);
for(j = dbs_sync; j && !spkg; j = j->next) {
pmdb_t *db = j->data;
if(strcmp(db->treename, targline) == 0) {
@@ -277,19 +276,19 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy
spkg = _alpm_db_get_pkgfromcache(db, targ);
if(spkg == NULL) {
/* Search provides */
- _alpm_log(PM_LOG_DEBUG, _("target '%s' not found -- looking for provisions"), targ);
+ _alpm_log(PM_LOG_DEBUG, "target '%s' not found -- looking for provisions\n", targ);
alpm_list_t *p = _alpm_db_whatprovides(db, targ);
if(!p) {
RET_ERR(PM_ERR_PKG_NOT_FOUND, -1);
}
- _alpm_log(PM_LOG_DEBUG, _("found '%s' as a provision for '%s'"), p->data, targ);
+ _alpm_log(PM_LOG_DEBUG, "found '%s' as a provision for '%s'\n", p->data, targ);
spkg = _alpm_db_get_pkgfromcache(db, p->data);
alpm_list_free(p);
}
}
}
if(!repo_found) {
- _alpm_log(PM_LOG_ERROR, _("repository '%s' not found"), targline);
+ _alpm_log(PM_LOG_ERROR, _("repository '%s' not found\n"), targline);
RET_ERR(PM_ERR_PKG_REPO_NOT_FOUND, -1);
}
} else {
@@ -300,12 +299,12 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy
}
if(spkg == NULL) {
/* Search provides */
- _alpm_log(PM_LOG_DEBUG, _("target '%s' not found -- looking for provisions"), targ);
+ _alpm_log(PM_LOG_DEBUG, "target '%s' not found -- looking for provisions\n", targ);
for(j = dbs_sync; j && !spkg; j = j->next) {
pmdb_t *db = j->data;
alpm_list_t *p = _alpm_db_whatprovides(db, targ);
if(p) {
- _alpm_log(PM_LOG_DEBUG, _("found '%s' as a provision for '%s'"), p->data, targ);
+ _alpm_log(PM_LOG_DEBUG, "found '%s' as a provision for '%s'\n", p->data, targ);
spkg = _alpm_db_get_pkgfromcache(db, p->data);
alpm_list_free(p);
}
@@ -330,7 +329,7 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy
} else if(!(trans->flags & PM_TRANS_FLAG_PRINTURIS)) {
QUESTION(trans, PM_TRANS_CONV_LOCAL_UPTODATE, local, NULL, NULL, &resp);
if(!resp) {
- _alpm_log(PM_LOG_WARNING, _("%s-%s is up to date -- skipping"),
+ _alpm_log(PM_LOG_WARNING, _("%s-%s is up to date -- skipping\n"),
alpm_pkg_get_name(local), alpm_pkg_get_version(local));
return(0);
}
@@ -353,7 +352,7 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy
_alpm_pkg_free(dummy);
RET_ERR(PM_ERR_MEMORY, -1);
}
- _alpm_log(PM_LOG_DEBUG, _("adding target '%s' to the transaction set"),
+ _alpm_log(PM_LOG_DEBUG, "adding target '%s' to the transaction set\n",
alpm_pkg_get_name(spkg));
trans->packages = alpm_list_add(trans->packages, sync);
}
@@ -379,7 +378,6 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
{
alpm_list_t *deps = NULL;
alpm_list_t *list = NULL; /* allow checkdeps usage with trans->packages */
- alpm_list_t *trail = NULL; /* breadcrumb list to avoid running in circles */
alpm_list_t *i, *j;
int ret = 0;
@@ -392,25 +390,31 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
*data = NULL;
}
- for(i = trans->packages; i; i = i->next) {
- pmsyncpkg_t *sync = i->data;
- list = alpm_list_add(list, sync->pkg);
+ if(!(trans->flags & PM_TRANS_FLAG_DEPENDSONLY)) {
+ for(i = trans->packages; i; i = i->next) {
+ pmsyncpkg_t *sync = i->data;
+ list = alpm_list_add(list, sync->pkg);
+ }
}
if(!(trans->flags & PM_TRANS_FLAG_NODEPS)) {
/* Resolve targets dependencies */
EVENT(trans, PM_TRANS_EVT_RESOLVEDEPS_START, NULL, NULL);
- _alpm_log(PM_LOG_DEBUG, _("resolving target's dependencies"));
+ _alpm_log(PM_LOG_DEBUG, "resolving target's dependencies\n");
for(i = trans->packages; i; i = i->next) {
pmpkg_t *spkg = ((pmsyncpkg_t *)i->data)->pkg;
- if(_alpm_resolvedeps(db_local, dbs_sync, spkg, list,
- trail, trans, data) == -1) {
+ if(_alpm_resolvedeps(db_local, dbs_sync, spkg, &list,
+ trans, data) == -1) {
/* pm_errno is set by resolvedeps */
ret = -1;
goto cleanup;
}
}
+ if((trans->flags & PM_TRANS_FLAG_DEPENDSONLY)) {
+ FREELIST(trans->packages);
+ }
+
for(i = list; i; i = i->next) {
/* add the dependencies found by resolvedeps to the transaction set */
pmpkg_t *spkg = i->data;
@@ -421,32 +425,14 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
goto cleanup;
}
trans->packages = alpm_list_add(trans->packages, sync);
- _alpm_log(PM_LOG_DEBUG, _("adding package %s-%s to the transaction targets"),
+ _alpm_log(PM_LOG_DEBUG, "adding package %s-%s to the transaction targets\n",
alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg));
- } else {
- /* remove the original targets from the list if requested */
- if((trans->flags & PM_TRANS_FLAG_DEPENDSONLY)) {
- void *vpkg;
- pmsyncpkg_t *sync;
-
- _alpm_log(PM_LOG_DEBUG, "removing package %s-%s from the transaction targets",
- alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg));
-
- sync = _alpm_sync_find(trans->packages, alpm_pkg_get_name(spkg));
- trans->packages = alpm_list_remove(trans->packages, sync, syncpkg_cmp, &vpkg);
- _alpm_sync_free(vpkg);
- }
}
}
/* re-order w.r.t. dependencies */
- alpm_list_t *sortlist = NULL;
+ alpm_list_t *sortlist = _alpm_sortbydeps(list, PM_TRANS_TYPE_ADD);
alpm_list_t *newpkgs = NULL;
- for(i = trans->packages; i; i = i->next) {
- pmsyncpkg_t *s = i->data;
- sortlist = alpm_list_add(sortlist, s->pkg);
- }
- sortlist = _alpm_sortbydeps(sortlist, PM_TRANS_TYPE_ADD);
for(i = sortlist; i; i = i->next) {
for(j = trans->packages; j; j = j->next) {
pmsyncpkg_t *s = j->data;
@@ -461,19 +447,18 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
EVENT(trans, PM_TRANS_EVT_RESOLVEDEPS_DONE, NULL, NULL);
- _alpm_log(PM_LOG_DEBUG, _("looking for unresolvable dependencies"));
+ _alpm_log(PM_LOG_DEBUG, "looking for unresolvable dependencies\n");
deps = _alpm_checkdeps(db_local, PM_TRANS_TYPE_UPGRADE, list);
if(deps) {
if(data) {
*data = deps;
- deps = NULL;
+ } else {
+ FREELIST(deps);
}
pm_errno = PM_ERR_UNSATISFIED_DEPS;
ret = -1;
goto cleanup;
}
-
- alpm_list_free(trail);
}
/* We don't care about conflicts if we're just printing uris */
@@ -481,7 +466,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
/* check for inter-conflicts and whatnot */
EVENT(trans, PM_TRANS_EVT_INTERCONFLICTS_START, NULL, NULL);
- _alpm_log(PM_LOG_DEBUG, _("looking for conflicts"));
+ _alpm_log(PM_LOG_DEBUG, "looking for conflicts\n");
deps = _alpm_checkconflicts(db_local, list);
if(deps) {
int errorout = 0;
@@ -492,7 +477,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
pmsyncpkg_t *sync;
pmpkg_t *found = NULL;
- _alpm_log(PM_LOG_DEBUG, _("package '%s' conflicts with '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "package '%s' conflicts with '%s'\n",
miss->target, miss->depend.name);
/* check if the conflicting package is about to be removed/replaced.
* if so, then just ignore it. */
@@ -503,14 +488,14 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
}
}
if(found) {
- _alpm_log(PM_LOG_DEBUG, _("'%s' is already elected for removal -- skipping"),
+ _alpm_log(PM_LOG_DEBUG, "'%s' is already elected for removal -- skipping\n",
alpm_pkg_get_name(found));
continue;
}
sync = _alpm_sync_find(trans->packages, miss->target);
if(sync == NULL) {
- _alpm_log(PM_LOG_DEBUG, _("'%s' not found in transaction set -- skipping"),
+ _alpm_log(PM_LOG_DEBUG, "'%s' not found in transaction set -- skipping\n",
miss->target);
continue;
}
@@ -520,7 +505,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
miss->depend.name)) {
/* treat like a replaces item so requiredby fields are
* inherited properly. */
- _alpm_log(PM_LOG_DEBUG, _("package '%s' provides its own conflict"),
+ _alpm_log(PM_LOG_DEBUG, "package '%s' provides its own conflict\n",
miss->target);
if(!local) {
char *rmpkg = NULL;
@@ -541,12 +526,12 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
target = alpm_list_find_str(trans->targets, miss->target);
depend = alpm_list_find_str(trans->targets, miss->depend.name);
if(depend && !target) {
- _alpm_log(PM_LOG_DEBUG, _("'%s' is in the target list -- keeping it"),
+ _alpm_log(PM_LOG_DEBUG, "'%s' is in the target list -- keeping it\n",
miss->depend.name);
/* remove miss->target */
rmpkg = miss->target;
} else if(target && !depend) {
- _alpm_log(PM_LOG_DEBUG, _("'%s' is in the target list -- keeping it"),
+ _alpm_log(PM_LOG_DEBUG, "'%s' is in the target list -- keeping it\n",
miss->target);
/* remove miss->depend.name */
rmpkg = miss->depend.name;
@@ -558,7 +543,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
if(rmpkg) {
pmsyncpkg_t *rsync = _alpm_sync_find(trans->packages, rmpkg);
void *vpkg;
- _alpm_log(PM_LOG_DEBUG, _("removing '%s' from target list"),
+ _alpm_log(PM_LOG_DEBUG, "removing '%s' from target list\n",
rsync->pkg->name);
trans->packages = alpm_list_remove(trans->packages, rsync,
syncpkg_cmp, &vpkg);
@@ -568,7 +553,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
}
}
/* It's a conflict -- see if they want to remove it */
- _alpm_log(PM_LOG_DEBUG, _("resolving package '%s' conflict"),
+ _alpm_log(PM_LOG_DEBUG, "resolving package '%s' conflict\n",
miss->target);
if(local) {
int doremove = 0;
@@ -586,7 +571,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
sync->data = NULL;
}
/* append to the replaces list */
- _alpm_log(PM_LOG_DEBUG, _("electing '%s' for removal"),
+ _alpm_log(PM_LOG_DEBUG, "electing '%s' for removal\n",
miss->depend.name);
sync->data = alpm_list_add(sync->data, q);
/* see if the package is in the current target list */
@@ -595,7 +580,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
if(rsync) {
/* remove it from the target list */
void *vpkg;
- _alpm_log(PM_LOG_DEBUG, _("removing '%s' from target list"),
+ _alpm_log(PM_LOG_DEBUG, "removing '%s' from target list\n",
miss->depend.name);
trans->packages = alpm_list_remove(trans->packages, rsync,
syncpkg_cmp, &vpkg);
@@ -603,11 +588,11 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
}
} else {
/* abort */
- _alpm_log(PM_LOG_ERROR, _("unresolvable package conflicts detected"));
+ _alpm_log(PM_LOG_ERROR, _("unresolvable package conflicts detected\n"));
errorout = 1;
if(data) {
if((miss = malloc(sizeof(pmdepmissing_t))) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmdepmissing_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmdepmissing_t));
FREELIST(*data);
pm_errno = PM_ERR_MEMORY;
ret = -1;
@@ -619,11 +604,11 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
}
}
} else {
- _alpm_log(PM_LOG_ERROR, _("unresolvable package conflicts detected"));
+ _alpm_log(PM_LOG_ERROR, _("unresolvable package conflicts detected\n"));
errorout = 1;
if(data) {
if((miss = malloc(sizeof(pmdepmissing_t))) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmdepmissing_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmdepmissing_t));
FREELIST(*data);
pm_errno = PM_ERR_MEMORY;
ret = -1;
@@ -672,7 +657,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
}
}
if(list) {
- _alpm_log(PM_LOG_DEBUG, _("checking dependencies of packages designated for removal"));
+ _alpm_log(PM_LOG_DEBUG, "checking dependencies of packages designated for removal\n");
deps = _alpm_checkdeps(db_local, PM_TRANS_TYPE_REMOVE, list);
if(deps) {
/* Check if broken dependencies are fixed by packages we are installing */
@@ -686,7 +671,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
pmsyncpkg_t *sp = l->data;
pmpkg_t *sppkg = sp->pkg;
if(alpm_depcmp(sppkg, &(miss->depend))) {
- _alpm_log(PM_LOG_DEBUG, _("sync: dependency '%s' satisfied by package '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "sync: dependency '%s' satisfied by package '%s'\n",
miss->depend.name, alpm_pkg_get_name(sppkg));
satisfied = 1;
}
@@ -709,7 +694,6 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
cleanup:
alpm_list_free(list);
- alpm_list_free(trail);
return(ret);
}
@@ -719,14 +703,14 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
alpm_list_t *i, *j, *files = NULL;
pmtrans_t *tr = NULL;
int replaces = 0, retval = 0;
- int validcache = 0;
- const char *maincachedir = NULL;
+ const char *cachedir = NULL;
ALPM_LOG_FUNC;
ASSERT(db_local != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
+ cachedir = _alpm_filecache_setup();
trans->state = STATE_DOWNLOADING;
/* group sync records by repository and download */
for(i = handle->dbs_sync; i; i = i->next) {
@@ -735,75 +719,31 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
for(j = trans->packages; j; j = j->next) {
pmsyncpkg_t *sync = j->data;
pmpkg_t *spkg = sync->pkg;
- pmdb_t *dbs = spkg->data;
+ pmdb_t *dbs = spkg->origin_data.db;
if(current == dbs) {
const char *fname = NULL;
- char path[PATH_MAX];
fname = alpm_pkg_get_filename(spkg);
if(trans->flags & PM_TRANS_FLAG_PRINTURIS) {
- EVENT(trans, PM_TRANS_EVT_PRINTURI, (char *)alpm_db_get_url(current), (char *)fname);
+ EVENT(trans, PM_TRANS_EVT_PRINTURI, (char *)alpm_db_get_url(current),
+ (char *)fname);
} else {
- struct stat buf;
- int found = 0;
- /* Loop through the cache dirs until we find a matching file */
- for(i = alpm_option_get_cachedirs(); i; i = alpm_list_next(i)) {
- snprintf(path, PATH_MAX, "%s%s", (char*)alpm_list_getdata(i),
- fname);
- if(stat(path, &buf) == 0) {
- found = 1;
- _alpm_log(PM_LOG_DEBUG, _("found cached pkg: %s"), path);
- break;
- }
- }
- if(!found) {
+ char *fpath = _alpm_filecache_find(fname);
+ if(!fpath) {
/* file is not in the cache dir, so add it to the list */
files = alpm_list_add(files, strdup(fname));
}
+ FREE(fpath);
}
}
}
if(files) {
- struct stat buf;
- char *cachedir;
EVENT(trans, PM_TRANS_EVT_RETRIEVE_START, current->treename, NULL);
- for(i = alpm_option_get_cachedirs(); i; i = alpm_list_next(i)) {
- cachedir = alpm_list_getdata(i);
- if(stat(cachedir, &buf) != 0) {
- /* cache directory does not exist.... try creating it */
- _alpm_log(PM_LOG_WARNING, _("no %s cache exists, creating...\n"),
- cachedir);
- alpm_logaction("warning: no %s cache exists, creating...",
- cachedir);
- if(_alpm_makepath(cachedir) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("setting main cachedir: %s"), cachedir);
- maincachedir = cachedir;
- validcache = 1;
- break;
- }
- } else if(S_ISDIR(buf.st_mode) && (buf.st_mode & S_IWUSR)) {
- _alpm_log(PM_LOG_DEBUG, _("setting main cachedir: %s"), cachedir);
- maincachedir = cachedir;
- validcache = 1;
- break;
- }
- }
- if(!validcache) {
- /* we had no valid cache directories, so fall back to /tmp and
- * unlink the packages afterwards. */
- alpm_list_t *oldcachedirs = alpm_option_get_cachedirs();
- alpm_list_t *cachetmp = alpm_list_add(NULL, strdup("/tmp/"));
- FREELIST(oldcachedirs);
- alpm_option_set_cachedirs(cachetmp);
- _alpm_log(PM_LOG_DEBUG, _("setting main cachedir: %s"), "/tmp/");
- maincachedir = alpm_list_getdata(cachetmp);
- _alpm_log(PM_LOG_WARNING, _("couldn't create package cache, using /tmp instead"));
- alpm_logaction("warning: couldn't create package cache, using /tmp instead");
- }
- if(_alpm_downloadfiles(current->servers, maincachedir, files)) {
- _alpm_log(PM_LOG_WARNING, _("failed to retrieve some files from %s\n"), current->treename);
+ if(_alpm_downloadfiles(current->servers, cachedir, files)) {
+ _alpm_log(PM_LOG_WARNING, _("failed to retrieve some files from %s\n"),
+ current->treename);
RET_ERR(PM_ERR_RETRIEVE, -1);
}
FREELIST(files);
@@ -819,69 +759,54 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
for(i = trans->packages; i; i = i->next) {
pmsyncpkg_t *sync = i->data;
pmpkg_t *spkg = sync->pkg;
- char str[PATH_MAX];
- struct stat buf;
- const char *pkgname;
- char *md5sum1, *md5sum2, *sha1sum1, *sha1sum2;
+ const char *filename;
+ char *filepath;
+ char *md5sum1, *md5sum2;
char *ptr=NULL;
- pkgname = alpm_pkg_get_filename(spkg);
+ filename = alpm_pkg_get_filename(spkg);
md5sum1 = spkg->md5sum;
- sha1sum1 = spkg->sha1sum;
- if((md5sum1 == NULL) && (sha1sum1 == NULL)) {
+ if(md5sum1 == NULL) {
/* TODO wtf is this? malloc'd strings for error messages? */
if((ptr = calloc(512, sizeof(char))) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
- snprintf(ptr, 512, _("can't get md5 or sha1 checksum for package %s\n"), pkgname);
+ snprintf(ptr, 512, _("can't get md5 checksum for package %s\n"), filename);
*data = alpm_list_add(*data, ptr);
retval = 1;
continue;
}
- /* Loop through the cache dirs until we find a matching file */
- for(j = alpm_option_get_cachedirs(); j; j = alpm_list_next(j)) {
- snprintf(str, PATH_MAX, "%s%s", (char*)alpm_list_getdata(j), pkgname);
- if(stat(str, &buf) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("package found for integrity check: %s"),
- str);
- break;
- }
- }
+ filepath = _alpm_filecache_find(filename);
- md5sum2 = alpm_get_md5sum(str);
- sha1sum2 = alpm_get_sha1sum(str);
- if(md5sum2 == NULL && sha1sum2 == NULL) {
+ md5sum2 = alpm_get_md5sum(filepath);
+ if(md5sum2 == NULL) {
if((ptr = calloc(512, sizeof(char))) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
- snprintf(ptr, 512, _("can't get md5 or sha1 checksum for package %s\n"), pkgname);
+ snprintf(ptr, 512, _("can't get md5 checksum for package %s\n"), filename);
*data = alpm_list_add(*data, ptr);
retval = 1;
continue;
}
- if((strcmp(md5sum1, md5sum2) != 0) && (strcmp(sha1sum1, sha1sum2) != 0)) {
+ if(strcmp(md5sum1, md5sum2) != 0) {
int doremove=0;
if((ptr = calloc(512, sizeof(char))) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
- if(trans->flags & PM_TRANS_FLAG_ALLDEPS) {
- doremove=1;
- } else {
- QUESTION(trans, PM_TRANS_CONV_CORRUPTED_PKG, (char *)pkgname, NULL, NULL, &doremove);
- }
+ QUESTION(trans, PM_TRANS_CONV_CORRUPTED_PKG, (char *)filename,
+ NULL, NULL, &doremove);
if(doremove) {
- unlink(str);
- snprintf(ptr, 512, _("archive %s was corrupted (bad MD5 or SHA1 checksum)\n"), pkgname);
- } else {
- snprintf(ptr, 512, _("archive %s is corrupted (bad MD5 or SHA1 checksum)\n"), pkgname);
+ unlink(filepath);
}
+ snprintf(ptr, 512, _("archive %s was corrupted (bad MD5 checksum)\n"),
+ filename);
*data = alpm_list_add(*data, ptr);
retval = 1;
}
+ FREE(filepath);
FREE(md5sum2);
- FREE(sha1sum2);
}
if(retval) {
pm_errno = PM_ERR_PKG_CORRUPTED;
@@ -896,13 +821,13 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
trans->state = STATE_COMMITING;
tr = _alpm_trans_new();
if(tr == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not create removal transaction"));
+ _alpm_log(PM_LOG_ERROR, _("could not create removal transaction\n"));
pm_errno = PM_ERR_MEMORY;
goto error;
}
if(_alpm_trans_init(tr, PM_TRANS_TYPE_REMOVE, PM_TRANS_FLAG_NODEPS, NULL, NULL, NULL) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not initialize the removal transaction"));
+ _alpm_log(PM_LOG_ERROR, _("could not initialize the removal transaction\n"));
goto error;
}
@@ -922,15 +847,15 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
}
}
if(replaces) {
- _alpm_log(PM_LOG_DEBUG, _("removing conflicting and to-be-replaced packages"));
+ _alpm_log(PM_LOG_DEBUG, "removing conflicting and to-be-replaced packages\n");
if(_alpm_trans_prepare(tr, data) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not prepare removal transaction"));
+ _alpm_log(PM_LOG_ERROR, _("could not prepare removal transaction\n"));
goto error;
}
/* we want the frontend to be aware of commit details */
tr->cb_event = trans->cb_event;
if(_alpm_trans_commit(tr, NULL) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not commit removal transaction"));
+ _alpm_log(PM_LOG_ERROR, _("could not commit removal transaction\n"));
goto error;
}
}
@@ -938,35 +863,33 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
tr = NULL;
/* install targets */
- _alpm_log(PM_LOG_DEBUG, _("installing packages"));
+ _alpm_log(PM_LOG_DEBUG, "installing packages\n");
tr = _alpm_trans_new();
if(tr == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not create transaction"));
+ _alpm_log(PM_LOG_ERROR, _("could not create transaction\n"));
pm_errno = PM_ERR_MEMORY;
goto error;
}
if(_alpm_trans_init(tr, PM_TRANS_TYPE_UPGRADE, trans->flags | PM_TRANS_FLAG_NODEPS, trans->cb_event, trans->cb_conv, trans->cb_progress) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not initialize transaction"));
+ _alpm_log(PM_LOG_ERROR, _("could not initialize transaction\n"));
goto error;
}
for(i = trans->packages; i; i = i->next) {
pmsyncpkg_t *sync = i->data;
pmpkg_t *spkg = sync->pkg;
- struct stat buf;
- const char *fname = NULL;
- char str[PATH_MAX];
+ const char *fname;
+ char *fpath;
fname = alpm_pkg_get_filename(spkg);
/* Loop through the cache dirs until we find a matching file */
- for(j = alpm_option_get_cachedirs(); j; j = alpm_list_next(j)) {
- snprintf(str, PATH_MAX, "%s%s", (char*)alpm_list_getdata(j), fname);
- if(stat(str, &buf) == 0) {
- break;
- }
- }
- if(_alpm_trans_addtarget(tr, str) == -1) {
+ fpath = _alpm_filecache_find(fname);
+
+ if(_alpm_trans_addtarget(tr, fpath) == -1) {
+ FREE(fpath);
goto error;
}
+ FREE(fpath);
+
/* using alpm_list_last() is ok because addtarget() adds the new target at the
* end of the tr->packages list */
spkg = alpm_list_last(tr->packages)->data;
@@ -975,12 +898,12 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
}
}
if(_alpm_trans_prepare(tr, data) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not prepare transaction"));
+ _alpm_log(PM_LOG_ERROR, _("could not prepare transaction\n"));
/* pm_errno is set by trans_prepare */
goto error;
}
if(_alpm_trans_commit(tr, NULL) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not commit transaction"));
+ _alpm_log(PM_LOG_ERROR, _("could not commit transaction\n"));
goto error;
}
_alpm_trans_free(tr);
@@ -988,7 +911,7 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
/* propagate replaced packages' requiredby fields to their new owners */
if(replaces) {
- _alpm_log(PM_LOG_DEBUG, _("updating database for replaced packages' dependencies"));
+ _alpm_log(PM_LOG_DEBUG, "updating database for replaced packages' dependencies\n");
for(i = trans->packages; i; i = i->next) {
pmsyncpkg_t *sync = i->data;
if(sync->type == PM_SYNC_TYPE_REPLACE) {
@@ -1017,7 +940,7 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
}
}
if(_alpm_db_write(db_local, depender, INFRQ_DEPENDS) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not update requiredby for database entry %s-%s"),
+ _alpm_log(PM_LOG_ERROR, _("could not update requiredby for database entry %s-%s\n"),
alpm_pkg_get_name(new), alpm_pkg_get_version(new));
}
/* add the new requiredby */
@@ -1026,33 +949,18 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
}
}
if(_alpm_db_write(db_local, new, INFRQ_DEPENDS) == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not update new database entry %s-%s"),
+ _alpm_log(PM_LOG_ERROR, _("could not update new database entry %s-%s\n"),
alpm_pkg_get_name(new), alpm_pkg_get_version(new));
}
}
}
}
- if(!validcache && !(trans->flags & PM_TRANS_FLAG_DOWNLOADONLY)) {
- /* delete packages */
- for(i = files; i; i = i->next) {
- unlink(i->data);
- }
- }
-
- /* run ldconfig if it exists */
- if(handle->trans->state != STATE_INTERRUPTED) {
- _alpm_log(PM_LOG_DEBUG, _("running \"ldconfig -r %s\""), handle->root);
- _alpm_ldconfig(handle->root);
- }
-
return(0);
error:
_alpm_trans_free(tr);
tr = NULL;
- /* commiting failed, so this is still just a prepared transaction */
- trans->state = STATE_PREPARED;
return(-1);
}
@@ -1067,13 +975,13 @@ pmsyncpkg_t *_alpm_sync_find(alpm_list_t *syncpkgs, const char* pkgname)
pmpkg_t *pkg = alpm_sync_get_pkg(syncpkg);
if(strcmp(alpm_pkg_get_name(pkg), pkgname) == 0) {
- _alpm_log(PM_LOG_DEBUG, _("found package '%s-%s' in sync"),
+ _alpm_log(PM_LOG_DEBUG, "found package '%s-%s' in sync\n",
alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
return(syncpkg);
}
}
- _alpm_log(PM_LOG_DEBUG, _("package '%s' not found in sync"), pkgname);
+ _alpm_log(PM_LOG_DEBUG, "package '%s' not found in sync\n", pkgname);
return(NULL); /* not found */
}
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index 82f11f3d..9eb27c30 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -33,9 +33,6 @@
#include <sys/statvfs.h>
#include <unistd.h>
#include <errno.h>
-#ifndef __sun__
-#include <mntent.h>
-#endif
/* libalpm */
#include "trans.h"
@@ -165,15 +162,31 @@ int SYMEXPORT alpm_trans_commit(alpm_list_t **data)
ASSERT(handle->trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
ASSERT(handle->trans->state == STATE_PREPARED, RET_ERR(PM_ERR_TRANS_NOT_PREPARED, -1));
- /* Check for database R/W permission */
- if(!(handle->trans->flags & PM_TRANS_FLAG_PRINTURIS)) {
- /* The print-uris operation is a bit odd. So we explicitly check for it */
- ASSERT(handle->access == PM_ACCESS_RW, RET_ERR(PM_ERR_BADPERMS, -1));
- }
-
return(_alpm_trans_commit(handle->trans, data));
}
+/** Interrupt a transaction.
+ * @return 0 on success, -1 on error (pm_errno is set accordingly)
+ */
+int SYMEXPORT alpm_trans_interrupt()
+{
+ pmtrans_t *trans;
+
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
+
+ trans = handle->trans;
+ ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
+ ASSERT(trans->state == STATE_COMMITING || trans->state == STATE_INTERRUPTED,
+ RET_ERR(PM_ERR_TRANS_TYPE, -1));
+
+ trans->state = STATE_INTERRUPTED;
+
+ return(0);
+}
+
/** Release a transaction.
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
@@ -190,15 +203,6 @@ int SYMEXPORT alpm_trans_release()
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
ASSERT(trans->state != STATE_IDLE, RET_ERR(PM_ERR_TRANS_NULL, -1));
- /* during a commit do not interrupt immediately, just after a target */
- if(trans->state == STATE_COMMITING || trans->state == STATE_INTERRUPTED) {
- if(trans->state == STATE_COMMITING) {
- trans->state = STATE_INTERRUPTED;
- }
- pm_errno = PM_ERR_TRANS_COMMITING;
- return(-1);
- }
-
_alpm_trans_free(trans);
handle->trans = NULL;
@@ -208,7 +212,7 @@ int SYMEXPORT alpm_trans_release()
handle->lckfd = -1;
}
if(_alpm_lckrm()) {
- _alpm_log(PM_LOG_WARNING, _("could not remove lock file %s"),
+ _alpm_log(PM_LOG_WARNING, _("could not remove lock file %s\n"),
alpm_option_get_lockfile());
alpm_logaction("warning: could not remove lock file %s",
alpm_option_get_lockfile());
@@ -226,7 +230,7 @@ pmtrans_t *_alpm_trans_new()
ALPM_LOG_FUNC;
if((trans = malloc(sizeof(pmtrans_t))) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmtrans_t));
+ _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmtrans_t));
return(NULL);
}
@@ -304,6 +308,11 @@ int _alpm_trans_sysupgrade(pmtrans_t *trans)
return(_alpm_sync_sysupgrade(trans, handle->db_local, handle->dbs_sync));
}
+/** Add a target to the transaction.
+ * @param trans the current transaction
+ * @param target the name of the target to add
+ * @return 0 on success, -1 on error (pm_errno is set accordingly)
+ */
int _alpm_trans_addtarget(pmtrans_t *trans, char *target)
{
ALPM_LOG_FUNC;
@@ -326,14 +335,15 @@ int _alpm_trans_addtarget(pmtrans_t *trans, char *target)
}
break;
case PM_TRANS_TYPE_REMOVE:
+ case PM_TRANS_TYPE_REMOVEUPGRADE:
if(_alpm_remove_loadtarget(trans, handle->db_local, target) == -1) {
- /* pm_errno is set by remove_loadtarget() */
+ /* pm_errno is set by _alpm_remove_loadtarget() */
return(-1);
}
break;
case PM_TRANS_TYPE_SYNC:
if(_alpm_sync_addtarget(trans, handle->db_local, handle->dbs_sync, target) == -1) {
- /* pm_errno is set by sync_loadtarget() */
+ /* pm_errno is set by _alpm_sync_loadtarget() */
return(-1);
}
break;
@@ -367,6 +377,7 @@ int _alpm_trans_prepare(pmtrans_t *trans, alpm_list_t **data)
}
break;
case PM_TRANS_TYPE_REMOVE:
+ case PM_TRANS_TYPE_REMOVEUPGRADE:
if(_alpm_remove_prepare(trans, handle->db_local, data) == -1) {
/* pm_errno is set by _alpm_remove_prepare() */
return(-1);
@@ -406,13 +417,14 @@ int _alpm_trans_commit(pmtrans_t *trans, alpm_list_t **data)
case PM_TRANS_TYPE_ADD:
case PM_TRANS_TYPE_UPGRADE:
if(_alpm_add_commit(trans, handle->db_local) == -1) {
- /* pm_errno is set by _alpm_add_prepare() */
+ /* pm_errno is set by _alpm_add_commit() */
return(-1);
}
break;
case PM_TRANS_TYPE_REMOVE:
+ case PM_TRANS_TYPE_REMOVEUPGRADE:
if(_alpm_remove_commit(trans, handle->db_local) == -1) {
- /* pm_errno is set by _alpm_remove_prepare() */
+ /* pm_errno is set by _alpm_remove_commit() */
return(-1);
}
break;
@@ -429,6 +441,8 @@ int _alpm_trans_commit(pmtrans_t *trans, alpm_list_t **data)
return(0);
}
+/* A depends on B through n depends <=> A listed in B's requiredby n times
+ * n == 0 or 1 in almost all cases */
int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg)
{
alpm_list_t *i, *j;
@@ -437,7 +451,7 @@ int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg)
pmdb_t *localdb;
ALPM_LOG_FUNC;
-
+
/* Sanity checks */
ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
ASSERT(pkg != NULL, RET_ERR(PM_ERR_PKG_INVALID, -1));
@@ -446,95 +460,48 @@ int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg)
depends = alpm_pkg_get_depends(pkg);
if(depends) {
- _alpm_log(PM_LOG_DEBUG, _("updating dependency packages 'requiredby' fields for %s-%s"),
+ _alpm_log(PM_LOG_DEBUG, "updating dependency packages 'requiredby' fields for %s-%s\n",
pkgname, pkg->version);
} else {
- _alpm_log(PM_LOG_DEBUG, _("package has no dependencies, no other packages to update"));
+ _alpm_log(PM_LOG_DEBUG, "package has no dependencies, no other packages to update\n");
}
localdb = alpm_option_get_localdb();
for(i = depends; i; i = i->next) {
+ if(!i->data) {
+ continue;
+ }
pmdepend_t* dep = alpm_splitdep(i->data);
if(dep == NULL) {
continue;
}
-
- if(trans->packages && trans->type == PM_TRANS_TYPE_REMOVE) {
- if(_alpm_pkg_find(dep->name, handle->trans->packages)) {
- continue;
- }
- }
-
- pmpkg_t *deppkg = _alpm_db_get_pkgfromcache(localdb, dep->name);
- if(!deppkg) {
- int found_provides = 0;
- /* look for a provides package */
- alpm_list_t *provides = _alpm_db_whatprovides(localdb, dep->name);
- for(j = provides; j; j = j->next) {
- if(!j->data) {
- continue;
- }
- pmpkg_t *provpkg = j->data;
- deppkg = _alpm_db_get_pkgfromcache(localdb, alpm_pkg_get_name(provpkg));
-
- if(!deppkg) {
- continue;
- }
-
- found_provides = 1;
-
+ for(j = _alpm_db_get_pkgcache(localdb); j; j = j->next) {
+ pmpkg_t *deppkg = j->data;
+ if(deppkg && alpm_depcmp(deppkg, dep)) {
/* this is cheating... we call this function to populate the package */
alpm_list_t *rqdby = alpm_pkg_get_requiredby(deppkg);
- _alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"),
+ _alpm_log(PM_LOG_DEBUG, "updating 'requiredby' field for package '%s'\n",
alpm_pkg_get_name(deppkg));
- if(trans->type == PM_TRANS_TYPE_REMOVE) {
+
+ if(trans->type == PM_TRANS_TYPE_REMOVE
+ || trans->type == PM_TRANS_TYPE_REMOVEUPGRADE) {
void *data = NULL;
rqdby = alpm_list_remove(rqdby, pkgname, _alpm_str_cmp, &data);
FREE(data);
deppkg->requiredby = rqdby;
} else {
- if(!alpm_list_find_str(rqdby, pkgname)) {
- rqdby = alpm_list_add(rqdby, strdup(pkgname));
- deppkg->requiredby = rqdby;
- }
+ rqdby = alpm_list_add(rqdby, strdup(pkgname));
+ deppkg->requiredby = rqdby;
}
if(_alpm_db_write(localdb, deppkg, INFRQ_DEPENDS)) {
- _alpm_log(PM_LOG_ERROR, _("could not update 'requiredby' database entry %s-%s"),
+ _alpm_log(PM_LOG_ERROR, _("could not update 'requiredby' database entry %s-%s\n"),
alpm_pkg_get_name(deppkg), alpm_pkg_get_version(deppkg));
}
}
- alpm_list_free(provides);
-
- if(!found_provides) {
- _alpm_log(PM_LOG_DEBUG, _("could not find dependency '%s'"), dep->name);
- continue;
- }
- }
-
- /* this is cheating... we call this function to populate the package */
- alpm_list_t *rqdby = alpm_pkg_get_requiredby(deppkg);
-
- _alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"),
- alpm_pkg_get_name(deppkg));
- if(trans->type == PM_TRANS_TYPE_REMOVE) {
- void *data = NULL;
- rqdby = alpm_list_remove(rqdby, pkgname, _alpm_str_cmp, &data);
- FREE(data);
- deppkg->requiredby = rqdby;
- } else {
- if(!alpm_list_find_str(rqdby, pkgname)) {
- rqdby = alpm_list_add(rqdby, strdup(pkgname));
- deppkg->requiredby = rqdby;
- }
- }
-
- if(_alpm_db_write(localdb, deppkg, INFRQ_DEPENDS)) {
- _alpm_log(PM_LOG_ERROR, _("could not update 'requiredby' database entry %s-%s"),
- alpm_pkg_get_name(deppkg), alpm_pkg_get_version(deppkg));
}
- free(dep);
+ FREE(dep);
}
return(0);
}
@@ -566,7 +533,7 @@ static int grep(const char *fn, const char *needle)
int _alpm_runscriptlet(const char *root, const char *installfn,
const char *script, const char *ver,
- const char *oldver, pmtrans_t *trans)
+ const char *oldver)
{
char scriptfn[PATH_MAX];
char cmdline[PATH_MAX];
@@ -581,7 +548,7 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
if(stat(installfn, &buf)) {
/* not found */
- _alpm_log(PM_LOG_DEBUG, "scriptlet '%s' not found", installfn);
+ _alpm_log(PM_LOG_DEBUG, "scriptlet '%s' not found\n", installfn);
return(0);
}
@@ -592,7 +559,7 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
}
snprintf(tmpdir, PATH_MAX, "%stmp/alpm_XXXXXX", root);
if(mkdtemp(tmpdir) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not create temp directory"));
+ _alpm_log(PM_LOG_ERROR, _("could not create temp directory\n"));
return(1);
}
_alpm_unpack(installfn, tmpdir, ".INSTALL");
@@ -612,18 +579,18 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
/* save the cwd so we can restore it later */
if(getcwd(cwd, PATH_MAX) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("could not get current working directory"));
+ _alpm_log(PM_LOG_ERROR, _("could not get current working directory\n"));
/* in case of error, cwd content is undefined: so we set it to something */
cwd[0] = 0;
}
/* just in case our cwd was removed in the upgrade operation */
if(chdir(root) != 0) {
- _alpm_log(PM_LOG_ERROR, _("could not change directory to %s (%s)"), root, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not change directory to %s (%s)\n"), root, strerror(errno));
goto cleanup;
}
- _alpm_log(PM_LOG_DEBUG, _("executing %s script..."), script);
+ _alpm_log(PM_LOG_DEBUG, "executing %s script...\n", script);
if(oldver) {
snprintf(cmdline, PATH_MAX, "source %s %s %s %s",
@@ -632,32 +599,32 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
snprintf(cmdline, PATH_MAX, "source %s %s %s",
scriptpath, script, ver);
}
- _alpm_log(PM_LOG_DEBUG, "%s", cmdline);
+ _alpm_log(PM_LOG_DEBUG, "%s\n", cmdline);
pid = fork();
if(pid == -1) {
- _alpm_log(PM_LOG_ERROR, _("could not fork a new process (%s)"), strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("could not fork a new process (%s)\n"), strerror(errno));
retval = 1;
goto cleanup;
}
if(pid == 0) {
- _alpm_log(PM_LOG_DEBUG, _("chrooting in %s"), root);
+ _alpm_log(PM_LOG_DEBUG, "chrooting in %s\n", root);
if(chroot(root) != 0) {
- _alpm_log(PM_LOG_ERROR, _("could not change the root directory (%s)"), strerror(errno));
- return(1);
+ _alpm_log(PM_LOG_ERROR, _("could not change the root directory (%s)\n"), strerror(errno));
+ exit(1);
}
if(chdir("/") != 0) {
- _alpm_log(PM_LOG_ERROR, _("could not change directory to / (%s)"), strerror(errno));
- return(1);
+ _alpm_log(PM_LOG_ERROR, _("could not change directory to / (%s)\n"), strerror(errno));
+ exit(1);
}
umask(0022);
- _alpm_log(PM_LOG_DEBUG, _("executing \"%s\""), cmdline);
+ _alpm_log(PM_LOG_DEBUG, "executing \"%s\"\n", cmdline);
execl("/bin/sh", "sh", "-c", cmdline, (char *)NULL);
exit(0);
} else {
if(waitpid(pid, 0, 0) == -1) {
- _alpm_log(PM_LOG_ERROR, _("call to waitpid failed (%s)"),
+ _alpm_log(PM_LOG_ERROR, _("call to waitpid failed (%s)\n"),
strerror(errno));
retval = 1;
goto cleanup;
@@ -666,7 +633,7 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
cleanup:
if(strlen(tmpdir) && _alpm_rmrf(tmpdir)) {
- _alpm_log(PM_LOG_WARNING, _("could not remove tmpdir %s"), tmpdir);
+ _alpm_log(PM_LOG_WARNING, _("could not remove tmpdir %s\n"), tmpdir);
}
if(strlen(cwd)) {
chdir(cwd);
diff --git a/lib/libalpm/trans.h b/lib/libalpm/trans.h
index f3575895..f88c61e1 100644
--- a/lib/libalpm/trans.h
+++ b/lib/libalpm/trans.h
@@ -81,7 +81,7 @@ int _alpm_trans_commit(pmtrans_t *trans, alpm_list_t **data);
int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg);
int _alpm_runscriptlet(const char *root, const char *installfn,
const char *script, const char *ver,
- const char *oldver, pmtrans_t *trans);
+ const char *oldver);
#endif /* _ALPM_TRANS_H */
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 72c17bf9..b1c3a402 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -48,8 +48,112 @@
#include "error.h"
#include "package.h"
#include "alpm.h"
+#include "alpm_list.h"
+#include "md5.h"
-#ifdef __sun__
+#ifndef HAVE_STRVERSCMP
+/* GNU's strverscmp() function, taken from glibc 2.3.2 sources
+ */
+
+/* Compare strings while treating digits characters numerically.
+ Copyright (C) 1997, 2002 Free Software Foundation, Inc.
+ Contributed by Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>, 1997.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+*/
+
+/* states: S_N: normal, S_I: comparing integral part, S_F: comparing
+ fractionnal parts, S_Z: idem but with leading Zeroes only */
+#define S_N 0x0
+#define S_I 0x4
+#define S_F 0x8
+#define S_Z 0xC
+
+/* result_type: CMP: return diff; LEN: compare using len_diff/diff */
+#define CMP 2
+#define LEN 3
+
+/* Compare S1 and S2 as strings holding indices/version numbers,
+ returning less than, equal to or greater than zero if S1 is less than,
+ equal to or greater than S2 (for more info, see the texinfo doc).
+*/
+
+static int strverscmp (s1, s2)
+ const char *s1;
+ const char *s2;
+{
+ const unsigned char *p1 = (const unsigned char *) s1;
+ const unsigned char *p2 = (const unsigned char *) s2;
+ unsigned char c1, c2;
+ int state;
+ int diff;
+
+ /* Symbol(s) 0 [1-9] others (padding)
+ Transition (10) 0 (01) d (00) x (11) - */
+ static const unsigned int next_state[] =
+ {
+ /* state x d 0 - */
+ /* S_N */ S_N, S_I, S_Z, S_N,
+ /* S_I */ S_N, S_I, S_I, S_I,
+ /* S_F */ S_N, S_F, S_F, S_F,
+ /* S_Z */ S_N, S_F, S_Z, S_Z
+ };
+
+ static const int result_type[] =
+ {
+ /* state x/x x/d x/0 x/- d/x d/d d/0 d/-
+ 0/x 0/d 0/0 0/- -/x -/d -/0 -/- */
+
+ /* S_N */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
+ CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
+ /* S_I */ CMP, -1, -1, CMP, +1, LEN, LEN, CMP,
+ +1, LEN, LEN, CMP, CMP, CMP, CMP, CMP,
+ /* S_F */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
+ CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
+ /* S_Z */ CMP, +1, +1, CMP, -1, CMP, CMP, CMP,
+ -1, CMP, CMP, CMP
+ };
+
+ if (p1 == p2)
+ return 0;
+
+ c1 = *p1++;
+ c2 = *p2++;
+ /* Hint: '0' is a digit too. */
+ state = S_N | ((c1 == '0') + (isdigit (c1) != 0));
+
+ while ((diff = c1 - c2) == 0 && c1 != '\0')
+ {
+ state = next_state[state];
+ c1 = *p1++;
+ c2 = *p2++;
+ state |= (c1 == '0') + (isdigit (c1) != 0);
+ }
+
+ state = result_type[state << 2 | (((c2 == '0') + (isdigit (c2) != 0)))];
+
+ switch (state)
+ {
+ case CMP:
+ return diff;
+
+ case LEN:
+ while (isdigit (*p1++))
+ if (!isdigit (*p2++))
+ return 1;
+
+ return isdigit (*p2) ? -1 : diff;
+
+ default:
+ return state;
+ }
+}
+#endif
+
+#ifndef HAVE_STRSEP
/* This is a replacement for strsep which is not portable (missing on Solaris).
* Copyright (c) 2001 by François Gouget <fgouget_at_codeweavers.com> */
char* strsep(char** str, const char* delims)
@@ -74,33 +178,6 @@ char* strsep(char** str, const char* delims)
*str=NULL;
return token;
}
-
-/* Backported from Solaris Express 4/06
- * Copyright (c) 2006 Sun Microsystems, Inc. */
-char *mkdtemp(char *template)
-{
- char *t = alloca(strlen(template) + 1);
- char *r;
-
- /* Save template */
- (void) strcpy(t, template);
- for (; ; ) {
- r = mkstemp(template);
-
- if (*r == '\0')
- return (NULL);
-
- if (mkdir(template, 0700) == 0)
- return (r);
-
- /* Other errors indicate persistent conditions. */
- if (errno != EEXIST)
- return (NULL);
-
- /* Reset template */
- (void) strcpy(template, t);
- }
-}
#endif
/* does the same thing as 'mkdir -p' */
@@ -124,7 +201,7 @@ int _alpm_makepath(const char *path)
if(mkdir(full, 0755)) {
FREE(orig);
umask(oldmask);
- _alpm_log(PM_LOG_ERROR, _("failed to make path '%s' : %s"),
+ _alpm_log(PM_LOG_ERROR, _("failed to make path '%s' : %s\n"),
path, strerror(errno));
return(1);
}
@@ -225,7 +302,7 @@ static void _strnadd(char **str, const char *append, unsigned int count)
if(*str) {
*str = realloc(*str, strlen(*str) + count + 1);
} else {
- *str = calloc(sizeof(char), count + 1);
+ *str = calloc(count + 1, sizeof(char));
}
strncat(*str, append, count);
@@ -287,7 +364,7 @@ int _alpm_lckmk()
}
}
- free(dir);
+ FREE(dir);
return(fd > 0 ? fd : -1);
}
@@ -321,8 +398,10 @@ int _alpm_unpack(const char *archive, const char *prefix, const char *fn)
archive_read_support_compression_all(_archive);
archive_read_support_format_all(_archive);
- if(archive_read_open_file(_archive, archive, ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
- _alpm_log(PM_LOG_ERROR, _("could not open %s: %s\n"), archive, archive_error_string(_archive));
+ if(archive_read_open_filename(_archive, archive,
+ ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
+ _alpm_log(PM_LOG_ERROR, _("could not open %s: %s\n"), archive,
+ archive_error_string(_archive));
RET_ERR(PM_ERR_PKG_OPEN, -1);
}
@@ -340,7 +419,7 @@ int _alpm_unpack(const char *archive, const char *prefix, const char *fn)
int ret = archive_read_extract(_archive, entry, archive_flags);
if(ret == ARCHIVE_WARN) {
/* operation succeeded but a non-critical error was encountered */
- _alpm_log(PM_LOG_DEBUG, _("warning extracting %s (%s)\n"),
+ _alpm_log(PM_LOG_DEBUG, "warning extracting %s (%s)\n",
entryname, archive_error_string(_archive));
} else if(ret != ARCHIVE_OK) {
_alpm_log(PM_LOG_ERROR, _("could not extract %s (%s)\n"),
@@ -465,5 +544,110 @@ int _alpm_str_cmp(const void *s1, const void *s2)
return(strcmp(s1, s2));
}
+/** Find a package file in an alpm cachedir.
+ * @param filename name of package file to find
+ * @return malloced path of file, NULL if not found
+ */
+char *_alpm_filecache_find(const char* filename)
+{
+ struct stat buf;
+ char path[PATH_MAX];
+ char *retpath;
+ alpm_list_t *i;
+
+ /* Loop through the cache dirs until we find a matching file */
+ for(i = alpm_option_get_cachedirs(); i; i = alpm_list_next(i)) {
+ snprintf(path, PATH_MAX, "%s%s", (char*)alpm_list_getdata(i),
+ filename);
+ if(stat(path, &buf) == 0) {
+ /* TODO maybe check to make sure it is readable? */
+ retpath = strdup(path);
+ _alpm_log(PM_LOG_DEBUG, "found cached pkg: %s\n", retpath);
+ return(retpath);
+ }
+ }
+ /* package wasn't found in any cachedir */
+ return(NULL);
+}
+
+/** Check the alpm cachedirs for existance and find a writable one.
+ * If no valid cache directory can be found, use /tmp.
+ * @return pointer to a writable cache directory.
+ */
+const char *_alpm_filecache_setup(void)
+{
+ struct stat buf;
+ alpm_list_t *i, *tmp;
+ char *cachedir;
+
+ /* Loop through the cache dirs until we find a writeable dir */
+ for(i = alpm_option_get_cachedirs(); i; i = alpm_list_next(i)) {
+ cachedir = alpm_list_getdata(i);
+ if(stat(cachedir, &buf) != 0) {
+ /* cache directory does not exist.... try creating it */
+ _alpm_log(PM_LOG_WARNING, _("no %s cache exists, creating...\n"),
+ cachedir);
+ alpm_logaction("warning: no %s cache exists, creating...",
+ cachedir);
+ if(_alpm_makepath(cachedir) == 0) {
+ _alpm_log(PM_LOG_DEBUG, "using cachedir: %s\n", cachedir);
+ return(cachedir);
+ }
+ } else if(S_ISDIR(buf.st_mode) && (buf.st_mode & S_IWUSR)) {
+ _alpm_log(PM_LOG_DEBUG, "using cachedir: %s\n", cachedir);
+ return(cachedir);
+ }
+ }
+
+ /* we didn't find a valid cache directory. use /tmp. */
+ i = alpm_option_get_cachedirs();
+ tmp = alpm_list_add(NULL, strdup("/tmp/"));
+ FREELIST(i);
+ alpm_option_set_cachedirs(tmp);
+ _alpm_log(PM_LOG_DEBUG, "using cachedir: %s", "/tmp/\n");
+ _alpm_log(PM_LOG_WARNING, _("couldn't create package cache, using /tmp instead\n"));
+ alpm_logaction("warning: couldn't create package cache, using /tmp instead");
+ return(alpm_list_getdata(tmp));
+}
+
+/** 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_get_md5sum(const char *filename)
+{
+ unsigned char output[16];
+ char *md5sum;
+ int ret, i;
+
+ ALPM_LOG_FUNC;
+
+ ASSERT(filename != NULL, return(NULL));
+
+ /* allocate 32 chars plus 1 for null */
+ md5sum = calloc(33, sizeof(char));
+ ret = md5_file(filename, output);
+
+ if (ret > 0) {
+ if (ret == 1) {
+ _alpm_log(PM_LOG_ERROR, _("md5: %s can't be opened\n"), filename);
+ } else if (ret == 2) {
+ _alpm_log(PM_LOG_ERROR, _("md5: %s can't be read\n"), filename);
+ }
+
+ return(NULL);
+ }
+
+ /* Convert the result to something readable */
+ for (i = 0; i < 16; i++) {
+ /* sprintf is acceptable here because we know our output */
+ sprintf(md5sum +(i * 2), "%02x", output[i]);
+ }
+ md5sum[32] = '\0';
+
+ _alpm_log(PM_LOG_DEBUG, "md5(%s) = %s\n", filename, md5sum);
+ return(md5sum);
+}
/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h
index 5fa8269d..3a57fe4a 100644
--- a/lib/libalpm/util.h
+++ b/lib/libalpm/util.h
@@ -26,6 +26,7 @@
#define _ALPM_UTIL_H
#include <stdio.h>
+#include <stdarg.h>
#include <libintl.h> /* here so it doesn't need to be included elsewhere */
#include <time.h>
@@ -53,10 +54,14 @@ int _alpm_logaction(unsigned short usesyslog, FILE *f, const char *fmt, va_list
int _alpm_ldconfig(const char *root);
void _alpm_time2string(time_t t, char *buffer);
int _alpm_str_cmp(const void *s1, const void *s2);
+char *_alpm_filecache_find(const char *filename);
+const char *_alpm_filecache_setup(void);
-#ifdef __sun__
-char* strsep(char** str, const char* delims);
-char* mkdtemp(char *template);
+#ifndef HAVE_STRVERSCMP
+static int strverscmp(const char *, const char *);
+#endif
+#ifndef HAVE_STRSEP
+char *strsep(char **, const char *);
#endif
/* check exported library symbols with: nm -C -D <lib> */
diff --git a/lib/libalpm/versioncmp.c b/lib/libalpm/versioncmp.c
deleted file mode 100644
index 79dfaac9..00000000
--- a/lib/libalpm/versioncmp.c
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * versioncmp.c
- *
- * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
- * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
- * Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- * USA.
- */
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-
-/* libalpm */
-#include "versioncmp.h"
-#include "alpm_list.h"
-#include "alpm.h"
-#include "log.h"
-#include "util.h"
-
-#ifndef HAVE_STRVERSCMP
-/* GNU's strverscmp() function, taken from glibc 2.3.2 sources
- */
-
-/* Compare strings while treating digits characters numerically.
- Copyright (C) 1997, 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>, 1997.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* states: S_N: normal, S_I: comparing integral part, S_F: comparing
- fractionnal parts, S_Z: idem but with leading Zeroes only */
-#define S_N 0x0
-#define S_I 0x4
-#define S_F 0x8
-#define S_Z 0xC
-
-/* result_type: CMP: return diff; LEN: compare using len_diff/diff */
-#define CMP 2
-#define LEN 3
-
-/* Compare S1 and S2 as strings holding indices/version numbers,
- returning less than, equal to or greater than zero if S1 is less than,
- equal to or greater than S2 (for more info, see the texinfo doc).
-*/
-
-static int strverscmp (s1, s2)
- const char *s1;
- const char *s2;
-{
- const unsigned char *p1 = (const unsigned char *) s1;
- const unsigned char *p2 = (const unsigned char *) s2;
- unsigned char c1, c2;
- int state;
- int diff;
-
- /* Symbol(s) 0 [1-9] others (padding)
- Transition (10) 0 (01) d (00) x (11) - */
- static const unsigned int next_state[] =
- {
- /* state x d 0 - */
- /* S_N */ S_N, S_I, S_Z, S_N,
- /* S_I */ S_N, S_I, S_I, S_I,
- /* S_F */ S_N, S_F, S_F, S_F,
- /* S_Z */ S_N, S_F, S_Z, S_Z
- };
-
- static const int result_type[] =
- {
- /* state x/x x/d x/0 x/- d/x d/d d/0 d/-
- 0/x 0/d 0/0 0/- -/x -/d -/0 -/- */
-
- /* S_N */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
- CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
- /* S_I */ CMP, -1, -1, CMP, +1, LEN, LEN, CMP,
- +1, LEN, LEN, CMP, CMP, CMP, CMP, CMP,
- /* S_F */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
- CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
- /* S_Z */ CMP, +1, +1, CMP, -1, CMP, CMP, CMP,
- -1, CMP, CMP, CMP
- };
-
- if (p1 == p2)
- return 0;
-
- c1 = *p1++;
- c2 = *p2++;
- /* Hint: '0' is a digit too. */
- state = S_N | ((c1 == '0') + (isdigit (c1) != 0));
-
- while ((diff = c1 - c2) == 0 && c1 != '\0')
- {
- state = next_state[state];
- c1 = *p1++;
- c2 = *p2++;
- state |= (c1 == '0') + (isdigit (c1) != 0);
- }
-
- state = result_type[state << 2 | (((c2 == '0') + (isdigit (c2) != 0)))];
-
- switch (state)
- {
- case CMP:
- return diff;
-
- case LEN:
- while (isdigit (*p1++))
- if (!isdigit (*p2++))
- return 1;
-
- return isdigit (*p2) ? -1 : diff;
-
- default:
- return state;
- }
-}
-
-#endif
-
-/* this function was taken from rpm 4.0.4 and rewritten */
-int _alpm_versioncmp(const char *a, const char *b)
-{
- char str1[64], str2[64];
- char *ptr1, *ptr2;
- char *one, *two;
- char *rel1 = NULL, *rel2 = NULL;
- char oldch1, oldch2;
- int is1num, is2num;
- int rc;
-
- ALPM_LOG_FUNC;
-
- if(!strcmp(a,b)) {
- return(0);
- }
-
- strncpy(str1, a, 64);
- str1[63] = 0;
- strncpy(str2, b, 64);
- str2[63] = 0;
-
- /* lose the release number */
- for(one = str1; *one && *one != '-'; one++);
- if(one) {
- *one = '\0';
- rel1 = ++one;
- }
- for(two = str2; *two && *two != '-'; two++);
- if(two) {
- *two = '\0';
- rel2 = ++two;
- }
-
- one = str1;
- two = str2;
-
- while(*one || *two) {
- while(*one && !isalnum((int)*one)) one++;
- while(*two && !isalnum((int)*two)) two++;
-
- ptr1 = one;
- ptr2 = two;
-
- /* find the next segment for each string */
- if(isdigit((int)*ptr1)) {
- is1num = 1;
- while(*ptr1 && isdigit((int)*ptr1)) ptr1++;
- } else {
- is1num = 0;
- while(*ptr1 && isalpha((int)*ptr1)) ptr1++;
- }
- if(isdigit((int)*ptr2)) {
- is2num = 1;
- while(*ptr2 && isdigit((int)*ptr2)) ptr2++;
- } else {
- is2num = 0;
- while(*ptr2 && isalpha((int)*ptr2)) ptr2++;
- }
-
- oldch1 = *ptr1;
- *ptr1 = '\0';
- oldch2 = *ptr2;
- *ptr2 = '\0';
-
- /* see if we ran out of segments on one string */
- if(one == ptr1 && two != ptr2) {
- return(is2num ? -1 : 1);
- }
- if(one != ptr1 && two == ptr2) {
- return(is1num ? 1 : -1);
- }
-
- /* see if we have a type mismatch (ie, one is alpha and one is digits) */
- if(is1num && !is2num) return(1);
- if(!is1num && is2num) return(-1);
-
- if(is1num) while(*one == '0') one++;
- if(is2num) while(*two == '0') two++;
-
- rc = strverscmp(one, two);
- if(rc) return(rc);
-
- *ptr1 = oldch1;
- *ptr2 = oldch2;
- one = ptr1;
- two = ptr2;
- }
-
- if((!*one) && (!*two)) {
- /* compare release numbers */
- if(rel1 && rel2 && strlen(rel1) && strlen(rel2)) return(_alpm_versioncmp(rel1, rel2));
- return(0);
- }
-
- return(*one ? 1 : -1);
-}
-
-int SYMEXPORT alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep)
-{
- int equal = 0;
-
- ALPM_LOG_FUNC;
-
- if(strcmp(pkg->name, dep->name) == 0
- || alpm_list_find_str(alpm_pkg_get_provides(pkg), dep->name)) {
- if(dep->mod == PM_DEP_MOD_ANY) {
- equal = 1;
- } else {
- int cmp = _alpm_versioncmp(alpm_pkg_get_version(pkg), dep->version);
- switch(dep->mod) {
- case PM_DEP_MOD_EQ: equal = (cmp == 0); break;
- case PM_DEP_MOD_GE: equal = (cmp >= 0); break;
- case PM_DEP_MOD_LE: equal = (cmp <= 0); break;
- default: equal = 1; break;
- }
- }
-
- char *mod = "~=";
- switch(dep->mod) {
- case PM_DEP_MOD_EQ: mod = "=="; break;
- case PM_DEP_MOD_GE: mod = ">="; break;
- case PM_DEP_MOD_LE: mod = "<="; break;
- default: break;
- }
-
- if(strlen(dep->version) > 0) {
- _alpm_log(PM_LOG_DEBUG, _("depcmp: %s-%s %s %s-%s => %s"),
- alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg),
- mod, dep->name, dep->version,
- (equal ? "match" : "no match"));
- } else {
- _alpm_log(PM_LOG_DEBUG, _("depcmp: %s-%s %s %s => %s"),
- alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg),
- mod, dep->name,
- (equal ? "match" : "no match"));
- }
- }
-
- return equal;
-}
-
-
-/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/versioncmp.h b/lib/libalpm/versioncmp.h
deleted file mode 100644
index 13a2d5a7..00000000
--- a/lib/libalpm/versioncmp.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * versioncmp.h
- *
- * Copyright (c) 2005 by Judd Vinet <jvinet@zeroflux.org>
- * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
- * Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- * USA.
- */
-#ifndef _ALPM_VERSIONCMP_H
-#define _ALPM_VERSIONCMP_H
-
-#include "deps.h"
-#include "package.h"
-
-int _alpm_versioncmp(const char *a, const char *b);
-
-#endif /* _ALPM_VERSIONCMP_H */
-
-/* vim: set ts=2 sw=2 noet: */
diff --git a/pactest/.gitignore b/pactest/.gitignore
index 59a0622c..0d20b648 100644
--- a/pactest/.gitignore
+++ b/pactest/.gitignore
@@ -1,4 +1 @@
-Makefile
-Makefile.in
*.pyc
-root
diff --git a/pactest/pmdb.py b/pactest/pmdb.py
index fb0e10bb..5d5104fb 100755
--- a/pactest/pmdb.py
+++ b/pactest/pmdb.py
@@ -218,7 +218,10 @@ class pmdb:
"""
"""
- path = os.path.join(self.dbdir, self.treename, pkg.fullname())
+ if self.treename == "local":
+ path = os.path.join(self.dbdir, self.treename, pkg.fullname())
+ else:
+ path = os.path.join(self.dbdir, "sync", self.treename, pkg.fullname())
mkdir(path)
# desc
diff --git a/pactest/tests/conflict001.py b/pactest/tests/conflict001.py
new file mode 100644
index 00000000..a9f3f6b3
--- /dev/null
+++ b/pactest/tests/conflict001.py
@@ -0,0 +1,19 @@
+self.description = "target vs db conflict will disappear after upgrade"
+
+sp1 = pmpkg("pkg1")
+sp1.conflicts = ["imaginary"]
+self.addpkg2db("sync", sp1);
+
+sp2 = pmpkg("pkg2", "1.0-2")
+self.addpkg2db("sync", sp2)
+
+lp = pmpkg("pkg2", "1.0-1")
+lp.provides = ["imaginary"]
+self.addpkg2db("local", lp)
+
+self.args = "-S %s" % " ".join([p.name for p in sp1, sp2])
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("PKG_VERSION=pkg2|1.0-2")
diff --git a/pactest/tests/conflict002.py b/pactest/tests/conflict002.py
new file mode 100644
index 00000000..2e326f52
--- /dev/null
+++ b/pactest/tests/conflict002.py
@@ -0,0 +1,13 @@
+self.description = "conflict with version (conflict)"
+
+p = pmpkg("pkg1")
+p.conflicts = ["pkg2<=1.0-2"]
+self.addpkg(p);
+
+lp = pmpkg("pkg2", "1.0-1")
+self.addpkg2db("local", lp)
+
+self.args = "-A %s" % p.filename()
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("!PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
diff --git a/pactest/tests/conflict003.py b/pactest/tests/conflict003.py
new file mode 100644
index 00000000..7205086a
--- /dev/null
+++ b/pactest/tests/conflict003.py
@@ -0,0 +1,13 @@
+self.description = "conflict with version (no conflict)"
+
+p = pmpkg("pkg1")
+p.conflicts = ["pkg2=1.0-2"]
+self.addpkg(p);
+
+lp = pmpkg("pkg2", "1.0-1")
+self.addpkg2db("local", lp)
+
+self.args = "-A %s" % p.filename()
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
diff --git a/pactest/tests/conflict004.py b/pactest/tests/conflict004.py
new file mode 100644
index 00000000..948017d9
--- /dev/null
+++ b/pactest/tests/conflict004.py
@@ -0,0 +1,15 @@
+self.description = "a package conflicts with itself"
+
+sp1 = pmpkg("pkg1")
+sp1.conflicts = ["pkg1"]
+self.addpkg2db("sync", sp1);
+
+sp2 = pmpkg("pkg2", "1.0-2")
+self.addpkg2db("sync", sp2)
+
+self.args = "-S %s" % " ".join([p.name for p in sp1, sp2])
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("PKG_VERSION=pkg2|1.0-2")
diff --git a/pactest/tests/remove044.py b/pactest/tests/remove044.py
new file mode 100644
index 00000000..720c1fe7
--- /dev/null
+++ b/pactest/tests/remove044.py
@@ -0,0 +1,16 @@
+self.description = "-Rs test"
+
+lp1 = pmpkg("pkg1")
+lp1.depends = ["pkg2=1.1-1"]
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2", "1.0-1")
+lp2.reason = 1
+self.addpkg2db("local", lp2)
+
+
+self.args = "-Rs %s" % lp1.name
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("!PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
diff --git a/pactest/tests/remove045.py b/pactest/tests/remove045.py
new file mode 100644
index 00000000..d8b7845b
--- /dev/null
+++ b/pactest/tests/remove045.py
@@ -0,0 +1,30 @@
+self.description = "-Rs advanced test"
+
+lp1 = pmpkg("pkg1")
+lp1.depends = ["pkg2" , "pkg3"]
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2")
+lp2.reason = 1
+lp2.depends = ["pkg4"]
+lp2.requiredby = ["pkg1"]
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("pkg3")
+lp3.reason = 1
+lp3.requiredby = ["pkg1", "pkg4"]
+self.addpkg2db("local", lp3)
+
+lp4 = pmpkg("pkg4")
+lp4.reason = 1
+lp4.depends = ["pkg3"]
+lp4.requiredby = ["pkg2"]
+self.addpkg2db("local", lp4)
+
+self.args = "-Rs %s" % lp1.name
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("!PKG_EXIST=pkg1")
+self.addrule("!PKG_EXIST=pkg2")
+self.addrule("!PKG_EXIST=pkg3")
+self.addrule("!PKG_EXIST=pkg4")
diff --git a/pactest/tests/remove046.py b/pactest/tests/remove046.py
new file mode 100644
index 00000000..1ee8be17
--- /dev/null
+++ b/pactest/tests/remove046.py
@@ -0,0 +1,10 @@
+self.description = "Cascade remove a package with a broken required by"
+
+lp1 = pmpkg("pkg1")
+lp1.requiredby = [ "fake" ]
+self.addpkg2db("local", lp1)
+
+self.args = "-Rc %s" % lp1.name
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("!PKG_EXIST=pkg1")
diff --git a/pactest/tests/remove047.py b/pactest/tests/remove047.py
new file mode 100644
index 00000000..9606c2e3
--- /dev/null
+++ b/pactest/tests/remove047.py
@@ -0,0 +1,25 @@
+self.description = "Remove a package required by other packages"
+
+lp1 = pmpkg("pkg1")
+lp1.requiredby = ["pkg2", "pkg3", "pkg4"]
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2")
+lp2.depends = ["pkg1"]
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("pkg3")
+lp3.depends = ["pkg1"]
+self.addpkg2db("local", lp3)
+
+lp4 = pmpkg("pkg4")
+lp4.depends = ["pkg1"]
+self.addpkg2db("local", lp4)
+
+self.args = "-R pkg1 pkg2"
+
+self.addrule("!PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("PKG_EXIST=pkg3")
+self.addrule("PKG_EXIST=pkg4")
diff --git a/pactest/tests/sync011.py b/pactest/tests/sync011.py
new file mode 100644
index 00000000..f5b1943a
--- /dev/null
+++ b/pactest/tests/sync011.py
@@ -0,0 +1,20 @@
+self.description = "Install a package from a sync db with cascaded dependencies + provides"
+
+sp1 = pmpkg("dummy", "1.0-2")
+sp1.depends = ["dep1", "dep2=1.0-2"]
+
+sp2 = pmpkg("dep1")
+sp2.files = ["bin/dep1"]
+sp2.provides = ["dep2"]
+
+sp3 = pmpkg("dep2", "1.0-2")
+
+for p in sp1, sp2, sp3:
+ self.addpkg2db("sync", p);
+
+self.args = "-S %s" % sp1.name
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_VERSION=dummy|1.0-2")
+self.addrule("PKG_EXIST=dep1")
+self.addrule("PKG_EXIST=dep2")
diff --git a/pactest/tests/sync012.py b/pactest/tests/sync012.py
new file mode 100644
index 00000000..3aaba376
--- /dev/null
+++ b/pactest/tests/sync012.py
@@ -0,0 +1,20 @@
+self.description = "Install packages from a sync db with circular dependencies"
+
+sp1 = pmpkg("pkg1")
+sp1.depends = ["pkg2"]
+
+sp2 = pmpkg("pkg2")
+sp2.depends = ["pkg3"]
+
+sp3 = pmpkg("pkg3")
+sp3.depends = ["pkg1"]
+
+for p in sp1, sp2, sp3:
+ self.addpkg2db("sync", p);
+
+self.args = "-S %s" % sp1.name
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("PKG_EXIST=pkg3")
diff --git a/pactest/tests/sync022.py b/pactest/tests/sync022.py
deleted file mode 100644
index c24a979f..00000000
--- a/pactest/tests/sync022.py
+++ /dev/null
@@ -1,22 +0,0 @@
-self.description = "Installs a group with two conflicting packages, one replacing the other"
-
-sp1 = pmpkg("pkg1")
-sp1.groups = ["grp"]
-self.addpkg2db("sync", sp1);
-
-sp2 = pmpkg("pkg2")
-sp2.groups = ["grp"]
-sp2.provides = ["pkg1"]
-sp2.conflicts = ["pkg1"]
-sp2.replaces = ["pkg1"]
-self.addpkg2db("sync", sp2);
-
-lp1 = pmpkg("pkg2")
-lp1.groups = ["grp"]
-self.addpkg2db("local", lp1);
-
-self.args = "-S %s" % "grp"
-
-self.addrule("PACMAN_RETCODE=0")
-self.addrule("PKG_EXIST=pkg2");
-self.addrule("!PKG_EXIST=pkg1");
diff --git a/pactest/tests/sync030.py b/pactest/tests/sync030.py
new file mode 100644
index 00000000..1fd97500
--- /dev/null
+++ b/pactest/tests/sync030.py
@@ -0,0 +1,19 @@
+self.description = "Sync packages non-explicitly"
+
+lp1 = pmpkg("pkg1")
+lp1.reason = 0
+self.addpkg2db("local", lp1)
+
+p1 = pmpkg("pkg1", "1.0-2")
+p2 = pmpkg("pkg2", "1.0-2")
+
+for p in p1, p2:
+ self.addpkg2db("sync", p)
+
+self.args = "-S --asdeps %s" % " ".join([p.name for p in p1, p2])
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_VERSION=pkg1|1.0-2")
+self.addrule("PKG_VERSION=pkg2|1.0-2")
+self.addrule("PKG_REASON=pkg1|1")
+self.addrule("PKG_REASON=pkg2|1")
diff --git a/pactest/tests/sync1002.py b/pactest/tests/sync1002.py
new file mode 100644
index 00000000..c158838b
--- /dev/null
+++ b/pactest/tests/sync1002.py
@@ -0,0 +1,19 @@
+self.description = "Test -Se (resolve the dependencies' dependencies )"
+
+sp1 = pmpkg("pkg1")
+sp1.depends = [ "pkg2" ]
+self.addpkg2db("sync", sp1)
+
+sp2 = pmpkg("pkg2")
+sp2.depends = [ "pkg3" ]
+self.addpkg2db("sync", sp2)
+
+sp3 = pmpkg("pkg3")
+self.addpkg2db("sync", sp3)
+
+self.args = "-Se pkg1 pkg3"
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("PKG_EXIST=pkg3")
+self.addrule("!PKG_EXIST=pkg1")
diff --git a/pactest/tests/sync1003.py b/pactest/tests/sync1003.py
new file mode 100644
index 00000000..3fd9799d
--- /dev/null
+++ b/pactest/tests/sync1003.py
@@ -0,0 +1,26 @@
+self.description = "Induced removal would break dependency"
+
+sp1 = pmpkg("pkg1", "1.0-2")
+sp1.replaces = [ "pkg2" ]
+self.addpkg2db("sync", sp1)
+
+sp2 = pmpkg("pkg2", "1.0-2")
+self.addpkg2db("sync", sp2)
+
+sp3 = pmpkg("pkg3", "1.0-2")
+sp3.depends = ["pkg2=1.0-2"]
+self.addpkg2db("sync", sp3)
+
+lp1 = pmpkg("pkg1", "1.0-1")
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2", "1.0-2")
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("pkg3", "1.0-1")
+self.addpkg2db("local", lp3)
+
+self.args = "-Su"
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_EXIST=pkg2")
diff --git a/pactest/tests/sync400.py b/pactest/tests/sync400.py
new file mode 100644
index 00000000..2ee1095d
--- /dev/null
+++ b/pactest/tests/sync400.py
@@ -0,0 +1,25 @@
+self.description = "Install package with dep that conflicts with older version of package"
+
+sp1 = pmpkg("pkg1", "1.0-2")
+sp1.depends = ["pkg2=1.0-2"]
+self.addpkg2db("sync", sp1)
+
+sp2 = pmpkg("pkg2", "1.0-2")
+sp2.conflicts = [ "pkg1=1.0-1" ]
+self.addpkg2db("sync", sp2)
+
+lp1 = pmpkg("pkg1", "1.0-1")
+lp1.depends = ["pkg2=1.0-1"]
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2", "1.0-1")
+lp2.requiredby = [ "pkg1" ]
+self.addpkg2db("local", lp2)
+
+self.args = "-S pkg1"
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_VERSION=pkg1|1.0-2")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("PKG_VERSION=pkg2|1.0-2")
diff --git a/pactest/tests/sync401.py b/pactest/tests/sync401.py
new file mode 100644
index 00000000..eb816377
--- /dev/null
+++ b/pactest/tests/sync401.py
@@ -0,0 +1,21 @@
+self.description = "Ensure we choose provider already in target list"
+
+sp1 = pmpkg("pkg1")
+sp1.depends = ["dep"]
+self.addpkg2db("sync", sp1)
+
+sp2 = pmpkg("pkg2")
+sp2.provides = ["dep"]
+self.addpkg2db("sync", sp2)
+
+sp3 = pmpkg("pkg3")
+sp3.conflicts = ["pkg2"]
+sp3.provides = ["dep"]
+self.addpkg2db("sync", sp3)
+
+self.args = "-S pkg1 pkg2"
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("!PKG_EXIST=pkg3")
diff --git a/pactest/tests/sync402.py b/pactest/tests/sync402.py
new file mode 100644
index 00000000..6d82f735
--- /dev/null
+++ b/pactest/tests/sync402.py
@@ -0,0 +1,21 @@
+self.description = "Choice between two providers (1)"
+
+sp1 = pmpkg("pkg1")
+sp1.depends = ["dep"]
+self.addpkg2db("sync", sp1)
+
+sp2 = pmpkg("pkg2")
+sp2.provides = ["dep"]
+self.addpkg2db("sync", sp2)
+
+sp3 = pmpkg("pkg3")
+sp3.conflicts = ["pkg1"]
+sp3.provides = ["dep"]
+self.addpkg2db("sync", sp3)
+
+self.args = "-S pkg1"
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
+self.addrule("!PKG_EXIST=pkg3")
diff --git a/pactest/tests/sync403.py b/pactest/tests/sync403.py
new file mode 100644
index 00000000..b8d01016
--- /dev/null
+++ b/pactest/tests/sync403.py
@@ -0,0 +1,21 @@
+self.description = "Choice between two providers (2)"
+
+sp1 = pmpkg("pkg1")
+sp1.depends = ["dep"]
+self.addpkg2db("sync", sp1)
+
+sp2 = pmpkg("pkg2")
+sp2.conflicts = [ "pkg1" ]
+sp2.provides = [ "dep" ]
+self.addpkg2db("sync", sp2)
+
+sp3 = pmpkg("pkg3")
+sp3.provides = [ "dep" ]
+self.addpkg2db("sync", sp3)
+
+self.args = "-S pkg1"
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("!PKG_EXIST=pkg2")
+self.addrule("PKG_EXIST=pkg3")
diff --git a/pactest/tests/upgrade031.py b/pactest/tests/upgrade031.py
new file mode 100644
index 00000000..856de983
--- /dev/null
+++ b/pactest/tests/upgrade031.py
@@ -0,0 +1,19 @@
+self.description = "Install packages non-explicitly"
+
+lp1 = pmpkg("pkg1")
+lp1.reason = 0
+self.addpkg2db("local", lp1)
+
+p1 = pmpkg("pkg1", "1.0-2")
+p2 = pmpkg("pkg2", "1.0-2")
+
+for p in p1, p2:
+ self.addpkg(p)
+
+self.args = "-U --asdeps %s" % " ".join([p.filename() for p in p1, p2])
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_VERSION=pkg1|1.0-2")
+self.addrule("PKG_VERSION=pkg2|1.0-2")
+self.addrule("PKG_REASON=pkg1|1")
+self.addrule("PKG_REASON=pkg2|1")
diff --git a/pactest/tests/upgrade056.py b/pactest/tests/upgrade056.py
index 8419731c..b92c38ac 100644
--- a/pactest/tests/upgrade056.py
+++ b/pactest/tests/upgrade056.py
@@ -11,6 +11,7 @@ self.addpkg2db("local", lp2)
lp3 = pmpkg("pkg3")
lp3.provides = ["imaginary"]
+lp3.requiredby = [ "pkg1" ]
self.addpkg2db("local", lp3)
p = pmpkg("pkg2", "1.0-2")
diff --git a/po/.gitignore b/po/.gitignore
index 50a7b2a4..3be83ffa 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -1,5 +1,3 @@
-Makefile
-Makefile.in
*.gmo
POTFILES
stamp-po
diff --git a/po/de.po b/po/de.po
index ba31362f..6df0bb26 100644
--- a/po/de.po
+++ b/po/de.po
@@ -11,7 +11,7 @@ msgstr ""
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
"POT-Creation-Date: 2007-04-25 00:44-0400\n"
"PO-Revision-Date: 2007-04-17 20:18+0200\n"
-"Last-Translator: Pierre Schmitz <pierre@archlinux.de>\n"
+"Last-Translator: Matthias Gorissen <matthias@archlinux.de>\n"
"Language-Team: German <archlinux.de>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -296,27 +296,24 @@ msgid "No changelog available for '%s'.\n"
msgstr "Kein Änderungsprotokoll für '%s' verfügbar.\n"
#: src/pacman/pacman.c:94
-#, fuzzy
msgid "options"
-msgstr "Optionen:\n"
+msgstr "Optionen"
#: src/pacman/pacman.c:95
-#, fuzzy
msgid "file"
-msgstr "fehlgeschlagen.\n"
+msgstr "Datei"
#: src/pacman/pacman.c:96
msgid "package"
-msgstr ""
+msgstr "Paket"
#: src/pacman/pacman.c:97
msgid "usage"
-msgstr ""
+msgstr "Verwendung"
#: src/pacman/pacman.c:98
-#, fuzzy
msgid "operation"
-msgstr "Optionen:\n"
+msgstr "Operation"
#: src/pacman/pacman.c:111
#, c-format
@@ -378,7 +375,7 @@ msgid " -c, --changelog view the changelog of a package\n"
msgstr " -c, --changelog Das Änderungsprotokoll des Paketes anzeigen\n"
#: src/pacman/pacman.c:140
-#, fuzzy, c-format
+#, c-format
msgid ""
" -e, --orphans list all packages installed as dependencies but no "
"longer\n"
@@ -386,6 +383,7 @@ msgid ""
msgstr ""
" -e, --orphans Zeigt alle Pakete, die als Abhängigkeiten "
"installiert\n"
+" wurden, aber nicht mehr benötigt werden\n"
#: src/pacman/pacman.c:142 src/pacman/pacman.c:157
#, c-format
@@ -413,7 +411,7 @@ msgstr ""
#: src/pacman/pacman.c:146
#, c-format
msgid " -o, --owns <file> query the package that owns <file>\n"
-msgstr " -o, --owns <Datei> Fragt das Paket ab, dass <Datei> enthält\n"
+msgstr " -o, --owns <Datei> Fragt das Paket ab, das <Datei> enthält\n"
#: src/pacman/pacman.c:147
#, c-format
@@ -490,7 +488,7 @@ msgstr ""
#, c-format
msgid ""
" -y, --refresh download fresh package databases from the server\n"
-msgstr " -y, --refresh Lädt frische Paketdatenbank vom Server\n"
+msgstr " -y, --refresh Lädt frische Paketdatenbanken vom Server\n"
#: src/pacman/pacman.c:165
#, c-format
@@ -527,11 +525,11 @@ msgstr ""
" heruntergeladen werden\n"
#: src/pacman/pacman.c:171
-#, fuzzy, c-format
+#, c-format
msgid ""
" --noscriptlet do not execute the install scriptlet if one exists\n"
msgstr ""
-" --noscriptlet Installationskript nicht ausführen, falls vorhanden\n"
+" --noscriptlet Installationsskript nicht ausführen, falls vorhanden\n"
#: src/pacman/pacman.c:172
#, c-format
@@ -553,14 +551,15 @@ msgstr " -b, --dbpath <Pfad> Setzt einen anderen Ort für die Datenbank\n"
#: src/pacman/pacman.c:175
#, c-format
msgid " --cachedir <dir> set an alternate package cache location\n"
-msgstr " -b, --dbpath <Pfad> Setzt einen anderen Ort für den Paketpuffer\n"
+msgstr " --cachedir <Pfad> Setzt einen anderen Ort für den Paketpuffer\n"
#: src/pacman/pacman.c:189
-#, fuzzy, c-format
+#, c-format
msgid ""
" This program may be freely redistributed under\n"
" the terms of the GNU General Public License\n"
msgstr " Dieses Programm ist frei verfügbar unter\n"
+" den Bedingungen der GNU General Public License\n"
#: src/pacman/pacman.c:340
#, c-format
@@ -593,7 +592,7 @@ msgstr "Konnte alpm-Bibliothek nicht initialisieren (%s)\n"
#: src/pacman/pacman.c:522
msgid "you cannot perform this operation unless you are root.\n"
-msgstr "Sie benötigen root-Rechte, um diese Operation ausführen zu können\n"
+msgstr "Sie benötigen root-Rechte, um diese Operation auszuführen.\n"
#: src/pacman/pacman.c:538
#, c-format
@@ -763,7 +762,7 @@ msgstr " %s ist aktuell\n"
#: src/pacman/sync.c:345
#, c-format
msgid "repository '%s' does not exist\n"
-msgstr "Repositorium '%s' wurde nicht gefunden.\n"
+msgstr "Repositorium '%s' existiert nicht.\n"
#: src/pacman/sync.c:361
#, c-format
@@ -1006,7 +1005,7 @@ msgid ""
"Total Removed Size: %.2f MB\n"
msgstr ""
"\n"
-"Gesamtgröße der zu entfernenden Pakete : %.2f MB\n"
+"Gesamtgröße der zu entfernenden Pakete: %.2f MB\n"
#: src/pacman/util.c:330
#, c-format
@@ -1015,66 +1014,10 @@ msgid ""
"Total Package Size: %.2f MB\n"
msgstr ""
"\n"
-"Gesamte Paketgröße : %.2f MB\n"
+"Gesamte Paketgröße: %.2f MB\n"
#: src/pacman/util.c:337
#, c-format
msgid "Total Installed Size: %.2f MB\n"
-msgstr "Gesamtgröße der installierten Pakete : %.2f MB\n"
-
-#~ msgid "usage: %s {-h --help}\n"
-#~ msgstr "Verwendung: %s {-h --help}\n"
-
-#~ msgid " %s {-V --version}\n"
-#~ msgstr " %s {-V --version}\n"
-
-#~ msgid " %s {-A --add} [options] <file>\n"
-#~ msgstr " %s {-A --add} [Optionen] <Datei>\n"
-
-#~ msgid " %s {-F --freshen} [options] <file>\n"
-#~ msgstr " %s {-F --freshen} [Optionen] <Datei>\n"
-
-#~ msgid " %s {-Q --query} [options] [package]\n"
-#~ msgstr " %s {-Q --query} [Optionen] [Paket]\n"
-
-#~ msgid " %s {-R --remove} [options] <package>\n"
-#~ msgstr " %s {-R --remove} [Optionen] <Paket>\n"
-
-#~ msgid " %s {-S --sync} [options] [package]\n"
-#~ msgstr " %s {-S --sync} [Optionen] [Paket]\n"
-
-#~ msgid " %s {-U --upgrade} [options] <file>\n"
-#~ msgstr " %s {-U --upgrade} [Optionen] <Datei>\n"
-
-#~ msgid "usage: %s {-A --add} [options] <file>\n"
-#~ msgstr "Verwendung: %s {-A -add} [Optionen] <Datei>\n"
-
-#~ msgid "usage: %s {-F --freshen} [options] <file>\n"
-#~ msgstr "Verwendung: %s {-F --freshen} [Optionen] <Datei>\n"
-
-#~ msgid "usage: %s {-U --upgrade} [options] <file>\n"
-#~ msgstr "Verwendung: %s {-U --upgrade} [Optionen] <Datei>\n"
-
-#~ msgid "usage: %s {-Q --query} [options] [package]\n"
-#~ msgstr "Verwendung: %s {-Q --query} [Optionen] [Pakete]\n"
-
-#~ msgid " required by any package\n"
-#~ msgstr " wurden, aber nicht mehr benötigt werden\n"
-
-#~ msgid "usage: %s {-S --sync} [options] [package]\n"
-#~ msgstr "Benutzung: %s {-S --sync} [Optionen] [Paket]\n"
-
-#~ msgid " the terms of the GNU General Public License\n"
-#~ msgstr ""
-#~ " den Bedingungen der GNU General Public License\n"
-
-#~ msgid "warning: current locale is invalid; using default \"C\" locale"
-#~ msgstr ""
-#~ "Warnung: Die Standard-Ortseinstellung ist ungültig; verwende Standard-\"C"
-#~ "\"-Ortseinstellung"
-
-#~ msgid "requires: %s"
-#~ msgstr "Erfordert: %s"
+msgstr "Gesamtgröße der installierten Pakete: %.2f MB\n"
-#~ msgid "'%s': %s\n"
-#~ msgstr "'%s':%s\n"
diff --git a/po/es.po b/po/es.po
index dc845c4d..c56d82d4 100644
--- a/po/es.po
+++ b/po/es.po
@@ -4,13 +4,12 @@
# This file is distributed under the same license as the Pacman package manager package.
#
# Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>, 2007.
-# Juan Pablo González Tognarelli <jotapesan@gmail.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
"POT-Creation-Date: 2007-04-25 00:44-0400\n"
-"PO-Revision-Date: 2007-05-11 22:38-0400\n"
+"PO-Revision-Date: 2007-07-23 00:22-0400\n"
"Last-Translator: Juan Pablo González Tognarelli <jotapesan@gmail.com>\n"
"Language-Team: <es@li.org>\n"
"MIME-Version: 1.0\n"
@@ -69,7 +68,7 @@ msgstr ":: %s: necesita %s"
#: src/pacman/sync.c:643
#, c-format
msgid ":: %s: conflicts with %s"
-msgstr ":: %s: tiene conflictos con %s"
+msgstr ":: %s: posee conflictos con %s"
#: src/pacman/add.c:134
#: src/pacman/sync.c:707
@@ -87,7 +86,7 @@ msgstr "%s: %s existe en el sistema de archivos\n"
#: src/pacman/sync.c:719
#: src/pacman/sync.c:725
msgid "errors occurred, no packages were upgraded.\n"
-msgstr "ocurrieron errores, los paquetes no fueron actualizados\n"
+msgstr "ocurrieron errores, no se actualizaron paquetes\n"
#: src/pacman/package.c:74
#: src/pacman/package.c:129
@@ -220,7 +219,7 @@ msgstr "error calculando la verificación para %s\n"
#: src/pacman/package.c:194
#, c-format
msgid "MODIFIED\t%s\n"
-msgstr "MODIFICADOt%s\n"
+msgstr "MODIFICADO\t%s\n"
#: src/pacman/package.c:196
#, c-format
@@ -277,7 +276,7 @@ msgstr ""
#: src/pacman/pacman.c:154
#, c-format
msgid " -d, --nodeps skip dependency checks\n"
-msgstr " -d, --nodeps se salta la verificación de dependencias \n"
+msgstr " -d, --nodeps salta la verificación de dependencias \n"
#: src/pacman/pacman.c:117
#: src/pacman/pacman.c:135
@@ -493,7 +492,7 @@ msgstr "sólo una operación puede utilizarse a la vez\n"
#: src/pacman/pacman.c:489
#, c-format
msgid "failed to initialize alpm library (%s)\n"
-msgstr "falló al iniciar la libreria alpm (%s)\n"
+msgstr "falló al iniciar la librería alpm (%s)\n"
#: src/pacman/pacman.c:522
msgid "you cannot perform this operation unless you are root.\n"
@@ -556,7 +555,7 @@ msgstr "no se encontraron repositorios útiles configurados.\n"
#: src/pacman/query.c:176
msgid "Checking for package upgrades..."
-msgstr "Verificando actualizaciones de paquetes..."
+msgstr "Verificando existencia de actualizaciones de paquetes..."
#: src/pacman/query.c:183
msgid "no upgrades found"
@@ -617,7 +616,7 @@ msgstr ":: %s es requerido por %s\n"
#: src/pacman/remove.c:128
#: src/pacman/util.c:324
msgid "Targets:"
-msgstr "A instalar:"
+msgstr "Se procesará:"
#: src/pacman/remove.c:131
msgid ""
@@ -637,7 +636,7 @@ msgstr "quitando paquetes antiguos de la cache..."
#: src/pacman/sync.c:120
msgid "could not access cache directory\n"
-msgstr "no se pudo acceder al directorio de la cache de paquetes\n"
+msgstr "no se pudo acceder al directorio de la cache\n"
#: src/pacman/sync.c:181
msgid "Do you want to remove all packages from cache? [Y/n] "
@@ -787,7 +786,7 @@ msgstr "comprobando dependencias... "
#: src/pacman/trans.c:59
msgid "checking for file conflicts... "
-msgstr "verificando si existen conflictos entre archivos... "
+msgstr "verificando existencia de conflictos entre archivos... "
#: src/pacman/trans.c:63
msgid "cleaning up... "
@@ -852,7 +851,7 @@ msgstr ":: %1$s requiere %2$s que en los paquetes a ignorar (IgnorePkg). ¿Insta
#: src/pacman/trans.c:177
#, c-format
msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] "
-msgstr ":: %s está en la lista a ignorar. ¿Instalar de todas formas? [Y/n] "
+msgstr ":: %s está en IgnorePkg. ¿Instalar de todas formas? [Y/n] "
#: src/pacman/trans.c:190
#, c-format
diff --git a/po/hu.po b/po/hu.po
index a9edb3e1..bf7b7583 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hu\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-04-25 00:44-0400\n"
+"POT-Creation-Date: 2007-08-28 19:49+0200\n"
"PO-Revision-Date: 2006-09-03 13:52+0200\n"
"Last-Translator: Nagy Gabor <ngaba@petra.hos.u-szeged.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -16,57 +16,74 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482
-#: src/pacman/sync.c:531
+#: src/pacman/add.c:44 src/pacman/remove.c:46
+#, c-format
+msgid "failed to release transaction (%s)\n"
+msgstr "nem sikerlt lezrni a tranzakcit (%s)\n"
+
+#: src/pacman/add.c:81 src/pacman/query.c:371 src/pacman/remove.c:67
+#: src/pacman/sync.c:493
+msgid "no targets specified (use -h for help)\n"
+msgstr "nincs megadva egyetlen cl sem (hasznlja a '-h'-t segtsgrt)\n"
+
+#: src/pacman/add.c:108 src/pacman/sync.c:525
+#, c-format
+msgid "error: %s\n"
+msgstr "hiba: %s\n"
+
+#: src/pacman/add.c:111 src/pacman/remove.c:102 src/pacman/sync.c:503
#, c-format
msgid ""
-" if you're sure a package manager is not already running,\n"
-" you can remove %s%s\n"
+" if you're sure a package manager is not already\n"
+" running, you can remove %s.\n"
msgstr ""
-" ha biztos, hogy nem fut egy csomagkezel, abban az esetben\n"
-" eltvolthatja a %s%s fjlt\n"
+" ha biztos benne, hogy nem fut msik csomagkezel, akkor\n"
+" eltvolthatja a %s fjlt.\n"
-#: src/pacman/add.c:79
+#: src/pacman/add.c:118 src/pacman/remove.c:110
+#, c-format
msgid "loading package data... "
msgstr "csomag adatainak betltse... "
-#: src/pacman/add.c:83
+#: src/pacman/add.c:122
#, c-format
-msgid "failed to add target '%s' (%s)"
-msgstr "nem sikerlt a(z) '%s' clt hozzadni a tranzakcihoz (%s)"
+msgid "error: failed to add target '%s' (%s)"
+msgstr "hiba: nem sikerlt a(z) '%s' clt hozzadni (%s)"
-#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73
-#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105
-#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142
+#: src/pacman/add.c:128 src/pacman/callback.c:180 src/pacman/callback.c:186
+#: src/pacman/callback.c:197 src/pacman/callback.c:211
+#: src/pacman/callback.c:225 src/pacman/callback.c:237 src/pacman/sync.c:182
+#, c-format
msgid "done.\n"
msgstr "ksz.\n"
-#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616
+#: src/pacman/add.c:133 src/pacman/remove.c:125 src/pacman/sync.c:648
#, c-format
-msgid "failed to prepare transaction (%s)\n"
-msgstr "nem sikerlt elkszteni a tranzakcit (%s)\n"
+msgid "error: failed to prepare transaction (%s)\n"
+msgstr "hiba: nem sikerlt elkszteni a tranzakcit (%s)\n"
-#: src/pacman/add.c:104
+#: src/pacman/add.c:144 src/pacman/remove.c:132 src/pacman/sync.c:656
#, c-format
-msgid ":: %s: requires %s"
-msgstr ":: %s: ignyli a kvetkezt: %s"
+msgid ":: %s: requires %s\n"
+msgstr ":: %s: ignyli a kvetkezt: %s\n"
-#: src/pacman/add.c:125 src/pacman/sync.c:643
+#: src/pacman/add.c:166 src/pacman/sync.c:678
#, c-format
msgid ":: %s: conflicts with %s"
msgstr ":: %s: tkzik a kvetkezvel: %s"
-#: src/pacman/add.c:134 src/pacman/sync.c:707
+#: src/pacman/add.c:175 src/pacman/sync.c:733
#, c-format
msgid "%s exists in both '%s' and '%s'\n"
msgstr "%s ltezik ebben: '%s' s ebben: '%s'\n"
-#: src/pacman/add.c:140 src/pacman/sync.c:713
+#: src/pacman/add.c:181 src/pacman/sync.c:739
#, c-format
msgid "%s: %s exists in filesystem\n"
msgstr "%s: %s ltezik a fjlrendszerben\n"
-#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725
+#: src/pacman/add.c:187
+#, c-format
msgid ""
"\n"
"errors occurred, no packages were upgraded.\n"
@@ -74,248 +91,285 @@ msgstr ""
"\n"
"hibk lptek fel, nem frisslt csomag.\n"
-#: src/pacman/add.c:156 src/pacman/sync.c:650
+#: src/pacman/add.c:200 src/pacman/remove.c:169 src/pacman/sync.c:724
#, c-format
-msgid ":: %.1f MB required, have %.1f MB"
-msgstr ":: %.1f MB szksges, %.1f MB ll rendelkezsre"
+msgid "error: failed to commit transaction (%s)\n"
+msgstr "hiba: nem sikerlt vgrehajtani a tranzakcit (%s)\n"
-#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700
+#: src/pacman/callback.c:165
#, c-format
-msgid "failed to commit transaction (%s)\n"
-msgstr "nem sikerlt vgrehajtani a tranzakcit (%s)\n"
+msgid "checking dependencies... "
+msgstr "fggsgek vizsglata... "
-#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524
-#: src/pacman/sync.c:741
+#: src/pacman/callback.c:169
#, c-format
-msgid "failed to release transaction (%s)\n"
-msgstr "nem sikerlt lezrni a tranzakcit (%s)\n"
+msgid "checking for file conflicts... "
+msgstr "fjltkzsek vizsglata... "
-#: src/pacman/log.c:63
+#: src/pacman/callback.c:173
#, c-format
-msgid "debug"
-msgstr "hibakeress"
+msgid "resolving dependencies... "
+msgstr "fggsgek feloldsa... "
-#: src/pacman/log.c:66
+#: src/pacman/callback.c:176
#, c-format
-msgid "error"
-msgstr "hiba"
+msgid "looking for inter-conflicts... "
+msgstr "bels tkzsek keresse... "
-#: src/pacman/log.c:69
+#: src/pacman/callback.c:192
#, c-format
-msgid "warning"
-msgstr "figyelmeztets"
+msgid "installing %s... "
+msgstr "%s teleptse... "
-#: src/pacman/log.c:75
+#: src/pacman/callback.c:206
#, c-format
-msgid "function"
-msgstr "fggvny"
+msgid "removing %s... "
+msgstr "%s eltvoltsa... "
-#: src/pacman/log.c:194
-msgid "Y"
-msgstr "I"
+#: src/pacman/callback.c:220
+#, c-format
+msgid "upgrading %s... "
+msgstr "%s frisstse... "
-#: src/pacman/log.c:194
-msgid "YES"
-msgstr "IGEN"
+#: src/pacman/callback.c:234
+#, c-format
+msgid "checking package integrity... "
+msgstr "csomagok integritsnak ellenrzse... "
-#: src/pacman/log.h:30
-msgid "error: "
-msgstr "hiba: "
+#: src/pacman/callback.c:243
+#, c-format
+msgid ":: Retrieving packages from %s...\n"
+msgstr ":: Csomagok letltse a(z) %s repbl...\n"
-#: src/pacman/log.h:34
-msgid "warning: "
-msgstr "figyelmeztets: "
+#: src/pacman/callback.c:266
+#, c-format
+msgid ":: %s requires installing %s from IgnorePkg. Install anyway? [Y/n] "
+msgstr ":: %s ignyli %s teleptst az IgnorePkg-bl. Mgis telepti? [I/n] "
-#: src/pacman/package.c:60
+#: src/pacman/callback.c:271
+#, c-format
+msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] "
+msgstr ":: %s az IgnorePkg rsze. Mgis telepti? [I/n] "
+
+#: src/pacman/callback.c:284
+#, c-format
+msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] "
+msgstr ":: %s HoldPkgnak lett jellve. Biztosan eltvoltja? [I/n] "
+
+#: src/pacman/callback.c:297
+#, c-format
+msgid ":: Replace %s with %s/%s? [Y/n] "
+msgstr ":: Lecserli %s-t erre: %s/%s? [I/n] "
+
+#: src/pacman/callback.c:312
+#, c-format
+msgid ":: %s conflicts with %s. Remove %s? [Y/n] "
+msgstr ":: %s tkzik a kvetkezvel: %s. Eltvoltja a %s-t? [I/n] "
+
+#: src/pacman/callback.c:328
+#, c-format
+msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] "
+msgstr ":: %s-%s: a helyi verzi jabb. Mgis frissti? [I/n] "
+
+#: src/pacman/callback.c:346
+#, c-format
+msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] "
+msgstr ":: %s-%s: a helyi verzi napraksz. Mgis frissti? [I/n] "
+
+#: src/pacman/callback.c:364
+#, c-format
+msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] "
+msgstr ":: %s srlt. Kvnja trlni? [I/n] "
+
+#: src/pacman/callback.c:415
+msgid "installing"
+msgstr "telepts:"
+
+#: src/pacman/callback.c:418
+msgid "upgrading"
+msgstr "frissts:"
+
+#: src/pacman/callback.c:421
+msgid "removing"
+msgstr "eltvolts:"
+
+#: src/pacman/callback.c:424
+msgid "checking for file conflicts"
+msgstr "fjltkzsek vizsglata"
+
+#: src/pacman/package.c:58
msgid "Explicitly installed"
msgstr "Kzzel teleptve"
-#: src/pacman/package.c:63
+#: src/pacman/package.c:61
msgid "Installed as a dependency for another package"
msgstr "Egy msik csomag fggsgeknt lett teleptve"
-#: src/pacman/package.c:66 src/pacman/package.c:91
+#: src/pacman/package.c:64
msgid "Unknown"
msgstr "Ismeretlen"
-#: src/pacman/package.c:70 src/pacman/package.c:122
+#: src/pacman/package.c:68 src/pacman/package.c:118
msgid "Description : "
msgstr "Lers : "
-#: src/pacman/package.c:73 src/pacman/package.c:128
+#: src/pacman/package.c:71 src/pacman/package.c:123
#, c-format
msgid "Name : %s\n"
msgstr "Nv : %s\n"
-#: src/pacman/package.c:74 src/pacman/package.c:129
+#: src/pacman/package.c:72 src/pacman/package.c:124
#, c-format
msgid "Version : %s\n"
msgstr "Verzi : %s\n"
-#: src/pacman/package.c:75
+#: src/pacman/package.c:73
#, c-format
msgid "URL : %s\n"
msgstr "URL : %s\n"
-#: src/pacman/package.c:76
+#: src/pacman/package.c:74
msgid "License :"
msgstr "Licenc :"
-#: src/pacman/package.c:77 src/pacman/package.c:130
+#: src/pacman/package.c:75 src/pacman/package.c:125
msgid "Groups :"
msgstr "Csoportok :"
-#: src/pacman/package.c:78 src/pacman/package.c:131
+#: src/pacman/package.c:76 src/pacman/package.c:126
msgid "Provides :"
msgstr "Szolgltatja :"
-#: src/pacman/package.c:79 src/pacman/package.c:132
+#: src/pacman/package.c:77 src/pacman/package.c:127
msgid "Depends On :"
msgstr "Fgg :"
-#: src/pacman/package.c:80 src/pacman/package.c:133
-msgid "Removes :"
-msgstr "Eltvoltja :"
-
-#: src/pacman/package.c:83
+#: src/pacman/package.c:80
msgid "Required By :"
msgstr "Ignyli :"
-#: src/pacman/package.c:85 src/pacman/package.c:134
+#: src/pacman/package.c:82 src/pacman/package.c:128
msgid "Conflicts With :"
msgstr "tkzik :"
-#: src/pacman/package.c:86 src/pacman/package.c:135
+#: src/pacman/package.c:83 src/pacman/package.c:129
msgid "Replaces :"
msgstr "Lecserli :"
-#: src/pacman/package.c:87 src/pacman/package.c:137
+#: src/pacman/package.c:84 src/pacman/package.c:131
#, c-format
msgid "Installed Size : %6.2f K\n"
msgstr "Helyfoglals : %6.2f K\n"
-#: src/pacman/package.c:88
+#: src/pacman/package.c:85
#, c-format
msgid "Packager : %s\n"
msgstr "Csomagol : %s\n"
-#: src/pacman/package.c:89
+#: src/pacman/package.c:86
#, c-format
msgid "Architecture : %s\n"
msgstr "Architektra : %s\n"
-#: src/pacman/package.c:90
+#: src/pacman/package.c:87
#, c-format
msgid "Build Date : %s %s\n"
msgstr "Fordts ideje : %s %s\n"
-#: src/pacman/package.c:91
-#, c-format
-msgid "Build Type : %s\n"
-msgstr "Fordts Tpusa : %s\n"
-
-#: src/pacman/package.c:93
+#: src/pacman/package.c:89
#, c-format
msgid "Install Date : %s %s\n"
msgstr "Telepts ideje : %s %s\n"
-#: src/pacman/package.c:94
+#: src/pacman/package.c:90
#, c-format
msgid "Install Reason : %s\n"
msgstr "Telepts oka : %s\n"
-#: src/pacman/package.c:96
+#: src/pacman/package.c:92
#, c-format
msgid "Install Script : %s\n"
msgstr "Telept szkript: %s\n"
-#: src/pacman/package.c:97
+#: src/pacman/package.c:93
msgid "Yes"
msgstr "Igen"
-#: src/pacman/package.c:97
+#: src/pacman/package.c:93
msgid "No"
msgstr "Nem"
-#: src/pacman/package.c:127
+#: src/pacman/package.c:122
#, c-format
msgid "Repository : %s\n"
msgstr "Rep : %s\n"
-#: src/pacman/package.c:136
+#: src/pacman/package.c:130
#, c-format
msgid "Download Size : %6.2f K\n"
msgstr "Tmrtett mret: %6.2f K\n"
-#: src/pacman/package.c:145
+#: src/pacman/package.c:139
#, c-format
msgid "MD5 Sum : %s"
msgstr "MD5 Sum : %s"
-#: src/pacman/package.c:148
-#, c-format
-msgid "SHA1 Sum : %s"
-msgstr "SHA1 Sum : %s"
-
-#: src/pacman/package.c:159
+#: src/pacman/package.c:150
#, c-format
msgid "Backup Files:\n"
msgstr "Backup fjlok:\n"
-#: src/pacman/package.c:181
+#: src/pacman/package.c:170
#, c-format
-msgid "error calculating checksums for %s\n"
-msgstr "hiba a(z) %s ellenrz sszegnek szmtsa kzben\n"
+msgid "error: could not calculate checksums for %s\n"
+msgstr "hiba: nem sikerlt a(z) %s ellenrz sszegnek szmtsa\n"
-#: src/pacman/package.c:194
+#: src/pacman/package.c:178
#, c-format
msgid "MODIFIED\t%s\n"
msgstr "MDOSTVA\t%s\n"
-#: src/pacman/package.c:196
+#: src/pacman/package.c:180
#, c-format
msgid "Not Modified\t%s\n"
msgstr "Nem mdostva\t%s\n"
-#: src/pacman/package.c:201
+#: src/pacman/package.c:184
#, c-format
msgid "MISSING\t\t%s\n"
msgstr "HINYZIK\t\t%s\n"
-#: src/pacman/package.c:207
+#: src/pacman/package.c:190
#, c-format
msgid "(none)\n"
msgstr "(nincs)\n"
-#: src/pacman/package.c:247
+#: src/pacman/package.c:234
#, c-format
-msgid "No changelog available for '%s'.\n"
-msgstr "Nem ll rendelkezsre vltozsi napl a(z) '%s' csomaghoz.\n"
+msgid "error: no changelog available for '%s'.\n"
+msgstr "hiba: nem ll rendelkezsre vltozsi napl a(z) '%s' csomaghoz.\n"
-#: src/pacman/pacman.c:94
-#, fuzzy
+#: src/pacman/pacman.c:65
msgid "options"
-msgstr "opcik:\n"
+msgstr "opcik"
-#: src/pacman/pacman.c:95
-#, fuzzy
+#: src/pacman/pacman.c:66
msgid "file"
-msgstr "sikertelen.\n"
+msgstr "fjl"
-#: src/pacman/pacman.c:96
+#: src/pacman/pacman.c:67
msgid "package"
-msgstr ""
+msgstr "csomag"
-#: src/pacman/pacman.c:97
+#: src/pacman/pacman.c:68
msgid "usage"
-msgstr ""
+msgstr "hasznlat"
-#: src/pacman/pacman.c:98
-#, fuzzy
+#: src/pacman/pacman.c:69
msgid "operation"
-msgstr "opcik:\n"
+msgstr "mvelet"
-#: src/pacman/pacman.c:111
+#: src/pacman/pacman.c:82
#, c-format
msgid ""
"\n"
@@ -324,43 +378,48 @@ msgstr ""
"\n"
"hasznlja a '%s --help'-et ms opcikkal tovbbi szintaxishoz\n"
-#: src/pacman/pacman.c:116 src/pacman/pacman.c:123 src/pacman/pacman.c:134
-#: src/pacman/pacman.c:154
+#: src/pacman/pacman.c:87 src/pacman/pacman.c:106 src/pacman/pacman.c:128
+#, c-format
+msgid " --asdeps install packages as non-explicitly installed\n"
+msgstr " --asdeps a csomagok fggsgknt val teleptse\n"
+
+#: src/pacman/pacman.c:88 src/pacman/pacman.c:95 src/pacman/pacman.c:107
+#: src/pacman/pacman.c:130
#, c-format
msgid " -d, --nodeps skip dependency checks\n"
msgstr " -d, --nodeps fggsgi ellenrzsek kihagysa\n"
-#: src/pacman/pacman.c:117 src/pacman/pacman.c:135 src/pacman/pacman.c:156
+#: src/pacman/pacman.c:89 src/pacman/pacman.c:108 src/pacman/pacman.c:132
#, c-format
msgid " -f, --force force install, overwrite conflicting files\n"
msgstr ""
" -f, --force a telepts erltetse, tkz fjlok fellrsa\n"
-#: src/pacman/pacman.c:120
+#: src/pacman/pacman.c:92
#, c-format
msgid "usage: %s {-R --remove} [options] <package>\n"
msgstr "hasznlat: %s {-R --remove} [opcik] <csomag>\n"
-#: src/pacman/pacman.c:122
+#: src/pacman/pacman.c:94
#, c-format
msgid ""
" -c, --cascade remove packages and all packages that depend on them\n"
msgstr ""
" -c, --cascade a csomagok s az ket ignyl csomagok eltvoltsa\n"
-#: src/pacman/pacman.c:124
+#: src/pacman/pacman.c:96
#, c-format
msgid ""
" -k, --dbonly only remove database entry, do not remove files\n"
msgstr ""
" -k, --dbonly csak az adatbzis-bejegyzst trlje, a fjlokat ne\n"
-#: src/pacman/pacman.c:125
+#: src/pacman/pacman.c:97
#, c-format
msgid " -n, --nosave remove configuration files as well\n"
msgstr " -n, --nosave a belltsi fjlokat is trlje\n"
-#: src/pacman/pacman.c:126
+#: src/pacman/pacman.c:98
#, c-format
msgid ""
" -s, --recursive remove dependencies also (that won't break packages)\n"
@@ -368,37 +427,37 @@ msgstr ""
" -s, --recursive a fggsgeket is tvoltsa el (melyeknl ez "
"biztonsgos)\n"
-#: src/pacman/pacman.c:139
+#: src/pacman/pacman.c:112
#, c-format
msgid " -c, --changelog view the changelog of a package\n"
msgstr " -c, --changelog a vltozsok napljnak megtekintse\n"
-#: src/pacman/pacman.c:140
-#, fuzzy, c-format
-msgid ""
-" -e, --orphans list all packages installed as dependencies but no "
-"longer\n"
-" required by any package\n"
-msgstr ""
-" -e, --orphans azon csomagok listzsa, amelyek fggsgknt "
-"kerltek\n"
+#: src/pacman/pacman.c:113
+#, c-format
+msgid " -d, --deps list all packages installed as dependencies\n"
+msgstr " -u, --upgrades az sszes frissthet csomag listzsa\n"
-#: src/pacman/pacman.c:142 src/pacman/pacman.c:157
+#: src/pacman/pacman.c:114
+#, c-format
+msgid " -e, --explicit list all packages explicitly installed\n"
+msgstr " -e, --explicit az sszes kzzel teleptett csomag listzsa\n"
+
+#: src/pacman/pacman.c:115 src/pacman/pacman.c:133
#, c-format
msgid " -g, --groups view all members of a package group\n"
msgstr " -g, --groups egy csoport sszes tagjnak megtekintse\n"
-#: src/pacman/pacman.c:143 src/pacman/pacman.c:158
+#: src/pacman/pacman.c:116 src/pacman/pacman.c:134
#, c-format
msgid " -i, --info view package information\n"
msgstr " -i, --info csomaginformcik megtekintse\n"
-#: src/pacman/pacman.c:144
+#: src/pacman/pacman.c:117
#, c-format
msgid " -l, --list list the contents of the queried package\n"
msgstr " -l, --list a lekrdezett csomag tartalmnak listzsa\n"
-#: src/pacman/pacman.c:145
+#: src/pacman/pacman.c:118
#, c-format
msgid ""
" -m, --foreign list installed packages not found in sync db(s)\n"
@@ -406,31 +465,45 @@ msgstr ""
" -m, --foreign a tvoli repkban nem tallt teleptett csomagok "
"listja\n"
-#: src/pacman/pacman.c:146
+#: src/pacman/pacman.c:119
#, c-format
msgid " -o, --owns <file> query the package that owns <file>\n"
msgstr " -o, --owns <fjl> a <fjl>-t tartalmaz csomag lekrdezse\n"
-#: src/pacman/pacman.c:147
+#: src/pacman/pacman.c:120
#, c-format
msgid " -p, --file <package> query a package file instead of the database\n"
msgstr ""
" -p, --file <csomag> a <csomag> csomagfjl lekrdezse az adatbzis "
"helyett\n"
-#: src/pacman/pacman.c:148
+#: src/pacman/pacman.c:121
#, c-format
msgid ""
" -s, --search <regex> search locally-installed packages for matching "
"strings\n"
msgstr " -s, --search <regex> keress a teleptett csomagok kztt\n"
-#: src/pacman/pacman.c:149
+#: src/pacman/pacman.c:122
+#, c-format
+msgid " -t, --orphans list all packages not required by any package\n"
+msgstr ""
+" -t, --orphans azon csomagok listzsa, amelyek fggsgknt "
+"kerltek\n"
+" teleptsre, de most mr nem ignyli ket ms csomag\n"
+
+#: src/pacman/pacman.c:123
#, c-format
msgid " -u, --upgrades list all packages that can be upgraded\n"
msgstr " -u, --upgrades az sszes frissthet csomag listzsa\n"
-#: src/pacman/pacman.c:153
+#: src/pacman/pacman.c:124
+#, c-format
+msgid " --test check the consistency of the local database\n"
+msgstr ""
+" --test a helyi adatbzis konzisztencijnak ellenrzse\n"
+
+#: src/pacman/pacman.c:129
#, c-format
msgid ""
" -c, --clean remove old packages from cache directory (-cc for "
@@ -439,17 +512,17 @@ msgstr ""
" -c, --clean a rgi csomagok trlse a gyorsttrknyvtrbl\n"
" (hasznlja a '-cc'-t az sszeshez)\n"
-#: src/pacman/pacman.c:155
+#: src/pacman/pacman.c:131
#, c-format
msgid " -e, --dependsonly install dependencies only\n"
msgstr " -e, --dependsonly csak a fggsgek teleptse\n"
-#: src/pacman/pacman.c:159
+#: src/pacman/pacman.c:135
#, c-format
msgid " -l, --list <repo> view a list of packages in a repo\n"
msgstr " -l, --list <rep> egy rep csomagjainak listzsa\n"
-#: src/pacman/pacman.c:160
+#: src/pacman/pacman.c:136
#, c-format
msgid ""
" -p, --print-uris print out URIs for given packages and their "
@@ -457,31 +530,31 @@ msgid ""
msgstr ""
" -p, --print-uris listzza az adott csomagok s fggsgeik URI-jait\n"
-#: src/pacman/pacman.c:161
+#: src/pacman/pacman.c:137
#, c-format
msgid ""
" -s, --search <regex> search remote repositories for matching strings\n"
msgstr " -s, --search <regex> keress a tvoli csomagadatbzisokban\n"
-#: src/pacman/pacman.c:162
+#: src/pacman/pacman.c:138
#, c-format
msgid " -u, --sysupgrade upgrade all packages that are out of date\n"
msgstr " -u, --sysupgrade az sszes elavult csomag frisstse\n"
-#: src/pacman/pacman.c:163
+#: src/pacman/pacman.c:139
#, c-format
msgid ""
" -w, --downloadonly download packages but do not install/upgrade "
"anything\n"
msgstr " -w, --downloadonly csak letlts, de semmit nem telept/frisst\n"
-#: src/pacman/pacman.c:164
+#: src/pacman/pacman.c:140
#, c-format
msgid ""
" -y, --refresh download fresh package databases from the server\n"
msgstr " -y, --refresh friss csomagadatbzis letltse a szerverrl\n"
-#: src/pacman/pacman.c:165
+#: src/pacman/pacman.c:141
#, c-format
msgid ""
" --ignore <pkg> ignore a package upgrade (can be used more than "
@@ -489,17 +562,17 @@ msgid ""
msgstr ""
" --ignore <csom.> csomagfrissts mellzse (tbbszr is hasznlhat)\n"
-#: src/pacman/pacman.c:167
+#: src/pacman/pacman.c:143
#, c-format
msgid " --config <path> set an alternate configuration file\n"
msgstr " --config <tv.> alternatv konfigurcis fjl hasznlata\n"
-#: src/pacman/pacman.c:168
+#: src/pacman/pacman.c:144
#, c-format
msgid " --noconfirm do not ask for any confirmation\n"
msgstr " --noconfirm ne krjen soha megerstst\n"
-#: src/pacman/pacman.c:169
+#: src/pacman/pacman.c:145
#, c-format
msgid ""
" --ask <number> pre-specify answers for questions (see manpage)\n"
@@ -507,198 +580,230 @@ msgstr ""
" --ask <szm> elre megadja a vlaszokat krdsekre (ld. man "
"oldal)\n"
-#: src/pacman/pacman.c:170
+#: src/pacman/pacman.c:146
#, c-format
msgid ""
" --noprogressbar do not show a progress bar when downloading files\n"
msgstr ""
" --noprogressbar ne mutasson folyamatsvot a fjlok letltse kzben\n"
-#: src/pacman/pacman.c:171
-#, fuzzy, c-format
+#: src/pacman/pacman.c:147
+#, c-format
msgid ""
" --noscriptlet do not execute the install scriptlet if one exists\n"
msgstr ""
-" --noscriptlet ne futtassa le a teleptsi szkriptet, ha van olyan\n"
+" --noscriptlet ne futtassa le az install szkriptet, ha van olyan\n"
-#: src/pacman/pacman.c:172
+#: src/pacman/pacman.c:148
#, c-format
msgid " -v, --verbose be verbose\n"
msgstr " -v, --verbose legyen bbeszd\n"
-#: src/pacman/pacman.c:173
+#: src/pacman/pacman.c:149
#, c-format
msgid " -r, --root <path> set an alternate installation root\n"
msgstr ""
" -r, --root <tvonal> alternatv teleptsi gykrknyvtr belltsa\n"
-#: src/pacman/pacman.c:174
+#: src/pacman/pacman.c:150
#, c-format
msgid " -b, --dbpath <path> set an alternate database location\n"
msgstr " -b, --dbpath <tv.> alternatv adatbzisknyvtr belltsa\n"
-#: src/pacman/pacman.c:175
+#: src/pacman/pacman.c:151
#, c-format
msgid " --cachedir <dir> set an alternate package cache location\n"
msgstr ""
" --cachedir <kvt> alternatv csomaggyorsttr-knyvtr belltsa\n"
-#: src/pacman/pacman.c:189
-#, fuzzy, c-format
+#: src/pacman/pacman.c:164
+#, c-format
msgid ""
" This program may be freely redistributed under\n"
" the terms of the GNU General Public License\n"
msgstr ""
" Ezt a programot brki a General Public License-ben\n"
+" foglaltak alapjn szabadon terjesztheti\n"
-#: src/pacman/pacman.c:340
+#: src/pacman/pacman.c:318
#, c-format
-msgid "'%s' is not a valid debug level"
-msgstr "a(z) '%s' nem rvnyes hibakeressi szint"
+msgid "'%s' is not a valid debug level\n"
+msgstr "a(z) '%s' nem rvnyes hibakeressi szint\n"
-#: src/pacman/pacman.c:355
+#: src/pacman/pacman.c:333 src/pacman/pacman.c:630
#, c-format
-msgid "'%s' is not a valid cache directory\n"
-msgstr "a '%s' nem rvnyes gyorsttrknyvtr\n"
+msgid "problem adding cachedir '%s' (%s)\n"
+msgstr "hiba trtnt a(z) '%s' gyorsttr-knyvtr hozzadsa sorn (%s)\n"
-#: src/pacman/pacman.c:373
+#: src/pacman/pacman.c:357 src/pacman/pacman.c:622
#, c-format
-msgid "'%s' is not a valid db path\n"
-msgstr "a '%s' nem rvnyes adatbzis tvonal\n"
+msgid "problem setting dbpath '%s' (%s)\n"
+msgstr "hiba trtnt a(z) '%s' adatbzisknyvtr belltsa sorn (%s)\n"
-#: src/pacman/pacman.c:403
+#: src/pacman/pacman.c:391 src/pacman/pacman.c:639
#, c-format
-msgid "'%s' is not a valid root path\n"
-msgstr "a '%s' nem rvnyes gykrknyvtr tvonal\n"
+msgid "problem setting root '%s' (%s)\n"
+msgstr "hiba trtnt a(z) '%s' teleptse tvonal belltsa sorn (%s)\n"
-#: src/pacman/pacman.c:430
+#: src/pacman/pacman.c:422
msgid "only one operation may be used at a time\n"
msgstr "csak egy mvelet hajthat vgre egyszerre\n"
-#: src/pacman/pacman.c:489
+#: src/pacman/pacman.c:458
+#, c-format
+msgid "config file %s could not be read.\n"
+msgstr "a %s konfigurcis fjl nem olvashat.\n"
+
+#: src/pacman/pacman.c:494
+#, c-format
+msgid "config file %s, line %d: bad section name.\n"
+msgstr "%s konfigurcis fjl, %d. sor: hibs szekcinv.\n"
+
+#: src/pacman/pacman.c:500
+#, c-format
+msgid "config file %s, line %d: 'local' cannot be used as section name.\n"
+msgstr ""
+"%s konfigurcis fjl, %d. sor: 'local' nem hasznlhat szekcinvknt.\n"
+
+#: src/pacman/pacman.c:519
+#, c-format
+msgid "config file %s, line %d: syntax error in config file- missing key.\n"
+msgstr "%s konfigurcis fjl, %d. sor: szintaktikai hiba- hinyz kulcs.\n"
+
+#: src/pacman/pacman.c:529
+#, c-format
+msgid ""
+"config file %s, line %d: 'Include' directive must belong to a section.\n"
+msgstr ""
+"%s konfigurcis fjl, %d. sor: az 'Include' direktvnak egy szekcihoz "
+"kell tartoznia.\n"
+
+#: src/pacman/pacman.c:551 src/pacman/pacman.c:663 src/pacman/pacman.c:678
+#, c-format
+msgid "config file %s, line %d: directive '%s' not recognized.\n"
+msgstr "%s konfigurcis fjl, %d. sor: a '%s' direktva nem rtelmezhet.\n"
+
+#: src/pacman/pacman.c:648
+#, c-format
+msgid "problem setting logfile '%s' (%s)\n"
+msgstr "hiba trtnt a(z) '%s' naplfjl belltsa sorn (%s)\n"
+
+#: src/pacman/pacman.c:744
#, c-format
msgid "failed to initialize alpm library (%s)\n"
msgstr "nem sikerlt inicializlni az alpm knyvtrat (%s)\n"
-#: src/pacman/pacman.c:522
+#: src/pacman/pacman.c:795
msgid "you cannot perform this operation unless you are root.\n"
msgstr "ez a mvelet csak rendszergazdaknt hajthat vgre.\n"
-#: src/pacman/pacman.c:538
-#, c-format
-msgid "failed to parse config (%s)\n"
-msgstr "nem sikerlt rtelmezni a belltsi fjlt (%s)\n"
-
-#: src/pacman/pacman.c:549
-msgid "Targets :"
-msgstr "Clok :"
-
-#: src/pacman/pacman.c:555
+#: src/pacman/pacman.c:820
#, c-format
msgid "could not register 'local' database (%s)\n"
msgstr "nem sikerlt regisztrlni a 'local' adatbzist (%s)\n"
-#: src/pacman/pacman.c:562
-msgid "no targets specified (use -h for help)\n"
-msgstr "nincs megadva egyetlen cl se (hasznlja a '-h'-t segtsgrt)\n"
-
-#: src/pacman/pacman.c:575
+#: src/pacman/pacman.c:846
msgid "no operation specified (use -h for help)\n"
-msgstr "nincs megadva egyetlen mvelet se (hasznlja a '-h'-t segtsgrt)\n"
+msgstr "nincs megadva egyetlen mvelet sem (hasznlja a '-h'-t segtsgrt)\n"
-#: src/pacman/query.c:90
-msgid "no file was specified for --owns\n"
-msgstr "nincs megadva fjl a --owns szmra\n"
+#: src/pacman/query.c:69
+#, c-format
+msgid "error: no file was specified for --owns\n"
+msgstr "hiba: nincs megadva fjl a --owns szmra\n"
-#: src/pacman/query.c:95
+#: src/pacman/query.c:81
#, c-format
-msgid "failed to read file '%s': %s"
-msgstr "nem sikerlt olvasni a '%s' fjlt: %s"
+msgid "error: failed to read file '%s': %s\n"
+msgstr "hiba: nem sikerlt olvasni a '%s' fjlt: %s\n"
-#: src/pacman/query.c:100
-msgid "cannot determine ownership of a directory"
-msgstr "nem sikerlt egy knyvtr tulajdonost megllaptani"
+#: src/pacman/query.c:88
+#, c-format
+msgid "error: cannot determine ownership of a directory\n"
+msgstr "hiba: knyvtr tulajdonos-csomagjt nem lehet megllaptani\n"
-#: src/pacman/query.c:105
+#: src/pacman/query.c:94
#, c-format
-msgid "cannot determine real path for '%s': %s"
-msgstr "nem llapthat meg a valdi tvonal a(z) '%s' szmra: %s"
+msgid "error: cannot determine real path for '%s': %s\n"
+msgstr "hiba: nem llapthat meg a valdi tvonal a(z) '%s' szmra: %s\n"
-#: src/pacman/query.c:119
+#: src/pacman/query.c:111
#, c-format
msgid "%s is owned by %s %s\n"
msgstr "a %s fjlt a %s %s tartalmazza\n"
-#: src/pacman/query.c:127
+#: src/pacman/query.c:119
#, c-format
-msgid "No package owns %s\n"
-msgstr "Egyik csomag sem tartalmazza a kvetkezt: %s\n"
+msgid "error: No package owns %s\n"
+msgstr "hiba: Egyik csomag sem tartalmazza a kvetkezt: %s\n"
-#: src/pacman/query.c:170 src/pacman/sync.c:453
-msgid "no usable package repositories configured.\n"
-msgstr "egyetlen hasznlhat csomagrep sincs belltva.\n"
+#: src/pacman/query.c:206
+#, c-format
+msgid "error: group \"%s\" was not found\n"
+msgstr "hiba: a(z) \"%s\" csoport nem tallhat\n"
-#: src/pacman/query.c:176
-msgid "Checking for package upgrades..."
-msgstr "Frisstsek keresse... "
+#: src/pacman/query.c:219
+#, c-format
+msgid "Checking database for consistency... "
+msgstr "Az adatbzis konzisztencijnak ellenrzse..."
-#: src/pacman/query.c:183
-msgid "no upgrades found"
-msgstr "nem talltam frisstst"
+#: src/pacman/query.c:222
+#, c-format
+msgid "check complete.\n"
+msgstr "ellenrzs ksz.\n"
-#: src/pacman/query.c:221
+#: src/pacman/query.c:227
#, c-format
-msgid "group \"%s\" was not found\n"
-msgstr "a(z) \"%s\" csoport nem tallhat\n"
+msgid "check failed!\n"
+msgstr "ellenrzs sikertelen!\n"
-#: src/pacman/query.c:232
-msgid "no package file was specified for --file\n"
-msgstr "nincs megadva csomagfjl a --file szmra\n"
+#: src/pacman/query.c:239
+#, c-format
+msgid "Checking for package upgrades... \n"
+msgstr "Frisstsek keresse... \n"
-#: src/pacman/query.c:236
+#: src/pacman/query.c:247
#, c-format
-msgid "failed to load package '%s' (%s)\n"
-msgstr "nem sikerlt betlteni a(z) '%s' csomagot (%s)\n"
+msgid "no upgrades found.\n"
+msgstr "nem talltam frisstst.\n"
+
+#: src/pacman/query.c:361 src/pacman/sync.c:464
+msgid "no usable package repositories configured.\n"
+msgstr "egyetlen hasznlhat csomagrep sincs belltva.\n"
-#: src/pacman/query.c:273 src/pacman/query.c:305
+#: src/pacman/query.c:405
#, c-format
-msgid "package \"%s\" not found\n"
-msgstr "a(z) \"%s\" csomag nem tallhat\n"
+msgid "error: package \"%s\" not found\n"
+msgstr "hiba: a(z) \"%s\" csomag nem tallhat\n"
-#: src/pacman/remove.c:61 src/pacman/sync.c:568
+#: src/pacman/remove.c:80 src/pacman/sync.c:600
#, c-format
msgid ":: group %s:\n"
msgstr ":: %s csoport:\n"
-#: src/pacman/remove.c:63
+#: src/pacman/remove.c:82
msgid " Remove whole content? [Y/n] "
msgstr " Eltvoltja a teljes tartalmat? [I/n] "
-#: src/pacman/remove.c:67
+#: src/pacman/remove.c:86
#, c-format
msgid ":: Remove %s from group %s? [Y/n] "
msgstr ":: Eltvoltja %s-t a(z) %s csoportbl? [I/n] "
-#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529
-#, c-format
-msgid "failed to init transaction (%s)\n"
-msgstr "nem sikerlt inicializlni a tranzakcit (%s)\n"
-
-#: src/pacman/remove.c:92
+#: src/pacman/remove.c:99 src/pacman/sync.c:500 src/pacman/sync.c:557
#, c-format
-msgid "failed to add target '%s' (%s)\n"
-msgstr "nem sikerlt a(z) '%s' clt hozzadni a tranzakcihoz (%s)\n"
+msgid "error: failed to init transaction (%s)\n"
+msgstr "hiba: nem sikerlt inicializlni a tranzakcit (%s)\n"
-#: src/pacman/remove.c:106
+#: src/pacman/remove.c:115
#, c-format
-msgid ":: %s is required by %s\n"
-msgstr ":: %s-t ignyli: %s\n"
+msgid "error: failed to add target '%s' (%s)\n"
+msgstr "hiba: nem sikerlt a(z) '%s' clt hozzadni (%s)\n"
-#: src/pacman/remove.c:128 src/pacman/util.c:324
+#: src/pacman/remove.c:156 src/pacman/util.c:384
msgid "Targets:"
msgstr "Clok:"
-#: src/pacman/remove.c:131
+#: src/pacman/remove.c:159
msgid ""
"\n"
"Do you want to remove these packages? [Y/n] "
@@ -706,360 +811,1141 @@ msgstr ""
"\n"
"El kvnja tvoltani ezeket a csomagokat? [I/n] "
-#: src/pacman/sync.c:115
+#: src/pacman/sync.c:101
msgid "Do you want to remove old packages from cache? [Y/n] "
msgstr "El kvnja tvoltani a rgi csomagokat a gyorsttrbl? [I/n] "
-#: src/pacman/sync.c:117
+#: src/pacman/sync.c:103
+#, c-format
msgid "removing old packages from cache... "
msgstr "a rgi csomagok eltvoltsa a gyorsttrbl... "
-#: src/pacman/sync.c:120
-msgid "could not access cache directory\n"
-msgstr "nem sikerlt elrni a gyorsttr knyvtrt\n"
+#: src/pacman/sync.c:106
+#, c-format
+msgid "error: could not access cache directory\n"
+msgstr "hiba: nem sikerlt elrni a gyorsttr knyvtrt\n"
-#: src/pacman/sync.c:181
+#: src/pacman/sync.c:167
msgid "Do you want to remove all packages from cache? [Y/n] "
msgstr "El kvn tvoltani minden csomagot a gyorsttrbl? [I/n] "
-#: src/pacman/sync.c:183
+#: src/pacman/sync.c:169
+#, c-format
msgid "removing all packages from cache... "
msgstr "az sszes csomag eltvoltsa a gyorsttrbl... "
-#: src/pacman/sync.c:186
-msgid "could not remove cache directory\n"
-msgstr "nem sikerlt trlni a gyorsttr knyvtrt\n"
+#: src/pacman/sync.c:172
+#, c-format
+msgid "error: could not remove cache directory\n"
+msgstr "hiba: nem sikerlt trlni a gyorsttr knyvtrt\n"
-#: src/pacman/sync.c:191
-msgid "could not create new cache directory\n"
-msgstr "nem sikerlt ltrehozni az j gyorsttr knyvtrt\n"
+#: src/pacman/sync.c:177
+#, c-format
+msgid "error: could not create new cache directory\n"
+msgstr "hiba: nem sikerlt ltrehozni az j gyorsttr knyvtrt\n"
-#: src/pacman/sync.c:218
+#: src/pacman/sync.c:204
#, c-format
-msgid "failed to synchronize %s: %s\n"
-msgstr "nem sikerlt szinkronizlni %s-t: %s\n"
+msgid "error: failed to synchronize %s: %s\n"
+msgstr "hiba: nem sikerlt a(z) %s szinkronizlsa: %s\n"
-#: src/pacman/sync.c:220
+#: src/pacman/sync.c:207
#, c-format
-msgid "failed to update %s (%s)\n"
-msgstr "nem sikerlt frissteni a kvetkezt: %s (%s)\n"
+msgid "error: failed to update %s (%s)\n"
+msgstr "hiba: nem sikerlt a(z) %s frisstse (%s)\n"
-#: src/pacman/sync.c:223
+#: src/pacman/sync.c:211
#, c-format
msgid " %s is up to date\n"
msgstr " a(z) %s napraksz\n"
-#: src/pacman/sync.c:345
+#: src/pacman/sync.c:348
#, c-format
-msgid "repository '%s' does not exist\n"
-msgstr "a(z) '%s' rep nem ltezik\n"
+msgid "error: repository '%s' does not exist\n"
+msgstr "hiba: a(z) '%s' rep nem ltezik\n"
-#: src/pacman/sync.c:361
+#: src/pacman/sync.c:364
#, c-format
-msgid "package '%s' was not found in repository '%s'\n"
-msgstr "a(z) '%s' csomag nem tallhat a(z) '%s' repban\n"
+msgid "error: package '%s' was not found in repository '%s'\n"
+msgstr "hiba: a(z) '%s' csomag nem tallhat a(z) '%s' repban\n"
-#: src/pacman/sync.c:381
+#: src/pacman/sync.c:385
#, c-format
-msgid "package '%s' was not found\n"
-msgstr "a(z) '%s' csomag nem tallhat\n"
+msgid "error: package '%s' was not found\n"
+msgstr "hiba: a(z) '%s' csomag nem tallhat\n"
-#: src/pacman/sync.c:418
+#: src/pacman/sync.c:423
#, c-format
-msgid "repository \"%s\" was not found.\n"
-msgstr "a(z) \"%s\" rep nem tallhat.\n"
+msgid "error: repository \"%s\" was not found.\n"
+msgstr "hiba: a(z) \"%s\" rep nem tallhat.\n"
-#: src/pacman/sync.c:490
+#: src/pacman/sync.c:511
+#, c-format
msgid ":: Synchronizing package databases...\n"
msgstr ":: A csomagadatbzisok szinkronizlsa...\n"
-#: src/pacman/sync.c:491
-msgid "synchronizing package lists"
-msgstr "a csomaglistk szinkronizlsa"
-
-#: src/pacman/sync.c:493
-msgid "failed to synchronize any databases"
-msgstr "nem sikerlt szinkronizlni valamelyik adatbzist"
+#: src/pacman/sync.c:514
+#, c-format
+msgid "error: failed to synchronize any databases\n"
+msgstr "hiba: nem sikerlt szinkronizlni valamelyik adatbzist\n"
-#: src/pacman/sync.c:499
+#: src/pacman/sync.c:522
+#, c-format
msgid ":: Starting full system upgrade...\n"
msgstr ":: Teljes rendszerfrissts indtsa...\n"
-#: src/pacman/sync.c:500
-msgid "starting full system upgrade"
-msgstr "teljes rendszerfrissts indtsa"
-
-#: src/pacman/sync.c:518
+#: src/pacman/sync.c:543
+#, c-format
msgid ""
-"\n"
-":: pacman has detected a newer version of the \"pacman\" package.\n"
+":: pacman has detected a newer version of itself.\n"
+":: It is recommended that you upgrade pacman by itself\n"
+":: using 'pacman -S pacman', and then rerun the current\n"
+":: operation. If you wish to continue the operation and\n"
+":: not upgrade pacman seperately, answer no.\n"
msgstr ""
-"\n"
-":: a pacman egy jabb verzijt szlelte a \"pacman\" csomagnak.\n"
+":: A pacman egy jabb verzja ll rendelkezsre.\n"
+":: Ajnlott, hogy elszr magt a pacmant frisstse\n"
+":: a 'pacman -S pacman' paranccsal, majd adja ki jra\n"
+":: a jelenlegi parancsot. Ha mgis folytatni szeretn,\n"
+":: s nem frissti kln a pacmant, vlaszoljon nemmel.\n"
-#: src/pacman/sync.c:519
-msgid ":: It is recommended that you allow pacman to upgrade itself\n"
-msgstr ":: Ajnlott, hogy engedje, hogy a pacman elbb sajt magt\n"
+#: src/pacman/sync.c:548
+msgid ":: Cancel current operation? [Y/n] "
+msgstr ":: Megszaktja a jelenlegi mveletet? [I/n]"
-#: src/pacman/sync.c:520
-msgid ":: first, then you can re-run the operation with the newer version.\n"
-msgstr ":: frisstse, majd jra futtathatja a mveletet az jabb verzival.\n"
+#: src/pacman/sync.c:550 src/pacman/sync.c:766
+#, c-format
+msgid "error: failed to release transaction (%s)\n"
+msgstr "hiba: nem sikerlt lezrni a tranzakcit (%s)\n"
-#: src/pacman/sync.c:522
-msgid ":: Upgrade pacman first? [Y/n] "
-msgstr ":: Elszr csak a pacman frisstse? [I/n] "
+#: src/pacman/sync.c:562
+#, c-format
+msgid "error: pacman: %s\n"
+msgstr "hiba: pacman: %s\n"
-#: src/pacman/sync.c:537
+#: src/pacman/sync.c:586
#, c-format
-msgid "pacman: %s\n"
-msgstr "pacman: %s\n"
+msgid "'error: %s': %s\n"
+msgstr "'hiba: %s': %s\n"
-#: src/pacman/sync.c:572
+#: src/pacman/sync.c:605
msgid ":: Install whole content? [Y/n] "
msgstr ":: A teljes tartalom teleptse? [I/n] "
-#: src/pacman/sync.c:579
+#: src/pacman/sync.c:612
#, c-format
msgid ":: Install %s from group %s? [Y/n] "
msgstr ":: Telepti %s-t a(z) %s csoportbl? [I/n] "
-#: src/pacman/sync.c:603
+#: src/pacman/sync.c:636
#, c-format
-msgid "'%s': not found in sync db\n"
-msgstr "'%s': nem tallhat a tvoli adatbzisban\n"
-
-#: src/pacman/sync.c:621
-msgid "requires"
-msgstr "ignyli a kvetkezt:"
+msgid "error: '%s': not found in sync db\n"
+msgstr "hiba: '%s': nem tallhat a tvoli adatbzisban\n"
-#: src/pacman/sync.c:663
+#: src/pacman/sync.c:692
+#, c-format
msgid " local database is up to date\n"
msgstr " a helyi adatbzis napraksz\n"
-#: src/pacman/sync.c:672
-msgid ""
-"\n"
-"Beginning download...\n"
-msgstr ""
-"\n"
-"A letlts megkezdse...\n"
+#: src/pacman/sync.c:704
+#, c-format
+msgid "Beginning download...\n"
+msgstr "A letlts megkezdse...\n"
-#: src/pacman/sync.c:676
+#: src/pacman/sync.c:707
msgid "Proceed with download? [Y/n] "
msgstr "Kezddhet a letlts? [I/n] "
-#: src/pacman/sync.c:684
-msgid ""
-"\n"
-"Beginning upgrade process...\n"
-msgstr ""
-"\n"
-"A frisstsi folyamat megkezdse...\n"
+#: src/pacman/sync.c:711
+#, c-format
+msgid "Beginning upgrade process...\n"
+msgstr "A frisstsi folyamat megkezdse...\n"
-#: src/pacman/sync.c:688
+#: src/pacman/sync.c:714
msgid "Proceed with installation? [Y/n] "
msgstr "Kezddhet a telepts? [I/n] "
-#: src/pacman/trans.c:55
-msgid "checking dependencies... "
-msgstr "fggsgek vizsglata... "
-
-#: src/pacman/trans.c:59
-msgid "checking for file conflicts... "
-msgstr "fjltkzsek vizsglata... "
+#: src/pacman/sync.c:755
+#, c-format
+msgid "Errors occurred, no packages were upgraded.\n"
+msgstr "Hibk lptek fel, nem frisslt csomag.\n"
-#: src/pacman/trans.c:63
-msgid "cleaning up... "
-msgstr "takarts... "
+#: src/pacman/util.c:307
+#, c-format
+msgid "None\n"
+msgstr "Nincs\n"
-#: src/pacman/trans.c:66
-msgid "resolving dependencies... "
-msgstr "fggsgek feloldsa... "
+#: src/pacman/util.c:373
+msgid "Remove:"
+msgstr "Eltvolts:"
-#: src/pacman/trans.c:69
-msgid "looking for inter-conflicts... "
-msgstr "bels tkzsek keresse... "
+#: src/pacman/util.c:381
+#, c-format
+msgid "Total Removed Size: %.2f MB\n"
+msgstr "Teljes eltvoltott mret: %.2f MB\n"
-#: src/pacman/trans.c:86
+#: src/pacman/util.c:391
#, c-format
-msgid "installing %s... "
-msgstr "%s teleptse... "
+msgid "Total Package Size: %.2f MB\n"
+msgstr "Teljes csomagmret: %.2f MB\n"
-#: src/pacman/trans.c:93
+#: src/pacman/util.c:399
#, c-format
-msgid "installed %s (%s)"
-msgstr "%s teleptve (%s)"
+msgid "Total Installed Size: %.2f MB\n"
+msgstr "Teljes teleptett mret: %.2f MB\n"
+
+#: src/pacman/util.c:426
+msgid "Y"
+msgstr "I"
-#: src/pacman/trans.c:100
+#: src/pacman/util.c:426
+msgid "YES"
+msgstr "IGEN"
+
+#: src/pacman/util.c:487
#, c-format
-msgid "removing %s... "
-msgstr "%s eltvoltsa... "
+msgid "debug: "
+msgstr "hibakeress: "
-#: src/pacman/trans.c:107
+#: src/pacman/util.c:490
#, c-format
-msgid "removed %s (%s)"
-msgstr "%s eltvoltva (%s)"
+msgid "error: "
+msgstr "hiba: "
-#: src/pacman/trans.c:114
+#: src/pacman/util.c:493
#, c-format
-msgid "upgrading %s... "
-msgstr "%s frisstse... "
+msgid "warning: "
+msgstr "figyelmeztets: "
-#: src/pacman/trans.c:121
+#: src/pacman/util.c:498
#, c-format
-msgid "upgraded %s (%s -> %s)"
-msgstr "%s frisstve (%s -> %s)"
+msgid "function: "
+msgstr "fggvny: "
-#: src/pacman/trans.c:128
-msgid "checking package integrity... "
-msgstr "csomagok integritsnak ellenrzse... "
+#: scripts/abs.sh.in:60 scripts/makepkg.sh.in:106 scripts/makepkg.sh.in:108
+msgid "ERROR:"
+msgstr ""
-#: src/pacman/trans.c:144
-msgid "failed.\n"
-msgstr "sikertelen.\n"
+#: scripts/abs.sh.in:65
+msgid "abs (pacman) %s - download a PKGBUILD tree from a CVS repository"
+msgstr ""
-#: src/pacman/trans.c:151
-#, c-format
-msgid ":: Retrieving packages from %s...\n"
-msgstr ":: Csomagok letltse a(z) %s repbl...\n"
+#: scripts/abs.sh.in:66
+msgid "Usage %s [options] [repository...]"
+msgstr ""
-#: src/pacman/trans.c:172
-#, c-format
-msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] "
-msgstr ":: %1$s ignyli %2$s-t az IgnorePkg-bl. Telepti %2$s-t? [I/n] "
+#: scripts/abs.sh.in:67 scripts/makepkg.sh.in:970
+msgid "Options:"
+msgstr ""
-#: src/pacman/trans.c:177
-#, c-format
-msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] "
-msgstr ":: %s az IgnorePkg rsze. Mgis telepti? [I/n] "
+#: scripts/abs.sh.in:68
+msgid " -p, --passive The connection is opened in passive mode."
+msgstr ""
-#: src/pacman/trans.c:190
-#, c-format
-msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] "
-msgstr ":: %s HoldPkgnak lett jellve. Biztosan eltvoltja? [I/n] "
+#: scripts/abs.sh.in:70
+msgid " -h, --help Display this help message then exit."
+msgstr ""
-#: src/pacman/trans.c:203
-#, c-format
-msgid ":: Replace %s with %s/%s? [Y/n] "
-msgstr ":: Lecserli %s-t erre: %s/%s? [I/n] "
+#: scripts/abs.sh.in:71
+msgid " -V, --version Display version information then exit."
+msgstr ""
-#: src/pacman/trans.c:218
-#, c-format
-msgid ":: %s conflicts with %s. Remove %s? [Y/n] "
-msgstr ":: %s tkzik a kvetkezvel: %s. Eltvoltja a %s-t? [I/n] "
+#: scripts/abs.sh.in:73
+msgid ""
+"abs will synchronize build scripts from the CVS repository\\ninto %s. You "
+"can follow different package trees by\\nediting %s files. If no argument is "
+"given, abs\\nwill synchronize from supfiles specified in %s.\\n\\n"
+msgstr ""
-#: src/pacman/trans.c:234
-#, c-format
-msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] "
-msgstr ":: %s-%s: a helyi verzi jabb. Mgis frissti? [I/n] "
+#: scripts/abs.sh.in:79
+msgid "Report bugs to <%s>."
+msgstr ""
-#: src/pacman/trans.c:252
-#, c-format
-msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] "
-msgstr ":: %s-%s: a helyi verzi napraksz. Mgis frissti? [I/n] "
+#: scripts/abs.sh.in:84 scripts/gensync.sh.in:54 scripts/makepkg.sh.in:1003
+#: scripts/pacman-optimize.sh.in:59 scripts/repo-remove.sh.in:45
+msgid ""
+"Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>.\\n\\nThis is free "
+"software; see the source for copying conditions.\\nThere is NO WARRANTY, to "
+"the extent permitted by law.\\n"
+msgstr ""
-#: src/pacman/trans.c:270
-#, c-format
-msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] "
-msgstr ":: %s srlt. Kvnja trlni? [I/n] "
+#: scripts/abs.sh.in:130 scripts/pacman-optimize.sh.in:95
+msgid "%s does not exist or is not a directory."
+msgstr ""
-#: src/pacman/trans.c:326
-msgid "installing"
-msgstr "telepts:"
+#: scripts/abs.sh.in:133
+msgid "You do not have write permissions in %s."
+msgstr ""
-#: src/pacman/trans.c:329
-msgid "upgrading"
-msgstr "frissts:"
+#: scripts/abs.sh.in:143
+msgid "Missing CVS synchronization utility. Install cvsup or csup."
+msgstr ""
-#: src/pacman/trans.c:332
-msgid "removing"
-msgstr "eltvolts:"
+#: scripts/abs.sh.in:166
+msgid "Updating %s..."
+msgstr ""
-#: src/pacman/trans.c:335
-msgid "checking for file conflicts"
-msgstr "fjltkzsek vizsglata"
+#: scripts/gensync.sh.in:34
+msgid "Usage: %s <root> <destfile> [package_directory]"
+msgstr ""
-#: src/pacman/util.c:259
-#, c-format
-msgid "None\n"
-msgstr "Nincs\n"
+#: scripts/gensync.sh.in:35
+msgid ""
+"gensync will generate a sync database by reading all PKGBUILD files\\nfrom "
+"<root>. gensync builds the database in a temporary directory\\nand then "
+"compresses it to <destfile>.\\n\\n"
+msgstr ""
-#: src/pacman/util.c:311
-msgid "Remove:"
-msgstr "Eltvolts:"
+#: scripts/gensync.sh.in:39
+msgid ""
+"gensync will calculate md5sums of packages in the same directory as"
+"\\n<destfile>, unless an alternate [package_directory] is specified.\\n\\n"
+msgstr ""
-#: src/pacman/util.c:319
-#, c-format
+#: scripts/gensync.sh.in:42
msgid ""
-"\n"
-"Total Removed Size: %.2f MB\n"
+"note: The <destfile> name is important. It must be of the form\\n "
+"{treename}.db.tar.gz where {treename} is the name of the custom\\n "
+"package repository you configured in /etc/pacman.conf. The\\n generated "
+"database must reside in the same directory as your\\n custom packages "
+"(also configured in /etc/pacman.conf)\\n\\n"
msgstr ""
-"\n"
-"Teljes eltvoltott mret: %.2f MB\n"
-#: src/pacman/util.c:330
-#, c-format
+#: scripts/gensync.sh.in:48
+msgid "Example: gensync /var/abs/local /home/mypkgs/custom.db.tar.gz"
+msgstr ""
+
+#: scripts/gensync.sh.in:102 scripts/updatesync.sh.in:101
+msgid "%s not found. Can not continue."
+msgstr ""
+
+#: scripts/gensync.sh.in:120
+msgid "invalid root dir: %s"
+msgstr ""
+
+#: scripts/gensync.sh.in:122
+msgid "gensync: building database entries, generating md5sums..."
+msgstr ""
+
+#: scripts/gensync.sh.in:131
+msgid "failed to parse parse %s"
+msgstr ""
+
+#: scripts/gensync.sh.in:139
+msgid "could not find %s-%s-%s-%s.%s - skipping"
+msgstr ""
+
+#: scripts/gensync.sh.in:149
+msgid "creating repo DB..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:97 scripts/makepkg.sh.in:99
+msgid "WARNING:"
+msgstr ""
+
+#: scripts/makepkg.sh.in:139
+msgid "Cleaning up..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:189
msgid ""
-"\n"
-"Total Package Size: %.2f MB\n"
+"Options beginning with 'no' will be deprecated in the next version of "
+"makepkg!"
msgstr ""
-"\n"
-"Teljes csomagmret: %.2f MB\n"
-#: src/pacman/util.c:337
-#, c-format
-msgid "Total Installed Size: %.2f MB\n"
-msgstr "Teljes teleptett mret: %.2f MB\n"
+#: scripts/makepkg.sh.in:190
+msgid "Please replace 'no' with '!': %s -> %s."
+msgstr ""
-#~ msgid "requires: %s"
-#~ msgstr "ignyli a kvetkezt: %s"
+#: scripts/makepkg.sh.in:194
+msgid "Option 'keepdocs' may not work as intended. Please replace with 'docs'."
+msgstr ""
-#~ msgid "usage: %s {-h --help}\n"
-#~ msgstr "hasznlat: %s {-h --help}\n"
+#: scripts/makepkg.sh.in:282
+msgid "There is no agent set up to handle %s URLs. Check %s."
+msgstr ""
-#~ msgid " %s {-V --version}\n"
-#~ msgstr " %s {-V --version}\n"
+#: scripts/makepkg.sh.in:283 scripts/makepkg.sh.in:292
+#: scripts/makepkg.sh.in:444 scripts/makepkg.sh.in:472
+#: scripts/makepkg.sh.in:518 scripts/makepkg.sh.in:606
+#: scripts/makepkg.sh.in:634 scripts/makepkg.sh.in:696
+#: scripts/makepkg.sh.in:763 scripts/makepkg.sh.in:1020
+#: scripts/makepkg.sh.in:1319 scripts/makepkg.sh.in:1323
+msgid "Aborting..."
+msgstr ""
-#~ msgid " %s {-A --add} [options] <file>\n"
-#~ msgstr " %s {-A --add} [opcik] <fjl>\n"
+#: scripts/makepkg.sh.in:291
+msgid "The download program %s is not installed."
+msgstr ""
-#~ msgid " %s {-F --freshen} [options] <file>\n"
-#~ msgstr " %s {-F --freshen} [opcik] <fjl>\n"
+#: scripts/makepkg.sh.in:307
+msgid "Pacman returned a fatal error (%i): %s"
+msgstr ""
+
+#: scripts/makepkg.sh.in:331
+msgid "Installing missing dependencies..."
+msgstr ""
-#~ msgid " %s {-Q --query} [options] [package]\n"
-#~ msgstr " %s {-Q --query} [opcik] [csomag]\n"
+#: scripts/makepkg.sh.in:341
+msgid "Pacman failed to install missing dependencies."
+msgstr ""
-#~ msgid " %s {-R --remove} [options] <package>\n"
-#~ msgstr " %s {-R --remove} [opcik] <csomag>\n"
+#: scripts/makepkg.sh.in:345
+msgid "Building missing dependencies..."
+msgstr ""
-#~ msgid " %s {-S --sync} [options] [package]\n"
-#~ msgstr " %s {-S --sync} [opcik] [csomag]\n"
+#: scripts/makepkg.sh.in:350
+msgid "Source root cannot be found - please make sure it is specified in %s."
+msgstr ""
-#~ msgid " %s {-U --upgrade} [options] <file>\n"
-#~ msgstr " %s {-U --upgrade} [opcik] <fjl>\n"
+#: scripts/makepkg.sh.in:358
+msgid "Could not find '%s' under %s"
+msgstr ""
-#~ msgid "usage: %s {-A --add} [options] <file>\n"
-#~ msgstr "hasznlat: %s {-A --add} [opcik] <fjl>\n"
+#: scripts/makepkg.sh.in:374
+msgid "Failed to build '%s'"
+msgstr ""
-#~ msgid "usage: %s {-F --freshen} [options] <file>\n"
-#~ msgstr "hasznlat: %s {-F --freshen} [opcik] <fjl>\n"
+#: scripts/makepkg.sh.in:407
+msgid "Failed to install all missing dependencies."
+msgstr ""
-#~ msgid "usage: %s {-U --upgrade} [options] <file>\n"
-#~ msgstr "hasznlat: %s {-U --upgrade} [opcik] <fjl>\n"
+#: scripts/makepkg.sh.in:410
+msgid "Missing Dependencies:"
+msgstr ""
-#~ msgid "usage: %s {-Q --query} [options] [package]\n"
-#~ msgstr "hasznlat: %s {-Q --query} [opcik] [csomag]\n"
+#: scripts/makepkg.sh.in:440
+msgid "Retrieving Sources..."
+msgstr ""
-#~ msgid " required by any package\n"
-#~ msgstr ""
-#~ " teleptsre, de most mr nem ignyli ket ms "
-#~ "csomag\n"
+#: scripts/makepkg.sh.in:443
+msgid "You do not have write permission to store downloads in %s."
+msgstr ""
-#~ msgid "usage: %s {-S --sync} [options] [package]\n"
-#~ msgstr "hasznlat: %s {-S --sync} [opcik] [csomag]\n"
+#: scripts/makepkg.sh.in:454
+msgid "Found %s in build dir"
+msgstr ""
-#~ msgid " the terms of the GNU General Public License\n"
-#~ msgstr " foglaltak alapjn szabadon terjesztheti\n"
+#: scripts/makepkg.sh.in:458
+msgid "Using cached copy of %s"
+msgstr ""
-#~ msgid "'%s': %s\n"
-#~ msgstr "'%s': %s\n"
+#: scripts/makepkg.sh.in:466
+msgid "Downloading %s..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:471
+msgid "Failure while downloading %s"
+msgstr ""
+
+#: scripts/makepkg.sh.in:482
+msgid "Generating checksums for source files..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:491
+msgid "Invalid integrity algorithm '%s' specified."
+msgstr ""
+
+#: scripts/makepkg.sh.in:496 scripts/makepkg.sh.in:548
+msgid "Cannot find the '%s' program."
+msgstr ""
+
+#: scripts/makepkg.sh.in:517
+msgid "Unable to find source file %s to generate checksum."
+msgstr ""
+
+#: scripts/makepkg.sh.in:543
+msgid "Invalid integrity algorithm '%s' specified"
+msgstr ""
+
+#: scripts/makepkg.sh.in:554
+msgid "Validating source files with %s..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:564
+msgid "NOT FOUND"
+msgstr ""
+
+#: scripts/makepkg.sh.in:573
+msgid "Passed"
+msgstr ""
+
+#: scripts/makepkg.sh.in:575
+msgid "FAILED"
+msgstr ""
+
+#: scripts/makepkg.sh.in:583
+msgid "One or more files did not pass the validity check!"
+msgstr ""
+
+#: scripts/makepkg.sh.in:587
+msgid "Integrity checks (%s) are missing or incomplete."
+msgstr ""
+
+#: scripts/makepkg.sh.in:593
+msgid "Extracting Sources..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:605
+msgid "Unable to find source file %s for extraction."
+msgstr ""
+
+#: scripts/makepkg.sh.in:633
+msgid "Failed to extract %s"
+msgstr ""
+
+#: scripts/makepkg.sh.in:665
+msgid "Starting build()..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:695
+msgid "Build Failed."
+msgstr ""
+
+#: scripts/makepkg.sh.in:704
+msgid "Tidying install..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:707
+msgid "Removing info/doc files..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:713
+msgid "Moving usr/share/man files to usr/man..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:720
+msgid "Compressing man pages..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:738
+msgid "Stripping debugging symbols from binaries and libraries..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:750
+msgid "Removing libtool .la files..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:755
+msgid "Removing empty directories..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:762
+msgid "Missing pkg/ directory."
+msgstr ""
+
+#: scripts/makepkg.sh.in:768
+msgid "Creating package..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:778
+msgid "Generating .FILELIST file..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:788
+msgid "Generating .PKGINFO file..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:831
+msgid "Please add a license line to your %s!"
+msgstr ""
+
+#: scripts/makepkg.sh.in:832
+msgid "Example for GPL'ed software: license=('GPL')."
+msgstr ""
+
+#: scripts/makepkg.sh.in:840 scripts/makepkg.sh.in:924
+msgid "Adding install script..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:847
+msgid "Adding package changelog..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:853
+msgid "Compressing package..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:858
+msgid "Failed to create package file."
+msgstr ""
+
+#: scripts/makepkg.sh.in:867
+msgid "Cannot find the xdelta binary! Is xdelta installed?"
+msgstr ""
+
+#: scripts/makepkg.sh.in:897
+msgid "Making delta from version %s..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:908
+msgid "Recreating package tarball from delta to match md5 signatures"
+msgstr ""
+
+#: scripts/makepkg.sh.in:909
+msgid "NOTE: the delta should ONLY be distributed with this tarball"
+msgstr ""
+
+#: scripts/makepkg.sh.in:912
+msgid "No previous version found, skipping xdelta."
+msgstr ""
+
+#: scripts/makepkg.sh.in:918
+msgid "Creating source package..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:920 scripts/makepkg.sh.in:932
+#: scripts/makepkg.sh.in:939
+msgid "Adding %s..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:927
+msgid "Install script %s not found."
+msgstr ""
+
+#: scripts/makepkg.sh.in:947
+msgid "Compressing source package..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:949
+msgid "Failed to create source package file."
+msgstr ""
+
+#: scripts/makepkg.sh.in:957
+msgid "Installing package with pacman -U..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:968
+msgid "Usage: %s [options]"
+msgstr ""
+
+#: scripts/makepkg.sh.in:971
+msgid " -A, --ignorearch Ignore incomplete arch field in %s"
+msgstr ""
+
+#: scripts/makepkg.sh.in:972
+msgid " -b, --builddeps Build missing dependencies from source"
+msgstr ""
+
+#: scripts/makepkg.sh.in:973
+msgid " -c, --clean Clean up work files after build"
+msgstr ""
+
+#: scripts/makepkg.sh.in:974
+msgid " -C, --cleancache Clean up source files from the cache"
+msgstr ""
+
+#: scripts/makepkg.sh.in:975
+msgid " -d, --nodeps Skip all dependency checks"
+msgstr ""
+
+#: scripts/makepkg.sh.in:976
+msgid " -e, --noextract Do not extract source files (use existing src/ dir)"
+msgstr ""
+
+#: scripts/makepkg.sh.in:977
+msgid " -f, --force Overwrite existing package"
+msgstr ""
+
+#: scripts/makepkg.sh.in:978
+msgid " -g, --geninteg Generate integrity checks for source files"
+msgstr ""
+
+#: scripts/makepkg.sh.in:979
+msgid " -h, --help This help"
+msgstr ""
+
+#: scripts/makepkg.sh.in:980
+msgid " -i, --install Install package after successful build"
+msgstr ""
+
+#: scripts/makepkg.sh.in:981
+msgid " -L, --log Log package build process"
+msgstr ""
+
+#: scripts/makepkg.sh.in:982
+msgid " -m, --nocolor Disable colorized output messages"
+msgstr ""
+
+#: scripts/makepkg.sh.in:983
+msgid " -o, --nobuild Download and extract files only"
+msgstr ""
+
+#: scripts/makepkg.sh.in:984
+msgid " -p <buildscript> Use an alternate build script (instead of '%s')"
+msgstr ""
+
+#: scripts/makepkg.sh.in:985
+msgid ""
+" -r, --rmdeps Remove installed dependencies after a successful build"
+msgstr ""
+
+#: scripts/makepkg.sh.in:987
+msgid " -R, --repackage Repackage contents of pkg/ without building"
+msgstr ""
+
+#: scripts/makepkg.sh.in:988
+msgid " -s, --syncdeps Install missing dependencies with pacman"
+msgstr ""
+
+#: scripts/makepkg.sh.in:989
+msgid " --asroot Allow makepkg to run as root user"
+msgstr ""
+
+#: scripts/makepkg.sh.in:990
+msgid " --source Do not build package; generate a source-only tarball"
+msgstr ""
+
+#: scripts/makepkg.sh.in:992
+msgid "These options can be passed to pacman:"
+msgstr ""
+
+#: scripts/makepkg.sh.in:994
+msgid ""
+" --noconfirm Do not ask for confirmation when resolving "
+"dependencies"
+msgstr ""
+
+#: scripts/makepkg.sh.in:995
+msgid ""
+" --noprogressbar Do not show a progress bar when downloading files"
+msgstr ""
+
+#: scripts/makepkg.sh.in:997
+msgid "If -p is not specified, makepkg will look for '%s'"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1019
+msgid "%s not found."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1088
+msgid "Sudo is used by default now. The --usesudo option is deprecated!"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1104
+msgid "Cleaning up ALL files from %s."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1105
+msgid " Are you sure you wish to do this? [Y/n] "
+msgstr ""
+
+#: scripts/makepkg.sh.in:1111
+msgid "Problem removing files; you may not have correct permissions in %s"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1115
+msgid "Source cache cleaned."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1120
+msgid "No files have been removed."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1125
+msgid "Source destination must be defined in makepkg.conf."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1126
+msgid "In addition, please run makepkg -C outside of your cache directory."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1132
+msgid "BUILDSCRIPT is undefined! Ensure you have updated %s."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1139
+msgid "Running makepkg as root is a BAD idea and can cause"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1140
+msgid "permanent, catastrophic damage to your system. If you"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1141
+msgid "wish to run as root, please use the --asroot option."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1145
+msgid "The --asroot option is meant for the root user only."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1146
+msgid "Please rerun makepkg without the --asroot flag."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1150
+msgid "Fakeroot must be installed if using the 'fakeroot' option"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1151
+msgid "in the BUILDENV array in %s."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1155
+msgid "Running makepkg as an unprivileged user will result in non-root"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1156
+msgid "ownership of the packaged files. Try using the fakeroot environment by"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1157
+msgid "placing 'fakeroot' in the BUILDENV array in makepkg.conf."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1162
+msgid "Do not use the '-F' option. This option is only for use by makepkg."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1171
+msgid "Cannot find the sudo binary! Is sudo installed?"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1172
+msgid "Missing dependencies cannot be installed or removed as a normal user"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1173
+msgid "without sudo; install and configure sudo to auto-resolve dependencies."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1183
+msgid "%s does not exist."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1198 scripts/makepkg.sh.in:1202
+msgid "%s is not allowed to be empty."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1206 scripts/makepkg.sh.in:1210
+msgid "%s is not allowed to contain hyphens."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1216 scripts/makepkg.sh.in:1221
+msgid "%s is not available for the '%s' architecture."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1217 scripts/makepkg.sh.in:1222
+msgid "Note that many packages may need a line added to their %s"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1218 scripts/makepkg.sh.in:1223
+msgid "such as arch=('%s')."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1228
+msgid "Install scriptlet (%s) does not exist."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1235
+msgid "A package has already been built, installing existing package..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1239 scripts/makepkg.sh.in:1270
+msgid "A package has already been built. (use -f to overwrite)"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1248 scripts/makepkg.sh.in:1346
+msgid "Skipping build."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1256
+msgid "Leaving fakeroot environment."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1260
+msgid "Making package: %s"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1263
+msgid "Running makepkg as root..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1274
+msgid "Source package created: %s"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1281
+msgid "Skipping dependency checks."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1288
+msgid "Checking Runtime Dependencies..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1291
+msgid "Checking Buildtime Dependencies..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1295
+msgid "Could not resolve all dependencies."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1299
+msgid "pacman was not found in PATH; skipping dependency checks."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1313
+msgid "Skipping source retrieval -- using existing src/ tree"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1314
+msgid "Skipping source integrity checks -- using existing src/ tree"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1315
+msgid "Skipping source extraction -- using existing src/ tree"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1318
+msgid "The source directory is empty, there is nothing to build!"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1322
+msgid "The package directory is empty, there is nothing to repackage!"
+msgstr ""
+
+#: scripts/makepkg.sh.in:1333
+msgid "Sources are ready."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1338
+msgid "Removing existing pkg/ directory..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1354
+msgid "Entering fakeroot environment..."
+msgstr ""
+
+#: scripts/makepkg.sh.in:1363
+msgid "Finished making: %s"
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:44
+msgid "Usage: %s [pacman_db_root]"
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:45
+msgid ""
+"pacman-optimize is a little hack that should improve the performance\\nof "
+"pacman when reading/writing to its filesystem-based database.\\n\\n"
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:48
+msgid ""
+"Because pacman uses many small files to keep track of packages,\\nthere is a "
+"tendency for these files to become fragmented over time.\\nThis script "
+"attempts to relocate these small files into one\\ncontinuous location on "
+"your hard drive. The result is that the hard\\ndrive should be able to read "
+"them faster, since the hard drive head\\ndoes not have to move around the "
+"disk as much.\\n"
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:91
+msgid "Pacman lockfile was found. Cannot run while pacman is running."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:99
+msgid "You must have correct permissions to optimize the database."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:106
+msgid "MD5sum'ing the old database..."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:110
+msgid "Tar'ing up %s..."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:115
+msgid "Tar'ing up %s failed."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:119
+msgid "Making and MD5sum'ing the new db..."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:131
+msgid "Checking integrity..."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:137
+msgid "integrity check FAILED, reverting to old database."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:142
+msgid "Putting the new database in place..."
+msgstr ""
+
+#: scripts/pacman-optimize.sh.in:150
+msgid "Finished. Your pacman database has been optimized."
+msgstr ""
+
+#: scripts/repo-add.sh.in:35
+msgid "Usage: %s <path-to-db> [--force] <package> ...\\n\\n"
+msgstr ""
+
+#: scripts/repo-add.sh.in:36
+msgid ""
+"repo-add will update a package database by reading a package file."
+"\\nMultiple packages to add can be specified on the command line.\\n\\n"
+msgstr ""
+
+#: scripts/repo-add.sh.in:39
+msgid ""
+"The --force flag will add a 'force' entry to the sync database, which"
+"\\ntells pacman to skip its internal version number checking and update"
+"\\nthe package regardless.\\n\\n"
+msgstr ""
+
+#: scripts/repo-add.sh.in:43
+msgid "Example: repo-add /path/to/repo.db.tar.gz pacman-3.0.0.pkg.tar.gz"
+msgstr ""
+
+#: scripts/repo-add.sh.in:48
+msgid ""
+"Copyright (C) 2006 Aaron Griffin <aaron@archlinux.org>.\\n\\nThis is free "
+"software; see the source for copying conditions.\\nThere is NO WARRANTY, to "
+"the extent permitted by law.\\n"
+msgstr ""
+
+#: scripts/repo-add.sh.in:138
+msgid " error: invalid package file"
+msgstr ""
+
+#: scripts/repo-add.sh.in:145 scripts/repo-remove.sh.in:68
+msgid ":: removing existing package '%s'"
+msgstr ""
+
+#: scripts/repo-add.sh.in:155
+msgid ":: creating 'desc' db entry"
+msgstr ""
+
+#: scripts/repo-add.sh.in:173
+msgid ":: computing %s checksums"
+msgstr ""
+
+#: scripts/repo-add.sh.in:242 scripts/repo-remove.sh.in:98
+msgid "ERROR: /etc/makepkg.conf not found. Can not continue."
+msgstr ""
+
+#: scripts/repo-add.sh.in:253 scripts/repo-remove.sh.in:109
+msgid "cannot create temp directory for database building"
+msgstr ""
+
+#: scripts/repo-add.sh.in:264 scripts/repo-remove.sh.in:118
+msgid "error: repository file '%s' is not a proper pacman db"
+msgstr ""
+
+#: scripts/repo-add.sh.in:267 scripts/repo-remove.sh.in:121
+msgid ":: extracting database to a temporary location"
+msgstr ""
+
+#: scripts/repo-add.sh.in:273
+msgid "error: '%s' is not a package file, skipping"
+msgstr ""
+
+#: scripts/repo-add.sh.in:275
+msgid ":: adding package '%s'"
+msgstr ""
+
+#: scripts/repo-add.sh.in:284
+msgid "error: package '%s' not found"
+msgstr ""
+
+#: scripts/repo-add.sh.in:291 scripts/repo-remove.sh.in:139
+msgid ":: creating updated database file %s"
+msgstr ""
+
+#: scripts/repo-add.sh.in:299 scripts/repo-remove.sh.in:147
+msgid "warning: no compression set"
+msgstr ""
+
+#: scripts/repo-add.sh.in:304 scripts/repo-remove.sh.in:152
+msgid ":: no packages modified, nothing to do"
+msgstr ""
+
+#: scripts/repo-remove.sh.in:34
+msgid "repo-remove %s\\n\\n"
+msgstr ""
+
+#: scripts/repo-remove.sh.in:35
+msgid "usage: %s <path-to-db> <packagename> ...\\n\\n"
+msgstr ""
+
+#: scripts/repo-remove.sh.in:36
+msgid ""
+"repo-remove will update a package database by removing the package name"
+"\\nspecified on the command line from the given repo database. Multiple"
+"\\npackages to remove can be specified on the command line.\\n\\n"
+msgstr ""
+
+#: scripts/repo-remove.sh.in:40
+msgid "Example: repo-remove /path/to/repo.db.tar.gz kernel26"
+msgstr ""
+
+#: scripts/repo-remove.sh.in:125
+msgid ":: searching for package '%s'"
+msgstr ""
+
+#: scripts/repo-remove.sh.in:131
+msgid "error: package matching '%s' not found"
+msgstr ""
+
+#: scripts/updatesync.sh.in:35
+msgid "Usage: %s <action> <destfile> <option> [package_directory]"
+msgstr ""
+
+#: scripts/updatesync.sh.in:36
+msgid ""
+"updatesync will update a sync database by reading a PKGBUILD and\\nmodifying "
+"the destfile. updatesync updates the database in a temporary\\ndirectory and "
+"then compresses it to <destfile>.\\n\\n"
+msgstr ""
+
+#: scripts/updatesync.sh.in:40
+msgid "There are two types of actions:\\n\\n"
+msgstr ""
+
+#: scripts/updatesync.sh.in:41
+msgid ""
+"upd - Will update a package's entry or create it if it doesn't exist."
+"\\n It takes the package's PKGBUILD as an option.\\n"
+msgstr ""
+
+#: scripts/updatesync.sh.in:42
+msgid ""
+"del - Will remove a package's entry from the db. It takes the package's"
+"\\n name as an option.\\n"
+msgstr ""
+
+#: scripts/updatesync.sh.in:44
+msgid ""
+"updatesync will calculate md5sums of packages in the same directory as"
+"\\n<destfile>, unless an alternate [package_directory] is specified.\\n\\n"
+msgstr ""
+
+#: scripts/updatesync.sh.in:47
+msgid "Example: updatesync upd /home/mypkgs/custom.db.tar.gz PKGBUILD"
+msgstr ""
+
+#: scripts/updatesync.sh.in:53
+msgid ""
+"Copyright (C) 2004 Jason Chu <jason@archlinux.org>.\\n\\nThis is free "
+"software; see the source for copying conditions.\\nThere is NO WARRANTY, to "
+"the extent permitted by law.\\n"
+msgstr ""
+
+#: scripts/updatesync.sh.in:123
+msgid "%s not found"
+msgstr ""
+
+#: scripts/updatesync.sh.in:129
+msgid "failed to parse %s"
+msgstr ""
+
+#: scripts/updatesync.sh.in:133
+msgid "could not find %s-%s-%s-%s.%s - aborting"
+msgstr ""
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 30e6b711..d5b41144 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -26,6 +26,11 @@
# USA.
#
+# makepkg uses quite a few external programs during its execution. You
+# need to have at least the following installed for makepkg to function:
+# awk, bsdtar (libarchive), bzip2, coreutils, fakeroot, find (findutils),
+# getopt (util-linux), gettext, grep, gzip, sed
+
# gettext initialization
export TEXTDOMAIN='pacman'
export TEXTDOMAINDIR='@localedir@'
@@ -61,7 +66,7 @@ PACMAN_OPTS=
plain() {
local mesg=$1; shift
- if [ ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+ if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
printf "\033[1;37m ${mesg}\033[0m\n" "$@" >&2
else
printf " ${mesg}\n" "$@" >&2
@@ -70,7 +75,7 @@ plain() {
msg() {
local mesg=$1; shift
- if [ ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+ if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
printf "\033[1;32m==>\033[1;37m ${mesg}\033[0m\n" "$@" >&2
else
printf "==> ${mesg}\n" "$@" >&2
@@ -79,7 +84,7 @@ msg() {
msg2() {
local mesg=$1; shift
- if [ ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+ if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
printf "\033[1;34m ->\033[1;37m ${mesg}\033[0m\n" "$@" >&2
else
printf " -> ${mesg}\n" "$@" >&2
@@ -88,7 +93,7 @@ msg2() {
warning() {
local mesg=$1; shift
- if [ ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+ if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
printf "\033[1;33m==> $(gettext "WARNING:")\033[1;37m ${mesg}\033[0m\n" "$@" >&2
else
printf "==> $(gettext "WARNING:") ${mesg}\n" "$@" >&2
@@ -97,7 +102,7 @@ warning() {
error() {
local mesg=$1; shift
- if [ ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+ if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
printf "\033[1;31m==> $(gettext "ERROR:")\033[1;37m ${mesg}\033[0m\n" "$@" >&2
else
printf "==> $(gettext "ERROR:") ${mesg}\n" "$@" >&2
@@ -294,9 +299,9 @@ get_downloadclient() {
check_deps() {
[ $# -gt 0 ] || return
- pmout=$(pacman $PACMAN_OPTS -T $*)
+ pmout=$(pacman $PACMAN_OPTS -T "$@")
ret=$?
- if [ $ret -eq 1 ]; then #unresolved deps
+ if [ $ret -eq 127 ]; then #unresolved deps
echo "$pmout"
elif [ $ret -ne 0 ]; then
error "$(gettext "Pacman returned a fatal error (%i): %s")" "$ret" "$pmout"
@@ -327,9 +332,9 @@ handledeps() {
local ret=0
if [ "$ASROOT" = 0 ]; then
- sudo pacman $PACMAN_OPTS -S $striplist || ret=$?
+ sudo pacman $PACMAN_OPTS -S --asdeps $striplist || ret=$?
else
- pacman $PACMAN_OPTS -S $striplist || ret=$?
+ pacman $PACMAN_OPTS -S --asdeps $striplist || ret=$?
fi
if [ $ret -ne 0 ]; then
@@ -433,16 +438,25 @@ remove_deps() {
download_sources() {
msg "$(gettext "Retrieving Sources...")"
+
+ if [ ! -w "$SRCDEST" ] ; then
+ error "$(gettext "You do not have write permission to store downloads in %s.")" "$SRCDEST"
+ plain "$(gettext "Aborting...")"
+ exit 1
+ fi
+
+ pushd "$SRCDEST" &>/dev/null
+
local netfile
for netfile in ${source[@]}; do
local file=$(strip_url "$netfile")
- if [ -f "../$file" ]; then
+ if [ -f "$startdir/$file" ]; then
msg2 "$(gettext "Found %s in build dir")" "$file"
- cp "../$file" .
+ cp -s --remove-destination "$startdir/$file" "$srcdir/"
continue
elif [ -f "$SRCDEST/$file" ]; then
msg2 "$(gettext "Using cached copy of %s")" "$file"
- cp "$SRCDEST/$file" .
+ cp -s --remove-destination "$SRCDEST/$file" "$srcdir/"
continue
fi
@@ -458,17 +472,10 @@ download_sources() {
plain "$(gettext "Aborting...")"
exit 1
fi
-
- if [ -n "$SRCDEST" ]; then
- mkdir -p "$SRCDEST" && cp "$file" "$SRCDEST" || ret=$?
- if [ $ret -gt 0 ]; then
- warning "$(gettext "You do not have correct permissions to cache source in %s")" "$SRCDEST"
- cp "$file" ..
- fi
- else
- cp "$file" ..
- fi
+ cp -s --remove-destination "$SRCDEST/$file" "$srcdir/"
done
+
+ popd &>/dev/null
}
generate_checksums() {
@@ -504,6 +511,17 @@ generate_checksums() {
local netfile
for netfile in ${source[@]}; do
local file="$(strip_url "$netfile")"
+
+ if [ ! -f "$file" ] ; then
+ if [ ! -f "$SRCDEST/$file" ] ; then
+ error "$(gettext "Unable to find source file %s to generate checksum.")" "$file"
+ plain "$(gettext "Aborting...")"
+ exit 1
+ else
+ file=$SRCDEST/$file
+ fi
+ fi
+
local sum="$(${integ}sum "$file" | cut -d ' ' -f 1)"
[ $ct -gt 0 ] && echo -n "$indent"
echo -n "'$sum'"
@@ -541,6 +559,16 @@ check_checksums() {
file="$(strip_url "$file")"
echo -n " $file ... " >&2
+ if [ ! -f "$file" ] ; then
+ if [ ! -f "$file" ] ; then
+ echo "$(gettext "NOT FOUND")" >&2
+ errors=1
+ continue
+ else
+ file=$SRCDEST/$file
+ fi
+ fi
+
if echo "${integrity_sums[$idx]} $file" | ${integ}sum --status -c - &>/dev/null; then
echo "$(gettext "Passed")" >&2
else
@@ -548,7 +576,7 @@ check_checksums() {
errors=1
fi
- idx=$(($idx+1))
+ idx=$((idx + 1))
done
if [ $errors -gt 0 ]; then
@@ -572,8 +600,18 @@ extract_sources() {
continue
fi
+ if [ ! -f "$file" ] ; then
+ if [ ! -f "$SRCDEST/$file" ] ; then
+ error "$(gettext "Unable to find source file %s for extraction.")" "$file"
+ plain "$(gettext "Aborting...")"
+ exit 1
+ else
+ file=$SRCDEST/$file
+ fi
+ fi
+
# fix flyspray #6246
- local file_type=$(file -biz "$file")
+ local file_type=$(file -bizL "$file")
local cmd=''
case "$file_type" in
*application/x-tar*|*application/x-zip*|*application/x-cpio*)
@@ -631,7 +669,7 @@ run_build() {
umask 0022
# ensure all necessary build variables are exported
- export CFLAGS CXXFLAGS MAKEFLAGS
+ export CFLAGS CXXFLAGS MAKEFLAGS CHOST
local ret=0
if [ "$LOGGING" = "1" ]; then
@@ -1107,13 +1145,13 @@ if [ "$INFAKEROOT" = "0" ]; then
error "$(gettext "The --asroot option is meant for the root user only.")"
plain "$(gettext "Please rerun makepkg without the --asroot flag.")"
exit 1 # $E_USER_ABORT
- elif [ "$(check_buildenv fakeroot)" = "y" ]; then
+ elif [ "$(check_buildenv fakeroot)" = "y" -a $EUID -gt 0 ]; then
if [ ! $(type -p fakeroot) ]; then
error "$(gettext "Fakeroot must be installed if using the 'fakeroot' option")"
plain "$(gettext "in the BUILDENV array in %s.")" "$confdir/makepkg.conf"
exit 1
fi
- else
+ elif [ $EUID -gt 0 ]; then
warning "$(gettext "Running makepkg as an unprivileged user will result in non-root")"
plain "$(gettext "ownership of the packaged files. Try using the fakeroot environment by")"
plain "$(gettext "placing 'fakeroot' in the BUILDENV array in makepkg.conf.")"
@@ -1174,7 +1212,7 @@ if [ $(echo "$pkgrel" | grep '-') ]; then
fi
if ! in_array $CARCH ${arch[@]}; then
- if "$IGNOREARCH" = "0" ]; then
+ if [ "$IGNOREARCH" = "0" ]; then
error "$(gettext "%s is not available for the '%s' architecture.")" "$pkgname" "$CARCH"
plain "$(gettext "Note that many packages may need a line added to their %s")" "$BUILDSCRIPT"
plain "$(gettext "such as arch=('%s').")" "$CARCH"
diff --git a/scripts/pacman-optimize.sh.in b/scripts/pacman-optimize.sh.in
index fe59e661..83c56a77 100644
--- a/scripts/pacman-optimize.sh.in
+++ b/scripts/pacman-optimize.sh.in
@@ -63,13 +63,13 @@ There is NO WARRANTY, to the extent permitted by law.\n")"
}
die() {
- error $@
+ error "$@"
exit 1
}
die_r() {
- rm -f $lockfile
- die $@
+ rm -f "$lockfile"
+ die "$@"
}
if [ "$1" = "-h" -o "$1" = "--help" ]; then
@@ -87,8 +87,8 @@ if [ "$1" != "" ]; then
fi
# make sure pacman isn't running
-if [ -f $lockfile ]; then
- die "$(gettext "Pacman lockfile was found. Cannot run while pacman is running.")"
+if [ -f "$lockfile" ]; then
+ die "$(gettext "Pacman lock file was found. Cannot run while pacman is running.")"
fi
if [ ! -d "$dbroot" ]; then
@@ -99,55 +99,58 @@ if [ ! -w "$dbroot" ]; then
die "$(gettext "You must have correct permissions to optimize the database.")"
fi
+workdir=$(mktemp -d /tmp/pacman-optimize.XXXXXXXXXX) ||
+ die_r "$(gettext "ERROR: Can not create temp directory for database building.")\n" >&2
+
# do not let pacman run while we do this
-touch $lockfile
+touch "$lockfile"
# step 1: sum the old db
msg "$(gettext "MD5sum'ing the old database...")"
-find $dbroot -type f | sort | xargs md5sum > /tmp/pacsums.old
+find "$dbroot" -type f | sort | xargs md5sum > "$workdir/pacsums.old"
# step 2: tar it up
msg "$(gettext "Tar'ing up %s...")" "$dbroot"
-cd $dbroot
-tar -czf /tmp/pacmanDB.tgz ./
+cd "$dbroot"
+bsdtar -czf "$workdir/pacmanDB.tgz" ./
if [ $? -ne 0 ]; then
- rm -f /tmp/pacmanDB.tgz /tmp/pacsums.old
+ rm -rf "$workdir"
die_r "$(gettext "Tar'ing up %s failed.")" "$dbroot"
fi
# step 3: make and sum the new db
msg "$(gettext "Making and MD5sum'ing the new db...")"
-mkdir $dbroot.new
-tar -zxpf /tmp/pacmanDB.tgz -C $dbroot.new/
+mkdir "$dbroot.new"
+bsdtar -zxpf "$workdir/pacmanDB.tgz" -C "$dbroot.new/"
if [ $? -ne 0 ]; then
- rm -f /tmp/pacmanDB.tgz /tmp/pacsums.old
- rm -rf "$dbroot.new"
- die_r "$(gettext "Untar'ing $dbroot failed.")"
+ rm -rf "$workdir"
+ die_r "$(gettext "Untar'ing %s failed.")" "$dbroot"
fi
-find "$dbroot.new" -type f | sort | sed -e 's/pacman.new/pacman/g' | \
- xargs md5sum > /tmp/pacsums.new
+find "$dbroot.new" -type f | sort | \
+ xargs md5sum | sed 's#.new/##' > "$workdir/pacsums.new"
# step 4: compare the sums
msg "$(gettext "Checking integrity...")"
-diff /tmp/pacsums.old /tmp/pacsums.new >/dev/null 2>&1
+diff "$workdir/pacsums.old" "$workdir/pacsums.new" >/dev/null 2>&1
if [ $? -ne 0 ]; then
# failed
# leave /tmp/pacsums.old and .new for checking to see what doesn't match up
- rm -rf "$dbroot.new" $lockfile /tmp/pacmanDB.tgz
- die_r "$(gettext "integrity check FAILED, reverting to old database.")"
+ rm -rf "$dbroot.new"
+ die_r "$(gettext "Integrity check FAILED, reverting to old database.")"
fi
# step 5: remove the new temporary database and the old one
# and use the .tgz to replace the old one
msg "$(gettext "Putting the new database in place...")"
rm -rf "$dbroot.new" "$dbroot"/*
-tar -zxpf /tmp/pacmanDB.tgz -C "$dbroot"/
+bsdtar -zxpf "$workdir/pacmanDB.tgz" -C "$dbroot/"
# remove the lock file, sum files, and .tgz of database
-rm -f $lockfile /tmp/pacsums.old /tmp/pacsums.new /tmp/pacmanDB.tgz
+rm -f "$lockfile"
+rm -rf "$workdir"
echo
-echo "$(gettext "Finished. Your pacman database has been optimized.")"
+msg "$(gettext "Finished. Your pacman database has been optimized.")"
echo
exit 0
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 1df650bd..cb741d76 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -25,10 +25,30 @@ export TEXTDOMAIN='pacman'
export TEXTDOMAINDIR='@localedir@'
myver='@PACKAGE_VERSION@'
+confdir='@sysconfdir@'
FORCE=0
REPO_DB_FILE=""
-TMP_DIR=""
+
+msg() {
+ local mesg=$1; shift
+ printf "==> ${mesg}\n" "$@" >&1
+}
+
+msg2() {
+ local mesg=$1; shift
+ printf " -> ${mesg}\n" "$@" >&1
+}
+
+warning() {
+ local mesg=$1; shift
+ printf "==> $(gettext "WARNING:") ${mesg}\n" "$@" >&2
+}
+
+error() {
+ local mesg=$1; shift
+ printf "==> $(gettext "ERROR:") ${mesg}\n" "$@" >&2
+}
# print usage instructions
usage() {
@@ -52,37 +72,28 @@ This is free software; see the source for copying conditions.\n\
There is NO WARRANTY, to the extent permitted by law.\n")"
}
-# return calculated checksum of package
-# arg1 - checksum type
-# arg2 - path to package
-get_checksum () {
- case "$(echo "$1" | tr A-Z a-z)" in
- md5) sum=$(md5sum $2); echo ${sum% *} ;;
- sha1) sum=$(sha1sum $2); echo ${sum% *} ;;
- sha256) sum=$(sha256sum $2); echo ${sum% *} ;;
- sha384) sum=$(sha256sum $2); echo ${sum% *} ;;
- sha512) sum=$(sha256sum $2); echo ${sum% *} ;;
- esac
-}
-
-# return PKGINFO string for checksum type
-# arg1 - checksum type
-checksum_name () {
- case "$(echo "$1" | tr A-Z a-z)" in
- md5) echo "MD5SUM" ;;
- sha1) echo "SHA1SUM" ;;
- sha256) echo "SHA256SUM" ;;
- sha384) echo "SHA384SUM" ;;
- sha512) echo "SHA512SUM" ;;
- esac
-}
-
# test if a file is a repository DB
test_repo_db_file () {
if [ -f "$REPO_DB_FILE" ]; then
- [ "$(tar tf "$REPO_DB_FILE" | grep -c "/desc")" -gt 0 ] || return 1
+ if bsdtar -tf "$REPO_DB_FILE" | grep -q "/desc"; then
+ return 0 # YES
+ fi
else
- true
+ return 0 # YES - No database file is also aloud.
+ fi
+
+ return 1 # NO
+}
+
+# write a list entry
+# arg1 - Entry name
+# arg2 - List
+# arg3 - File to write to
+write_list_entry() {
+ if [ -n "$2" ]; then
+ echo "%$1%" >>$3
+ echo $2 | tr -s ' ' '\n' >>$3
+ echo "" >>$3
fi
}
@@ -91,36 +102,26 @@ test_repo_db_file () {
db_write_entry()
{
# blank out all variables and set pkgfile
- pkgfile=$(readlink -f $1)
- export pkgname=""
- pkgver=""
- pkgdesc=""
- url=""
- builddate=""
- packager=""
- csize=""
- size=""
- _groups=""
- _depends=""
- _backups=""
- _licenses=""
- _replaces=""
- _provides=""
- _conflicts=""
-
- OLDIFS="$IFS"
+ local pkgfile=$(readlink -f "$1")
+ local pkgname pkgver pkgdesc url builddate packager csize size \
+ group depend backup license replaces provides conflict \
+ _groups _depends _backups _licenses _replaces _provides _conflicts
+
+ local OLDIFS="$IFS"
# IFS (field seperator) is only the newline character
IFS="
"
# read info from the zipped package
- for i in $(tar xOf "$pkgfile" .PKGINFO | grep -v "^#" |sed 's|\(\w*\)\s*=\s*\(.*\)|\1="\2"|'); do
- eval "${i}"
- case "$i" in
- group=*) _groups="$_groups $group" ;;
- depend=*) _depends="$_depends $depend" ;;
- backup=*) _backups="$_backups $backup" ;;
- license=*) _licenses="$_licenses $license" ;;
+ local line
+ for line in $(bsdtar -xOf "$pkgfile" .PKGINFO | \
+ grep -v "^#" | sed 's|\(\w*\)\s*=\s*\(.*\)|\1="\2"|'); do
+ eval "$line"
+ case "$line" in
+ group=*) _groups="$_groups $group" ;;
+ depend=*) _depends="$_depends $depend" ;;
+ backup=*) _backups="$_backups $backup" ;;
+ license=*) _licenses="$_licenses $license" ;;
replaces=*) _replaces="$_replaces $replaces" ;;
provides=*) _provides="$_provides $provides" ;;
conflict=*) _conflicts="$_conflicts $conflict" ;;
@@ -130,21 +131,23 @@ db_write_entry()
IFS=$OLDIFS
# get compressed size of package
- csize="$(du -b -L $pkgfile | cut -f1)"
+ csize=$(du -b -L "$pkgfile" | cut -f 1)
- cd $gstmpdir
+ pushd "$gstmpdir" 2>&1 >/dev/null
# ensure $pkgname and $pkgver variables were found
if [ -z "$pkgname" -o -z "$pkgver" ]; then
- echo "$(gettext " error: invalid package file")"
+ error "$(gettext "Invalid package file '%s'.")" "$pkgfile"
+ popd 2>&1 >/dev/null
return 1
fi
# remove any other package in the DB with same name
+ local existing
for existing in *; do
if [ "${existing%-*-*}" = "$pkgname" ]; then
- echo "$(gettext ":: removing existing package '%s'")" $existing
- rm -rf $existing
+ msg2 "$(gettext "Removing existing package '%s'...")" "$existing"
+ rm -rf "$existing"
fi
done
@@ -153,67 +156,37 @@ db_write_entry()
cd "$pkgname-$pkgver"
# create desc entry
- echo "$(gettext ":: creating 'desc' db entry")"
- echo -e "%FILENAME%\n$(basename $1)\n" >>desc
+ msg2 "$(gettext "Creating 'desc' db entry...")"
+ echo -e "%FILENAME%\n$(basename "$1")\n" >>desc
echo -e "%NAME%\n$pkgname\n" >>desc
echo -e "%VERSION%\n$pkgver\n" >>desc
- if [ -n "$pkgdesc" ]; then
- echo -e "%DESC%\n$pkgdesc\n" >>desc
- fi
- if [ -n "$_groups" ]; then
- echo "%GROUPS%" >>desc
- echo $_groups | tr -s ' ' '\n' >>desc
- echo "" >>desc
- fi
+ [ -n "$pkgdesc" ] && echo -e "%DESC%\n$pkgdesc\n" >>desc
+ write_list_entry "GROUPS" "$_groups" "desc"
[ -n $csize ] && echo -e "%CSIZE%\n$csize\n" >>desc
[ -n $size ] && echo -e "%ISIZE%\n$size\n" >>desc
# compute checksums
- for chk in ${DB_CHECKSUMS[@]}; do
- name="$(checksum_name $chk)"
- echo "$(gettext ":: computing %s checksums")" $name
- if [ -n "$name" ]; then
- echo -e "%$name%\n$(get_checksum $chk $pkgfile)\n" >>desc
- fi
- done
+ msg2 "$(gettext "Computing md5 checksums...")"
+ echo -e "%MD5SUM%\n$(md5sum "$pkgfile" | cut -d ' ' -f 1)\n" >>desc
[ -n "$url" ] && echo -e "%URL%\n$url\n" >>desc
- if [ -n "$_licenses" ]; then
- echo "%LICENSE%" >>desc
- echo $_licenses | tr -s ' ' '\n' >>desc
- echo "" >>desc
- fi
+ write_list_entry "LICENSE" "$_licenses" "desc"
[ -n "$arch" ] && echo -e "%ARCH%\n$arch\n" >>desc
[ -n "$builddate" ] && echo -e "%BUILDDATE%\n$builddate\n" >>desc
[ -n "$packager" ] && echo -e "%PACKAGER%\n$packager\n" >>desc
-
- if [ -n "$_replaces" ]; then
- echo "%REPLACES%" >>desc
- echo $_replaces | tr -s ' ' '\n' >>desc
- echo "" >>desc
- fi
- [ "$FORCE" = "1" ] && echo -e "%FORCE%\n" >>desc
+ write_list_entry "REPLACES" "$_replaces" "desc"
+ [ $FORCE -eq 1 ] && echo -e "%FORCE%\n" >>desc
# create depends entry
- echo ":: creating 'depends' db entry"
- if [ -n "$_depends" ]; then
- echo "%DEPENDS%" >>depends
- echo $_depends | tr -s ' ' '\n' >>depends
- echo "" >>depends
- fi
- if [ -n "$_conflicts" ]; then
- echo "%CONFLICTS%" >>depends
- echo $_conflicts | tr -s ' ' '\n' >>depends
- echo "" >>depends
- fi
- if [ -n "$_provides" ]; then
- echo "%PROVIDES%" >>depends
- echo $_provides | tr -s ' ' '\n' >>depends
- echo "" >>depends
- fi
+ msg2 "$(gettext "Creating 'depends' db entry...")"
+ write_list_entry "DEPENDS" "$_depends" "depends"
+ write_list_entry "CONFLICTS" "$_conflicts" "depends"
+ write_list_entry "PROVIDES" "$_provides" "depends"
# preserve the modification time
touch -r "$pkgfile" desc depends
+
+ popd 2>&1 >/dev/null
} # end db_write_entry
# PROGRAM START
@@ -237,10 +210,10 @@ if [ $# -lt 2 ]; then
fi
# source system and user makepkg.conf
-if [ -r @sysconfdir@/makepkg.conf ]; then
- source @sysconfdir@/makepkg.conf
+if [ -r "$confdir/makepkg.conf" ]; then
+ source "$confdir/makepkg.conf"
else
- echo "$(gettext "ERROR: /etc/makepkg.conf not found. Can not continue.")" >&2
+ error "$(gettext "%s not found. Cannot continue.")" "$confdir/makepkg.conf"
exit 1 # $E_CONFIG_ERROR
fi
@@ -249,64 +222,65 @@ if [ -r ~/.makepkg.conf ]; then
fi
# main routine
-if [ $# -gt 1 ]; then
- gstmpdir=$(mktemp -d /tmp/gensync.XXXXXXXXXX) || (\
- echo "$(gettext "cannot create temp directory for database building")"; \
+gstmpdir=$(mktemp -d /tmp/repo-add.XXXXXXXXXX) || (\
+ error "$(gettext "Cannot create temp directory for database building.")"; \
exit 1)
- success=0
- # parse arguements
- for arg in $@; do
- if [ "$arg" == "--force" -o "$arg" == "-f" ]; then
- FORCE=1
- elif [ -z "$REPO_DB_FILE" ]; then
- REPO_DB_FILE="$(readlink -f $arg)"
- if ! test_repo_db_file; then
- echo "$(gettext "error: repository file '%s' is not a proper pacman db")" $REPO_DB_FILE
- exit 1
- elif [ -f "$REPO_DB_FILE" ]; then
- echo "$(gettext ":: extracting database to a temporary location")"
- tar xf "$REPO_DB_FILE" -C "$gstmpdir"
- fi
- else
- if [ -f "$arg" ]; then
- if ! tar tf "$arg" .PKGINFO 2>&1 >/dev/null; then
- echo "$(gettext "error: '%s' is not a package file, skipping")" $arg
- else
- echo "$(gettext ":: adding package '%s'")" $arg
-
- this_dir="$(pwd)"
- if db_write_entry "$arg"; then
- success=1
- fi
- cd $this_dir
- fi
+success=0
+# parse arguements
+for arg in "$@"; do
+ if [ "$arg" == "--force" -o "$arg" == "-f" ]; then
+ FORCE=1
+ elif [ -z "$REPO_DB_FILE" ]; then
+ REPO_DB_FILE=$(readlink -f "$arg")
+ if ! test_repo_db_file; then
+ error "$(gettext "Repository file '%s' is not a proper pacman database.")" "$REPO_DB_FILE"
+ exit 1
+ elif [ -f "$REPO_DB_FILE" ]; then
+ msg "$(gettext "Extracting database to a temporary location...")"
+ bsdtar -xf "$REPO_DB_FILE" -C "$gstmpdir"
+ fi
+ else
+ if [ -f "$arg" ]; then
+ if ! bsdtar -tf "$arg" .PKGINFO 2>&1 >/dev/null; then
+ error "$(gettext "'%s' is not a package file, skipping")" "$arg"
else
- echo "$(gettext "error: package '%s' not found")" $arg
+ msg "$(gettext "Adding package '%s'")" "$arg"
+
+ if db_write_entry "$arg"; then
+ success=1
+ fi
fi
+ else
+ error "$(gettext "Package '%s' not found.")" "$arg"
fi
- done
+ fi
+done
- # if all operations were a success, rezip database
- if [ "$success" = "1" ]; then
- echo "$(gettext ":: creating updated database file %s")" ${REPO_DB_FILE}
- cd $gstmpdir
- if [ -n "$(ls)" ]; then
- [ -f "${REPO_DB_FILE}.old" ] && rm "${REPO_DB_FILE}.old"
- [ -f "$REPO_DB_FILE" ] && mv "$REPO_DB_FILE" "${REPO_DB_FILE}.old"
- case "$DB_COMPRESSION" in
- gz) tar c * | gzip -9 >$REPO_DB_FILE ;;
- bz2) tar c * | bzip2 -9 >$REPO_DB_FILE ;;
- *) echo "$(gettext "warning: no compression set")"
- tar c * >$REPO_DB_FILE;;
- esac
- fi
- else
- echo "$(gettext ":: no packages modified, nothing to do")"
+# if all operations were a success, rezip database
+if [ $success -eq 1 ]; then
+ msg "$(gettext "Creating updated database file %s")" "$REPO_DB_FILE"
+ pushd "$gstmpdir" 2>&1 >/dev/null
+
+ if [ -n "$(ls)" ]; then
+ [ -f "${REPO_DB_FILE}.old" ] && rm "${REPO_DB_FILE}.old"
+ [ -f "$REPO_DB_FILE" ] && mv "$REPO_DB_FILE" "${REPO_DB_FILE}.old"
+
+ case "$DB_COMPRESSION" in
+ gz) TAR_OPT="z" ;;
+ bz2) TAR_OPT="j" ;;
+ *) warning "$(gettext "No compression set.")" ;;
+ esac
+
+ bsdtar -c${TAR_OPT}f "$REPO_DB_FILE" *
fi
+
+ popd 2>&1 >/dev/null
+else
+ msg "$(gettext "No packages modified, nothing to do.")"
fi
# remove the temp directory used to unzip
-[ -d "$gstmpdir" ] && rm -rf $gstmpdir
+[ -d "$gstmpdir" ] && rm -rf "$gstmpdir"
# vim: set ts=2 sw=2 noet:
diff --git a/scripts/repo-remove.sh.in b/scripts/repo-remove.sh.in
index 63209728..617f04cf 100644
--- a/scripts/repo-remove.sh.in
+++ b/scripts/repo-remove.sh.in
@@ -25,10 +25,30 @@ export TEXTDOMAIN='pacman'
export TEXTDOMAINDIR='@localedir@'
myver='@PACKAGE_VERSION@'
+confdir='@sysconfdir@'
FORCE=0
REPO_DB_FILE=""
-TMP_DIR=""
+
+msg() {
+ local mesg=$1; shift
+ printf "==> ${mesg}\n" "$@" >&1
+}
+
+msg2() {
+ local mesg=$1; shift
+ printf " -> ${mesg}\n" "$@" >&1
+}
+
+warning() {
+ local mesg=$1; shift
+ printf "==> $(gettext "WARNING:") ${mesg}\n" "$@" >&2
+}
+
+error() {
+ local mesg=$1; shift
+ printf "==> $(gettext "ERROR:") ${mesg}\n" "$@" >&2
+}
# print usage instructions
usage() {
@@ -52,24 +72,28 @@ There is NO WARRANTY, to the extent permitted by law.\n")"
# test if a file is a repository DB
test_repo_db_file () {
if [ -f "$REPO_DB_FILE" ]; then
- [ "$(tar tf "$REPO_DB_FILE" | grep -c "/desc")" -gt 0 ] || return 1
- else
- true
+ if bsdtar -tf "$REPO_DB_FILE" | grep -q "/desc"; then
+ return 0 # YES
+ fi
fi
+
+ return 1 # NO
}
# remove existing entries from the DB
-db_remove_entry()
-{
- cd $gstmpdir
+db_remove_entry() {
+ pushd "$gstmpdir" 2>&1 >/dev/null
# remove any other package in the DB with same name
+ local existing
for existing in *; do
if [ "${existing%-*-*}" = "$1" ]; then
- echo "$(gettext ":: removing existing package '%s'")" $existing
- rm -rf $existing
+ msg2 "$(gettext "Removing existing package '%s'...")" "$existing"
+ rm -rf "$existing"
fi
done
+
+ popd 2>&1 >/dev/null
} # end db_remove_entry
# PROGRAM START
@@ -93,10 +117,10 @@ if [ $# -lt 2 ]; then
fi
# source system and user makepkg.conf
-if [ -r @sysconfdir@/makepkg.conf ]; then
- source @sysconfdir@/makepkg.conf
+if [ -r "$confdir/makepkg.conf" ]; then
+ source "$confdir/makepkg.conf"
else
- echo "$(gettext "ERROR: /etc/makepkg.conf not found. Can not continue.")" >&2
+ error "$(gettext "%s not found. Cannot continue.")" "$confdir/makepkg.conf"
exit 1 # $E_CONFIG_ERROR
fi
@@ -105,53 +129,53 @@ if [ -r ~/.makepkg.conf ]; then
fi
# main routine
-if [ $# -gt 1 ]; then
- gstmpdir=$(mktemp -d /tmp/gensync.XXXXXXXXXX) || (\
- echo "$(gettext "cannot create temp directory for database building")"; \
+gstmpdir=$(mktemp -d /tmp/repo-remove.XXXXXXXXXX) || (\
+ error "$(gettext "Cannot create temp directory for database building.")"; \
exit 1)
- success=0
- # parse arguements
- for arg in $@; do
- if [ -z "$REPO_DB_FILE" ]; then
- REPO_DB_FILE="$(readlink -f $arg)"
- if ! test_repo_db_file; then
- echo "$(gettext "error: repository file '%s' is not a proper pacman db")" $REPO_DB_FILE
- exit 1
- elif [ -f "$REPO_DB_FILE" ]; then
- echo "$(gettext ":: extracting database to a temporary location")"
- tar xf "$REPO_DB_FILE" -C "$gstmpdir"
- fi
- else
- echo "$(gettext ":: searching for package '%s'")"
-
- this_dir="$(pwd)"
- if db_remove_entry "$arg"; then
- success=1
- else
- echo "$(gettext "error: package matching '%s' not found")" $arg
- fi
- cd $this_dir
+success=0
+# parse arguements
+for arg in "$@"; do
+ if [ -z "$REPO_DB_FILE" ]; then
+ REPO_DB_FILE=$(readlink -f "$arg")
+ if ! test_repo_db_file; then
+ error "$(gettext "Repository file '%s' is not a proper pacman database.")\n" "$REPO_DB_FILE"
+ exit 1
+ elif [ -f "$REPO_DB_FILE" ]; then
+ msg "$(gettext "Extracting database to a temporary location...")"
+ bsdtar -xf "$REPO_DB_FILE" -C "$gstmpdir"
fi
- done
+ else
+ msg "$(gettext "Searching for package '%s'...")" "$arg"
- # if all operations were a success, rezip database
- if [ "$success" = "1" ]; then
- echo "$(gettext ":: creating updated database file %s")" ${REPO_DB_FILE}
- cd $gstmpdir
- if [ -n "$(ls)" ]; then
- [ -f "${REPO_DB_FILE}.old" ] && rm "${REPO_DB_FILE}.old"
- [ -f "$REPO_DB_FILE" ] && mv "$REPO_DB_FILE" "${REPO_DB_FILE}.old"
- case "$DB_COMPRESSION" in
- gz) tar c * | gzip -9 >$REPO_DB_FILE ;;
- bz2) tar c * | bzip2 -9 >$REPO_DB_FILE ;;
- *) echo "$(gettext "warning: no compression set")"
- tar c * >$REPO_DB_FILE;;
- esac
+ if db_remove_entry "$arg"; then
+ success=1
+ else
+ error "$(gettext "Package matching '%s' not found.")" "$arg"
fi
- else
- echo "$(gettext ":: no packages modified, nothing to do")"
fi
+done
+
+# if all operations were a success, rezip database
+if [ $success -eq 1 ]; then
+ msg "$(gettext "Creating updated database file '%s'...")" "$REPO_DB_FILE"
+ pushd "$gstmpdir" 2>&1 >/dev/null
+
+ if [ -n "$(ls)" ]; then
+ [ -f "${REPO_DB_FILE}.old" ] && rm "${REPO_DB_FILE}.old"
+ [ -f "$REPO_DB_FILE" ] && mv "$REPO_DB_FILE" "${REPO_DB_FILE}.old"
+ case "$DB_COMPRESSION" in
+ gz) TAR_OPT="z" ;;
+ bz2) TAR_OPT="j" ;;
+ *) warning "$(gettext "No compression set.")" ;;
+ esac
+
+ bsdtar -c${TAR_OPT}f "$REPO_DB_FILE" *
+ fi
+
+ popd 2>&1 >/dev/null
+else
+ msg "$(gettext "No packages modified, nothing to do.")"
fi
# remove the temp directory used to unzip
diff --git a/src/pacman/.gitignore b/src/pacman/.gitignore
index f8247c5e..3b2600fd 100644
--- a/src/pacman/.gitignore
+++ b/src/pacman/.gitignore
@@ -1,6 +1,4 @@
.deps
.libs
-Makefile
-Makefile.in
pacman
pacman.static
diff --git a/src/pacman/Makefile.am b/src/pacman/Makefile.am
index 589ac63c..939ff197 100644
--- a/src/pacman/Makefile.am
+++ b/src/pacman/Makefile.am
@@ -1,10 +1,15 @@
# paths set at make time
conffile = ${sysconfdir}/pacman.conf
+dbpath = ${localstatedir}/lib/pacman/
+cachedir = ${localstatedir}/cache/pacman/pkg/
bin_PROGRAMS = pacman pacman.static
DEFS = -DLOCALEDIR=\"@localedir@\" \
-DCONFFILE=\"$(conffile)\" \
+ -DROOTDIR=\"$(ROOTDIR)\" \
+ -DDBPATH=\"$(dbpath)\" \
+ -DCACHEDIR=\"$(cachedir)\" \
@DEFS@
INCLUDES = -I$(top_srcdir)/lib/libalpm
diff --git a/src/pacman/add.c b/src/pacman/add.c
index 71578f63..0b59a236 100644
--- a/src/pacman/add.c
+++ b/src/pacman/add.c
@@ -42,7 +42,7 @@ static int add_cleanup(void)
int ret = alpm_trans_release();
if(ret != 0) {
pm_printf(PM_LOG_ERROR, _("failed to release transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
ret = 1;
}
@@ -105,7 +105,7 @@ int pacman_add(alpm_list_t *targets)
if(alpm_trans_init(transtype, config->flags, cb_trans_evt,
cb_trans_conv, cb_trans_progress) == -1) {
/* TODO: error messages should be in the front end, not the back */
- fprintf(stderr, _("error: %s\n"), alpm_strerror(pm_errno));
+ fprintf(stderr, _("error: %s\n"), alpm_strerrorlast());
if(pm_errno == PM_ERR_HANDLE_LOCK) {
/* TODO this and the 2 other places should probably be on stderr */
printf(_(" if you're sure a package manager is not already\n"
@@ -120,7 +120,7 @@ int pacman_add(alpm_list_t *targets)
char *targ = alpm_list_getdata(i);
if(alpm_trans_addtarget(targ) == -1) {
fprintf(stderr, _("error: failed to add target '%s' (%s)"), targ,
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
add_cleanup();
return(1);
}
@@ -131,28 +131,29 @@ int pacman_add(alpm_list_t *targets)
/* TODO: No, compute nothing. This is stupid. */
if(alpm_trans_prepare(&data) == -1) {
fprintf(stderr, _("error: failed to prepare transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
switch(pm_errno) {
case PM_ERR_UNSATISFIED_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
/* TODO indicate if the error was a virtual package or not:
* :: %s: requires %s, provided by %s
*/
- printf(_(":: %s: requires %s"), alpm_dep_get_target(miss),
- alpm_dep_get_name(miss));
- switch(alpm_dep_get_mod(miss)) {
+ printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss),
+ alpm_dep_get_name(dep));
+ switch(alpm_dep_get_mod(dep)) {
case PM_DEP_MOD_ANY:
break;
case PM_DEP_MOD_EQ:
- printf("=%s", alpm_dep_get_version(miss));
+ printf("=%s", alpm_dep_get_version(dep));
break;
case PM_DEP_MOD_GE:
- printf(">=%s", alpm_dep_get_version(miss));
+ printf(">=%s", alpm_dep_get_version(dep));
break;
case PM_DEP_MOD_LE:
- printf("<=%s", alpm_dep_get_version(miss));
+ printf("<=%s", alpm_dep_get_version(dep));
break;
}
printf("\n");
@@ -161,8 +162,9 @@ int pacman_add(alpm_list_t *targets)
case PM_ERR_CONFLICTING_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
printf(_(":: %s: conflicts with %s"),
- alpm_dep_get_target(miss), alpm_dep_get_name(miss));
+ alpm_miss_get_target(miss), alpm_dep_get_name(dep));
}
break;
case PM_ERR_FILE_CONFLICTS:
@@ -195,7 +197,7 @@ int pacman_add(alpm_list_t *targets)
/* Step 3: perform the installation */
if(alpm_trans_commit(NULL) == -1) {
- fprintf(stderr, _("error: failed to commit transaction (%s)\n"), alpm_strerror(pm_errno));
+ fprintf(stderr, _("error: failed to commit transaction (%s)\n"), alpm_strerrorlast());
add_cleanup();
return(1);
}
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 0e5d87ee..fac16c5e 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -25,7 +25,6 @@
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
-#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
#include <wchar.h>
@@ -61,7 +60,7 @@ static int prevpercent=0; /* for less progressbar output */
static float get_update_timediff(int first_call)
{
float retval = 0.0;
- static struct timeval last_time = {0};
+ static struct timeval last_time = {0, 0};
/* on first call, simply set the last time and return */
if(first_call) {
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index 245e3c04..2bc69820 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -23,32 +23,36 @@
#include <stdlib.h>
#include <stdio.h>
+#include <string.h> /* strdup */
/* pacman */
#include "conf.h"
config_t *config_new(void)
{
- config_t *config = calloc(1, sizeof(config_t));
- if(!config) {
+ config_t *newconfig = calloc(1, sizeof(config_t));
+ if(!newconfig) {
fprintf(stderr, "malloc failure: could not allocate %d bytes\n",
sizeof(config_t));
}
- config->op = PM_OP_MAIN;
- config->logmask = PM_LOG_ERROR | PM_LOG_WARNING;
+ /* defaults which may get overridden later */
+ newconfig->op = PM_OP_MAIN;
+ newconfig->logmask = PM_LOG_ERROR | PM_LOG_WARNING;
+ /* CONFFILE is defined at compile-time */
+ newconfig->configfile = strdup(CONFFILE);
- return(config);
+ return(newconfig);
}
-int config_free(config_t *config)
+int config_free(config_t *oldconfig)
{
- if(config == NULL) {
+ if(oldconfig == NULL) {
return(-1);
}
- free(config->configfile);
- free(config);
- config = NULL;
+ free(oldconfig->configfile);
+ free(oldconfig);
+ oldconfig = NULL;
return(0);
}
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index 252bb95a..85889d19 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -24,7 +24,6 @@
#include <alpm.h>
typedef struct __config_t {
- /* command line options */
char *configfile;
unsigned short op;
unsigned short verbose;
@@ -34,19 +33,23 @@ typedef struct __config_t {
unsigned short noconfirm;
unsigned short noprogressbar;
unsigned short logmask;
+ /* keep track if we had paths specified on command line */
+ unsigned short have_root;
+ unsigned short have_dbpath;
+ unsigned short have_logfile;
- /* command line options */
- unsigned short op_d_resolve;
unsigned short op_q_isfile;
unsigned short op_q_info;
unsigned short op_q_list;
unsigned short op_q_foreign;
unsigned short op_q_orphans;
+ unsigned short op_q_deps;
+ unsigned short op_q_explicit;
unsigned short op_q_owns;
unsigned short op_q_search;
unsigned short op_q_changelog;
- unsigned short op_q_test;
unsigned short op_q_upgrade;
+
unsigned short op_s_clean;
unsigned short op_s_dependsonly;
unsigned short op_s_downloadonly;
@@ -54,10 +57,12 @@ typedef struct __config_t {
unsigned short op_s_sync;
unsigned short op_s_search;
unsigned short op_s_upgrade;
+
unsigned short group;
pmtransflag_t flags;
unsigned short noask;
unsigned int ask;
+
/* conf file options */
unsigned short chomp; /* I Love Candy! */
unsigned short usecolor; /* enable colorful output */
@@ -76,7 +81,7 @@ enum {
};
config_t *config_new(void);
-int config_free(config_t *config);
+int config_free(config_t *oldconfig);
#endif /* _PM_CONF_H */
diff --git a/src/pacman/deptest.c b/src/pacman/deptest.c
index 264ba1c9..7f89f6d2 100644
--- a/src/pacman/deptest.c
+++ b/src/pacman/deptest.c
@@ -35,6 +35,7 @@
extern config_t *config;
+/* TODO: This should use _alpm_checkdeps() */
int pacman_deptest(alpm_list_t *targets)
{
int retval = 0;
@@ -52,20 +53,16 @@ int pacman_deptest(alpm_list_t *targets)
alpm_list_t *j, *provides;
target = alpm_list_getdata(i);
-
- /* splitdep modifies the string... we'll compensate for now */
- char *saved_target = NULL;
- saved_target = calloc(strlen(target)+1, sizeof(char));
- strncpy(saved_target, target, strlen(target));
-
dep = alpm_splitdep(target);
- pkg = alpm_db_get_pkg(alpm_option_get_localdb(), target);
+ pkg = alpm_db_get_pkg(alpm_option_get_localdb(),
+ alpm_dep_get_name(dep));
if(pkg && alpm_depcmp(pkg, dep)) {
found = 1;
} else {
/* not found, can we find anything that provides this in the local DB? */
- provides = alpm_db_whatprovides(alpm_option_get_localdb(), target);
+ provides = alpm_db_whatprovides(alpm_option_get_localdb(),
+ alpm_dep_get_name(dep));
for(j = provides; j; j = alpm_list_next(j)) {
pmpkg_t *pkg;
pkg = alpm_list_getdata(j);
@@ -78,10 +75,10 @@ int pacman_deptest(alpm_list_t *targets)
}
if(!found) {
- printf("%s\n", saved_target);
- retval = 1;
+ printf("%s\n", target);
+ retval = 127;
}
- free(saved_target);
+ free(dep);
}
return(retval);
}
diff --git a/src/pacman/package.c b/src/pacman/package.c
index a30260ae..86d91ecb 100644
--- a/src/pacman/package.c
+++ b/src/pacman/package.c
@@ -43,7 +43,7 @@
*/
void dump_pkg_full(pmpkg_t *pkg, int level)
{
- const char *bdate, *type, *idate, *reason, *descheader;
+ const char *bdate, *idate, *reason, *descheader;
if(pkg == NULL) {
return;
@@ -51,7 +51,6 @@ void dump_pkg_full(pmpkg_t *pkg, int level)
/* set variables here, do all output below */
bdate = alpm_pkg_get_builddate(pkg);
- type = alpm_pkg_get_buildtype(pkg);
idate = alpm_pkg_get_installdate(pkg);
switch((long)alpm_pkg_get_reason(pkg)) {
@@ -86,7 +85,6 @@ void dump_pkg_full(pmpkg_t *pkg, int level)
printf(_("Packager : %s\n"), (char *)alpm_pkg_get_packager(pkg));
printf(_("Architecture : %s\n"), (char *)alpm_pkg_get_arch(pkg));
printf(_("Build Date : %s %s\n"), bdate, strlen(bdate) ? "UTC" : "");
- printf(_("Build Type : %s\n"), strlen(type) ? type : _("Unknown"));
if(level > 0) {
printf(_("Install Date : %s %s\n"), idate, strlen(idate) ? "UTC" : "");
printf(_("Install Reason : %s\n"), reason);
@@ -112,7 +110,7 @@ void dump_pkg_full(pmpkg_t *pkg, int level)
*/
void dump_pkg_sync(pmpkg_t *pkg, const char *treename)
{
- const char *descheader, *md5sum, *sha1sum;
+ const char *descheader, *md5sum;
if(pkg == NULL) {
return;
}
@@ -120,7 +118,6 @@ void dump_pkg_sync(pmpkg_t *pkg, const char *treename)
descheader = _("Description : ");
md5sum = alpm_pkg_get_md5sum(pkg);
- sha1sum = alpm_pkg_get_sha1sum(pkg);
printf(_("Repository : %s\n"), treename);
printf(_("Name : %s\n"), (char *)alpm_pkg_get_name(pkg));
@@ -141,9 +138,6 @@ void dump_pkg_sync(pmpkg_t *pkg, const char *treename)
if (md5sum != NULL && md5sum[0] != '\0') {
printf(_("MD5 Sum : %s"), md5sum);
}
- if (sha1sum != NULL && sha1sum[0] != '\0') {
- printf(_("SHA1 Sum : %s"), sha1sum);
- }
printf("\n");
}
@@ -170,31 +164,22 @@ void dump_pkg_backups(pmpkg_t *pkg)
snprintf(path, PATH_MAX-1, "%s%s", root, str);
/* if we find the file, calculate checksums, otherwise it is missing */
if(!stat(path, &buf)) {
- char *sum;
char *md5sum = alpm_get_md5sum(path);
- char *sha1sum = alpm_get_sha1sum(path);
- if(md5sum == NULL || sha1sum == NULL) {
+ if(md5sum == NULL) {
fprintf(stderr, _("error: could not calculate checksums for %s\n"),
path);
free(str);
continue;
}
- /* TODO Is this a good way to check type of backup stored?
- * We aren't storing it anywhere in the database. */
- if (strlen(ptr) == 32) {
- sum = md5sum;
- } else { /*if (strlen(ptr) == 40) */
- sum = sha1sum;
- }
+
/* if checksums don't match, file has been modified */
- if (strcmp(sum, ptr)) {
+ if (strcmp(md5sum, ptr)) {
printf(_("MODIFIED\t%s\n"), path);
} else {
printf(_("Not Modified\t%s\n"), path);
}
free(md5sum);
- free(sha1sum);
} else {
printf(_("MISSING\t\t%s\n"), path);
}
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index a345977d..aa128261 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -1,8 +1,8 @@
/*
* pacman.c
- *
- * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
- *
+ *
+ * Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org>
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -15,14 +15,13 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
#include "config.h"
-/* TODO hard to believe all these are needed just for this file */
-#include <stdlib.h>
+#include <stdlib.h> /* atoi */
#include <stdio.h>
#include <limits.h>
#include <getopt.h>
@@ -30,11 +29,10 @@
#include <signal.h>
#include <unistd.h>
#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <libintl.h>
-#include <locale.h>
-#include <time.h>
+#include <sys/utsname.h> /* uname */
+#include <libintl.h> /* bindtextdomain, textdomain */
+#include <locale.h> /* setlocale */
+#include <time.h> /* time_t */
#if defined(PACMAN_DEBUG) && defined(HAVE_MTRACE)
#include <mcheck.h> /* debug tracing (mtrace) */
#endif
@@ -56,9 +54,7 @@ pmdb_t *db_local;
/* list of targets specified on command line */
static alpm_list_t *pm_targets;
-/**
- * @brief Display usage/syntax for the specified operation.
- *
+/** Display usage/syntax for the specified operation.
* @param op the operation code requested
* @param myname basename(argv[0])
*/
@@ -88,6 +84,7 @@ static void usage(int op, char *myname)
if(op == PM_OP_ADD) {
printf("%s: %s {-A --add} [%s] <%s>\n", str_usg, myname, str_opt, str_file);
printf("%s:\n", str_opt);
+ printf(_(" --asdeps install packages as non-explicitly installed\n"));
printf(_(" -d, --nodeps skip dependency checks\n"));
printf(_(" -f, --force force install, overwrite conflicting files\n"));
} else if(op == PM_OP_REMOVE) {
@@ -106,14 +103,15 @@ static void usage(int op, char *myname)
printf("%s: %s {-U --upgrade} [%s] <%s>\n", str_usg, myname, str_opt, str_file);
}
printf("%s:\n", str_opt);
+ printf(_(" --asdeps install packages as non-explicitly installed\n"));
printf(_(" -d, --nodeps skip dependency checks\n"));
printf(_(" -f, --force force install, overwrite conflicting files\n"));
} else if(op == PM_OP_QUERY) {
printf("%s: %s {-Q --query} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg);
printf("%s:\n", str_opt);
printf(_(" -c, --changelog view the changelog of a package\n"));
- printf(_(" -e, --orphans list all packages installed as dependencies but no longer\n"
- " required by any package\n"));
+ printf(_(" -d, --deps list all packages installed as dependencies\n"));
+ printf(_(" -e, --explicit list all packages explicitly installed\n"));
printf(_(" -g, --groups view all members of a package group\n"));
printf(_(" -i, --info view package information\n"));
printf(_(" -l, --list list the contents of the queried package\n"));
@@ -121,11 +119,12 @@ static void usage(int op, char *myname)
printf(_(" -o, --owns <file> query the package that owns <file>\n"));
printf(_(" -p, --file <package> query a package file instead of the database\n"));
printf(_(" -s, --search <regex> search locally-installed packages for matching strings\n"));
- printf(_(" -t, --test check the consistency of the local database\n"));
+ printf(_(" -t, --orphans list all packages not required by any package\n"));
printf(_(" -u, --upgrades list all packages that can be upgraded\n"));
} else if(op == PM_OP_SYNC) {
printf("%s: %s {-S --sync} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg);
printf("%s:\n", str_opt);
+ printf(_(" --asdeps install packages as non-explicitly installed\n"));
printf(_(" -c, --clean remove old packages from cache directory (-cc for all)\n"));
printf(_(" -d, --nodeps skip dependency checks\n"));
printf(_(" -e, --dependsonly install dependencies only\n"));
@@ -152,8 +151,7 @@ static void usage(int op, char *myname)
}
}
-/**
- * @brief Output pacman version and copyright.
+/** Output pacman version and copyright.
*/
static void version(void)
{
@@ -167,9 +165,7 @@ static void version(void)
printf("\n");
}
-/**
- * @brief Sets up gettext localization.
- * Safe to call multiple times.
+/** Sets up gettext localization. Safe to call multiple times.
*/
/* Inspired by the monotone function localize_monotone. */
static void localize(void)
@@ -183,8 +179,7 @@ static void localize(void)
}
}
-/**
- * @brief Set user agent environment variable.
+/** Set user agent environment variable.
*/
static void setuseragent(void)
{
@@ -199,11 +194,8 @@ static void setuseragent(void)
setenv("HTTP_USER_AGENT", agent, 0);
}
-/**
- * @brief Catches thrown signals.
- * Performs necessary cleanup to ensure database is in a consistant
- * state.
- *
+/** Catches thrown signals. Performs necessary cleanup to ensure database is
+ * in a consistant state.
* @param signum the thrown signal
*/
static void cleanup(int signum)
@@ -215,14 +207,19 @@ static void cleanup(int signum)
pm_fprintf(stderr, PM_LOG_ERROR, "Internal pacman error: Segmentation fault.\n"
"Please submit a full bug report with --debug if appropriate.\n");
exit(signum);
- } else if((signum == SIGINT) && (alpm_trans_release() == -1)
- && (pm_errno == PM_ERR_TRANS_COMMITING)) {
- return;
+ } else if((signum == SIGINT)) {
+ if(alpm_trans_interrupt() == 0) {
+ /* a transaction is being interrupted, don't exit pacman yet. */
+ return;
+ } else {
+ /* no commiting transaction, we can release it now and then exit pacman */
+ alpm_trans_release();
+ }
}
/* free alpm library resources */
if(alpm_release() == -1) {
- fprintf(stderr, _("error: %s\n"), alpm_strerror(pm_errno));
+ pm_printf(PM_LOG_ERROR, alpm_strerrorlast());
}
/* free memory */
@@ -235,12 +232,9 @@ static void cleanup(int signum)
exit(signum);
}
-/**
- * @brief Parse command-line arguments for each operation
- *
+/** Parse command-line arguments for each operation.
* @param argc argc
* @param argv argv
- *
* @return 0 on success, 1 on error
*/
static int parseargs(int argc, char *argv[])
@@ -262,8 +256,9 @@ static int parseargs(int argc, char *argv[])
{"changelog", no_argument, 0, 'c'},
{"clean", no_argument, 0, 'c'},
{"nodeps", no_argument, 0, 'd'},
+ {"deps", no_argument, 0, 'd'},
{"dependsonly",no_argument, 0, 'e'},
- {"orphans", no_argument, 0, 'e'},
+ {"explicit", no_argument, 0, 'e'},
{"force", no_argument, 0, 'f'},
{"groups", no_argument, 0, 'g'},
{"help", no_argument, 0, 'h'},
@@ -278,7 +273,7 @@ static int parseargs(int argc, char *argv[])
{"root", required_argument, 0, 'r'},
{"recursive", no_argument, 0, 's'},
{"search", no_argument, 0, 's'},
- {"test", no_argument, 0, 't'},
+ {"orphans", no_argument, 0, 't'},
{"upgrades", no_argument, 0, 'u'},
{"sysupgrade", no_argument, 0, 'u'},
{"verbose", no_argument, 0, 'v'},
@@ -288,13 +283,13 @@ static int parseargs(int argc, char *argv[])
{"config", required_argument, 0, 1001},
{"ignore", required_argument, 0, 1002},
{"debug", optional_argument, 0, 1003},
- {"noprogressbar", no_argument, 0, 1004},
+ {"noprogressbar", no_argument, 0, 1004},
{"noscriptlet", no_argument, 0, 1005},
{"ask", required_argument, 0, 1006},
{"cachedir", required_argument, 0, 1007},
+ {"asdeps", no_argument, 0, 1008},
{0, 0, 0, 0}
};
- struct stat st;
while((opt = getopt_long(argc, argv, "ARUFQSTr:b:vkhscVfmnoldepituwygz", opts, &option_index))) {
if(opt < 0) {
@@ -323,8 +318,8 @@ static int parseargs(int argc, char *argv[])
config->logmask |= PM_LOG_DEBUG;
break;
default:
- fprintf(stderr, _("error: '%s' is not a valid debug level\n"),
- optarg);
+ pm_printf(PM_LOG_ERROR, _("'%s' is not a valid debug level\n"),
+ optarg);
return(1);
}
} else {
@@ -337,13 +332,14 @@ static int parseargs(int argc, char *argv[])
case 1005: config->flags |= PM_TRANS_FLAG_NOSCRIPTLET; break;
case 1006: config->noask = 1; config->ask = atoi(optarg); break;
case 1007:
- /* TODO redo this logic- check path somewhere else, delete other cachedirs, etc */
- if(stat(optarg, &st) == -1 || !S_ISDIR(st.st_mode)) {
- fprintf(stderr, _("error: '%s' is not a valid cache directory\n"),
- optarg);
+ if(alpm_option_add_cachedir(optarg) != 0) {
+ pm_printf(PM_LOG_ERROR, _("problem adding cachedir '%s' (%s)\n"),
+ optarg, alpm_strerrorlast());
return(1);
}
- alpm_option_add_cachedir(optarg);
+ break;
+ case 1008:
+ config->flags |= PM_TRANS_FLAG_ALLDEPS;
break;
case 'A': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_ADD); break;
case 'F':
@@ -357,21 +353,24 @@ static int parseargs(int argc, char *argv[])
case 'U': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_UPGRADE); break;
case 'V': config->version = 1; break;
case 'b':
- if(stat(optarg, &st) == -1 || !S_ISDIR(st.st_mode)) {
- fprintf(stderr, _("error: '%s' is not a valid db path\n"),
- optarg);
+ if(alpm_option_set_dbpath(optarg) != 0) {
+ pm_printf(PM_LOG_ERROR, _("problem setting dbpath '%s' (%s)\n"),
+ optarg, alpm_strerrorlast());
return(1);
}
- alpm_option_set_dbpath(optarg);
+ config->have_dbpath = 1;
break;
case 'c':
(config->op_s_clean)++;
config->flags |= PM_TRANS_FLAG_CASCADE;
config->op_q_changelog = 1;
break;
- case 'd': config->flags |= PM_TRANS_FLAG_NODEPS; break;
+ case 'd':
+ config->op_q_deps = 1;
+ config->flags |= PM_TRANS_FLAG_NODEPS;
+ break;
case 'e':
- config->op_q_orphans++;
+ config->op_q_explicit = 1;
config->flags |= PM_TRANS_FLAG_DEPENDSONLY;
break;
case 'f': config->flags |= PM_TRANS_FLAG_FORCE; break;
@@ -388,12 +387,12 @@ static int parseargs(int argc, char *argv[])
config->flags |= PM_TRANS_FLAG_PRINTURIS;
break;
case 'r':
- if(stat(optarg, &st) == -1 || !S_ISDIR(st.st_mode)) {
- fprintf(stderr, _("error: '%s' is not a valid root path\n"),
- optarg);
+ if(alpm_option_set_root(optarg) != 0) {
+ pm_printf(PM_LOG_ERROR, _("problem setting root '%s' (%s)\n"),
+ optarg, alpm_strerrorlast());
return(1);
}
- alpm_option_set_root(optarg);
+ config->have_root = 1;
break;
case 's':
config->op_s_search = 1;
@@ -401,7 +400,7 @@ static int parseargs(int argc, char *argv[])
config->flags |= PM_TRANS_FLAG_RECURSE;
break;
case 't':
- config->op_q_test = 1;
+ config->op_q_orphans = 1;
break;
case 'u':
config->op_s_upgrade = 1;
@@ -420,7 +419,7 @@ static int parseargs(int argc, char *argv[])
}
if(config->op == 0) {
- fprintf(stderr, _("error: only one operation may be used at a time\n"));
+ pm_printf(PM_LOG_ERROR, _("only one operation may be used at a time\n"));
return(1);
}
@@ -453,7 +452,7 @@ static int _parseconfig(const char *file, const char *givensection,
char *ptr, *section = NULL;
pmdb_t *db = NULL;
- pm_printf(PM_LOG_DEBUG, _("config: attempting to read file %s\n"), file);
+ pm_printf(PM_LOG_DEBUG, "config: attempting to read file %s\n", file);
fp = fopen(file, "r");
if(fp == NULL) {
pm_printf(PM_LOG_ERROR, _("config file %s could not be read.\n"), file);
@@ -490,26 +489,19 @@ static int _parseconfig(const char *file, const char *givensection,
}
section = strdup(ptr);
section[strlen(section)-1] = '\0';
- pm_printf(PM_LOG_DEBUG, _("config: new section '%s'\n"), section);
+ pm_printf(PM_LOG_DEBUG, "config: new section '%s'\n", section);
if(!strlen(section)) {
pm_printf(PM_LOG_ERROR, _("config file %s, line %d: bad section name.\n"),
file, linenum);
return(1);
}
- /* a section/database named local is not allowed */
- if(!strcmp(section, "local")) {
- pm_printf(PM_LOG_ERROR, _("config file %s, line %d: 'local' cannot be used as section name.\n"),
- file, linenum);
- return(1);
- }
/* if we are not looking at the options section, register a db */
if(strcmp(section, "options") != 0) {
- db = alpm_db_register(section);
+ db = alpm_db_register_sync(section);
}
} else {
/* directive */
- char *key;
- const char *upperkey;
+ char *key, *upperkey;
/* strsep modifies the 'line' string: 'key \0 ptr' */
key = line;
ptr = line;
@@ -522,6 +514,10 @@ static int _parseconfig(const char *file, const char *givensection,
file, linenum);
return(1);
}
+ /* For each directive, compare to the uppercase and camelcase string.
+ * This prevents issues with certain locales where characters don't
+ * follow the toupper() rules we may expect, e.g. tr_TR where i != I.
+ */
upperkey = strtoupper(strdup(key));
if(section == NULL && (strcmp(key, "Include") == 0 || strcmp(upperkey, "INCLUDE") == 0)) {
pm_printf(PM_LOG_ERROR, _("config file %s, line %d: 'Include' directive must belong to a section.\n"),
@@ -532,19 +528,19 @@ static int _parseconfig(const char *file, const char *givensection,
/* directives without settings, all in [options] */
if(strcmp(key, "NoPassiveFTP") == 0 || strcmp(upperkey, "NOPASSIVEFTP") == 0) {
alpm_option_set_nopassiveftp(1);
- pm_printf(PM_LOG_DEBUG, _("config: nopassiveftp\n"));
+ pm_printf(PM_LOG_DEBUG, "config: nopassiveftp\n");
} else if(strcmp(key, "UseSyslog") == 0 || strcmp(upperkey, "USESYSLOG") == 0) {
alpm_option_set_usesyslog(1);
- pm_printf(PM_LOG_DEBUG, _("config: usesyslog\n"));
+ pm_printf(PM_LOG_DEBUG, "config: usesyslog\n");
} else if(strcmp(key, "ILoveCandy") == 0 || strcmp(upperkey, "ILOVECANDY") == 0) {
config->chomp = 1;
- pm_printf(PM_LOG_DEBUG, _("config: chomp\n"));
+ pm_printf(PM_LOG_DEBUG, "config: chomp\n");
} else if(strcmp(key, "UseColor") == 0 || strcmp(upperkey, "USECOLOR") == 0) {
config->usecolor = 1;
- pm_printf(PM_LOG_DEBUG, _("config: usecolor\n"));
+ pm_printf(PM_LOG_DEBUG, "config: usecolor\n");
} else if(strcmp(key, "ShowSize") == 0 || strcmp(upperkey, "SHOWSIZE") == 0) {
config->showsize= 1;
- pm_printf(PM_LOG_DEBUG, _("config: showsize\n"));
+ pm_printf(PM_LOG_DEBUG, "config: showsize\n");
} else {
pm_printf(PM_LOG_ERROR, _("config file %s, line %d: directive '%s' not recognized.\n"),
file, linenum, key);
@@ -554,7 +550,7 @@ static int _parseconfig(const char *file, const char *givensection,
/* directives with settings */
if(strcmp(key, "Include") == 0 || strcmp(upperkey, "INCLUDE") == 0) {
int ret;
- pm_printf(PM_LOG_DEBUG, _("config: including %s\n"), ptr);
+ pm_printf(PM_LOG_DEBUG, "config: including %s\n", ptr);
ret = _parseconfig(ptr, section, db);
if(ret != 0) {
return(ret);
@@ -568,12 +564,12 @@ static int _parseconfig(const char *file, const char *givensection,
while((q = strchr(p, ' '))) {
*q = '\0';
alpm_option_add_noupgrade(p);
- pm_printf(PM_LOG_DEBUG, _("config: noupgrade: %s\n"), p);
+ pm_printf(PM_LOG_DEBUG, "config: noupgrade: %s\n", p);
p = q;
p++;
}
alpm_option_add_noupgrade(p);
- pm_printf(PM_LOG_DEBUG, _("config: noupgrade: %s\n"), p);
+ pm_printf(PM_LOG_DEBUG, "config: noupgrade: %s\n", p);
} else if(strcmp(key, "NoExtract") == 0 || strcmp(upperkey, "NOEXTRACT") == 0) {
char *p = ptr;
char *q;
@@ -581,12 +577,12 @@ static int _parseconfig(const char *file, const char *givensection,
while((q = strchr(p, ' '))) {
*q = '\0';
alpm_option_add_noextract(p);
- pm_printf(PM_LOG_DEBUG, _("config: noextract: %s\n"), p);
+ pm_printf(PM_LOG_DEBUG, "config: noextract: %s\n", p);
p = q;
p++;
}
alpm_option_add_noextract(p);
- pm_printf(PM_LOG_DEBUG, _("config: noextract: %s\n"), p);
+ pm_printf(PM_LOG_DEBUG, "config: noextract: %s\n", p);
} else if(strcmp(key, "IgnorePkg") == 0 || strcmp(upperkey, "IGNOREPKG") == 0) {
char *p = ptr;
char *q;
@@ -594,12 +590,12 @@ static int _parseconfig(const char *file, const char *givensection,
while((q = strchr(p, ' '))) {
*q = '\0';
alpm_option_add_ignorepkg(p);
- pm_printf(PM_LOG_DEBUG, _("config: ignorepkg: %s"), p);
+ pm_printf(PM_LOG_DEBUG, "config: ignorepkg: %s", p);
p = q;
p++;
}
alpm_option_add_ignorepkg(p);
- pm_printf(PM_LOG_DEBUG, _("config: ignorepkg: %s\n"), p);
+ pm_printf(PM_LOG_DEBUG, "config: ignorepkg: %s\n", p);
} else if(strcmp(key, "HoldPkg") == 0 || strcmp(upperkey, "HOLDPKG") == 0) {
char *p = ptr;
char *q;
@@ -607,38 +603,56 @@ static int _parseconfig(const char *file, const char *givensection,
while((q = strchr(p, ' '))) {
*q = '\0';
alpm_option_add_holdpkg(p);
- pm_printf(PM_LOG_DEBUG, _("config: holdpkg: %s\n"), p);
+ pm_printf(PM_LOG_DEBUG, "config: holdpkg: %s\n", p);
p = q;
p++;
}
alpm_option_add_holdpkg(p);
- pm_printf(PM_LOG_DEBUG, _("config: holdpkg: %s\n"), p);
+ pm_printf(PM_LOG_DEBUG, "config: holdpkg: %s\n", p);
} else if(strcmp(key, "DBPath") == 0 || strcmp(upperkey, "DBPATH") == 0) {
- if(alpm_option_get_dbpath() == NULL) {
- alpm_option_set_dbpath(ptr);
- pm_printf(PM_LOG_DEBUG, _("config: dbpath: %s\n"), ptr);
+ /* don't overwrite a path specified on the command line */
+ if(!config->have_dbpath) {
+ if(alpm_option_set_dbpath(ptr) != 0) {
+ pm_printf(PM_LOG_ERROR, _("problem setting dbpath '%s' (%s)\n"),
+ ptr, alpm_strerrorlast());
+ return(1);
+ }
+ pm_printf(PM_LOG_DEBUG, "config: dbpath: %s\n", ptr);
}
} else if(strcmp(key, "CacheDir") == 0 || strcmp(upperkey, "CACHEDIR") == 0) {
- alpm_option_add_cachedir(ptr);
- pm_printf(PM_LOG_DEBUG, _("config: cachedir: %s\n"), ptr);
+ if(alpm_option_add_cachedir(ptr) != 0) {
+ pm_printf(PM_LOG_ERROR, _("problem adding cachedir '%s' (%s)\n"),
+ ptr, alpm_strerrorlast());
+ return(1);
+ }
+ pm_printf(PM_LOG_DEBUG, "config: cachedir: %s\n", ptr);
} else if(strcmp(key, "RootDir") == 0 || strcmp(upperkey, "ROOTDIR") == 0) {
- if(alpm_option_get_root() == NULL) {
- alpm_option_set_root(ptr);
- pm_printf(PM_LOG_DEBUG, _("config: rootdir: %s\n"), ptr);
+ /* don't overwrite a path specified on the command line */
+ if(!config->have_root) {
+ if(alpm_option_set_root(ptr) != 0) {
+ pm_printf(PM_LOG_ERROR, _("problem setting root '%s' (%s)\n"),
+ ptr, alpm_strerrorlast());
+ return(1);
+ }
+ pm_printf(PM_LOG_DEBUG, "config: rootdir: %s\n", ptr);
}
} else if (strcmp(key, "LogFile") == 0 || strcmp(upperkey, "LOGFILE") == 0) {
- if(alpm_option_get_logfile() == NULL) {
- alpm_option_set_logfile(ptr);
- pm_printf(PM_LOG_DEBUG, _("config: logfile: %s\n"), ptr);
+ if(!config->have_logfile) {
+ if(alpm_option_set_logfile(ptr) != 0) {
+ pm_printf(PM_LOG_ERROR, _("problem setting logfile '%s' (%s)\n"),
+ ptr, alpm_strerrorlast());
+ return(1);
+ }
+ pm_printf(PM_LOG_DEBUG, "config: logfile: %s\n", ptr);
}
} else if (strcmp(key, "XferCommand") == 0 || strcmp(upperkey, "XFERCOMMAND") == 0) {
alpm_option_set_xfercommand(ptr);
- pm_printf(PM_LOG_DEBUG, _("config: xfercommand: %s\n"), ptr);
+ pm_printf(PM_LOG_DEBUG, "config: xfercommand: %s\n", ptr);
} else if (strcmp(key, "UpgradeDelay") == 0 || strcmp(upperkey, "UPGRADEDELAY") == 0) {
/* The config value is in days, we use seconds */
time_t ud = atol(ptr) * 60 * 60 *24;
alpm_option_set_upgradedelay(ud);
- pm_printf(PM_LOG_DEBUG, _("config: upgradedelay: %d\n"), (int)ud);
+ pm_printf(PM_LOG_DEBUG, "config: upgradedelay: %d\n", (int)ud);
} else {
pm_printf(PM_LOG_ERROR, _("config file %s, line %d: directive '%s' not recognized.\n"),
file, linenum, key);
@@ -660,9 +674,13 @@ static int _parseconfig(const char *file, const char *givensection,
return(1);
}
}
+ free(upperkey);
}
}
fclose(fp);
+ if(section){
+ free(section);
+ }
pm_printf(PM_LOG_DEBUG, "config: finished parsing %s\n", file);
return(0);
@@ -678,12 +696,9 @@ int parseconfig(const char *file)
return(_parseconfig(file, NULL, NULL));
}
-/**
- * @brief Main function.
- *
+/** Main function.
* @param argc argc
* @param argv argv
- *
* @return A return code indicating success, failure, etc.
*/
int main(int argc, char *argv[])
@@ -718,16 +733,28 @@ int main(int argc, char *argv[])
config->noprogressbar = 1;
}
- /* initialize pm library */
+ /* initialize library */
if(alpm_initialize() == -1) {
- fprintf(stderr, _("error: failed to initialize alpm library (%s)\n"),
- alpm_strerror(pm_errno));
+ pm_printf(PM_LOG_ERROR, _("failed to initialize alpm library (%s)\n"),
+ alpm_strerrorlast());
cleanup(EXIT_FAILURE);
}
/* Setup logging as soon as possible, to print out maximum debugging info */
alpm_option_set_logcb(cb_log);
alpm_option_set_dlcb(cb_dl_progress);
+ /* define root and dbpath to reasonable defaults */
+ alpm_option_set_root(ROOTDIR);
+ alpm_option_set_dbpath(DBPATH);
+
+ /* Priority of options:
+ * 1. command line
+ * 2. config file
+ * 3. compiled-in defaults
+ * However, we have to parse the command line first because a config file
+ * location can be specified here, so we need to make sure we prefer these
+ * options over the config file coming second.
+ */
/* parse the command line */
ret = parseargs(argc, argv);
@@ -735,37 +762,35 @@ int main(int argc, char *argv[])
cleanup(ret);
}
- /* use default config file if location wasn't specified on cmdline */
- if(config->configfile == NULL) {
- config->configfile = strdup(CONFFILE);
- }
-
/* parse the config file */
ret = parseconfig(config->configfile);
if(ret != 0) {
cleanup(ret);
}
+ /* add a default cachedir if one wasn't specified */
+ if(alpm_option_get_cachedirs() == NULL) {
+ alpm_option_add_cachedir(CACHEDIR);
+ }
+
#if defined(HAVE_GETEUID)
/* check if we have sufficient permission for the requested operation */
-if(0) {
if(myuid > 0) {
if(config->op != PM_OP_MAIN && config->op != PM_OP_QUERY && config->op != PM_OP_DEPTEST) {
if((config->op == PM_OP_SYNC && !config->op_s_sync &&
(config->op_s_search || config->group || config->op_q_list || config->op_q_info
|| config->flags & PM_TRANS_FLAG_PRINTURIS))
- || (config->op == PM_OP_DEPTEST && config->op_d_resolve)
+ || config->op == PM_OP_DEPTEST
|| (strcmp(alpm_option_get_root(), "/") != 0)) {
/* special case: PM_OP_SYNC can be used w/ config->op_s_search by any user */
/* special case: ignore root user check if -r is specified, fall back on
* normal FS checking */
} else {
- fprintf(stderr, _("error: you cannot perform this operation unless you are root.\n"));
+ pm_printf(PM_LOG_ERROR, _("you cannot perform this operation unless you are root.\n"));
cleanup(EXIT_FAILURE);
}
}
}
-}
#endif
if(config->verbose > 0) {
@@ -784,10 +809,10 @@ if(0) {
}
/* Opening local database */
- db_local = alpm_db_register("local");
+ db_local = alpm_db_register_local();
if(db_local == NULL) {
- fprintf(stderr, _("error: could not register 'local' database (%s)\n"),
- alpm_strerror(pm_errno));
+ pm_printf(PM_LOG_ERROR, _("could not register 'local' database (%s)\n"),
+ alpm_strerrorlast());
cleanup(EXIT_FAILURE);
}
@@ -812,7 +837,7 @@ if(0) {
ret = pacman_deptest(pm_targets);
break;
default:
- fprintf(stderr, _("error: no operation specified (use -h for help)\n"));
+ pm_printf(PM_LOG_ERROR, _("no operation specified (use -h for help)\n"));
ret = EXIT_FAILURE;
}
diff --git a/src/pacman/query.c b/src/pacman/query.c
index cfd53df7..26a1bd8f 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -153,7 +153,7 @@ static int query_search(alpm_list_t *targets)
/* print the package size with the output if ShowSize option set */
if(config->showsize) {
/* Convert byte size to MB */
- double mbsize = alpm_pkg_get_size(pkg) / (1024.0 * 1024.0);
+ double mbsize = (double)alpm_pkg_get_size(pkg) / (1024.0 * 1024.0);
printf(" [%.2f MB]", mbsize);
}
@@ -168,10 +168,11 @@ static int query_search(alpm_list_t *targets)
indentprint(alpm_pkg_get_desc(pkg), 4);
printf("\n");
}
- /* we only want to free if the list was a search list */
- if(freelist) {
- alpm_list_free(searchlist);
- }
+
+ /* we only want to free if the list was a search list */
+ if(freelist) {
+ alpm_list_free(searchlist);
+ }
return(0);
}
@@ -195,8 +196,9 @@ static int query_group(alpm_list_t *targets)
}
} else {
for(i = targets; i; i = alpm_list_next(i)) {
+ pmgrp_t *grp;
package = alpm_list_getdata(i);
- pmgrp_t *grp = alpm_db_readgrp(db_local, package);
+ grp = alpm_db_readgrp(db_local, package);
if(grp) {
const alpm_list_t *p, *pkgnames = alpm_grp_get_pkgs(grp);
for(p = pkgnames; p; p = alpm_list_next(p)) {
@@ -211,131 +213,93 @@ static int query_group(alpm_list_t *targets)
return ret;
}
-static int query_isfile(alpm_list_t *targets)
-{
- int ret = 0;
- char *package = NULL;
- alpm_list_t *i;
- pmpkg_t *info = NULL;
- if(targets == NULL) {
- fprintf(stderr, _("error: no package file was specified for --file\n"));
- return(1);
- } else {
- for(i = targets; i; i = alpm_list_next(i)) {
- package = alpm_list_getdata(i);
- if(alpm_pkg_load(package, &info) == -1) {
- fprintf(stderr, _("error: failed to load package '%s' (%s)\n"),
- package, alpm_strerror(pm_errno));
- ret++;
- continue;
- }
- if(config->op_q_info) {
- dump_pkg_full(info, config->op_q_info);
- }
- if(config->op_q_list) {
- dump_pkg_files(info);
- }
- if(!config->op_q_info && !config->op_q_list) {
- printf("%s %s\n", alpm_pkg_get_name(info),
- alpm_pkg_get_version(info));
- }
- alpm_pkg_free(info);
- info = NULL;
- }
- }
- return(ret);
-}
-
-static int query_test(void)
-{
- int ret = 0;
- alpm_list_t *testlist;
-
- printf(_("Checking database for consistency..."));
- testlist = alpm_db_test(db_local);
- if(testlist == NULL) {
- printf(_("check complete.\n"));
- return(0);
- } else {
- /* on failure, increment the ret val by 1 for each failure */
- alpm_list_t *i;
- printf(_("check failed!\n"));
- fflush(stdout);
- for(i = testlist; i; i = alpm_list_next(i)) {
- fprintf(stderr, "%s\n", (char*)alpm_list_getdata(i));
- ret++;
- }
- return(ret);
- }
-}
-
static int query_upgrades(void)
{
- printf(_("Checking for package upgrades..."));
alpm_list_t *syncpkgs;
+ printf(_("Checking for package upgrades... \n"));
if((syncpkgs = alpm_db_get_upgrades()) != NULL) {
display_targets(syncpkgs);
return(0);
}
- printf(_("no upgrades found"));
+ printf(_("no upgrades found.\n"));
return(1);
}
-static int query_foreign(void)
+static int is_foreign(pmpkg_t *pkg)
{
- alpm_list_t *sync_dbs = NULL;
- alpm_list_t *i;
-
- /* ensure we have at least one valid sync db set up */
- sync_dbs = alpm_option_get_syncdbs();
- if(sync_dbs == NULL || alpm_list_count(sync_dbs) == 0) {
- pm_printf(PM_LOG_ERROR, _("no usable package repositories configured.\n"));
+ const char *pkgname = alpm_pkg_get_name(pkg);
+ alpm_list_t *j;
+ alpm_list_t *sync_dbs = alpm_option_get_syncdbs();
+
+ int match = 0;
+ for(j = sync_dbs; j; j = alpm_list_next(j)) {
+ pmdb_t *db = alpm_list_getdata(j);
+ pmpkg_t *findpkg = alpm_db_get_pkg(db, pkgname);
+ if(findpkg) {
+ match = 1;
+ break;
+ }
+ }
+ if(match == 0) {
return(1);
}
+ return(0);
+}
- for(i = alpm_db_getpkgcache(db_local); i; i = alpm_list_next(i)) {
- pmpkg_t *pkg = alpm_list_getdata(i);
- const char *pkgname = alpm_pkg_get_name(pkg);
- const char *pkgver = alpm_pkg_get_version(pkg);
- alpm_list_t *j;
-
- int match = 0;
- for(j = sync_dbs; j; j = alpm_list_next(j)) {
- pmdb_t *db = alpm_list_getdata(j);
- pmpkg_t *pkg = alpm_db_get_pkg(db, pkgname);
- if(pkg) {
- match = 1;
- break;
- }
- }
- if(match == 0) {
- printf("%s %s\n", pkgname, pkgver);
- }
+static int is_orphan(pmpkg_t *pkg)
+{
+ if(alpm_pkg_get_requiredby(pkg) == NULL) {
+ return(1);
}
return(0);
}
-static int query_orphans(void)
+static int filter(pmpkg_t *pkg)
{
- alpm_list_t *i;
+ /* check if this package was explicitly installed */
+ if(config->op_q_explicit &&
+ alpm_pkg_get_reason(pkg) != PM_PKG_REASON_EXPLICIT) {
+ return(0);
+ }
+ /* check if this package was installed as a dependency */
+ if(config->op_q_deps &&
+ alpm_pkg_get_reason(pkg) != PM_PKG_REASON_DEPEND) {
+ return(0);
+ }
+ /* check if this pkg isn't in a sync DB */
+ if(config->op_q_foreign && !is_foreign(pkg)) {
+ return(0);
+ }
+ /* check if this pkg is orphaned */
+ if(config->op_q_orphans && !is_orphan(pkg)) {
+ return(0);
+ }
+ return(1);
+}
- for(i = alpm_db_getpkgcache(db_local); i; i = alpm_list_next(i)) {
- pmpkg_t *pkg = alpm_list_getdata(i);
- const char *pkgname = alpm_pkg_get_name(pkg);
- const char *pkgver = alpm_pkg_get_version(pkg);
-
- /* two cases here:
- * 1. one -e option was specified, return only those installed as dep
- * 2. more than one -e specified, return all with empty requiredby */
- if(alpm_pkg_get_requiredby(pkg) == NULL
- && (alpm_pkg_get_reason(pkg) == PM_PKG_REASON_DEPEND
- || config->op_q_orphans > 1)) {
- printf("%s %s\n", pkgname, pkgver);
- }
+static void display(pmpkg_t *pkg)
+{
+ if(config->op_q_info) {
+ dump_pkg_full(pkg, config->op_q_info);
+ }
+ if(config->op_q_list) {
+ dump_pkg_files(pkg);
+ }
+ if(config->op_q_changelog) {
+ char changelog[PATH_MAX];
+ /* TODO should be done in the backend- no raw DB stuff up front */
+ snprintf(changelog, PATH_MAX, "%s/%s/%s-%s/changelog",
+ alpm_option_get_dbpath(),
+ alpm_db_get_name(db_local),
+ alpm_pkg_get_name(pkg),
+ alpm_pkg_get_version(pkg));
+ dump_pkg_changelog(changelog, alpm_pkg_get_name(pkg));
+ }
+ if(!config->op_q_info && !config->op_q_list && !config->op_q_changelog) {
+ printf("%s %s\n", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
}
- return(0);
}
int pacman_query(alpm_list_t *targets)
@@ -351,12 +315,6 @@ int pacman_query(alpm_list_t *targets)
return(ret);
}
- /* check DB consistancy */
- if(config->op_q_test) {
- ret = query_test();
- return(ret);
- }
-
/* check for package upgrades */
if(config->op_q_upgrade) {
ret = query_upgrades();
@@ -369,35 +327,28 @@ int pacman_query(alpm_list_t *targets)
return(ret);
}
- /* search for installed packages not in a sync DB */
if(config->op_q_foreign) {
- ret = query_foreign();
- return(ret);
- }
-
- /* list orphaned packages */
- if(config->op_q_orphans) {
- ret = query_orphans();
- return(ret);
+ /* ensure we have at least one valid sync db set up */
+ alpm_list_t *sync_dbs = alpm_option_get_syncdbs();
+ if(sync_dbs == NULL || alpm_list_count(sync_dbs) == 0) {
+ pm_printf(PM_LOG_ERROR, _("no usable package repositories configured.\n"));
+ return(-1);
+ }
}
/* operations on all packages in the local DB
* valid: no-op (plain -Q), list, info
* invalid: isfile, owns */
- if(targets == NULL && !(config->op_q_isfile || config->op_q_owns)) {
+ if(targets == NULL) {
+ if(config->op_q_isfile || config->op_q_owns) {
+ pm_printf(PM_LOG_ERROR, _("no targets specified (use -h for help)\n"));
+ return(1);
+ }
+
for(i = alpm_db_getpkgcache(db_local); i; i = alpm_list_next(i)) {
pmpkg_t *pkg = alpm_list_getdata(i);
- const char *pkgname = alpm_pkg_get_name(pkg);
- const char *pkgver = alpm_pkg_get_version(pkg);
-
- if(config->op_q_info) {
- dump_pkg_full(pkg, config->op_q_info);
- }
- if(config->op_q_list) {
- dump_pkg_files(pkg);
- }
- if(!config->op_q_info && !config->op_q_list) {
- printf("%s %s\n", pkgname, pkgver);
+ if(filter(pkg)) {
+ display(pkg);
}
}
return(0);
@@ -405,17 +356,6 @@ int pacman_query(alpm_list_t *targets)
/* Second: operations that require target(s) */
- if(targets == NULL) {
- pm_printf(PM_LOG_ERROR, _("no targets specified (use -h for help)\n"));
- return(1);
- }
-
- /* output info for a .tar.gz package */
- if(config->op_q_isfile) {
- ret = query_isfile(targets);
- return(ret);
- }
-
/* determine the owner of a file */
if(config->op_q_owns) {
ret = query_fileowner(targets);
@@ -426,32 +366,22 @@ int pacman_query(alpm_list_t *targets)
* valid: no-op (plain -Q), list, info */
for(i = targets; i; i = alpm_list_next(i)) {
char *strname = alpm_list_getdata(i);
- pmpkg_t *pkg = alpm_db_get_pkg(db_local, strname);
+ pmpkg_t *pkg = NULL;
+
+ if(config->op_q_isfile) {
+ alpm_pkg_load(strname, &pkg);
+ } else {
+ pkg = alpm_db_get_pkg(db_local, strname);
+ }
+
if(pkg == NULL) {
fprintf(stderr, _("error: package \"%s\" not found\n"), strname);
ret++;
continue;
}
- /* find a target */
- if(config->op_q_info) {
- dump_pkg_full(pkg, config->op_q_info);
- }
- if(config->op_q_list) {
- dump_pkg_files(pkg);
- }
- if(config->op_q_changelog) {
- char changelog[PATH_MAX];
- /* TODO should be done in the backend- no raw DB stuff up front */
- snprintf(changelog, PATH_MAX, "%s/%s/%s-%s/changelog",
- alpm_option_get_dbpath(),
- alpm_db_get_name(db_local),
- alpm_pkg_get_name(pkg),
- alpm_pkg_get_version(pkg));
- dump_pkg_changelog(changelog, alpm_pkg_get_name(pkg));
- }
- if(!config->op_q_info && !config->op_q_list && !config->op_q_changelog) {
- printf("%s %s\n", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
+ if(filter(pkg)) {
+ display(pkg);
}
}
diff --git a/src/pacman/remove.c b/src/pacman/remove.c
index 0b6b4ce2..860bf491 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -44,7 +44,7 @@ static int remove_cleanup(void)
int ret = alpm_trans_release();
if(ret != 0) {
pm_printf(PM_LOG_ERROR, _("failed to release transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
ret = 1;
}
@@ -97,7 +97,7 @@ int pacman_remove(alpm_list_t *targets)
if(alpm_trans_init(PM_TRANS_TYPE_REMOVE, config->flags,
cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) {
fprintf(stderr, _("error: failed to init transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
if(pm_errno == PM_ERR_HANDLE_LOCK) {
printf(_(" if you're sure a package manager is not already\n"
" running, you can remove %s.\n"), alpm_option_get_lockfile());
@@ -113,7 +113,7 @@ int pacman_remove(alpm_list_t *targets)
if(alpm_trans_addtarget(targ) == -1) {
printf("failed.\n");
fprintf(stderr, _("error: failed to add target '%s' (%s)\n"), targ,
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
remove_cleanup();
FREELIST(finaltargs);
return(1);
@@ -123,13 +123,14 @@ int pacman_remove(alpm_list_t *targets)
/* Step 2: prepare the transaction based on its type, targets and flags */
if(alpm_trans_prepare(&data) == -1) {
fprintf(stderr, _("error: failed to prepare transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
switch(pm_errno) {
case PM_ERR_UNSATISFIED_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
- printf(_(":: %s depends on %s\n"), alpm_dep_get_target(miss),
- alpm_dep_get_name(miss));
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
+ printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss),
+ alpm_dep_get_name(dep));
}
alpm_list_free(data);
break;
@@ -166,7 +167,7 @@ int pacman_remove(alpm_list_t *targets)
/* Step 3: actually perform the removal */
if(alpm_trans_commit(NULL) == -1) {
fprintf(stderr, _("error: failed to commit transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
remove_cleanup();
FREELIST(finaltargs);
return(1);
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index d5888a57..3e599830 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -24,7 +24,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
@@ -206,7 +205,7 @@ static int sync_synctree(int level, alpm_list_t *syncs)
alpm_db_get_name(db), downloadLastErrString);
} else {
fprintf(stderr, _("error: failed to update %s (%s)\n"),
- alpm_db_get_name(db), alpm_strerror(pm_errno));
+ alpm_db_get_name(db), alpm_strerrorlast());
}
} else if(ret == 1) {
printf(_(" %s is up to date\n"), alpm_db_get_name(db));
@@ -228,6 +227,7 @@ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets)
{
alpm_list_t *i, *j, *ret;
int freelist;
+ int found = 0;
for(i = syncs; i; i = alpm_list_next(i)) {
pmdb_t *db = alpm_list_getdata(i);
@@ -241,6 +241,8 @@ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets)
}
if(ret == NULL) {
continue;
+ } else {
+ found = 1;
}
for(j = ret; j; j = alpm_list_next(j)) {
/* print repo/name (group) info about each package in our list */
@@ -261,7 +263,7 @@ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets)
if((grp = alpm_pkg_get_groups(pkg)) != NULL) {
group = alpm_list_getdata(grp);
- printf(" (%s)\n", (char *)alpm_list_getdata(grp));
+ printf(" (%s)", (char *)alpm_list_getdata(grp));
}
/* we need a newline and initial indent first */
@@ -275,7 +277,7 @@ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets)
}
}
- return(0);
+ return(!found);
}
static int sync_group(int level, alpm_list_t *syncs, alpm_list_t *targets)
@@ -496,7 +498,7 @@ int pacman_sync(alpm_list_t *targets)
if(alpm_trans_init(PM_TRANS_TYPE_SYNC, config->flags, cb_trans_evt,
cb_trans_conv, cb_trans_progress) == -1) {
fprintf(stderr, _("error: failed to init transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
if(pm_errno == PM_ERR_HANDLE_LOCK) {
printf(_(" if you're sure a package manager is not already\n"
" running, you can remove %s.\n"), alpm_option_get_lockfile());
@@ -520,7 +522,7 @@ int pacman_sync(alpm_list_t *targets)
printf(_(":: Starting full system upgrade...\n"));
alpm_logaction("starting full system upgrade");
if(alpm_trans_sysupgrade() == -1) {
- fprintf(stderr, _("error: %s\n"), alpm_strerror(pm_errno));
+ fprintf(stderr, _("error: %s\n"), alpm_strerrorlast());
retval = 1;
goto cleanup;
}
@@ -546,18 +548,18 @@ int pacman_sync(alpm_list_t *targets)
if(yesno(_(":: Cancel current operation? [Y/n] "))) {
if(alpm_trans_release() == -1) {
fprintf(stderr, _("error: failed to release transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
retval = 1;
goto cleanup;
}
if(alpm_trans_init(PM_TRANS_TYPE_SYNC, config->flags,
cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) {
fprintf(stderr, _("error: failed to init transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
return(1);
}
if(alpm_trans_addtarget("pacman") == -1) {
- fprintf(stderr, _("error: pacman: %s\n"), alpm_strerror(pm_errno));
+ fprintf(stderr, _("error: pacman: %s\n"), alpm_strerrorlast());
retval = 1;
goto cleanup;
}
@@ -582,7 +584,7 @@ int pacman_sync(alpm_list_t *targets)
}
if(pm_errno != PM_ERR_PKG_NOT_FOUND) {
fprintf(stderr, _("'error: %s': %s\n"),
- (char *)i->data, alpm_strerror(pm_errno));
+ (char *)i->data, alpm_strerrorlast());
retval = 1;
goto cleanup;
}
@@ -644,25 +646,26 @@ int pacman_sync(alpm_list_t *targets)
alpm_list_t *data;
if(alpm_trans_prepare(&data) == -1) {
fprintf(stderr, _("error: failed to prepare transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
switch(pm_errno) {
alpm_list_t *i;
case PM_ERR_UNSATISFIED_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
- printf(_(":: %s depends on %s\n"), alpm_dep_get_target(miss),
- alpm_dep_get_name(miss));
- switch(alpm_dep_get_mod(miss)) {
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
+ printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss),
+ alpm_dep_get_name(dep));
+ switch(alpm_dep_get_mod(dep)) {
case PM_DEP_MOD_ANY:
break;
case PM_DEP_MOD_EQ:
- printf("=%s", alpm_dep_get_version(miss));
+ printf("=%s", alpm_dep_get_version(dep));
break;
case PM_DEP_MOD_GE:
- printf(">=%s", alpm_dep_get_version(miss));
+ printf(">=%s", alpm_dep_get_version(dep));
break;
case PM_DEP_MOD_LE:
- printf("<=%s", alpm_dep_get_version(miss));
+ printf("<=%s", alpm_dep_get_version(dep));
break;
}
printf("\n");
@@ -671,9 +674,9 @@ int pacman_sync(alpm_list_t *targets)
case PM_ERR_CONFLICTING_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
-
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
printf(_(":: %s: conflicts with %s"),
- alpm_dep_get_target(miss), alpm_dep_get_name(miss));
+ alpm_miss_get_target(miss), alpm_dep_get_name(dep));
}
break;
default:
@@ -704,16 +707,11 @@ int pacman_sync(alpm_list_t *targets)
confirm = yesno(_("Proceed with download? [Y/n] "));
}
} else {
- /* don't get any confirmation if we're called from makepkg */
- if(config->op_d_resolve) {
+ if(config->noconfirm) {
+ printf(_("Beginning upgrade process...\n"));
confirm = 1;
} else {
- if(config->noconfirm) {
- printf(_("Beginning upgrade process...\n"));
- confirm = 1;
- } else {
- confirm = yesno(_("Proceed with installation? [Y/n] "));
- }
+ confirm = yesno(_("Proceed with installation? [Y/n] "));
}
}
if(!confirm) {
@@ -724,7 +722,7 @@ int pacman_sync(alpm_list_t *targets)
/* Step 3: actually perform the installation */
if(alpm_trans_commit(&data) == -1) {
fprintf(stderr, _("error: failed to commit transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
switch(pm_errno) {
alpm_list_t *i;
case PM_ERR_FILE_CONFLICTS:
@@ -766,7 +764,7 @@ cleanup:
}
if(alpm_trans_release() == -1) {
fprintf(stderr, _("error: failed to release transaction (%s)\n"),
- alpm_strerror(pm_errno));
+ alpm_strerrorlast());
retval = 1;
}
diff --git a/src/pacman/util.c b/src/pacman/util.c
index a0829e64..8bf4ec14 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -34,6 +34,7 @@
#include <ctype.h>
#include <dirent.h>
#include <unistd.h>
+#include <limits.h>
#include <alpm.h>
#include <alpm_list.h>
@@ -162,12 +163,12 @@ void indentprint(const char *str, int indent)
while(*p) {
if(*p == ' ') {
const char *next = NULL;
- unsigned int len;
+ int len;
p++;
if(p == NULL || *p == ' ') continue;
next = strchr(p, ' ');
if(next == NULL) {
- next = p + strlen(p);
+ next = p + mbstowcs(NULL, p, 0);
}
len = next - p;
if(len > (getcols() - cidx - 1)) {
@@ -283,13 +284,13 @@ void list_display(const char *title, const alpm_list_t *list)
const alpm_list_t *i;
int cols, len;
- len = strlen(title);
+ len = mbstowcs(NULL, title, 0);
printf("%s ", title);
if(list) {
for(i = list, cols = len; i; i = alpm_list_next(i)) {
char *str = alpm_list_getdata(i);
- int s = strlen(str) + 2;
+ int s = mbstowcs(NULL, str, 0) + 2;
int maxcols = getcols();
if(s + cols >= maxcols) {
int i;
@@ -503,8 +504,6 @@ int pm_vfprintf(FILE *stream, pmloglevel_t level, const char *format, va_list ar
/* print the message using va_arg list */
ret = vfprintf(stream, format, args);
- /* TEMP HACK because libalpm strings don't have \n */
- fprintf(stream, "\n");
return(ret);
}
diff --git a/src/util/.gitignore b/src/util/.gitignore
index 8bfb0085..36688806 100644
--- a/src/util/.gitignore
+++ b/src/util/.gitignore
@@ -1,6 +1,5 @@
.deps
.libs
-Makefile
-Makefile.in
vercmp
testpkg
+testdb
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index 0c48f10e..97a0ffa1 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -1,8 +1,19 @@
-bin_PROGRAMS = vercmp testpkg
+# paths set at make time
+conffile = ${sysconfdir}/pacman.conf
+dbpath = ${localstatedir}/lib/pacman/
+cachedir = ${localstatedir}/cache/pacman/pkg/
+bin_PROGRAMS = vercmp testpkg testdb
+
+DEFS = -DLOCALEDIR=\"@localedir@\" \
+ -DCONFFILE=\"$(conffile)\" \
+ -DROOTDIR=\"$(ROOTDIR)\" \
+ -DDBPATH=\"$(dbpath)\" \
+ -DCACHEDIR=\"$(cachedir)\" \
+ @DEFS@
INCLUDES = -I$(top_srcdir)/lib/libalpm
-AM_CFLAGS = -pedantic
+AM_CFLAGS = -pedantic -D_GNU_SOURCE
vercmp_SOURCES = vercmp.c
vercmp_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
@@ -10,4 +21,7 @@ vercmp_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
testpkg_SOURCES = testpkg.c
testpkg_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
+testdb_SOURCES = testdb.c
+testdb_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
+
# vim:set ts=2 sw=2 noet:
diff --git a/src/util/testdb.c b/src/util/testdb.c
new file mode 100644
index 00000000..d59d0108
--- /dev/null
+++ b/src/util/testdb.c
@@ -0,0 +1,193 @@
+/*
+ * testdb.c : Test a pacman local database for validity
+ *
+ * Copyright (c) 2007 by Aaron Griffin <aaronmgriffin@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ * USA.
+ */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <libgen.h>
+
+#include <alpm.h>
+#include <alpm_list.h>
+
+int _alpm_str_cmp(const void *s1, const void *s2)
+{
+ return(strcmp(s1, s2));
+}
+
+static void diffrqdby(const char *pkgname, alpm_list_t *oldrqdby, alpm_list_t *newrqdby)
+{
+ oldrqdby = alpm_list_msort(oldrqdby, alpm_list_count(oldrqdby), _alpm_str_cmp);
+ newrqdby = alpm_list_msort(newrqdby, alpm_list_count(newrqdby), _alpm_str_cmp);
+
+ alpm_list_t *i = oldrqdby;
+ alpm_list_t *j = newrqdby;
+
+ while(i || j) {
+ char *s1 = NULL;
+ char *s2 = NULL;
+ int n;
+ if(i && !j) {
+ n = -1;
+ } else if(!i && j) {
+ n = 1;
+ } else {
+ s1 = i->data;
+ s2 = j->data;
+ n = strcmp(s1, s2);
+ }
+ if(n < 0) {
+ s1 = i->data;
+ printf("wrong requiredby for %s : %s\n", pkgname, s1);
+ i = i->next;
+ } else if (n > 0) {
+ s2 = j->data;
+ printf("missing requiredby for %s : %s\n", pkgname, s2);
+ j = j->next;
+ } else {
+ i = i->next;
+ j = j->next;
+ }
+ }
+}
+
+static void cleanup(int signum) {
+ if(alpm_release() == -1) {
+ fprintf(stderr, "error releasing alpm: %s\n", alpm_strerrorlast());
+ }
+
+ exit(signum);
+}
+
+void output_cb(pmloglevel_t level, char *fmt, va_list args)
+{
+ if(strlen(fmt)) {
+ switch(level) {
+ case PM_LOG_ERROR: printf("error: "); break;
+ case PM_LOG_WARNING: printf("warning: "); break;
+ default: return;
+ }
+ vprintf(fmt, args);
+ printf("\n");
+ }
+}
+
+int db_test(char *dbpath)
+{
+ struct dirent *ent;
+ char path[PATH_MAX];
+ struct stat buf;
+ int ret = 0;
+
+ DIR *dir;
+
+ if(!(dir = opendir(dbpath))) {
+ fprintf(stderr, "error : %s : %s\n", dbpath, strerror(errno));
+ return(1);
+ }
+
+ while ((ent = readdir(dir)) != NULL) {
+ if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) {
+ continue;
+ }
+ /* check for desc, depends, and files */
+ snprintf(path, PATH_MAX, "%s/%s/desc", dbpath, ent->d_name);
+ if(stat(path, &buf)) {
+ printf("%s: description file is missing\n", ent->d_name);
+ ret++;
+ }
+ snprintf(path, PATH_MAX, "%s/%s/depends", dbpath, ent->d_name);
+ if(stat(path, &buf)) {
+ printf("%s: dependency file is missing\n", ent->d_name);
+ ret++;
+ }
+ snprintf(path, PATH_MAX, "%s/%s/files", dbpath, ent->d_name);
+ if(stat(path, &buf)) {
+ printf("%s: file list is missing\n", ent->d_name);
+ ret++;
+ }
+ }
+ return(ret);
+}
+
+int main(int argc, char **argv)
+{
+ int retval = 0; /* default = false */
+ pmdb_t *db = NULL;
+ char *dbpath;
+ char localdbpath[PATH_MAX];
+ alpm_list_t *i;
+
+ if(argc == 1) {
+ dbpath = DBPATH;
+ } else if(argc == 3 && strcmp(argv[1], "-b") == 0) {
+ dbpath = argv[2];
+ } else {
+ fprintf(stderr, "usage: %s -b <pacman db>\n", basename(argv[0]));
+ return(1);
+ }
+
+ snprintf(localdbpath, PATH_MAX, "%s/local", dbpath);
+ retval = db_test(localdbpath);
+ if(retval) {
+ return(retval);
+ }
+
+ if(alpm_initialize() == -1) {
+ fprintf(stderr, "cannot initialize alpm: %s\n", alpm_strerrorlast());
+ return(1);
+ }
+
+ /* let us get log messages from libalpm */
+ alpm_option_set_logcb(output_cb);
+
+ alpm_option_set_dbpath(dbpath);
+
+ db = alpm_db_register_local();
+ if(db == NULL) {
+ fprintf(stderr, "error: could not register 'local' database (%s)\n",
+ alpm_strerrorlast());
+ cleanup(EXIT_FAILURE);
+ }
+
+ /* check dependencies */
+ alpm_list_t *data;
+ data = alpm_checkdeps(db, PM_TRANS_TYPE_ADD, alpm_db_getpkgcache(db));
+ for(i = data; i; i = alpm_list_next(i)) {
+ pmdepmissing_t *miss = alpm_list_getdata(i);
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
+ printf("missing dependency for %s : %s\n", alpm_miss_get_target(miss),
+ alpm_dep_get_name(dep));
+ }
+
+ /* check requiredby */
+ for(i = alpm_db_getpkgcache(db); i; i = alpm_list_next(i)) {
+ pmpkg_t *pkg = alpm_list_getdata(i);
+ const char *pkgname = alpm_pkg_get_name(pkg);
+ alpm_list_t *rqdby = alpm_pkg_compute_requiredby(pkg);
+ diffrqdby(pkgname, alpm_pkg_get_requiredby(pkg), rqdby);
+ }
+
+ cleanup(retval);
+}
diff --git a/src/util/testpkg.c b/src/util/testpkg.c
index 1ad1d14b..7da18ca6 100644
--- a/src/util/testpkg.c
+++ b/src/util/testpkg.c
@@ -21,15 +21,13 @@
#include "config.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <libgen.h>
+#include <stdio.h> /* printf */
+#include <stdarg.h> /* va_list */
+#include <string.h> /* strlen */
#include <alpm.h>
-void output_cb(pmloglevel_t level, char *fmt, va_list args)
+static void output_cb(pmloglevel_t level, char *fmt, va_list args)
{
if(strlen(fmt)) {
switch(level) {
@@ -52,7 +50,7 @@ int main(int argc, char **argv)
}
if(alpm_initialize() == -1) {
- fprintf(stderr, "cannot initilize alpm: %s\n", alpm_strerror(pm_errno));
+ fprintf(stderr, "cannot initilize alpm: %s\n", alpm_strerrorlast());
return(1);
}
@@ -67,7 +65,7 @@ int main(int argc, char **argv)
}
if(alpm_release() == -1) {
- fprintf(stderr, "error releasing alpm: %s\n", alpm_strerror(pm_errno));
+ fprintf(stderr, "error releasing alpm: %s\n", alpm_strerrorlast());
}
return(retval);
diff --git a/src/util/vercmp.c b/src/util/vercmp.c
index cc951988..873ef1c9 100644
--- a/src/util/vercmp.c
+++ b/src/util/vercmp.c
@@ -21,29 +21,26 @@
#include "config.h"
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <limits.h>
-/* TODO this is probably not the best way to do this */
-#ifndef PATH_MAX
-#define PATH_MAX 1024
-#endif
+#include <stdio.h> /* printf */
+#include <string.h> /* strncpy */
#include <alpm.h>
+#define MAX_LEN 255
+
int main(int argc, char *argv[])
{
- char s1[255] = "";
- char s2[255] = "";
+ char s1[MAX_LEN] = "";
+ char s2[MAX_LEN] = "";
int ret;
if(argc > 1) {
- strncpy(s1, argv[1], 255);
+ strncpy(s1, argv[1], MAX_LEN);
+ s1[MAX_LEN -1] = '\0';
}
if(argc > 2) {
- strncpy(s2, argv[2], 255);
+ strncpy(s2, argv[2], MAX_LEN);
+ s2[MAX_LEN -1] = '\0';
} else {
printf("0\n");
return(0);