Date: Mon, 16 Nov 2009 19:31:56 -0900 From: Mel Flynn <mel.flynn+fbsd.ports@mailing.thruhere.net> To: Doug Barton <dougb@FreeBSD.org> Cc: ports@freebsd.org, Sandra Kachelmann <s.kachelmann@googlemail.com> Subject: Re: remove BUILD_DEPENDS automatically after install Message-ID: <261861aa7cab3333176811dd23d15fc4@sbmail.office-on-the.net> In-Reply-To: <4B01E71F.5050909@FreeBSD.org> References: <91b92520911151444k742351bfl9ae20fb82a604bd5@mail.gmail.com> <20091116000643.GA14996@owl.midgard.homeip.net> <91b92520911160312q62c777absb735c44334328f05@mail.gmail.com> <4B01E71F.5050909@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 16 Nov 2009 15:58:23 -0800, Doug Barton <dougb@FreeBSD.org> wrote= : > Sandra Kachelmann wrote: >> (portmaster author cc:ed) >>=20 >> On Mon, Nov 16, 2009 at 1:06 AM, Erik Trulsson <ertr1013@student.uu.se= > >> wrote: >>> On Sun, Nov 15, 2009 at 11:44:04PM +0100, Sandra Kachelmann wrote: >>>> Is there a reason why BUILD_DEPENDS aren't being removed after a por= t >>>> has been installed and if no other installed port depends on it? >>> How do you know that the user does not want that port installed? >>> And what if the user will install 20 other ports afterwards - all of >>> which >>> is that same port as a BUILD_DEPENDS - should that port be >>> installed/deinstalled each and every time? >>=20 >> It would be nice if this was configurable. Maybe it could be even >> integrated into portupgrade or portmaster. If such a port is installed >> directly it could get a package entry DIRECT_INSTALLED=3Dyes in >> /var/db/pkg/.. or something (there is probably a better way to do >> this). >=20 > I have a new feature in the svn version of portmaster called > --packages-build that for any given run creates an internal list of > dependencies that are only ever listed as build deps (never run deps) > and installs packages for them but builds everything else. This > feature was created at the request of one of companies that sponsored > the package installation code. Currently it does not pkg_delete those > packages when it's done, but I could easily add that. \o/ > Actually I suppose it would not be too hard to extend that "list of > build only deps" idea to a general feature which deletes them when > done. Something like --delete-build-only maybe? This would be limited > to the subset of the list of build-only deps that portmaster actually > installed. Just because something is build-only for a given run of > portmaster doesn't mean that it isn't a run dep for something else if > it is already installed. I think this can be handled better with a "--finish-cmd". After portmaste= r is done with everything, exec the finish command. A port build server can then pkg_delete -a and see what's still left in $PREFIX, while a casual user can run pkg_cutleaves -xRg to add the newly installed leafs to the exclude file and remove the build dependencies and their dependencies. >>> (Personally I would be *very* annoyed if, for example, libtool or >>> automake/autoconf would be reinstalled every time I installed a port >>> which >>> had one of them as a build-time dependency. =20 >=20 > Well then don't use the option. :) Options are generally good things. With libtool there is a gotcha though. If you change CC/CXX, libtool has to be rebuilt, so the package may not be valid. --=20 -- Mel
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?261861aa7cab3333176811dd23d15fc4>