aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/feeds
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2014-08-05 11:24:24 +0000
committerJo-Philipp Wich <jow@openwrt.org>2014-08-05 11:24:24 +0000
commita720dd209f8b345cdfa5d2432287520389404445 (patch)
treef94fed2f4802eff85078645f20a7f829d55026c1 /scripts/feeds
parent1e6ab23098fd8dc49ba005dc0c477671a5ddb500 (diff)
downloadupstream-a720dd209f8b345cdfa5d2432287520389404445.tar.gz
upstream-a720dd209f8b345cdfa5d2432287520389404445.tar.bz2
upstream-a720dd209f8b345cdfa5d2432287520389404445.zip
build: introduce per feed repository support
This changeset implements a new menuconfig option to generate separate repositories for each enabled package feed instead of one monolithic one. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 42002
Diffstat (limited to 'scripts/feeds')
-rwxr-xr-xscripts/feeds26
1 files changed, 25 insertions, 1 deletions
diff --git a/scripts/feeds b/scripts/feeds
index be07e59613..26c2de0945 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -262,11 +262,17 @@ sub list_feed {
sub list {
my %opts;
- getopts('r:d:sh', \%opts);
+ getopts('r:d:nsh', \%opts);
if ($opts{h}) {
usage();
return 0;
}
+ if ($opts{n}) {
+ foreach my $feed (@feeds) {
+ printf "%s\n", $feed->[1];
+ }
+ return 0;
+ }
if ($opts{s}) {
foreach my $feed (@feeds) {
my $localpath = "./feeds/$feed->[1]";
@@ -598,6 +604,22 @@ sub update {
return 0;
}
+sub feed_config() {
+ foreach my $feed (@feeds) {
+ my $installed = (-f "feeds/$feed->[1].index");
+
+ printf "\tconfig FEED_%s\n", $feed->[1];
+ printf "\t\tbool \"Enable feed %s\"\n", $feed->[1];
+ printf "\t\tdepends on PER_FEED_REPO\n";
+ printf "\t\tdefault y\n" if $installed;
+ printf "\t\thelp\n";
+ printf "\t\t Enable the \\\"%s\\\" feed at %s.\n", $feed->[1], $feed->[2][0];
+ printf "\n";
+ }
+
+ return 0;
+}
+
sub usage() {
print <<EOF;
Usage: $0 <command> [options]
@@ -605,6 +627,7 @@ Usage: $0 <command> [options]
Commands:
list [options]: List feeds, their content and revisions (if installed)
Options:
+ -n : List of feed names.
-s : List of feed names and their URL.
-r <feedname>: List packages of specified feed.
-d <delimiter>: Use specified delimiter to distinguish rows (default: spaces)
@@ -640,6 +663,7 @@ my %commands = (
'install' => \&install,
'search' => \&search,
'uninstall' => \&uninstall,
+ 'feed_config' => \&feed_config,
'clean' => sub {
system("rm -rf feeds");
}