diff -r 3572ec238dc1 -r 1267d8034336 debian/littlebird-tc-core.postinst --- 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, "+; + 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