- The sed-munger added in commit ccd6281e69
causes bigger breakage than it fixes, perhaps because the hammer
applied was disproportionally large. The only thing needing adjustment
is ${prefix} in case when localstatedir is not explicitly set, so
we fixup just that instead of "everything".
- Discovered via RhBug:921973 testing
IBM recently announced the OpenPOWER Consortium, part of this initiative
means now powerpc hardware can run the little endian mode. Create a new
platform for that mode of opperation.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
- Autoconf leaves things like @localstatedir@ unexpanded at build-time
on purpose so the paths can be overridden during "make install".
However this leaves %{_var} in macros in its unexpanded state
unless --localstatedir is explicitly passed in, which does not
work very well for rpm.
- Process the main macros file through the same meat grinder as
the platform macros. Ugly as sin but... it brings the casual
"./configure; make; make check" sequence much closer to working.
Here is my updated patch adding AArch64 support. The main change was to
use CANONCOLOR=3 rather than 2.
--Mark
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
- The filter wasn't doing what it was supposed to due to extra single
quotes getting inserted, causing "rpmbuild --target noarch foo.spec"
to whine about empty macro bodies. This is a regression introduced
in rpm 4.10, commit 07ec480c18 to be
precise.
- loop over all archs known by rpmrc but only generate the platform config
if all necessary parameters (such as ISA information) are known, this
gives a reasonable idea of what archs are *really* in use and supported
- at least in theory, the platform configuration could now move to
$datadir as the contents no longer depend on which are rpm was built on
- also gets rid of the big sed-monster in install-platform
- eliminate unused target and target_platform variables
- eliminate unnecessary temporary rpmrc (used to make a difference when
macro path was in there, not anymore)
- Horrible kludgery to get the isa names and bits into platform specific
macros from installplatform script. That beast needs to die. I mean really
- In build, add provides: name(isa) = evr automatically when it makes
sense (similarly to name = evr provides). ISA consists of ISA name and
bitness (or wordsize). This can be used to correctly
express multilib dependencies without resorting to (expensive!) file
dependency kludges, eg for dlopen()'ed libraries where automatic
dep extraction doesn't force dependency on 32bit vs 64bit version, you
can now use:
Requires: foo-plugin%{?_isa}
This expands to foo-plugin(x86-32) for i?86 packages, foo-plugin(x86-64)
to x86_64 etc, and permits spec to be shared with older distros which
don't have ISA provides.
- The same could be expressed with "canon arch" just as well, but
using the ISA to differentiate from %_arch and the like:
eg i386 could be used instead of x86-32 but it's overloaded with meanings
(the actual i386 processor vs i386 compatible cpu family etc)