From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:54335) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SrDCn-0000mN-Ag for qemu-devel@nongnu.org; Tue, 17 Jul 2012 15:13:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SrDCj-0000Oj-4A for qemu-devel@nongnu.org; Tue, 17 Jul 2012 15:13:09 -0400 Received: from mail-gg0-f173.google.com ([209.85.161.173]:63624) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SrDCi-0000O2-VL for qemu-devel@nongnu.org; Tue, 17 Jul 2012 15:13:05 -0400 Received: by ggnp1 with SMTP id p1so792284ggn.4 for ; Tue, 17 Jul 2012 12:13:04 -0700 (PDT) Sender: fluxion Date: Tue, 17 Jul 2012 14:12:52 -0500 From: Michael Roth Message-ID: <20120717191252.GC2880@illuin> References: <1342550012-5697-1-git-send-email-aliguori@us.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1342550012-5697-1-git-send-email-aliguori@us.ibm.com> Subject: Re: [Qemu-devel] [PATCH] build: add make dist target (v2) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org On Tue, Jul 17, 2012 at 01:33:32PM -0500, Anthony Liguori wrote: > Let's stop screwing up releases by having a script do the work that Anthony's > fat fingers can't seem to get right. > > Cc: Michael Roth > Signed-off-by: Anthony Liguori Breaks if there's no tag corresponding with the contents of VERSION, but that might be considered a feature (an alternative might be to assume it's a development release, use current HEAD for master, and append the short git hash to the version). Works well as far as I can tell though, and I made a special point to confirm it did indeed output a bz2 :) Tested-by: Michael Roth > --- > v1 -> v2 > - include the scripts for real this time > - remove tar/tarbin from PHONY > --- > Makefile | 19 ++++++++----------- > scripts/make-release | 24 ++++++++++++++++++++++++ > 2 files changed, 32 insertions(+), 11 deletions(-) > create mode 100755 scripts/make-release > > diff --git a/Makefile b/Makefile > index 9707fa0..abf825d 100644 > --- a/Makefile > +++ b/Makefile > @@ -31,7 +31,7 @@ Makefile: ; > configure: ; > > .PHONY: all clean cscope distclean dvi html info install install-doc \ > - pdf recurse-all speed tar tarbin test build-all > + pdf recurse-all speed test build-all dist > > $(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw) > > @@ -232,6 +232,13 @@ clean: > rm -f $$d/qemu-options.def; \ > done > > +VERSION ?= $(shell cat VERSION) > + > +dist: qemu-$(VERSION).tar.bz2 > + > +qemu-%.tar.bz2: > + $(SRC_PATH)/scripts/make-release "$(SRC_PATH)" "$(patsubst qemu-%.tar.bz2,%,$@)" > + > distclean: clean > rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi > rm -f config-all-devices.mak > @@ -390,15 +397,5 @@ qemu-doc.dvi qemu-doc.html qemu-doc.info qemu-doc.pdf: \ > qemu-img.texi qemu-nbd.texi qemu-options.texi \ > qemu-monitor.texi qemu-img-cmds.texi > > -VERSION ?= $(shell cat VERSION) > -FILE = qemu-$(VERSION) > - > -# tar release (use 'make -k tar' on a checkouted tree) > -tar: > - rm -rf /tmp/$(FILE) > - cp -r . /tmp/$(FILE) > - cd /tmp && tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS --exclude .git --exclude .svn > - rm -rf /tmp/$(FILE) > - > # Include automatically generated dependency files > -include $(wildcard *.d audio/*.d slirp/*.d block/*.d net/*.d ui/*.d qapi/*.d qga/*.d) > diff --git a/scripts/make-release b/scripts/make-release > new file mode 100755 > index 0000000..196c755 > --- /dev/null > +++ b/scripts/make-release > @@ -0,0 +1,24 @@ > +#!/bin/bash -e > +# > +# QEMU Release Script > +# > +# Copyright IBM, Corp. 2012 > +# > +# Authors: > +# Anthony Liguori > +# > +# This work is licensed under the terms of the GNU GPLv2 or later. > +# See the COPYING file in the top-level directory. > + > +src="$1" > +version="$2" > +destination=qemu-${version} > + > +git clone "${src}" ${destination} > +pushd ${destination} > +git checkout "v${version}" > +git submodule update --init > +rm -rf .git roms/*/.git > +popd > +tar cfj ${destination}.tar.bz2 ${destination} > +rm -rf ${destination} > -- > 1.7.5.4 >