sdk: add spidev-test to the bundle of userspace sources
authorChristian Lamparter <chunkeey@gmail.com>
Fri, 15 Jul 2022 23:34:44 +0000 (01:34 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sun, 17 Jul 2022 12:19:21 +0000 (14:19 +0200)
moves and extends the current facilities, which have been
added some time ago for the the usbip utility, to support
more utilites that are shipped with the Linux kernel tree
to the SDK.

this allows to drop all the hand-waving and code for
failed previous attempts to mitigate the SDK build failures.

Fixes: bdaaf66e28bd ("utils/spidev_test: build package directly from Linux")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
package/utils/spidev_test/Makefile
target/sdk/Makefile

index a756b3633b2c37fa6ba72e9ced099b0ccf04114b..fef5c8f6467a2f3b81f7b6d8f667f1d39e666426 100644 (file)
@@ -10,7 +10,6 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=spidev-test
 PKG_RELEASE:=$(LINUX_VERSION)
-PKG_FLAGS:=nonshared
 PKG_BUILD_DIR:=$(LINUX_DIR)/tools/spi-$(TARGET_DIR_NAME)
 PKG_BUILD_PARALLEL:=1
 
@@ -19,7 +18,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/spidev-test
   SECTION:=utils
   CATEGORY:=Utilities
-  DEPENDS:=+PACKAGE_kmod-spi-dev:kmod-spi-dev @!IN_SDK
+  DEPENDS:=+kmod-spi-dev
   TITLE:=SPI testing utility
   VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
   URL:=http://www.kernel.org
@@ -30,6 +29,8 @@ define Package/spidev-test/description
 endef
 
 define Build/Prepare
+       # For SDK: Sources are copied by target/sdk/Makefile's
+       # USERSPACE_UTILS(_FILES)
        $(CP) $(LINUX_DIR)/tools/spi/* $(PKG_BUILD_DIR)/
 endef
 
index 0606621192c7508fc7a470eff0173dc62ff70ded..be7e1ebf5198bde3b0dcf844884747aef59bc91f 100644 (file)
@@ -82,6 +82,18 @@ KERNEL_FILES_BASE := \
 
 KERNEL_FILES := $(patsubst $(TOPDIR)/%,%,$(wildcard $(addprefix $(LINUX_DIR)/,$(KERNEL_FILES_BASE))))
 
+# The kernel source hosts various userspace utilities sources.
+# These are packaged separately from the kernel and kernel modules.
+# The source has to be included here to be buildable by the SDK.
+#
+USERSPACE_UTILS_FILES := \
+       tools/build \
+       tools/scripts \
+       tools/usb/usbip \
+       tools/spi
+
+USERSPACE_FILES := $(patsubst $(TOPDIR)/%,%,$(wildcard $(addprefix $(LINUX_DIR)/,$(USERSPACE_UTILS_FILES))))
+
 all: compile
 
 $(BIN_DIR)/$(SDK_NAME).tar.xz: clean
@@ -100,8 +112,7 @@ $(BIN_DIR)/$(SDK_NAME).tar.xz: clean
                $(SDK_DIRS) $(KERNEL_FILES) | \
                $(TAR) -xf - -C $(SDK_BUILD_DIR)
 
-       # Copy usbip sources, this is required for the usbip userspace packages to be buildable by the SDK.
-       $(TAR) -cf - -C $(TOPDIR) $(KDIR_BASE)/tools/usb/usbip/ | \
+       $(TAR) -cf - -C $(TOPDIR) $(USERSPACE_FILES) | \
                $(TAR) -xf - -C $(SDK_BUILD_DIR)
 
        (cd $(SDK_BUILD_DIR); find $(STAGING_SUBDIR_HOST)/bin $(STAGING_SUBDIR_HOST)/usr/bin \