#!/bin/sh
# <BEGIN COPYRIGHT>
# This file is part of the "Bad Penguin" GNU/Linux distribution
# Copyright (C) 1997-98-99 by Antonio GALLO
# Home Page at ......: http://www.badpenguin.org
# Home Page at ......: http://www.linux.it/~agx/
# e-mail contact ....: mailto:agx@linux.it	mailto:agx@geocities.com
# This program is distributed under the GNU General Public License
# You are not allowed to remove the copyright notice
# <END COPYRIGHT>

# setup--remove, remove a package
# 19990505  - Version 1.1.0 by AGX
# 19990629  - Version 1.1.3 by AGX
# 19990830  - Version 1.2.0 by AGX : PRE-DELETE, DELETE, POST-DELETE, PURGE support
# 1999-11-11, Version 1.6.0 by AGX

# --------------------------------------------------------

if [ "$SETUP_MODE" = "" ]; then
    echoc RED "This script cannot be launched interactively, use setup --help"
    USCITA=100 ; exit 100
fi

[ $SETUP_VERBOSE -gt 1 ] && echo "- Entro in setup--remove"

# -------------------------------------------------------
echoc GREEN "Rimozione del pacchetto $PKG_NAME da $SETUP_TARGETDIR"
# -------------------------------------------------------

# Pre-Remove
MANIFEST="$PKG_SPOOLNAME/PRE-REMOVE"
if [ -f $MANIFEST ]; then
  [ $SETUP_VERBOSE -gt 0 ] && echo "- Eseguo $MANIFEST"
  sh $MANIFEST
fi
MANIFEST="$PKG_SPOOLNAME/PRE-DELETE"
if [ -f $MANIFEST ]; then
  [ $SETUP_VERBOSE -gt 0 ] && echo "- Eseguo $MANIFEST"
  sh $MANIFEST
fi
  

# Remove Manifest
REMOVE_FILES=1
MANIFEST="$PKG_SPOOLNAME/MANIFEST"
if [ ! -f "$MANIFEST" ]; then
  REMOVE_FILES=0
  echoc YELLOW "- $MANIFEST non e' stato trovato !"
else
  if [ "$SETUP_MODE" = "PURGE" ]; then
    REMOVE_FILES=1
  else
    VITALITY="$PKG_SPOOLNAME/VITAL"
    if [ -f "$VITALITY" ]; then  
      [ $SETUP_VERBOSE -gt 0 ] && echoc YELLOW "- Questo pacchetto e' VITALE, non sara' rimosso nessun file"
      REMOVE_FILES=0
    else
      REMOVE_FILES=1
    fi
  fi
fi
#

if [ $REMOVE_FILES -gt 0 ]; then  
    ( cat "$MANIFEST" ; echo ) | while read EAT_IT
    do
      [ "$EAT_IT" = "" ] && continue
      case "$EAT_IT" in
        install/*)
	    echo "files into the install directory are ignored" >/dev/null
    	    ;;
        incoming/*)
	    if [ "$SETUP_MODE" = "PURGE" ]; then
	      BITE_IT="`echo $EAT_IT | cut -b 10-`"
              if [ -f "$SETUP_TARGETDIR/$BITE_IT" ]; then
		echo "- Purgo $SETUP_TARGETDIR/$BITE_IT"
    	        rm -f "$SETUP_TARGETDIR/$BITE_IT"
              fi	    
	    fi
    	    ;;
        *)
          if [ -f "$SETUP_TARGETDIR/$EAT_IT" ]; then
            [ $SETUP_VERBOSE -gt 0 ] && echo "- RImozione di $SETUP_TARGETDIR/$EAT_IT"
            rm -f "$SETUP_TARGETDIR/$EAT_IT"
          fi
        ;;
      esac
    done
fi

# Remove
MANIFEST="$PKG_SPOOLNAME/REMOVE"
if [ -f $MANIFEST ]; then
  [ $SETUP_VERBOSE -gt 0 ] && echo "- Eseguo $MANIFEST"
  sh $MANIFEST
fi

MANIFEST="$PKG_SPOOLNAME/DELETE"
if [ -f $MANIFEST ]; then
  [ $SETUP_VERBOSE -gt 0 ] && echo "- Eseguo $MANIFEST"
  sh $MANIFEST
fi

# Post-Remove
MANIFEST="$PKG_SPOOLNAME/POST-REMOVE"
if [ -f $MANIFEST ]; then
  [ $SETUP_VERBOSE -gt 0 ] && echo "- Eseguo $MANIFEST"
  sh $MANIFEST
fi

MANIFEST="$PKG_SPOOLNAME/POST-DELETE"
if [ -f $MANIFEST ]; then
  [ $SETUP_VERBOSE -gt 0 ] && echo "- Eseguo $MANIFEST"
  sh $MANIFEST
fi

if [ "$SETUP_MODE" = "PURGE" ]; then
  MANIFEST="$PKG_SPOOLNAME/PURGE"
  if [ -f $MANIFEST ]; then
    [ $SETUP_VERBOSE -gt 0 ] && echo "- Eseguo $MANIFEST"
    sh $MANIFEST
  fi
  MANIFEST="$PKG_SPOOLNAME/PRUNE"
  if [ -f $MANIFEST ]; then
    [ $SETUP_VERBOSE -gt 0 ] && echo "- Eseguo $MANIFEST"
    sh $MANIFEST
  fi  
fi

# Last, purge the package directory
[ $SETUP_VERBOSE -gt 0 ] && echo "- Rimuovo la directory del pacchetto $PKG_SPOOLNAME/"
rm -rf "$PKG_SPOOLNAME/"
USCITA=0 ; exit 0
