From owner-freebsd-gnome@FreeBSD.ORG Sun Oct 23 02:18:04 2011 Return-Path: Delivered-To: freebsd-gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6E74106566B for ; Sun, 23 Oct 2011 02:18:04 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id 8220C8FC1A for ; Sun, 23 Oct 2011 02:18:04 +0000 (UTC) Received: by wwi18 with SMTP id 18so7234918wwi.31 for ; Sat, 22 Oct 2011 19:18:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=mime-version:reply-to:date:message-id:subject:from:to:content-type; bh=wzfWTPjYK2/YIetYeDeabBSnlXKpEerbLxEc6otiBV4=; b=wJ6vT/ZCgyuCeU57LKj2nVbuNq7ncM2XuWX6NxlOLtY3UNOR4DVJjAdJHxzVjZjHNb 0fbI7oMPjglpZCcgQ62eT4b2MJtcSibKy4bHYLCWkTjqMfBea4HhLZunh14v4lH3Hyx0 OxTwvhPPAHyWVQvJ99SPu9+NsgUCJ3ealTyPY= MIME-Version: 1.0 Received: by 10.216.230.94 with SMTP id i72mr1413232weq.89.1319334571636; Sat, 22 Oct 2011 18:49:31 -0700 (PDT) Received: by 10.180.98.5 with HTTP; Sat, 22 Oct 2011 18:49:31 -0700 (PDT) Date: Sat, 22 Oct 2011 21:49:31 -0400 Message-ID: From: "b. f." To: freebsd-gnome@FreeBSD.org, "Ronald F. Guilmette" , dougb@FreeBSD.org Content-Type: text/plain; charset=ISO-8859-1 Cc: Subject: Re: Build problem - help wanted X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: bf1783@gmail.com List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Oct 2011 02:18:05 -0000 > > > As I understand it, portinstall and portupgrade are just two faces of the > > >> same coin, the only difference being that portinstall does nothing if the > > >> specified port is already installed whereas portupgrade does nothing if > > >> the specifioed port is NOT already installed. > > > > > >Ah, I wasn't aware that portinstall was part of portupgrade. In any case > > >I think your assumption about what portupgrade does is wrong. My > > >understanding is that by default it will upgrade ports that are > > >dependencies of the ports that you are upgrading or installing. > > > > If by that you mean that portupgrade normally unpgades things that depend > > upon the port mentioned in the command line when portupgrade is invoked, > > then all I can say is that in my experience this is not correct, and that > > although portupgrade _can_ be made to do that, one has to use the special > > -r option to make it do that (which I have not used). I think Doug is talking about updates in the other direction along the dependency tree, which corresponds to "portupgrade -R". The portinstall manpage states that portinstall is simply "portupgrade -N", and the portupgrade manpage suggests that "-N" implies "-R": "Prior to the installation [sic] a new port/package, all the required packages are upgraded." I haven't checked the code to see if this true. If it isn't then either the manpages or portupgrade/portinstall need to be fixed. > > > > >> In short, the problem isn't with the specific port maintenance tools I'm > > >> using. Rather, the problem is, as I've been saying, an imperfection in > > >> the actual dependencies list for the x11-toolkits/gtk20 port. (The de- > > >> pendencies need to force a build & install of some specific version of > > >> gobject-introspection which is more recent than 0.9.12... probably 0.10.x. > > >> Otherwise, cryptic build failure of gtk may ensue, and has, apparently, > > >> for myself and numerous other people.) Well, there may be problems with both, if portinstall isn't behaving as announced, and you had an up-to-date ports tree, index, pkgdb, and portsdb. But with regard to the dependency list, I think that Doug is saying that, although there is a mechanism to specify the version(s) of a required port, the maintainers will not often go to the trouble of using the mechanism, unless multiple versions of the required port coexist in the ports tree (this is because the dependency information is one more thing that needs to be checked and updated later, and causes more churn in the VCS used for the ports tree). Instead the maintainers will update the ports tree in such a way that if you have a complete and up-to-date ports tree, and you update your installed ports in dependency order, then you should not encounter problems. However, if you do not update your installed ports in dependency order, intentionally or otherwise, you are breaking this implicit assumption. Hence Doug's statement that "partial updates" are not supported. > > > > > >I'm not sure you're right about that. I think that if you had used > > >portupgrade you probably would have seen the result we're looking for > > >(upgrading gobject-introspection first). > > > > > >In any case, I'm *certain* that you would have seen the proper results > > >if you had used portmaster, so perhaps you should consider giving it a try. > > > > I'm sorry, but I have neither the time nor the inclination to not de-install > > all fo the ports that I've so tediously built & installed, overe several days, > > just to perform this experiment. > I think Doug was talking about using portmaster for future updates. But if you want to conduct experiments without spending the same amount of time, you can always back up your installed ports by using the "-b" switch with portupgrade, portmaster, or pkg_create -- then it is only a matter of a few minutes to restore them after the experiments. While doing the experiments, you can avoid rebuilding packages by using -P, -PP, or -n with portupgrade or portmaster. These switches can also be helpful during normal updates. b.