2
# postinst script for pdns-backend-sqlite
4
# see: dh_installdeb(1)
8
# summary of how this script can be called:
9
# * <postinst> `configure' <most-recently-configured-version>
10
# * <old-postinst> `abort-upgrade' <new version>
11
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
13
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
14
# <failed-install-package> <version> `removing'
15
# <conflicting-package> <version>
16
# for details, see http://www.debian.org/doc/debian-policy/ or
17
# the debian-policy package
21
PDNSCONF=/etc/powerdns/pdns.conf
22
PDNSDIR=`cat $PDNSCONF | grep include | awk -F '=' '{print $2}'`
23
PDNSUSER=`cat $PDNSCONF | grep setuid | awk -F '=' '{print $2}'`
24
PDNSGROUP=`cat $PDNSCONF | grep setgid | awk -F '=' '{print $2}'`
25
DATABASE=/var/lib/powerdns/pdns.sqlite3
26
PDNSLOCAL=$PDNSDIR/pdns.local
28
INITDATA="create table domains (
29
id INTEGER PRIMARY KEY,
30
name VARCHAR(255) NOT NULL,
31
master VARCHAR(20) DEFAULT NULL,
32
last_check INTEGER DEFAULT NULL,
33
type VARCHAR(6) NOT NULL,
34
notified_serial INTEGER DEFAULT NULL,
35
account VARCHAR(40) DEFAULT NULL
38
CREATE UNIQUE INDEX name_index ON domains(name);
40
CREATE TABLE records (
41
id INTEGER PRIMARY KEY,
42
domain_id INTEGER DEFAULT NULL,
43
name VARCHAR(255) DEFAULT NULL,
44
type VARCHAR(6) DEFAULT NULL,
45
content VARCHAR(255) DEFAULT NULL,
46
ttl INTEGER DEFAULT NULL,
47
prio INTEGER DEFAULT NULL,
48
change_date INTEGER DEFAULT NULL
51
CREATE INDEX rec_name_index ON records(name);
52
CREATE INDEX nametype_index ON records(name,type);
53
CREATE INDEX domain_id ON records(domain_id);
55
create table supermasters (
56
ip VARCHAR(25) NOT NULL,
57
nameserver VARCHAR(255) NOT NULL,
58
account VARCHAR(40) DEFAULT NULL
61
update_permissions() {
63
if [ -d "$dir" ]; then
64
if [ ! -z "$PDNSUSER" ]; then
65
chown -R "$PDNSUSER" "$data"
67
if [ ! -z "$PDNSGROUP" ]; then
68
chgrp -R "$PDNSGROUP" "$data"
75
if [ -f $PDNSLOCAL ]; then
76
EXIST=`(cat $PDNSLOCAL | grep "gsqlite-database") || true`
77
DATA=`echo $EXIST | awk -F '=' '{print $2}'`
82
if [ ! -z "$DATA" ]; then
85
if [ ! -d "/var/lib/powerdns" ]; then
86
mkdir -m 0755 /var/lib/powerdns
90
# Create initial database
91
if [ ! -f $DATABASE ]; then
92
echo -n "Generating sqlite database..."
93
echo $INITDATA | sqlite3 $DATABASE
97
update_permissions "$DATABASE"
100
abort-upgrade|abort-remove|abort-deconfigure)
104
echo "postinst called with unknown argument \`$1'" >&2
109
if [ -x "/etc/init.d/pdns" ]; then
110
if [ -x /usr/sbin/invoke-rc.d ]; then
111
invoke-rc.d pdns restart || exit $?
113
/etc/init.d/pdns restart || exit $?
117
# dh_installdeb will replace this with shell code automatically
118
# generated by other debhelper scripts.