diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/ecdhforce.pp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/manifests/ecdhforce.pp b/manifests/ecdhforce.pp new file mode 100644 index 0000000..bdbd4c9 --- /dev/null +++ b/manifests/ecdhforce.pp @@ -0,0 +1,43 @@ +class mumble::ecdhforce { + vcsrepo { "/var/lib/mumble-server/ecdhforce": + ensure => present, + provider => git, + source => 'https://github.com/ultramancool/ecdhforce.git', + revision => '7b0d6564c21a1bc619307258b773da547842ebca', + owner => root, + group => mumble-server, + require => Package[ 'mumble-server' ], + } + + package { [ 'gcc', 'libssl-dev' ]: + ensure => present, + } + + exec { 'ecdhforce-compile': + cwd => '/var/lib/mumble-server/ecdhforce', + command => 'gcc -Wall -fPIC -DPIC -c ecdhforce.c', + require => [ Vcsrepo['/var/lib/mumble-server/ecdhforce'], Package['gcc'], Package['libssl-dev'] ], + creates => '/var/lib/mumble-server/ecdhforce/ecdhforce.o', + user => root, + group => root, + } + + exec { 'ecdhforce-link': + cwd => '/var/lib/mumble-server/ecdhforce', + command => 'ld -shared -o ecdhforce.so ecdhforce.o -ldl', + require => Exec['ecdhforce-compile'], + creates => '/var/lib/mumble-server/ecdhforce/ecdhforce.so', + user => root, + group => root, + } + + file { '/etc/init.d/mumble-server': + ensure => present, + owner => root, + group => root, + mode => 0755, + source => "puppet:///modules/mumble/init.d/mumble-server.${::operatingsystem}", + require => Exec['ecdhforce-link'], + notify => Service['mumble-server'], + } +} |