FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 10-11-2010, 08:44 AM
Steven Whitehouse
 
Default gfs2-utils: master - GFS2: Add script to create release tarball

Hi,

On Sat, 2010-10-09 at 07:04 +0200, Fabio M. Di Nitto wrote:
> did you try to use "make dist" directly from the build tree?
>
No, and tbh I don't really want to rely on that. My little script is
simple and does the job just fine.

> based on the version/name info in configure.ac, it will do tests and
> then create the tarball release for you. The tests include build of the
> tarball, and extra checks of the build system itself.-
>
> The script you wrote would also pack .git related stuff that you don't
> want to ship in a release.
>
> Fabio
>
What stuff that I don't want is it including? I've not spotted anything
being added incorrectly,

Steve.

> On 10/08/2010 08:11 PM, Steven Whitehouse wrote:
> > Gitweb: http://git.fedorahosted.org/git/gfs2-utils.git?p=gfs2-utils.git;a=commitdiff;h=8ad7ccfab98e55b69987f8634 feab9083cd86431
> > Commit: 8ad7ccfab98e55b69987f8634feab9083cd86431
> > Parent: 9fd48ba18df408b00041a0b18e60b0f0e3032e9a
> > Author: Steven Whitehouse<swhiteho@redhat.com>
> > AuthorDate: Fri Oct 8 18:43:14 2010 +0100
> > Committer: Steven Whitehouse<swhiteho@redhat.com>
> > CommitterDate: Fri Oct 8 18:43:14 2010 +0100
> >
> > GFS2: Add script to create release tarball
> >
> > Based upon the branch and current release tag, this script
> > creates a tar ball suitable for release.
> >
> > Signed-off-by: Steven Whitehouse<swhiteho@redhat.com>
> > ---
> > make-tarball.sh | 22 ++++++++++++++++++++++
> > 1 files changed, 22 insertions(+), 0 deletions(-)
> >
> > diff --git a/make-tarball.sh b/make-tarball.sh
> > new file mode 100755
> > index 0000000..71d78fe
> > --- /dev/null
> > +++ b/make-tarball.sh
> > @@ -0,0 +1,22 @@
> > +#!/bin/bash
> > +
> > +FILES=`git ls-files | sed -e's/^/gfs2-utils//'`
> > +BRANCH=`git show-branch --current | sed -e's/.*[//' -e's/].*$//'`
> > +DESC=`git describe 2>/dev/null`
> > +
> > +if [ $? != 128 ]; then
> > + if [ ${BRANCH} == "master" ]; then
> > + VERSION=-${DESC}
> > + else
> > + VERSION=-${BRANCH}-${DESC}
> > + fi
> > +fi
> > +
> > +DEST=`pwd`/gfs2-utils${VERSION}.tar.gz
> > +
> > +echo "Creating ${DEST}..."
> > +
> > +(cd ..; tar -zcf ${DEST} ${FILES})
> > +
> > +echo "Done."
> > +
> > _______________________________________________
> > cluster-commits mailing list
> > cluster-commits@lists.fedorahosted.org
> > https://fedorahosted.org/mailman/listinfo/cluster-commits
>
 
Old 10-11-2010, 03:42 PM
"Fabio M. Di Nitto"
 
Default gfs2-utils: master - GFS2: Add script to create release tarball

On 10/11/2010 10:44 AM, Steven Whitehouse wrote:
> Hi,
>
> On Sat, 2010-10-09 at 07:04 +0200, Fabio M. Di Nitto wrote:
>> did you try to use "make dist" directly from the build tree?
>>
> No, and tbh I don't really want to rely on that. My little script is
> simple and does the job just fine.

There are a few steps in there that your script will miss.

In order to run "make dist" you need to ./autogen.sh and ./configure.

Those first 2 steps will make sure that the final tarball will get a
working copy of ./configure from your system and guaranteed to be
portable. Something you will leave up to the end user to do. Different
versions of autotools/automake/autoconf can generate a different
./configure. Even a missing m4 macro could cause you headache across
distributions.

Leave alone the plans you might have to drop autotools, in the meantime
you should get advantages out of it.

make dist-check, make dist will provide you with tests over the tree and
with a properly versioned tarball.

I also suggest you look at coreutils.git Makefile.am and configure.ac to
extend configure.ac to automatically get the version from git rather
than hard encoding it in configure.ac itself (I was hinted to it today,
so I didnīt have time to look at it properly nor implement it anywhere).
The basic concept is that given an annoted tag, the make dist can create
the correct tarball (versioning and alike), including the possibility to
have version (eg.) 1.0.N-sha1 from HEAD of the tree.
Where N is the commit number after 1.0 tag and sha1 the short version of
the sha related to that release/tarball.

Fabio
 

Thread Tools




All times are GMT. The time now is 02:10 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright Đ2007 - 2008, www.linux-archive.org