[Checkins] SVN: zopeframework/trunk/source/steeringgroup/decisions.rst Record decision on package dependency requirements.
Martijn Faassen
faassen at infrae.com
Tue Mar 17 11:40:22 EDT 2009
Log message for revision 98196:
Record decision on package dependency requirements.
Changed:
U zopeframework/trunk/source/steeringgroup/decisions.rst
-=-
Modified: zopeframework/trunk/source/steeringgroup/decisions.rst
===================================================================
--- zopeframework/trunk/source/steeringgroup/decisions.rst 2009-03-17 15:02:54 UTC (rev 98195)
+++ zopeframework/trunk/source/steeringgroup/decisions.rst 2009-03-17 15:40:22 UTC (rev 98196)
@@ -57,4 +57,36 @@
* Moving code around as part of dependency refactoring is worth a
feature release (x.y as opposed to x.y.z version number) for the
affected packages. Changing an import to make use of a new package
- that came out of such refactoring is also worth a feature release.
\ No newline at end of file
+ that came out of such refactoring is also worth a feature release.
+
+* In a ``setup.py`` you are allowed to write this in ``setup.py``::
+
+ bar >= x.y
+
+ I.e. relying on a newer feature release of package ``bar``.
+
+ but not this::
+
+ bar >= x.y.z
+
+ I.e. you're not allowed to rely on a newer *bugfix* release of
+ package ``bar``.
+
+ Elaboration: Imagine package ``foo`` that depends on package
+ ``bar``. If you make changes in ``foo`` so that it starts to rely on
+ changes in ``bar`` that are only introduced in a feature release of
+ ``bar`` (``bar`` version ``x.y`` or ``bar`` version ``x``), you
+ should update the ``setup.py`` of ``foo`` to state this dependency
+ with a requirement like this::
+
+ bar >= x.y
+
+ This is only relevant to *feature* releases. If there is a bugfix
+ release of ``bar`` you should not write a dependency like ``bar >=
+ x.y.z``.
+
+ This is a compromise in the interests of both flexibility and giving
+ hints to people who use our packages. We'll see how it goes.
+
+* If a package starts to rely on new features or behaviors as done
+ in a feature release of a dependency (i.e. x, or x.y)
\ No newline at end of file
More information about the Checkins
mailing list