16973738 Deliver 64-bit binaries for the rsync command
authorklauw <ken.lauw@oracle.com>
Wed, 24 Jul 2013 13:38:40 -0700
changeset 1406 bad4899167db
parent 1405 2c1293ac112f
child 1407 d5f91d0f4487
16973738 Deliver 64-bit binaries for the rsync command 16973753 Enable ASLR support for rsync command
components/rsync/Makefile
components/rsync/patches/15730984.patch
components/rsync/rsync.p5m
--- a/components/rsync/Makefile	Wed Jul 24 08:43:28 2013 -0700
+++ b/components/rsync/Makefile	Wed Jul 24 13:38:40 2013 -0700
@@ -43,10 +43,13 @@
 CONFIGURE_OPTIONS  +=		--prefix=/usr
 CONFIGURE_OPTIONS  +=		--with-included-popt
 
+# Enable ASLR for this component
+ASLR_MODE =	$(ASLR_ENABLE)
+
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_64)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_64)
 
 test:		$(NO_TESTS)
 
--- a/components/rsync/patches/15730984.patch	Wed Jul 24 08:43:28 2013 -0700
+++ b/components/rsync/patches/15730984.patch	Wed Jul 24 13:38:40 2013 -0700
@@ -1,6 +1,14 @@
 --- rsync-3.0.9/main.c.orig	2011-06-18 12:44:47.000000000 -0700
-+++ rsync-3.0.9/main.c	2013-04-19 14:14:00.331981573 -0700
[email protected]@ -1100,7 +1100,7 @@
++++ rsync-3.0.9/main.c	2013-07-03 17:44:42.596018396 -0700
[email protected]@ -26,6 +26,7 @@
+ #if defined CONFIG_LOCALE && defined HAVE_LOCALE_H
+ #include <locale.h>
+ #endif
++#include <libgen.h>
+ 
+ extern int verbose;
+ extern int dry_run;
[email protected]@ -1100,7 +1101,7 @@
  	for (i = 0; argv[i]; i++) {
  		if (!(argv[i] = strdup(argv[i]))) {
  			rprintf (FERROR, "out of memory at %s(%d)\n",
@@ -10,48 +18,72 @@
  		}
  	}
 --- rsync-3.0.9/cleanup.c.orig	2011-02-21 10:20:58.000000000 -0800
-+++ rsync-3.0.9/cleanup.c	2013-04-19 14:14:00.332420836 -0700
[email protected]@ -126,7 +126,7 @@
++++ rsync-3.0.9/cleanup.c	2013-07-03 18:10:38.003756993 -0700
[email protected]@ -21,6 +21,7 @@
+  */
+ 
+ #include "rsync.h"
++#include <libgen.h>
+ 
+ extern int am_server;
+ extern int am_daemon;
[email protected]@ -126,7 +127,7 @@
  		if (verbose > 3) {
  			rprintf(FINFO,
  				"[%s] _exit_cleanup(code=%d, file=%s, line=%d): entered\n",
 -				who_am_i(), code, file, line);
-+				who_am_i(), code, basename(file), line);
++				who_am_i(), code, basename((char *)file), line);
  		}
  
  		/* FALLTHROUGH */
[email protected]@ -202,7 +202,7 @@
[email protected]@ -202,7 +203,7 @@
  			rprintf(FINFO,
  				"[%s] _exit_cleanup(code=%d, file=%s, line=%d): "
  				"about to call exit(%d)\n",
 -				who_am_i(), unmodified_code, file, line, code);
-+				who_am_i(), unmodified_code, basename(file), line, code);
++				who_am_i(), unmodified_code, basename((char *)file), line, code);
  		}
  
  		/* FALLTHROUGH */
 --- rsync-3.0.9/t_stub.c.orig	2011-02-21 11:32:48.000000000 -0800
-+++ rsync-3.0.9/t_stub.c	2013-04-19 14:14:00.332763107 -0700
[email protected]@ -54,7 +54,7 @@
++++ rsync-3.0.9/t_stub.c	2013-07-03 17:44:42.597023354 -0700
[email protected]@ -20,6 +20,7 @@
+  */
+ 
+ #include "rsync.h"
++#include <libgen.h>
+ 
+ int modify_window = 0;
+ int module_id = -1;
[email protected]@ -54,7 +55,7 @@
   void _exit_cleanup(int code, const char *file, int line)
  {
  	fprintf(stderr, "exit(%d): %s(%d)\n",
 -		code, file, line);
-+		code, basename(file), line);
++		code, basename((char *)file), line);
  	exit(code);
  }
  
 --- rsync-3.0.9/log.c.orig	2011-01-29 19:25:53.000000000 -0800
-+++ rsync-3.0.9/log.c	2013-04-19 14:14:00.333124681 -0700
[email protected]@ -829,10 +829,10 @@
++++ rsync-3.0.9/log.c	2013-07-03 18:12:34.878333604 -0700
[email protected]@ -21,6 +21,7 @@
+ 
+ #include "rsync.h"
+ #include "ifuncs.h"
++#include <libgen.h>
+ 
+ extern int verbose;
+ extern int dry_run;
[email protected]@ -829,10 +830,10 @@
  		/* VANISHED is not an error, only a warning */
  		if (code == RERR_VANISHED) {
  			rprintf(FWARNING, "rsync warning: %s (code %d) at %s(%d) [%s=%s]\n",
 -				name, code, file, line, who_am_i(), RSYNC_VERSION);
-+				name, code, basename(file), line, who_am_i(), RSYNC_VERSION);
++				name, code, basename((char *)file), line, who_am_i(), RSYNC_VERSION);
  		} else {
  			rprintf(FERROR, "rsync error: %s (code %d) at %s(%d) [%s=%s]\n",
 -				name, code, file, line, who_am_i(), RSYNC_VERSION);
-+				name, code, basename(file), line, who_am_i(), RSYNC_VERSION);
++				name, code, basename((char *)file), line, who_am_i(), RSYNC_VERSION);
  		}
  	}
  }
--- a/components/rsync/rsync.p5m	Wed Jul 24 08:43:28 2013 -0700
+++ b/components/rsync/rsync.p5m	Wed Jul 24 13:38:40 2013 -0700
@@ -36,7 +36,7 @@
 set name=org.opensolaris.arc-caseid value=PSARC/2006/642
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 
-file path=usr/bin/rsync
+file usr/bin/$(MACH64)/rsync path=usr/bin/rsync
 file rsync.1 path=usr/share/man/man1/rsync.1
 file rsyncd.conf.5 path=usr/share/man/man5/rsyncd.conf.5