Mess some more with the motd
[mirror/dsa-puppet.git] / modules / motd / templates / motd.erb
index b371a90..7ddb539 100644 (file)
@@ -13,7 +13,7 @@ this machine you agree to abide by the Debian Machines Usage Policies
 
 <%=
 def wrap(s, width=78)
-      s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n")
+      s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n ")
 end
 
 def markup(l)
@@ -22,6 +22,12 @@ def markup(l)
   return l
 end
 
+if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('architecture')
+  arch = scope.lookupvar('site::nodeinfo')['ldap']['architecture'][0]
+else
+  arch = 'unknown'
+end
+
 purp = ''
 if scope.lookupvar('site::nodeinfo').has_key?('nameinfo')
   purp += " " + wrap(scope.lookupvar('site::nodeinfo')['nameinfo']) + "\n"
@@ -35,40 +41,22 @@ if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('purpose'))
   extra = ''
 
   if p.delete('buildd')
-    purp += ", the Debian "
-    if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('architecture')
-      purp += scope.lookupvar('site::nodeinfo')['ldap']['architecture'][0]
-    end
-    purp += " build daemon"
+    extra += ", the Debian #{arch} build daemon."
   end
-
-  if p.delete('porterbox')
-    purp += ", the Debian "
-    if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('architecture')
-      purp += scope.lookupvar('site::nodeinfo')['ldap']['architecture'][0]
-    end
-    purp += " porterbox"
-    extra += "\n"
-    if classes.include?("porterbox")
-      extra += "For an introduction to the porterbox 'schroot' tool, see:\n"
-      extra += "  <URL:http://dsa.debian.org/doc/schroot/>.\n"
-    else
-      extra += "See 'dchroot -l' or 'schroot -l' for a list of available chroots.\n"
-      if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('admin')
-        extra += "Please contact #{ninfo['ldap']['admin'][0]} for install requests,\n"
-        extra += "following the recommendations in <URL:http://dsa.debian.org/doc/install-req/>.\n"
-      end
-    end
+  if p.delete('porterbox') or classes.include?("porterbox")
+    extra += ", the Debian #{arch} porterbox. See\n"+
+    extra += " <URL:http://dsa.debian.org/doc/schroot/> for a brief schroot tutorial."
   end
 
   if p.size() > 0
-    purp += ", used for the following services:\n"
+    extra += (extra == "") ? ", " : " Also"
+    extra +="used for the following services:\n"
     scope.lookupvar('site::nodeinfo')['ldap']['purpose'].sort.each do |l|
       l = markup(l)
-      purp += "\t" + l + "\n"
+      extra += "\t#{l}\n"
     end
   else
-    purp += ".\n"
+    extra += ".\n"
   end
 
   purp += extra
@@ -138,19 +126,19 @@ end
 
 
 if classes.include?("porterbox")
-  purp += "\n Disk space on porter boxes is often limited.  Please respect your fellow\n" +
-           " porters by cleaning up after yourself by deleting schroots and source/build\n" +
-           " trees in your $HOME, as soon as feasible.  DSA reserves the right to recover\n" +
-           " disk space as necessary.\n"
+  purp += "\n " + wrap("Disk space on porter boxes is often limited.  Please
+respect your fellow porters by cleaning up after yourself by deleting
+schroots and source/build trees in your $HOME, as soon as feasible.  DSA
+reserves the right to recover disk space as necessary.") + "\n"
 end
 
 if ninfo['not-bacula-client'] then
-  purp += "\n Note that this host is _NOT_ being backed up.  If you care about your\n" +
-            " data, run your own backups.\n"
+  purp += "\n " + wrap("Note that this host is _NOT_ being backed up.  If you
+care about your data, run your own backups.")
 end
 
 if scope.lookupvar('site::nodeinfo').has_key?('footer')
-  purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer']) + "\n"
+  purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer'])
 end
 
 purp