From owner-svn-src-all@FreeBSD.ORG Tue Apr 1 22:41:28 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E879A81E; Tue, 1 Apr 2014 22:41:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D3FA1763; Tue, 1 Apr 2014 22:41:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s31MfRTF020688; Tue, 1 Apr 2014 22:41:27 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s31MfRW6020684; Tue, 1 Apr 2014 22:41:27 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201404012241.s31MfRW6020684@svn.freebsd.org> From: Glen Barber Date: Tue, 1 Apr 2014 22:41:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r264027 - in head: release share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Apr 2014 22:41:28 -0000 Author: gjb Date: Tue Apr 1 22:41:26 2014 New Revision: 264027 URL: http://svnweb.freebsd.org/changeset/base/264027 Log: Add a new release build variable, WITH_COMPRESSED_IMAGES. When set to a non-empty value, the installation medium is compressed with gzip(1) as part of the 'install' target in the release/ directory. With gzip(1) compression, downloadable image are reduced in size quite significantly. Build test against head@263927 shows the following: bootonly.iso: 64% smaller disc1.iso: 44% smaller memstick.img: 47% smaller mini-memstick.img: 65% smaller dvd1.iso: untested This option is off by default, I would eventually like to turn it on by default, and remove the '-k' flag to gzip(1) so only compressed images are published on FTP. Requested by: wkoszek MFC After: 1 week Sponsored by: The FreeBSD Foundation Modified: head/release/Makefile head/release/release.conf.sample head/release/release.sh head/share/man/man7/release.7 Modified: head/release/Makefile ============================================================================== --- head/release/Makefile Tue Apr 1 22:21:56 2014 (r264026) +++ head/release/Makefile Tue Apr 1 22:41:26 2014 (r264027) @@ -21,6 +21,8 @@ # NOSRC: if set, do not distribute source tree # NODOC: if set, do not generate release documentation # WITH_DVD: if set, generate dvd1.iso +# WITH_COMPRESSED_IMAGES: if set, compress installation images with gzip(1) +# (uncompressed images are not removed) # TARGET/TARGET_ARCH: architecture of built release # @@ -251,6 +253,9 @@ install: cp -a ftp ${DESTDIR}/ .for I in ${IMAGES} cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I} +. if defined(WITH_COMPRESSED_IMAGES) || !empty(WITH_COMPRESSED_IMAGES) + gzip -k ${DESTDIR}/${OSRELEASE}-${I} +. endif .endfor cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 cd ${DESTDIR} && md5 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.MD5 Modified: head/release/release.conf.sample ============================================================================== --- head/release/release.conf.sample Tue Apr 1 22:21:56 2014 (r264026) +++ head/release/release.conf.sample Tue Apr 1 22:41:26 2014 (r264027) @@ -46,6 +46,7 @@ PORTBRANCH="ports/head@rHEAD" #NODOC= #NOPORTS= #WITH_DVD= +#WITH_COMPRESSED_IMAGES= ## Set when building embedded images. #EMBEDDEDBUILD= Modified: head/release/release.sh ============================================================================== --- head/release/release.sh Tue Apr 1 22:21:56 2014 (r264026) +++ head/release/release.sh Tue Apr 1 22:41:26 2014 (r264027) @@ -83,6 +83,7 @@ NOPORTS= # Set to non-empty value to build dvd1.iso as part of the release. WITH_DVD= +WITH_COMPRESSED_IMAGES= usage() { echo "Usage: $0 [-c release.conf]" @@ -128,6 +129,7 @@ if [ -n "${EMBEDDEDBUILD}" ]; then exit 1 fi WITH_DVD= + WITH_COMPRESSED_IMAGES= NODOC=yes fi @@ -262,4 +264,4 @@ eval chroot ${CHROOTDIR} make -C /usr/sr eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \ release eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \ - install DESTDIR=/R + install DESTDIR=/R WITH_COMPRESSED_IMAGES=${WITH_COMPRESSED_IMAGES} Modified: head/share/man/man7/release.7 ============================================================================== --- head/share/man/man7/release.7 Tue Apr 1 22:21:56 2014 (r264026) +++ head/share/man/man7/release.7 Tue Apr 1 22:41:26 2014 (r264027) @@ -250,6 +250,12 @@ Setting this also sets Set to a non-empty value to include the .Cm dvdrom target. +.It Va WITH_COMPRESSED_IMAGES +Set to a non-empty value to compress the release images with +.Xr gzip 1 . +The original +.Pq uncompressed +images are not removed. .It Va VCSCMD The command run to obtain the source trees. Defaults to