Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: Subversion 1.5 + Xcode 3.1.1 and replacing /usr/lib/lib{apr, svn}*.dylib
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Subversion 1.5 + Xcode 3.1.1 and replacing /usr/lib/lib{apr, svn}*.dylib



I like this idea. I updated the script slightly to make it obvious that you need to pass some parameters to it to make it work, and to allow the svn libs to be located in a different folder (CollabNet installs in /opt/subversion, for instance):

---------------------------------------------

#!/bin/sh

if [ "$#" -lt "2" ]
then
echo "Usage: xcode-svn15-update.sh <path to XcodeSubversionPlugin> <path to svn base folder>"
echo "Example: xcode-svn15-update.sh /Developer/Library/Xcode/Plug- ins/\c"
echo "XcodeSubversionPlugin.xcplugin/Contents/MacOS/ XcodeSubversionPlugin /usr/local"
exit 1;
fi


# Save a backup copy, if necessary
if [ -e "$1_Old" ]
then
  echo "Backup copy of \"$1\" exists."
else
  echo "Saving a backup copy of \"$1\"."
  cp "$1" "$1_Old"
fi

echo "Updating install path using svn libraries in \"$2\"..."
install_name_tool -change \
  /usr/lib/libsvn_client-1.0.dylib \
  $2/lib/libsvn_client-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_delta-1.0.dylib \
  $2/lib/libsvn_delta-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_diff-1.0.dylib \
  $2/lib/libsvn_diff-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_fs_fs-1.0.dylib \
  $2/lib/libsvn_fs_fs-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_fs-1.0.dylib \
  $2/lib/libsvn_fs-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_ra_local-1.0.dylib \
  $2/lib/libsvn_ra_local-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_ra_svn-1.0.dylib \
  $2/lib/libsvn_ra_svn-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_ra-1.0.dylib \
  $2/lib/libsvn_ra-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_repos-1.0.dylib \
  $2/lib/libsvn_repos-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_subr-1.0.dylib \
  $2/lib/libsvn_subr-1.0.dylib "$1"
install_name_tool -change \
  /usr/lib/libsvn_wc-1.0.dylib \
  $2/lib/libsvn_wc-1.0.dylib "$1"
echo "Done!"

---------------------------------------------

Philippe

On 24-Sep-08, at 17:02 , Jean-Daniel Dupas wrote:

I know this is not a supported way, but I managed to install
subversion 1.5 in /usr/local and after that, I updated the SVN Xcode
plugin to point on this libraries.
It works well and does not require that you change things in /usr/.
And as eplacing system components is not something realy supported
too, I prefere this way.

This is the script I uses (with $1 : /Developer/Library/Xcode/Plug- ins/
XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin)


#!/bin/sh
install_name_tool -change /usr/lib/libsvn_client-1.0.dylib /usr/local/
lib/libsvn_client-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_delta-1.0.dylib /usr/local/
lib/libsvn_delta-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_diff-1.0.dylib /usr/local/
lib/libsvn_diff-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_fs_fs-1.0.dylib /usr/local/
lib/libsvn_fs_fs-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_fs-1.0.dylib /usr/local/lib/
libsvn_fs-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_ra_local-1.0.dylib /usr/
local/lib/libsvn_ra_local-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_ra_svn-1.0.dylib /usr/local/
lib/libsvn_ra_svn-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_ra-1.0.dylib /usr/local/lib/
libsvn_ra-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_repos-1.0.dylib /usr/local/
lib/libsvn_repos-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_subr-1.0.dylib /usr/local/
lib/libsvn_subr-1.0.dylib $1
install_name_tool -change /usr/lib/libsvn_wc-1.0.dylib /usr/local/lib/
libsvn_wc-1.0.dylib $1


Le 24 sept. 08 à 19:50, Eugene M. Kim a écrit :

Hello,

I just installed Subversion 1.5 and am about to try the trick
detailed at http://lists.apple.com/archives/Xcode-users/2008/Sep/msg00289.html
, but am a bit reluctant to touch things in /usr/lib in general, esp
those that come with the base system.

My specific concerns are:

- Wouldn't it introduce any regression in other system components
that use APR, or is the new version 100% ABI-compatible with the old
one?

- Wouldn't the replaced files be restored to their originals by a
system update in the future, for example, when 10.5.6 comes out?

And I guess the ultimate question is:

- When will Apple upgrade the Subversion in the base system to 1.5?
^.^

Cheers,
Eugene
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Subversion 1.5 + Xcode 3.1.1 and replacing /usr/lib/lib{apr, svn}*.dylib (From: "Eugene M. Kim" <email@hidden>)
 >Re: Subversion 1.5 + Xcode 3.1.1 and replacing /usr/lib/lib{apr, svn}*.dylib (From: Jean-Daniel Dupas <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.