A related ticket to the interface and redirect functionality is
https://tickets.puppetlabs.com/browse/FORGE-111

There I just suggest the feature to be able to say that module B provides
the interface of module A version X. So either module can satisfy a
dependency on module A version X.
Then if you want to have some sort of generic interface that other modules
can implement, you could have a sort of virtual module with he version
being the interface version. And then other modules provide or depend on
that virtual module. The meaning of virtual module here is the same as for
virtual packages in package managers, like "ruby-interpreter" or
"smtp-server" in Debian, and the implementation would also be pretty
similar.


Regarding having multiple variants or versions of a module being installed
at the same time I think we should change the environment loader API to
provide a list of modules instead of a list of module paths. Then plugins
could implement any sort of behaviour for this without jumping through
hoops.

Basically I think that would mean deprecating this:
https://github.com/puppetlabs/puppet/blob/master/lib/puppet/node/environment.rb#L144-L150
And changing this method to return list of paths to individual modules
instead of names of modules:
https://github.com/puppetlabs/puppet/blob/master/lib/puppet/node/environment.rb#L233-L241


On Thu Feb 12 2015 at 10:32:24 AM R.I.Pienaar <r...@devco.net> wrote:

>
>
> ----- Original Message -----
> > From: "Dominic Cleal" <dclea...@redhat.com>
> > To: "puppet-dev" <puppet-dev@googlegroups.com>
> > Sent: Thursday, February 12, 2015 10:30:21 AM
> > Subject: Re: [Puppet-dev] Thoughts on Module Namespace Conflicts
>
> > On 11/02/15 18:13, Trevor Vaughan wrote:
> >> Heh, that's probably because it's the third hit in the list when you
> >> search for Apache on the Forge.
> >>
> >> Is there a way for people to mark Forge modules as unmaintained?
> >
> > Not as far as I know.  I ought to upload a new release with a big
> > warning in the README.  All I've done for the meantime is add a
> > "deprecated" tag, which isn't a big help.
> >
> > There's a similar issue I have with augeasproviders.  Again I've yet to
> > update the README in domcleal/augeasproviders to indicate that
> > herculesteam/augeasproviders is the maintained version, but it would be
> > great to be able to mark this as such in the Forge, or even redirect to
> > another module.
>
> redirects would be nice, I have the same problem with ripienaar/concat and
> puppetlabs/concat
>
> --
> 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 puppet-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/puppet-dev/100231099.15755.1423733538852.JavaMail.zimbra%40devco.net
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CAAAzDLe5OC2Y44_P2ovuCFnZ2iw3uZEN-Sgic_pjcamYyNVHrQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to