Package: debian-policy Severity: normal 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: 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 guess that's closely related to #590511, but a bit different. -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (900, 'unstable'), (900, 'testing'), (500, 'unstable-debug'), (100, 'experimental'), (1, 'experimental-debug') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.13.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8), LANGUAGE=en_IE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) Versions of packages debian-policy depends on: ii libjs-sphinxdoc 1.6.4-2 debian-policy recommends no packages. Versions of packages debian-policy suggests: pn doc-base <none> -- Debian Developer - deb.li/jak | jak-linux.org - free software dev | Ubuntu Core Developer | When replying, only quote what is necessary, and write each reply directly below the part(s) it pertains to ('inline'). Thank you.