Pacman-dev
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
February 2007
- 30 participants
- 271 discussions
20 Feb '07
Date: Tuesday, February 20, 2007 @ 03:44:32
Author: aaron
Path: /home/cvs-pacman/pacman-lib/lib/libalpm
Modified: add.c (1.117 -> 1.118) deps.c (1.67 -> 1.68)
* Some cascade removal changes. Mainly code cleanup, but this is an attempt to
track down the great "Codemac Segfault"
* Fixed sortdeps - use the alpm_pkg_get functions to ensure data
--------+
add.c | 3 +
deps.c | 96 ++++++++++++++++++++++++++++++++-------------------------------
2 files changed, 53 insertions(+), 46 deletions(-)
Index: pacman-lib/lib/libalpm/add.c
diff -u pacman-lib/lib/libalpm/add.c:1.117 pacman-lib/lib/libalpm/add.c:1.118
--- pacman-lib/lib/libalpm/add.c:1.117 Mon Feb 19 21:14:27 2007
+++ pacman-lib/lib/libalpm/add.c Tue Feb 20 03:44:32 2007
@@ -441,6 +441,9 @@
/* Add files in the NEW package's backup array to the noupgrade array
* so this removal operation doesn't kill them */
+ /* TODO if we add here, all backup=() entries for all targets, new and
+ * old, we cover all bases, including backup=() locations changing hands.
+ * But is this viable? */
alpm_list_t *old_noupgrade = alpm_list_strdup(handle->noupgrade);
for(b = newpkg->backup; b; b = b->next) {
_alpm_log(PM_LOG_DEBUG, _("adding %s to the NoUpgrade array temporarilly"), (char *)b->data);
Index: pacman-lib/lib/libalpm/deps.c
diff -u pacman-lib/lib/libalpm/deps.c:1.67 pacman-lib/lib/libalpm/deps.c:1.68
--- pacman-lib/lib/libalpm/deps.c:1.67 Sun Feb 18 13:29:28 2007
+++ pacman-lib/lib/libalpm/deps.c Tue Feb 20 03:44:32 2007
@@ -138,9 +138,7 @@
for(i = newtargs; i; i = i->next) {
pmpkg_t *p = (pmpkg_t*)i->data;
_alpm_log(PM_LOG_DEBUG, "sorting %s", p->name);
- /* TODO this may not always work if p->data is a fd, not db */
- _alpm_db_read(p->data, INFRQ_DEPENDS, p);
- for(j = p->depends; j; j = j->next) {
+ for(j = alpm_pkg_get_depends(p); j; j = j->next) {
pmdepend_t dep;
pmpkg_t *q = NULL;
if(_alpm_splitdep(j->data, &dep)) {
@@ -438,6 +436,35 @@
return(0);
}
+/* These parameters are messy. We check if this package, given a list of
+ * targets (and a db), is safe to remove. We do NOT remove it if it is in the
+ * target list */
+static int can_remove_package(pmdb_t *db, pmpkg_t *pkg, alpm_list_t *targets)
+{
+ alpm_list_t *i;
+
+ if(_alpm_pkg_isin(pkg->name, targets)) {
+ return(0);
+ }
+
+ /* see if it was explicitly installed */
+ if(alpm_pkg_get_reason(pkg) == PM_PKG_REASON_EXPLICIT) {
+ _alpm_log(PM_LOG_DEBUG, _("excluding %s -- explicitly installed"), pkg->name);
+ return(0);
+ }
+
+ /* see if other packages need it */
+ for(i = alpm_pkg_get_requiredby(pkg); i; i = i->next) {
+ pmpkg_t *reqpkg = _alpm_db_get_pkgfromcache(db, i->data);
+ if(reqpkg && !_alpm_pkg_isin(reqpkg->name, targets)) {
+ return(0);
+ }
+ }
+
+ /* it's ok to remove */
+ return(1);
+}
+
/* return a new alpm_list_t target list containing all packages in the original
* target list, as well as all their un-needed dependencies. By un-needed,
* I mean dependencies that are *only* required for packages in the target
@@ -456,67 +483,44 @@
for(i = targs; i; i = i->next) {
pmpkg_t *pkg = i->data;
- if(pkg) {
- _alpm_db_read(db, INFRQ_DEPENDS, pkg);
- } else {
- continue;
- }
- for(j = pkg->depends; j; j = j->next) {
+ for(j = alpm_pkg_get_depends(pkg); j; j = j->next) {
pmdepend_t depend;
pmpkg_t *dep;
- int needed = 0;
-
if(_alpm_splitdep(j->data, &depend)) {
continue;
}
dep = _alpm_db_get_pkgfromcache(db, depend.name);
if(dep == NULL) {
- /* package not found... look for a provisio instead */
- k = _alpm_db_whatprovides(db, depend.name);
- if(k == NULL) {
+ /* package not found... look for a provision instead */
+ alpm_list_t *provides = _alpm_db_whatprovides(db, depend.name);
+ if(!provides) {
/* Not found, that's fine, carry on */
_alpm_log(PM_LOG_DEBUG, _("cannot find package \"%s\" or anything that provides it!"), depend.name);
continue;
}
- dep = _alpm_db_get_pkgfromcache(db, ((pmpkg_t *)k->data)->name);
- if(dep == NULL) {
- _alpm_log(PM_LOG_ERROR, _("dep is NULL!"));
- /* wtf */
- continue;
- }
- FREELISTPTR(k);
- }
-
- _alpm_db_read(db, INFRQ_DEPENDS, dep);
+ for(k = provides; k; k = k->next) {
+ pmpkg_t *provpkg = k->data;
+ if(can_remove_package(db, provpkg, newtargs)) {
+ pmpkg_t *pkg = _alpm_pkg_new(provpkg->name, provpkg->version);
+ _alpm_db_read(db, INFRQ_ALL, pkg);
- if(_alpm_pkg_isin(dep->name, targs)) {
- continue;
- }
+ _alpm_log(PM_LOG_DEBUG, _("adding '%s' to the targets"), pkg->name);
- /* see if it was explicitly installed */
- if(dep->reason == PM_PKG_REASON_EXPLICIT) {
- _alpm_log(PM_LOG_DEBUG, _("excluding %s -- explicitly installed"), dep->name);
- needed = 1;
- }
-
- /* see if other packages need it */
- for(k = dep->requiredby; k && !needed; k = k->next) {
- pmpkg_t *dummy = _alpm_db_get_pkgfromcache(db, k->data);
- if(!_alpm_pkg_isin(dummy->name, targs)) {
- needed = 1;
+ /* add it to the target list */
+ newtargs = alpm_list_add(newtargs, pkg);
+ newtargs = _alpm_removedeps(db, newtargs);
+ }
}
- }
- if(!needed) {
+ FREELISTPTR(provides);
+ } else if(can_remove_package(db, dep, newtargs)) {
pmpkg_t *pkg = _alpm_pkg_new(dep->name, dep->version);
- if(pkg == NULL) {
- continue;
- }
- /* add it to the target list */
- _alpm_log(PM_LOG_DEBUG, _("loading ALL info for '%s'"), pkg->name);
_alpm_db_read(db, INFRQ_ALL, pkg);
- newtargs = alpm_list_add(newtargs, pkg);
+
_alpm_log(PM_LOG_DEBUG, _("adding '%s' to the targets"), pkg->name);
+
+ /* add it to the target list */
+ newtargs = alpm_list_add(newtargs, pkg);
newtargs = _alpm_removedeps(db, newtargs);
}
}
1
0
Date: Tuesday, February 20, 2007 @ 02:43:40
Author: dan
Path: /home/cvs-pacman/pacman-lib
Modified: Makefile.am (1.11 -> 1.12)
* Slightly fixed up the check target- we now pass 16 instead of 10 tests in
the pactest suite. Obviuosly this needs some work to get to the bottom of
why we aren't passing all of them.
* Removed tags target- use autotools target 'make ctags' instead.
-------------+
Makefile.am | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
Index: pacman-lib/Makefile.am
diff -u pacman-lib/Makefile.am:1.11 pacman-lib/Makefile.am:1.12
--- pacman-lib/Makefile.am:1.11 Sat Feb 10 03:10:22 2007
+++ pacman-lib/Makefile.am Tue Feb 20 02:43:39 2007
@@ -1,13 +1,9 @@
SUBDIRS = lib/libalpm src/util src/pacman scripts doc etc
-EXTRA_DIST = \
- NEWS \
- COPYING \
+EXTRA_DIST = \
+ NEWS \
+ COPYING \
README
check: src/pacman
- cd pactest; python pactest.py --test=tests/*.py -p ../src/pacman/pacman --debug=-1
-
-tags:
- ctags -a lib/libalpm/*.[ch]
- ctags -a src/pacman/*.[ch]
+ cd pactest; python pactest.py --test=tests/*.py -p ../src/pacman/pacman.static --debug=1
1
0
Date: Monday, February 19, 2007 @ 21:14:28
Author: dan
Path: /home/cvs-pacman/pacman-lib
Modified: TODO.dan (1.11 -> 1.12) lib/libalpm/add.c (1.116 -> 1.117)
lib/libalpm/conflict.c (1.38 -> 1.39)
lib/libalpm/conflict.h (1.11 -> 1.12)
lib/libalpm/remove.c (1.67 -> 1.68)
lib/libalpm/trans.c (1.35 -> 1.36)
lib/libalpm/trans.h (1.23 -> 1.24)
src/pacman/package.c (1.30 -> 1.31)
* Updated conflict checking one last time. You can finally have a file move
from one package to another seemlessly (knock on wood). This is implemented
through the use of two skip lists in the trans struct- skip_add and
skip_remove, which replace the former trans->skiplist.
* Removed an unnecessary function parameter, added a necessary one.
* If a package has no backup files, print '(none)' under the heading so it is
more obvious.
* Updated my TODO list.
------------------------+
TODO.dan | 6 +++
lib/libalpm/add.c | 22 ++++++------
lib/libalpm/conflict.c | 83 ++++++++++++++++++++++++-----------------------
lib/libalpm/conflict.h | 2 -
lib/libalpm/remove.c | 31 +++++------------
lib/libalpm/trans.c | 6 ++-
lib/libalpm/trans.h | 7 ++-
src/pacman/package.c | 80 ++++++++++++++++++++++++---------------------
8 files changed, 123 insertions(+), 114 deletions(-)
Index: pacman-lib/TODO.dan
diff -u pacman-lib/TODO.dan:1.11 pacman-lib/TODO.dan:1.12
--- pacman-lib/TODO.dan:1.11 Sat Feb 17 00:06:13 2007
+++ pacman-lib/TODO.dan Mon Feb 19 21:14:27 2007
@@ -117,3 +117,9 @@
Resurrect test scripts, and add ones as needed. Testing by scripts > testing by
hand.
+Build a replacement for this, or at least standardize its use. We shouldn't
+always need to pass handle->root around, it is constant. Something like char*
+buildpath(file).
+ /* build the new entryname relative to handle->root */
+ snprintf(filename, PATH_MAX, "%s%s", handle->root, entryname);
+
Index: pacman-lib/lib/libalpm/add.c
diff -u pacman-lib/lib/libalpm/add.c:1.116 pacman-lib/lib/libalpm/add.c:1.117
--- pacman-lib/lib/libalpm/add.c:1.116 Sun Feb 18 17:07:11 2007
+++ pacman-lib/lib/libalpm/add.c Mon Feb 19 21:14:27 2007
@@ -316,25 +316,19 @@
/* Check for file conflicts
*/
if(!(trans->flags & PM_TRANS_FLAG_FORCE)) {
- alpm_list_t *skiplist = NULL;
-
EVENT(trans, PM_TRANS_EVT_FILECONFLICTS_START, NULL, NULL);
_alpm_log(PM_LOG_DEBUG, _("looking for file conflicts"));
- lp = _alpm_db_find_conflicts(db, trans, handle->root, &skiplist);
+ lp = _alpm_db_find_conflicts(db, trans, handle->root);
if(lp != NULL) {
if(data) {
*data = lp;
} else {
FREELIST(lp);
}
- FREELIST(skiplist);
RET_ERR(PM_ERR_FILE_CONFLICTS, -1);
}
- /* copy the file skiplist into the transaction */
- trans->skiplist = skiplist;
-
EVENT(trans, PM_TRANS_EVT_FILECONFLICTS_DONE, NULL, NULL);
}
@@ -423,7 +417,7 @@
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 */
+ * with the type PM_TRANS_TYPE_UPGRADE. TODO: kill this weird behavior. */
pmtrans_t *tr = _alpm_trans_new();
_alpm_log(PM_LOG_DEBUG, _("removing old package first (%s-%s)"), oldpkg->name, oldpkg->version);
@@ -441,8 +435,8 @@
RET_ERR(PM_ERR_TRANS_ABORT, -1);
}
- /* copy the skiplist over */
- tr->skiplist = alpm_list_strdup(trans->skiplist);
+ /* copy the remove skiplist over */
+ tr->skip_remove = alpm_list_strdup(trans->skip_remove);
alpm_list_t *b;
/* Add files in the NEW package's backup array to the noupgrade array
@@ -538,11 +532,19 @@
/* if a file is in NoExtract then we never extract it */
if(alpm_list_find_str(handle->noextract, entryname)) {
+ _alpm_log(PM_LOG_DEBUG, _("%s is in NoExtract, skipping extraction"), entryname);
alpm_logaction(_("notice: %s is in NoExtract -- skipping extraction"), entryname);
archive_read_data_skip(archive);
continue;
}
+ /* if a file is in the add skiplist we never extract it */
+ if(alpm_list_find_str(trans->skip_add, filename)) {
+ _alpm_log(PM_LOG_DEBUG, _("%s is in trans->skip_add, skipping extraction"), entryname);
+ archive_read_data_skip(archive);
+ continue;
+ }
+
/* check is file already exists */
if(stat(filename, &buf) == 0 && !S_ISDIR(buf.st_mode)) {
/* it does, is it a backup=() file?
Index: pacman-lib/lib/libalpm/conflict.c
diff -u pacman-lib/lib/libalpm/conflict.c:1.38 pacman-lib/lib/libalpm/conflict.c:1.39
--- pacman-lib/lib/libalpm/conflict.c:1.38 Sun Feb 18 22:18:59 2007
+++ pacman-lib/lib/libalpm/conflict.c Mon Feb 19 21:14:27 2007
@@ -313,8 +313,7 @@
return(conflicts);
}
-alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root,
- alpm_list_t **skip_list)
+alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root)
{
alpm_list_t *i, *j, *k;
alpm_list_t *conflicts = NULL;
@@ -366,50 +365,54 @@
if(dbpkg) {
/* older ver of package currently installed */
tmpfiles = chk_filedifference(p1->files, alpm_pkg_get_files(dbpkg));
- for(j = tmpfiles; j; j = j->next) {
- filestr = j->data;
- _alpm_log(PM_LOG_DEBUG, "checking possible conflict: %s", filestr);
-
- snprintf(path, PATH_MAX, "%s%s", root, filestr);
-
- /* stat the file - if it exists and is not a dir, do some checks */
- if(lstat(path, &buf) == 0 && !S_ISDIR(buf.st_mode)) {
- /* Look at all the targets to see if file has changed hands */
- for(k = targets; k; k = k->next) {
- p2 = (pmpkg_t *)k->data;
- /* Ensure we aren't looking at current package */
- if(strcmp(p2->name, p1->name)) {
- pmpkg_t *localp2 = _alpm_db_get_pkgfromcache(db, p2->name);
- /* Check if it used to exist in a package, but doesn't anymore */
- if(localp2 && !alpm_list_find_str(alpm_pkg_get_files(p2), filestr)
- && alpm_list_find_str(alpm_pkg_get_files(localp2), filestr)) {
- *skip_list = alpm_list_add(*skip_list, strdup(filestr));
- _alpm_log(PM_LOG_DEBUG, "adding to skiplist: %s", filestr);
- } else {
- conflicts = add_fileconflict(conflicts, PM_CONFLICT_TYPE_FILE,
- filestr, p1->name, NULL);
- break;
- }
- }
- }
- }
- }
- alpm_list_free_inner(tmpfiles, &free);
- alpm_list_free(tmpfiles);
} else {
/* no version of package currently installed */
- for(j = p1->files; j; j = j->next) {
- filestr = j->data;
-
- snprintf(path, PATH_MAX, "%s%s", root, filestr);
+ tmpfiles = alpm_list_strdup(p1->files);
+ }
- /* stat the file - if it exists and is not a dir, report a conflict */
- if(lstat(path, &buf) == 0 && !S_ISDIR(buf.st_mode)) {
- conflicts = add_fileconflict(conflicts, PM_CONFLICT_TYPE_FILE,
- filestr, p1->name, NULL);
+ /* loop over each file to be installed */
+ for(j = tmpfiles; j; j = j->next) {
+ filestr = j->data;
+ _alpm_log(PM_LOG_DEBUG, "checking possible conflict: %s", filestr);
+
+ snprintf(path, PATH_MAX, "%s%s", root, filestr);
+
+ /* stat the file - if it exists and is not a dir, do some checks */
+ if(lstat(path, &buf) == 0 && !S_ISDIR(buf.st_mode)) {
+ /* Look at all the targets to see if file has changed hands */
+ for(k = targets; k; k = k->next) {
+ p2 = (pmpkg_t *)k->data;
+ /* Ensure we aren't looking at current package */
+ if(p2 == p1) {
+ continue;
+ }
+ pmpkg_t *localp2 = _alpm_db_get_pkgfromcache(db, p2->name);
+ /* Check if it used to exist in a package, but doesn't anymore */
+ if(localp2 && !alpm_list_find_str(alpm_pkg_get_files(p2), filestr)
+ && alpm_list_find_str(alpm_pkg_get_files(localp2), filestr)) {
+ /* check if the file is now in the backup array */
+ if(alpm_list_find_str(alpm_pkg_get_backup(p1), filestr)) {
+ /* keep file intact if it is in backup array */
+ trans->skip_add = alpm_list_add(trans->skip_add, strdup(path));
+ trans->skip_remove = alpm_list_add(trans->skip_remove, strdup(path));
+ _alpm_log(PM_LOG_DEBUG, "file in backup array, adding to add and remove skiplist: %s", filestr);
+ } else {
+ /* skip removal of file, but not add. this will prevent a second
+ * package from removing the file when it was already installed
+ * by its new owner */
+ trans->skip_remove = alpm_list_add(trans->skip_remove, strdup(path));
+ _alpm_log(PM_LOG_DEBUG, "file changed packages, adding to remove skiplist: %s", filestr);
+ }
+ } else {
+ conflicts = add_fileconflict(conflicts, PM_CONFLICT_TYPE_FILE,
+ filestr, p1->name, NULL);
+ break;
+ }
}
}
}
+ alpm_list_free_inner(tmpfiles, &free);
+ alpm_list_free(tmpfiles);
}
return(conflicts);
Index: pacman-lib/lib/libalpm/conflict.h
diff -u pacman-lib/lib/libalpm/conflict.h:1.11 pacman-lib/lib/libalpm/conflict.h:1.12
--- pacman-lib/lib/libalpm/conflict.h:1.11 Tue Jan 23 22:02:54 2007
+++ pacman-lib/lib/libalpm/conflict.h Mon Feb 19 21:14:27 2007
@@ -34,7 +34,7 @@
};
alpm_list_t *_alpm_checkconflicts(pmdb_t *db, alpm_list_t *packages);
-alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root, alpm_list_t **skip_list);
+alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root);
#endif /* _ALPM_CONFLICT_H */
Index: pacman-lib/lib/libalpm/remove.c
diff -u pacman-lib/lib/libalpm/remove.c:1.67 pacman-lib/lib/libalpm/remove.c:1.68
--- pacman-lib/lib/libalpm/remove.c:1.67 Sun Feb 18 23:13:13 2007
+++ pacman-lib/lib/libalpm/remove.c Mon Feb 19 21:14:27 2007
@@ -155,19 +155,15 @@
return(0);
}
-static int can_remove_file(const char *path)
+static int can_remove_file(pmtrans_t *trans, const char *path)
{
- alpm_list_t *i;
char file[PATH_MAX+1];
snprintf(file, PATH_MAX, "%s%s", handle->root, path);
- for(i = handle->trans->skiplist; i; i = i->next) {
- if(strcmp(file, i->data) == 0) {
- /* skipping this file, return success because "removing" this
- * file does nothing */
- return(1);
- }
+ if(alpm_list_find_str(trans->skip_remove, file)) {
+ /* return success because we will never actually remove this file */
+ return(1);
}
/* If we fail write permissions due to a read-only filesystem, abort.
* Assume all other possible failures are covered somewhere else */
@@ -175,7 +171,8 @@
if(access(file, F_OK) == 0) {
/* only return failure if the file ACTUALLY exists and we don't have
* permissions */
- _alpm_log(PM_LOG_ERROR, _("cannot remove file '%s': %s"), file, strerror(errno));
+ _alpm_log(PM_LOG_ERROR, _("cannot remove file '%s': %s"),
+ file, strerror(errno));
return(0);
}
}
@@ -230,19 +227,11 @@
_alpm_log(PM_LOG_DEBUG, _("removing directory %s"), file);
}
} else {
- /* check the "skip list" before removing the file.
+ /* check the remove skip list before removing the file.
* see the big comment block in db_find_conflicts() for an
* explanation. */
- int skipit = 0;
- alpm_list_t *j;
- for(j = trans->skiplist; j; j = j->next) {
- if(!strcmp(lp->data, (char*)j->data)) {
- skipit = 1;
- }
- }
- if(skipit) {
- _alpm_log(PM_LOG_WARNING, _("%s has changed ownership, skipping removal"),
- file);
+ if(alpm_list_find_str(trans->skip_remove, file)) {
+ _alpm_log(PM_LOG_DEBUG, _("%s is in trans->skip_remove, skipping removal"), file);
} else if(needbackup) {
/* if the file is flagged, back it up to .pacsave */
if(!(trans->type == PM_TRANS_TYPE_UPGRADE)) {
@@ -301,7 +290,7 @@
if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
for(lp = info->files; lp; lp = lp->next) {
- if(!can_remove_file(lp->data)) {
+ if(!can_remove_file(trans, lp->data)) {
_alpm_log(PM_LOG_DEBUG, _("not removing package '%s', can't remove all files"), info->name);
RET_ERR(PM_ERR_PKG_CANT_REMOVE, -1);
}
Index: pacman-lib/lib/libalpm/trans.c
diff -u pacman-lib/lib/libalpm/trans.c:1.35 pacman-lib/lib/libalpm/trans.c:1.36
--- pacman-lib/lib/libalpm/trans.c:1.35 Sun Feb 18 17:07:11 2007
+++ pacman-lib/lib/libalpm/trans.c Mon Feb 19 21:14:27 2007
@@ -55,7 +55,8 @@
trans->targets = NULL;
trans->packages = NULL;
- trans->skiplist = NULL;
+ trans->skip_add = NULL;
+ trans->skip_remove = NULL;
trans->type = 0;
trans->flags = 0;
trans->cb_event = NULL;
@@ -87,7 +88,8 @@
FREELISTPKGS(trans->packages);
}
- FREELIST(trans->skiplist);
+ FREELIST(trans->skip_add);
+ FREELIST(trans->skip_remove);
FREE(trans);
}
Index: pacman-lib/lib/libalpm/trans.h
diff -u pacman-lib/lib/libalpm/trans.h:1.23 pacman-lib/lib/libalpm/trans.h:1.24
--- pacman-lib/lib/libalpm/trans.h:1.23 Sun Feb 18 17:07:11 2007
+++ pacman-lib/lib/libalpm/trans.h Mon Feb 19 21:14:27 2007
@@ -41,9 +41,10 @@
pmtranstype_t type;
unsigned int flags;
pmtransstate_t state;
- alpm_list_t *targets; /* alpm_list_t of (char *) */
- alpm_list_t *packages; /* alpm_list_t of (pmpkg_t *) or (pmsyncpkg_t *) */
- alpm_list_t *skiplist; /* alpm_list_t of (char *) */
+ alpm_list_t *targets; /* list of (char *) */
+ alpm_list_t *packages; /* list of (pmpkg_t *) or (pmsyncpkg_t *) */
+ alpm_list_t *skip_add; /* list of (char *) */
+ alpm_list_t *skip_remove; /* list of (char *) */
alpm_trans_cb_event cb_event;
alpm_trans_cb_conv cb_conv;
alpm_trans_cb_progress cb_progress;
Index: pacman-lib/src/pacman/package.c
diff -u pacman-lib/src/pacman/package.c:1.30 pacman-lib/src/pacman/package.c:1.31
--- pacman-lib/src/pacman/package.c:1.30 Wed Feb 14 10:54:35 2007
+++ pacman-lib/src/pacman/package.c Mon Feb 19 21:14:28 2007
@@ -152,49 +152,55 @@
{
alpm_list_t *i;
const char *root = alpm_option_get_root();
- printf(_("Backup Files :\n"));
- for(i = alpm_pkg_get_backup(pkg); i; i = alpm_list_next(i)) {
- struct stat buf;
- char path[PATH_MAX];
- char *str = strdup(alpm_list_getdata(i));
- char *ptr = index(str, '\t');
- if(ptr == NULL) {
- FREE(str);
- continue;
- }
- *ptr = '\0';
- ptr++;
- snprintf(path, PATH_MAX-1, "%s%s", root, str);
- /* if we find the file, calculate checksums, otherwise it is missing */
- if(!stat(path, &buf)) {
- char *sum;
- char *md5sum = alpm_get_md5sum(path);
- char *sha1sum = alpm_get_sha1sum(path);
-
- if(md5sum == NULL || sha1sum == NULL) {
- ERR(NL, _("error calculating checksums for %s\n"), path);
+ printf(_("Backup Files:\n"));
+ if(alpm_pkg_get_backup(pkg)) {
+ /* package has backup files, so print them */
+ for(i = alpm_pkg_get_backup(pkg); i; i = alpm_list_next(i)) {
+ struct stat buf;
+ char path[PATH_MAX];
+ char *str = strdup(alpm_list_getdata(i));
+ char *ptr = index(str, '\t');
+ if(ptr == NULL) {
FREE(str);
continue;
}
- /* TODO Is this a good way to check type of backup stored?
- * We aren't storing it anywhere in the database. */
- if (strlen(ptr) == 32) {
- sum = md5sum;
- } else { /*if (strlen(ptr) == 40) */
- sum = sha1sum;
- }
- /* if checksums don't match, file has been modified */
- if (strcmp(sum, ptr)) {
- printf(_("MODIFIED\t%s\n"), path);
+ *ptr = '\0';
+ ptr++;
+ snprintf(path, PATH_MAX-1, "%s%s", root, str);
+ /* if we find the file, calculate checksums, otherwise it is missing */
+ if(!stat(path, &buf)) {
+ char *sum;
+ char *md5sum = alpm_get_md5sum(path);
+ char *sha1sum = alpm_get_sha1sum(path);
+
+ if(md5sum == NULL || sha1sum == NULL) {
+ ERR(NL, _("error calculating checksums for %s\n"), path);
+ FREE(str);
+ continue;
+ }
+ /* TODO Is this a good way to check type of backup stored?
+ * We aren't storing it anywhere in the database. */
+ if (strlen(ptr) == 32) {
+ sum = md5sum;
+ } else { /*if (strlen(ptr) == 40) */
+ sum = sha1sum;
+ }
+ /* if checksums don't match, file has been modified */
+ if (strcmp(sum, ptr)) {
+ printf(_("MODIFIED\t%s\n"), path);
+ } else {
+ printf(_("Not Modified\t%s\n"), path);
+ }
+ FREE(md5sum);
+ FREE(sha1sum);
} else {
- printf(_("Not Modified\t%s\n"), path);
+ printf(_("MISSING\t\t%s\n"), path);
}
- FREE(md5sum);
- FREE(sha1sum);
- } else {
- printf(_("MISSING\t\t%s\n"), path);
+ FREE(str);
}
- FREE(str);
+ } else {
+ /* package had no backup files */
+ printf(_("(none)\n"));
}
}
1
0
19 Feb '07
Date: Friday, February 16, 2007 @ 14:37:00
Author: aaron
Path: /home/cvs-pacman/pacman-lib/lib/libalpm
Modified: package.c (1.69 -> 1.70)
Added a 'contrib' directory for other stuff that might be a good idea to maintain here.
* moved bash_completion from the "archlinux" script in the official bash_completion package
* moved zsh_completion from the AUR zsh-pacman package
-----------+
package.c | 2 --
1 file changed, 2 deletions(-)
Index: pacman-lib/lib/libalpm/package.c
diff -u pacman-lib/lib/libalpm/package.c:1.69 pacman-lib/lib/libalpm/package.c:1.70
--- pacman-lib/lib/libalpm/package.c:1.69 Wed Feb 14 11:15:09 2007
+++ pacman-lib/lib/libalpm/package.c Fri Feb 16 14:37:00 2007
@@ -156,12 +156,10 @@
/* package should be ignored (IgnorePkg) */
_alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (%s)"),
local_pkg->name, local_pkg->version, pkg->version);
- cmp = 0;
} else if(_alpm_pkg_istoonew(pkg)) {
/* package too new (UpgradeDelay) */
_alpm_log(PM_LOG_WARNING, _("%s-%s: delaying upgrade of package (%s)"),
local_pkg->name, local_pkg->version, pkg->version);
- cmp = 0;
}
}
3
2
[pacman-dev] CVS update of pacman-lib (lib/libalpm/po/de.po src/pacman/po/de.po)
by dan@archlinux.org 19 Feb '07
by dan@archlinux.org 19 Feb '07
19 Feb '07
Date: Monday, February 19, 2007 @ 14:28:31
Author: dan
Path: /home/cvs-pacman/pacman-lib
Modified: lib/libalpm/po/de.po (1.6 -> 1.7) src/pacman/po/de.po (1.7 -> 1.8)
* Updated German translations.
Pierre Schmitz <pierre(a)archlinux.de>
----------------------+
lib/libalpm/po/de.po | 329 ++++++++++++++++++++++---------------------------
src/pacman/po/de.po | 26 +--
2 files changed, 167 insertions(+), 188 deletions(-)
Index: pacman-lib/lib/libalpm/po/de.po
diff -u pacman-lib/lib/libalpm/po/de.po:1.6 pacman-lib/lib/libalpm/po/de.po:1.7
--- pacman-lib/lib/libalpm/po/de.po:1.6 Sat Feb 17 03:55:06 2007
+++ pacman-lib/lib/libalpm/po/de.po Mon Feb 19 14:28:30 2007
@@ -10,8 +10,8 @@
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: pacman-dev(a)archlinux.org\n"
-"POT-Creation-Date: 2007-02-14 14:32-0500\n"
-"PO-Revision-Date: 2007-02-16 13:14+0100\n"
+"POT-Creation-Date: 2007-02-19 13:00+0100\n"
+"PO-Revision-Date: 2007-02-19 13:09+0100\n"
"Last-Translator: Pierre Schmitz <pierre(a)archlinux.de>\n"
"Language-Team: Deutsch <archlinux.de>\n"
"MIME-Version: 1.0\n"
@@ -30,253 +30,230 @@
msgid "loading target '%s'"
msgstr "Lade Ziel '%s'"
-#: lib/libalpm/add.c:175
+#: lib/libalpm/add.c:174
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "Ersetze ältere Version %s-%s durch %s in der Ziel-Liste"
-#: lib/libalpm/add.c:184
+#: lib/libalpm/add.c:183
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr "Neuere Version %s-%s ist in der Ziel-liste -- Überspringe"
-#: lib/libalpm/add.c:191
+#: lib/libalpm/add.c:190
#, c-format
msgid "reading '%s' metadata"
msgstr "Lese Metadaten von '%s'"
-#: lib/libalpm/add.c:244 lib/libalpm/remove.c:110
+#: lib/libalpm/add.c:243 lib/libalpm/remove.c:110
msgid "looking for unsatisfied dependencies"
msgstr "Suche nach ungelösten Abhängigkeiten"
-#: lib/libalpm/add.c:256 lib/libalpm/sync.c:473
+#: lib/libalpm/add.c:255 lib/libalpm/sync.c:473
msgid "looking for conflicts"
msgstr "Suche nach Konflikten"
-#: lib/libalpm/add.c:295 lib/libalpm/remove.c:146
+#: lib/libalpm/add.c:294 lib/libalpm/remove.c:146
msgid "sorting by dependencies"
msgstr "Sortiere nach Abhängigkeiten"
-#: lib/libalpm/add.c:307
+#: lib/libalpm/add.c:306
msgid "cleaning up"
msgstr "Räume auf"
-#: lib/libalpm/add.c:324
+#: lib/libalpm/add.c:323
msgid "looking for file conflicts"
msgstr "Suche nach Dateikonflikten"
-#: lib/libalpm/add.c:394
+#: lib/libalpm/add.c:392
#, c-format
msgid "upgrading package %s-%s"
msgstr "Aktualisiere Paket %s-%s"
-#: lib/libalpm/add.c:419
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "Entferne zuerst altes Paket (%s-%s)"
-
-#: lib/libalpm/add.c:449
+#: lib/libalpm/add.c:415
#, c-format
msgid "adding package %s-%s"
msgstr "Füge Paket %s-%s hinzu"
-#: lib/libalpm/add.c:460
+#: lib/libalpm/add.c:428
+#, c-format
+msgid "removing old package first (%s-%s)"
+msgstr "Entferne zuerst altes Paket (%s-%s)"
+
+#: lib/libalpm/add.c:452
#, c-format
-msgid "adding new package %s-%s"
-msgstr "Füge neues Paket %s-%s hinzu"
+msgid "adding %s to the NoUpgrade array temporarilly"
+msgstr "Füge %s temporär zum NoUpgrade-Array hinzu"
-#: lib/libalpm/add.c:464
+#: lib/libalpm/add.c:470
msgid "extracting files"
msgstr "Entpacke Dateien"
-#: lib/libalpm/add.c:480 lib/libalpm/util.c:461
+#: lib/libalpm/add.c:485 lib/libalpm/util.c:461
msgid "could not get current working directory"
msgstr "Konnte aktuelles Arbeitsverzeichnis nicht ermitteln"
-#: lib/libalpm/add.c:538
+#: lib/libalpm/add.c:541
#, c-format
msgid "notice: %s is in NoExtract -- skipping extraction"
msgstr "Hinweis: %s ist in NoExtract -- Wird nicht entpackt"
-#: lib/libalpm/add.c:574 lib/libalpm/add.c:727
+#: lib/libalpm/add.c:587 lib/libalpm/add.c:588 lib/libalpm/add.c:737
#, c-format
msgid "could not extract %s (%s)"
msgstr "Konnte %s nicht entpacken (%s)"
-#: lib/libalpm/add.c:617
+#: lib/libalpm/add.c:631
#, c-format
msgid "checking md5 hashes for %s"
msgstr "Prüfe MD5 Hashes für %s"
-#: lib/libalpm/add.c:618 lib/libalpm/add.c:625
+#: lib/libalpm/add.c:633
+#, c-format
+msgid "checking sha1 hashes for %s"
+msgstr "Prüfe SHA1 Hashes für %s"
+
+#: lib/libalpm/add.c:635
#, c-format
msgid "current: %s"
msgstr "Aktuell: %s"
-#: lib/libalpm/add.c:619 lib/libalpm/add.c:626
+#: lib/libalpm/add.c:636
#, c-format
msgid "new: %s"
msgstr "Neu: %s"
-#: lib/libalpm/add.c:621 lib/libalpm/add.c:628
+#: lib/libalpm/add.c:637
#, c-format
msgid "original: %s"
msgstr "Original: %s"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "Prüfe SHA1 Hashes für %s"
-
-#: lib/libalpm/add.c:642
+#: lib/libalpm/add.c:649
#, c-format
msgid "could not rename %s (%s)"
msgstr "Konnte %s nicht umbenennen (%s)"
-#: lib/libalpm/add.c:643
+#: lib/libalpm/add.c:650
#, c-format
msgid "error: could not rename %s (%s)"
msgstr "Fehler: Konnte %s nicht umbenennen (%s)"
-#: lib/libalpm/add.c:647 lib/libalpm/add.c:691
+#: lib/libalpm/add.c:656 lib/libalpm/add.c:675
#, c-format
-msgid "could not copy %s to %s (%s)"
-msgstr "Konnte %s nicht nach %s kopieren (%s)"
+msgid "could not copy tempfile to %s (%s)"
+msgstr "Konnte temporäre Datei nicht nach %s kopieren (%s)"
-#: lib/libalpm/add.c:648
+#: lib/libalpm/add.c:657
#, c-format
-msgid "error: could not copy %s to %s (%s)"
-msgstr "Fehler: Konnte %s nicht nach %s kopieren (%s)"
+msgid "error: could not copy tempfile to %s (%s)"
+msgstr "Fehler: Konnte temporäre Datei nicht nach %s kopieren (%s)"
-#: lib/libalpm/add.c:652
+#: lib/libalpm/add.c:661
#, c-format
msgid "%s saved as %s.pacorig"
msgstr "%s gesichert als %s.pacorig"
-#: lib/libalpm/add.c:653
+#: lib/libalpm/add.c:662
#, c-format
msgid "warning: %s saved as %s"
msgstr "Warnung: %s gesichert als %s"
-#: lib/libalpm/add.c:663 lib/libalpm/add.c:666 lib/libalpm/add.c:672
-msgid "action: installing new file"
-msgstr "Aktion: Installiere neue Datei"
+#: lib/libalpm/add.c:672
+#, c-format
+msgid "action: installing new file: %s"
+msgstr "Aktion: Installiere neue Datei: %s"
-#: lib/libalpm/add.c:670
+#: lib/libalpm/add.c:682 lib/libalpm/add.c:688 lib/libalpm/add.c:693
msgid "action: leaving existing file in place"
msgstr "Aktion: Lasse existierende Datei an ihrem Platz"
-#: lib/libalpm/add.c:676
+#: lib/libalpm/add.c:696
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
+#: lib/libalpm/add.c:699
#, c-format
msgid "could not install %s as %s: %s"
msgstr "Konnte %s nicht als %s installieren: %s"
-#: lib/libalpm/add.c:681
+#: lib/libalpm/add.c:700
#, c-format
msgid "error: could not install %s as %s: %s"
msgstr "Fehler: Konnte %s nicht als %s installieren: %s"
-#: lib/libalpm/add.c:683
+#: lib/libalpm/add.c:702
#, c-format
msgid "%s installed as %s"
msgstr "%s installiert als %s"
-#: lib/libalpm/add.c:684
+#: lib/libalpm/add.c:703
#, c-format
msgid "warning: %s installed as %s"
msgstr "Warnung: %s installiert als %s"
-#: lib/libalpm/add.c:689 lib/libalpm/add.c:709
-#, c-format
-msgid "extracting %s"
-msgstr "Entpacke %s"
-
-#: lib/libalpm/add.c:711
+#: lib/libalpm/add.c:717
#, c-format
msgid "%s is in NoUpgrade -- skipping"
msgstr "%s ist in NoUpgrade -- Überspringe"
-#: lib/libalpm/add.c:713
+#: lib/libalpm/add.c:718
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "Entpacke %s als %s.pacnew"
-#: lib/libalpm/add.c:714
+#: lib/libalpm/add.c:719
#, c-format
-msgid "warning: extracting %s%s as %s"
-msgstr "Warnung: Entpacke %s%s als %s"
+msgid "warning: extracting %s as %s.pacnew"
+msgstr "Warnung: Entpacke %s als %s.pacnew"
+
+#: lib/libalpm/add.c:722
+#, c-format
+msgid "extracting %s"
+msgstr "Entpacke %s"
-#: lib/libalpm/add.c:728
+#: lib/libalpm/add.c:738
#, c-format
msgid "error: could not extract %s (%s)"
msgstr "Fehler: Konnte %s nicht entpacken (%s)"
-#: lib/libalpm/add.c:738
-msgid "appending backup entry"
-msgstr "Hänge Sicherungseintrag an"
+#: lib/libalpm/add.c:750
+#, c-format
+msgid "appending backup entry for %s"
+msgstr "Hänge Sicherungseintrag für %s an"
-#: lib/libalpm/add.c:769 lib/libalpm/add.c:771
+#: lib/libalpm/add.c:782 lib/libalpm/add.c:784
#, c-format
msgid "errors occurred while %s %s"
msgstr "Fehler traten auf, während %s %s"
-#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
+#: lib/libalpm/add.c:783 lib/libalpm/add.c:785
msgid "upgrading"
msgstr "aktualisiere"
-#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
+#: lib/libalpm/add.c:783 lib/libalpm/add.c:785
msgid "installing"
msgstr "installiere"
-#: lib/libalpm/add.c:793 lib/libalpm/add.c:849
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "Füge '%s' zum requiredby Feld für '%s' hinzu"
-
-#: lib/libalpm/add.c:804 lib/libalpm/remove.c:326
+#: lib/libalpm/add.c:799 lib/libalpm/remove.c:328
msgid "updating database"
msgstr "Aktualisiere Datenbank"
-#: lib/libalpm/add.c:805
+#: lib/libalpm/add.c:800
#, c-format
msgid "adding database entry '%s'"
msgstr "Füge Datenbankeintrag '%s' hinzu"
-#: lib/libalpm/add.c:807
+#: lib/libalpm/add.c:803 lib/libalpm/add.c:805
#, c-format
msgid "could not update database entry %s-%s"
msgstr "Konnte Datenbankeintrag %s-%s nicht aktualisieren"
-#: lib/libalpm/add.c:809
-#, c-format
-msgid "error updating database for %s-%s!"
-msgstr "Fehler beim aktualisieren der Datenbank für %s-%s!"
-
-#: lib/libalpm/add.c:813
+#: lib/libalpm/add.c:811
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "Konnte Eintrag '%s' nicht zum Pufferspeicher hinzufügen"
-#: lib/libalpm/add.c:819 lib/libalpm/remove.c:336
-msgid "updating dependency packages 'requiredby' fields"
-msgstr "Aktualisiere 'requiredby' Felder abhängiger Pakete"
-
-#: lib/libalpm/add.c:841
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "Konnte Abhängigkeit '%s' nicht finden"
-
-#: lib/libalpm/add.c:852 lib/libalpm/remove.c:378
-#, c-format
-msgid "could not update 'requiredby' database entry %s-%s"
-msgstr "Konnte 'requiredby' Eintrag %s-%s nicht aktualisieren"
-
-#: lib/libalpm/add.c:878 lib/libalpm/remove.c:391 lib/libalpm/sync.c:1043
+#: lib/libalpm/add.c:839 lib/libalpm/remove.c:348 lib/libalpm/sync.c:1043
#, c-format
msgid "running \"ldconfig -r %s\""
msgstr "Führe \"ldconfig -r %s\" aus"
@@ -298,8 +275,7 @@
#: 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'"
@@ -335,7 +311,7 @@
msgstr "Konnte Datenbankeintrag %s/%s nicht entfernen"
#: lib/libalpm/alpm.c:479
-#, fuzzy, c-format
+#, c-format
msgid "could not get sha1sum for package %s-%s"
msgstr "Konnte SHA1 Prüfsumme für Paket %s-%s nicht ermitteln"
@@ -350,7 +326,7 @@
msgstr "SHA1 Summen für Paket %s-%s stimmen nicht überein"
#: lib/libalpm/alpm.c:523
-#, fuzzy, c-format
+#, c-format
msgid "could not get md5sum for package %s-%s"
msgstr "Konnte MD5 Prüfsumme für Paket %s-%s nicht ermitteln"
@@ -495,10 +471,8 @@
#: 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
@@ -593,11 +567,11 @@
msgid "db vs targs: found %s as a conflict for %s"
msgstr "Datenbank gegen Paket: %s befindet sich im Konflikt mit %s"
-#: 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: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
+#: lib/libalpm/conflict.c:296 lib/libalpm/deps.c:57 lib/libalpm/deps.c:594
+#: lib/libalpm/deps.c:634 lib/libalpm/group.c:43 lib/libalpm/handle.c:49
+#: lib/libalpm/package.c:80 lib/libalpm/sync.c:65 lib/libalpm/sync.c:604
+#: lib/libalpm/sync.c:620 lib/libalpm/sync.c:716 lib/libalpm/trans.c:52
+#: lib/libalpm/util.c:607 lib/libalpm/util.c:614
#, c-format
msgid "malloc failure: could not allocate %d bytes"
msgstr "malloc Fehler: Konnte %d Bytes nicht allozieren"
@@ -626,8 +600,7 @@
#: 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
@@ -642,97 +615,95 @@
msgid "possible dependency cycle detected"
msgstr "möglicher Abhängigkeitszyklus gefunden"
-#: lib/libalpm/deps.c:178
+#: lib/libalpm/deps.c:179
msgid "sorting dependencies finished"
msgstr "Sortieren von Abhängigkeiten beendet"
-#: lib/libalpm/deps.c:219 lib/libalpm/deps.c:276
+#: lib/libalpm/deps.c:220 lib/libalpm/deps.c:277
msgid "null package found in package list"
msgstr "ein leeres Paket wurde in der Paketliste gefunden"
-#: lib/libalpm/deps.c:224
+#: lib/libalpm/deps.c:225
#, c-format
msgid "cannot find package installed '%s'"
msgstr "Konnte installiertes Paket '%s' nicht finden"
-#: lib/libalpm/deps.c:258 lib/libalpm/deps.c:379
+#: lib/libalpm/deps.c:259 lib/libalpm/deps.c:380
#, c-format
msgid "checkdeps: found %s as required by %s"
msgstr "checkdeps: %s wird von %s benötigt"
-#: lib/libalpm/deps.c:284
+#: lib/libalpm/deps.c:285
#, c-format
msgid "no dependencies for target '%s'"
msgstr "Keine Abhängigkeiten für Ziel '%s'"
-#: lib/libalpm/deps.c:330
+#: lib/libalpm/deps.c:331
#, c-format
-msgid "checkdeps: found %s as a dependency for %s"
-msgstr "checkdeps: %s als Abhängigkeit für %s gefunden"
+msgid "missing dependency '%s' for package '%s'"
+msgstr "Abhängigkeit '%s' für Paket '%s' fehlt"
-#: lib/libalpm/deps.c:478
+#: lib/libalpm/deps.c:479
#, 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
+#: lib/libalpm/deps.c:484
msgid "dep is NULL!"
msgstr "die Abhängigkeit ist leer!"
-#: lib/libalpm/deps.c:498
+#: lib/libalpm/deps.c:499
#, c-format
msgid "excluding %s -- explicitly installed"
msgstr "Schließe %s aus -- Ausdrücklich installiert"
-#: lib/libalpm/deps.c:515
+#: lib/libalpm/deps.c:516
#, c-format
msgid "loading ALL info for '%s'"
msgstr "Lade ALL Informationen für '%s'"
-#: lib/libalpm/deps.c:518
+#: lib/libalpm/deps.c:519
#, c-format
msgid "adding '%s' to the targets"
msgstr "Füge '%s' zu der Ziel-Liste hinzu"
-#: lib/libalpm/deps.c:546
+#: lib/libalpm/deps.c:547
msgid "started resolving dependencies"
msgstr "Starte das Auflösen der Abhängigkeiten"
-#: lib/libalpm/deps.c:564
+#: lib/libalpm/deps.c:565
#, c-format
msgid "%s provides dependency %s -- skipping"
msgstr "%s stellt Abhängigkeit %s zur Verfügung -- Überspringe"
-#: lib/libalpm/deps.c:589
+#: lib/libalpm/deps.c:590
#, 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)"
-#: lib/libalpm/deps.c:606
+#: lib/libalpm/deps.c:607
#, c-format
msgid "dependency %s is already in the target list -- skipping"
msgstr "Abhängigkeit %s ist bereits in Ziel-Liste -- Überspringe"
-#: lib/libalpm/deps.c:626
+#: lib/libalpm/deps.c:627
#, c-format
msgid "pulling dependency %s (needed by %s)"
msgstr "Ziehe Abhängigkeit %s (benötigt von %s)"
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:631
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "Kann Abhängigkeiten für \"%s\" nicht auflösen"
-#: lib/libalpm/deps.c:646
+#: lib/libalpm/deps.c:647
#, c-format
msgid "dependency cycle detected: %s"
msgstr "Abhängigkeitszyklus entdeckt: %s"
-#: lib/libalpm/deps.c:650
+#: lib/libalpm/deps.c:651
msgid "finished resolving dependencies"
msgstr "Auflösen von Abhängigkeiten beendet"
@@ -945,22 +916,22 @@
msgid "%s can't be opened\n"
msgstr "%s kann nicht geöffnet werden\n"
-#: lib/libalpm/package.c:146
+#: lib/libalpm/package.c:148
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: Erzwungenes Update auf Version %s"
-#: lib/libalpm/package.c:150
+#: lib/libalpm/package.c:152
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)"
-#: lib/libalpm/package.c:157
+#: lib/libalpm/package.c:159
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: Ignoriere Paketaktualisierung (%s)"
-#: lib/libalpm/package.c:162
+#: lib/libalpm/package.c:163
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: Verzögere Paketaktualisierung (%s)"
@@ -1008,6 +979,11 @@
msgid "missing package filelist in %s, generating one"
msgstr "Fehlende Paketdateiliste in %s, erstelle eine"
+#: lib/libalpm/package.c:547
+#, c-format
+msgid "adding '%s' in requiredby field for '%s'"
+msgstr "Füge '%s' zum requiredby Feld für '%s' hinzu"
+
#: lib/libalpm/remove.c:78
#, c-format
msgid "could not find %s in database"
@@ -1037,81 +1013,70 @@
msgid "cannot remove file '%s': %s"
msgstr "Kann Datei '%s' nicht entfernen: %s"
-#: lib/libalpm/remove.c:218
+#: lib/libalpm/remove.c:221
#, c-format
msgid "file %s does not exist"
msgstr "Datei %s existiert nicht"
-#: lib/libalpm/remove.c:224
+#: lib/libalpm/remove.c:228
#, c-format
msgid "keeping directory %s"
msgstr "Behalte Verzeichnis %s"
-#: lib/libalpm/remove.c:226
+#: lib/libalpm/remove.c:230
#, c-format
msgid "removing directory %s"
msgstr "Entferne Verzeichnis %s"
-#: lib/libalpm/remove.c:240
+#: lib/libalpm/remove.c:244
#, 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"
+msgid "%s has changed ownership, skipping removal"
+msgstr "%s hat den Besitzer gewechselt; überspringe das Entfernen"
-#: lib/libalpm/remove.c:252
+#: lib/libalpm/remove.c:255
#, c-format
msgid "%s saved as %s"
msgstr "%s gespeichert als %s"
-#: lib/libalpm/remove.c:256
+#: lib/libalpm/remove.c:259
#, c-format
msgid "unlinking %s"
msgstr "Lösche %s"
-#: lib/libalpm/remove.c:263
+#: lib/libalpm/remove.c:266
#, c-format
msgid "cannot remove file %s: %s"
msgstr "Kann Datei %s nicht entfernen: %s"
-#: lib/libalpm/remove.c:291
+#: lib/libalpm/remove.c:293
#, c-format
msgid "removing package %s-%s"
msgstr "Entferne Paket %s-%s"
-#: lib/libalpm/remove.c:303
+#: lib/libalpm/remove.c:305
#, c-format
msgid "not removing package '%s', can't remove all files"
msgstr "Paket '%s' wird nicht entfernt, konnte nicht alle Dateien löschen"
-#: lib/libalpm/remove.c:309
+#: lib/libalpm/remove.c:311
msgid "removing files"
msgstr "Entferne Dateien"
-#: lib/libalpm/remove.c:327
+#: lib/libalpm/remove.c:329
#, c-format
msgid "removing database entry '%s'"
msgstr "Entferne Datenbankeintrag '%s'"
-#: lib/libalpm/remove.c:329
+#: lib/libalpm/remove.c:331
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "Konnte Datenbankeintrag %s-%s nicht entfernen"
-#: lib/libalpm/remove.c:332
+#: lib/libalpm/remove.c:334
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "Konnte Eintrag '%s' nicht aus dem Cache entfernen"
-#: lib/libalpm/remove.c:366
-#, c-format
-msgid "could not find dependency '%s' for removal"
-msgstr "Konnte Abhängigkeit '%s' zum Löschen nicht finden"
-
-#: lib/libalpm/remove.c:376
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "Aktualisiere 'requiredby' Feld für Paket '%s'"
-
#: lib/libalpm/sync.c:200
msgid "checking for package upgrades"
msgstr "Prüfe auf Paketaktualisierungen"
@@ -1305,6 +1270,25 @@
msgid "could not update new database entry %s-%s"
msgstr "Konnte neuen Datenbankeintrag %s-%s nicht aktualisieren"
+#: lib/libalpm/trans.c:260
+msgid "updating dependency packages 'requiredby' fields"
+msgstr "Aktualisiere 'requiredby' Felder abhängiger Pakete"
+
+#: lib/libalpm/trans.c:297 lib/libalpm/trans.c:321
+#, c-format
+msgid "updating 'requiredby' field for package '%s'"
+msgstr "Aktualisiere 'requiredby' Feld für Paket '%s'"
+
+#: lib/libalpm/trans.c:307 lib/libalpm/trans.c:331
+#, c-format
+msgid "could not update 'requiredby' database entry %s-%s"
+msgstr "Konnte 'requiredby' Eintrag %s-%s nicht aktualisieren"
+
+#: lib/libalpm/trans.c:313
+#, c-format
+msgid "could not find dependency '%s'"
+msgstr "Konnte Abhängigkeit '%s' nicht finden"
+
#: lib/libalpm/util.c:278
#, c-format
msgid "could not open %s: %s\n"
@@ -1389,8 +1373,3 @@
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'"
Index: pacman-lib/src/pacman/po/de.po
diff -u pacman-lib/src/pacman/po/de.po:1.7 pacman-lib/src/pacman/po/de.po:1.8
--- pacman-lib/src/pacman/po/de.po:1.7 Fri Feb 16 17:04:23 2007
+++ pacman-lib/src/pacman/po/de.po Mon Feb 19 14:28:30 2007
@@ -9,8 +9,8 @@
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: pacman-dev(a)archlinux.org\n"
-"POT-Creation-Date: 2007-02-16 13:09+0100\n"
-"PO-Revision-Date: 2007-02-16 13:31+0100\n"
+"POT-Creation-Date: 2007-02-19 13:00+0100\n"
+"PO-Revision-Date: 2007-02-19 13:10+0100\n"
"Last-Translator: Pierre Schmitz <pierre(a)archlinux.de>\n"
"Language-Team: Deutsch <archlinux.de>\n"
"MIME-Version: 1.0\n"
@@ -143,11 +143,11 @@
msgid "function"
msgstr "Funktion"
-#: src/pacman/log.c:201
+#: src/pacman/log.c:205
msgid "Y"
msgstr "J"
-#: src/pacman/log.c:201
+#: src/pacman/log.c:205
msgid "YES"
msgstr "JA"
@@ -419,7 +419,9 @@
#: src/pacman/pacman.c:110
#, c-format
msgid " -s, --recursive remove dependencies also (that won't break packages)\n"
-msgstr " -s, --recursive Auch Abhängigkeiten entfernen (beschädigt keine Pakete)\n"
+msgstr ""
+" -s, --recursive Auch Abhängigkeiten entfernen (beschädigt keine "
+"Pakete)\n"
#: src/pacman/pacman.c:113
#, c-format
@@ -513,11 +515,9 @@
#: src/pacman/pacman.c:137
#, c-format
msgid ""
-" -c, --clean remove old packages from cache directory (use -cc for "
+" -c, --clean remove old packages from cache directory (-cc for "
"all)\n"
-msgstr ""
-" -c, --clean Entfernt alte Pakete aus dem Paketpuffer(-cc für "
-"alle)\n"
+msgstr " -c, --clean Entfernt alte Pakete aus dem Paketpuffer(-cc für alle)\n"
#: src/pacman/pacman.c:139
#, c-format
@@ -1032,19 +1032,19 @@
msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] "
msgstr ":: Archiv %s ist beschädigt. Möchten Sie es löschen? [J/n] "
-#: src/pacman/trans.c:314
+#: src/pacman/trans.c:319
msgid "installing"
msgstr "Installiere"
-#: src/pacman/trans.c:317
+#: src/pacman/trans.c:322
msgid "upgrading"
msgstr "Aktualisiere"
-#: src/pacman/trans.c:320
+#: src/pacman/trans.c:325
msgid "removing"
msgstr "entferne"
-#: src/pacman/trans.c:323
+#: src/pacman/trans.c:328
msgid "checking for file conflicts"
msgstr "Prüfe auf Dateikonflikte"
1
0
[pacman-dev] CVS update of pacman-lib/lib/libalpm (conflict.c remove.c)
by dan@archlinux.org 19 Feb '07
by dan@archlinux.org 19 Feb '07
19 Feb '07
Date: Sunday, February 18, 2007 @ 22:18:59
Author: dan
Path: /home/cvs-pacman/pacman-lib/lib/libalpm
Modified: conflict.c (1.37 -> 1.38) remove.c (1.65 -> 1.66)
* Added some improved debug output to file conflict checking.
* Small change to string in remove.c (translators may or may not have to worry
about this, depending on their already existing translation).
------------+
conflict.c | 57 ++++++++++++++++++++++++++++++---------------------------
remove.c | 2 +-
2 files changed, 31 insertions(+), 28 deletions(-)
Index: pacman-lib/lib/libalpm/conflict.c
diff -u pacman-lib/lib/libalpm/conflict.c:1.37 pacman-lib/lib/libalpm/conflict.c:1.38
--- pacman-lib/lib/libalpm/conflict.c:1.37 Tue Feb 13 23:52:17 2007
+++ pacman-lib/lib/libalpm/conflict.c Sun Feb 18 22:18:59 2007
@@ -241,9 +241,7 @@
}
}
}
- for(alpm_list_t *i = ret; i; i = i->next) {
- _alpm_log(PM_LOG_DEBUG, "found conflict = %s", i->data);
- }
+
return(ret);
}
@@ -280,17 +278,18 @@
}
}
}
- for(alpm_list_t *i = ret; i; i = i->next) {
- _alpm_log(PM_LOG_DEBUG, "found conflict = %s", i->data);
- }
+
return(ret);
}
-/* Adds a PM_CONFLICT_TYPE_FILE to a conflicts list.
- * Pass the conflicts list, package name, and a file string of the conflict.
+/* Adds pmconflict_t to a conflicts list. Pass the conflicts list, type (either
+ * PM_CONFLICT_TYPE_TARGET or PM_CONFLICT_TYPE_FILE), a file string, and either
+ * two package names or one package name and NULL. This is a wrapper for former
+ * functionality that was done inline.
*/
-static alpm_list_t *add_fileconflict(alpm_list_t *conflicts, char *name,
- char *filestr)
+static alpm_list_t *add_fileconflict(alpm_list_t *conflicts,
+ pmconflicttype_t type, char *filestr, char* name1,
+ char* name2)
{
pmconflict_t *conflict = malloc(sizeof(pmconflict_t));
if(conflict == NULL) {
@@ -298,11 +297,18 @@
sizeof(pmconflict_t));
return(conflicts);
}
- conflict->type = PM_CONFLICT_TYPE_FILE;
- STRNCPY(conflict->target, name, PKG_NAME_LEN);
+ conflict->type = type;
+ STRNCPY(conflict->target, name1, PKG_NAME_LEN);
STRNCPY(conflict->file, filestr, CONFLICT_FILE_LEN);
- conflict->ctarget[0] = 0;
+ if(name2) {
+ STRNCPY(conflict->ctarget, name2, PKG_NAME_LEN);
+ } else {
+ conflict->ctarget[0] = '\0';
+ }
+
conflicts = alpm_list_add(conflicts, conflict);
+ _alpm_log(PM_LOG_DEBUG, "found file conflict %s, packages %s and %s",
+ filestr, name1, name2 ? name2 : "(filesystem)");
return(conflicts);
}
@@ -337,21 +343,13 @@
/* CHECK 1: check every target against every target */
for(j = i->next; j; j = j->next) {
p2 = (pmpkg_t*)j->data;
+ _alpm_log(PM_LOG_DEBUG, "searching for file conflicts: %s and %s", p1->name, p2->name);
tmpfiles = chk_fileconflicts(p1->files, p2->files);
if(tmpfiles) {
for(k = tmpfiles; k; k = k->next) {
- pmconflict_t *conflict = malloc(sizeof(pmconflict_t));
- if(conflict == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"),
- sizeof(pmconflict_t));
- continue;
- }
- conflict->type = PM_CONFLICT_TYPE_TARGET;
- STRNCPY(conflict->target, p1->name, PKG_NAME_LEN);
- STRNCPY(conflict->file, k->data, CONFLICT_FILE_LEN);
- STRNCPY(conflict->ctarget, p2->name, PKG_NAME_LEN);
- conflicts = alpm_list_add(conflicts, conflict);
+ conflicts = add_fileconflict(conflicts, PM_CONFLICT_TYPE_TARGET,
+ k->data, p1->name, p2->name);
}
alpm_list_free_inner(tmpfiles, &free);
alpm_list_free(tmpfiles);
@@ -359,6 +357,7 @@
}
/* CHECK 2: check every target against the filesystem */
+ _alpm_log(PM_LOG_DEBUG, "searching for filesystem conflicts: %s", p1->name);
dbpkg = _alpm_db_get_pkgfromcache(db, p1->name);
/* Do two different checks here. f the package is currently installed,
@@ -369,6 +368,7 @@
tmpfiles = chk_filedifference(p1->files, alpm_pkg_get_files(dbpkg));
for(j = tmpfiles; j; j = j->next) {
filestr = j->data;
+ _alpm_log(PM_LOG_DEBUG, "checking possible conflict: %s", filestr);
snprintf(path, PATH_MAX, "%s%s", root, filestr);
@@ -376,7 +376,7 @@
if(lstat(path, &buf) == 0 && !S_ISDIR(buf.st_mode)) {
/* Look at all the targets to see if file has changed hands */
for(k = targets; k; k = k->next) {
- pmpkg_t *p2 = (pmpkg_t *)k->data;
+ p2 = (pmpkg_t *)k->data;
/* Ensure we aren't looking at current package */
if(strcmp(p2->name, p1->name)) {
pmpkg_t *localp2 = _alpm_db_get_pkgfromcache(db, p2->name);
@@ -384,8 +384,10 @@
if(localp2 && !alpm_list_find_str(alpm_pkg_get_files(p2), filestr)
&& alpm_list_find_str(alpm_pkg_get_files(localp2), filestr)) {
*skip_list = alpm_list_add(*skip_list, strdup(filestr));
+ _alpm_log(PM_LOG_DEBUG, "adding to skiplist: %s", filestr);
} else {
- conflicts = add_fileconflict(conflicts, p1->name, filestr);
+ conflicts = add_fileconflict(conflicts, PM_CONFLICT_TYPE_FILE,
+ filestr, p1->name, NULL);
break;
}
}
@@ -403,7 +405,8 @@
/* stat the file - if it exists and is not a dir, report a conflict */
if(lstat(path, &buf) == 0 && !S_ISDIR(buf.st_mode)) {
- conflicts = add_fileconflict(conflicts, p1->name, filestr);
+ conflicts = add_fileconflict(conflicts, PM_CONFLICT_TYPE_FILE,
+ filestr, p1->name, NULL);
}
}
}
Index: pacman-lib/lib/libalpm/remove.c
diff -u pacman-lib/lib/libalpm/remove.c:1.65 pacman-lib/lib/libalpm/remove.c:1.66
--- pacman-lib/lib/libalpm/remove.c:1.65 Sun Feb 18 17:07:11 2007
+++ pacman-lib/lib/libalpm/remove.c Sun Feb 18 22:18:59 2007
@@ -241,7 +241,7 @@
}
}
if(skipit) {
- _alpm_log(PM_LOG_WARNING, _("skipping removal of %s as it has moved to another package"),
+ _alpm_log(PM_LOG_WARNING, _("%s has moved packages, skipping removal"),
file);
} else if(needbackup) {
/* if the file is flagged, back it up to .pacsave */
2
1
Date: Sunday, February 18, 2007 @ 23:13:13
Author: dan
Path: /home/cvs-pacman/pacman-lib
Modified: contrib/bash_completion (1.1 -> 1.2)
lib/libalpm/remove.c (1.66 -> 1.67)
src/pacman/pacman.c (1.97 -> 1.98)
* Updated bash_completion script to 3.0 options.
* Changed that removal message again, hopefully it sounds good now.
* Shortened a usage option description so it would not wrap at 81 chars.
-------------------------+
contrib/bash_completion | 189 ++++++++++++++++++++++++----------------------
lib/libalpm/remove.c | 2
src/pacman/pacman.c | 2
3 files changed, 104 insertions(+), 89 deletions(-)
Index: pacman-lib/contrib/bash_completion
diff -u pacman-lib/contrib/bash_completion:1.1 pacman-lib/contrib/bash_completion:1.2
--- pacman-lib/contrib/bash_completion:1.1 Fri Feb 16 14:37:03 2007
+++ pacman-lib/contrib/bash_completion Sun Feb 18 23:13:13 2007
@@ -1,25 +1,25 @@
-# vim: set ft=sh:
+# vim: set ft=sh ts=2 sw=2 et:
# file: /etc/bash_completion.d/pacman
-# Bash completion for ArchLinux
-# Original: v.1.1 Manolis Tzanidakis <mtzanidakis(a)freemail.gr>
+# Bash completion for pacman
+# Original: Manolis Tzanidakis <mtzanidakis(a)freemail.gr>
#
# Distributed under the terms of the GNU General Public License, v2 or later.
#
-## Changelog ####################################################
-# #
-# * 1.1 (20040117) #
-# - Code cleanup #
-# - Updated to pacman 2.7.2-2 #
-# * 20040216 (orelien) #
-# - Improved available_{pkgs,groups) functions #
-# - Added support for querying groups #
-# #
-#################################################################
+## ChangeLog ##
+#
+# * 3.0 (2007-02-18)
+# - Updated to pacman 3.0.0 options
+# * 1.1 (2004-01-17)
+# - Code cleanup
+# - Updated to pacman 2.7.2-2
+# * 2004-02-16 (orelien)
+# - Improved available_{pkgs,groups) functions
+# - Added support for querying groups
+#
## initial functions
-#
rem_selected ()
{
@@ -36,7 +36,7 @@
# remove word from list of completions
COMPREPLY=(${COMPREPLY/ ${i%% *} / })
done
- echo ${COMPREPLY[@]})))
+ echo ${COMPREPLY[@]})))
return 0
}
@@ -83,14 +83,7 @@
COMPREPLY=( $( compgen -W "$( for i in $available_groups; do echo ${i%-*-*}; done )" -- $cur ) )
}
-## init (/etc/rc.d) script completion (quick 'n' dirty ;-)
-#
-
-complete -W "start stop restart" \
- $(for i in /etc/rc.d/*; do echo ${i##*/}; done)
-
## makepkg completion
-#
_makepkg ()
{
@@ -100,30 +93,38 @@
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
- -@(p|w))
+ -p)
_filedir
return 0
;;
- --help|--cleancache|--genmd5)
+ --help|--cleancache)
COMPREPLY=''
return 0
;;
esac
if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-b --builddeps \
+ COMPREPLY=( $( compgen -W '\
+ -b --builddeps \
+ -B --noccache \
-c --clean \
-C --cleancache \
-d --nodeps \
+ -e --noextract \
-f --force \
- -g --genmd5 \
+ -g --geninteg \
-h --help \
-i --install \
+ -j \
+ -L --log \
-m --nocolor \
- -n --nostrip \
+ -o --nobuild \
+ -p \
-r --rmdeps \
-s --syncdeps \
- -p -w' -- $cur ) )
+ -S --usesudo \
+ --noconfirm \
+ --noprogressbar' -- $cur ) )
fi
rem_selected
@@ -131,18 +132,17 @@
complete -o default -F _makepkg makepkg
## pacman completion
-#
_instring ()
{
- str="${1}"
- shift 1
- for c in "${@}"; do
- if [ $(expr index "${str}" "${c}") -gt 0 ]; then
- return 0
- fi
- done
- return 1
+ str="${1}"
+ shift 1
+ for c in "${@}"; do
+ if [ $(expr index "${str}" "${c}") -gt 0 ]; then
+ return 0
+ fi
+ done
+ return 1
}
_pacman ()
@@ -153,7 +153,7 @@
# This argument parsing is done so we can check for flag existance later
# right now it's a tad crappy, but does the job
for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do
- a=${COMP_WORDS[i]}
+ a=${COMP_WORDS[i]}
arg="${a:0:2}"
toparse="${a:2}"
@@ -210,36 +210,39 @@
cur=${COMP_WORDS[COMP_CWORD]}
if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '\
- -A --add \
- -F --freshen \
- -h --help \
- -Q --query \
- -R --remove \
- -S --sync \
- -U --upgrade \
- -V --version \
- ' -- $cur ) )
- rem_selected
- return 0
+ COMPREPLY=( $( compgen -W '\
+ -A --add \
+ -F --freshen \
+ -h --help \
+ -Q --query \
+ -R --remove \
+ -S --sync \
+ -U --upgrade \
+ -V --version \
+ ' -- $cur ) )
+ rem_selected
+ return 0
fi
if [[ "$cur" == -* ]]; then
case "${op}" in
A|U|F)
COMPREPLY=( $( compgen -W '\
- -d --nodeps \
- -f --force \
- -h --help \
- --config \
- --noconfirm \
- --noprogressbar \
- -v --verbose \
- -r --root \
- -b --dbpath \
- ' -- $cur ) )
+ -d --nodeps \
+ -f --force \
+ -h --help \
+ --config \
+ --noconfirm \
+ --ask \
+ --noprogressbar \
+ --noscriptlet \
+ -v --verbose \
+ -r --root \
+ -b --dbpath \
+ --cachedir \
+ ' -- $cur ) )
return 0
- ;;
+ ;;
R)
COMPREPLY=( $( compgen -W '\
-c --cascade \
@@ -249,19 +252,23 @@
-k --dbonly \
-n --nosave \
-s --recursive \
- --config \
- --noconfirm \
- --noprogressbar \
+ --config \
+ --noconfirm \
+ --ask \
+ --noprogressbar \
+ --noscriptlet \
-v --verbose \
-r --root \
-b --dbpath \
+ --cachedir \
' -- $cur ) )
return 0
- ;;
+ ;;
S)
COMPREPLY=( $( compgen -W '\
-c --clean \
-d --nodeps \
+ -e --dependsonly \
-f --force \
-g --groups \
-h --help \
@@ -272,17 +279,22 @@
-u --sysupgrade \
-w --downloadonly \
-y --refresh \
- --config \
- --noconfirm \
- --noprogressbar \
+ --ignore \
+ --config \
+ --noconfirm \
+ --ask \
+ --noprogressbar \
+ --noscriptlet \
-v --verbose \
-r --root \
-b --dbpath \
+ --cachedir \
' -- $cur ) )
return 0
- ;;
+ ;;
Q)
COMPREPLY=( $( compgen -W '\
+ -c --changelog \
-e --orphans \
-g --groups \
-h --help \
@@ -292,54 +304,57 @@
-o --owns \
-p --file \
-s --search \
- --config \
- --noconfirm \
- --noprogressbar \
+ --config \
+ --noconfirm \
+ --ask \
+ --noprogressbar \
+ --noscriptlet \
-v --verbose \
-r --root \
-b --dbpath \
+ --cachedir \
' -- $cur ) )
return 0
- ;;
+ ;;
esac
rem_selected
else
case "${op}" in
A|U)
- COMPREPLY=( $( compgen -d -- "$cur" ) \
+ COMPREPLY=( $( compgen -d -- "$cur" ) \
$( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) )
return 0
- ;;
+ ;;
h|V)
COMPREPLY=''
return 0
- ;;
+ ;;
Q)
if _instring $mod g; then
- _installed_groups
+ _installed_groups
elif _instring $mod o; then
- COMPREPLY=( $( compgen -d -- "$cur" ) \
- $( compgen -f -- "$cur" ) )
+ COMPREPLY=( $( compgen -d -- "$cur" ) \
+ $( compgen -f -- "$cur" ) )
elif _instring $mod p; then
- COMPREPLY=( $( compgen -d -- "$cur" ) \
- $( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) )
+ COMPREPLY=( $( compgen -d -- "$cur" ) \
+ $( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) )
else
- _installed_pkgs
+ _installed_pkgs
fi
return 0
- ;;
+ ;;
R)
_installed_pkgs
return 0
- ;;
+ ;;
S)
if _instring $mod l; then
- _available_repos
+ _available_repos
else
- _available_pkgs
+ _available_pkgs
fi
return 0
- ;;
+ ;;
esac
fi
Index: pacman-lib/lib/libalpm/remove.c
diff -u pacman-lib/lib/libalpm/remove.c:1.66 pacman-lib/lib/libalpm/remove.c:1.67
--- pacman-lib/lib/libalpm/remove.c:1.66 Sun Feb 18 22:18:59 2007
+++ pacman-lib/lib/libalpm/remove.c Sun Feb 18 23:13:13 2007
@@ -241,7 +241,7 @@
}
}
if(skipit) {
- _alpm_log(PM_LOG_WARNING, _("%s has moved packages, skipping removal"),
+ _alpm_log(PM_LOG_WARNING, _("%s has changed ownership, skipping removal"),
file);
} else if(needbackup) {
/* if the file is flagged, back it up to .pacsave */
Index: pacman-lib/src/pacman/pacman.c
diff -u pacman-lib/src/pacman/pacman.c:1.97 pacman-lib/src/pacman/pacman.c:1.98
--- pacman-lib/src/pacman/pacman.c:1.97 Thu Feb 15 09:32:01 2007
+++ pacman-lib/src/pacman/pacman.c Sun Feb 18 23:13:13 2007
@@ -134,7 +134,7 @@
} else if(op == PM_OP_SYNC) {
printf(_("usage: %s {-S --sync} [options] [package]\n"), myname);
printf(_("options:\n"));
- printf(_(" -c, --clean remove old packages from cache directory (use -cc for all)\n"));
+ printf(_(" -c, --clean remove old packages from cache directory (-cc for all)\n"));
printf(_(" -d, --nodeps skip dependency checks\n"));
printf(_(" -e, --dependsonly install dependencies only\n"));
printf(_(" -f, --force force install, overwrite conflicting files\n"));
1
0
Date: Sunday, February 18, 2007 @ 17:07:12
Author: aaron
Path: /home/cvs-pacman/pacman-lib/lib/libalpm
Modified: add.c (1.115 -> 1.116) package.c (1.71 -> 1.72)
package.h (1.30 -> 1.31) remove.c (1.64 -> 1.65)
trans.c (1.34 -> 1.35) trans.h (1.22 -> 1.23)
Moved the update_depends function to trans.c, as it depends on a transaction
object
-----------+
add.c | 3 -
package.c | 87 --------------------------------------------------------
package.h | 1
remove.c | 2 -
trans.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
trans.h | 1
6 files changed, 96 insertions(+), 91 deletions(-)
Index: pacman-lib/lib/libalpm/add.c
diff -u pacman-lib/lib/libalpm/add.c:1.115 pacman-lib/lib/libalpm/add.c:1.116
--- pacman-lib/lib/libalpm/add.c:1.115 Sat Feb 17 03:55:06 2007
+++ pacman-lib/lib/libalpm/add.c Sun Feb 18 17:07:11 2007
@@ -790,7 +790,6 @@
* looking for packages depending on the package to add */
_alpm_pkg_update_requiredby(newpkg);
-
/* make an install date (in UTC) */
time_t t = time(NULL);
strncpy(newpkg->installdate, asctime(gmtime(&t)), PKG_DATE_LEN);
@@ -813,7 +812,7 @@
}
/* update dependency packages' REQUIREDBY fields */
- _alpm_pkg_update_depends(newpkg, 0 /*is an add*/);
+ _alpm_trans_update_depends(trans, newpkg);
PROGRESS(trans, (is_upgrade ? PM_TRANS_PROGRESS_UPGRADE_START : PM_TRANS_PROGRESS_ADD_START),
newpkg->name, 100, pkg_count, (pkg_count - targ_count +1));
Index: pacman-lib/lib/libalpm/package.c
diff -u pacman-lib/lib/libalpm/package.c:1.71 pacman-lib/lib/libalpm/package.c:1.72
--- pacman-lib/lib/libalpm/package.c:1.71 Sat Feb 17 03:55:06 2007
+++ pacman-lib/lib/libalpm/package.c Sun Feb 18 17:07:11 2007
@@ -551,93 +551,6 @@
}
}
-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;
Index: pacman-lib/lib/libalpm/package.h
diff -u pacman-lib/lib/libalpm/package.h:1.30 pacman-lib/lib/libalpm/package.h:1.31
--- pacman-lib/lib/libalpm/package.h:1.30 Sat Feb 17 03:55:06 2007
+++ pacman-lib/lib/libalpm/package.h Sun Feb 18 17:07:11 2007
@@ -108,7 +108,6 @@
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 */
Index: pacman-lib/lib/libalpm/remove.c
diff -u pacman-lib/lib/libalpm/remove.c:1.64 pacman-lib/lib/libalpm/remove.c:1.65
--- pacman-lib/lib/libalpm/remove.c:1.64 Sat Feb 17 03:55:06 2007
+++ pacman-lib/lib/libalpm/remove.c Sun Feb 18 17:07:11 2007
@@ -335,7 +335,7 @@
}
/* update dependency packages' REQUIREDBY fields */
- _alpm_pkg_update_depends(info, 1 /*is a remove*/);
+ _alpm_trans_update_depends(trans, info);
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) {
Index: pacman-lib/lib/libalpm/trans.c
diff -u pacman-lib/lib/libalpm/trans.c:1.34 pacman-lib/lib/libalpm/trans.c:1.35
--- pacman-lib/lib/libalpm/trans.c:1.34 Tue Jan 30 03:14:11 2007
+++ pacman-lib/lib/libalpm/trans.c Sun Feb 18 17:07:11 2007
@@ -38,6 +38,9 @@
#include "remove.h"
#include "sync.h"
#include "alpm.h"
+#include "deps.h"
+#include "cache.h"
+#include "provide.h"
pmtrans_t *_alpm_trans_new()
{
@@ -242,6 +245,96 @@
return(0);
}
+int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg)
+{
+ alpm_list_t *i, *j;
+ pmdb_t *localdb;
+
+ ALPM_LOG_FUNC;
+
+ /* Sanity checks */
+ ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
+ ASSERT(pkg != NULL, RET_ERR(PM_ERR_PKG_INVALID, -1));
+
+ if(pkg->depends) {
+ _alpm_log(PM_LOG_DEBUG, _("updating dependency packages 'requiredby' fields"));
+ }
+
+ localdb = alpm_option_get_localdb();
+ for(i = pkg->depends; i; i = i->next) {
+ pmdepend_t dep;
+ if(_alpm_splitdep(i->data, &dep) != 0) {
+ continue;
+ }
+
+ if(trans->packages && 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(trans->type == PM_TRANS_TYPE_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(trans->type == PM_TRANS_TYPE_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);
+ }
+ }
+ return(0);
+}
+
+
pmtranstype_t alpm_trans_get_type()
{
/* Sanity checks */
Index: pacman-lib/lib/libalpm/trans.h
diff -u pacman-lib/lib/libalpm/trans.h:1.22 pacman-lib/lib/libalpm/trans.h:1.23
--- pacman-lib/lib/libalpm/trans.h:1.22 Tue Jan 23 22:02:54 2007
+++ pacman-lib/lib/libalpm/trans.h Sun Feb 18 17:07:11 2007
@@ -84,6 +84,7 @@
int _alpm_trans_addtarget(pmtrans_t *trans, char *target);
int _alpm_trans_prepare(pmtrans_t *trans, alpm_list_t **data);
int _alpm_trans_commit(pmtrans_t *trans, alpm_list_t **data);
+int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg);
#endif /* _ALPM_TRANS_H */
1
0
[root@home etc]# pacman3 -Syu
:: Synchronizing package databases...
romashka is up to date
testing 9,5K 0,7K/s 00:00:13 [#####################] 100%
current 72,5K 37,1K/s 00:00:02 [#####################] 100%
extra 276,7K 17,9K/s 00:00:15 [#####################] 100%
community 169,2K 31,7K/s 00:00:05 [#####################] 100%
unstable is up to date
:: Starting full system upgrade...
warning: esekeyd: local (1.2.3-3) is newer than community (1.2.3-2)
resolving dependencies... done.
error: failed to prepare transaction (could not satisfy dependencies)
:: mpd requires flac=1.1.2
[root@home etc]# pacman -Su
:: esekeyd: local (1.2.3-3) appears to be newer than repo (community/1.2.3-2)
:: Above packages will be skipped. To manually upgrade use 'pacman -S <pkg>'
Targets: libmpcdec-1.2.5-1 audacious-plugins-1.2.5-3 iptables-1.3.7-2
kernel26-2.6.20-4 mpd-0.12.1-2
Total Package Size: 20.8 MB
Proceed with upgrade? [Y/n] n
[root@home etc]# pacman3 -Q flac
flac 1.1.2-3
[root@home etc]# pacman3 -Q pacman-rc
pacman-rc 2007.02.16-1
[root@home etc]#
--
Roman Kyrylych (Роман Кирилич)
3
6
Date: Sunday, February 18, 2007 @ 13:31:24
Author: aaron
Path: /home/cvs-pacman/pacman-lib/lib/libalpm/po
Modified: it.po (1.4 -> 1.5)
Added new italian translation from Giovanni Scafora <linuxmania(a)gmail.com>
-------+
it.po | 284 +++++++++++++++++++++++++++++++---------------------------------
1 file changed, 138 insertions(+), 146 deletions(-)
Index: pacman-lib/lib/libalpm/po/it.po
diff -u pacman-lib/lib/libalpm/po/it.po:1.4 pacman-lib/lib/libalpm/po/it.po:1.5
--- pacman-lib/lib/libalpm/po/it.po:1.4 Wed Feb 14 14:35:41 2007
+++ pacman-lib/lib/libalpm/po/it.po Sun Feb 18 13:31:24 2007
@@ -9,8 +9,8 @@
msgstr ""
"Project-Id-Version: libalpm VERSION\n"
"Report-Msgid-Bugs-To: pacman-dev(a)archlinux.org\n"
-"POT-Creation-Date: 2007-02-14 18:30+0100\n"
-"PO-Revision-Date: 2007-02-14 19:00+0100\n"
+"POT-Creation-Date: 2007-02-17 10:39+0100\n"
+"PO-Revision-Date: 2007-02-17 11:00+0100\n"
"Last-Translator: Giovanni Scafora <linuxmania(a)gmail.com>\n"
"Language-Team: Arch Linux Italian Team <linuxmania(a)gmail.com>\n"
"MIME-Version: 1.0\n"
@@ -27,254 +27,232 @@
msgid "loading target '%s'"
msgstr "caricamento del pacchetto '%s' in corso"
-#: lib/libalpm/add.c:175
+#: lib/libalpm/add.c:174
#, c-format
msgid "replacing older version %s-%s by %s in target list"
msgstr "sostituzione in corso della vecchia versione %s-%s con %s"
-#: lib/libalpm/add.c:184
+#: lib/libalpm/add.c:183
#, c-format
msgid "newer version %s-%s is in the target list -- skipping"
msgstr "è presente una versione più recente di %s-%s -- verrà ignorata"
-#: lib/libalpm/add.c:191
+#: lib/libalpm/add.c:190
#, c-format
msgid "reading '%s' metadata"
msgstr "lettura dei metadate di '%s' in corso"
-#: lib/libalpm/add.c:244 lib/libalpm/remove.c:110
+#: lib/libalpm/add.c:243 lib/libalpm/remove.c:110
msgid "looking for unsatisfied dependencies"
msgstr "ricerca delle dipendenze non soddisfatte"
-#: lib/libalpm/add.c:256 lib/libalpm/sync.c:473
+#: lib/libalpm/add.c:255 lib/libalpm/sync.c:473
msgid "looking for conflicts"
msgstr "ricerca dei conflitti in corso"
-#: lib/libalpm/add.c:295 lib/libalpm/remove.c:146
+#: lib/libalpm/add.c:294 lib/libalpm/remove.c:146
msgid "sorting by dependencies"
msgstr "ordinamento per dipendenze in corso"
-#: lib/libalpm/add.c:307
+#: lib/libalpm/add.c:306
msgid "cleaning up"
msgstr "pulizia in corso"
-#: lib/libalpm/add.c:324
+#: lib/libalpm/add.c:323
msgid "looking for file conflicts"
msgstr "ricerca dei conflitti tra file in corso"
-#: lib/libalpm/add.c:394
+#: lib/libalpm/add.c:392
#, c-format
msgid "upgrading package %s-%s"
msgstr "aggiornamento del pacchetto %s-%s in corso"
-#: lib/libalpm/add.c:419
-#, c-format
-msgid "removing old package first (%s-%s)"
-msgstr "rimozione del vecchio pacchetto (%s-%s) in corso"
-
-#: lib/libalpm/add.c:449
+#: lib/libalpm/add.c:415
#, c-format
msgid "adding package %s-%s"
msgstr "inclusione del pacchetto %s-%s in corso"
-#: lib/libalpm/add.c:460
+#: lib/libalpm/add.c:428
#, c-format
-msgid "adding new package %s-%s"
-msgstr "inclusione del nuovo pacchetto %s-%s in corso"
+msgid "removing old package first (%s-%s)"
+msgstr "rimozione del vecchio pacchetto (%s-%s) in corso"
+
+#: lib/libalpm/add.c:452
+#, c-format
+msgid "adding %s to the NoUpgrade array temporarilly"
+msgstr "aggiunta in corso di %s all'array temporaneo NoUpgrade"
-#: lib/libalpm/add.c:464
+#: lib/libalpm/add.c:470
msgid "extracting files"
msgstr "estrazione dei file in corso"
-#: lib/libalpm/add.c:480 lib/libalpm/util.c:461
+#: lib/libalpm/add.c:485 lib/libalpm/util.c:461
msgid "could not get current working directory"
msgstr "impossibile utilizzare la directory corrente"
-#: lib/libalpm/add.c:538
+#: lib/libalpm/add.c:541
#, c-format
msgid "notice: %s is in NoExtract -- skipping extraction"
msgstr "avviso: %s è in NoExtract -- estrazione ignorata"
-#: lib/libalpm/add.c:574 lib/libalpm/add.c:727
+#: lib/libalpm/add.c:587 lib/libalpm/add.c:588 lib/libalpm/add.c:737
#, c-format
msgid "could not extract %s (%s)"
msgstr "impossibile estrarre %s (%s)"
-#: lib/libalpm/add.c:617
+#: lib/libalpm/add.c:631
#, c-format
msgid "checking md5 hashes for %s"
msgstr "controllo dell'hash md5 di %s"
-#: lib/libalpm/add.c:618 lib/libalpm/add.c:625
+#: lib/libalpm/add.c:633
+#, c-format
+msgid "checking sha1 hashes for %s"
+msgstr "controllo degli hash sha1 di %s"
+
+#: lib/libalpm/add.c:635
#, c-format
msgid "current: %s"
msgstr "attuale: %s"
-#: lib/libalpm/add.c:619 lib/libalpm/add.c:626
+#: lib/libalpm/add.c:636
#, c-format
msgid "new: %s"
msgstr "nuovo: %s"
-#: lib/libalpm/add.c:621 lib/libalpm/add.c:628
+#: lib/libalpm/add.c:637
#, c-format
msgid "original: %s"
msgstr "originale: %s"
-#: lib/libalpm/add.c:624
-#, c-format
-msgid "checking sha1 hashes for %s"
-msgstr "controllo degli hash sha1 di %s"
-
-#: lib/libalpm/add.c:642
+#: lib/libalpm/add.c:649
#, c-format
msgid "could not rename %s (%s)"
msgstr "impossibile rinominare %s (%s)"
-#: lib/libalpm/add.c:643
+#: lib/libalpm/add.c:650
#, c-format
msgid "error: could not rename %s (%s)"
msgstr "errore: impossibile rinominare %s (%s)"
-#: lib/libalpm/add.c:647 lib/libalpm/add.c:691
+#: lib/libalpm/add.c:656 lib/libalpm/add.c:675
#, c-format
-msgid "could not copy %s to %s (%s)"
-msgstr "impossibile copiare %s in %s (%s)"
+msgid "could not copy tempfile to %s (%s)"
+msgstr "impossibile copiare il file temporaneo in %s (%s)"
-#: lib/libalpm/add.c:648
+#: lib/libalpm/add.c:657
#, c-format
-msgid "error: could not copy %s to %s (%s)"
-msgstr "errore: impossibile copiare %s in %s (%s)"
+msgid "error: could not copy tempfile to %s (%s)"
+msgstr "errore: impossibile il file temporaneo in %s (%s)"
-#: lib/libalpm/add.c:652
+#: lib/libalpm/add.c:661
#, c-format
msgid "%s saved as %s.pacorig"
msgstr "%s salvato come %s.pacorig"
-#: lib/libalpm/add.c:653
+#: lib/libalpm/add.c:662
#, c-format
msgid "warning: %s saved as %s"
msgstr "attenzione: %s salvato come %s"
-#: lib/libalpm/add.c:663 lib/libalpm/add.c:666 lib/libalpm/add.c:672
-msgid "action: installing new file"
-msgstr "azione: installazione del nuovo file in corso"
+#: lib/libalpm/add.c:672
+#, c-format
+msgid "action: installing new file: %s"
+msgstr "azione: installazione del nuovo file %s in corso"
-#: lib/libalpm/add.c:670
+#: lib/libalpm/add.c:682 lib/libalpm/add.c:688 lib/libalpm/add.c:693
msgid "action: leaving existing file in place"
msgstr "azione: il file non è stato spostato"
-#: lib/libalpm/add.c:676
+#: lib/libalpm/add.c:696
msgid "action: keeping current file and installing new one with .pacnew ending"
msgstr ""
"azione: il file attuale non è stato spostato e sarà installato un nuovo file "
"con il suffisso .pacnew"
-#: lib/libalpm/add.c:680
+#: lib/libalpm/add.c:699
#, c-format
msgid "could not install %s as %s: %s"
msgstr "impossibile installare %s come %s: %s"
-#: lib/libalpm/add.c:681
+#: lib/libalpm/add.c:700
#, c-format
msgid "error: could not install %s as %s: %s"
msgstr "errore: impossibile installare %s come %s: %s"
-#: lib/libalpm/add.c:683
+#: lib/libalpm/add.c:702
#, c-format
msgid "%s installed as %s"
msgstr "%s installato come %s"
-#: lib/libalpm/add.c:684
+#: lib/libalpm/add.c:703
#, c-format
msgid "warning: %s installed as %s"
msgstr "attenzione: %s installato come %s"
-#: lib/libalpm/add.c:689 lib/libalpm/add.c:709
-#, c-format
-msgid "extracting %s"
-msgstr "estrazione di %s in corso"
-
-#: lib/libalpm/add.c:711
+#: lib/libalpm/add.c:717
#, c-format
msgid "%s is in NoUpgrade -- skipping"
msgstr "%s è in NoUpgrade -- verrà ignorato"
-#: lib/libalpm/add.c:713
+#: lib/libalpm/add.c:718
#, c-format
msgid "extracting %s as %s.pacnew"
msgstr "estrazione di %s come %s.pacnew"
-#: lib/libalpm/add.c:714
+#: lib/libalpm/add.c:719
#, c-format
-msgid "warning: extracting %s%s as %s"
-msgstr "attenzione: estrazione di %s%s come %s"
+msgid "warning: extracting %s as %s.pacnew"
+msgstr "attenzione: estrazione in corso di %s come %s.pacnew"
-#: lib/libalpm/add.c:728
+#: lib/libalpm/add.c:722
+#, c-format
+msgid "extracting %s"
+msgstr "estrazione di %s in corso"
+
+#: lib/libalpm/add.c:738
#, c-format
msgid "error: could not extract %s (%s)"
msgstr "errore: impossibile estrarre %s (%s)"
-#: lib/libalpm/add.c:738
-msgid "appending backup entry"
-msgstr "aggiungo la voce di backup"
+#: lib/libalpm/add.c:750
+#, c-format
+msgid "appending backup entry for %s"
+msgstr "aggiunta in corso della voce di backup per %s"
-#: lib/libalpm/add.c:769 lib/libalpm/add.c:771
+#: lib/libalpm/add.c:782 lib/libalpm/add.c:784
#, c-format
msgid "errors occurred while %s %s"
msgstr "errori verificati in %s %s"
-#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
+#: lib/libalpm/add.c:783 lib/libalpm/add.c:785
msgid "upgrading"
msgstr "aggiornamento in corso"
-#: lib/libalpm/add.c:770 lib/libalpm/add.c:772
+#: lib/libalpm/add.c:783 lib/libalpm/add.c:785
msgid "installing"
msgstr "installazione in corso"
-#: lib/libalpm/add.c:793 lib/libalpm/add.c:849
-#, c-format
-msgid "adding '%s' in requiredby field for '%s'"
-msgstr "inclusione di '%s' nel campo 'richiesto da' per '%s'"
-
-#: lib/libalpm/add.c:804 lib/libalpm/remove.c:326
+#: lib/libalpm/add.c:800 lib/libalpm/remove.c:328
msgid "updating database"
msgstr "aggiornamento del database in corso"
-#: lib/libalpm/add.c:805
+#: lib/libalpm/add.c:801
#, c-format
msgid "adding database entry '%s'"
msgstr "inclusione della voce '%s' nel database"
-#: lib/libalpm/add.c:807
+#: lib/libalpm/add.c:804 lib/libalpm/add.c:806
#, c-format
msgid "could not update database entry %s-%s"
msgstr "impossibile aggiornare la voce %s-%s nel database"
-#: lib/libalpm/add.c:809
-#, c-format
-msgid "error updating database for %s-%s!"
-msgstr "errore durante l'aggiornamento del database per %s-%s!"
-
-#: lib/libalpm/add.c:813
+#: lib/libalpm/add.c:812
#, c-format
msgid "could not add entry '%s' in cache"
msgstr "impossible includere la voce '%s' nella cache"
-#: lib/libalpm/add.c:819 lib/libalpm/remove.c:336
-msgid "updating dependency packages 'requiredby' fields"
-msgstr "aggiornamento dei campi 'richiesto da' delle dipendenze"
-
-#: lib/libalpm/add.c:841
-#, c-format
-msgid "could not find dependency '%s'"
-msgstr "impossibile trovare la dipendenza '%s'"
-
-#: lib/libalpm/add.c:852 lib/libalpm/remove.c:378
-#, c-format
-msgid "could not update 'requiredby' database entry %s-%s"
-msgstr "impossibile aggiornare la voce 'richiesto da' del database %s-%s"
-
-#: lib/libalpm/add.c:878 lib/libalpm/remove.c:391 lib/libalpm/sync.c:1043
+#: lib/libalpm/add.c:840 lib/libalpm/remove.c:348 lib/libalpm/sync.c:1043
#, c-format
msgid "running \"ldconfig -r %s\""
msgstr "esecuzione in corso di \"ldconfig -r %s\""
@@ -599,8 +577,8 @@
msgstr "db vs targs: trovato %s come conflitto per %s"
#: 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/deps.c:594 lib/libalpm/deps.c:634 lib/libalpm/group.c:43
+#: lib/libalpm/handle.c:49 lib/libalpm/package.c:80 lib/libalpm/sync.c:65
#: 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
@@ -648,68 +626,68 @@
msgid "possible dependency cycle detected"
msgstr "individuato un possibile ciclo di dipendenze"
-#: lib/libalpm/deps.c:178
+#: lib/libalpm/deps.c:179
msgid "sorting dependencies finished"
msgstr "ordinamento delle dipendenze terminato"
-#: lib/libalpm/deps.c:219 lib/libalpm/deps.c:276
+#: lib/libalpm/deps.c:220 lib/libalpm/deps.c:277
msgid "null package found in package list"
msgstr "nessun pacchetto trovato"
-#: lib/libalpm/deps.c:224
+#: lib/libalpm/deps.c:225
#, c-format
msgid "cannot find package installed '%s'"
msgstr "impossibile trovare il pacchetto installato '%s'"
-#: lib/libalpm/deps.c:258 lib/libalpm/deps.c:379
+#: lib/libalpm/deps.c:259 lib/libalpm/deps.c:380
#, c-format
msgid "checkdeps: found %s as required by %s"
msgstr "checkdeps: trovato %s come richiesto da %s"
-#: lib/libalpm/deps.c:284
+#: lib/libalpm/deps.c:285
#, c-format
msgid "no dependencies for target '%s'"
msgstr "nessuna dipendenza richiesta dal pacchetto '%s'"
-#: lib/libalpm/deps.c:330
+#: lib/libalpm/deps.c:331
#, c-format
msgid "checkdeps: found %s as a dependency for %s"
msgstr "checkdeps: trovato %s come dipendenza di %s"
-#: lib/libalpm/deps.c:478
+#: lib/libalpm/deps.c:479
#, c-format
msgid "cannot find package \"%s\" or anything that provides it!"
msgstr "impossibile trovare il pacchetto \"%s\" o qualcosa che lo fornisca!"
-#: lib/libalpm/deps.c:483
+#: lib/libalpm/deps.c:484
msgid "dep is NULL!"
msgstr "dep è NULL!"
-#: lib/libalpm/deps.c:498
+#: lib/libalpm/deps.c:499
#, c-format
msgid "excluding %s -- explicitly installed"
msgstr "esclusione di %s -- installato esplicitamente"
-#: lib/libalpm/deps.c:515
+#: lib/libalpm/deps.c:516
#, c-format
msgid "loading ALL info for '%s'"
msgstr "caricamento in corso di tutte le informazioni di '%s'"
-#: lib/libalpm/deps.c:518
+#: lib/libalpm/deps.c:519
#, c-format
msgid "adding '%s' to the targets"
msgstr "inclusione in corso di '%s' nei pacchetti"
-#: lib/libalpm/deps.c:546
+#: lib/libalpm/deps.c:547
msgid "started resolving dependencies"
msgstr "avvio risoluzione delle dipendenze"
-#: lib/libalpm/deps.c:564
+#: lib/libalpm/deps.c:565
#, c-format
msgid "%s provides dependency %s -- skipping"
msgstr "%s fornisce la dipendenza %s -- verrà ignorato"
-#: lib/libalpm/deps.c:589
+#: lib/libalpm/deps.c:590
#, c-format
msgid ""
"cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)"
@@ -717,27 +695,27 @@
"impossibile risolvere le dipendenze per \"%s\" (\"%s\" non è presente nella "
"lista dei pacchetti)"
-#: lib/libalpm/deps.c:606
+#: lib/libalpm/deps.c:607
#, c-format
msgid "dependency %s is already in the target list -- skipping"
msgstr "la dipendenza %s è già nella lista dei pacchetti -- verrà ignorata"
-#: lib/libalpm/deps.c:626
+#: lib/libalpm/deps.c:627
#, c-format
msgid "pulling dependency %s (needed by %s)"
msgstr "aggiunta la dipendenza %s (richiesta da %s)"
-#: lib/libalpm/deps.c:630
+#: lib/libalpm/deps.c:631
#, c-format
msgid "cannot resolve dependencies for \"%s\""
msgstr "impossibile risolvere le dipendenze per \"%s\""
-#: lib/libalpm/deps.c:646
+#: lib/libalpm/deps.c:647
#, c-format
msgid "dependency cycle detected: %s"
msgstr "individuato un possibile ciclo di dipendenze: %s"
-#: lib/libalpm/deps.c:650
+#: lib/libalpm/deps.c:651
msgid "finished resolving dependencies"
msgstr "risoluzione delle dipendenze terminata"
@@ -950,22 +928,22 @@
msgid "%s can't be opened\n"
msgstr "impossibile aprire %s\n"
-#: lib/libalpm/package.c:146
+#: lib/libalpm/package.c:148
#, c-format
msgid "%s: forcing upgrade to version %s"
msgstr "%s: aggiornamento forzato alla versione %s"
-#: lib/libalpm/package.c:150
+#: lib/libalpm/package.c:152
#, c-format
msgid "%s: local (%s) is newer than %s (%s)"
msgstr "%s: la versione installata (%s) è più recente di %s (%s)"
-#: lib/libalpm/package.c:157
+#: lib/libalpm/package.c:159
#, c-format
msgid "%s-%s: ignoring package upgrade (%s)"
msgstr "%s-%s: aggiornamento del pacchetto (%s) ignorato"
-#: lib/libalpm/package.c:162
+#: lib/libalpm/package.c:163
#, c-format
msgid "%s-%s: delaying upgrade of package (%s)"
msgstr "%s-%s: ritardo durante l'aggiornamento del pacchetto (%s)"
@@ -1013,6 +991,30 @@
msgid "missing package filelist in %s, generating one"
msgstr "filelist del pacchetto mancante in %s, creazione in corso"
+#: lib/libalpm/package.c:547
+#, c-format
+msgid "adding '%s' in requiredby field for '%s'"
+msgstr "inclusione di '%s' nel campo 'richiesto da' per '%s'"
+
+#: lib/libalpm/package.c:558
+msgid "updating dependency packages 'requiredby' fields"
+msgstr "aggiornamento dei campi 'richiesto da' delle dipendenze"
+
+#: lib/libalpm/package.c:601 lib/libalpm/package.c:625
+#, c-format
+msgid "updating 'requiredby' field for package '%s'"
+msgstr "aggiornamento in corso del campo 'richiesto da' del pacchetto '%s'"
+
+#: lib/libalpm/package.c:611 lib/libalpm/package.c:635
+#, c-format
+msgid "could not update 'requiredby' database entry %s-%s"
+msgstr "impossibile aggiornare la voce 'richiesto da' del database %s-%s"
+
+#: lib/libalpm/package.c:617
+#, c-format
+msgid "could not find dependency '%s'"
+msgstr "impossibile trovare la dipendenza '%s'"
+
#: lib/libalpm/remove.c:78
#, c-format
msgid "could not find %s in database"
@@ -1042,80 +1044,70 @@
msgid "cannot remove file '%s': %s"
msgstr "impossibile rimuovere il file '%s': %s"
-#: lib/libalpm/remove.c:218
+#: lib/libalpm/remove.c:221
#, c-format
msgid "file %s does not exist"
msgstr "il file %s non esiste"
-#: lib/libalpm/remove.c:224
+#: lib/libalpm/remove.c:228
#, c-format
msgid "keeping directory %s"
msgstr "conservazione in corso della directory %s"
-#: lib/libalpm/remove.c:226
+#: lib/libalpm/remove.c:230
#, c-format
msgid "removing directory %s"
msgstr "rimozione in corso della directory %s"
-#: lib/libalpm/remove.c:240
+#: lib/libalpm/remove.c:244
#, c-format
msgid "skipping removal of %s as it has moved to another package"
msgstr "rimozione di %s ignorata poichè è stato spostato in un altro pacchetto"
-#: lib/libalpm/remove.c:252
+#: lib/libalpm/remove.c:255
#, c-format
msgid "%s saved as %s"
msgstr "%s salvato come %s"
-#: lib/libalpm/remove.c:256
+#: lib/libalpm/remove.c:259
#, c-format
msgid "unlinking %s"
msgstr "scollegamento in corso di %s"
-#: lib/libalpm/remove.c:263
+#: lib/libalpm/remove.c:266
#, c-format
msgid "cannot remove file %s: %s"
msgstr "impossibile rimuovere il file %s: %s"
-#: lib/libalpm/remove.c:291
+#: lib/libalpm/remove.c:293
#, c-format
msgid "removing package %s-%s"
msgstr "rimozione in corso del pacchetto %s-%s"
-#: lib/libalpm/remove.c:303
+#: lib/libalpm/remove.c:305
#, c-format
msgid "not removing package '%s', can't remove all files"
msgstr "impossibile rimuovere il pacchetto '%s' e tutti i file"
-#: lib/libalpm/remove.c:309
+#: lib/libalpm/remove.c:311
msgid "removing files"
msgstr "rimozione dei file in corso"
-#: lib/libalpm/remove.c:327
+#: lib/libalpm/remove.c:329
#, c-format
msgid "removing database entry '%s'"
msgstr "rimozione in corso della voce del database '%s'"
-#: lib/libalpm/remove.c:329
+#: lib/libalpm/remove.c:331
#, c-format
msgid "could not remove database entry %s-%s"
msgstr "impossibile rimuovere la voce del database %s-%s"
-#: lib/libalpm/remove.c:332
+#: lib/libalpm/remove.c:334
#, c-format
msgid "could not remove entry '%s' from cache"
msgstr "impossibile rimuovere la voce '%s' dalla cache"
-#: lib/libalpm/remove.c:366
-#, c-format
-msgid "could not find dependency '%s' for removal"
-msgstr "impossibile trovare la dipendenza '%s' per rimuoverla"
-
-#: lib/libalpm/remove.c:376
-#, c-format
-msgid "updating 'requiredby' field for package '%s'"
-msgstr "aggiornamento in corso del campo 'richiesto da' del pacchetto '%s'"
-
#: lib/libalpm/sync.c:200
msgid "checking for package upgrades"
msgstr "controllo in corso degli aggiornamenti del pacchetto"
1
0