[bug-notifications] [findutils 0001101]: gupdatedb mktemp and !
Mantis Bug Tracker
noreply at opencsw.org
Mon May 16 10:49:40 CEST 2011
The following issue has been ASSIGNED.
======================================================================
https://www.opencsw.org/mantis/view.php?id=1101
======================================================================
Reported By: james
Assigned To: bwalton
======================================================================
Project: findutils
Issue ID: 1101
Category: regular use
Reproducibility: sometimes
Severity: tweak
Priority: normal
Status: acknowledged
======================================================================
Date Submitted: 2005-07-26 18:10 CEST
Last Modified: 2011-05-16 10:49 CEST
======================================================================
Summary: gupdatedb mktemp and !
Description:
This started as a request for mktemp but even with mktemp gupdatedb needs a
tweak. Without CSWmktemp:
$ gupdatedb --old-format
Warning: future versions of findutils will shortly discontinue support for
the old locate database format.
/opt/csw/bin/gupdatedb: mktemp: not found
/opt/csw/bin/gupdatedb: !: not found
/opt/csw/bin/gupdatedb: mktemp: not found
/opt/csw/bin/gupdatedb: !: not found
Install CSWmktemp which is not in the findutils depend list and it still
fails:
$ gupdatedb --old-format
Warning: future versions of findutils will shortly discontinue support for
the old locate database format.
/opt/csw/bin/gupdatedb: !: not found
/opt/csw/bin/gupdatedb: !: not found
becasue the ! is not /bin/sh, I guess the was written for a system that
emulated sh with something else, probably bash. #!/bin/ksh at the top will
fix it.
======================================================================
----------------------------------------------------------------------
(0009048) jay (reporter) - 2011-05-14 15:05
https://www.opencsw.org/mantis/view.php?id=1101#c9048
----------------------------------------------------------------------
! is required by POSIX. See section 2.9.2 of
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
It looks like the ultimate problem is that the source distribution
hard-codes the interpreter:
$ head -n1 locate/updatedb.sh
#! /bin/sh
In other words, findutils assumes /bin/sh is POSIX-compliant. If that's
not true on your systems, you will need to path that I think.
Lack of mktemp is trickier. Looks like you may need your findutils
package to depend on something that provides it, if the base OS does not.
----------------------------------------------------------------------
(0009056) james (developer) - 2011-05-16 10:48
https://www.opencsw.org/mantis/view.php?id=1101#c9056
----------------------------------------------------------------------
The date on the POSIX reference is 2004 and this bug was registered in
2005. It is highly likely at that time, using Solaris 8, /bin/sh was not
POSIX compliment. Whether is was or not is not relevant to the fact of the
matter being that gupdatedb failed on a target system and was fixable using
the suggestion I made in 2005.
On Solaris 9, the current base system, gupdatedb and ! negation works. Is
this proof that if reports are ignored for long enough there exists a
probability that bugs will fix themselves? And if we wait long enough this
bug report could morph into the complete works of Shakespeare.
More information about the bug-notifications
mailing list