1
0
mirror of https://github.com/moparisthebest/pacman synced 2025-01-08 12:28:00 -05:00

* Properly fix the NoUpgrade issues.

This commit is contained in:
Aaron Griffin 2006-12-22 06:07:33 +00:00
parent 2a89808667
commit 796490546e
2 changed files with 21 additions and 17 deletions

View File

@ -1,17 +1,22 @@
== This is my custom TODO file ==
* pacman: ALOT of functions are way too long. There should be an upper limit of
100-200 lines. _alpm_add_commit is around 600 lines, and is far too complex.
Quite alot of this needs to be refactored as we go.
* pacman: fixup doxygen documentation for public interface
* pacman: use gcc visibility (static) for non-public functions (all _alpm
functions should be static)
**** BUGS ****
* Removal of conflicts on -A and -U (INCOMPLETE)
* gensync: get all info from packages instead of PKGBUILDs
for now, we only need to check the PKGBUILD in case of a
'force' option
* gensync and makepkg: support for 1 _or more_ file integrity
algorithms at a time (mostly done).
* pacman: add pactest cases/functionality for all -Q operations and make sure
the output is sane
* etc/pacman.d/ install rules
* ordering of installed packages based on dependencies
i.e. pkga depends=(pkgb pkgc), pkgb depends=(pkgc)
pacman -S pkga pkgb pkgc

View File

@ -511,20 +511,19 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
if(!stat(expath, &buf) && !S_ISDIR(buf.st_mode)) {
/* file already exists */
if(!pmo_upgrade || oldpkg == NULL) {
nb = _alpm_list_is_strin(pathname, info->backup);
} else {
/* op == PM_TRANS_TYPE_UPGRADE */
md5_orig = _alpm_needbackup(pathname, oldpkg->backup);
sha1_orig = _alpm_needbackup(pathname, oldpkg->backup);
if(md5_orig || sha1_orig) {
nb = 1;
}
}
if(_alpm_list_is_strin(pathname, handle->noupgrade)) {
notouch = 1;
nb = 1;
} else {
if(!pmo_upgrade || oldpkg == NULL) {
nb = _alpm_list_is_strin(pathname, info->backup);
} else {
/* op == PM_TRANS_TYPE_UPGRADE */
md5_orig = _alpm_needbackup(pathname, oldpkg->backup);
sha1_orig = _alpm_needbackup(pathname, oldpkg->backup);
if(md5_orig || sha1_orig) {
nb = 1;
}
}
nb = 0;
}
}
@ -623,7 +622,7 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
alpm_logaction(_("warning: %s saved as %s"), expath, newpath);
}
}
} else if(md5_pkg || sha1_pkg) {
} else if(md5_orig || sha1_pkg) {
/* PM_UPGRADE */
int installnew = 0;