From: jon@ringle.org
To: ptxdist@pengutronix.de
Cc: Jon Ringle <jringle@gridpoint.com>
Subject: [ptxdist] [PATCH v3 2/2] image-root-tgz: Add IMAGE_ROOT_TGZ_LABEL option
Date: Wed, 11 Jul 2018 09:17:39 -0400 [thread overview]
Message-ID: <1531315059-26559-2-git-send-email-jon@ringle.org> (raw)
In-Reply-To: <1531315059-26559-1-git-send-email-jon@ringle.org>
From: Jon Ringle <jringle@gridpoint.com>
Signed-off-by: Jon Ringle <jringle@gridpoint.com>
---
doc/ref_manual.rst | 3 +++
platforms/image-root-tgz.in | 17 +++++++++++++++++
rules/image-root-tgz.make | 1 +
rules/post/ptxd_make_image_common.make | 3 ++-
scripts/lib/ptxd_make_image_archive.sh | 8 ++++++--
scripts/lib/ptxd_make_image_common.sh | 6 ++++++
6 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/doc/ref_manual.rst b/doc/ref_manual.rst
index 63b0a9c..a26e63c 100644
--- a/doc/ref_manual.rst
+++ b/doc/ref_manual.rst
@@ -399,6 +399,9 @@ different.
conflicting files from multiple images. The created nfsroot directory is
``<platform-dir>/nfsroot/<image-name>``.
+``<PKG>_LABEL``
+ This is a tar label to put on an image. This is supported by image-root-tgz.
+
.. _reference_macros:
Rule File Macro Reference
diff --git a/platforms/image-root-tgz.in b/platforms/image-root-tgz.in
index fce1516..9d9916c 100644
--- a/platforms/image-root-tgz.in
+++ b/platforms/image-root-tgz.in
@@ -5,3 +5,20 @@ config IMAGE_ROOT_TGZ
prompt "Generate images/root.tgz"
help
FIXME
+
+if IMAGE_ROOT_TGZ
+
+config IMAGE_ROOT_TGZ_LABEL
+ string
+ prompt "label"
+ default ""
+
+ help
+ This string gets expanded to form the label. An empty string produces no label.
+ For example, this could be set to:
+ ${PTXCONF_PROJECT_VENDOR}-${PTXCONF_PROJECT}${PTXCONF_PROJECT_VERSION}
+
+ The label on the generate image can be checked with the command:
+ $ tar --test-label -f images/root.tgz
+endif
+
diff --git a/rules/image-root-tgz.make b/rules/image-root-tgz.make
index c93e8c9..07a8370 100644
--- a/rules/image-root-tgz.make
+++ b/rules/image-root-tgz.make
@@ -20,6 +20,7 @@ IMAGE_ROOT_TGZ := image-root-tgz
IMAGE_ROOT_TGZ_DIR := $(BUILDDIR)/$(IMAGE_ROOT_TGZ)
IMAGE_ROOT_TGZ_IMAGE := $(IMAGEDIR)/root.tgz
IMAGE_ROOT_TGZ_PKGS = $(PTX_PACKAGES_INSTALL)
+IMAGE_ROOT_TGZ_LABEL := $(call remove_quotes, $(PTXCONF_IMAGE_ROOT_TGZ_LABEL))
# ----------------------------------------------------------------------------
# Image
diff --git a/rules/post/ptxd_make_image_common.make b/rules/post/ptxd_make_image_common.make
index a1a5e78..8aa8c0a 100644
--- a/rules/post/ptxd_make_image_common.make
+++ b/rules/post/ptxd_make_image_common.make
@@ -21,7 +21,8 @@ world/image/env/impl = \
image_env="$(call ptx/escape,$($(1)_ENV))" \
image_pkgs="$(call ptx/escape,$($(1)_PKGS))" \
image_files="$(call ptx/escape,$($(1)_FILES))" \
- image_image="$(call ptx/escape,$($(1)_IMAGE))"
+ image_image="$(call ptx/escape,$($(1)_IMAGE))" \
+ image_label="$(call ptx/escape,$($(1)_LABEL))"
world/image/env = \
$(call world/image/env/impl,$(strip $(1)))
diff --git a/scripts/lib/ptxd_make_image_archive.sh b/scripts/lib/ptxd_make_image_archive.sh
index 650679a..e21da5c 100644
--- a/scripts/lib/ptxd_make_image_archive.sh
+++ b/scripts/lib/ptxd_make_image_archive.sh
@@ -16,8 +16,12 @@ ptxd_make_image_archive_impl() {
ptxd_get_ipkg_files ${image_pkgs} &&
ptxd_make_image_extract_xpkg_files "${pkg_dir}" &&
cd "${pkg_dir}" &&
- echo -e "\nCreating $(ptxd_print_path "${image_image}") ...\n" &&
- tar -zcf "${image_image}" . &&
+ echo -ne "\nCreating $(ptxd_print_path "${image_image}") "
+ if [ -n "${image_label}" ]; then
+ echo -n "with label \"${image_label}\" "
+ fi
+ echo -ne "...\n" &&
+ tar ${image_label_args} -zcf "${image_image}" . &&
rm -r "${pkg_dir}"
}
export -f ptxd_make_image_archive_impl
diff --git a/scripts/lib/ptxd_make_image_common.sh b/scripts/lib/ptxd_make_image_common.sh
index 402ff53..a925446 100644
--- a/scripts/lib/ptxd_make_image_common.sh
+++ b/scripts/lib/ptxd_make_image_common.sh
@@ -66,6 +66,12 @@ ptxd_make_image_init() {
image_ipkg_repo_dirs=( "${image_repo_dist_dir}" )
fi
+ if [ -n "${image_label}" ]; then
+ image_label_args="--label \"${image_label}\""
+ else
+ image_label_args=""
+ fi
+
exec 2>&${PTXDIST_FD_LOGERR}
}
export -f ptxd_make_image_init
--
1.9.1
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
prev parent reply other threads:[~2018-07-11 13:17 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-11 13:17 [ptxdist] [PATCH v3 1/2] initramfs-tools: Restore package jon
2018-07-11 13:17 ` jon [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1531315059-26559-2-git-send-email-jon@ringle.org \
--to=jon@ringle.org \
--cc=jringle@gridpoint.com \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox