[26933] in Source-Commits

home help back first fref pref prev next nref lref last post

/svn/athena r25838 - trunk/debathena/scripts/installer

daemon@ATHENA.MIT.EDU (Jonathan D Reed)
Wed Mar 6 13:03:06 2013

Date: Wed, 6 Mar 2013 13:02:58 -0500
From: Jonathan D Reed <jdreed@MIT.EDU>
Message-Id: <201303061802.r26I2wC6025578@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: jdreed
Date: 2013-03-06 13:02:58 -0500 (Wed, 06 Mar 2013)
New Revision: 25838

Modified:
   trunk/debathena/scripts/installer/install-debathena.beta.sh
Log:
Fix Hesiod clusterinfo code so that our workflow is represented
without needing multiple apt_release tags (Trac :#1036)

Modified: trunk/debathena/scripts/installer/install-debathena.beta.sh
===================================================================
--- trunk/debathena/scripts/installer/install-debathena.beta.sh	2013-03-06 01:15:38 UTC (rev 25837)
+++ trunk/debathena/scripts/installer/install-debathena.beta.sh	2013-03-06 18:02:58 UTC (rev 25838)
@@ -411,15 +411,27 @@
   echo "deb-src http://debathena.mit.edu/apt $distro debathena debathena-config debathena-system$openafs_component" >> $sourceslist
 fi
 
-# Note that hesiod may contain multiple apt_release tokens.  We want to
-# include known repositories but make no assumptions about wanting
-# others.  (For instances, "development" does @i{not} automatically
-# infer "proposed".)
-hescluster=$(dig +short +bufsize=2048 ${hostname}.cluster.ns.athena.mit.edu TXT) || hescluster=""
+# As of 6 March 2013, Hesiod no longer contains multiple unversioned 
+# apt_release tokens (Trac: #1036).  development implies proposed.
+# bleeding implies development, and the transitive property applies.
+# It's possible we should have this be configurable via a URL
+# rather than hardcoded.
+apt_release=$(dig +short +bufsize=2048 ${hostname}.cluster.ns.athena.mit.edu TXT | tr -d '"' | awk '$1=="apt_release" { print $2 }')
 
-aptexplained=false
-for hc in proposed development bleeding; do
-  if echo "$hescluster" | grep -Fxq "\"apt_release $hc\""; then
+if [ -n "$apt_release" ]; then
+  extra_repos=
+  case "$apt_release" in
+    development)
+      extra_repos="development proposed" ;;
+    proposed)
+      extra_repos="proposed" ;;
+    bleeding)
+      extra_repos="bleeding development proposed" ;;
+    *)
+      output "NOTE: Ignoring unknown apt_release value: \"$apt_release\"" ;;
+  esac
+  aptexplained=false
+  for hc in $extra_repos; do
     echo "Adding $distro-$hc apt repository."
     if [ "${aptexplained}" = false ] ; then
       echo "" >> $clustersourceslist
@@ -431,8 +443,8 @@
     echo "" >> $clustersourceslist
     echo "deb http://debathena.mit.edu/apt $distro-${hc} debathena debathena-config debathena-system$openafs_component" >> $clustersourceslist
     echo "deb-src http://debathena.mit.edu/apt $distro-${hc} debathena debathena-config debathena-system$openafs_component" >> $clustersourceslist
-  fi
-done
+  done
+fi
 
 if [ "$ubuntu" = "yes" ]; then
   output "Making sure the universe repository is enabled"


home help back first fref pref prev next nref lref last post