$feed or do {
$installed{$name} and return 0;
# TODO: check if it's already installed within ./package directory
- warn "WARNING: No feed for package '$name' found, maybe it's already part of the standard packages?\n";
+ $srcpackage{$name} or -d "./package/$name" or warn "WARNING: No feed for package '$name' found, maybe it's already part of the standard packages?\n";
return 0;
};
# newly installed packages set the source package
$installed{$src} and return 0;
- # install all dependencies
- foreach my $dep (@{$pkg->{depends}}) {
- next if $dep =~ /@/;
- $dep =~ s/^\+//;
- install_package($feed, $dep) == 0 or $ret = 1;
- }
-
# check previously installed packages
$installed{$name} and return 0;
$installed{$src} = 1;
return 1;
};
+ # install all dependencies
+ foreach my $vpkg (@{$srcpackage{$src}}) {
+ foreach my $dep (@{$vpkg->{depends}}, @{$vpkg->{builddepends}}) {
+ next if $dep =~ /@/;
+ $dep =~ s/^\+//;
+ install_package($feed, $dep) == 0 or $ret = 1;
+ }
+ }
+
return $ret;
}