mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH v3 1/2] initramfs-tools: Restore package
@ 2018-07-11 13:17 jon
  2018-07-11 13:17 ` [ptxdist] [PATCH v3 2/2] image-root-tgz: Add IMAGE_ROOT_TGZ_LABEL option jon
  0 siblings, 1 reply; 2+ messages in thread
From: jon @ 2018-07-11 13:17 UTC (permalink / raw)
  To: ptxdist; +Cc: Jon Ringle

From: Jon Ringle <jringle@gridpoint.com>

This was removed in 4e8ea1703cad595f3136f0d48ae93de73a180c40
However, initramfs-tools is still being used to install scripts provided by
this package.

Signed-off-by: Jon Ringle <jringle@gridpoint.com>
---
 rules/initmethod.in        |   5 +++
 rules/initramfs-tools.in   |  67 ++++++++++++++++++++++++++++
 rules/initramfs-tools.make | 109 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 181 insertions(+)
 create mode 100644 rules/initramfs-tools.in
 create mode 100644 rules/initramfs-tools.make

diff --git a/rules/initmethod.in b/rules/initmethod.in
index c1ef054..b8c0b9f 100644
--- a/rules/initmethod.in
+++ b/rules/initmethod.in
@@ -26,6 +26,11 @@ choice
 		select SYSTEMD
 		prompt "systemd         "
 
+	config INITMETHOD_INITRAMFS
+		bool
+		select INITRAMFS_TOOLS
+		prompt "initramfs init  "
+ 
 endchoice
 
 source "generated/initmethod.in"
diff --git a/rules/initramfs-tools.in b/rules/initramfs-tools.in
new file mode 100644
index 0000000..03446f5
--- /dev/null
+++ b/rules/initramfs-tools.in
@@ -0,0 +1,67 @@
+## SECTION=initmethod
+
+if INITMETHOD_INITRAMFS || ALLYES
+
+menuconfig INITRAMFS_TOOLS
+	bool
+	prompt "initramfs-tools                 "
+	help
+	  Install initramfs skeleton framework
+
+if INITRAMFS_TOOLS
+
+config INITRAMFS_TOOLS_SCRIPTS_INIT_TOP
+	bool "install /scripts/init-top/      "
+	default y
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_INIT_PREMOUNT
+	bool "install /scripts/init-premount/ "
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_INIT_BOTTOM
+	bool "install /scripts/init-bottom/   "
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_LOCAL_TOP
+	bool "install /scripts/local-top/     "
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_LOCAL_BLOCK
+	bool "install /scripts/local-block/   "
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_LOCAL_PREMOUNT
+	bool "install /scripts/local-premount/"
+	default y
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_LOCAL_BOTTOM
+	bool "install /scripts/local-bottom/  "
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_NFS_TOP
+	bool "install /scripts/nfs-top/       "
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_NFS_PREMOUNT
+	bool "install /scripts/nfs-premount/  "
+	help
+	  FIXME
+
+config INITRAMFS_TOOLS_SCRIPTS_NFS_BOTTOM
+	bool "install /scripts/nfs-bottom/    "
+	help
+	  FIXME
+
+endif
+
+endif
diff --git a/rules/initramfs-tools.make b/rules/initramfs-tools.make
new file mode 100644
index 0000000..3513ff5
--- /dev/null
+++ b/rules/initramfs-tools.make
@@ -0,0 +1,109 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2009 by Jon Ringle <jon@ringle.org>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_INITRAMFS_TOOLS) += initramfs-tools
+
+#
+# Paths and names
+#
+INITRAMFS_TOOLS_VERSION	:= 0.130
+INITRAMFS_TOOLS_MD5	:= f219c0277766104005419ee35151c5d4
+INITRAMFS_TOOLS_SUFFIX	:= tar.gz
+INITRAMFS_TOOLS		:= initramfs-tools-v$(INITRAMFS_TOOLS_VERSION)
+INITRAMFS_TOOLS_TARBALL	:= $(INITRAMFS_TOOLS).$(INITRAMFS_TOOLS_SUFFIX)
+INITRAMFS_TOOLS_URL	:= https://salsa.debian.org/kernel-team/initramfs-tools/-/archive/v$(INITRAMFS_TOOLS_VERSION)/$(INITRAMFS_TOOLS_TARBALL)
+INITRAMFS_TOOLS_SOURCE	:= $(SRCDIR)/$(INITRAMFS_TOOLS_TARBALL)
+INITRAMFS_TOOLS_DIR	:= $(BUILDDIR)/$(INITRAMFS_TOOLS)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/initramfs-tools.prepare:
+	@$(call targetinfo)
+	@echo "DPKG_ARCH=$(call remove_quotes, $(PTXCONF_ARCH_STRING))" > $(INITRAMFS_TOOLS_DIR)/conf/arch.conf
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/initramfs-tools.compile:
+	@$(call targetinfo)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/initramfs-tools.install:
+	@$(call targetinfo)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/initramfs-tools.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, initramfs-tools)
+	@$(call install_fixup, initramfs-tools,PRIORITY,optional)
+	@$(call install_fixup, initramfs-tools,SECTION,base)
+	@$(call install_fixup, initramfs-tools,AUTHOR,"Jon Ringle <jon@ringle.org>")
+	@$(call install_fixup, initramfs-tools,DESCRIPTION,missing)
+
+	@$(call install_alternative, initramfs-tools, 0, 0, 0755, /init)
+	@$(call install_alternative, initramfs-tools, 0, 0, 0755, /conf/initramfs.conf)
+	@$(call install_alternative, initramfs-tools, 0, 0, 0755, /conf/arch.conf)
+	@$(call install_alternative, initramfs-tools, 0, 0, 0755, /scripts/functions)
+	@$(call install_alternative, initramfs-tools, 0, 0, 0755, /scripts/local)
+	@$(call install_alternative, initramfs-tools, 0, 0, 0755, /scripts/nfs)
+
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_INIT_TOP
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/init-top/);
+endif
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_INIT_PREMOUNT
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/init-premount/);
+endif
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_INIT_BOTTOM
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/init-bottom/);
+endif
+
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_LOCAL_TOP
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/local-top/);
+endif
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_LOCAL_BLOCK
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/local-block/);
+endif
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_LOCAL_PREMOUNT
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/local-premount/);
+endif
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_LOCAL_BOTTOM
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/local-bottom/);
+endif
+
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_NFS_TOP
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/nfs-top/);
+endif
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_NFS_PREMOUNT
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/nfs-premount/);
+endif
+ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_NFS_BOTTOM
+	$(call install_alternative_tree, initramfs-tools, 0, 0, /scripts/nfs-bottom/);
+endif
+
+	@$(call install_finish, initramfs-tools)
+	@$(call touch)
+
+# vim: syntax=make
-- 
1.9.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [ptxdist] [PATCH v3 2/2] image-root-tgz: Add IMAGE_ROOT_TGZ_LABEL option
  2018-07-11 13:17 [ptxdist] [PATCH v3 1/2] initramfs-tools: Restore package jon
@ 2018-07-11 13:17 ` jon
  0 siblings, 0 replies; 2+ messages in thread
From: jon @ 2018-07-11 13:17 UTC (permalink / raw)
  To: ptxdist; +Cc: Jon Ringle

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-07-11 13:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-11 13:17 [ptxdist] [PATCH v3 1/2] initramfs-tools: Restore package jon
2018-07-11 13:17 ` [ptxdist] [PATCH v3 2/2] image-root-tgz: Add IMAGE_ROOT_TGZ_LABEL option jon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox