diff options
| -rw-r--r-- | Makefile | 3 | ||||
| -rwxr-xr-x | scripts/feeds.sh | 59 | 
2 files changed, 62 insertions, 0 deletions
| @@ -181,6 +181,9 @@ distclean: dirclean config-clean  help:  	cat README +symlinks: +	scripts/feeds.sh https://svn.openwrt.org/openwrt/packages +  .SILENT: clean dirclean distclean config-clean download world  FORCE: ;  .PHONY: FORCE help diff --git a/scripts/feeds.sh b/scripts/feeds.sh new file mode 100755 index 000000000..341259bf4 --- /dev/null +++ b/scripts/feeds.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# Usage : $1 -> source feeds +# 	  $2 -> other options +# +# Note : we do not yet resolve package name conflicts +# +# +FEEDS_DIR=$TOPDIR/feeds +PACKAGE_DIR=$TOPDIR/package + +cd $TOPDIR +# This directory will be structured this way : feeds/feed-name +[ -d $FEEDS_DIR ] || mkdir -p $FEEDS_DIR + + +# Some functions we might call several times a run +delete_symlinks() { +	find $PACKAGE_DIR -type l | xargs rm -f +} + +setup_symlinks() { +	# We assume that feeds do reproduce the hierarchy : section/package +	for dir in $(ls $FEEDS_DIR/) +	do +		ln -s $FEEDS_DIR/$dir/*/* $PACKAGE_DIR/ +	done +} + +checkout_feed() { +	# We ensure the feed has not already been checkout, if so, just update the source feed +	if [ -d $FEEDS_DIR/$2 ]; then +		svn update $FEEDS_DIR/$2 +		echo "Updated to revision $(LANG=C svn info $FEEDS_DIR/$2 | awk '/^Revision:/ { print $2 }' )"; +	# Otherwise, we have to checkout in the  +	else +		svn co $1 $FEEDS_DIR/$2 +		echo "Checked out revision $(LANG=C svn info $FEEDS_DIR/$2 | awk '/^Revision:/ { print $2 }' )"; +	fi +} + +extract_feed_name() { +	echo "$(echo $1 | awk -F/ '{ print $NF}')" +} + +# We can delete symlinks every time we start this script, since modifications have been made anyway +delete_symlinks "" +# Now let's checkout feeds +for feed in $1 +do +	name=$(extract_feed_name "$feed") +	checkout_feed "$feed" "$name" +done +# Finally setup symlinks +setup_symlinks "" | 
