Re: git: a1bff97300ab - main - release: Don't reuse disc1/bootonly directories
Date: Wed, 10 Apr 2024 05:18:23 UTC
On 10 Apr 2024, at 04:29, Colin Percival <cperciva@FreeBSD.org> wrote: > > The branch main has been updated by cperciva: > > URL: https://cgit.FreeBSD.org/src/commit/?id=a1bff97300abe4b46528357e39c83da764df1fd8 > > commit a1bff97300abe4b46528357e39c83da764df1fd8 > Author: Colin Percival <cperciva@FreeBSD.org> > AuthorDate: 2024-04-10 03:27:19 +0000 > Commit: Colin Percival <cperciva@FreeBSD.org> > CommitDate: 2024-04-10 03:29:16 +0000 > > release: Don't reuse disc1/bootonly directories > > The disc1 and bootonly directories have files distributed into them > for use in "full" and "mini" images; the former are disc1.iso and > memstick.img, and the latter is bootonly.iso and mini-memstick.img. > > Unfortunately the scripts which package a directory tree into an ISO > or memory stick image also modify the directory, for example to > create an appropriate /etc/fstab file; so creating two images at the > same time breaks. > > Resolve this by copying disc1 to disc1-disc1 and disc1-memstick, > and copying bootonly to bootonly-bootonly and bootonly-memstick, > before using those directories for constructing the ISO+memstick > images. > > MFC after: 1 week > --- > release/Makefile | 26 +++++++++++++++++--------- > 1 file changed, 17 insertions(+), 9 deletions(-) > > diff --git a/release/Makefile b/release/Makefile > index 26f39e8f8acb..99927d611257 100644 > --- a/release/Makefile > +++ b/release/Makefile > @@ -109,7 +109,7 @@ CLEANFILES+= ${I}.xz > .if defined(WITH_DVD) && !empty(WITH_DVD) > CLEANFILES+= pkg-stage > .endif > -CLEANDIRS= dist ftp disc1 bootonly dvd > +CLEANDIRS= dist ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd > beforeclean: > chflags -R noschg . > .include <bsd.obj.mk> > @@ -267,23 +267,31 @@ dvd: packagesystem > .endif > touch ${.TARGET} > > +disc1-disc1 disc1-memstick: disc1 > + mkdir ${.TARGET} > + tar -cf- -C disc1 . | tar -xf- -C ${.TARGET} What’s wrong with cp -a? Besides, shouldn’t this use -p if using tar? And -f- is the same as nothing. Jess > +bootonly-bootonly bootonly-memstick: bootonly > + mkdir ${.TARGET} > + tar -cf- -C bootonly . | tar -xf- -C ${.TARGET} > + > release.iso: disc1.iso > -disc1.iso: disc1 > - cd disc1 && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_CD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} > +disc1.iso: disc1-disc1 > + cd disc1-disc1 && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_CD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} > > dvd1.iso: dvd pkg-stage > cd dvd && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_DVD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} > > -bootonly.iso: bootonly > - cd bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_BO ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} > +bootonly.iso: bootonly-bootonly > + cd bootonly-bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_BO ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} > > memstick: memstick.img > -memstick.img: disc1 > - cd disc1 && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} > +memstick.img: disc1-memstick > + cd disc1-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} > > mini-memstick: mini-memstick.img > -mini-memstick.img: bootonly > - cd bootonly && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} > +mini-memstick.img: bootonly-memstick > + cd bootonly-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} > > packagesystem: ${DISTRIBUTIONS} > sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST