diff options
Diffstat (limited to 'lib')
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(®, 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: */ |