summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-06-23 08:53:35 +0000
committerMichał Górny <mgorny@gentoo.org>2017-06-23 08:53:35 +0000
commit1275860b7b55c6420e9739d82bbc1389fda4952a (patch)
treecbe02daeb002536e05a8eaa1084c8600a7587ea8
parent/* Abstract */ fill in (diff)
downloadglep-1275860b7b55c6420e9739d82bbc1389fda4952a.tar.gz
glep-1275860b7b55c6420e9739d82bbc1389fda4952a.tar.bz2
glep-1275860b7b55c6420e9739d82bbc1389fda4952a.zip
/* Backwards Compatibility */ PMS compliance
-rw-r--r--GLEP:73.mw7
1 files changed, 7 insertions, 0 deletions
diff --git a/GLEP:73.mw b/GLEP:73.mw
index 07fdba2..5e08c88 100644
--- a/GLEP:73.mw
+++ b/GLEP:73.mw
@@ -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.