Date: Sat, 30 Jan 2021 19:22:50 +0100 From: Polytropon <freebsd@edvax.de> To: freebsd@dreamchaser.org Cc: "Steve O'Hara-Smith" <steve@sohara.org>, freebsd-questions@freebsd.org, RW <rwmaillists@googlemail.com> Subject: Re: make config-recursive for an individual port Message-ID: <20210130192250.bb8ac8f1.freebsd@edvax.de> In-Reply-To: <a5ecd149-70f9-db5c-8bcb-db122492718f@dreamchaser.org> References: <5dfb1c4a-d7b3-2059-c76e-7cfd1490c812@dreamchaser.org> <20210130170828.0299f4b5@gumby.homeunix.com> <20210130171424.b9e0f55048c5c3b9cff042f5@sohara.org> <a5ecd149-70f9-db5c-8bcb-db122492718f@dreamchaser.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 30 Jan 2021 10:43:42 -0700, Gary Aitken wrote: > On 1/30/21 10:14 AM, Steve O'Hara-Smith wrote: > > On Sat, 30 Jan 2021 17:08:28 +0000 > > RW via freebsd-questions <freebsd-questions@freebsd.org> wrote: > > > >> Because that's what the "-recursive" part means - configure the current > >> port and anything it depends on. When you "make install" it will build > >> the dependencies that aren't already installed. > > I understand the -recursive will configure dependent ports. What I don't > understand is why it would configure dependent ports which are already > installed, since they will not be reinstalled. They will be re-installed in case you change options. Only a port with default options equals the already installed package. > It makes no sense to > configure them without first uninstalling them. You can reconfigure them, but only the "make install" step will require uninstalling them first. The configured options will stay; for example, running "make configure" will only allow you to change the options, but nothing else. The changed options might affect the "make" and "make install" stage, and might even introduce new dependencies. That "make configure" step can be done independently of the already installed package, such as the "make patch" step would. Only "make install" affects things that are connected with the already installed port, and "make" _could_ require (re)installation of dependencies, especially if those are build dependencies (as opposed to runtime dependencies) which a certain configuration option might require. Example: You have installed "foo" with the default settings. You do "make configure" and select "optimization". Now the dependency lists changes in a way that "bar-asm" is needed (which it wouldn't for the default settings). You run "make", and because bar-asm isn't there, it will be installed. You then run "make install" - and _here_ it stops because "foo" is still installed. At this stage de-installation and re-installation is needed, but not yet at the configuration stage (or even before it). > It is presuming install - configure - deinstall - build - install > is a reasonable sequence of operations, where a more reasonable one would > be install - deinstall - configure - build - install. Reconfiguring a port does not imply you first have to uninstall it. As mentioned above, only the installation step requires uninstallation of the already installed port, not the configuring step. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210130192250.bb8ac8f1.freebsd>