From 4b1165d5c7bafe91f8ac46ca41dd7bbd57a875e7 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 15 Mar 2015 11:08:10 +0000 Subject: [PATCH] scripts/feeds: add support for uninstalling targets Signed-off-by: Felix Fietkau SVN-Revision: 44782 --- scripts/feeds | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/scripts/feeds b/scripts/feeds index 62edb66820..785be385a9 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -581,6 +581,17 @@ sub install { return $ret; } +sub uninstall_target($) { + my $dir = shift; + my $name = $dir; + $name =~ s/.*\///g; + + my $dest = readlink $dir; + return unless $dest =~ /..\/..\/feeds/; + warn "Uninstalling target '$name'\n"; + unlink "$dir"; +} + sub uninstall { my %opts; my $name; @@ -595,6 +606,10 @@ sub uninstall { if ($opts{a}) { system("rm -rvf ./package/feeds"); + foreach my $dir (glob "target/linux/*") { + next unless -l $dir; + uninstall_target($dir); + } $uninstall = 1; } else { if($#ARGV == -1) { @@ -603,6 +618,13 @@ sub uninstall { } get_installed(); while ($name = shift @ARGV) { + my $target = "target/linux/$name"; + -l "$target" and do { + uninstall_target($target); + $uninstall = 1; + next; + }; + my $pkg = $installed{$name}; $pkg or do { warn "WARNING: $name not installed\n";