cross-plat-dev-utils/weed_backups.pl
author Mike Kinghan <mikek@symbian.org>
Sat, 27 Nov 2010 17:23:11 +0000
changeset 41 1600211976c3
parent 10 b2a53d442fd6
permissions -rwxr-xr-x
1) Add imgtools/romtools to the targets for which exports are performed by fix_tools_exports.pl 2) Windows compatibility fix to list_targets.pl 3) Modify imgtools\romtools\group\BLD.INF so that Windows-only exports are not performed on Linux hosts or vice versa. 4) Windows compatibility fix for imgtools\romtools\rombuild\romnibus.pl

#!/usr/bin/perl
# Copyright (c) 2010 Symbian Foundation Ltd
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
# Initial Contributors:
# Mike Kinghan, mikek@symbian.org for Symbian Foundation Ltd - initial contribution.

# Script delete backup files from the package directory.

use strict;
use usage;
use File::Spec;
use places;

sub delete_backups($);

usage(\@ARGV,"This script deletes all files in the package directory " .
	"and the epoc32 tree with names ending in '~'\n");
my $epoc32_dir = get_epoc32_dir();
my $build_pkg_dir = get_pkg_dir();
my $deletes = 0;
delete_backups($build_pkg_dir);
delete_backups($epoc32_dir);
print ">>> $deletes files deleted\n"; 
exit 0;

sub delete_backups($)
{
	my($path) = @_; 
	print ">>> Weeding dir \"$path\"\n";
	$path = File::Spec->catfile("$path",'*');
	my @entries = glob($path);
	for my $entry (@entries) {
		if( -d $entry) {
			delete_backups($entry);
		} else {
			my @backups = grep(/~$/,@entries);
			foreach (@backups) {
				unlink $_;
				# Querying the result of unlink() for success is unreliable
				# on some tested systems.
				die "Failed to delete \"$_\"", if ( -f $_);
				++$deletes;
			}
		}
	}
}