scripts/feeds: add support for uninstalling targets

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44782
This commit is contained in:
Felix Fietkau 2015-03-15 11:08:10 +00:00
parent 2484f3a86a
commit 4b1165d5c7

View file

@ -581,6 +581,17 @@ sub install {
return $ret; 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 { sub uninstall {
my %opts; my %opts;
my $name; my $name;
@ -595,6 +606,10 @@ sub uninstall {
if ($opts{a}) { if ($opts{a}) {
system("rm -rvf ./package/feeds"); system("rm -rvf ./package/feeds");
foreach my $dir (glob "target/linux/*") {
next unless -l $dir;
uninstall_target($dir);
}
$uninstall = 1; $uninstall = 1;
} else { } else {
if($#ARGV == -1) { if($#ARGV == -1) {
@ -603,6 +618,13 @@ sub uninstall {
} }
get_installed(); get_installed();
while ($name = shift @ARGV) { while ($name = shift @ARGV) {
my $target = "target/linux/$name";
-l "$target" and do {
uninstall_target($target);
$uninstall = 1;
next;
};
my $pkg = $installed{$name}; my $pkg = $installed{$name};
$pkg or do { $pkg or do {
warn "WARNING: $name not installed\n"; warn "WARNING: $name not installed\n";