I have a puppet module that uses gini-archive. Recently I change my module to depend on biemond-wildfly, which depends on nanliu-archive.
However, I can't install nanliu-archive, because both of these archive modules install into a directory called archive
. This, I believe, violates the puppet module requirements, as they should both install into directories called <username>-archive
.
However, even if I put them in different directories, I still have a problem. Both classes are called archive
(actually one is a class and one is a define, but I don't think that's too important right now), so when my module says include archive
, puppet isn't going to know which one I want.
Note I have a java background where every class is in a package hierarchy which prevents these kind of issues, but I can't see any equivalent for puppet.
I know I could have a whole load of different modules directories (/etc/puppet/modules
, /etc/puppet/modules2
etc), but puppet still seems to look through these in order, meaning it will always load the archive
class from the first module directory in the list.
Is there any way of solving this or have I reached the limit of what puppet can do? I'd rather not have to fork every single module and change the class names, that seems to defeat the point of the forge.
Thanks.