From 818ec707353e8acbdd7f1cd3ebae7e29cda11b27 Mon Sep 17 00:00:00 2001 From: LEAN-ESX Date: Sat, 19 Oct 2019 08:38:13 -0700 Subject: [PATCH 1/6] luci-app-ssr-plus: fix v2ray HTTP/2 url import and subscribe --- package/lean/luci-app-ssr-plus/Makefile | 2 +- .../luasrc/model/cbi/shadowsocksr/client-config.lua | 8 ++++---- .../luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm | 4 +++- .../root/usr/share/shadowsocksr/subscribe.sh | 4 ++++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index 801c07b8f1..99bdcde6cd 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus PKG_VERSION:=1 -PKG_RELEASE:=118 +PKG_RELEASE:=119 PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua index 9157079f6b..5b7dc7fe32 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua @@ -210,17 +210,17 @@ o:depends("type", "v2ray") -- TCP伪装 o = s:option(ListValue, "tcp_guise", translate("Camouflage Type")) o:depends("transport", "tcp") -o:value("none", translate("None")) o:value("http", "HTTP") +o:value("none", translate("None")) o.rmempty = true -- HTTP域名 -o = s:option(DynamicList, "http_host", translate("HTTP Host")) +o = s:option(Value, "http_host", translate("HTTP Host")) o:depends("tcp_guise", "http") o.rmempty = true -- HTTP路径 -o = s:option(DynamicList, "http_path", translate("HTTP Path")) +o = s:option(Value, "http_path", translate("HTTP Path")) o:depends("tcp_guise", "http") o.rmempty = true @@ -239,7 +239,7 @@ o.rmempty = true -- [[ H2部分 ]]-- -- H2域名 -o = s:option(DynamicList, "h2_host", translate("HTTP/2 Host")) +o = s:option(Value, "h2_host", translate("HTTP/2 Host")) o:depends("transport", "h2") o.rmempty = true diff --git a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm index 9e3ad39fc9..639ef70271 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm +++ b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm @@ -135,7 +135,7 @@ document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = b64decsafe(ssm[6]); document.getElementById('cbid.shadowsocksr.' + sid + '.obfs_param').value = dictvalue(pdict, 'obfsparam'); document.getElementById('cbid.shadowsocksr.' + sid + '.protocol_param').value = dictvalue(pdict, 'protoparam'); - + var rem = pdict['remarks']; if (typeof (rem) != 'undefined' && rem != '' && rem.length > 0) document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = b64decutf8safe(rem); @@ -188,6 +188,8 @@ document.getElementById('cbid.shadowsocksr.' + sid + '.vmess_id').value = ssm.id; document.getElementById('cbid.shadowsocksr.' + sid + '.security').value = ssm.type; document.getElementById('cbid.shadowsocksr.' + sid + '.transport').value = ssm.net; + document.getElementById('cbid.shadowsocksr.' + sid + '.http_host').value = ssm.host; + document.getElementById('cbid.shadowsocksr.' + sid + '.http_path').value = ssm.path; s.innerHTML = "导入V2ray配置信息成功"; return false; diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh index 56bc6735cc..c777d93f4b 100755 --- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh @@ -47,6 +47,8 @@ Server_Update() { ${uci_set}tcp_guise="$ssr_tcp_guise" ${uci_set}ws_host="$ssr_ws_host" ${uci_set}ws_path="$ssr_ws_path" + ${uci_set}h2_host="$ssr_h2_host" + ${uci_set}h2_path="$ssr_h2_path" ${uci_set}tls="$ssr_tls" ${uci_set}security="auto" ${uci_set}alias="$ssr_remarks" @@ -192,6 +194,8 @@ do ssr_tcp_guise="none" json_get_var ssr_ws_host host json_get_var ssr_ws_path path + json_get_var ssr_h2_host host + json_get_var ssr_h2_path path json_get_var ssr_tls tls if [ "$ssr_tls" == "tls" -o "$ssr_tls" == "1" ]; then ssr_tls="1" From bc3c38692407c9c8d1dd3c6aeaab5493e54d719e Mon Sep 17 00:00:00 2001 From: LEAN-ESX Date: Sat, 19 Oct 2019 09:03:38 -0700 Subject: [PATCH 2/6] luci-app-ssr-plus: v2ray security mode by subscribe --- package/lean/luci-app-ssr-plus/Makefile | 2 +- .../root/usr/share/shadowsocksr/subscribe.sh | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index 99bdcde6cd..c4861adc25 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus PKG_VERSION:=1 -PKG_RELEASE:=119 +PKG_RELEASE:=120 PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh index c777d93f4b..c4fe9f3280 100755 --- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh @@ -50,7 +50,7 @@ Server_Update() { ${uci_set}h2_host="$ssr_h2_host" ${uci_set}h2_path="$ssr_h2_path" ${uci_set}tls="$ssr_tls" - ${uci_set}security="auto" + ${uci_set}security=$ssr_security ${uci_set}alias="$ssr_remarks" fi @@ -188,7 +188,10 @@ do json_get_var ssr_port port json_get_var ssr_alter_id aid json_get_var ssr_vmess_id id - json_get_var ssr_security type + json_get_var ssr_security security + if [ "$ssr_security" == "" ]; then + ssr_security="auto" + fi json_get_var ssr_transport net json_get_var ssr_remarks ps ssr_tcp_guise="none" From d4ecf90f6766db77d8b2f06d0dbf080ef78e57a2 Mon Sep 17 00:00:00 2001 From: LEAN-ESX Date: Sat, 19 Oct 2019 09:23:20 -0700 Subject: [PATCH 3/6] mbedtls: enable x86 32bit SSE2 support (Atom N270 etc.) --- package/libs/mbedtls/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile index f03ae71d0c..84068339d2 100644 --- a/package/libs/mbedtls/Makefile +++ b/package/libs/mbedtls/Makefile @@ -48,9 +48,9 @@ define Package/libmbedtls/config config LIBMBEDTLS_HAVE_SSE2 depends on PACKAGE_libmbedtls bool - default y if x86_64 + default y if !TARGET_x86_legacy && !TARGET_x86_geode prompt "Enable use of x86 SSE2 instructions" - depends on x86_64 + depends on OPENSSL_WITH_ASM && x86_64 || i386 help Use of SSE2 instructions greatly increase performance (up to 3x faster) with a minimum (~0.2%, or 23KB) increase in package From ed8c0532b4612f8a6e36cb9dc759e4dfa6f6afd1 Mon Sep 17 00:00:00 2001 From: LEAN-ESX Date: Sat, 19 Oct 2019 09:24:38 -0700 Subject: [PATCH 4/6] mbedtls: enable x86 32bit SSE2 support (Atom N270 etc.) --- package/libs/mbedtls/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile index 84068339d2..9126c16a1d 100644 --- a/package/libs/mbedtls/Makefile +++ b/package/libs/mbedtls/Makefile @@ -50,7 +50,7 @@ config LIBMBEDTLS_HAVE_SSE2 bool default y if !TARGET_x86_legacy && !TARGET_x86_geode prompt "Enable use of x86 SSE2 instructions" - depends on OPENSSL_WITH_ASM && x86_64 || i386 + depends on x86_64 || i386 help Use of SSE2 instructions greatly increase performance (up to 3x faster) with a minimum (~0.2%, or 23KB) increase in package From bf749afd2cfcdf800870fed21cdac8b13b3bf774 Mon Sep 17 00:00:00 2001 From: LEAN-ESX Date: Sat, 19 Oct 2019 09:27:14 -0700 Subject: [PATCH 5/6] luci-app-mwan3helper: remove gov.cn for list --- package/lean/luci-app-mwan3helper/Makefile | 2 +- package/lean/luci-app-mwan3helper/root/etc/mwan3helper/gfw.txt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/package/lean/luci-app-mwan3helper/Makefile b/package/lean/luci-app-mwan3helper/Makefile index cd14c00376..38dedff054 100644 --- a/package/lean/luci-app-mwan3helper/Makefile +++ b/package/lean/luci-app-mwan3helper/Makefile @@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for MWAN3 Helper LUCI_DEPENDS:=+luci-app-mwan3 +pdnsd-alt +dnsmasq-full +ipset LUCI_PKGARCH:=all PKG_VERSION:=1 -PKG_RELEASE:=2 +PKG_RELEASE:=3 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/package/lean/luci-app-mwan3helper/root/etc/mwan3helper/gfw.txt b/package/lean/luci-app-mwan3helper/root/etc/mwan3helper/gfw.txt index 64b256dc75..073d0aa7a3 100644 --- a/package/lean/luci-app-mwan3helper/root/etc/mwan3helper/gfw.txt +++ b/package/lean/luci-app-mwan3helper/root/etc/mwan3helper/gfw.txt @@ -1863,7 +1863,6 @@ gotdns.ch gotgeeks.com gotrusted.com gotw.ca -gov.cn gov.taipei gov.tw gr8domain.biz From 4e08c225cad1c8aaebb46d730ac9ca8822ea1f8f Mon Sep 17 00:00:00 2001 From: LEAN-ESX Date: Sat, 19 Oct 2019 11:35:16 -0700 Subject: [PATCH 6/6] build: allow overriding default selection state for devices --- include/image.mk | 167 ++++++++++++++++++++++++++---- scripts/metadata.pm | 4 +- scripts/target-metadata.pl | 2 +- target/linux/rb532/image/Makefile | 1 + 4 files changed, 150 insertions(+), 24 deletions(-) diff --git a/include/image.mk b/include/image.mk index f0d3379bbc..3e6c9adc66 100644 --- a/include/image.mk +++ b/include/image.mk @@ -42,6 +42,8 @@ IMG_PREFIX_VERNUM:=$(if $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NU IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call sanitize,$(VERSION_CODE))-) IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) +IMG_ROOTFS:=$(IMG_PREFIX)-rootfs +IMG_COMBINED:=$(IMG_PREFIX)-combined MKFS_DEVTABLE_OPT := -D $(INCLUDE_DIR)/device_table.txt @@ -104,7 +106,7 @@ define add_jffs2_mark echo -ne '\xde\xad\xc0\xde' >> $(1) endef -PROFILE_SANITIZED := $(call sanitize,$(PROFILE)) +PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE)))) define split_args $(foreach data, \ @@ -152,6 +154,43 @@ ifdef CONFIG_TARGET_IMAGES_GZIP endef endif + +# Disable noisy checks by default as in upstream +ifeq ($(strip $(call kernel_patchver_ge,4.7.0)),1) + DTC_FLAGS += -Wno-unit_address_vs_reg +endif +ifeq ($(strip $(call kernel_patchver_ge,4.12.0)),1) + DTC_FLAGS += \ + -Wno-unit_address_vs_reg \ + -Wno-simple_bus_reg \ + -Wno-unit_address_format \ + -Wno-pci_bridge \ + -Wno-pci_device_bus_num \ + -Wno-pci_device_reg +endif +ifeq ($(strip $(call kernel_patchver_ge,4.17.0)),1) + DTC_FLAGS += \ + -Wno-avoid_unnecessary_addr_size \ + -Wno-alias_paths +endif +ifeq ($(strip $(call kernel_patchver_ge,4.18.0)),1) + DTC_FLAGS += \ + -Wno-graph_child_address \ + -Wno-graph_port \ + -Wno-unique_unit_address +endif + +define Image/pad-to + dd if=$(1) of=$(1).new bs=$(2) conv=sync + mv $(1).new $(1) +endef + +ROOTFS_PARTSIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024))) + +define Image/pad-root-squashfs + $(call Image/pad-to,$(KDIR)/root.squashfs,$(if $(1),$(1),$(ROOTFS_PARTSIZE))) +endef + # $(1) source dts file # $(2) target dtb file # $(3) extra CPP flags @@ -164,7 +203,7 @@ define Image/BuildDTB -undef -D__DTS__ $(3) \ -o $(2).tmp $(1) $(LINUX_DIR)/scripts/dtc/dtc -O dtb \ - -i$(dir $(1)) $(4) \ + -i$(dir $(1)) $(DTC_FLAGS) $(4) \ -o $(2) $(2).tmp $(RM) $(2).tmp endef @@ -203,8 +242,7 @@ define Image/mkfs/squashfs $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \ -nopad -noappend -root-owned \ -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) \ - -processors 16 \ - $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH)) + -processors 1 endef # $(1): board name @@ -248,11 +286,9 @@ define Image/mkfs/ubifs -o $@ -d $(call mkfs_target_dir,$(1)) endef -E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024))) - define Image/mkfs/ext4 $(STAGING_DIR_HOST)/bin/make_ext4fs \ - -l $(E2SIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \ + -l $(ROOTFS_PARTSIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \ $(if $(CONFIG_TARGET_EXT4_RESERVED_PCT),-m $(CONFIG_TARGET_EXT4_RESERVED_PCT)) \ $(if $(CONFIG_TARGET_EXT4_JOURNAL),,-J) \ $(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \ @@ -264,9 +300,26 @@ define Image/Manifest $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest endef +define Image/gzip-ext4-padded-squashfs + + define Image/Build/squashfs + $(call Image/pad-root-squashfs) + endef + + ifneq ($(CONFIG_TARGET_IMAGES_GZIP),) + define Image/Build/gzip/ext4 + $(call Image/Build/gzip,ext4) + endef + define Image/Build/gzip/squashfs + $(call Image/Build/gzip,squashfs) + endef + endif + +endef + ifdef CONFIG_TARGET_ROOTFS_TARGZ define Image/Build/targz - $(TAR) -cp --numeric-owner --owner=0 --group=0 --sort=name \ + $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \ $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz endef @@ -274,13 +327,13 @@ endif ifdef CONFIG_TARGET_ROOTFS_CPIOGZ define Image/Build/cpiogz - ( cd $(TARGET_DIR); find . | cpio -o -H newc -R root:root | gzip -9n >$(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz ) + ( cd $(TARGET_DIR); find . | cpio -o -H newc -R root:root | gzip -9n >$(BIN_DIR)/$(IMG_ROOTFS).cpio.gz ) endef endif mkfs_packages = $(filter-out @%,$(PACKAGES_$(call param_get,pkg,pkg=$(target_params)))) -mkfs_packages_add = $(filter-out -%,$(mkfs_packages)) -mkfs_packages_remove = $(patsubst -%,%,$(filter -%,$(mkfs_packages))) +mkfs_packages_add = $(foreach pkg,$(filter-out -%,$(mkfs_packages)),$(pkg)$(call GetABISuffix,$(pkg))) +mkfs_packages_remove = $(foreach pkg,$(patsubst -%,%,$(filter -%,$(mkfs_packages))),$(pkg)$(call GetABISuffix,$(pkg))) mkfs_cur_target_dir = $(call mkfs_target_dir,pkg=$(target_params)) opkg_target = \ @@ -308,7 +361,22 @@ $(KDIR)/root.%: kernel_prepare define Device/InitProfile PROFILES := $(PROFILE) - DEVICE_TITLE := + DEVICE_TITLE = $$(DEVICE_VENDOR) $$(DEVICE_MODEL)$$(if $$(DEVICE_VARIANT), $$(DEVICE_VARIANT)) + DEVICE_ALT0_TITLE = $$(DEVICE_ALT0_VENDOR) $$(DEVICE_ALT0_MODEL)$$(if $$(DEVICE_ALT0_VARIANT), $$(DEVICE_ALT0_VARIANT)) + DEVICE_ALT1_TITLE = $$(DEVICE_ALT1_VENDOR) $$(DEVICE_ALT1_MODEL)$$(if $$(DEVICE_ALT1_VARIANT), $$(DEVICE_ALT1_VARIANT)) + DEVICE_ALT2_TITLE = $$(DEVICE_ALT2_VENDOR) $$(DEVICE_ALT2_MODEL)$$(if $$(DEVICE_ALT2_VARIANT), $$(DEVICE_ALT2_VARIANT)) + DEVICE_VENDOR := + DEVICE_MODEL := + DEVICE_VARIANT := + DEVICE_ALT0_VENDOR := + DEVICE_ALT0_MODEL := + DEVICE_ALT0_VARIANT := + DEVICE_ALT1_VENDOR := + DEVICE_ALT1_MODEL := + DEVICE_ALT1_VARIANT := + DEVICE_ALT2_VENDOR := + DEVICE_ALT2_MODEL := + DEVICE_ALT2_VARIANT := DEVICE_PACKAGES := DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE) endef @@ -358,15 +426,22 @@ define Device/Init IMAGE_METADATA := FILESYSTEMS := $(TARGET_FILESYSTEMS) + + UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-$(1) + + DEFAULT := endef DEFAULT_DEVICE_VARS := \ - DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_SIZE KERNEL_INITRAMFS_IMAGE \ - KERNEL_LOADADDR DEVICE_DTS DEVICE_DTS_CONFIG DEVICE_DTS_DIR BOARD_NAME \ - CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI \ - BLOCKSIZE PAGESIZE SUBPAGESIZE VID_HDR_OFFSET \ - UBINIZE_OPTS UIMAGE_NAME UBINIZE_PARTS \ - SUPPORTED_DEVICES IMAGE_METADATA + DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_INITRAMFS_IMAGE KERNEL_SIZE \ + CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI BLOCKSIZE PAGESIZE SUBPAGESIZE \ + VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \ + DEVICE_DTS_CONFIG DEVICE_DTS_DIR BOARD_NAME UIMAGE_NAME SUPPORTED_DEVICES \ + IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR UBOOT_PATH DEVICE_VENDOR \ + DEVICE_MODEL DEVICE_VARIANT \ + DEVICE_ALT0_VENDOR DEVICE_ALT0_MODEL DEVICE_ALT0_VARIANT \ + DEVICE_ALT1_VENDOR DEVICE_ALT1_MODEL DEVICE_ALT1_VARIANT \ + DEVICE_ALT2_VENDOR DEVICE_ALT2_MODEL DEVICE_ALT2_VARIANT define Device/ExportVar $(1) : $(2):=$$($(2)) @@ -496,11 +571,37 @@ define Device/Build/image $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)) cp $$^ $$@ - + $(if $(CONFIG_JSON_ADD_IMAGE_INFO), \ + DEVICE_ID="$(DEVICE_NAME)" \ + BIN_DIR="$(BIN_DIR)" \ + IMAGE_NAME="$(IMAGE_NAME)" \ + IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \ + IMAGE_PREFIX="$(IMAGE_PREFIX)" \ + DEVICE_VENDOR="$(DEVICE_VENDOR)" \ + DEVICE_MODEL="$(DEVICE_MODEL)" \ + DEVICE_VARIANT="$(DEVICE_VARIANT)" \ + DEVICE_ALT0_VENDOR="$(DEVICE_ALT0_VENDOR)" \ + DEVICE_ALT0_MODEL="$(DEVICE_ALT0_MODEL)" \ + DEVICE_ALT0_VARIANT="$(DEVICE_ALT0_VARIANT)" \ + DEVICE_ALT1_VENDOR="$(DEVICE_ALT1_VENDOR)" \ + DEVICE_ALT1_MODEL="$(DEVICE_ALT1_MODEL)" \ + DEVICE_ALT1_VARIANT="$(DEVICE_ALT1_VARIANT)" \ + DEVICE_ALT2_VENDOR="$(DEVICE_ALT2_VENDOR)" \ + DEVICE_ALT2_MODEL="$(DEVICE_ALT2_MODEL)" \ + DEVICE_ALT2_VARIANT="$(DEVICE_ALT2_VARIANT)" \ + DEVICE_TITLE="$(DEVICE_TITLE)" \ + TARGET="$(BOARD)" \ + SUBTARGET="$(SUBTARGET)" \ + VERSION_NUMBER="$(VERSION_NUMBER)" \ + VERSION_CODE="$(VERSION_CODE)" \ + SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \ + $(TOPDIR)/scripts/json_add_image_info.py \ + ) endef define Device/Build/artifact $$(_TARGET): $(BIN_DIR)/$(IMAGE_PREFIX)-$(1) + $(eval $(call Device/Export,$(KDIR)/tmp/$(IMAGE_PREFIX)-$(1))) $(KDIR)/tmp/$(IMAGE_PREFIX)-$(1): $$(KDIR_KERNEL_IMAGE) @rm -f $$@ $$(call concat_cmd,$(ARTIFACT/$(1))) @@ -513,6 +614,8 @@ define Device/Build/artifact endef define Device/Build + $(shell rm -f $(BIN_DIR)/$(IMG_PREFIX)-$(1).json) + $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1))) $(call Device/Build/kernel,$(1)) @@ -530,15 +633,35 @@ endef define Device/DumpInfo Target-Profile: DEVICE_$(1) -Target-Profile-Name: $(DEVICE_TITLE) +Target-Profile-Name: $(DEVICE_DISPLAY) Target-Profile-Packages: $(DEVICE_PACKAGES) +Target-Profile-hasImageMetadata: $(if $(foreach image,$(IMAGES),$(findstring append-metadata,$(IMAGE/$(image)))),1,0) +Target-Profile-SupportedDevices: $(SUPPORTED_DEVICES) +$(if $(DEFAULT),Target-Profile-Default: $(DEFAULT)) Target-Profile-Description: $(DEVICE_DESCRIPTION) +$(if $(strip $(DEVICE_ALT0_TITLE)),Alternative device titles: +- $(DEVICE_ALT0_TITLE)) +$(if $(strip $(DEVICE_ALT1_TITLE)),- $(DEVICE_ALT1_TITLE)) +$(if $(strip $(DEVICE_ALT2_TITLE)),- $(DEVICE_ALT2_TITLE)) @@ endef define Device/Dump +ifneq ($$(strip $$(DEVICE_ALT0_TITLE)),) +DEVICE_DISPLAY = $$(DEVICE_ALT0_TITLE) ($$(DEVICE_TITLE)) +$$(info $$(call Device/DumpInfo,$(1))) +endif +ifneq ($$(strip $$(DEVICE_ALT1_TITLE)),) +DEVICE_DISPLAY = $$(DEVICE_ALT1_TITLE) ($$(DEVICE_TITLE)) +$$(info $$(call Device/DumpInfo,$(1))) +endif +ifneq ($$(strip $$(DEVICE_ALT2_TITLE)),) +DEVICE_DISPLAY = $$(DEVICE_ALT2_TITLE) ($$(DEVICE_TITLE)) +$$(info $$(call Device/DumpInfo,$(1))) +endif +DEVICE_DISPLAY = $$(DEVICE_TITLE) $$(eval $$(if $$(DEVICE_TITLE),$$(info $$(call Device/DumpInfo,$(1))))) endef @@ -581,7 +704,7 @@ define BuildImage $(call Image/Prepare) legacy-images-prepare-make: image_prepare - $(MAKE) legacy-images-prepare + $(MAKE) legacy-images-prepare BIN_DIR="$(BIN_DIR)" else image_prepare: @@ -605,7 +728,7 @@ define BuildImage legacy-images-make: install-images $(call Image/mkfs/ubifs/legacy) - $(MAKE) legacy-images + $(MAKE) legacy-images BIN_DIR="$(BIN_DIR)" install: install-images $(call Image/Manifest) diff --git a/scripts/metadata.pm b/scripts/metadata.pm index 4a5464edc0..8ca963e757 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -140,7 +140,8 @@ sub parse_target_metadata($) { id => $1, name => $1, priority => 999, - packages => [] + packages => [], + default => "y if TARGET_ALL_PROFILES" }; $1 =~ /^DEVICE_/ and $target->{has_devices} = 1; push @{$target->{profiles}}, $profile; @@ -152,6 +153,7 @@ sub parse_target_metadata($) { }; /^Target-Profile-Packages:\s*(.*)\s*$/ and $profile->{packages} = [ split(/\s+/, $1) ]; /^Target-Profile-Description:\s*(.*)\s*/ and $profile->{desc} = get_multiline(*FILE); + /^Target-Profile-Default:\s*(.+)\s*$/ and $profile->{default} = $1; } close FILE; foreach my $target (@target) { diff --git a/scripts/target-metadata.pl b/scripts/target-metadata.pl index 47f489567c..b4613a75d0 100755 --- a/scripts/target-metadata.pl +++ b/scripts/target-metadata.pl @@ -292,7 +292,7 @@ EOF menuconfig TARGET_DEVICE_$target->{conf}_$profile->{id} bool "$profile->{name}" depends on TARGET_$target->{conf} - default y if TARGET_ALL_PROFILES + default $profile->{default} EOF my @pkglist = merge_package_lists($target->{packages}, $profile->{packages}); foreach my $pkg (@pkglist) { diff --git a/target/linux/rb532/image/Makefile b/target/linux/rb532/image/Makefile index 12265fe2c6..195bb78a81 100644 --- a/target/linux/rb532/image/Makefile +++ b/target/linux/rb532/image/Makefile @@ -39,6 +39,7 @@ define Device/nand CMDLINE := ubi.mtd=1 ubi.block=0,rootfs root=/dev/ubiblock0_1 BOARD_NAME := rb532 SUPPORTED_DEVICES := rb532 + DEVICE_TITLE := rb532 NAND KERNEL_INITRAMFS := append-kernel | patch-cmdline | lzma | lzma-loader-elf KERNEL := $$(KERNEL_INITRAMFS) | kernel2minor -s 2048 -i 0 -c IMAGES := sysupgrade.bin