Index: trunk/packages/invirt-database/debian/changelog
===================================================================
--- trunk/packages/invirt-database/debian/changelog	(revision 2797)
+++ trunk/packages/invirt-database/debian/changelog	(revision 2798)
@@ -1,2 +1,10 @@
+invirt-database (0.2.4) unstable; urgency=low
+
+  * Generate a new /etc/postgresql/8.3/main/postgresql.conf with
+    pg_createcluster instead of taking it from the build host.  Ensure
+    that it is generated with the en_US.UTF-8 locale.
+
+ -- Anders Kaseorg <andersk@mit.edu>  Sun, 27 Dec 2009 20:32:21 -0500
+
 invirt-database (0.2.3) unstable; urgency=low
 
Index: trunk/packages/invirt-database/debian/invirt-database-server.install
===================================================================
--- trunk/packages/invirt-database/debian/invirt-database-server.install	(revision 2797)
+++ trunk/packages/invirt-database/debian/invirt-database-server.install	(revision 2798)
@@ -1,3 +1,4 @@
 postgresql-8.3.invirt etc/init.d
+debian/postgresql.conf.invirt etc/postgresql/8.3/main
 pg_hba.conf.mako etc/postgresql/8.3/main
 invirt-database-tables usr/bin
Index: trunk/packages/invirt-database/debian/rules
===================================================================
--- trunk/packages/invirt-database/debian/rules	(revision 2797)
+++ trunk/packages/invirt-database/debian/rules	(revision 2798)
@@ -5,8 +5,6 @@
 DEB_DIVERT_EXTENSION = .invirt
 
-DEB_TRANSFORM_FILES_invirt-database-server += \
-	/etc/postgresql/8.3/main/postgresql.conf.invirt
-
 DEB_DIVERT_FILES_invirt-database-server += \
+	/etc/postgresql/8.3/main/postgresql.conf.invirt \
 	/etc/init.d/postgresql-8.3.invirt
 
@@ -15,4 +13,20 @@
 include /usr/share/cdbs/1/rules/config-package.mk
 
+common-build-indep:: debian/postgresql.conf.invirt
+
+debian/postgresql.conf.invirt: debian/transform_postgresql.conf.invirt
+	set -e; \
+	export invirt_tmp="$$(mktemp -dt invirt-database.XXXXXX)"; \
+	PG_CLUSTER_CONF_ROOT="$$invirt_tmp/etc/postgresql" \
+	    LC_ALL=en_US.UTF-8 \
+	    pg_createcluster 8.3 main \
+	    --datadir="$$invirt_tmp/var/lib/postgresql/8.3/main" \
+	    --socketdir=/var/run/postgresql \
+	    --port=5432; \
+	chmod +x $<; \
+	$< < "$$invirt_tmp/etc/postgresql/8.3/main/postgresql.conf" > $@; \
+	rm -rf "$$invirt_tmp"
+
 clean::
 	rm -rf invirt.database.egg-info
+	rm -f debian/postgresql.conf.invirt
Index: trunk/packages/invirt-database/debian/transform_postgresql.conf.invirt
===================================================================
--- trunk/packages/invirt-database/debian/transform_postgresql.conf.invirt	(revision 2797)
+++ trunk/packages/invirt-database/debian/transform_postgresql.conf.invirt	(revision 2798)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl -0p
 
-s/^#?listen_addresses = '[^']*'(.*)$/listen_addresses = '*'$1/m or die;
-s/^#?port = [0-9]*(.*)$/port = 5432$1/m or die;
+s#\Q$ENV{invirt_tmp}\E##g;
+s/^#ssl = off/ssl = true/m or die;
+s/^#?listen_addresses = '[^']*'/listen_addresses = '*'/m or die;
