Index: debian/.gitignore
===================================================================
--- debian/.gitignore	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/.gitignore	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,1 @@
+*~
Index: debian/changelog
===================================================================
--- debian/changelog	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/changelog	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,111 @@
+gutenbach (2.04) unstable; urgency=low
+
+  * Create a single source package for all gutenbach-* packages.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Sat, 26 Jun 2010 20:53:20 -0400
+
+gutenbach-server (2.03) unstable; urgency=low
+
+  * Update permissions again, to allow everybody to access the server
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Tue, 08 Jun 2010 19:07:09 -0400
+
+gutenbach-server (2.02) unstable; urgency=low
+
+  * Fix print server permissions problems such that remote
+  users can user cups-lpq and cups-lprm
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Mon, 31 May 2010 23:51:52 -0400
+
+gutenbach-server (2.01) unstable; urgency=low
+
+  * Handle SIGTERM in the gutenbach backend, so jobs don't
+  keep playing even after being dequeued.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Mon, 31 May 2010 22:23:53 -0400
+
+gutenbach-server (2.0) unstable; urgency=low
+
+  * Changed from using LPRng to CUPS
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Thu, 13 May 2010 17:40:53 -0400
+
+gutenbach-server (1.01) unstable; urgency=low
+
+  * Implemented debconf to retrieve printer and zephyr class names.
+  * Made uninstall cleaner (and when you purge, it purges
+  configuration files and changes)
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Wed, 16 Sep 2009 15:58:40 -0400
+
+gutenbach-server (1.0) unstable; urgency=low
+
+  * Initial release.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Tue, 08 Sep 2009 18:38:12 -0400
+
+gutenbach-client (1.01-1) unstable; urgency=low
+
+  * Make package no longer Debian native.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Sat, 26 Jun 2010 19:20:08 -0400
+
+gutenbach-client (1.01) unstable; urgency=low
+
+  * Fix debhelper compatibility to 5 (for backwards compatibility)
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Sat, 26 Jun 2010 18:01:02 -0400
+
+gutenbach-client (1.0) unstable; urgency=low
+
+  * Initial package build
+  * gbq - show queue
+  * gbr - queue file
+  * gbrm - remove file
+  * gutenbach-client-config - add, list, or delete queues
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Sat, 26 Jun 2010 16:56:28 -0400
+
+gutenbach-client (0.01) unstable; urgency=low
+
+  * Created skeleton package.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Sat, 19 Jun 2010 00:23:53 -0400
+
+gutenbach-queue (1.02) unstable; urgency=low
+
+  * Prevent the screen from turning off when
+  view-gutenbach-queue is running.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Mon, 14 Dec 2009 20:24:37 -0500
+
+gutenbach-queue (1.01) unstable; urgency=low
+
+  * Changed the chown in the postinst to
+  daemon:daemon instaed of daemon:pika
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Mon, 14 Dec 2009 20:23:50 -0500
+
+gutenbach-queue (1.0) unstable; urgency=low
+
+  * Initial release.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Mon, 14 Dec 2009 20:03:48 -0500
+
+gutenbach-remctl (1.02) unstable; urgency=low
+
+  * Depend on version 2.0 or greater of gutenbach
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Thu, 13 May 2010 17:42:53 -0400
+
+gutenbach-remctl (1.01) unstable; urgency=low
+
+  * Just say the new volume, not who changed it.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Mon, 14 Dec 2009 22:04:43 -0500
+
+gutenbach-remctl (1.0) unstable; urgency=low
+
+  * Initial release.
+
+ -- Jessica Hamrick <jhamrick@mit.edu>  Mon, 14 Dec 2009 22:03:44 -0500
Index: debian/compat
===================================================================
--- debian/compat	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/compat	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,1 @@
+5
Index: debian/control
===================================================================
--- debian/control	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/control	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,38 @@
+Source: gutenbach
+Section: sound
+Priority: extra
+Maintainer: Jessica Hamrick <jhamrick@mit.edu>
+Build-Depends: cdbs, debhelper (>= 5)
+Standards-Version: 3.8.4
+
+Package: gutenbach-server
+Architecture: all
+Pre-Depends: debconf
+Depends: ${shlibs:Depends}, ${misc:Depends}, mplayer, libimage-exiftool-perl, cups, debathena-cupsys-config, sysv-rc, adduser, debathena-zephyr-config, alsa-base
+Conflicts: pulseaudio
+Provides: pulseaudio
+Description: Server for playing music files from a remote machine
+ Allows remote machines to play music files on this machine
+ by "printing" them with the Common UNIX Printing System (CUPS).
+
+Package: gutenbach-client
+Architecture: all
+Pre-Depends: debconf
+Depends: ${shlibs:Depends}, ${misc:Depends}, cups, libnet-cups-perl
+Description: Client-side helper scripts for interacting with
+ the Gutenbach music player.
+
+Package: gutenbach-queue
+Architecture: all
+Pre-Depends: debconf
+Depends: ${shlibs:Depends}, ${misc:Depends}, daemon, gutenbach-server
+Description: Displays metadat about the current songs in the 
+ queue for the gutenbach music spooler, and also the song that
+ is currently playing.
+
+Package: gutenbach-remctl
+Architecture: all
+Pre-Depends: debconf
+Depends: ${shlibs:Depends}, ${misc:Depends}, gutenbach-server (>= 2.0), alsa-utils, cd-discid, remctl-server
+Description: Allows a remote user to control the volume, view
+ the current status of the queue, or play tracks from a cd.
Index: debian/copyright
===================================================================
--- debian/copyright	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/copyright	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,1 @@
+Copyright 2009 Jessica Hamrick
Index: debian/gutenbach-client.install
===================================================================
--- debian/gutenbach-client.install	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-client.install	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/gbq /usr/bin/
+debian/tmp/usr/bin/gbr /usr/bin/
+debian/tmp/usr/bin/gbrm /usr/bin/
+debian/tmp/usr/bin/gutenbach-client-config /usr/bin/
Index: debian/gutenbach-queue.dirs
===================================================================
--- debian/gutenbach-queue.dirs	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-queue.dirs	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,2 @@
+usr/lib/gutenbach
+usr/lib/gutenbach/queue
Index: debian/gutenbach-queue.init
===================================================================
--- debian/gutenbach-queue.init	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-queue.init	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,91 @@
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides:          gutenbach-queue
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Starts the queue daemon for gutenbach.
+# Description:       Starts the queue daemon for gutenbach.
+### END INIT INFO
+
+case "$1" in
+    start)
+	daemon -F /var/run/gutenbach/gutenbach-queue.pid --name gutenbach-queue --running
+	if [ "$?" == 0 ]; then
+	    echo "The gutenbach queue daemon is already running."
+	else
+	    if [ ! -e /var/run/gutenbach/current_queue ]; then
+		touch /var/run/gutenbach/current_queue
+		chmod ugoa+r /var/run/gutenbach/current_queue
+            fi
+            if [ ! -e /var/run/gutenbach/queue_times ]; then
+		touch /var/run/gutenbach/queue_times
+            fi
+            if [ ! -e /var/run/gutenbach/exiftool_data ]; then
+		touch /var/run/gutenbach/exiftool_data
+	    fi
+            if [ ! -e /var/run/gutenbach/current_queue_temp ]; then
+		touch /var/run/gutenbach/current_queue_temp
+            fi
+
+	    echo "Starting gutenbach daemon..."
+	    daemon -F /var/run/gutenbach/gutenbach-queue.pid --name gutenbach-queue -u daemon /usr/lib/gutenbach/queue/build-gutenbach-queue
+	    echo "Done."
+	fi
+	;;
+
+    stop)
+	daemon -F /var/run/gutenbach/gutenbach-queue.pid --stop --name gutenbach-queue
+	/usr/lib/gutenbach/queue/kill-gutenbach-queue
+
+	if [ -e /var/run/gutenbach/current_queue ]; then
+            rm /var/run/gutenbach/current_queue
+	fi
+        if [ -e /var/run/gutenbach/queue_times ]; then
+            rm /var/run/gutenbach/queue_times
+	fi
+        if [ -e /var/run/gutenbach/exiftool_data ]; then
+            rm /var/run/gutenbach/exiftool_data
+	fi
+        if [ -e /var/run/gutenbach/current_queue_temp ]; then
+            rm /var/run/gutenbach/current_queue_temp
+        fi
+	;;
+
+    restart)
+	daemon -F /var/run/gutenbach/gutenbach-queue.pid --stop --name gutenbach-queue
+        /usr/lib/gutenbach/queue/kill-gutenbach-queue
+
+	if [ -e /var/run/gutenbach/current_queue ]; then
+	    rm /var/run/gutenbach/current_queue
+	fi
+	if [ -e /var/run/gutenbach/queue_times ]; then
+	    rm /var/run/gutenbach/queue_times
+	fi
+	if [ -e /var/run/gutenbach/exiftool_data ]; then
+	    rm /var/run/gutenbach/exiftool_data
+	fi
+	if [ -e /var/run/gutenbach/current_queue_temp ]; then
+	    rm /var/run/gutenbach/current_queue_temp
+	fi
+
+	touch /var/run/gutenbach/current_queue
+	chmod ugoa+r /var/run/gutenbach/current_queue
+	touch /var/run/gutenbach/queue_times
+	touch /var/run/gutenbach/exiftool_data
+	touch /var/run/gutenbach/current_queue_temp
+
+	echo "Starting gutenbach daemon..."
+	daemon -F /var/run/gutenbach/gutenbach-queue.pid --name gutenbach-queue -u daemon /usr/lib/gutenbach/queue/build-gutenbach-queue
+	echo "Done."
+	;;
+
+    force-reload)
+	;;
+
+    *)
+	echo "Usage: $0 {start|stop|restart}"
+	exit 1
+	;;
+esac
Index: debian/gutenbach-queue.install
===================================================================
--- debian/gutenbach-queue.install	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-queue.install	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/gutenbach/queue/build-gutenbach-queue /usr/lib/gutenbach/queue/
+debian/tmp/usr/lib/gutenbach/queue/kill-gutenbach-queue /usr/lib/gutenbach/queue/
+debian/tmp/usr/lib/gutenbach/queue/queue /usr/lib/gutenbach/queue/
+debian/tmp/usr/lib/gutenbach/queue/view-gutenbach-queue /usr/lib/gutenbach/queue/
Index: debian/gutenbach-queue.postinst
===================================================================
--- debian/gutenbach-queue.postinst	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-queue.postinst	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,51 @@
+#!/bin/sh
+# postinst script for gutenbach-queue
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+. /usr/share/debconf/confmodule
+
+case "$1" in
+    configure|reconfigure)
+	chmod +x /usr/lib/gutenbach/queue/build-gutenbach-queue
+	chmod +x /usr/lib/gutenbach/queue/kill-gutenbach-queue
+	chmod +x /usr/lib/gutenbach/queue/view-gutenbach-queue
+	chmod +x /usr/lib/gutenbach/queue/queue
+	
+	if [ ! -e /usr/bin/view-gutenbach-queue ]; then
+	    ln -s /usr/lib/gutenbach/queue/view-gutenbach-queue /usr/bin/view-gutenbach-queue
+	fi
+
+	chown -R daemon:daemon /var/run/gutenbach
+	chmod og+rw /var/run/gutenbach
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/gutenbach-queue.postrm
===================================================================
--- debian/gutenbach-queue.postrm	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-queue.postrm	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,48 @@
+#!/bin/sh
+# postrm script for gutenbach-queue
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+	if [ "$1" = "purge" ]; then
+	    if [ -e /usr/lib/gutenbach/queue ]; then
+		echo "Removing /usr/lib/gutenbach/queue/ ..." >&2
+		rm -r  /usr/lib/gutenbach/queue
+	    fi
+
+	    if [ -e /usr/bin/view-gutenbach-queue ]; then
+		echo "Removing /usr/bin/view-gutenbach-queue ..." >&2
+		rm /usr/bin/view-gutenbach-queue
+	    fi
+     	fi
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/gutenbach-remctl.dirs
===================================================================
--- debian/gutenbach-remctl.dirs	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-remctl.dirs	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,3 @@
+usr/lib/gutenbach
+usr/lib/gutenbach/remctl
+etc/remctl/conf.d
Index: debian/gutenbach-remctl.init
===================================================================
--- debian/gutenbach-remctl.init	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-remctl.init	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,114 @@
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides:          gutenbach-remctl
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Starts remctld.
+# Description:       Starts remctld.
+### END INIT INFO
+
+case "$1" in
+    start)
+	if [ -e /var/run/gutenbach/remctld.pid ]; then
+	    pid=$(cat /var/run/gutenbach/remctld.pid)
+	    if [ -n "$pid" ]; then
+		kill -0 "$pid"
+		if [ "$?" == 0 ]; then
+		    echo "Ending remctld..." >&2
+		    kill "$pid" || true
+		fi
+	    fi
+	fi
+
+	pid=$(sudo lsof -i :4373 | grep remctld | sed s/remctld\ // | sed s/\ .*//)
+	if [ -n "$pid" ]; then
+	    kill -0 "$pid"
+	    if [ "$?" == 0 ]; then
+		echo "Ending remctld socket binding..." >&2
+		kill "$pid" || true
+	    fi
+	fi
+
+	echo "Starting remctld..." >&2
+	remctld -m -P /var/run/gutenbach/remctld.pid &
+	;;
+
+    stop)
+	if [ -e /var/run/gutenbach/remctld.pid ]; then
+	    pid=$(cat /var/run/gutenbach/remctld.pid)
+	    if [ -n "$pid" ]; then
+		kill -0 "$pid"
+		if [ "$?" == 0 ]; then
+		    echo "Ending remctld..." >&2
+		    kill "$pid" || true
+		fi
+	    fi
+	fi
+
+	pid=$(sudo lsof -i :4373 | grep remctld | sed s/remctld\ // | sed s/\ .*//)
+	if [ -n "$pid" ]; then
+	    kill -0 "$pid"
+	    if [ "$?" == 0 ]; then
+		echo "Ending remctld socket binding..." >&2
+		kill "$pid" || true
+	    fi
+	fi
+	;;
+
+    restart)
+	if [ -e /var/run/gutenbach/remctld.pid ]; then
+	    pid=$(cat /var/run/gutenbach/remctld.pid)
+	    if [ -n "$pid" ]; then
+		kill -0 "$pid"
+		if [ "$?" == 0 ]; then
+		    echo "Ending remctld..." >&2
+		    kill "$pid" || true
+		fi
+	    fi
+	fi
+
+	pid=$(sudo lsof -i :4373 | grep remctld | sed s/remctld\ // | sed s/\ .*//)
+	if [ -n "$pid" ]; then
+	    kill -0 "$pid"
+	    if [ "$?" == 0 ]; then
+		echo "Ending remctld socket binding..." >&2
+		kill "$pid" || true
+	    fi
+	fi
+
+	echo "Starting remctld..." >&2
+	remctld -m -P /var/run/gutenbach/remctld.pid &
+	;;
+
+    force-reload)
+	if [ -e /var/run/gutenbach/remctld.pid ]; then
+	    pid=$(cat /var/run/gutenbach/remctld.pid)
+	    if [ -n "$pid" ]; then
+		kill -0 "$pid"
+		if [ "$?" == 0 ]; then
+		    echo "Ending remctld..." >&2
+		    kill "$pid" || true
+		fi
+	    fi
+	fi
+
+	pid=$(sudo lsof -i :4373 | grep remctld | sed s/remctld\ // | sed s/\ .*//)
+	if [ -n "$pid" ]; then
+	    kill -0 "$pid"
+	    if [ "$?" == 0 ]; then
+		echo "Ending remctld socket binding..." >&2
+		kill "$pid" || true
+	    fi
+	fi
+
+	echo "Starting remctld..." >&2
+	remctld -m -P /var/run/gutenbach/remctld.pid &
+	;;
+
+    *)
+	echo "Usage: $0 {start|stop|restart}"
+	exit 1
+	;;
+esac
Index: debian/gutenbach-remctl.install
===================================================================
--- debian/gutenbach-remctl.install	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-remctl.install	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/gutenbach/remctl/* /usr/lib/gutenbach/remctl/
+debian/tmp/etc/remctl/conf.d/* /etc/remctl/conf.d/
Index: debian/gutenbach-remctl.postinst
===================================================================
--- debian/gutenbach-remctl.postinst	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-remctl.postinst	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,52 @@
+#!/bin/sh
+# postinst script for gutenbach-remctl
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+case "$1" in
+    configure|reconfigure)
+	chmod +x /usr/lib/gutenbach/remctl/cd-cddb
+	chmod +x /usr/lib/gutenbach/remctl/cd-cddb-get
+	chmod +x /usr/lib/gutenbach/remctl/cd-play
+	chmod +x /usr/lib/gutenbach/remctl/status-clear
+	chmod +x /usr/lib/gutenbach/remctl/status-get
+	chmod +x /usr/lib/gutenbach/remctl/volume-down
+	chmod +x /usr/lib/gutenbach/remctl/volume-get
+	chmod +x /usr/lib/gutenbach/remctl/volume-help
+	chmod +x /usr/lib/gutenbach/remctl/volume-is-muted
+	chmod +x /usr/lib/gutenbach/remctl/volume-mute
+	chmod +x /usr/lib/gutenbach/remctl/volume-set
+	chmod +x /usr/lib/gutenbach/remctl/volume-show
+	chmod +x /usr/lib/gutenbach/remctl/volume-up
+	chmod +x /usr/lib/gutenbach/remctl/volume-zephyr
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/gutenbach-remctl.postrm
===================================================================
--- debian/gutenbach-remctl.postrm	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-remctl.postrm	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,49 @@
+#!/bin/sh
+# postrm script for gutenbach-remctl
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+	if [ "$1" = "purge" ]; then
+	    if [ -e /usr/lib/gutenbach/remctl ]; then
+		echo "Removing /usr/lib/gutenbach/remctl/ ..." >&2
+		rm -r  /usr/lib/gutenbach/remctl
+	    fi
+
+	    if [ -e /etc/remctl/conf.d ]; then
+		echo "Removing /etc/remctl/conf.d ..." >&2
+		rm /etc/remctl/conf.d
+		mkdir /etc/remctl/conf.d
+	    fi
+     	fi
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/gutenbach-server.config
===================================================================
--- debian/gutenbach-server.config	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.config	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,29 @@
+#!/bin/sh -e
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+printername=""
+zephyrclass=""
+hostname=""
+
+if [ -e /usr/lib/gutenbach/config/printername ]; then
+    printername=$(cat /usr/lib/gutenbach/config/printername)
+    db_set gutenbach-server/printername "$printername"
+fi
+
+if [ -e /usr/lib/gutenbach/config/zephyrclass ]; then
+    zephyrclass=$(cat /usr/lib/gutenbach/config/zephyrclass)
+    db_set gutenbach-server/zephyrclass "$zephyrclass"
+fi
+
+if [ -e /usr/lib/gutenbach/config/hostname ]; then
+    hostname=$(cat /usr/lib/gutenbach/config/hostname)
+    db_set gutenbach-server/hostname "$hostname"
+fi
+
+db_input high gutenbach-server/printername || true
+db_input high gutenbach-server/zephyrclass || true
+db_input high gutenbach-server/hostname || true
+db_go || true
+
Index: debian/gutenbach-server.dirs
===================================================================
--- debian/gutenbach-server.dirs	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.dirs	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,5 @@
+usr/lib/gutenbach
+usr/lib/gutenbach/inst
+usr/lib/gutenbach/rm
+usr/lib/gutenbach/config
+etc/
Index: debian/gutenbach-server.init
===================================================================
--- debian/gutenbach-server.init	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.init	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,49 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          gutenbach-server
+# Required-Start:    $remote_fs $syslog cups
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Starts lpd for gutenbach.
+# Description:       Starts lpd for gutenbach and creates
+#  files for use by gutenbach.
+### END INIT INFO
+
+case "$1" in
+  start)
+    mkdir /var/run/gutenbach
+    touch /var/run/gutenbach/status
+    chmod 0777 /var/run/gutenbach/status
+    
+    ;;
+
+  stop)
+    
+    if [ -e /var/run/gutenbach ]; then
+	rm -r /var/run/gutenbach
+    fi
+
+    ;;
+
+  restart)
+    
+    if [ -e /var/run/gutenbach ]; then
+	rm -r /var/run/gutenbach
+    fi
+
+
+    mkdir /var/run/gutenbach
+    touch /var/run/gutenbach/status
+    chmod 0777 /var/run/gutenbach/status
+
+    ;;
+
+  reload|force-reload|status)
+    ;;
+
+  *)
+    echo "Usage: /etc/init.d/gutenbach {start|stop|restart}" >&2
+    exit 1
+    ;;
+esac
Index: debian/gutenbach-server.install
===================================================================
--- debian/gutenbach-server.install	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.install	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,7 @@
+debian/tmp/usr/lib/cups/backend/gutenbach /usr/lib/cups/backend/
+debian/tmp/usr/lib/gutenbach/gutenbach /usr/lib/gutenbach/
+debian/tmp/usr/lib/gutenbach/gutenbach-get-config /usr/lib/gutenbach/
+debian/tmp/usr/lib/gutenbach/README /usr/lib/gutenbach/
+debian/tmp/usr/lib/gutenbach/TODO /usr/lib/gutenbach/
+debian/tmp/usr/lib/gutenbach/inst/* /usr/lib/gutenbach/inst/
+debian/tmp/usr/lib/gutenbach/rm/* /usr/lib/gutenbach/rm
Index: debian/gutenbach-server.postinst
===================================================================
--- debian/gutenbach-server.postinst	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.postinst	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,65 @@
+#!/bin/sh
+# postinst script for gutenbach-server
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+. /usr/share/debconf/confmodule
+
+case "$1" in
+    configure|reconfigure)
+	if [ ! -d /usr/lib/gutenbach/config ]; then
+	    mkdir /usr/lib/gutenbach/config
+	fi
+
+	db_get gutenbach-server/zephyrclass
+	echo "$RET" > /usr/lib/gutenbach/config/zephyrclass
+	db_get gutenbach-server/printername
+	echo "$RET" > /usr/lib/gutenbach/config/printername
+	db_get gutenbach-server/hostname
+	echo "$RET" > /usr/lib/gutenbach/config/hostname
+
+	chmod +x /usr/lib/gutenbach/inst/create-filter-config
+	chmod +x /usr/lib/gutenbach/inst/cups-add-printer
+	chmod +x /usr/lib/gutenbach/inst/cups-set-perms
+	/usr/lib/gutenbach/inst/create-filter-config
+	/usr/lib/gutenbach/inst/cups-add-printer
+	/usr/lib/gutenbach/inst/cups-set-perms
+
+
+	inaudio=$(groups lp | grep audio || true)
+	if [ -z "$inaudio" ]; then
+	    adduser lp audio
+	fi
+
+	db_stop
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/gutenbach-server.postrm
===================================================================
--- debian/gutenbach-server.postrm	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.postrm	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,54 @@
+#!/bin/sh
+# postrm script for gutenbach-server
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+	if [ "$1" = "purge" ]; then
+	    if [ -d /usr/lib/gutenbach ]; then
+		echo "Removing /usr/lib/gutenbach/..." >&2
+		rm -r /usr/lib/gutenbach
+	    fi
+
+	    if [ -e /usr/share/debconf/confmodule ]; then
+		echo "Purging debconf database entries..." >&2
+		. /usr/share/debconf/confmodule
+		db_purge
+	    fi
+	fi
+
+	inaudio=$(groups daemon | grep audio || true)
+	if [ ! -z "$inaudio" ]; then
+	    deluser daemon audio
+	fi
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/gutenbach-server.preinst
===================================================================
--- debian/gutenbach-server.preinst	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.preinst	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,36 @@
+#!/bin/sh
+# preinst script for gutenbach-server
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+. /usr/share/debconf/confmodule
+
+case "$1" in
+    install|upgrade)
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/gutenbach-server.prerm
===================================================================
--- debian/gutenbach-server.prerm	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.prerm	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,48 @@
+#!/bin/sh
+# prerm script for gutenbach-server
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|upgrade|deconfigure)
+
+	if [ -e /usr/lib/gutenbach/rm/cups-revert-perms ]; then
+	    chmod +x /usr/lib/gutenbach/rm/cups-revert-perms
+	    /usr/lib/gutenbach/rm/cups-revert-perms
+	fi
+
+	if [ -e /usr/lib/gutenbach/rm/cups-remove-printer ]; then
+	    chmod +x /usr/lib/gutenbach/rm/cups-remove-printer
+	    /usr/lib/gutenbach/rm/cups-remove-printer
+	fi
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/gutenbach-server.templates
===================================================================
--- debian/gutenbach-server.templates	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/gutenbach-server.templates	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,25 @@
+Template: gutenbach-server/printername
+Type: string
+_Description: Your gutenbach printer name:
+ gutenbach creates a printer to which you can print music
+ files.  gutenbach needs to know what you want to call the 
+ printer, and then after installation, you will be able
+ to do:
+ lpr -Pprintername@hostname your-music-file-.mp3 
+
+Template: gutenbach-server/zephyrclass
+Type: string
+_Description: Your gutenbach zephyr class:
+ When gutenbach plays a song, it sends a message to a zephyr
+ class with the song information (title, artist, album,
+ etc).  Please specify which class you would you these 
+ zephyrs to be sent to.  If you don't know what this is,
+ or you don't want zephyrs to be sent, just leave this 
+ field blank.
+
+Template: gutenbach-server/hostname
+Type: string
+_Description: The hostname to be displayed:
+ When gutenbach sends a zephyr, it will display the hostname.
+ If your hostname is particularly long, you may want to set
+ this to an abbreviation or something else shorter.
Index: debian/po/POTFILES.in
===================================================================
--- debian/po/POTFILES.in	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/po/POTFILES.in	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,1 @@
+[type: gettext/rfc822deb] gutenbach.templates
Index: debian/po/templates.pot
===================================================================
--- debian/po/templates.pot	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/po/templates.pot	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,64 @@
+# Gutenbach Translation File.
+#
+# This file is distributed under the same license as the GUTENBACH package.
+# Jessica B. Hamrick <jhamrick@mit.edu>, 2010.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: gutenbach@mit.edu\n"
+"POT-Creation-Date: 2010-06-14 18:36-0600\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../gutenbach.templates:1001
+msgid "Your gutenbach printer name:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../gutenbach.templates:1001
+msgid ""
+"gutenbach creates a printer to which you can print music files.  gutenbach "
+"needs to know what you want to call the  printer, and then after "
+"installation, you will be able to do: lpr -Pprintername@hostname your-music-"
+"file-.mp3"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../gutenbach.templates:2001
+msgid "Your gutenbach zephyr class:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../gutenbach.templates:2001
+msgid ""
+"When gutenbach plays a song, it sends a message to a zephyr class with the "
+"song information (title, artist, album, etc).  Please specify which class "
+"you would you these  zephyrs to be sent to.  If you don't know what this is, "
+"or you don't want zephyrs to be sent, just leave this  field blank."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../gutenbach.templates:3001
+msgid "The hostname to be displayed:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../gutenbach.templates:3001
+msgid ""
+"When gutenbach sends a zephyr, it will display the hostname. If your "
+"hostname is particularly long, you may want to set this to an abbreviation "
+"or something else shorter."
+msgstr ""
Index: debian/rules
===================================================================
--- debian/rules	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/rules	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,6 @@
+#!/usr/bin/make -f
+
+DEB_MAKE_INSTALL_TARGET=install DESTDIR=$(DEB_DESTDIR)
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/makefile.mk
Index: debian/source/format
===================================================================
--- debian/source/format	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
+++ debian/source/format	(revision 632040d1abb23e31a5b3443dc2dc6fcd0dae8108)
@@ -0,0 +1,1 @@
+1.0
