Lines Matching +full:build +full:- +full:release
2 # Makefile for building releases and release media.
4 # User-driven targets:
5 # cdrom: Builds release CD-ROM media (disc1.iso)
6 # dvdrom: Builds release DVD-ROM media (dvd1.iso)
8 # mini-memstick: Builds minimal memory stick image (mini-memstick.img)
10 # release: Invokes real-release, vm-release, cloudware-release and oci-release targets
11 # real-release: Build all media and FTP distribution area
12 # vm-release: Build all virtual machine image targets
13 # cloudware-release: Build all cloud hosting provider targets
14 # oci-release: Build all OCI container images
15 # install: Invokes the release-install, vm-install and oci-install targets
16 # release-install: Copies all release installation media into ${DESTDIR}
17 # vm-install: Copies all virtual machine images into ${DESTDIR}
18 # cloud-install: Copies non-uploaded cloud images into ${DESTDIR}
19 # oci-install: Copies all OCI container images into ${DESTDIR}
21 # Variables affecting the build process:
22 # WORLDDIR: location of src tree -- must have built world and default kernel
25 # XTRADIR: xtra-bits-dir argument for <arch>/mkisoimages.sh
26 # NOPKG: if set, do not distribute third-party packages
32 # WITH_VMIMAGES: if set, build virtual machine images with the release
35 # WITH_CLOUDWARE: if set, build cloud hosting disk images with the release
36 # TARGET/TARGET_ARCH: architecture of built release
64 OSRELEASE= ${TYPE}-${REVISION}-${BRANCH}-${TARGET}
65 VOLUME_LABEL= ${REVISION:C/[.-]/_/g}_${BRANCH:C/[.-]/_/g}_${TARGET}
67 OSRELEASE= ${TYPE}-${REVISION}-${BRANCH}-${TARGET}-${TARGET_ARCH}
68 VOLUME_LABEL= ${REVISION:C/[.-]/_/g}_${BRANCH:C/[.-]/_/g}_${TARGET_ARCH}
74 # For installing packages into the release media.
77 PKG_ARGS+= -o METALOG=METALOG
80 PKG_ARGS+= -r ${.TARGET} -o REPOS_DIR=${.CURDIR}/pkg_repos
110 .if exists(${.CURDIR}/${TARGET}/make-memstick.sh)
112 RELEASE_TARGETS+= mini-memstick.img
114 IMAGES+= mini-memstick.img
117 CLEANFILES= packagesystem *.txz MANIFEST release ${IMAGES}
124 CLEANFILES+= pkg-stage
126 CLEANDIRS= dist ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick d…
128 chflags -R noschg .
133 mkdir -p ${DISTDIR}
136 sh ${WORLDDIR}/usr.sbin/etcupdate/etcupdate.sh extract -B \
137 -m "${MAKE}" -M "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}" \
138 -s ${WORLDDIR} -d "${.OBJDIR}/${DISTDIR}/base/var/db/etcupdate" \
139 -L /dev/null ${NO_ROOT:D-N}
142 …sed -n 's,^\.,./var/db/etcupdate/current,p' ${.OBJDIR}/${DISTDIR}/base/var/db/etcupdate/current/ME…
151 mkdir -p ${DISTDIR}
157 mkdir -p ${DISTDIR}/usr
158 ln -fs ${WORLDDIR} ${DISTDIR}/usr/src
159 ( cd ${DISTDIR} && ${TAR_CMD} cLvf - --exclude .svn --exclude .zfs \
160 --exclude .git --exclude @ --exclude usr/src/release/dist usr/src | \
164 mkdir -p ${DISTDIR}/usr
165 ln -fs ${PORTSDIR} ${DISTDIR}/usr/ports
166 ( cd ${DISTDIR} && ${TAR_CMD} cLvf - \
167 --exclude .git --exclude .svn \
168 --exclude usr/ports/distfiles --exclude usr/ports/packages \
169 --exclude 'usr/ports/INDEX*' --exclude work usr/ports | \
174 mkdir -p ${.TARGET}
182 -DDB_FROM_SRC )
184 mkdir -p ${.TARGET}/usr/freebsd-dist
185 …for dist in MANIFEST $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:t…
186 do cp $${dist} ${.TARGET}/usr/freebsd-dist; \
189 echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG
190 …for dist in MANIFEST $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:t…
191 …do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/MET…
195 # Install packages onto release media.
196 ${PKG_INSTALL} wifi-firmware-kmod-release || true
199 ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf
218 mkdir -p ${.TARGET}
227 -DDB_FROM_SRC )
229 mkdir -p ${.TARGET}/usr/freebsd-dist
230 cp MANIFEST ${.TARGET}/usr/freebsd-dist
232 echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG
233 echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG
236 ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf
254 mkdir -p ${.TARGET}
258 -DDB_FROM_SRC )
260 mkdir -p ${.TARGET}/usr/freebsd-dist
261 for dist in MANIFEST $$(ls *.txz | grep -v container); \
262 do cp $${dist} ${.TARGET}/usr/freebsd-dist; \
265 echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG
266 for dist in MANIFEST $$(ls *.txz | grep -v container); \
267 …do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/MET…
271 # Install packages onto release media.
272 ${PKG_INSTALL} wifi-firmware-kmod-release || true
275 ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf
292 disc1-disc1 disc1-memstick: disc1
294 tar -cf- -C disc1 . | tar -xf- -C ${.TARGET}
296 bootonly-bootonly bootonly-memstick: bootonly
298 tar -cf- -C bootonly . | tar -xf- -C ${.TARGET}
300 release.iso: disc1.iso
301 disc1.iso: disc1-disc1
302 …cd disc1-disc1 && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_CD ../${.TARGET} .${NO…
304 dvd1.iso: dvd pkg-stage
305 …cd dvd && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_DVD ../${.TARGET} .${NO_ROOT:D…
307 bootonly.iso: bootonly-bootonly
308 …cd bootonly-bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_BO ../${.TARGET}…
311 memstick.img: disc1-memstick
312 cd disc1-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET}
314 mini-memstick: mini-memstick.img
315 mini-memstick.img: bootonly-memstick
316 …cd bootonly-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGE…
319 sh ${.CURDIR}/scripts/make-manifest.sh $$(ls *.txz | grep -v container) > MANIFEST
322 pkg-stage: dvd
323 # TODO: Support for -DNO_ROOT
326 sh ${.CURDIR}/scripts/pkg-stage.sh
327 mkdir -p ${.OBJDIR}/dvd/packages/repos/
336 rm -rf ftp
337 mkdir -p ftp
339 rm -f ftp/container-*.txz
341 release: real-release vm-release cloudware-release oci-release target
342 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} release-done
345 release-done:
346 touch release
348 real-release:
349 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj
350 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS}
352 install: release-install vm-install oci-install .WAIT cloud-install
354 release-install:
356 mkdir -p ${DESTDIR}
358 cp -a ftp ${DESTDIR}/
361 cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I}
363 ${XZ_CMD} -k ${DESTDIR}/${OSRELEASE}-${I}