Subject: bug#44544: closed (Re: bug#44544: Failures Building in non-Git Directory)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 04 Jun 2021 04:38:01 +0000

Your bug report

#44544: Failures Building in non-Git Directory

which was filed against the dejagnu package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
44544: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=44544
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#44544: Failures Building in non-Git Directory
From: Jacob Bachmeyer <[email-masked]>
To: Fred Wright <[email-masked]>
Cc: [email-masked]
Date: Thu, 03 Jun 2021 23:37:26 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Fred Wright wrote:
> On Tue, 10 Nov 2020, Jacob Bachmeyer wrote:
>> The version hook was removed in commit 
>> 650af6e75776a52afa4803d02aae0f923a9ec82f which is now current 
>> master.  This should fix the problem.  Can you confirm that it 
>> corrects this issue?
>
> Yes, it does.  And, as expected, it doesn't fix the test failures.  So 
> far I've only tested on the Mac; I may not have time to test on the 
> Linux VMs until tomorrow.

Closing bug report; apologies for the long delay as this somehow fell 
through the cracks.

-- Jacob

Subject: Failures Building in non-Git Directory
From: Fred Wright <[email-masked]>
To: [email-masked]
Date: Mon, 9 Nov 2020 17:53:36 -0800 (PST)
List-Id: <debbugs-submit.debbugs.gnu.org>

When running in a directory that's not a git repo, there are at least two 
failures:

MacPro:dejagnu fw$ ./configure
[...]
checking for expect... /usr/bin/expect
checking Tcl version 8.5 or greater... yes
fatal: not a git repository (or any parent up to mount point /Volumes)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
MacPro:dejagnu fw$ echo $?
0

Note that the allegedly "fatal" error doesn't avoid a zero exit status 
(which may be a separate bug).

After the "successful" configure, building succeeds, with no error 
messages:

MacPro:dejagnu fw$ make
[...]
 	rm -rf $backupdir; exit $rc
Done. Now run 'make install'.
MacPro:dejagnu fw$ echo $?
0

Many tests now fail, which may or may not be related, so that's not 
included here.

But install fails:

MacPro:dejagnu fw$ sudo make install
Password:
Done. Now run 'make install'.
[...]
make  install-data-hook
revision=`cd . &&  git rev-parse --short HEAD` \
 	&& sed -i -e "s/^set *frame_version.*/set frame_version 
-${revision}/" /usr/local/share/dejagnu/runtest.exp
fatal: not a git repository (or any parent up to mount point /Volumes)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
make[2]: *** [install-data-hook] Error 128
make[1]: *** [install-data-am] Error 2
make: *** [install-am] Error 2
MacPro:dejagnu fw$ echo $?
2

This is commonly seen when copying all tracked files to another location 
for testing (e.g., using git ls-files and rsync), but for purposes of 
reproducing the failure, another approach is to temporarily rename the 
.git subdirectory to something else.

The above examples are from the current master branch @3d62df2.  They are 
from Mac OSX, but essentially identical failures also occur on Ubuntu 
14.04, CentOS 7, and Fedora 25.

These failures do not occur with the 1.6.2 release version, which may be 
due to a new bug, or may be due to differences between release and 
non-release builds.  In general, anything relying on git during builds 
should have a fallback for the non-git environment.

Fred Wright