summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Griffin <aaron@archlinux.org>2007-02-17 09:55:05 +0100
committerAaron Griffin <aaron@archlinux.org>2007-02-17 09:55:05 +0100
commit92ad5565128d4e6546437b2f28e90cced7c11e03 (patch)
treed49354ac84ce414df3108bae105a57800178b96d
parent1dff742de81f37eccda914167f05415bfe2abff0 (diff)
downloadpacman-92ad5565128d4e6546437b2f28e90cced7c11e03.tar.gz
pacman-92ad5565128d4e6546437b2f28e90cced7c11e03.tar.xz
* 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
-rw-r--r--.cvsignore1
-rw-r--r--lib/libalpm/add.c670
-rw-r--r--lib/libalpm/backup.c4
-rw-r--r--lib/libalpm/backup.h2
-rw-r--r--lib/libalpm/package.c114
-rw-r--r--lib/libalpm/package.h2
-rw-r--r--lib/libalpm/po/de.po33
-rw-r--r--lib/libalpm/po/fr.po337
-rw-r--r--lib/libalpm/po/hu.po337
-rw-r--r--lib/libalpm/po/pt_BR.po325
-rw-r--r--lib/libalpm/remove.c103
-rw-r--r--src/pacman/downloadprog.c5
-rw-r--r--src/pacman/log.c4
-rw-r--r--src/pacman/trans.c5
14 files changed, 1001 insertions, 941 deletions
diff --git a/.cvsignore b/.cvsignore
index 23755d83..331b068d 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -8,6 +8,7 @@ config.h
config.h.in
config.log
config.status
+config.rpath
config.sub
configure
depcomp
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index 9a683b39..ac53ace9 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -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);
-
- /* 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);
- }
+ pmpkg_t *local = _alpm_db_get_pkgfromcache(db, newpkg->name);
+ if(local) {
+ is_upgrade = 1;
+
+ EVENT(trans, PM_TRANS_EVT_UPGRADE_START, newpkg, NULL);
+ _alpm_log(PM_LOG_DEBUG, _("upgrading package %s-%s"), newpkg->name, newpkg->version);
+
+ /* we'll need to save some record for backup checks later */
+ oldpkg = _alpm_pkg_new(local->name, local->version);
+ if(oldpkg) {
+ oldpkg->backup = alpm_list_strdup(alpm_pkg_get_backup(local));
+ strncpy(oldpkg->name, local->name, PKG_NAME_LEN);
+ strncpy(oldpkg->version, local->version, PKG_VERSION_LEN);
+ } else {
+ RET_ERR(PM_ERR_MEMORY, -1);
+ }
- /* copy over the install reason */
- info->reason = alpm_pkg_get_reason(local);
+ /* copy over the install reason */
+ newpkg->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);
- }
+ /* 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 {
+ is_upgrade = 0;
- 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);
- }
- } else {
- /* no previous package version is installed, so this is actually
- * just an install. */
- pmo_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(!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);
+
+ 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);
}
- 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);
+ 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);
}
- } else {
- _alpm_log(PM_LOG_DEBUG, _("adding new package %s-%s"), info->name, info->version);
}
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));
-
- 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];
+ PROGRESS(trans, (is_upgrade ? PM_TRANS_PROGRESS_UPGRADE_START : PM_TRANS_PROGRESS_ADD_START),
+ newpkg->name, 0, pkg_count, (pkg_count - targ_count +1));
+
+ for(i = 0; archive_read_next_header(archive, &entry) == ARCHIVE_OK; i++) {
+ const char *entryname; /* the name of the file in the archive */
+ char filename[PATH_MAX]; /* the actual file we're extracting */
+ int needbackup = 0, notouch = 0;
+ char *hash_orig = NULL;
struct stat buf;
- 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(use_md5) {
+ hash_local = _alpm_MDFile(filename);
+ hash_pkg = _alpm_MDFile(tempfile);
+ } else {
+ hash_local = _alpm_SHAFile(filename);
+ hash_pkg = _alpm_SHAFile(tempfile);
}
- 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);
+ /* 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;
}
- } 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);
+ char *backup = NULL;
+ int backup_len = strlen(lp->data) + 2; /* tab char and null byte */
+
+ if(use_md5) {
+ backup_len += 32; /* MD5s are 32 chars in length */
+ } else {
+ backup_len += 40; /* SHA1s are 40 chars in length */
+ }
+
+ backup = malloc(backup_len);
+ if(!backup) {
+ RET_ERR(PM_ERR_MEMORY, -1);
}
- }
- if(!pmo_upgrade) {
- /* PM_ADD */
+ sprintf(backup, "%s\t%s", (char *)lp->data, hash_pkg);
+ backup[backup_len-1] = '\0';
+ FREE(lp->data);
+ lp->data = backup;
+ }
- /* 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) {
+ _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_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);
- }
- }
+ _alpm_pkg_update_depends(newpkg, 0 /*is an add*/);
- 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);
}
diff --git a/lib/libalpm/backup.c b/lib/libalpm/backup.c
index 3750f7db..751d0937 100644
--- a/lib/libalpm/backup.c
+++ b/lib/libalpm/backup.c
@@ -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);
diff --git a/lib/libalpm/backup.h b/lib/libalpm/backup.h
index 0498146b..dde907f0 100644
--- a/lib/libalpm/backup.h
+++ b/lib/libalpm/backup.h
@@ -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 */
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index c8d5989c..c921e3e4 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -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;
diff --git a/lib/libalpm/package.h b/lib/libalpm/package.h
index 7de82375..98b8c992 100644
--- a/lib/libalpm/package.h
+++ b/lib/libalpm/package.h
@@ -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 */
diff --git a/lib/libalpm/po/de.po b/lib/libalpm/po/de.po
index 0849ed68..0f76e262 100644
--- a/lib/libalpm/po/de.po
+++ b/lib/libalpm/po/de.po
@@ -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'"
diff --git a/lib/libalpm/po/fr.po b/lib/libalpm/po/fr.po
index 56d0e5f9..275baa7c 100644
--- a/lib/libalpm/po/fr.po
+++ b/lib/libalpm/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Pacman package manager 3.0.0\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-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étas-données '%s'"
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ée de base de données %s/%s"
#: 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ées '%s'"
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ée a la cible '%s'"
msgid "db vs targs: found %s as a conflict for %s"
msgstr "comparaison base de donnée / cibles: trouve %s en conflit avec %s"
-#: 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ée"
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ées -- ignoré"
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 ŕ jour -- ignoré"
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écute \"%s\""
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"
diff --git a/lib/libalpm/po/hu.po b/lib/libalpm/po/hu.po
index f4df4223..ab77e2a7 100644
--- a/lib/libalpm/po/hu.po
+++ b/lib/libalpm/po/hu.po
@@ -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ása"
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ájl konfliktusok keresése"
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ázis-bejegyzés eltávolítása"
#: 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ázis megnyitása: '%s'"
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él '%s'"
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ó félbeszakítva"
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ányzó csomagverzió itt: %s"
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álható a %s az adatbázisban -- kihagyás"
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ész -- kihagyás"
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ése"
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"
diff --git a/lib/libalpm/po/pt_BR.po b/lib/libalpm/po/pt_BR.po
index 296cd3c0..9800c843 100644
--- a/lib/libalpm/po/pt_BR.po
+++ b/lib/libalpm/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Pacman package manager 3.0.0\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
-"POT-Creation-Date: 2007-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
+#: lib/libalpm/alpm.c:488
#, c-format
-msgid "checksums for package %s-%s are matching"
+msgid "sha1sums do not match for package %s-%s"
msgstr ""
-#: lib/libalpm/alpm.c:493
+#: lib/libalpm/alpm.c:523
#, c-format
-msgid "sha1sums do not match for package %s-%s"
+msgid "could not get md5sum for package %s-%s"
msgstr ""
-#: lib/libalpm/alpm.c:528
+#: lib/libalpm/alpm.c:529
#, c-format
-msgid "could not get md5 checksum for package %s-%s"
+msgid "md5sums for package %s-%s match"
msgstr ""
-#: lib/libalpm/alpm.c:542
+#: 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 ""
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 7aaae2e6..64f0025e 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -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);
}
diff --git a/src/pacman/downloadprog.c b/src/pacman/downloadprog.c
index 6a1b4824..0d5a9b22 100644
--- a/src/pacman/downloadprog.c
+++ b/src/pacman/downloadprog.c
@@ -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 */
diff --git a/src/pacman/log.c b/src/pacman/log.c
index a639159f..501f32d2 100644
--- a/src/pacman/log.c
+++ b/src/pacman/log.c
@@ -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);
diff --git a/src/pacman/trans.c b/src/pacman/trans.c
index 22443216..ebc11a8d 100644
--- a/src/pacman/trans.c
+++ b/src/pacman/trans.c
@@ -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);