On Oct 7, 2009, at 1:41 AM, Peter Meier wrote: > > Hi > > in general I like the idea of the metadata very much and it's great to > see progress in this area. However I see one issue: > >>>> My plan at this point is to do the requires as either an array, >>>> or an >>>> array of arrays: >>>> >>>> requires: foo, bar >>>> requires: [foo, 1.0], [bar, 2.0] >>>> >>>> Comments? >>>> >>>> I'm partway to a first version, anyway. > > What about all the forks? Many people provide their modules as a git > repository and people fork them and start hacking their own changes. > With the linear model of version numbers we don't have any possibility > to differentiate between a module foo that have been forked from 2.0 > and > evolved to 2.1 and the original module that might have been improved > to > version 2.1 . If you look at the current reality there are plenty of > such modules. > > For sure the main goal to fix that is the common modules project, > however if we introduce a formal description which modules work > together > or require another in a certain version we should be able to > distinguish > forks as well. Otherwise we might end up with a lot of people who take > module foo from x in version 1, which requires module bar in version > 2.1 > but instead to take the actual version from x they take the fork > from y. > So somehow we need to be able to the actual version.
Any suggestions for this? I haven't been worrying too much about parallel versions in forks because 1) I'm assuming that people will only ever have a single version installed at a time and 2) Puppet can only deal with a single module with a given name, so there isn't much opportunity for conflict. In the end, we can only usefully talk about dependencies within a subset of modules that exist, and my assumption is that we'll generally have two subsets we operate on: The modules installed, and the modules available in whatever repositories we're looking at. It should be straightforward to manage forks (or not support them) within that subset. That being said, I'm happy to find a solution here, but I'm not sure it fits under the "simplest solution that provides a benefit", which is what I was shooting for initially. -- Wear the old coat and buy the new book. -- Austin Phelps --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
