summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2015-02-17 23:13:45 +0000
committerrpaulo <rpaulo@FreeBSD.org>2015-02-17 23:13:45 +0000
commite0f41bfbfbd0f70be8370a9117257748ce576169 (patch)
tree181c8e7a389a498a40bfe0992ef7294305bb28e2 /Makefile.inc1
parentf9f2edcf7be769aa5baabff84760d162993abc27 (diff)
downloadFreeBSD-src-e0f41bfbfbd0f70be8370a9117257748ce576169.zip
FreeBSD-src-e0f41bfbfbd0f70be8370a9117257748ce576169.tar.gz
release: use xz via pipe when compressing the tarballs.
libarchive(3) doesn't support the new liblzma API yet, but this change allows us to enable multi-threaded xz compression. ``make release'' should now finish in half the time on a machine with several cores and fast disks (our typical build server). This behaviour only applies when building a release and it doesn't affect buildworld/installworld. To disable threaded xz compression, set XZ_THREADS=1. Reviewed by: gjb Tested by: gjb
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc132
1 files changed, 17 insertions, 15 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 4dcbc0f..e3b68dd 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -912,25 +912,25 @@ packageworld:
.for dist in base ${EXTRA_DISTRIBUTIONS}
.if defined(NO_ROOT)
${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \
- tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz \
- --exclude usr/lib/debug \
- @${DESTDIR}/${DISTDIR}/${dist}.meta
+ tar cvf - --exclude usr/lib/debug \
+ @${DESTDIR}/${DISTDIR}/${dist}.meta | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.txz
.else
${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \
- tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz \
- --exclude usr/lib/debug .
+ tar cvf - --exclude usr/lib/debug . | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.txz
.endif
.endfor
.for dist in ${DEBUG_DISTRIBUTIONS}
. if defined(NO_ROOT)
${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \
- tar cvJf ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \
- @${DESTDIR}/${DISTDIR}/${dist}.debug.meta
+ tar cvf - @${DESTDIR}/${DISTDIR}/${dist}.debug.meta | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz
. else
${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \
- tar cvJLf ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \
- usr/lib/debug
+ tar cvLf - usr/lib/debug | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz
. endif
.endfor
@@ -1138,19 +1138,21 @@ distributekernel distributekernel.debug:
packagekernel:
.if defined(NO_ROOT)
cd ${DESTDIR}/${DISTDIR}/kernel; \
- tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz \
- @${DESTDIR}/${DISTDIR}/kernel.meta
+ tar cvf - @${DESTDIR}/${DISTDIR}/kernel.meta | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz
.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
- tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz \
- @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta
+ tar cvf - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz
.endfor
.else
cd ${DESTDIR}/${DISTDIR}/kernel; \
- tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz .
+ tar cvf - . | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz
.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
- tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .
+ tar cvf - . | \
+ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz
.endfor
.endif
OpenPOWER on IntegriCloud