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,





_______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to