From owner-freebsd-current@FreeBSD.ORG Fri Jan 21 23:32:34 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 76CEF16A4CE for ; Fri, 21 Jan 2005 23:32:34 +0000 (GMT) Received: from postfix3-2.free.fr (postfix3-2.free.fr [213.228.0.169]) by mx1.FreeBSD.org (Postfix) with ESMTP id B77BF43D1F for ; Fri, 21 Jan 2005 23:32:33 +0000 (GMT) (envelope-from tataz@tataz.chchile.org) Received: from tatooine.tataz.chchile.org (vol75-8-82-233-239-98.fbx.proxad.net [82.233.239.98]) by postfix3-2.free.fr (Postfix) with ESMTP id 026E9C010; Sat, 22 Jan 2005 00:32:31 +0100 (CET) Received: by tatooine.tataz.chchile.org (Postfix, from userid 1000) id 6BCA8407C; Sat, 22 Jan 2005 00:32:21 +0100 (CET) Date: Sat, 22 Jan 2005 00:32:21 +0100 From: Jeremie Le Hen To: Peter Jeremy Message-ID: <20050121233221.GE36660@obiwan.tataz.chchile.org> References: <20050121151747.GA36660@obiwan.tataz.chchile.org> <50158.208.4.77.66.1106323175.squirrel@208.4.77.66> <20050121183546.GC68808@cirb503493.alcatel.com.au> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="2fHTh5uZTiUOsy+g" Content-Disposition: inline In-Reply-To: <20050121183546.GC68808@cirb503493.alcatel.com.au> User-Agent: Mutt/1.5.6i cc: freebsd-current@freebsd.org cc: Jeremie Le Hen Subject: Re: Cannot install kernel as user X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jan 2005 23:32:34 -0000 --2fHTh5uZTiUOsy+g Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, Jan 22, 2005 at 05:35:46AM +1100, Peter Jeremy wrote: > On Fri, 2005-Jan-21 08:59:35 -0700, Ryan Sommers wrote: > >> I thought about adding a flag such as NO_INSTALLCHOWN in both > >> kern.post.mk and kmod.mk. What do you think of the idea ? > >> > >> I saw there are KMODOWN and KMODGRP in kmod.mk, but it seems there is > >> no similar facility in kern.post.mk. Maybe it would be worth having > >> KERNOWN and KERNGRP as well. > >> > >> I can submit a patch if asked. > > Yes please. Well, firstly I wanted to introduced the NO_INSTALLCHOWN variable as I said in my previous mail, preventing install(8) from doing a chown(2) on the installed file (kernel or module). But I finally decided to use a variable named INSTALLCHOWN which will contain "-o user -g group". This is more flexible and reduces the patch to its simplest form. As Ryan Sommers stated, this patch is not mandatory but I will leave it online [1] as it can be useful for some people. Regards, [1] http://jeremie.le-hen.org/~tataz/patches/FreeBSD/sys.INSTALLCHOWN.patch -- Jeremie Le Hen jeremie@le-hen.org --2fHTh5uZTiUOsy+g Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="sys.INSTALLCHOWN.patch" Index: conf/kern.post.mk =================================================================== RCS file: /home/ncvs/src/sys/conf/kern.post.mk,v retrieving revision 1.74 diff -u -p -u -p -r1.74 kern.post.mk --- conf/kern.post.mk 1 Dec 2004 23:16:31 -0000 1.74 +++ conf/kern.post.mk 21 Jan 2005 23:18:49 -0000 @@ -14,6 +14,9 @@ MKMODULESENV+= DESTDIR="${DESTDIR}" .endif MKMODULESENV+= KERNBUILDDIR="${.CURDIR}" +# Default to install as root:wheel. +INSTALLCHOWN?= -o root -g wheel + .MAIN: all .for target in all clean cleandepend cleandir clobber depend install \ @@ -211,17 +214,17 @@ kernel-install: .endif mkdir -p ${DESTDIR}${KODIR} .if defined(DEBUG) && defined(INSTALL_DEBUG) - ${INSTALL} -p -m 555 -o root -g wheel ${FULLKERNEL} ${DESTDIR}${KODIR} + ${INSTALL} -p -m 555 ${INSTALLCHOWN} ${FULLKERNEL} ${DESTDIR}${KODIR} .else - ${INSTALL} -p -m 555 -o root -g wheel ${KERNEL_KO} ${DESTDIR}${KODIR} + ${INSTALL} -p -m 555 ${INSTALLCHOWN} ${KERNEL_KO} ${DESTDIR}${KODIR} .endif kernel-reinstall: @-chflags -R noschg ${DESTDIR}${KODIR} .if defined(DEBUG) && defined(INSTALL_DEBUG) - ${INSTALL} -p -m 555 -o root -g wheel ${FULLKERNEL} ${DESTDIR}${KODIR} + ${INSTALL} -p -m 555 ${INSTALLCHOWN} ${FULLKERNEL} ${DESTDIR}${KODIR} .else - ${INSTALL} -p -m 555 -o root -g wheel ${KERNEL_KO} ${DESTDIR}${KODIR} + ${INSTALL} -p -m 555 ${INSTALLCHOWN} ${KERNEL_KO} ${DESTDIR}${KODIR} .endif config.o env.o hints.o majors.o vers.o vnode_if.o: Index: conf/kmod.mk =================================================================== RCS file: /home/ncvs/src/sys/conf/kmod.mk,v retrieving revision 1.176 diff -u -p -u -p -r1.176 kmod.mk --- conf/kmod.mk 8 Dec 2004 07:23:12 -0000 1.176 +++ conf/kmod.mk 21 Jan 2005 23:18:41 -0000 @@ -225,6 +225,8 @@ _INSTALLFLAGS:= ${INSTALLFLAGS} _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} .endfor +INSTALLCHOWN?= -o ${KMODOWN} -g ${KMODGRP} + .if !target(install.debug) && defined(DEBUG_FLAGS) install.debug: cd ${.CURDIR}; ${MAKE} -DINSTALL_DEBUG install @@ -235,10 +237,10 @@ realinstall: _kmodinstall .ORDER: beforeinstall _kmodinstall _kmodinstall: .if defined(DEBUG_FLAGS) && defined(INSTALL_DEBUG) - ${INSTALL} -o ${KMODOWN} -g ${KMODGRP} -m ${KMODMODE} \ + ${INSTALL} ${INSTALLCHOWN} -m ${KMODMODE} \ ${_INSTALLFLAGS} ${FULLPROG} ${DESTDIR}${KMODDIR} .else - ${INSTALL} -o ${KMODOWN} -g ${KMODGRP} -m ${KMODMODE} \ + ${INSTALL} ${INSTALLCHOWN} -m ${KMODMODE} \ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${KMODDIR} .include --2fHTh5uZTiUOsy+g--