diff mbox

[1/2] ncurses: factorize terminfo files installation

Message ID 1470170076-28901-1-git-send-email-thomas.petazzoni@free-electrons.com
State Accepted
Commit 33ba5188351ece027455e460f6cba4245af49f3a
Headers show

Commit Message

Thomas Petazzoni Aug. 2, 2016, 8:34 p.m. UTC
This long list of commands to copy the terminfo files from staging to
target is really silly and can be factorized using a
NCURSES_TERMINFO_FILES variable, which is then iterated through.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/ncurses/ncurses.mk | 47 ++++++++++++++++++++++------------------------
 1 file changed, 22 insertions(+), 25 deletions(-)

Comments

Matt Weber Aug. 2, 2016, 9:04 p.m. UTC | #1
Thomas,

On Tue, Aug 2, 2016 at 3:34 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> This long list of commands to copy the terminfo files from staging to
> target is really silly and can be factorized using a
> NCURSES_TERMINFO_FILES variable, which is then iterated through.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/ncurses/ncurses.mk | 47 ++++++++++++++++++++++------------------------
>  1 file changed, 22 insertions(+), 25 deletions(-)
>
> diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
> index 55e5c81..0ae8835 100644
> --- a/package/ncurses/ncurses.mk
> +++ b/package/ncurses/ncurses.mk
> @@ -55,6 +55,20 @@ NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_MENU) += menu
>  NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_PANEL) += panel
>  NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_FORM) += form
>
> +NCURSES_TERMINFO_FILES = \
> +       a/ansi \
> +       p/putty \
> +       p/putty-vt100 \
> +       s/screen \
> +       v/vt100 \
> +       v/vt100-putty \
> +       v/vt102 \
> +       v/vt200 \
> +       v/vt220 \
> +       x/xterm \
> +       x/xterm-color \
> +       x/xterm-xfree86 \
> +
>  ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
>  NCURSES_CONF_OPTS += --enable-widec
>  NCURSES_LIB_SUFFIX = w
> @@ -95,11 +109,10 @@ NCURSES_LINK_STAGING_PC = $(call NCURSES_LINK_PC,$(STAGING_DIR))
>
>  NCURSES_CONF_OPTS += --enable-ext-colors
>  NCURSES_ABI_VERSION = 6
> -define NCURSES_INSTALL_TARGET_256_COLORS_TERMINFO
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/p/putty-256color $(TARGET_DIR)/usr/share/terminfo/p
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm+256color $(TARGET_DIR)/usr/share/terminfo/x
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-256color $(TARGET_DIR)/usr/share/terminfo/x
> -endef
> +NCURSES_TERMINFO_FILES += \
> +       p/putty-256color \
> +       x/xterm+256color \
> +       x/xterm-256color
>
>  NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_LIBS
>  NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_PC
> @@ -145,26 +158,10 @@ define NCURSES_INSTALL_TARGET_CMDS
>         $(NCURSES_LINK_TARGET_LIBS)
>         $(NCURSES_INSTALL_TARGET_PROGS)
>         ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo
> -       mkdir -p $(TARGET_DIR)/usr/share/terminfo/x
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm $(TARGET_DIR)/usr/share/terminfo/x
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-color $(TARGET_DIR)/usr/share/terminfo/x
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-xfree86 $(TARGET_DIR)/usr/share/terminfo/x
> -       mkdir -p $(TARGET_DIR)/usr/share/terminfo/v
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt100 $(TARGET_DIR)/usr/share/terminfo/v
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt100-putty $(TARGET_DIR)/usr/share/terminfo/v
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt102 $(TARGET_DIR)/usr/share/terminfo/v
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt200 $(TARGET_DIR)/usr/share/terminfo/v
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt220 $(TARGET_DIR)/usr/share/terminfo/v
> -       mkdir -p $(TARGET_DIR)/usr/share/terminfo/a
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/a/ansi $(TARGET_DIR)/usr/share/terminfo/a
> -       mkdir -p $(TARGET_DIR)/usr/share/terminfo/l
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/l/linux $(TARGET_DIR)/usr/share/terminfo/l
> -       mkdir -p $(TARGET_DIR)/usr/share/terminfo/p
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/p/putty $(TARGET_DIR)/usr/share/terminfo/p
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/p/putty-vt100 $(TARGET_DIR)/usr/share/terminfo/p
> -       mkdir -p $(TARGET_DIR)/usr/share/terminfo/s
> -       cp -dpf $(STAGING_DIR)/usr/share/terminfo/s/screen $(TARGET_DIR)/usr/share/terminfo/s
> -       $(NCURSES_INSTALL_TARGET_256_COLORS_TERMINFO)
> +       $(foreach terminfo,$(NCURSES_TERMINFO_FILES),\
> +               $(INSTALL) -D -m 0644 $(STAGING_DIR)/usr/share/terminfo/$(terminfo) \
> +                       $(TARGET_DIR)/usr/share/terminfo/$(terminfo)
> +       )
>  endef # NCURSES_INSTALL_TARGET_CMDS
>
>  #
> --
> 2.7.4
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com>
Peter Korsgaard Aug. 3, 2016, 8:53 p.m. UTC | #2
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > This long list of commands to copy the terminfo files from staging to
 > target is really silly and can be factorized using a
 > NCURSES_TERMINFO_FILES variable, which is then iterated through.

 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.
diff mbox

Patch

diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
index 55e5c81..0ae8835 100644
--- a/package/ncurses/ncurses.mk
+++ b/package/ncurses/ncurses.mk
@@ -55,6 +55,20 @@  NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_MENU) += menu
 NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_PANEL) += panel
 NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_FORM) += form
 
+NCURSES_TERMINFO_FILES = \
+	a/ansi \
+	p/putty \
+	p/putty-vt100 \
+	s/screen \
+	v/vt100 \
+	v/vt100-putty \
+	v/vt102 \
+	v/vt200 \
+	v/vt220 \
+	x/xterm \
+	x/xterm-color \
+	x/xterm-xfree86 \
+
 ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
 NCURSES_CONF_OPTS += --enable-widec
 NCURSES_LIB_SUFFIX = w
@@ -95,11 +109,10 @@  NCURSES_LINK_STAGING_PC = $(call NCURSES_LINK_PC,$(STAGING_DIR))
 
 NCURSES_CONF_OPTS += --enable-ext-colors
 NCURSES_ABI_VERSION = 6
-define NCURSES_INSTALL_TARGET_256_COLORS_TERMINFO
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/p/putty-256color $(TARGET_DIR)/usr/share/terminfo/p
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm+256color $(TARGET_DIR)/usr/share/terminfo/x
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-256color $(TARGET_DIR)/usr/share/terminfo/x
-endef
+NCURSES_TERMINFO_FILES += \
+	p/putty-256color \
+	x/xterm+256color \
+	x/xterm-256color
 
 NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_LIBS
 NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_PC
@@ -145,26 +158,10 @@  define NCURSES_INSTALL_TARGET_CMDS
 	$(NCURSES_LINK_TARGET_LIBS)
 	$(NCURSES_INSTALL_TARGET_PROGS)
 	ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo
-	mkdir -p $(TARGET_DIR)/usr/share/terminfo/x
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm $(TARGET_DIR)/usr/share/terminfo/x
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-color $(TARGET_DIR)/usr/share/terminfo/x
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-xfree86 $(TARGET_DIR)/usr/share/terminfo/x
-	mkdir -p $(TARGET_DIR)/usr/share/terminfo/v
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt100 $(TARGET_DIR)/usr/share/terminfo/v
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt100-putty $(TARGET_DIR)/usr/share/terminfo/v
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt102 $(TARGET_DIR)/usr/share/terminfo/v
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt200 $(TARGET_DIR)/usr/share/terminfo/v
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt220 $(TARGET_DIR)/usr/share/terminfo/v
-	mkdir -p $(TARGET_DIR)/usr/share/terminfo/a
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/a/ansi $(TARGET_DIR)/usr/share/terminfo/a
-	mkdir -p $(TARGET_DIR)/usr/share/terminfo/l
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/l/linux $(TARGET_DIR)/usr/share/terminfo/l
-	mkdir -p $(TARGET_DIR)/usr/share/terminfo/p
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/p/putty $(TARGET_DIR)/usr/share/terminfo/p
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/p/putty-vt100 $(TARGET_DIR)/usr/share/terminfo/p
-	mkdir -p $(TARGET_DIR)/usr/share/terminfo/s
-	cp -dpf $(STAGING_DIR)/usr/share/terminfo/s/screen $(TARGET_DIR)/usr/share/terminfo/s
-	$(NCURSES_INSTALL_TARGET_256_COLORS_TERMINFO)
+	$(foreach terminfo,$(NCURSES_TERMINFO_FILES),\
+		$(INSTALL) -D -m 0644 $(STAGING_DIR)/usr/share/terminfo/$(terminfo) \
+			$(TARGET_DIR)/usr/share/terminfo/$(terminfo)
+	)
 endef # NCURSES_INSTALL_TARGET_CMDS
 
 #