xorg testdrive results

Kris Kennaway kris at obsecurity.org
Tue Apr 17 19:11:24 UTC 2007


On Tue, Apr 17, 2007 at 12:14:01PM -0400, Kris Kennaway wrote:
> On Tue, Apr 17, 2007 at 04:06:08PM +0200, Pav Lucistnik wrote:
> > Portupgrade finished with these failures:
> > 
> > libXft failed to portupgrade, because other version of libXft was
> > already installed. Then it went all south.
> > 
> > So I ended up with a correct, new version of libXft-2.1.12 installed as
> > dependency of xorg-libraries, and very confused portupgrade.
> > 
> > ===>   Registering installation for libxkbui-1.0.2
> > ===>   Returning to build of xorg-libraries-7.2
> > ===>   xorg-libraries-7.2 depends on file: /usr/local/libdata/pkgconfig/xft.pc - not found
> > ===>    Verifying reinstall for /usr/local/libdata/pkgconfig/xft.pc in /usr/ports/x11-fonts/libXft
> > 
> > This went on before portupgrade decided to do a proper libXft upgrade.
> > 
> > Full typescript at http://people.freebsd.org/~pav/try1-typescript.gz
> > 
> > I'll start a new portupgrade -a now. It should just go on, as libXft is
> > fit and well now.
> 
> It looks like it was upgraded correctly, but the problem was here:
> 
>         ! x11-fonts/libXft (libXft-2.1.7_1)     (Failed to rewrite /var/db/pkg/l
> ibXft-2.1.7_1/+CONTENTS: No such file or directory - /var/db/pkg/libXft-2.1.7_1/
> +CONTENTS)
> 
> OK, this seems to be because it upgraded twice.  After the correct,
> first upgrade above, it later tried again:
> 
> --->  Upgrading 'libXft-2.1.7_1' to 'libXft-2.1.12' (x11-fonts/libXft)
> 
> The problem appears to be that portupgrade isn't recognizing that
> libXft should be upgraded before xorg-libraries.  Instead it is being
> treated as a new installation, which leaves two versions installed
> (2.1.7_1 and 2.1.12), which is why it later tries to upgrade a second
> time.
> 
> I wonder if a pkgdb -L before the upgrade will fix it.

OK, as I mentioned in my previous message it didn't help because it
would have needed a massive interactive pkgdb -F session to complete
(not really acceptable).  I think the behaviour of portupgrade
described above is incorrect.  There are two possible ways to look at
it being wrong:

* The xorg 7.2 ports have sprouted a whole bunch of new dependencies
(e.g. xorg-libraries now depends on libXft).  However for some reason
existing ports like libXft are not being upgraded prior to the ports
that now depend on them.  Note that the INDEX correctly records these
dependencies, so perhaps portupgrade is not checking for changes to
the dependency lists in the INDEX at runtime, but instead assuming
that the old dependencies recorded in the installed package are still
correct.

* When xorg-libraries builds, it notices that libXft needs to be
reinstalled (since it moved from /usr/X11R6 to /usr/local).  It
(actually bsd.port.mk) goes and installs libXft which completes
successfully, but portupgrade doesn't remove libXft from the list of
ports remaining to be upgraded (probably because it didn't notice that
bsd.port.mk installed a duplicate version of the port on its own
initiative), so later on it tries again to upgrade from
"libXft-2.1.7_1" to "libXft-2.1.12", even though it already did this
(in fact both versions are installed, the old in /usr/X11R6 and the
new in /usr/local).  I think this is actually a consequence of the
first bug (libXft should have been upgraded before xorg-libraries was,
so it should not have reached the "libXft ... - not found" in the
first place.

Sem, can you please take a look at the above analysis and the
typescript of the failed upgrade here:
http://people.freebsd.org/~pav/try1-typescript.gz and try to find a
solution?

Unfortunately it looks as if the xorg upgrade is going to block on
this issue, so we need to find a solution ASAP.

Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-x11/attachments/20070417/29c31347/attachment.pgp


More information about the freebsd-x11 mailing list