diff options
author | J Pipkin <j@dawnrazor.net> | 2013-01-13 08:16:46 -0600 |
---|---|---|
committer | J Pipkin <j@dawnrazor.net> | 2013-01-13 08:16:46 -0600 |
commit | 104928d2fc599779ed6a3d18352feb5221d366b7 (patch) | |
tree | 005ded952a33a4ae3db38a8706bc6d00947123ee /sboclean | |
parent | ebea5de7bf371f4bc2fd87724acca91279d7e0d1 (diff) | |
parent | e86433279141617306c136e2cac4ca42d5821d55 (diff) | |
download | sbotools2-104928d2fc599779ed6a3d18352feb5221d366b7.tar.xz |
Merge branch 'clean_c32', fixes #46
Diffstat (limited to 'sboclean')
-rwxr-xr-x | sboclean | 37 |
1 files changed, 28 insertions, 9 deletions
@@ -54,24 +54,43 @@ show_version and exit 0 if $vers; usage_error "You must specify at least one of -d or -w." unless ($clean_dist || $clean_work); +sub rm_full($) { + exists $_[0] or script_error 'rm_full requires an argument.'; + my $full = shift; + if ($interactive) { + print "Remove $full? [n] "; + return unless <STDIN> =~ /^[Yy]/; + } + unlink $full if -f $full; + remove_tree($full) if -d $full; + return 1; +} + sub remove_stuff($) { - exists $_[0] or script_error 'remove_stuff requires an argument'; + exists $_[0] or script_error 'remove_stuff requires an argument.'; -d $_[0] or say 'Nothing to do.' and return 1; my $dir = shift; opendir(my $dh, $dir); FIRST: while (my $ls = readdir $dh) { next FIRST if $ls =~ /^(\.){1,2}$/; - my $full = "$dir/$ls"; - if ($interactive) { - print "Remove $full? [n] "; - next FIRST unless <STDIN> =~ /^[Yy]/; - } - unlink $full if -f $full; - remove_tree($full) if -d $full; + rm_full "$dir/$ls"; + } +} + +sub clean_c32() { + my $dir = '/tmp'; + opendir(my $dh, $dir); + FIRST: while (my $ls = readdir $dh) { + next FIRST unless $ls =~ /^package-.+-compat32$/; + rm_full "$dir/$ls"; } } remove_stuff $config{SBO_HOME} .'/distfiles' if $clean_dist; -remove_stuff '/tmp/SBo' if $clean_work; + +if ($clean_work) { + remove_stuff '/tmp/SBo'; + clean_c32; +} exit 0; |