* Matthew Toseland <toad at amphibian.dyndns.org> [2008-06-26 11:39:30]:

> On Thursday 26 June 2008 09:43, NextGen$ wrote:
> > * Matthew Toseland <toad at amphibian.dyndns.org> [2008-06-26 02:17:28]:
> > 
> > > On Sunday 01 June 2008 05:23, nextgens at freenetproject.org wrote:
> > > > Author: nextgens
> > > > Date: 2008-06-01 04:23:44 +0000 (Sun, 01 Jun 2008)
> > > > New Revision: 20171
> > > > 
> > > > Modified:
> > > >    trunk/apps/new_installer/scripts/update.sh
> > > > Log:
> > > > new_installer: simplify update.sh
> > > > 
> > > > Modified: trunk/apps/new_installer/scripts/update.sh
> > > > ===================================================================
> > > > --- trunk/apps/new_installer/scripts/update.sh  2008-06-01 03:37:08 UTC 
> (rev 
> > > 20170)
> > > > +++ trunk/apps/new_installer/scripts/update.sh  2008-06-01 04:23:44 UTC 
> (rev 
> > > 20171)
> > > > +
> > > > +file_md5sum_comp () {
> > > > +       if file_exist "$1" "$2"
> > > > +       then
> > > > +               MD5_FILE1="`cat \"$1\"|md5sum`"
> > > > +               MD5_FILE2="`cat \"$2\"|md5sum`"
> > > > +               return `test "$MD5_FILE1" = "$MD5_FILE2"`
> > > 
> > > Doesn't work. The output of md5sum includes the filename, you need to 
> > > chop 
> it 
> > > out.
> > > 
> > 
> > Which in that case is "-"; why do I need to chop it exactly ?
> 
> Doh.
> > 
> > > > +       else
> > > > +               return 1
> > > > +       fi
> > > > +}
> > > > +
> > > > +file_sha1sum_comp () {
> > > > +       if file_exist "$1" "$2"
> > > > +       then
> > > > +               SHA1_FILE1="`cat \"$1\"|sha1sum`"
> > > > +               SHA1_FILE2="`cat \"$2\"|sha1sum`"
> > > > +               echo $SHA1_FILE1 $SHA1_FILE2
> > > > +               return `test "$SHA1_FILE1" = "$SHA1_FILE2"`
> > > 
> > > Likewise.
> > > 
> > > > +       else
> > > > +               return 1
> > > > +       fi
> > > > +}
> > > > +
> > > > +# Determine which one we will use
> > > > +if test ! -x "`which sha1sum`"
> > > > +then
> > > > +       if test ! -x "`which md5sum`"
> > > > +       then
> > > > +               if test ! -x "`which cmp`"
> > > > +               then
> > > > +                       echo "No cmp nor md5sum nor sha1sum utility 
> > > > detected; Please install 
> one 
> > > of those"
> > > > +                       exit 1
> > > > +               else
> > > > +                       CMP="invert_return_code file_cmp_comp"
> > > > +               fi
> > > > +       else
> > > > +               CMP="invert_return_code file_md5sum_comp"
> > > > +       fi
> > > > +else
> > > > +       CMP="invert_return_code file_sha1sum_comp"
> > > > +fi
> > > 
> > > We should really use cmp if it's available, it's quicker.
> > 
> > It s not a matter of speed, we need a hash function
> 
> We need a hash function if we don't have cmp. cmp is preferable if we DO have 
> it, we should check for it first.

We need a hash function to ensure sha1test is up to date... the idea here
was to reduce the number of dependancies.

By the way, I have heard of a few implementations of cmp which are only
comparing timestamps... imho we can't rely on that.

Reply via email to