Rework how we layout the CD/DVD ISO images for releases. Note that this
is only the first stage and does not yet handle packages (which will move to their own disc(s)). - By default, include the live filesystem on disc1, so that disc1 is now both an install disc and a fixit disc. The images can still be split into two separate discs by specifying SEPARATE_LIVEFS=yes. - Remove /usr/ports from the live filesystem disc as the merged images do not fit on even i386 otherwise. Also, the merged image already contains a tarball of the entire ports tree, so /usr/ports was a duplicate anyway. - Stop building port READMES for the release sinc they are no longer used (/usr/ports in the live filesystem was the last remaining user). - Split cdrom.1 into three targets. cdrom.1 builds the live filesystem image. cdrom.2 builds the disc1 image. Note that if SEPARATE_LIVEFS is not specified these both write to the same area. cdrom.3 builds the bootonly image and the UFS miniroot. - The various distribution directories are now in a <buildname> subdirectory of disc1 rather than being in the root so that the merged image's root is not quite as cluttered. - The disc1 image is now called disc1.iso and we no longer build a miniinst.iso image. If CD_EXTRA_BITS is defined, then the iso.1 target will simply include those bits in the disc1 image that it builds. MFC after: 1 day Requested by: re (scottl, etc.)
This commit is contained in:
parent
d61e43fe1e
commit
92f6e2c87f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=143066
128
release/Makefile
128
release/Makefile
@ -63,10 +63,8 @@ PORTSRELEASETAG?= ${AUXRELEASETAG}
|
|||||||
# If you want to pass flags to the world build such as -j X, use
|
# If you want to pass flags to the world build such as -j X, use
|
||||||
# WORLD_FLAGS. Similarly, you can specify make flags for kernel
|
# WORLD_FLAGS. Similarly, you can specify make flags for kernel
|
||||||
# builds via KERNEL_FLAGS.
|
# builds via KERNEL_FLAGS.
|
||||||
# Similarly, you can specify make flags for make readmes via PORTREADMES_FLAGS.
|
|
||||||
#WORLD_FLAGS=-j4
|
#WORLD_FLAGS=-j4
|
||||||
#KERNEL_FLAGS=-j4
|
#KERNEL_FLAGS=-j4
|
||||||
#PORTREADMES_FLAGS=-j4
|
|
||||||
|
|
||||||
TARGET_ARCH?= ${MACHINE_ARCH}
|
TARGET_ARCH?= ${MACHINE_ARCH}
|
||||||
.if ${TARGET_ARCH} == ${MACHINE_ARCH}
|
.if ${TARGET_ARCH} == ${MACHINE_ARCH}
|
||||||
@ -130,9 +128,9 @@ RELEASEPORTSMODULE= ${MINIMALDOCPORTS}
|
|||||||
.endif
|
.endif
|
||||||
|
|
||||||
# Make changing names of disc1/disc2 CD's possible.
|
# Make changing names of disc1/disc2 CD's possible.
|
||||||
DISC1_LABEL?= fbsd_miniinst
|
DISC1_LABEL?= FreeBSD_Install
|
||||||
DISC1_NAME?= miniinst
|
DISC1_NAME?= disc1
|
||||||
DISC2_LABEL?= fbsd_livefs
|
DISC2_LABEL?= FreeBSD_LiveFS
|
||||||
DISC2_NAME?= disc2
|
DISC2_NAME?= disc2
|
||||||
|
|
||||||
# Helper variable
|
# Helper variable
|
||||||
@ -251,15 +249,13 @@ CD= ${_R}/cdrom
|
|||||||
CD_BOOT= ${CD}/bootonly
|
CD_BOOT= ${CD}/bootonly
|
||||||
.endif
|
.endif
|
||||||
CD_DISC1= ${CD}/disc1
|
CD_DISC1= ${CD}/disc1
|
||||||
|
.if defined(SEPARATE_LIVEFS)
|
||||||
CD_DISC2= ${CD}/disc2
|
CD_DISC2= ${CD}/disc2
|
||||||
_MK?= ${CHROOTDIR}/mk
|
CD_LIVEFS= ${CD_DISC2}
|
||||||
|
.else
|
||||||
# Some architectures may not have space for the ports tree on disc2.
|
CD_LIVEFS= ${CD_DISC1}
|
||||||
# For these architectures there is no sense building the README.html
|
|
||||||
# files no matter what.
|
|
||||||
.if ${TARGET_ARCH} == "ia64"
|
|
||||||
NOPORTREADMES= yes
|
|
||||||
.endif
|
.endif
|
||||||
|
_MK?= ${CHROOTDIR}/mk
|
||||||
|
|
||||||
# Where the bootstrap ports (see DOCPORTS) get installed.
|
# Where the bootstrap ports (see DOCPORTS) get installed.
|
||||||
LOCALDIR= /usr/local/bin
|
LOCALDIR= /usr/local/bin
|
||||||
@ -287,7 +283,7 @@ EXTRAS+= floppies.3
|
|||||||
.endif
|
.endif
|
||||||
EXTRAS+= ftp.1
|
EXTRAS+= ftp.1
|
||||||
.if !defined(NOCDROM)
|
.if !defined(NOCDROM)
|
||||||
EXTRAS+= cdrom.1
|
EXTRAS+= cdrom.1 cdrom.2 cdrom.3
|
||||||
.if defined(MAKE_ISOS)
|
.if defined(MAKE_ISOS)
|
||||||
EXTRAS+= iso.1
|
EXTRAS+= iso.1
|
||||||
.endif
|
.endif
|
||||||
@ -423,8 +419,7 @@ release rerelease:
|
|||||||
.if !defined(NOPORTS)
|
.if !defined(NOPORTS)
|
||||||
cd ${CHROOTDIR}/usr/ports && ${CVSPREFIX} cvs -R ${CVSARGS} -q \
|
cd ${CHROOTDIR}/usr/ports && ${CVSPREFIX} cvs -R ${CVSARGS} -q \
|
||||||
update ${CVSCMDARGS} -P -d
|
update ${CVSCMDARGS} -P -d
|
||||||
rm -f ${CHROOTDIR}/tmp/.skip_ports_index \
|
rm -f ${CHROOTDIR}/tmp/.skip_ports_index
|
||||||
${CHROOTDIR}/tmp/.skip_ports_readmes
|
|
||||||
.endif
|
.endif
|
||||||
.if defined(DOMINIMALDOCPORTS) && ${DOMINIMALDOCPORTS} == "YES"
|
.if defined(DOMINIMALDOCPORTS) && ${DOMINIMALDOCPORTS} == "YES"
|
||||||
for i in ${MINIMALDOCPORTS}; do \
|
for i in ${MINIMALDOCPORTS}; do \
|
||||||
@ -480,6 +475,7 @@ release rerelease:
|
|||||||
NO_SENDMAIL \
|
NO_SENDMAIL \
|
||||||
RELEASETAG \
|
RELEASETAG \
|
||||||
RELNOTES_LANG \
|
RELNOTES_LANG \
|
||||||
|
SEPARATE_LIVEFS \
|
||||||
TARGET \
|
TARGET \
|
||||||
TARGET_ARCH \
|
TARGET_ARCH \
|
||||||
WORLD_FLAGS
|
WORLD_FLAGS
|
||||||
@ -519,13 +515,6 @@ release rerelease:
|
|||||||
echo " touch /tmp/.skip_ports_index" >> ${_MK}
|
echo " touch /tmp/.skip_ports_index" >> ${_MK}
|
||||||
echo " echo \">>> make index finished on \`LC_ALL=C TZ=GMT date\`\"" >> ${_MK}
|
echo " echo \">>> make index finished on \`LC_ALL=C TZ=GMT date\`\"" >> ${_MK}
|
||||||
echo "fi" >> ${_MK}
|
echo "fi" >> ${_MK}
|
||||||
echo "if [ ! -f /tmp/.skip_ports_readmes ]; then" >> ${_MK}
|
|
||||||
echo " echo \">>> make readmes started on \`LC_ALL=C TZ=GMT date\`\"" >> ${_MK}
|
|
||||||
echo " cd /usr/ports" >> ${_MK}
|
|
||||||
echo " make ${PORTREADMES_FLAGS} readmes" >> ${_MK}
|
|
||||||
echo " touch /tmp/.skip_ports_readmes" >> ${_MK}
|
|
||||||
echo " echo \">>> make readmes finished on \`LC_ALL=C TZ=GMT date\`\"" >> ${_MK}
|
|
||||||
echo "fi" >> ${_MK}
|
|
||||||
echo "cd /usr/src/release" >> ${_MK}
|
echo "cd /usr/src/release" >> ${_MK}
|
||||||
echo "make obj" >> ${_MK}
|
echo "make obj" >> ${_MK}
|
||||||
echo "make \$${_RELTARGET}" >> ${_MK}
|
echo "make \$${_RELTARGET}" >> ${_MK}
|
||||||
@ -533,9 +522,6 @@ release rerelease:
|
|||||||
chmod 755 ${_MK}
|
chmod 755 ${_MK}
|
||||||
.if defined(NOPORTS)
|
.if defined(NOPORTS)
|
||||||
touch ${CHROOTDIR}/tmp/.skip_ports_index
|
touch ${CHROOTDIR}/tmp/.skip_ports_index
|
||||||
.endif
|
|
||||||
.if defined(NOPORTS) || defined(NOPORTREADMES)
|
|
||||||
touch ${CHROOTDIR}/tmp/.skip_ports_readmes
|
|
||||||
.endif
|
.endif
|
||||||
# Ensure md.ko is loaded if md(4) is not statically compiled into
|
# Ensure md.ko is loaded if md(4) is not statically compiled into
|
||||||
# the kernel
|
# the kernel
|
||||||
@ -669,7 +655,7 @@ release.6:
|
|||||||
@mkdir -p ${RD}/dists/ports
|
@mkdir -p ${RD}/dists/ports
|
||||||
@echo rolling ports/ports tarball
|
@echo rolling ports/ports tarball
|
||||||
@tar --exclude CVS --exclude 'ports/distfiles/*' \
|
@tar --exclude CVS --exclude 'ports/distfiles/*' \
|
||||||
--exclude README.html -czf ${RD}/dists/ports/ports.tgz -C /usr ports
|
-czf ${RD}/dists/ports/ports.tgz -C /usr ports
|
||||||
@cp ${.CURDIR}/scripts/ports-install.sh ${RD}/dists/ports/install.sh
|
@cp ${.CURDIR}/scripts/ports-install.sh ${RD}/dists/ports/install.sh
|
||||||
@(cd ${RD}/dists/ports; \
|
@(cd ${RD}/dists/ports; \
|
||||||
rm -f CHECKSUM.MD5; \
|
rm -f CHECKSUM.MD5; \
|
||||||
@ -900,33 +886,47 @@ ftp.1:
|
|||||||
@echo "CD_VERSION = ${BUILDNAME}" > ${FD}/cdrom.inf
|
@echo "CD_VERSION = ${BUILDNAME}" > ${FD}/cdrom.inf
|
||||||
touch ${.TARGET}
|
touch ${.TARGET}
|
||||||
|
|
||||||
#
|
# Build a live filesystem cdrom image
|
||||||
# --==## Setup a suitable cdrom-area ##==--
|
|
||||||
#
|
|
||||||
cdrom.1:
|
cdrom.1:
|
||||||
@echo "Setting up CDROM distribution area"
|
@echo "Building CDROM live filesystem image"
|
||||||
@mkdir -p ${CD_BOOT} ${CD_DISC1} ${CD_DISC2}
|
@mkdir -p ${CD_LIVEFS}
|
||||||
-@ln -s . ${CD_DISC1}/${BUILDNAME}
|
|
||||||
.if defined(MAKE_FLOPPIES)
|
|
||||||
@cd ${RD} && find floppies -print | cpio -dumpl ${CD_DISC1}
|
|
||||||
.endif
|
|
||||||
@cd ${RD}/dists && find . -print | cpio -dumpl ${CD_DISC1}
|
|
||||||
@for i in ${DISTRIBUTIONS} ; \
|
@for i in ${DISTRIBUTIONS} ; \
|
||||||
do \
|
do \
|
||||||
if [ -d ${RD}/trees/$${i} ] ; then \
|
if [ -d ${RD}/trees/$${i} ] ; then \
|
||||||
chflags -R noschg ${RD}/trees/$${i} || true ; \
|
chflags -R noschg ${RD}/trees/$${i} || true ; \
|
||||||
( cd ${RD}/trees/$${i} && \
|
( cd ${RD}/trees/$${i} && \
|
||||||
find . -depth -print | cpio -dumpl ${CD_DISC2} ) ; \
|
find . -depth -print | cpio -dumpl ${CD_LIVEFS} ) ; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
@rm -f ${CD_DISC2}/.profile
|
@rm -f ${CD_LIVEFS}/.profile
|
||||||
@cp ${.CURDIR}/fixit.profile ${CD_DISC2}/.profile
|
@cp ${.CURDIR}/fixit.profile ${CD_LIVEFS}/.profile
|
||||||
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC1}/cdrom.inf
|
.if ${TARGET} != "pc98"
|
||||||
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf
|
@echo "Setting up CDROM boot area"
|
||||||
.if !defined(NOPORTS) && !defined(NOPORTREADMES)
|
@rm -f ${CD_LIVEFS}/boot/loader.conf
|
||||||
@tar --exclude CVS --exclude 'ports/distfiles/*' -czf - \
|
@cp ${RD}/mfsroot/mfsroot.gz ${CD_LIVEFS}/boot/mfsroot.gz
|
||||||
-C /usr ports | (cd ${CD_DISC2}/usr; tar -xpBf -)
|
@echo 'mfsroot_load="YES"' > ${CD_LIVEFS}/boot/loader.conf
|
||||||
|
@echo 'mfsroot_type="mfs_root"' >> ${CD_LIVEFS}/boot/loader.conf
|
||||||
|
@echo 'mfsroot_name="/boot/mfsroot"' >> ${CD_LIVEFS}/boot/loader.conf
|
||||||
|
.if exists(${RD}/trees/base/boot/device.hints)
|
||||||
|
# Break the link to device.hints so we can modify it
|
||||||
|
@rm -f ${CD_LIVEFS}/boot/device.hints
|
||||||
|
@cp ${RD}/trees/base/boot/device.hints ${CD_LIVEFS}/boot/device.hints
|
||||||
|
.if ${TARGET} == "i386" || ${TARGET_ARCH} == "amd64"
|
||||||
|
@echo 'hint.atkbd.0.flags="0x1"' >> ${CD_LIVEFS}/boot/device.hints
|
||||||
.endif
|
.endif
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_LIVEFS}/cdrom.inf
|
||||||
|
touch ${.TARGET}
|
||||||
|
|
||||||
|
# Build disc1 cdrom image
|
||||||
|
cdrom.2:
|
||||||
|
@echo "Building CDROM disc1 filesystem image"
|
||||||
|
@mkdir -p ${CD_DISC1}/${BUILDNAME}
|
||||||
|
.if defined(MAKE_FLOPPIES)
|
||||||
|
@cd ${RD} && find floppies -print | cpio -dumpl ${CD_DISC1}
|
||||||
|
.endif
|
||||||
|
@cd ${RD}/dists && find . -print | cpio -dumpl ${CD_DISC1}/${BUILDNAME}
|
||||||
.if !defined(NODOC)
|
.if !defined(NODOC)
|
||||||
@for i in ${DIST_DOCS_ARCH_INDEP}; do \
|
@for i in ${DIST_DOCS_ARCH_INDEP}; do \
|
||||||
cp ${RND}/${RELNOTES_LANG}/$$i/article.txt \
|
cp ${RND}/${RELNOTES_LANG}/$$i/article.txt \
|
||||||
@ -944,31 +944,27 @@ cdrom.1:
|
|||||||
@mv ${CD_DISC1}/INSTALLATION.TXT ${CD_DISC1}/INSTALL.TXT
|
@mv ${CD_DISC1}/INSTALLATION.TXT ${CD_DISC1}/INSTALL.TXT
|
||||||
@mv ${CD_DISC1}/INSTALLATION.HTM ${CD_DISC1}/INSTALL.HTM
|
@mv ${CD_DISC1}/INSTALLATION.HTM ${CD_DISC1}/INSTALL.HTM
|
||||||
.endif
|
.endif
|
||||||
.if ${TARGET} != "pc98"
|
.if defined(SEPARATE_LIVEFS)
|
||||||
@echo "Setting up boot area"
|
@cp -Rp ${CD_LIVEFS}/boot ${CD_DISC1}
|
||||||
@rm -f ${CD_DISC2}/boot/loader.conf
|
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC1}/cdrom.inf
|
||||||
@cp ${RD}/mfsroot/mfsroot.gz ${CD_DISC2}/boot/mfsroot.gz
|
|
||||||
@echo 'mfsroot_load="YES"' > ${CD_DISC2}/boot/loader.conf
|
|
||||||
@echo 'mfsroot_type="mfs_root"' >> ${CD_DISC2}/boot/loader.conf
|
|
||||||
@echo 'mfsroot_name="/boot/mfsroot"' >> ${CD_DISC2}/boot/loader.conf
|
|
||||||
.if exists(${RD}/trees/base/boot/device.hints)
|
|
||||||
# Break the link to device.hints so we can modify it
|
|
||||||
@rm -f ${CD_DISC2}/boot/device.hints
|
|
||||||
@cp ${RD}/trees/base/boot/device.hints ${CD_DISC2}/boot/device.hints
|
|
||||||
.if ${TARGET} == "i386" || ${TARGET_ARCH} == "amd64"
|
|
||||||
@echo 'hint.atkbd.0.flags="0x1"' >> ${CD_DISC2}/boot/device.hints
|
|
||||||
.endif
|
|
||||||
.endif
|
.endif
|
||||||
|
touch ${.TARGET}
|
||||||
|
|
||||||
|
#
|
||||||
|
# --==## Setup a suitable cdrom-area ##==--
|
||||||
|
#
|
||||||
|
cdrom.3:
|
||||||
.if defined(CD_BOOT)
|
.if defined(CD_BOOT)
|
||||||
@cp -Rp ${CD_DISC2}/boot ${CD_BOOT}
|
@echo "Building bootonly CDROM filesystem image"
|
||||||
|
@mkdir -p ${CD_BOOT}
|
||||||
|
@cp -Rp ${CD_LIVEFS}/boot ${CD_BOOT}
|
||||||
.if defined(MINIROOT)
|
.if defined(MINIROOT)
|
||||||
|
@echo "Building bootonly UFS filesystem image"
|
||||||
@mkdir -p ${FD}/miniroot
|
@mkdir -p ${FD}/miniroot
|
||||||
@sh -e ${DOFS_SH} ${FD}/miniroot/miniroot.ufs \
|
@sh -e ${DOFS_SH} ${FD}/miniroot/miniroot.ufs \
|
||||||
${RD} ${MNT} 0 ${CD_BOOT} 8192 auto
|
${RD} ${MNT} 0 ${CD_BOOT} 8192 auto
|
||||||
@gzip -9v ${FD}/miniroot/miniroot.ufs
|
@gzip -9v ${FD}/miniroot/miniroot.ufs
|
||||||
.endif
|
.endif
|
||||||
.endif
|
|
||||||
@cp -Rp ${CD_DISC2}/boot ${CD_DISC1}
|
|
||||||
.endif
|
.endif
|
||||||
touch ${.TARGET}
|
touch ${.TARGET}
|
||||||
|
|
||||||
@ -982,16 +978,12 @@ iso.1:
|
|||||||
.endif
|
.endif
|
||||||
@sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \
|
@sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \
|
||||||
${DISC1_LABEL} \
|
${DISC1_LABEL} \
|
||||||
${CD}/${BUILDNAME}-${TARGET}-${DISC1_NAME}.iso ${CD_DISC1}
|
${CD}/${BUILDNAME}-${TARGET}-${DISC1_NAME}.iso ${CD_DISC1} \
|
||||||
|
${CD_EXTRA_BITS}
|
||||||
|
.if defined(SEPARATE_LIVEFS)
|
||||||
@sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \
|
@sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \
|
||||||
${DISC2_LABEL} \
|
${DISC2_LABEL} \
|
||||||
${CD}/${BUILDNAME}-${TARGET}-${DISC2_NAME}.iso ${CD_DISC2}
|
${CD}/${BUILDNAME}-${TARGET}-${DISC2_NAME}.iso ${CD_DISC2}
|
||||||
.if defined(CD_EXTRA_BITS)
|
|
||||||
@sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \
|
|
||||||
fbsd_boot \
|
|
||||||
${CD}/${BUILDNAME}-${TARGET}-disc1.iso ${CD_DISC1} \
|
|
||||||
${CD_EXTRA_BITS} \
|
|
||||||
&& false
|
|
||||||
.endif
|
.endif
|
||||||
@(cd ${CD} && md5 *.iso > ${BUILDNAME}-${TARGET}-iso.CHECKSUM.MD5)
|
@(cd ${CD} && md5 *.iso > ${BUILDNAME}-${TARGET}-iso.CHECKSUM.MD5)
|
||||||
touch ${.TARGET}
|
touch ${.TARGET}
|
||||||
|
Loading…
Reference in New Issue
Block a user