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:
> >
> >--- 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).


Cheers,
-- 
Ruslan Ermilov
FreeBSD committer
[EMAIL PROTECTED]

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to