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.
--
真実はいつも一つ!/ Always, there's only one truth!