gtristan commented on code in PR #2019:
URL: https://github.com/apache/buildstream/pull/2019#discussion_r2186699367


##########
src/buildstream/_pluginfactory/pluginoriginpip.py:
##########
@@ -72,7 +72,7 @@ def get_plugin_paths(self, kind, plugin_type):
                 reason="package-not-found",
             ) from e
 
-        if dist.version not in package.specifier:
+        if not package.specifier.contains(dist.version, prereleases=True):

Review Comment:
   @abderrahim writes:
   
   > What I consider to be different between pip and buildstream is that 
buildstream doesn't install these packages. 
   
   Agree.
   
   > So if the user has already installed a prerelease of 
buildstream-plugins-community, we should let them use it
   
   Disagree.
   
   The purpose of the version string for plugins in the pip origin is for the 
project to make an assertion on it's requirements.
   
   To avoid confusion, this version constraint should follow the pep and refuse 
to accept a prerelease if the version constraint expressed would not allow for 
a prerelease according to the pep 0440.
   
   **If** it is the case that `buildstream-plugins-community` without any 
specific version allowed for prereleases in the past, but are not supposed to 
allow for that according to the pep 0440, then I think it would be good to fix 
that even if it changes buildstream behavior, and declare that this behavior 
was anyway broken until we now fixed it.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@buildstream.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to