From 6830e7b178b70a613b3864c09ddf6e9baf0aec31 Mon Sep 17 00:00:00 2001 From: ralph Date: Thu, 20 Mar 2008 17:08:24 +0000 Subject: [PATCH] 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 --- Makefile | 16 +++++++++++++--- scripts/feeds | 10 +++++----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 77660bb8d..8b0ef0d57 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 3c6c05064..4176c31f3 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"; } } } -- 2.35.1