hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
################################################################################
#
# rk_oem
#
################################################################################
 
ifeq ($(BR2_PACKAGE_RK_OEM), y)
RK_OEM_SITE_METHOD = local
RK_OEM_IMAGE_OUTPUT = $(BASE_DIR)/images/oem.img
RK_OEM_FAKEROOT_SCRIPT = oem_fakeroot.fs
RK_OEM_FILESYSTEM_TYPE = $(BR2_PACKAGE_RK_OEM_IMAGE_FILESYSTEM_TYPE)
RK_OEM_PARTITION_SIZE = $(BR2_PACKAGE_RK_OEM_IMAGE_PARTITION_SIZE)
RK_OEM_UBI_PAGE_SIZE = $(BR2_TARGET_ROOTFS_UBI_SUBSIZE)
RK_OEM_UBI_BLOCK_SIZE = $(BR2_TARGET_ROOTFS_UBI_PEBSIZE)
 
ifeq ($(RK_OEM_FILESYSTEM_TYPE),"")
RK_OEM_FILESYSTEM_TYPE = ext4
endif
 
ifeq ($(BR2_PACKAGE_RK_OEM_RESOURCE_DIR),"")
RK_OEM_SITE = $(TOPDIR)/package/rockchip/rk_oem/src
 
define RK_OEM_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 $(@D)/S98_lunch_init \
       $(TARGET_DIR)/etc/init.d/S98_lunch_init
endef
 
else
RK_OEM_SITE = $(BR2_PACKAGE_RK_OEM_RESOURCE_DIR)
endif
 
RK_OEM_REDIRECT_DBUS4OEM_CONF = package/rockchip/rk_oem/redirect_dbus4oem.conf
RK_OEM_INSTALL_TARGET_DIR = $(BR2_PACKAGE_RK_OEM_INSTALL_TARGET_DIR)
 
define RK_OEM_INSTALL_TARGET_CMDS
   mkdir -p $(TARGET_DIR)/usr/share/dbus-1/system.d
   $(INSTALL) -D -m 0644 $(RK_OEM_REDIRECT_DBUS4OEM_CONF) \
       $(TARGET_DIR)/usr/share/dbus-1/system.d
   mkdir -p $(RK_OEM_INSTALL_TARGET_DIR)
   cp -rfp $(@D)/* $(RK_OEM_INSTALL_TARGET_DIR) | true
   rm -fv $(RK_OEM_INSTALL_TARGET_DIR)/rk_oem.tar
   rm -f $(RK_OEM_INSTALL_TARGET_DIR)/$(RK_OEM_FAKEROOT_SCRIPT)
endef
 
define RK_OEM_TARGET_POST_CLEAN_HOOK_CMDS
   rm -rf $(RK_OEM_INSTALL_TARGET_DIR)/usr/include $(RK_OEM_INSTALL_TARGET_DIR)/usr/share/aclocal \
       $(RK_OEM_INSTALL_TARGET_DIR)/usr/lib/pkgconfig $(RK_OEM_INSTALL_TARGET_DIR)/usr/share/pkgconfig \
       $(RK_OEM_INSTALL_TARGET_DIR)/usr/lib/cmake $(RK_OEM_INSTALL_TARGET_DIR)/usr/share/cmake
   find $(RK_OEM_INSTALL_TARGET_DIR)/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f
   find $(RK_OEM_INSTALL_TARGET_DIR)/lib/ $(RK_OEM_INSTALL_TARGET_DIR)/usr/lib/ $(RK_OEM_INSTALL_TARGET_DIR)/usr/libexec/ \
       \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f
endef
 
define RK_OEM_TARGET_POST_MKIMAGE_HOOK_CMDS
   echo "#!/bin/sh" > $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
   echo "set -e" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
   echo "export TARGET_OUTPUT_DIR=$(BASE_DIR)" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
   echo "[ -d $(RK_OEM_INSTALL_TARGET_DIR)/www ] && chown -R www-data:www-data $(RK_OEM_INSTALL_TARGET_DIR)/www" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
   echo "[ -d $(RK_OEM_INSTALL_TARGET_DIR)/usr/www ] && chown -R www-data:www-data $(RK_OEM_INSTALL_TARGET_DIR)/usr/www" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
   echo "mkdir -p $$(dirname $(RK_OEM_IMAGE_OUTPUT))" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
   if [ $(RK_OEM_FILESYSTEM_TYPE) = "ubi" ];then \
       echo "$(TOPDIR)/../device/rockchip/common/mk-image.sh $(RK_OEM_INSTALL_TARGET_DIR) $(RK_OEM_IMAGE_OUTPUT) $(RK_OEM_FILESYSTEM_TYPE) $(RK_OEM_PARTITION_SIZE) oem $(RK_OEM_UBI_PAGE_SIZE) $(RK_OEM_UBI_BLOCK_SIZE)" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT); \
   else \
       echo "$(TOPDIR)/../device/rockchip/common/mk-image.sh $(RK_OEM_INSTALL_TARGET_DIR) $(RK_OEM_IMAGE_OUTPUT) $(RK_OEM_FILESYSTEM_TYPE) $(RK_OEM_PARTITION_SIZE) oem" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT); \
   fi
   chmod a+x $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
endef
 
define RK_OEM_TARGET_FINALIZE_STRIP_HOOK_CMDS
   find $(RK_OEM_INSTALL_TARGET_DIR) -type f \( -perm /111 -o -name '*.so*' \) \
       -not \( -name 'libpthread*.so*' -o -name 'ld-*.so*' -o -name '*.ko' \) -print0 | \
       xargs -0 $(STRIPCMD) 2>/dev/null || true
   touch $(TARGET_DIR)/.auto_mkfs # format userdata partition default if mount error.
endef
 
ifneq ($(BR2_ENABLE_DEBUG),y)
ifneq ($(BR2_PACKAGE_RK_OEM_ENABLE_DEBUG),y)
RK_OEM_TARGET_FINALIZE_HOOKS += RK_OEM_TARGET_FINALIZE_STRIP_HOOK_CMDS
endif
endif
RK_OEM_POST_INSTALL_TARGET_HOOKS += RK_OEM_TARGET_POST_CLEAN_HOOK_CMDS
 
ifneq ($(RK_OEM_FILESYSTEM_TYPE),"NONE")
RK_OEM_POST_INSTALL_TARGET_HOOKS += RK_OEM_TARGET_POST_MKIMAGE_HOOK_CMDS
 
define RK_OEM_TARGET_FINALIZE_MKIMAGE_HOOK_CMDS
   $(HOST_DIR)/bin/fakeroot -- $(BUILD_DIR)/rk_oem/$(RK_OEM_FAKEROOT_SCRIPT)
endef
RK_OEM_TARGET_FINALIZE_HOOKS += RK_OEM_TARGET_FINALIZE_MKIMAGE_HOOK_CMDS
endif
 
endif
 
$(eval $(generic-package))