summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Andres <ma@suse.de>2014-06-13 08:27:27 +0200
committerMichael Andres <ma@suse.de>2014-06-13 08:27:27 +0200
commitce7051b1905dbe50d8983d4aba43176277ae5984 (patch)
treeba40a5717e329bab5e065dfb3f60dada303bd362 /src
parent9268f1d286b26801515e3599667351ef2a585148 (diff)
downloadlibsolv-ce7051b1905dbe50d8983d4aba43176277ae5984.tar.gz
libsolv-ce7051b1905dbe50d8983d4aba43176277ae5984.tar.bz2
libsolv-ce7051b1905dbe50d8983d4aba43176277ae5984.zip
[hotfix] Relax solvable_identical check for producs [bnc#881493]
Diffstat (limited to 'src')
-rw-r--r--src/solvable.c10
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;