From Fedora Project Wiki

No edit summary
Line 74: Line 74:
|| use the macro to set binutils_target
|| use the macro to set binutils_target
|-
|-
| openssl || Builds with trivial patch to spec to set ssl_arch || <pre>--- openssl.spec.orig 2012-04-20 10:37:27.000000000 -0400
| openssl || Builds with trivial patch to spec to set ssl_arch || <pre>
+++ openssl.spec 2012-05-04 12:20:36.828843180 -0400
--- a/openssl.spec
@@ -213,6 +213,9 @@
+++ 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
  %ifarch %{arm} sh3 sh4
  sslarch=linux-generic32
  sslarch=linux-generic32
  %endif
  %endif
-# ia64, x86_64, ppc, ppc64 are OK by default
+%ifarch %{power64}
+%ifarch %{power64}
+sslarch=linux-ppc64
+sslarch=linux-ppc64
+%endif
+%endif
# ia64, x86_64, ppc, ppc64 are OK by default
+
+# ia64, x86_64, and ppc are OK by default
  # Configure the build tree.  Override OpenSSL defaults with known-good defaults
  # Configure the build tree.  Override OpenSSL defaults with known-good defaults
  # usable on all platforms.  The Configure script already knows to use -fPIC and
  # usable on all platforms.  The Configure script already knows to use -fPIC and
# RPM_OPT_FLAGS, so we can skip specifiying them here.


</pre>
</pre>

Revision as of 19:48, 7 May 2012

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)
zlib Builds with no edit
bzip2 Builds with no edit
libxml2 Builds with no edit
pcre Builds with no edit
httpd Builds with no edit
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
php Builds with no edit
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
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
postfix Builds with no edit
pam Builds with no edit
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
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
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
kernel defer to updates for F18?