[PATCH util/macros 1/2] Create CHANGELOG/INSTALL_CMD .tmp files in builddir

Emil Velikov emil.l.velikov at gmail.com
Mon Jan 30 08:48:16 UTC 2017


[adding back the xorg-devel ML]

On 28 January 2017 at 18:35, Gaetan Nadon <memsize at videotron.ca> wrote:
> On 01/27/2017 09:32 AM, Emil Velikov wrote:
>
> aren't you still trying to create files in srcdir here? or is there
> something outside the context that makes it sufficient to have .INSTALL.tmp?
>
> I failed to understand your response to Peter's question.
In that case, I might not have understood his question I'm afraid. Can
anyone elaborate please ?

> Somehow both the
> INSTALL and the ChangeLog files will be missing from the generated tarball.
> Those files were missing or never up-to-date in git, that is why they are
> generated at build time. They are non of the less "source" files which
> always introduce complications in the build process.
>
Fully agree that the files should always be inside the tarball and
they are a bit picky at times.
I think you're getting confused by the icky looking diff - things work
as expected and files are created as applicable.
I've used the recently updated release.sh [1], which does ./autogen.sh
&& make distcheck.

[1] https://cgit.freedesktop.org/xorg/util/modular/commit/?id=b5cffea256d8e2832c683a7231b92de126e99158

> It looks like the patch will work business as usual on RW srcdir, but not on
> RO srcdir. I don't recall anyone ever trying this scenario so this is new
> territory.
>
> In any case, from memory, here are some of the scenarios you should test to
> ensure no regressions:
>
> Extract source from a git repository to an empty directory
>
> run autogen.sh
> make all
> make INSTALL before and after removing it
> make CHANGELOG before and after removing it
> make dist
> The tarball should be complete with INSTALL and ChangeLog
>
Regardless of the above (distcheck) I've done the following:

git clone ...libXi && libXi
./autogen.sh && make all - both install and changelog are OK
make INSTALL - file is OK
rm -f INSTALL && make INSTALL - file is OK
make ChangeLog - file is OK
rm -f ChangeLog && make ChangeLog - file is OK
make dist && tar -xaf libXi...gz  - both files are inside and
correctly generated.

> Same as above but with an "out of source dir"
>
git clean -fxd && rm -rf ../bb && mkdir ../bb && cd ../bb

Then I've repeated the above steps. Barring the
s|./autogen.sh|../autogen.sh| everything was identical - from commands
to results.

> Extract the tarball generated above (assuming the content is complete).
> Preferably run from a terminal with no access to git.
>
> do not run autogen (hopefully the autogen.sh file is absent)
> make all
> make dist
> Inspect the generated tarball after make dist.  The initial tarball contains
> all the source so it can generate a new tarball.
> make INSTALL before and after removing it
> make CHANGELOG before and after removing it
>
> All these scenarios represent real life usage. They are very useful to find
> bugs even if they are not related to the scenario itself.
>
Similarly - things still work as expected (used mv git{,-foo} just in case).
Admittedly the error messages are somewhat misleading so [re]wording
suggestions are appreciated.

Note: It's possible that I coffee hasn't kicked in so please point out
if I'm missing something obvious.

> Note: I am no longer on any X list.
Ack, Thanks for taking a look and your previous work in the area.

-Emil


More information about the xorg-devel mailing list