aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2016-01-24 15:36:05 +0000
committerJo-Philipp Wich <jow@openwrt.org>2016-01-24 15:36:05 +0000
commit0333da8943275324d366d562b70f90febbe97e7d (patch)
treed01138f8aa9c91cccbf8e85e4fe0f4bb27d602d4
parent96afb90f3f96c15cd4bfd6a050538292074cf9da (diff)
downloadupstream-0333da8943275324d366d562b70f90febbe97e7d.tar.gz
upstream-0333da8943275324d366d562b70f90febbe97e7d.tar.bz2
upstream-0333da8943275324d366d562b70f90febbe97e7d.zip
include: group kmod ipk files into a "kernel" subdirectory
This is useful to just use the kmods from an official build while supplying base packages from a custom feed or the other way around; for just overriding the kmods with a local repo while using official repos for the rest. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 48475
-rw-r--r--include/feeds.mk6
-rw-r--r--include/kernel.mk1
-rw-r--r--include/package-defaults.mk1
-rw-r--r--include/package-dumpinfo.mk2
-rw-r--r--include/toplevel.mk4
-rw-r--r--package/Makefile4
-rwxr-xr-xscripts/metadata.pl10
-rw-r--r--scripts/metadata.pm2
8 files changed, 16 insertions, 14 deletions
diff --git a/include/feeds.mk b/include/feeds.mk
index b1a8f81da9..4f71b39940 100644
--- a/include/feeds.mk
+++ b/include/feeds.mk
@@ -5,7 +5,7 @@
# See /LICENSE for more information.
#
--include $(TMP_DIR)/.packagefeeds
+-include $(TMP_DIR)/.packagesubdirs
FEEDS_AVAILABLE:=$(shell $(SCRIPT_DIR)/feeds list -n)
FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*))
@@ -21,7 +21,7 @@ PKG_CONFIG_DEPENDS += \
# 1: package name
define FeedPackageDir
$(strip $(if $(CONFIG_PER_FEED_REPO), \
- $(abspath $(PACKAGE_DIR)/$(if $(Package/$(1)/feed),$(Package/$(1)/feed),base)), \
+ $(abspath $(PACKAGE_DIR)/$(if $(Package/$(1)/subdir),$(Package/$(1)/subdir),base)), \
$(PACKAGE_DIR)))
endef
@@ -29,7 +29,7 @@ endef
define FeedSourcesAppend
( \
$(strip $(if $(CONFIG_PER_FEED_REPO), \
- $(foreach feed,base $(FEEDS_ENABLED),echo "src/gz %n_$(feed) %U/$(feed)";) \
+ $(foreach feed,base kernel $(FEEDS_ENABLED),echo "src/gz %n_$(feed) %U/$(feed)";) \
$(if $(CONFIG_PER_FEED_REPO_ADD_DISABLED), \
$(foreach feed,$(FEEDS_DISABLED),echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %n_$(feed) %U/$(feed)";)) \
, \
diff --git a/include/kernel.mk b/include/kernel.mk
index 57185c5fd3..3fa9b89c20 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -155,6 +155,7 @@ define KernelPackage
DESCRIPTION:=$(DESCRIPTION)
EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC))
VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE))
+ PACKAGE_SUBDIR:=kernel
$(call KernelPackage/$(1))
$(call KernelPackage/$(1)/$(BOARD))
endef
diff --git a/include/package-defaults.mk b/include/package-defaults.mk
index 2896b4c783..09efaa39b8 100644
--- a/include/package-defaults.mk
+++ b/include/package-defaults.mk
@@ -17,6 +17,7 @@ define Package/Default
CONFIGFILE:=
SECTION:=opt
CATEGORY:=Extra packages
+ PACKAGE_SUBDIR:=$(FEED)
DEPENDS:=
MDEPENDS:=
CONFLICTS:=
diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk
index 5bc931e6ab..666e9635bb 100644
--- a/include/package-dumpinfo.mk
+++ b/include/package-dumpinfo.mk
@@ -51,7 +51,7 @@ $(if $(PKG_LICENSE),License: $(PKG_LICENSE)
$(if $(KCONFIG),Kernel-Config: $(KCONFIG)
)$(if $(BUILDONLY),Build-Only: $(BUILDONLY)
)$(if $(HIDDEN),Hidden: $(HIDDEN)
-)$(if $(FEED),Feed: $(FEED)
+)$(if $(PACKAGE_SUBDIR),Package-Subdir: $(PACKAGE_SUBDIR)
)Description: $(if $(Package/$(1)/description),$(Package/$(1)/description),$(TITLE))
$(if $(URL),$(URL)
)$(MAINTAINER)
diff --git a/include/toplevel.mk b/include/toplevel.mk
index d13a37013c..0cba07c6e6 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -84,9 +84,9 @@ prepare-tmpinfo: FORCE
f=tmp/.$${type}info; t=tmp/.config-$${type}.in; \
[ "$$t" -nt "$$f" ] || ./scripts/metadata.pl $(_ignore) $${type}_config "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \
done
- [ tmp/.config-feeds.in -nt tmp/.packagefeeds ] || ./scripts/feeds feed_config > tmp/.config-feeds.in
+ [ tmp/.config-feeds.in -nt tmp/.packagesubdirs ] || ./scripts/feeds feed_config > tmp/.config-feeds.in
./scripts/metadata.pl package_mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; }
- ./scripts/metadata.pl package_feeds tmp/.packageinfo > tmp/.packagefeeds || { rm -f tmp/.packagefeeds; false; }
+ ./scripts/metadata.pl package_subdirs tmp/.packageinfo > tmp/.packagesubdirs || { rm -f tmp/.packagesubdirs; false; }
touch $(TOPDIR)/tmp/.build
.config: ./scripts/config/conf $(if $(CONFIG_HAVE_DOT_CONFIG),,prepare-tmpinfo)
diff --git a/package/Makefile b/package/Makefile
index aa5d522516..12bd0ae0c2 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -137,9 +137,9 @@ endif
PACKAGE_SUBDIRS=.
ifneq ($(CONFIG_PER_FEED_REPO),)
ifneq ($(CONFIG_PER_FEED_REPO_ADD_DISABLED),)
- PACKAGE_SUBDIRS=base $(FEEDS_AVAILABLE)
+ PACKAGE_SUBDIRS=base kernel $(FEEDS_AVAILABLE)
else
- PACKAGE_SUBDIRS=base $(FEEDS_ENABLED)
+ PACKAGE_SUBDIRS=base kernel $(FEEDS_ENABLED)
endif
endif
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 48b1b7a960..99fdba1c81 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -833,12 +833,12 @@ sub gen_package_source() {
}
}
-sub gen_package_feeds() {
+sub gen_package_subdirs() {
parse_package_metadata($ARGV[0]) or exit 1;
foreach my $name (sort {uc($a) cmp uc($b)} keys %package) {
my $pkg = $package{$name};
- if ($pkg->{name} && $pkg->{feed}) {
- print "Package/$name/feed = $pkg->{feed}\n";
+ if ($pkg->{name} && $pkg->{package_subdir}) {
+ print "Package/$name/subdir = $pkg->{package_subdir}\n";
}
}
}
@@ -880,7 +880,7 @@ sub parse_command() {
/^package_config$/ and return gen_package_config();
/^kconfig/ and return gen_kconfig_overrides();
/^package_source$/ and return gen_package_source();
- /^package_feeds$/ and return gen_package_feeds();
+ /^package_subdirs$/ and return gen_package_subdirs();
/^package_license$/ and return gen_package_license(0);
/^package_licensefull$/ and return gen_package_license(1);
/^version_filter$/ and return gen_version_filtered_list();
@@ -892,7 +892,7 @@ Available Commands:
$0 package_config [file] Package metadata in Kconfig format
$0 kconfig [file] [config] [patchver] Kernel config overrides
$0 package_source [file] Package source file information
- $0 package_feeds [file] Package feed information in makefile format
+ $0 package_subdirs [file] Package subdir information in makefile format
$0 package_license [file] Package license information
$0 package_licensefull [file] Package license information (full list)
$0 version_filter [patchver] [list...] Filter list of version tagged strings
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index 0ed3524e81..8e285e53a8 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -222,7 +222,7 @@ sub parse_package_metadata($) {
/^Build-Depends: \s*(.+)\s*$/ and $pkg->{builddepends} = [ split /\s+/, $1 ];
/^Build-Depends\/(\w+): \s*(.+)\s*$/ and $pkg->{"builddepends/$1"} = [ split /\s+/, $2 ];
/^Build-Types:\s*(.+)\s*$/ and $pkg->{buildtypes} = [ split /\s+/, $1 ];
- /^Feed:\s*(.+?)\s*$/ and $pkg->{feed} = $1;
+ /^Package-Subdir:\s*(.+?)\s*$/ and $pkg->{package_subdir} = $1;
/^Category: \s*(.+)\s*$/ and do {
$pkg->{category} = $1;
defined $category{$1} or $category{$1} = {};