From: Ralph Hempel Date: Thu, 20 Mar 2008 17:08:24 +0000 (+0000) Subject: fix package/symlinks target, will call scripts/feeds update / install introduce new... X-Git-Tag: v19.07.0-rc1~37560 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=585997f8d2cb0c080a9f9d6f158dcefe55f9ad12;p=openwrt%2Fstaging%2Fhauke.git 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) SVN-Revision: 10634 --- 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"; } } }