mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
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

      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