Skip to contentSkip to conversation

dash: bump to version 0.5.9.1

PATCH New Carlos Santos 3 participants 10 messages Sep 27, 2017 – Feb 4, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 dash: bump to version 0.5.9.1

Use the maintainer's repository, update the package description, based on the official one, and drop an obsolete patch.

Change-Id I2170aa4c1cc57de2a25ef04e89a216b254f2a859
---
 package/dash/0002-fix-parallel-build.patch | 40 ------------------------------
 package/dash/Config.in                     |  6 +++--
 package/dash/dash.hash                     |  5 ++--
 package/dash/dash.mk                       | 10 +++-----
 4 files changed, 9 insertions(+), 52 deletions(-)
 delete mode 100644 package/dash/0002-fix-parallel-build.patch
package/dash/0002-fix-parallel-build.patch deleted +0 -40
deleted file mode 100644
index ac2be6a..0000000
@@ -1,40 +0,0 @@
-tokens: fix parallel builds
-
-Currently, tokens.h and token_vars.h are each generated by a call to
-mktokens, which means mktokens is called twice.
-
-But mktokens generates both in a single run.
-
-This means that, with a fast-enough machine, the call to mktokens that
-generates tokens.h may finish before the call that generates
-token_vars.h. Then tokens.h is transiently incomplete (it can even be
-empty). By the time it is fully generated in the second run, a compile
-job that ends up using token.h may have already started, and the source
-file would include an in complete token.h and would be missing some
-token definitions.
-
-We fix that by making token.h a dependency of token_vars.h, with a
-dummy recipe (to force it not being PHONY). The actual recipe is for
-token_vars.h
-
-Signed-off-by: "Yann E. MORIN" <[email protected]>
-
-diff -durN dash-0.5.8.orig/src/Makefile.am dash-0.5.8/src/Makefile.am
---- dash-0.5.8.orig/src/Makefile.am	2014-09-28 10:19:32.000000000 +0200
-+++ dash-0.5.8/src/Makefile.am	2017-03-07 09:53:28.579811603 +0100
-@@ -45,7 +45,14 @@
- 	mktokens mkbuiltins builtins.def.in mkinit.c \
- 	mknodes.c nodetypes nodes.c.pat mksyntax.c mksignames.c
- 
--token.h token_vars.h: mktokens
-+# Both token.h and token_vars.h are generated by a single call
-+# to mktokens. However, token.h is the only file that is used
-+# as a dependency, so we must ensure token_vars.h is generated
-+# first.
-+token.h: token_vars.h
-+	@:
-+
-+token_vars.h: mktokens
- 	sh $^
- 
- builtins.def: builtins.def.in $(top_builddir)/config.h
package/dash/Config.in +4 -2
index af8fba4..00cacf8 100644
@@ -3,7 +3,9 @@ config BR2_PACKAGE_DASH
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	help
-	  The Debian/Linux port of the NetBSD version of
-	  ash (the Almquist SHell).
+	  DASH is a POSIX-compliant implementation of /bin/sh that aims to be
+	  as small as possible. It does this without sacrificing speed where
+	  possible. In fact, it is significantly faster than bash (the GNU
+	  Bourne-Again SHell) for most tasks. 
 
 	  http://gondor.apana.org.au/~herbert/dash
package/dash/dash.hash +2 -3
index 0198cd8..b5a37b6 100644
@@ -1,3 +1,2 @@
-# From http://ftp.debian.org/debian/pool/main/d/dash/dash_0.5.8-1.dsc
-sha256	c6db3a237747b02d20382a761397563d813b306c020ae28ce25a1c3915fac60f	dash_0.5.8.orig.tar.gz
-sha256	d751769cc1ef8b825a177e782f1cd3e35bde7c268107fa4febf8d235e12c64d9	dash_0.5.8-1.diff.gz
+# From http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.9.1.tar.gz.sha256sum
+sha256	5ecd5bea72a93ed10eb15a1be9951dd51b52e5da1d4a7ae020efd9826b49e659	dash-0.5.9.1.tar.gz
package/dash/dash.mk +3 -7
index 0b58a46..72ef722 100644
@@ -4,16 +4,12 @@
 #
 ################################################################################
 
-DASH_VERSION = 0.5.8
-DASH_SOURCE = dash_$(DASH_VERSION).orig.tar.gz
-DASH_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/d/dash
-DASH_PATCH = dash_$(DASH_VERSION)-1.diff.gz
+DASH_VERSION = 0.5.9.1
+DASH_SOURCE = dash-$(DASH_VERSION).tar.gz
+DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
 DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
 DASH_LICENSE_FILES = COPYING
 
-# 0002-fix-parallel-build.patch
-DASH_AUTORECONF = YES
-
 define DASH_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash
 endef
Signature · 1 line
2.7.5
#1 lore raw

PATCH 2/2 dash: enable line editting if libedit is selected.

Also, add a profile snippet enabling line editing, Emacs style.

Change-Id I68c6dbbafa95e266860329cb9c7ff5519fda5bf8
---
 package/dash/dash.mk | 11 +++++++++++
 1 file changed, 11 insertions(+)
package/dash/dash.mk +11 -0
index 72ef722..5c26994 100644
@@ -10,6 +10,17 @@ DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
 DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
 DASH_LICENSE_FILES = COPYING
 
+# Enable line editing, Emacs style
+define DASH_INSTALL_PROFILE
+	echo 'set -E' > $(TARGET_DIR)/etc/profile.d/dash.sh
+endef
+
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+DASH_DEPENDENCIES += libedit
+DASH_CONF_OPTS += --with-libedit
+DASH_POST_INSTALL_TARGET_HOOKS += DASH_INSTALL_PROFILE
+endif
+
 define DASH_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash
 endef
Signature · 1 line
2.7.5
#2 lore raw

PATCH 2/2 dash: enable line editting if libedit is selected.

Hello,

package/dash/dash.mk DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files · line 16

Quoted 4 lines · Carlos Santos
package/dash/dash.mk +4 -0
+# Enable line editing, Emacs style
+define DASH_INSTALL_PROFILE
+	echo 'set -E' > $(TARGET_DIR)/etc/profile.d/dash.sh
+endef

This really looks like a "personal preference" configuration, that is more relevant in a custom rootfs overlay, no?

package/dash/dash.mk DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files · line 21

Quoted 4 lines
package/dash/dash.mk +4 -0
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+DASH_DEPENDENCIES += libedit
+DASH_CONF_OPTS += --with-libedit
+DASH_POST_INSTALL_TARGET_HOOKS += DASH_INSTALL_PROFILE

What about --without-libedit in an else case ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#3 lore raw

PATCH 2/2 dash: enable line editting if libedit is selected.

Quoted 10 lines

From: "Thomas Petazzoni" <[email protected]>
To: "Carlos Santos" <[email protected]>
Cc: buildroot at buildroot.org
Sent: Wednesday, September 27, 2017 4:18:05 PM
Subject: Re: [Buildroot] [PATCH 2/2] dash: enable line editting if libedit is selected.

Hello,

On Wed, 27 Sep 2017 13:41:54 -0300, Carlos Santos wrote:

Quoted 7 lines

package/dash/dash.mk DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files · line 16

Quoted 4 lines
package/dash/dash.mk +4 -0
+# Enable line editing, Emacs style
+define DASH_INSTALL_PROFILE
+	echo 'set -E' > $(TARGET_DIR)/etc/profile.d/dash.sh
+endef

This really looks like a "personal preference" configuration, that is more relevant in a custom rootfs overlay, no?

This is the default behavior of BusyBox's shell, which is used in 98.73% of the Buldroot installations, according to my statistics factory, so I think we should use it by default.

Quoted 6 lines

package/dash/dash.mk DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files · line 21

Quoted 4 lines
package/dash/dash.mk +4 -0
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+DASH_DEPENDENCIES += libedit
+DASH_CONF_OPTS += --with-libedit
+DASH_POST_INSTALL_TARGET_HOOKS += DASH_INSTALL_PROFILE

What about --without-libedit in an else case ?

In the case else there is no libedit to which not to link. :-)

Signature · 4 lines
Carlos Santos (Casantos) - DATACOM, P&D
?The greatest triumph that modern PR can offer is the transcendent 
success of having your words and actions judged by your reputation, 
rather than the other way about.? ? Christopher Hitchens
#4 lore raw

PATCH 2/2 dash: enable line editting if libedit is selected.

Hello,

Quoted 6 lines · Carlos Santos
Quoted 2 lines

This really looks like a "personal preference" configuration, that is more relevant in a custom rootfs overlay, no?

This is the default behavior of BusyBox's shell, which is used in 98.73% of the Buldroot installations, according to my statistics factory, so I think we should use it by default.

Hum, OK.

Quoted 8 lines
Quoted 6 lines

package/dash/dash.mk DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files · line 21

Quoted 4 lines
package/dash/dash.mk +4 -0
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+DASH_DEPENDENCIES += libedit
+DASH_CONF_OPTS += --with-libedit
+DASH_POST_INSTALL_TARGET_HOOKS += DASH_INSTALL_PROFILE  

What about --without-libedit in an else case ?

In the case else there is no libedit to which not to link. :-)

We always try to explicitly disable features, so that configure scripts don't misdetect a system-installed libedit for example.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#5 lore raw

PATCH 2/2 dash: enable line editting if libedit is selected.

Quoted 26 lines

From: "Thomas Petazzoni" <[email protected]>
To: "Carlos Santos" <[email protected]>
Cc: buildroot at buildroot.org
Sent: Thursday, September 28, 2017 3:59:57 AM
Subject: Re: [Buildroot] [PATCH 2/2] dash: enable line editting if libedit is selected.

Hello,

Quoted 6 lines · Carlos Santos
Quoted 2 lines

This really looks like a "personal preference" configuration, that is more relevant in a custom rootfs overlay, no?

This is the default behavior of BusyBox's shell, which is used in 98.73% of the Buldroot installations, according to my statistics factory, so I think we should use it by default.

Hum, OK.

Quoted 7 lines
Quoted 6 lines

package/dash/dash.mk DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files · line 21

Quoted 4 lines
package/dash/dash.mk +4 -0
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+DASH_DEPENDENCIES += libedit
+DASH_CONF_OPTS += --with-libedit
+DASH_POST_INSTALL_TARGET_HOOKS += DASH_INSTALL_PROFILE

What about --without-libedit in an else case ?

Quoted 4 lines
Quoted 1 line

In the case else there is no libedit to which not to link. :-)

We always try to explicitly disable features, so that configure scripts don't misdetect a system-installed libedit for example.

That's a good point. I will send an updated patch.

Signature · 4 lines
Carlos Santos (Casantos) - DATACOM, P&D
?The greatest triumph that modern PR can offer is the transcendent 
success of having your words and actions judged by your reputation, 
rather than the other way about.? ? Christopher Hitchens
#6 lore raw

PATCH v2 1/1 dash: enable line editting if libedit is selected.

In reply to Thomas Petazzoni

Otherwise, explicitly disable it, so that the configure script does not misdetect a system-installed libedit for example.

Also, add a profile snippet enabling line editing, Emacs style.

Change-Id I68c6dbbafa95e266860329cb9c7ff5519fda5bf8
---
 package/dash/dash.mk | 13 +++++++++++++
 1 file changed, 13 insertions(+)
package/dash/dash.mk +13 -0
index 72ef722..0098fad 100644
@@ -10,6 +10,19 @@ DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
 DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
 DASH_LICENSE_FILES = COPYING
 
+# Enable line editing, Emacs style
+define DASH_INSTALL_PROFILE
+	echo 'set -E' > $(TARGET_DIR)/etc/profile.d/dash.sh
+endef
+
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+DASH_DEPENDENCIES += libedit
+DASH_CONF_OPTS += --with-libedit
+DASH_POST_INSTALL_TARGET_HOOKS += DASH_INSTALL_PROFILE
+else
+DASH_CONF_OPTS += --without-libedit
+endif
+
 define DASH_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash
 endef
Signature · 1 line
2.7.5
#7 lore raw

PATCH v2 1/1 dash: enable line editting if libedit is selected.

Quoted 20 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Carlos" == Carlos Santos <[email protected]> writes:

Otherwise, explicitly disable it, so that the configure script does not misdetect a system-installed libedit for example.

Also, add a profile snippet enabling line editing, Emacs style.

Change-Id I68c6dbbafa95e266860329cb9c7ff5519fda5bf8
---
 package/dash/dash.mk | 13 +++++++++++++
 1 file changed, 13 insertions(+)
package/dash/dash.mk +0 -0
index 72ef722..0098fad 100644
@@ -10,6 +10,19 @@ DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
 DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
 DASH_LICENSE_FILES = COPYING

package/dash/dash.mk DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files · line 21

Quoted 10 lines
package/dash/dash.mk +9 -0
 
+# Enable line editing, Emacs style
+define DASH_INSTALL_PROFILE
+	echo 'set -E' > $(TARGET_DIR)/etc/profile.d/dash.sh
+endef
+
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+DASH_DEPENDENCIES += libedit
+DASH_CONF_OPTS += --with-libedit
+DASH_POST_INSTALL_TARGET_HOOKS += DASH_INSTALL_PROFILE

Committed after moving DASH_INSTALL_PROFILE inside the conditional, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#8 lore raw

PATCH v2 1/1 dash: enable line editting if libedit is selected.

In reply to Carlos Santos
Quoted 18 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Carlos" == Carlos Santos <[email protected]> writes:

Otherwise, explicitly disable it, so that the configure script does not misdetect a system-installed libedit for example.

Also, add a profile snippet enabling line editing, Emacs style.

Change-Id I68c6dbbafa95e266860329cb9c7ff5519fda5bf8
---
 package/dash/dash.mk | 13 +++++++++++++
 1 file changed, 13 insertions(+)
package/dash/dash.mk +0 -0
index 72ef722..0098fad 100644

package/dash/dash.mk DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files · line 15

Quoted 6 lines
package/dash/dash.mk +3 -0
@@ -10,6 +10,19 @@ DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
 DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
 DASH_LICENSE_FILES = COPYING
 
+# Enable line editing, Emacs style
+define DASH_INSTALL_PROFILE
+	echo 'set -E' > $(TARGET_DIR)/etc/profile.d/dash.sh

/etc/profile.d is part of our standard skeleton, but may not be present in custom skeletons, so I've also added a mkdir -p ${TARGET_DIR}/etc/profile.d

Signature · 1 line
Bye, Peter Korsgaard
#9 lore raw

PATCH 1/2 dash: bump to version 0.5.9.1

In reply to Carlos Santos

Hello,

Quoted 5 lines · Carlos Santos

Use the maintainer's repository, update the package description, based on the official one, and drop an obsolete patch.

Change-Id I2170aa4c1cc57de2a25ef04e89a216b254f2a859
Quoted 7 lines
---
 package/dash/0002-fix-parallel-build.patch | 40 ------------------------------
 package/dash/Config.in                     |  6 +++--
 package/dash/dash.hash                     |  5 ++--
 package/dash/dash.mk                       | 10 +++-----
 4 files changed, 9 insertions(+), 52 deletions(-)
 delete mode 100644 package/dash/0002-fix-parallel-build.patch

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com