From Fedora Project Wiki

Line 5: Line 5:


{|
{|
! Package !! Status !! Comments  
! Package !! Status !! Comments || Recommendation (for packages with comments)
|-
|-
| zlib || Builds with no edit ||  
| zlib || Builds with no edit || ||
|-
|-
| bzip2 || Builds with no edit ||  
| bzip2 || Builds with no edit ||  ||
|-
|-
| libxml2 || Builds with no edit ||  
| libxml2 || Builds with no edit || ||
|-
|-
| pcre || Builds with no edit ||  
| pcre || Builds with no edit || ||
|-
|-
| httpd || Builds with no edit ||   
| httpd || Builds with no edit ||  ||
 
|-
|-
| mysql || Builds with no edit but see comments|| Has 2 ppc64 ifarches
| mysql || Builds with no edit but see comments|| Has 2 ppc64 ifarches
# # multilib header hacks
# # multilib header hacks
# # hack to let 32- and 64-bit tests run concurrently on same build machine
# # 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 ||  
| php || Builds with no edit ||  
Line 26: Line 26:
|-
|-
| postgresql || Builds with no edit but see comments || Has 1 ppc64 ifarch
| postgresql || Builds with no edit but see comments || Has 1 ppc64 ifarch
# # multilib header hack; note pg_config.h is installed in two places!
# # 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|| Has 1 ppc64p7 ifarch
| sendmail || Builds with no edit but see comments|| <pre>
# redhat.config.m4 APPENDDEF(\`confOPTIMIZE', \`-DSM_CONF_SHM=0')
--- 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', \`')
 
</pre>
||  Use %{power64} macro
|-
|-
| postfix || Builds with no edit ||  
| postfix || Builds with no edit || ||
|-
|-
| pam || Builds with no edit ||  
| pam || Builds with no edit || ||
|-
|-
| binutils || Requires trivial patch to spec to set target_platform || <pre>--- binutils.spec.orig 2012-03-16 11:41:47.000000000 -0400
| binutils || Requires trivial patch to spec to set target_platform || <pre>--- binutils.spec.orig 2012-03-16 11:41:47.000000000 -0400
Line 41: Line 55:
  touch */configure
  touch */configure
   
   
+%ifarch ppc64p7
+%ifarch %{power64}
+%define _target_platform %{_arch}-%{_vendor}-%{_host_os}
+%define _target_platform %{_arch}-%{_vendor}-%{_host_os}
+%endif
+%endif
Line 58: Line 72:
  %configure \
  %configure \
</pre>
</pre>
 
|| use the macro to set binutils_target
|-
|-
| openssl || Builds with trivial patch to spec to set ssl_arch || <pre>--- openssl.spec.orig 2012-03-23 12:40:25.000000000 -0500
| openssl || Builds with trivial patch to spec to set ssl_arch || <pre>--- openssl.spec.orig 2012-04-20 10:37:27.000000000 -0400
+++ openssl.spec 1970-01-31 22:58:33.750002532 -0600
+++ openssl.spec 2012-05-04 12:20:36.828843180 -0400
@@ -21,7 +21,7 @@
Summary: A general purpose cryptography library with TLS implementation
Name: openssl
Version: 1.0.0h
-Release: 1%{?dist}
+Release: 2%{?dist}
Epoch: 1
# We have to remove certain patented algorithms from the openssl source
# tarball with the hobble-openssl script which is included below.
@@ -213,6 +213,9 @@
@@ -213,6 +213,9 @@
  %ifarch %{arm} sh3 sh4
  %ifarch %{arm} sh3 sh4
  sslarch=linux-generic32
  sslarch=linux-generic32
  %endif
  %endif
+%ifarch ppc64p7
+%ifarch %{power64}
+sslarch=linux-ppc64
+sslarch=linux-ppc64
+%endif
+%endif
Line 81: Line 86:
  # 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
</pre>
</pre>
 
|| use the macro to set sslarch
|-
|-
| gcc || debugging build problem ||  
| gcc || debugging build problem || ||
|-
|-
| glibc || 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|| <pre>---- python.spec.orig 1970-02-03 00:09:31.840007936 -0600
| python || Requires trivial patch to build|| <pre>|---- python.spec.orig 2012-05-04 12:55:56.578843180 -0400
+++ python.spec 1970-02-03 00:12:47.870007575 -0600
+++ python.spec 2012-05-04 12:57:05.238843180 -0400
@@ -47,7 +47,7 @@
@@ -47,7 +47,7 @@
  %global with_systemtap 1
  %global with_systemtap 1
Line 95: Line 102:
  # some arches dont have valgrind so we need to disable its support on them
  # 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 ppc64 s390x
+%ifarch %{ix86} x86_64 ppc ppc64 s390x ppc64p7
+%ifarch %{ix86} x86_64 ppc %{power64} s390x
  %global with_valgrind 1
  %global with_valgrind 1
  %else
  %else
  %global with_valgrind 0
  %global with_valgrind 0
@@ -108,7 +108,7 @@
Name: %{python}
# Remember to also rebase python-docs when changing this:
Version: 2.7.3
-Release: 3%{?dist}
+Release: 4%{?dist}
License: Python
Group: Development/Languages
Requires: %{python}-libs%{?_isa} = %{version}-%{release}
@@ -901,7 +901,7 @@
@@ -901,7 +901,7 @@
   
   
Line 113: Line 111:
   
   
-%ifarch ppc ppc64
-%ifarch ppc ppc64
+%ifarch ppc ppc64 ppc64p7
+%ifarch ppc %{power64}
  %patch131 -p1
  %patch131 -p1
  %endif
  %endif
Line 122: Line 120:
   python%{pybasever}-debug \
   python%{pybasever}-debug \
-%ifarch %{ix86} x86_64 ppc ppc64
-%ifarch %{ix86} x86_64 ppc ppc64
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7
+%ifarch %{ix86} x86_64 ppc %{power64}
   "--with-pydebug --with-tsc --with-count-allocs --with-call-profile" \
   "--with-pydebug --with-tsc --with-count-allocs --with-call-profile" \
  %else
  %else
Line 131: Line 129:
   
   
-%ifarch ppc64 s390x x86_64 ia64 alpha sparc64
-%ifarch ppc64 s390x x86_64 ia64 alpha sparc64
+%ifarch ppc64 s390x x86_64 ia64 alpha sparc64 ppc64p7
+%ifarch %{power64} s390x x86_64 ia64 alpha sparc64
  %global _pyconfig_h %{_pyconfig64_h}
  %global _pyconfig_h %{_pyconfig64_h}
  %else
  %else
Line 140: Line 138:
  mkdir -p %{buildroot}%{tapsetdir}
  mkdir -p %{buildroot}%{tapsetdir}
-%ifarch ppc64 s390x x86_64 ia64 alpha sparc64
-%ifarch ppc64 s390x x86_64 ia64 alpha sparc64
+%ifarch ppc64 s390x x86_64 ia64 alpha sparc64 ppc64p7
+%ifarch %{power64} s390x x86_64 ia64 alpha sparc64
  %global libpython_stp_optimized libpython%{pybasever}-64.stp
  %global libpython_stp_optimized libpython%{pybasever}-64.stp
  %global libpython_stp_debug    libpython%{pybasever}-debug-64.stp
  %global libpython_stp_debug    libpython%{pybasever}-debug-64.stp
  %else
  %else
</pre>
</pre>
||  Use the macro
|-
|-
| kernel || defer to updates for F18? ||  
| kernel || defer to updates for F18? ||  

Revision as of 19:36, 4 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
--- openssl.spec.orig	2012-04-20 10:37:27.000000000 -0400
+++ openssl.spec	2012-05-04 12:20:36.828843180 -0400
@@ -213,6 +213,9 @@
 %ifarch %{arm} sh3 sh4
 sslarch=linux-generic32
 %endif
+%ifarch %{power64}
+sslarch=linux-ppc64
+%endif
 # ia64, x86_64, ppc, ppc64 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

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?