This file is indexed.

postinst is in phpmyadmin 4:4.5.4.1-2ubuntu1.

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
#!/bin/sh
# postinst script for phpmyadmin

set -e

avahi_install() {
	if [ -d /etc/avahi/services/ -a ! -e /etc/avahi/services/phpmyadmin.service -a ! -L /etc/avahi/services/phpmyadmin.service ] ; then
		ln -s ../../phpmyadmin/phpmyadmin.service /etc/avahi/services/
	fi
}

desktop_install() {
	if [ -d /usr/share/applications/ -a ! -e /usr/share/applications/phpmyadmin.desktop -a ! -L /usr/share/applications/phpmyadmin.desktop ] ; then
		ln -s /etc/phpmyadmin/phpmyadmin.desktop /usr/share/applications/
	fi
}

lighttpd_install() {
	if [ ! -f /etc/lighttpd/conf-available/50-phpmyadmin.conf ] ; then
		if which lighty-enable-mod >/dev/null 2>&1 ; then
			ln -s ../../phpmyadmin/lighttpd.conf /etc/lighttpd/conf-available/50-phpmyadmin.conf
			# We also need auth to protect setup.php
			lighty-enable-mod phpmyadmin auth fastcgi fastcgi-php
			avahi_install
			desktop_install
		else
			echo "Lighttpd not installed, skipping"
		fi
	fi
}

apache_install() {
	mkdir -p /etc/apache2/conf-available
	ln -sf ../../phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
	
	COMMON_STATE=$(dpkg-query -f '${Status}' -W 'apache2.2-common' 2>/dev/null | awk '{print $3}' || true)

	if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
		. /usr/share/apache2/apache2-maintscript-helper
		apache2_invoke enconf phpmyadmin
	elif [ "$COMMON_STATE" = "installed" ] || [ "$COMMON_STATE" = "unpacked" ] ; then
		[ -d /etc/apache2/conf.d/ ] && [ ! -L /etc/apache2/conf.d/phpmyadmin.conf ] && ln -s ../conf-available/phpmyadmin.conf /etc/apache2/conf.d/phpmyadmin.conf
	fi

	avahi_install
	desktop_install
}

. /usr/share/debconf/confmodule

. /usr/share/dbconfig-common/dpkg/postinst.mysql
dbc_generate_include_owner="root:www-data"
dbc_generate_include_perms="0640"
dbc_generate_include=php:/etc/phpmyadmin/config-db.php

if ! dbc_go phpmyadmin $@ ; then
	echo 'Automatic configuration using dbconfig-common failed!'
fi

if [ "$1" = "configure" ]; then

	# Generate secret for cookie encryption
	if [ ! -f /var/lib/phpmyadmin/blowfish_secret.inc.php ]; then
		touch /var/lib/phpmyadmin/blowfish_secret.inc.php
		chgrp www-data /var/lib/phpmyadmin/blowfish_secret.inc.php
		chmod 640 /var/lib/phpmyadmin/blowfish_secret.inc.php
		printf "<?php\n\$cfg['blowfish_secret'] = '%s';\n" \
		`perl -le 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..24)'` \
			>> /var/lib/phpmyadmin/blowfish_secret.inc.php
	fi

	db_version 2.0

	# The following only on a new install
	if [ "$2" = "" ]; then

		# Generate an htpasswd file for the web based setup
		if [ ! -f /etc/phpmyadmin/htpasswd.setup ]; then

			touch /etc/phpmyadmin/htpasswd.setup
			chgrp www-data /etc/phpmyadmin/htpasswd.setup
			chmod 0640 /etc/phpmyadmin/htpasswd.setup
			db_get phpmyadmin/setup-username
			setup_username=${RET:-admin}
			db_get phpmyadmin/setup-password
			if [ -n "$RET" ]; then
				setup_password=`perl -le 'print crypt($ARGV[0], join("", map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..2)))' "$RET"`
			else
				setup_password="*"
			fi
			echo "$setup_username:$setup_password" > /etc/phpmyadmin/htpasswd.setup
			db_reset phpmyadmin/setup-username || true
			db_reset phpmyadmin/setup-password || true

			if [ ! -f /var/lib/phpmyadmin/config.inc.php ]; then
				touch /var/lib/phpmyadmin/config.inc.php
				chgrp www-data /var/lib/phpmyadmin/config.inc.php
				chmod 0640 /var/lib/phpmyadmin/config.inc.php
			fi

		fi

	fi

    # Fixup permissions
    if [ -f /var/lib/phpmyadmin/config.inc.php ]; then
        chmod 0640 /var/lib/phpmyadmin/config.inc.php
    fi
	if ! dpkg-statoverride --list /var/lib/phpmyadmin/tmp >/dev/null; then
		chown -R www-data:www-data    /var/lib/phpmyadmin/tmp
	fi

	# Configure Apache
	db_get phpmyadmin/reconfigure-webserver

	webservers="$RET"

	for webserver in $webservers; do
		webserver=${webserver%,}
		if [ "$webserver" = "lighttpd" ] ; then
			lighttpd_install
		else
			# Need to pass params for apache2-maintscript-helper
			apache_install $@
		fi
		# Reload webserver in any case, configuration might have changed
		# Redirection of 3 is needed because Debconf uses it and it might 
		# be inherited by webserver. See bug #446324.
        if [ -f /etc/init.d/$webserver ] ; then
            if which invoke-rc.d > /dev/null ; then
                if invoke-rc.d $webserver status > /dev/null 2>&1 ; then
                    invoke-rc.d $webserver reload 3>/dev/null || true
                fi
            else
                if /etc/init.d/$webserver status > /dev/null 2>&1 ; then
                    /etc/init.d/$webserver reload 3>/dev/null || true
                fi
            fi
        fi
	done
fi



exit 0