I had a pull request [1] to "fix" version comparison for yum and rpm packages, as the current behavior is far from what yum does. The PR's more or less stalled waiting for me to rework it, but I feel pretty strongly that before we implement flexible versioning like this, we need to make sure version comparison is done right - not all package types use semver, which seems to be the assumption that everything using the Package type makes (for example, yum/rpm actually sorts "1.2.999" *after* "1.2.11a").

my 2 cents:
- explicit version specification is a very good thing, if version comparison is reliable and in step with the underlying package system. I'd love to be able to specify ">= 1.2.3" - implicit matches feel wrong to me... I'd be concerned that this would break things for a lot of people. And unfortunately, the people most likely to have things broken are the people who are already "scared" of Puppet doing things they don't want, so they manually peg every package to a specific version and tell their hesitant management that everything will be fine...

-Jason

[1] https://github.com/puppetlabs/puppet/pull/2262

On 02/11/2014 06:44 PM, Kylo Ginsberg wrote:
A recent pull request to puppet [1], in support of richer version matching for the 'pkg' package provider, led me to discover some older proposals, e.g. [2], for allowing flexible version matches, e.g. to allow something like:

    package { 'foo': ensure => '> 1.2.3' }

The issues aren't identical -- the current pull is more about implicit matches against newer available versions, whereas the older proposal is about explicitly specifying version ranges -- but they share the intent to allow for flexible version matching for packages.

So, I'd like to get input on this topic. E.g. is something along these lines desirable, or is it seen as too risky (e.g. due to version drift)? And what packaging tools can effectively support flexible version matching? Is there a common core of this functionality which we could meaningfully define across a useful set of packaging tools?

Thanks!

[1]: https://github.com/puppetlabs/puppet/pull/2200
[2]: https://tickets.puppetlabs.com/browse/PUP-1519

--
Kylo Ginsberg
[email protected] <mailto:[email protected]>

*Join us at PuppetConf 2014, September 23-24 in San Francisco* - http://bit.ly/pupconf14
--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/CALsUZFH6ZEFDq1O-5AM9%2B6PNZn%2Be346GbrG-442%2BBJ8%3DVMeTow%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Puppet 
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/52FB587D.5030700%40jasonantman.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to