Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jun 2017 21:30:11 -0400
From:      Baho Utot <baho-utot@columbus.rr.com>
To:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: Building base source
Message-ID:  <9c41c5df-9874-3e37-8f8c-f58c63419887@columbus.rr.com>
In-Reply-To: <20170611001151.d3d76bf8.freebsd@edvax.de>
References:  <e4198baf-27e2-2e25-c9b5-9f4dbaccde7e@columbus.rr.com> <44y3t19e5i.fsf@lowell-desk.lan> <872fe20f-fece-9980-2c8f-10e9492ab786@columbus.rr.com> <20170610052351.000ca108.freebsd@edvax.de> <df541c25-2a05-f3b9-9da6-138c55d7e73f@columbus.rr.com> <20170611001151.d3d76bf8.freebsd@edvax.de>

next in thread | previous in thread | raw e-mail | index | archive | help


On 06/10/17 18:11, Polytropon wrote:
> On Sat, 10 Jun 2017 09:40:37 -0400, Baho Utot wrote:
>>
>>
>> On 06/09/17 23:23, Polytropon wrote:
>>> On Fri, 9 Jun 2017 16:01:25 -0400, Baho Utot wrote:
>>>>
>>>>
>>>> On 06/09/17 15:03, Lowell Gilbert wrote:
>>>>> Baho Utot <baho-utot@columbus.rr.com> writes:
>>>>>
>>>>>> I am experimenting with building the base source.
>>>>>>
>>>>>> What do I need to set (which knobs) to be able to build the base
>>>>>> source and have the binaries built into a home directory.
>>>>>>
>>>>>> The source will be in /usr/src but I want all the binaries and all
>>>>>> other files produced by the build to goto in
>>>>>> /usr/home/FreeBSD/base/target.
>>>>>>
>>>>>> Will it be a copy of want is installed in the / (root) filesystem?
>>>>>
>>>>> https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
>>>>>
>>>>
>>>> I have already looked at that.  That is why I have the questions.  I
>>>> want to build the base as a user and have it install its stuff into a
>>>> subdirectory.
>>>
>>> There are two variables that you will need to set: the directory
>>> where the build happens, and the one where the result from that
>>> build will be written to. The solution is quite simple, and of
>>> course already present in the build infrastructure:
>>>
>>> Set MAKEOBJDIRPREFIX and DESTDIR to locations where your $USER
>>> has write access.
>>>
>>>
>>>
>>
>> I want to build with a user so if I make a mistake ( very likely ) it
>> will not damage the running system.  I have found that make
>> installkernel and installworld requires root user because it sets the
>> user as root perms regardless of where the install is going.
> 
> I think the main problem here is things like setuid; those
> tasks cannot be performed by a non-root user. Maybe you can
> check if a memebership in the groups wheel or operator is
> sufficient? In worst case, use su, sudo, or super (while
> having MAKEOBJDIRPREFIX and DESTDIR set to non-system
> locations).
> 
> 

The problem is that make installworld wants to chown to root:wheel which 
will not fly if you are not root.

The setuid may be an additional issue.  In linux one could still setuid 
will still not being root.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9c41c5df-9874-3e37-8f8c-f58c63419887>