Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/distrib Add a new simple method to put whole sets on CD imag...
details: https://anonhg.NetBSD.org/src/rev/097f5d4f1746
branches: trunk
changeset: 338311:097f5d4f1746
user: martin <martin%NetBSD.org@localhost>
date: Mon May 18 06:25:04 2015 +0000
description:
Add a new simple method to put whole sets on CD images (instead of
listing single binaries or patterns) and use those for the existing
ISO images.
diffstat:
distrib/amd64/cdroms/Makefile.cdrom | 58 +-----------------
distrib/common/Makefile.bootcd | 97 +++++++++++++++++++++++++-----
distrib/i386/cdroms/Makefile.cdrom | 58 +-----------------
distrib/sparc/Makefile | 4 +-
distrib/sparc64/cdroms/installcd/Makefile | 66 +-------------------
distrib/vax/cdroms/installcd/Makefile | 69 +---------------------
6 files changed, 92 insertions(+), 260 deletions(-)
diffs (truncated from 557 to 300 lines):
diff -r 40aa5ff9d5a9 -r 097f5d4f1746 distrib/amd64/cdroms/Makefile.cdrom
--- a/distrib/amd64/cdroms/Makefile.cdrom Mon May 18 01:53:50 2015 +0000
+++ b/distrib/amd64/cdroms/Makefile.cdrom Mon May 18 06:25:04 2015 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.cdrom,v 1.13 2015/04/18 08:56:56 martin Exp $
+# $NetBSD: Makefile.cdrom,v 1.14 2015/05/18 06:25:04 martin Exp $
.include <bsd.own.mk>
@@ -11,62 +11,8 @@
CDKERNELS= netbsd-GENERIC.gz netbsd
CDRELEASE_NOISOS= true
-CDRUNTIME+= ./bin
-CDRUNTIME+= ./dev/MAKEDEV
-CDRUNTIME+= ./etc
-CDRUNTIME+= ./lib
-CDRUNTIME+= ./libdata
-CDRUNTIME+= ./libexec/ld.elf_so
-CDRUNTIME+= ./libexec/lfs_cleanerd
-CDRUNTIME+= ./libexec/dhcpcd-run-hooks
-CDRUNTIME+= ./libexec/resolvconf/
-CDRUNTIME+= ./mnt
-CDRUNTIME+= ./sbin
-CDRUNTIME+= ./stand
-CDRUNTIME+= ./tmp
-CDRUNTIME+= ./usr/bin/ftp
-CDRUNTIME+= ./usr/bin/grep
-CDRUNTIME+= ./usr/bin/gzip
-CDRUNTIME+= ./usr/bin/less
-CDRUNTIME+= ./usr/bin/more
-CDRUNTIME+= ./usr/bin/netstat
-CDRUNTIME+= ./usr/bin/progress
-CDRUNTIME+= ./usr/bin/sed
-CDRUNTIME+= ./usr/bin/sort
-CDRUNTIME+= ./usr/bin/tip
-CDRUNTIME+= ./usr/bin/tput
-CDRUNTIME+= ./usr/bin/vi
-CDRUNTIME+= ./usr/bin/vmstat
-.if ${MKBSDTAR} != "no"
-CDRUNTIME+= ./usr/lib/libarchive.so*
-.endif
-CDRUNTIME+= ./usr/lib/libbz2.so*
-CDRUNTIME+= ./usr/lib/libc.so*
-CDRUNTIME+= ./usr/lib/libcurses.so*
-CDRUNTIME+= ./usr/lib/libedit.so*
-CDRUNTIME+= ./usr/lib/libgcc_s.so*
-CDRUNTIME+= ./usr/lib/libintl.so*
-CDRUNTIME+= ./usr/lib/libkvm.so*
-CDRUNTIME+= ./usr/lib/liblzma.so*
-CDRUNTIME+= ./usr/lib/libpthread.so*
-CDRUNTIME+= ./usr/lib/libterminfo.so*
-CDRUNTIME+= ./usr/lib/libutil.so*
-CDRUNTIME+= ./usr/lib/libz.so*
-.if (${MKCRYPTO} != "no")
-CDRUNTIME+= ./usr/lib/libcrypto.so*
-CDRUNTIME+= ./usr/lib/libssl.so*
-.endif
-CDRUNTIME+= ./usr/libexec/ld.elf_so
-CDRUNTIME+= ./usr/libexec/getty
-CDRUNTIME+= ./usr/mdec
-CDRUNTIME+= ./usr/sbin/chroot
-CDRUNTIME+= ./usr/sbin/installboot
-CDRUNTIME+= ./usr/sbin/wiconfig
-CDRUNTIME+= ./usr/share/misc/terminfo.cdb
-CDRUNTIME+= ./usr/share/locale
-
image_md_pre:
- ${MKDIR} cdrom/etc
+ ${RM} -f cdrom/etc/gettytab cdrom/etc/ttys cdrom/etc/rc
${HOST_LN} -fs /tmp/gettytab cdrom/etc/gettytab
${INSTALL} ${COPY} ${.CURDIR}/../etc.ttys cdrom/etc/ttys
${INSTALL} ${COPY} ${.CURDIR}/../etc.rc cdrom/etc/rc
diff -r 40aa5ff9d5a9 -r 097f5d4f1746 distrib/common/Makefile.bootcd
--- a/distrib/common/Makefile.bootcd Mon May 18 01:53:50 2015 +0000
+++ b/distrib/common/Makefile.bootcd Mon May 18 06:25:04 2015 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.bootcd,v 1.25 2014/05/31 10:18:47 martin Exp $
+# $NetBSD: Makefile.bootcd,v 1.26 2015/05/18 06:25:04 martin Exp $
#
# Makefile snipped to create a CD/DVD ISO
#
@@ -31,6 +31,9 @@
# CDKERNELS couples of the form:
# source name_on_cd
# CDRUNTIME files/directories to copy from $DESTDIR onto the CD
+# CD_SETS sets to be extracted onto the CD
+# (default: base modules etc)
+# SETS_DIR where the CD_SETS are found (default provided)
# source kernels are copied from ${CDINSTKERNEL} (or its obj dir)
# note that as of yet, bootxx_cd9660 can't load kernel names of more than
# 8 chars (though they can be in a sub-directory meaning the pathname is
@@ -56,11 +59,15 @@
CDRELEASE_EXCLUDE+= -s ',./installation/installimage.*,,gp'
.endif
+CD_SETS?= base modules etc
+SETS_DIR?= ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
+
.include <bsd.own.mk> # For PRINTOBJDIR
.include <bsd.kernobj.mk> # For KERNSRCDIR
DISTRIBVER!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh
DISTRIBREV!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh -s
+CUROBJDIR!= cd ${.CURDIR} && ${PRINTOBJDIR}
ISO_VOLID!= echo NETBSD_${DISTRIBREV} | tr a-z A-Z
PUBLISHER?= The_NetBSD_Project
.if defined(CDMAKEFSOPTIONS)
@@ -69,6 +76,12 @@
_CDMAKEFSOPTIONS= rockridge,label=${ISO_VOLID},publisher=${PUBLISHER}
.endif
+.if ${MKUNPRIVED} == "no"
+CD_METALOG.unpriv=
+.else
+CD_METALOG.unpriv=-M ${METALOG}.sanitised
+.endif
+
# Stuff that should come from elsewhere - XXX where? - HF
CP?= cp
RM?= rm
@@ -81,10 +94,37 @@
.else
CDIMAGE= NetBSD-${DISTRIBVER}-${CDBASE:S/cd$//}.iso
.endif
+WORKSPEC= fs.spec
+CDMAKEFSEXTRAOPTS+=-F ${WORKSPEC}
CLEANFILES+= ${CDIMAGE}
CLEANFILES+= bootxx.${MACHINE}
+CLEANFILES+= ${WORKSPEC}
+CDSETSENV= DESTDIR=${DESTDIR:Q} \
+ MACHINE=${MACHINE:Q} \
+ MACHINE_ARCH=${MACHINE_ARCH:Q} \
+ AWK=${TOOL_AWK:Q} \
+ CKSUM=${TOOL_CKSUM:Q} \
+ DB=${TOOL_DB:Q} \
+ HOST_SH=${HOST_SH:Q} \
+ MAKE=${MAKE:Q} \
+ MKTEMP=${TOOL_MKTEMP:Q} \
+ MTREE=${TOOL_MTREE:Q} \
+ PAX=${TOOL_PAX:Q} \
+ COMPRESS_PROGRAM=${COMPRESS_PROGRAM:Q} \
+ GZIP=${GZIP_FLAGS:Q} \
+ PKG_CREATE=${TOOL_PKG_CREATE:Q} \
+ SED=${TOOL_SED:Q} \
+ TSORT=${TSORT:Q} \
+ MKRUMP=no \
+ MKCOMPAT=no \
+ MKDEBUG=no \
+ MKDEBUGLIB=no
+
+CDSETSCMD= cd ${NETBSDSRCDIR}/distrib/sets && \
+ ${CDSETSENV} \
+ ${HOST_SH}
.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
@@ -100,7 +140,7 @@
.endif
prepare:
- ${MKDIR} cdrom
+ ${MKDIR} "${CUROBJDIR}/cdrom"
.if defined(CDKERNELS)
.for kernel target in ${CDKERNELS}
${CP} ${_INSTKERNELNOBJDIR}/${kernel} cdrom/${target}
@@ -131,38 +171,35 @@
copy-releasedir:
${RM} -f ${RELEASEDIR}/${CDROMS_RELEASEDIR}/${CDIMAGE}
if ${CDRELEASE}; then \
- if [ ! -d ${RELEASEDIR}/${RELEASEMACHINEDIR} ]; then \
+ if [ ! -d ${RELEASEDIR}/${RELEASEMACHINEDIR} ]; then \
echo "Missing ${RELEASEDIR}/${RELEASEMACHINEDIR}, aborting"; \
exit 1; \
fi; \
- ${MKDIR} cdrom/${MACHINE}; \
- curdir=$$(pwd); \
- release_destdir=$$(pwd)/cdrom/${MACHINE}; \
+ ${MKDIR} "${CUROBJDIR}/cdrom/${MACHINE}"; \
+ release_destdir="${CUROBJDIR}/cdrom/${MACHINE}"; \
cd ${RELEASEDIR}/${RELEASEMACHINEDIR}; \
echo Copying $$(pwd) to $$release_destdir ...; \
${TOOL_PAX} \
-rw -pe ${PAX_v} \
${CDRELEASE_EXCLUDE} \
. $$release_destdir; \
- cd $$curdir; \
+ cd "${CUROBJDIR}"; \
fi
if ${CDSOURCE}; then \
if [ ! -d ${RELEASEDIR}/source ]; then \
echo "Missing ${RELEASEDIR}/source, aborting"; \
exit 1; \
fi; \
- ${MKDIR} cdrom/source; \
- curdir=$$(pwd); \
- release_destdir=$$(pwd)/cdrom/source; \
+ ${MKDIR} "${CUROBJDIR}/cdrom/source"; \
+ release_destdir="${CUROBJDIR}/cdrom/source"; \
cd ${RELEASEDIR}/source; \
echo Copying $$(pwd) to $$release_destdir ...; \
${TOOL_PAX} \
-rw -pe ${PAX_v} \
. $$release_destdir; \
- cd $$curdir; \
+ cd "${CUROBJDIR}"; \
fi
- if [ "X${CDRUNTIME}}" != "X" ]; then \
- curdir=$$(pwd); \
+ if [ "X${CDRUNTIME}" != "X" ]; then \
release_destdir=$${curdir}/cdrom; \
cd $$release_destdir; \
cd ${DESTDIR}; \
@@ -170,10 +207,9 @@
do \
${TOOL_PAX} -rw -pp ${PAX_v} $${cde} $$release_destdir;\
done; \
- cd $$curdir; \
+ cd "${CUROBJDIR}"; \
fi
if [ "X${CDEXTRA}${CDBUILDEXTRA}" != "X" ]; then \
- curdir=`pwd`; \
skipflag=""; \
cdextra_skip="${CDEXTRA_SKIP}"; \
if [ "X$${cdextra_skip}" != "X" ]; then \
@@ -182,13 +218,13 @@
do \
echo $${skip} >> cdskip; \
done; \
- skipflag="-X $${curdir}/cdskip"; \
+ skipflag="-X ${CUROBJDIR:Q}/cdskip"; \
fi; \
cdextra="${CDEXTRA}"; \
cdbuildextra="${CDBUILDEXTRA}"; \
for cde in $${cdextra} $${cdbuildextra}; \
do \
- release_destdir=$${curdir}/cdrom; \
+ release_destdir="${CUROBJDIR}/cdrom"; \
if [ -f $${cde} ]; then \
echo Copying $${cde} to $$release_destdir ...; \
${CP} $${cde} $${release_destdir}; \
@@ -202,11 +238,36 @@
echo "Missing $${cde}, aborting"; \
exit 1; \
fi; \
- cd $$curdir; \
+ cd "${CUROBJDIR}"; \
done; \
fi
+ ${MKDIR} "${CUROBJDIR}/cdrom/etc/mtree"
+.for set in ${CD_SETS}
+ ${CDSETSCMD} ./maketars -i "${CUROBJDIR}/cdrom" \
+ ${CD_METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \
+ -F "${CUROBJDIR}/cdrom/etc/mtree" \
+ -d "${DESTDIR:S,^$,/,}" ${set}
+.endfor
+ ${CHMOD} +r "${CUROBJDIR}/cdrom/var/spool/ftp/hidden"
image:
+ @echo Preparing spec files for makefs...
+ ${RM} -f ${WORKSPEC}
+ cat cdrom/etc/mtree/* | \
+ ${TOOL_SED} -e 's/ size=[0-9]*//' \
+ -e '/^\.\/etc\/gettytab/d' > ${WORKSPEC}
+ ${HOST_SH} cdrom/dev/MAKEDEV -s all | \
+ ${TOOL_SED} -e '/^\. type=dir/d' -e 's,^\.,./dev,' >> ${WORKSPEC}
+.if defined(SPEC_IN)
+ cat ${SPEC_IN} >> ${WORKSPEC}
+.endif
+.if defined(SECONDARY_BOOT)
+ echo "./${SECONDARY_BOOT} type=file uname=root gname=wheel mode=0444" \
+ >> ${WORKSPEC}
+.endif
+.if defined(SPEC_EXTRA)
+ cat ${SPEC_EXTRA} >> ${WORKSPEC}
+.endif
${TOOL_MAKEFS} -t cd9660 ${CDMAKEFSEXTRAOPTS} -o ${_CDMAKEFSOPTIONS:Q} ${CDIMAGE} cdrom
.if ${CDRELEASE} == false
diff -r 40aa5ff9d5a9 -r 097f5d4f1746 distrib/i386/cdroms/Makefile.cdrom
--- a/distrib/i386/cdroms/Makefile.cdrom Mon May 18 01:53:50 2015 +0000
+++ b/distrib/i386/cdroms/Makefile.cdrom Mon May 18 06:25:04 2015 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.cdrom,v 1.33 2015/04/18 08:56:57 martin Exp $
+# $NetBSD: Makefile.cdrom,v 1.34 2015/05/18 06:25:05 martin Exp $
.include <bsd.own.mk>
@@ -11,62 +11,8 @@
CDKERNELS= netbsd-GENERIC.gz netbsd
CDRELEASE_NOISOS= true
-CDRUNTIME+= ./bin
-CDRUNTIME+= ./dev/MAKEDEV
-CDRUNTIME+= ./etc
-CDRUNTIME+= ./lib
-CDRUNTIME+= ./libdata
-CDRUNTIME+= ./libexec/ld.elf_so
Home |
Main Index |
Thread Index |
Old Index