postinst is in sks 1.1.4-2.1ubuntu1.
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  | #!/bin/sh -e
# checking debian-sks account
uid=`getent passwd debian-sks | cut -d ":" -f 3`
home=`getent passwd debian-sks | cut -d ":" -f 6`
# if there is the uid the account is there and we can do
# the sanit(ar)y checks otherwise we can safely create it.
if [ "$uid" ]; then
    # guess??? the checks!!!
    if [ $uid -ge 100 ] && [ $uid -le 999 ]; then
    	echo "debian-sks uid check: ok"
    else
    	echo "ERROR: debian-sks account has a non-system uid!"
	echo "Please check /usr/share/doc/sks/README.Debian on how to"
	echo "correct this problem"
	exit 1
    fi
    if [ "$home" = "/var/lib/sks" ]; then
        echo "debian-sks homedir check: ok"
    else
	echo "ERROR: debian-sks account has an invalid home directory!"
	echo "Please check /usr/share/doc/sks/README.Debian on how to"
	echo "correct this problem"
	exit 1
    fi
else
    # what this might mean?? oh creating a system l^Huser!
    adduser --quiet \
            --system \
            --disabled-password \
            --home /var/lib/sks \
	    --no-create-home \
	    --shell /bin/bash \
	    --group \
    debian-sks
fi
if [ "$2" = "" ]; then
    # ch{owning,moding} things around
    # note that sks creates files/dirs with 600/700
    # permissions as default. so let's stick with it for the
    # installation. We will do nothing across upgrades.
    for i in lib log spool; do
	chown -R debian-sks:debian-sks /var/$i/sks
	chmod -R 700 /var/$i/sks
	find /var/$i/sks -type f -exec chmod 600 '{}' ';'
    done
    chgrp -R adm /var/log/sks
    chmod -R g+rX /var/log/sks
    chmod    g+s  /var/log/sks
else
    if [ "$1" = "configure" ]; then
	# fix permissions of logs after 1.0.9-0.1
	if dpkg --compare-versions "$2" lt "1.0.9-0.2" ; then
	    chgrp -R adm /var/log/sks
	    chmod -R g+rX /var/log/sks
	    chmod    g+s  /var/log/sks
	fi
	# 1.0.10 renamed log files from /var/log/sks/sks.foo.log to /var/log/sks/foo.log,
	# so be nice and rename things for the admin.
	if dpkg --compare-versions "$2" lt "1.0.10" ; then
	    for i in `ls -1 /var/log/sks/`; do
		if echo "$i" | grep -q '^sks\.'; then
		    mv /var/log/sks/"$i" /var/log/sks/`echo "$i" | sed -e 's/^sks.//'`
		fi
	    done
	fi
	# Read the active Berkeley DB version, fall back to 4.7 if not found
	if [ -r /var/lib/sks/berkeley_db.active ]; then
	    OLD_BDB=$(cat /var/lib/sks/berkeley_db.active)
	else
	    if (type dpkg-vendor >/dev/null && dpkg-vendor --derives-from Ubuntu) || \
			[ -e /etc/dpkg/origins/ubuntu ]; then
		if dpkg --compare-versions "$2" lt "1.1.1+dpkgv3-6.1"; then
		    OLD_BDB=4.7
		else
		    OLD_BDB=5.1
		fi
	    else # Debian
		if dpkg --compare-versions "$2" lt "1.1.1+dpkgv3-1"; then
		    OLD_BDB=4.6
		elif dpkg --compare-versions "$2" lt "1.1.1+dpkgv3-6.1"; then
		    OLD_BDB=4.7
		else
		    OLD_BDB=4.7
		fi
	    fi
	fi
	# Read the compiled-in Berkeley DB version
	NEW_BDB=$(cat /usr/lib/sks/berkeley_db.txt)
	if [ "$OLD_BDB" != "$NEW_BDB" ]; then
	# Upgrade Berkeley DB in place
	BACKUP_DIR=/var/backup/sks/$(date +%Y%m%d-%H%M%S)
	SKS_DIR=/var/lib/sks
	mkdir -p $BACKUP_DIR
	chown debian-sks:debian-sks ${BACKUP_DIR}
	for DBHOME in DB PTree; do
	    # Don't run if the database directory doesn't exist
	    [ ! -d ${SKS_DIR}/${DBHOME} ] && continue
	    # Create backup directory
	    mkdir -p ${BACKUP_DIR}/${DBHOME}
	    chown debian-sks:debian-sks ${BACKUP_DIR}/${DBHOME}
	    # Make sure we own the files
	    chown debian-sks:debian-sks -R ${SKS_DIR}/${DBHOME}
	    if [ -x /usr/bin/db${OLD_BDB}_recover ]; then
	        # Run recover with old tools
		su debian-sks -c "db${OLD_BDB}_recover -h ${SKS_DIR}/${DBHOME}"
	        # Backup needed log files
		LOG_FILES=$(su debian-sks -c "db${OLD_BDB}_archive -h ${SKS_DIR}/${DBHOME} -l")
	    else
		# If we don't have the Berkeley DB tools then backup all log files
		LOG_FILES=$(cd ${SKS_DIR}/${DBHOME}; ls -1 | grep -E "^log\.")
	    fi
	    # Backup log files
	    for log_file in ${LOG_FILES}; do
		cp -a ${SKS_DIR}/${DBHOME}/$log_file ${BACKUP_DIR}/${DBHOME}/
	    done
            if [ -e "${SKS_DIR}/${DBHOME}/DB_CONFIG" ]; then
                cp -a ${SKS_DIR}/${DBHOME}/DB_CONFIG ${BACKUP_DIR}/${DBHOME}/
            fi
	    # Backup & upgrade database files
	    for db in $(cd ${SKS_DIR}/${DBHOME}; ls -1 | grep -Ev "^(__|log\.|DB_CONFIG$)"); do
		# Backup database file
		su debian-sks -c "cp ${SKS_DIR}/${DBHOME}/${db} ${BACKUP_DIR}/${DBHOME}/"
		# Upgrade database file
    		su debian-sks -c "db${NEW_BDB}_upgrade -h ${SKS_DIR}/${DBHOME} ${SKS_DIR}/${DBHOME}/$db";
	    done
    
	    # Set checkpoint and delete old logfiles
	    su debian-sks -c "db${NEW_BDB}_checkpoint -h ${SKS_DIR}/${DBHOME} -1"
	    su debian-sks -c "db${NEW_BDB}_archive -h ${SKS_DIR}/${DBHOME} -d"
	done
	# Note the active Berkeley DB version
	cp -f /usr/lib/sks/berkeley_db.txt /var/lib/sks/berkeley_db.active
	elif [ ! -e /var/lib/sks/berkeley_db.active ]; then
	    cp -f /usr/lib/sks/berkeley_db.txt /var/lib/sks/berkeley_db.active
	fi
    fi
fi
# Automatically added by dh_installinit
if [ -x "/etc/init.d/sks" ] || [ -e "/etc/init/sks.conf" ]; then
	if [ ! -e "/etc/init/sks.conf" ]; then
		update-rc.d sks defaults >/dev/null
	fi
	invoke-rc.d sks start || exit $?
fi
# End automatically added section
exit 0
 |