X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Fcn-upgrade;fp=src%2Fcn-upgrade;h=40aa767dfd5f8e682c5dfbe360207a94bb97702f;hb=1e70ff3fe998033fd93c8cd177082b8cd566d2ce;hp=0000000000000000000000000000000000000000;hpb=145b5a97d79f0305f0c6b56fc78437eac89ec94b;p=carnet-upgrade.git diff --git a/src/cn-upgrade b/src/cn-upgrade new file mode 100755 index 0000000..40aa767 --- /dev/null +++ b/src/cn-upgrade @@ -0,0 +1,83 @@ +#!/bin/sh +# last update: 2005-01-07 +# Zoran 'jelly' Dzelajlija +# Ivan 'ico' Rako +version="carnet-upgrade v2.1.4" + +set -e + +if [ "$DEBUG" ]; then + set -x + #ROOT=/home/jelly/work/src/carnet-upgrade + # make apt-get simulate-only for debug + s=s +else + ROOT="" +fi + +cnup="/usr/share/carnet-upgrade" + +. ${ROOT}${cnup}/messages.sh +. ${ROOT}${cnup}/functions.sh +. ${ROOT}${cnup}/data.sh + +main_queuetab="${cnup}/actions/main.queue" +post_upgrade_queuetab="/var/lib/carnet-upgrade/post_upgrade.queue" + +# logika kako slijedi: +# imamo popis testova i akcija koje ce se izvrsiti svakog testa +# ("queuetab" datoteka) +# +# akcije se izvrsavaju redoslijedom iz popisa +# +# neke akcije imaju dio koji se izvrsava prije i dio koji se izvrsava nakon +# upgradea, svaka takva akcija dodaje svoj post-upgrade dio akcije u +# zasebni red akcija, i onda se to izvrsava nakon upgradea na isti nacin +# kao glavni red akcija. + +# queuetab file format: +# test action +# +# eg. "pkg xinetd-cn lt 2:0 do_xinetd" means: +# if there is a version of xinetd-cn lower than 2:0 installed, +# invoke do_xinetd function +# generic tests: +# pkg tests if a package is installed, optional arguments like +# dpkg --compare-versions + +# Sanitize environment +umask 022 +cd / +LANG=C +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/share/carnet-upgrade/scripts +unset LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC || true +export PATH LANG cnup + +if [ -z "$1" ]; then + queuetab="$main_queuetab" + queuename="main" +elif [ -f "${cnup}/actions/$1.queue" ]; then + queuetab="${cnup}/actions/$1.queue" + queuename="$1" + shift +elif [ -f "$1" ]; then + queuetab="$1" + queuename="$1" + shift +elif [ "x$1" = "x-h" -o "x$1" = "x--help" ]; then + echo "$version" + echo "$usage" + exit 0 +else + echo "Nepoznati argumenti: $*" 1>&2 + echo "$usage" + exit 1 +fi + +# need this to get custom msg_finished for "sarge" run +export queuename + +# Do your worst +run_actions "$queuename" "$queuetab" + +exit 0