Port installation without root access

Frank J. Laszlo laszlof at vonostingroup.com
Tue Feb 14 04:14:58 PST 2006


Robert Backhaus wrote:
> On 2/14/06, Frank J. Laszlo <laszlof at vonostingroup.com> wrote:
>   
>> chris at i13i.com wrote:
>>     
>>>>     This has been on my TODO list for quite some time now, and I havent
>>>> really gotten around to actually implementing it. As it stands right
>>>> now, I have a script that allows normal users to build/install ports
>>>> with some environment trickery and a few hacks. I'd like to integrate
>>>> this into the ports system. so it would be as simple as a user
>>>> specifying a particular variable in their environment, NOROOT_BUILD, or
>>>> something along those lines, as well as other user specified variables
>>>> to allow full installation without root access.
>>>>     Normal users would be able to maintain their own package database,
>>>> and their own upgrades locally. Obviously we do not want to give normal
>>>> users access to ALL the ports, so i propose adding functionality to
>>>> allow the system admin to customize what the normal users have access
>>>> to. Such as a config file that says which ports they can and cannot
>>>> install, or whether to allow normal user installations at all.
>>>>     At this point im just probing for interest, and hoping to recruit a
>>>> couple port guru's to give me a hand with some of the details. :)
>>>>
>>>> Regards,
>>>>     Frank
>>>> _______________________________________________
>>>> freebsd-ports at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
>>>> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
>>>>
>>>>
>>>>         
>>> Hello,
>>> If you are going to allow users to install packages you mind as well give
>>> them root or admin privileges i dont see the point in letting users able
>>> to install [ackages on a machine which has more then one user on it but i
>>> am just commenting as most users normally need to install a couple things
>>> mostly irc crap like eggdrops or bnc's i have never had a email from a
>>> customer saying please install KDE for me
>>>
>>>       
>> That is very true.. but you have to remember. not all users are going to
>> be remote. There are other uses for freebsd than a web or a shell server.
>>
>> Regards,
>>     Frank
>> _______________________________________________
>> freebsd-ports at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
>> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
>>
>>     
> It does make sense to install ports into, say, ~/local . I can see
> three things that you need: Wrtie access to the distfiles directory,
> (if you need to fetch), PREFIX set, and MAKEOBJDIR set to somewhere
> spacious and writeable.
>
> My limited experience is that this works, at least for the trivial
> ports for which user installation makes sense. Unless - Do ports
> recognise libraries/dependencies installed to /usr/local if PREFIX is
> altered?
>   

Yes, they do. thanks to ldconfig. But there are more things to 
workaround. Such as PKG_DBDIR (remember I said the user would maintain 
their own package database) mtree also requires root when being called 
from ports. So we need to set NO_MTREE. And user defined make arguments. 
each user could have their own custom make.conf, thanks to __MAKE_CONF. 
I also ran into a little problem with ranlib.. Usually before ranlib is 
run, the file is read only. Only root is able to write to a file with no 
write flag set. This wouldnt be a problem if the library was installed 
before ranlib is run, but that sometimes isnt the case. the user could 
also maintain their own linker hints file.

Regards,
    Frank


More information about the freebsd-ports mailing list