132dc5e88SJordan K. Hubbard# $Id: Makefile,v 1.260 1996/12/08 18:21:29 joerg 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... 12409f9329SJordan K. Hubbard# 13f1a03fb6SAndreas Klemm# please note: the vn driver has to be compiled into your kernel, 14f1a03fb6SAndreas Klemm# otherwise the target 'release.8' and possibly others will fail. 15f1a03fb6SAndreas Klemm# 16ab0e9cdcSPoul-Henning Kamp# SET THIS !!! 17fe85fe95SJordan K. Hubbard#BUILDNAME=2.2-960501-SNAP 18fe85fe95SJordan K. Hubbard#CHROOTDIR=/junk/release 19ab0e9cdcSPoul-Henning Kamp# If this is a RELEASE, then set 20b7738481SJoerg Wunsch#RELEASETAG=RELENG_2_1_0 21ab0e9cdcSPoul-Henning Kamp 22bd668f6fSPoul-Henning Kamp# Things which without too much trouble can be considered variables 23785bd4b4SPoul-Henning Kamp 24d95793c9SJoerg WunschEXPORT_DISTS= games manpages proflibs dict info doc 25d3628763SRodney W. GrimesEXTRA_DISTS= krb des ${EXPORT_DISTS} 26518a1d34SPoul-Henning KampALL_DISTS= bin ${EXTRA_DISTS} 2716c61233SJordan K. HubbardKERNELS?= GENERIC 28785bd4b4SPoul-Henning Kamp 2940b0c0d9SPeter Wemm# Extra source tarballs; each argument is a pair of source dir and 3040b0c0d9SPeter Wemm# distribution name. The dist name should not exceed 7 characters 3140b0c0d9SPeter Wemm# (another "s" for "source" will be prepended). 3240b0c0d9SPeter WemmEXTRA_SRC+= usr.sbin/sendmail/cf smailcf 3340b0c0d9SPeter Wemm 34d3628763SRodney W. GrimesBOOT1= etc/protocols etc/sysconfig 351cdab3d4SJordan K. Hubbard 367c474103SPoul-Henning Kamp# mountpoint for filesystems. 377c474103SPoul-Henning KampMNT= /mnt 38518a1d34SPoul-Henning Kamp 39518a1d34SPoul-Henning Kamp# other floppy parameters. 4032dc5e88SJordan K. HubbardFDSIZE= 1440 4132dc5e88SJordan K. HubbardFDLABEL= fd1440 420202c140SRodney W. Grimes 4300063f88SPoul-Henning KampZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 - 4400063f88SPoul-Henning Kamp 45288fe4dbSPoul-Henning Kamp# Upper size for the mfs in the boot.flp kernel. 46ae33fac5SJordan K. Hubbard# These are adjusted down to the minimum needed by doFS.sh. 4732dc5e88SJordan K. HubbardBOOTMFSSIZE= 1440 4832dc5e88SJordan K. HubbardMFSINODE= 110000 49518c7f2aSJoerg WunschFIXITINODE= 28000 50d5cf6f60SAndrey A. Chernov 51bd668f6fSPoul-Henning Kamp# Things which will get you into trouble if you change them 52785bd4b4SPoul-Henning KampDISTRIBUTIONS= bin ${EXTRA_DISTS} 5348327bc9SPoul-Henning KampMTREEFILES= ${.CURDIR}/../etc/mtree 54bd668f6fSPoul-Henning KampRD= ${RELEASEDIR}/stage 55e12c4355SPoul-Henning KampFD= ${RELEASEDIR}/ftp 56e12c4355SPoul-Henning KampCD= ${RELEASEDIR}/cdrom 5748327bc9SPoul-Henning Kamp 583525074dSPoul-Henning Kamp.if !defined(WHICH_CRUNCH) 59b53e8a34SJordan K. HubbardWHICH_CRUNCH= boot fixit 603525074dSPoul-Henning Kamp.endif 613525074dSPoul-Henning Kamp 6216c61233SJordan K. HubbardREDO?= sysinstall 6316c61233SJordan K. HubbardREDOSED= sed -e 's/dirs/release.1/' -e 's/trees/release.2/' \ 6416c61233SJordan K. Hubbard -e 's/kerns/release.3/' -e 's/sysinstall/release.4/' \ 6516c61233SJordan K. Hubbard -e 's/fixup/release.5/' -e 's/tarbin/release.6/' \ 6616c61233SJordan K. Hubbard -e 's/tarsrc/release.7/' -e 's/boot\.flp/release.8/' \ 6716c61233SJordan K. Hubbard -e 's/fixit\.flp/release.9/' -e 's/ftp/ftp.1/' \ 6816c61233SJordan K. Hubbard -e 's/cdrom/cdrom.1/' 6916c61233SJordan K. Hubbard 7016c61233SJordan K. HubbardREDOREDO!= echo ${REDO} | ${REDOSED} 7116c61233SJordan K. Hubbard 72288fe4dbSPoul-Henning Kamprerelease release: 7320e5d523SJordan K. Hubbard.if !defined(CHROOTDIR) || !defined(BUILDNAME) 7420e5d523SJordan K. Hubbard @echo "To make a release you must set CHROOTDIR and BUILDNAME" && false 757eb11201SPoul-Henning Kamp.endif 76288fe4dbSPoul-Henning Kamp.if make(release) 77682078bdSRodney W. Grimes.if exists(${CHROOTDIR}) 78bd668f6fSPoul-Henning Kamp chflags -R noschg ${CHROOTDIR}/. 79b7738481SJoerg Wunsch -rm -rf ${CHROOTDIR} 80682078bdSRodney W. Grimes.endif 81b7738481SJoerg Wunsch -mkdir -p ${CHROOTDIR} 82288fe4dbSPoul-Henning Kamp cd ${.CURDIR}/../etc && ${MAKE} distrib-dirs DESTDIR=${CHROOTDIR} 83288fe4dbSPoul-Henning Kamp cd ${.CURDIR}/../etc && ${MAKE} distribution DESTDIR=${CHROOTDIR} 84849635f6SPoul-Henning Kamp cd ${.CURDIR}/.. && ${MAKE} install DESTDIR=${CHROOTDIR} NOMAN=1 85bd668f6fSPoul-Henning Kamp.if !defined(RELEASETAG) 8662bb2153SPaul Traina cd ${CHROOTDIR}/usr && rm -rf src && \ 8762bb2153SPaul Traina cvs -d ${CVSROOT} co -P src 883acfee7cSPaul Traina.if defined(INTCVSROOT) 893acfee7cSPaul Traina cd ${CHROOTDIR}/usr && \ 903acfee7cSPaul Traina cvs -d ${INTCVSROOT} co -P src/secure src/eBones 913acfee7cSPaul Traina.endif 92bd668f6fSPoul-Henning Kamp.else 9362bb2153SPaul Traina cd ${CHROOTDIR}/usr && rm -rf src && \ 94ba99b43eSJoerg Wunsch cvs -d ${CVSROOT} co -P -r ${RELEASETAG} src 953acfee7cSPaul Traina.if defined(INTCVSROOT) 963acfee7cSPaul Traina cd ${CHROOTDIR}/usr && \ 973acfee7cSPaul Traina cvs -d ${INTCVSROOT} co -P -r ${RELEASETAG} src/secure src/eBones 983acfee7cSPaul Traina.endif 99288fe4dbSPoul-Henning Kamp.endif 10062bb2153SPaul Traina.if defined(LOCAL_PATCHES) && exists(${LOCAL_PATCHES}) 10162bb2153SPaul Traina cd ${CHROOTDIR}/usr/src && patch --silent < ${LOCAL_PATCHES} 10262bb2153SPaul Traina.endif 103288fe4dbSPoul-Henning Kamp.endif 104288fe4dbSPoul-Henning Kamp.if make(rerelease) 105288fe4dbSPoul-Henning Kamp.if !defined(RELEASENOUPDATE) 106288fe4dbSPoul-Henning Kamp.if !defined(RELEASETAG) 107d4983966SPaul Traina cd ${CHROOTDIR}/usr/src && cvs -q update -P -d 108288fe4dbSPoul-Henning Kamp.else 109d4983966SPaul Traina cd ${CHROOTDIR}/usr/src && cvs -q update -P -d -r ${RELEASETAG} 110288fe4dbSPoul-Henning Kamp.endif 111288fe4dbSPoul-Henning Kamp.endif 112bd668f6fSPoul-Henning Kamp.endif 113ab0e9cdcSPoul-Henning Kamp ( cd ${CHROOTDIR}/usr/src/sys/conf && \ 114288fe4dbSPoul-Henning Kamp mv newvers.sh foo && \ 115288fe4dbSPoul-Henning Kamp sed "s/^RELEASE=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh&& rm foo ) 11640b0c0d9SPeter Wemm ( cd ${CHROOTDIR}/usr/src/release/sysinstall && \ 117288fe4dbSPoul-Henning Kamp sed "s/__RELEASE/${BUILDNAME}/" version.h > version.h.new && \ 11846a7b813SJordan K. Hubbard mv version.h.new version.h && \ 11946a7b813SJordan K. Hubbard echo XXXX ) 120d4983966SPaul Traina -test -f install.cfg && cp install.cfg ${CHROOTDIR}/usr/src/release 12120e5d523SJordan K. Hubbard echo "#!/bin/sh" > ${CHROOTDIR}/mk 12220e5d523SJordan K. Hubbard echo "set -ex" >> ${CHROOTDIR}/mk 123288fe4dbSPoul-Henning Kamp echo "CFLAGS='-O2 -pipe'" >> ${CHROOTDIR}/mk 124d3628763SRodney W. Grimes echo "export CFLAGS" >> ${CHROOTDIR}/mk 125d3628763SRodney W. Grimes echo "RELEASEDIR=/R" >> ${CHROOTDIR}/mk 126d3628763SRodney W. Grimes echo "export RELEASEDIR" >> ${CHROOTDIR}/mk 12720e5d523SJordan K. Hubbard echo "cd /usr/src" >> ${CHROOTDIR}/mk 128288fe4dbSPoul-Henning Kamp.if make(release) 129288fe4dbSPoul-Henning Kamp echo "make world" >> ${CHROOTDIR}/mk 130288fe4dbSPoul-Henning Kamp.endif 131288fe4dbSPoul-Henning Kamp.if make(rerelease) 13220e5d523SJordan K. Hubbard echo "make all install" >> ${CHROOTDIR}/mk 133288fe4dbSPoul-Henning Kamp.endif 134a3e12198SJordan K. Hubbard echo "cd /usr/src/release" >> ${CHROOTDIR}/mk 135b0e26113SJordan K. Hubbard echo "make obj OBJLINK=yes" >> ${CHROOTDIR}/mk 13616c61233SJordan K. Hubbard echo "cd obj" >> ${CHROOTDIR}/mk 13716c61233SJordan K. Hubbard echo "rm -f ${REDOREDO}" >> ${CHROOTDIR}/mk 13816c61233SJordan K. Hubbard echo "cd /usr/src/release" >> ${CHROOTDIR}/mk 13920e5d523SJordan K. Hubbard echo "make doRELEASE" >> ${CHROOTDIR}/mk 140288fe4dbSPoul-Henning Kamp echo "echo make ${.TARGET} Finished" >> ${CHROOTDIR}/mk 14120e5d523SJordan K. Hubbard chmod 755 ${CHROOTDIR}/mk 14220e5d523SJordan K. Hubbard chroot ${CHROOTDIR} /mk 14320e5d523SJordan K. Hubbard 14440b0c0d9SPeter Wemmwhap: 14540b0c0d9SPeter Wemm ( cd ${CHROOTDIR}/usr/src/release/sysinstall && \ 14640b0c0d9SPeter Wemm sed "s/__RELEASE/${BUILDNAME}/" version.h > version.h.new && mv version.h.new version.h ) 14740b0c0d9SPeter Wemm 148bd668f6fSPoul-Henning Kampclean: 149b53e8a34SJordan K. Hubbard rm -rf boot_crunch release.[0-9] release.1[0] 150bd668f6fSPoul-Henning Kamp 151bd668f6fSPoul-Henning Kamp# Clean out ${RELEASEDIR} and make the directory structure. 152bd668f6fSPoul-Henning Kamprelease.1: 153288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 15448327bc9SPoul-Henning Kamp -mkdir ${RELEASEDIR} 15548327bc9SPoul-Henning Kamp chflags -R noschg ${RELEASEDIR}/. 15648327bc9SPoul-Henning Kamp rm -rf ${RELEASEDIR}/* 157bd668f6fSPoul-Henning Kamp mkdir ${RD} 158bd668f6fSPoul-Henning Kamp mkdir ${RD}/floppies 159e12c4355SPoul-Henning Kamp mkdir ${RD}/trees 160bd668f6fSPoul-Henning Kamp mkdir ${RD}/dists 161bb91094aSPoul-Henning Kamp mkdir ${RD}/kernels 162518a1d34SPoul-Henning Kamp for i in ${ALL_DISTS} ; do \ 163288fe4dbSPoul-Henning Kamp mkdir ${RD}/trees/$$i && \ 164288fe4dbSPoul-Henning Kamp mkdir ${RD}/dists/$$i && \ 165bd668f6fSPoul-Henning Kamp mtree -deU -f ${MTREEFILES}/BSD.root.dist \ 166288fe4dbSPoul-Henning Kamp -p ${RD}/trees/$$i > /dev/null && \ 167bd668f6fSPoul-Henning Kamp mtree -deU -f ${MTREEFILES}/BSD.usr.dist \ 168288fe4dbSPoul-Henning Kamp -p ${RD}/trees/$$i/usr > /dev/null && \ 169a414a675SPoul-Henning Kamp mtree -deU -f ${MTREEFILES}/BSD.include.dist \ 170288fe4dbSPoul-Henning Kamp -p ${RD}/trees/$$i/usr/include > /dev/null && \ 171bd668f6fSPoul-Henning Kamp mtree -deU -f ${MTREEFILES}/BSD.var.dist \ 172e12c4355SPoul-Henning Kamp -p ${RD}/trees/$$i/var > /dev/null ; \ 17348327bc9SPoul-Henning Kamp done 174bd668f6fSPoul-Henning Kamp touch release.1 1757f986648SPoul-Henning Kamp 176bd668f6fSPoul-Henning Kamp# Install the system into the various distributions. 177bd668f6fSPoul-Henning Kamprelease.2: 178288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 179518a1d34SPoul-Henning Kamp cd ${.CURDIR}/../etc && make distrib-dirs DESTDIR=${RD}/trees/bin 180288fe4dbSPoul-Henning Kamp cd ${.CURDIR}/.. && make distribute DISTDIR=${RD}/trees 181288fe4dbSPoul-Henning Kamp.if exists(${.CURDIR}/../eBones) 182d3628763SRodney W. Grimes cd ${.CURDIR}/../eBones && ( \ 183288fe4dbSPoul-Henning Kamp make bootstrap &&\ 184288fe4dbSPoul-Henning Kamp make obj all help-distribute DISTDIR=${RD}/trees &&\ 18572f97bfaSJordan K. Hubbard make kprog \ 186d3628763SRodney W. Grimes ) 187288fe4dbSPoul-Henning Kamp.endif 188c5b0a909SPoul-Henning Kamp chflags -R noschg ${RD}/trees 189bd668f6fSPoul-Henning Kamp touch release.2 190bd668f6fSPoul-Henning Kamp 19116c61233SJordan K. Hubbard# Make and install the generic kernel(s). 192bd668f6fSPoul-Henning Kamprelease.3: 19356f6016dSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 19416c61233SJordan K. Hubbard.for kernel in ${KERNELS} 19516c61233SJordan K. Hubbard rm -f ${RD}/kernels/${kernel} 19616c61233SJordan K. Hubbard rm -rf ${.CURDIR}/../sys/compile/${kernel} 19716c61233SJordan K. Hubbard cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=${kernel} 19816c61233SJordan K. Hubbard rm -rf ${.CURDIR}/../sys/compile/${kernel} 19916c61233SJordan K. Hubbard ln -f ${RD}/kernels/${kernel} ${RD}/trees/bin/kernel.${kernel} 20016c61233SJordan K. Hubbard.endfor 201bd668f6fSPoul-Henning Kamp touch release.3 202bd668f6fSPoul-Henning Kamp 20301feef2cSPoul-Henning Kamp# Make and install the three crunched binaries which live on the floppies. 204bd668f6fSPoul-Henning Kamp# You are not supposed to like this :-) 205cd6f5820SJoerg Wunsch# 206cd6f5820SJoerg Wunsch# NB: the "RELEASE_BUILD_FIXIT" magic prevents vi from including the 207cd6f5820SJoerg Wunsch# Tcl and Perl APIs. See also /usr/src/usr.bin/vi/Makefile. 208bd668f6fSPoul-Henning Kamprelease.4: 209288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 210d50a3007SJordan K. Hubbard cd ${.CURDIR}/sysinstall && make depend all 211518a1d34SPoul-Henning Kamp rm -rf ${RD}/crunch 212518a1d34SPoul-Henning Kamp mkdir -p ${RD}/crunch 213cd6f5820SJoerg Wunsch export RELEASE_BUILD_FIXIT=noway ; \ 2143525074dSPoul-Henning Kamp for j in ${WHICH_CRUNCH} ; do \ 215518a1d34SPoul-Henning Kamp rm -rf $${j}_crunch && \ 216518a1d34SPoul-Henning Kamp mkdir $${j}_crunch && \ 217518a1d34SPoul-Henning Kamp ( cd $${j}_crunch && \ 218518a1d34SPoul-Henning Kamp crunchgen ${.CURDIR}/$${j}_crunch.conf && \ 219288fe4dbSPoul-Henning Kamp ${MAKE} -f $${j}_crunch.mk all NOCRYPT=yes \ 2203525074dSPoul-Henning Kamp "CFLAGS=${CFLAGS} -DCRUNCHED_BINARY") && \ 221518a1d34SPoul-Henning Kamp mv $${j}_crunch/$${j}_crunch ${RD}/crunch/$${j} && \ 2225bb88366SJoerg Wunsch true || { rm -rf $${j}_crunch ; false ; } ; \ 223bd668f6fSPoul-Henning Kamp done 224bd668f6fSPoul-Henning Kamp touch release.4 225bd668f6fSPoul-Henning Kamp 22630e8b491SPoul-Henning Kamp# 22730e8b491SPoul-Henning Kamp# --==## Fix up the distributions. ##==-- 22830e8b491SPoul-Henning Kamp# 229bd668f6fSPoul-Henning Kamprelease.5: 230288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 23104f11c61SJordan K. Hubbard # Handle some grief caused by the munition braindeadness. 2324f9a3d48SJoerg Wunsch for i in sbin/init bin/ed ; do \ 2334f9a3d48SJoerg Wunsch ( cd ${.CURDIR}/../$$i; \ 2344f9a3d48SJoerg Wunsch make -DNOCRYPT clean all distribute DISTDIR=${RD}/trees ) ; \ 2354f9a3d48SJoerg Wunsch done 2364f9a3d48SJoerg Wunsch 23730e8b491SPoul-Henning Kamp # Move all the manpages out to their own dist 238e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/share/man ] ; then \ 23946a7b813SJordan K. Hubbard tar -cf - -C ${RD}/trees/bin/usr/share/man . | \ 24046a7b813SJordan K. Hubbard tar xf - -C ${RD}/trees/manpages/usr/share/man && \ 24146a7b813SJordan K. Hubbard rm -rf ${RD}/trees/bin/usr/share/man; \ 242bd668f6fSPoul-Henning Kamp fi 24330e8b491SPoul-Henning Kamp # Move all the games out to their own dist 244e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/games ] ; then \ 24546a7b813SJordan K. Hubbard tar -cf - -C ${RD}/trees/bin/usr/games . | \ 24646a7b813SJordan K. Hubbard tar -xf - -C ${RD}/trees/games/usr/games && \ 24746a7b813SJordan K. Hubbard rm -rf ${RD}/trees/bin/usr/games; \ 248bd668f6fSPoul-Henning Kamp fi 249e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/share/games ] ; then \ 25046a7b813SJordan K. Hubbard tar -cf - -C ${RD}/trees/bin/usr/share/games . | \ 25146a7b813SJordan K. Hubbard tar -xf - -C ${RD}/trees/games/usr/share/games && \ 25246a7b813SJordan K. Hubbard rm -rf ${RD}/trees/bin/usr/share/games; \ 253bd668f6fSPoul-Henning Kamp fi 254e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/var/games ] ; then \ 25546a7b813SJordan K. Hubbard tar -cf - -C ${RD}/trees/bin/var/games . | \ 25646a7b813SJordan K. Hubbard tar -xf - -C ${RD}/trees/games/var/games && \ 25746a7b813SJordan K. Hubbard rm -rf ${RD}/trees/bin/var/games; \ 258bd668f6fSPoul-Henning Kamp fi 25930e8b491SPoul-Henning Kamp # Move the dict out to their own dist 260e12c4355SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/share/dict ] ; then \ 26146a7b813SJordan K. Hubbard tar -cf - -C ${RD}/trees/bin/usr/share/dict . | \ 26246a7b813SJordan K. Hubbard tar -xf - -C ${RD}/trees/dict/usr/share/dict && \ 26346a7b813SJordan K. Hubbard rm -rf ${RD}/trees/bin/usr/share/dict; \ 264bd668f6fSPoul-Henning Kamp fi 265bd668f6fSPoul-Henning Kamp for i in airport birthtoken flowers na.phone zipcodes ; do \ 266e12c4355SPoul-Henning Kamp if [ -f ${RD}/trees/bin/usr/share/misc/$$i ] ; then \ 267e12c4355SPoul-Henning Kamp mv ${RD}/trees/bin/usr/share/misc/$$i \ 268e12c4355SPoul-Henning Kamp ${RD}/trees/dict/usr/share/misc; \ 269bd668f6fSPoul-Henning Kamp fi ; \ 270bd668f6fSPoul-Henning Kamp done 27130e8b491SPoul-Henning Kamp # Move the info files out to their own dist 27230e8b491SPoul-Henning Kamp if [ -d ${RD}/trees/bin/usr/share/info ] ; then \ 27346a7b813SJordan K. Hubbard tar -cf - -C ${RD}/trees/bin/usr/share/info . | \ 27446a7b813SJordan K. Hubbard tar -xf - -C ${RD}/trees/info/usr/share/info && \ 27546a7b813SJordan K. Hubbard rm -rf ${RD}/trees/bin/usr/share/info; \ 27630e8b491SPoul-Henning Kamp fi 27730e8b491SPoul-Henning Kamp # Move the profiled libraries out to their own dist 278e12c4355SPoul-Henning Kamp for i in ${RD}/trees/bin/usr/lib/*_p.a ; do \ 279bd668f6fSPoul-Henning Kamp if [ -f $$i ] ; then \ 280bd668f6fSPoul-Henning Kamp mv $$i \ 281e12c4355SPoul-Henning Kamp ${RD}/trees/proflibs/usr/lib ; \ 282bd668f6fSPoul-Henning Kamp fi ; \ 283bd668f6fSPoul-Henning Kamp done 2842fb96ab9SJoerg Wunsch # Create symlinks for the MD5-based crypt lib, too. The 2852fb96ab9SJoerg Wunsch # automatically created links still point to the DES stuff, 2862fb96ab9SJoerg Wunsch # which went into its own distribution. 2872fb96ab9SJoerg Wunsch for i in ${RD}/trees/bin/usr/lib/libscrypt* ; do \ 2882fb96ab9SJoerg Wunsch c=`echo $$i | sed -e 's/libscrypt/libcrypt/'` ; \ 2892fb96ab9SJoerg Wunsch rm -f $$c ; \ 2902fb96ab9SJoerg Wunsch ln -s `basename $$i` $$c ; \ 2912fb96ab9SJoerg Wunsch done 29234fca5ddSJoerg Wunsch 29330e8b491SPoul-Henning Kamp # Remove some files we can faster regen after installing. 294d2b98961SPoul-Henning Kamp cd ${RD}/trees/bin/usr/share/misc && rm -f termcap.db vgrindefs.db 29530e8b491SPoul-Henning Kamp # Remove all the directories we don't need. 29627d44115SPoul-Henning Kamp -cd ${RD}/trees && \ 29727d44115SPoul-Henning Kamp find ${EXTRA_DISTS} -depth -type d -print | xargs rmdir 298bd668f6fSPoul-Henning Kamp touch release.5 299f14786ddSJordan K. Hubbard 30030e8b491SPoul-Henning Kamp# 30130e8b491SPoul-Henning Kamp# --==## Make binary dists ##==-- 30230e8b491SPoul-Henning Kamp# 303bd668f6fSPoul-Henning Kamprelease.6: 304288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 30595e34bfcSJordan K. Hubbard rm -rf ${RD}/dists 30695e34bfcSJordan K. Hubbard mkdir -p ${RD}/dists 30795e34bfcSJordan K. Hubbard @for i in ${DISTRIBUTIONS} ; \ 30895e34bfcSJordan K. Hubbard do \ 30995e34bfcSJordan K. Hubbard if [ -d ${RD}/trees/$${i} ] ; then \ 31030e8b491SPoul-Henning Kamp cd ${.CURDIR} && $(MAKE) doTARBALL \ 31130e8b491SPoul-Henning Kamp SD=${RD}/trees/$${i} \ 312288fe4dbSPoul-Henning Kamp TN=$$i TD=$$i ARG="." && \ 31395e34bfcSJordan K. Hubbard echo "$${i} distribution is finished."; \ 31495e34bfcSJordan K. Hubbard fi ; \ 31595e34bfcSJordan K. Hubbard done 31630e8b491SPoul-Henning Kamp ( cd ${RD}/dists && \ 31730e8b491SPoul-Henning Kamp if [ -f krb/krb.aa ] ; then mv krb/* des && rmdir krb ; fi ) 3180412e9f7SJordan K. Hubbard touch release.6 31995e34bfcSJordan K. Hubbard 32095e34bfcSJordan K. Hubbard 32130e8b491SPoul-Henning Kamp# 32230e8b491SPoul-Henning Kamp# --==## Make source dists ##==-- 32330e8b491SPoul-Henning Kamp# 32495e34bfcSJordan K. Hubbardrelease.7: 325288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 326288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) doTARBALL SD=/usr/src \ 32795e34bfcSJordan K. Hubbard TD=src TN=sbase ARG="[A-Z]*" 328288fe4dbSPoul-Henning Kamp @for i in `cd /usr/src && echo [a-z]*` ; do \ 32930e8b491SPoul-Henning Kamp if [ -d /usr/src/$$i ] ; then \ 33030e8b491SPoul-Henning Kamp cd ${.CURDIR} && $(MAKE) doTARBALL \ 33195e34bfcSJordan K. Hubbard TN=`echo s$$i | tr -d '.' | sed 's/usr/u/'` \ 33230e8b491SPoul-Henning Kamp SD=/usr/src TD=src ARG="$$i" ; \ 33395e34bfcSJordan K. Hubbard fi ; \ 33495e34bfcSJordan K. Hubbard done 33540b0c0d9SPeter Wemm.if defined(EXTRA_SRC) 336288fe4dbSPoul-Henning Kamp @set ${EXTRA_SRC} && \ 33740b0c0d9SPeter Wemm while [ $$# -ge 2 ] ; do \ 33830e8b491SPoul-Henning Kamp if [ -d /usr/src/$$1 ] ; then \ 33930e8b491SPoul-Henning Kamp cd ${.CURDIR} && $(MAKE) doTARBALL \ 34030e8b491SPoul-Henning Kamp SD=/usr/src TN="s$$2" TD=src ARG="$$1" ; \ 34130e8b491SPoul-Henning Kamp fi && shift && shift ; \ 34240b0c0d9SPeter Wemm done 34340b0c0d9SPeter Wemm.endif 34495e34bfcSJordan K. Hubbard ( cd ${RD}/dists/src && \ 345d3628763SRodney W. Grimes if [ -f ssecure.aa ] ; then mv ssecure.* ../des ; fi && \ 34624fe14a0SJordan K. Hubbard if [ -f sebones.aa ] ; then mv sebones.* ../des ; fi && \ 34730e8b491SPoul-Henning Kamp if [ -f ssecure.inf ] ; then mv ssecure.inf ../des ; fi && \ 34830e8b491SPoul-Henning Kamp if [ -f sebones.inf ] ; then mv sebones.inf ../des ; fi ; ) 34995e34bfcSJordan K. Hubbard @echo "src distribution is finished." 3500412e9f7SJordan K. Hubbard touch release.7 35195e34bfcSJordan K. Hubbard 35295e34bfcSJordan K. Hubbard# Complete the bootfd 353409f9329SJordan K. Hubbard# 354409f9329SJordan K. Hubbard# Now, just to get this picture down once and for all: 355409f9329SJordan K. Hubbard# 356409f9329SJordan K. Hubbard# +------------------------------------------------------------------------+ 357409f9329SJordan K. Hubbard# |boot.flp | 358409f9329SJordan K. Hubbard# +-----+-----+------------------------------------------------------------+ 359409f9329SJordan K. Hubbard# |boot1|boot2|floppy filesystem "bootfd" | 360409f9329SJordan K. Hubbard# +-----+-----+-+--------------------------------------------------------+-+ 361409f9329SJordan K. Hubbard# |kernel | 362409f9329SJordan K. Hubbard# +------------+-----------------------------------------+-+ 363409f9329SJordan K. Hubbard# |mfs filesystem "mfsfd" | 364409f9329SJordan K. Hubbard# +-----------------------------------------+ 365409f9329SJordan K. Hubbard# 366409f9329SJordan K. Hubbard 367d50a3007SJordan K. Hubbardrelease.8: write_mfs_in_kernel dumpnlist 3683df0e2afSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 369409f9329SJordan K. Hubbard rm -rf ${RD}/mfsfd 370409f9329SJordan K. Hubbard mkdir ${RD}/mfsfd 371409f9329SJordan K. Hubbard cd ${RD}/mfsfd && \ 372f8d8dfe8SPoul-Henning Kamp mkdir -p etc dev mnt stand/help && \ 373f8d8dfe8SPoul-Henning Kamp ln -s 'AH<<<<' etc/malloc.conf 3743df0e2afSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=boot \ 375a91fd119SPoul-Henning Kamp DIR=${RD}/mfsfd/stand ZIP=false 3763df0e2afSPoul-Henning Kamp ( cd ${RD}/trees/bin/dev && \ 37739ae3f15SJordan K. Hubbard ls console tty ttyv0 ttyv1 ttyv2 ttyv3 null zero \ 37840b0c0d9SPeter Wemm *[sw]d* cuaa[01] cuaa[23] fd[01] rfd[01] \ 3790e9e4efaSJordan K. Hubbard cd0a mcd0a scd0a matcd0a wcd0c rst0 rft0 rwt0 | \ 380409f9329SJordan K. Hubbard cpio -dump ${RD}/mfsfd/dev ) 381b82e26f6SPoul-Henning Kamp ( cd ${RD}/mfsfd/dev && rm -f *[sw]d*[bdefgh] ) 3823df0e2afSPoul-Henning Kamp cd ${RD}/trees/bin && ls ${BOOT1} | cpio -dump ${RD}/mfsfd/stand 383d3628763SRodney W. Grimes echo "nameserver 42/tcp name" > ${RD}/mfsfd/stand/etc/services 384d3628763SRodney W. Grimes echo "ftp 21/tcp" >> ${RD}/mfsfd/stand/etc/services 385d3628763SRodney W. Grimes echo "domain 53/tcp nameserver" >> ${RD}/mfsfd/stand/etc/services 386d3628763SRodney W. Grimes echo "domain 53/udp nameserver" >> ${RD}/mfsfd/stand/etc/services 387e7fc885eSJordan K. Hubbard echo "cmd 514/tcp shell" >> ${RD}/mfsfd/stand/etc/services 3886545b6a5SJordan K. Hubbard gzip -c ${.CURDIR}/../COPYRIGHT > ${RD}/mfsfd/stand/help/COPYRIGHT.hlp.gz 389d4983966SPaul Traina -test -f ${.CURDIR}/install.cfg && cp ${.CURDIR}/install.cfg ${RD}/mfsfd 3906545b6a5SJordan K. Hubbard @echo "Making the regular boot floppy." 39117078dccSJordan K. Hubbard tar --exclude CVS -cf - -C ${.CURDIR}/sysinstall help | \ 392409f9329SJordan K. Hubbard tar xvf - -C ${RD}/mfsfd/stand 3936545b6a5SJordan K. Hubbard @echo "Compressing doc files..." 3946545b6a5SJordan K. Hubbard @gzip -9 ${RD}/mfsfd/stand/help/*.hlp 395c66cda21SPoul-Henning Kamp sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${BOOTMFSSIZE} ${RD}/mfsfd \ 396288fe4dbSPoul-Henning Kamp ${MFSINODE} minimum 397288fe4dbSPoul-Henning Kamp mv fs-image fs-image.std 398288fe4dbSPoul-Henning Kamp mv fs-image.size fs-image.std.size 399288fe4dbSPoul-Henning Kamp cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=std 40030e8b491SPoul-Henning Kamp mv ${RD}/floppies/bootstd.flp ${RD}/floppies/boot.flp 4016545b6a5SJordan K. Hubbard @echo "Regular boot floppy made." 4020412e9f7SJordan K. Hubbard touch release.8 403bd668f6fSPoul-Henning Kamp 40430e8b491SPoul-Henning Kamp# 40530e8b491SPoul-Henning Kamp# --==## Create a fixit floppy ##==-- 40630e8b491SPoul-Henning Kamp# 407b53e8a34SJordan K. Hubbardrelease.9: 4083df0e2afSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 409518a1d34SPoul-Henning Kamp rm -rf ${RD}/fixitfd 410518a1d34SPoul-Henning Kamp mkdir ${RD}/fixitfd 411518a1d34SPoul-Henning Kamp cd ${RD}/fixitfd && \ 41230e8b491SPoul-Henning Kamp mkdir dev stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp 4133df0e2afSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=fixit \ 414518c7f2aSJoerg Wunsch DIR=${RD}/fixitfd/stand ZIP=false 41530e8b491SPoul-Henning Kamp ( cd ${RD}/fixitfd/dev && \ 416a18763d0SJoerg Wunsch sed -e '/^PATH/s/^/#/' ${RD}/trees/bin/dev/MAKEDEV > MAKEDEV && \ 417a18763d0SJoerg Wunsch chmod 755 MAKEDEV && \ 41830e8b491SPoul-Henning Kamp sh MAKEDEV all ) 419518c7f2aSJoerg Wunsch cp ${RD}/trees/bin/etc/spwd.db ${RD}/trees/bin/etc/group \ 420518c7f2aSJoerg Wunsch ${RD}/trees/bin/etc/protocols ${RD}/fixitfd/etc 421e12c4355SPoul-Henning Kamp cp ${.CURDIR}/fixit.profile ${RD}/fixitfd/.profile 422518c7f2aSJoerg Wunsch cp ${.CURDIR}/fixit.services ${RD}/fixitfd/etc/services 423ed228eb6SJoerg Wunsch cp ${.CURDIR}/tar.sh ${RD}/fixitfd/stand/tar 424ed228eb6SJoerg Wunsch chmod 555 ${RD}/fixitfd/stand/tar 425c66cda21SPoul-Henning Kamp sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${FDSIZE} ${RD}/fixitfd \ 426518c7f2aSJoerg Wunsch ${FIXITINODE} ${FDLABEL} 427288fe4dbSPoul-Henning Kamp mv fs-image ${RD}/floppies/fixit.flp 428b53e8a34SJordan K. Hubbard touch release.9 4293bc93c76SPoul-Henning Kamp 43030e8b491SPoul-Henning Kamp# 431dc3d7eceSJordan K. Hubbard# --==## Create the compat distributions ##==-- 432dc3d7eceSJordan K. Hubbard# 433dc3d7eceSJordan K. Hubbardrelease.10: 434dc3d7eceSJordan K. Hubbard @for i in compat1x compat20 compat21; do \ 435a18763d0SJoerg Wunsch mkdir -p ${RD}/dists/$$i && ( cd ${RD}/dists/$$i && \ 4367032f807SJordan K. Hubbard uudecode ${.CURDIR}/compat/$$i.tgz.uu && \ 4377032f807SJordan K. Hubbard cp ${.CURDIR}/scripts/$${i}-install.sh install.sh && \ 438dc3d7eceSJordan K. Hubbard md5 * > CHECKSUM.MD5 ); \ 439dc3d7eceSJordan K. Hubbard done 440dc3d7eceSJordan K. Hubbard 441dc3d7eceSJordan K. Hubbard# 44230e8b491SPoul-Henning Kamp# --==## Setup a suitable ftp-area ##==-- 44330e8b491SPoul-Henning Kamp# 444e12c4355SPoul-Henning Kampftp.1: 445ae33fac5SJordan K. Hubbard mkdir -p ${FD} 446a8335764SPoul-Henning Kamp cd ${RD} && find floppies -print | cpio -dumpl ${FD} 447a8335764SPoul-Henning Kamp cd ${RD}/dists && find . -print | cpio -dumpl ${FD} 44816805608SJordan K. Hubbard cp ${.CURDIR}/sysinstall/help/readme.hlp ${FD}/README.TXT 44916805608SJordan K. Hubbard cp ${.CURDIR}/sysinstall/help/hardware.hlp ${FD}/HARDWARE.TXT 45016805608SJordan K. Hubbard cp ${.CURDIR}/sysinstall/help/install.hlp ${FD}/INSTALL.TXT 45116805608SJordan K. Hubbard cp ${.CURDIR}/sysinstall/help/relnotes.hlp ${FD}/RELNOTES.TXT 4523bc93c76SPoul-Henning Kamp 45330e8b491SPoul-Henning Kamp# 45430e8b491SPoul-Henning Kamp# --==## Setup a suitable cdrom-area ##==-- 45530e8b491SPoul-Henning Kamp# 456c5b0a909SPoul-Henning Kampcdrom.1: 457ae33fac5SJordan K. Hubbard mkdir -p ${CD}/filesys 4582822939aSJordan K. Hubbard cd ${RD} && find floppies -print | cpio -dumpl ${CD} 4592822939aSJordan K. Hubbard cd ${RD}/dists && find . -print | cpio -dumpl ${CD} 46030e8b491SPoul-Henning Kamp ln -f ${RD}/kernels/MFSKERNEL.std ${CD}/kernel 461409f9329SJordan K. Hubbard ln -f ${RD}/trees/bin/usr/mdec/fbsdboot.exe ${CD} 462c5b0a909SPoul-Henning Kamp for i in ${DISTRIBUTIONS} ; \ 463c5b0a909SPoul-Henning Kamp do \ 464c5b0a909SPoul-Henning Kamp if [ -d ${RD}/trees/$${i} ] ; then \ 46501feef2cSPoul-Henning Kamp ( cd ${RD}/trees/$${i} && \ 466c5b0a909SPoul-Henning Kamp find . -depth -print | cpio -dumpl ${CD}/filesys ) ; \ 467c5b0a909SPoul-Henning Kamp fi \ 468c5b0a909SPoul-Henning Kamp done 4693ee8cec8SJordan K. Hubbard echo "CD_VERSION = ${BUILDNAME}" > ${CD}/cdrom.inf 47016805608SJordan K. Hubbard cp ${.CURDIR}/sysinstall/help/readme.hlp ${CD}/README.TXT 47116805608SJordan K. Hubbard cp ${.CURDIR}/sysinstall/help/hardware.hlp ${CD}/HARDWARE.TXT 47216805608SJordan K. Hubbard cp ${.CURDIR}/sysinstall/help/install.hlp ${CD}/INSTALL.TXT 47316805608SJordan K. Hubbard cp ${.CURDIR}/sysinstall/help/relnotes.hlp ${CD}/RELNOTES.TXT 474c5b0a909SPoul-Henning Kamp 4757eb11201SPoul-Henning Kamp# Various "subroutine" and other supporting targets. 4767eb11201SPoul-Henning Kamp 477bd668f6fSPoul-Henning KampdoTARBALL: 478bd668f6fSPoul-Henning Kamp.if !defined(SD) 479288fe4dbSPoul-Henning Kamp @echo "SD undefined in doTARBALL" && exit 1 480bd668f6fSPoul-Henning Kamp.endif 481bd668f6fSPoul-Henning Kamp.if !defined(TD) 482288fe4dbSPoul-Henning Kamp @echo "TB undefined in doTARBALL" && exit 1 483bd668f6fSPoul-Henning Kamp.endif 484bd668f6fSPoul-Henning Kamp.if !defined(ARG) 485288fe4dbSPoul-Henning Kamp @echo "ARG undefined in doTARBALL" && exit 1 486bd668f6fSPoul-Henning Kamp.endif 487836ed9f2SPoul-Henning Kamp rm -rf ${RD}/dists/${TD}/${TN}* 488e12c4355SPoul-Henning Kamp mkdir -p ${RD}/dists/${TD} 489d2b98961SPoul-Henning Kamp ( cd ${SD} && \ 490d2b98961SPoul-Henning Kamp tn=`echo ${TN} | tr '[A-Z]' '[a-z]' | cut -c1-8` && \ 491d2b98961SPoul-Henning Kamp echo rolling ${TD}/$$tn tarball &&\ 49245209a22SPoul-Henning Kamp tar --exclude CVS --exclude obj -cf - ${ARG} | \ 49395e34bfcSJordan K. Hubbard ${ZIPNSPLIT} ${RD}/dists/${TD}/$$tn. && \ 494ac0a5268SJordan K. Hubbard sh ${.CURDIR}/info.sh ${RD}/dists/${TD}/$$tn > \ 495ac0a5268SJordan K. Hubbard ${RD}/dists/${TD}/$$tn.inf && \ 4961e104a1eSJordan K. Hubbard if [ -f ${.CURDIR}/scripts/$${TD}-install.sh ]; then \ 4971e104a1eSJordan K. Hubbard cp -p ${.CURDIR}/scripts/$${TD}-install.sh ${RD}/dists/${TD}/install.sh; \ 4981e104a1eSJordan K. Hubbard fi && \ 49916c61233SJordan K. Hubbard if [ "${SD}" != "/usr/src" ]; then \ 50016c61233SJordan K. Hubbard mtree -c -i -p ${SD}/${ARG} \ 50116c61233SJordan K. Hubbard -k gname,md5digest,mode,nlink,uname,size,link,type \ 50216c61233SJordan K. Hubbard > ${RD}/dists/${TD}/$$tn.mtree ; else true; fi ) 5037eb11201SPoul-Henning Kamp 5047eb11201SPoul-Henning KampdoRELEASE: release.1 release.2 release.3 release.4 release.5 release.6 \ 505dc3d7eceSJordan K. Hubbard release.7 release.8 release.9 release.10 506895449d2SPoul-Henning Kamp cd ${.CURDIR} && ${MAKE} cdrom.1 ftp.1 5077eb11201SPoul-Henning Kamp @echo "Release done" 5087eb11201SPoul-Henning Kamp 5090ead1f1dSJordan K. Hubbardfloppies: 51040b0c0d9SPeter Wemm cd ${.CURDIR} && ${MAKE} boot.flp 51140b0c0d9SPeter Wemm cd ${.CURDIR} && ${MAKE} fixit.flp 5127854541aSJordan K. Hubbard cd ${RD} && find floppies -print | cpio -dumpl ${FD} 5130ead1f1dSJordan K. Hubbard 5143525074dSPoul-Henning Kampboot.flp: 5150412e9f7SJordan K. Hubbard rm -f release.4 release.8 516c0b83abeSPoul-Henning Kamp cd ${.CURDIR} && ${MAKE} release.4 release.8 WHICH_CRUNCH=boot 5173525074dSPoul-Henning Kamp 518e841846bSPoul-Henning Kampfixit.flp: 519b53e8a34SJordan K. Hubbard rm -f release.4 release.9 520b53e8a34SJordan K. Hubbard cd ${.CURDIR} && ${MAKE} release.4 release.9 WHICH_CRUNCH=fixit 521e841846bSPoul-Henning Kamp 522409f9329SJordan K. Hubbardwrite_mfs_in_kernel: ${.CURDIR}/write_mfs_in_kernel.c 523409f9329SJordan K. Hubbard ${CC} ${CFLAGS} -o write_mfs_in_kernel ${.CURDIR}/write_mfs_in_kernel.c 524409f9329SJordan K. Hubbard 525d50a3007SJordan K. Hubbarddumpnlist: ${.CURDIR}/dumpnlist.c 526d50a3007SJordan K. Hubbard ${CC} ${CFLAGS} -o dumpnlist ${.CURDIR}/dumpnlist.c 527d50a3007SJordan K. Hubbard 5287eb11201SPoul-Henning KampckRELEASEDIR: 5297eb11201SPoul-Henning Kamp.if !defined(RELEASEDIR) 5307eb11201SPoul-Henning Kamp @echo "To make a release RELEASEDIR must be defined" && false 5317eb11201SPoul-Henning Kamp.endif 5327eb11201SPoul-Henning Kamp 533518a1d34SPoul-Henning KampinstallCRUNCH: 534518a1d34SPoul-Henning Kamp.if !defined(CRUNCH) 535288fe4dbSPoul-Henning Kamp @echo "CRUNCH undefined in installCRUNCH" && exit 1 536518a1d34SPoul-Henning Kamp.endif 537518a1d34SPoul-Henning Kamp.if !defined(DIR) 538288fe4dbSPoul-Henning Kamp @echo "DIR undefined in installCRUNCH" && exit 1 539518a1d34SPoul-Henning Kamp.endif 540518a1d34SPoul-Henning Kamp.if !defined(ZIP) 541288fe4dbSPoul-Henning Kamp @echo "ZIP undefined in installCRUNCH" && exit 1 542518a1d34SPoul-Henning Kamp.endif 543518a1d34SPoul-Henning Kamp if ${ZIP} ; then \ 544518a1d34SPoul-Henning Kamp gzip -9 < ${RD}/crunch/${CRUNCH} > ${DIR}/${CRUNCH}_crunch ; \ 545518a1d34SPoul-Henning Kamp else \ 546518a1d34SPoul-Henning Kamp ln -f ${RD}/crunch/${CRUNCH} ${DIR}/${CRUNCH}_crunch ; \ 547518a1d34SPoul-Henning Kamp fi 548518a1d34SPoul-Henning Kamp chmod 555 ${DIR}/${CRUNCH}_crunch 549518a1d34SPoul-Henning Kamp for i in `crunchgen -l ${.CURDIR}/${CRUNCH}_crunch.conf` ; do \ 550518a1d34SPoul-Henning Kamp ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \ 551518a1d34SPoul-Henning Kamp done 552288fe4dbSPoul-Henning Kamp 553288fe4dbSPoul-Henning Kamp# 554288fe4dbSPoul-Henning Kamp# --==## Compile a kernel by name ${KERNEL} ##==-- 555288fe4dbSPoul-Henning Kamp# 556288fe4dbSPoul-Henning Kamp# We don't erase the sys/compile/${KERNEL} directory, since somebody 557288fe4dbSPoul-Henning Kamp# may want to reuse it (release.8 presently) 558288fe4dbSPoul-Henning Kamp# 559288fe4dbSPoul-Henning KampdoKERNEL: 560288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 561288fe4dbSPoul-Henning Kamp rm -f ${RD}/kernels/${KERNEL} 562288fe4dbSPoul-Henning Kamp cd ${.CURDIR}/../sys/i386/conf && config -n ${KERNEL} 563288fe4dbSPoul-Henning Kamp cd ${.CURDIR}/../sys/compile/${KERNEL} && \ 564288fe4dbSPoul-Henning Kamp make depend && \ 565288fe4dbSPoul-Henning Kamp make kernel && \ 566288fe4dbSPoul-Henning Kamp cp kernel ${RD}/kernels/${KERNEL} 567288fe4dbSPoul-Henning Kamp 568288fe4dbSPoul-Henning Kamp# 569288fe4dbSPoul-Henning Kamp# --==## Put a filesystem into a BOOTMFS kernel ##==-- 570288fe4dbSPoul-Henning Kamp# 571288fe4dbSPoul-Henning KampdoMFSKERN: 572288fe4dbSPoul-Henning Kamp @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR 573d50a3007SJordan K. Hubbard @rm -f ${RD}/kernels/BOOTMFS.${FSIMAGE} 574d50a3007SJordan K. Hubbard @rm -f /sys/compile/BOOTMFS/mfs_vfsops.o 575d50a3007SJordan K. Hubbard @cd ${.CURDIR}/../sys/i386/conf && \ 57616c61233SJordan K. Hubbard sed -e '/SYSV/d' \ 57716c61233SJordan K. Hubbard -e '/pty/d' \ 57816c61233SJordan K. Hubbard -e '/PROCFS/d' \ 579a7c2b4b0SPaul Traina -e '/KTRACE/d' \ 58016c61233SJordan K. Hubbard -e 's/GENERIC/BOOTMFS/g' \ 58116c61233SJordan K. Hubbard -e '/maxusers/s/10/4/' < GENERIC > BOOTMFS && \ 582a91fd119SPoul-Henning Kamp echo "options MFS" >> BOOTMFS && \ 58316c61233SJordan K. Hubbard echo "options NFS_NOSERVER" >> BOOTMFS && \ 584d50a3007SJordan K. Hubbard echo 'options "MAXCONS=4"' >> BOOTMFS && \ 585d50a3007SJordan K. Hubbard echo "options USERCONFIG_BOOT" >> BOOTMFS 586d50a3007SJordan K. Hubbard @echo "options \"MFS_ROOT=`cat fs-image.${FSIMAGE}.size`\"" >> \ 5874676f742SJordan K. Hubbard ${.CURDIR}/../sys/i386/conf/BOOTMFS 588a590cd43SJordan K. Hubbard cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=BOOTMFS 589d50a3007SJordan K. Hubbard @rm -rf ${RD}/boot.${FSIMAGE} 590d50a3007SJordan K. Hubbard @mkdir ${RD}/boot.${FSIMAGE} 591d50a3007SJordan K. Hubbard @mv ${RD}/kernels/BOOTMFS ${RD}/kernels/BOOTMFS.${FSIMAGE} 592d50a3007SJordan K. Hubbard @cp ${RD}/kernels/BOOTMFS.${FSIMAGE} ${RD}/boot.${FSIMAGE}/kernel 593b434db23SJordan K. Hubbard @vnconfig /dev/vn0 fs-image.${FSIMAGE} 594b434db23SJordan K. Hubbard @mkdir -p /tmp/mnt_xx 595b434db23SJordan K. Hubbard @mount /dev/vn0 /tmp/mnt_xx 596b434db23SJordan K. Hubbard ./dumpnlist ${RD}/boot.${FSIMAGE}/kernel > /tmp/mnt_xx/stand/symbols 597b434db23SJordan K. Hubbard @umount /tmp/mnt_xx 598b434db23SJordan K. Hubbard @vnconfig -u /dev/vn0 599b434db23SJordan K. Hubbard @rmdir /tmp/mnt_xx 600288fe4dbSPoul-Henning Kamp ./write_mfs_in_kernel ${RD}/boot.${FSIMAGE}/kernel \ 601288fe4dbSPoul-Henning Kamp fs-image.${FSIMAGE} 602288fe4dbSPoul-Henning Kamp kzip -v ${RD}/boot.${FSIMAGE}/kernel 603d50a3007SJordan K. Hubbard @mv ${RD}/boot.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE} 604d50a3007SJordan K. Hubbard @mv ${RD}/boot.${FSIMAGE}/kernel.kz ${RD}/boot.${FSIMAGE}/kernel 605d50a3007SJordan K. Hubbard @ls -l ${RD}/boot.${FSIMAGE}/kernel 606d50a3007SJordan K. Hubbard @rm -f ${RD}/floppies/boot${FSIMAGE}.flp 607e7fc885eSJordan K. Hubbard cat ${RD}/trees/bin/usr/mdec/rawboot ${RD}/boot.${FSIMAGE}/kernel | \ 60899092699SPoul-Henning Kamp dd conv=sync of=${RD}/floppies/boot${FSIMAGE}.flp 609d50a3007SJordan K. Hubbard @echo 'USERCONFIG' > startup_foo 610d50a3007SJordan K. Hubbard @echo 'intro' >> startup_foo 611d50a3007SJordan K. Hubbard dd if=startup_foo of=${RD}/floppies/boot${FSIMAGE}.flp \ 612d50a3007SJordan K. Hubbard seek=1 bs=512 count=1 conv=sync 613d50a3007SJordan K. Hubbard @rm -f startup_foo 614288fe4dbSPoul-Henning Kamp 6152469b9a2SPoul-Henning Kamp.include <bsd.prog.mk> 616