Discussion:
[gentoo-user] Need some help with location of git clone when bisecting with 9999-ebuilds
(too old to reply)
Morgan Wesström
2023-08-10 18:50:01 UTC
Permalink
I'm trying to track down a regression in app-emulation/wine-vanilla.

I've read https://wiki.gentoo.org/wiki/Bisecting_with_live_ebuilds and think I
understand how git bisect works and what it does, but three things are unclear
to me.

1) Where should I store the git clone of the repository and how do I tell
emerge to read the source files from there, when emerging the 9999 ebuild,
instead of downloading them from the Internet as usual?

2) Can I tell emerge not to clean the build directory between bisects so it
only recompiles the source files that actually changes between commits?

3) In the wiki's test-zfs.sh script, the EGIT_OVERRIDE_COMMIT variables are
poorly documented. What would the name of those be for app-emulation/wine-vanilla?

Regards
Morgan Wesström
Yixun Lan
2023-08-11 00:30:01 UTC
Permalink
Post by Morgan Wesström
I'm trying to track down a regression in app-emulation/wine-vanilla.
I've read https://wiki.gentoo.org/wiki/Bisecting_with_live_ebuilds and think I
understand how git bisect works and what it does, but three things are unclear
to me.
understanding git bisect should be enough to keep you going..
Post by Morgan Wesström
1) Where should I store the git clone of the repository and how do I tell
emerge to read the source files from there, when emerging the 9999 ebuild,
instead of downloading them from the Internet as usual?
how about have a local clone of wine repository? and feed it to live ebuild
and you can do the bisect of this local repo..

$ git clone https://gitlab.winehq.org/wine/wine.git
$ pwd
/my/path/to/wine
# EGIT_OVERRIDE_REPO_WINE_WINE="file:///my/path/to/wine" \
emerge =app-emulation/wine-vanilla-9999
Post by Morgan Wesström
2) Can I tell emerge not to clean the build directory between bisects so it
only recompiles the source files that actually changes between commits?
it would be great to have this feature, but I don't know..
or I'd not personally bother to go this way
Post by Morgan Wesström
3) In the wiki's test-zfs.sh script, the EGIT_OVERRIDE_COMMIT variables are
poorly documented. What would the name of those be for app-emulation/wine-vanilla?
EGIT_OVERRIDE_COMMIT_WINE_WINE? have you checked the emerge log? it's obvious
Post by Morgan Wesström
Regards
Morgan Wesström
--
Yixun Lan (dlan)
Gentoo Linux Developer
GPG Key ID AABEFD55
Morgan Wesström
2023-08-11 01:10:01 UTC
Permalink
Thank you, Yixun.
Post by Yixun Lan
understanding git bisect should be enough to keep you going..
Yes, I actually just ended up doing what git bisect does but manually for now.
Post by Yixun Lan
Post by Morgan Wesström
2) Can I tell emerge not to clean the build directory between bisects so it
only recompiles the source files that actually changes between commits?
it would be great to have this feature, but I don't know..
or I'd not personally bother to go this way
My old machine takes 50 minutes to compile wine so it would've been great.
Guess it's time for me to upgrade. ;)
Post by Yixun Lan
EGIT_OVERRIDE_COMMIT_WINE_WINE? have you checked the emerge log? it's obvious
I noticed that by chance when I was looking in the log to check whether it
accepted the commit hash I fed it or not. But I ended up just using the
deprecated EGIT_COMMIT for this bisect and running it manually. Since most of
the time is spent compiling it wasn't that much work but I'll be sure to try a
more automated method next time now that I got the last pieces of the puzzle. :)
Just out of curiosity, what decides what the suffix to those EGIT_OVERRIDE_
variables will become? I was unable to find any info of those in the Gentoo
Development Guide, although I only looked at the description of the
git-r3.eclass and that might have been the wrong place.

Regards
Morgan
William Kenworthy
2023-08-11 01:50:02 UTC
Permalink
Post by Morgan Wesström
Thank you, Yixun.
Post by Yixun Lan
understanding git bisect should be enough to keep you going..
Yes, I actually just ended up doing what git bisect does but manually for now.
Post by Yixun Lan
Post by Morgan Wesström
2) Can I tell emerge not to clean the build directory between bisects so it
only recompiles the source files that actually changes between commits?
it would be great to have this feature, but I don't know..
or I'd not personally bother to go this way
My old machine takes 50 minutes to compile wine so it would've been
great. Guess it's time for me to upgrade. ;)
Post by Yixun Lan
EGIT_OVERRIDE_COMMIT_WINE_WINE? have you checked the emerge log? it's obvious
I noticed that by chance when I was looking in the log to check
whether it accepted the commit hash I fed it or not. But I ended up
just using the deprecated EGIT_COMMIT for this bisect and running it
manually. Since most of the time is spent compiling it wasn't that
much work but I'll be sure to try a more automated method next time
now that I got the last pieces of the puzzle. :)
Just out of curiosity, what decides what the suffix to those
EGIT_OVERRIDE_ variables will become? I was unable to find any info of
those in the Gentoo Development Guide, although I only looked at the
description of the git-r3.eclass and that might have been the wrong
place.
Regards
Morgan
Will "ebuild /path/to/whatever.ebuild compile" work for what you are
doing ? Also, it works on some simpler builds to cd to the top of the
src tree and just issue a make.

BillK
Morgan Wesström
2023-08-11 02:10:01 UTC
Permalink
Will "ebuild /path/to/whatever.ebuild compile" work for what you are doing ?
Also, it works on some simpler builds to cd to the top of the src tree and just
issue a make.
In this particular case I'd like to also merge the compiled wine to my system
so I can do the test of the failing application in the same environment as I
normally run it in. But all is fine now and I got my questions answered so I
feel confident I'm better prepared now for any future bisects.
I'm doing my (hopefully) final bisect compile of wine as I write this and will
check the result tomorrow since it's way past bedtime for me now. :)

Regards
Morgan
Wols Lists
2023-08-11 16:40:01 UTC
Permalink
Post by Yixun Lan
Post by Morgan Wesström
1) Where should I store the git clone of the repository and how do I tell
emerge to read the source files from there, when emerging the 9999 ebuild,
instead of downloading them from the Internet as usual?
how about have a local clone of wine repository? and feed it to live ebuild
and you can do the bisect of this local repo..
I have a dedicated ~/gitstuff for most of my stuff, but the obvious
other place is /usr/src (/wine).

Cheers,
Wol

Loading...