1
0
mirror of https://github.com/moparisthebest/pacman synced 2025-03-01 09:51:50 -05:00
Nagy Gabor 882bff36ac Remove find_replacements()
"Foo replaces bar" simply means that "foo is a new version of bar".
So this patch refactors the code to use this "rule".

_alpm_sync_sysupgrade now does the following for each local package [bar]
(pseudo-code):
for db in syncdbs {
   if(db contains bar) {check if db/bar is an upgrade; break;}
   replacers = find(bar replacers in db);
   if(replacers!=NULL) {ask_user; break;}
}

Note:
1. Replacers are grouped per repo. If more than one package replace bar in
a repo, all of them are considered ("package set of bar replacers").
2. If repo1/foo1 and repo2/foo2 both replaces bar, only repo1/foo1 is
considered (if repo1 stands before repo2 in pacman.conf). FS#11737 is fixed.
3. It can happen that pacman doesn't consider any replacer, if it found a
literal "earlier", so sync132.py modified accordingly (btw, that situation
should not appear irl).

The new sysupgrade code doesn't use sync_newversion(), so I removed the
"local is newer than repo" message, which was annoying with -Qu and
SyncFirst.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-05-18 23:11:05 -05:00
..
2007-04-16 20:34:57 -05:00
2007-04-16 20:34:57 -05:00
2008-10-12 21:36:30 -05:00
2008-01-11 23:19:08 -06:00
2008-03-10 18:57:36 -05:00
2009-01-12 22:44:00 -06:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2007-07-10 11:10:54 -04:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-03-10 19:16:01 -05:00
2008-03-10 19:16:01 -05:00
2008-07-13 09:14:36 -05:00
2008-10-12 21:29:04 -05:00
2008-10-12 21:29:04 -05:00
2007-11-11 09:51:09 -06:00
2008-07-07 21:14:13 -05:00
2007-07-15 19:46:18 -04:00
2007-07-15 12:46:02 -04:00
2008-01-21 19:39:26 -06:00
2009-05-18 23:11:05 -05:00
2008-05-13 15:49:02 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:12:55 -05:00
2007-10-08 20:46:55 -05:00
2009-04-11 13:59:55 -05:00
2008-01-05 13:47:49 -06:00
2007-07-15 12:46:02 -04:00
2008-01-21 19:39:26 -06:00
2008-02-11 20:40:43 -06:00
2008-02-11 20:40:43 -06:00
2008-01-05 16:49:09 -06:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00
2008-07-07 21:14:13 -05:00