Message ID | 20190619201732.24027-1-arnout@mind.be |
---|---|
State | Changes Requested |
Headers | show |
Series | package/pkg-utils.mk: add dl_dir to show-info output | expand |
Arnout, All, On 2019-06-19 22:17 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly: > It can be useful for scripts to be able to access a package's source > file after download. That used to be easy, just DL_DIR/PKG_SOURCE. > However, with the subdirectories in DL_DIR which can be overridden with > PKG_DL_SUBDIR, that is no longer easy. > > Therefore, this patch adds dl_dir to the downloads list of a package. It > can be used with the following jq script to get a newline-separated list > of all downloaded files: Aha! The first extension to show-info! :-) > make show-info | jq -r '.[].downloads[]? | (.dl_dir + "/" + .source)' > > Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> > --- > package/pkg-utils.mk | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk > index b7280e930f..4de0bc042c 100644 > --- a/package/pkg-utils.mk > +++ b/package/pkg-utils.mk > @@ -104,7 +104,8 @@ define _json-info-pkg-details > $(call DOWNLOAD_URIS,$(dl),$(1)) > ) > ) > - ] > + ], > + "dl_dir": "$($(1)_DL_DIR)" This means that the dl_dir key is repeated as-is for all the blobs download by a package. Instead, what about emitting the full path to said blob: diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index b7280e930f..80ad349dac 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -104,7 +104,8 @@ define _json-info-pkg-details $(call DOWNLOAD_URIS,$(dl),$(1)) ) ) - ] + ], + "path": "$($(1)_DL_DIR)/$(notdir $(dl))" }, ) ], Or just dump the dl_dir only once: diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index b7280e930f..bd918e5faa 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -94,6 +94,7 @@ endef define _json-info-pkg-details "version": "$($(1)_DL_VERSION)", "licenses": "$($(1)_LICENSE)", + "dl_dir": "$($(1)_DL_DIR)", "downloads": [ $(foreach dl,$(sort $($ (1)_ALL_DOWNLOADS)), { Regards, Yann E. MORIN. > }, > ) > ], > -- > 2.21.0 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Arnout, All, On 2019-06-19 22:28 +0200, Yann E. MORIN spake thusly: > On 2019-06-19 22:17 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly: > > Therefore, this patch adds dl_dir to the downloads list of a package. It > > can be used with the following jq script to get a newline-separated list > > of all downloaded files: [--SNIP--] > Instead, what about emitting the full path to said blob: > > diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk > index b7280e930f..80ad349dac 100644 > --- a/package/pkg-utils.mk > +++ b/package/pkg-utils.mk > @@ -104,7 +104,8 @@ define _json-info-pkg-details > $(call DOWNLOAD_URIS,$(dl),$(1)) > ) > ) > - ] > + ], > + "path": "$($(1)_DL_DIR)/$(notdir $(dl))" > }, > ) > ], > > Or just dump the dl_dir only once: > > diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk > index b7280e930f..bd918e5faa 100644 > --- a/package/pkg-utils.mk > +++ b/package/pkg-utils.mk > @@ -94,6 +94,7 @@ endef > define _json-info-pkg-details > "version": "$($(1)_DL_VERSION)", > "licenses": "$($(1)_LICENSE)", > + "dl_dir": "$($(1)_DL_DIR)", > "downloads": [ > $(foreach dl,$(sort $($ (1)_ALL_DOWNLOADS)), > { Actually, there is just one thing I don't like about $($(1)_DL_DIR), is that it contains a local information: it starts with BR2_DL_DIR, which is user- and site-specific. Instead, I'd argue we should just print $($(1)_DL_SUBDIR). That way, the generated json blurb can even be distributed, and there is no local information that leaks. Note: even the user name (as present in $(BR2_DL_DIR)) can be a liability in some cases (true story). Regards, Yann E. MORIN.
diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index b7280e930f..4de0bc042c 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -104,7 +104,8 @@ define _json-info-pkg-details $(call DOWNLOAD_URIS,$(dl),$(1)) ) ) - ] + ], + "dl_dir": "$($(1)_DL_DIR)" }, ) ],
It can be useful for scripts to be able to access a package's source file after download. That used to be easy, just DL_DIR/PKG_SOURCE. However, with the subdirectories in DL_DIR which can be overridden with PKG_DL_SUBDIR, that is no longer easy. Therefore, this patch adds dl_dir to the downloads list of a package. It can be used with the following jq script to get a newline-separated list of all downloaded files: make show-info | jq -r '.[].downloads[]? | (.dl_dir + "/" + .source)' Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> --- package/pkg-utils.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)