[bug-notifications] [findutils 0001101]: gupdatedb mktemp and !

Mantis Bug Tracker noreply at opencsw.org
Sat May 14 15:05:43 CEST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://www.opencsw.org/mantis/view.php?id=1101 
====================================================================== 
Reported By:                james
Assigned To:                car
====================================================================== 
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-14 15:05 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.
====================================================================== 

---------------------------------------------------------------------- 
 (0006392) car (reporter) - 2009-07-04 01:16
 https://www.opencsw.org/mantis/view.php?id=1101#c6392 
---------------------------------------------------------------------- 
It seems to me that the slightly harder route, to fix the script so that it
*is* Bourne shell compatible, is probably the better fix.

At a brief glance, the problem seems to be a couple of if tests unadorned
by [].  Fixing these certainly gets rid of the warnings and the script
appears to function properly afterwards.  I'll double-check this later,
submit a new package to testing, then submit a patch upstream if this fixes
the issue. 

---------------------------------------------------------------------- 
 (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.



More information about the bug-notifications mailing list