Index: server/fedora/config/gems.py
===================================================================
--- server/fedora/config/gems.py	(revision 204)
+++ server/fedora/config/gems.py	(revision 204)
@@ -0,0 +1,15 @@
+#!/usr/bin/python
+"""Retrieve local ruby gem list from scripts.mit.edu
+
+Joe Presbrey <presbrey@mit.edu"""
+
+import commands, re
+
+def scripts_gems():
+	cout = commands.getoutput('gem list --local')
+	return re.findall('([^\s]+)\s\([0-9\.]+\)', cout)
+
+if __name__ == "__main__":
+	for x in gems_local():
+		if x == 'sources': continue
+		print x
Index: server/fedora/config/rpms.sh
===================================================================
--- server/fedora/config/rpms.sh	(revision 203)
+++ server/fedora/config/rpms.sh	(revision 204)
@@ -1,5 +1,10 @@
 #!/bin/bash
-
+#
 # Retrieve package list from scripts.mit.edu
+# Install them with yum
+#
+# Joe Presbrey <presbrey@mit.edu>
+#
+# Skip openafs (custom built), kernel (pedantic), and pubkeys.
 
 ssh root@scripts.mit.edu rpm -qa --qf '%{name}.%{arch}\\n' | grep -v openafs | grep -v kernel | grep -v pubkey > rpms.log
Index: server/fedora/config/signup.py
===================================================================
--- server/fedora/config/signup.py	(revision 204)
+++ server/fedora/config/signup.py	(revision 204)
@@ -0,0 +1,37 @@
+#!/usr/bin/python
+"""Add system users from external passwd and group files
+Joe Presbrey <presbrey@mit.edu>
+
+arguments: <passwd-file> <group-file>"""
+
+
+import commands
+import os,sys,string
+#import athena
+
+def do_groupfile(f):
+	for x in f.readlines():
+		gname = x.strip().split(':')[0]
+		gid = x.strip().split(':')[2]
+		c = commands.getstatusoutput('groupadd -g ' + gid + ' ' + gname)
+		if c[0] == 0:
+			print "group " + gname + "/" + gid + " added successfully."
+
+def do_userfile(f):
+	for x in f.readlines():
+		name = x.strip().split(':')[0]
+		#uathena = AthenaUser(name)
+		uid = x.strip().split(':')[2]
+		gid = x.strip().split(':')[3]
+		home = x.strip().split(':')[5]
+		if uid > 100:
+			c = commands.getstatusoutput('useradd -M -d ' + home + ' -u ' + uid + ' -g ' + gid + ' -G users -s /usr/local/bin/mbash ' + name)
+			if c[0] == 0:
+				print "user " + name + "/" + uid + " added successfully."
+
+if __name__ == "__main__":
+	if len(sys.argv) != 3:
+		print __doc__
+	else:
+		do_groupfile(file(sys.argv[2]))
+		do_userfile(file(sys.argv[1]))
