File: delete.sh

package info (click to toggle)
eso-midas 23.02pl1.0-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 146,968 kB
  • sloc: ansic: 360,674; makefile: 6,231; sh: 6,003; pascal: 535; perl: 40; awk: 36; sed: 14
file content (122 lines) | stat: -rw-r--r-- 3,050 bytes parent folder | download | duplicates (12)
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
#! /bin/sh
# .COPYRIGHT: Copyright (c) 1988 European Southern Observatory,
#                                         all rights reserved
# .TYPE           command
# .NAME           delete.sh
# .LANGUAGE       shell script
# .ENVIRONMENT    Unix Systems. Executable under SHELL and C-SHELL
# .COMMENTS       
#
# .AUTHOR         Carlos Guirao
# .VERSION 1.1    30-Oct-1989:		Implementation.
# .VERSION 1.2    05-Dec-1989:		Adding "echo" definition
# 070615	last modif
# 
echo=echo
if [ "`echo -n`" = "-n" ] ; then
        SV_NONL="\c"
else
        echo="echo -n"
fi

#
# First of all, goto the config directory MID_INSTALL
# <dirname> & <basename> commands emulated with <sed>
#   cd `dirname $0`
#   MIDVERS=`basename $VERSDIR`
#   MIDASHOME=`dirname $VERSDIR`
#
if [ -z "$MIDASHOME" -o -z "$MIDVERS" ] ; then
    cd `echo $0 | sed -e 's/[^\/]*$//' -e 's/^$/./' -e 's/\/$//'`
    MID_INSTALL=`pwd`
    VERSDIR=`echo $MID_INSTALL | sed 's/\/install\/unix$//'`
    MIDVERS=`echo $VERSDIR | sed -e 's/^.*\///'`
    MIDASHOME=`echo $VERSDIR | sed -e 's/[^\/]*$//' -e 's/^$/./' -e 's/\/$//'`
else
    cd $MIDASHOME/$MIDVERS/install/unix
fi

MID_INSTALL=$MIDASHOME/$MIDVERS/install/unix
MID_HOME=$MIDASHOME/$MIDVERS

#
# START
#

# Check weather "ls -s" command returns blocks of 1/2 or 1 kbytes.
# The file test_file_1k is 1kbyte big.
factor_ls=`ls -s test_file_1k | awk '{print $1}'`

while : ; do
(echo ""
echo "	DELETE EXECUTABLES FILES FROM:"
echo ""
echo "	NAME		CATEGORY"
echo "	========================"
for categ in applic stdred contrib gui
do
    if [ ! -d $MID_HOME/$categ ]; then
	continue
    fi
    cd $MID_HOME/$categ
    for pack in `ls | egrep -v 'lib|exec|proc'`
    do
        if [ -f $pack/src/makefile ] ; then
            echo  "	$pack      	$categ	"
	fi
   done
done
echo "" ) | more
cd $MID_INSTALL
echo "Type <Q> to quit or <L> to list again."

while : ; do
    $echo "Select NAME to DELETE: " $SV_NONL
    read name
    if [ "$name" = "q" -o "$name" = "Q" ] ; then
	exit
    fi
    if [ "$name" = "l" -o "$name" = "L" ] ; then
	break
    fi
    if [ "$name" = "" ] ; then
	continue
    fi
    if [ -f $MID_HOME/applic/$name/src/makefile ] ; then
	categ=applic
    elif [ -f $MID_HOME/stdred/$name/src/makefile ] ; then
	categ=stdred
    elif [ -f $MID_HOME/contrib/$name/src/makefile ] ; then
	categ=contrib
    elif [ -f $MID_HOME/gui/$name/src/makefile ] ; then
	categ=gui
    else
	echo "$name: No such package with that name"
	continue
    fi

    $echo "Number of kbytes to be deleted: (wait) " $SV_NONL
    cd $MID_HOME/$categ/$name/src
    ls -s `make -n clean_exec | sed -e 's/^rm//' -e 's/-f//'` 2>/dev/null | \
    awk -f $MID_INSTALL/size.awk factor=$factor_ls
    if [ $? != 0 ] ; then
	continue
    fi
    $echo "Do you want to delete $name executables [yn]? (y): " $SV_NONL
    read answ
    if [ -z "$answ" ]; then
        answ=y
    fi
    if [ "$answ" != "y" -a "$answ" != "Y" ]; then
        cd $MID_INSTALL
	echo ""
        continue
    fi

    make clean_exec
    cd $MID_INSTALL
    echo ""
done
done

exit