From owner-freebsd-x11@FreeBSD.ORG Tue Apr 17 19:11:24 2007 Return-Path: X-Original-To: x11@FreeBSD.org Delivered-To: freebsd-x11@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2149F16A400; Tue, 17 Apr 2007 19:11:24 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 02FA913C458; Tue, 17 Apr 2007 19:11:24 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id DF71D1A4D82; Tue, 17 Apr 2007 12:11:37 -0700 (PDT) Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id 1FE4F51441; Tue, 17 Apr 2007 15:11:20 -0400 (EDT) Date: Tue, 17 Apr 2007 15:11:19 -0400 From: Kris Kennaway To: Kris Kennaway Message-ID: <20070417191119.GA4997@xor.obsecurity.org> References: <1176818768.68849.25.camel@pav.hide.vol.cz> <20070417161400.GD1678@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="EVF5PPMfhYS0aIcm" Content-Disposition: inline In-Reply-To: <20070417161400.GD1678@xor.obsecurity.org> User-Agent: Mutt/1.4.2.2i Cc: sem@FreeBSD.org, Pav Lucistnik , x11@FreeBSD.org, portmgr@FreeBSD.org Subject: Re: xorg testdrive results X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Apr 2007 19:11:24 -0000 --EVF5PPMfhYS0aIcm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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: > >=20 > > libXft failed to portupgrade, because other version of libXft was > > already installed. Then it went all south. > >=20 > > So I ended up with a correct, new version of libXft-2.1.12 installed as > > dependency of xorg-libraries, and very confused portupgrade. > >=20 > > =3D=3D=3D> Registering installation for libxkbui-1.0.2 > > =3D=3D=3D> Returning to build of xorg-libraries-7.2 > > =3D=3D=3D> xorg-libraries-7.2 depends on file: /usr/local/libdata/pkg= config/xft.pc - not found > > =3D=3D=3D> Verifying reinstall for /usr/local/libdata/pkgconfig/xft.= pc in /usr/ports/x11-fonts/libXft > >=20 > > This went on before portupgrade decided to do a proper libXft upgrade. > >=20 > > Full typescript at http://people.freebsd.org/~pav/try1-typescript.gz > >=20 > > I'll start a new portupgrade -a now. It should just go on, as libXft is > > fit and well now. >=20 > It looks like it was upgraded correctly, but the problem was here: >=20 > ! x11-fonts/libXft (libXft-2.1.7_1) (Failed to rewrite /var/d= b/pkg/l > ibXft-2.1.7_1/+CONTENTS: No such file or directory - /var/db/pkg/libXft-2= .1.7_1/ > +CONTENTS) >=20 > OK, this seems to be because it upgraded twice. After the correct, > first upgrade above, it later tried again: >=20 > ---> Upgrading 'libXft-2.1.7_1' to 'libXft-2.1.12' (x11-fonts/libXft) >=20 > 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. >=20 > 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 --EVF5PPMfhYS0aIcm Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFGJRvXWry0BWjoQKURAtLxAKDoeP5BSrn8vvpJwVEnIUZilKAHhgCfcX3r 4+nD7LpY3PQRUMcYcQKLPD0= =Cc+2 -----END PGP SIGNATURE----- --EVF5PPMfhYS0aIcm--