1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-22 15:58:50 -05:00

* A whole mess of backup changes

- the code should be clearer, more organized, commented, and have worthwhile
    variable names now
  - proactive backup=()s now work.  That is, adding a file to a backup array
    does what it should on the upgrade to that package, no longer forcing you to
    wait a full upgrade cycle for it to take effect
* ldconfig was being run twice on an upgrade operation - fixed
* fixed another pm_fprintf/printf output corruption with the progress bars
* refactored some duplicate code for adjusting 'requiredby' lists
* Added config.rpath to .cvsignore
This commit is contained in:
Aaron Griffin 2007-02-17 08:55:05 +00:00
parent 1dff742de8
commit 92ad556512
14 changed files with 1002 additions and 942 deletions

View File

@ -8,6 +8,7 @@ config.h
config.h.in
config.log
config.status
config.rpath
config.sub
configure
depcomp

View File

@ -130,8 +130,7 @@ int SYMHIDDEN _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *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
* and version
*/
* and version */
if(stat(name, &buf)) {
pm_errno = PM_ERR_NOT_A_FILE;
goto error;
@ -352,11 +351,9 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
{
int i, ret = 0, errors = 0, pkg_count = 0;
register struct archive *archive;
struct archive *archive;
struct archive_entry *entry;
char expath[PATH_MAX], cwd[PATH_MAX] = "", *what;
pmtransprog_t cb_state;
time_t t;
char cwd[PATH_MAX] = "";
alpm_list_t *targ, *lp;
ALPM_LOG_FUNC;
@ -371,11 +368,9 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
pkg_count = alpm_list_count(trans->targets);
for(targ = trans->packages; targ; targ = targ->next) {
int targ_count = 0;
int targ_count = 0, is_upgrade = 0, use_md5 = 0;
double percent = 0.0;
unsigned short pmo_upgrade;
char pm_install[PATH_MAX];
pmpkg_t *info = (pmpkg_t *)targ->data;
pmpkg_t *newpkg = (pmpkg_t *)targ->data;
pmpkg_t *oldpkg = NULL;
errors = 0;
@ -383,87 +378,97 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
break;
}
pmo_upgrade = (trans->type == PM_TRANS_TYPE_UPGRADE) ? 1 : 0;
/* check if we have a valid sha1sum, if not, use MD5 */
if(strlen(newpkg->sha1sum) == 0) {
use_md5 = 1;
}
/* see if this is an upgrade. if so, remove the old package first */
if(pmo_upgrade) {
pmpkg_t *local = _alpm_db_get_pkgfromcache(db, info->name);
if(local) {
EVENT(trans, PM_TRANS_EVT_UPGRADE_START, info, NULL);
cb_state = PM_TRANS_PROGRESS_UPGRADE_START;
_alpm_log(PM_LOG_DEBUG, _("upgrading package %s-%s"), info->name, info->version);
if((what = (char *)malloc(strlen(info->name)+1)) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
STRNCPY(what, info->name, strlen(info->name)+1);
pmpkg_t *local = _alpm_db_get_pkgfromcache(db, newpkg->name);
if(local) {
is_upgrade = 1;
/* 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));
strncpy(oldpkg->name, local->name, PKG_NAME_LEN);
strncpy(oldpkg->version, local->version, PKG_VERSION_LEN);
}
EVENT(trans, PM_TRANS_EVT_UPGRADE_START, newpkg, NULL);
_alpm_log(PM_LOG_DEBUG, _("upgrading package %s-%s"), newpkg->name, newpkg->version);
/* copy over the install reason */
info->reason = alpm_pkg_get_reason(local);
/* pre_upgrade scriptlet */
if(info->scriptlet && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
_alpm_runscriptlet(handle->root, info->data, "pre_upgrade", info->version, oldpkg ? oldpkg->version : NULL,
trans);
}
if(oldpkg) {
pmtrans_t *tr;
_alpm_log(PM_LOG_DEBUG, _("removing old package first (%s-%s)"), oldpkg->name, oldpkg->version);
tr = _alpm_trans_new();
if(tr == NULL) {
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
if(_alpm_trans_init(tr, PM_TRANS_TYPE_UPGRADE, trans->flags, NULL, NULL, NULL) == -1) {
FREETRANS(tr);
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
if(_alpm_remove_loadtarget(tr, db, info->name) == -1) {
FREETRANS(tr);
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
/* copy the skiplist over */
tr->skiplist = alpm_list_strdup(trans->skiplist);
if(_alpm_remove_commit(tr, db) == -1) {
FREETRANS(tr);
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
FREETRANS(tr);
}
/* 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));
strncpy(oldpkg->name, local->name, PKG_NAME_LEN);
strncpy(oldpkg->version, local->version, PKG_VERSION_LEN);
} else {
/* no previous package version is installed, so this is actually
* just an install. */
pmo_upgrade = 0;
}
}
if(!pmo_upgrade) {
EVENT(trans, PM_TRANS_EVT_ADD_START, info, NULL);
cb_state = PM_TRANS_PROGRESS_ADD_START;
_alpm_log(PM_LOG_DEBUG, _("adding package %s-%s"), info->name, info->version);
if((what = (char *)malloc(strlen(info->name)+1)) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
STRNCPY(what, info->name, strlen(info->name)+1);
/* pre_install scriptlet */
if(info->scriptlet && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
_alpm_runscriptlet(handle->root, info->data, "pre_install", info->version, NULL, trans);
/* copy over the install reason */
newpkg->reason = alpm_pkg_get_reason(local);
/* pre_upgrade scriptlet */
if(newpkg->scriptlet && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
_alpm_runscriptlet(handle->root, newpkg->data, "pre_upgrade", newpkg->version, oldpkg->version, trans);
}
} else {
_alpm_log(PM_LOG_DEBUG, _("adding new package %s-%s"), info->name, info->version);
is_upgrade = 0;
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(newpkg->scriptlet && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
_alpm_runscriptlet(handle->root, newpkg->data, "pre_install", newpkg->version, NULL, trans);
}
}
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 */
pmtrans_t *tr = _alpm_trans_new();
_alpm_log(PM_LOG_DEBUG, _("removing old package first (%s-%s)"), oldpkg->name, oldpkg->version);
if(!tr) {
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
if(_alpm_trans_init(tr, PM_TRANS_TYPE_UPGRADE, trans->flags, NULL, NULL, NULL) == -1) {
FREETRANS(tr);
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
if(_alpm_remove_loadtarget(tr, db, newpkg->name) == -1) {
FREETRANS(tr);
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
/* copy the skiplist over */
tr->skiplist = alpm_list_strdup(trans->skiplist);
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 */
alpm_list_t *old_noupgrade = alpm_list_strdup(handle->noupgrade);
for(b = newpkg->backup; b; b = b->next) {
_alpm_log(PM_LOG_DEBUG, _("adding %s to the NoUpgrade array temporarilly"), (char *)b->data);
handle->noupgrade = alpm_list_add(handle->noupgrade, strdup(b->data));
}
int ret = _alpm_remove_commit(tr, db);
FREETRANS(tr);
/* restore our "NoUpgrade" list to previous state */
alpm_list_free_inner(handle->noupgrade, free);
alpm_list_free(handle->noupgrade);
handle->noupgrade = old_noupgrade;
if(ret == -1) {
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
}
if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
_alpm_log(PM_LOG_DEBUG, _("extracting files"));
/* Extract the package */
if ((archive = archive_read_new()) == NULL) {
RET_ERR(PM_ERR_LIBARCHIVE_ERROR, -1);
}
@ -471,14 +476,13 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
archive_read_support_compression_all(archive);
archive_read_support_format_all(archive);
if(archive_read_open_file(archive, info->data, ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
if(archive_read_open_file(archive, newpkg->data, ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
RET_ERR(PM_ERR_PKG_OPEN, -1);
}
/* 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"));
/* in case of error, cwd content is undefined: so we set it to something */
cwd[0] = 0;
}
@ -487,394 +491,352 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
targ_count = alpm_list_count(targ);
/* call PROGRESS once with 0 percent, as we sort-of skip that here */
PROGRESS(trans, cb_state, what, 0, pkg_count, (pkg_count - targ_count +1));
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++) {
int nb = 0;
int notouch = 0;
char *md5_orig = NULL;
char *sha1_orig = NULL;
char pathname[PATH_MAX];
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;
STRNCPY(pathname, archive_entry_pathname(entry), PATH_MAX);
entryname = archive_entry_pathname(entry);
if(info->size != 0) {
/* Using compressed size for calculations here, as info->isize is not
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)info->size;
_alpm_log(PM_LOG_DEBUG, "decompression progress: %f%% (%ld / %ld)", percent*100.0, pos, info->size);
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, cb_state, what, (int)(percent * 100), pkg_count, (pkg_count - targ_count +1));
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));
if(strcmp(pathname, ".PKGINFO") == 0 || strcmp(pathname, ".FILELIST") == 0) {
archive_read_data_skip (archive);
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(pathname, ".INSTALL") == 0) {
} else if(strcmp(entryname, ".INSTALL") == 0) {
/* the install script goes inside the db */
snprintf(expath, PATH_MAX, "%s/%s-%s/install", db->path,
info->name, info->version);
} else if(strcmp(pathname, ".CHANGELOG") == 0) {
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(expath, PATH_MAX, "%s/%s-%s/changelog", db->path,
info->name, info->version);
snprintf(filename, PATH_MAX, "%s/%s-%s/changelog", db->path,
newpkg->name, newpkg->version);
} else {
/* build the new pathname relative to handle->root */
snprintf(expath, PATH_MAX, "%s%s", handle->root, pathname);
/* 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.
*
* eg, /home/httpd/html/index.html may be removed so index.php
* could be used.
*/
if(alpm_list_find_str(handle->noextract, pathname)) {
alpm_logaction(_("notice: %s is in NoExtract -- skipping extraction"), pathname);
archive_read_data_skip (archive);
/* if a file is in NoExtract then we never extract it */
if(alpm_list_find_str(handle->noextract, entryname)) {
alpm_logaction(_("notice: %s is in NoExtract -- skipping extraction"), entryname);
archive_read_data_skip(archive);
continue;
}
if(!stat(expath, &buf) && !S_ISDIR(buf.st_mode)) {
/* file already exists */
if(!pmo_upgrade || oldpkg == NULL) {
nb = alpm_list_find_str(info->backup, pathname);
} else {
/* op == PM_TRANS_TYPE_UPGRADE */
md5_orig = _alpm_needbackup(pathname, oldpkg->backup);
sha1_orig = _alpm_needbackup(pathname, oldpkg->backup);
if(md5_orig || sha1_orig) {
nb = 1;
/* 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(newpkg->backup, entryname);
if(is_upgrade) {
hash_orig = _alpm_needbackup(entryname, oldpkg->backup);
if(hash_orig) {
needbackup = 1;
}
}
if(alpm_list_find_str(handle->noupgrade, pathname)) {
/* 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;
nb = 0;
needbackup = 0;
}
}
if(nb) {
char *temp;
char *md5_local, *md5_pkg;
char *sha1_local, *sha1_pkg;
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 */
temp = strdup("/tmp/alpm_XXXXXX");
fd = mkstemp(temp);
tempfile = strdup("/tmp/alpm_XXXXXX");
fd = mkstemp(tempfile);
archive_entry_set_pathname (entry, temp);
archive_entry_set_pathname(entry, tempfile);
if(archive_read_extract (archive, entry, ARCHIVE_EXTRACT_FLAGS) != ARCHIVE_OK) {
alpm_logaction(_("could not extract %s (%s)"), pathname, strerror(errno));
if(archive_read_extract(archive, entry, ARCHIVE_EXTRACT_FLAGS) != ARCHIVE_OK) {
_alpm_log(PM_LOG_ERROR, _("could not extract %s (%s)"), entryname, strerror(errno));
alpm_logaction(_("could not extract %s (%s)"), entryname, strerror(errno));
errors++;
unlink(temp);
FREE(temp);
FREE(md5_orig);
FREE(sha1_orig);
unlink(tempfile);
FREE(hash_orig);
close(fd);
continue;
}
md5_local = _alpm_MDFile(expath);
md5_pkg = _alpm_MDFile(temp);
sha1_local = _alpm_SHAFile(expath);
sha1_pkg = _alpm_SHAFile(temp);
/* append the new md5 or sha1 hash to it's respective entry in info->backup
* (it will be the new orginal)
*/
for(lp = info->backup; lp; lp = lp->next) {
char *fn;
char *file = lp->data;
if(!file) continue;
if(!strcmp(file, pathname)) {
if(info->sha1sum != NULL && info->sha1sum != '\0') {
/* 32 for the hash, 1 for the terminating NULL, and 1 for the tab delimiter */
if((fn = (char *)malloc(strlen(file)+34)) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
sprintf(fn, "%s\t%s", file, md5_pkg);
FREE(file);
lp->data = fn;
} else {
/* 41 for the hash, 1 for the terminating NULL, and 1 for the tab delimiter */
if((fn = (char *)malloc(strlen(file)+43)) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
sprintf(fn, "%s\t%s", file, sha1_pkg);
FREE(file);
lp->data = fn;
}
}
}
if (info->sha1sum != NULL && info->sha1sum != '\0') {
_alpm_log(PM_LOG_DEBUG, _("checking md5 hashes for %s"), pathname);
_alpm_log(PM_LOG_DEBUG, _("current: %s"), md5_local);
_alpm_log(PM_LOG_DEBUG, _("new: %s"), md5_pkg);
if(md5_orig) {
_alpm_log(PM_LOG_DEBUG, _("original: %s"), md5_orig);
}
if(use_md5) {
hash_local = _alpm_MDFile(filename);
hash_pkg = _alpm_MDFile(tempfile);
} else {
_alpm_log(PM_LOG_DEBUG, _("checking sha1 hashes for %s"), pathname);
_alpm_log(PM_LOG_DEBUG, _("current: %s"), sha1_local);
_alpm_log(PM_LOG_DEBUG, _("new: %s"), sha1_pkg);
if(sha1_orig) {
_alpm_log(PM_LOG_DEBUG, _("original: %s"), sha1_orig);
}
hash_local = _alpm_SHAFile(filename);
hash_pkg = _alpm_SHAFile(tempfile);
}
if(!pmo_upgrade) {
/* PM_ADD */
/* append the new md5 or sha1 hash to it's respective entry in newpkg->backup
* (it will be the new orginal) */
for(lp = newpkg->backup; lp; lp = lp->next) {
if(!lp->data || strcmp(lp->data, entryname) != 0) {
continue;
}
char *backup = NULL;
int backup_len = strlen(lp->data) + 2; /* tab char and null byte */
/* if a file already exists with a different md5 or sha1 hash,
* then we rename it to a .pacorig extension and continue */
if(strcmp(md5_local, md5_pkg) || strcmp(sha1_local, sha1_pkg)) {
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", (char *)lp->data, hash_pkg);
backup[backup_len-1] = '\0';
FREE(lp->data);
lp->data = backup;
}
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", expath);
if(rename(expath, newpath)) {
archive_entry_set_pathname (entry, expath);
_alpm_log(PM_LOG_ERROR, _("could not rename %s (%s)"), pathname, strerror(errno));
alpm_logaction(_("error: could not rename %s (%s)"), expath, strerror(errno));
}
if(_alpm_copyfile(temp, expath)) {
archive_entry_set_pathname (entry, expath);
_alpm_log(PM_LOG_ERROR, _("could not copy %s to %s (%s)"), temp, pathname, strerror(errno));
alpm_logaction(_("error: could not copy %s to %s (%s)"), temp, expath, strerror(errno));
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 {
archive_entry_set_pathname (entry, expath);
_alpm_log(PM_LOG_WARNING, _("%s saved as %s.pacorig"), pathname, pathname);
alpm_logaction(_("warning: %s saved as %s"), expath, newpath);
/* 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.pacorig"), filename, newpath);
alpm_logaction(_("warning: %s saved as %s"), filename, newpath);
}
}
}
} else if(md5_orig || sha1_pkg) {
/* PM_UPGRADE */
int installnew = 0;
} else if(hash_orig) {
/* the fun part */
if(!strcmp(md5_orig, md5_local)|| !strcmp(sha1_orig, sha1_local)) {
if(!strcmp(md5_local, md5_pkg) || !strcmp(sha1_local, sha1_pkg)) {
_alpm_log(PM_LOG_DEBUG, _("action: installing new file"));
installnew = 1;
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 {
_alpm_log(PM_LOG_DEBUG, _("action: installing new file"));
installnew = 1;
/* 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(md5_orig, md5_pkg) || !strcmp(sha1_orig, sha1_pkg)) {
} 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 if(!strcmp(md5_local, md5_pkg) || !strcmp(sha1_local, sha1_pkg)) {
_alpm_log(PM_LOG_DEBUG, _("action: installing new file"));
installnew = 1;
} else {
char newpath[PATH_MAX];
_alpm_log(PM_LOG_DEBUG, _("action: keeping current file and installing new one with .pacnew ending"));
installnew = 0;
snprintf(newpath, PATH_MAX, "%s.pacnew", expath);
if(_alpm_copyfile(temp, newpath)) {
_alpm_log(PM_LOG_ERROR, _("could not install %s as %s: %s"), expath, newpath, strerror(errno));
alpm_logaction(_("error: could not install %s as %s: %s"), expath, newpath, strerror(errno));
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"), expath, newpath);
alpm_logaction(_("warning: %s installed as %s"), expath, newpath);
_alpm_log(PM_LOG_WARNING, _("%s installed as %s"), filename, newpath);
alpm_logaction(_("warning: %s installed as %s"), filename, newpath);
}
}
if(installnew) {
_alpm_log(PM_LOG_DEBUG, _("extracting %s"), pathname);
if(_alpm_copyfile(temp, expath)) {
_alpm_log(PM_LOG_ERROR, _("could not copy %s to %s (%s)"), temp, pathname, strerror(errno));
errors++;
}
archive_entry_set_pathname (entry, expath);
}
}
FREE(md5_local);
FREE(md5_pkg);
FREE(md5_orig);
FREE(sha1_local);
FREE(sha1_pkg);
FREE(sha1_orig);
unlink(temp);
FREE(temp);
FREE(hash_local);
FREE(hash_pkg);
FREE(hash_orig);
unlink(tempfile);
FREE(tempfile);
close(fd);
} else {
if(!notouch) {
_alpm_log(PM_LOG_DEBUG, _("extracting %s"), pathname);
} 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, _("%s is in NoUpgrade -- skipping"), pathname);
strncat(expath, ".pacnew", PATH_MAX);
_alpm_log(PM_LOG_WARNING, _("extracting %s as %s.pacnew"), pathname, pathname);
alpm_logaction(_("warning: extracting %s%s as %s"), handle->root, pathname, expath);
/*tar_skip_regfile(tar);*/
_alpm_log(PM_LOG_DEBUG, _("extracting %s"), filename);
}
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(expath);
unlink(filename);
}
archive_entry_set_pathname (entry, expath);
if(archive_read_extract (archive, entry, ARCHIVE_EXTRACT_FLAGS) != ARCHIVE_OK) {
_alpm_log(PM_LOG_ERROR, _("could not extract %s (%s)"), expath, strerror(errno));
alpm_logaction(_("error: could not extract %s (%s)"), expath, strerror(errno));
archive_entry_set_pathname(entry, filename);
if(archive_read_extract(archive, entry, ARCHIVE_EXTRACT_FLAGS) != ARCHIVE_OK) {
_alpm_log(PM_LOG_ERROR, _("could not extract %s (%s)"), filename, strerror(errno));
alpm_logaction(_("error: could not extract %s (%s)"), filename, strerror(errno));
errors++;
}
/* calculate an md5 or sha1 hash if this is in info->backup */
for(lp = info->backup; lp; lp = lp->next) {
char *fn, *md5, *sha1;
char *file = lp->data;
if(!file) continue;
if(!strcmp(file, pathname)) {
_alpm_log(PM_LOG_DEBUG, _("appending backup entry"));
if (info->sha1sum != NULL && info->sha1sum != '\0') {
md5 = _alpm_MDFile(expath);
/* 32 for the hash, 1 for the terminating NULL, and 1 for the tab delimiter */
if((fn = (char *)malloc(strlen(file)+34)) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
sprintf(fn, "%s\t%s", file, md5);
FREE(md5);
} else {
/* 41 for the hash, 1 for the terminating NULL, and 1 for the tab delimiter */
sha1 = _alpm_SHAFile(expath);
if((fn = (char *)malloc(strlen(file)+43)) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
sprintf(fn, "%s\t%s", file, sha1);
FREE(sha1);
}
FREE(file);
lp->data = fn;
/* calculate an hash if this is in newpkg->backup */
for(lp = newpkg->backup; lp; lp = lp->next) {
char *backup = NULL, *hash = NULL;
int backup_len = strlen(lp->data) + 2; /* tab char and null byte */
if(!lp->data || strcmp(lp->data, 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", (char *)lp->data, hash);
backup[backup_len-1] = '\0';
FREE(hash);
FREE(lp->data);
lp->data = backup;
}
}
}
archive_read_finish(archive);
/* restore the old cwd is we have it */
if(strlen(cwd)) {
chdir(cwd);
}
archive_read_finish (archive);
if(errors) {
ret = 1;
_alpm_log(PM_LOG_ERROR, _("errors occurred while %s %s"),
(pmo_upgrade ? _("upgrading") : _("installing")), info->name);
(is_upgrade ? _("upgrading") : _("installing")), newpkg->name);
alpm_logaction(_("errors occurred while %s %s"),
(pmo_upgrade ? _("upgrading") : _("installing")), info->name);
(is_upgrade ? _("upgrading") : _("installing")), newpkg->name);
}
}
/* Add the package to the database */
t = time(NULL);
/* Update the requiredby field by scanning the whole database
* looking for packages depending on the package to add */
for(lp = _alpm_db_get_pkgcache(db, INFRQ_DEPENDS); lp; lp = lp->next) {
pmpkg_t *tmpp = lp->data;
alpm_list_t *tmppm = NULL;
if(tmpp == NULL) {
continue;
}
for(tmppm = tmpp->depends; tmppm; tmppm = tmppm->next) {
pmdepend_t depend;
if(_alpm_splitdep(tmppm->data, &depend)) {
continue;
}
if(tmppm->data && !strcmp(depend.name, info->name)) {
_alpm_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s'"), tmpp->name, info->name);
info->requiredby = alpm_list_add(info->requiredby, strdup(tmpp->name));
}
}
}
_alpm_pkg_update_requiredby(newpkg);
/* make an install date (in UTC) */
STRNCPY(info->installdate, asctime(gmtime(&t)), sizeof(info->installdate));
time_t t = time(NULL);
strncpy(newpkg->installdate, asctime(gmtime(&t)), PKG_DATE_LEN);
/* remove the extra line feed appended by asctime() */
info->installdate[strlen(info->installdate)-1] = 0;
newpkg->installdate[strlen(newpkg->installdate)-1] = 0;
_alpm_log(PM_LOG_DEBUG, _("updating database"));
_alpm_log(PM_LOG_DEBUG, _("adding database entry '%s'"), info->name);
if(_alpm_db_write(db, info, INFRQ_ALL)) {
_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"),
info->name, info->version);
alpm_logaction(NULL, _("error updating database for %s-%s!"), info->name, info->version);
newpkg->name, newpkg->version);
alpm_logaction(_("could not update database entry %s-%s"),
newpkg->name, newpkg->version);
RET_ERR(PM_ERR_DB_WRITE, -1);
}
if(_alpm_db_add_pkgincache(db, info) == -1) {
_alpm_log(PM_LOG_ERROR, _("could not add entry '%s' in cache"), info->name);
if(_alpm_db_add_pkgincache(db, newpkg) == -1) {
_alpm_log(PM_LOG_ERROR, _("could not add entry '%s' in cache"), newpkg->name);
}
/* XXX: This is copy-pasta from remove.c - refactor */
/* update dependency packages' REQUIREDBY fields */
if(info->depends) {
_alpm_log(PM_LOG_DEBUG, _("updating dependency packages 'requiredby' fields"));
}
for(lp = info->depends; lp; lp = lp->next) {
pmpkg_t *depinfo;
pmdepend_t depend;
if(_alpm_splitdep(lp->data, &depend)) {
continue;
}
depinfo = _alpm_db_get_pkgfromcache(db, depend.name);
if(depinfo == NULL) {
/* look for a provides package */
alpm_list_t *provides = _alpm_db_whatprovides(db, depend.name);
if(provides) {
/* TODO: should check _all_ packages listed in provides, not just
* the first one.
*/
/* use the first one */
depinfo = _alpm_db_get_pkgfromcache(db, ((pmpkg_t *)provides->data)->name);
FREELISTPTR(provides);
}
if(depinfo == NULL) {
/* We'll let the front end deal with this case... it may be intentional */
_alpm_log(PM_LOG_DEBUG, _("could not find dependency '%s'"), depend.name);
continue;
}
}
/* Ensure package has the right info */
_alpm_db_read(db, INFRQ_DEPENDS, depinfo);
_alpm_pkg_update_depends(newpkg, 0 /*is an add*/);
_alpm_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s'"), info->name, depinfo->name);
depinfo->requiredby = alpm_list_add(depinfo->requiredby, strdup(info->name));
if(_alpm_db_write(db, depinfo, INFRQ_DEPENDS)) {
_alpm_log(PM_LOG_ERROR, _("could not update 'requiredby' database entry %s-%s"),
depinfo->name, depinfo->version);
}
}
PROGRESS(trans, cb_state, what, 100, pkg_count, (pkg_count - targ_count +1));
PROGRESS(trans, (is_upgrade ? PM_TRANS_PROGRESS_UPGRADE_START : PM_TRANS_PROGRESS_ADD_START),
newpkg->name, 100, pkg_count, (pkg_count - targ_count +1));
EVENT(trans, PM_TRANS_EVT_EXTRACT_DONE, NULL, NULL);
FREE(what);
/* run the post-install script if it exists */
if(info->scriptlet && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
snprintf(pm_install, PATH_MAX, "%s%s/%s/%s-%s/install", handle->root, handle->dbpath, db->treename, info->name, info->version);
if(pmo_upgrade) {
_alpm_runscriptlet(handle->root, pm_install, "post_upgrade", info->version, oldpkg ? oldpkg->version : NULL, trans);
if(newpkg->scriptlet && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
char pm_install[PATH_MAX];
snprintf(pm_install, PATH_MAX, "%s%s/%s/%s-%s/install", handle->root, handle->dbpath, db->treename, newpkg->name, newpkg->version);
if(is_upgrade) {
_alpm_runscriptlet(handle->root, pm_install, "post_upgrade", newpkg->version, oldpkg ? oldpkg->version : NULL, trans);
} else {
_alpm_runscriptlet(handle->root, pm_install, "post_install", info->version, NULL, trans);
_alpm_runscriptlet(handle->root, pm_install, "post_install", newpkg->version, NULL, trans);
}
}
EVENT(trans, (pmo_upgrade) ? PM_TRANS_EVT_UPGRADE_DONE : PM_TRANS_EVT_ADD_DONE, info, oldpkg);
EVENT(trans, (is_upgrade) ? PM_TRANS_EVT_UPGRADE_DONE : PM_TRANS_EVT_ADD_DONE, newpkg, oldpkg);
FREEPKG(oldpkg);
}
/* run ldconfig if it exists */
if(handle->trans->state != STATE_INTERRUPTED) {
if((trans->type != PM_TRANS_TYPE_UPGRADE) && (handle->trans->state != STATE_INTERRUPTED)) {
_alpm_log(PM_LOG_DEBUG, _("running \"ldconfig -r %s\""), handle->root);
_alpm_ldconfig(handle->root);
}

View File

@ -33,7 +33,7 @@
/* 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)
*/
char *_alpm_needbackup(char *file, alpm_list_t *backup)
char *_alpm_needbackup(const char *file, alpm_list_t *backup)
{
alpm_list_t *lp;
@ -57,7 +57,7 @@ char *_alpm_needbackup(char *file, alpm_list_t *backup)
*ptr = '\0';
ptr++;
/* now str points to the filename and ptr points to the md5 or sha1 hash */
if(!strcmp(file, str)) {
if(strcmp(file, str) == 0) {
char *hash = strdup(ptr);
FREE(str);
return(hash);

View File

@ -23,7 +23,7 @@
#include "alpm_list.h"
char *_alpm_needbackup(char *file, alpm_list_t *backup);
char *_alpm_needbackup(const char *file, alpm_list_t *backup);
#endif /* _ALPM_BACKUP_H */

View File

@ -40,6 +40,8 @@
#include "error.h"
#include "alpm_list.h"
#include "db.h"
#include "cache.h"
#include "provide.h"
#include "handle.h"
#include "versioncmp.h"
#include "alpm.h"
@ -524,6 +526,118 @@ int _alpm_pkg_splitname(char *target, char *name, char *version, int witharch)
return(0);
}
void _alpm_pkg_update_requiredby(pmpkg_t *pkg)
{
alpm_list_t *i, *j;
pmdb_t *localdb = alpm_option_get_localdb();
for(i = _alpm_db_get_pkgcache(localdb, INFRQ_DEPENDS); i; i = i->next) {
if(!i->data) {
continue;
}
pmpkg_t *cachepkg = i->data;
for(j = cachepkg->depends; j; j = j->next) {
pmdepend_t dep;
if(!j->data) {
continue;
}
if(_alpm_splitdep(j->data, &dep) == 0
&& strcmp(dep.name, pkg->name) == 0) {
_alpm_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s'"), cachepkg->name, pkg->name);
pkg->requiredby = alpm_list_add(pkg->requiredby, strdup(cachepkg->name));
}
}
}
}
void _alpm_pkg_update_depends(pmpkg_t *pkg, int remove)
{
alpm_list_t *i, *j;
if(pkg->depends) {
_alpm_log(PM_LOG_DEBUG, _("updating dependency packages 'requiredby' fields"));
}
pmdb_t *localdb = alpm_option_get_localdb();
for(i = pkg->depends; i; i = i->next) {
pmdepend_t dep;
if(_alpm_splitdep(i->data, &dep) != 0) {
continue;
}
/* XXX: this is a hack...if this dependency is in the transaction targets
* of a remove transaction no need to update its requiredby info:
* it is in the process of being removed (if not already done!) */
/* TODO I wonder if we can just skip this, the few extra operations won't be
* a huge deal either way */
if(handle->trans && handle->trans->packages
&& handle->trans->type == PM_TRANS_TYPE_REMOVE) {
if(_alpm_pkg_isin(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, provpkg->name);
if(!deppkg) {
continue;
}
found_provides = 1;
/* Ensure package has the right newpkg */
_alpm_db_read(localdb, INFRQ_DEPENDS, deppkg);
_alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"), deppkg->name);
if(remove) {
void *data = NULL;
deppkg->requiredby = alpm_list_remove(deppkg->requiredby, pkg->name, _alpm_str_cmp, &data);
FREE(data);
} else {
deppkg->requiredby = alpm_list_add(deppkg->requiredby, strdup(pkg->name));
}
if(_alpm_db_write(localdb, deppkg, INFRQ_DEPENDS)) {
_alpm_log(PM_LOG_ERROR, _("could not update 'requiredby' database entry %s-%s"), deppkg->name, deppkg->version);
}
}
FREELISTPTR(provides);
if(!found_provides) {
_alpm_log(PM_LOG_DEBUG, _("could not find dependency '%s'"), dep.name);
continue;
}
}
/* Ensure package has the right newpkg */
_alpm_db_read(localdb, INFRQ_DEPENDS, deppkg);
_alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"), deppkg->name);
if(remove) {
void *data = NULL;
deppkg->requiredby = alpm_list_remove(deppkg->requiredby, pkg->name, _alpm_str_cmp, &data);
FREE(data);
} else {
deppkg->requiredby = alpm_list_add(deppkg->requiredby, strdup(pkg->name));
}
if(_alpm_db_write(localdb, deppkg, INFRQ_DEPENDS)) {
_alpm_log(PM_LOG_ERROR, _("could not update 'requiredby' database entry %s-%s"), deppkg->name, deppkg->version);
}
}
}
const char *alpm_pkg_get_filename(pmpkg_t *pkg)
{
ALPM_LOG_FUNC;

View File

@ -107,6 +107,8 @@ pmpkg_t *_alpm_pkg_load(char *pkgfile);
pmpkg_t *_alpm_pkg_isin(char *needle, alpm_list_t *haystack);
int _alpm_pkg_splitname(char *target, char *name, char *version, int witharch);
int _alpm_pkg_istoonew(pmpkg_t *pkg);
void _alpm_pkg_update_requiredby(pmpkg_t *pkg);
void _alpm_pkg_update_depends(pmpkg_t *pkg, int remove);
#endif /* _ALPM_PACKAGE_H */

View File

@ -168,7 +168,8 @@ msgstr "Aktion: Lasse existierende Datei an ihrem Platz"
#: lib/libalpm/add.c:676
msgid "action: keeping current file and installing new one with .pacnew ending"
msgstr "Aktion: Behalte aktuelle Datei und installiere Neue mit der Endung .pacnew"
msgstr ""
"Aktion: Behalte aktuelle Datei und installiere Neue mit der Endung .pacnew"
#: lib/libalpm/add.c:680
#, c-format
@ -297,7 +298,8 @@ msgstr "Schließe Datenbank '%s'"
#: lib/libalpm/alpm.c:229
#, c-format
msgid "adding new server to database '%s': protocol '%s', server '%s', path '%s'"
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'"
@ -333,7 +335,7 @@ msgid "could not remove database entry %s/%s"
msgstr "Konnte Datenbankeintrag %s/%s nicht entfernen"
#: lib/libalpm/alpm.c:479
#, c-format
#, fuzzy, c-format
msgid "could not get sha1sum for package %s-%s"
msgstr "Konnte SHA1 Prüfsumme für Paket %s-%s nicht ermitteln"
@ -348,7 +350,7 @@ msgid "sha1sums do not match for package %s-%s"
msgstr "SHA1 Summen für Paket %s-%s stimmen nicht überein"
#: lib/libalpm/alpm.c:523
#, c-format
#, fuzzy, c-format
msgid "could not get md5sum for package %s-%s"
msgstr "Konnte MD5 Prüfsumme für Paket %s-%s nicht ermitteln"
@ -493,8 +495,10 @@ msgstr "Überspringe ungültigen an _alpm_db_read übergebenen Paket-Eintrag"
#: lib/libalpm/be_files.c:217
#, c-format
msgid "request to read database info for a file-based package '%s', skipping..."
msgstr "Überspringe das Lesen der Datenbank für ein Datei-basiertes Paket '%s'..."
msgid ""
"request to read database info for a file-based package '%s', skipping..."
msgstr ""
"Überspringe das Lesen der Datenbank für ein Datei-basiertes Paket '%s'..."
#: lib/libalpm/be_files.c:225
#, c-format
@ -622,7 +626,8 @@ msgstr "Registriere Datenbank '%s'"
#: lib/libalpm/db.c:182
#, c-format
msgid "database directory '%s' does not exist -- try creating it"
msgstr "Datenbankverzeichnis '%s' ist nicht vorhanden - Versuche es zu erstellen"
msgstr ""
"Datenbankverzeichnis '%s' ist nicht vorhanden - Versuche es zu erstellen"
#: lib/libalpm/db.c:193
#, c-format
@ -668,7 +673,8 @@ msgstr "checkdeps: %s als Abhängigkeit für %s gefunden"
#: lib/libalpm/deps.c:478
#, 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!"
msgstr ""
"Kann Paket \"%s\" oder irgendwas, das es zur Verfügung stellt, nicht finden!"
#: lib/libalpm/deps.c:483
msgid "dep is NULL!"
@ -700,7 +706,8 @@ msgstr "%s stellt Abhängigkeit %s zur Verfügung -- Überspringe"
#: lib/libalpm/deps.c:589
#, c-format
msgid "cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
msgstr ""
"Kann Abhängigkeiten für \"%s\" nicht auflösen (\"%s\" ist nicht in "
"Paketliste enthalten)"
@ -1048,7 +1055,8 @@ msgstr "Entferne Verzeichnis %s"
#: lib/libalpm/remove.c:240
#, c-format
msgid "skipping removal of %s as it has moved to another package"
msgstr "Überspringe das Entfernen von %s, da es in ein anderes Paket verschoben wurde"
msgstr ""
"Überspringe das Entfernen von %s, da es in ein anderes Paket verschoben wurde"
#: lib/libalpm/remove.c:252
#, c-format
@ -1381,3 +1389,8 @@ msgstr "depcmp: %s-%s %s %s-%s => %s"
msgid "depcmp: %s-%s %s %s => %s"
msgstr "depcmp: %s-%s %s %s => %s"
#~ msgid "loading FILES info for '%s'"
#~ msgstr "Lade FILES Informationen für '%s'"
#~ msgid "loading DESC info for '%s'"
#~ msgstr "Lade DESC Informationen für '%s'"

View File

@ -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-02-12 10:35-0500\n"
"POT-Creation-Date: 2007-02-14 14:32-0500\n"
"PO-Revision-Date: 2006-06-05 22:47+0100\n"
"Last-Translator: Enda <enda@netou.com>\n"
"MIME-Version: 1.0\n"
@ -45,7 +45,7 @@ msgstr "lecture des m
msgid "looking for unsatisfied dependencies"
msgstr "recherche des dépendances non satisfaites"
#: lib/libalpm/add.c:256 lib/libalpm/sync.c:475
#: lib/libalpm/add.c:256 lib/libalpm/sync.c:473
msgid "looking for conflicts"
msgstr "recherche des conflits"
@ -66,221 +66,216 @@ msgstr "recherche de conflits entre fichiers"
msgid "upgrading package %s-%s"
msgstr "mise a jour du paquet %s-%s"
#: lib/libalpm/add.c:404 lib/libalpm/conflict.c:288 lib/libalpm/conflict.c:318
#, c-format
msgid "loading FILES info for '%s'"
msgstr "chargement des informations de fichiers pour '%s'"
#: lib/libalpm/add.c:426
#: lib/libalpm/add.c:419
#, c-format
msgid "removing old package first (%s-%s)"
msgstr "retirer l'ancien paquet préalablement (%s-%s)"
#: lib/libalpm/add.c:456
#: lib/libalpm/add.c:449
#, c-format
msgid "adding package %s-%s"
msgstr "ajout du paquet %s-%s"
#: lib/libalpm/add.c:467
#: lib/libalpm/add.c:460
#, c-format
msgid "adding new package %s-%s"
msgstr "ajout du nouveau paquet %s-%s"
#: lib/libalpm/add.c:471
#: lib/libalpm/add.c:464
msgid "extracting files"
msgstr "extraction des fichiers"
#: lib/libalpm/add.c:487 lib/libalpm/util.c:461
#: lib/libalpm/add.c:480 lib/libalpm/util.c:461
msgid "could not get current working directory"
msgstr "impossible de déterminer le répertoire courant"
#: lib/libalpm/add.c:545
#: lib/libalpm/add.c:538
#, c-format
msgid "notice: %s is in NoExtract -- skipping extraction"
msgstr "note: %s est dans la liste NoExtract -- ignore l'extraction"
#: lib/libalpm/add.c:581 lib/libalpm/add.c:734
#: lib/libalpm/add.c:574 lib/libalpm/add.c:727
#, c-format
msgid "could not extract %s (%s)"
msgstr "n'a pas pu extraire %s (%s)"
#: lib/libalpm/add.c:624
#: lib/libalpm/add.c:617
#, c-format
msgid "checking md5 hashes for %s"
msgstr "vérification de la 'signature' md5 pour %s"
#: lib/libalpm/add.c:625 lib/libalpm/add.c:632
#: lib/libalpm/add.c:618 lib/libalpm/add.c:625
#, c-format
msgid "current: %s"
msgstr "courant: %s"
#: lib/libalpm/add.c:626 lib/libalpm/add.c:633
#: lib/libalpm/add.c:619 lib/libalpm/add.c:626
#, c-format
msgid "new: %s"
msgstr "nouveau: %s"
#: lib/libalpm/add.c:628 lib/libalpm/add.c:635
#: lib/libalpm/add.c:621 lib/libalpm/add.c:628
#, c-format
msgid "original: %s"
msgstr "original: %s"
#: lib/libalpm/add.c:631
#: lib/libalpm/add.c:624
#, c-format
msgid "checking sha1 hashes for %s"
msgstr "vérification de la 'signature' sha1 pour %s"
#: lib/libalpm/add.c:649
#: lib/libalpm/add.c:642
#, c-format
msgid "could not rename %s (%s)"
msgstr "n'a pas pu renommer %s (%s)"
#: lib/libalpm/add.c:650
#: lib/libalpm/add.c:643
#, c-format
msgid "error: could not rename %s (%s)"
msgstr "erreur: n'a pas pu renommer %s (%s)"
#: lib/libalpm/add.c:654 lib/libalpm/add.c:698
#: lib/libalpm/add.c:647 lib/libalpm/add.c:691
#, c-format
msgid "could not copy %s to %s (%s)"
msgstr "n'a pas pu copier %s vers %s (%s)"
#: lib/libalpm/add.c:655
#: lib/libalpm/add.c:648
#, c-format
msgid "error: could not copy %s to %s (%s)"
msgstr "erreur: n'a pas pu copier %s vers %s (%s)"
#: lib/libalpm/add.c:659
#: lib/libalpm/add.c:652
#, c-format
msgid "%s saved as %s.pacorig"
msgstr "%s sauve en tant que %s.pacorig"
#: lib/libalpm/add.c:660
#: lib/libalpm/add.c:653
#, c-format
msgid "warning: %s saved as %s"
msgstr "avertissement: %s sauve en tant que %s"
#: lib/libalpm/add.c:670 lib/libalpm/add.c:673 lib/libalpm/add.c:679
#: lib/libalpm/add.c:663 lib/libalpm/add.c:666 lib/libalpm/add.c:672
msgid "action: installing new file"
msgstr "action: installation de nouveau fichier"
#: lib/libalpm/add.c:677
#: lib/libalpm/add.c:670
msgid "action: leaving existing file in place"
msgstr "action: quitte en préservant les fichiers existant"
#: lib/libalpm/add.c:683
#: lib/libalpm/add.c:676
msgid "action: keeping current file and installing new one with .pacnew ending"
msgstr ""
"action: conserver le fichier actuel et installer le nouveau avec "
"l'extension .pacnew"
#: lib/libalpm/add.c:687
#: lib/libalpm/add.c:680
#, c-format
msgid "could not install %s as %s: %s"
msgstr "n'a pas pu installer %s en tant que %s: %s"
#: lib/libalpm/add.c:688
#: lib/libalpm/add.c:681
#, c-format
msgid "error: could not install %s as %s: %s"
msgstr "erreur: n'a pas pu installer %s en tant que %s: %s"
#: lib/libalpm/add.c:690
#: lib/libalpm/add.c:683
#, c-format
msgid "%s installed as %s"
msgstr "%s installé en tant que %s"
#: lib/libalpm/add.c:691
#: lib/libalpm/add.c:684
#, c-format
msgid "warning: %s installed as %s"
msgstr "avertissement: %s installé en tant que %s"
#: lib/libalpm/add.c:696 lib/libalpm/add.c:716
#: lib/libalpm/add.c:689 lib/libalpm/add.c:709
#, c-format
msgid "extracting %s"
msgstr "extrait %s"
#: lib/libalpm/add.c:718
#: lib/libalpm/add.c:711
#, c-format
msgid "%s is in NoUpgrade -- skipping"
msgstr "%s est marqué NoUpgrade -- ignore"
#: lib/libalpm/add.c:720
#: lib/libalpm/add.c:713
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "extrait %s en tant que %s.pacnew"
#: lib/libalpm/add.c:721
#: lib/libalpm/add.c:714
#, c-format
msgid "warning: extracting %s%s as %s"
msgstr "avertissement: extrait %s%s en tant que %s"
#: lib/libalpm/add.c:735
#: lib/libalpm/add.c:728
#, c-format
msgid "error: could not extract %s (%s)"
msgstr "erreur: n'a pas pu extraire %s (%s)"
#: lib/libalpm/add.c:745
#: lib/libalpm/add.c:738
msgid "appending backup entry"
msgstr "ajoute une entre pour la sauvegarde"
#: lib/libalpm/add.c:776 lib/libalpm/add.c:778
#: lib/libalpm/add.c:769 lib/libalpm/add.c:771
#, c-format
msgid "errors occurred while %s %s"
msgstr "des erreurs sont survenue pendant %s %s"
#: lib/libalpm/add.c:777 lib/libalpm/add.c:779
#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
msgid "upgrading"
msgstr "mise à jour"
#: lib/libalpm/add.c:777 lib/libalpm/add.c:779
#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
msgid "installing"
msgstr "installation"
#: lib/libalpm/add.c:800 lib/libalpm/add.c:856
#: lib/libalpm/add.c:793 lib/libalpm/add.c:849
#, c-format
msgid "adding '%s' in requiredby field for '%s'"
msgstr "ajoute '%s' dans le champ 'requit par' pour '%s'"
#: lib/libalpm/add.c:811 lib/libalpm/remove.c:334
#: lib/libalpm/add.c:804 lib/libalpm/remove.c:326
msgid "updating database"
msgstr "met à jour la base de données"
#: lib/libalpm/add.c:812
#: lib/libalpm/add.c:805
#, c-format
msgid "adding database entry '%s'"
msgstr "ajoute l'entrée de base de données '%s'"
#: lib/libalpm/add.c:814
#: lib/libalpm/add.c:807
#, c-format
msgid "could not update database entry %s-%s"
msgstr "n'a pas pu mettre a jour l'entrée de base de données %s-%s"
#: lib/libalpm/add.c:816
#: lib/libalpm/add.c:809
#, c-format
msgid "error updating database for %s-%s!"
msgstr "erreur lors de la mise a jour de la base de données pour %s-%s!"
#: lib/libalpm/add.c:820
#: lib/libalpm/add.c:813
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "n'a pas pu ajouter l'entrée '%s' dans le cache"
#: lib/libalpm/add.c:826 lib/libalpm/remove.c:344
#: lib/libalpm/add.c:819 lib/libalpm/remove.c:336
msgid "updating dependency packages 'requiredby' fields"
msgstr "mise a jour des champs 'requit par' des dépendances"
#: lib/libalpm/add.c:848
#: lib/libalpm/add.c:841
#, c-format
msgid "could not find dependency '%s'"
msgstr "n'a pas pu trouver la dépendance '%s'"
#: lib/libalpm/add.c:859 lib/libalpm/remove.c:386
#: lib/libalpm/add.c:852 lib/libalpm/remove.c:378
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr ""
"n'a pas pu mettre à jour le champ 'requit par' de l'entrée de base de "
"données %s-%s"
#: lib/libalpm/add.c:885 lib/libalpm/remove.c:399 lib/libalpm/sync.c:1045
#: lib/libalpm/add.c:878 lib/libalpm/remove.c:391 lib/libalpm/sync.c:1043
#, c-format
msgid "running \"ldconfig -r %s\""
msgstr "execute \"ldconfig -r %s\""
@ -338,145 +333,145 @@ msgstr "n'a pas pu retirer l'entr
#: lib/libalpm/alpm.c:479
#, fuzzy, c-format
msgid "could not get sha1 checksum for package %s-%s"
msgid "could not get sha1sum for package %s-%s"
msgstr "n'a pas pu obtenir la 'signature' sha1 pour le paquet %s-%s\n"
#: lib/libalpm/alpm.c:485 lib/libalpm/alpm.c:534
#, c-format
msgid "loading DESC info for '%s'"
msgstr "chargement des informations descriptives pour '%s'"
#: lib/libalpm/alpm.c:490 lib/libalpm/alpm.c:539
#, c-format
msgid "checksums for package %s-%s are matching"
#: lib/libalpm/alpm.c:485
#, fuzzy, c-format
msgid "sha1sums for package %s-%s match"
msgstr "les 'signatures' correspondent pour le paquet %s-%s"
#: lib/libalpm/alpm.c:493
#: lib/libalpm/alpm.c:488
#, fuzzy, c-format
msgid "sha1sums do not match for package %s-%s"
msgstr "les 'signatures' sha1 ne correspondent pas pour le paquet %s-%s\n"
#: lib/libalpm/alpm.c:528
#: lib/libalpm/alpm.c:523
#, fuzzy, c-format
msgid "could not get md5 checksum for package %s-%s"
msgid "could not get md5sum for package %s-%s"
msgstr "n'a pas pu obtenir la 'signature' md5 pour le paquet %s-%s\n"
#: lib/libalpm/alpm.c:542
#: lib/libalpm/alpm.c:529
#, fuzzy, c-format
msgid "md5sums for package %s-%s match"
msgstr "les 'signatures' correspondent pour le paquet %s-%s"
#: lib/libalpm/alpm.c:532
#, fuzzy, c-format
msgid "md5sums do not match for package %s-%s"
msgstr "les 'signatures' md5 ne correspondent pas pour le paquet %s-%s\n"
#: lib/libalpm/alpm.c:790
#: lib/libalpm/alpm.c:781
#, c-format
msgid "could not remove lock file %s"
msgstr "n'a pas pu effacer le fichier de verrou %s"
#: lib/libalpm/alpm.c:791
#: lib/libalpm/alpm.c:782
#, c-format
msgid "warning: could not remove lock file %s"
msgstr "avertissement: n'a pas pu effacer le fichier de verrou %s"
#: lib/libalpm/alpm.c:926
#: lib/libalpm/alpm.c:917
#, fuzzy, c-format
msgid "config: new section '%s'"
msgstr "n'a pas pu extraire %s: %s\n"
#: lib/libalpm/alpm.c:955
#: lib/libalpm/alpm.c:946
msgid "config: nopassiveftp"
msgstr ""
#: lib/libalpm/alpm.c:958
#: lib/libalpm/alpm.c:949
msgid "config: usesyslog"
msgstr ""
#: lib/libalpm/alpm.c:961
#: lib/libalpm/alpm.c:952
msgid "config: chomp"
msgstr ""
#: lib/libalpm/alpm.c:964
#: lib/libalpm/alpm.c:955
msgid "config: usecolor"
msgstr ""
#: lib/libalpm/alpm.c:973
#: lib/libalpm/alpm.c:964
#, fuzzy, c-format
msgid "config: including %s"
msgstr "ne peut ouvrir le fichier de log %s"
#: lib/libalpm/alpm.c:983 lib/libalpm/alpm.c:988
#: lib/libalpm/alpm.c:974 lib/libalpm/alpm.c:979
#, fuzzy, c-format
msgid "config: noupgrade: %s"
msgstr "n'a pas pu extraire %s: %s\n"
#: lib/libalpm/alpm.c:996 lib/libalpm/alpm.c:1001
#: lib/libalpm/alpm.c:987 lib/libalpm/alpm.c:992
#, fuzzy, c-format
msgid "config: noextract: %s"
msgstr "n'a pas pu extraire %s: %s\n"
#: lib/libalpm/alpm.c:1009 lib/libalpm/alpm.c:1014
#: lib/libalpm/alpm.c:1000 lib/libalpm/alpm.c:1005
#, fuzzy, c-format
msgid "config: ignorepkg: %s"
msgstr "n'a pas pu extraire %s: %s\n"
#: lib/libalpm/alpm.c:1022 lib/libalpm/alpm.c:1027
#: lib/libalpm/alpm.c:1013 lib/libalpm/alpm.c:1018
#, fuzzy, c-format
msgid "config: holdpkg: %s"
msgstr "ne peut ouvrir le fichier de log %s"
#: lib/libalpm/alpm.c:1034
#: lib/libalpm/alpm.c:1025
#, fuzzy, c-format
msgid "config: dbpath: %s"
msgstr "n'a pas pu extraire %s: %s\n"
#: lib/libalpm/alpm.c:1041
#: lib/libalpm/alpm.c:1032
#, fuzzy, c-format
msgid "config: cachedir: %s"
msgstr "n'a pas pu extraire %s: %s\n"
#: lib/libalpm/alpm.c:1044
#: lib/libalpm/alpm.c:1035
#, fuzzy, c-format
msgid "config: logfile: %s"
msgstr "ne peut ouvrir le fichier de log %s"
#: lib/libalpm/alpm.c:1047
#: lib/libalpm/alpm.c:1038
#, fuzzy, c-format
msgid "config: xfercommand: %s"
msgstr "n'a pas pu extraire %s: %s\n"
#: lib/libalpm/alpm.c:1052
#: lib/libalpm/alpm.c:1043
#, c-format
msgid "config: upgradedelay: %d"
msgstr ""
#: lib/libalpm/alpm.c:1091 lib/libalpm/sync.c:129 lib/libalpm/sync.c:197
#: lib/libalpm/alpm.c:1082 lib/libalpm/sync.c:129 lib/libalpm/sync.c:197
msgid "checking for package replacements"
msgstr "vérification des remplacements pour le paquet"
#: lib/libalpm/alpm.c:1100 lib/libalpm/sync.c:138
#: lib/libalpm/alpm.c:1091 lib/libalpm/sync.c:138
#, c-format
msgid "checking replacement '%s' for package '%s'"
msgstr "analyse du remplacement '%s' pour le paquet '%s'"
#: lib/libalpm/alpm.c:1102 lib/libalpm/sync.c:140
#: lib/libalpm/alpm.c:1093 lib/libalpm/sync.c:140
#, c-format
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
msgstr "%s-%s: ignore la mise a jour du paquet (à remplacer par %s-%s)"
#: lib/libalpm/alpm.c:1136 lib/libalpm/sync.c:174
#: lib/libalpm/alpm.c:1127 lib/libalpm/sync.c:174
#, 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:1157 lib/libalpm/sync.c:211
#: lib/libalpm/alpm.c:1148 lib/libalpm/sync.c:211
#, c-format
msgid "'%s' not found in sync db -- skipping"
msgstr "'%s' non trouvé dans la liste de synchronisation -- ignoré"
#: lib/libalpm/alpm.c:1171 lib/libalpm/sync.c:225 lib/libalpm/sync.c:501
#: lib/libalpm/alpm.c:1162 lib/libalpm/sync.c:225 lib/libalpm/sync.c:499
#, c-format
msgid "'%s' is already elected for removal -- skipping"
msgstr "'%s' est déjà sélectionné pour retrait -- ignoré"
#: lib/libalpm/alpm.c:1177 lib/libalpm/sync.c:232
#: lib/libalpm/alpm.c:1168 lib/libalpm/sync.c:232
#, c-format
msgid "%s-%s elected for upgrade (%s => %s)"
msgstr "%s-%s sélectionné pour mise à jour (%s => %s)"
@ -491,45 +486,45 @@ msgstr "ouvre la base de donn
msgid "invalid name for dabatase entry '%s'"
msgstr "nom invalide pour l'entrée de base de données '%s'"
#: lib/libalpm/be_files.c:210
#: lib/libalpm/be_files.c:212
msgid "invalid package entry provided to _alpm_db_read, skipping"
msgstr ""
#: lib/libalpm/be_files.c:215
#: lib/libalpm/be_files.c:217
#, c-format
msgid ""
"request to read database info for a file-based package '%s', skipping..."
msgstr ""
#: lib/libalpm/be_files.c:223
#: lib/libalpm/be_files.c:225
#, c-format
msgid "loading package data for %s : level=%d"
msgstr ""
#: lib/libalpm/be_files.c:231
#: lib/libalpm/be_files.c:233
#, fuzzy, c-format
msgid "cannot find '%s-%s' in db '%s'"
msgstr "ne peut trouver %s dans la base de données"
#: lib/libalpm/be_files.c:239 lib/libalpm/be_files.c:383
#: lib/libalpm/be_files.c:406 lib/libalpm/be_files.c:494
#: lib/libalpm/be_files.c:580 lib/libalpm/be_files.c:607
#: lib/libalpm/package.c:194
#: lib/libalpm/be_files.c:241 lib/libalpm/be_files.c:391
#: lib/libalpm/be_files.c:414 lib/libalpm/be_files.c:502
#: lib/libalpm/be_files.c:591 lib/libalpm/be_files.c:618
#: lib/libalpm/package.c:197
#, fuzzy, c-format
msgid "could not open file %s: %s"
msgstr "ne peut ouvrir le fichier %s"
#: lib/libalpm/be_files.c:491
#: lib/libalpm/be_files.c:499
#, c-format
msgid "writing %s-%s DESC information back to db"
msgstr ""
#: lib/libalpm/be_files.c:577
#: lib/libalpm/be_files.c:588
#, c-format
msgid "writing %s-%s FILES information back to db"
msgstr ""
#: lib/libalpm/be_files.c:604
#: lib/libalpm/be_files.c:615
#, c-format
msgid "writing %s-%s DEPENDS information back to db"
msgstr ""
@ -594,11 +589,11 @@ msgstr "analyse des conflits: base de donnes compar
msgid "db vs targs: found %s as a conflict for %s"
msgstr "comparaison base de donnée / cibles: trouve %s en conflit avec %s"
#: lib/libalpm/conflict.c:250 lib/libalpm/conflict.c:350 lib/libalpm/deps.c:57
#: lib/libalpm/conflict.c:297 lib/libalpm/conflict.c:346 lib/libalpm/deps.c:57
#: lib/libalpm/deps.c:593 lib/libalpm/deps.c:633 lib/libalpm/group.c:43
#: lib/libalpm/handle.c:49 lib/libalpm/package.c:78 lib/libalpm/sync.c:65
#: lib/libalpm/sync.c:606 lib/libalpm/sync.c:622 lib/libalpm/sync.c:718
#: lib/libalpm/trans.c:49 lib/libalpm/util.c:599 lib/libalpm/util.c:606
#: lib/libalpm/sync.c:604 lib/libalpm/sync.c:620 lib/libalpm/sync.c:716
#: lib/libalpm/trans.c:49 lib/libalpm/util.c:607 lib/libalpm/util.c:614
#, c-format
msgid "malloc failure: could not allocate %d bytes"
msgstr "problème malloc: n'a pas pu allouer %d bytes"
@ -829,7 +824,7 @@ msgstr "transaction annul
msgid "operation not compatible with the transaction type"
msgstr "opération incompatible avec le type de transaction"
#: lib/libalpm/error.c:91 lib/libalpm/sync.c:984
#: lib/libalpm/error.c:91 lib/libalpm/sync.c:982
msgid "could not commit transaction"
msgstr "n'a pas pu appliquer la transaction"
@ -961,56 +956,56 @@ msgstr "version de paquet manquant dans %s"
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s-%s: la version locale est plus récente"
#: lib/libalpm/package.c:155
#: lib/libalpm/package.c:157
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: ignore la mise à jour du paquet (%s)"
#: lib/libalpm/package.c:160
#: lib/libalpm/package.c:162
#, fuzzy, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: repousse la mise à jour du paquet (%s)\n"
#: lib/libalpm/package.c:165
#: lib/libalpm/package.c:168
#, c-format
msgid "compare versions for %s: %s vs %s, result=%d"
msgstr ""
#: lib/libalpm/package.c:208 lib/libalpm/package.c:263
#: lib/libalpm/package.c:211 lib/libalpm/package.c:270
#, 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:337
#: lib/libalpm/package.c:344
msgid "could not parse the package description file"
msgstr "n'a pas pu analyser le fichier de description"
#: lib/libalpm/package.c:341
#: lib/libalpm/package.c:348
#, c-format
msgid "missing package name in %s"
msgstr "nom de paquet manquant dans %s"
#: lib/libalpm/package.c:345
#: lib/libalpm/package.c:352
#, c-format
msgid "missing package version in %s"
msgstr "version de paquet manquant dans %s"
#: lib/libalpm/package.c:380
#: lib/libalpm/package.c:387
#, c-format
msgid "could not remove tempfile %s"
msgstr "ne peut effacer le fichier temporaire %s"
#: lib/libalpm/package.c:393 lib/libalpm/package.c:400
#: lib/libalpm/package.c:400 lib/libalpm/package.c:407
#, fuzzy, c-format
msgid "error while reading package: %s"
msgstr "mise a jour du paquet %s-%s"
#: lib/libalpm/package.c:406
#: lib/libalpm/package.c:413
#, fuzzy
msgid "missing package metadata"
msgstr "nom de paquet manquant dans %s"
#: lib/libalpm/package.c:413
#: lib/libalpm/package.c:420
#, fuzzy, c-format
msgid "missing package filelist in %s, generating one"
msgstr "fichier d'information manquant dans le paquet %s"
@ -1039,81 +1034,81 @@ msgstr "ne peut trouver %s dans la base de donn
msgid "finding removable dependencies"
msgstr "trouve les dépendances dispensables"
#: lib/libalpm/remove.c:186
#: lib/libalpm/remove.c:178
#, fuzzy, c-format
msgid "cannot remove file '%s': %s"
msgstr "ne peut effacer le fichier %s"
#: lib/libalpm/remove.c:226
#: lib/libalpm/remove.c:218
#, c-format
msgid "file %s does not exist"
msgstr "le fichier %s n'existe pas"
#: lib/libalpm/remove.c:232
#: lib/libalpm/remove.c:224
#, c-format
msgid "keeping directory %s"
msgstr "conserve le répertoire %s"
#: lib/libalpm/remove.c:234
#: lib/libalpm/remove.c:226
#, c-format
msgid "removing directory %s"
msgstr "efface le répertoire %s"
#: lib/libalpm/remove.c:248
#: lib/libalpm/remove.c:240
#, c-format
msgid "skipping removal of %s as it has moved to another package"
msgstr "ignore l'effacement de %s car il a été déplacé dans un autre paquet"
#: lib/libalpm/remove.c:260
#: lib/libalpm/remove.c:252
#, c-format
msgid "%s saved as %s"
msgstr "%s sauve en tant que %s"
#: lib/libalpm/remove.c:264
#: lib/libalpm/remove.c:256
#, c-format
msgid "unlinking %s"
msgstr "suppression %s"
#: lib/libalpm/remove.c:271
#: lib/libalpm/remove.c:263
#, fuzzy, c-format
msgid "cannot remove file %s: %s"
msgstr "ne peut effacer le fichier %s"
#: lib/libalpm/remove.c:299
#: lib/libalpm/remove.c:291
#, c-format
msgid "removing package %s-%s"
msgstr "retrait du paquet %s-%s"
#: lib/libalpm/remove.c:311
#: lib/libalpm/remove.c:303
#, fuzzy, c-format
msgid "not removing package '%s', can't remove all files"
msgstr "résolution du conflit de paquet '%s'"
#: lib/libalpm/remove.c:317
#: lib/libalpm/remove.c:309
msgid "removing files"
msgstr "efface les fichiers"
#: lib/libalpm/remove.c:335
#: lib/libalpm/remove.c:327
#, c-format
msgid "removing database entry '%s'"
msgstr "ne peut effacer l'entrée de base de de données %s"
#: lib/libalpm/remove.c:337
#: lib/libalpm/remove.c:329
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "ne peut retirer l'entrée de base de donnée %s-%s"
#: lib/libalpm/remove.c:340
#: lib/libalpm/remove.c:332
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "ne peut retirer l'entrée '%s' du cache"
#: lib/libalpm/remove.c:374
#: lib/libalpm/remove.c:366
#, fuzzy, c-format
msgid "could not find dependency '%s' for removal"
msgstr "n'a pas pu trouver la dépendance '%s'"
#: lib/libalpm/remove.c:384
#: lib/libalpm/remove.c:376
#, c-format
msgid "updating 'requiredby' field for package '%s'"
msgstr "mise à jour du champ 'requit par' pour le paquet '%s'"
@ -1152,165 +1147,165 @@ msgstr "%s-%s est
msgid "adding target '%s' to the transaction set"
msgstr "ajout de la cible '%s' au jeu de transaction"
#: lib/libalpm/sync.c:400
#: lib/libalpm/sync.c:398
#, fuzzy
msgid "resolving target's dependencies"
msgstr "résolution des dépendances pour les cibles"
#: lib/libalpm/sync.c:420
#: lib/libalpm/sync.c:418
#, c-format
msgid "adding package %s-%s to the transaction targets"
msgstr "ajout du paquet %s-%s à la liste de transactions"
#: lib/libalpm/sync.c:455
#: lib/libalpm/sync.c:453
msgid "looking for unresolvable dependencies"
msgstr "recherche de dépendancea non soluble"
#: lib/libalpm/sync.c:486
#: lib/libalpm/sync.c:484
#, c-format
msgid "package '%s' is conflicting with '%s'"
msgstr "le paquet '%s' est en conflit avec '%s'"
#: lib/libalpm/sync.c:508
#: lib/libalpm/sync.c:506
#, c-format
msgid "'%s' not found in transaction set -- skipping"
msgstr "'%s' non trouve dans le jeu de transaction -- ignoré"
#: lib/libalpm/sync.c:519
#: lib/libalpm/sync.c:517
#, c-format
msgid "package '%s' provides its own conflict"
msgstr "le paquet '%s' génère son propre conflit"
#: lib/libalpm/sync.c:542 lib/libalpm/sync.c:547
#: lib/libalpm/sync.c:540 lib/libalpm/sync.c:545
#, 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:559 lib/libalpm/sync.c:596
#: lib/libalpm/sync.c:557 lib/libalpm/sync.c:594
#, c-format
msgid "removing '%s' from target list"
msgstr "retire '%s' de la liste de cibles"
#: lib/libalpm/sync.c:568
#: lib/libalpm/sync.c:566
#, c-format
msgid "resolving package '%s' conflict"
msgstr "résolution du conflit de paquet '%s'"
#: lib/libalpm/sync.c:591
#: lib/libalpm/sync.c:589
#, c-format
msgid "electing '%s' for removal"
msgstr "sélection de '%s' pour retrait"
#: lib/libalpm/sync.c:602 lib/libalpm/sync.c:618
#: lib/libalpm/sync.c:600 lib/libalpm/sync.c:616
msgid "unresolvable package conflicts detected"
msgstr "conflit de paquets non soluble détecté"
#: lib/libalpm/sync.c:670
#: lib/libalpm/sync.c:668
msgid "checking dependencies of packages designated for removal"
msgstr "analyse des dépendances pour les paquets marques à retirer"
#: lib/libalpm/sync.c:684
#: lib/libalpm/sync.c:682
msgid "something has gone horribly wrong"
msgstr "quelque chose s'est horriblement mal passé"
#: lib/libalpm/sync.c:703
#: lib/libalpm/sync.c:701
#, c-format
msgid "found '%s' as a provision for '%s' -- conflict aborted"
msgstr "trouvé '%s' comme disposition pour '%s' -- conflit annulé"
#: lib/libalpm/sync.c:799
#: lib/libalpm/sync.c:797
#, c-format
msgid "%s is already in the cache\n"
msgstr ""
#: lib/libalpm/sync.c:810
#: lib/libalpm/sync.c:808
#, c-format
msgid "no %s cache exists. creating...\n"
msgstr ""
#: lib/libalpm/sync.c:811
#: lib/libalpm/sync.c:809
#, c-format
msgid "warning: no %s cache exists. creating..."
msgstr ""
#: lib/libalpm/sync.c:816
#: lib/libalpm/sync.c:814
msgid "couldn't create package cache, using /tmp instead\n"
msgstr ""
#: lib/libalpm/sync.c:817
#: lib/libalpm/sync.c:815
msgid "warning: couldn't create package cache, using /tmp instead"
msgstr ""
#: lib/libalpm/sync.c:824
#: lib/libalpm/sync.c:822
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr ""
#: lib/libalpm/sync.c:853 lib/libalpm/sync.c:865
#: lib/libalpm/sync.c:851 lib/libalpm/sync.c:863
#, 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:884
#: lib/libalpm/sync.c:882
#, 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:886
#: lib/libalpm/sync.c:884
#, 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:907
#: lib/libalpm/sync.c:905
msgid "could not create removal transaction"
msgstr "n'a pas pu créer la transaction de retrait"
#: lib/libalpm/sync.c:913
#: lib/libalpm/sync.c:911
msgid "could not initialize the removal transaction"
msgstr "n'a pas pu initialiser la transaction de retrait"
#: lib/libalpm/sync.c:933
#: lib/libalpm/sync.c:931
msgid "removing conflicting and to-be-replaced packages"
msgstr "efface les paquets en conflit et ceux à remplacer"
#: lib/libalpm/sync.c:935
#: lib/libalpm/sync.c:933
msgid "could not prepare removal transaction"
msgstr "n'a pas pu préparer la transaction de retrait"
#: lib/libalpm/sync.c:941
#: lib/libalpm/sync.c:939
msgid "could not commit removal transaction"
msgstr "n'a pas pu appliquer la transaction de retrait"
#: lib/libalpm/sync.c:948
#: lib/libalpm/sync.c:946
msgid "installing packages"
msgstr "installe les paquets"
#: lib/libalpm/sync.c:951
#: lib/libalpm/sync.c:949
msgid "could not create transaction"
msgstr "n'a pas pu créer la transaction"
#: lib/libalpm/sync.c:956
#: lib/libalpm/sync.c:954
msgid "could not initialize transaction"
msgstr "n'a pas pu initialiser la transaction"
#: lib/libalpm/sync.c:979
#: lib/libalpm/sync.c:977
msgid "could not prepare transaction"
msgstr "n'a pas pu préparer la transaction"
#: lib/libalpm/sync.c:991
#: lib/libalpm/sync.c:989
msgid "updating database for replaced packages' dependencies"
msgstr ""
"mise a jour de la base de données concernant les dépendances de paquets "
"remplaces"
#: lib/libalpm/sync.c:1020
#: lib/libalpm/sync.c:1018
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr ""
"n'a pas pu mettre a jour les pré-requis pour l'entrée de base de données %s-%"
"s"
#: lib/libalpm/sync.c:1029
#: lib/libalpm/sync.c:1027
#, c-format
msgid "could not update new database entry %s-%s"
msgstr "n'a pu mettre a jour la nouvelle entrée de base de données %s-%s"
@ -1374,17 +1369,17 @@ msgstr "ex
msgid "call to popen failed (%s)"
msgstr "la demande de mise en attente du pid a échouée (%s)"
#: lib/libalpm/util.c:529
#: lib/libalpm/util.c:536
#, c-format
msgid "call to waitpid failed (%s)"
msgstr "la demande de mise en attente du pid a échouée (%s)"
#: lib/libalpm/util.c:537
#: lib/libalpm/util.c:545
#, c-format
msgid "could not remove tmpdir %s"
msgstr "n'a pas pu effacer tmpdir %s"
#: lib/libalpm/util.c:594
#: lib/libalpm/util.c:602
#, c-format
msgid "check_freespace: total pkg size: %lld, disk space: %lld"
msgstr ""
@ -1399,6 +1394,12 @@ msgstr ""
msgid "depcmp: %s-%s %s %s => %s"
msgstr ""
#~ 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"

View File

@ -8,7 +8,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-02-12 10:35-0500\n"
"POT-Creation-Date: 2007-02-14 14:32-0500\n"
"PO-Revision-Date: 2006-09-03 13:49+0200\n"
"Last-Translator: Miklos Vajna <vmiklos@frugalware.org>\n"
"MIME-Version: 1.0\n"
@ -45,7 +45,7 @@ msgstr "'%s' metaadat olvas
msgid "looking for unsatisfied dependencies"
msgstr "elégtelen függõségek keresése"
#: lib/libalpm/add.c:256 lib/libalpm/sync.c:475
#: lib/libalpm/add.c:256 lib/libalpm/sync.c:473
msgid "looking for conflicts"
msgstr "konfliktusok keresése"
@ -66,219 +66,214 @@ msgstr "f
msgid "upgrading package %s-%s"
msgstr "csomag frissítése: %s-%s"
#: lib/libalpm/add.c:404 lib/libalpm/conflict.c:288 lib/libalpm/conflict.c:318
#, c-format
msgid "loading FILES info for '%s'"
msgstr "a FILE infó betöltése a '%s' számára"
#: lib/libalpm/add.c:426
#: lib/libalpm/add.c:419
#, c-format
msgid "removing old package first (%s-%s)"
msgstr "elsõként a régi csomag eltávolítása (%s-%s)"
#: lib/libalpm/add.c:456
#: lib/libalpm/add.c:449
#, c-format
msgid "adding package %s-%s"
msgstr "csomag hozzáadása %s-%s"
#: lib/libalpm/add.c:467
#: lib/libalpm/add.c:460
#, c-format
msgid "adding new package %s-%s"
msgstr "új csomag hozzáadása %s-%s"
#: lib/libalpm/add.c:471
#: lib/libalpm/add.c:464
msgid "extracting files"
msgstr "fájlok kifejtése"
#: lib/libalpm/add.c:487 lib/libalpm/util.c:461
#: lib/libalpm/add.c:480 lib/libalpm/util.c:461
msgid "could not get current working directory"
msgstr "a jelenlegi munkakönyvtár nem kapható meg"
#: lib/libalpm/add.c:545
#: lib/libalpm/add.c:538
#, c-format
msgid "notice: %s is in NoExtract -- skipping extraction"
msgstr "figyelmeztetés: %s a NoExtractben van -- kifejtés kihagyása"
#: lib/libalpm/add.c:581 lib/libalpm/add.c:734
#: lib/libalpm/add.c:574 lib/libalpm/add.c:727
#, c-format
msgid "could not extract %s (%s)"
msgstr "nem sikerült kifejteni: %s (%s)"
#: lib/libalpm/add.c:624
#: lib/libalpm/add.c:617
#, c-format
msgid "checking md5 hashes for %s"
msgstr "md5 összegek vizsgálata a %s számára"
#: lib/libalpm/add.c:625 lib/libalpm/add.c:632
#: lib/libalpm/add.c:618 lib/libalpm/add.c:625
#, c-format
msgid "current: %s"
msgstr "jelenlegi: %s"
#: lib/libalpm/add.c:626 lib/libalpm/add.c:633
#: lib/libalpm/add.c:619 lib/libalpm/add.c:626
#, c-format
msgid "new: %s"
msgstr "új: %s"
#: lib/libalpm/add.c:628 lib/libalpm/add.c:635
#: lib/libalpm/add.c:621 lib/libalpm/add.c:628
#, c-format
msgid "original: %s"
msgstr "eredeti: %s"
#: lib/libalpm/add.c:631
#: lib/libalpm/add.c:624
#, c-format
msgid "checking sha1 hashes for %s"
msgstr "sha1 összegek vizsgálata a %s számára"
#: lib/libalpm/add.c:649
#: lib/libalpm/add.c:642
#, c-format
msgid "could not rename %s (%s)"
msgstr "nem sikerült átnevezni: %s (%s)"
#: lib/libalpm/add.c:650
#: lib/libalpm/add.c:643
#, c-format
msgid "error: could not rename %s (%s)"
msgstr "hiba: nem sikerült átnevezni: %s (%s)"
#: lib/libalpm/add.c:654 lib/libalpm/add.c:698
#: lib/libalpm/add.c:647 lib/libalpm/add.c:691
#, c-format
msgid "could not copy %s to %s (%s)"
msgstr "nem sikerült másolni: %s-t ide: %s (%s)"
#: lib/libalpm/add.c:655
#: lib/libalpm/add.c:648
#, c-format
msgid "error: could not copy %s to %s (%s)"
msgstr "hiba: nem sikerült másolni: %s-t ide: %s (%s)"
#: lib/libalpm/add.c:659
#: lib/libalpm/add.c:652
#, c-format
msgid "%s saved as %s.pacorig"
msgstr "a %s elmentve %s.pacorig néven"
#: lib/libalpm/add.c:660
#: lib/libalpm/add.c:653
#, c-format
msgid "warning: %s saved as %s"
msgstr "figyelmeztetés: a %s elmentve %s néven"
#: lib/libalpm/add.c:670 lib/libalpm/add.c:673 lib/libalpm/add.c:679
#: lib/libalpm/add.c:663 lib/libalpm/add.c:666 lib/libalpm/add.c:672
msgid "action: installing new file"
msgstr "folyamat: az új fájl telepítése"
#: lib/libalpm/add.c:677
#: lib/libalpm/add.c:670
msgid "action: leaving existing file in place"
msgstr "folyamat: a jelenlegi fájl megtartása"
#: lib/libalpm/add.c:683
#: lib/libalpm/add.c:676
msgid "action: keeping current file and installing new one with .pacnew ending"
msgstr ""
"folyamat: a jelenlegi fájl megtartása és az új .pacnew végzõdéssel való "
"telepítése"
#: lib/libalpm/add.c:687
#: lib/libalpm/add.c:680
#, c-format
msgid "could not install %s as %s: %s"
msgstr "nem sikerült telepíteni a %s-t %s-ként: %s"
#: lib/libalpm/add.c:688
#: lib/libalpm/add.c:681
#, c-format
msgid "error: could not install %s as %s: %s"
msgstr "hiba: nem sikerült telepíteni a %s-t %s-ként: %s"
#: lib/libalpm/add.c:690
#: lib/libalpm/add.c:683
#, c-format
msgid "%s installed as %s"
msgstr "a %s %s néven lett telepítve"
#: lib/libalpm/add.c:691
#: lib/libalpm/add.c:684
#, c-format
msgid "warning: %s installed as %s"
msgstr "figyelmeztetés: a %s néven %s lett telepítve"
#: lib/libalpm/add.c:696 lib/libalpm/add.c:716
#: lib/libalpm/add.c:689 lib/libalpm/add.c:709
#, c-format
msgid "extracting %s"
msgstr "a %s kifejtése"
#: lib/libalpm/add.c:718
#: lib/libalpm/add.c:711
#, c-format
msgid "%s is in NoUpgrade -- skipping"
msgstr "%s a NoUpgrade-ben van -- kihagyás"
#: lib/libalpm/add.c:720
#: lib/libalpm/add.c:713
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "%s kifejtése %s.pacnew néven"
#: lib/libalpm/add.c:721
#: lib/libalpm/add.c:714
#, c-format
msgid "warning: extracting %s%s as %s"
msgstr "figyelmeztetés: %s%s kifejtése %s.pacnew néven"
#: lib/libalpm/add.c:735
#: lib/libalpm/add.c:728
#, c-format
msgid "error: could not extract %s (%s)"
msgstr "hiba: nem sikerült kifejteni: %s (%s)"
#: lib/libalpm/add.c:745
#: lib/libalpm/add.c:738
msgid "appending backup entry"
msgstr "hozzáfûzés a biztonsági bejegyzéshez"
#: lib/libalpm/add.c:776 lib/libalpm/add.c:778
#: lib/libalpm/add.c:769 lib/libalpm/add.c:771
#, c-format
msgid "errors occurred while %s %s"
msgstr "hiba %s közben: %s"
#: lib/libalpm/add.c:777 lib/libalpm/add.c:779
#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
msgid "upgrading"
msgstr "frissítés"
#: lib/libalpm/add.c:777 lib/libalpm/add.c:779
#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
msgid "installing"
msgstr "telepítés"
#: lib/libalpm/add.c:800 lib/libalpm/add.c:856
#: lib/libalpm/add.c:793 lib/libalpm/add.c:849
#, c-format
msgid "adding '%s' in requiredby field for '%s'"
msgstr "a '%s' hozzáadása \"függ tõle\" mezõként a '%s' számára"
#: lib/libalpm/add.c:811 lib/libalpm/remove.c:334
#: lib/libalpm/add.c:804 lib/libalpm/remove.c:326
msgid "updating database"
msgstr "az adatbázis frissítése"
#: lib/libalpm/add.c:812
#: lib/libalpm/add.c:805
#, c-format
msgid "adding database entry '%s'"
msgstr "adatbázis mezõ hozzáadása '%s'"
#: lib/libalpm/add.c:814
#: lib/libalpm/add.c:807
#, c-format
msgid "could not update database entry %s-%s"
msgstr "sikertelen a '%s-%s' adatbázis-bejegyzés frissítése"
#: lib/libalpm/add.c:816
#: lib/libalpm/add.c:809
#, c-format
msgid "error updating database for %s-%s!"
msgstr "hiba a %s-%s adatbázis-frissítése során"
#: lib/libalpm/add.c:820
#: lib/libalpm/add.c:813
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "sikertelen a '%s' bejegyzés hozzáadása a gyorsítótárhoz"
#: lib/libalpm/add.c:826 lib/libalpm/remove.c:344
#: lib/libalpm/add.c:819 lib/libalpm/remove.c:336
msgid "updating dependency packages 'requiredby' fields"
msgstr "a függõ csomagok 'függ tõle' mezõjének frissítése"
#: lib/libalpm/add.c:848
#: lib/libalpm/add.c:841
#, c-format
msgid "could not find dependency '%s'"
msgstr "nem található a '%s' függõség"
#: lib/libalpm/add.c:859 lib/libalpm/remove.c:386
#: lib/libalpm/add.c:852 lib/libalpm/remove.c:378
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr "sikertelen a %s-%s 'függ tõle' adatbázis-bejegyzésének frissítése"
#: lib/libalpm/add.c:885 lib/libalpm/remove.c:399 lib/libalpm/sync.c:1045
#: lib/libalpm/add.c:878 lib/libalpm/remove.c:391 lib/libalpm/sync.c:1043
#, c-format
msgid "running \"ldconfig -r %s\""
msgstr "az \"ldconfig -r %s\" futtatása"
@ -340,149 +335,149 @@ msgstr "sikertelen a %s/%s adatb
#: lib/libalpm/alpm.c:479
#, fuzzy, c-format
msgid "could not get sha1 checksum for package %s-%s"
msgid "could not get sha1sum for package %s-%s"
msgstr "sikertelen az sha1 ellenõrzõ összeg elérése a %s-%s csomag számára\n"
#: lib/libalpm/alpm.c:485 lib/libalpm/alpm.c:534
#, c-format
msgid "loading DESC info for '%s'"
msgstr "a DESC infó betöltése a '%s' számára"
#: lib/libalpm/alpm.c:490 lib/libalpm/alpm.c:539
#, c-format
msgid "checksums for package %s-%s are matching"
#: lib/libalpm/alpm.c:485
#, fuzzy, c-format
msgid "sha1sums for package %s-%s match"
msgstr "a %s-%s csomag ellenõrzõ összegei megegyeznek"
#: lib/libalpm/alpm.c:493
#: lib/libalpm/alpm.c:488
#, fuzzy, c-format
msgid "sha1sums do not match for package %s-%s"
msgstr "%s-%s csomag sha1 ellenõrzõ összegei nem egyeznek meg\n"
#: lib/libalpm/alpm.c:528
#: lib/libalpm/alpm.c:523
#, fuzzy, c-format
msgid "could not get md5 checksum for package %s-%s"
msgid "could not get md5sum for package %s-%s"
msgstr "sikertelen az md5 ellenõrzõ összeg elérése a %s-%s csomag számára\n"
#: lib/libalpm/alpm.c:542
#: lib/libalpm/alpm.c:529
#, fuzzy, c-format
msgid "md5sums for package %s-%s match"
msgstr "a %s-%s csomag ellenõrzõ összegei megegyeznek"
#: lib/libalpm/alpm.c:532
#, fuzzy, c-format
msgid "md5sums do not match for package %s-%s"
msgstr "%s-%s csomag md5 ellenõrzõ összegei nem egyeznek meg\n"
#: lib/libalpm/alpm.c:790
#: lib/libalpm/alpm.c:781
#, c-format
msgid "could not remove lock file %s"
msgstr "nem sikerült a zároló fájl (%s) eltávolítása"
#: lib/libalpm/alpm.c:791
#: lib/libalpm/alpm.c:782
#, c-format
msgid "warning: could not remove lock file %s"
msgstr "figyelmeztetés: nem sikerült a zároló fájl (%s) eltávolítása"
#: lib/libalpm/alpm.c:926
#: lib/libalpm/alpm.c:917
#, fuzzy, c-format
msgid "config: new section '%s'"
msgstr "beállítások: új szekció '%s'\n"
#: lib/libalpm/alpm.c:955
#: lib/libalpm/alpm.c:946
#, fuzzy
msgid "config: nopassiveftp"
msgstr "beállítások: nem fog frissülni: %s\n"
#: lib/libalpm/alpm.c:958
#: lib/libalpm/alpm.c:949
#, fuzzy
msgid "config: usesyslog"
msgstr "beállítások: syslog használata\n"
#: lib/libalpm/alpm.c:961
#: lib/libalpm/alpm.c:952
#, fuzzy
msgid "config: chomp"
msgstr "beállítások: ez a csomag mindenképp meg lesz tartva: %s\n"
#: lib/libalpm/alpm.c:964
#: lib/libalpm/alpm.c:955
#, fuzzy
msgid "config: usecolor"
msgstr "beállítások: syslog használata\n"
#: lib/libalpm/alpm.c:973
#: lib/libalpm/alpm.c:964
#, fuzzy, c-format
msgid "config: including %s"
msgstr "beállítások: a %s beolvasása\n"
#: lib/libalpm/alpm.c:983 lib/libalpm/alpm.c:988
#: lib/libalpm/alpm.c:974 lib/libalpm/alpm.c:979
#, fuzzy, c-format
msgid "config: noupgrade: %s"
msgstr "beállítások: nem fog frissülni: %s\n"
#: lib/libalpm/alpm.c:996 lib/libalpm/alpm.c:1001
#: lib/libalpm/alpm.c:987 lib/libalpm/alpm.c:992
#, fuzzy, c-format
msgid "config: noextract: %s"
msgstr "nem sikerült kifejteni: %s\n"
#: lib/libalpm/alpm.c:1009 lib/libalpm/alpm.c:1014
#: lib/libalpm/alpm.c:1000 lib/libalpm/alpm.c:1005
#, fuzzy, c-format
msgid "config: ignorepkg: %s"
msgstr "beállítások: a %s csomag figyelmen kívül hagyása\n"
#: lib/libalpm/alpm.c:1022 lib/libalpm/alpm.c:1027
#: lib/libalpm/alpm.c:1013 lib/libalpm/alpm.c:1018
#, fuzzy, c-format
msgid "config: holdpkg: %s"
msgstr "beállítások: ez a csomag mindenképp meg lesz tartva: %s\n"
#: lib/libalpm/alpm.c:1034
#: lib/libalpm/alpm.c:1025
#, fuzzy, c-format
msgid "config: dbpath: %s"
msgstr "beállítások: adatbázis útvonala: %s\n"
#: lib/libalpm/alpm.c:1041
#: lib/libalpm/alpm.c:1032
#, fuzzy, c-format
msgid "config: cachedir: %s"
msgstr "beállítások: gyorsítótár könyvtára: %s\n"
#: lib/libalpm/alpm.c:1044
#: lib/libalpm/alpm.c:1035
#, fuzzy, c-format
msgid "config: logfile: %s"
msgstr "beállítások: naplófájl: %s\n"
#: lib/libalpm/alpm.c:1047
#: lib/libalpm/alpm.c:1038
#, fuzzy, c-format
msgid "config: xfercommand: %s"
msgstr "beállítások: gyorsítótár könyvtára: %s\n"
#: lib/libalpm/alpm.c:1052
#: lib/libalpm/alpm.c:1043
#, fuzzy, c-format
msgid "config: upgradedelay: %d"
msgstr "beállítások: frissítés késleltetése: %i\n"
#: lib/libalpm/alpm.c:1091 lib/libalpm/sync.c:129 lib/libalpm/sync.c:197
#: lib/libalpm/alpm.c:1082 lib/libalpm/sync.c:129 lib/libalpm/sync.c:197
msgid "checking for package replacements"
msgstr "csomagcserék ellenõrzése"
#: lib/libalpm/alpm.c:1100 lib/libalpm/sync.c:138
#: lib/libalpm/alpm.c:1091 lib/libalpm/sync.c:138
#, c-format
msgid "checking replacement '%s' for package '%s'"
msgstr "csere vizsgálata: '%s' -> '%s'"
#: lib/libalpm/alpm.c:1102 lib/libalpm/sync.c:140
#: lib/libalpm/alpm.c:1093 lib/libalpm/sync.c:140
#, c-format
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
msgstr "%s-%s: frissítés figyelmen kívül hagyása (a %s-%s fogja lecserélni)"
#: lib/libalpm/alpm.c:1136 lib/libalpm/sync.c:174
#: lib/libalpm/alpm.c:1127 lib/libalpm/sync.c:174
#, c-format
msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
msgstr "a %s-%s kiválasztva frissítésre (a %s-%s fogja lecserélni)"
#: lib/libalpm/alpm.c:1157 lib/libalpm/sync.c:211
#: lib/libalpm/alpm.c:1148 lib/libalpm/sync.c:211
#, c-format
msgid "'%s' not found in sync db -- skipping"
msgstr "a '%s' nem található a távoli adatbázisban -- kihagyás"
#: lib/libalpm/alpm.c:1171 lib/libalpm/sync.c:225 lib/libalpm/sync.c:501
#: lib/libalpm/alpm.c:1162 lib/libalpm/sync.c:225 lib/libalpm/sync.c:499
#, c-format
msgid "'%s' is already elected for removal -- skipping"
msgstr "a '%s' már kijelölve eltávolításra -- kihagyás"
#: lib/libalpm/alpm.c:1177 lib/libalpm/sync.c:232
#: lib/libalpm/alpm.c:1168 lib/libalpm/sync.c:232
#, c-format
msgid "%s-%s elected for upgrade (%s => %s)"
msgstr "%s-%s kiválasztva frissítésre (%s => %s)"
@ -497,45 +492,45 @@ msgstr "adatb
msgid "invalid name for dabatase entry '%s'"
msgstr "érvénytelen név a '%s' adatbázis-bejegyzés számára"
#: lib/libalpm/be_files.c:210
#: lib/libalpm/be_files.c:212
msgid "invalid package entry provided to _alpm_db_read, skipping"
msgstr ""
#: lib/libalpm/be_files.c:215
#: lib/libalpm/be_files.c:217
#, c-format
msgid ""
"request to read database info for a file-based package '%s', skipping..."
msgstr ""
#: lib/libalpm/be_files.c:223
#: lib/libalpm/be_files.c:225
#, c-format
msgid "loading package data for %s : level=%d"
msgstr ""
#: lib/libalpm/be_files.c:231
#: lib/libalpm/be_files.c:233
#, fuzzy, c-format
msgid "cannot find '%s-%s' in db '%s'"
msgstr "nem található a %s az adatbázisban"
#: lib/libalpm/be_files.c:239 lib/libalpm/be_files.c:383
#: lib/libalpm/be_files.c:406 lib/libalpm/be_files.c:494
#: lib/libalpm/be_files.c:580 lib/libalpm/be_files.c:607
#: lib/libalpm/package.c:194
#: lib/libalpm/be_files.c:241 lib/libalpm/be_files.c:391
#: lib/libalpm/be_files.c:414 lib/libalpm/be_files.c:502
#: lib/libalpm/be_files.c:591 lib/libalpm/be_files.c:618
#: lib/libalpm/package.c:197
#, fuzzy, c-format
msgid "could not open file %s: %s"
msgstr "nem sikerült megnyitni a %s fájlt"
#: lib/libalpm/be_files.c:491
#: lib/libalpm/be_files.c:499
#, c-format
msgid "writing %s-%s DESC information back to db"
msgstr ""
#: lib/libalpm/be_files.c:577
#: lib/libalpm/be_files.c:588
#, c-format
msgid "writing %s-%s FILES information back to db"
msgstr ""
#: lib/libalpm/be_files.c:604
#: lib/libalpm/be_files.c:615
#, c-format
msgid "writing %s-%s DEPENDS information back to db"
msgstr ""
@ -600,11 +595,11 @@ msgstr "checkconflicts: db vs c
msgid "db vs targs: found %s as a conflict for %s"
msgstr "db vs targs: a %s ütközik a következõvel: %s"
#: lib/libalpm/conflict.c:250 lib/libalpm/conflict.c:350 lib/libalpm/deps.c:57
#: lib/libalpm/conflict.c:297 lib/libalpm/conflict.c:346 lib/libalpm/deps.c:57
#: lib/libalpm/deps.c:593 lib/libalpm/deps.c:633 lib/libalpm/group.c:43
#: lib/libalpm/handle.c:49 lib/libalpm/package.c:78 lib/libalpm/sync.c:65
#: lib/libalpm/sync.c:606 lib/libalpm/sync.c:622 lib/libalpm/sync.c:718
#: lib/libalpm/trans.c:49 lib/libalpm/util.c:599 lib/libalpm/util.c:606
#: lib/libalpm/sync.c:604 lib/libalpm/sync.c:620 lib/libalpm/sync.c:716
#: lib/libalpm/trans.c:49 lib/libalpm/util.c:607 lib/libalpm/util.c:614
#, c-format
msgid "malloc failure: could not allocate %d bytes"
msgstr "malloc probléma: nem sikerült allokálni %d byte-ot"
@ -834,7 +829,7 @@ msgstr "a tranzakci
msgid "operation not compatible with the transaction type"
msgstr "a mûvelet nem egyeztethetõ össze a jelenlegi tranzakciótípussal"
#: lib/libalpm/error.c:91 lib/libalpm/sync.c:984
#: lib/libalpm/error.c:91 lib/libalpm/sync.c:982
#, fuzzy
msgid "could not commit transaction"
msgstr "nem sikerült létrehozni az adatbázist"
@ -970,56 +965,56 @@ msgstr "hi
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s-%s: a helyi verzió újabb"
#: lib/libalpm/package.c:155
#: lib/libalpm/package.c:157
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: a csomagfrissítés figyelmen kívül hagyása (%s)"
#: lib/libalpm/package.c:160
#: lib/libalpm/package.c:162
#, fuzzy, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: a csomag frissítésének késleltetése (%s)\n"
#: lib/libalpm/package.c:165
#: lib/libalpm/package.c:168
#, c-format
msgid "compare versions for %s: %s vs %s, result=%d"
msgstr ""
#: lib/libalpm/package.c:208 lib/libalpm/package.c:263
#: lib/libalpm/package.c:211 lib/libalpm/package.c:270
#, c-format
msgid "%s: syntax error in description file line %d"
msgstr "%s: szintaktikai hiba a leírófájl %d. sorában"
#: lib/libalpm/package.c:337
#: lib/libalpm/package.c:344
msgid "could not parse the package description file"
msgstr "nem sikerült értelmezni a csomagleíró fájlt"
#: lib/libalpm/package.c:341
#: lib/libalpm/package.c:348
#, c-format
msgid "missing package name in %s"
msgstr "hiányzó csomagnév itt: %s"
#: lib/libalpm/package.c:345
#: lib/libalpm/package.c:352
#, c-format
msgid "missing package version in %s"
msgstr "hiányzó csomagverzió itt: %s"
#: lib/libalpm/package.c:380
#: lib/libalpm/package.c:387
#, c-format
msgid "could not remove tempfile %s"
msgstr "nem sikerült eltávolítani a %s ideiglenes fájlt"
#: lib/libalpm/package.c:393 lib/libalpm/package.c:400
#: lib/libalpm/package.c:400 lib/libalpm/package.c:407
#, fuzzy, c-format
msgid "error while reading package: %s"
msgstr "csomag frissítése: %s-%s"
#: lib/libalpm/package.c:406
#: lib/libalpm/package.c:413
#, fuzzy
msgid "missing package metadata"
msgstr "hiányzó csomagnév itt: %s"
#: lib/libalpm/package.c:413
#: lib/libalpm/package.c:420
#, fuzzy, c-format
msgid "missing package filelist in %s, generating one"
msgstr "hiányzó csomaginformáció-fájl ebben: %s"
@ -1048,81 +1043,81 @@ msgstr "nem tal
msgid "finding removable dependencies"
msgstr "eltávolítható függõségek keresése"
#: lib/libalpm/remove.c:186
#: lib/libalpm/remove.c:178
#, fuzzy, c-format
msgid "cannot remove file '%s': %s"
msgstr "nem sikerült eltávolítani a %s fájlt"
#: lib/libalpm/remove.c:226
#: lib/libalpm/remove.c:218
#, c-format
msgid "file %s does not exist"
msgstr "a %s fájl nemlétezik"
#: lib/libalpm/remove.c:232
#: lib/libalpm/remove.c:224
#, c-format
msgid "keeping directory %s"
msgstr "a %s könyvtár megtartása"
#: lib/libalpm/remove.c:234
#: lib/libalpm/remove.c:226
#, c-format
msgid "removing directory %s"
msgstr "a %s könyvtár törlése"
#: lib/libalpm/remove.c:248
#: lib/libalpm/remove.c:240
#, c-format
msgid "skipping removal of %s as it has moved to another package"
msgstr "a %s törlésének kihagyása, mivel az egy másik csomagba került át"
#: lib/libalpm/remove.c:260
#: lib/libalpm/remove.c:252
#, c-format
msgid "%s saved as %s"
msgstr "a %s elmentve %s néven"
#: lib/libalpm/remove.c:264
#: lib/libalpm/remove.c:256
#, c-format
msgid "unlinking %s"
msgstr "a %s törlése"
#: lib/libalpm/remove.c:271
#: lib/libalpm/remove.c:263
#, fuzzy, c-format
msgid "cannot remove file %s: %s"
msgstr "nem sikerült eltávolítani a %s fájlt"
#: lib/libalpm/remove.c:299
#: lib/libalpm/remove.c:291
#, c-format
msgid "removing package %s-%s"
msgstr "a %s-%s csomag eltávolítása"
#: lib/libalpm/remove.c:311
#: lib/libalpm/remove.c:303
#, fuzzy, c-format
msgid "not removing package '%s', can't remove all files"
msgstr "a %s-%s csomag eltávolítása"
#: lib/libalpm/remove.c:317
#: lib/libalpm/remove.c:309
msgid "removing files"
msgstr "fájlok törlése"
#: lib/libalpm/remove.c:335
#: lib/libalpm/remove.c:327
#, c-format
msgid "removing database entry '%s'"
msgstr "a '%s' adatbázis-bejegyzés eltávolítása"
#: lib/libalpm/remove.c:337
#: lib/libalpm/remove.c:329
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "nem sikerült eltávolítani a %s-%s adatbázis-bejegyzést"
#: lib/libalpm/remove.c:340
#: lib/libalpm/remove.c:332
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "nem sikerült eltávolítani a '%s' bejegyzést a gyorsítótárból"
#: lib/libalpm/remove.c:374
#: lib/libalpm/remove.c:366
#, fuzzy, c-format
msgid "could not find dependency '%s' for removal"
msgstr "nem található a '%s' függõség"
#: lib/libalpm/remove.c:384
#: lib/libalpm/remove.c:376
#, c-format
msgid "updating 'requiredby' field for package '%s'"
msgstr "a '%s' csomag 'függ tõle' mezõjének frissítése"
@ -1161,166 +1156,166 @@ msgstr "%s-%s naprak
msgid "adding target '%s' to the transaction set"
msgstr "a '%s' cél hozzáadása a tranzakcióhoz"
#: lib/libalpm/sync.c:400
#: lib/libalpm/sync.c:398
#, fuzzy
msgid "resolving target's dependencies"
msgstr "a célok függõségeinek feloldása"
#: lib/libalpm/sync.c:420
#: lib/libalpm/sync.c:418
#, c-format
msgid "adding package %s-%s to the transaction targets"
msgstr "a %s-%s csomag hozzáadása a tranzakció céljaihoz"
#: lib/libalpm/sync.c:455
#: lib/libalpm/sync.c:453
msgid "looking for unresolvable dependencies"
msgstr "feloldhatatlan függõségek keresése"
#: lib/libalpm/sync.c:486
#: lib/libalpm/sync.c:484
#, c-format
msgid "package '%s' is conflicting with '%s'"
msgstr ""
#: lib/libalpm/sync.c:508
#: lib/libalpm/sync.c:506
#, fuzzy, c-format
msgid "'%s' not found in transaction set -- skipping"
msgstr "a '%s' nem található a távoli adatbázisban -- kihagyás"
#: lib/libalpm/sync.c:519
#: lib/libalpm/sync.c:517
#, c-format
msgid "package '%s' provides its own conflict"
msgstr ""
#: lib/libalpm/sync.c:542 lib/libalpm/sync.c:547
#: lib/libalpm/sync.c:540 lib/libalpm/sync.c:545
#, fuzzy, c-format
msgid "'%s' is in the target list -- keeping it"
msgstr "az újabb verzió (%s-%s) már elérhetõ a cél listában -- kihagyás"
#: lib/libalpm/sync.c:559 lib/libalpm/sync.c:596
#: lib/libalpm/sync.c:557 lib/libalpm/sync.c:594
#, fuzzy, c-format
msgid "removing '%s' from target list"
msgstr "a '%s' bejegyzés eltávolítása a '%s' gyorsítótárból"
#: lib/libalpm/sync.c:568
#: lib/libalpm/sync.c:566
#, fuzzy, c-format
msgid "resolving package '%s' conflict"
msgstr "a %s-%s csomag eltávolítása"
#: lib/libalpm/sync.c:591
#: lib/libalpm/sync.c:589
#, c-format
msgid "electing '%s' for removal"
msgstr ""
#: lib/libalpm/sync.c:602 lib/libalpm/sync.c:618
#: lib/libalpm/sync.c:600 lib/libalpm/sync.c:616
msgid "unresolvable package conflicts detected"
msgstr ""
#: lib/libalpm/sync.c:670
#: lib/libalpm/sync.c:668
msgid "checking dependencies of packages designated for removal"
msgstr ""
#: lib/libalpm/sync.c:684
#: lib/libalpm/sync.c:682
msgid "something has gone horribly wrong"
msgstr ""
#: lib/libalpm/sync.c:703
#: lib/libalpm/sync.c:701
#, fuzzy, c-format
msgid "found '%s' as a provision for '%s' -- conflict aborted"
msgstr "a '%s' szolgáltatja a következõt: '%s'"
#: lib/libalpm/sync.c:799
#: lib/libalpm/sync.c:797
#, c-format
msgid "%s is already in the cache\n"
msgstr ""
#: lib/libalpm/sync.c:810
#: lib/libalpm/sync.c:808
#, c-format
msgid "no %s cache exists. creating...\n"
msgstr ""
#: lib/libalpm/sync.c:811
#: lib/libalpm/sync.c:809
#, c-format
msgid "warning: no %s cache exists. creating..."
msgstr ""
#: lib/libalpm/sync.c:816
#: lib/libalpm/sync.c:814
msgid "couldn't create package cache, using /tmp instead\n"
msgstr ""
#: lib/libalpm/sync.c:817
#: lib/libalpm/sync.c:815
msgid "warning: couldn't create package cache, using /tmp instead"
msgstr ""
#: lib/libalpm/sync.c:824
#: lib/libalpm/sync.c:822
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr ""
#: lib/libalpm/sync.c:853 lib/libalpm/sync.c:865
#: lib/libalpm/sync.c:851 lib/libalpm/sync.c:863
#, fuzzy, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr "sikertelen az sha1 ellenõrzõ összeg elérése a %s-%s csomag számára\n"
#: lib/libalpm/sync.c:884
#: lib/libalpm/sync.c:882
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
#: lib/libalpm/sync.c:886
#: lib/libalpm/sync.c:884
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
#: lib/libalpm/sync.c:907
#: lib/libalpm/sync.c:905
#, fuzzy
msgid "could not create removal transaction"
msgstr "nem sikerült létrehozni az adatbázist"
#: lib/libalpm/sync.c:913
#: lib/libalpm/sync.c:911
msgid "could not initialize the removal transaction"
msgstr ""
#: lib/libalpm/sync.c:933
#: lib/libalpm/sync.c:931
msgid "removing conflicting and to-be-replaced packages"
msgstr ""
#: lib/libalpm/sync.c:935
#: lib/libalpm/sync.c:933
#, fuzzy
msgid "could not prepare removal transaction"
msgstr "nem sikerült létrehozni az adatbázist"
#: lib/libalpm/sync.c:941
#: lib/libalpm/sync.c:939
msgid "could not commit removal transaction"
msgstr ""
#: lib/libalpm/sync.c:948
#: lib/libalpm/sync.c:946
#, fuzzy
msgid "installing packages"
msgstr "telepítés"
#: lib/libalpm/sync.c:951
#: lib/libalpm/sync.c:949
#, fuzzy
msgid "could not create transaction"
msgstr "nem sikerült létrehozni az adatbázist"
#: lib/libalpm/sync.c:956
#: lib/libalpm/sync.c:954
msgid "could not initialize transaction"
msgstr ""
#: lib/libalpm/sync.c:979
#: lib/libalpm/sync.c:977
#, fuzzy
msgid "could not prepare transaction"
msgstr "értelmezhetetlen token %s"
#: lib/libalpm/sync.c:991
#: lib/libalpm/sync.c:989
msgid "updating database for replaced packages' dependencies"
msgstr ""
#: lib/libalpm/sync.c:1020
#: lib/libalpm/sync.c:1018
#, fuzzy, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr "sikertelen a %s-%s 'függ tõle' adatbázis-bejegyzésének frissítése"
#: lib/libalpm/sync.c:1029
#: lib/libalpm/sync.c:1027
#, fuzzy, c-format
msgid "could not update new database entry %s-%s"
msgstr "sikertelen a '%s-%s' adatbázis-bejegyzés frissítése"
@ -1385,17 +1380,17 @@ msgstr "a %s kifejt
msgid "call to popen failed (%s)"
msgstr "nem sikerült megnyitni a %s fájlt"
#: lib/libalpm/util.c:529
#: lib/libalpm/util.c:536
#, c-format
msgid "call to waitpid failed (%s)"
msgstr ""
#: lib/libalpm/util.c:537
#: lib/libalpm/util.c:545
#, fuzzy, c-format
msgid "could not remove tmpdir %s"
msgstr "nem sikerült eltávolítani a %s ideiglenes fájlt"
#: lib/libalpm/util.c:594
#: lib/libalpm/util.c:602
#, c-format
msgid "check_freespace: total pkg size: %lld, disk space: %lld"
msgstr ""
@ -1410,6 +1405,12 @@ msgstr ""
msgid "depcmp: %s-%s %s %s => %s"
msgstr ""
#~ msgid "loading FILES info for '%s'"
#~ msgstr "a FILE infó betöltése a '%s' számára"
#~ msgid "loading DESC info for '%s'"
#~ msgstr "a DESC infó betöltése a '%s' számára"
#~ msgid "syntax error"
#~ msgstr "szintaktikai hiba"

View File

@ -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-02-12 10:35-0500\n"
"POT-Creation-Date: 2007-02-14 14:32-0500\n"
"PO-Revision-Date: 2007-02-06 20:16-0500\n"
"Last-Translator: Dan McGee <pacman-dev@archlinux.org>\n"
"MIME-Version: 1.0\n"
@ -44,7 +44,7 @@ msgstr ""
msgid "looking for unsatisfied dependencies"
msgstr ""
#: lib/libalpm/add.c:256 lib/libalpm/sync.c:475
#: lib/libalpm/add.c:256 lib/libalpm/sync.c:473
msgid "looking for conflicts"
msgstr ""
@ -65,217 +65,212 @@ msgstr ""
msgid "upgrading package %s-%s"
msgstr ""
#: lib/libalpm/add.c:404 lib/libalpm/conflict.c:288 lib/libalpm/conflict.c:318
#, c-format
msgid "loading FILES info for '%s'"
msgstr ""
#: lib/libalpm/add.c:426
#: lib/libalpm/add.c:419
#, c-format
msgid "removing old package first (%s-%s)"
msgstr ""
#: lib/libalpm/add.c:456
#: lib/libalpm/add.c:449
#, c-format
msgid "adding package %s-%s"
msgstr ""
#: lib/libalpm/add.c:467
#: lib/libalpm/add.c:460
#, c-format
msgid "adding new package %s-%s"
msgstr ""
#: lib/libalpm/add.c:471
#: lib/libalpm/add.c:464
msgid "extracting files"
msgstr ""
#: lib/libalpm/add.c:487 lib/libalpm/util.c:461
#: lib/libalpm/add.c:480 lib/libalpm/util.c:461
msgid "could not get current working directory"
msgstr ""
#: lib/libalpm/add.c:545
#: lib/libalpm/add.c:538
#, c-format
msgid "notice: %s is in NoExtract -- skipping extraction"
msgstr ""
#: lib/libalpm/add.c:581 lib/libalpm/add.c:734
#: lib/libalpm/add.c:574 lib/libalpm/add.c:727
#, c-format
msgid "could not extract %s (%s)"
msgstr ""
#: lib/libalpm/add.c:624
#: lib/libalpm/add.c:617
#, c-format
msgid "checking md5 hashes for %s"
msgstr ""
#: lib/libalpm/add.c:625 lib/libalpm/add.c:632
#: lib/libalpm/add.c:618 lib/libalpm/add.c:625
#, c-format
msgid "current: %s"
msgstr ""
#: lib/libalpm/add.c:626 lib/libalpm/add.c:633
#: lib/libalpm/add.c:619 lib/libalpm/add.c:626
#, c-format
msgid "new: %s"
msgstr ""
#: lib/libalpm/add.c:628 lib/libalpm/add.c:635
#: lib/libalpm/add.c:621 lib/libalpm/add.c:628
#, c-format
msgid "original: %s"
msgstr ""
#: lib/libalpm/add.c:631
#: lib/libalpm/add.c:624
#, c-format
msgid "checking sha1 hashes for %s"
msgstr ""
#: lib/libalpm/add.c:649
#: lib/libalpm/add.c:642
#, c-format
msgid "could not rename %s (%s)"
msgstr ""
#: lib/libalpm/add.c:650
#: lib/libalpm/add.c:643
#, c-format
msgid "error: could not rename %s (%s)"
msgstr ""
#: lib/libalpm/add.c:654 lib/libalpm/add.c:698
#: lib/libalpm/add.c:647 lib/libalpm/add.c:691
#, c-format
msgid "could not copy %s to %s (%s)"
msgstr ""
#: lib/libalpm/add.c:655
#: lib/libalpm/add.c:648
#, c-format
msgid "error: could not copy %s to %s (%s)"
msgstr ""
#: lib/libalpm/add.c:659
#: lib/libalpm/add.c:652
#, c-format
msgid "%s saved as %s.pacorig"
msgstr ""
#: lib/libalpm/add.c:660
#: lib/libalpm/add.c:653
#, c-format
msgid "warning: %s saved as %s"
msgstr ""
#: lib/libalpm/add.c:670 lib/libalpm/add.c:673 lib/libalpm/add.c:679
#: lib/libalpm/add.c:663 lib/libalpm/add.c:666 lib/libalpm/add.c:672
msgid "action: installing new file"
msgstr ""
#: lib/libalpm/add.c:677
#: lib/libalpm/add.c:670
msgid "action: leaving existing file in place"
msgstr ""
#: lib/libalpm/add.c:683
#: lib/libalpm/add.c:676
msgid "action: keeping current file and installing new one with .pacnew ending"
msgstr ""
#: lib/libalpm/add.c:687
#: lib/libalpm/add.c:680
#, c-format
msgid "could not install %s as %s: %s"
msgstr ""
#: lib/libalpm/add.c:688
#: lib/libalpm/add.c:681
#, c-format
msgid "error: could not install %s as %s: %s"
msgstr ""
#: lib/libalpm/add.c:690
#: lib/libalpm/add.c:683
#, c-format
msgid "%s installed as %s"
msgstr ""
#: lib/libalpm/add.c:691
#: lib/libalpm/add.c:684
#, c-format
msgid "warning: %s installed as %s"
msgstr ""
#: lib/libalpm/add.c:696 lib/libalpm/add.c:716
#: lib/libalpm/add.c:689 lib/libalpm/add.c:709
#, c-format
msgid "extracting %s"
msgstr ""
#: lib/libalpm/add.c:718
#: lib/libalpm/add.c:711
#, c-format
msgid "%s is in NoUpgrade -- skipping"
msgstr ""
#: lib/libalpm/add.c:720
#: lib/libalpm/add.c:713
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr ""
#: lib/libalpm/add.c:721
#: lib/libalpm/add.c:714
#, c-format
msgid "warning: extracting %s%s as %s"
msgstr ""
#: lib/libalpm/add.c:735
#: lib/libalpm/add.c:728
#, c-format
msgid "error: could not extract %s (%s)"
msgstr ""
#: lib/libalpm/add.c:745
#: lib/libalpm/add.c:738
msgid "appending backup entry"
msgstr ""
#: lib/libalpm/add.c:776 lib/libalpm/add.c:778
#: lib/libalpm/add.c:769 lib/libalpm/add.c:771
#, c-format
msgid "errors occurred while %s %s"
msgstr ""
#: lib/libalpm/add.c:777 lib/libalpm/add.c:779
#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
msgid "upgrading"
msgstr ""
#: lib/libalpm/add.c:777 lib/libalpm/add.c:779
#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
msgid "installing"
msgstr ""
#: lib/libalpm/add.c:800 lib/libalpm/add.c:856
#: lib/libalpm/add.c:793 lib/libalpm/add.c:849
#, c-format
msgid "adding '%s' in requiredby field for '%s'"
msgstr ""
#: lib/libalpm/add.c:811 lib/libalpm/remove.c:334
#: lib/libalpm/add.c:804 lib/libalpm/remove.c:326
msgid "updating database"
msgstr ""
#: lib/libalpm/add.c:812
#: lib/libalpm/add.c:805
#, c-format
msgid "adding database entry '%s'"
msgstr ""
#: lib/libalpm/add.c:814
#: lib/libalpm/add.c:807
#, c-format
msgid "could not update database entry %s-%s"
msgstr ""
#: lib/libalpm/add.c:816
#: lib/libalpm/add.c:809
#, c-format
msgid "error updating database for %s-%s!"
msgstr ""
#: lib/libalpm/add.c:820
#: lib/libalpm/add.c:813
#, c-format
msgid "could not add entry '%s' in cache"
msgstr ""
#: lib/libalpm/add.c:826 lib/libalpm/remove.c:344
#: lib/libalpm/add.c:819 lib/libalpm/remove.c:336
msgid "updating dependency packages 'requiredby' fields"
msgstr ""
#: lib/libalpm/add.c:848
#: lib/libalpm/add.c:841
#, c-format
msgid "could not find dependency '%s'"
msgstr ""
#: lib/libalpm/add.c:859 lib/libalpm/remove.c:386
#: lib/libalpm/add.c:852 lib/libalpm/remove.c:378
#, c-format
msgid "could not update 'requiredby' database entry %s-%s"
msgstr ""
#: lib/libalpm/add.c:885 lib/libalpm/remove.c:399 lib/libalpm/sync.c:1045
#: lib/libalpm/add.c:878 lib/libalpm/remove.c:391 lib/libalpm/sync.c:1043
#, c-format
msgid "running \"ldconfig -r %s\""
msgstr ""
@ -333,145 +328,145 @@ msgstr ""
#: lib/libalpm/alpm.c:479
#, c-format
msgid "could not get sha1 checksum for package %s-%s"
msgid "could not get sha1sum for package %s-%s"
msgstr ""
#: lib/libalpm/alpm.c:485 lib/libalpm/alpm.c:534
#: lib/libalpm/alpm.c:485
#, c-format
msgid "loading DESC info for '%s'"
msgid "sha1sums for package %s-%s match"
msgstr ""
#: lib/libalpm/alpm.c:490 lib/libalpm/alpm.c:539
#, c-format
msgid "checksums for package %s-%s are matching"
msgstr ""
#: lib/libalpm/alpm.c:493
#: lib/libalpm/alpm.c:488
#, c-format
msgid "sha1sums do not match for package %s-%s"
msgstr ""
#: lib/libalpm/alpm.c:528
#: lib/libalpm/alpm.c:523
#, c-format
msgid "could not get md5 checksum for package %s-%s"
msgid "could not get md5sum for package %s-%s"
msgstr ""
#: lib/libalpm/alpm.c:542
#: lib/libalpm/alpm.c:529
#, c-format
msgid "md5sums for package %s-%s match"
msgstr ""
#: lib/libalpm/alpm.c:532
#, c-format
msgid "md5sums do not match for package %s-%s"
msgstr ""
#: lib/libalpm/alpm.c:790
#: lib/libalpm/alpm.c:781
#, c-format
msgid "could not remove lock file %s"
msgstr ""
#: lib/libalpm/alpm.c:791
#: lib/libalpm/alpm.c:782
#, c-format
msgid "warning: could not remove lock file %s"
msgstr ""
#: lib/libalpm/alpm.c:926
#: lib/libalpm/alpm.c:917
#, c-format
msgid "config: new section '%s'"
msgstr ""
#: lib/libalpm/alpm.c:955
#: lib/libalpm/alpm.c:946
msgid "config: nopassiveftp"
msgstr ""
#: lib/libalpm/alpm.c:958
#: lib/libalpm/alpm.c:949
msgid "config: usesyslog"
msgstr ""
#: lib/libalpm/alpm.c:961
#: lib/libalpm/alpm.c:952
msgid "config: chomp"
msgstr ""
#: lib/libalpm/alpm.c:964
#: lib/libalpm/alpm.c:955
msgid "config: usecolor"
msgstr ""
#: lib/libalpm/alpm.c:973
#: lib/libalpm/alpm.c:964
#, c-format
msgid "config: including %s"
msgstr ""
#: lib/libalpm/alpm.c:983 lib/libalpm/alpm.c:988
#: lib/libalpm/alpm.c:974 lib/libalpm/alpm.c:979
#, c-format
msgid "config: noupgrade: %s"
msgstr ""
#: lib/libalpm/alpm.c:996 lib/libalpm/alpm.c:1001
#: lib/libalpm/alpm.c:987 lib/libalpm/alpm.c:992
#, c-format
msgid "config: noextract: %s"
msgstr ""
#: lib/libalpm/alpm.c:1009 lib/libalpm/alpm.c:1014
#: lib/libalpm/alpm.c:1000 lib/libalpm/alpm.c:1005
#, c-format
msgid "config: ignorepkg: %s"
msgstr ""
#: lib/libalpm/alpm.c:1022 lib/libalpm/alpm.c:1027
#: lib/libalpm/alpm.c:1013 lib/libalpm/alpm.c:1018
#, c-format
msgid "config: holdpkg: %s"
msgstr ""
#: lib/libalpm/alpm.c:1034
#: lib/libalpm/alpm.c:1025
#, c-format
msgid "config: dbpath: %s"
msgstr ""
#: lib/libalpm/alpm.c:1041
#: lib/libalpm/alpm.c:1032
#, c-format
msgid "config: cachedir: %s"
msgstr ""
#: lib/libalpm/alpm.c:1044
#: lib/libalpm/alpm.c:1035
#, c-format
msgid "config: logfile: %s"
msgstr ""
#: lib/libalpm/alpm.c:1047
#: lib/libalpm/alpm.c:1038
#, c-format
msgid "config: xfercommand: %s"
msgstr ""
#: lib/libalpm/alpm.c:1052
#: lib/libalpm/alpm.c:1043
#, c-format
msgid "config: upgradedelay: %d"
msgstr ""
#: lib/libalpm/alpm.c:1091 lib/libalpm/sync.c:129 lib/libalpm/sync.c:197
#: lib/libalpm/alpm.c:1082 lib/libalpm/sync.c:129 lib/libalpm/sync.c:197
msgid "checking for package replacements"
msgstr ""
#: lib/libalpm/alpm.c:1100 lib/libalpm/sync.c:138
#: lib/libalpm/alpm.c:1091 lib/libalpm/sync.c:138
#, c-format
msgid "checking replacement '%s' for package '%s'"
msgstr ""
#: lib/libalpm/alpm.c:1102 lib/libalpm/sync.c:140
#: lib/libalpm/alpm.c:1093 lib/libalpm/sync.c:140
#, c-format
msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)"
msgstr ""
#: lib/libalpm/alpm.c:1136 lib/libalpm/sync.c:174
#: lib/libalpm/alpm.c:1127 lib/libalpm/sync.c:174
#, c-format
msgid "%s-%s elected for upgrade (to be replaced by %s-%s)"
msgstr ""
#: lib/libalpm/alpm.c:1157 lib/libalpm/sync.c:211
#: lib/libalpm/alpm.c:1148 lib/libalpm/sync.c:211
#, c-format
msgid "'%s' not found in sync db -- skipping"
msgstr ""
#: lib/libalpm/alpm.c:1171 lib/libalpm/sync.c:225 lib/libalpm/sync.c:501
#: lib/libalpm/alpm.c:1162 lib/libalpm/sync.c:225 lib/libalpm/sync.c:499
#, c-format
msgid "'%s' is already elected for removal -- skipping"
msgstr ""
#: lib/libalpm/alpm.c:1177 lib/libalpm/sync.c:232
#: lib/libalpm/alpm.c:1168 lib/libalpm/sync.c:232
#, c-format
msgid "%s-%s elected for upgrade (%s => %s)"
msgstr ""
@ -486,45 +481,45 @@ msgstr ""
msgid "invalid name for dabatase entry '%s'"
msgstr ""
#: lib/libalpm/be_files.c:210
#: lib/libalpm/be_files.c:212
msgid "invalid package entry provided to _alpm_db_read, skipping"
msgstr ""
#: lib/libalpm/be_files.c:215
#: lib/libalpm/be_files.c:217
#, c-format
msgid ""
"request to read database info for a file-based package '%s', skipping..."
msgstr ""
#: lib/libalpm/be_files.c:223
#: lib/libalpm/be_files.c:225
#, c-format
msgid "loading package data for %s : level=%d"
msgstr ""
#: lib/libalpm/be_files.c:231
#: lib/libalpm/be_files.c:233
#, c-format
msgid "cannot find '%s-%s' in db '%s'"
msgstr ""
#: lib/libalpm/be_files.c:239 lib/libalpm/be_files.c:383
#: lib/libalpm/be_files.c:406 lib/libalpm/be_files.c:494
#: lib/libalpm/be_files.c:580 lib/libalpm/be_files.c:607
#: lib/libalpm/package.c:194
#: lib/libalpm/be_files.c:241 lib/libalpm/be_files.c:391
#: lib/libalpm/be_files.c:414 lib/libalpm/be_files.c:502
#: lib/libalpm/be_files.c:591 lib/libalpm/be_files.c:618
#: lib/libalpm/package.c:197
#, c-format
msgid "could not open file %s: %s"
msgstr ""
#: lib/libalpm/be_files.c:491
#: lib/libalpm/be_files.c:499
#, c-format
msgid "writing %s-%s DESC information back to db"
msgstr ""
#: lib/libalpm/be_files.c:577
#: lib/libalpm/be_files.c:588
#, c-format
msgid "writing %s-%s FILES information back to db"
msgstr ""
#: lib/libalpm/be_files.c:604
#: lib/libalpm/be_files.c:615
#, c-format
msgid "writing %s-%s DEPENDS information back to db"
msgstr ""
@ -589,11 +584,11 @@ msgstr ""
msgid "db vs targs: found %s as a conflict for %s"
msgstr ""
#: lib/libalpm/conflict.c:250 lib/libalpm/conflict.c:350 lib/libalpm/deps.c:57
#: lib/libalpm/conflict.c:297 lib/libalpm/conflict.c:346 lib/libalpm/deps.c:57
#: lib/libalpm/deps.c:593 lib/libalpm/deps.c:633 lib/libalpm/group.c:43
#: lib/libalpm/handle.c:49 lib/libalpm/package.c:78 lib/libalpm/sync.c:65
#: lib/libalpm/sync.c:606 lib/libalpm/sync.c:622 lib/libalpm/sync.c:718
#: lib/libalpm/trans.c:49 lib/libalpm/util.c:599 lib/libalpm/util.c:606
#: lib/libalpm/sync.c:604 lib/libalpm/sync.c:620 lib/libalpm/sync.c:716
#: lib/libalpm/trans.c:49 lib/libalpm/util.c:607 lib/libalpm/util.c:614
#, c-format
msgid "malloc failure: could not allocate %d bytes"
msgstr ""
@ -818,7 +813,7 @@ msgstr ""
msgid "operation not compatible with the transaction type"
msgstr ""
#: lib/libalpm/error.c:91 lib/libalpm/sync.c:984
#: lib/libalpm/error.c:91 lib/libalpm/sync.c:982
msgid "could not commit transaction"
msgstr ""
@ -945,55 +940,55 @@ msgstr ""
msgid "%s: local (%s) is newer than %s (%s)"
msgstr ""
#: lib/libalpm/package.c:155
#: lib/libalpm/package.c:157
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr ""
#: lib/libalpm/package.c:160
#: lib/libalpm/package.c:162
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr ""
#: lib/libalpm/package.c:165
#: lib/libalpm/package.c:168
#, c-format
msgid "compare versions for %s: %s vs %s, result=%d"
msgstr ""
#: lib/libalpm/package.c:208 lib/libalpm/package.c:263
#: lib/libalpm/package.c:211 lib/libalpm/package.c:270
#, c-format
msgid "%s: syntax error in description file line %d"
msgstr ""
#: lib/libalpm/package.c:337
#: lib/libalpm/package.c:344
msgid "could not parse the package description file"
msgstr ""
#: lib/libalpm/package.c:341
#: lib/libalpm/package.c:348
#, c-format
msgid "missing package name in %s"
msgstr ""
#: lib/libalpm/package.c:345
#: lib/libalpm/package.c:352
#, c-format
msgid "missing package version in %s"
msgstr ""
#: lib/libalpm/package.c:380
#: lib/libalpm/package.c:387
#, c-format
msgid "could not remove tempfile %s"
msgstr ""
#: lib/libalpm/package.c:393 lib/libalpm/package.c:400
#: lib/libalpm/package.c:400 lib/libalpm/package.c:407
#, c-format
msgid "error while reading package: %s"
msgstr ""
#: lib/libalpm/package.c:406
#: lib/libalpm/package.c:413
msgid "missing package metadata"
msgstr ""
#: lib/libalpm/package.c:413
#: lib/libalpm/package.c:420
#, c-format
msgid "missing package filelist in %s, generating one"
msgstr ""
@ -1022,81 +1017,81 @@ msgstr ""
msgid "finding removable dependencies"
msgstr ""
#: lib/libalpm/remove.c:186
#: lib/libalpm/remove.c:178
#, c-format
msgid "cannot remove file '%s': %s"
msgstr ""
#: lib/libalpm/remove.c:226
#: lib/libalpm/remove.c:218
#, c-format
msgid "file %s does not exist"
msgstr ""
#: lib/libalpm/remove.c:232
#: lib/libalpm/remove.c:224
#, c-format
msgid "keeping directory %s"
msgstr ""
#: lib/libalpm/remove.c:234
#: lib/libalpm/remove.c:226
#, c-format
msgid "removing directory %s"
msgstr ""
#: lib/libalpm/remove.c:248
#: lib/libalpm/remove.c:240
#, c-format
msgid "skipping removal of %s as it has moved to another package"
msgstr ""
#: lib/libalpm/remove.c:260
#: lib/libalpm/remove.c:252
#, c-format
msgid "%s saved as %s"
msgstr ""
#: lib/libalpm/remove.c:264
#: lib/libalpm/remove.c:256
#, c-format
msgid "unlinking %s"
msgstr ""
#: lib/libalpm/remove.c:271
#: lib/libalpm/remove.c:263
#, c-format
msgid "cannot remove file %s: %s"
msgstr ""
#: lib/libalpm/remove.c:299
#: lib/libalpm/remove.c:291
#, c-format
msgid "removing package %s-%s"
msgstr ""
#: lib/libalpm/remove.c:311
#: lib/libalpm/remove.c:303
#, c-format
msgid "not removing package '%s', can't remove all files"
msgstr ""
#: lib/libalpm/remove.c:317
#: lib/libalpm/remove.c:309
msgid "removing files"
msgstr ""
#: lib/libalpm/remove.c:335
#: lib/libalpm/remove.c:327
#, c-format
msgid "removing database entry '%s'"
msgstr ""
#: lib/libalpm/remove.c:337
#: lib/libalpm/remove.c:329
#, c-format
msgid "could not remove database entry %s-%s"
msgstr ""
#: lib/libalpm/remove.c:340
#: lib/libalpm/remove.c:332
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr ""
#: lib/libalpm/remove.c:374
#: lib/libalpm/remove.c:366
#, c-format
msgid "could not find dependency '%s' for removal"
msgstr ""
#: lib/libalpm/remove.c:384
#: lib/libalpm/remove.c:376
#, c-format
msgid "updating 'requiredby' field for package '%s'"
msgstr ""
@ -1135,160 +1130,160 @@ msgstr ""
msgid "adding target '%s' to the transaction set"
msgstr ""
#: lib/libalpm/sync.c:400
#: lib/libalpm/sync.c:398
msgid "resolving target's dependencies"
msgstr ""
#: lib/libalpm/sync.c:420
#: lib/libalpm/sync.c:418
#, c-format
msgid "adding package %s-%s to the transaction targets"
msgstr ""
#: lib/libalpm/sync.c:455
#: lib/libalpm/sync.c:453
msgid "looking for unresolvable dependencies"
msgstr ""
#: lib/libalpm/sync.c:486
#: lib/libalpm/sync.c:484
#, c-format
msgid "package '%s' is conflicting with '%s'"
msgstr ""
#: lib/libalpm/sync.c:508
#: lib/libalpm/sync.c:506
#, c-format
msgid "'%s' not found in transaction set -- skipping"
msgstr ""
#: lib/libalpm/sync.c:519
#: lib/libalpm/sync.c:517
#, c-format
msgid "package '%s' provides its own conflict"
msgstr ""
#: lib/libalpm/sync.c:542 lib/libalpm/sync.c:547
#: lib/libalpm/sync.c:540 lib/libalpm/sync.c:545
#, c-format
msgid "'%s' is in the target list -- keeping it"
msgstr ""
#: lib/libalpm/sync.c:559 lib/libalpm/sync.c:596
#: lib/libalpm/sync.c:557 lib/libalpm/sync.c:594
#, c-format
msgid "removing '%s' from target list"
msgstr ""
#: lib/libalpm/sync.c:568
#: lib/libalpm/sync.c:566
#, c-format
msgid "resolving package '%s' conflict"
msgstr ""
#: lib/libalpm/sync.c:591
#: lib/libalpm/sync.c:589
#, c-format
msgid "electing '%s' for removal"
msgstr ""
#: lib/libalpm/sync.c:602 lib/libalpm/sync.c:618
#: lib/libalpm/sync.c:600 lib/libalpm/sync.c:616
msgid "unresolvable package conflicts detected"
msgstr ""
#: lib/libalpm/sync.c:670
#: lib/libalpm/sync.c:668
msgid "checking dependencies of packages designated for removal"
msgstr ""
#: lib/libalpm/sync.c:684
#: lib/libalpm/sync.c:682
msgid "something has gone horribly wrong"
msgstr ""
#: lib/libalpm/sync.c:703
#: lib/libalpm/sync.c:701
#, c-format
msgid "found '%s' as a provision for '%s' -- conflict aborted"
msgstr ""
#: lib/libalpm/sync.c:799
#: lib/libalpm/sync.c:797
#, c-format
msgid "%s is already in the cache\n"
msgstr ""
#: lib/libalpm/sync.c:810
#: lib/libalpm/sync.c:808
#, c-format
msgid "no %s cache exists. creating...\n"
msgstr ""
#: lib/libalpm/sync.c:811
#: lib/libalpm/sync.c:809
#, c-format
msgid "warning: no %s cache exists. creating..."
msgstr ""
#: lib/libalpm/sync.c:816
#: lib/libalpm/sync.c:814
msgid "couldn't create package cache, using /tmp instead\n"
msgstr ""
#: lib/libalpm/sync.c:817
#: lib/libalpm/sync.c:815
msgid "warning: couldn't create package cache, using /tmp instead"
msgstr ""
#: lib/libalpm/sync.c:824
#: lib/libalpm/sync.c:822
#, c-format
msgid "failed to retrieve some files from %s\n"
msgstr ""
#: lib/libalpm/sync.c:853 lib/libalpm/sync.c:865
#: lib/libalpm/sync.c:851 lib/libalpm/sync.c:863
#, c-format
msgid "can't get md5 or sha1 checksum for package %s\n"
msgstr ""
#: lib/libalpm/sync.c:884
#: lib/libalpm/sync.c:882
#, c-format
msgid "archive %s was corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
#: lib/libalpm/sync.c:886
#: lib/libalpm/sync.c:884
#, c-format
msgid "archive %s is corrupted (bad MD5 or SHA1 checksum)\n"
msgstr ""
#: lib/libalpm/sync.c:907
#: lib/libalpm/sync.c:905
msgid "could not create removal transaction"
msgstr ""
#: lib/libalpm/sync.c:913
#: lib/libalpm/sync.c:911
msgid "could not initialize the removal transaction"
msgstr ""
#: lib/libalpm/sync.c:933
#: lib/libalpm/sync.c:931
msgid "removing conflicting and to-be-replaced packages"
msgstr ""
#: lib/libalpm/sync.c:935
#: lib/libalpm/sync.c:933
msgid "could not prepare removal transaction"
msgstr ""
#: lib/libalpm/sync.c:941
#: lib/libalpm/sync.c:939
msgid "could not commit removal transaction"
msgstr ""
#: lib/libalpm/sync.c:948
#: lib/libalpm/sync.c:946
msgid "installing packages"
msgstr ""
#: lib/libalpm/sync.c:951
#: lib/libalpm/sync.c:949
msgid "could not create transaction"
msgstr ""
#: lib/libalpm/sync.c:956
#: lib/libalpm/sync.c:954
msgid "could not initialize transaction"
msgstr ""
#: lib/libalpm/sync.c:979
#: lib/libalpm/sync.c:977
msgid "could not prepare transaction"
msgstr ""
#: lib/libalpm/sync.c:991
#: lib/libalpm/sync.c:989
msgid "updating database for replaced packages' dependencies"
msgstr ""
#: lib/libalpm/sync.c:1020
#: lib/libalpm/sync.c:1018
#, c-format
msgid "could not update requiredby for database entry %s-%s"
msgstr ""
#: lib/libalpm/sync.c:1029
#: lib/libalpm/sync.c:1027
#, c-format
msgid "could not update new database entry %s-%s"
msgstr ""
@ -1352,17 +1347,17 @@ msgstr ""
msgid "call to popen failed (%s)"
msgstr ""
#: lib/libalpm/util.c:529
#: lib/libalpm/util.c:536
#, c-format
msgid "call to waitpid failed (%s)"
msgstr ""
#: lib/libalpm/util.c:537
#: lib/libalpm/util.c:545
#, c-format
msgid "could not remove tmpdir %s"
msgstr ""
#: lib/libalpm/util.c:594
#: lib/libalpm/util.c:602
#, c-format
msgid "check_freespace: total pkg size: %lld, disk space: %lld"
msgstr ""

View File

@ -193,31 +193,35 @@ static void unlink_file(pmpkg_t *info, alpm_list_t *lp, alpm_list_t *targ,
pmtrans_t *trans, int filenum, int *position)
{
struct stat buf;
int nb = 0;
int needbackup = 0;
double percent = 0.0;
char file[PATH_MAX+1];
char *checksum = _alpm_needbackup(lp->data, info->backup);
ALPM_LOG_FUNC;
if(*position != 0) {
percent = (double)*position / filenum;
}
if(checksum) {
nb = 1;
FREE(checksum);
char *hash = _alpm_needbackup(lp->data, info->backup);
if(hash) {
needbackup = 1;
FREE(hash);
}
if(!nb && trans->type == PM_TRANS_TYPE_UPGRADE) {
if(!needbackup && trans->type == PM_TRANS_TYPE_UPGRADE) {
/* check noupgrade */
if(alpm_list_find_str(handle->noupgrade, lp->data)) {
nb = 1;
needbackup = 1;
}
}
snprintf(file, PATH_MAX, "%s%s", handle->root, (char *)lp->data);
if(lstat(file, &buf)) {
_alpm_log(PM_LOG_DEBUG, _("file %s does not exist"), file);
return;
}
if(S_ISDIR(buf.st_mode)) {
if(rmdir(file)) {
/* this is okay, other pakcages are probably using it (like /usr) */
@ -239,29 +243,27 @@ static void unlink_file(pmpkg_t *info, alpm_list_t *lp, alpm_list_t *targ,
if(skipit) {
_alpm_log(PM_LOG_WARNING, _("skipping removal of %s as it has moved to another package"),
file);
} else {
} else if(needbackup) {
/* if the file is flagged, back it up to .pacsave */
if(nb) {
if(!(trans->type == PM_TRANS_TYPE_UPGRADE)) {
/* if it was an upgrade, the file would be left alone because
* pacman_add() would handle it */
if(!(trans->type & 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);
}
if(!(trans->type == PM_TRANS_TYPE_UPGRADE)) {
/* if it was an upgrade, the file would be left alone because
* pacman_add() would handle it */
if(!(trans->type & 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);
}
} else {
_alpm_log(PM_LOG_DEBUG, _("unlinking %s"), file);
int list_count = alpm_list_count(trans->packages); /* this way we don't have to call alpm_list_count twice during PROGRESS */
}
} else {
_alpm_log(PM_LOG_DEBUG, _("unlinking %s"), 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);
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));
}
if(unlink(file) == -1) {
_alpm_log(PM_LOG_ERROR, _("cannot remove file %s: %s"), lp->data, strerror(errno));
}
}
}
@ -333,54 +335,9 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
}
/* update dependency packages' REQUIREDBY fields */
_alpm_log(PM_LOG_DEBUG, _("updating dependency packages 'requiredby' fields"));
for(lp = info->depends; lp; lp = lp->next) {
pmpkg_t *depinfo = NULL;
pmdepend_t depend;
void *vdata;
char *data;
if(_alpm_splitdep((char*)lp->data, &depend)) {
continue;
}
/* if this dependency is in the transaction targets, no need to update
* its requiredby info: it is in the process of being removed (if not
* already done!)
*/
if(_alpm_pkg_isin(depend.name, trans->packages)) {
continue;
}
depinfo = _alpm_db_get_pkgfromcache(db, depend.name);
if(depinfo == NULL) {
/* look for a provides package */
alpm_list_t *provides = _alpm_db_whatprovides(db, depend.name);
if(provides) {
/* TODO: should check _all_ packages listed in provides, not just
* the first one.
*/
/* use the first one */
depinfo = _alpm_db_get_pkgfromcache(db, ((pmpkg_t *)provides->data)->name);
FREELISTPTR(provides);
}
if(depinfo == NULL) {
/* dep not installed... that's fine, carry on */
_alpm_log(PM_LOG_DEBUG, _("could not find dependency '%s' for removal"), depend.name);
continue;
}
}
/* Ensure package has the appropriate data */
_alpm_db_read(db, INFRQ_DEPENDS, depinfo);
/* splice out this entry from requiredby */
depinfo->requiredby = alpm_list_remove(depinfo->requiredby, info->name, _alpm_str_cmp, &vdata);
data = vdata;
FREE(data);
_alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"), depinfo->name);
if(_alpm_db_write(db, depinfo, INFRQ_DEPENDS)) {
_alpm_log(PM_LOG_ERROR, _("could not update 'requiredby' database entry %s-%s"),
depinfo->name, depinfo->version);
}
}
_alpm_pkg_update_depends(info, 1 /*is a remove*/);
PROGRESS(trans, PM_TRANS_PROGRESS_REMOVE_START, info->name, 100, alpm_list_count(trans->packages), (alpm_list_count(trans->packages) - alpm_list_count(targ) +1));
PROGRESS(trans, PM_TRANS_PROGRESS_REMOVE_START, info->name, 100, alpm_list_count(trans->packages), (alpm_list_count(trans->packages) - alpm_list_count(targ) +1));
if(trans->type != PM_TRANS_TYPE_UPGRADE) {
EVENT(trans, PM_TRANS_EVT_REMOVE_DONE, info, NULL);
}

View File

@ -62,6 +62,11 @@ void log_progress(const char *filename, int xfered, int total)
return;
}
/* XXX: big fat hack: due to the fact that we switch out printf/pm_fprintf,
* not everything honors our 'neednl' newline hackery. This forces a newline
* if we need one before drawing the progress bar */
MSG(NL,NULL);
/* this is basically a switch on xferred: 0, total, and anything else */
if(xfered == 0) {
/* set default starting values */

View File

@ -113,6 +113,10 @@ void pm_fprintf(FILE *file, unsigned short line, char *fmt, ...)
neednl = 0;
}
if(!fmt) {
return;
}
va_start(args, fmt);
vsnprintf(str, LOG_STR_LEN, fmt, args);
va_end(args);

View File

@ -287,6 +287,11 @@ void cb_trans_progress(pmtransprog_t event, char *pkgname, const int percent,
return;
}
/* XXX: big fat hack: due to the fact that we switch out printf/pm_fprintf,
* not everything honors our 'neednl' newline hackery. This forces a newline
* if we need one before drawing the progress bar */
MSG(NL,NULL);
if(percent == 0) {
set_output_padding(1); /* turn on output padding with ' ' */
timediff = get_update_timediff(1);