scripts/feeds: add support for uninstalling targets
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44782
This commit is contained in:
parent
2484f3a86a
commit
4b1165d5c7
1 changed files with 22 additions and 0 deletions
|
@ -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";
|
||||||
|
|
Loading…
Reference in a new issue