[pgsql-pkg-yum] RPMs for ppc64/ppc64le

Поиск
Список
Период
Сортировка
От Bernd Helmle
Тема [pgsql-pkg-yum] RPMs for ppc64/ppc64le
Дата
Msg-id 1504540808.3248.44.camel@oopsware.de
обсуждение исходный текст
Ответы Re: [pgsql-pkg-yum] RPMs for ppc64/ppc64le  (Devrim Gündüz <devrim@gunduz.org>)
Список pgsql-pkg-yum
Folks

POWER support is finally there, that's great and thanks for all the
guys involved to make that happen!

However, i found the way how the SPEC file define the build parameters
for POWER not very usable at the moment. Currently, we build per
default with the IBM Advanced Toolchain (AT) if ppc64 and ppc64le
architecture is defined and use those definitions in all SPEC files.
I've got complaints from some people building from upstream source
packages on their ppc64/ppc64le infrastructure, that the current
behavior is suboptimal if you don't want to rely on IBM AT (not
everyone is convinced that it is better to build with higher
optimization levels) or even power8 CPU instructions. E.g. there are
still users out there running PostgreSQL on dozens of POWER7 machines
and the current behavior of the SPEC files breaks their build
environments. The latter makes it currently hard on those older POWER
CPUs to build packages based on current upstream source rpms, cause
they install but can't be executed without patching all the SPEC files.

There are several solutions to this situation which come to my mind
which i want to discuss. Maybe there are some others, better ones, but
let's start with this:

The current behavior forces you to use the IBM Advanced Toolchain, so
what i would like to see is to turn that feature easily off. We could
make the procedure to choose the IBM AT conditional with the default to
on , like i've done in the attached patch. Though this requires to
specialize all SPEC files currently supported on ppc64/ppc64le. It
basically moves all tests for ppc64/ppc64le into a single conditional
and summarizes them with a new macro %ibmpower. That's used afterwards
for checking if IBM AT or special flags are required. This allows
rpmbuild to deselect the default IBM AT based build with --define
"ibmpower 0", enabling the default compiler to be used.

Another solution that come to my mind: use a single centralized rpmrc
passed to rpmbuild (via --rcfile) during the build process. This file
defines all necessary macros to build the packages like now, but in a
single place. This would make it better maintainable in the future,
say, when POWER9 comes along and would allow to easily override default
settings with custom ones. We could make that a special setting to make
(e.g RPMRC=<yourfile> make rpm96), but i haven't dug too deep into that
approach yet.

I'm willing to work on that, if we agree that we want to improve in
that area.

Opinions?

Thanks,
    Bernd

Вложения

В списке pgsql-pkg-yum по дате отправления:

Предыдущее
От: Vicky Vergara
Дата:
Сообщение: [pgsql-pkg-yum] PRE-release pgRouting 2.5.0-beta
Следующее
От: Vicky Vergara
Дата:
Сообщение: [pgsql-pkg-yum] PRE-release pgRouting 2.5.0-rc