Subject: Re: depends on tiff>=3.5.4 but tiff-3.5.7 already installed
To: Jeremy C. Reed <reed@reedmedia.net>
From: Alistair Crooks <agc@wasabisystems.com>
List: tech-pkg
Date: 04/19/2002 10:41:36
On Thu, Apr 18, 2002 at 01:53:11PM -0700, Jeremy C. Reed wrote:
> I was installing icewm-gnome package. And it installed tiff (and 13 other
> packages). Then it failed with:
> 
> Package `icewm-gnome-1.0.9.2nb1' depends on `tiff>=3.5.4'.
>  - tiff-3.5.7 already installed.
> 
> $ ident `which pkg_add`
> /usr/sbin/pkg_add:
>      $NetBSD: crt0.c,v 1.11 2000/06/14 22:52:49 cgd Exp $
>      $NetBSD: main.c,v 1.15.2.5 2001/04/24 23:11:45 he Exp $
>      $NetBSD: perform.c,v 1.52.2.6 2001/03/30 22:42:33 he Exp $
>      $NetBSD: futil.c,v 1.8 1999/08/24 00:48:38 hubertf Exp $
>      $NetBSD: extract.c,v 1.21.2.1 2000/07/24 23:05:08 dmcmahill Exp $
>      $NetBSD: version.c,v 1.1.2.1 2001/03/20 18:09:21 he Exp $
>      $NetBSD: plist.c,v 1.26.4.2 2001/04/24 22:25:26 he Exp $
>      $NetBSD: pkgdb.c,v 1.7.2.1 2001/03/20 18:13:43 he Exp $
>      $NetBSD: str.c,v 1.23.2.3 2001/05/01 11:01:09 he Exp $
>      $NetBSD: ftpio.c,v 1.20.2.11 2001/05/01 11:01:41 he Exp $
>      $NetBSD: file.c,v 1.37.4.8 2001/03/20 18:12:06 he Exp $
>      $NetBSD: pen.c,v 1.16.8.2 2001/03/20 18:12:39 he Exp $
>      $NetBSD: global.c,v 1.6 1999/08/24 00:48:39 hubertf Exp $
>      $NetBSD: exec.c,v 1.7 2000/01/19 23:28:32 hubertf Exp $
> 
> Any ideas?

A -current box shows that some things have been updated:

[9:26:18] agc@sys1 /usr/pkgsrc/mk 33 > ident `which pkg_add`
/usr/sbin/pkg_add:
     $NetBSD: crt0.c,v 1.12 2001/12/30 23:23:38 thorpej Exp $
     $NetBSD: main.c,v 1.23 2001/09/25 10:28:16 agc Exp $
     $NetBSD: perform.c,v 1.63 2002/04/02 15:08:33 agc Exp $
     $NetBSD: futil.c,v 1.8 1999/08/24 00:48:38 hubertf Exp $
     $NetBSD: extract.c,v 1.23 2001/09/26 13:48:27 hubertf Exp $
     $NetBSD: verify.c,v 1.2 2001/09/25 11:42:56 agc Exp $
     $NetBSD: version.c,v 1.1 2001/03/05 16:53:14 wiz Exp $
     $NetBSD: plist.c,v 1.32 2002/03/05 13:01:21 agc Exp $
     $NetBSD: pkgdb.c,v 1.9 2001/09/16 16:34:45 wiz Exp $
     $NetBSD: str.c,v 1.33 2002/02/02 15:30:18 yamt Exp $
     $NetBSD: ftpio.c,v 1.34 2001/12/30 04:46:21 hubertf Exp $
     $NetBSD: file.c,v 1.48 2001/09/26 13:48:28 hubertf Exp $
     $NetBSD: pen.c,v 1.19 2001/01/05 03:27:28 lukem Exp $
     $NetBSD: global.c,v 1.6 1999/08/24 00:48:39 hubertf Exp $
     $NetBSD: exec.c,v 1.8 2001/09/24 13:22:37 wiz Exp $
[9:26:20] agc@sys1 /usr/pkgsrc/mk 34 >

If you were installing binary packages, then the version of perform.c
may be significant - I added a @blddep directive to PLISTs just
recently (1.62, minor correction in 1.63). This records the version
of the dependent package with which this package was built, and,
on binary package addition, attempts to retrieve that version of
the package.

> ----------------------------
> revision 1.63
> date: 2002/04/02 15:08:33;  author: agc;  state: Exp;  lines: +6 -3
> Check the return code from the second invocation of installprereq(), to
> make sure that a failed installation of a rpe-requisite package kills
> the attempt to add the package. This reverts pkg_add(1) to traditional
> behaviour.
> 
> Bump version number accordingly.
> ----------------------------
> revision 1.62
> date: 2002/03/06 17:45:20;  author: agc;  state: Exp;  lines: +164 -132
> When adding packages via pkg_add(1), and a pre-requisite package needs
> to be added, first try to use the exact version of the pre-requisite
> with which the base package was built (from the @blddep directive in
> the +CONTENTS file), and then use the traditional dependency from the
> @pkgdep directive.
> 
> Also rename a variable from "code" to "errc" to make it obvious what
> the variable counts.
> 
> Bump version number to 20020306.
> ----------------------------

As you're using 1.5.3, this was pulled up to the branch by the following:

> ----------------------------
> revision 1.52.2.6
> date: 2001/03/30 22:42:33;  author: he;  state: Exp;  lines: +2 -3
> Pull up revision 1.58 (requested by hubertf):
>   Make pkg_add not abort when it should not.
> ----------------------------

If you were installing from source, then the version number comparison
code will be significant - it's in str.c. I overhauled the comparison
code in version 1.32.

> ----------------------------
> revision 1.32
> date: 2002/01/09 16:17:08;  author: agc;  state: Exp;  lines: +199 -66
> Pull in a much simplified version of the vtest functionality. This new
> functionality adds recognition of '_' and "pl" as pseudonyms for '.',
> so that 1.2p2 == 1.2.2, and adds recognition of "pl" and "rc" strings,
> which stand for "patchlevel" and "release candidate" respectively.
> 
> In addition, this version should handle alphabetic characters properly
> (so that 1.2e == 1.2.5)
> 
> Normal NetBSD revision number processing has been retained (and is always
> compared after all other tests have been performed).
> 
> 64-bit integers are used internally for each component of the version
> number.
> ----------------------------

As you're using 1.5.3, this was pulled up to the branch by the following:

> ----------------------------
> revision 1.23.2.4
> date: 2002/02/23 18:15:48;  author: he;  state: Exp;  lines: +224 -162
> Pull up revisions 1.30-1.33 (requested by seb):
>   Synchronize with recent developments:
>    o Improve version number handling by recognizing "pl" and "rc"
>    o Various internal cleanups, bugfixes, and API tweaks
> ----------------------------

I'm not sure if newer tools would help you, but there's a chance.

Regards,
Alistair