From owner-freebsd-ports@FreeBSD.ORG Tue Feb 14 12:14:57 2006 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE52516A420 for ; Tue, 14 Feb 2006 12:14:57 +0000 (GMT) (envelope-from laszlof@vonostingroup.com) Received: from ritamari.vonostingroup.com (ritamari.vonostingroup.com [216.144.193.230]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E2BD43D45 for ; Tue, 14 Feb 2006 12:14:57 +0000 (GMT) (envelope-from laszlof@vonostingroup.com) Received: from c-71-227-92-22.hsd1.mi.comcast.net ([71.227.92.22] helo=[192.168.0.6]) by ritamari.vonostingroup.com with esmtpa (Exim 4.60 (FreeBSD)) (envelope-from ) id 1F8z5l-000PQo-LG; Tue, 14 Feb 2006 07:15:37 -0500 Message-ID: <43F1C9BE.8040507@vonostingroup.com> Date: Tue, 14 Feb 2006 07:14:54 -0500 From: "Frank J. Laszlo" User-Agent: Thunderbird 1.5 (X11/20060123) MIME-Version: 1.0 To: Robert Backhaus References: <43F103B4.6080601@vonostingroup.com> <1386.201.155.124.120.1139882008.squirrel@webmail.i13i.com> <43F1498F.3040107@vonostingroup.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - ritamari.vonostingroup.com X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [26 6] X-AntiAbuse: Sender Address Domain - vonostingroup.com X-Source: X-Source-Args: X-Source-Dir: Cc: freebsd-ports@freebsd.org Subject: Re: Port installation without root access X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Feb 2006 12:14:58 -0000 Robert Backhaus wrote: > On 2/14/06, Frank J. Laszlo wrote: > >> chris@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@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-ports >>>> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@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@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-ports >> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@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