summaryrefslogtreecommitdiffstats
path: root/release/Makefile
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2013-11-21 02:45:36 +0000
committergjb <gjb@FreeBSD.org>2013-11-21 02:45:36 +0000
commita2ed0ef7f6d3effa506eee672d738f5ec99b5254 (patch)
tree070bb5de1784384e98befaf097fe1d73e4c93e3e /release/Makefile
parentf3237abb84118cd7a02056d37a0f085c420862fe (diff)
downloadFreeBSD-src-a2ed0ef7f6d3effa506eee672d738f5ec99b5254.zip
FreeBSD-src-a2ed0ef7f6d3effa506eee672d738f5ec99b5254.tar.gz
MFC r258305, r258307, r258308, r258309, r258310, r258314, r258317,
r258319, r258320: r258305: Use the IMAGES variable to determine which image files to remove as part of 'make -C /usr/src/release clean'. r258307: Add a script and configuration files to fetch pre-built packages from pkg.FreeBSD.org for inclusion on release medium (dvd1.iso). r258308: Unconditionally copy the build host /etc/resolv.conf into the chroot directory, since hostname resolution may be needed in the case of building a dvd image (with packages) and also setting 'NOPORTS=1'. r258309: Set the PKG_CACHEDIR directory to 'dvd/' instead of 'release/' in preparation of adding a 'dvd1.iso' target. r258310: Add the 'dvd1.iso' target. This mimics the 'release.iso' target, with the additional step of fetching packages for inclusion on the dvd image. The 'pkg-stage' target is used to run 'scripts/pkg-stage.sh' if the '${TARGET}/pkg-stage.conf' configuration file exists (currently only amd64 and i386). Allow dvd1.iso to be skipped if NODVD=1. r258314: Fix how ABI is evaluated so it matches more than a dot-zero case. r258317: Document the 'dvdrom' target. r258319: Remove WITHOUT_PROFILE=1 for the dvd1.iso medium. r258320: Simplify PKG_ABI for pkg-stage.sh. Approved by: re (hrs) Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'release/Makefile')
-rw-r--r--release/Makefile37
1 files changed, 35 insertions, 2 deletions
diff --git a/release/Makefile b/release/Makefile
index 4921a0c..cf192e1 100644
--- a/release/Makefile
+++ b/release/Makefile
@@ -71,6 +71,10 @@ IMAGES=
.if exists(${.CURDIR}/${TARGET}/mkisoimages.sh)
RELEASE_TARGETS+= cdrom
IMAGES+= disc1.iso bootonly.iso
+. if(!defined(NODVD))
+RELEASE_TARGETS+= dvdrom
+IMAGES+= dvd1.iso
+. endif
.endif
.if exists(${.CURDIR}/${TARGET}/make-memstick.sh)
RELEASE_TARGETS+= memstick.img
@@ -160,10 +164,32 @@ bootonly: packagesystem
echo hostid_enable=\"NO\" >> bootonly/etc/rc.conf
cp ${.CURDIR}/rc.local bootonly/etc
+dvd:
+# Install system
+ mkdir -p ${.TARGET}
+ cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \
+ DESTDIR=${.OBJDIR}/${.TARGET} WITHOUT_RESCUE=1 WITHOUT_KERNEL_SYMBOLS=1
+# Copy distfiles
+ mkdir -p ${.TARGET}/usr/freebsd-dist
+ cp *.txz MANIFEST ${.TARGET}/usr/freebsd-dist
+# Copy documentation, if generated
+.if !defined(NODOC)
+ cp reldoc/* ${.TARGET}
+.endif
+# Set up installation environment
+ ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf
+ echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf
+ echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf
+ cp ${.CURDIR}/rc.local ${.TARGET}/etc
+ touch ${.TARGET}
+
release.iso: disc1.iso
disc1.iso: system
sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.TARGET} release
+dvd1.iso: dvd pkg-stage
+ sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.TARGET} dvd
+
bootonly.iso: bootonly
sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.TARGET} bootonly
@@ -175,7 +201,14 @@ packagesystem: base.txz kernel.txz ${EXTRA_PACKAGES}
sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST
touch ${.TARGET}
+pkg-stage:
+.if(exists(${.CURDIR}/${TARGET}/pkg-stage.conf))
+ sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \
+ ${REVISION}
+.endif
+
cdrom: disc1.iso bootonly.iso
+dvdrom: dvd1.iso
ftp: packagesystem
rm -rf ftp
mkdir -p ftp
@@ -191,8 +224,8 @@ clean:
rm -f packagesystem
rm -f *.txz MANIFEST
rm -f system
- rm -rf release bootonly
- rm -f disc1.iso bootonly.iso memstick.img
+ rm -rf release bootonly dvd
+ rm -f ${IMAGES}
install:
.if defined(DESTDIR) && !empty(DESTDIR)
OpenPOWER on IntegriCloud