From Fedora Project Wiki

(Created page with "= 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.")
 
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= ppc64p7 subarch page =
= 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.
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
# # multilib header hacks
# # 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
# # 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|| <pre>
--- 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 || yes
|-
| postfix || Builds with no edit || || || yes
|-
| pam || Builds with no edit || || || yes
|-
| binutils || Requires trivial patch to spec to set target_platform || <pre>--- 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 \
</pre>
|| use the macro to set binutils_target || yes
|-
| openssl || Builds with trivial patch to spec to set ssl_arch || <pre>
--- 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.
</pre>
|| 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|| <pre>|---- 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
</pre>
||  Use the macro || yes
|-
| python3 || as above || || || yes
|-
| kernel || defer to updates for F18? ||  || || yes
|-
| mesa || Up for consideration || || Requires no spec changes ||
|}

Latest revision as of 17:37, 5 September 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) 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
python3 as above yes
kernel defer to updates for F18? yes
mesa Up for consideration Requires no spec changes