From owner-freebsd-questions@FreeBSD.ORG Tue Jun 12 10:36:55 2007 Return-Path: X-Original-To: questions@FreeBSD.org Delivered-To: freebsd-questions@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 020AA16A41F for ; Tue, 12 Jun 2007 10:36:55 +0000 (UTC) (envelope-from xfb52@dial.pipex.com) Received: from smtp-out5.blueyonder.co.uk (smtp-out5.blueyonder.co.uk [195.188.213.8]) by mx1.freebsd.org (Postfix) with ESMTP id 94E8813C45B for ; Tue, 12 Jun 2007 10:36:54 +0000 (UTC) (envelope-from xfb52@dial.pipex.com) Received: from [172.23.170.144] (helo=anti-virus03-07) by smtp-out5.blueyonder.co.uk with smtp (Exim 4.52) id 1Hy3k4-0004wY-QB; Tue, 12 Jun 2007 11:36:52 +0100 Received: from [62.31.10.181] (helo=[192.168.23.2]) by asmtp-out1.blueyonder.co.uk with esmtp (Exim 4.52) id 1Hy3XC-0007GM-DI; Tue, 12 Jun 2007 11:23:34 +0100 Message-ID: <466E7426.3060905@dial.pipex.com> Date: Tue, 12 Jun 2007 11:23:34 +0100 From: Alex Zbyslaw User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-GB; rv:1.7.13) Gecko/20061205 X-Accept-Language: en MIME-Version: 1.0 To: Josh Tolbert References: <20070607204129.GA45269@just.puresimplicity.net> <466937C6.1010306@dial.pipex.com> <20070612034110.GA95034@just.puresimplicity.net> In-Reply-To: <20070612034110.GA95034@just.puresimplicity.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: questions@FreeBSD.org Subject: Re: portupgrade -o strangeness... X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 10:36:55 -0000 Josh Tolbert wrote: >On Fri, Jun 08, 2007 at 12:04:38PM +0100, Alex Zbyslaw wrote: > > >>Josh Tolbert wrote: >> >> >> >>>(15:38:21 ) $ pkg_info | grep bison >>>bison-1.75_2,1 A parser generator from FSF, (mostly) compatible with >>>Yacc >>>(15:38:30 ) $ sudo portupgrade -o devel/bison2 bison >>>(15:38:34 ) $ sudo portupgrade -fo devel/bison2 bison >>>---> Reinstalling 'bison-1.75_2,1' (devel/bison) >>> >>> >>> >>> >>Have you tried "sudo portupgrade -f -o devel/bison2 bison" in case it's >>some bug in parsing merged options? Worth a PR in any case... >> >>Failing that you could just pkg_delete bison and install bison2 afresh. >>You shouldn't have to but... >> >>--Alex >> >> > >Hi Alex, > >Yes, I did exactly that. Take a look at the example above. :) > > It doesn't look like what I was suggesting is the issue so it's all moot, but the example I can see: sudo portupgrade -fo devel/bison2 bison is different from what I was suggesting: sudo portupgrade -f -o devel/bison2 bison which deliberately split -f and -o. Your original version could reasonably be expected to work, but I have seen software (even written some :-)) which does not correctly parse flags when they are combined ("-fo") especially when one of them also takes an argument. That's not what's happening here, but my suggestion was always a shot in the dark. >Anyway, a PR has been filed and the response is, "it's a feature." I'm not >sure how it's a feature, but it is. The example I was given looks like this: > >$ pkg_version -t 2.3_1 1.75_2,1 >< > >I'm guessing it's just doing some odd string comparison instead of breaking >the version number apart and handling it with weight on the major version >number, etc. > > I find it bizarre too, since I don't even understand *why* the version numbers matter in that command line. You've said "upgrade using devel/bison2" as the origin and it's upgrading using "devel/bison". I could understand the version number bizarre-matching affecting *whether* portupgrade chooses to upgrade (so requiring -f) but not that it fails to honour the origin you've given. The pkg_version comparison is surely just wrong. The version numbers look correct to me. Interestingly, if you drop the ,1 from the second version, the answer is correct (on 5.4 anyway). $ pkg_version -t 2.3_1 1.75_2 > Or add a comma to the first $ pkg_version -t 2.3_1,1 1.75_2,1 > which looks like a bug to me, but maybe there's something non-standard about that version number. Blowed if I can see what; there are plenty of examples like it in my installed packages. There's definitely a bug in something. Software, bah. --Alex PS Presumably deinstalling bison and installing bison2 worked OK as a workaround?