Date: Fri, 12 Mar 2004 18:08:22 +0300 From: Roman Kurakin <rik@cronyx.ru> To: Ruslan Ermilov <ru@FreeBSD.org> Cc: hackers@FreeBSD.org Subject: Re: make install (kernel) without /modules dir Message-ID: <4051D266.7010403@cronyx.ru> In-Reply-To: <20040312142538.GA1537@ip.net.ua> References: <4051BE3B.2090500@cronyx.ru> <20040312142538.GA1537@ip.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
Ruslan Ermilov wrote: >Roman Kurakin wrote: > > >>I forget to say that this problem is for 4. branch >> >>Roman Kurakin wrote: >> >> >> >>>Hi, >>> >>> It seems that I've found another problem. If /modules dir would be >>>removed, >>>make install (of kernel and kernel modules) will not create modules >>>dir and you'll >>>get /modules file with one of the modules inside. >>> >>>One of the variants is to add flag -d to install or other to mkdir -p >>>explicitly: >>> >>> misprint: -d flag should be -D flag I forgot to check that this is only linux's install behavior. >>>--- Makefile.old Fri Mar 12 00:13:45 2004 >>>+++ Makefile Fri Mar 12 00:15:03 2004 >>>@@ -626,6 +626,7 @@ >>> cp -p ${DESTDIR}/modules/* ${DESTDIR}/modules.old; \ >>> fi; >>>.endif >>>+ mkdir -p ${DESTDIR}/modules >>> cd $S/modules ; env ${MKMODULESENV} ${MAKE} install >>> >>>modules-reinstall modules-reinstall.debug: >>> >>> > >An old problem. 5.x is only partly affected by this, because >of a side effect of kern.post.mk creating the necessary directory, >but if you attempt to install from src/sys/modules/ when >/boot/kernel doesn't exist, it exhibits the same behavior. > >In RELENG_4 the situation is worse, as even "make installkernel" >can exhibit such behavior. I once had a patch locally that adds >"make hierarchy" to the installkernel path, similar to how this >is done for installworld. > >The problem is not unique to just kernel modules; if you attempt >to install "src/bin/" when /bin doesn't exist you'll see the same >behavior, that's why I think the below change is not quite >incorrect. > >I believe there's a PR open on this (probably even assigned to >myself), but I just don't have a clever idea of how to fix it >properly, sorry -- generally, standard directories are created >with mtree(8), and not with mkdir(1). > > If our install was like linux one which have -D flag, we could solve our problem by setting it globaly to install in sys.mk: -INSTALL ?= install -D +INSTALL ?= install -D This flag dictates to create all necessary dirs if needed. It would be nice to have such option, not -D of course. My FreeBSD 3.4 machine tolds me that -D is debug flag. Roman > >Cheers, > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4051D266.7010403>