diff options
author | 2017-06-23 08:53:35 +0000 | |
---|---|---|
committer | 2017-06-23 08:53:35 +0000 | |
commit | 1275860b7b55c6420e9739d82bbc1389fda4952a (patch) | |
tree | cbe02daeb002536e05a8eaa1084c8600a7587ea8 | |
parent | /* Abstract */ fill in (diff) | |
download | glep-1275860b7b55c6420e9739d82bbc1389fda4952a.tar.gz glep-1275860b7b55c6420e9739d82bbc1389fda4952a.tar.bz2 glep-1275860b7b55c6420e9739d82bbc1389fda4952a.zip |
/* Backwards Compatibility */ PMS compliance
-rw-r--r-- | GLEP:73.mw | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -297,6 +297,13 @@ For most of the real-life use cases, two iterations should be able to solve all c? ( d ) b? ( c ) a? ( b ) ==Backwards Compatibility== +===Compliance with the PMS=== +This GLEP does not break the PMS compliance in any way. The syntax used by the constraints is a subset of the [https://projects.gentoo.org/pms/6/pms.html#x1-780008.2 REQUIRED_USE syntax allowed by the PMS]. The semantic extends the one defined in the PMS in non-conflicting way. + +The PMS does not require a very specific behavior for REQUIRED_USE. The [https://projects.gentoo.org/pms/6/pms.html#x1-910008.2.7 USE state constraints section] requires that the package manager does not use (build/install) package versions where REQUIRED_USE constraints are not met. + +However, it does not require the package manager to verbosely report the conflict which the package managers actually do. That considered, it should not cause any non-compliance if this verbose reporting is (partially) replaced by automatic solving. If the solving succeeds, the constraints are met and the package manager can proceed with building/installing the package. If it does not, the existing behavior of reporting the issue is preserved. + ===New constraints vs non-compliant package managers=== This GLEP preserves full syntax compatibility with the existing package managers. The constraints written for auto-solving will still work correctly in the package managers not supporting it, resulting in regular REQUIRED_USE mismatch. Furthermore, the extended semantic meaning can result in improved readability of constraints, and therefore the messages issued by the package managers. Users aware of the auto-solving rules will have a suggested algorithm for satisfying REQUIRED_USE. |