mirror of
https://github.com/moparisthebest/pacman
synced 2025-01-09 04:57:59 -05:00
* Properly fix the NoUpgrade issues.
This commit is contained in:
parent
2a89808667
commit
796490546e
13
TODO.aaron
13
TODO.aaron
@ -1,17 +1,22 @@
|
|||||||
== This is my custom TODO file ==
|
== 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 ****
|
**** BUGS ****
|
||||||
* Removal of conflicts on -A and -U (INCOMPLETE)
|
* Removal of conflicts on -A and -U (INCOMPLETE)
|
||||||
|
|
||||||
|
|
||||||
* gensync: get all info from packages instead of PKGBUILDs
|
* gensync: get all info from packages instead of PKGBUILDs
|
||||||
for now, we only need to check the PKGBUILD in case of a
|
for now, we only need to check the PKGBUILD in case of a
|
||||||
'force' option
|
'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
|
* pacman: add pactest cases/functionality for all -Q operations and make sure
|
||||||
the output is sane
|
the output is sane
|
||||||
* etc/pacman.d/ install rules
|
|
||||||
* ordering of installed packages based on dependencies
|
* ordering of installed packages based on dependencies
|
||||||
i.e. pkga depends=(pkgb pkgc), pkgb depends=(pkgc)
|
i.e. pkga depends=(pkgb pkgc), pkgb depends=(pkgc)
|
||||||
pacman -S pkga pkgb pkgc
|
pacman -S pkga pkgb pkgc
|
||||||
|
@ -511,20 +511,19 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
|
|||||||
|
|
||||||
if(!stat(expath, &buf) && !S_ISDIR(buf.st_mode)) {
|
if(!stat(expath, &buf) && !S_ISDIR(buf.st_mode)) {
|
||||||
/* file already exists */
|
/* 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)) {
|
if(_alpm_list_is_strin(pathname, handle->noupgrade)) {
|
||||||
notouch = 1;
|
notouch = 1;
|
||||||
nb = 1;
|
nb = 0;
|
||||||
} 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -623,7 +622,7 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
|
|||||||
alpm_logaction(_("warning: %s saved as %s"), expath, newpath);
|
alpm_logaction(_("warning: %s saved as %s"), expath, newpath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if(md5_pkg || sha1_pkg) {
|
} else if(md5_orig || sha1_pkg) {
|
||||||
/* PM_UPGRADE */
|
/* PM_UPGRADE */
|
||||||
int installnew = 0;
|
int installnew = 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user