Author: nwhitehorn
Date: Mon Apr 11 14:30:45 2011
New Revision: 220540
URL: http://svn.freebsd.org/changeset/base/220540

Log:
  Add an install target to release/Makefile instead of grubbing around
  (and requesting that users grub around) in /usr/obj. Also make sure that
  make clean removes the bootonly media and clean up that target a little.

Modified:
  head/release/Makefile
  head/release/generate-release.sh
  head/share/man/man7/release.7

Modified: head/release/Makefile
==============================================================================
--- head/release/Makefile       Mon Apr 11 11:15:34 2011        (r220539)
+++ head/release/Makefile       Mon Apr 11 14:30:45 2011        (r220540)
@@ -6,6 +6,7 @@
 #  cdrom: Builds release CD-ROM media (release.iso)
 #  ftp: Sets up FTP distribution area (ftp)
 #  release: Build all media and FTP distribution area
+#  install: Copies all release media into ${DESTDIR}
 #
 # Variables affecting the build process:
 #  WORLDDIR: location of src tree -- must have built world and default kernel
@@ -159,22 +160,26 @@ memstick: system
 
 packagesystem: base.txz kernel.txz ${EXTRA_PACKAGES}
        sh ${.CURDIR}/scripts/make-manifest.sh ${.OBJDIR}/*.txz > 
${.OBJDIR}/MANIFEST
-       touch ${.OBJDIR}/${.TARGET}
+       touch ${.TARGET}
 
 cdrom: release.iso bootonly.iso
 ftp: packagesystem
-       rm -rf ${.OBJDIR}/ftp
-       mkdir ${.OBJDIR}/ftp
-       cp ${.OBJDIR}/*.txz ${.OBJDIR}/MANIFEST ${.OBJDIR}/ftp
+       rm -rf ftp
+       mkdir ftp
+       cp *.txz MANIFEST ftp
 
 release: obj ${RELEASE_TARGETS}
 
 clean:
        chflags -R noschg ${.OBJDIR}
-       rm -rf ${.OBJDIR}/dist ${.OBJDIR}/ftp
+       rm -rf dist ftp
        rm -f packagesystem
-       rm -f ${.OBJDIR}/*.txz ${.OBJDIR}/MANIFEST
+       rm -f *.txz MANIFEST
        rm -f system
-       rm -rf ${.OBJDIR}/release
-       rm -f ${.OBJDIR}/release.iso ${.OBJDIR}/memstick
+       rm -rf release bootonly
+       rm -f release.iso bootonly.iso memstick
+
+install:
+       -mkdir ${DESTDIR}
+       cp -a *.iso memstick ftp ${DESTDIR}/
 

Modified: head/release/generate-release.sh
==============================================================================
--- head/release/generate-release.sh    Mon Apr 11 11:15:34 2011        
(r220539)
+++ head/release/generate-release.sh    Mon Apr 11 14:30:45 2011        
(r220540)
@@ -60,7 +60,5 @@ if [ -d $2/usr/doc ]; then 
 fi
 
 chroot $2 /bin/sh -c "cd /usr/src && make $MAKE_FLAGS buildworld buildkernel" 
|| exit 1
-chroot $2 /bin/sh -c "cd /usr/src/release && make release" || exit 1
-mkdir $2/R
-cp -pRP $2/usr/obj/usr/src/release/*.iso $2/usr/obj/usr/src/release/memstick 
$2/usr/obj/usr/src/release/ftp $2/R
+chroot $2 /bin/sh -c "cd /usr/src/release && make release install DESTDIR=/R" 
|| exit 1
 

Modified: head/share/man/man7/release.7
==============================================================================
--- head/share/man/man7/release.7       Mon Apr 11 11:15:34 2011        
(r220539)
+++ head/share/man/man7/release.7       Mon Apr 11 14:30:45 2011        
(r220540)
@@ -153,17 +153,17 @@ The release makefile
 is fairly abstruse.
 Most developers will only be concerned with the
 .Cm release
-target.
+and
+.Cm install
+targets.
 .\" XXX: Some sort of introduction to this list?  All the others have one.
 .Bl -tag -width ".Cm packagesystem"
 .It Cm release
 Meta-target to build all release media and distributions applicable to this
-platform. All output goes to
-.Pa ${.OBJDIR} ,
-which will likely be either
-.Pa src/release
-or the equivalent path in
-.Pa /usr/obj .
+platform.
+.It Cm install
+Copy all produced release media to 
+.Pa ${DESTDIR} .
 .It Cm cdrom
 Builds installation CD-ROM images. On some systems, this may require that
 .Xr mkisofs 8
@@ -173,8 +173,10 @@ and possibly that the
 .Xr md 4
 (memory disk) device driver be present in the kernel
 (either by being compiled in or available as a module). This target
-produces a file called
+produces files called
 .Pa release.iso
+and
+.Pa bootonly.iso
 as its output.
 .It Cm memstick
 Builds an installation memory stick image named
@@ -293,12 +295,12 @@ svn co svn://svn.freebsd.org/base/head s
 cd src
 make buildworld
 cd release
-make obj release 
+make release install DESTDIR=/var/freebsd-snapshot
 .Ed
 .Pp
-After running these commands, a complete system suitable for FTP or
-CD-ROM distribution is available in the
-.Pa /usr/obj/usr/src/release
+After running these commands, all produced distribution files (tarballs
+for FTP, CD-ROM images, etc.) are available in the
+.Pa /var/freebsd-snapshot
 directory.
 .Pp
 The following sequence of commands can be used to build a
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to