[PATCH util/macros 1/2] Rework CHANGELOG_CMD to touch/echo >&2 only as needed

Peter Hutterer peter.hutterer at who-t.net
Tue Feb 14 22:03:40 UTC 2017


On Tue, Feb 14, 2017 at 11:38:20AM +0000, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
> 
> Currently CHANGELOG_CMD issues a
> 
>   touch ChangeLog; echo "Scary message" >&2
> 
> even if the file is already present. For example, when running `make
> distcheck' the following is observed:
> 
> "
> /bin/sh: ../../.changelog.tmp: Permission denied
> git directory not found: installing possibly empty changelog.
> ...
> /bin/sh: ../../.changelog.tmp: Permission denied
> git directory not found: installing possibly empty changelog.
> "
> 
> That in itself happens since srcdir is RO, thus shell redirection [to
> srcddir/.changelog.tmp] fails. At the same time the latter message is
> wrong and misleading since the file is already there, with the correct
> contents.
> 
> Silence the permissing warning (/dev/null is our friend), and add
> a simple `test -e .../ChangeLog || (...' prior to the touch/echo combo.
> 
> As we're here also update the message to be more generic, since there
> are multiple other reasons why things can fail.
> 
> Cc: Gaetan Nadon <memsize at videotron.ca>
> Cc: Peter Hutterer <peter.hutterer at who-t.net>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> So here it is gents - hopefully this is the last round.
> 
> Even though this/these two patches should cause no functional change,
> I've tested the whole ecosistem and did not see any regressions. There
> were a _lot_ of projects failing even without my patches though, but
> that's for another day ;-)

looks good, thanks. Gaetan - any further comments? If not, I'll push these.

Cheers,
   Peter

> 
> Some WIP/RFC patches for build.sh are coming in a minute
> ---
>  xorgversion.m4 | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/xorgversion.m4 b/xorgversion.m4
> index 19f2ffd..8d9b634 100644
> --- a/xorgversion.m4
> +++ b/xorgversion.m4
> @@ -56,9 +56,10 @@ AC_DEFUN([XORG_RELEASE_VERSION],[
>  #
>  #
>  AC_DEFUN([XORG_CHANGELOG], [
> -CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
> +CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
>  mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
> -|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
> -echo 'git directory not found: installing possibly empty changelog.' >&2)"
> +|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
> +touch \$(top_srcdir)/ChangeLog; \
> +echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
>  AC_SUBST([CHANGELOG_CMD])
>  ]) # XORG_CHANGELOG
> -- 
> 2.11.0
> 


More information about the xorg-devel mailing list