seems to be almost perfect
authorHeiko Schlittermann (JUMPER) <hs@schlittermann.de>
Fri, 02 Sep 2011 10:03:28 +0200
changeset 17 d6923e55cfae
parent 16 c89cceafe654
child 18 c183b8918cc7
seems to be almost perfect
debian/changelog
debian/littlebird-tc-core.postinst
debian/littlebird-tc-core.templates
debian/littlebird-tc-sql.config
debian/littlebird-tc-sql.postinst
debian/rules
--- a/debian/changelog	Fri Sep 02 01:14:40 2011 +0200
+++ b/debian/changelog	Fri Sep 02 10:03:28 2011 +0200
@@ -1,3 +1,9 @@
+littlebird (2011072500-40) stable; urgency=low
+
+  * almost perfect now. ssl gets started.
+
+ -- Heiko Schlittermann <hs@schlittermann.de>  Fri, 02 Sep 2011 10:02:15 +0200
+
 littlebird (2011072500-30) stable; urgency=low
 
   * added dependency on openssl 
--- a/debian/littlebird-tc-core.postinst	Fri Sep 02 01:14:40 2011 +0200
+++ b/debian/littlebird-tc-core.postinst	Fri Sep 02 10:03:28 2011 +0200
@@ -19,6 +19,8 @@
 # for details, see http://www.debian.org/doc/debian-policy/ or
 # the debian-policy package
 
+tmp=`mktemp`
+trap "rm -f $tmp" EXIT INT QUIT TERM
 
 case "$1" in
     configure)
@@ -71,10 +73,26 @@
 
     # snakeoil certificate
     if test "$crt" && test "$key" && ! test -f "$crt" && ! test -f "$key"; then
-	mkdir -p `dirname $crt`
-	mkdir -p `dirname $key`
-	openssl req -new -x509 -days 10 -subj "/O=DEMO/CN=$servername" \
-	    -out "$crt" -keyout "$key" -nodes
+	mkdir -p `dirname $crt` `dirname $key` || true
+
+	days=10
+
+	openssl req -new -x509 -days $days -subj "/O=DEMO/CN=$servername" \
+	    -out "$crt" -keyout "$key" -nodes 1>$tmp 2>&1 &
+	pid=$!
+
+	db_subst littlebird-tc/web/create-cert cn "$servername" || true
+	db_subst littlebird-tc/web/create-cert days $days || true
+	db_input medium littlebird-tc/web/create-cert || true
+	db_go || true
+
+	if ! wait $pid
+	then
+	    rm -f "$crt" "$key"
+	    cat $tmp >&2
+	    db_input critical littlebird-tc/web/cert-failed || true
+	    db_go || true
+	fi
     fi
 
     # tweak the config file, but just the lines following a magical
@@ -106,8 +124,9 @@
     )
 
 
-    invoke-rc.d apache2 reload 1>&1
-    echo >&2
+    db_stop || true
+    a2enmod ssl
+    invoke-rc.d apache2 reload >&2
 
     ;;
 
--- a/debian/littlebird-tc-core.templates	Fri Sep 02 01:14:40 2011 +0200
+++ b/debian/littlebird-tc-core.templates	Fri Sep 02 10:03:28 2011 +0200
@@ -34,3 +34,16 @@
 Description: pathname of the SSL certificate key file
  The HTTPS server uses an SSL certificate. Where is or where 
  will be the certificate *KEY* file located?
+
+Template: littlebird-tc/web/create-cert
+Type: note
+Description: The SSL certificate does not seem to exist.
+ Because I am missing the certificate I'm generating
+ a DEMO certificate (CN=${cn}) for you. Please do not
+ forget to replace it as soon as possible. The DEMO 
+ certificate will expire in ${days} days.
+
+Template: littlebird-tc/web/cert-failed
+Type: error
+Description: Sorry, the creation of the DEMO certificate failed.
+ Good look.
--- a/debian/littlebird-tc-sql.config	Fri Sep 02 01:14:40 2011 +0200
+++ b/debian/littlebird-tc-sql.config	Fri Sep 02 10:03:28 2011 +0200
@@ -15,7 +15,10 @@
 fi
 
 db_settitle $prefix-sql/TITLE
-db_input critical $prefix/db/have-admin     || true
+
+# the admin access query only appears if we never ever saw it
+db_fget $prefix/db/have-admin seen || true
+test "$RET" != "true" && db_input critical $prefix/db/have-admin || true
 db_go || true
 
 db_get $prefix/db/have-admin
--- a/debian/littlebird-tc-sql.postinst	Fri Sep 02 01:14:40 2011 +0200
+++ b/debian/littlebird-tc-sql.postinst	Fri Sep 02 10:03:28 2011 +0200
@@ -45,6 +45,7 @@
 		fi
 
 		if _mysql -e "" "$name" 2>/dev/null; then
+	            db_set littlebird-tc/db/have-admin false || true
 		    db_subst littlebird-tc/db/exists name "$name" || true
 		    db_input medium littlebird-tc/db/exists || true
 		    db_go || true
@@ -69,6 +70,9 @@
 			--host "$host" --db "$name" \
 			--adminuser "$adminuser" --adminpass "$adminpass" \
 			--user "$user" --pass "$pass"
+
+		# avoid stupid messages next time
+	        db_set littlebird-tc/db/have-admin false || true
 		fi
 	fi
     ;;
--- a/debian/rules	Fri Sep 02 01:14:40 2011 +0200
+++ b/debian/rules	Fri Sep 02 10:03:28 2011 +0200
@@ -12,6 +12,15 @@
 %:
 	dh $@ 
 
+override_dh_install:
+	dh_install
+	cd debian/littlebird-tc-core/srv/www/littlebird/CA/certs \
+	&& { \
+	   test -f Trustcenter_CA_LB.pem || cp -av Test_Trustcenter_CA_LB.pem Trustcenter_CA_LB.pem; \
+	   test -f Trustcenter_CA.pem || cp -av Test_Trustcenter_CA.pem Trustcenter_CA.pem; \
+	   }
+
+
 # to speed up things during build process
 override_dh_strip: ; true
 override_dh_shlibdeps: ; true