[PATCH 0/4] Refactor release scripts to conform to using git archive
Ben Myers
bpm at sgi.com
Wed Feb 13 19:08:53 CST 2013
On Wed, Feb 06, 2013 at 12:15:47PM +1100, Dave Chinner wrote:
> On Fri, Feb 01, 2013 at 01:09:30PM -0600, Ben Myers wrote:
> > On Mon, Jan 14, 2013 at 12:15:10PM -0600, Andrew Dahl wrote:
> > > The following four patches fix an issue seen during the last user space
> > > release where not all source files were included in xfsprogs. They each
> > > change xfsprogs, xfstests, xfsdump, and dmapi to all use git archive for
> > > source tarball generation and add 'make realclean' in the release
> > > scripts to ensure the configure and m4/autotools temp files are refreshed.
> >
> > Applied this series.
>
> It breaks the 'make deb' command for all the trees.
xfsprogs: update 'make deb' to use tarball
This patch changes the build process so that 'make deb' uses the same
process of creating a source tree as the release script.
* Add a list of files which go in the release tarball in .git_census
This is needed so that you can create a tarball in a bare release
tree, when .git is not available.
* Modify the SRCTAR target to include files from .git_census and use tar
instead of git archive.
* Modify the SRCTARINC files to include .git_census, and include
.git_census in the 'make realclean' target.
* 'make deb' now creates unsigned packages by default, 'make debsign'
creates signed packages.
* remove the 'make source-link' target.
Signed-off-by: Ben Myers <bpm at sgi.com>
---
Makefile | 29 ++++++++++++++++-------------
include/buildrules | 11 -----------
2 files changed, 16 insertions(+), 24 deletions(-)
Index: b/Makefile
===================================================================
--- a/Makefile 2013-02-13 16:55:18.451946936 -0600
+++ b/Makefile 2013-02-13 18:39:16.121985626 -0600
@@ -30,8 +30,7 @@ SRCTAR = $(PKG_NAME)-$(PKG_VERSION).tar.
CONFIGURE = aclocal.m4 configure config.guess config.sub install-sh ltmain.sh
LSRCFILES = configure.ac release.sh README VERSION $(CONFIGURE)
SRCTARINC = m4/libtool.m4 m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
- m4/ltversion.m4 po/xfsprogs.pot $(CONFIGURE)
-
+ m4/ltversion.m4 po/xfsprogs.pot .git_census $(CONFIGURE)
LDIRT = config.log .ltdep .dep config.status config.cache confdefs.h \
conftest* built .census install.* install-dev.* *.gz \
autom4te.cache/* libtool include/builddefs include/platform_defs.h
@@ -120,7 +119,7 @@ distclean: clean
$(Q)rm -f $(LDIRT)
realclean: distclean
- $(Q)rm -f $(CONFIGURE)
+ $(Q)rm -f $(CONFIGURE) .git_census
#
# All this gunk is to allow for a make dist on an unconfigured tree
@@ -137,18 +136,22 @@ ifeq ($(HAVE_BUILDDEFS), no)
$(Q)$(MAKE) $(MAKEOPTS) -C . $@
else
$(Q)$(MAKE) $(MAKEOPTS) $(SRCDIR)
- $(Q)$(MAKE) $(MAKEOPTS) -C po
- $(Q)$(MAKE) $(MAKEOPTS) source-link
- $(Q)cd $(SRCDIR) && dpkg-buildpackage
+ $(Q)cd $(SRCDIR) && dpkg-buildpackage -us -uc
endif
-$(SRCDIR) : $(_FORCE)
+debsign: deb
+ debsign
+
+$(SRCDIR) : $(_FORCE) $(SRCTAR)
rm -fr $@
- mkdir -p $@
+ $(Q)$(TAR) -zxvf $(SRCTAR)
-$(SRCTAR) : default
- $(Q)git archive --prefix=$(SRCDIR)/ --format=tar v$(PKG_VERSION) > $(SRCDIR).tar
- $(Q)$(TAR) --transform "s,^,$(SRCDIR)/," -rf $(SRCDIR).tar \
- $(SRCTARINC)
- $(Q)$(ZIP) $(SRCDIR).tar
+$(SRCTAR) : default $(SRCTARINC) .git_census
+ $(Q)$(TAR) --transform "s,^,$(SRCDIR)/," -zcf $(SRCDIR).tar.gz \
+ `cat .git_census` $(SRCTARINC)
echo Wrote: $@
+
+.git_census: $(_FORCE)
+ $(Q)if test -d .git; then \
+ git ls-files > .git_census && echo "new .git_census"; \
+ fi
Index: b/include/buildrules
===================================================================
--- a/include/buildrules 2013-02-13 17:30:04.181945855 -0600
+++ b/include/buildrules 2013-02-13 17:30:24.161985853 -0600
@@ -23,17 +23,6 @@ $(SUBDIRS):
$(Q)$(MAKE) $(MAKEOPTS) -q -C $@ || $(MAKE) $(MAKEOPTS) -C $@
endif
-source-link:
- @test -z "$$DIR" && DIR="."; \
- for f in `echo $(SRCFILES) $(SUBDIRS) $(POTHEAD)`; do \
- if test -d $$f ; then \
- mkdir $(TOPDIR)/$(PKG_NAME)-$(PKG_VERSION)/$$DIR/$$f || exit $$?; \
- $(MAKEF) DIR=$$DIR/$$f -C $$f $@ || exit $$?; \
- else \
- ln $$f $(TOPDIR)/$(PKG_NAME)-$(PKG_VERSION)/$$DIR/$$f || exit $$?; \
- fi; \
- done
-
#
# Standard targets
#
More information about the xfs
mailing list