On 13 Aug 2020, at 16:33, Ian Lepore <[email protected]> wrote: > On Wed, 2020-08-12 at 09:24 -0700, Rodney W. Grimes wrote: >>> On 12 Aug 2020, at 17:10, Rodney W. Grimes < >>> [email protected]> 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.
Indeed, my suggestion was solving the wrong problem. r364174 added the -P but also needlessly added env too; -P is part of POSIX so any conforming pwd will support it, builtin or not. Jess _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "[email protected]"
