Sure.

I guess the next thing to do would be using gzopen type functions,
to edit a gzip'd version of the file.

Then the recent move to .gz files would be more transparent for this
specific use case (which I think is very rare, honestly).  I'm not sure
if it matters.


> The following diff makes various distrib Makefile to use ${MACHINE}
> instead of hardcoded value.
> 
> Currently, some archs are using ${MACHINE} and others are using
> hardcoded value.
> 
> Please note I am unsure about sgi: disklabel -w is using
> "OpenBSD/sgi     " as packid, and I changed it to "OpenBSD/${MACHINE}".
> But the packid used isn't uniform across archs, so it might not matter.
> 
> The purpose is to reduce gradually the difference of Makefile between
> archs.
> 
> Comments or OK ?
> -- 
> Sebastien Marie
> 
> Index: amd64/ramdisk_cd/Makefile
> ===================================================================
> RCS file: /cvs/src/distrib/amd64/ramdisk_cd/Makefile,v
> retrieving revision 1.28
> diff -u -p -r1.28 Makefile
> --- amd64/ramdisk_cd/Makefile 13 Feb 2021 18:52:08 -0000      1.28
> +++ amd64/ramdisk_cd/Makefile 14 Feb 2021 13:40:13 -0000
> @@ -38,18 +38,18 @@ ${FS}: bsd.gz
>  
>  ${CDROM}: bsd.rd
>       rm -rf ${.OBJDIR}/cd-dir
> -     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/amd64
> +     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
>       mkdir -p ${.OBJDIR}/cd-dir/etc
> -     echo "set image /${OSREV}/amd64/bsd.rd" > 
> ${.OBJDIR}/cd-dir/etc/boot.conf
> -     cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/amd64
> -     cp ${DESTDIR}/usr/mdec/cdbr ${.OBJDIR}/cd-dir/${OSREV}/amd64
> -     cp ${DESTDIR}/usr/mdec/cdboot ${.OBJDIR}/cd-dir/${OSREV}/amd64/cdboot
> +     echo "set image /${OSREV}/${MACHINE}/bsd.rd" > 
> ${.OBJDIR}/cd-dir/etc/boot.conf
> +     cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
> +     cp ${DESTDIR}/usr/mdec/cdbr ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
> +     cp ${DESTDIR}/usr/mdec/cdboot 
> ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/cdboot
>       mkhybrid -a -R -T -L -l -d -D -N -o ${.OBJDIR}/${CDROM} \
> -         -A "OpenBSD ${OSREV} amd64 bootonly CD" \
> +         -A "OpenBSD ${OSREV} ${MACHINE} bootonly CD" \
>           -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
>           -p "Theo de Raadt <dera...@openbsd.org>" \
> -         -V "OpenBSD/amd64   ${OSREV} boot-only CD" \
> -         -b ${OSREV}/amd64/cdbr -c ${OSREV}/amd64/boot.catalog \
> +         -V "OpenBSD/${MACHINE}   ${OSREV} boot-only CD" \
> +         -b ${OSREV}/${MACHINE}/cdbr -c ${OSREV}/${MACHINE}/boot.catalog \
>           ${.OBJDIR}/cd-dir
>  
>  MRDISKTYPE=  rdrootb
> Index: hppa/ramdisk/Makefile
> ===================================================================
> RCS file: /cvs/src/distrib/hppa/ramdisk/Makefile,v
> retrieving revision 1.46
> diff -u -p -r1.46 Makefile
> --- hppa/ramdisk/Makefile     17 May 2020 17:04:27 -0000      1.46
> +++ hppa/ramdisk/Makefile     14 Feb 2021 13:40:13 -0000
> @@ -20,10 +20,10 @@ ${CDROM}: bsd.rd
>       rm -rf ${.OBJDIR}/cd-dir/
>       mkdir -p ${.OBJDIR}/cd-dir/
>       cp bsd.rd ${.OBJDIR}/cd-dir/bsd.rd
> -     mkhybrid -A "OpenBSD ${OSREV} hppa bootonly CD" \
> +     mkhybrid -A "OpenBSD ${OSREV} ${MACHINE} bootonly CD" \
>           -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
>           -p "Theo de Raadt <dera...@openbsd.org>" \
> -         -V "OpenBSD/hppa ${OSREV} boot-only CD" \
> +         -V "OpenBSD/${MACHINE} ${OSREV} boot-only CD" \
>           -o ${.OBJDIR}/${CDROM} ${.OBJDIR}/cd-dir
>       dd if=${DESTDIR}/usr/mdec/cdboot of=${.OBJDIR}/${CDROM} \
>           bs=32k count=1 conv=notrunc
> Index: i386/ramdisk_cd/Makefile
> ===================================================================
> RCS file: /cvs/src/distrib/i386/ramdisk_cd/Makefile,v
> retrieving revision 1.22
> diff -u -p -r1.22 Makefile
> --- i386/ramdisk_cd/Makefile  13 Feb 2021 18:52:08 -0000      1.22
> +++ i386/ramdisk_cd/Makefile  14 Feb 2021 13:40:13 -0000
> @@ -35,18 +35,18 @@ ${FS}: bsd.gz
>  
>  ${CDROM}: bsd.rd
>       rm -rf ${.OBJDIR}/cd-dir
> -     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/i386
> +     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
>       mkdir -p ${.OBJDIR}/cd-dir/etc
> -     echo "set image /${OSREV}/i386/bsd.rd" > ${.OBJDIR}/cd-dir/etc/boot.conf
> -     cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/i386
> -     cp ${DESTDIR}/usr/mdec/cdbr ${.OBJDIR}/cd-dir/${OSREV}/i386
> -     cp ${DESTDIR}/usr/mdec/cdboot ${.OBJDIR}/cd-dir/${OSREV}/i386/cdboot
> +     echo "set image /${OSREV}/${MACHINE}/bsd.rd" > 
> ${.OBJDIR}/cd-dir/etc/boot.conf
> +     cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
> +     cp ${DESTDIR}/usr/mdec/cdbr ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
> +     cp ${DESTDIR}/usr/mdec/cdboot 
> ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/cdboot
>       mkhybrid -a -R -T -L -l -d -D -N -o ${.OBJDIR}/${CDROM} \
> -         -A "OpenBSD ${OSREV} i386 bootonly CD" \
> +         -A "OpenBSD ${OSREV} ${MACHINE} bootonly CD" \
>           -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
>           -p "Theo de Raadt <dera...@openbsd.org>" \
> -         -V "OpenBSD/i386    ${OSREV} boot-only CD" \
> -         -b ${OSREV}/i386/cdbr -c ${OSREV}/i386/boot.catalog \
> +         -V "OpenBSD/${MACHINE}    ${OSREV} boot-only CD" \
> +         -b ${OSREV}/${MACHINE}/cdbr -c ${OSREV}/${MACHINE}/boot.catalog \
>           ${.OBJDIR}/cd-dir
>  
>  MRDISKTYPE=  rdrootb
> Index: loongson/ramdisk/Makefile
> ===================================================================
> RCS file: /cvs/src/distrib/loongson/ramdisk/Makefile,v
> retrieving revision 1.29
> diff -u -p -r1.29 Makefile
> --- loongson/ramdisk/Makefile 13 Feb 2021 18:46:52 -0000      1.29
> +++ loongson/ramdisk/Makefile 14 Feb 2021 13:40:13 -0000
> @@ -33,15 +33,15 @@ ${FS}: bsd.strip
>  
>  ${CDROM}: bsd.rd
>       rm -rf ${.OBJDIR}/cd-dir
> -     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/loongson
> +     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
>       mkdir -p ${.OBJDIR}/cd-dir/etc
> -     echo "set image /${OSREV}/loongson/bsd.rd" > 
> ${.OBJDIR}/cd-dir/etc/boot.conf
> -     cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/loongson
> +     echo "set image /${OSREV}/${MACHINE}/bsd.rd" > 
> ${.OBJDIR}/cd-dir/etc/boot.conf
> +     cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
>       mkhybrid -a -R -T -L -l -d -D -N -o ${.OBJDIR}/${CDROM} \
> -         -A "OpenBSD ${OSREV} loongson bootonly CD" \
> +         -A "OpenBSD ${OSREV} ${MACHINE} bootonly CD" \
>           -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
>           -p "Theo de Raadt <dera...@openbsd.org>" \
> -         -V "OpenBSD/loongson ${OSREV} boot CD" \
> +         -V "OpenBSD/${MACHINE} ${OSREV} boot CD" \
>           ${.OBJDIR}/cd-dir
>  
>  bsd.strip: bsd.rd
> Index: macppc/ramdisk/Makefile
> ===================================================================
> RCS file: /cvs/src/distrib/macppc/ramdisk/Makefile,v
> retrieving revision 1.48
> diff -u -p -r1.48 Makefile
> --- macppc/ramdisk/Makefile   5 Jan 2021 15:10:43 -0000       1.48
> +++ macppc/ramdisk/Makefile   14 Feb 2021 13:40:13 -0000
> @@ -11,21 +11,21 @@ all: ${CDROM}
>  
>  ${CDROM}: bsd.gz
>       rm -rf ${.OBJDIR}/cd-dir/
> -     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/macppc/
> -     cp bsd.gz ${.OBJDIR}/cd-dir/${OSREV}/macppc/bsd.rd
> +     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/
> +     cp bsd.gz ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd.rd
>       # On HFS, doing the following means COPIES of the files.. therefore
>       # we skip doing so.
> -     # ln ${.OBJDIR}/cd-dir/${OSREV}/macppc/bsd.rd ${.OBJDIR}/cd-dir/bsd.rd
> +     # ln ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd.rd 
> ${.OBJDIR}/cd-dir/bsd.rd
>       # ln ${.OBJDIR}/cd-dir/bsd.rd ${.OBJDIR}/cd-dir/bsd
> -     cp ${DESTDIR}/usr/mdec/bsd.tbxi ${.OBJDIR}/cd-dir/${OSREV}/macppc
> +     cp ${DESTDIR}/usr/mdec/bsd.tbxi ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
>       cp ${DESTDIR}/usr/mdec/ofwboot ${.OBJDIR}/cd-dir/
>       mkhybrid -r -part -hfs \
> -         -hfs-bless ${.OBJDIR}/cd-dir/${OSREV}/macppc \
> +         -hfs-bless ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE} \
>           -map ${.CURDIR}/../../../gnu/usr.sbin/mkhybrid/src/more.mapping \
> -         -A "OpenBSD ${OSREV} macppc bootonly CD" \
> +         -A "OpenBSD ${OSREV} ${MACHINE} bootonly CD" \
>           -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
>           -p "Theo de Raadt <dera...@openbsd.org>" \
> -         -V "OpenBSD/macppc  ${OSREV} boot-only CD" \
> +         -V "OpenBSD/${MACHINE}  ${OSREV} boot-only CD" \
>           -o ${CDROM} ${.OBJDIR}/cd-dir
>  
>  MRDISKTYPE=  rdroot
> Index: sgi/cdfs/Makefile
> ===================================================================
> RCS file: /cvs/src/distrib/sgi/cdfs/Makefile,v
> retrieving revision 1.30
> diff -u -p -r1.30 Makefile
> --- sgi/cdfs/Makefile 18 May 2020 06:20:43 -0000      1.30
> +++ sgi/cdfs/Makefile 14 Feb 2021 13:40:13 -0000
> @@ -19,16 +19,16 @@ SGIVOLSZ= 33500
>  ${CDROM}:
>       dd if=/dev/zero of=${FS} bs=1m count=${CDFSMB}
>       vnconfig -v ${FS} > vnd
> -     disklabel -w `cat vnd` minicdroot "OpenBSD/sgi     "
> +     disklabel -w `cat vnd` minicdroot "OpenBSD/${MACHINE}"
>       newfs -O 1 -m 0 -o space -i 524288 /dev/r`cat vnd`a
>       mount /dev/`cat vnd`a ${MOUNT_POINT}
> -     mkdir -p ${MOUNT_POINT}/${OSrev}/sgi
> +     mkdir -p ${MOUNT_POINT}/${OSrev}/${MACHINE}
>  .for IP in ${ALLIP}
>       gzip -9cf ${.OBJDIR}/../ramdisk/bsd.rd.IP${IP} > \
>           ${MOUNT_POINT}/bsd.IP${IP}
>       ln ${MOUNT_POINT}/bsd.IP${IP} ${MOUNT_POINT}/bsd.rd.IP${IP}
> -     ln ${MOUNT_POINT}/bsd.IP${IP} ${MOUNT_POINT}/${OSrev}/sgi/bsd.IP${IP}
> -     ln ${MOUNT_POINT}/bsd.IP${IP} ${MOUNT_POINT}/${OSrev}/sgi/bsd.rd.IP${IP}
> +     ln ${MOUNT_POINT}/bsd.IP${IP} 
> ${MOUNT_POINT}/${OSrev}/${MACHINE}/bsd.IP${IP}
> +     ln ${MOUNT_POINT}/bsd.IP${IP} 
> ${MOUNT_POINT}/${OSrev}/${MACHINE}/bsd.rd.IP${IP}
>  .endfor
>       cp ${DESTDIR}/usr/mdec/bootecoff ${MOUNT_POINT}/bootecoff
>       cp ${DESTDIR}/usr/mdec/boot32 ${MOUNT_POINT}/boot32
> Index: sgi/iso/Makefile
> ===================================================================
> RCS file: /cvs/src/distrib/sgi/iso/Makefile,v
> retrieving revision 1.38
> diff -u -p -r1.38 Makefile
> --- sgi/iso/Makefile  18 May 2020 06:20:43 -0000      1.38
> +++ sgi/iso/Makefile  14 Feb 2021 13:40:13 -0000
> @@ -68,7 +68,7 @@ ${CDROM}:
>  
>       vnconfig -v -t cdroot ${CDROM} > vnd
>  
> -     disklabel -w `cat vnd` cdroot "OpenBSD/sgi     "
> +     disklabel -w `cat vnd` cdroot "OpenBSD/${MACHINE}"
>       newfs -O 1 -m 0 -o space -i 524288 /dev/r`cat vnd`a
>       mount /dev/`cat vnd`a ${.OBJDIR}/cd-dir
>       mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
> Index: sparc64/miniroot/Makefile
> ===================================================================
> RCS file: /cvs/src/distrib/sparc64/miniroot/Makefile,v
> retrieving revision 1.25
> diff -u -p -r1.25 Makefile
> --- sparc64/miniroot/Makefile 13 Feb 2021 18:41:52 -0000      1.25
> +++ sparc64/miniroot/Makefile 14 Feb 2021 13:40:13 -0000
> @@ -34,10 +34,10 @@ ${FS}: bsd.gz
>  
>  ${CDROM}: bsd.rd ${FS}
>       rm -rf ${.OBJDIR}/cd-dir
> -     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/sparc64
> -     cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/sparc64
> -     ln ${.OBJDIR}/cd-dir/${OSREV}/sparc64/bsd.rd 
> ${.OBJDIR}/cd-dir/${OSREV}/sparc64/bsd
> -     cp ${DESTDIR}/usr/mdec/ofwboot ${.OBJDIR}/cd-dir/${OSREV}/sparc64
> +     mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
> +     cp ${.OBJDIR}/bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
> +     ln ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd.rd 
> ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}/bsd
> +     cp ${DESTDIR}/usr/mdec/ofwboot ${.OBJDIR}/cd-dir/${OSREV}/${MACHINE}
>  
>       echo 'm 1       sun4' > ${.OBJDIR}/cd-dir/.slicemapfile
>       echo 'm 2       sun4c' >> ${.OBJDIR}/cd-dir/.slicemapfile
> @@ -47,13 +47,13 @@ ${CDROM}: bsd.rd ${FS}
>       echo 'm 5       sun4us' >> ${.OBJDIR}/cd-dir/.slicemapfile
>       echo 'm 6       sun4v' >> ${.OBJDIR}/cd-dir/.slicemapfile
>       mkhybrid -a -R -r -T -L -d -D -N \
> -         -A "OpenBSD ${OSREV} sparc64 bootonly CD" \
> +         -A "OpenBSD ${OSREV} ${MACHINE} bootonly CD" \
>           -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
>           -p "Theo de Raadt <dera...@openbsd.org>" \
> -         -V "OpenBSD/sparc64 ${OSREV} boot-only CD" \
> +         -V "OpenBSD/${MACHINE} ${OSREV} boot-only CD" \
>           -o ${.OBJDIR}/${CDROM} ${.OBJDIR}/cd-dir
>       vnconfig -v ${CDROM} > vnd
> -     disklabel -w `cat vnd` fakecdrom "OpenBSD${OSrev}sparc64"
> +     disklabel -w `cat vnd` fakecdrom "OpenBSD${OSrev}${MACHINE}"
>       vnconfig -u `cat vnd`
>       rm -f vnd
>       mksuncd f ${CDROM} ${FS}
> 

Reply via email to