--- /dev/null
+#!/bin/sh
+# last update: 2004-12-20
+# last update: 2005-01-07 razlicita msg_finished poruka, ovisno o $queuename
+# Zoran 'jelly' Dzelajlija <jelly@srce.hr>
+# Ivan 'ico' Rako <irako@srce.hr>
+
+# Load debconf stuff
+. /usr/share/debconf/confmodule
+
+# Load nase funkcije
+. /usr/share/carnet-upgrade/functions.sh
+. /usr/share/carnet-upgrade/messages.sh
+. /usr/share/carnet-upgrade/data.sh
+
+# provjeri da li su paketi iz prvog polja instalirani i to strpaj u debconf
+cs_preupgrade () {
+ local services i
+
+ for i in $(echo "$services_to_check" | sed 's/ */ /g'| awk -F' ' '{print $1}')
+ do
+ if pkg $i; then
+ if ! echo $services | grep -q $i; then
+ services="$services $i"
+ fi
+ fi
+ done
+
+ if [ -n "$services" ]; then
+ db_set cn-upgrade/check-services "$services"
+ db_go || true
+ fi
+}
+
+cs_pgrep () {
+ local failed_services
+
+ while read line; do
+ # get service param from stdin
+ user=$(echo "$line" | awk -F ' ' '{print $2}')
+ psname=$(echo "$line" | awk -F ' ' '{print $3}')
+ nicename=$(echo "$line" | awk -F ' ' '{print $4}')
+
+ # check if service is running
+ if ! pgrep -u $user -f "$psname" > /dev/null; then
+ failed_services="$failed_services, $nicename"
+
+ fi
+ done
+
+ echo ${failed_services#, }
+}
+
+# uzmi iz debconfa instalirane servise, i provjeri rade li
+cs_postupgrade () {
+ local services i failed_services msg_header
+
+ case "$queuename" in
+ upgrade) msg_header="$msg_finished_upgrade"
+ ;;
+ *)
+ msg_header="$msg_finished"
+ ;;
+ esac
+
+ db_get cn-upgrade/check-services || true
+ services="${RET// /|}"
+
+ failed_services=$(
+ echo "$services_to_check" \
+ | grep -E "^($services)" \
+ | sed 's/ */ /g' \
+ | cs_pgrep
+ )
+
+ if [ -n "$failed_services" ]; then
+ notice "$msg_header$msg_failed_services$failed_services"
+ else
+ notice "$msg_header"
+ fi
+}
+
+# checkiraj da li je sto zapisano u debconf
+cs_check () {
+ db_get cn-upgrade/check-services || true
+ debconf="$RET"
+
+ if [ -n "$debconf" ]; then
+ exit 0
+ else
+ exit 1
+ fi
+}
+
+case "$1" in
+preupgrade) cs_preupgrade
+ ;;
+postupgrade) cs_postupgrade
+ ;;
+check) cs_check
+ ;;
+*) echo "Usage: $0 (preupgrade|postupgrade|check)"
+ exit 1
+ ;;
+esac
+exit 0
+