* [ptxdist] [PATCH] doc/ref_make_variables: document <PKG>_PARTS
@ 2025-01-22 17:28 Roland Hieber
2025-01-27 8:35 ` [ptxdist] [APPLIED] " Michael Olbrich
0 siblings, 1 reply; 2+ messages in thread
From: Roland Hieber @ 2025-01-22 17:28 UTC (permalink / raw)
To: ptxdist; +Cc: Roland Hieber
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
doc/ref_make_variables.rst | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/doc/ref_make_variables.rst b/doc/ref_make_variables.rst
index 25af5528fe85..69bac79bf474 100644
--- a/doc/ref_make_variables.rst
+++ b/doc/ref_make_variables.rst
@@ -323,6 +323,44 @@ of the corresponding target package if it exists.
In theory ``<PKG>_STRIP_LEVEL`` could be set to 2 or more to remove more
than one directory level.
+``<PKG>_PARTS``
+ Sometimes more than one source archive needs to be downloaded to build a
+ single package, e.g. when the project's main source archive comes from a Git
+ repository export, which doesn't include Git submodules. In this case,
+ ``<PKG>_PARTS`` can be set to refer to multiple prefixes of
+ variable names, usually of the form ``<PKG>_<SUBPART>``, which PTXdist's
+ default *get* and *extract* stages will use to resolve additional
+ ``*_VERSION``, ``*_URL``, ``*_MD5`` variables etc. to download and extract
+ multiple source archives.
+
+ For example:
+
+ .. code:: make
+
+ FOO_VERSION := 1.0
+ FOO_MD5 := a38714a1713bfd436564d643e169879e
+ FOO := foo-$(FOO_VERSION)
+ FOO_URL := https://some-server/path/to/$(FOO).tar.gz
+ FOO_SOURCE := $(SRCDIR)/$(FOO).$(FOO_SUFFIX)
+ FOO_DIR := $(BUILDDIR)/$(FOO)
+
+ FOO_SUBPART_MD5 := a38714a1713bfd436564d643e169879e
+ FOO_SUBPART := subpart-0.9.1
+ FOO_SUBPART_URL := https://some-server/path/to/$(FOO_SUBPART).tar.gz
+ FOO_SUBPART_SOURCE := $(SRCDIR)/$(FOO_SUBPART).tar.gz
+ FOO_SUBPART_DIR := $(BUILDDIR)/$(FOO)/subpart
+
+ FOO_PARTS := FOO FOO_SUBPART
+
+ In this example, the *foo.get* stage will download *foo-1.0.tar.gz* and
+ *subpart-0.9.1.tar.gz*.
+ The *foo.extract* stage will first extract *foo-1.0.tar.gz* into its build
+ dir at ``$(BUILDDIR)/$(FOO)`` as usual, and then extract
+ *subpart-0.9.1.tar.gz* into the subfolder ``$(BUILDDIR)/$(FOO)/subpart``.
+
+ ``<PKG>_<SUBPART>_STRIP_LEVEL``, ``<PKG>_<SUBPART>_LICENSE`` and
+ ``<PKG>_<SUBPART>_LICENSE_FILES`` can be used adequately.
+
``<PKG>_BUILD_OOT``
If this is set to ``YES`` then PTXdist will build the package out of
tree. This is only supported for autoconf, qmake and cmake packages. The
--
2.39.5
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ptxdist] [APPLIED] doc/ref_make_variables: document <PKG>_PARTS
2025-01-22 17:28 [ptxdist] [PATCH] doc/ref_make_variables: document <PKG>_PARTS Roland Hieber
@ 2025-01-27 8:35 ` Michael Olbrich
0 siblings, 0 replies; 2+ messages in thread
From: Michael Olbrich @ 2025-01-27 8:35 UTC (permalink / raw)
To: ptxdist; +Cc: Roland Hieber
Thanks, applied as 870378a22bb3ed1bbfaf99cba7c1330abc1784fa.
Michael
[sent from post-receive hook]
On Mon, 27 Jan 2025 09:35:09 +0100, Roland Hieber <rhi@pengutronix.de> wrote:
> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> Message-Id: <20250122172807.3576211-1-rhi@pengutronix.de>
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
>
> diff --git a/doc/ref_make_variables.rst b/doc/ref_make_variables.rst
> index 20c98995f6e5..358701aab9e2 100644
> --- a/doc/ref_make_variables.rst
> +++ b/doc/ref_make_variables.rst
> @@ -283,6 +283,44 @@ of the corresponding target package if it exists.
> In theory ``<PKG>_STRIP_LEVEL`` could be set to 2 or more to remove more
> than one directory level.
>
> +``<PKG>_PARTS``
> + Sometimes more than one source archive needs to be downloaded to build a
> + single package, e.g. when the project's main source archive comes from a Git
> + repository export, which doesn't include Git submodules. In this case,
> + ``<PKG>_PARTS`` can be set to refer to multiple prefixes of
> + variable names, usually of the form ``<PKG>_<SUBPART>``, which PTXdist's
> + default *get* and *extract* stages will use to resolve additional
> + ``*_VERSION``, ``*_URL``, ``*_MD5`` variables etc. to download and extract
> + multiple source archives.
> +
> + For example:
> +
> + .. code:: make
> +
> + FOO_VERSION := 1.0
> + FOO_MD5 := a38714a1713bfd436564d643e169879e
> + FOO := foo-$(FOO_VERSION)
> + FOO_URL := https://some-server/path/to/$(FOO).tar.gz
> + FOO_SOURCE := $(SRCDIR)/$(FOO).$(FOO_SUFFIX)
> + FOO_DIR := $(BUILDDIR)/$(FOO)
> +
> + FOO_SUBPART_MD5 := a38714a1713bfd436564d643e169879e
> + FOO_SUBPART := subpart-0.9.1
> + FOO_SUBPART_URL := https://some-server/path/to/$(FOO_SUBPART).tar.gz
> + FOO_SUBPART_SOURCE := $(SRCDIR)/$(FOO_SUBPART).tar.gz
> + FOO_SUBPART_DIR := $(BUILDDIR)/$(FOO)/subpart
> +
> + FOO_PARTS := FOO FOO_SUBPART
> +
> + In this example, the *foo.get* stage will download *foo-1.0.tar.gz* and
> + *subpart-0.9.1.tar.gz*.
> + The *foo.extract* stage will first extract *foo-1.0.tar.gz* into its build
> + dir at ``$(BUILDDIR)/$(FOO)`` as usual, and then extract
> + *subpart-0.9.1.tar.gz* into the subfolder ``$(BUILDDIR)/$(FOO)/subpart``.
> +
> + ``<PKG>_<SUBPART>_STRIP_LEVEL``, ``<PKG>_<SUBPART>_LICENSE`` and
> + ``<PKG>_<SUBPART>_LICENSE_FILES`` can be used adequately.
> +
> ``<PKG>_BUILD_OOT``
> If this is set to ``YES`` then PTXdist will build the package out of
> tree. This is only supported for autoconf, qmake and cmake packages. The
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-01-27 8:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-22 17:28 [ptxdist] [PATCH] doc/ref_make_variables: document <PKG>_PARTS Roland Hieber
2025-01-27 8:35 ` [ptxdist] [APPLIED] " Michael Olbrich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox