|
@@ -96,7 +96,7 @@ endef
|
|
|
# $(1): upper-case package or filesystem name
|
|
|
define json-info
|
|
|
"$($(1)_NAME)": {
|
|
|
- "type": "$($(1)_TYPE)",
|
|
|
+ "type": $(call mk-json-str,$($(1)_TYPE)),
|
|
|
$(if $(filter rootfs,$($(1)_TYPE)), \
|
|
|
$(call _json-info-fs,$(1)), \
|
|
|
$(call _json-info-pkg,$(1)), \
|
|
@@ -107,47 +107,59 @@ endef
|
|
|
# _json-info-pkg, _json-info-pkg-details, _json-info-fs: private helpers
|
|
|
# for json-info, above
|
|
|
define _json-info-pkg
|
|
|
- "name": "$($(1)_RAWNAME)",
|
|
|
+ "name": $(call mk-json-str,$($(1)_RAWNAME)),
|
|
|
$(if $($(1)_IS_VIRTUAL), \
|
|
|
"virtual": true$(comma),
|
|
|
"virtual": false$(comma)
|
|
|
$(call _json-info-pkg-details,$(1)) \
|
|
|
)
|
|
|
- "build_dir": "$(patsubst $(CONFIG_DIR)/%,%,$($(1)_BUILDDIR))",
|
|
|
+ "build_dir": $(call mk-json-str,$(patsubst $(CONFIG_DIR)/%,%,$($(1)_BUILDDIR))),
|
|
|
$(if $(filter target,$($(1)_TYPE)), \
|
|
|
"install_target": $(call yesno-to-bool,$($(1)_INSTALL_TARGET))$(comma) \
|
|
|
"install_staging": $(call yesno-to-bool,$($(1)_INSTALL_STAGING))$(comma) \
|
|
|
"install_images": $(call yesno-to-bool,$($(1)_INSTALL_IMAGES))$(comma) \
|
|
|
)
|
|
|
"dependencies": [
|
|
|
- $(call make-dq-comma-list,$(sort $($(1)_FINAL_ALL_DEPENDENCIES)))
|
|
|
+ $(call make-comma-list, \
|
|
|
+ $(foreach dep,$(sort $($(1)_FINAL_ALL_DEPENDENCIES)), \
|
|
|
+ $(call mk-json-str,$(dep)) \
|
|
|
+ ) \
|
|
|
+ )
|
|
|
],
|
|
|
"reverse_dependencies": [
|
|
|
- $(call make-dq-comma-list,$(sort $($(1)_RDEPENDENCIES)))
|
|
|
+ $(call make-comma-list, \
|
|
|
+ $(foreach dep,$(sort $($(1)_RDEPENDENCIES)), \
|
|
|
+ $(call mk-json-str,$(dep)) \
|
|
|
+ ) \
|
|
|
+ )
|
|
|
]
|
|
|
$(if $($(1)_CPE_ID_VALID), \
|
|
|
- $(comma) "cpe-id": "$($(1)_CPE_ID)" \
|
|
|
+ $(comma) "cpe-id": $(call mk-json-str,$($(1)_CPE_ID)) \
|
|
|
)
|
|
|
$(if $($(1)_IGNORE_CVES),
|
|
|
$(comma) "ignore_cves": [
|
|
|
- $(call make-dq-comma-list,$(sort $($(1)_IGNORE_CVES)))
|
|
|
+ $(call make-comma-list, \
|
|
|
+ $(foreach cve,$(sort $($(1)_IGNORE_CVES)), \
|
|
|
+ $(call mk-json-str,$(cve)) \
|
|
|
+ ) \
|
|
|
+ )
|
|
|
]
|
|
|
)
|
|
|
endef
|
|
|
|
|
|
define _json-info-pkg-details
|
|
|
- "version": "$($(1)_DL_VERSION)",
|
|
|
- "licenses": "$($(1)_LICENSE)",
|
|
|
- "dl_dir": "$($(1)_DL_SUBDIR)",
|
|
|
+ "version": $(call mk-json-str,$($(1)_DL_VERSION)),
|
|
|
+ "licenses": $(call mk-json-str,$($(1)_LICENSE)),
|
|
|
+ "dl_dir": $(call mk-json-str,$($(1)_DL_SUBDIR)),
|
|
|
"downloads": [
|
|
|
$(foreach dl,$(sort $($(1)_ALL_DOWNLOADS)),
|
|
|
{
|
|
|
- "source": "$(notdir $(dl))",
|
|
|
+ "source": $(call mk-json-str,$(notdir $(dl))),
|
|
|
"uris": [
|
|
|
- $(call make-dq-comma-list,
|
|
|
- $(subst \|,|,
|
|
|
- $(call DOWNLOAD_URIS,$(dl),$(1))
|
|
|
- )
|
|
|
+ $(call make-comma-list, \
|
|
|
+ $(foreach uri,$(call DOWNLOAD_URIS,$(dl),$(1)), \
|
|
|
+ $(call mk-json-str,$(subst \|,|,$(uri))) \
|
|
|
+ ) \
|
|
|
)
|
|
|
]
|
|
|
},
|
|
@@ -157,11 +169,15 @@ endef
|
|
|
|
|
|
define _json-info-fs
|
|
|
"image_name": $(if $($(1)_FINAL_IMAGE_NAME), \
|
|
|
- "$($(1)_FINAL_IMAGE_NAME)", \
|
|
|
+ $(call mk-json-str,$($(1)_FINAL_IMAGE_NAME)), \
|
|
|
null \
|
|
|
),
|
|
|
"dependencies": [
|
|
|
- $(call make-dq-comma-list,$(sort $($(1)_DEPENDENCIES)))
|
|
|
+ $(call make-comma-list, \
|
|
|
+ $(foreach dep,$(sort $($(1)_DEPENDENCIES)), \
|
|
|
+ $(call mk-json-str,$(dep)) \
|
|
|
+ ) \
|
|
|
+ )
|
|
|
]
|
|
|
endef
|
|
|
|
|
@@ -171,9 +187,8 @@ endef
|
|
|
clean-json = $(strip \
|
|
|
$(subst $(comma)},}, $(subst $(comma)$(space)},$(space)}, \
|
|
|
$(subst $(comma)],], $(subst $(comma)$(space)],$(space)], \
|
|
|
- $(subst \,\\, \
|
|
|
$(strip $(1)) \
|
|
|
- ))))) \
|
|
|
+ )))) \
|
|
|
)
|
|
|
|
|
|
# mk-json-str -- escape and double-quote a string to make it a valid json string
|