Skip site navigation (1)Skip section navigation (2)
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>