Ottomata has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/83960


Change subject: Creating new dclass module.
......................................................................

Creating new dclass module.

This very simple module mostly just installs desired dclass packages.
I decided to make a new module for this because I needed to make sure the
/usr/lib symlinks are created so that Java 6 knows where to find the .so files.
Anyone who uses dclass java stuff (analytics, contint, etc.) needs to create
these symlinks.

Change-Id: Ia977343c140219e79012803e80b24a7dae3061e0
---
M manifests/role/analytics.pp
M modules/contint/manifests/packages.pp
A modules/dclass/manifests/data.pp
A modules/dclass/manifests/dev.pp
A modules/dclass/manifests/init.pp
A modules/dclass/manifests/java.pp
6 files changed, 52 insertions(+), 29 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/60/83960/1

diff --git a/manifests/role/analytics.pp b/manifests/role/analytics.pp
index 77520e6..307a42b 100644
--- a/manifests/role/analytics.pp
+++ b/manifests/role/analytics.pp
@@ -98,24 +98,7 @@
 
 
 class role::analytics::dclass {
-    # install dclass JNI package
-    # for device classification.
-    if !defined(Package['libdclass-java']) {
-        package { 'libdclass-java':
-            ensure  => 'installed',
-            require => Class['role::analytics::java'],
-        }
-    }
-    # Symlink libdclass* .so into /usr/lib.
-    # (Oracle java does not support multiarch.)
-    file { '/usr/lib/libdclass.so':
-        ensure => 'link',
-        target => '/usr/lib/x86_64-linux-gnu/libdclass.so.0',
-        require => Package['libdclass-java'],
-    }
-    file { '/usr/lib/libdclassjni.so':
-        ensure => 'link',
-        target => '/usr/lib/x86_64-linux-gnu/jni/libdclassjni.so',
-        require => Package['libdclass-java'],
-    }
+    include dclass,
+      dclass::java,
+      dclass::data
 }
diff --git a/modules/contint/manifests/packages.pp 
b/modules/contint/manifests/packages.pp
index c63457b..aeef904 100644
--- a/modules/contint/manifests/packages.pp
+++ b/modules/contint/manifests/packages.pp
@@ -105,15 +105,10 @@
   }
 
   # Used for mobile device classification in Kraken:
-  package { [
-    'libdclass0',
-    'libdclass0-dev',
-    'libdclass-jni',
-    'libdclass-java',
-    'libdclass-data',
-  ]:
-    ensure => 'installed',
-  }
+  include dclass,
+    dclass::dev,
+    dclass::java,
+    dclass::data
 
   # these packages are used by the tests for wikistats to parse the
   # generated reports to see if they are correct
diff --git a/modules/dclass/manifests/data.pp b/modules/dclass/manifests/data.pp
new file mode 100644
index 0000000..17f65f5
--- /dev/null
+++ b/modules/dclass/manifests/data.pp
@@ -0,0 +1,8 @@
+# == Class dclass::data
+#
+class dclass::data {
+    require dclass
+
+    # Used for mobile device classification in Kraken:
+    package { 'libdclass-data': ensure => 'installed' }
+}
\ No newline at end of file
diff --git a/modules/dclass/manifests/dev.pp b/modules/dclass/manifests/dev.pp
new file mode 100644
index 0000000..7de999c
--- /dev/null
+++ b/modules/dclass/manifests/dev.pp
@@ -0,0 +1,8 @@
+# == Class dclass::dev
+# Installs libdclass0-dev development header package
+#
+class dclass::dev {
+    require dclass
+
+    package { 'libdclass0-dev': ensure => 'installed' }
+}
\ No newline at end of file
diff --git a/modules/dclass/manifests/init.pp b/modules/dclass/manifests/init.pp
new file mode 100644
index 0000000..8b44279
--- /dev/null
+++ b/modules/dclass/manifests/init.pp
@@ -0,0 +1,6 @@
+# == Class dclass
+# Installs libdclass0 library
+#
+class dclass {
+    package { 'libdclass0': ensure => 'installed' }
+}
diff --git a/modules/dclass/manifests/java.pp b/modules/dclass/manifests/java.pp
new file mode 100644
index 0000000..3fbfa53
--- /dev/null
+++ b/modules/dclass/manifests/java.pp
@@ -0,0 +1,23 @@
+# == Class dclass::java
+#
+class dclass::java {
+    require dclass
+
+    # Used for mobile device classification in Kraken:
+    package { ['libdclass-jni', 'libdclass-java']:
+      ensure => 'installed',
+    }
+
+    # Symlink libdclass* .so into /usr/lib.
+    # Our java does not support multiarch.
+    file { '/usr/lib/libdclass.so':
+        ensure => 'link',
+        target => '/usr/lib/x86_64-linux-gnu/libdclass.so.0',
+        require => Package['libdclass0'],
+    }
+    file { '/usr/lib/libdclassjni.so':
+        ensure => 'link',
+        target => '/usr/lib/x86_64-linux-gnu/jni/libdclassjni.so',
+        require => Package['libdclass-jni'],
+    }
+}
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/83960
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia977343c140219e79012803e80b24a7dae3061e0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ottomata <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to