소스 검색

package/hwdata: install to staging

hwdata provides a .pc file, which other packages can look up to find the
location where hwdata files are, and use them at build time.

This is the case for the upcoming libdisplay-info package, which
requires the hwdata's PNP IDs at build time.

However, installing the .pc file is not enough. Indeed, meson (which
libdisplay-info uses) will look for the corresponding data files in
datadir, which it locates relative to the sysroot, which is our staging.

So, we also need to install the hwdata files in staging.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Bernd Kuhls 2 년 전
부모
커밋
f36c57728a
1개의 변경된 파일16개의 추가작업 그리고 0개의 파일을 삭제
  1. 16 0
      package/hwdata/hwdata.mk

+ 16 - 0
package/hwdata/hwdata.mk

@@ -8,6 +8,7 @@ HWDATA_VERSION = 0.371
 HWDATA_SITE = $(call github,vcrhonek,hwdata,v$(HWDATA_VERSION))
 HWDATA_LICENSE = GPL-2.0+, BSD-3-Clause, XFree86 1.0
 HWDATA_LICENSE_FILES = COPYING LICENSE
+HWDATA_INSTALL_STAGING = YES
 
 HWDATA_FILES = \
 	$(if $(BR2_PACKAGE_HWDATA_IAB_OUI_TXT),iab.txt oui.txt) \
@@ -15,7 +16,22 @@ HWDATA_FILES = \
 	$(if $(BR2_PACKAGE_HWDATA_PNP_IDS),pnp.ids) \
 	$(if $(BR2_PACKAGE_HWDATA_USB_IDS),usb.ids)
 
+define HWDATA_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure)
+endef
+
+define HWDATA_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) hwdata.pc
+endef
+
 ifneq ($(strip $(HWDATA_FILES)),)
+define HWDATA_INSTALL_STAGING_CMDS
+	$(INSTALL) -D -m 0644 $(@D)/hwdata.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/hwdata.pc
+	$(INSTALL) -d -m 755 $(STAGING_DIR)/usr/share/hwdata
+	$(INSTALL) -m 644 -t $(STAGING_DIR)/usr/share/hwdata \
+		$(addprefix $(@D)/,$(HWDATA_FILES))
+endef
 define HWDATA_INSTALL_TARGET_CMDS
 	$(INSTALL) -d -m 755 $(TARGET_DIR)/usr/share/hwdata
 	$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/share/hwdata \