dimmus / eflete

Theme Editor for Enlightenment Foundation Library-based applications
GNU Lesser General Public License v3.0
6 stars 4 forks source link

Unable to compile when no .git dir is found #41

Closed Thanatermesis closed 10 months ago

Thanatermesis commented 10 months ago

Scenario case: all my builds for packaging are made in a chroot, where they never include the .git directory for performance reasons

In the past, I had this issue too, but I solved it by just using the build option --buildtype=release

Now seems like something in the meson.build file changed that makes this issue happening again

Maybe this is not unique to eflete, I think I have seen this before, so I wonder what would be the best way to deal with this issue, maybe there's a special argument for that?

Basically what I see is that the meson file search for the git command availability, but it doesn't checks if the .git directory is available too (and so then this fails), I think that this verification should be added on the same check

Then in such case, the version should probably get from the Changelog file instead (or some place where the version is set), or just using the one from the meson.build set

dimmus commented 10 months ago

What error did you get? In meson setup?

Thanatermesis commented 10 months ago

options used:

make[1]: Entering directory '/mkdeb/build/amd64/eflete_2726037/eflete'
dh_auto_configure --verbose -- \
-Denable-audio=true \
--buildtype=release \

result:

Host machine cpu: x86_64
Program git found: YES (/usr/bin/git)
Program git found: YES (/usr/bin/git)

../meson.build:22:4: ERROR: Command `/usr/bin/git rev-list --count HEAD` failed with status 128.

A full log can be found at /mkdeb/build/amd64/eflete_2726037/eflete/obj-x86_64-linux-gnu/meson-logs/meson-log.txt
    cd obj-x86_64-linux-gnu && tail -v -n \+0 meson-logs/meson-log.txt

--- stderr ---
fatal: not a git repository (or any of the parent directories): .git

../meson.build:22:4: ERROR: Command `/usr/bin/git rev-list --count HEAD` failed with status 128.
dh_auto_configure: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 meson setup .. --wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/x86_64-linux-gnu -Denable-audio=true --buildtype=release returned exit code 1
dimmus commented 10 months ago

Ok. Solved in cafd9a74482cea1be35506cf0563dd8d260ba9aa

Thanatermesis commented 10 months ago

confirmed, building again now :)

dimmus commented 10 months ago

Thanks for testing. It's hard to imagine how and where the software will be built and run. So very appreciated :+1: