On Sat, Jul 07, 2018 at 03:22:37AM -0400, j...@ringle.org wrote:
> From: Jon Ringle <jrin...@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 <jrin...@gridpoint.com>
> ---
>  rules/initmethod.in        |  5 +++
>  rules/initramfs-tools.in   | 30 ++++++++++++++
>  rules/initramfs-tools.make | 97 
> ++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 132 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..010b876
> --- /dev/null
> +++ b/rules/initramfs-tools.in
> @@ -0,0 +1,30 @@
> +## 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
> +     bool "install /scripts/init         "
> +     help
> +       FIXME
> +
> +config INITRAMFS_TOOLS_SCRIPTS_LOCAL
> +     bool "install /scripts/local        "
> +     help
> +       FIXME
> +
> +config INITRAMFS_TOOLS_SCRIPTS_NFS
> +     bool "install /scripts/nfs          "
> +     help
> +       FIXME
> +
> +endif
> +
> +endif
> diff --git a/rules/initramfs-tools.make b/rules/initramfs-tools.make
> new file mode 100644
> index 0000000..987333e
> --- /dev/null
> +++ b/rules/initramfs-tools.make
> @@ -0,0 +1,97 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2009 by Jon Ringle <j...@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=$(PTXCONF_ARCH_STRING)" > 
> $(INITRAMFS_TOOLS_DIR)/conf/arch.conf

PTXCONF_ARCH_STRING contains quotes. Either use remove_quotes or don't add
the extra quotes.

> +     @$(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 
> <j...@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)
> +
> +ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_INIT
> +     @cd $(INITRAMFS_TOOLS_DIR) && \
> +             find scripts/init-* -type d | while read dir; do \
> +                     $(call install_alternative_tree, initramfs-tools, 0, 0, 
> /$${dir}$(ptx/nl)); \
> +             done
> +endif
> +
> +ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_LOCAL
> +     @$(call install_alternative, initramfs-tools, 0, 0, 0755, 
> /scripts/local)
> +     @cd $(INITRAMFS_TOOLS_DIR) && \
> +             find scripts/local-* -type d | while read dir; do \
> +                     $(call install_alternative_tree, initramfs-tools, 0, 0, 
> /$${dir}$(ptx/nl)); \
> +             done
> +endif
> +
> +ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_NFS
> +     @$(call install_alternative, initramfs-tools, 0, 0, 0755, /scripts/nfs)
> +     @cd $(INITRAMFS_TOOLS_DIR) && \
> +             find scripts/nfs-* -type d | while read dir; do \
> +                     $(call install_alternative_tree, initramfs-tools, 0, 0, 
> /$${dir}$(ptx/nl)); \
> +             done
> +endif

So, I looked a bit more at what happens here.

I don't like those find loops. The archive only contains init-top and
local-premount so loops don't make sense unless you patch the package. And
in that case *alternative* makes no sense.

Maybe a options for each of those that contains the subsections and
defaults to those that exist in the upstream packacke? "top" for 'init',
"premount" for 'local' and "" for nfs? And then:

        @$(foreach section in $(call 
remove_quotes,$(PTXCONF_INITRAMFS_TOOLS_SCRIPTS_INIT_SECTIONS)),
                $(call install_alternative_tree, ...

or something like that. This way you can add more subdirectories as needed
in the BSP. Or do you add those with extra packages? In that case just
explicitly call install_alternative_tree for init-top and local-premount.

Michael

> +
> +     @$(call install_finish, initramfs-tools)
> +     @$(call touch)
> +
> +# vim: syntax=make
> -- 
> 1.9.1
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to