--- a/debian/littlebird-tc-core.postinst Thu Sep 01 12:28:28 2011 +0200
+++ b/debian/littlebird-tc-core.postinst Fri Sep 02 01:13:25 2011 +0200
@@ -3,6 +3,7 @@
# postinst script for littlebird
#
# see: dh_installdeb(1)
+. /usr/share/debconf/confmodule
set -e
@@ -26,6 +27,88 @@
chown -R :www-data "$DIR"
chmod -R g+w "$DIR"
+ # Timezone in /usr/local/zend/etc/php.ini
+ f=/usr/local/zend/etc/php.ini
+ perl -pi -e 's{^;?\s*(date\.timezone\s*=).*$}{$1 "Europe/Berlin"}' $f
+
+ # not sure if this conforms to policy: changing another packages
+ # config files
+ if test -d /etc/php5/cli; then
+ echo "# linking php.ini to zend" >&2
+ ( set -e
+ cd /etc/php5/cli
+ s=/usr/local/zend/etc/conf.php.ini
+ if test `readlink -f php.ini` != `readlink -f $s`
+ then
+ rm -vf php.ini
+ ln -vs $s php.ini
+ fi
+ )
+ fi
+
+ if test -d "/etc/php5/conf.d"; then
+ echo "# linkin other zend inis" >&2
+ ( set -e
+ cd /etc/php5/conf.d
+ for p in mysqli.ini curl.ini mcrypt.ini gd.ini
+ do
+ s=/usr/local/zend/etc/conf.d/$p
+ if test `readlink -f $p` != `readlink -f $s`
+ then
+ rm -vf $p
+ ln -vs $s .
+ fi
+ done
+ )
+ fi
+
+
+ # apache configuration
+ db_get littlebird-tc/web/servername && servername="$RET" || true
+ db_get littlebird-tc/web/serveradmin && serveradmin="$RET" || true
+ db_get littlebird-tc/web/crt && crt="$RET" || true
+ db_get littlebird-tc/web/key && key="$RET" || true
+
+ # 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
+ fi
+
+ # tweak the config file, but just the lines following a magical
+ # debconf line
+ perl - serveradmin="$serveradmin" servername="$servername" \
+ crt="$crt" key="$key" <<'_'
+ use strict;
+ use warnings;
+ my $mark = '# debconf:';
+ my %o;
+ foreach (@ARGV) { my ($k, $v) = split /=/, $_, 2; $o{$k} = $v; }
+ open(F, "+</etc/apache2/conf.d/littlebird-tc") or die;
+ $_ = join "", <F>;
+ s|^(([ \t]*?)# debconf: (.*?){{(.*?)}}(.*?)\n).*?\n|$1$2$3$o{$4}$5\n|migs;
+ seek(F, 0, 0);
+ print(F $_);
+ truncate(F, tell F);
+ close(F);
+_
+
+ # need log dir(s)
+ ( . /etc/apache2/envvars
+ file=`perl -ne '/^\s*errorlog\s+(\S+)/i&&print "$1\n"' /etc/apache2/conf.d/littlebird-tc`
+ dir=`eval dirname "$file"`
+ mkdir -p "$dir"
+ file=`perl -ne '/^\s*customlog\s+(\S+)/i&&print "$1\n"' /etc/apache2/conf.d/littlebird-tc`
+ dir=`eval dirname "$file"`
+ mkdir -p "$dir"
+ )
+
+
+ invoke-rc.d apache2 reload 1>&1
+ echo >&2
+
;;
abort-upgrade|abort-remove|abort-deconfigure)
@@ -40,6 +123,6 @@
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
-#DEBHELPER#
+
exit 0