On Friday, October 10, 2014 8:31:30 AM UTC-5, Drew Blessing wrote: > > I greatly favor anything else over making Package non-isomorphic. >> >> > I completely appreciate what you're saying. However, I don't think this > was the intent of the provider abstraction. It was intended to make the > OS-specific provider transparent, right? The different types of packages > we're talking about really don't fit that model. >
I'm not sure I follow. It sounds like you are saying that using explicitly-specified providers to select among different packaging types is not consistent with the intent of providers. If so, then I completely agree. I am arguing that weakening the Package abstraction to make it more convenient to abuse its providers in that way is the worst possible solution to the name clash problem. Worse even than doing nothing about it at all. That is why the Secondary_package proposal does not rely on selecting package type via provider, but instead makes the package type a separate, ordinary parameter. > To have a package and secondary_package type seems more confusing than it > should be, where the solution proposed by Daniele and Andy seems > straightforward IMO. > Let's not get hung up on names, if that's what's bothering you. My essential thesis is that the Package type should represent packages for the OS's native packaging system as effectively as possible, including supporting Puppet's conventional constraints against multiple declaration. If that does not afford adequate support for alternative kinds of packages then the desired supported should be implemented via one or more alternative resource types. Whether such an alternative type is called "Secondary_package" or "Module" or "Software", or whether there are several ("Gem", "Pip", "Cpan", ...) is very much a secondary concern to me. John -- 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/9de8850f-e147-41a6-b735-3a50d7f25fa1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.