diff options
author | Michael Andres <ma@suse.de> | 2014-06-13 08:27:27 +0200 |
---|---|---|
committer | Michael Andres <ma@suse.de> | 2014-06-13 08:27:27 +0200 |
commit | ce7051b1905dbe50d8983d4aba43176277ae5984 (patch) | |
tree | ba40a5717e329bab5e065dfb3f60dada303bd362 | |
parent | 9268f1d286b26801515e3599667351ef2a585148 (diff) | |
download | libsolv-ce7051b1905dbe50d8983d4aba43176277ae5984.tar.gz libsolv-ce7051b1905dbe50d8983d4aba43176277ae5984.tar.bz2 libsolv-ce7051b1905dbe50d8983d4aba43176277ae5984.zip |
[hotfix] Relax solvable_identical check for producs [bnc#881493]
-rw-r--r-- | src/solvable.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/solvable.c b/src/solvable.c index 8e94976..b3e73a6 100644 --- a/src/solvable.c +++ b/src/solvable.c @@ -745,19 +745,27 @@ pool_create_state_maps(Pool *pool, Queue *installed, Map *installedmap, Map *con /* Tests if two solvables have identical content. Currently * both solvables need to come from the same pool */ + +#warning HOTFIX [Bug 881493] New: zypper dup does always update sles-release +inline int isProduct(const char *name) +{ return name && strncmp(name, "product:", 8) == 0; } + int solvable_identical(Solvable *s1, Solvable *s2) { unsigned int bt1, bt2; Id rq1, rq2; Id *reqp; - if (s1->name != s2->name) return 0; if (s1->arch != s2->arch) return 0; if (s1->evr != s2->evr) return 0; + + if (isProduct(pool_id2str(s1->repo->pool, s1->name))) // HOTFIX [Bug 881493] end check for products here + return 1; + /* map missing vendor to empty string */ if ((s1->vendor ? s1->vendor : 1) != (s2->vendor ? s2->vendor : 1)) return 0; |