libafs: Create $(DESTDIR)$(KMODDIR) on FBSD inst 53/13653/2
authorAndrew Deason <adeason@dson.org>
Sun, 23 Jun 2019 22:48:53 +0000 (17:48 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 28 Jun 2019 14:48:50 +0000 (10:48 -0400)
We rely on bsd.kmod.mk for our actual rules during 'make install', but
that tries to install our kernel module into $(DESTDIR)$(KMODDIR),
without creating it first. If the user tries to 'make install
DESTDIR=/some/path' and that path doesn't exist, we will fail with
something like:

make DESTDIR=/home/adeason/git/destdir single_instdir_libafs
/usr/bin/install -c -T release -o root -g wheel -m 555   libafs.ko /home/adeason/git/destdir/boot/modules/
install: /home/adeason/git/destdir/boot/modules/: No such file or directory
*** Error code 71

To avoid this, add a dependency on the 'install' target which causes
our target dir to be created.

Change-Id: Icacc507867420265383e411572006df47ef22815
Reviewed-on: https://gerrit.openafs.org/13653
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Tim Creech <tcreech@tcreech.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/libafs/MakefileProto.FBSD.in

index 4c3c0cd..12f24f5 100644 (file)
@@ -97,7 +97,10 @@ INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS}
 DEST_LIBAFS = ${DEST}/root.client/bin/${LIBAFS}
 DEST_LIBAFSNONFS = ${DEST}/root.client/bin/${LIBAFSNONFS}
 
-install_libafs:        $(LIBAFSNONFS) install
+$(DESTDIR)$(KMODDIR)/:
+       $(INSTALL) -d $@
+
+install_libafs:        $(LIBAFSNONFS) $(DESTDIR)$(KMODDIR)/ install
 
 dest_libafs: $(LIBAFSNONFS)
        ${INSTALL} -d ${DEST}/root.client/bin