Hi, Julian Andres Klode wrote:
> APT's solver is greedy and sometimes has a hard time to recover from paths > that > don't work out in the end. We see this with opencv failing to build on > !linux-any > because: > > (1) dconf-service depends default-dbus-session-bus | dbus-session-bus > (2) default-dbus-session-bus is provided by an Architecture: all package, but > depends on systemd > > APT refuses to install that. > > I think it makes sense to amend section 7.1 with the following information: I agree with this goal. > Packages on the left hand side of a pipe symbol should either be > installable > or should not exist in the given situation (for example, because it is > linux-only > and the package only exists on non-Linux platform). > > This would help reduce hard to solve situations for greedy algorithms. I'm wondering how a packager would go about fulfilling this recommendation. Should they audit their dependencies (and dependencies' dependencies, etc) for installability? Is there a reliable process they can follow for this? This is made especially difficult because since policy 4.0.1.0 we are not able to rely on 'priority: optional' packages being installable any more. Without such advice, I don't think this makes sense to add as a normative change to policy (or in other words a policy "should"). An informative note would still be useful, though. Thanks, Jonathan

