xtrabackup_build.patch 3.59 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
diff --git a/Makefile b/Makefile
index dbb15d5..852a627 100644
--- a/Makefile
+++ b/Makefile
@@ -137,5 +137,5 @@ $(TARGET): xtrabackup.o $(INNODBOBJS) $(MYSQLOBJS)
 clean:
 	rm -f *.o xtrabackup_* 
 install:
-	install -m 755 innobackupex-1.5.1 $(BIN_DIR)
+	install -m 755 innobackupex-1.5.1 $(BIN_DIR)/innobackupex
 	install -m 755 xtrabackup_*  $(BIN_DIR)
diff --git a/utils/build.sh b/utils/build.sh
index 3f0cee7..c41dc89 100755
--- a/utils/build.sh
+++ b/utils/build.sh
@@ -21,12 +21,14 @@ function usage()
 {
     echo "Build an xtrabackup binary against the specified InnoDB flavor."
     echo
-    echo "Usage: `basename $0` CODEBASE"
+    echo "Usage: `basename $0` CODEBASE PREFIX LIBTOOL_LOCATION"
     echo "where CODEBASE can be one of the following values or aliases:"
     echo "  innodb51_builtin | 5.1	build against built-in InnoDB in MySQL 5.1"
     echo "  innodb55         | 5.5	build against InnoDB in MySQL 5.5"
     echo "  xtradb51         | xtradb   build against Percona Server with XtraDB 5.1"
     echo "  xtradb55         | xtradb55 build against Percona Server with XtraDB 5.5"
+    echo "where PREFIX is abolute path for install location"
+    echo "where LIBTOOL_LOCATION is abolute path of libtool"
     exit -1
 }
 
@@ -79,7 +81,12 @@ function build_server()
 {
     echo "Configuring the server"
     cd $server_dir
-    BUILD/autorun.sh
+    libtoolize -c -f
+    aclocal -I $libtool_location/share/aclocal -I config/ac-macros
+    autoheader
+    automake -c -a -f
+    autoconf
+    touch sql/sql_yacc.yy
     eval $configure_cmd
 
     echo "Building the server"
@@ -92,9 +99,10 @@ function build_xtrabackup()
     echo "Building XtraBackup"
     mkdir $build_dir
     cp $top_dir/Makefile $top_dir/xtrabackup.c $build_dir
+    cp $top_dir/innobackupex $build_dir/innobackupex-1.5.1
 
     cd $build_dir
-    $MAKE_CMD $xtrabackup_target
+    $MAKE_CMD PREFIX=$1 $xtrabackup_target
     cd $top_dir
 }
 
@@ -103,11 +111,36 @@ function build_tar4ibd()
     echo "Building tar4ibd"
     unpack_and_patch libtar-1.2.11.tar.gz tar4ibd_libtar-1.2.11.patch
     cd libtar-1.2.11
-    ./configure
+    ./configure --prefix=$1
     $MAKE_CMD
     cd $topdir
 }
 
+function install_server()
+{
+    echo "Installing the server"
+    cd $server_dir
+    $MAKE_CMD install
+    cd $top_dir
+}
+
+function install_xtrabackup()
+{
+    echo "Installing XtraBackup"
+    echo $build_dir
+    cd $build_dir
+    $MAKE_CMD PREFIX=$1 install
+    cd $top_dir
+}
+
+function install_tar4ibd()
+{
+    echo "Installing tar4ibd"
+    cd libtar-1.2.11
+    $MAKE_CMD install
+    cd $topdir
+}
+
 ################################################################################
 # Do all steps to build the server, xtrabackup and tar4ibd
 # Expects the following variables to be set before calling:
@@ -136,9 +169,15 @@ function build_all()
 
     build_server
 
-    build_xtrabackup
+    build_xtrabackup $1
+
+    build_tar4ibd $1
+
+    install_server
+
+    install_xtrabackup $1
 
-    build_tar4ibd
+    install_tar4ibd
 }
 
 if ! test -f xtrabackup.c
@@ -148,6 +187,15 @@ then
 fi
 
 type=$1
+prefix=$2
+if [ "x$prefix" == "x" ] ; then
+  usage
+fi
+libtool_location=$3
+if [ "x$libtool_location" == "x" ] ; then
+  usage
+fi
+
 top_dir=`pwd`
 
 case "$type" in
@@ -161,9 +209,10 @@ case "$type" in
 	    --with-plugins=innobase \
 	    --with-zlib-dir=bundled \
 	    --enable-shared \
-	    --with-extra-charsets=complex"
+	    --with-extra-charsets=complex \
+      --prefix=$2"
 
-	build_all
+	build_all $2
 	;;
 
 "innodb55" | "5.5")
@@ -225,7 +274,7 @@ case "$type" in
 
 	build_server
 
-	build_xtrabackup
+	build_xtrabackup 
 
 	build_tar4ibd
 	;;