Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Jul 2015 05:47:32 +0000 (UTC)
From:      Emanuel Haupt <ehaupt@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r391614 - head/shells/bash
Message-ID:  <201507090547.t695lW8s014852@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ehaupt
Date: Thu Jul  9 05:47:32 2015
New Revision: 391614
URL: https://svnweb.freebsd.org/changeset/ports/391614

Log:
  Scripts like https://github.com/henricj/scripts/blob/master/stir.sh often
  generate a bunch of,
     cannot make pipe for process substitution: File exists
  errors.
  
  The problem lies with colliding pipe names.
  
  The code in sh_mktmpname() in lib/sh/tmpfile.c uses a combination of things like
  the current time, the PID, and an incrementing counter. Since the child PIDs
  tend to be sequential (barring kern.randompid=1), there are collisions.
  
  Fix this problem without rewriting upstream code by defining USE_MKTEMP=1 to
  use the mktemp(3) code of bash.
  
  FreeBSD's mktemp() is not nearly as bad as the bash default and isn't
  brain-damaged like some platforms (which is likely why the bash code tries to
  do it's own thing). In FreeBSD, "mktemp(3)" it uses arc4random to pick one of
  62 symbols for each "X".
  
  Submitted by:   Henric Jungheim <software@henric.org>

Modified:
  head/shells/bash/Makefile

Modified: head/shells/bash/Makefile
==============================================================================
--- head/shells/bash/Makefile	Thu Jul  9 05:12:51 2015	(r391613)
+++ head/shells/bash/Makefile	Thu Jul  9 05:47:32 2015	(r391614)
@@ -4,7 +4,7 @@
 PORTNAME=		bash
 PATCHLEVEL=		39
 PORTVERSION=		4.3.${PATCHLEVEL:S/^0//g}
-PORTREVISION?=		0
+PORTREVISION?=		1
 CATEGORIES=		shells
 MASTER_SITES=		GNU/${PORTNAME}
 DISTNAME=		${PORTNAME}-${PORTVERSION:R}
@@ -54,6 +54,8 @@ CONFIGURE_ARGS+=	--without-bash-malloc \
 			--disable-rpath \
 			--enable-disabled-builtins
 
+CFLAGS+=		-DUSE_MKTEMP=1
+
 .if empty(PKGNAMESUFFIX)
 CONFLICTS+=		bash-static-[0-9]*
 .else



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201507090547.t695lW8s014852>