-
-
Notifications
You must be signed in to change notification settings - Fork 11k
build.info extensions: variable value substitutions and multi-item statements #11185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build.info extensions: variable value substitutions and multi-item statements #11185
Conversation
|
@romen, would you mind trying this with your setup? |
|
I am not capable of reviewing the Perl, but I can give feedback on testing. Setupmkdir -p $HOME/test_oot/b/build
cd $HOME/test_oot
git clone $OPENSSL_GIT_URL # plus some setup to have refs for github PRs
cd openssl
git co github/pr-11185
S=`pwd`
cd $HOME/test_oot/b/build
$S/config
make update
make [-j8] build_generated # I am avoiding the parallel make run at the moment for debugging
make [-j8] build_all_generated # I am avoiding the parallel make run at the moment for debugging
make doc-nits
make [-s -j8] # I am avoiding the parallel make run at the moment for debugging
make cmd-nits
make VF=1 testResults
|
|
Found the problem, fixup commit added |
|
With the latest fixup commit I can confirm I don't get failures in my setup, but Travis failures seem relevant! |
|
don't you need to put the removed files into .gitignore? |
|
@levitte I also noticed a message that seems to be triggered by it does not cause a failure, but maybe it is worth investigating? |
|
You could drop the NOUPDATE variable support from .travis.yml that I've added in #11181 to workaround the progs update with no-deprecated. |
Is this new? Surprising, that should have happened long ago. |
There is a high probability that this has been there for a long time now, but we don't notice because it does not trigger an error and is hidden in the travis output! |
|
util/mktar.sh fixed in #11190. The error doesn't impact Travis because we give the tarball and content prefix a name that's not derived on the version, so it's not relevant here. |
edb2cd4 to
7346d94
Compare
Done. |
|
Still failing in Travis with |
|
Aha, apps/progs.c must be made before apps/progs.h... of course. |
t8m
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The openssl build system is becoming so full-featured that it could be eventually shipped as a separate product. 😄
Hush, don't give my secret plans away 😉 |
EVP_Build? |
|
I just manually restarted the failing (timeout) travis job |
|
I know there are smiley faces here, but I think the project should be concerned about the amount of Perl knowledge necessary to change things. When Andy left it took a very long time to partially recover perlasm knowledge. |
|
All CIs are go |
t8m
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving although it would be nice to have another review of the perl changes by someone with more perl skills.
|
This pull request is ready to merge |
So far, the "index" part of KEYWORD[whatever] could only handle one item. There are cases, however, where we want to add the exact same value to multiple items. This is especially helpful if a variable that may have multi-item values are used in the "index" part. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from openssl#11185)
Use case: having a variable with multiple source files in its value,
and wanting to refer to the corresponding object file.
$SRCS=foo.c bar.c
SOURCE[program]=$SRCS
DEPEND[${SRCS/.c/.o}]=prog.h
GENERATE[prog.h]=...
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from openssl#11185)
util/progs.pl depends on the build tree (on configdata.pm, specifically), so it needs to be run from the build tree. But why stop there? We might as well generate apps/progs.c and apps/progs.h when building. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from openssl#11185)
There were some remaining old code and comments that don't serve a purpose any longer. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from openssl#11185)
Since they are generated in build time, there's not need to keep them in the source tree. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from openssl#11185)
It was a temporary measure to deal with the fact that util/progs.pl didn't work right at all times, but that has now been fixed. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from openssl#11185)
b3f8f67 to
97ace6c
Compare
Change relative nesting depth of the OOT build_dir Build failures seem to depend on what is the relative nesting level between $srcdir and $blddir. This seems potentially related to: - openssl#11184 - openssl#11185
This started with a bug notification I got, that
apps/progs.plwould fail at times. It turns out that it should be run from the build tree, not from the source tree.This also touched an older thought, that some files (the majority of them) that we currently generate with
make updateand thereby have versioned don't actually need it. They can as well be generated in build time.This PR changes things so
apps/progs.candapps/progs.hare generated at build time, and adds the necessary expansions of the build.info syntax to allow this to be done smoothly enough.