summaryrefslogtreecommitdiff
path: root/puppet/modules/site_config/manifests/packages/build_essential.pp
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2016-01-22 17:05:26 +0100
committervarac <varacanero@zeromail.org>2016-01-22 17:08:32 +0100
commit69d2549a8b3b670b10d0efe079bcbc4ba066907d (patch)
tree3fa29cbc72344a56aba5f70d20880dbae72bdbb6 /puppet/modules/site_config/manifests/packages/build_essential.pp
parentf5ecaaa1bd7412fc152b41e4cc522cd0dc43cc37 (diff)
[bug] refactor build-essential package installation
In certain node setups, the webapp gems cannot get built because `build-essential` and dependent packages were not present. I refactored the `site_config::packages::build_essential` class, which now inherits `site_config::packages`. The latter class removes all unneccessary (development) packages, but when the `site_config::packages::build_essential` class is included, some dev packages are overridden to be installed. - Tested: [local] - Resolves: #7834
Diffstat (limited to 'puppet/modules/site_config/manifests/packages/build_essential.pp')
-rw-r--r--puppet/modules/site_config/manifests/packages/build_essential.pp25
1 files changed, 21 insertions, 4 deletions
diff --git a/puppet/modules/site_config/manifests/packages/build_essential.pp b/puppet/modules/site_config/manifests/packages/build_essential.pp
index 8f3b2641..2b3e13b9 100644
--- a/puppet/modules/site_config/manifests/packages/build_essential.pp
+++ b/puppet/modules/site_config/manifests/packages/build_essential.pp
@@ -1,11 +1,28 @@
#
# include this whenever you want to ensure build-essential package and related compilers are installed.
#
-class site_config::packages::build_essential {
- if !defined(Package['build-essential']) {
- package {
- ['build-essential', 'cpp']:
+class site_config::packages::build_essential inherits ::site_config::packages {
+
+ # NICKSERVER CODE NOTE: in order to support TLS, libssl-dev must be installed
+ # before EventMachine gem is built/installed.
+ Package[ 'gcc', 'make', 'g++', 'cpp', 'libssl-dev', 'libc6-dev' ] {
+ ensure => present
+ }
+
+ case $::operatingsystemrelease {
+ /^8.*/: {
+ Package[ 'gcc-4.9','g++-4.9', 'cpp-4.9' ] {
+ ensure => present
+ }
+ }
+
+ /^7.*/: {
+ Package[ 'gcc-4.7','g++-4.7', 'cpp-4.7' ] {
ensure => present
+ }
}
+
+ default: { }
}
+
}