Subject: Re: Strange 1.6.2 problem
To: John Klos <john@ziaspace.com>
From: Alistair Crooks <agc@pkgsrc.org>
List: tech-pkg
Date: 02/27/2005 21:24:48
On Sun, Feb 27, 2005 at 09:48:13AM -0800, John Klos wrote:
> >>First, it seems strange that pkg_install doesn't also build and install
> >>digest. Considering how digest is required for anything, it seems like a
> >>bug that trying to install a package after pkg_install simply says
> >>"/usr/pkg/bin/digest not found" or whatever.
> >
> >I have no idea what is causing this, but it seems like your pkgsrc
> >tree is in an inconsistent state - see below.
> 
> This has been the behavior for ages. Nothing's changed recently - try it.

Once we've sorted out your problems with your pkgsrc tree - see below -
we'll go onto this one.
 
> >You have updated your pkgsrc/misc/screen directory, and its distinfo
> >file now includes RMD160 digests.  However, you also need to update
> >your version of bsd.pkg.mk to recognise these digests - the command
> >line you pasted above with the awk in it does not check for the digest
> >algorithm, which is how I know that you have updated your pkgsrc tree
> >piecemeal.  You need to have version 1.1595 of bsd.pkg.mk.
> 
> #       $NetBSD: bsd.pkg.mk,v 1.1595 2005/02/25 13:05:52 agc Exp $
> 
> There was no preexisting pkgsrc, as one of the disks on this machine 
> failed, so I am reinstalling / from scratch, including pkgsrc. On the 
> other hand, just to be sure, with a brand new pkgsrc tree from this 
> morning, plus with pkg_install and digest rebuilt, the same problem 
> happens.

The output you pasted was this:

> 221-Goodbye. You uploaded 0 and downloaded 821 kbytes.
> 221 Logout.
> + [ -n yes -a -f /usr/pkgsrc/misc/screen/distinfo -a -f
> /usr/pkgsrc/distfiles//screen-4.0.2.tar.gz ]
> + /usr/bin/awk NF == 4 && $2 == "(screen-4.0.2.tar.gz)" && $3 == "="
> {print $1;} /usr/pkgsrc/misc/screen/distinfo
> + alg=SHA1
> RMD160
> + [ -z SHA1
> RMD160 ]
> + /usr/local/bin/digest SHA1 RMD160
> RMD160
> + CKSUM=
> *** Error code 1

and if you look in bsd.pkg.mk for the "checksum" target, you'll see that
the awk command in 1.1595 is as follows:

CKSUM2=`${AWK} 'NF == 4 && $$1 == "'$$a'" && $$2 == "('$$file')" && $$3 == "=" {print $$4;}' ${DISTINFO_FILE}`; \

and in 1.1593 and before it was

alg=`${AWK} 'NF == 4 && $$2 == "('$$file')" && $$3 == "=" {print $$1;}' ${DISTINFO_FILE}`; \

so which version of bsd.pkg.mk do you think you were using?

Alistair