I have a class definition which requires the build-essential
package:
class erlang($version = '17.3') {
package { "build-essential":
ensure => installed
}
...
}
Another class in a different module also requires the build-essential
package:
class icu {
package { "build-essential":
ensure => installed
}
...
}
However, when I try to perform puppet apply, the error I receive is:
Error: Duplicate declaration: Package[build-essential] is already declared in file /vagrant/modules/erlang/manifests/init.pp:18; cannot redeclare at /vagrant/modules/libicu/manifests/init.pp:17 on node vagrant-ubuntu-trusty-64.home
I was expecting classes to encapsulate the resources they use but this doesn't seem to be the case? How can I resolve this clash?
ensure_packages
my quality of life improved drastically. :) – Durand