[Rpm-maint] [rpm-software-management/rpm] RFE: BuildRequires generator (#104)
Pavel Raiskup
notifications at github.com
Sat Feb 17 09:33:55 UTC 2018
On Saturday, February 17, 2018 9:57:13 AM CET nim-nim wrote:
> > [snip, mock could ... ]
> > - does installroot and installs BuildRequires as usually
> > - runs %prep
> > - runs %foo_analyzer from %build_requires
> > - runs the rest of the build
> [snip]
>
> That would work too, as long as you take into account a package may declare
> several %foo_analyzer
Well we could stick with
%build_requires
%foo_analyzer
%bar_analyzer
if we baked the script into SRPM _unexpanded_, and build system was
responsible (through in-chroot rpm) for expanding ... user could pick how
many analysers he wanted.
Well, we wouldn't have to bake this into SRPM at all in the end -- but
just add some "flag" mentioning that "this is SRPM which needs multi-step
buildrequires resolution", so build system knows how to switch to the
appropriate multistep build mode. The actual run of %build_requires would
be performed from extracted specfile.
> and you probably need to loop their execution with BR population till there
> is no new results to handle complex cases transparently. That's an analog of
> my "implicit looping".
I'm not sure calculating "fixed point" for build requires dependency graph
is required in the first place. Having BuildRequires and then single-step
dynamic build requires would be powerful enough I think, and easier to
implement from buildsystem pov. Slight benefit would be that packagers
would be much less motivated to do **very complicated magic** in
build-depsolving.
> > this way you don't have to adjust depsolver, only the build-system.
>
> The main drawback being that if rpm is completely unaware of this, it
> can not abort local builds with a sensible error if the local system is
> missing one of the dynamic BRs
If I understand you correctly, the dynamic build requires would be
slightly weaker compared to the standard BuildRequires; is that a real
problem? IOW, the semantics would be like `rpmbuild --nodeps` was enabled
for them.
In theory, rpm could reexec the %build_requires script before continuing
with %build just to check that nothing is missed... but then we would have
to expect that build system does the "fixpoint" calculation as mentioned
above. I wouldn't be sure then that we are not stepping to far to academic
field..
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/104#issuecomment-366429346
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20180217/5a667562/attachment.html>
More information about the Rpm-maint
mailing list