diff options
author | phk <phk@FreeBSD.org> | 1995-02-25 22:08:48 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1995-02-25 22:08:48 +0000 |
commit | e9f480c4e29870ca34921a5ce3aacfea694dd07b (patch) | |
tree | fe003f593ee7c9c8678f0d513707702f3ac26cd2 /release/Makefile | |
parent | d14516cf6b5c4e3b6f34f9b8006b494365b09752 (diff) | |
download | FreeBSD-src-e9f480c4e29870ca34921a5ce3aacfea694dd07b.zip FreeBSD-src-e9f480c4e29870ca34921a5ce3aacfea694dd07b.tar.gz |
New and better "make release" rules.
Diffstat (limited to 'release/Makefile')
-rw-r--r-- | release/Makefile | 631 |
1 files changed, 271 insertions, 360 deletions
diff --git a/release/Makefile b/release/Makefile index 7e54880..ed60757 100644 --- a/release/Makefile +++ b/release/Makefile @@ -1,384 +1,295 @@ -# $Id: Makefile,v 1.106 1995/02/10 06:04:58 phk Exp $ +# $Id: Makefile,v 1.107 1995/02/11 05:35:37 phk Exp $ # +# How to roll a release: +# +# make release CHROOTDIR=<lots of disk> [ RELEASETAG=something ] +# +# As far as I know, this will roll everything nicely into the "stage" +# directory. I still need to write the two rules to move that into +# the "cdrom" and "ftp" directories. +# I also need to "make ports" and install those, but I'm not going to do +# that on a 14.4 line just yet... -FLOPPY= fd0 -#VNDEV= vn0 - - -# Evil floppies are, of course, 1.44MB floppies. -.if !defined(EVIL_FLOPPY) -FDLABEL= fd1200 -DDBS= 15k -DDCOUNT= 80 -.else -FDLABEL= fd1440 -DDBS= 18k -DDCOUNT= 80 -.endif - -MNT= /mnt +# Things which without too much trouble can be considered variables +EXTRADISTRIBUTIONS= secure games manpages proflibs dict info +CPIO1= etc/services etc/protocols +CPIO2= scripts/miscfuncs.sh scripts/instdist.sh scripts/netinst.sh \ + scripts/adduser.sh scripts/bininst.sh scripts/setup.sh -CPIO1= basename cat chmod cksum cp cu date dd df dmesg echo ed expr hostname -CPIO1+= kill ln ls mkdir mt mv rcp rm rmdir sh sleep stty sync tar test tip [ -CPIO1+= -sh badsect chown clri disklabel dump dmesg fdisk fsck getopt ifconfig -CPIO1+= init mknod mount mount_cd9660 mount_msdos mount_nfs ncftp newfs ping pwd -CPIO1+= reboot restore slattach swapon umount route -CPIO1+= rdump rrestore halt ft -CPIO1+= ftp rsh sed telnet rlogin grep +FDDEVICE= fd0 +FDCYLS= 80 +FDCYLSIZE= 15k +FDLABEL= fd1200 +MNT= /mnt -CPIO2= etc/services etc/protocols +ZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 - -CPIO3= scripts/miscfuncs.sh scripts/instdist.sh scripts/netinst.sh \ - scripts/adduser.sh scripts/bininst.sh scripts/setup.sh -CPIO4= /usr/sbin/tzsetup -CPIO4B= tzsetup +# Things which will get you into trouble if you change them +DISTRIBUTIONS= bin ${EXTRADISTRIBUTIONS} +MTREEFILES= ${.CURDIR}/../etc/mtree +RD= ${RELEASEDIR}/stage -# Somewhat on the rough side... -CLEANFILES+= *.o *.c *.cache *.mk *.lo ${CPIO1} ${CPIO2} ${CPIO4B} -CLEANFILES+= *.flp *.gz -CLEANFILES+= boot_flp cpio_flp_1 kernel.* kernel *.core -CLEANFILES+= ${.CURDIR}/../sys/compile/BOOTFLP/kernel \ - ${.CURDIR}/../sys/compile/GENERIC/kernel +release: +.if !defined(CHROOTDIR) + @echo "To make a release you must set CHROOTDIR" +.else + -mkdir ${CHROOTDIR} + chflags -R noschg ${CHROOTDIR}/. + rm -rf ${CHROOTDIR}/* + cd ${.CURDIR}/.. ; ${MAKE} install DESTDIR=${CHROOTDIR} + cd ${.CURDIR}/../etc ; ${MAKE} distribution DESTDIR=${CHROOTDIR} + echo "#!/bin/sh" > ${CHROOTDIR}/mk + echo "set -ex" >> ${CHROOTDIR}/mk + echo "cd /usr/src" >> ${CHROOTDIR}/mk + echo "make world" >> ${CHROOTDIR}/mk + echo "cd release" >> ${CHROOTDIR}/mk + echo "make doRELEASE RELEASEDIR=/R" >> ${CHROOTDIR}/mk +.if !defined(RELEASETAG) + cd ${CHROOTDIR}/usr ; cvs co src +.else + cd ${CHROOTDIR}/usr ; cvs export -r ${RELEASETAG} src +.endif + chmod 755 ${CHROOTDIR}/mk + chroot ${CHROOTDIR} /mk +.endif -MTREE_DIR= ${.CURDIR}/../etc/mtree +doRELEASE: release.1 release.2 release.3 release.4 release.5 release.6 \ + release.7 release.8 release.9 + @echo "Release done" -ZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 - +clean: + rm -rf cpio_crunch boot_crunch release.[1-9] -LATIN1LINKS = \ - da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES fi_FI \ - fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE nl_NL no_NO \ - pt_PT sv_SE +ckRELEASEDIR: +.if !defined(RELEASEDIR) + @echo "To make a release RELEASEDIR must be defined" ; @exit 1 +.endif -hierarchy: - mtree -deU -f ${MTREE_DIR}/BSD.root.dist -p ${DESTDIR}/ - mtree -deU -f ${MTREE_DIR}/BSD.var.dist -p ${DESTDIR}/var - mtree -deU -f ${MTREE_DIR}/BSD.usr.dist -p ${DESTDIR}/usr -.if defined(MAKE_LOCAL) - mtree -deU -f ${MTREE_DIR}/BSD.local.dist -p ${DESTDIR}/usr/local -.endif - cd ${DESTDIR}/usr/share/locale; \ - for l in ${LATIN1LINKS} ; do \ - rm -f $$l.ISO8859-1; \ - ln -s lt_LN.ISO8859-1 $$l.ISO8859-1; \ - chown ${BINOWN}.${BINGRP} $$l.ISO8859-1; \ - chmod 755 $$l.ISO8859-1; \ +# Clean out ${RELEASEDIR} and make the directory structure. +release.1: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + -mkdir ${RELEASEDIR} + chflags -R noschg ${RELEASEDIR}/. + rm -rf ${RELEASEDIR}/* + mkdir ${RD} + mkdir ${RD}/bootfd + mkdir ${RD}/bootfd/dev + mkdir ${RD}/bootfd/mnt + mkdir ${RD}/bootfd/stand + mkdir ${RD}/cpiofd + mkdir ${RD}/cpiofd/stand + mkdir ${RD}/floppies + mkdir ${RD}/dists + mkdir ${RD}/tarballs + for i in ${DISTRIBUTIONS} ; do \ + mkdir ${RD}/dists/$$i ; \ + mkdir ${RD}/tarballs/$$i ; \ + mtree -deU -f ${MTREEFILES}/BSD.root.dist \ + -p ${RD}/dists/$$i > /dev/null ; \ + mtree -deU -f ${MTREEFILES}/BSD.usr.dist \ + -p ${RD}/dists/$$i/usr > /dev/null ; \ + mtree -deU -f ${MTREEFILES}/BSD.var.dist \ + -p ${RD}/dists/$$i/var > /dev/null ; \ done - rm -f ${DESTDIR}/sys - ln -s usr/src/sys ${DESTDIR}/sys - -kernel: ${.CURDIR}/../sys/i386/conf/GENERIC - @if [ ! -f ${.CURDIR}/../sys/compile/GENERIC/kernel ]; then \ - (cd ${.CURDIR}/../sys/i386/conf; config GENERIC); \ - (cd ${.CURDIR}/../sys/compile/GENERIC; \ - ${MAKE} depend; ${MAKE} all; ) \ + touch release.1 + +# Install the system into the various distributions. +release.2: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + cd ${.CURDIR}/.. ; make distribute DISTDIR=${RD}/dists + touch release.2 + +# Make and install a couple of kernels we need. +release.3: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + cd ${.CURDIR}/../sys/i386/conf ; \ + config GENERIC ; \ + config BOOTFLP + cd ${.CURDIR}/../sys/compile/GENERIC ; \ + make depend ; \ + make kernel ; \ + install -c kernel ${RD}/dists/bin/kernel.GENERIC + ln -f ${RD}/dists/bin/kernel.GENERIC \ + ${RD}/cpiofd/kernel + cd ${.CURDIR}/../sys/compile/BOOTFLP ; \ + make depend ; \ + make kernel ; \ + install -s -c kernel ${RD}/bootfd/kernel + touch release.3 + +# Make and install the two crunched binaries which live on the floppies. +# You are not supposed to like this :-) +release.4: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + for j in boot cpio ; do \ + rm -rf $${j}_crunch ; \ + mkdir $${j}_crunch ; \ + ( cd $${j}_crunch ; \ + crunchgen ${.CURDIR}/$${j}_crunch.conf ; \ + ${MAKE} -f $${j}_crunch.mk objs exe NOCRYPT=yes ) ; \ + gzip -9 < $${j}_crunch/$${j}_crunch \ + > ${RD}/$${j}fd/stand/$${j}_crunch ; \ + rm -rf $${j}_crunch ; \ + chmod 555 ${RD}/$${j}fd/stand/$${j}_crunch ; \ + for i in `crunchgen -l ${.CURDIR}/$${j}_crunch.conf` ; do \ + ln -f ${RD}/$${j}fd/stand/$${j}_crunch \ + ${RD}/$${j}fd/stand/$$i ; \ + done ; \ + done + touch release.4 + +# Fix up the distributions. +release.5: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + if [ -d ${RD}/dists/bin/usr/share/man ] ; then \ + rm -rf ${RD}/dists/manpages/usr/share/man ;\ + mv ${RD}/dists/bin/usr/share/man \ + ${RD}/dists/manpages/usr/share/man ;\ fi - cp ${.CURDIR}/../sys/compile/GENERIC/kernel kernel - -kernel.BOOTFLP: ${.CURDIR}/../sys/i386/conf/BOOTFLP - @if [ ! -f ${.CURDIR}/../sys/compile/BOOTFLP/kernel ]; then \ - (cd ${.CURDIR}/../sys/i386/conf; config BOOTFLP); \ - (cd ${.CURDIR}/../sys/compile/BOOTFLP; \ - ${MAKE} depend; ${MAKE} all; ) \ + if [ -d ${RD}/dists/bin/usr/games ] ; then \ + rm -rf ${RD}/dists/games/usr/games ;\ + mv ${RD}/dists/bin/usr/games \ + ${RD}/dists/games/usr/games ;\ + fi + if [ -d ${RD}/dists/bin/usr/share/games ] ; then \ + rm -rf ${RD}/dists/games/usr/share/games ;\ + mv ${RD}/dists/bin/usr/share/games \ + ${RD}/dists/games/usr/share/games ;\ fi - cp ${.CURDIR}/../sys/compile/BOOTFLP/kernel kernel.BOOTFLP - strip kernel.BOOTFLP + if [ -d ${RD}/dists/bin/var/games ] ; then \ + rm -rf ${RD}/dists/games/var/games ;\ + mv ${RD}/dists/bin/var/games \ + ${RD}/dists/games/var/games ;\ + fi + if [ -d ${RD}/dists/bin/usr/share/dict ] ; then \ + rm -rf ${RD}/dists/dict/usr/share/dict ;\ + mv ${RD}/dists/bin/usr/share/dict \ + ${RD}/dists/dict/usr/share/dict ;\ + fi + for i in airport birthtoken flowers na.phone zipcodes ; do \ + if [ -f ${RD}/dists/bin/usr/share/misc/$$i ] ; then \ + mv ${RD}/dists/bin/usr/share/misc/$$i \ + ${RD}/dists/dict/usr/share/misc ; \ + fi ; \ + done + for i in ${RD}/dists/bin/usr/lib/*_p.a ; do \ + if [ -f $$i ] ; then \ + mv $$i \ + ${RD}/dists/proflibs/usr/lib ; \ + fi ; \ + done + -cd ${RD}/dists ; \ + find ${EXTRADISTRIBUTIONS} -depth -type d -print | xargs rmdir -boot.flp: kernel.BOOTFLP - crunchgen ${.CURDIR}/boot_flp.conf - ${MAKE} -f boot_flp.mk objs exe NOCRYPT=yes - -umount /dev/${FLOPPY} - -umount ${MNT} - disklabel -w -r -B \ - -b ${DESTDIR}/usr/mdec/fdboot -s ${DESTDIR}/usr/mdec/bootfd \ - /dev/r${FLOPPY} ${FDLABEL} - newfs -c 80 -b 4096 -f 512 -i 9000 -m 0 -t 0 -u 0 \ - -o space -T ${FDLABEL} /dev/r${FLOPPY} - mount -o async /dev/${FLOPPY} ${MNT} - mkdir ${MNT}/dev ${MNT}/stand ${MNT}/mnt - cp kernel.BOOTFLP ${MNT}/kernel - ( cd ${DESTDIR}/dev ; \ + touch release.5 + +# Complete the bootfd +release.6: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + ( cd ${RD}/dists/bin/dev ; \ ls console tty ttyv1 null zero \ sd[0123][a-h] wd[0123][a-h] fd[01] \ - rsd[0123][a-h] rwd[0123][a-h] rfd[01] \ - | cpio -dump ${MNT}/dev \ - ) - gzip -9 -c < boot_flp > ${MNT}/stand/sysinstall - chmod 755 ${MNT}/stand/sysinstall - ln ${MNT}/stand/sysinstall ${MNT}/stand/newfs - ln ${MNT}/stand/sysinstall ${MNT}/stand/gzip - ln ${MNT}/stand/sysinstall ${MNT}/stand/fsck - install -m 400 -c ${.CURDIR}/../COPYRIGHT ${MNT}/COPYRIGHT - install -m 400 -c ${.CURDIR}/../share/FAQ/diskspace.FAQ \ - ${MNT}/DISKSPACE.FAQ - install -m 400 -c ${.CURDIR}/../share/FAQ/RELNOTES.FreeBSD \ - ${MNT}/RELNOTES.FreeBSD - install -m 400 -c ${.CURDIR}/../share/FAQ/TROUBLESHOOTING \ - ${MNT}/TROUBLESHOOTING - install -m 400 -c ${.CURDIR}/../share/FAQ/README-2.0 ${MNT}/README - touch ${MNT}/this_is_boot_flp - sync + rsd[0123][a-h] rwd[0123][a-h] rfd[01] | \ + cpio -dump ${RD}/bootfd/dev ) + install -c ${.CURDIR}/../COPYRIGHT ${RD}/bootfd + cd ${RD}/dists/bin/usr/share/FAQ ; \ + install -c diskspace.FAQ ${RD}/bootfd/DISKSPACE.FAQ ;\ + install -c RELNOTES.FreeBSD ${RD}/bootfd ;\ + install -c TROUBLESHOOTING ${RD}/bootfd ;\ + install -c README-2.0 ${RD}/bootfd/README + touch ${RD}/bootfd/this_is_boot_flp +.if !defined(VNDEVICE) + -umount /dev/${FDDEVICE} -umount ${MNT} + echo y | fdformat /dev/r${FDDEVICE} + disklabel -w -r -B \ + -b ${RD}/dists/bin/usr/mdec/fdboot \ + -s ${RD}/dists/bin/usr/mdec/bootfd \ + /dev/r${FDDEVICE} ${FDLABEL} + newfs -c 80 -b 4096 -f 512 -i 9000 -m 0 -t 0 -u 0 \ + -o space -T ${FDLABEL} /dev/r${FDDEVICE} + mount -o async /dev/${FDDEVICE} ${MNT} + cd ${RD}/bootfd ; find . -print | cpio -dumpv ${MNT} sync - fsck /dev/r${FLOPPY} - dd if=/dev/r${FLOPPY} of=boot.tmp bs=${DDBS} count=${DDCOUNT} - mv boot.tmp boot.flp - od -x boot.flp | head -3 - gzip -9 -c < boot.flp > boot.flp.gz - -cpio.flp: kernel - crunchgen ${.CURDIR}/cpio_flp_1.conf - ${MAKE} -f cpio_flp_1.mk objs exe NOCRYPT=yes - for i in ${CPIO1} ; do rm -f ./$$i ; ln cpio_flp_1 ./$$i ; done - ( cd /${DESTDIR} ; ls ${CPIO2} | cpio -H newc -oa ) | cpio -ivd - ( cd ${.CURDIR} ; ls ${CPIO3} | cpio -H newc -oa ) | cpio -ivd - chmod 755 ${CPIO3} - cp ${CPIO4} . - rm -f OK - touch OK - (ls ${CPIO1} ${CPIO2} ${CPIO3} ${CPIO4B} ; \ - echo kernel ; echo OK ) | \ - cpio -H newc -oa | gzip -9 -c | \ - dd conv=osync > cpio.flp - rm -f OK - gzip -1 -c < cpio.flp > cpio.flp.gz - -floppies: boot.flp cpio.flp - mkdir -p ${RELEASEDIR}/floppies - cp boot.flp boot.flp.gz cpio.flp cpio.flp.gz \ - ${RELEASEDIR}/floppies - -release20: -.if !defined(RELEASEDIR) - @echo "Do NOT invoke this target without a RELEASEDIR defined." - @echo "It will otherwise blow away your root directory!" - @exit 1 + umount ${MNT} + fsck /dev/r${FDDEVICE} + dd if=/dev/r${FDDEVICE} of=${RD}/floppies/boot.tmp \ + bs=${FDCYLSIZE} count=${FDCYLS} + mv ${RD}/floppies/boot.tmp ${RD}/floppies/boot.flp + gzip -9 -c < ${RD}/floppies/boot.flp > ${RD}/floppies/boot.flp.gz .endif - @echo "Did you remember to increment the release number?" - ( cd ${.CURDIR} ; ${MAKE} clean) - -mkdir ${RELEASEDIR} - chflags -R noschg ${RELEASEDIR}/. - rm -rf ${RELEASEDIR}/* - mkdir -p ${RELEASEDIR}/tarballs - ( cd ${.CURDIR}/.. ; \ - ${MAKE} all distribute NOCRYPT=yes) - ( cd ${.CURDIR}/../etc ; \ - ${MAKE} release-dirs ) - ( cd ${.CURDIR} ; ${MAKE} obj) - ( cd ${.CURDIR} ; \ - ${MAKE} kernel DESTDIR=${RELEASEDIR}/filesys ) - install ${COPY} -m 644 ${.CURDIR}/../sys/compile/GENERIC/kernel \ - ${RELEASEDIR}/filesys/kernel - ( cd ${.CURDIR} ; \ - ${MAKE} hierarchy DESTDIR=${RELEASEDIR}/filesys ) - ( cd ${.CURDIR}/../etc ; \ - ${MAKE} distribution DESTDIR=${RELEASEDIR}/filesys \ - NOCRYPT=yes SHARED=copies) - ( cd ${RELEASEDIR}/filesys; \ - tar cf - . | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/bindist/bindist.) - cp ${.CURDIR}/scripts/extract_bin.sh \ - ${RELEASEDIR}/tarballs/bindist/extract.sh - ( cd ${RELEASEDIR}/tarballs/bindist; ${.CURDIR}/scripts/mkchecksums.sh ) - ( cd ${.CURDIR} ; \ - ${MAKE} floppies ) - -EXTRADISTRIBUTIONS= secure games manpages proflibs dict info -DISTRIBUTIONS= bin ${EXTRADISTRIBUTIONS} -MTREEFILES= ${.CURDIR}/../etc/mtree - -jkhdist: - @echo "--> Making all" - ( cd ${.CURDIR}/..; ${MAKE} all ) - @echo "--> Making distribute" - ( cd ${.CURDIR}/..; ${MAKE} distribute ) - @echo "--> Making beforetarballs" - ( cd ${.CURDIR}; ${MAKE} beforetarballs ) - @echo "--> Making tarballs" - ( cd ${.CURDIR}; ${MAKE} tarballs ) - @echo "--> Making floppies" - ( cd ${.CURDIR}; ${MAKE} floppies ) - -distribute: - -mkdir ${RELEASEDIR} - chflags -R noschg ${RELEASEDIR}/. - rm -rf ${RELEASEDIR}/* - for i in ${DISTRIBUTIONS} ; \ - do \ - mkdir -p ${RELEASEDIR}/$$i ; \ - mtree -deU -f ${MTREEFILES}/BSD.root.dist -p ${RELEASEDIR}/$$i/ ; \ - mtree -deU -f ${MTREEFILES}/BSD.var.dist -p ${RELEASEDIR}/$$i/var ; \ - mtree -deU -f ${MTREEFILES}/BSD.usr.dist -p ${RELEASEDIR}/$$i/usr ; \ - done - ( cd ${.CURDIR} ; \ - ${MAKE} kernel DESTDIR=${RELEASEDIR}/filesys ) - install ${COPY} -m 644 ${.CURDIR}/../sys/compile/GENERIC/kernel \ - ${RELEASEDIR}/bin/kernel - -beforetarballs: - rm -rf ${RELEASEDIR}/manpages/usr/share/man - mv ${RELEASEDIR}/bin/usr/share/man \ - ${RELEASEDIR}/manpages/usr/share/man - rm -rf ${RELEASEDIR}/games/usr/games - mv ${RELEASEDIR}/bin/usr/games \ - ${RELEASEDIR}/games/usr/games - rm -rf ${RELEASEDIR}/games/var/games - mv ${RELEASEDIR}/bin/var/games \ - ${RELEASEDIR}/games/var/games - rm -rf ${RELEASEDIR}/games/usr/share/games - mv ${RELEASEDIR}/bin/usr/share/games \ - ${RELEASEDIR}/games/usr/share/games - rm -rf ${RELEASEDIR}/dict/usr/share/dict - mv ${RELEASEDIR}/bin/usr/share/dict \ - ${RELEASEDIR}/dict/usr/share/dict - mv ${RELEASEDIR}/bin/usr/share/misc/airport \ - ${RELEASEDIR}/bin/usr/share/misc/birthtoken \ - ${RELEASEDIR}/bin/usr/share/misc/flowers \ - ${RELEASEDIR}/bin/usr/share/misc/na.phone \ - ${RELEASEDIR}/bin/usr/share/misc/zipcodes \ - ${RELEASEDIR}/dict/usr/share/misc - mv ${RELEASEDIR}/bin/usr/lib/*_p.a \ - ${RELEASEDIR}/proflibs/usr/lib - -cd ${RELEASEDIR} ; \ - find ${EXTRADISTRIBUTIONS} -depth -type d -print | xargs rmdir - mkdir -p ${RELEASEDIR}/secure/usr - - mkdir -p ${RELEASEDIR}/src/usr - cd ${RELEASEDIR}/src/usr ; cvs export -r ${RELEASETAG} src - -tarballs: - rm -rf ${RELEASEDIR}/tarballs - mkdir -p ${RELEASEDIR}/tarballs + touch release.6 + +# Complete the cpiofd directory +# XXX a lot of stuff is missing here... +release.7: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + cd ${RD}/dists/bin ; ls ${CPIO1} | cpio -dump ${RD}/cpiofd + cd ${.CURDIR} ; ls ${CPIO2} | cpio -dumpv ${RD}/cpiofd + chmod 755 ${RD}/cpiofd/scripts/* + cp ${RD}/dists/bin/usr/sbin/tzsetup ${RD}/cpiofd + ( cd ${RD}/cpiofd ; \ + ( rm -f OK ; find . -print ; touch OK ; echo OK ) | \ + cpio -H newc -oa | gzip -9 -c | dd conv=osync ) \ + > ${RD}/floppies/cpio.flp + gzip -1 -c < ${RD}/floppies/cpio.flp > ${RD}/floppies/cpio.flp.gz + touch release.7 + +# Make binary tarballs +release.8: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + rm -rf ${RD}/tarballs + mkdir -p ${RD}/tarballs @for i in ${DISTRIBUTIONS} ; \ do \ - mkdir -p ${RELEASEDIR}/tarballs/$${i} ; \ - ( cd ${RELEASEDIR}/$${i}; \ - tar cf - . | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/$$i/$${i}.) ; \ - ( cd ${RELEASEDIR}/tarballs/$${i}; \ - sh -e ${.CURDIR}/scripts/mkchecksums.sh ) ; \ - cp ${.CURDIR}/scripts/extract_$${i}.sh \ - ${RELEASEDIR}/tarballs/$${i}/extract.sh;\ - echo "$${i} distribution is finished."; \ + if [ -d ${RD}/dists/$${i} ] ; then \ + cd ${.CURDIR} ; \ + $(MAKE) doTARBALL SD=${RD}/dists/$${i} \ + TD=$$i ARG="." ; \ + ( cd ${RD}/tarballs/$${i}; \ + sh -e ${.CURDIR}/scripts/mkchecksums.sh ) ; \ + cp ${.CURDIR}/scripts/extract_$${i}.sh \ + ${RD}/tarballs/$${i}/extract.sh;\ + echo "$${i} distribution is finished."; \ + fi ; \ + done + touch release.8 + + .include <bsd.prog.mk> + +# Make source tarballs +release.9: + @cd ${.CURDIR} ; $(MAKE) ckRELEASEDIR + @cd ${.CURDIR} ; $(MAKE) doTARBALL SD=/usr/src TD=src/base ARG="[A-Z]*" + @for i in bin etc games gnu include lib libexec release sbin \ + secure lkm eBones share sys usrbin usrsbin ; do \ + if [ -d /usr/src/$$i ] ; then \ + cd ${.CURDIR} ; \ + $(MAKE) doTARBALL SD=/usr/src \ + TD=src/$$i ARG="$$i" ; \ + fi ; \ done - -srcbase-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - [A-Z]* | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/base.) - -srcbin-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - bin | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/srcbin.) - -srcetc-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - etc | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/etc.) - -srcgames-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - games | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/games.) - -srcgnu-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - gnu | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/gnu.) - -srcinclude-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - include | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/include.) - -srclib-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - lib | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/lib.) - -srclibexec-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - libexec | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/libexec.) - -srcrelease-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - release | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/release.) - -srcsbin-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - sbin | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/sbin.) - -srcsecure-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/secure; \ - tar -cf - secure | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secure/secrsrc.) - -srclkm-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - lkm | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/lkm.) - -srcerelease-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - release | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/release.) - -srcebones-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/secure; \ - tar -cf - eBones | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/secure/ebones.) - -srcshare-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - share | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/share.) - -srcsys-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - sys lkm | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/sys.) - -srcusrbin-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - usr.bin | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/usrbin.) - -srcusrsbin-tarball: - (cd ${RELEASEDIR}/src/usr/src; \ - mkdir -p ${RELEASEDIR}/tarballs/src; \ - tar -cf - usr.sbin | \ - ${ZIPNSPLIT} ${RELEASEDIR}/tarballs/src/usrsbin.) - -src: srcbase-tarball srcbin-tarball srcetc-tarball \ - srcgames-tarball srcgnu-tarball srcinclude-tarball \ - srclib-tarball srcsecure-tarball srclibexec-tarball \ - srcsbin-tarball srcshare-tarball srcsys-tarball \ - srcusrbin-tarball srcusrsbin-tarball srcrelease-tarball \ - srcebones-tarball srclkm-tarball srcrelease-tarball - ( cd ${RELEASEDIR}/tarballs/src; \ - sh -e ${.CURDIR}/scripts/mkchecksums.sh ) + ( cd ${RD}/tarballs/src; \ + sh -e ${.CURDIR}/scripts/mkchecksums.sh ) ; \ cp ${.CURDIR}/scripts/extract_src.sh \ - ${RELEASEDIR}/tarballs/src/extract.sh - -.include <bsd.prog.mk> + ${RD}/tarballs/src/extract.sh;\ + echo "src distribution is finished."; \ + #touch release.9 + +doTARBALL: +.if !defined(SD) + @echo "SD undefined in doTARBALL" ; exit 1 +.endif +.if !defined(TD) + @echo "TB undefined in doTARBALL" ; exit 1 +.endif +.if !defined(ARG) + @echo "ARGundefined in doTARBALL" ; exit 1 +.endif + rm -rf ${RD}/tarballs/${TD} + mkdir -p ${RD}/tarballs/${TD} + ( cd ${SD} ; \ + echo rolling ${TD} tarball ;\ + tar --exclude CVS -cf - ${ARG} | \ + ${ZIPNSPLIT} ${RD}/tarballs/${TD}/`basename ${TD}`. ) |