On Fri, Apr 8, 2022 at 6:34 AM Panu Matilainen
<pmatilai(a)redhat.com> wrote:
>
> On 4/8/22 12:16, Petr Pisar wrote:
>> V Thu, Apr 07, 2022 at 12:13:42PM -0400, Ben Cotton napsal(a):
>>>
https://fedoraproject.org/wiki/Changes/RPM-4.18
>>>
>>> == Summary ==
>>> Update RPM to the [
https://rpm.org/wiki/Releases/4.18.0 4.18] release.
>> [...]
>>> * New `%conf` spec section for build configuration
>>
>> RPM documenation reads:
>>
>> In %conf, the unpacked sources are configured for building.
>>
>> Different build- and language ecosystems come with their own helper
macros,
>> but rpm has helpers for autotools based builds such as itself which
>> typically look like this:
>>
>> %conf
>> %configure
>>
>> In context of autotools, sources usually bundle a configure script. To follow
>> the open source way (and ensure portability to new platform and include
>> autotools fixes), building from the real sources is desired. Hence I do my
>> best to call "autoreconf -fi" before %configure.
>>
>> Where should autoreconf be placed? %pre or %conf?
>>
>> %prep %prep
>> %autosetup %autosetup
>> autoreconf -fi
>>
>> %conf %conf
>> autoreconf -fi %configure
>> %configure
>>
>> %build %build
>> %make_build %make_build
>>
>> Please bear in mind that %prep usually contains other non-declarative twists
>> like pruning bundled code, correcting file permissions etc.
>
> My personal opinion is that autoreconf, where used, belongs to %prep
> because it can quite literally install bits required by the build system.
>
> It's also something you only run once after unpacking the sources, not
> every time you configure. Which suggests that they should be in
> different sections. The same logic is applicable to other related steps.
>
I would disagree and suggest it go into %conf. My reasoning for this
is that autoreconf + configure is combined for most other build
systems and we want those to run in %conf, so consistency beckons that
we do the same here. It also ensures we don't need anything more than
tarball unpacking and patching dependencies for %prep.
I used "personal opinion" very much on purpose, as there would be as
many opinions on this as there are observers. My opinion is biased
towards what makes sense from a staged rpmbuild POV, for a --rebuild
end result all of this is academic.
- Panu -