And is the story the same for all supported puppet versions (meaning 3.8.x 'and' 2015.x, and the open source variants that match each) ?
????
Confused - I've seen both used in PL docs, and both used in various tools and examples.
If I'm identifying the puppetlabs stdlib into my metadata.json file as a dependency, as an example:
- do I call it 'puppetlabs/stdlib'
- do I call it 'puppetlabs-stdlib'
- or is the story 'both are supported now, and will continue to be supported moving forward'
$ puppet --version
3.8.4
$ puppet module list >/dev/null
Warning: Missing dependency 'puppetlabs-concat':
'derdanne-nfs' (v0.0.7) requires 'puppetlabs-concat' (>= 1.1.2)
Warning: Missing dependency 'puppetlabs-stdlib':
'derdanne-nfs' (v0.0.7) requires 'puppetlabs-stdlib' (>= 4.5.0)
$$ puppet module list |grep puppetlabs
??? puppetlabs-concat (v1.2.3)
??? puppetlabs-inifile (v1.4.2)
??? puppetlabs-pe_gem (v0.1.2)
??? puppetlabs-stdlib (v4.9.0)
$
Inside of nfs/metadata.json , I see that the dependencies are named like 'author-module', like this:
"dependencies": [
{"name":"puppetlabs-stdlib","version_requirement":">= 4.5.0"},
{"name":"puppetlabs-concat","version_requirement":">= 1.1.2"}
]If I modify the strings 'puppetlabs-stdlib' and 'puppetlabs-concact' and replace dashes with slashes:
"dependencies": [
{"name":"puppetlabs/stdlib","version_requirement":">= 4.5.0"},
{"name":"puppetlabs/concat","version_requirement":">= 1.1.2"}
]The command doesn't throw any errors:
$ puppet module list >/dev/null
$Should metadata.json be specifying module names using hyphens or slashes? I see that the following docs recommend using dashes, not slashes:
But again, I've seen a few bugfixes which did the opposite, and resolved the error by switching from dashes to slashes. Here's one such bug:
If dashes are correct, then why is `puppet module` complaining about the derdanne-nfs module and other community modules? I'm a little curious why this problem isn't more widely reported.
Thanks for the help,
-= Stefan