Initial version.
authorValentin Vidic <vvidic@carnet.hr>
Fri, 14 Dec 2007 08:42:26 +0000 (09:42 +0100)
committerValentin Vidic <vvidic@carnet.hr>
Fri, 14 Dec 2007 08:42:26 +0000 (09:42 +0100)
19 files changed:
usr/sbin/carnet-upgrade [new symlink]
usr/sbin/cn-upgrade [new symlink]
usr/share/carnet-upgrade/actions/apt.queue [new file with mode: 0644]
usr/share/carnet-upgrade/actions/main.queue [new file with mode: 0644]
usr/share/carnet-upgrade/actions/new.queue [new file with mode: 0644]
usr/share/carnet-upgrade/actions/post_upgrade.queue [new file with mode: 0644]
usr/share/carnet-upgrade/actions/sarge.queue [new file with mode: 0644]
usr/share/carnet-upgrade/cn-upgrade [new file with mode: 0755]
usr/share/carnet-upgrade/data.sh [new file with mode: 0644]
usr/share/carnet-upgrade/functions.sh [new file with mode: 0644]
usr/share/carnet-upgrade/messages.sh [new file with mode: 0644]
usr/share/carnet-upgrade/scripts/check_services [new file with mode: 0755]
usr/share/carnet-upgrade/scripts/debconf_priority [new file with mode: 0755]
usr/share/carnet-upgrade/sources.list [new file with mode: 0644]
usr/share/carnet-upgrade/tags [new file with mode: 0644]
usr/share/doc/carnet-upgrade/NEWS.CARNet [new file with mode: 0644]
usr/share/doc/carnet-upgrade/README.CARNet [new file with mode: 0644]
usr/share/doc/carnet-upgrade/carnet-upgrade.pdf [new file with mode: 0644]
usr/share/doc/carnet-upgrade/changelog.CARNet [new file with mode: 0644]

diff --git a/usr/sbin/carnet-upgrade b/usr/sbin/carnet-upgrade
new file mode 120000 (symlink)
index 0000000..ba02462
--- /dev/null
@@ -0,0 +1 @@
+../share/carnet-upgrade/cn-upgrade
\ No newline at end of file
diff --git a/usr/sbin/cn-upgrade b/usr/sbin/cn-upgrade
new file mode 120000 (symlink)
index 0000000..15495f9
--- /dev/null
@@ -0,0 +1 @@
+carnet-upgrade
\ No newline at end of file
diff --git a/usr/share/carnet-upgrade/actions/apt.queue b/usr/share/carnet-upgrade/actions/apt.queue
new file mode 100644 (file)
index 0000000..39f9149
--- /dev/null
@@ -0,0 +1,6 @@
+# last update: 2005-07-03
+#
+# Konfiguracija apt-a
+! pkg apt-cn                   pkgadd apt-cn           # 2.1.6
+pkg apt-cn lt 2.1.1            pkgadd apt-cn           # 2.1.6
+pkg apt-cn ge 2.1.1            sarge_sources_list      # 2.1.7 update
diff --git a/usr/share/carnet-upgrade/actions/main.queue b/usr/share/carnet-upgrade/actions/main.queue
new file mode 100644 (file)
index 0000000..c9560b9
--- /dev/null
@@ -0,0 +1,49 @@
+# last update: 2005-01-07
+# Ivan 'ico' Rako <irako@srce.hr>
+# Zoran Dzelajlija <jelly@srce.hr>
+true                           first_warning
+true                           check_upgrade
+true                           remove_bloat
+true                           comment_force_overwrite # ruzna opcija za dpkg
+pkg libpam-skey                        pkgrm libpam-skey
+pkg skey-cn                    pkgrm skey-cn
+pkg getunix                    pkgrm getunix           # obsolete
+pkg getunix-cn                 pkgrm getunix-cn
+true                           fix_xinetd_conf         # ima i post-upgrade provjeru
+#pkg uw-imapd-ssl-cn           post_upgrade pkgrm uw-imapd-ssl
+pkg lynx-ssl-cn                        post_upgrade pkgadd lynx-cn
+pkg apache                     fix_mod_ssl_include
+[ -f /etc/webalizer.conf ]     fix_webalizer_conf
+# ovo bi trebao biti zadnji post_upgrade - spremi popis
+# instaliranih servisa za koje cemo na kraju provjeriti da li rade.
+! check_services check         check_services preupgrade
+getent group proc              remove_group_proc       # calls post_upgrade add_group_proc
+pkg slapd                      backup_slapd_db
+true                           backup_etc_dir          # etc i drugo
+true                           create_sources_list
+true                           update                  # apt-get update & download
+true                           check_disk_space
+! debconf_priority check       debconf_priority set    # utisaj debconf
+# konacno, instalacija novih paketa
+true                           upgrade first           # neki paketi moraju rucno
+true                           upgrade second          # neke pakete zelimo ranije
+pkg freeradius-cn lt 2:1.0.1-2 install_freeradius      # neki su totalno poremeceni # fix 2.1.4
+true                           dist_upgrade
+true                           pkgadd apt-listchanges apt-listchanges-cn deborphan
+# i ostatak
+true                           debconf_priority reset
+true                           add_group_proc          # + restart oidentd ako treba
+pkg raidtools2                 fix_etc_default_raid2
+pkg proftpd                    fix_proftpd_conf        # + restart ako treba
+pkg aide-arms-client           fix_aidexfer_conf
+pkg sendmail-cn ge 2:8.13.1-2  fix_smtp_auth
+pkg kernel-cn                  dpkg-reconfigure kernel-cn
+pkg sys-mon-cn                 dpkg-reconfigure sys-mon-cn
+pkg amavisd-cn                 dpkg-reconfigure amavisd-cn     # vise ne treba?
+#true                          post_upgrade_do_deborphan
+# ovo bi trebalo biti predzadnje na popisu
+#  - izvrsi sve uvjetne post_upgrade akcije
+true                           run_post_upgrade
+true                           fix_issue
+# i konacno, provjeri da li stvari rade
+true                           check_services postupgrade
diff --git a/usr/share/carnet-upgrade/actions/new.queue b/usr/share/carnet-upgrade/actions/new.queue
new file mode 100644 (file)
index 0000000..1e948aa
--- /dev/null
@@ -0,0 +1,18 @@
+# last update: 2005-07-03
+# Ivan 'ico' Rako <irako@srce.hr>
+# Zoran Dzelajlija <jelly@srce.hr>
+#
+# samo ispravke dodane nakon 2.1-1, bez instalacije nove funckionalnosti
+# uglavnom forsirani upgradei
+#
+pkg carnet-tools-cn lt 2.3.1   pkgadd carnet-tools-cn          # 2.1.6
+pkg sendmail-cn ge 2:8.13.1-2  fix_smtp_auth
+pkg ntp-cn lt 2:4.2.0a-11      pkgadd ntp-cn                   # 2.1.4
+pkg apt-cn lt 2.1.1            pkgadd apt-cn                   # 2.1.6
+pkg apt-cn ge 2.1.1            sarge_sources_list              # 2.1.7 update
+pkg freeradius ge 2:0 && [ `dpkg --print-architecture` = sparc ] && \
+  ! pkg freeradius-cn          install_freeradius              # 2.1.7
+pkg php4-cn lt 4:4.3.11-1      pkgadd php4-cn                  # 2.1.6 update
+pkg iptables-cn lt 2:1.2.11-3  pkgadd iptables-cn              # 2.1.6
+pkg aide-arms-client lt 1.04-1 pkgadd aide-arms-client         # 2.1.6
+pkg gnupg lt 1.4.1-1           pkgadd gnupg                    # 2.1.7
diff --git a/usr/share/carnet-upgrade/actions/post_upgrade.queue b/usr/share/carnet-upgrade/actions/post_upgrade.queue
new file mode 100644 (file)
index 0000000..d99a71c
--- /dev/null
@@ -0,0 +1,35 @@
+# last update: 2005-01-04
+# Ivan 'ico' Rako <irako@srce.hr>
+# Zoran Dzelajlija <jelly@srce.hr>
+#
+# samo akcije za nakon upgradea, moze se slobodno izvrsiti na bilo kojem sargeu.
+#
+# s obzirom da ne znamo koja verzija paketa je radila upgrade, i ovdje treba
+# dodavati naknadne instalacije/upgrade paketa koje mozda nisu upgradeane sa
+# 2.1-1, tj. nije ih bilo u packages_first popisu a dist-upgrade ih nije
+# instalirao.  To se mozda odnosi na ntp-cn, pa je za svaki slucaj dodan.
+
+pkg getunix                    pkgrm getunix           # obsolete
+pkg getunix-cn                 pkgrm getunix-cn
+pkg freeradius-cn lt 2:1.0.1-2 install_freeradius      # forsirane verzije # fix 2.1.4
+pkg carnet-tools-cn lt 2.3.1   pkgadd carnet-tools-cn  # 2.1.6
+pkg ntp-cn lt 2:4.2.0a-11      pkgadd ntp-cn           # 2.1.4
+pkg iptables-cn lt 2:1.2.11-3  pkgadd iptables-cn      # 2.1.6
+true                           pkgadd apt-listchanges apt-listchanges-cn deborphan
+# i ostatak
+true                           debconf_priority reset
+true                           add_group_proc          # + restart oidentd ako treba
+pkg raidtools2                 fix_etc_default_raid2
+pkg proftpd                    fix_proftpd_conf        # + restart ako treba
+pkg aide-arms-client           fix_aidexfer_conf
+pkg sendmail-cn ge 2:8.13.1-2  fix_smtp_auth
+pkg kernel-cn                  dpkg-reconfigure kernel-cn
+pkg sys-mon-cn                 dpkg-reconfigure sys-mon-cn
+pkg amavisd-cn                 dpkg-reconfigure amavisd-cn     # vise ne treba?
+#true                          post_upgrade_do_deborphan
+# ovo bi trebalo biti predzadnje na popisu
+#  - izvrsi sve uvjetne post_upgrade akcije
+true                           run_post_upgrade
+true                           fix_issue
+# i konacno, provjeri da li stvari rade
+true                           check_services postupgrade
diff --git a/usr/share/carnet-upgrade/actions/sarge.queue b/usr/share/carnet-upgrade/actions/sarge.queue
new file mode 100644 (file)
index 0000000..449b80d
--- /dev/null
@@ -0,0 +1,32 @@
+# last update: 2005-06-30
+# Ivan 'ico' Rako <irako@srce.hr>
+# Zoran Dzelajlija <jelly@srce.hr>
+#
+# akcije za update sarge instalacije, slicno post_upgrade
+# veci broj paketa koji se ne daju upgradeati s obicnim
+# apt-get upgrade se forsirano upgradea
+true                           check_services preupgrade       # spremi stanje
+pkg getunix                    pkgrm getunix                   # obsolete
+pkg getunix-cn                 pkgrm getunix-cn
+! debconf_priority check       debconf_priority set            # utisaj debconf
+! pkg apt-cn                   pkgadd apt-cn                   # 2.1.6
+pkg apt-cn lt 2.1.1            pkgadd apt-cn                   # 2.1.6
+pkg apt-cn ge 2.1.1            sarge_sources_list              # 2.1.7 update
+pkg freeradius ge 2:0 && [ `dpkg --print-architecture` = sparc ] && \
+  ! pkg freeradius-cn          install_freeradius              # 2.1.7
+pkg freeradius-cn lt 2:1.0.1-2 install_freeradius              # forsirane verzije # fix 2.1.4
+pkg bind9-cn lt 2:9.2.3-2      pkgadd bind9-cn
+pkg carnet-tools-cn lt 2.3.1   pkgadd carnet-tools-cn          # 2.1.7 update
+pkg php4-cn lt 4:4.3.11-1      pkgadd php4-cn                  # 2.1.6 update
+pkg gcc-cn lt 2:3.3.3-1                pkgadd gcc-cn
+pkg ntp-cn lt 2:4.2.0a-11      pkgadd ntp-cn                   # 2.1.4
+pkg iptables-cn lt 2:1.2.11-3  pkgadd iptables-cn              # 2.1.6
+pkg aide-arms-client lt 1.04-1 pkgadd aide-arms-client         # 2.1.6
+pkg gnupg lt 1.4.1-1           pkgadd gnupg                    # 2.1.7
+true   pkgadd apt-listchanges apt-listchanges-cn deborphan     # 2.1.4
+true                           debconf_priority reset          # vrati debconf
+pkg raidtools2                 fix_etc_default_raid2
+pkg proftpd                    fix_proftpd_conf                # + restart ako treba
+pkg aide-arms-client           fix_aidexfer_conf
+pkg sendmail-cn ge 2:8.13.1-2  fix_smtp_auth
+true                           check_services postupgrade      # za svaki slucaj
diff --git a/usr/share/carnet-upgrade/cn-upgrade b/usr/share/carnet-upgrade/cn-upgrade
new file mode 100755 (executable)
index 0000000..40aa767
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/sh
+# last update: 2005-01-07
+# Zoran 'jelly' Dzelajlija <jelly@srce.hr>
+# Ivan 'ico' Rako <irako@srce.hr>
+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
diff --git a/usr/share/carnet-upgrade/data.sh b/usr/share/carnet-upgrade/data.sh
new file mode 100644 (file)
index 0000000..f063868
--- /dev/null
@@ -0,0 +1,76 @@
+# Minimum free space on /var after the download, in MB
+min_var_space=250
+
+# carnet-upgrade aborts if these packages are not up to date
+# name         wanted version
+needed_woody_versions='
+amavisd-cn     20030616p10-2
+nessus-cn      2.0.7-1cn0
+bind9-cn       1:9.2.4-0cn1
+clamav-cn      0.80-2
+'
+
+# Packages to forcibly install before installing the rest with dist-upgrade,
+# because dist-upgrade would rather remove them.
+packages_first='
+dpkg
+apt
+php4-cn
+apache-cn
+squirrelmail-cn
+amavisd-cn
+amavisd-new
+aide-arms-client
+raidtools2
+openldap-cn
+sweep-cn
+'
+
+# Packages that provide crucial services, upgrade them before the rest
+packages_second='
+bind9-cn               
+clamav-cn              
+mysql-cn               
+sendmail-cn            
+oidentd-cn             
+openssh-cn             
+postgresql-cn          
+proftpd-cn             
+spamassassin-cn                
+xinetd-cn      
+ntp-cn
+'
+
+# We want to remove these packages, used in remove_bloat()
+# nice name            packages to remove
+bloats='
+Abiword                        abiword-common
+Emacs i XEmacs         emacsen-common
+Gimp                   gimp1.2
+Gnome                  gnome-common libgnome2-common libgnome32
+KDE                    kdelibs3 kdelibs4 kdebase-doc kdelibs3-doc kdevelop-doc
+Wine                   libwine wine-doc
+'
+# php4-gd -> libgd1 -> xlibs -> xfree86-common -> suxx
+#X Window System               xfree86-common
+
+# Check if these services are running after upgrade
+# package-cn           user            proces (pazi, regexp)                   nice name
+services_to_check='
+amavisd-cn             amavis          amavisd \(master\)                      Amavis
+amavisd-new-milter     amavis          /usr/sbin/amavis-milter                 Amavis-milter
+apache-cn              www-data        /usr/sbin/apache                        Apache
+bind9-cn               bind            /usr/sbin/named                         Bind
+clamav-cn              clamav          /usr/sbin/clamd                         ClamAV
+freeradius-cn          freerad         /usr/sbin/freeradius                    FreeRADIUS
+mysql-cn               mysql           /usr/sbin/mysqld                        MySQL
+sendmail-cn            root            sendmail: MTA: accepting connections    Sendmail
+openldap-cn            root            /usr/sbin/slapd                         OpenLDAP
+oidentd-cn             nobody          /usr/sbin/oidentd                       oidentd
+openssh-cn             root            /usr/sbin/sshd                          OpenSSH
+postgresql-cn          postgres        /usr/lib/postgresql/bin/postmaster      PostgreSQL
+proftpd-cn             nobody          proftpd: \(accepting connections\)      ProFTPD (mozda se pokrece iz (x)inetd-a)
+spamassassin-cn                root            /usr/sbin/spamd                         SpamAssassin
+xinetd-cn              root            /usr/sbin/xinetd                        xinetd
+ntp-cn                 root            /usr/sbin/ntpd                          ntpd
+'
diff --git a/usr/share/carnet-upgrade/functions.sh b/usr/share/carnet-upgrade/functions.sh
new file mode 100644 (file)
index 0000000..4c89f36
--- /dev/null
@@ -0,0 +1,528 @@
+# last update: 2005-07-03
+# Ivan 'ico' Rako <irako@srce.hr>
+# Zoran 'jelly' Dzelajlija <jelly@srce.hr>
+
+notice () {
+  dialog --backtitle "$title" --msgbox "$*" 18 75
+}
+
+first_warning () {
+  dialog --backtitle "$title" --yesno "$msg_first_warning" 18 75
+}
+
+pkg() {
+  local version
+  dpkg -l "$1" 2> /dev/null | egrep -q "^.i" || return 1
+  [ -z "$2" ] && return 0
+  version=$(dpkg -s "$1" | awk '/^Version:/ {print $2}')
+  dpkg --compare-versions "$version" "$2" "$3" 2>&1 > /dev/null
+}
+
+log() {
+  logfile=${logfile:=/var/log/carnet-upgrade.log}
+  touch $logfile
+  echo "$(date +'%Y-%m-%d %H:%M:%S') $*" >> $logfile
+  echo "CN: $*"
+}
+
+# find first free uid/gid in range
+# find_id passwd 100 999
+find_id() {
+  local db first last ids
+  db=$1
+  first=$2
+  last=$3
+  ids=$(getent $db | awk -F: "\$3 >= $first && \$3 <= $last {print \$3}")
+  for i in $(seq $first $last)
+  do
+    if ! echo $ids |grep -q $i; then
+      echo $i
+      return 0
+    fi
+  done
+  return 1
+}
+
+# safe in-place s///
+check_and_sed() {
+  [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx
+  local s sedcmd ret i
+  s="$1"
+  shift
+  sedcmd="$1"
+  shift
+  ret=2
+  for i in $*
+  do
+    [ -e "$i" ]        || continue
+    egrep -q "$s" "$i" || continue
+    [ -h "$i" ]        && i=$(readlink -f "$i")
+    sed "$sedcmd" "$i" > "$i.dpkg-tmp"
+    chown --reference "$i" "$i.dpkg-tmp"
+    chmod --reference "$i" "$i.dpkg-tmp"
+    mv "$i.dpkg-tmp" "$i"
+    ret=0
+  done
+  if [ "$ret" -eq 0 ]; then
+    log "Done \"$sedcmd\" to $*"
+  fi
+  return $ret
+}
+
+#
+# Update uid for user from reserved system range (0-99) to dynamic system
+# range (100-999).  Optionally update ownerships of given directories.
+# $0 user [directory ...]
+#
+check_and_update_ugid() {
+  local user newgid newuid
+  user=$1
+  if [ "$(getent passwd $user | awk -F: '$3 >= 100 {print "ok"; exit 0}')" ]; then
+    return 0
+  fi
+  shift
+  newgid=$(find_id group 100 999)
+  newuid=$(find_id passwd 100 999)
+  # other directories/files
+  chown -R $newuid:$newgid $*
+  groupmod -g $newgid $user
+  usermod -u $newuid -g $newgid $user
+  log "Fixed $user user uid/gid."
+}
+
+pkgadd () {
+  [ -n "$*" ] || return 0
+  log "Installing $* ..."
+  apt-get -y$s install $* || {
+    dpkg --configure -a
+    apt-get -yf install
+    apt-get -y$s install $*
+  }
+}
+
+pkgrm () {
+  [ -n "$*" ] || return 0
+  log "Removing $* ..."
+  apt-get -y$s --purge remove $* || {
+    dpkg --configure -a
+    apt-get -yf install
+    apt-get -y$s --purge remove $*
+  }
+}
+
+update() {
+  log "Running apt-get update ..."
+  apt-get -y$s update || {
+    apt-get -yf install
+    apt-get -y$s update
+  }
+  apt-get autoclean
+  apt-get -dy$s dist-upgrade
+}
+
+dist_upgrade () {
+  log "Running dist-upgrade ..."
+  apt-get -y$s dist-upgrade || {
+    dpkg --configure -a
+    apt-get -y$s dist-upgrade
+  }
+}
+
+remove_bloat() {
+  local to_remove add_this i j n text to_show cmd tmpfile installed
+  local update_selections pkgs_to_deselect oldifs
+  text="$msg_remove_bloat"
+
+  [ "$DEBUG" ] && set -x
+  n=0
+  for i in $(echo "$bloats" | sed 's/          */      /g'| awk -F'    ' '{print $2}')
+  do
+    if pkg $i; then
+      installed="$installed $i"
+      add_this="$(echo "$bloats" | egrep "     .*\b${i}\b" | sed 's/           */      /g'| awk -F'    ' '{print $1}')"
+      if ! echo "$to_show" | grep -q "$add_this"; then
+        to_show="$to_show \"$add_this\" \"\" on"
+        n=$(($n+1))
+      fi
+    fi
+  done
+  [ -z "$to_show" ] && return 0
+  tmpfile=$(mktemp /var/lib/carnet-upgrade/dialog-tmp.XXXXXX)
+  cmd="dialog --nocancel --backtitle \""$title"\" --checklist \""$text"\" 20 75 $n $to_show"
+  [ "$DEBUG" ] && set +x
+    eval $cmd 2> $tmpfile
+  [ "$DEBUG" ] && set -x
+  to_remove="$(cat $tmpfile | sed 's/\"\ \"/   /g; s/\"\ *//g; s/\\//g')"
+  [ "$DEBUG" ] || rm -f $tmpfile 
+  [ "$DEBUG" ] && echo "DEBUG: to_remove=$to_remove" 1>&2
+  oldifs="$IFS"
+  IFS="        " # tab
+  for i in $(echo "$to_remove")
+  do
+    IFS="$oldifs"
+    for j in $(echo "$bloats" | grep "^$i" | sed 's/           */      /g'| awk -F'    ' '{print $2}')
+    do
+      # hopefully this will tell apt not to reinstall them at upgrade time
+      update_selections="${update_selections}
+        $j     deinstall"
+      pkgs_to_deselect="$pkgs_to_deselect $j"
+      # only remove those that really are installed
+      if echo "$installed" | grep -q "$j"; then
+        pkgs_to_remove="$pkgs_to_remove $j"
+      fi
+    done
+  done
+  [ "$DEBUG" ] && echo "DEBUG: pkgs_to_remove=$pkgs_to_remove" 1>&2
+  # Finally, remove those
+  if [ -n "$update_selections" ]; then
+    echo "$update_selections" | dpkg --set-selections
+    log "Deselected:${pkgs_to_deselect}"
+  fi
+  eval pkgrm $pkgs_to_remove
+}
+
+post_upgrade() {
+  touch "$post_upgrade_queuetab"
+  if ! grep -q "true   $*" "$post_upgrade_queuetab"; then
+    echo "true $*" >> "$post_upgrade_queuetab"
+  fi
+}
+
+run_post_upgrade() {
+  if [ -f "$post_upgrade_queuetab" ]; then
+    run_actions post_upgrade "$post_upgrade_queuetab"
+    mv "$post_upgrade_queuetab" "${post_upgrade_queuetab}.done.$(date '+%Y-%m-%d.%H:%M:%S')"
+  fi      
+}
+
+###
+
+run_actions() {
+  local line lineno lineno2 f n name action
+  [ "$DEBUG" ] && set -vx
+  name="$1"
+  f="$2"
+  [ -f "$f" ] ||   return 2 # no such file
+  n=$(wc -l "$f" | awk '{print $1}')
+  [ "$n" -lt 1 ] && return 1 # no lines to process
+  log "run_actions ($name) started, processing $n lines from \"$f\"."
+  log "-----"
+  lineno=0
+  lineno2=0
+  while [ "$lineno" -lt "$n" ]
+  do
+    lineno=$(($lineno+1))
+    lineno2=$lineno
+    line=$(head -$lineno "$f" | tail -1)
+    if echo $line | grep -q '^#'; then # comment
+      continue
+    fi
+    while echo "$line" | egrep -q '\\$'        # continuation
+    do
+      lineno2=$(($lineno2+1))
+      line=$(echo -n "$line"| sed 's/\\$//'; head -$lineno2 "$f" | tail -1)
+    done
+    test=$(echo "$line" | sed 's/              */      /g'| awk -F'    ' '{print $1}')
+    action=$(echo "$line" | sed 's/            */      /g'| awk -F'    ' '{print $2}')
+    if eval $test; then
+      log "$(printf '%02d' $lineno) starting ${action}(), (test $test passed)"
+      eval $action
+      log "$(printf '%02d' $lineno) finished ${action}()"
+    else
+      log "$(printf '%02d' $lineno) skipping ${action}(), (test $test failed)"
+    fi
+    [ "$lineno2" -gt "$lineno" ] && lineno=$lineno2
+  done
+  log "run_actions ($1) finished"
+  log "-----"
+}
+
+# funkcija vraca popis paketa koje treba upgradeati
+what_upgrade () {
+  local IFSOLD name version package
+
+  for package in `echo "$needed_woody_versions" | awk '{print $1}'| grep -v ^$`; do
+    IFSOLD="$IFS"
+    IFS="      " # tab
+    read name version <<-EOPTS
+       $(echo "$needed_woody_versions" | sed 's/               */      /g' | grep ^$package)
+       EOPTS
+    IFS="$IFSOLD"
+    if pkg "$name" lt "$version"; then
+       echo -n " $name"
+    fi
+  done
+}
+
+# funkcija za ispis paketa koje treba upgradeati
+check_upgrade () {
+  local upgrade
+  upgrade="`what_upgrade`"
+
+  if [ "$upgrade" ]; then
+    notice "
+Prije prelaska na Debian Sarge potrebno je napraviti upgrade ovih paketa:
+  $upgrade
+
+Pokrenite:
+  'apt-get dist-upgrade'
+ili:
+  'apt-get install${upgrade}'
+  
+Nakon toga ponovno pozovite ovu skriptu."
+    log "carnet-upgrade aborted, upgrade of$upgrade needed."
+    exit 1
+  fi
+}
+
+upgrade () {
+  local to_install packages
+  case "$1" in
+    first)
+      packages="$packages_first"
+    ;;
+    second)
+      packages="$packages_second"
+    ;;
+    *)
+    return 1
+  esac
+
+  for i in $packages
+  do
+    pkg $i && to_install="$to_install $i"
+  done
+
+  if [ -n "$to_install" ];then
+    eval pkgadd $to_install
+  else
+    return 0
+  fi
+}
+
+# funkcija utrpa ispravan sources.list
+create_sources_list () {
+    [ -f /etc/apt/sources.list -a ! -f /etc/apt/sources.list.cn-upgrade ] && mv /etc/apt/sources.list /etc/apt/sources.list.cn-upgrade
+    cp /usr/share/carnet-upgrade/sources.list /etc/apt
+    notice "Novi sadrzaj datoteke /etc/apt/sources.list:
+
+`cat /etc/apt/sources.list`"
+}
+
+
+# funkcija koja brise grupu proc
+remove_group_proc () {
+  if getent group proc > /dev/null; then
+    groupdel proc || true
+    log "groupdel proc (temporarily)"
+    post_upgrade add_group_proc
+  fi
+}
+
+add_group_proc () {
+  if ! getent group proc > /dev/null; then
+    groupadd -g 99 proc 
+    log "groupadd -g 99 proc"
+    if [ -x /etc/init.d/oidentd -a -f /etc/default/oidentd ] && \
+       egrep -q 'OIDENT_GROUP.*proc' /etc/default/oidentd; then
+      /etc/init.d/oidentd restart || true
+    fi
+  fi
+}
+
+# backup_slapd_db
+backup_slapd_db () {
+  if [ ! -f /var/backups/slapcat.cn-upgrade ]; then
+    [ -x /etc/init.d/freeradius ] && /etc/init.d/freeradius stop || true
+
+    if [ -x /etc/init.d/slapd -a -d /var/lib/ldap ]; then
+      /etc/init.d/slapd stop || true
+      if slapcat -l /var/backups/slapcat.cn-upgrade; then
+        log "/var/backups/slapcat.cn-upgrade created"
+        notice "Napravljen backup slapd baze u /var/backups/slapcat.cn-upgrade."
+      fi
+      /etc/init.d/slapd start || true
+    fi
+
+    [ -x /etc/init.d/freeradius ] && /etc/init.d/freeradius start || true
+  else
+    log "slapd backup already at /var/backups/slapcat.cn-upgrade, skipping"
+    notice "Backup slapd baze u /var/backups/slapcat.cn-upgrade vec postoji!"
+  fi
+}
+
+# backup etc direktorija
+backup_etc_dir () {
+  if [ ! -f /var/backups/etc.tar.gz ]; then
+    if tar cfz /var/backups/etc.tar.gz /etc 2> /dev/null; then
+      log "/var/backups/etc.tar.gz created"
+      notice "Napravljen backup /etc direktorija u /var/backups/etc.tar.gz."
+    fi
+  else
+    log "/etc backup already present in /var/backups/etc.tar.gz, skipping."
+    notice "Backup /etc direktorija u /var/backups/etc.tar.gz vec postoji!"
+  fi
+}
+
+# fixaj /etc/default/raid2
+fix_etc_default_raid2 () {
+  if [ -f /etc/default/raid2 ]; then
+    sed "s/^AUTOSTART.*/AUTOSTART=true/g" /etc/default/raid2 > /etc/default/raid2.cn-upgrade.$$
+    chown --reference=/etc/default/raid2 /etc/default/raid2.cn-upgrade.$$
+    chmod --reference=/etc/default/raid2 /etc/default/raid2.cn-upgrade.$$
+
+    if ! cmp -s /etc/default/raid2.cn-upgrade.$$ /etc/default/raid2; then
+      log "Fixed /etc/default/raid2 AUTOSTART option."
+      mv /etc/default/raid2.cn-upgrade.$$ /etc/default/raid2
+    else
+      rm /etc/default/raid2.cn-upgrade.$$
+    fi
+  fi
+}
+
+# instaliraj zadnji freeradius; uvjeti u queue fileovima
+install_freeradius () {
+  pkgadd --force-yes freeradius-cn freeradius=1.0.5-0 freeradius-ldap=1.0.5-0
+}
+
+# tentatively remove obsolete option in xinetd.conf
+fix_xinetd_conf () {
+  if [ -f /etc/xinetd.conf ]; then
+    check_and_sed 'log_on_failure.*RECORD' \
+                   's/\(log_on_failure.*\)RECORD/\1/g' \
+                   /etc/xinetd.conf || true
+  fi
+}
+
+# temporarily disable mod_ssl.conf in apache so that upgrade works
+fix_mod_ssl_include() {
+  if [ -f /etc/apache/mod_ssl.conf ]; then
+    check_and_sed '^Include /etc/apache/mod_ssl\.conf' \
+                  's,\(^Include[       ][      ]*/etc/apache/mod_ssl\.conf\),#\1,' \
+                  /etc/apache/httpd.conf || true
+  fi
+}
+
+fix_proftpd_conf() {
+  if [ -f /etc/proftpd.conf ]; then
+    check_and_sed '^LsDefaultOptions' \
+                  's,^LsDefaultOptions,ListOptions,' \
+                  /etc/proftpd.conf || true
+  fi
+  [ -x /etc/init.d/proftpd ] && /etc/init.d/proftpd restart || true
+}
+
+# fix /etc/dpkg/dpkg.cfg
+comment_force_overwrite () {
+  if [ -f /etc/dpkg/dpkg.cfg ]; then
+    if check_and_sed '^force-overwrite' \
+                  's,\(^force-overwrite\),#\1,' \
+                  /etc/dpkg/dpkg.cfg; then
+      notice "$msg_comment_force_overwrite"
+    fi
+  fi
+}
+
+fix_aidexfer_conf() {
+  if [ -f /etc/aide/aidexfer.conf ]; then
+    check_and_sed '/usr/local/lib/aidexfer' \
+                  's,/usr/local/lib/aidexfer,/usr/share/aidexfer,' \
+                  /etc/aide/aidexfer.conf || true
+  fi
+}
+
+fix_issue () {
+  cat > /etc/issue <<EOF
+Debian GNU/\\s 3.1 (CARNet Debian 2.1) \\n \\l
+EOF
+
+  cat > /etc/issue.net <<EOF
+Debian GNU/%s 3.1 (CARNet Debian 2.1) %h
+EOF
+}
+
+check_disk_space() {
+  local available_disk_space
+  available_disk_space=$(df -m /var|tail -1|awk '{print $4}')
+  if [ $available_disk_space -lt $min_var_space ]; then
+    log "carnet-upgrade aborted: not enough space on /var (need ${min_var_space}MB)"
+    notice "Premalo mjesta na /var particiji. Potrebno je imati barem ${min_var_space}MB."
+    exit 1
+  fi
+}
+
+fix_webalizer_conf () {
+  if [ -f /etc/webalizer.conf ]; then
+    check_and_sed '^/' \
+                  's,^/,#,' \
+                  /etc/webalizer.conf || true
+  fi
+}
+
+# like in sendmail-cn
+fix_smtp_auth() {
+  local tmpl conf tmpldir confdir mv_in_sasl
+
+  # all of these should be installed after dist-upgrade
+  # if we had SMTP AUTH previously
+  if pkg sasl2-bin && pkg sasl-bin && pkg sendmail-cn ge 2:8.13.1-2; then
+    :
+  else
+    return 0
+  fi
+
+  tmpldir=/usr/share/sendmail/examples/sasl
+  tmpl=$tmpldir/Sendmail.conf.2
+  confdir=/etc/mail/sasl
+  conf=$confdir/Sendmail.conf.2
+  if [ "$(sasldblistusers | wc -l)" -gt 0 ]; then
+    if [ "$(sasldblistusers2 | wc -l)" -eq 0 ]; then
+      echo | sasldbconverter2 /etc/sasldb
+      log "Converted /etc/sasldb to /etc/sasldb2."
+    else
+      log "Found users in both /etc/sasldb and /etc/sasldb2, doing nothing!"
+    fi
+  fi
+  if [ -f $conf -a -f $tmpl ] && \
+    ! cmp -s $conf $tmpl; then
+    mv $conf $conf.cn-upgrade
+    mv_in_sasl=1
+  fi
+  if [ -f $confdir/Sendmail.conf ]; then
+    mv $confdir/Sendmail.conf $confdir/Sendmail.conf.cn-upgrade
+    mv_in_sasl=1
+  fi
+  if [ -f $confdir/sasl.m4 ] && \
+    ! cmp -s $confdir/sasl.m4 $tmpldir/sasl.m4; then
+    mv -f $confdir/sasl.m4 $confdir/sasl.m4.cn-upgrade
+    mv_in_sasl=1
+  fi
+  [ "$mv_in_sasl" ] && \
+    log "Renamed old files in $confdir."
+
+  # Regenerate sasl.m4 and friends.
+  /usr/share/sendmail/update_auth | egrep '^(Created template)' || true
+
+  # Hope noone else uses this file. (see doc/sendmail/README.Debian.gz)
+  dpkg-statoverride --remove /etc/sasldb2
+  dpkg-statoverride --update --add smmta smmsp 660 /etc/sasldb2
+  # needed for PLAIN, LOGIN
+  dpkg-statoverride --remove /var/run/saslauthd
+  dpkg-statoverride --update --add root sasl 711 /var/run/saslauthd
+
+  # Enable saslauthd, used by default Debian config
+  if ! egrep -q '^START=yes' /etc/default/saslauthd; then
+    check_and_sed START 's/#\ +START=yes$/START=yes/' /etc/default/saslauthd
+    /etc/init.d/saslauthd restart
+  fi
+
+  /etc/init.d/sendmail reload || true
+}
+
+sarge_sources_list() {
+  if [ ! -e /var/lib/carnet-upgrade/stamp-sarge_sources_list ]; then
+    install-carnet-sources.list
+    apt-get -y update
+    touch /var/lib/carnet-upgrade/stamp-sarge_sources_list
+  fi
+}
diff --git a/usr/share/carnet-upgrade/messages.sh b/usr/share/carnet-upgrade/messages.sh
new file mode 100644 (file)
index 0000000..18001ef
--- /dev/null
@@ -0,0 +1,75 @@
+###
+# dialog stuff
+title="CARNet upgrade Woody->Sarge"
+
+msg_first_warning="PAZNJA! PAZNJA!
+Pokrenuli ste proceduru nadogradnje CARNet Linux distribucije.\
+ Prije nastavka, podsjecamo Vas da prije ove skripte svakako pokrenete\
+ 'apt-get dist-upgrade', ukoliko vec niste. Takodjer strogo preporucujemo\
+ napraviti backup cijelog sustava, s posebnim naglaskom na instalirane\
+ baze podataka poput MySQL i PostgreSQL.
+
+Takodjer je potrebno procitati dokumentaciju za ovu nadogradnju koja se\
+ nalazi u ovom paketu u:
+ /usr/share/doc/carnet-upgrade/carnet-upgrade.pdf.
+
+Zelite li nastaviti?"
+
+msg_remove_bloat="Prethodna verzija distribucije, CARNet Linux 1, donosila je potpuno\
+ X-Window System okruzenje i mnostvo programskih paketa koji nisu\
+ potrebni za normalan rad serverskog racunala.  Brisanje ovih\
+ aplikacija ubrzati ce upgrade proceduru i smanjiti zauzece diskovnog\
+ prostora.  Ukoliko zelite zadrzati neku od navedenih aplikacija,\
+ iskljucite oznaku pored njenog imena.
+
+Kasnije mozete sami instalirati nesto od toga na uobicajeni nacin.
+
+Sljedece aplikacije ce biti OBRISANE:
+"
+
+msg_comment_force_overwrite="U vasem /etc/dpkg/dpkg.cfg je pronadjena opcija\
+ force-overwrite koja nije preporucljiva za uobicajen rad. Ukoliko\
+ zelite, odkomentirajte je nakon zavrsetka rada skripte."
+
+msg_failed_services="Skripta nije uspjela detektirati da sljedeci servisi rade ispravno:\
+
+
+"
+
+msg_finished="Automatizirani dio upgradea je zavrsen. Sada morate provjeriti\
+ jesu li svi vasi kriticni servisi ispravno konfigurirani i pokrenuti.
+
+"
+
+msg_finished_sarge="Automatizirane ispravke su izvrsene. Provjerite\
+ jesu li svi vasi kriticni servisi ispravno konfigurirani i pokrenuti.
+
+"
+
+msg_usage="$(basename $0) v$version
+
+Koristenje: $(basename $0) [<akcija>] | -h | --help
+
+<akcija> moze biti:
+  - main 
+         izvrsava potpunu proceduru za upgrade sa CARNet Debian 1.x (woody)
+         na CARNet Debian 2.x (sarge) distribuciju.  Ovo je pretpostavljena
+         vrijednost.
+         
+  - post_upgrade
+         izvrsava samo one akcije iz procedure za upgrade koje dolaze
+         nakon apt-get dist-upgrade.
+
+  - sarge
+         izvrsava akcije podobne za CARNet Debian 2.x (sarge) instalaciju.
+         
+  - new
+         izvrsava samo akcije koje su dodane u ovoj inacici.
+         
+  - /cijela/putanja/do/akcija.queue
+         izvrsava akcije iz navedene datoteke, korisno uglavnom za debug.
+
+-h | --help
+         prikazuje ovu poruku. :-)
+
+"
diff --git a/usr/share/carnet-upgrade/scripts/check_services b/usr/share/carnet-upgrade/scripts/check_services
new file mode 100755 (executable)
index 0000000..f314588
--- /dev/null
@@ -0,0 +1,93 @@
+#!/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
+}
+
+# uzmi iz debconfa instalirane servise, i provjeri rade li
+cs_postupgrade () {
+  local services i failed_services msg_header
+
+  case "$queuename" in
+    sarge) msg_header="$msg_finished_sarge"
+      ;;
+    *)
+      msg_header="$msg_finished"
+      ;;
+  esac
+
+  db_get cn-upgrade/check-services || true
+  services="$RET"
+
+  for i in $(echo "$services"); do
+    user=$(echo "$services_to_check" | grep ^${i} | sed 's/            */      /g'| awk -F'    ' '{print $2}')
+    psname=$(echo "$services_to_check" | grep ^${i} | sed 's/          */      /g'| awk -F'    ' '{print $3}')
+    nicename=$(echo "$services_to_check" | grep ^${i} | sed 's/                */      /g'| awk -F'    ' '{print $4}')
+    if ! pgrep -u $user -f "$psname" > /dev/null; then
+      if [ -z "$failed_services" ]; then
+        failed_services="$nicename"
+      else
+        failed_services="$failed_services, $nicename"
+      fi
+    fi
+  done
+
+  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|postupgrade-sarge|check)"
+        exit 1 
+        ;;
+esac
+exit 0
+
diff --git a/usr/share/carnet-upgrade/scripts/debconf_priority b/usr/share/carnet-upgrade/scripts/debconf_priority
new file mode 100755 (executable)
index 0000000..028b445
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/sh
+# last update: 2004-12-19
+# Zoran 'jelly' Dzelajlija <jelly@srce.hr>
+# Ivan 'ico' Rako <irako@srce.hr>
+
+
+# Load debconf stuff
+. /usr/share/debconf/confmodule
+
+# setiraj debconf na high i spremi stari
+debconf_priority_preupgrade () {
+  local old_debconf
+
+  db_get debconf/priority || true
+  old_debconf="$RET"
+
+  if [ -n "$old_debconf" ]; then
+    db_set cn-upgrade/debconf-priority "$old_debconf"
+  fi
+
+  db_set debconf/priority high
+  db_go || true
+}
+
+
+# vrati debconf na staru vrijednost
+debconf_priority_postupgrade () {
+  local new_debconf
+
+  db_get cn-upgrade/debconf-priority || true
+  new_debconf="$RET"
+
+  if [ -n "$new_debconf" ]; then
+    db_set debconf/priority "$new_debconf"
+    db_set cn-upgrade/debconf-priority ""
+  fi
+
+  db_go || true
+}
+
+# checkiraj
+debconf_priority_check () {
+  db_get cn-upgrade/debconf-priority || true
+  debconf="$RET"
+
+  if [ -n "$debconf" ]; then
+    exit 0
+  else
+    exit 1
+  fi
+}
+
+case "$1" in
+set)   debconf_priority_preupgrade
+       ;;
+reset) debconf_priority_postupgrade
+        ;;
+check) debconf_priority_check
+        ;;
+*)     echo "Usage: $0 (set|reset|check)"
+        exit 1 
+        ;;
+esac
+exit 0
+
diff --git a/usr/share/carnet-upgrade/sources.list b/usr/share/carnet-upgrade/sources.list
new file mode 100644 (file)
index 0000000..df1cf57
--- /dev/null
@@ -0,0 +1,13 @@
+# See sources.list(5) for more information, especialy
+# Remember that you can only use http, ftp or file URIs
+# CDROMs are managed through the apt-cdrom tool.
+deb http://ftp.carnet.hr/debian sarge main contrib non-free
+deb http://ftp.carnet.hr/debian-non-US sarge/non-US main contrib non-free
+deb http://security.debian.org sarge/updates main contrib non-free
+
+# CARNet Debian Linux v2
+deb http://ftp.carnet.hr/carnet-debian sarge main non-free
+
+# Uncomment if you want the apt-get source function to work
+#deb-src http://ftp.carnet.hr/debian sarge main contrib non-free
+#deb-src http://ftp.carnet.hr/debian-non-US sarge/non-US main contrib non-free
diff --git a/usr/share/carnet-upgrade/tags b/usr/share/carnet-upgrade/tags
new file mode 100644 (file)
index 0000000..7152d1b
--- /dev/null
@@ -0,0 +1,47 @@
+!_TAG_FILE_FORMAT      2       /extended format; --format=1 will not append ;" to lines/
+!_TAG_FILE_SORTED      1       /0=unsorted, 1=sorted, 2=foldcase/
+!_TAG_PROGRAM_AUTHOR   Darren Hiebert  /dhiebert@users.sourceforge.net/
+!_TAG_PROGRAM_NAME     Exuberant Ctags //
+!_TAG_PROGRAM_URL      http://ctags.sourceforge.net    /official site/
+!_TAG_PROGRAM_VERSION  5.7     //
+add_group_proc functions.sh    /^add_group_proc () {$/;"       f
+backup_etc_dir functions.sh    /^backup_etc_dir () {$/;"       f
+backup_slapd_db        functions.sh    /^backup_slapd_db () {$/;"      f
+check_and_sed  functions.sh    /^check_and_sed() {$/;" f
+check_and_update_ugid  functions.sh    /^check_and_update_ugid() {$/;" f
+check_disk_space       functions.sh    /^check_disk_space() {$/;"      f
+check_upgrade  functions.sh    /^check_upgrade () {$/;"        f
+comment_force_overwrite        functions.sh    /^comment_force_overwrite () {$/;"      f
+create_sources_list    functions.sh    /^create_sources_list () {$/;"  f
+cs_check       scripts/check_services  /^cs_check () {$/;"     f
+cs_postupgrade scripts/check_services  /^cs_postupgrade () {$/;"       f
+cs_preupgrade  scripts/check_services  /^cs_preupgrade () {$/;"        f
+debconf_priority_check scripts/debconf_priority        /^debconf_priority_check () {$/;"       f
+debconf_priority_postupgrade   scripts/debconf_priority        /^debconf_priority_postupgrade () {$/;" f
+debconf_priority_preupgrade    scripts/debconf_priority        /^debconf_priority_preupgrade () {$/;"  f
+dist_upgrade   functions.sh    /^dist_upgrade () {$/;" f
+find_id        functions.sh    /^find_id() {$/;"       f
+first_warning  functions.sh    /^first_warning () {$/;"        f
+fix_aidexfer_conf      functions.sh    /^fix_aidexfer_conf() {$/;"     f
+fix_etc_default_raid2  functions.sh    /^fix_etc_default_raid2 () {$/;"        f
+fix_issue      functions.sh    /^fix_issue () {$/;"    f
+fix_mod_ssl_include    functions.sh    /^fix_mod_ssl_include() {$/;"   f
+fix_proftpd_conf       functions.sh    /^fix_proftpd_conf() {$/;"      f
+fix_smtp_auth  functions.sh    /^fix_smtp_auth() {$/;" f
+fix_webalizer_conf     functions.sh    /^fix_webalizer_conf () {$/;"   f
+fix_xinetd_conf        functions.sh    /^fix_xinetd_conf () {$/;"      f
+install_freeradius     functions.sh    /^install_freeradius () {$/;"   f
+log    functions.sh    /^log() {$/;"   f
+notice functions.sh    /^notice () {$/;"       f
+pkg    functions.sh    /^pkg() {$/;"   f
+pkgadd functions.sh    /^pkgadd () {$/;"       f
+pkgrm  functions.sh    /^pkgrm () {$/;"        f
+post_upgrade   functions.sh    /^post_upgrade() {$/;"  f
+remove_bloat   functions.sh    /^remove_bloat() {$/;"  f
+remove_group_proc      functions.sh    /^remove_group_proc () {$/;"    f
+run_actions    functions.sh    /^run_actions() {$/;"   f
+run_post_upgrade       functions.sh    /^run_post_upgrade() {$/;"      f
+sarge_sources_list     functions.sh    /^sarge_sources_list() {$/;"    f
+update functions.sh    /^update() {$/;"        f
+upgrade        functions.sh    /^upgrade () {$/;"      f
+what_upgrade   functions.sh    /^what_upgrade () {$/;" f
diff --git a/usr/share/doc/carnet-upgrade/NEWS.CARNet b/usr/share/doc/carnet-upgrade/NEWS.CARNet
new file mode 100644 (file)
index 0000000..7d084a7
--- /dev/null
@@ -0,0 +1,14 @@
+carnet-upgrade (2.1.6) sarge; urgency=medium
+
+  * Zbog izmjena na ftp posluzitelju, potrebno je izmijeniti
+    /etc/apt/sources.list datoteku s postavkama za apt.
+    Nakon sto zavrsi upgrade, pokrenite
+
+    carnet-upgrade apt
+
+  * Pored ove postoji jos nekoliko sitnih izmjena u CARNet Debian 2
+    instalacijama.  Mozete ih aktivirati sa
+
+    carnet-upgrade sarge
+
+ -- Zoran Dzelajlija <jelly@srce.hr>  Fri,  3 Jun 2005 14:26:10 +0200
diff --git a/usr/share/doc/carnet-upgrade/README.CARNet b/usr/share/doc/carnet-upgrade/README.CARNet
new file mode 100644 (file)
index 0000000..abe294a
--- /dev/null
@@ -0,0 +1,19 @@
+carnet-upgrade
+
+Ovaj paket donosi skriptu za nadogradnju CARNetovih cvornih racunala sa
+CARNet Debian 1.x na CARNet Debian 2.x i nadogradnju postavki na postojecim
+CARNet Debian 2 instalacijama.
+
+Dokumentacija za upgrade sa CARNet Debian 1.x se nalazi u ovom direktoriju
+pod nazivom carnet-upgrade.pdf.
+
+Paket su pripremili:
+
+Zoran Dzelajlija <jelly@srce.hr>
+Ivan 'ico' Rako <irako@srce.hr>
+
+Sve komentare, zelje i pozdrave, molimo uputite sluzbi pomoci sistem
+inzinjerima.
+
+
+ -- Ivan 'ico' Rako <irako@srce.hr>  Mon, 20 Dec 2004 20:12:29 +0100
diff --git a/usr/share/doc/carnet-upgrade/carnet-upgrade.pdf b/usr/share/doc/carnet-upgrade/carnet-upgrade.pdf
new file mode 100644 (file)
index 0000000..0d72cad
Binary files /dev/null and b/usr/share/doc/carnet-upgrade/carnet-upgrade.pdf differ
diff --git a/usr/share/doc/carnet-upgrade/changelog.CARNet b/usr/share/doc/carnet-upgrade/changelog.CARNet
new file mode 100644 (file)
index 0000000..0fd1a96
--- /dev/null
@@ -0,0 +1,109 @@
+carnet-upgrade (2.1.8) woody sarge; urgency=low
+
+  * Promjenjena verzija freeradiusa u 1.0.5-0
+
+ -- Ivan 'ico' Rako <irako@srce.hr>  Wed, 28 Sep 2005 17:37:33 +0200
+
+carnet-upgrade (2.1.7) woody sarge; urgency=low
+
+  * Poziv apt-get update nakon postavljanja sources.list za sarge
+    (T#: 2005060813000012).
+  * Zamjena sources.list datoteke za sarge samo jednom.
+  * Provjera i nadogradnja gnupg za sarge.
+  * Typo u sarge ispravkama.
+  * Forsirani upgrade freeradius paketa na sparc platformi.
+  * U queue datotekama dodana mogucnost nastavka retka sa \.
+
+ -- Zoran Dzelajlija <jelly@srce.hr>  Thu, 30 Jun 2005 17:12:40 +0200
+
+carnet-upgrade (2.1.6) woody sarge; urgency=medium
+
+  * Novi sources.list zbog izmjena na ftp serveru, dodan u
+    "new", "sarge" i novi "apt" argument.  Za popraviti samo
+    sources.list koristiti "carnet-upgrade apt".
+
+  * Forsiranje upgradea carnet-tools-cn i jos nekih paketa koji
+    inace ne prolaze bez dist-upgrade, u "sarge" i "new" argumentu.
+   
+ -- Zoran Dzelajlija <jelly@srce.hr>  Fri,  3 Jun 2005 14:26:10 +0200
+carnet-upgrade (2.1.5) woody sarge; urgency=low
+
+  * Popravljene dozvole nad doc/carnet-upgrade.pdf
+  * Ispravka u fix_smtp_auth()
+
+ -- Ivan 'ico' Rako <irako@srce.hr>  Wed, 13 Apr 2005 01:17:09 +0200
+
+carnet-upgrade (2.1.4) woody sarge; urgency=low
+
+  * Sprecavanje moguceg downgradea freeradiusa na sargeu.
+  * Dodana provjera i nadogradnja ntp-cn (woody i sarge).
+  * Instalacija apt-listchanges{,-cn} i za sarge.
+  * Dodan Usage, i drukcija zavrsna poruka za sarge.
+  * Pocisceni komentari u kodu.
+
+ -- Zoran Dzelajlija <jelly@srce.hr>  Fri,  7 Jan 2005 15:03:46 +0100
+
+carnet-upgrade (2.1-3) stable; urgency=low
+
+  * Ispravke SMTP AUTH nakon upgradea.
+  * Novi nacini poziva skripte:
+    - samo ispravke dodane nakon proslog izdanja:
+      carnet-upgrade new
+
+    - samo ispravke koje se izvrsavaju nakon nadogradnje, za
+      preskociti pocetak u slucaju pucanja skripte ili slicnog:
+      carnet-upgrade post_upgrade
+
+    - ispravke primjerene za sarge instalaciju:
+      carnet-upgrade sarge
+
+      "sarge" argument forsira nadogradnju bind9-cn, php4-cn, gcc-cn
+      i vezanih Debianovih paketa, ako je potrebno, jer za njih
+      apt-get upgrade nije dovoljan.
+
+ -- Zoran Dzelajlija <jelly@srce.hr>  Mon,  3 Jan 2005 18:04:59 +0100
+
+carnet-upgrade (2.1-2) stable; urgency=low
+
+  * sweep-cn mora ici u prvom prolazu.
+  * remove_bloat() je ignorirao zadnji izabrani paket za brisanje.
+  * kozmetika, nakon izvrsenja run_post_upgrade() kriva akcija u logu.
+
+ -- Zoran Dzelajlija <jelly@srce.hr>  Wed, 29 Dec 2004 19:06:15 +0100
+
+carnet-upgrade (2.1-1) stable; urgency=low
+
+  * sitne ispravke u main.queue i functions.sh.
+  * instalacija apt-listchanges, apt-listchanges-cn i deborphan paketa.
+
+ -- Ivan 'ico' Rako <irako@srce.hr>  Wed, 29 Dec 2004 12:43:37 +0100
+
+carnet-upgrade (2.1-0.99) stable; urgency=low
+
+  * Dokumentacija.
+  * apt-get autoclean prije downloada sarge paketa.
+  * kozmetika u main.queue i functions.sh.
+
+ -- Zoran Dzelajlija <jelly+paketi@srce.hr>  Mon, 27 Dec 2004 19:55:10 +0100
+
+carnet-upgrade (2.1-0.9) stable; urgency=low
+
+  * ispravke u remove_bloat().
+  * dokumentiran odabir non-default postavki.
+
+ -- Zoran Dzelajlija <jelly+paketi@srce.hr>  Mon, 27 Dec 2004 00:00:00 +0100
+
+carnet-upgrade (2.1-0.8) stable; urgency=low
+
+  * pazi na sysmon-cn (inetd.conf).
+  * kozmetika u pkgadd() i pkgrm().
+  * hrpa ispravki izmedju 2.1-0.1 i 2.1-0.7.
+
+ -- Zoran Dzelajlija <jelly+paketi@srce.hr>  Thu, 23 Dec 2004 14:41:17 +0100
+
+carnet-upgrade (2.1-0.1) stable; urgency=low
+
+  * Prva razvojna verzija
+
+ -- Ivan 'ico' Rako <irako@srce.hr>  Mon, 20 Dec 2004 20:15:59 +0100