{
my $db = $fluxbb{'DbName'} || 'fluxbb';
my $user = $fluxbb{'DbUser'} || 'fluxbb';
my $pass = $fluxbb{'DbPassword'} || 'secret';
my $auth = $fluxbb{'Authentication'} || 'internal';
my $uri = $fluxbb{'Uri'} || "http://$SystemName.$DomainName/fluxbb";

my $struct = `rpm -qd smeserver-fluxbb | grep mysql.sql`;

$OUT .= <<"END";
#! /bin/sh
if [ ! -d /var/lib/mysql/$db ]; then
    /usr/bin/mysql -e 'create database $db'
    /usr/bin/mysql $db < $struct
fi

/usr/bin/mysql <<EOF
USE mysql;

REPLACE INTO user (  
                     host,
                     user,
                     password)
            VALUES ( 
                     'localhost',
                     '$user',
                     PASSWORD ('$pass'));

REPLACE INTO db (  
                   host,
                   db,
                   user,
                   select_priv, insert_priv, update_priv, delete_priv,
                   create_priv, alter_priv, index_priv, drop_priv, create_tmp_table_priv,
                   grant_priv, lock_tables_priv, references_priv)
          VALUES ( 
                   'localhost',
                   '$db',
                   '$user',
                   'Y', 'Y', 'Y', 'Y',
                   'Y', 'Y', 'Y', 'Y', 'Y',
                   'N', 'Y', 'Y');

FLUSH PRIVILEGES;
EOF

# Now configure a few things which depends on domain name etc...
# The password of the default admin user is admin (hash is sha1)
/usr/bin/mysql <<EOF

USE $db;

INSERT IGNORE INTO config (conf_name,conf_value) VALUES ('o_admin_email','admin\@$DomainName');
INSERT IGNORE INTO config (conf_name,conf_value) VALUES ('o_mailing_list','admin\@$DomainName');
INSERT IGNORE INTO config (conf_name,conf_value) VALUES ('o_webmaster_email','admin\@$DomainName');
INSERT IGNORE INTO config (conf_name,conf_value) VALUES ('o_base_url', '$uri');
INSERT IGNORE INTO users (id,group_id,username,password,email) VALUES('2','1','admin','d033e22ae348aeb5660fc2140aec35850c4da997','admin\@$DomainName');
UPDATE config SET conf_value='$uri' where conf_name='o_base_url';

EOF
END

if ($auth ne 'internal'){
    # We don't use internal auth, we have to empty the admin password
    # so only external auth will work
    $OUT.=<<"END";

/usr/bin/mysql <<EOF
USE $db;
UPDATE users SET password='' where username='admin';
EOF
END
}

}
