How about something as simple as a top-level "modules" directory in the puppet source, which is installed separately and dynamically appended to the modulepath at runtime? That avoids any problems for users who set modulepath, allows modules in users' modulepaths to override the built-in modules, and doesn't use the inaccurate name "contrib". It also makes it easy to move modules in and out of core.
Probably a formal way to look at this is to define the `effective_modulepath` as the concatenation of `modulepath` and `system_modulepath`, where the former is based on user configuration and the latter determined when Puppet is installed. Then just replace uses of `modulepath` with `effective_modulepath` in the loader. Dustin -- 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/CAJtE5vSQ%2BiibTyY54UrdfZxWfQ5b%2Bk%3Dh_uAPgVOiKgAqp0-AQw%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
