I seem to recall discussion on this in the ancient past, but I couldn't
find anything in the archive, nor on the current Fedora Packaging
Guidelines docs.
There exist upstreams out there that are written in C/C++ but don't ship
with a "configure" script. In some cases, I've seen this addressed by
simply not running the %configure macro and then make-ing as normal, or
by manually using %optflags somewhere. This is the suggestion in some
tutorials for addressing this, e.g.:
https://rpm-packaging-guide.github.io/#cello-working-with-spec-files
The %build section is where we tell the system how to actually build
the software we are packaging. Since wrote a simple Makefile for our
C implementation, we can simply use the GNU make command provided by
rpmdev-newspec. However, we need to remove the call to %configure
because we did not provide a configure script
I'd like to propose the addition of a "Configuration" section in the FPG
(probably right under
https://docs.fedoraproject.org/en-US/packaging-guidelines/#compiler )
that addresses the importance of using %configure. It ensures flags are
properly exported into the environment, but could also do other
arbitrary, distro-dependent things at some point, so it's still better
to run the macro than not. There are two possible workarounds, depending
on the whether %_configure (with underscore) is available, or if more
control is needed for simulating a script.
Safer:
%build
# source has no configure script; use macro anyway
echo "#!/bin/sh" > configure ; chmod +x configure
%configure
make %{?_smp_mflags}
Recent versions; simple case:
%build
# source has no configure script; use macro anyway
%define _configure /bin/true
%configure
make %{?_smp_mflags}
I submitted
https://github.com/redhat-developer/rpm-packaging-guide/issues/75 for
that doc, but it seems like something about whether/how to work around
this should be in these guidelines too, since they're used so much as a
general reference.
Regards,
-jc