build: FeedSourcesAppend add kmod feed to snapshot
authorPaul Spooren <mail@aparcar.org>
Tue, 15 Sep 2020 22:33:46 +0000 (12:33 -1000)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 30 Oct 2020 00:39:09 +0000 (00:39 +0000)
Nightly snapshot builds of OpenWrt change their kernels versions
frequently and lose thereby compatibility to kmods from the upstream
target specific packages feed.

To allow opkg to install packages over multiple days a kmod archive is
offered at $target/$subtarget/kmods/$kernelversion and added as a feed
to created snapshot images via a buildbot step[1].

Instead of using a buildstep add the kmod feed directly via
FeedSourcesAppend to be included in the ImageBuilder repositories.conf
as well. This is conditionally only done for SNAPSHOT builds and when
running as BUILDBOT. Releases are unaffected as they don't include
kernel version changes and local builds may use different kernel
versions or magics than available upstream.

This commit allows in a future step to ship ImageBuilders without a
locally stored kmod archive.

[1]: https://git.openwrt.org/?p=buildbot.git;a=blob;f=phase1/master.cfg;h=3ba7a1606e89b095b10555e703ea96e93295deec;hb=HEAD#l1025

Signed-off-by: Paul Spooren <mail@aparcar.org>
include/feeds.mk

index 9637424c5bc249257342cadcb36cdc18113f453e..2b259b96b3eb62b0876a961c03993a668aa75874 100644 (file)
@@ -36,6 +36,8 @@ define FeedSourcesAppend
   echo 'src/gz %d_core %U/targets/%S/packages'; \
   $(strip $(if $(CONFIG_PER_FEED_REPO), \
        echo 'src/gz %d_base %U/packages/%A/base'; \
   echo 'src/gz %d_core %U/targets/%S/packages'; \
   $(strip $(if $(CONFIG_PER_FEED_REPO), \
        echo 'src/gz %d_base %U/packages/%A/base'; \
+       $(if $(filter %SNAPSHOT-y,$(VERSION_NUMBER)-$(CONFIG_BUILDBOT)), \
+               echo 'src/gz %d_kmods %U/targets/%S/kmods/$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)';) \
        $(foreach feed,$(FEEDS_AVAILABLE), \
                $(if $(CONFIG_FEED_$(feed)), \
                        echo '$(if $(filter m,$(CONFIG_FEED_$(feed))),# )src/gz %d_$(feed) %U/packages/%A/$(feed)';)))) \
        $(foreach feed,$(FEEDS_AVAILABLE), \
                $(if $(CONFIG_FEED_$(feed)), \
                        echo '$(if $(filter m,$(CONFIG_FEED_$(feed))),# )src/gz %d_$(feed) %U/packages/%A/$(feed)';)))) \