[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
"make dist" does not fail on linux when missing "./build-aux/git-log-fix
From: |
Assaf Gordon |
Subject: |
"make dist" does not fail on linux when missing "./build-aux/git-log-fix" |
Date: |
Thu, 13 Mar 2014 14:09:51 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux i686 on x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
Hello (again),
(Sorry for "spamming" with these minor issues - but I'm modeling a program after
"hello", and these things pop up - to ensure they are not problems in my files, I resort
to verifying with GNU hello.)
The new issue:
If "./build-aux/git-log-fix" is missing, "make dist" does *not* fail on Linux
(but does fail on FreeBSD).
I discovered that because my project did not have "git-log-fix" (and it is not a
"gnulib" module, just a file that needs to be created).
Thanks,
-gordon
In Makefile.am, this is the relevant part:
===
gen_start_date = 2011-12-17
.PHONY: gen-ChangeLog
gen-ChangeLog:
$(AM_V_GEN)if test -d .git; then \
$(top_srcdir)/build-aux/gitlog-to-changelog \
--amend=$(srcdir)/build-aux/git-log-fix \
--since=$(gen_start_date) > $(distdir)/cl-t; \
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi
===
To reproduce:
===
git clone git://git.savannah.gnu.org/hello.git
./bootstrap
./configure
rm build-aux/git-log-fix
make dist
===
On Linux, "make dist" ends with this error, but still succeeds:
====
make[1]: Leaving directory `/home/gordon/projects/hello/po'
make \
top_distdir="hello-2.9.31-fa3c-dirty"
distdir="hello-2.9.31-fa3c-dirty" \
dist-info dist-hook
make[1]: Entering directory `/home/gordon/projects/hello'
if test -d .git; then \
./build-aux/gitlog-to-changelog \
--amend=./build-aux/git-log-fix \
--since=2011-12-17 > hello-2.9.31-fa3c-dirty/cl-t; \
rm -f hello-2.9.31-fa3c-dirty/ChangeLog;
\
mv hello-2.9.31-fa3c-dirty/cl-t hello-2.9.31-fa3c-dirty/ChangeLog;
\
fi
###########################
### Note the error below
###########################
gitlog-to-changelog: ./build-aux/git-log-fix: failed to open for reading: No
such file or directory
make[1]: Leaving directory `/home/gordon/projects/hello'
test -n "" \
|| find "hello-2.9.31-fa3c-dirty" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec /bin/bash
/home/gordon/projects/hello/build-aux/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r "hello-2.9.31-fa3c-dirty"
tardir=hello-2.9.31-fa3c-dirty && ${TAR-tar} chof - "$tardir" | GZIP='--no-name
--best --rsyncable' gzip -c >hello-2.9.31-fa3c-dirty.tar.gz
if test -d "hello-2.9.31-fa3c-dirty"; then find "hello-2.9.31-fa3c-dirty" -type d ! -perm -200 -exec chmod u+w {}
';' && rm -rf "hello-2.9.31-fa3c-dirty" || { sleep 5 && rm -rf "hello-2.9.31-fa3c-dirty"; }; else
:; fi
====
On FreeBSD, "make dist" fails with:
====
make top_distdir="hello-2.9.27-f95ba-dirty"
distdir="hello-2.9.27-f95ba-dirty" dist-info dist-hook
if test -d .git; then ./build-aux/gitlog-to-changelog
--amend=./build-aux/git-log-fix
--since=2011-12-17 > hello-2.9.27-f95ba-dirty/cl-t; rm -f
hello-2.9.27-f95ba-dirty/ChangeLog; mv
hello-2.9.27-f95ba-dirty/cl-t hello-2.9.27-f95ba-dirty/ChangeLog;
fi
gitlog-to-changelog: ./build-aux/git-log-fix: failed to open for reading: No
such file or directory
*** Error code 2
Stop.
make[2]: stopped in /usr/home/gordon/hello
*** Error code 1
Stop.
make[1]: stopped in /usr/home/gordon/hello
*** Error code 1
Stop.
make: stopped in /usr/home/gordon/hello
====
- "make dist" does not fail on linux when missing "./build-aux/git-log-fix",
Assaf Gordon <=