From owner-freebsd-stable@FreeBSD.ORG Tue Jul 28 11:42:12 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9DDA1065672 for ; Tue, 28 Jul 2009 11:42:12 +0000 (UTC) (envelope-from ben@morrow.me.uk) Received: from relay.pcl-ipout01.plus.net (relay.pcl-ipout01.plus.net [212.159.7.99]) by mx1.freebsd.org (Postfix) with ESMTP id 62DE38FC1A for ; Tue, 28 Jul 2009 11:42:12 +0000 (UTC) (envelope-from ben@morrow.me.uk) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAKN5bkrUOFPl/2dsb2JhbADSS4QMBQ Received: from plesk-mail01.plus.net ([212.56.83.229]) by relay.pcl-ipout01.plus.net with ESMTP; 28 Jul 2009 12:12:54 +0100 Received: (qmail 8395 invoked from network); 28 Jul 2009 11:12:53 +0000 Received: from host81-155-197-140.range81-155.btcentralplus.com (HELO ?192.168.1.65?) (81.155.197.140) by plesk-mail01.plus.net with SMTP; 28 Jul 2009 11:12:53 +0000 Message-ID: <4A6EDD32.6000800@morrow.me.uk> Date: Tue, 28 Jul 2009 12:12:50 +0100 From: Ben Morrow User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) MIME-Version: 1.0 To: Doug Barton References: <1248027417.14210.110.camel@neo.cse.buffalo.edu> <58F0204B-ECE6-479A-AAC2-7868E71ABB43@exscape.org> <367b2c980907200729s57eafbbfw83c8ae5a94f41ffc@mail.gmail.com> <4A6628F0.6080802@mail.zedat.fu-berlin.de> <20090721215201.GA61999@troutmask.apl.washington.edu> <1248277420.8644.70.camel@localhost> <20090722193033.GA83848@zim.MIT.EDU> <20090723011246.GA29465@osiris.mauzo.dyndns.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-stable@freebsd.org Subject: Re: portmaster -s text (Was: Re: HEADS-UP: Shared Library Versions bumped) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2009 11:42:13 -0000 Doug Barton wrote: > On Thu, 23 Jul 2009, Ben Morrow wrote: > >> The problem with that is if you install pkg A deliberately, but it then >> later becomes a dependancy of pkg B. If you remove pkg B (because it's >> no longer needed) there is then no evidence that pkg A was installed on >> purpose, rather than incidentally. portmaster -s will offer to remove >> it, and if you refuse it will offer to remove the empty +REQUIRED_BY, >> effectively promoting it to a 'manually installed' pkg again, though >> it's perhaps not entirely clear from the question that that is what the >> effect will be. > > Thanks for pointing this out. Can you suggest an alternative message? > Other than the mundane reason the current message says what it does > because I sometimes prefer to leave the empty file there so that when I > go back through at a later date I can re-evaluate the choice. Yes, I can see it needs to be an option. Presumably 'don't ask me again' is too Microsoft :)? Maybe something like 'Mark this package as explicitly required?'? That's pretty much the user-visible effect. I know the first time I saw that message, when I didn't really understand what it meant, my reaction was 'Delete something? No!' which wasn't the right answer. >> This would be easy to solve in general by maintaining a 'world' package, >> or some such, that had dependencies on everything installed explicitly; >> but that would require modifying all the pkg and port installation tools >> (probably including bsd.port.mk itself) to support that convention. > > This sort of mechanism has been suggested before, but the problem you > described (ports installed "on purpose" becoming a dependency of > something else) is not an easy one to solve. No. I have occasionally wondered if a sensible solution would be to drop portmaster/portupgrade altogether and just maintain a local sysutils/world port with a list of what I want installed, and 'make deinstall reinstall' whenever it changes (with something like pkg_cutleaves to clear out the trash). I suspect I would lose something I'm currently relying on (certainly, portmaster's -o and -r options wouldn't be trivial to emulate) but it does seem to me that both portmaster and portupgrade spend an awful lot of time doing things like tracking dependancies that bsd.port.mk already does for you. Ben