-
Notifications
You must be signed in to change notification settings - Fork 379
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 -a
and %install -a
overwrite build/installation instructions from %buildsystem_*_*
#3024
Comments
Hmm, ugh. We have a test for this very scenario (%build -a) in the test-suite, but looking closer indeed the buildsystem %build is lost. It's just that autotools "make install" masks the issue by building automatically since not already done. We also have bunch of other tests for -a/-p modes, so this is just a bad interaction between the buildsystem stuff and append/prepend. Which does mean the buildsystem thing is rather broken in the alpha then 😒 Thanks for the report! Another buildsystem related breakage spotted while looking at this is that on Fedora there's this old hack around %install which breaks with -a and -p:
It's going to need an expedited fix for #2204 |
The append and prepend modes got added before the declarative Buildsystem, and did not get thoroughly tested with it. The existing %build -a test didn't actually work but automake handling the build in %install masked the issue embarrasingly. As the Buildsystem is parsed after everything else, there's no way the previous append/prepend implementation could work correctly with it. Do what we should've done from the start: collect any prepend/append stuff into separate data structures and apply them after everything else has been parsed. This also lifts the artificial sounding restriction wrt the corresponding main section:it's really the right thing to do, even if it's a bit more code. Make the tests wrt buildsystem much more thorough to ensure it all really works, blush. Fixes: rpm-software-management#3024
The append and prepend modes got added before the declarative Buildsystem, and did not get thoroughly tested with it. The existing %build -a test didn't actually work but automake handling the build in %install masked the issue embarrasingly. As the Buildsystem is parsed after everything else, there's no way the previous append/prepend implementation could work correctly with it. Do what we should've done from the start: collect any prepend/append stuff into separate data structures and apply them after everything else has been parsed. This also lifts the artificial sounding restriction wrt the corresponding main section:it's really the right thing to do, even if it's a bit more code. Make the tests wrt buildsystem much more thorough to ensure it all really works, blush. Fixes: rpm-software-management#3024
The append and prepend modes got added before the declarative Buildsystem, and did not get thoroughly tested with it. The existing %build -a test didn't actually work but automake handling the build in %install masked the issue embarrasingly. As the Buildsystem is parsed after everything else, there's no way the previous append/prepend implementation could work correctly with it. Do what we should've done from the start: collect any prepend/append stuff into separate data structures and apply them after everything else has been parsed. This also lifts the artificial sounding restriction wrt the corresponding main section:it's really the right thing to do, even if it's a bit more code. Make the tests wrt buildsystem much more thorough to ensure it all really works, blush. Fixes: rpm-software-management#3024
The append and prepend modes got added before the declarative Buildsystem, and did not get thoroughly tested with it. The existing %build -a test didn't actually work but automake handling the build in %install masked the issue embarrasingly. As the Buildsystem is parsed after everything else, there's no way the previous append/prepend implementation could work correctly with it. Do what we should've done from the start: collect any prepend/append stuff into separate data structures and apply them after everything else has been parsed. This also lifts the artificial sounding restriction wrt the corresponding main section:it's really the right thing to do, even if it's a bit more code. Make the tests wrt buildsystem much more thorough to ensure it all really works, blush. Fixes: #3024
The append and prepend modes got added before the declarative Buildsystem, and did not get thoroughly tested with it. The existing %build -a test didn't actually work but automake handling the build in %install masked the issue embarrasingly. As the Buildsystem is parsed after everything else, there's no way the previous append/prepend implementation could work correctly with it. Do what we should've done from the start: collect any prepend/append stuff into separate data structures and apply them after everything else has been parsed. This also lifts the artificial sounding restriction wrt the corresponding main section:it's really the right thing to do, even if it's a bit more code. Make the tests wrt buildsystem much more thorough to ensure it all really works, blush. Fixes: rpm-software-management#3024 (cherry picked from commit bf46dcf)
The append and prepend modes got added before the declarative Buildsystem, and did not get thoroughly tested with it. The existing %build -a test didn't actually work but automake handling the build in %install masked the issue embarrasingly. As the Buildsystem is parsed after everything else, there's no way the previous append/prepend implementation could work correctly with it. Do what we should've done from the start: collect any prepend/append stuff into separate data structures and apply them after everything else has been parsed. This also lifts the artificial sounding restriction wrt the corresponding main section:it's really the right thing to do, even if it's a bit more code. Make the tests wrt buildsystem much more thorough to ensure it all really works, blush. Fixes: #3024 (cherry picked from commit bf46dcf)
Describe the bug
I've just updated my rpm to 4.19.90, and tried out the declarative build bits. Overall, they're working nicely, but
%build -a
doesn't seem to work as documented - instead of adding to%buildsystem_*_build
, it is treated as the only build/install script present.To Reproduce
Steps to reproduce the behavior:
Simplified version of the macros I've been playing with (simplified to not call any other macros etc. for easier reproducibility etc.):
Everything works as expected if I don't have any
%build
section in the spec - but if I addin the spec, only
echo test
is executed, notmake
.Expected behavior
The code is built (
make
), and afterwardstest
is printed.Output
test
is printed, without any signs of runningmake
.Environment
Additional context
There's no funky stuff like macros redefining
%build
or something (that actually used to be present in older Mandriva versions).Simplified spec that works:
Modified version of the spec that shows the problem:
The text was updated successfully, but these errors were encountered: