From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 03/24 v2] package/skeleton: respect variables namespace
Date: Sun, 3 Jul 2016 10:15:10 +0200 [thread overview]
Message-ID: <fb92694e-2469-3dcb-326b-e9327fae903e@gmail.com> (raw)
In-Reply-To: <7950eef90e6041159471bdb69b3ea1273671c564.1466622379.git.yann.morin.1998@free.fr>
Hi Yann,
Le 22/06/2016 ? 21:07, Yann E. MORIN a ?crit :
> In makefiles, variables have global scope. We traditionally ensure that
> we get no name clashing by prefixing all variables with the package
> name.
>
> Currently, this is not the case in the skeleton package, for historical
> reasons (code snippets copied over from the common Makefiles). We
> currently have a mix of naming for the variables:
> - some are indeed prefixed with SKELETON_
> - some are prefixed with SYSTEM_
> - some are prefixed with both
> - some are not prefixed
>
> Clean up these discrepancies, and prefix all variables with just
> SKELETON_ and drop the SYSTEM_ prefix.
>
> Also include SET_ in all variables that do set something (getty) for
> consistency across all the variables.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Best regards,
Romain
> ---
> package/skeleton/skeleton.mk | 60 ++++++++++++++++++++++----------------------
> 1 file changed, 30 insertions(+), 30 deletions(-)
>
> diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk
> index 4e3cdc6..3852448 100644
> --- a/package/skeleton/skeleton.mk
> +++ b/package/skeleton/skeleton.mk
> @@ -121,24 +121,24 @@ SKELETON_TARGET_GENERIC_GETTY_TERM = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_TE
> SKELETON_TARGET_GENERIC_GETTY_OPTIONS = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_OPTIONS))
>
> ifneq ($(SKELETON_TARGET_GENERIC_HOSTNAME),)
> -define SYSTEM_HOSTNAME
> +define SKELETON_SET_HOSTNAME
> mkdir -p $(TARGET_DIR)/etc
> echo "$(SKELETON_TARGET_GENERIC_HOSTNAME)" > $(TARGET_DIR)/etc/hostname
> $(SED) '$$a \127.0.1.1\t$(SKELETON_TARGET_GENERIC_HOSTNAME)' \
> -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts
> endef
> -TARGET_FINALIZE_HOOKS += SYSTEM_HOSTNAME
> +TARGET_FINALIZE_HOOKS += SKELETON_SET_HOSTNAME
> endif
>
> ifneq ($(SKELETON_TARGET_GENERIC_ISSUE),)
> -define SYSTEM_ISSUE
> +define SKELETON_SET_ISSUE
> mkdir -p $(TARGET_DIR)/etc
> echo "$(SKELETON_TARGET_GENERIC_ISSUE)" > $(TARGET_DIR)/etc/issue
> endef
> -TARGET_FINALIZE_HOOKS += SYSTEM_ISSUE
> +TARGET_FINALIZE_HOOKS += SKELETON_SET_ISSUE
> endif
>
> -define SET_NETWORK_LOCALHOST
> +define SKELETON_SET_NETWORK_LOCALHOST
> ( \
> echo "# interface file auto-generated by buildroot"; \
> echo ; \
> @@ -147,14 +147,14 @@ define SET_NETWORK_LOCALHOST
> ) > $(TARGET_DIR)/etc/network/interfaces
> endef
>
> -NETWORK_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP))
> +SKELETON_NETWORK_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP))
>
> -ifneq ($(NETWORK_DHCP_IFACE),)
> -define SET_NETWORK_DHCP
> +ifneq ($(SKELETON_NETWORK_DHCP_IFACE),)
> +define SKELETON_SET_NETWORK_DHCP
> ( \
> echo ; \
> - echo "auto $(NETWORK_DHCP_IFACE)"; \
> - echo "iface $(NETWORK_DHCP_IFACE) inet dhcp"; \
> + echo "auto $(SKELETON_NETWORK_DHCP_IFACE)"; \
> + echo "iface $(SKELETON_NETWORK_DHCP_IFACE) inet dhcp"; \
> echo " pre-up /etc/network/nfs_check"; \
> echo " wait-delay 15"; \
> ) >> $(TARGET_DIR)/etc/network/interfaces
> @@ -163,13 +163,13 @@ define SET_NETWORK_DHCP
> endef
> endif
>
> -define SET_NETWORK
> +define SKELETON_SET_NETWORK
> mkdir -p $(TARGET_DIR)/etc/network/
> - $(SET_NETWORK_LOCALHOST)
> - $(SET_NETWORK_DHCP)
> + $(SKELETON_SET_NETWORK_LOCALHOST)
> + $(SKELETON_SET_NETWORK_DHCP)
> endef
>
> -TARGET_FINALIZE_HOOKS += SET_NETWORK
> +TARGET_FINALIZE_HOOKS += SKELETON_SET_NETWORK
>
> # The TARGET_FINALIZE_HOOKS must be sourced only if the users choose to use the
> # default skeleton.
> @@ -177,66 +177,66 @@ ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y)
>
> ifeq ($(BR2_TARGET_ENABLE_ROOT_LOGIN),y)
> ifeq ($(SKELETON_TARGET_GENERIC_ROOT_PASSWD),)
> -SYSTEM_ROOT_PASSWORD =
> +SKELETON_ROOT_PASSWORD =
> else ifneq ($(filter $$1$$% $$5$$% $$6$$%,$(SKELETON_TARGET_GENERIC_ROOT_PASSWD)),)
> -SYSTEM_ROOT_PASSWORD = '$(SKELETON_TARGET_GENERIC_ROOT_PASSWD)'
> +SKELETON_ROOT_PASSWORD = '$(SKELETON_TARGET_GENERIC_ROOT_PASSWD)'
> else
> SKELETON_DEPENDENCIES += host-mkpasswd
> # This variable will only be evaluated in the finalize stage, so we can
> # be sure that host-mkpasswd will have already been built by that time.
> -SYSTEM_ROOT_PASSWORD = "`$(MKPASSWD) -m "$(SKELETON_TARGET_GENERIC_PASSWD_METHOD)" "$(SKELETON_TARGET_GENERIC_ROOT_PASSWD)"`"
> +SKELETON_ROOT_PASSWORD = "`$(MKPASSWD) -m "$(SKELETON_TARGET_GENERIC_PASSWD_METHOD)" "$(SKELETON_TARGET_GENERIC_ROOT_PASSWD)"`"
> endif
> else # !BR2_TARGET_ENABLE_ROOT_LOGIN
> -SYSTEM_ROOT_PASSWORD = "*"
> +SKELETON_ROOT_PASSWORD = "*"
> endif
>
> -define SKELETON_SYSTEM_SET_ROOT_PASSWD
> - $(SED) s,^root:[^:]*:,root:$(SYSTEM_ROOT_PASSWORD):, $(TARGET_DIR)/etc/shadow
> +define SKELETON_SET_ROOT_PASSWD
> + $(SED) s,^root:[^:]*:,root:$(SKELETON_ROOT_PASSWORD):, $(TARGET_DIR)/etc/shadow
> endef
> -TARGET_FINALIZE_HOOKS += SKELETON_SYSTEM_SET_ROOT_PASSWD
> +TARGET_FINALIZE_HOOKS += SKELETON_SET_ROOT_PASSWD
>
> ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y)
> -define SKELETON_SYSTEM_BIN_SH
> +define SKELETON_BIN_SH
> rm -f $(TARGET_DIR)/bin/sh
> endef
> else
> -define SKELETON_SYSTEM_BIN_SH
> +define SKELETON_BIN_SH
> ln -sf $(SKELETON_TARGET_GENERIC_BIN_SH) $(TARGET_DIR)/bin/sh
> endef
> endif
> -TARGET_FINALIZE_HOOKS += SKELETON_SYSTEM_BIN_SH
> +TARGET_FINALIZE_HOOKS += SKELETON_BIN_SH
>
> ifeq ($(BR2_TARGET_GENERIC_GETTY),y)
> ifeq ($(BR2_INIT_SYSV),y)
> # In sysvinit inittab, the "id" must not be longer than 4 bytes, so we
> # skip the "tty" part and keep only the remaining.
> -define SKELETON_SYSTEM_GETTY
> +define SKELETON_SET_GETTY
> $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(SKELETON_TARGET_GENERIC_GETTY_PORT) | tail -c+4)::respawn:/sbin/getty -L $(SKELETON_TARGET_GENERIC_GETTY_OPTIONS) $(SKELETON_TARGET_GENERIC_GETTY_PORT) $(SKELETON_TARGET_GENERIC_GETTY_BAUDRATE) $(SKELETON_TARGET_GENERIC_GETTY_TERM) #~' \
> $(TARGET_DIR)/etc/inittab
> endef
> else ifeq ($(BR2_INIT_BUSYBOX),y)
> # Add getty to busybox inittab
> -define SKELETON_SYSTEM_GETTY
> +define SKELETON_SET_GETTY
> $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(SKELETON_TARGET_GENERIC_GETTY_PORT)::respawn:/sbin/getty -L $(SKELETON_TARGET_GENERIC_GETTY_OPTIONS) $(SKELETON_TARGET_GENERIC_GETTY_PORT) $(SKELETON_TARGET_GENERIC_GETTY_BAUDRATE) $(SKELETON_TARGET_GENERIC_GETTY_TERM) #~' \
> $(TARGET_DIR)/etc/inittab
> endef
> endif
> -TARGET_FINALIZE_HOOKS += SKELETON_SYSTEM_GETTY
> +TARGET_FINALIZE_HOOKS += SKELETON_SET_GETTY
> endif
>
> ifeq ($(BR2_INIT_BUSYBOX)$(BR2_INIT_SYSV),y)
> ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y)
> # Find commented line, if any, and remove leading '#'s
> -define SKELETON_SYSTEM_REMOUNT_RW
> +define SKELETON_REMOUNT_RW
> $(SED) '/^#.*-o remount,rw \/$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab
> endef
> else
> # Find uncommented line, if any, and add a leading '#'
> -define SKELETON_SYSTEM_REMOUNT_RW
> +define SKELETON_REMOUNT_RW
> $(SED) '/^[^#].*-o remount,rw \/$$/s~^~#~' $(TARGET_DIR)/etc/inittab
> endef
> endif
> -TARGET_FINALIZE_HOOKS += SKELETON_SYSTEM_REMOUNT_RW
> +TARGET_FINALIZE_HOOKS += SKELETON_REMOUNT_RW
> endif # BR2_INIT_BUSYBOX || BR2_INIT_SYSV
>
> endif # BR2_ROOTFS_SKELETON_DEFAULT
>
next prev parent reply other threads:[~2016-07-03 8:15 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-22 19:07 [Buildroot] [PATCH 00/24 v2] system: properly handle systemd as init system (branch yem/systemd-skeleton) Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 01/24 v2] package/skeleton: remove useless .empty file Yann E. MORIN
2016-07-04 7:28 ` Arnout Vandecappelle
2016-07-05 13:57 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 02/24 v2] system: sysvinit only selects busybox-show-others if busybox is enabled Yann E. MORIN
2016-07-03 7:53 ` Romain Naour
2016-07-04 16:49 ` Yann E. MORIN
2016-07-05 13:59 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 03/24 v2] package/skeleton: respect variables namespace Yann E. MORIN
2016-07-03 8:15 ` Romain Naour [this message]
2016-07-05 13:28 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 04/24 v2] system/skeleton: update etc/mtab with a more sensible link Yann E. MORIN
2016-07-03 8:28 ` Romain Naour
2016-07-04 7:27 ` Arnout Vandecappelle
2016-07-05 13:28 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 05/24 v2] system: systemd only really supports a R/W rootfs Yann E. MORIN
2016-07-03 8:31 ` Romain Naour
2016-07-05 13:29 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 06/24 v2] package/systemd: disabling tty1 getty is a post-install hook Yann E. MORIN
2016-07-03 8:37 ` Romain Naour
2016-07-04 17:13 ` Yann E. MORIN
2016-07-05 13:41 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 07/24 v2] system: provide no default for custom skeleton path Yann E. MORIN
2016-07-03 8:42 ` Romain Naour
2016-07-04 7:30 ` Arnout Vandecappelle
2016-07-04 17:21 ` Yann E. MORIN
2016-07-05 13:59 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 08/24 v2] system: move the rootfs skeleton choice Yann E. MORIN
2016-07-03 8:50 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 09/24 v2] system: do not handle network settings for custom skeleton Yann E. MORIN
2016-07-03 9:00 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 10/24 v2] package/perl: use dummy hostname Yann E. MORIN
2016-07-03 9:05 ` Romain Naour
2016-07-05 13:59 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 11/24 v2] system: do not set hostname and issue for custom skeleton Yann E. MORIN
2016-07-03 9:11 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 12/24 v2] core/pkg-generic: add variable to skip skeleton dependency Yann E. MORIN
2016-07-03 9:30 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 13/24 v2] package/skeleton: add macro to rsync skeleton directory Yann E. MORIN
2016-07-03 9:39 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 14/24 v2] core/pkg-generic: allow packages to declare target-finalize hooks Yann E. MORIN
2016-07-03 9:53 ` Romain Naour
2016-07-05 14:00 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 15/24 v2] packages: use the <PKG>_TARGET_FINALIZE_HOOKS Yann E. MORIN
2016-07-03 10:02 ` Romain Naour
2016-07-04 18:05 ` Yann E. MORIN
2016-07-05 14:01 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 16/24 v2] package/skeleton: split into sysv and custom skeleton Yann E. MORIN
2016-07-03 10:27 ` Romain Naour
2016-07-05 7:26 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 17/24 v2] package/skeleton: make it a virtual package Yann E. MORIN
2016-07-03 10:47 ` Romain Naour
2016-07-05 7:45 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 18/24 v2] package/skeleton-sysv: split into skeleton-common Yann E. MORIN
2016-07-03 11:05 ` Romain Naour
2016-07-05 7:49 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 19/24 v2] system: split skeleton Yann E. MORIN
2016-07-03 11:22 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 20/24 v2] package/skeleton-systemd: new package Yann E. MORIN
2016-07-03 11:34 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 21/24 v2] system/systemd: needs timezone Yann E. MORIN
2016-07-03 11:41 ` Romain Naour
2016-07-05 8:03 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 22/24 v2] fs: add pre- and post-command hooks Yann E. MORIN
2016-07-03 11:49 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 23/24 v2] system: make systemd work on a read-only rootfs Yann E. MORIN
2016-07-03 12:54 ` Romain Naour
2016-07-05 8:12 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 24/24 v2] system: allow DHCP interface with systemd-networkd Yann E. MORIN
2016-07-03 12:59 ` Romain Naour
2016-07-06 21:49 ` [Buildroot] [PATCH 00/24 v2] system: properly handle systemd as init system (branch yem/systemd-skeleton) Thomas Petazzoni
2016-07-06 22:34 ` Yann E. MORIN
2016-07-17 8:49 ` Yann E. MORIN
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=fb92694e-2469-3dcb-326b-e9327fae903e@gmail.com \
--to=romain.naour@gmail.com \
--cc=buildroot@busybox.net \
/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