117078dccSJordan K. Hubbard# $Id: Makefile,v 1.153 1995/05/11 07:03:33 jkh Exp $ 20202c140SRodney W. Grimes# 3bd668f6fSPoul-Henning Kamp# How to roll a release: 4bd668f6fSPoul-Henning Kamp# 5bd668f6fSPoul-Henning Kamp# make release CHROOTDIR=<lots of disk> [ RELEASETAG=something ] 6bd668f6fSPoul-Henning Kamp# 7bd668f6fSPoul-Henning Kamp# As far as I know, this will roll everything nicely into the "stage" 8bd668f6fSPoul-Henning Kamp# directory. I still need to write the two rules to move that into 9bd668f6fSPoul-Henning Kamp# the "cdrom" and "ftp" directories. 10bd668f6fSPoul-Henning Kamp# I also need to "make ports" and install those, but I'm not going to do 11bd668f6fSPoul-Henning Kamp# that on a 14.4 line just yet... 120202c140SRodney W. Grimes 13ab0e9cdcSPoul-Henning Kamp# SET THIS !!! 1420e5d523SJordan K. Hubbard#BUILDNAME=SOME_RANDOM_BUILD 15ab0e9cdcSPoul-Henning Kamp 16ab0e9cdcSPoul-Henning Kamp# If this is a RELEASE, then set 17ab0e9cdcSPoul-Henning Kamp#RELEASETAG=something 18ab0e9cdcSPoul-Henning Kamp 19bd668f6fSPoul-Henning Kamp# Things which without too much trouble can be considered variables 20785bd4b4SPoul-Henning Kamp 21785bd4b4SPoul-Henning KampEXPORT_DISTS= games manpages proflibs dict info 22212014b8SJordan K. HubbardEXTRA_DISTS= des ${EXPORT_DISTS} 23518a1d34SPoul-Henning KampALL_DISTS= bin ${EXTRA_DISTS} 24785bd4b4SPoul-Henning Kamp 25916b5365SJordan K. HubbardCPIO1= etc/services etc/protocols etc/sysconfig 26bd668f6fSPoul-Henning KampCPIO2= scripts/miscfuncs.sh scripts/instdist.sh scripts/netinst.sh \ 2731c448c2SJordan K. Hubbard scripts/adduser.sh scripts/bininst.sh scripts/setup.sh 281cdab3d4SJordan K. Hubbard 29c951ad87SJordan K. HubbardFAQS= README MIRROR.SITES 30e12c4355SPoul-Henning Kamp 3116e5d87eSPoul-Henning Kamp# define this to use a vn device instead of the floppy drive 327c474103SPoul-Henning KampVNDEVICE= vn0 3316e5d87eSPoul-Henning Kamp 347c474103SPoul-Henning Kamp# which floppy to use, if VNDEVICE isn't defined. 357c474103SPoul-Henning KampFDDEVICE= fd0 36518a1d34SPoul-Henning Kamp 3716e5d87eSPoul-Henning Kamp# define FDFORMAT to format physical floppies 38544eee1aSPoul-Henning KampFDFORMAT= yes 3916e5d87eSPoul-Henning Kamp 407c474103SPoul-Henning Kamp# mountpoint for filesystems. 417c474103SPoul-Henning KampMNT= /mnt 42518a1d34SPoul-Henning Kamp 43518a1d34SPoul-Henning Kamp# other floppy parameters. 44bd668f6fSPoul-Henning KampFDCYLS= 80 45bd668f6fSPoul-Henning KampFDCYLSIZE= 15k 46bd668f6fSPoul-Henning KampFDLABEL= fd1200 4716e5d87eSPoul-Henning Kamp 489776cec4SPoul-Henning KampNEWFSARGS= -c 80 -b 4096 -f 512 -i 5000 -m 0 -t 0 -u 0 \ 4916e5d87eSPoul-Henning Kamp -o space -T ${FDLABEL} 500202c140SRodney W. Grimes 5100063f88SPoul-Henning KampZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 - 5200063f88SPoul-Henning Kamp 53d5cf6f60SAndrey A. Chernov 54bd668f6fSPoul-Henning Kamp# Things which will get you into trouble if you change them 55785bd4b4SPoul-Henning KampDISTRIBUTIONS= bin ${EXTRA_DISTS} 5648327bc9SPoul-Henning KampMTREEFILES= ${.CURDIR}/../etc/mtree 57bd668f6fSPoul-Henning KampRD= ${RELEASEDIR}/stage 58e12c4355SPoul-Henning KampFD= ${RELEASEDIR}/ftp 59e12c4355SPoul-Henning KampCD= ${RELEASEDIR}/cdrom 6048327bc9SPoul-Henning Kamp 61bd668f6fSPoul-Henning Kamprelease: 6220e5d523SJordan K. Hubbard.if !defined(CHROOTDIR) || !defined(BUILDNAME) 6320e5d523SJordan K. Hubbard @echo "To make a release you must set CHROOTDIR and BUILDNAME" && false 647eb11201SPoul-Henning Kamp.endif 65bd668f6fSPoul-Henning Kamp -mkdir ${CHROOTDIR} 66bd668f6fSPoul-Henning Kamp chflags -R noschg ${CHROOTDIR}/. 67bd668f6fSPoul-Henning Kamp rm -rf ${CHROOTDIR}/* 687e055f73SPoul-Henning Kamp cd ${.CURDIR}/../etc ; ${MAKE} distrib-dirs DESTDIR=${CHROOTDIR} 697e055f73SPoul-Henning Kamp cd ${.CURDIR}/../etc ; ${MAKE} distribution DESTDIR=${CHROOTDIR} 70e12c4355SPoul-Henning Kamp cd ${.CURDIR}/.. ; ${MAKE} -k install DESTDIR=${CHROOTDIR} 71bd668f6fSPoul-Henning Kamp echo "#!/bin/sh" > ${CHROOTDIR}/mk 72bd668f6fSPoul-Henning Kamp echo "set -ex" >> ${CHROOTDIR}/mk 73bd668f6fSPoul-Henning Kamp echo "cd /usr/src" >> ${CHROOTDIR}/mk 74bd668f6fSPoul-Henning Kamp echo "make world" >> ${CHROOTDIR}/mk 75dda697f0SJordan K. Hubbard echo "cd /usr/src/release/libdisk" >> ${CHROOTDIR}/mk 760020de4fSJordan K. Hubbard echo "make obj" >> ${CHROOTDIR}/mk 770020de4fSJordan K. Hubbard echo "make all" >> ${CHROOTDIR}/mk 78dda697f0SJordan K. Hubbard echo "cd /usr/src/release/sysinstall" >> ${CHROOTDIR}/mk 790020de4fSJordan K. Hubbard echo "make obj" >> ${CHROOTDIR}/mk 800020de4fSJordan K. Hubbard echo "make all" >> ${CHROOTDIR}/mk 81a3e12198SJordan K. Hubbard echo "cd /usr/src/release" >> ${CHROOTDIR}/mk 827e055f73SPoul-Henning Kamp echo "make obj" >> ${CHROOTDIR}/mk 832469b9a2SPoul-Henning Kamp echo "make doRELEASE" >> ${CHROOTDIR}/mk 842469b9a2SPoul-Henning Kamp echo "RELEASEDIR=/R" >> ${CHROOTDIR}/etc/make.conf 85bd668f6fSPoul-Henning Kamp.if !defined(RELEASETAG) 86598c5bd0SPoul-Henning Kamp cd ${CHROOTDIR}/usr ; cvs co -P src 87bd668f6fSPoul-Henning Kamp.else 888b5f78d2SPoul-Henning Kamp cd ${CHROOTDIR}/usr ; cvs export -r ${RELEASETAG} src 89bd668f6fSPoul-Henning Kamp.endif 90ab0e9cdcSPoul-Henning Kamp ( cd ${CHROOTDIR}/usr/src/sys/conf && \ 91ab0e9cdcSPoul-Henning Kamp mv newvers.sh foo && \ 92ab0e9cdcSPoul-Henning Kamp sed "s/^RELEASE=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh ) 93d2b98961SPoul-Henning Kamp # To be used in development... 94d2b98961SPoul-Henning Kamp #find ${.CURDIR} -print | cpio -dumpv ${CHROOTDIR} 95bd668f6fSPoul-Henning Kamp chmod 755 ${CHROOTDIR}/mk 96bd668f6fSPoul-Henning Kamp chroot ${CHROOTDIR} /mk 97bd668f6fSPoul-Henning Kamp 9820e5d523SJordan K. Hubbard# Same as above, but assume that a build just fell over, has been corrected 9920e5d523SJordan K. Hubbard# and now we just want to pick up where we left off. 10020e5d523SJordan K. Hubbardrerelease: 10120e5d523SJordan K. Hubbard.if !defined(CHROOTDIR) || !defined(BUILDNAME) 10220e5d523SJordan K. Hubbard @echo "To make a release you must set CHROOTDIR and BUILDNAME" && false 10320e5d523SJordan K. Hubbard.endif 10420e5d523SJordan K. Hubbard @if [ ! -d ${CHROOTDIR} ]; then echo "No ${CHROOTDIR} directory to re-release in!"; exit 1; fi 10520e5d523SJordan K. Hubbard cd ${.CURDIR}/../etc ; ${MAKE} distrib-dirs DESTDIR=${CHROOTDIR} 10620e5d523SJordan K. Hubbard cd ${.CURDIR}/../etc ; ${MAKE} distribution DESTDIR=${CHROOTDIR} 10720e5d523SJordan K. Hubbard cd ${.CURDIR}/.. ; ${MAKE} -k install DESTDIR=${CHROOTDIR} 10820e5d523SJordan K. Hubbard echo "#!/bin/sh" > ${CHROOTDIR}/mk 10920e5d523SJordan K. Hubbard echo "set -ex" >> ${CHROOTDIR}/mk 11020e5d523SJordan K. Hubbard echo "cd /usr/src" >> ${CHROOTDIR}/mk 11120e5d523SJordan K. Hubbard echo "make all install" >> ${CHROOTDIR}/mk 112dda697f0SJordan K. Hubbard echo "cd /usr/src/release/libdisk" >> ${CHROOTDIR}/mk 1130020de4fSJordan K. Hubbard echo "make obj" >> ${CHROOTDIR}/mk 1140020de4fSJordan K. Hubbard echo "make all" >> ${CHROOTDIR}/mk 115dda697f0SJordan K. Hubbard echo "cd /usr/src/release/sysinstall" >> ${CHROOTDIR}/mk 1160020de4fSJordan K. Hubbard echo "make obj" >> ${CHROOTDIR}/mk 1170020de4fSJordan K. Hubbard echo "make all" >> ${CHROOTDIR}/mk 118a3e12198SJordan K. Hubbard echo "cd /usr/src/release" >> ${CHROOTDIR}/mk 11920e5d523SJordan K. Hubbard echo "make obj" >> ${CHROOTDIR}/mk 12020e5d523SJordan K. Hubbard echo "make doRELEASE" >> ${CHROOTDIR}/mk 12120e5d523SJordan K. Hubbard echo "RELEASEDIR=/R" >> ${CHROOTDIR}/etc/make.conf 122dda697f0SJordan K. Hubbard.if !defined(RELEASENOUPDATE) 12320e5d523SJordan K. Hubbard.if !defined(RELEASETAG) 12420e5d523SJordan K. Hubbard cd ${CHROOTDIR}/usr ; cvs update -P -d -q src 12520e5d523SJordan K. Hubbard.else 12620e5d523SJordan K. Hubbard cd ${CHROOTDIR}/usr ; cvs export -r ${RELEASETAG} -P -d -q src 12720e5d523SJordan K. Hubbard.endif 128dda697f0SJordan K. Hubbard.endif 12920e5d523SJordan K. Hubbard ( cd ${CHROOTDIR}/usr/src/sys/conf && \ 13020e5d523SJordan K. Hubbard mv newvers.sh foo && \ 13120e5d523SJordan K. Hubbard sed "s/^RELEASE=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh ) 13220e5d523SJordan K. Hubbard # To be used in development... 13320e5d523SJordan K. Hubbard #find ${.CURDIR} -print | cpio -dumpv ${CHROOTDIR} 13420e5d523SJordan K. Hubbard chmod 755 ${CHROOTDIR}/mk 13520e5d523SJordan K. Hubbard chroot ${CHROOTDIR} /mk 13620e5d523SJordan K. Hubbard 137bd668f6fSPoul-Henning Kampclean: 1383bc93c76SPoul-Henning Kamp rm -rf cpio_crunch boot_crunch release.[0-9] release.1[0] 139bd668f6fSPoul-Henning Kamp 140bd668f6fSPoul-Henning Kamp# Clean out ${RELEASEDIR} and make the directory structure. 141bd668f6fSPoul-Henning Kamprelease.1: 142bd668f6fSPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 14348327bc9SPoul-Henning Kamp -mkdir ${RELEASEDIR} 14448327bc9SPoul-Henning Kamp chflags -R noschg ${RELEASEDIR}/. 14548327bc9SPoul-Henning Kamp rm -rf ${RELEASEDIR}/* 146bd668f6fSPoul-Henning Kamp mkdir ${RD} 147bd668f6fSPoul-Henning Kamp mkdir ${RD}/floppies 148e12c4355SPoul-Henning Kamp mkdir ${RD}/trees 149bd668f6fSPoul-Henning Kamp mkdir ${RD}/dists 150518a1d34SPoul-Henning Kamp for i in ${ALL_DISTS} ; do \ 151e12c4355SPoul-Henning Kamp mkdir ${RD}/trees/$$i ; \ 152bd668f6fSPoul-Henning Kamp mkdir ${RD}/dists/$$i ; \ 153bd668f6fSPoul-Henning Kamp mtree -deU -f ${MTREEFILES}/BSD.root.dist \ 154e12c4355SPoul-Henning Kamp -p ${RD}/trees/$$i > /dev/null ; \ 155bd668f6fSPoul-Henning Kamp mtree -deU -f ${MTREEFILES}/BSD.usr.dist \ 156e12c4355SPoul-Henning Kamp -p ${RD}/trees/$$i/usr > /dev/null ; \ 157a414a675SPoul-Henning Kamp mtree -deU -f ${MTREEFILES}/BSD.include.dist \ 158a414a675SPoul-Henning Kamp -p ${RD}/trees/$$i/usr/include > /dev/null ; \ 159bd668f6fSPoul-Henning Kamp mtree -deU -f ${MTREEFILES}/BSD.var.dist \ 160e12c4355SPoul-Henning Kamp -p ${RD}/trees/$$i/var > /dev/null ; \ 16148327bc9SPoul-Henning Kamp done 162bd668f6fSPoul-Henning Kamp touch release.1 1637f986648SPoul-Henning Kamp 164bd668f6fSPoul-Henning Kamp# Install the system into the various distributions. 165bd668f6fSPoul-Henning Kamprelease.2: 166bd668f6fSPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 167518a1d34SPoul-Henning Kamp cd ${.CURDIR}/../etc && make distrib-dirs DESTDIR=${RD}/trees/bin 168e12c4355SPoul-Henning Kamp cd ${.CURDIR}/.. ; make distribute DISTDIR=${RD}/trees 169c5b0a909SPoul-Henning Kamp chflags -R noschg ${RD}/trees 170d9965086SPoul-Henning Kamp uudecode ${.CURDIR}/compat20/libgcc.so.261.0.uu 171d9965086SPoul-Henning Kamp install -m 444 -o bin -g bin libgcc.so.261.0 ${RD}/trees/bin/usr/lib 172bd668f6fSPoul-Henning Kamp touch release.2 173bd668f6fSPoul-Henning Kamp 174bd668f6fSPoul-Henning Kamp# Make and install a couple of kernels we need. 175bd668f6fSPoul-Henning Kamprelease.3: 1766d83113dSPoul-Henning Kamp rm -rf ${RD}/kernels 177518a1d34SPoul-Henning Kamp mkdir -p ${RD}/kernels 17856f6016dSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 17956f6016dSPoul-Henning Kamp cd ${.CURDIR}/../sys/i386/conf && \ 18001feef2cSPoul-Henning Kamp sed 's/GENERIC/BOOTCDROM/g' GENERIC > BOOTCDROM 181954f5fffSPoul-Henning Kamp for i in GENERIC BOOTCDROM ; do \ 18201feef2cSPoul-Henning Kamp cd ${.CURDIR}/../sys/i386/conf && \ 18301feef2cSPoul-Henning Kamp config $$i && \ 18401feef2cSPoul-Henning Kamp cd ${.CURDIR}/../sys/compile/$$i && \ 18556f6016dSPoul-Henning Kamp make depend && \ 18656f6016dSPoul-Henning Kamp make kernel && \ 18701feef2cSPoul-Henning Kamp cp kernel ${RD}/kernels/$$i ; \ 18815587f8eSPoul-Henning Kamp rm -rf ${.CURDIR}/../sys/compile/$$i ; \ 18901feef2cSPoul-Henning Kamp done 19001feef2cSPoul-Henning Kamp rm -f ${.CURDIR}/../sys/i386/conf/BOOTCDROM 191954f5fffSPoul-Henning Kamp cd ${RD}/kernels && kzip GENERIC 192bd668f6fSPoul-Henning Kamp touch release.3 193bd668f6fSPoul-Henning Kamp 19401feef2cSPoul-Henning Kamp# Make and install the three crunched binaries which live on the floppies. 195bd668f6fSPoul-Henning Kamp# You are not supposed to like this :-) 196bd668f6fSPoul-Henning Kamprelease.4: 197bd668f6fSPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 198518a1d34SPoul-Henning Kamp rm -rf ${RD}/crunch 199518a1d34SPoul-Henning Kamp mkdir -p ${RD}/crunch 2003bc93c76SPoul-Henning Kamp for j in boot cpio fixit; do \ 201518a1d34SPoul-Henning Kamp rm -rf $${j}_crunch && \ 202518a1d34SPoul-Henning Kamp mkdir $${j}_crunch && \ 203518a1d34SPoul-Henning Kamp ( cd $${j}_crunch && \ 204518a1d34SPoul-Henning Kamp crunchgen ${.CURDIR}/$${j}_crunch.conf && \ 205518a1d34SPoul-Henning Kamp ${MAKE} -f $${j}_crunch.mk objs exe NOCRYPT=yes ) && \ 206518a1d34SPoul-Henning Kamp mv $${j}_crunch/$${j}_crunch ${RD}/crunch/$${j} && \ 207bd668f6fSPoul-Henning Kamp rm -rf $${j}_crunch ; \ 208bd668f6fSPoul-Henning Kamp done 209bd668f6fSPoul-Henning Kamp touch release.4 210bd668f6fSPoul-Henning Kamp 211bd668f6fSPoul-Henning Kamp# Fix up the distributions. 212bd668f6fSPoul-Henning Kamprelease.5: 213bd668f6fSPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 214518a1d34SPoul-Henning Kamp ln -f ${RD}/kernels/GENERIC ${RD}/trees/bin/kernel.GENERIC 215e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/share/man ] ; then \ 216e12c4355SPoul-Henning Kamp rm -rf ${RD}/trees/manpages/usr/share/man ;\ 217e12c4355SPoul-Henning Kamp mv ${RD}/trees/bin/usr/share/man \ 218e12c4355SPoul-Henning Kamp ${RD}/trees/manpages/usr/share/man ;\ 219bd668f6fSPoul-Henning Kamp fi 220e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/games ] ; then \ 221e12c4355SPoul-Henning Kamp rm -rf ${RD}/trees/games/usr/games ;\ 222e12c4355SPoul-Henning Kamp mv ${RD}/trees/bin/usr/games \ 223e12c4355SPoul-Henning Kamp ${RD}/trees/games/usr/games ;\ 224bd668f6fSPoul-Henning Kamp fi 225e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/share/games ] ; then \ 226e12c4355SPoul-Henning Kamp rm -rf ${RD}/trees/games/usr/share/games ;\ 227e12c4355SPoul-Henning Kamp mv ${RD}/trees/bin/usr/share/games \ 228e12c4355SPoul-Henning Kamp ${RD}/trees/games/usr/share/games ;\ 229bd668f6fSPoul-Henning Kamp fi 230e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/var/games ] ; then \ 231e12c4355SPoul-Henning Kamp rm -rf ${RD}/trees/games/var/games ;\ 232e12c4355SPoul-Henning Kamp mv ${RD}/trees/bin/var/games \ 233e12c4355SPoul-Henning Kamp ${RD}/trees/games/var/games ;\ 234bd668f6fSPoul-Henning Kamp fi 235e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/share/dict ] ; then \ 236e12c4355SPoul-Henning Kamp rm -rf ${RD}/trees/dict/usr/share/dict ;\ 237e12c4355SPoul-Henning Kamp mv ${RD}/trees/bin/usr/share/dict \ 238e12c4355SPoul-Henning Kamp ${RD}/trees/dict/usr/share/dict ;\ 239bd668f6fSPoul-Henning Kamp fi 240bd668f6fSPoul-Henning Kamp for i in airport birthtoken flowers na.phone zipcodes ; do \ 241e12c4355SPoul-Henning Kamp if [ -f ${RD}/trees/bin/usr/share/misc/$$i ] ; then \ 242e12c4355SPoul-Henning Kamp mv ${RD}/trees/bin/usr/share/misc/$$i \ 243e12c4355SPoul-Henning Kamp ${RD}/trees/dict/usr/share/misc ; \ 244bd668f6fSPoul-Henning Kamp fi ; \ 245bd668f6fSPoul-Henning Kamp done 246d2b98961SPoul-Henning Kamp -mv ${RD}/trees/bin/usr/share/info/* \ 24756f6016dSPoul-Henning Kamp ${RD}/trees/info/usr/share/info 248e12c4355SPoul-Henning Kamp for i in ${RD}/trees/bin/usr/lib/*_p.a ; do \ 249bd668f6fSPoul-Henning Kamp if [ -f $$i ] ; then \ 250bd668f6fSPoul-Henning Kamp mv $$i \ 251e12c4355SPoul-Henning Kamp ${RD}/trees/proflibs/usr/lib ; \ 252bd668f6fSPoul-Henning Kamp fi ; \ 253bd668f6fSPoul-Henning Kamp done 254d2b98961SPoul-Henning Kamp cd ${RD}/trees/bin/usr/share/misc && rm -f termcap.db vgrindefs.db 25527d44115SPoul-Henning Kamp -cd ${RD}/trees && \ 25627d44115SPoul-Henning Kamp find ${EXTRA_DISTS} -depth -type d -print | xargs rmdir 257bd668f6fSPoul-Henning Kamp touch release.5 258f14786ddSJordan K. Hubbard 259bd668f6fSPoul-Henning Kamp# Complete the bootfd 260bd668f6fSPoul-Henning Kamprelease.6: 261bd668f6fSPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 262518a1d34SPoul-Henning Kamp rm -rf ${RD}/bootfd 263518a1d34SPoul-Henning Kamp mkdir ${RD}/bootfd 264518a1d34SPoul-Henning Kamp cd ${RD}/bootfd && \ 265caeb2525SJordan K. Hubbard mkdir -p dev mnt stand/help 266518a1d34SPoul-Henning Kamp ln -f ${RD}/kernels/GENERIC.kz ${RD}/bootfd/kernel 267518a1d34SPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) installCRUNCH CRUNCH=boot \ 268518a1d34SPoul-Henning Kamp DIR=${RD}/bootfd/stand ZIP=true 269e12c4355SPoul-Henning Kamp ( cd ${RD}/trees/bin/dev ; \ 270bd668f6fSPoul-Henning Kamp ls console tty ttyv1 null zero \ 271895449d2SPoul-Henning Kamp *[sw]d* fd[01] rfd[01] | \ 272bd668f6fSPoul-Henning Kamp cpio -dump ${RD}/bootfd/dev ) 27317078dccSJordan K. Hubbard tar --exclude CVS -cf - -C ${.CURDIR}/sysinstall help | \ 27417078dccSJordan K. Hubbard tar xvf - -C ${RD}/bootfd/stand 275caeb2525SJordan K. Hubbard install -c ${.CURDIR}/../COPYRIGHT ${RD}/bootfd/stand/help/COPYRIGHT 276c951ad87SJordan K. Hubbard cd ${RD}/trees/bin/usr/share/FAQ/Text ; \ 277caeb2525SJordan K. Hubbard install -c RELNOTES.FreeBSD ${RD}/bootfd/stand/help/RELNOTES; \ 278caeb2525SJordan K. Hubbard install -c README ${RD}/bootfd/stand/help/README 279bd668f6fSPoul-Henning Kamp touch ${RD}/bootfd/this_is_boot_flp 2803edcd90dSJordan K. Hubbard cd ${.CURDIR} ; ${MAKE} doFLOPPY FLOPPY=boot 281bd668f6fSPoul-Henning Kamp touch release.6 282bd668f6fSPoul-Henning Kamp 283bd668f6fSPoul-Henning Kamp# Complete the cpiofd directory 284bd668f6fSPoul-Henning Kamprelease.7: 285bd668f6fSPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 286518a1d34SPoul-Henning Kamp rm -rf ${RD}/cpiofd 287518a1d34SPoul-Henning Kamp mkdir ${RD}/cpiofd 288518a1d34SPoul-Henning Kamp cd ${RD}/cpiofd && \ 289518a1d34SPoul-Henning Kamp mkdir stand stand/scripts 290518a1d34SPoul-Henning Kamp ln -f ${RD}/kernels/GENERIC ${RD}/cpiofd/kernel 291518a1d34SPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) installCRUNCH CRUNCH=cpio \ 292518a1d34SPoul-Henning Kamp DIR=${RD}/cpiofd/stand ZIP=false 293e12c4355SPoul-Henning Kamp cd ${RD}/trees/bin ; ls ${CPIO1} | cpio -dump ${RD}/cpiofd/stand 294e12c4355SPoul-Henning Kamp cd ${.CURDIR} ; ls ${CPIO2} | cpio -dumpv ${RD}/cpiofd/stand 295836ed9f2SPoul-Henning Kamp ( JUST_TELL_ME=please ; . ${.CURDIR}/../sys/conf/newvers.sh ; \ 296836ed9f2SPoul-Henning Kamp sed "/DISTNAME=/s/FOOBAR/$$DISTNAME/" \ 297836ed9f2SPoul-Henning Kamp < ${RD}/cpiofd/stand/scripts/miscfuncs.sh \ 298836ed9f2SPoul-Henning Kamp > ${RD}/cpiofd/stand/scripts/tmp ;\ 299836ed9f2SPoul-Henning Kamp ) 300836ed9f2SPoul-Henning Kamp mv ${RD}/cpiofd/stand/scripts/tmp \ 301836ed9f2SPoul-Henning Kamp ${RD}/cpiofd/stand/scripts/miscfuncs.sh 302e12c4355SPoul-Henning Kamp chmod 755 ${RD}/cpiofd/stand/scripts/* 303e12c4355SPoul-Henning Kamp cp ${RD}/trees/bin/usr/sbin/tzsetup ${RD}/cpiofd/stand 304bd668f6fSPoul-Henning Kamp ( cd ${RD}/cpiofd ; \ 305bd668f6fSPoul-Henning Kamp ( rm -f OK ; find . -print ; touch OK ; echo OK ) | \ 306bd668f6fSPoul-Henning Kamp cpio -H newc -oa | gzip -9 -c | dd conv=osync ) \ 307bd668f6fSPoul-Henning Kamp > ${RD}/floppies/cpio.flp 308bd668f6fSPoul-Henning Kamp touch release.7 309bd668f6fSPoul-Henning Kamp 310d5d65cebSJordan K. Hubbard# Make binary dists, notice that DES dist isn't finished yet. 311bd668f6fSPoul-Henning Kamprelease.8: 312bd668f6fSPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 313e12c4355SPoul-Henning Kamp rm -rf ${RD}/dists 314e12c4355SPoul-Henning Kamp mkdir -p ${RD}/dists 3154d190d48SJordan K. Hubbard @for i in ${DISTRIBUTIONS} ; \ 316ff93920cSPoul-Henning Kamp do \ 317e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/$${i} ] ; then \ 318bd668f6fSPoul-Henning Kamp cd ${.CURDIR} ; \ 319e12c4355SPoul-Henning Kamp $(MAKE) doTARBALL SD=${RD}/trees/$${i} \ 320836ed9f2SPoul-Henning Kamp TN=$$i TD=$$i ARG="." ; \ 321e12c4355SPoul-Henning Kamp ( cd ${RD}/dists/$${i}; \ 32284df4dafSJordan K. Hubbard sh -e ${.CURDIR}/scripts/mkchecksums.sh ) ; \ 32384df4dafSJordan K. Hubbard cp ${.CURDIR}/scripts/extract_$${i}.sh \ 324e12c4355SPoul-Henning Kamp ${RD}/dists/$${i}/extract.sh;\ 3254d190d48SJordan K. Hubbard echo "$${i} distribution is finished."; \ 326bd668f6fSPoul-Henning Kamp fi ; \ 327ff93920cSPoul-Henning Kamp done 328bd668f6fSPoul-Henning Kamp touch release.8 329172c16b7SJordan K. Hubbard 330bd668f6fSPoul-Henning Kamp 331d5d65cebSJordan K. Hubbard# Make source dists, and finish of DES too 332bd668f6fSPoul-Henning Kamprelease.9: 333bd668f6fSPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 334836ed9f2SPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) doTARBALL SD=/usr/src \ 335d2b98961SPoul-Henning Kamp TD=src TN=sbase ARG="[A-Z]*" 336d2b98961SPoul-Henning Kamp @for i in `cd /usr/src ; echo [a-z]*` ; do \ 337836ed9f2SPoul-Henning Kamp if [ -d /usr/src/$$i -a "$$i" != "CVS" ] ; then \ 338bd668f6fSPoul-Henning Kamp cd ${.CURDIR} ; \ 339bd668f6fSPoul-Henning Kamp $(MAKE) doTARBALL SD=/usr/src \ 340d2b98961SPoul-Henning Kamp TN=`echo s$$i | tr -d '.' | sed 's/usr/u/'` \ 341a8335764SPoul-Henning Kamp TD=src ARG="$$i" ; \ 342bd668f6fSPoul-Henning Kamp fi ; \ 343bd668f6fSPoul-Henning Kamp done 344d2b98961SPoul-Henning Kamp ( cd ${RD}/dists/src && \ 345212014b8SJordan K. Hubbard if [ -f sdes.aa ] ; then mv sdes.* ../des ; fi && \ 346212014b8SJordan K. Hubbard if [ -f sebones.aa ] ; then mv sebones.* ../des ; fi && \ 347d2b98961SPoul-Henning Kamp sh -e ${.CURDIR}/scripts/mkchecksums.sh ) 348d2b98961SPoul-Henning Kamp cp ${.CURDIR}/scripts/extract_src.sh ${RD}/dists/src/extract.sh 349212014b8SJordan K. Hubbard if [ -d ${RD}/dists/des ] ; then \ 350212014b8SJordan K. Hubbard ( cd ${RD}/dists/des && sh -e ${.CURDIR}/scripts/mkchecksums.sh );\ 35160ca0bffSPoul-Henning Kamp fi 352d2b98961SPoul-Henning Kamp @echo "src distribution is finished." 3532469b9a2SPoul-Henning Kamp touch release.9 354bd668f6fSPoul-Henning Kamp 3553bc93c76SPoul-Henning Kamp# Complete the fixitfd 3563bc93c76SPoul-Henning Kamprelease.10: 3573bc93c76SPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR 358518a1d34SPoul-Henning Kamp rm -rf ${RD}/fixitfd 359518a1d34SPoul-Henning Kamp mkdir ${RD}/fixitfd 360518a1d34SPoul-Henning Kamp cd ${RD}/fixitfd && \ 361518a1d34SPoul-Henning Kamp mkdir stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp 362518a1d34SPoul-Henning Kamp ln -f ${RD}/kernels/GENERIC.kz ${RD}/fixitfd/kernel 363518a1d34SPoul-Henning Kamp @cd ${.CURDIR} ; $(MAKE) installCRUNCH CRUNCH=fixit \ 364518a1d34SPoul-Henning Kamp DIR=${RD}/fixitfd/stand ZIP=true 365518a1d34SPoul-Henning Kamp ( cd ${RD}/trees/bin/dev && \ 366518a1d34SPoul-Henning Kamp sh MAKEDEV wd0s5 wd0s6 wd0s7 wd0s8 && \ 3673bc93c76SPoul-Henning Kamp ls console tty ttyv1 null zero \ 368895449d2SPoul-Henning Kamp *[sw]d* fd[01] rfd[01] | \ 3693bc93c76SPoul-Henning Kamp cpio -dump ${RD}/fixitfd/dev ) 3703bc93c76SPoul-Henning Kamp ln -f ${RD}/fixitfd/stand/init ${RD}/fixitfd/sbin 371e12c4355SPoul-Henning Kamp ln -f ${RD}/fixitfd/stand/sh ${RD}/fixitfd/bin 372e12c4355SPoul-Henning Kamp cp ${RD}/trees/bin/usr/mdec/fdboot ${RD}/fixitfd/etc/boot1 373e12c4355SPoul-Henning Kamp cp ${RD}/trees/bin/usr/mdec/bootfd ${RD}/fixitfd/etc/boot2 374e12c4355SPoul-Henning Kamp cp ${.CURDIR}/fixit.profile ${RD}/fixitfd/.profile 375e12c4355SPoul-Henning Kamp echo 'echo /etc/rc' > ${RD}/fixitfd/etc/rc 376e12c4355SPoul-Henning Kamp echo 'exit 1' >> ${RD}/fixitfd/etc/rc 377e12c4355SPoul-Henning Kamp touch ${RD}/fixitfd/etc/spwd.db 3783bc93c76SPoul-Henning Kamp cd ${.CURDIR} ; ${MAKE} doFLOPPY FLOPPY=fixit 3793bc93c76SPoul-Henning Kamp touch release.10 3803bc93c76SPoul-Henning Kamp 381e12c4355SPoul-Henning Kampftp.1: 382e12c4355SPoul-Henning Kamp rm -rf ${FD} 383e12c4355SPoul-Henning Kamp mkdir ${FD} 384a8335764SPoul-Henning Kamp cd ${RD} && find floppies -print | cpio -dumpl ${FD} 385a8335764SPoul-Henning Kamp cd ${RD}/dists && find . -print | cpio -dumpl ${FD} 386c951ad87SJordan K. Hubbard cd ${RD}/trees/bin/usr/share/FAQ/Text && ln -f ${FAQS} ${FD} 3873bc93c76SPoul-Henning Kamp 388895449d2SPoul-Henning Kamp # This rule makes ${CHROOTDIR}/R/ftp a suitable anon ftp for testing. 389895449d2SPoul-Henning Kampftp.2: 390895449d2SPoul-Henning Kamp -mkdir ${FD}/bin 391895449d2SPoul-Henning Kamp ln -f ${RD}/trees/bin/bin/ls ${FD}/bin/ls 392895449d2SPoul-Henning Kamp 393c5b0a909SPoul-Henning Kampcdrom.1: 394c5b0a909SPoul-Henning Kamp rm -rf ${CD} 395c5b0a909SPoul-Henning Kamp mkdir ${CD} 396c5b0a909SPoul-Henning Kamp mkdir ${CD}/filesys 3976075622cSPoul-Henning Kamp cd ${RD} && find floppies dists bootfd -print | cpio -dumpl ${CD} 3986075622cSPoul-Henning Kamp cd ${CD} && mv bootfd bootcd 39901feef2cSPoul-Henning Kamp rm -f ${CD}/bootcd/kernel 40001feef2cSPoul-Henning Kamp ln -f ${RD}/kernels/BOOTCDROM ${CD}/bootcd/kernel 40101feef2cSPoul-Henning Kamp ln -f ${RD}/trees/bin/usr/mdec/fbsdboot.exe ${CD}/bootcd 402c5b0a909SPoul-Henning Kamp for i in ${DISTRIBUTIONS} ; \ 403c5b0a909SPoul-Henning Kamp do \ 404c5b0a909SPoul-Henning Kamp if [ -d ${RD}/trees/$${i} ] ; then \ 40501feef2cSPoul-Henning Kamp ( cd ${RD}/trees/$${i} && \ 406c5b0a909SPoul-Henning Kamp find . -depth -print | cpio -dumpl ${CD}/filesys ) ; \ 407c5b0a909SPoul-Henning Kamp fi \ 408c5b0a909SPoul-Henning Kamp done 409c5b0a909SPoul-Henning Kamp 4107eb11201SPoul-Henning Kamp# Various "subroutine" and other supporting targets. 4117eb11201SPoul-Henning Kamp 412bd668f6fSPoul-Henning KampdoTARBALL: 413bd668f6fSPoul-Henning Kamp.if !defined(SD) 414bd668f6fSPoul-Henning Kamp @echo "SD undefined in doTARBALL" ; exit 1 415bd668f6fSPoul-Henning Kamp.endif 416bd668f6fSPoul-Henning Kamp.if !defined(TD) 417bd668f6fSPoul-Henning Kamp @echo "TB undefined in doTARBALL" ; exit 1 418bd668f6fSPoul-Henning Kamp.endif 419bd668f6fSPoul-Henning Kamp.if !defined(ARG) 420bd668f6fSPoul-Henning Kamp @echo "ARG undefined in doTARBALL" ; exit 1 421bd668f6fSPoul-Henning Kamp.endif 422836ed9f2SPoul-Henning Kamp rm -rf ${RD}/dists/${TD}/${TN}* 423e12c4355SPoul-Henning Kamp mkdir -p ${RD}/dists/${TD} 424d2b98961SPoul-Henning Kamp ( cd ${SD} && \ 425d2b98961SPoul-Henning Kamp tn=`echo ${TN} | tr '[A-Z]' '[a-z]' | cut -c1-8` && \ 426d2b98961SPoul-Henning Kamp echo rolling ${TD}/$$tn tarball &&\ 42745209a22SPoul-Henning Kamp tar --exclude CVS --exclude obj -cf - ${ARG} | \ 428d2b98961SPoul-Henning Kamp ${ZIPNSPLIT} ${RD}/dists/${TD}/$$tn. ) 4297eb11201SPoul-Henning Kamp 4307eb11201SPoul-Henning KampdoRELEASE: release.1 release.2 release.3 release.4 release.5 release.6 \ 4317c474103SPoul-Henning Kamp release.7 release.8 release.9 release.10 432895449d2SPoul-Henning Kamp cd ${.CURDIR} && ${MAKE} cdrom.1 ftp.1 4337eb11201SPoul-Henning Kamp @echo "Release done" 4347eb11201SPoul-Henning Kamp 4357eb11201SPoul-Henning KampckRELEASEDIR: 4367eb11201SPoul-Henning Kamp.if !defined(RELEASEDIR) 4377eb11201SPoul-Henning Kamp @echo "To make a release RELEASEDIR must be defined" && false 4387eb11201SPoul-Henning Kamp.endif 4397eb11201SPoul-Henning Kamp 4403bc93c76SPoul-Henning KampdoFLOPPY: 4413bc93c76SPoul-Henning Kamp.if !defined(FLOPPY) 4423bc93c76SPoul-Henning Kamp @echo "FLOPPY undefined in doFLOPPY" ; exit 1 4433bc93c76SPoul-Henning Kamp.endif 44416e5d87eSPoul-Henning Kamp rm -f ${RD}/floppies/${FLOPPY}.tmp ${RD}/floppies/${FLOPPY}.flp 44516e5d87eSPoul-Henning Kamp.if defined(VNDEVICE) 44616e5d87eSPoul-Henning Kamp if [ ! -b /dev/${VNDEVICE} -o ! -c /dev/r${VNDEVICE} ] ; then \ 44716e5d87eSPoul-Henning Kamp cd /dev && sh MAKEDEV ${VNDEVICE} ; fi 44816e5d87eSPoul-Henning Kamp @umount /dev/${VNDEVICE} 2>/dev/null || true 44916e5d87eSPoul-Henning Kamp @umount ${MNT} 2>/dev/null || true 45016e5d87eSPoul-Henning Kamp @vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true 45116e5d87eSPoul-Henning Kamp dd of=${RD}/floppies/${FLOPPY}.tmp if=/dev/zero \ 45216e5d87eSPoul-Henning Kamp bs=${FDCYLSIZE} count=${FDCYLS} 2>/dev/null 45316e5d87eSPoul-Henning Kamp vnconfig -c /dev/r${VNDEVICE} ${RD}/floppies/${FLOPPY}.tmp 45416e5d87eSPoul-Henning Kamp disklabel -w -r -B \ 45516e5d87eSPoul-Henning Kamp -b ${RD}/trees/bin/usr/mdec/fdboot \ 45616e5d87eSPoul-Henning Kamp -s ${RD}/trees/bin/usr/mdec/bootfd \ 45716e5d87eSPoul-Henning Kamp /dev/r${VNDEVICE} ${FDLABEL} 45816e5d87eSPoul-Henning Kamp newfs ${NEWFSARGS} /dev/r${VNDEVICE} 45916e5d87eSPoul-Henning Kamp mount /dev/${VNDEVICE} ${MNT} 46016e5d87eSPoul-Henning Kamp cd ${RD}/${FLOPPY}fd ; find . -print | cpio -dump ${MNT} 46116e5d87eSPoul-Henning Kamp umount ${MNT} 46216e5d87eSPoul-Henning Kamp fsck /dev/r${VNDEVICE} < /dev/null 46316e5d87eSPoul-Henning Kamp.else 4643bc93c76SPoul-Henning Kamp -umount /dev/${FDDEVICE} 4653bc93c76SPoul-Henning Kamp -umount ${MNT} 466e12c4355SPoul-Henning Kamp.if !defined(FDFORMAT) 4673bc93c76SPoul-Henning Kamp echo y | fdformat /dev/r${FDDEVICE} 468e12c4355SPoul-Henning Kamp.endif 4693bc93c76SPoul-Henning Kamp disklabel -w -r -B \ 470e12c4355SPoul-Henning Kamp -b ${RD}/trees/bin/usr/mdec/fdboot \ 471e12c4355SPoul-Henning Kamp -s ${RD}/trees/bin/usr/mdec/bootfd \ 4723bc93c76SPoul-Henning Kamp /dev/r${FDDEVICE} ${FDLABEL} 47316e5d87eSPoul-Henning Kamp newfs ${NEWFSARGS} /dev/r${FDDEVICE} 47416e5d87eSPoul-Henning Kamp mount /dev/${FDDEVICE} ${MNT} 47516e5d87eSPoul-Henning Kamp cd ${RD}/${FLOPPY}fd ; find . -print | cpio -dump ${MNT} 4763bc93c76SPoul-Henning Kamp umount ${MNT} 47716e5d87eSPoul-Henning Kamp fsck -n /dev/r${FDDEVICE} < /dev/null 4783bc93c76SPoul-Henning Kamp dd if=/dev/r${FDDEVICE} of=${RD}/floppies/${FLOPPY}.tmp \ 4793bc93c76SPoul-Henning Kamp bs=${FDCYLSIZE} count=${FDCYLS} 48016e5d87eSPoul-Henning Kamp.endif 4813bc93c76SPoul-Henning Kamp mv ${RD}/floppies/${FLOPPY}.tmp ${RD}/floppies/${FLOPPY}.flp 4823bc93c76SPoul-Henning Kamp 483518a1d34SPoul-Henning KampinstallCRUNCH: 484518a1d34SPoul-Henning Kamp.if !defined(CRUNCH) 485518a1d34SPoul-Henning Kamp @echo "CRUNCH undefined in installCRUNCH" ; exit 1 486518a1d34SPoul-Henning Kamp.endif 487518a1d34SPoul-Henning Kamp.if !defined(DIR) 488518a1d34SPoul-Henning Kamp @echo "DIR undefined in installCRUNCH" ; exit 1 489518a1d34SPoul-Henning Kamp.endif 490518a1d34SPoul-Henning Kamp.if !defined(ZIP) 491518a1d34SPoul-Henning Kamp @echo "ZIP undefined in installCRUNCH" ; exit 1 492518a1d34SPoul-Henning Kamp.endif 493518a1d34SPoul-Henning Kamp if ${ZIP} ; then \ 494518a1d34SPoul-Henning Kamp gzip -9 < ${RD}/crunch/${CRUNCH} > ${DIR}/${CRUNCH}_crunch ; \ 495518a1d34SPoul-Henning Kamp else \ 496518a1d34SPoul-Henning Kamp ln -f ${RD}/crunch/${CRUNCH} ${DIR}/${CRUNCH}_crunch ; \ 497518a1d34SPoul-Henning Kamp fi 498518a1d34SPoul-Henning Kamp chmod 555 ${DIR}/${CRUNCH}_crunch 499518a1d34SPoul-Henning Kamp for i in `crunchgen -l ${.CURDIR}/${CRUNCH}_crunch.conf` ; do \ 500518a1d34SPoul-Henning Kamp ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \ 501518a1d34SPoul-Henning Kamp done 5022469b9a2SPoul-Henning Kamp.include <bsd.prog.mk> 503