Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Mar 2002 03:28:19 -0600
From:      "Mike Meyer" <mwm-dated-1016357299.b208e5@mired.org>
To:        "Jay Krell" <jay.krell@cornell.edu>
Cc:        <questions@freebsd.org>
Subject:   Re: ports -- recursive make vs. recursive make install vs. su
Message-ID:  <15501.51763.23175.569530@guru.mired.org>
In-Reply-To: <000701c1c9a5$224e7b00$0100a8c0@jayk1>
References:  <000701c1c9a5$224e7b00$0100a8c0@jayk1>

next in thread | previous in thread | raw e-mail | index | archive | help
Jay Krell <jay.krell@cornell.edu> types:
> Here's something that bugs me about the ports, but I hope it's just due to
> some lack of understanding on my part:
> 
> cd /usr/ports
> su
> chmod -R a+rw .
> control-d back to non-root
> cd net/foo
> make
> foo depends on bar, make automatically goes to ../net/bar, does make, tries
> make install, it fails

Which is the correct behavior, as you generally don't want non-root
users installing software.

> What I'd _like_..and I guess this might just be really hard, I'd like for
> dependencies to be meetable via /usr/ports/net/bar/work/... instead of
> requiring bar to be make installed..or at least that's one "solution" I can
> imagine. What I know works is that I can go to /usr/ports/net/foo, su, make,
> and so both make and make install run as root.

Some ports already do that, but it's kind of kludgy. Possibly they've
all stopped as well.

First thing to understand is that there are two types of dependencies:
RUN and BUILD. If foo has a runtime dependency on bar, then you've got
to have bar installed for foo to run properly. If someone comes along
and "cleans" the port. foo is going to quit working. If it's just a
build dependency - well, those are the cases I've seen do that in the
past. The problem here is that the port may not run properly without
it's configuration files installed, etc. I.e. - even if you could run
it out of the work area, there's no guarantee that it would behave
properly.

> Or am I missing something? Is there already an option to "run" ports out of
> the built/work directory, instead of make installing them?

Nope, there isn't such an option. In fact, there are ports that have
no dependencies that won't work until you install them, because
installing them installs data files or libraries that they need.

	<mike
--
Mike Meyer <mwm@mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15501.51763.23175.569530>