[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