Re: force target in QEmacs makefile - fatal: not a git repository

Charlie Gordon <[email protected]> Thu, 4 Aug 2022 13:12:16 +0200
Newsgroups gmane.editors.qemacs.devel
Message-ID <[email protected]>
Dear Piscium,

Thank you for your feedback.
The build issue is not related to the force target, which is just an =
empty (dummy) target.
The problem is the definition of the FILES variable:

FILES:=3D $(shell git ls-files)

This causes make to invoke git as it parses the Makefile even if the =
target `tar`, which uses FILES is not made.

I removed the tar target and the FILES variable. An archive of the =
current sources can be produced by `make archive`,
which makes the `tar` target redundant anyway.

I bumped the version to 5.3.1

Best regards

Chqrlie.

> On 4 Aug 2022, at 09:56, Piscium <[email protected]> wrote:
>=20
> Hi Charlie,
>=20
> As I said yesterday, I successfully created a personal package for
> qemacs for Arch, for github version '5.3alpha'. There were however
> harmless messages during the package building.
>=20
> ---
> fatal: not a git repository (or any parent up to mount point /)
> Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not =
set).
> ---
>=20
> There are 6 such pairs of messages in the attached build log. I only
> investigated the first pair, and it happens because there is a force
> target in the makefile that is called and results in git being called.
>=20
> The questions are then why is git being called, and if I should make
> changes to the package due to that. It seems that the force target's
> purpose is to set a FILE with the qemacs version in its name and that
> is used in the 'tar' and 'archive' targets - however these last two
> targets are not needed to build the package, it seems.
>=20
> Funny enough, the build log that I sent you yesterday did not have
> such 'fatal' messages. The reason is probably that that test build was
> done without passing any parameters to './configure' whereas this
> other build to create a package has parameters passed to it. This is
> how it is called within the Arch package description:
>=20
> build(){
>  cd "$srcdir"/qemacs-$_COMMIT
>  ./configure --prefix=3D/usr --enable-x11 --enable-xv --enable-xshm
> --enable-xrender
>  make -j1
> }
>=20
> I copied that line where './configure' is called together with its
> parameters from the existing (old) AUR package. It is only 4 days
> since I started looking at qemacs and I have not yet had the time to
> look at the parameters for './configure'. It is on my to do list. I am
> mentioning this because it seems that it was the different parameters
> that triggered the 'fatal' messages. Probably those parameters are not
> optimal.
>=20
> To recap, the package worked, and I have yet not found any issue with
> '5.3alpha' in my extremely limited tests, although there were these
> 'fatal' harmless messages.
>=20
> Again, thanks for providing this app to the community. :-)
> <qemacs-package-build.txt>