Have init script operate in the style of xvm-munin-config
authorGreg Brockman <gdb@mit.edu>
Sat, 2 Jan 2010 03:47:50 +0000 (22:47 -0500)
committerGreg Brockman <gdb@mit.edu>
Sat, 2 Jan 2010 03:47:50 +0000 (22:47 -0500)
svn path=/package_branches/invirt-base/hvirt/; revision=2840

debian/changelog
debian/invirt-base.init
debian/invirt-base.install
debian/rules
debian/transform_krb5.conf.invirt.mako [moved from debian/transform_krb5.conf.invirt with 92% similarity]

index 20cc7f6..c73ec72 100644 (file)
@@ -1,7 +1,8 @@
-invirt-base (0.0.29) unstable; urgency=low
+invirt-base (0.0.29hvirt1) unstable; urgency=low
 
   * Added debathena SSH and KRB5 config
   * Added init script to regen kerberos config
+  * Have init script operate in the style of xvm-munin-config
 
  -- Greg Brockman <gdb@mit.edu>  Thu, 24 Dec 2009 20:13:20 -0500
 
index 9256513..67b2258 100755 (executable)
 ### END INIT INFO
 
 # Author: Invirt Project <invirt@mit.edu>
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
 
-if [ -x /usr/bin/invirt-getconf -a -f /etc/krb5.conf.invirt ]; then
-    /usr/bin/perl -i -e '$r = `/usr/bin/invirt-getconf kerberos.realm`; chomp($r);
-      while(<>) { s/^([ \t]*default_realm *=).*$/\1 $r/m; print; }' /etc/krb5.conf.invirt
-fi
+PACKAGE=invirt-base
+GEN_FILES=/etc/krb5.conf.invirt
+
+dpkg -s "$PACKAGE" >/dev/null 2>/dev/null || exit 0
+
+. /lib/init/config-init.sh
+config_init "$1"
index 6dc9845..81bf382 100644 (file)
@@ -1,2 +1,4 @@
 files/* .
 debian/sshd_config.invirt etc/ssh/
+debian/krb5.conf.invirt.mako etc/
+
index c64adf6..adb3da8 100755 (executable)
@@ -5,10 +5,12 @@ DEB_DIVERT_EXTENSION = .invirt
 # Stolen from Debathena
 DEB_CHECK_FILES_SOURCE_/etc/krb5.conf.invirt = \
         /usr/share/kerberos-configs/krb5.conf.template
-DEB_TRANSFORM_FILES_invirt-base += \
-        /etc/krb5.conf.invirt
 DEB_DIVERT_FILES_invirt-base += \
-        /etc/ssh/sshd_config.invirt
+        /etc/ssh/sshd_config.invirt \
+        /etc/krb5.conf.invirt
+
+DEB_DH_INSTALLINIT_ARGS += --no-start
+DEB_UPDATE_RCD_PARAMS_invirt-base += defaults 20 80
 
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/class/python-distutils.mk
@@ -17,7 +19,7 @@ include /usr/share/cdbs/1/rules/config-package.mk
 binary-fixup/invirt-base::
        mv $(DEB_DESTDIR)usr/bin/invirt-reload $(DEB_DESTDIR)usr/sbin/invirt-reload
 
-common-build-indep:: debian/sshd_config.invirt
+common-build-indep:: debian/sshd_config.invirt debian/krb5.conf.invirt.mako
 
 # Stolen from Debathena
 debian/sshd_config.invirt-orig: /var/lib/dpkg/info/openssh-server.postinst
@@ -33,5 +35,8 @@ s/^#?ChallengeResponseAuthentication .*$$/ChallengeResponseAuthentication yes/m
 s/^#?UsePrivilegeSeparation .*$$/UsePrivilegeSeparation yes/m and \
 s/^#?PasswordAuthentication .*$$/PasswordAuthentication no/m or die;' $< > $@
 
+debian/krb5.conf.invirt.mako: $(call debian_check_files,/etc/krb5.conf)
+       debian/transform_krb5.conf.invirt.mako < $< > $@
+
 clean::
        rm -rf python/invirt.egg-info
similarity index 92%
rename from debian/transform_krb5.conf.invirt
rename to debian/transform_krb5.conf.invirt.mako
index 7ea96da..6ba9fc0 100755 (executable)
@@ -1,6 +1,15 @@
 #!/usr/bin/perl -p0
+BEGIN {
+    print <<'EOF';
+<%
+from invirt.config import structs as cfg
+%>
+EOF
+}
+
+s/^([ \t]*default_realm *=).*$/\1 \${cfg.kerberos.realm}/m or die;
+
 # Debathena rules (from debathena-kerberos-config)
-s/^([ \t]*default_realm *=).*$/\1 ATHENA.MIT.EDU/m or die;
 s/(\[realms\][^[]*\n)[ \t]*NUMENOR\.MIT\.EDU\s*=\s*\{[^}]*\}\s*\n/\1/;
 s/(\[realms\]\n)/\1\tNUMENOR.MIT.EDU = {\n\t\tkdc = numenor.mit.edu\n\t\tadmin_server = numenor.mit.edu\n\t}\n/ or die;
 s/(\[realms\][^[]*\n)[ \t]*CSAIL\.MIT\.EDU\s*=\s*\{[^}]*\}\s*\n/\1/;