<p>There clearly is some chicken - egg problem here as one will likely need some tools to determine the dependencies for the build. So there needs to be a multi step process:</p>
<p>Getting the BuildRequires that are needed to determine the dynamic Buildrequires<br>
Generating the SRPM with all the BuildRequires<br>
Get all BuildRequires.<br>
Building the Binary RPMs.</p>
<p>This is clearly not possible with most of the existing build systems. So changing this will require changes to basically all of them. We would probably need to add something like BuildRequires(srpm) and add a new section in the spec file that can be used to create the dynamic BuildRequires.</p>
<p>Another question is on what files this BuildDeps generator/section should operate. Obviously executing %prep before hand would be very helpful for many use cases.</p>
<p>The next question is whether the Dependencies should be generated automatically - by scripts provided by rpm and run in the background or if packagers would need to write their own section generating the dependencies - may be by executing some rpm provided scripts.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/rpm-software-management/rpm/issues/104#issuecomment-264459206">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ANb80-_e1MfBJUNmQNBKuwPUkxekXTnSks5rECOugaJpZM4LCXMo">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ANb801D6Ql5ZckstJM6JoyCD7ROJuK1Tks5rECOugaJpZM4LCXMo.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/rpm-software-management/rpm/issues/104#issuecomment-264459206"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/rpm-software-management/rpm","title":"rpm-software-management/rpm","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/rpm-software-management/rpm"}},"updates":{"snippets":[{"icon":"PERSON","message":"@ffesti in #104: There clearly is some chicken - egg problem here as one will likely need some tools to determine the dependencies for the build. So there needs to be a multi step process:\r\n\r\nGetting the BuildRequires that are needed to determine the dynamic Buildrequires \r\nGenerating the SRPM with all the BuildRequires\r\nGet all BuildRequires.\r\nBuilding the Binary RPMs.\r\n\r\nThis is clearly not possible with most of the existing build systems. So changing this will require changes to basically all of them. We would probably need to add something like BuildRequires(srpm) and add a new section in the spec file that can be used to create the dynamic BuildRequires.\r\n\r\nAnother question is on what files this BuildDeps generator/section should operate. Obviously executing %prep before hand would be very helpful for many use cases.\r\n\r\nThe next question is whether the Dependencies should be generated automatically - by scripts provided by rpm and run in the background or if packagers would need to write their own section generating the dependencies - may be by executing some rpm provided scripts."}],"action":{"name":"View Issue","url":"https://github.com/rpm-software-management/rpm/issues/104#issuecomment-264459206"}}}</script>