postinst is in rt4-extension-assettracker 3.0.0-1.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182  | #!/bin/sh
set -e
atdir=/usr/share/request-tracker4/plugins/RTx-AssetTracker
etcdir=$atdir/etc
upgrade_database ()
{
    echo "upgrading the RT database for Asset Tracker" 1>&2
    for dir in $etcdir/upgrade/*
    do
        for action in schema acl
        do
            run_setup_database $action $dir
        done
    done
    echo "Database upgrade done, see the RT (sys)log for details" 1>&2
}
setup_database ()
{
    echo "setting up the RT database for Asset Tracker" 1>&2
    for action in schema acl insert
    do
        run_setup_database $action $etcdir
    done
    echo "Database setup done, see the RT (sys)log for details" 1>&2
}
run_setup_database ()
{
    action=$1
    datadir=$2
    command="$atdir/sbin/rt-setup-database-debian -v 4 -- --action $action --datadir $datadir"
    if [ "$action" = "insert" ]
    then
	export PERLLIB=$atdir/lib
	command="$command --datafile $etcdir/initialdata"
    fi
    # cosmetics for the output
    base=$(basename $datadir)
    if [ "$base" = "etc" ]
    then
        base="Asset Tracker"
    fi
    echo -n "updating database $action for $base..." 1>&2
    run_command "$command"
}
run_command ()
{
    command="$1"
    local exitcode
    set +e
    output=$($command 2>&1 >/dev/null)
    exitcode=$?
    set -e
    if [ $exitcode != 0 ] #|| [ -n "$output" ]
    then
        echo "command failed with code $exitcode" 1>&2
        db_capb escape
        error=$(debconf-escape -e << EOF
database modification command "$command" exited with code $exitcode
Error messages follow:
$output
EOF
)
        db_subst rt4-extension-assettracker/modify-database-error error "$error"
        db_fset rt4-extension-assettracker/modify-database-error seen false
        db_input critical rt4-extension-assettracker/modify-database-error || true
        db_go || true
        db_get rt4-extension-assettracker/modify-database-error
        ERROR_CHOICE="$RET"
        if [ "$ERROR_CHOICE" = "abort" ]
        then
            echo "postinst script aborted" 1>&2
            exit 1
        fi
        if [ "$ERROR_CHOICE" = "retry" ]
        then
            echo "postinst script: retry to set up the database $action" 1>&2
            run_command $@
        fi
     else
        echo "OK" 1>&2
     fi
}
test_database ()
{
    local testresult
    testresult=0
    permission="$1"
    $atdir/sbin/test-database -v 4 2>/dev/null 1>&2 || testresult=$?
    set -e
    if [ "$permission" = "prompt" ] && \
       ( [ $testresult = 1 ] || [ $testresult = 2 ] )
    then
        case $testresult in
            1)
                db_fset rt4-extension-assettracker/setup-database-prompt seen false
                db_input high rt4-extension-assettracker/setup-database-prompt || true
                db_go
                db_get rt4-extension-assettracker/setup-database-prompt
                break
                ;;
            2)
                db_fset rt4-extension-assettracker/upgrade-database-prompt seen false
                db_input high rt4-extension-assettracker/upgrade-database-prompt || true
                db_go
                db_get rt4-extension-assettracker/upgrade-database-prompt
                break
                ;;
        esac
        if [ "$RET" = "false" ]
        then
            echo "database modification denied by the administrator" 1>&2
            return 0
        fi
    fi
    if [ $testresult = 255 ]
    then
        echo "Database state check failed, skipping modifications. Check your RT_SiteConfig.pm." 1>&2
    fi
    return $testresult
}
. /usr/share/debconf/confmodule
db_version 2.0
case "$1" in
    configure|reconfigure)
        db_get rt4-extension-assettracker/modify-database-permission
        CONFFILE=/etc/rt4-extension-assettracker/debian.conf
        MODIFY_DATABASE="unknown"
        if [ -r $CONFFILE ]
        then
            . $CONFFILE
        fi
        if [ "$RET" != "$MODIFY_DATABASE" ]
        then
            # rewrite the configuration file
            tmpfile=$(mktemp -t rt4-extension-assettracker.XXXXXXXX) || exit 1
            chmod 644 $tmpfile
            cat >$tmpfile << EOF
# automatically modify the database when needed?
# valid options are "allow", "deny" and "prompt"
MODIFY_DATABASE="${RET}"
EOF
            ucf --debconf-ok $tmpfile $CONFFILE
            rm $tmpfile
        fi
        if [ "$RET" != "deny" ]
        then
            retcode=0
            test_database $RET || retcode=$?
            case $retcode in
            1)
                setup_database
                ;;
            2)
                upgrade_database
                ;;
            esac
        fi
        db_stop
        # add the configuration file into the ucf registry
        if which ucfr >/dev/null 2>&1
        then
            ucfr rt4-extension-assettracker $CONFFILE
        fi
        break
        ;;
esac
 |