[PATCH util-modular 6/6] release.sh: run ./configure within the release.sh

Peter Hutterer peter.hutterer at who-t.net
Sun Nov 27 08:03:10 UTC 2016


On Fri, Nov 25, 2016 at 01:40:27PM +0000, Emil Velikov wrote:
> On 25 November 2016 at 01:38, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> > On Fri, Nov 11, 2016 at 03:45:29PM +0000, Emil Velikov wrote:
> >> From: Emil Velikov <emil.velikov at collabora.com>
> >>
> >> At the moment one has to run autogen.sh/configure in their checkout
> >> prior to using release.sh
> >>
> >> We can "spare" that by folding it into the script. As a side effect this
> >> gives us a number of nice benefits:
> >>  - We can check/error out if build artefacts are present.
> >> There's a noticeable number of projects which use srcdir _before_
> >> builddir in their C*FLAGS.
> >>
> >>  - Can catch local hacks and workarounds for "broken" configure scripts.
> >> By definition one should be able to run the following without ever
> >> having problems.
> >>   $ ./autogen.sh --prefix=`pwd`/foo && make && make install
> >>
> >> At the same time, there's a number of projects which would a) attempt to
> >> install things outside of `pwd`/foo and/or b) otherwise require elevated
> >> privileges during make install.
> >>
> >> Some of those are 'managed' by using custom configure options and
> >> feeding those to AM_DISTCHECK_CONFIGURE_FLAGS.
> >>
> >> Let's avoid this by generating a unique build dir (./build.XXXXXXXXXX)
> >> and doing the dist/build/check in there.
> >>
> >> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> >> ---
> >> XXX:
> >>  - For the future we might add support for custom build dirs (say
> >> /ramdrive/foo) but for the moment keep things as-it.
> >>
> >>  - Should we cleanup the tmp/build dir ourselves, how about the
> >> autotool generated files ?
> >
> > related to this: I just used this for the first time and the output files
> > (tarballs, announce mail and sig file) are all in the build.XXX directory.
> > Was this intended? IMO that's not ideal, given that the build directories
> > are supposed to be temporary but I like to keep a collection of tarballs
> > around :)
> >
> Yes, the idea is to keep most/all artefacts such that one can purge
> them in one go.
> I'm fine with anything that moves/copies the tarballs and/or announce template.

I'd really prefer that. I wiped the build directory before I noticed that it
also included the tarballs (I had a local tarball from a previous make
check). Or some message in the form of "Release stuff is
available in directory $FOO" instead which is probably better given the
git worktree approach of not touching the original directory.

> Speaking of which I'm hacking/checking "git worktree" stuff and if it
> works out as expected, using which we
>  - get pristine checkout
>  - nothing is generated in the original checkout/directory
> 
> The original questions still stand though
>  - Should we purge the builddir ?
>  - With above in mind, do we keep/move/copy tarballs and/or announce template ?

Make it obvious where the tarballs and release announcements are and then
you can leave the builddir in place and leave it to the maintainer to move
things around if needed.

Cheers,
   Peter


More information about the xorg-devel mailing list