New and better "make release" rules.

This commit is contained in:
Poul-Henning Kamp 1995-02-25 22:08:48 +00:00
parent fba33612b8
commit bd668f6f6c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=6718
7 changed files with 396 additions and 358 deletions

View File

@ -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
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
CPIO2= etc/services etc/protocols
CPIO3= scripts/miscfuncs.sh scripts/instdist.sh scripts/netinst.sh \
# 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
CPIO4= /usr/sbin/tzsetup
CPIO4B= tzsetup
FDDEVICE= fd0
FDCYLS= 80
FDCYLSIZE= 15k
FDLABEL= fd1200
MNT= /mnt
# 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
ZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 -
MTREE_DIR= ${.CURDIR}/../etc/mtree
ZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 -
# Things which will get you into trouble if you change them
DISTRIBUTIONS= bin ${EXTRADISTRIBUTIONS}
MTREEFILES= ${.CURDIR}/../etc/mtree
RD= ${RELEASEDIR}/stage
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
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
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
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; \
chmod 755 ${CHROOTDIR}/mk
chroot ${CHROOTDIR} /mk
.endif
doRELEASE: release.1 release.2 release.3 release.4 release.5 release.6 \
release.7 release.8 release.9
@echo "Release done"
clean:
rm -rf cpio_crunch boot_crunch release.[1-9]
ckRELEASEDIR:
.if !defined(RELEASEDIR)
@echo "To make a release RELEASEDIR must be defined" ; @exit 1
.endif
# 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
touch release.1
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; ) \
# 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
cp ${.CURDIR}/../sys/compile/BOOTFLP/kernel kernel.BOOTFLP
strip kernel.BOOTFLP
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
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 )
touch release.6
EXTRADISTRIBUTIONS= secure games manpages proflibs dict info
DISTRIBUTIONS= bin ${EXTRADISTRIBUTIONS}
MTREEFILES= ${.CURDIR}/../etc/mtree
# 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
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
# 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
${RD}/tarballs/src/extract.sh;\
echo "src distribution is finished."; \
#touch release.9
.include <bsd.prog.mk>
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}`. )

View File

@ -0,0 +1,18 @@
# $Id: boot_flp.conf,v 1.4 1994/11/21 04:14:31 phk Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/gnu/usr.bin
srcdirs /usr/src/usr.sbin
# Programs from bin/
# progs sh mkdir rm mknod chmod expr
# progs ln test mount umount cat mv sync cp
# progs cpio gzip sysinstall newfs
progs sysinstall newfs gzip cpio fsck dialog bad144 fsck
ln gzip gunzip
ln gzip zcat
# ln sh -sh
# ln sysinstall oinit
# ln test [
# libs -ll -ledit -ltermcap -lutil -lscrypt
libs -ldialog -lncurses -lmytinfo

View File

@ -0,0 +1,18 @@
# $Id: boot_flp.conf,v 1.4 1994/11/21 04:14:31 phk Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/gnu/usr.bin
srcdirs /usr/src/usr.sbin
# Programs from bin/
# progs sh mkdir rm mknod chmod expr
# progs ln test mount umount cat mv sync cp
# progs cpio gzip sysinstall newfs
progs sysinstall newfs gzip cpio fsck dialog bad144 fsck
ln gzip gunzip
ln gzip zcat
# ln sh -sh
# ln sysinstall oinit
# ln test [
# libs -ll -ledit -ltermcap -lutil -lscrypt
libs -ldialog -lncurses -lmytinfo

18
release/boot_crunch.conf Normal file
View File

@ -0,0 +1,18 @@
# $Id: boot_flp.conf,v 1.4 1994/11/21 04:14:31 phk Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/gnu/usr.bin
srcdirs /usr/src/usr.sbin
# Programs from bin/
# progs sh mkdir rm mknod chmod expr
# progs ln test mount umount cat mv sync cp
# progs cpio gzip sysinstall newfs
progs sysinstall newfs gzip cpio fsck dialog bad144 fsck
ln gzip gunzip
ln gzip zcat
# ln sh -sh
# ln sysinstall oinit
# ln test [
# libs -ll -ledit -ltermcap -lutil -lscrypt
libs -ldialog -lncurses -lmytinfo

37
release/cpio_crunch.conf Normal file
View File

@ -0,0 +1,37 @@
# fixit.conf - put in anything we think we might want on a fixit floppy
# first, we list the source dirs that our programs reside in. These are
# searched in order listed to find the dir containing each program.
srcdirs /usr/src/gnu/usr.bin
srcdirs /usr/src/bin /usr/src/sbin /usr/src/sbin/i386 /usr/src/usr.bin
srcdirs /usr/src/usr.sbin
# second, we list all the programs we want to include in our crunched binary.
# The order doesn't matter. Any program that needs hard links to it gets an
# `ln' directive.
# /bin stuff
progs cat chmod cksum cp date dd df echo ed expr grep hostname kill ln ls
progs mkdir mt mv pwd rcp rm rmdir sh sleep slattach stty sync test
ln test [
ln sh -sh # init invokes the shell this way
# /sbin stuff
progs badsect basename chown clri disklabel dmesg dump dmesg fdisk fsck ft
progs getopt ifconfig init mknod mount mount_cd9660 mount_msdos mount_nfs
progs newfs ping reboot restore route swapon umount
ln dump rdump
ln restore rrestore
ln reboot halt
# /usr/bin stuff
progs tar tip ftp ncftp rsh sed telnet rlogin
ln tip cu
# finally, we specify the libraries to link in with our binary
libs -lcrypt -ltelnet -lutil -ll -ledit
libs -lgnuregex -lreadline -lcurses -ltermcap -lkvm

View File

@ -0,0 +1,18 @@
# $Id: boot_flp.conf,v 1.4 1994/11/21 04:14:31 phk Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/gnu/usr.bin
srcdirs /usr/src/usr.sbin
# Programs from bin/
# progs sh mkdir rm mknod chmod expr
# progs ln test mount umount cat mv sync cp
# progs cpio gzip sysinstall newfs
progs sysinstall newfs gzip cpio fsck dialog bad144 fsck
ln gzip gunzip
ln gzip zcat
# ln sh -sh
# ln sysinstall oinit
# ln test [
# libs -ll -ledit -ltermcap -lutil -lscrypt
libs -ldialog -lncurses -lmytinfo

View File

@ -0,0 +1,18 @@
# $Id: boot_flp.conf,v 1.4 1994/11/21 04:14:31 phk Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/gnu/usr.bin
srcdirs /usr/src/usr.sbin
# Programs from bin/
# progs sh mkdir rm mknod chmod expr
# progs ln test mount umount cat mv sync cp
# progs cpio gzip sysinstall newfs
progs sysinstall newfs gzip cpio fsck dialog bad144 fsck
ln gzip gunzip
ln gzip zcat
# ln sh -sh
# ln sysinstall oinit
# ln test [
# libs -ll -ledit -ltermcap -lutil -lscrypt
libs -ldialog -lncurses -lmytinfo