aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalph Hempel <ralph.hempel@lantiq.com>2008-03-20 17:08:24 +0000
committerRalph Hempel <ralph.hempel@lantiq.com>2008-03-20 17:08:24 +0000
commite5baf6bef849d2e590f9b11343892ad2468d44b5 (patch)
tree02db08ae3f4022ffc4abd0fd34bc68cf6249ff02
parentccdf22edff25608249845ea781c575cc29646b09 (diff)
downloadupstream-e5baf6bef849d2e590f9b11343892ad2468d44b5.tar.gz
upstream-e5baf6bef849d2e590f9b11343892ad2468d44b5.tar.bz2
upstream-e5baf6bef849d2e590f9b11343892ad2468d44b5.zip
fix package/symlinks target, will call scripts/feeds update / install
introduce new package/symlinks-install and package/symlinks-clean targets - package/symlink-install will re-create the index files and the symlinks for all ./feeds (no update from repositories is performed) - package/symlink-clean will delete all installed symlinks (keeping the ./feeds untouched) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10634 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--Makefile16
-rwxr-xr-xscripts/feeds10
2 files changed, 18 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 77660bb8d7..8b0ef0d57d 100644
--- a/Makefile
+++ b/Makefile
@@ -57,10 +57,20 @@ prepare: .config $(tools/stamp-install) $(toolchain/stamp-install)
world: prepare $(target/stamp-compile) $(package/stamp-cleanup) $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) $(target/stamp-install) FORCE
$(MAKE) package/index
+# update all feeds, re-create index files, install symlinks
package/symlinks:
- $(SCRIPT_DIR)/feeds update
- cd package; ln -sf ../feeds/packages openwrt-packages
+ $(SCRIPT_DIR)/feeds update -a
+ $(SCRIPT_DIR)/feeds install -a
-.PHONY: clean dirclean prereq prepare world package/symlinks
+# re-create index files, install symlinks
+package/symlinks-install:
+ $(SCRIPT_DIR)/feeds update -i
+ $(SCRIPT_DIR)/feeds install -a
+
+# remove all symlinks, don't touch ./feeds
+package/symlinks-clean:
+ $(SCRIPT_DIR)/feeds uninstall -a
+
+.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean
endif
diff --git a/scripts/feeds b/scripts/feeds
index 3c6c05064f..4176c31f32 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -238,15 +238,17 @@ sub install_package {
$feed = lookup_package($feed, $name);
$feed or do {
$installed{$name} and return 0;
- warn "WARNING: No feed for package '$name' found.\n";
- return 1;
+ # 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";
+ return 0;
};
my $pkg = $feed{$feed->[1]}->{$name} or return 1;
$pkg->{name} or do {
$installed{$name} and return 0;
+ # TODO: check if this is an alias package, maybe it's known by another name
warn "WARNING: Package '$name' is not available in feed $feed->[1].\n";
- return 1;
+ return 0;
};
my $src = $pkg->{src};
my $type = $feed->[0];
@@ -327,8 +329,6 @@ sub install {
my $p = $package{$name};
if( $p->{name} ) {
install_package($feed, $p->{name}) == 0 or $ret = 1;
- } else {
- warn "WARNING: Package '$name' is not available\n";
}
}
}