OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 04-Jun-2007 10:08:01
Branch: HEAD Handle: 2007060409075901
Modified files:
openpkg-src/openpkg HISTORY openpkg.spec shtool
Log:
improve Mac OS X support
Summary:
Revision Changes Path
1.455 +2 -0 openpkg-src/openpkg/HISTORY
1.590 +35 -7 openpkg-src/openpkg/openpkg.spec
1.38 +30 -5 openpkg-src/openpkg/shtool
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/HISTORY
============================================================================
$ cvs diff -u -r1.454 -r1.455 HISTORY
--- openpkg-src/openpkg/HISTORY 3 Jun 2007 09:47:55 -0000 1.454
+++ openpkg-src/openpkg/HISTORY 4 Jun 2007 08:07:59 -0000 1.455
@@ -2,6 +2,8 @@
2007
====
+20070604 improve Mac OS X support by providing gcc/cc/ld override scripts to
pass option "-search_paths_first" to ld(1)
+20070604 improve Mac OS X support by upgrading to an improved GNU shtool
snapshot
20070603 disable shared library building in Perl for better supporting Mac
OS X
20070603 synchronize openssl.patch with latest version from "openssl" package
20070520 fix building Perl under GCC 4.2 world order
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/openpkg.spec
============================================================================
$ cvs diff -u -r1.589 -r1.590 openpkg.spec
--- openpkg-src/openpkg/openpkg.spec 3 Jun 2007 09:47:55 -0000 1.589
+++ openpkg-src/openpkg/openpkg.spec 4 Jun 2007 08:07:59 -0000 1.590
@@ -39,7 +39,7 @@
# o any cc(1)
# the package version/release
-%define V_openpkg 20070603
+%define V_openpkg 20070604
# the used software versions
%define V_rpm 4.2.1
@@ -2417,18 +2417,20 @@
) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t warn
fi
- # FIXME: Evil hack to workaround build problems under Debian
- # (at least 3.1) (and similar platforms) where a Debian
- # install-info(8) exists which is both API and functionally
- # incompatible to the de-facto standardized install-info(8)
- # command from GNU Texinfo. ATTENTION: THIS SHOULD BE REPLACED
- # ASAP WITH A MORE GENERIC BUILD COMMAND OVERRIDE SOLUTION!
+ # system command overriding support
+ # ATTENTION: THIS BETTER SHOULD BE REPLACED WITH A MORE GENERIC
+ # BUILD COMMAND OVERRIDE SOLUTION!
if [ ! -d %{l_prefix}/lib/openpkg/override ]; then
mkdir %{l_prefix}/lib/openpkg/override >/dev/null 2>&1 || true
fi
chown %{l_musr}:%{l_mgrp} %{l_prefix}/lib/openpkg/override >/dev/null
2>&1 || true
case "`cat %{l_prefix}/etc/openpkg/platform`" in
*-*-debian* | *-*-ubuntu* )
+ # FIXME: Evil hack to workaround build problems under Debian
+ # (at least 3.1) (and similar platforms) where a Debian
+ # install-info(8) exists which is both API and functionally
+ # incompatible to the de-facto standardized install-info(8)
+ # command from GNU Texinfo.
if [ ! -f %{l_prefix}/lib/openpkg/override/install-info ]; then
( echo "#!/bin/sh"
echo "echo 'OpenPKG: NOTICE: install-info(8) command
execution overridden'"
@@ -2437,6 +2439,32 @@
chmod 775 %{l_prefix}/lib/openpkg/override/install-info
fi
;;
+ *-*-macosx* | *-*-darwin* )
+ # FIXME: Evil hack to workaround the fact that Mac OS X'
+ # linker by default prefers the /usr/lib libraries and does
+ # not honor the -L options the way one would expect it.
+ gcc="`%{l_prefix}/lib/openpkg/shtool path gcc`"
+ cc="`%{l_prefix}/lib/openpkg/shtool path cc`"
+ ld="`%{l_prefix}/lib/openpkg/shtool path ld`"
+ if [ ".$gcc" != . -a ! -f %{l_prefix}/lib/openpkg/override/gcc
]; then
+ ( echo "#!/bin/sh"
+ echo "exec $gcc -Wl,-search_paths_first \"[EMAIL
PROTECTED]""
+ ) >%{l_prefix}/lib/openpkg/override/gcc
+ chmod 775 %{l_prefix}/lib/openpkg/override/gcc
+ fi
+ if [ ".$cc" != . -a ! -f %{l_prefix}/lib/openpkg/override/cc ];
then
+ ( echo "#!/bin/sh"
+ echo "exec $cc -Wl,-search_paths_first \"[EMAIL
PROTECTED]""
+ ) >%{l_prefix}/lib/openpkg/override/cc
+ chmod 775 %{l_prefix}/lib/openpkg/override/cc
+ fi
+ if [ ".$ld" != . -a ! -f %{l_prefix}/lib/openpkg/override/ld ];
then
+ ( echo "#!/bin/sh"
+ echo "exec $ld -search_paths_first \"[EMAIL PROTECTED]""
+ ) >%{l_prefix}/lib/openpkg/override/ld
+ chmod 775 %{l_prefix}/lib/openpkg/override/ld
+ fi
+ ;;
esac
# FIXME: hack to workaround problems in environments with too few
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/shtool
============================================================================
$ cvs diff -u -r1.37 -r1.38 shtool
--- openpkg-src/openpkg/shtool 19 May 2007 19:44:13 -0000 1.37
+++ openpkg-src/openpkg/shtool 4 Jun 2007 08:08:00 -0000 1.38
@@ -2924,6 +2924,7 @@
# IBM AIX
*:AIX:* )
+ # determine architecture
cpu_arch=rs6000
if [ -x /usr/sbin/lsdev -a -x /usr/sbin/lsattr ]; then
cpu_id=`/usr/sbin/lsdev -C -c processor -S available | sed
1q | awk '{ print $1 }'`
@@ -2945,6 +2946,7 @@
AT="${cpu_arch}"
AP="${AT}"
AC="${AP}"
+ # determine system
ST="[IBM ]<AIX >${os_level}"
SP="${ST}"
case "${os_level}" in
@@ -2953,9 +2955,10 @@
esac
;;
- # Apple MacOS X Darwin
+ # Apple Mac OS X (Darwin)
*:Darwin:* )
- AT=`uname -p`
+ # determine architecture
+ AT="`uname -p`"
case "${AT}" in
powerpc ) AT="PPC" ;;
esac
@@ -2964,9 +2967,31 @@
case "${AC}" in
i?86 ) AC="iX86" ;;
esac
- ST="[Apple ]${UNAME_SYSTEM} ${UNAME_RELEASE}"
- SP="${ST}"
- SC="4.4BSD/Mach3"
+ # determine system
+ eval `echo "${UNAME_RELEASE}" |\
+ sed -e 's/^/#/' \
+ -e
's/^#\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/v1="\1"; v2="\2";
v3="\3"/' \
+ -e 's/^#\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/v1="\1";
v2="\2"/' \
+ -e 's/^#\([0-9][0-9]*\).*$/v1="\1"/' \
+ -e 's/^#.*$/v1="0"/'`
+ ST="[Apple ]${UNAME_SYSTEM} <${v1}>${v2+.$v2}${v3+[.$v3]}"
+ SP="$ST"
+ v="`(sw_vers) 2>/dev/null | grep 'ProductVersion:' | sed -e
's/^ProductVersion: *//'`"
+ if [ ".$v" != . ]; then
+ # use given Mac OS X product information
+ SP="[Apple ]Mac OS X ${v}"
+ else
+ # fetch Mac OS X product information manually
+ for name in System Server; do
+ if [ -f
/System/Library/CoreServices/${name}Version.plist ]; then
+ v=`(defaults read
"/System/Library/CoreServices/${name}Version" "ProductVersion") 2>/dev/null`
+ if [ ".$v" != . ]; then
+ SP="[Apple ]Mac OS X ${v}"
+ fi
+ fi
+ done
+ fi
+ SC="4.4BSD/Mach3.0"
;;
# TODO ...ADD YOUR NEW PLATFORM CHECK HERE... TODO
@@ .
______________________________________________________________________
OpenPKG http://openpkg.org
CVS Repository Commit List [email protected]