summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2013-05-16 18:37:14 +0000
committerbrooks <brooks@FreeBSD.org>2013-05-16 18:37:14 +0000
commit06619d19a735c828a610e9cdcfe2b6fdf3ac038b (patch)
tree1e88dcd258c92105caf34e1501b39f2313da5caf /Makefile.inc1
parenta3ca3565e218ee62d141cc6194cd8bfacf21aaaf (diff)
downloadFreeBSD-src-06619d19a735c828a610e9cdcfe2b6fdf3ac038b.zip
FreeBSD-src-06619d19a735c828a610e9cdcfe2b6fdf3ac038b.tar.gz
Implement NO_ROOT support for distributekernel and packagekernel.
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc133
1 files changed, 29 insertions, 4 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index cd84d1e..548d440 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1023,25 +1023,50 @@ distributekernel distributekernel.debug:
@echo "ERROR: No kernel \"${KERNCONF}\" to install."; \
false
.endif
+ mkdir -p ${DESTDIR}/${DISTDIR}
+.if defined(NO_ROOT)
+ echo "#${MTREE_MAGIC}" > ${DESTDIR}/${DISTDIR}/kernel.premeta
+.endif
cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \
- ${CROSSENV} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \
- DESTDIR=${DESTDIR}/${DISTDIR}/kernel \
+ ${IMAKEENV} ${IMAKE_INSTALL:S/METALOG/kernel.premeta/} \
+ ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \
+ DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel \
${.TARGET:S/distributekernel/install/}
+ sed -e 's|^./kernel|.|' ${DESTDIR}/${DISTDIR}/kernel.premeta > \
+ ${DESTDIR}/${DISTDIR}/kernel.meta
.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
+.if defined(NO_ROOT)
+ echo "#${MTREE_MAGIC}" > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta
+.endif
cd ${KRNLOBJDIR}/${_kernel}; \
- ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
+ ${IMAKEENV} ${IMAKE_INSTALL:S/METALOG/kernel.${_kernel}.premeta/} \
+ ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} \
KERNEL=${INSTKERNNAME}.${_kernel} \
- DESTDIR=${DESTDIR}/${DISTDIR}/kernel.${_kernel} \
+ DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel.${_kernel} \
${.TARGET:S/distributekernel/install/}
+ sed -e 's|^./kernel|.|' \
+ ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta > \
+ ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta
.endfor
packagekernel:
+.if defined(NO_ROOT)
+ cd ${DESTDIR}/${DISTDIR}/kernel; \
+ tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz \
+ @${DESTDIR}/${DISTDIR}/kernel.meta
+.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
+ cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
+ tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz \
+ @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta
+.endfor
+.else
cd ${DESTDIR}/${DISTDIR}/kernel; \
tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz .
.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .
.endfor
+.endif
#
# doxygen
OpenPOWER on IntegriCloud