[PATCH 3/4] xfstests: Refactor release scripts to conform to using git archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Refactored release scripts to conform to using git archive

When generating a release, there is a risk of some files being
stale, such as configure and the m4/autotools temp files. This
is fixed with a clean at the beginning of release generation.
In addition, there is no uniformity in the current method of
source tar generation between xfs utilities. Using git archive
solves this issue across all utilities.

Signed-off-by: Andrew Dahl <adahl@xxxxxxx>
---
 Makefile   |   20 ++++++++++++++++++++
 release.sh |   11 +++++++++--
 2 files changed, 29 insertions(+), 2 deletions(-)
 mode change 100644 => 100755 release.sh

diff --git a/Makefile b/Makefile
index b68ec11..a0aef85 100644
--- a/Makefile
+++ b/Makefile
@@ -39,12 +39,17 @@ ifeq ($(HAVE_BUILDDEFS), yes)
 include $(TOPDIR)/include/builddefs
 endif
 
+SRCTAR = $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
 TESTS = $(shell sed -n -e '/^[0-9][0-9][0-9]*/s/ .*//p' group)
 CONFIGURE = configure include/builddefs include/config.h
 LSRCFILES = configure configure.ac aclocal.m4 README VERSION
 LDIRT = config.log .ltdep .dep config.status config.cache confdefs.h \
 	conftest* check.log check.time
 
+ifeq ($(HAVE_BUILDDEFS), yes)
+LDIRT += $(SRCTAR)
+endif
 
 LIB_SUBDIRS = include lib
 TOOL_SUBDIRS = ltp src m4
@@ -102,3 +107,18 @@ install-dev install-lib:
 realclean distclean: clean
 	$(Q)rm -f $(LDIRT) $(CONFIGURE)
 	$(Q)rm -rf autom4te.cache Logs
+
+dist: include/builddefs include/config.h default
+ifeq ($(HAVE_BUILDDEFS), no)
+	$(Q)$(MAKE) $(MAKEOPTS) -C . $@
+else
+	$(Q)$(MAKE) $(MAKEOPTS) $(SRCTAR)
+endif
+
+$(SRCTAR) : default
+	$(Q)git archive --prefix=$(PKG_NAME)-$(PKG_VERSION)/ --format=tar \
+	  v$(PKG_VERSION) -o $(PKG_NAME)-$(PKG_VERSION).tar
+	$(Q)$(TAR) --transform "s,^,$(PKG_NAME)-$(PKG_VERSION)/," \
+	  -rf $(PKG_NAME)-$(PKG_VERSION).tar $(CONFIGURE)
+	$(Q)$(ZIP) $(PKG_NAME)-$(PKG_VERSION).tar
+	echo Wrote: $@
diff --git a/release.sh b/release.sh
old mode 100644
new mode 100755
index 65e4e4b..5b78ec7
--- a/release.sh
+++ b/release.sh
@@ -8,6 +8,9 @@
 version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
 date=`date +"%-d %B %Y"`
 
+echo "Cleaning up"
+make realclean
+
 echo "Updating CHANGES"
 sed -e "s/${version}.*/${version} (${date})/" doc/CHANGES > doc/CHANGES.tmp && \
 	mv doc/CHANGES.tmp doc/CHANGES
@@ -18,6 +21,10 @@ git commit -s -a -m "${version} release"
 echo "Tagging git repository"
 git tag -s -a -m "${version} release" v${version}
 
-echo "Done.  Please remember to push out tags using \"git push --tags\""
-echo "If you wish to create a source tarball, run \"make dist\""
+echo "Making source tarball"
+make dist
 
+echo "Sign the source tarball"
+gpg --detach-sign xfstests-${version}.tar.gz
+
+echo "Done.  Please remember to push out tags using \"git push --tags\""
-- 
1.7.1

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs

[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux