From Fedora Project Wiki

ppc64p7 subarch page

The intent of this page is to track progress and packages in Fedora that have been optimized for POWER7 using the ppc64p7 subarch.


Package Status Comments Recommendation (for packages with comments) Enabled on SHADOWBUILD-f18-build (2012/08/08)
zlib Builds with no edit yes
bzip2 Builds with no edit yes
xz Builds with no edits yes
libxml2 Builds with no edit yes
pcre Builds with no edit yes
httpd Builds with no edit yes
mysql Builds with no edit but see comments Has 2 ppc64 ifarches
  1. # multilib header hacks
  2. # hack to let 32- and 64-bit tests run concurrently on same build machine
Can safely ignore. Both instances use uname -i and it should always be ppc64 yes
php Builds with no edit yes
postgresql Builds with no edit but see comments Has 1 ppc64 ifarch
  1. # multilib header hack; note pg_config.h is installed in two places!
Can safely ignore. Both instances use uname -i and it should always be ppc64 yes
sendmail Builds with no edit but see comments
--- sendmail.spec.orig	2012-05-04 12:38:25.028843180 -0400
+++ sendmail.spec	2012-05-04 12:38:49.848843180 -0400
@@ -250,7 +250,7 @@
 #'
 
 cat >> redhat.config.m4 << EOF
-%ifarch ppc ppc64 s390x
+%ifarch ppc %{power64} s390x
 APPENDDEF(\`confOPTIMIZE', \`-DSM_CONF_SHM=0')
 %else
 APPENDDEF(\`confOPTIMIZE', \`')

Use %{power64} macro yes
postfix Builds with no edit yes
pam Builds with no edit yes
binutils Requires trivial patch to spec to set target_platform
--- binutils.spec.orig	2012-03-16 11:41:47.000000000 -0400
+++ binutils.spec	2012-04-28 11:15:10.972120664 -0400
@@ -179,6 +179,11 @@
 done
 touch */configure
 
+%ifarch %{power64}
+%define _target_platform %{_arch}-%{_vendor}-%{_host_os}
+%endif
+
+
 %build
 echo target is %{binutils_target}
 export CFLAGS="$RPM_OPT_FLAGS"
@@ -203,7 +208,6 @@
 CFLAGS="$CFLAGS -O0 -ggdb2"
 %define enable_shared 0
 %endif
-
 # We could optimize the cross builds size by --enable-shared but the produced
 # binaries may be less convenient in the embedded environment.
 %configure \
use the macro to set binutils_target yes
openssl Builds with trivial patch to spec to set ssl_arch
--- a/openssl.spec
+++ b/openssl.spec
@@ -16,7 +16,7 @@
 
 # Arches on which we need to prevent arch conflicts on opensslconf.h, must
 # also be handled in opensslconf-new.h.
-%define multilib_arches %{ix86} ia64 ppc ppc64 s390 s390x sparcv9 sparc64 x86_64
+%define multilib_arches %{ix86} ia64 ppc %{power64} s390 s390x sparcv9 sparc64 x86_64
 
 Summary: A general purpose cryptography library with TLS implementation
 Name: openssl
@@ -213,7 +213,11 @@ sslarch="linux-s390x"
 %ifarch %{arm} sh3 sh4
 sslarch=linux-generic32
 %endif
-# ia64, x86_64, ppc, ppc64 are OK by default
+%ifarch %{power64}
+sslarch=linux-ppc64
+%endif
+
+# ia64, x86_64, and ppc are OK by default
 # Configure the build tree.  Override OpenSSL defaults with known-good defaults
 # usable on all platforms.  The Configure script already knows to use -fPIC and
 # RPM_OPT_FLAGS, so we can skip specifiying them here.

use the macro to set sslarch yes
gcc debugging build problem
glibc builds with some spec changes Use the macro and do some cleanup in the spec.
python Requires trivial patch to build
|---- python.spec.orig	2012-05-04 12:55:56.578843180 -0400
+++ python.spec	2012-05-04 12:57:05.238843180 -0400
@@ -47,7 +47,7 @@
 %global with_systemtap 1
 
 # some arches dont have valgrind so we need to disable its support on them
-%ifarch %{ix86} x86_64 ppc ppc64 s390x
+%ifarch %{ix86} x86_64 ppc %{power64} s390x
 %global with_valgrind 1
 %else
 %global with_valgrind 0
@@ -901,7 +901,7 @@
 
 %patch130 -p1
 
-%ifarch ppc ppc64
+%ifarch ppc %{power64}
 %patch131 -p1
 %endif
 
@@ -1056,7 +1056,7 @@
 BuildPython debug \
   python-debug \
   python%{pybasever}-debug \
-%ifarch %{ix86} x86_64 ppc ppc64
+%ifarch %{ix86} x86_64 ppc %{power64}
   "--with-pydebug --with-tsc --with-count-allocs --with-call-profile" \
 %else
   "--with-pydebug --with-count-allocs --with-call-profile" \
@@ -1254,7 +1254,7 @@
 %global _pyconfig32_h pyconfig-32.h
 %global _pyconfig64_h pyconfig-64.h
 
-%ifarch ppc64 s390x x86_64 ia64 alpha sparc64
+%ifarch %{power64} s390x x86_64 ia64 alpha sparc64
 %global _pyconfig_h %{_pyconfig64_h}
 %else
 %global _pyconfig_h %{_pyconfig32_h}
@@ -1327,7 +1327,7 @@
 # Install a tapset for this libpython into tapsetdir, fixing up the path to the
 # library:
 mkdir -p %{buildroot}%{tapsetdir}
-%ifarch ppc64 s390x x86_64 ia64 alpha sparc64
+%ifarch %{power64} s390x x86_64 ia64 alpha sparc64
 %global libpython_stp_optimized libpython%{pybasever}-64.stp
 %global libpython_stp_debug     libpython%{pybasever}-debug-64.stp
 %else
Use the macro yes
kernel defer to updates for F18? yes