firefox-30.0_2,1 and graphics/jpeg
Wolfgang Jenkner
wjenkner at inode.at
Mon Jul 28 16:25:29 UTC 2014
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
More information about the freebsd-gecko
mailing list