Commit b14f5e2b authored by monty@bitch.mysql.fi's avatar monty@bitch.mysql.fi
Browse files

Merge hundin:/my/mysql-4.0 into bitch.mysql.fi:/my/mysql-4.0

parents 9f7d0303 ac250625
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -255,6 +255,7 @@ libmysqld/opt_sum.cc
libmysqld/password.c
libmysqld/procedure.cc
libmysqld/records.cc
libmysqld/repl_failsafe.cc
libmysqld/simple-test
libmysqld/slave.cc
libmysqld/sql_acl.cc
+17 −6
Original line number Diff line number Diff line
AM_MAKEFLAGS="-j 2"
make -k clean
gmake -k clean || true
/bin/rm -f */.deps/*.P config.cache
 
aclocal; autoheader; aclocal; automake; autoconf
aclocal && autoheader && aclocal && automake && autoconf
(cd bdb/dist && sh s_all)
(cd innobase && aclocal && autoheader && aclocal && automake && autoconf)
if [ -d gemini ]
then
   (cd gemini && aclocal && autoheader && aclocal && automake && autoconf)
fi
 
export PATH=/usr/local/pgcc/bin:$PATH
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -mstack-align-double" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -mstack-align-double" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex --enable-thread-safe-client
make -j 2
CFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused  -O6 -mpentiumpro -fomit-frame-pointer -mstack-align-double" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O6 -fomit-frame-pointer -mpentiumpro -mstack-align-double" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static  --with-client-ldflags=-all-static
 
gmake -j 4
 
mkdir -p tmp
nm --numeric-sort sql/mysqld  > tmp/mysqld.sym
objdump -d sql/mysqld > tmp/mysqld.S
strip sql/mysqld
+52 −9
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ if ($opt_innodb || $opt_bdb)

chomp($host=`hostname`);
$full_host_name=$host;
info("Compiling MySQL$version_suffix at $host$suffix, stage: $opt_stage\n");
info("Compiling MySQL$version_suffix at $host, stage: $opt_stage\n");
$connect_option= ($opt_tcpip ? "--host=$host" : "");
$host =~ /^([^.-]*)/;
$host=$1 . $opt_suffix;
@@ -65,10 +65,11 @@ $sendmail=find("/usr/lib/sendmail","/usr/sbin/sendmail");
$sur= $opt_sur ? "/my/local/bin/sur" : "";
delete $ENV{'MYSQL_PWD'};	# Reset possibly password
delete $ENV{'MY_BASEDIR_VERSION'};
$ENV{'MYSQL_TCP_PORT'}= $mysql_tcp_port= 3334 + $opt_build_thread;
$ENV{'MYSQL_TCP_PORT'}= $mysql_tcp_port= 3334 + $opt_build_thread*2;
$ENV{'MYSQL_UNIX_PORT'}=$mysql_unix_port="$opt_tmp/mysql$opt_suffix.build";
$ENV{"PERL5LIB"}="$pwd/$host/perl5:$pwd/$host/perl5/site_perl";
$slave_port=$mysql_tcp_port+16;
$manager_port=$mysql_tcp_port+1;

if (-x "$host/bin/mysqladmin")
{
@@ -78,6 +79,7 @@ if (-x "$host/bin/mysqladmin")
  log_system("$host/bin/mysqladmin --no-defaults -u root -P 9306 -h $host -s shutdown");
  log_system("$host/bin/mysqladmin --no-defaults -u root -P 9307 -h $host -s shutdown");
}
kill_all("mysqlmanager");

if ($opt_stage == 0)
{
@@ -110,7 +112,7 @@ if ($opt_stage == 0 && ! $opt_use_old_distribution)

  # Fix file times; This is needed because the time for files may be
  # in the future
  system("touch timestamp; find $var -newer timestamp -print | xargs touch; rm -f timestamp");
  system("touch timestamp; find . -newer timestamp -print | xargs touch; rm -f timestamp");
  sleep(2);
  # Ensure that files we don't want to rebuild are newer than other files
  foreach $name ("configure",
@@ -151,7 +153,7 @@ if ($opt_stage <= 1)
  {
    $opt_config_options.= " --with-innodb"
  }
  check_system("$opt_config_env ./configure --prefix=/usr/local/mysql \"--with-comment=Official MySQL$version_suffix binary\" --with-extra-charsets=complex \"--with-server-suffix=$version_suffix\" $opt_config_options","Thank you for choosing MySQL");
  check_system("$opt_config_env ./configure --prefix=/usr/local/mysql \"--with-comment=Official MySQL$version_suffix binary\" --with-extra-charsets=complex \"--with-server-suffix=$version_suffix\" --enable-thread-safe-client $opt_config_options","Thank you for choosing MySQL");
  if (-d "$pwd/$host/include-mysql")
  {
    safe_system("cp -r $pwd/$host/include-mysql/* $pwd/$host/$ver/include");
@@ -207,13 +209,13 @@ if ($opt_stage <= 4 && !$opt_no_test)
$tar_file =~ /(mysql-[^\/]*)\.tar/;
$ver=$1;
$test_dir="$pwd/$host/test/$ver";
$ENV{"LD_LIBRARY_PATH"}= "$testdir/lib:" . $ENV{"LD_LIBRARY_PATH"};
$ENV{"LD_LIBRARY_PATH"}= "$test_dir/lib:" . $ENV{"LD_LIBRARY_PATH"};

if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
{
  system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir);
  safe_cd("${test_dir}/mysql-test");
  check_system("./mysql-test-run --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --sleep=10", "tests were successful");
  check_system("./mysql-test-run --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --sleep=10", "tests were successful");
}

# Start the server if we are going to run any of the benchmarks
@@ -235,7 +237,7 @@ if (!$opt_no_test)
  {
    $extra.=" --innodb_data_file_path=ibdata1:100M";
  }
  safe_system("./bin/mysqld --no-defaults --basedir . --datadir ./data --skip-l\ocking $extra >> $log 2>&1 &");
  safe_system("./bin/mysqld --no-defaults --basedir . --datadir ./data --skip-locking $extra >> $log 2>&1 &");
  sleep(2);
}

@@ -315,7 +317,7 @@ exit 0;
sub usage
{
print <<EOF;
$0  version 1.2
$0  version 1.4

$0 takes the following options:

@@ -329,7 +331,7 @@ Compile with support for Innodb tables
Compile with support for Berkeley DB tables

--user 'user_name'
Mail 'user_name'\@analytikerna.se if something went wrong.
Mail 'user_name'\@mysql.com if something went wrong.
If user is empty then no mail is sent.

--distribution 'distribution_file'
@@ -528,3 +530,44 @@ sub rm_all
    }
  }
}

sub kill_all
{
  my ($pattern) = @_;
  my ($USER,$BSD,$LINUX,$pscmd, $user, $pid);
  $user=$ENV{'USER'};
  $BSD = -f '/vmunix' || $ENV{"OS"} eq "SunOS4";
  $LINUX = $^O eq 'linux';
  $pscmd = $BSD ? "/bin/ps -auxww" : $LINUX ? "/bin/ps axuw" : "/bin/ps -ef";

  open(PS, "$pscmd|") || die "can't run $pscmd: $!";

  # Catch any errors with eval.  A bad pattern, for instance.
 process:
  while ($cand = <PS>)
  {
    chop($cand);
    ($pid_user, $pid) = split(' ', $cand);
    next if $pid == $$;
    next process if (! ($cand =~ $pattern) || $pid_user ne $user);
    print LOG "Killing $_\n";
    &killpid($pid);
  }
}

sub killpid
{
  local($pid) = @_;
  kill 15, $pid;
  for (1..5)
  {
    sleep 2;
    return if kill(0, $pid) == 0;
  }
  kill 9, $pid;
  for (1..5) {
    sleep 2;
    return if kill(0, $pid) == 0;
  }
  print LOG "$pid will not die!\n";
}
+18 −7
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@
function copy_to_bmachine
{
 if [ x$local_build = x1 ]; then
  rm -f $2
  cp $1 $2
 else
  scp $1 $owner@$bmachine:$2
@@ -14,6 +15,7 @@ function copy_to_bmachine
function copy_from_bmachine
{
 if [ x$local_build = x1 ]; then
  rm -f $2
  cp $1 $2
 else
  scp $owner@$bmachine:$1 $2
@@ -90,10 +92,7 @@ while test $# -gt 0; do
done

echo "Removing old MySQL packages"
rm -rf $rpmdir/BUILD/mysql-*
rm -f $rpmdir/SOURCES/mysql-*
rm -f $rpmdir/SRPMS/MySQL-*
rm -f $rpmdir/SPEC/mysql-*
rm -f $bpath/NEW-RPMS/MySQL-*rpm

if [ ! -d "$logdir" ]; then
 echo "$logdir does not exist, creating"
@@ -105,12 +104,20 @@ if [ ! -f "$tarball" ]; then
 exit 1
fi

echo "Building RPM for MySQL version $VER on $bmachine"

log=$logdir/Log-RPM-`date +%y%m%d-%H%M`

echo "Building RPM for MySQL version $VER on $bmachine"
echo "Details in $log"

(
set -x
# remove old stuff
rm -rf $rpmdir/BUILD/mysql-*
rm -f $rpmdir/SOURCES/mysql-*
rm -f $rpmdir/SRPMS/MySQL-*
rm -f $rpmdir/SPECS/mysql-*
rm -rf /var/tmp/mysql

# Copy MySQL source and spec files

#Sasha: I left the scp stuff commented out instead of deleted to make it
@@ -156,7 +163,7 @@ if [ ! x$skip_perl=x1 ]; then
  set -x

  # First clean up so we do not get old versions when wildcard matching
  rm -f $rpmdir/SOURCES/DBI-*.spec
  rm -f $rpmdir/SOURCES/DBI-*.spec $rpmdir/SOURCES/mysql*
  rm -f $rpmdir/RPMS/i386/Perl-*.rpm
  rm -f $rpmdir/SRPMS/Perl-*.rpm
  rm -f $rpmdir/RPMS/i386/MySQL*-$VER_NO_DASH*.rpm
@@ -226,5 +233,9 @@ if [ x$local_build != x1 ]; then
 # And the perl ones
 #scp $owner@$bmachine:$rpmdir/RPMS/i386/Perl*-*.rpm $bpath/NEW-RPMS
 #scp $owner@$bmachine:$rpmdir/SRPMS/Perl*-*.rpm $bpath/NEW-RPMS

 #Remove some of the files that can interfere with future builds

 rm -rf /var/tmp/mysql
fi 
)  > $log 2>&1
+21 −0
Original line number Diff line number Diff line
@@ -481,6 +481,27 @@ Functions i mysys: (For flags se my_sys.h)
 void end_key_cache _A((void));
	- End key-cacheing.

@node DBUG,,,
@chapter The DBUG tags to use:

Here is some of the tags we now use:
(We should probably add a couple of new ones)
 
"enter"	  Arguments to the function.
"exit"	  Results from the function.
"info"    is something that may be interesting.
"warning" is when something doesn't go the usual route or may be wrong.
"error"   when something went wrong.
"loop"	  write in a loop, that is probably only useful when debugging
	  the loop.  These should normally be deleted when on is
	  satisfied with the code and it has been in real use for a while.

Some specific to mysqld, because we want to watch these carefully:

"trans"	  Starting/stopping transactions.
"quit"	  'info' when mysqld is preparing to die.
"query"	  Print query

@node protocol,,,
@chapter MySQL client/server protocol

Loading