diff options
author | Eli Schwartz <eschwartz@gentoo.org> | 2024-07-07 23:45:05 -0400 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-07-19 06:41:19 +0100 |
commit | 45fceb11558e3363390a4b58ab067603b418773e (patch) | |
tree | 214291889f27b619f82075a56c176015afdd97cf /lib | |
parent | binrepos.conf: Support custom download location (diff) | |
download | portage-45fceb11558e3363390a4b58ab067603b418773e.tar.gz portage-45fceb11558e3363390a4b58ab067603b418773e.tar.bz2 portage-45fceb11558e3363390a4b58ab067603b418773e.zip |
ebuild: try to make maintainer mode checks a bit less prone to FP
We sometimes get weird results. For example, in binutils/gdb, we get:
```
* QA Notice: Automake "maintainer mode" detected:
*
* checking for aclocal... ${SHELL} /var/tmp/portage/dev-debug/gdb-15.1/work/gdb-15.1/missing aclocal-1.15
* checking for autoconf... ${SHELL} /var/tmp/portage/dev-debug/gdb-15.1/work/gdb-15.1/missing autoconf
* checking for autoheader... ${SHELL} /var/tmp/portage/dev-debug/gdb-15.1/work/gdb-15.1/missing autoheader
* checking for aclocal... ${SHELL} /var/tmp/portage/dev-debug/gdb-15.1/work/gdb-15.1/missing aclocal-1.15
* checking for autoconf... ${SHELL} /var/tmp/portage/dev-debug/gdb-15.1/work/gdb-15.1/missing autoconf
* checking for autoheader... ${SHELL} /var/tmp/portage/dev-debug/gdb-15.1/work/gdb-15.1/missing autoheader
```
The current pattern looks for the definition of the "missing" script
followed by known autotools commands. With a bit more effort, we can
hopefully match the actual `make` commands that get produced as
maintainer targets. As far as I can tell, they always include an
attempt to cd to the project root and then run the maintainer target.
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Closes: https://github.com/gentoo/portage/pull/1359
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/portage/package/ebuild/doebuild.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py index c7fa1d1e0..403836b80 100644 --- a/lib/portage/package/ebuild/doebuild.py +++ b/lib/portage/package/ebuild/doebuild.py @@ -2383,7 +2383,7 @@ def _check_build_log(mysettings, out=None): # Configuration: # Automake: ${SHELL} /var/tmp/portage/dev-libs/yaz-3.0.47/work/yaz-3.0.47/config/missing --run automake-1.10 am_maintainer_mode_re = re.compile( - r"/missing( --run|'|) (automake|autoconf|autoheader|aclocal)" + r"\bcd\b.*&&.*/missing( --run|'|) (automake|autoconf|autoheader|aclocal)" ) am_maintainer_mode_exclude_re = re.compile(r"^\s*Automake:\s") |