Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jul 2014 18:08:08 +0200
From:      Wolfgang Jenkner <wjenkner@inode.at>
To:        Jakub Lach <jakub_lach@mailplus.pl>
Cc:        freebsd-gecko@freebsd.org, Vsevolod Stakhov <vsevolod@highsecure.ru>
Subject:   Re: firefox-30.0_2,1 and graphics/jpeg
Message-ID:  <8561ih78o6.fsf@iznogoud.viz>
References:  <1406221793447-5931462.post@n5.nabble.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 24 2014, Jakub Lach wrote:

> I have installed graphics/libjpeg-turbo in place of graphics/jpeg.
me too...

> All ports respected that, yet firefox-30.0_2,1 insists on installing
> graphics/jpeg and thanks to that upgrade fails.
>
> Why?
>
> What have been changed?

I use portmaster and find that I have the same problem with other ports
which depend on graphics/jpeg.  Now, portmaster uses the entries in the
CONFLICTS line of the ports Makefile as glob patterns for alternative
providers for the missing dependency (see the code around line 2773).

In our case, we have

CONFLICTS=	libjpeg-turbo-[0-9]*

However, for current versions of pkg, the pattern fails to match

$ pkg --version; pkg query -g "%n-%v" 'libjpeg-turbo-[0-9]*'; echo $?
1.3.2
69
$ 

Bisecting shows where the regression was introduced; here are the last
two steps

$ ./src/pkg --version; ./src/pkg query -g "%n-%v" 'libjpeg-turbo-[0-9]*'; echo $?
1.3.0.b2-fa815ff
pkg: warning: database version 27 is newer than libpkg(3) version 26, but still compatible
69
$ ./src/pkg --version; ./src/pkg query -g "%n-%v" 'libjpeg-turbo-[0-9]*'; echo $?
1.3.0.b2-d7fd521
pkg: warning: database version 27 is newer than libpkg(3) version 26, but still compatible
libjpeg-turbo-1.3.0
0
$ 

So, it's

  commit fa815ff62cbb75def399878e304b8d687e66ad65
  Date:   Mon May 26 14:25:00 2014 +0100

  Speed up slow versions queries.

IIUC, the new code tries to split the glob pattern in a `name' and
`version' part, but is somewhat confused by the `-' in the version part.

As a work-around, it is enough to change the CONFLICTS line to

CONFLICTS=	libjpeg-turbo

or even to

CONFLICTS=	libjpeg-turbo-[0123456789]*

which is equivalent to the original line and does not trigger the pkg
bug.

Wolfgang



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8561ih78o6.fsf>