summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-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
49 files changed, 4593 insertions, 14420 deletions
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: */