16522397 bash in S12 should be 64-bit
authorStefan Teleman <stefan.teleman@oracle.com>
Fri, 19 Apr 2013 10:32:55 -0700
changeset 1275 03b86a2f9021
parent 1274 7496ebeb5327
child 1276 dc3977b83042
16522397 bash in S12 should be 64-bit 16522422 flex in S12 should be 64-bit 16531734 subversion in S12 should be 64-bit 16522480 bash flex and subversion should have ASLR enabled
components/bash/Makefile
components/bash/bash.p5m
components/bash/patches/bash42-040.patch
components/bash/patches/bash42-041.patch
components/bash/patches/bash42-042.patch
components/bash/patches/bash42-043.patch
components/bash/patches/bash42-044.patch
components/bash/patches/bash42-045.patch
components/bash/patches/solaris-009.configure.patch
components/bash/patches/solaris-021.builtins.makefile.in.patch
components/flex/Makefile
components/flex/flex.p5m
components/flex/patches/000-flex-2.5.35.Makefile.in.patch
components/flex/patches/001-flex-2.5.35.test-pthread.Makefile.in.patch
components/subversion/Makefile
components/subversion/patches/000-Makefile.in.patch
components/subversion/patches/001-configure.patch
components/subversion/subversion-java.p5m
components/subversion/subversion-perl-64.p5m
components/subversion/subversion-python.p5m
components/subversion/subversion.p5m
--- a/components/bash/Makefile	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/bash/Makefile	Fri Apr 19 10:32:55 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../make-rules/shared-macros.mk
 
@@ -36,7 +36,7 @@
 include ../../make-rules/configure.mk
 include ../../make-rules/ips.mk
 
-IPS_COMPONENT_VERSION = $(COMPONENT_VERSION).9
+IPS_COMPONENT_VERSION = $(COMPONENT_VERSION).45
 PATCH_LEVEL = 0
 
 PKG_PROTO_DIRS += $(COMPONENT_DIR)/Solaris
@@ -49,6 +49,7 @@
 
 # 8 byte memory alignment + interpretation of non-alignment instead of SIGBUS
 studio_ALIGN.sparc.32 = -xmemalign=8i
+studio_ALIGN.sparc.64 = -xmemalign=16i
 
 # -xinline=%auto -- we like inlining where appropriate
 CFLAGS += -xinline=%auto
@@ -69,7 +70,7 @@
 LDFLAGS =	$(LD_Z_REDLOCSYM)
 
 # The bash test harness needs the GNU userland utilities
-TEST_PATH = "PATH=$(BUILD_DIR_32):$(GNUBIN):$(USRBINDIR)"
+TEST_PATH = "PATH=$(BUILD_DIR_64):$(GNUBIN):$(USRBINDIR)"
 TEST_OUTPUT = $(COMPONENT_DIR)/bash_test_results_$(MACH).out
 
 CONFIGURE_ENV +=	CFLAGS="$(CFLAGS)"
@@ -123,15 +124,19 @@
 TEST_ENV +=	$(TEST_PATH)
 TEST_ENV +=	$(TARGET_ENV)
 
-build: $(BUILD_32)
+ASLR_MODE=$(ASLR_ENABLE)
 
-install: $(INSTALL_32)
+build: $(BUILD_64)
+
+install: $(INSTALL_64)
 	( cd $(PROTOUSRSHAREDIR)/locale ; \
 	    cp -Rp "en@boldquot" en ; \
 	    cp -Rp "en@boldquot" en_CA ; \
 	    cp -Rp "en@boldquot" en_GB )
 
-test: $(TEST_32)
+test:
+	( cd $(BUILD_DIR_64) ; \
+	    env - $(TEST_PATH) && $(GMAKE) check > $(TEST_OUTPUT) 2>&1 )
 
 BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
 
--- a/components/bash/bash.p5m	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/bash/bash.p5m	Fri Apr 19 10:32:55 2013 -0700
@@ -38,8 +38,8 @@
 file etc.bash.bashrc path=etc/bash/bashrc.example
 file etc.bash.inputrc path=etc/bash/inputrc.example
 file etc.skel.bashrc path=etc/skel/.bashrc
-file path=usr/bin/bash
-file path=usr/bin/bashbug
+file usr/bin/$(MACH64)/bash path=usr/bin/bash
+file usr/bin/$(MACH64)/bashbug path=usr/bin/bashbug
 file path=usr/share/bash/alias
 file path=usr/share/bash/arith
 file path=usr/share/bash/arith_for
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/bash42-040.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,56 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-040
+
+Bug-Reported-by:	Andrey Zaitsev <[email protected]>
+Bug-Reference-ID:	<CAEZVQT5PJ1Mb_Zh8LT5qz8sv+-9Q6hGfQ5DU9ZxdJ+gV7xBUaQ@mail.gmail.com>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00144.html
+
+Bug-Description:
+
+Output redirection applied to builtin commands missed I/O errors if
+they happened when the file descriptor was closed, rather than on write
+(e.g., like with an out-of-space error on a remote NFS file system).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/redir.c	2011-01-02 16:00:31.000000000 -0500
+--- redir.c	2012-04-24 20:42:12.000000000 -0400
+***************
+*** 1092,1099 ****
+  #if defined (BUFFERED_INPUT)
+  	  check_bash_input (redirector);
+! 	  close_buffered_fd (redirector);
+  #else /* !BUFFERED_INPUT */
+! 	  close (redirector);
+  #endif /* !BUFFERED_INPUT */
+  	}
+        break;
+--- 1092,1101 ----
+  #if defined (BUFFERED_INPUT)
+  	  check_bash_input (redirector);
+! 	  r = close_buffered_fd (redirector);
+  #else /* !BUFFERED_INPUT */
+! 	  r = close (redirector);
+  #endif /* !BUFFERED_INPUT */
++ 	  if (r < 0 && (flags & RX_INTERNAL) && (errno == EIO || errno == ENOSPC))
++ 	    REDIRECTION_ERROR (r, errno, -1);
+  	}
+        break;
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 39
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 40
+  
+  #endif /* _PATCHLEVEL_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/bash42-041.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,47 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-041
+
+Bug-Reported-by:	Andrey Borzenkov <[email protected]>
+Bug-Reference-ID:	<[email protected]>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2012-12/msg00008.html
+
+Bug-Description:
+
+Process substitution incorrectly inherited a flag that inhibited using the
+(local) temporary environment for variable lookups if it was providing
+the filename to a redirection.  The intent the flag is to enforce the
+Posix command expansion ordering rules.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c	2012-07-14 15:53:20.000000000 -0400
+--- subst.c	2012-12-02 22:26:54.000000000 -0500
+***************
+*** 5125,5128 ****
+--- 5129,5136 ----
+  #endif /* HAVE_DEV_FD */
+  
++   /* subshells shouldn't have this flag, which controls using the temporary
++      environment for variable lookups. */
++   expanding_redir = 0;
++ 
+    result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST));
+  
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 40
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 41
+  
+  #endif /* _PATCHLEVEL_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/bash42-042.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,57 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-042
+
+Bug-Reported-by:	Adam Pippin <[email protected]>
+Bug-Reference-ID:	<CAPYbNHr6ucZFOoWsRdUJj6KP3Ju0j1bkESa_cmb7iU+kZwdVpg@mail.gmail.com>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00087.html
+
+Bug-Description:
+
+Compilation failed after specifying the  `--enable-minimal-config' option to
+configure (more specifically, specifying `--disable-alias').
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/parse.y	2012-07-08 21:53:33.000000000 -0400
+--- parse.y	2012-10-14 20:20:34.000000000 -0400
+***************
+*** 2394,2397 ****
+--- 2392,2396 ----
+  	   to consume the quoted newline and move to the next character in
+  	   the expansion. */
++ #if defined (ALIAS)
+  	if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
+  	  {
+***************
+*** 2404,2408 ****
+  	    goto next_alias_char;	/* and get next character */
+  	  }
+! 	else	    
+  	  goto restart_read;
+      }
+--- 2403,2408 ----
+  	    goto next_alias_char;	/* and get next character */
+  	  }
+! 	else
+! #endif 
+  	  goto restart_read;
+      }
+
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 41
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 42
+  
+  #endif /* _PATCHLEVEL_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/bash42-043.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,65 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-043
+
+Bug-Reported-by:	konsolebox <[email protected]>
+Bug-Reference-ID:	<CAJnmqwZuGKLgMsMwxRK4LL+2NN+HgvmKzrnode99QBGrcgX1Lw@mail.gmail.com>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2013-01/msg00138.html
+
+Bug-Description:
+
+When SIGCHLD is trapped, and a SIGCHLD trap handler runs when a pending
+`read -t' invocation times out and generates SIGALRM, bash can crash with
+a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/read.def	2012-10-31 21:22:51.000517000 -0400
+--- builtins/read.def	2013-01-25 10:28:16.000038000 -0500
+***************
+*** 386,393 ****
+  	  /* Tricky.  The top of the unwind-protect stack is the free of
+  	     input_string.  We want to run all the rest and use input_string,
+! 	     so we have to remove it from the stack. */
+! 	  remove_unwind_protect ();
+! 	  run_unwind_frame ("read_builtin");
+  	  input_string[i] = '\0';	/* make sure it's terminated */
+  	  retval = 128+SIGALRM;
+  	  goto assign_vars;
+--- 386,403 ----
+  	  /* Tricky.  The top of the unwind-protect stack is the free of
+  	     input_string.  We want to run all the rest and use input_string,
+! 	     so we have to save input_string temporarily, run the unwind-
+! 	     protects, then restore input_string so we can use it later. */
+! 
+  	  input_string[i] = '\0';	/* make sure it's terminated */
++ 	  if (i == 0)
++ 	    {
++ 	      t = (char *)xmalloc (1);
++ 	      t[0] = 0;
++ 	    }
++ 	  else
++ 	    t = savestring (input_string);
++ 
++ 	  run_unwind_frame ("read_builtin");
++ 	  input_string = t;
+  	  retval = 128+SIGALRM;
+  	  goto assign_vars;
+
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 42
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 43
+  
+  #endif /* _PATCHLEVEL_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/bash42-044.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,70 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-044
+
+Bug-Reported-by:	"Dashing" <[email protected]>
+Bug-Reference-ID:	<[email protected]>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00030.html
+
+Bug-Description:
+
+When converting a multibyte string to a wide character string as part of
+pattern matching, bash does not handle the end of the string correctly,
+causing the search for the NUL to go beyond the end of the string and
+reference random memory.  Depending on the contents of that memory, bash
+can produce errors or crash. 
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c	2012-07-08 21:53:19.000000000 -0400
+--- lib/glob/xmbsrtowcs.c	2013-02-12 12:00:39.000000000 -0500
+***************
+*** 217,220 ****
+--- 217,226 ----
+        n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
+  
++       if (n == 0 && p == 0)
++ 	{
++ 	  wsbuf[wcnum] = L'\0';
++ 	  break;
++ 	}
++ 
+        /* Compensate for taking single byte on wcs conversion failure above. */
+        if (wcslength == 1 && (n == 0 || n == (size_t)-1))
+***************
+*** 222,226 ****
+  	  state = tmp_state;
+  	  p = tmp_p;
+! 	  wsbuf[wcnum++] = *p++;
+  	}
+        else
+--- 228,238 ----
+  	  state = tmp_state;
+  	  p = tmp_p;
+! 	  wsbuf[wcnum] = *p;
+! 	  if (*p == 0)
+! 	    break;
+! 	  else
+! 	    {
+! 	      wcnum++; p++;
+! 	    }
+  	}
+        else
+
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 43
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 44
+  
+  #endif /* _PATCHLEVEL_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/bash42-045.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,53 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-045
+
+Bug-Reported-by:	Stephane Chazelas <[email protected]>
+Bug-Reference-ID:	<[email protected]>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00080.html
+
+Bug-Description:
+
+The <&n- and >&n- redirections, which move one file descriptor to another,
+leave the file descriptor closed when applied to builtins or compound
+commands.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/redir.c	2013-01-30 11:56:09.000000000 -0500
+--- redir.c	2013-02-19 09:38:36.000000000 -0500
+***************
+*** 1008,1011 ****
+--- 1008,1021 ----
+  	      REDIRECTION_ERROR (r, errno, -1);
+  	    }
++ 	  if ((flags & RX_UNDOABLE) && (ri == r_move_input || ri == r_move_output))
++ 	    {
++ 	      /* r_move_input and r_move_output add an additional close()
++ 		 that needs to be undone */
++ 	      if (fcntl (redirector, F_GETFD, 0) != -1)
++ 		{
++ 		  r = add_undo_redirect (redir_fd, r_close_this, -1);
++ 		  REDIRECTION_ERROR (r, errno, -1);
++ 		}
++ 	    }
+  #if defined (BUFFERED_INPUT)
+  	  check_bash_input (redirector);
+
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 44
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 45
+  
+  #endif /* _PATCHLEVEL_H_ */
--- a/components/bash/patches/solaris-009.configure.patch	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/bash/patches/solaris-009.configure.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -356,7 +356,7 @@
  else
    ac_check_lib_save_LIBS=$LIBS
 -LIBS="-lcurses  $LIBS"
-+LIBS="/usr/lib/libcurses.so.1  $LIBS"
++LIBS="/usr/lib/64/libcurses.so.1  $LIBS"
  cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
@@ -404,7 +404,7 @@
  TERMCAP_DEP=
  else
 -TERMCAP_LIB=-lcurses
-+TERMCAP_LIB=/usr/lib/libcurses.so.1
++TERMCAP_LIB=/usr/lib/64/libcurses.so.1
  TERMCAP_DEP=
  fi
  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/solaris-021.builtins.makefile.in.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,11 @@
+--- builtins/Makefile.in	2010-12-21 05:37:18.000000000 -0800
++++ builtins/Makefile.in	2013-03-19 10:25:27.019593825 -0700
+@@ -92,7 +92,7 @@
+ 
+ CCFLAGS = $(BASE_CCFLAGS) $(CPPFLAGS) $(CFLAGS)
+ 
+-CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
++CCFLAGS_FOR_BUILD = $(CFLAGS) $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
+ 
+ GCC_LINT_FLAGS = -Wall -Wshadow -Wpointer-arith -Wcast-qual \
+ 		 -Wcast-align -Wstrict-prototypes -Wconversion \
--- a/components/flex/Makefile	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/flex/Makefile	Fri Apr 19 10:32:55 2013 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -58,6 +58,8 @@
 
 include ../../make-rules/shared-targets.mk
 
+ASLR_MODE=$(ASLR_ENABLE)
+
 # common targets
 build:		$(BUILD_32_and_64)
 
--- a/components/flex/flex.p5m	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/flex/flex.p5m	Fri Apr 19 10:32:55 2013 -0700
@@ -32,7 +32,7 @@
 
 license flex.license license='BSD'
 
-file path=usr/bin/flex
+file usr/bin/$(MACH64)/flex path=usr/bin/flex
 file path=usr/include/FlexLexer.h
 file path=usr/share/info/flex.info
 file path=usr/share/info/flex.info-1
--- a/components/flex/patches/000-flex-2.5.35.Makefile.in.patch	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/flex/patches/000-flex-2.5.35.Makefile.in.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -1,4 +1,4 @@
---- flex-2.5.35/Makefile.in.orig	Tue Feb 26 21:34:10 2008
+--- flex-2.5.35/Makefile.in	Tue Feb 26 21:34:10 2008
 +++ flex-2.5.35/Makefile.in	Thu Mar 24 20:50:14 2011
 @@ -274,8 +274,7 @@
  m4 = @M4@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/flex/patches/001-flex-2.5.35.test-pthread.Makefile.in.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,11 @@
+--- flex-2.5.35/tests/test-pthread/Makefile.in	2008-02-26 13:34:09.000000000 -0800
++++ flex-2.5.35/tests/test-pthread/Makefile.in	2013-03-19 12:37:17.679581930 -0700
+@@ -346,7 +346,7 @@
+ 	$(FLEX) $(LFLAGS) $<
+ 
+ $(testname)$(EXEEXT): $(OBJS)
+-	$(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES)
++	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(OBJS) $(LOADLIBES)
+ 
+ test: $(testname)$(EXEEXT)
+ 	./$(testname) $(srcdir)/test-*.input
--- a/components/subversion/Makefile	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/subversion/Makefile	Fri Apr 19 10:32:55 2013 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -42,17 +42,18 @@
 include ../../make-rules/ips.mk
 
 PATCH_LEVEL = 0
-
 PYMODS = client core delta fs ra repos wc
-
 PLMODS= Fs Core Wc Client Repos Ra Delta
-
 JAVA_ROOT = $(JAVA_HOME)
+PERL_VERSION.32 = 5.12
+PERL_VERSION.64 = 5.16
+PERL_VERSION = $(PERL_VERSION.$(BITS))
+PERL = $(PERL.$(PERL_VERSION))
+GNUCP = /usr/gnu/bin/cp
 
 # because we can't seem to get -norunpath to the java bindings build any
 # other way.
 CXX += $(studio_NORUNPATH)
-
 CFLAGS += -features=extensions
 CFLAGS += -xustr=ascii_utf16_ushort -xcsi
 CXXFLAGS += -features=nestedaccess,tmplife,tmplrefstatic
@@ -61,14 +62,24 @@
 CXXFLAGS += -xustr=ascii_utf16_ushort
 CXXFLAGS += $(CC_PIC)
 CXXFLAGS += -mt -D_REENTRANT -DNDEBUG -DSOLARIS
+CXXFLAGS += $(CPP_LARGEFILES)
 CFLAGS += `pkg-config --cflags neon`
 CFLAGS += $(CPP_LARGEFILES)
 
+PERL_VERSION_12 = 5.12
+PERL_VERSION_16 = 5.16
+PERL_ARCH_12_i386 = i86pc-solaris-64int
+PERL_ARCH_16_i386 = i86pc-solaris-64
+PERL_ARCH_12_sparc = sun4-solaris-64int
+PERL_ARCH_16_sparc = sun4-solaris-64
+PERL_ARCH_12 = $(PERL_ARCH_12_$(MACH))
+PERL_ARCH_16 = $(PERL_ARCH_16_$(MACH))
+
 # Let's write some post-configure hacks
 COMPONENT_POST_CONFIGURE_ACTION = \
     ( $(CLONEY) $(SOURCE_DIR) $(@D) ; \
     cd $(SOURCE_DIR) ; \
-	$(PYTHON) ./build/transform_sql.py ./subversion/libsvn_fs_fs/rep-cache-db.sql < ./subversion/libsvn_fs_fs/rep-cache-db.sql > $(BUILD_DIR_32)/subversion/libsvn_fs_fs/rep-cache-db.h 2>&1 )
+	$(PYTHON.$(BITS)) ./build/transform_sql.py ./subversion/libsvn_fs_fs/rep-cache-db.sql < ./subversion/libsvn_fs_fs/rep-cache-db.sql > $(BUILD_DIR_$(BITS))/subversion/libsvn_fs_fs/rep-cache-db.h 2>&1 )
 
 COMPONENT_BUILD_TARGETS = all swig-py swig-pl javahl
 COMPONENT_INSTALL_TARGETS = install install-lib \
@@ -82,19 +93,30 @@
 CONFIGURE_ENV += CFLAGS="$(CFLAGS)"
 CONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
 CONFIGURE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
-CONFIGURE_ENV += PYTHON="$(PYTHON)"
+CONFIGURE_ENV += PYTHON="$(PYTHON.$(BITS))"
 CONFIGURE_ENV += PYMODS="$(PYMODS)"
-CONFIGURE_ENV += PYTHONPATH="$(PYTHON_VENDOR_PACKAGES)"
+CONFIGURE_ENV += PYTHONPATH="$(PYTHON_VENDOR_PACKAGES.$(BITS))"
 CONFIGURE_ENV += JAVA_ROOT="$(JAVA_ROOT)"
 CONFIGURE_ENV += PERL="$(PERL)"
 CONFIGURE_ENV += PLMODS="$(PLMODS)"
+CONFIGURE_ENV += LD_OPTIONS="$(LD_OPTIONS)"
+
+LIBSVNDIR.32 = $(CONFIGURE_PREFIX)/lib/svn
+LIBSVNDIR.64 = $(CONFIGURE_PREFIX)/lib/svn/$(MACH64)
+
+APR-CONFIG.32 = /usr/apr/1.3/bin/apr-1-config
+APR-CONFIG.64 = /usr/apr/1.3/bin/$(MACH64)/apr-1-config
+APU-CONFIG.32 = /usr/apr-util/1.3/bin/apu-1-config
+APU-CONFIG.64 = /usr/apr-util/1.3/bin/$(MACH64)/apu-1-config
+APXS.32 = /usr/apache2/2.2/bin/apxs
+APXS.64 = /usr/apache2/2.2/bin/$(MACH64)/apxs
 
 # Let's make noise just because we have to override --libdir
 CONFIGURE_OPTIONS = --prefix=$(CONFIGURE_PREFIX)
 CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
 CONFIGURE_OPTIONS += --bindir=$(CONFIGURE_BINDIR.$(BITS))
 CONFIGURE_OPTIONS += --sbindir=$(CONFIGURE_SBINDIR.$(BITS))
-CONFIGURE_OPTIONS += --libdir=$(CONFIGURE_PREFIX)/lib/svn
+CONFIGURE_OPTIONS += --libdir=$(LIBSVNDIR.$(BITS))
 CONFIGURE_OPTIONS += --localstatedir=/var
 CONFIGURE_OPTIONS += --enable-shared 
 CONFIGURE_OPTIONS += --disable-static
@@ -112,13 +134,32 @@
 CONFIGURE_OPTIONS += --enable-javahl
 CONFIGURE_OPTIONS += --with-swig
 CONFIGURE_OPTIONS += --with-neon=$(CONFIGURE_PREFIX)
-
-# common targets - we only build 32-bit subversion
-build:		$(BUILD_32)
+CONFIGURE_OPTIONS += --with-apr=$(APR-CONFIG.$(BITS))
+CONFIGURE_OPTIONS += --with-apr-util=$(APU-CONFIG.$(BITS))
+CONFIGURE_OPTIONS += --with-apxs=$(APXS.$(BITS))
 
-install:	$(INSTALL_32)
+# Swig overwrites the 32-bit directory with 64-bit objects.
+# So we work around that.
+COMPONENT_POST_INSTALL_ACTION += \
+    ( cd $(PROTOUSRLIBDIR)/python$(PYTHON_VERSION) ; \
+	$(RM) -rf vendor-packages-$(BITS) ; \
+	$(MV) vendor-packages vendor-packages-$(BITS) ; \
+	$(MKDIR) -p vendor-packages ; \
+	$(MKDIR) -p vendor-packages/64 ; \
+	if test -d vendor-packages-64 ; then \
+	    $(GNUCP) -rpd vendor-packages-64/libsvn vendor-packages/64/ ; \
+	    $(GNUCP) -rpd vendor-packages-64/svn vendor-packages/64/ ; \
+	    $(GNUCP) -rpd vendor-packages-32/libsvn vendor-packages/ ; \
+	    $(GNUCP) -rpd vendor-packages-32/svn vendor-packages/ ; \
+	fi ; )
 
-test:		$(TEST_32)
+ASLR_MODE=$(ASLR_ENABLE)
+
+build:		$(BUILD_32_and_64)
+
+install:	$(INSTALL_32_and_64)
+
+test:		$(TEST_32_and_64)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/subversion/patches/000-Makefile.in.patch	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/subversion/patches/000-Makefile.in.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -1,5 +1,5 @@
 --- Makefile.in	2011-07-16 04:50:53.000000000 -0700
-+++ Makefile.in	2012-05-21 19:46:33.032512405 -0700
++++ Makefile.in	2013-03-21 09:03:57.096238407 -0700
 @@ -85,8 +85,8 @@
  swig_rb_libdir = @libdir@
  
@@ -11,11 +11,13 @@
  swig_pldir = @libdir@/svn-perl
  swig_rbdir = $(SWIG_RB_SITE_ARCH_DIR)/svn/ext
  toolsdir = @bindir@/svn-tools
-@@ -135,7 +135,7 @@
+@@ -134,8 +134,8 @@
+ SWIG = @SWIG@
  SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py
  SWIG_PY_COMPILE = @SWIG_PY_COMPILE@
- SWIG_PY_LINK = @SWIG_PY_LINK@
+-SWIG_PY_LINK = @SWIG_PY_LINK@
 -SWIG_PY_LIBS = @SWIG_PY_LIBS@
++SWIG_PY_LINK = @SWIG_PY_LINK@ $(CFLAGS) $(EXTRA_CFLAGS)
 +SWIG_PY_LIBS = @SWIG_PY_LIBS@ $(SVN_APR_LIBS) $(SVN_APRUTIL_LIBS)
  SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@
  SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby
--- a/components/subversion/patches/001-configure.patch	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/subversion/patches/001-configure.patch	Fri Apr 19 10:32:55 2013 -0700
@@ -1,5 +1,5 @@
 --- configure	2012-05-10 11:52:02.000000000 -0700
-+++ configure	2012-05-21 11:21:44.053205016 -0700
++++ configure	2013-03-20 14:20:04.139519952 -0700
 @@ -4686,14 +4686,14 @@
    fi
  
@@ -38,3 +38,60 @@
      fi
    fi
    SVN_APRUTIL_LIBS="`
+@@ -5300,6 +5300,8 @@
+               old_CFLAGS="$CFLAGS"
+               old_LIBS="$LIBS"
+               NEON_LIBS=`$PKG_CONFIG neon --libs`
++              NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-m32##g'`
++              NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-L/usr/lib##g'`
+               CFLAGS="$CFLAGS $SVN_NEON_INCLUDES"
+               LIBS="$LIBS $NEON_LIBS"
+               neon_test_code="
+@@ -5320,6 +5322,8 @@
+     conftest$ac_exeext conftest.$ac_ext
+               if test "$shared_linking" = "no"; then
+                 NEON_LIBS=`$PKG_CONFIG neon --libs --static`
++		NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-m32##g'`
++		NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-L/usr/lib##g'`
+                 LIBS="$LIBS $NEON_LIBS"
+                 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+@@ -5481,6 +5485,8 @@
+               old_CFLAGS="$CFLAGS"
+               old_LIBS="$LIBS"
+               NEON_LIBS=`$PKG_CONFIG neon --libs`
++	      NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-m32##g'`
++	      NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-L/usr/lib##g'`
+               CFLAGS="$CFLAGS $SVN_NEON_INCLUDES"
+               LIBS="$LIBS $NEON_LIBS"
+               neon_test_code="
+@@ -5501,6 +5507,8 @@
+     conftest$ac_exeext conftest.$ac_ext
+               if test "$shared_linking" = "no"; then
+                 NEON_LIBS=`$PKG_CONFIG neon --libs --static`
++		NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-m32##g'`
++		NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-L/usr/lib##g'`
+                 LIBS="$LIBS $NEON_LIBS"
+                 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+@@ -5520,6 +5528,8 @@
+               SVN_NEON_INCLUDES=`$neon_config --cflags | $SED -e 's/-D[^ ]*//g'`
+               CFLAGS="$CFLAGS `$neon_config --cflags | $SED -e 's/-I[^ ]*//g'`"
+               NEON_LIBS=`$neon_config --libs`
++	      NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-m32##g'`
++	      NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-L/usr/lib##g'`
+             fi
+             svn_lib_neon="yes"
+             break
+@@ -5576,8 +5586,9 @@
+ fi
+ 
+ 
+-
+-
++NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-m32##g'`
++NEON_LIBS=`echo ${NEON_LIBS} | sed -e 's#-L/usr/lib##g'`
++export NEON_LIBS
+ 
+ 
+ if test "$svn_lib_neon" = "yes"; then
--- a/components/subversion/subversion-java.p5m	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/subversion/subversion-java.p5m	Fri Apr 19 10:32:55 2013 -0700
@@ -37,9 +37,14 @@
 #
 #
 file path=usr/lib/svn/libsvnjavahl-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvnjavahl-1.so.0.0.0
 file usr/lib/svn/svn-javahl/svn-javahl.jar path=usr/share/lib/java/svn-javahl.jar
 #
 link path=usr/lib/svn/libsvnjavahl-1.so target=libsvnjavahl-1.so.0.0.0
 link path=usr/lib/svn/libsvnjavahl-1.so.0 target=libsvnjavahl-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvnjavahl-1.so \
+    target=libsvnjavahl-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvnjavahl-1.so.0 \
+    target=libsvnjavahl-1.so.0.0.0
 #
 license subversion.license license="Apache v2.0"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/subversion/subversion-perl-64.p5m	Fri Apr 19 10:32:55 2013 -0700
@@ -0,0 +1,92 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+#
+<transform file path=usr/perl5/5.16/man.+ -> default mangler.man.stability uncommitted>
+
+<transform file path=(usr/perl5/vendor_perl/5.16/)(SVN/.+) -> \
+	set action.hash %<\1>i86pc-solaris-64/%<\2> >
+
+<transform file path=(usr/perl5/vendor_perl/5.16/)(SVN/.+) -> \
+	set action.hash %<\1>sun4-solaris-64/%<\2> >
+
+set name=pkg.fmri value=pkg:/library/perl-516/subversion-64@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Perl 64-bit bindings for the Subversion SCM"
+set name=com.oracle.info.description value="the Perl 64-bit bindings for the Subversion SCM"
+set name=com.oracle.info.tpno value=9086
+set name=info.classification value="org.opensolaris.category.2008:Development/Source Code Management"
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=org.opensolaris.arc-caseid \
+    value=PSARC/2006/563
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+# This package name has known conflicts with other packages in the WOS
+set pkg.linted.pkglint.manifest004=true
+
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Client/_Client.bs variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Client/_Client.so variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Core/_Core.bs variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Core/_Core.so pkg.depend.bypass-generate=.* variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Delta/_Delta.bs variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Delta/_Delta.so variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Fs/_Fs.bs variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Fs/_Fs.so variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Ra/_Ra.bs variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Ra/_Ra.so variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Repos/_Repos.bs variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Repos/_Repos.so variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Wc/_Wc.bs variant.arch=i386
+file path=usr/perl5/vendor_perl/5.16/i86pc-solaris-64/auto/SVN/_Wc/_Wc.so variant.arch=i386
+
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Client/_Client.bs variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Client/_Client.so variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Core/_Core.bs variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Core/_Core.so pkg.depend.bypass-generate=.* variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Delta/_Delta.bs variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Delta/_Delta.so variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Fs/_Fs.bs variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Fs/_Fs.so variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Ra/_Ra.bs variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Ra/_Ra.so variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Repos/_Repos.bs variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Repos/_Repos.so variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Wc/_Wc.bs variant.arch=sparc
+file path=usr/perl5/vendor_perl/5.16/sun4-solaris-64/auto/SVN/_Wc/_Wc.so variant.arch=sparc
+
+file path=usr/perl5/5.16/man/man3/SVN::Base.3
+file path=usr/perl5/5.16/man/man3/SVN::Client.3
+file path=usr/perl5/5.16/man/man3/SVN::Core.3
+file path=usr/perl5/5.16/man/man3/SVN::Delta.3
+file path=usr/perl5/5.16/man/man3/SVN::Fs.3
+file path=usr/perl5/5.16/man/man3/SVN::Ra.3
+file path=usr/perl5/5.16/man/man3/SVN::Repos.3
+file path=usr/perl5/5.16/man/man3/SVN::Wc.3
+
+file path=usr/lib/svn/$(MACH64)/libsvn_swig_perl-1.so.0.0.0
+
+link path=usr/lib/svn/$(MACH64)/libsvn_swig_perl-1.so \
+	  target=libsvn_swig_perl-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_swig_perl-1.so.0 \
+	  target=libsvn_swig_perl-1.so.0.0.0
+
+license subversion.license license="Apache v2.0"
+
--- a/components/subversion/subversion-python.p5m	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/subversion/subversion-python.p5m	Fri Apr 19 10:32:55 2013 -0700
@@ -61,9 +61,43 @@
 file path=usr/lib/python2.6/vendor-packages/svn/repos.py
 file path=usr/lib/python2.6/vendor-packages/svn/wc.py
 file path=usr/lib/python2.6/vendor-packages/svn/__init__.py
+
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/_client.so
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/_core.so
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/_delta.so
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/_diff.so
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/_fs.so
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/_ra.so
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/_repos.so
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/_wc.so
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/client.py
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/core.py
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/delta.py
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/diff.py
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/fs.py
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/ra.py
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/repos.py
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/wc.py
+file path=usr/lib/python2.6/vendor-packages/64/libsvn/__init__.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/client.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/core.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/delta.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/diff.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/fs.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/ra.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/repos.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/wc.py
+file path=usr/lib/python2.6/vendor-packages/64/svn/__init__.py
+#
 file path=usr/lib/svn/libsvn_swig_py-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_swig_py-1.so.0.0.0
 #
 link path=usr/lib/svn/libsvn_swig_py-1.so.0 target=libsvn_swig_py-1.so.0.0.0
 link path=usr/lib/svn/libsvn_swig_py-1.so target=libsvn_swig_py-1.so.0.0.0
+
+link path=usr/lib/svn/$(MACH64)/libsvn_swig_py-1.so.0 \
+    target=libsvn_swig_py-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_swig_py-1.so \
+    target=libsvn_swig_py-1.so.0.0.0
 #
 license subversion.license license="Apache v2.0"
--- a/components/subversion/subversion.p5m	Thu Apr 18 15:40:55 2013 -0700
+++ b/components/subversion/subversion.p5m	Fri Apr 19 10:32:55 2013 -0700
@@ -43,14 +43,20 @@
 file path=usr/apache2/2.2/libexec/mod_authz_svn.so
 file path=usr/apache2/2.2/libexec/mod_dav_svn.so
 file path=usr/apache2/2.2/libexec/mod_dontdothat.so
-file path=usr/bin/svn
-file path=usr/bin/svnadmin
-file path=usr/bin/svndumpfilter
-file path=usr/bin/svnlook
-file path=usr/bin/svnrdump
-file path=usr/bin/svnserve
-file path=usr/bin/svnsync
-file path=usr/bin/svnversion
+
+file path=usr/apache2/2.2/libexec/$(MACH64)/mod_authz_svn.so
+file path=usr/apache2/2.2/libexec/$(MACH64)/mod_dav_svn.so
+file path=usr/apache2/2.2/libexec/$(MACH64)/mod_dontdothat.so
+
+file usr/bin/$(MACH64)/svn              path=usr/bin/svn
+file usr/bin/$(MACH64)/svnadmin         path=usr/bin/svnadmin
+file usr/bin/$(MACH64)/svndumpfilter    path=usr/bin/svndumpfilter
+file usr/bin/$(MACH64)/svnlook          path=usr/bin/svnlook
+file usr/bin/$(MACH64)/svnrdump         path=usr/bin/svnrdump
+file usr/bin/$(MACH64)/svnserve         path=usr/bin/svnserve
+file usr/bin/$(MACH64)/svnsync          path=usr/bin/svnsync
+file usr/bin/$(MACH64)/svnversion       path=usr/bin/svnversion
+
 file path=usr/include/svn/mod_authz_svn.h
 file path=usr/include/svn/mod_dav_svn.h
 file path=usr/include/svn/svn_auth.h
@@ -93,6 +99,7 @@
 file path=usr/include/svn/svn_version.h
 file path=usr/include/svn/svn_wc.h
 file path=usr/include/svn/svn_xml.h
+
 file path=usr/lib/svn/libsvn_client-1.so.0.0.0
 file path=usr/lib/svn/libsvn_delta-1.so.0.0.0
 file path=usr/lib/svn/libsvn_diff-1.so.0.0.0
@@ -106,6 +113,21 @@
 file path=usr/lib/svn/libsvn_repos-1.so.0.0.0
 file path=usr/lib/svn/libsvn_subr-1.so.0.0.0
 file path=usr/lib/svn/libsvn_wc-1.so.0.0.0
+
+file path=usr/lib/svn/$(MACH64)/libsvn_client-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_delta-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_diff-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_fs-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_fs_fs-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_fs_util-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_ra-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_ra_local-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_ra_neon-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_ra_svn-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_repos-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_subr-1.so.0.0.0
+file path=usr/lib/svn/$(MACH64)/libsvn_wc-1.so.0.0.0
+
 file path=usr/share/locale/de/LC_MESSAGES/subversion.mo
 file path=usr/share/locale/es/LC_MESSAGES/subversion.mo
 file path=usr/share/locale/fr/LC_MESSAGES/subversion.mo
@@ -154,5 +176,58 @@
 link path=usr/lib/svn/libsvn_subr-1.so target=libsvn_subr-1.so.0.0.0
 link path=usr/lib/svn/libsvn_wc-1.so.0 target=libsvn_wc-1.so.0.0.0
 link path=usr/lib/svn/libsvn_wc-1.so target=libsvn_wc-1.so.0.0.0
+
+link path=usr/lib/svn/$(MACH64)/libsvn_client-1.so.0 \
+  target=libsvn_client-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_client-1.so \
+  target=libsvn_client-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_delta-1.so.0 \
+  target=libsvn_delta-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_delta-1.so \
+  target=libsvn_delta-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_diff-1.so.0 \
+  target=libsvn_diff-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_diff-1.so \
+  target=libsvn_diff-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_fs-1.so.0 \
+  target=libsvn_fs-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_fs-1.so \
+  target=libsvn_fs-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_fs_fs-1.so.0 \
+  target=libsvn_fs_fs-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_fs_fs-1.so \
+  target=libsvn_fs_fs-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_fs_util-1.so.0 \
+  target=libsvn_fs_util-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_fs_util-1.so \
+  target=libsvn_fs_util-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_ra-1.so.0 \
+  target=libsvn_ra-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_ra-1.so \
+  target=libsvn_ra-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_ra_local-1.so.0 \
+  target=libsvn_ra_local-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_ra_local-1.so \
+  target=libsvn_ra_local-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_ra_neon-1.so.0 \
+  target=libsvn_ra_neon-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_ra_neon-1.so \
+  target=libsvn_ra_neon-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_ra_svn-1.so.0 \
+  target=libsvn_ra_svn-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_ra_svn-1.so \
+  target=libsvn_ra_svn-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_repos-1.so.0 \
+  target=libsvn_repos-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_repos-1.so \
+  target=libsvn_repos-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_subr-1.so.0 \
+  target=libsvn_subr-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_subr-1.so \
+  target=libsvn_subr-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_wc-1.so.0 \
+  target=libsvn_wc-1.so.0.0.0
+link path=usr/lib/svn/$(MACH64)/libsvn_wc-1.so \
+  target=libsvn_wc-1.so.0.0.0
 #
 license subversion.license license="Apache v2.0"