diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-03-15 11:08:10 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-03-15 11:08:10 +0000 |
commit | 4b1165d5c7bafe91f8ac46ca41dd7bbd57a875e7 (patch) | |
tree | 971303c3653d5c941db60a91a6cff26b42ea64a8 /scripts/feeds | |
parent | 2484f3a86a49be9bedf84da55e1dfe41d8e42b09 (diff) | |
download | upstream-4b1165d5c7bafe91f8ac46ca41dd7bbd57a875e7.tar.gz upstream-4b1165d5c7bafe91f8ac46ca41dd7bbd57a875e7.tar.bz2 upstream-4b1165d5c7bafe91f8ac46ca41dd7bbd57a875e7.zip |
scripts/feeds: add support for uninstalling targets
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44782
Diffstat (limited to 'scripts/feeds')
-rwxr-xr-x | scripts/feeds | 22 |
1 files changed, 22 insertions, 0 deletions
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"; |