From owner-freebsd-ports@FreeBSD.ORG Sat Aug 2 07:13:46 2008 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0B16106564A for ; Sat, 2 Aug 2008 07:13:46 +0000 (UTC) (envelope-from freebsd@meijome.net) Received: from sigma.octantis.com.au (ns2.octantis.com.au [207.44.189.124]) by mx1.freebsd.org (Postfix) with ESMTP id ABB318FC18 for ; Sat, 2 Aug 2008 07:13:46 +0000 (UTC) (envelope-from freebsd@meijome.net) Received: (qmail 14748 invoked from network); 2 Aug 2008 02:13:49 -0500 Received: from 203-166-248-146.dyn.iinet.net.au (HELO ayiin) (203.166.248.146) by sigma.octantis.com.au with (DHE-RSA-AES128-SHA encrypted) SMTP; 2 Aug 2008 02:13:49 -0500 Date: Sat, 2 Aug 2008 17:13:42 +1000 From: Norberto Meijome To: freebsd-ports@freebsd.org Message-ID: <20080802171342.12e382c2@ayiin> In-Reply-To: References: <489144B5.4030101@FreeBSD.org> <4892022F.1080009@FreeBSD.org> <9bbcef730807311438m45802827y91c7bb7366406af6@mail.gmail.com> <4892B07A.60702@FreeBSD.org> X-Mailer: Claws Mail 3.5.0 (GTK+ 2.12.11; i386-portbld-freebsd7.0) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEX+/v7++v6YOTrq8PCcuIX989UvOSj++v0BNCbpAAAAB3RJTUUHsQwfFzs7RBhzUQAAAhJJREFUOI1dU8GOqzAMNKIoV1bvwD1i0ysqrHplIdBrVSX7ATSbd03VVvn9tQNtQy0hjAdn7LED4AAcPtWm9RV+MPSfxhBLx9ajd6X/ngB6/mTwnRSZua7i7Ca+0ctZKo4Qmz+JY13X6I3nFZBxIYW1PbgfQ5RP8g0XlltEWGf3cV03joYpRnFbvYDKbXjZlXyyhEZA4lI+cN3NaVXE4VKjSwTExO10eTEkkJVqIAD5z0nUBQJluQDRSQjcrBiHAJxZlAH5CUMBMC7OcJ4LMQNnxhZ1HYPscMc6J4UlWRMNwzOpCcAHKSICd1EDn83abdREIbXsHkD1OinP1aCUCOEVRaa1lMcvywUWdYgk13JQUpYNKmvXQ8Kw5ML9YI5h8SakctBc7E/IYuLhYd/zZIk+1gM1vNweQBvHE0j+oYah3sMqAytQYlZk6+ANaaawJdu3OFzYGMZ3iGpa3qMlq9ZH0VZTgrCtw/ngdYkEIIpSbP1bWQAdFdX9vocBdkH2qVjVmuMu3gI5rjs814EUdrCZgWlPaxZZ3RiLFUtr+ud0PXwp2dnQSNXgePt6AZpBj6UMJ7VQkzN4utVeaSW1Dhn/kblGrKeMvNGnzwX4zuEDarYz1KdPtR60Gul0Gued+515SJXhCsl+Tx/3kY/UDvicPll9mfu50t3tvQ/thZpJYgeuwdSKNJ6tCD98MCgoxLDaPxbwqqwPWaWiAAAAAElFTkSuQmCC Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: Call for comments - pkg_trans X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Aug 2008 07:13:47 -0000 On Fri, 01 Aug 2008 17:27:40 +0200 Ivan Voras wrote: (Apologies for the mini top-post, and the confusing quoting....is there a mailer that will actually quote properly ? :P ) ) > >>> BTW, I thought of another problem scenario. The user installs > >>> port M, and it brings dependencies D1, D2, and D3. Then the user > >>> installs port N which also has port D2 as a dependency. > >> > >> Port N then won't install D2 as it already exists. > > Ivan V. said > > Right, but D2 is still part of the transaction for N. If I roll back M > > but leave N installed, then roll back N, D2 should be removed > > (assuming for this example that D2 is not relevant to any other port). > >> The user can rollback [N], then rollback [M+D1+D2+D3]. Trying to > >> roll back back [M+D1+D2+D3] before [N] will show the user a message > >> about dependencies. > > DB> > I seriously doubt that users would put up with that. Trying to think as DB> > a user here, I certainly would not want to be told that in order to DB> > remove a port that I don't want I first have to remove one that I do. DB> > But perhaps I'm misunderstanding you again. +1 > This is a good point and I'm glad it's brought up. I think this will work: > > * When user tries to roll back [M+D1+D2+D3], notice that D2 needs to > stay because of N (I think I only need to notice that D2 is depended on > by something that isn't in the transaction being removed) right. > * Remove M, D1, D3 from the transaction, leave only D2 in the > transaction, as if only D2 was installed in it. > > As you said, it would be best if D2 was then grouped with N so both get > removed when N gets removed, but this is really out of scope for > pkg_trans - I'm not trying to solve complex interdependencies here :) > (or better said: I'm trying not to solve them...) Again, I am not sure the whole concept of transaction is needed after the installation of M has finished successfully. Of course, it'd be v useful (but configurable, pls!) if when installing D1, D2, D3 , the process fails, and u are not left hanging out with dependencies but not the intended package. But once M and all its dependencies are installed... why not keep it simple and figure out what you need to do via the dependencies? From Doug's email, that's what postmaster seems to do (sorry, i haven't tried postmaster yet). It is very likely I am missing something, but not sure what it is. cheers, B _________________________ {Beto|Norberto|Numard} Meijome I used to hate weddings; all the Grandmas would poke me and say, "You're next sonny!" They stopped doing that when i started to do it to them at funerals. I speak for myself, not my employer. Contents may be hot. Slippery when wet. Reading disclaimers makes you go blind. Writing them is worse. You have been Warned.