Page MenuHomeClusterLabs Projects

uninstall.pl
No OneTemporary

uninstall.pl

#!/usr/bin/perl
###############################################################################
###############################################################################
##
## Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
## Copyright (C) 2004 Red Hat, Inc. All rights reserved.
##
## This copyrighted material is made available to anyone wishing to use,
## modify, copy, or redistribute it subject to the terms and conditions
## of the GNU General Public License v.2.
##
###############################################################################
###############################################################################
## Description: Basically the reverse of the install program, except it
## only supports a list of files and a directory as arguments
$| = 1;
use Getopt::Std;
# list all valid options here. User will get errors if invalid options are
# specified on the command line
getopts('hD');
$args = 1;
# We need at least two arguments to uninstall
if(!defined($ARGV[1])) {
$args = 0;
}
# if the user set the help flag or didn't provide enough args, print help
# and die.
if(defined($opt_h) || ($args == 0)) {
$msg = "usage: $0 [OPTIONS] TARGET DIRECTORY\n";
$msg = $msg . "\t-D\tRemove specified directory if empty\n";
$msg = $msg . "\t-h\tDisplay this help message\n";
die $msg;
}
# find out how many command line arguments we have
$length = $#ARGV;
# We need a special case if there is only one file specified
if($length > 1) {
@filelist = @ARGV;
$#filelist = $length - 1;
}
else {
@filelist = @ARGV[0];
}
# the last argument is the directory
$dir = @ARGV[$length];
# prepend the directory name to all files in the filelist
$i = 0;
print "Attempting to remove the following files from directory $dir/:\n";
while($i < $length) {
print "@filelist[$i] ";
@filelist[$i] = "$dir/" . @filelist[$i];
$i++;
}
print "\n";
#print "Files:@filelist\n";
#print "Directory: $dir\n";
# delete the files in filelist
$unlinked = unlink @filelist;
if($unlinked < $length) {
print "Error! Unable to remove all files in $dir:\n\tYou may have to manually delete some of them.\n"
}
# if user specifed they want the directory deleted, try to delete it. Print
# error message if not able to delete directory, including error.
if(defined($opt_D)) {
$result = rmdir($dir);
if($result == FALSE) {
print "Error! Unable to remove directory $dir/:\n\t$!\n";
}
}

File Metadata

Mime Type
text/x-perl
Expires
Mon, Feb 24, 11:20 PM (14 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1457999
Default Alt Text
uninstall.pl (2 KB)

Event Timeline