From: Felix Fietkau Date: Sun, 15 Mar 2015 11:08:10 +0000 (+0000) Subject: scripts/feeds: add support for uninstalling targets X-Git-Tag: v19.07.0-rc1~14603 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=4b1165d5c7bafe91f8ac46ca41dd7bbd57a875e7;p=openwrt%2Fstaging%2Fhauke.git scripts/feeds: add support for uninstalling targets Signed-off-by: Felix Fietkau SVN-Revision: 44782 --- 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";