Cannot install kernel as user
Jeremie Le Hen
jeremie at le-hen.org
Fri Jan 21 15:32:34 PST 2005
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 at le-hen.org
-------------- next part --------------
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 <bsd.links.mk>
More information about the freebsd-current
mailing list