Bug 38220

Summary: must_have_no_conflicts_apps tests for any conflicting package
Product: UCS Reporter: Dirk Wiesenthal <wiesenthal>
Component: App CenterAssignee: App Center maintainers <appcenter-maintainers>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P5 CC: gohmann, gulden, mehrtens, meybohm, walkenhorst
Version: UCS 3.2   
Target Milestone: UCS 3.2-x   
Hardware: Other   
OS: Linux   
What kind of report is it?: --- What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional):
Max CVSS v3 score:
Bug Depends on: 35661    
Bug Blocks:    

Description Dirk Wiesenthal univentionstaff 2015-04-09 09:49:57 CEST
Backport to UCS 3.2. Otherwise this bug does not make much sense. Zarafa -> ownCloud is bugged in UCS 3.2. In UCS 4.0 not anymore.

+++ This bug was initially created as a clone of Bug #35661 +++

must_have_no_conflicts_apps tests if any package in defaultpackages of a conflicting app is installed

 if any(package_manager.is_installed(package) for package in app.get('defaultpackages')):
    ...

This is somehow wrong in situations where different apps share some default packages (like owncloud5 and owncloud6 do) leading to false positive conflict detection like described in http://forum.univention.de/viewtopic.php?t=3417:
Zarafa Update is blocked because of installed owncloud5 but zarafa app only has a conflict with owncloud6.


One may change toe test from any() to all() to avoid this but this may break other conflicts that depend on any() like:

samba-memberserver conflicts with samba4 => ['univention-samba4', 'univention-s4-connector']
samba3 conflicts with samba4 => ['univention-samba4', 'univention-s4-connector']