[PATCH util-modular] release.sh: create a worktree structure that's out of reach of libtool

Emil Velikov emil.l.velikov at gmail.com
Wed Mar 8 21:11:07 UTC 2017


On 8 March 2017 at 20:50, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> On Wed, Mar 08, 2017 at 02:18:23PM +0000, Emil Velikov wrote:
>> On 8 March 2017 at 08:21, Peter Hutterer <peter.hutterer at who-t.net> wrote:
>> > The comment in the diff says it all, we need to put our worktree root at least
>> > two directories away from our normal checkout.
>> >
>> > This fixes the issue of release.sh failing in git trees that haven't been git
>> > cleaned:
>> >
>> >     ERROR: files left in build directory after distclean:
>> >     ./config.sub
>> >     ./test-driver
>> >     ./ltmain.sh
>> >     ./config.guess
>> >     ./install-sh
>> >     ./missing
>> >     ./depcomp
>> >     ./compile
>> >     make[1]: *** [distcleancheck] Error 1
>> >     make: *** [distcheck] Error 1
>> >
>> > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>> > ---
>> >  release.sh | 12 ++++++++++++
>> >  1 file changed, 12 insertions(+)
>> >
>> > diff --git a/release.sh b/release.sh
>> > index c824dea..b5069cc 100755
>> > --- a/release.sh
>> > +++ b/release.sh
>> > @@ -365,6 +365,18 @@ process_module() {
>> >          return 1
>> >      fi
>> >
>> > +    # libtool will search down to ../.. for install-sh and then just gess
>> > +    # that's the aux dir, dumping config.sub and other files into that
>> > +    # directory. make distclean then complains about leftover files. So
>> > +    # let's put our real module dir out of reach of libtool.
>> > +    #
>> That seems like a very strange behaviour indeed: from the manual -
>> "the standard location is the first one of ., .., or ../.. (relative
>> to the top source directory)"
>> The better solution imho is to simply tell it where those are/should
>> be stored via AC_CONFIG_AUX_DIR. For libdrm we use
>> AC_CONFIG_AUX_DIR([build-aux]).
>
> that would require changing every repo, only a few currently have that set.
> So a long-term option, but for now getting the release script to work
> independently of the automake setup seems to be sensible.
>
According to a quick grep 253 configure.ac are missing it while only 87 have it.
In which case we want this in release.sh for now at least.

Just a couple of small nitpicks:
 - Please add a note about AC_CONFIG_AUX_DIR in the comment
 - Can we use something better than $build_dir/release/$build_dir
release/$version/$build_dir comes to mind or anything else that you're
happy with.

Thanks
Emil


More information about the xorg-devel mailing list