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>