]> gitweb.fluxo.info Git - puppet-nodo.git/commitdiff
Refactoring utils
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 24 Feb 2011 16:45:07 +0000 (13:45 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 24 Feb 2011 16:45:07 +0000 (13:45 -0300)
manifests/init.pp
manifests/subsystems/utils.pp
manifests/subsystems/utils/desktop.pp [new file with mode: 0644]
manifests/subsystems/utils/laptop.pp [new file with mode: 0644]
manifests/subsystems/utils/multimedia.pp [new file with mode: 0644]
manifests/subsystems/utils/personal.pp [new file with mode: 0644]
manifests/subsystems/utils/physical.pp [new file with mode: 0644]
manifests/subsystems/utils/storage.pp [new file with mode: 0644]
manifests/subsystems/utils/web.pp [new file with mode: 0644]

index bbc1e50d8ac7b9339253a7e037949262c6c36eab..424bf1ed47c0e4e06e8080791199bcb6b4a2e1e4 100644 (file)
@@ -52,7 +52,6 @@ import "subsystems/motd.pp"
 import "subsystems/sudo.pp"
 import "subsystems/sysctl.pp"
 import "subsystems/ups.pp"
-import "subsystems/utils.pp"
 import "subsystems/database.pp"
 import "subsystems/websites.pp"
 import "subsystems/munin.pp"
@@ -64,6 +63,13 @@ import "subsystems/locales.pp"
 import "subsystems/tunnel.pp"
 import "subsystems/monkeysphere.pp"
 import "subsystems/profile.pp"
+import "subsystems/utils.pp"
+import "subsystems/utils/desktop.pp"
+import "subsystems/utils/laptop.pp"
+import "subsystems/utils/multimedia.pp"
+import "subsystems/utils/physical.pp"
+import "subsystems/utils/storage.pp"
+import "subsystems/utils/web.pp"
 
 # Import nodo classes
 import "nodo.pp"
index a32c69522d8ca3e32639cb9f733080239d540a20..fb3f0d3af1bef6dbab7e4f56d10ee55b45b04e73 100644 (file)
@@ -19,208 +19,3 @@ class utils {
     group   => root,
   }
 }
-
-# Common utilities for physical
-class utils::physical {
-  package { [ 'nload', 'acpid', 'acpi', 'slurm' ]:
-    ensure => installed,
-  }
-}
-
-# Common utilities for storage
-class utils::storage {
-  package { 'clamav':
-    ensure => installed,
-  }
-}
-
-# Common utilities for web
-class utils::web {
-  package { [ 'ffmpeg',  'flvtool2',             'curl',                'rake',
-              'libxml2', 'libxml2-dev',          'libxslt1-dev',        'libmysqlclient-dev',
-              'g++',     'libcurl4-openssl-dev', 'apache2-prefork-dev' ]:
-    ensure => installed,
-  }
-}
-
-# Common utilities for personal
-class utils::personal {
-  # System
-  package { [ 'libpam-mount', 'ecryptfs-utils', 'openjdk-6-jre', 'gawk', ]:
-    ensure => installed,
-  }
-
-  # Multimedia
-  package { [ 'alsa-tools-gui', 'mp3blaster',          'alsa-utils', 'netpbm',
-              'gqview',         'mpg123',              'audacious',  'qjackctl',
-              'gimp',           'xine-ui',             'amarok',     'wodim',
-              'genisoimage',    'dvd+rw-tools',        'inkscape',   'jhead',
-              'easytag',        'flashplugin-nonfree', ]:
-    ensure => installed,
-  }
-
-  # Interface
-  package { [ 'awesome', 'eterm',            'fluxbox',          'gdm',          'conky',
-              'xterm',   'bash-completion',  'xfonts-terminus',  'xscreensaver'  'rxvt-unicode',
-              'mc',      'gtk-theme-switch', 'gtk-smooth-themes', 'rxvt', ]:
-    ensure => installed,
-  }
-
-  # Office
-  package { [ 'wyrd',                'vim-gtk',             'gobby',
-              'sc',                  'antiword',            'broffice.org',
-              'kalarm',              'texlive-latex-base',  'texlive-latex-recommended',
-              'texlive-latex-extra', 'pandoc',              'gnumeric',
-              'cups-client', ]:
-    ensure => installed,
-  }
-
-  # Network
-  package { [ 'mutt',              'irssi',      'offlineimap', 'epiphany-browser',
-              'newsbeuter',        'bitlbee',    'nicotine',    'silc',
-              'irssi-plugin-silc', 'bogofilter', 'fetchmail',   'procmail',
-              'msmtp',             'mairix',     'konqueror,'   'bittorrent',
-              'irssi-scripts',     'links',      'twinkle',     'bittornado',
-              'rtorrent', ]:
-    ensure => installed,
-  }
-
-  # Security
-  package { [ 'apg',           'gnupg-agent', 'makepasswd', 'pwgen', 'fpm2', 'encfs',
-              'signing-party', ]:
-    ensure => installed,
-  }
-
-  # Development
-  package { [ 'debhelper', 'gitk',      'git-gui',         'subversion', 'python-stdeb',
-              'fakeroot',  'dupload',   'autotools-dev',   'dh-make',    'doxygen',
-              'tig',       'mercurial', 'exuberant-ctags', 'reportbug', ]:
-    ensure => installed,
-  }
-
-  # Other
-  package { [ 'fortunes-br', 'unrar', 'recode', 'figlet', 'p7zip-full', 'unison', ]:
-    ensure => installed,
-  }
-
-  case $operatingsystem {
-    debian: { 
-      package { [ 'iceweasel', 'sun-java6-jre', 'hplip' ]:
-        ensure => installed,
-      }
-
-      # Java alternative
-      file { "/etc/alternatives/java":
-        ensure  => "/usr/lib/jvm/java-6-sun/jre/bin/java",
-        owner   => root,
-        group   => root,
-        require => Package['sun-java6-jre'],
-      }
-
-      # Lenny only
-      package { [ 'mozilla-firefox-adblock' ]:
-        ensure => $lsbdistcodename ? {
-          'lenny' => present,
-          default => absent,
-        },
-      }
-
-      # Squeeze (or newer) packages
-      if $lsbdistcodename != 'lenny' {
-        package { [ 'xul-ext-monkeysphere', 'chromium-browser', 'libical-parser-perl',
-                    'maildir-utils',        'icedtea6-plugin' ]:
-          ensure => installed,
-        }
-      }
-    }
-    default: { }
-  }
-
-  # Gem packages
-  package { 'capistrano':
-    ensure   => installed,
-    provider => gem,
-    require  => Package['rubygems'],
-  }
-
-  # Gem packages
-  package { 'slideshow':
-    ensure   => installed,
-    provider => gem,
-    require  => Package['rubygems'],
-  }
-
-  if !defined(Package['ruby']) {
-    package { 'ruby':
-      ensure => installed,
-    }
-  }
-
-  if !defined(Package['rubygems']) {
-    package { 'rubygems':
-      ensure  => installed,
-      require => Package['ruby'],
-    }
-  }
-
-  if !defined(Package['ruby-dev']) {
-    package { 'ruby-dev':
-      ensure  => installed,
-      require => Package['ruby'],
-    }
-  }
-
-  if !defined(Package['libgpgme-ruby1.8']) {
-    package { 'libgpgme-ruby1.8':
-      ensure  => installed,
-      require => Package['ruby'],
-    }
-  }
-
-  # Flash alternative
-  file { "/etc/alternatives/flash-mozilla.so":
-    ensure  => "/usr/lib/flashplugin-nonfree/libflashplayer.so",
-    owner   => root,
-    group   => root,
-    require => Package['flashplugin-nonfree'],
-  }
-}
-
-# Common utilities for laptop
-class utils::laptop {
-  package { [ 'cpufrequtils',  'module-assistant', 'wireless-tools', 
-              'wpasupplicant', 'ekiga',            'gnome',
-              'revelation',    'wicd',             'iw' ]:
-    ensure => installed,
-  }
-
-  # Lenny specific packages
-  package { [ 'madwifi-source', 'madwifi-tools', 'bluez-gnome' ]:
-    ensure => $lsbdistcodename ? {
-      'lenny' => installed,
-      default => absent,
-    }
-  }
-
-  # Currently no hibernation
-  package { 'uswsusp':
-    ensure => absent,
-  }
-}
-
-# Common utilities for desktop
-class utils::desktop {
-  package { 'cups':
-    ensure => installed,
-  }
-}
-
-# Multimedia utilities
-class utils::multimedia {
-  package { [ 'ardour', 'hydrogen', ]:
-    ensure => $lsbdistcodename ? {
-      'lenny' => absent,
-      default => installed,
-    }
-  }
-}
diff --git a/manifests/subsystems/utils/desktop.pp b/manifests/subsystems/utils/desktop.pp
new file mode 100644 (file)
index 0000000..22dd2ed
--- /dev/null
@@ -0,0 +1,6 @@
+# Common utilities for desktop
+class utils::desktop {
+  package { 'cups':
+    ensure => installed,
+  }
+}
diff --git a/manifests/subsystems/utils/laptop.pp b/manifests/subsystems/utils/laptop.pp
new file mode 100644 (file)
index 0000000..682e67f
--- /dev/null
@@ -0,0 +1,21 @@
+# Common utilities for laptop
+class utils::laptop {
+  package { [ 'cpufrequtils',  'module-assistant', 'wireless-tools', 
+              'wpasupplicant', 'ekiga',            'gnome',
+              'revelation',    'wicd',             'iw' ]:
+    ensure => installed,
+  }
+
+  # Lenny specific packages
+  package { [ 'madwifi-source', 'madwifi-tools', 'bluez-gnome' ]:
+    ensure => $lsbdistcodename ? {
+      'lenny' => installed,
+      default => absent,
+    }
+  }
+
+  # Currently no hibernation
+  package { 'uswsusp':
+    ensure => absent,
+  }
+}
diff --git a/manifests/subsystems/utils/multimedia.pp b/manifests/subsystems/utils/multimedia.pp
new file mode 100644 (file)
index 0000000..c4322b3
--- /dev/null
@@ -0,0 +1,9 @@
+# Multimedia utilities
+class utils::multimedia {
+  package { [ 'ardour', 'hydrogen', ]:
+    ensure => $lsbdistcodename ? {
+      'lenny' => absent,
+      default => installed,
+    }
+  }
+}
diff --git a/manifests/subsystems/utils/personal.pp b/manifests/subsystems/utils/personal.pp
new file mode 100644 (file)
index 0000000..96b1e0a
--- /dev/null
@@ -0,0 +1,146 @@
+# Common utilities for personal
+class utils::personal {
+  # System
+  package { [ 'libpam-mount', 'ecryptfs-utils', 'openjdk-6-jre', 'gawk', ]:
+    ensure => installed,
+  }
+
+  # Multimedia
+  package { [ 'alsa-tools-gui', 'mp3blaster',          'alsa-utils', 'netpbm',
+              'gqview',         'mpg123',              'audacious',  'qjackctl',
+              'gimp',           'xine-ui',             'amarok',     'wodim',
+              'genisoimage',    'dvd+rw-tools',        'inkscape',   'jhead',
+              'easytag',        'flashplugin-nonfree', ]:
+    ensure => installed,
+  }
+
+  # Interface
+  package { [ 'awesome', 'eterm',            'fluxbox',          'gdm',          'conky',
+              'xterm',   'bash-completion',  'xfonts-terminus',  'xscreensaver'  'rxvt-unicode',
+              'mc',      'gtk-theme-switch', 'gtk-smooth-themes', 'rxvt', ]:
+    ensure => installed,
+  }
+
+  # Office
+  package { [ 'wyrd',                'vim-gtk',             'gobby',
+              'sc',                  'antiword',            'broffice.org',
+              'kalarm',              'texlive-latex-base',  'texlive-latex-recommended',
+              'texlive-latex-extra', 'pandoc',              'gnumeric',
+              'cups-client', ]:
+    ensure => installed,
+  }
+
+  # Network
+  package { [ 'mutt',              'irssi',      'offlineimap', 'epiphany-browser',
+              'newsbeuter',        'bitlbee',    'nicotine',    'silc',
+              'irssi-plugin-silc', 'bogofilter', 'fetchmail',   'procmail',
+              'msmtp',             'mairix',     'konqueror,'   'bittorrent',
+              'irssi-scripts',     'links',      'twinkle',     'bittornado',
+              'rtorrent', ]:
+    ensure => installed,
+  }
+
+  # Security
+  package { [ 'apg',          'gnupg-agent', 'makepasswd', 'pwgen', 'fpm2', 'encfs',
+              'signing-party', ]:
+    ensure => installed,
+  }
+
+  # Development
+  package { [ 'debhelper', 'gitk',      'git-gui',         'subversion', 'python-stdeb',
+              'fakeroot',  'dupload',   'autotools-dev',   'dh-make',    'doxygen',
+              'tig',       'mercurial', 'exuberant-ctags', 'reportbug', ]:
+    ensure => installed,
+  }
+
+  # Other
+  package { [ 'fortunes-br', 'unrar', 'recode', 'figlet', 'p7zip-full', 'unison', ]:
+    ensure => installed,
+  }
+
+  case $operatingsystem {
+    debian: { 
+      include utils::personal::debian
+    }
+    default: { }
+  }
+
+  # Gem packages
+  package { 'capistrano':
+    ensure   => installed,
+    provider => gem,
+    require  => Package['rubygems'],
+  }
+
+  # Gem packages
+  package { 'slideshow':
+    ensure   => installed,
+    provider => gem,
+    require  => Package['rubygems'],
+  }
+
+  if !defined(Package['ruby']) {
+    package { 'ruby':
+      ensure => installed,
+    }
+  }
+
+  if !defined(Package['rubygems']) {
+    package { 'rubygems':
+      ensure  => installed,
+      require => Package['ruby'],
+    }
+  }
+
+  if !defined(Package['ruby-dev']) {
+    package { 'ruby-dev':
+      ensure  => installed,
+      require => Package['ruby'],
+    }
+  }
+
+  if !defined(Package['libgpgme-ruby1.8']) {
+    package { 'libgpgme-ruby1.8':
+      ensure  => installed,
+      require => Package['ruby'],
+    }
+  }
+
+  # Flash alternative
+  file { "/etc/alternatives/flash-mozilla.so":
+    ensure  => "/usr/lib/flashplugin-nonfree/libflashplayer.so",
+    owner   => root,
+    group   => root,
+    require => Package['flashplugin-nonfree'],
+  }
+}
+
+class utils::personal::debian {
+  package { [ 'iceweasel', 'sun-java6-jre', 'hplip' ]:
+    ensure => installed,
+  }
+
+  # Java alternative
+  file { "/etc/alternatives/java":
+    ensure  => "/usr/lib/jvm/java-6-sun/jre/bin/java",
+    owner   => root,
+    group   => root,
+    require => Package['sun-java6-jre'],
+  }
+
+  # Lenny only
+  package { [ 'mozilla-firefox-adblock' ]:
+    ensure => $lsbdistcodename ? {
+      'lenny' => present,
+      default => absent,
+    },
+  }
+
+  # Squeeze (or newer) packages
+  if $lsbdistcodename != 'lenny' {
+    package { [ 'xul-ext-monkeysphere', 'chromium-browser', 'libical-parser-perl',
+                'maildir-utils',        'icedtea6-plugin' ]:
+      ensure => installed,
+    }
+  }
+}
diff --git a/manifests/subsystems/utils/physical.pp b/manifests/subsystems/utils/physical.pp
new file mode 100644 (file)
index 0000000..6bba5db
--- /dev/null
@@ -0,0 +1,6 @@
+# Common utilities for physical
+class utils::physical {
+  package { [ 'nload', 'acpid', 'acpi', 'slurm' ]:
+    ensure => installed,
+  }
+}
diff --git a/manifests/subsystems/utils/storage.pp b/manifests/subsystems/utils/storage.pp
new file mode 100644 (file)
index 0000000..e83873b
--- /dev/null
@@ -0,0 +1,6 @@
+# Common utilities for storage
+class utils::storage {
+  package { 'clamav':
+    ensure => installed,
+  }
+}
diff --git a/manifests/subsystems/utils/web.pp b/manifests/subsystems/utils/web.pp
new file mode 100644 (file)
index 0000000..6517b35
--- /dev/null
@@ -0,0 +1,8 @@
+# Common utilities for web
+class utils::web {
+  package { [ 'ffmpeg',  'flvtool2',             'curl',                'rake',
+              'libxml2', 'libxml2-dev',          'libxslt1-dev',        'libmysqlclient-dev',
+              'g++',     'libcurl4-openssl-dev', 'apache2-prefork-dev' ]:
+    ensure => installed,
+  }
+}