Date: Thu, 13 Aug 2020 09:33:48 -0600 From: Ian Lepore <ian@freebsd.org> To: rgrimes@freebsd.org, Jessica Clarke <jrtc27@freebsd.org> Cc: Alex Richardson <arichardson@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364166 - head/usr.sbin/crunch/crunchgen Message-ID: <1f724b1b9e0c230f793a49c948c778d3def045b9.camel@freebsd.org> In-Reply-To: <202008121624.07CGOTnt038878@gndrsh.dnsmgr.net> References: <202008121624.07CGOTnt038878@gndrsh.dnsmgr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2020-08-12 at 09:24 -0700, Rodney W. Grimes wrote: > > On 12 Aug 2020, at 17:10, Rodney W. Grimes < > > freebsd@gndrsh.dnsmgr.net> wrote: > > > > > > > Author: arichardson > > > > Date: Wed Aug 12 15:49:06 2020 > > > > New Revision: 364166 > > > > URL: https://svnweb.freebsd.org/changeset/base/364166 > > > > > > > > Log: > > > > Fix crunchgen usage of mkstemp() > > > > > > > > On Glibc systems mkstemp can only be used once with the same > > > > template > > > > string since it will be modified in-place and no longer > > > > contain any 'X' chars. > > > > It is fine to reuse the same file here but we need to be > > > > explicit and use > > > > open() instead of mkstemp() on the second use. > > > > > > > > While touching this file also avoid a hardcoded /bin/pwd since > > > > that may not > > > > work when building on non-FreeBSD systems. > > > > > > This may cause some grief, as now pwd may use a shell builtin > > > and often shell builtin's return a cwd that is not a true > > > full path, ie it may contain symlink compontents in the > > > path. > > > > > > /bin/sh: > > > > > > # cd /tmp/b > > > # /bin/pwd > > > /tmp/a > > > # pwd > > > /tmp/b > > > # ls -lag /tmp/? > > > lrwxr-xr-x 1 root wheel 1 Aug 12 16:06 /tmp/b -> a > > > > > > /tmp/a: > > > total 17 > > > drwxr-xr-x 2 root wheel 2 Aug 12 16:06 . > > > drwxrwxrwt 18 root wheel 248 Aug 12 16:06 .. > > > > There's the question of whether that really matters; both values > > are in > > some sense correct. But if you want to restore the old behaviour, I > > believe `env pwd` is the portable way to do so? > > You have cut the context, but the code has a comment that > states it is doing this to remove symbolic links, so this > change infact undoes something that was being done intentionally. > > I do believe also that a "env pwd" would do the right thing > as well. > Or just use "pwd -P" and avoid invoking multiple programs when the shell can do all the work. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1f724b1b9e0c230f793a49c948c778d3def045b9.camel>