[SM-Commit] GIT changes to master grimoire by Puppet_Master (d58b71e93d70cf4ae67a0f4b78f32416377ff068)

Puppet_Master scm at sourcemage.org
Fri Apr 2 08:16:12 EDT 2010


GIT changes to master grimoire by Puppet_Master <puppetmaster at sourcemage.org>:

 ChangeLog                          |    3 
 accounts                           |    1 
 database/mariadb/BUILD             |   80 +++++++++++++++
 database/mariadb/CONFIGURE         |   68 +++++++++++++
 database/mariadb/CONFLICTS         |    1 
 database/mariadb/DEPENDS           |   20 +++
 database/mariadb/DETAILS           |   19 +++
 database/mariadb/HISTORY           |    3 
 database/mariadb/INSTALL           |    4 
 database/mariadb/POST_INSTALL      |    3 
 database/mariadb/PRE_BUILD         |    4 
 database/mariadb/PRE_REMOVE        |    1 
 database/mariadb/PRE_SUB_DEPENDS   |    5 
 database/mariadb/PROVIDES          |    1 
 database/mariadb/SUB_DEPENDS       |   11 ++
 database/mariadb/UP_TRIGGERS       |   16 +++
 database/mariadb/init.d/mariadb    |  186 +++++++++++++++++++++++++++++++++++++
 database/mariadb/profile.d/mariadb |    4 
 groups                             |    1 
 19 files changed, 431 insertions(+)

New commits:
commit d58b71e93d70cf4ae67a0f4b78f32416377ff068
Author: Philippe Caseiro <puppetmaster at sourcemage.org>
Commit: Puppet_Master <puppetmaster at sourcemage.org>

      database/mariadb New spell Added, mysql clone

diff --git a/ChangeLog b/ChangeLog
index 0ce740e..dbf0b07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2010-04-02 Philippe 'Puppet_Master' Caseiro <puppetmaster at sourcemage.org>
+	* database/mariadb: new spell, mysql fork
+
 2010-04-01 Arjan Bouter <abouter at sourcemage.org>
 	* spelling/mythes: new spell, thesaurus library
 
diff --git a/accounts b/accounts
index 41cbd6f..29ac051 100755
--- a/accounts
+++ b/accounts
@@ -84,5 +84,6 @@ avahi:168:162
 tss:175:175
 memcached:176:177
 camera:177:178
+mariadb:178:180
 avahi-autoipd:180:180
 nobody:65534:65534
diff --git a/database/mariadb/BUILD b/database/mariadb/BUILD
new file mode 100755
index 0000000..a1c3986
--- /dev/null
+++ b/database/mariadb/BUILD
@@ -0,0 +1,80 @@
+OPTS="--with-charset=$MADB_CHARSET $OPTS" &&
+
+
+if  list_find "$MADB_ENGINES" "none"  ;  then
+   OPTS="--without-archive-storage-engine    \
+         --without-berkeley-db               \
+         --without-blackhole-storage-engine  \
+         --without-example-storage-engine    \
+         --without-federated-storage-engine  \
+         --without-innodb                    \
+         --without-ndbcluster                \
+         $OPTS"
+else
+  if  list_find "$MADB_ENGINES" "ARCHIVE"  ;  then
+    OPTS="--with-archive-storage-engine $OPTS"
+  else
+    OPTS="--without-archive-storage-engine $OPTS"
+  fi                                                     &&
+  if  ! list_find "$MADB_ENGINES" "BerkeleyDB"  ;  then
+    OPTS="--without-berkeley-db $OPTS"
+  fi                                                     &&
+  if  list_find "$MADB_ENGINES" "BLACKHOLE"  ;  then
+    OPTS="--with-blackhole-storage-engine $OPTS"
+  else
+    OPTS="--without-blackhole-storage-engine $OPTS"
+  fi                                                     &&
+  if  list_find "$MADB_ENGINES" "EXAMPLE"  ;  then
+    OPTS="--with-example-storage-engine $OPTS"
+  else
+    OPTS="--without-example-storage-engine $OPTS"
+  fi                                                     &&
+  if  list_find "$MADB_ENGINES" "FEDERATED"  ;  then
+    OPTS="--with-federated-storage-engine $OPTS"
+  else
+    OPTS="--without-federated-storage-engine $OPTS"
+  fi                                                     &&
+  if  list_find "$MADB_ENGINES" "InnoDB"  ;  then
+    OPTS="--with-innodb $OPTS"
+  else
+    OPTS="--without-innodb $OPTS"
+  fi                                                     &&
+  if  list_find "$MADB_ENGINES" "ndbcluster"  ;  then
+    OPTS="--with-ndbcluster $OPTS"
+  else
+    OPTS="--without-ndbcluster $OPTS"
+  fi
+fi &&                                                       
+
+OPTS="$MADB_SERVER $MADB_EMBED $OPTS"                    &&
+CFLAGS="${CFLAGS//-ffast-math}"                          &&
+
+create_account mariadb                                   &&
+
+local LD_PRELOAD_OLD="$LD_PRELOAD"                       &&
+unset  LD_PRELOAD                                        &&
+export CFLAGS="$CFLAGS -DUSE_OLD_FUNCTIONS"              &&
+
+if glibc_is_nptl; then
+  OPTS="$OPTS --with-named-thread-libs=-lpthread"        &&
+  export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+fi  &&
+OPTS="$OPTS --with-mysqld-user=mariadb  --without-bench    \
+        --localstatedir=${INSTALL_ROOT}/var/lib/mysql    \
+        --enable-assembler --enable-thread-safe-client"  &&
+default_build                                            &&
+
+#./configure  --build=$BUILD                             \
+#            --prefix=$INSTALL_ROOT/usr                  \
+#        --sysconfdir=$INSTALL_ROOT/etc                  \
+#            --mandir=$INSTALL_ROOT/usr/share/man        \
+#           --infodir=$INSTALL_ROOT/usr/share/info       \
+#     --localstatedir=/var/lib/mysql                     \
+#  --with-mysqld-user=mysql                              \
+#           --without-bench                              \
+#            --enable-assembler                          \
+#            --enable-thread-safe-client                 \
+#                     $OPTS                              &&
+
+export  LD_PRELOAD="$LD_PRELOAD_OLD"                     &&
+make  pkglibdir=${TRACK_ROOT}/usr/lib
diff --git a/database/mariadb/CONFIGURE b/database/mariadb/CONFIGURE
new file mode 100755
index 0000000..a9ecc45
--- /dev/null
+++ b/database/mariadb/CONFIGURE
@@ -0,0 +1,68 @@
+source $GRIMOIRE/config_query_multi.function                      &&
+
+config_query_option  MADB_SERVER                                  \
+                     "Install client only?"                       \
+                     n                                            \
+                     "--without-server"                           \
+                     "--with-server"                              &&
+
+config_query_list    MADB_CHARSET "Select default character set"  \
+                     latin1                                       \
+                     utf8                                         \
+                     binary                                       \
+                     armscii8                                     \
+                     ascii                                        \
+                     big5                                         \
+                     cp1250                                       \
+                     cp1251                                       \
+                     cp1256                                       \
+                     cp1257                                       \
+                     cp850                                        \
+                     cp852                                        \
+                     cp866                                        \
+                     cp932                                        \
+                     dec8                                         \
+                     eucjpms                                      \
+                     euckr                                        \
+                     gb2312                                       \
+                     gbk                                          \
+                     geostd8                                      \
+                     greek                                        \
+                     hebrew                                       \
+                     hp8                                          \
+                     keybcs2                                      \
+                     koi8r                                        \
+                     koi8u                                        \
+                     latin2                                       \
+                     latin5                                       \
+                     latin7                                       \
+                     macce                                        \
+                     macroman                                     \
+                     sjis                                         \
+                     swe7                                         \
+                     tis620                                       \
+                     ucs2                                         \
+                     ujis                                         &&
+
+config_query_multi   MADB_ENGINES                                 \
+                     "What additional storage engines to build?"  \
+                     none                                         \
+                     all                                          \
+                     ARCHIVE                                      \
+                     BerkeleyDB                                   \
+                     BLACKHOLE                                    \
+                     EXAMPLE                                      \
+                     FEDERATED                                    \
+                     InnoDB                                       \
+                     ndbcluster                                   &&
+
+if  list_find "$MADB_ENGINES"  "all"
+then
+  MADB_ENGINES="ARCHIVE BerkeleyDB BLACKHOLE EXAMPLE FEDERATED InnoDB ndbcluster"
+fi                                                                &&
+
+config_query_option  MADB_EMBED                                   \
+                     "Build the embedded server (libmysqld)?"     \
+                     n                                            \
+                     "--with-embedded-server"                     \
+                     "--without-embedded-server"
diff --git a/database/mariadb/CONFLICTS b/database/mariadb/CONFLICTS
new file mode 100755
index 0000000..59a63e1
--- /dev/null
+++ b/database/mariadb/CONFLICTS
@@ -0,0 +1 @@
+conflicts mysql
diff --git a/database/mariadb/DEPENDS b/database/mariadb/DEPENDS
new file mode 100755
index 0000000..3387320
--- /dev/null
+++ b/database/mariadb/DEPENDS
@@ -0,0 +1,20 @@
+depends  zlib    &&
+depends  perl    &&
+depends  procps  &&
+depends  g++     &&
+
+if [[ $OLD == y ]]; then
+  optional_depends openssl \
+                   "--with-openssl" \
+                   "--without-openssl" \
+                   "for OpenSSL support"
+else
+  optional_depends openssl \
+                   "--with-ssl" \
+                   "--without-ssl" \
+                   "for OpenSSL support"
+fi  &&
+
+if  ! list_find "$MSQL_ENGINES" "none"  &&  list_find "$MSQL_ENGINES" "BerkeleyDB"; then
+  depends  db  "--with-berkeley-db"
+fi
diff --git a/database/mariadb/DETAILS b/database/mariadb/DETAILS
new file mode 100755
index 0000000..34aef07
--- /dev/null
+++ b/database/mariadb/DETAILS
@@ -0,0 +1,19 @@
+           SPELL=mariadb
+         VERSION=5.1.44
+          SOURCE=$SPELL-$VERSION.tar.gz
+  SOURCE2_IGNORE=signature
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
+     SOURCE_HASH=sha512:b8c0e9fd0c8447962c94f4d82948b3c3154c25cf2587ee1e7c50b39dc4e81c6548ace118461a46f673d296414188fc59dc280419a9831dce7286896699db19d9
+   SOURCE_URL[0]=http://ftp.rediris.es/mirror/MariaDB/${SPELL}-${VERSION}/distro/kvm-tarbake-jaunty-x86/${SOURCE}
+      LICENSE[0]=GPL
+        WEB_SITE=http://askmonty.org/wiki/MariaDB
+        KEYWORDS="sql database"
+         ENTERED=20011114
+           SHORT="MariaDB is a backward compatible, drop-in replacement branch of the MySQL® Database Sever"
+cat << EOF
+MariaDB is a backward compatible, drop-in replacement branch of the 
+MySQL® Database Server. 
+
+It includes all major open source storage engines, 
+including the Maria storage engine. 
+EOF
diff --git a/database/mariadb/HISTORY b/database/mariadb/HISTORY
new file mode 100644
index 0000000..cc06a6c
--- /dev/null
+++ b/database/mariadb/HISTORY
@@ -0,0 +1,3 @@
+2010-04-02 Philippe "Puppet_Master" Caseiro <puppetmaster at sourcemage.org>
+	* spell created
+
diff --git a/database/mariadb/INSTALL b/database/mariadb/INSTALL
new file mode 100755
index 0000000..cdf532b
--- /dev/null
+++ b/database/mariadb/INSTALL
@@ -0,0 +1,4 @@
+make    pkglibdir=${TRACK_ROOT}/usr/lib  install    &&
+rm      -rf  ${INSTALL_ROOT}/usr/mysql-test         &&
+install -m 0644 $SCRIPT_DIRECTORY/profile.d/mariadb $INSTALL_ROOT/etc/sysconfig         &&
+install-info ${INSTALL_ROOT}/usr/share/info/mysql.info --info-dir ${INSTALL_ROOT}/usr/share/info
diff --git a/database/mariadb/POST_INSTALL b/database/mariadb/POST_INSTALL
new file mode 100755
index 0000000..16144c3
--- /dev/null
+++ b/database/mariadb/POST_INSTALL
@@ -0,0 +1,3 @@
+default_post_install &&
+chown mariadb.mariadb /var/lib/mariadb 
+${INSTALL_ROOT}/usr/bin/mysql_install_db --user=mariadb --datadir=/var/lib/mariadb
diff --git a/database/mariadb/PRE_BUILD b/database/mariadb/PRE_BUILD
new file mode 100755
index 0000000..db6414a
--- /dev/null
+++ b/database/mariadb/PRE_BUILD
@@ -0,0 +1,4 @@
+default_pre_build      &&
+cd  $SOURCE_DIRECTORY  &&
+sedit  's:$(libdir)/@PACKAGE@:$(libdir):'  libmysql/Makefile.in  &&
+sedit  's:$(libdir)/@PACKAGE@:$(libdir):'  libmysql_r/Makefile.in
diff --git a/database/mariadb/PRE_REMOVE b/database/mariadb/PRE_REMOVE
new file mode 100755
index 0000000..65c9a4e
--- /dev/null
+++ b/database/mariadb/PRE_REMOVE
@@ -0,0 +1 @@
+install-info  --delete ${INSTALL_ROOT}/usr/share/info/mysql.info  --info-dir  ${INSTALL_ROOT}/usr/share/info
diff --git a/database/mariadb/PRE_SUB_DEPENDS b/database/mariadb/PRE_SUB_DEPENDS
new file mode 100755
index 0000000..b79f83d
--- /dev/null
+++ b/database/mariadb/PRE_SUB_DEPENDS
@@ -0,0 +1,5 @@
+case $THIS_SUB_DEPENDS in
+   embedded|EMBEDDED) if [ $MSQL_EMBED == "--with-embedded-server" ]; then return 0; fi;;
+   innodb|INNODB) if [[ $MSQL_ENGINES == *InnoDB* || "$MSQL_ENGINES" == "all" ]]; then return 0; fi;;
+esac
+return 1
diff --git a/database/mariadb/PROVIDES b/database/mariadb/PROVIDES
new file mode 100755
index 0000000..b433cc9
--- /dev/null
+++ b/database/mariadb/PROVIDES
@@ -0,0 +1 @@
+SQL
diff --git a/database/mariadb/SUB_DEPENDS b/database/mariadb/SUB_DEPENDS
new file mode 100755
index 0000000..b31384a
--- /dev/null
+++ b/database/mariadb/SUB_DEPENDS
@@ -0,0 +1,11 @@
+case $THIS_SUB_DEPENDS in
+   embedded|EMBEDDED) echo "Embbeded mysql requested, forcing it."  &&
+                      MSQL_EMBED="--with-embedded-server"          ;;
+   innodb|INNODB)   echo "InnoDB storage engine support requested, forcing it."  &&
+                    if [ "$MSQL_ENGINES" == "none" ]; then
+                        MSQL_ENGINES="InnoDB"
+                    else
+                        MSQL_ENGINES="$MSQL_ENGINES InnoDB"
+                    fi  ;;
+   *)               echo "unknown sub-depends!"; return 1         ;;
+esac
diff --git a/database/mariadb/UP_TRIGGERS b/database/mariadb/UP_TRIGGERS
new file mode 100755
index 0000000..000b21c
--- /dev/null
+++ b/database/mariadb/UP_TRIGGERS
@@ -0,0 +1,16 @@
+# up_trigger everything on update to 5.1.32 as most stuff links to libmysqlclient.so.15 from version 5.0.77
+
+local OLD_SPELL_VERSION=""
+if spell_ok  $SPELL; then
+  OLD_SPELL_VERSION="$(installed_version $SPELL)"
+  if test "${VERSION:0:3}" != "${OLD_SPELL_VERSION:0:3}"; then
+    message "This is a possibly incompatible update of libmysql..."
+    message "Figuring out what spells need to be recast, this may take a while."
+    for each in $(show_up_depends $SPELL 1); do
+      if gaze install $each | xargs readelf -d 2> /dev/null |
+         grep -q "NEEDED.*libmysqlclient.so.15"; then
+           up_trigger $each cast_self
+      fi
+    done
+  fi
+fi
diff --git a/database/mariadb/init.d/mariadb b/database/mariadb/init.d/mariadb
new file mode 100644
index 0000000..2b5d8ee
--- /dev/null
+++ b/database/mariadb/init.d/mariadb
@@ -0,0 +1,186 @@
+#!/bin/bash
+# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+# This file is public domain and comes with NO WARRANTY of any kind
+#
+# If you install MySQL on some other places than /usr, then you
+# have to do one of the following things for this script to work:
+#
+# - Run this script from within the MySQL installation directory
+# - Create a /etc/my.cnf file with the following information:
+#   [mariadbd]
+#   basedir=<path-to-mariadb-installation-directory>
+# - Add the above to any other configuration file (for example ~/.my.ini)
+#   and copy my_print_defaults to /usr/bin
+# - Add the path to the mariadb-installation-directory to the basedir variable
+#   below.
+#
+# If you want to affect other MySQL variables, you should make your changes
+# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.
+#
+# SMGL-script-version=20030723
+# SMGL-START:3 4 5:S90
+# SMGL-STOP:0 1 2 6:K10
+
+PROGRAM=
+RUNLEVEL=3
+NEEDS="+remote_fs"
+
+. /etc/init.d/smgl_init
+. /etc/sysconfig/mariadb
+
+[[ ! -d ${DATA_DIR} ]] && mkdir -p ${DATA_DIR}
+
+basedir=
+
+# The following variables are only set for letting mariadb.server find things.
+
+# Set some defaults
+datadir=${DATA_DIR}
+pid_file=
+if test -z "$basedir"
+then
+  basedir=/usr
+  bindir=/usr/bin
+else
+  bindir="$basedir/bin"
+fi
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
+export PATH
+
+if test -z "$pid_file"
+then
+  pid_file=$datadir/`/bin/hostname`.pid
+else
+  case "$pid_file" in
+    /* ) ;;
+    * )  pid_file="$datadir/$pid_file" ;;
+  esac
+fi
+
+mode=$1    # start or stop
+
+parse_arguments() {
+  for arg do
+    case "$arg" in
+      --basedir=*)  basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+      --datadir=*)  datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+      --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+    esac
+  done
+}
+
+# Get arguments from the my.cnf file,
+# groups [mariadbd] [mariadb_server] and [mariadb.server]
+if test -x ./bin/my_print_defaults
+then
+  print_defaults="./bin/my_print_defaults"
+elif test -x $bindir/my_print_defaults
+then
+  print_defaults="$bindir/my_print_defaults"
+elif test -x $bindir/mariadb_print_defaults
+then
+  print_defaults="$bindir/mariadb_print_defaults"
+else
+  # Try to find basedir in /etc/my.cnf
+  conf=/etc/my.cnf
+  print_defaults=
+  if test -r $conf
+  then
+    subpat='^[^=]*basedir[^=]*=\(.*\)$'
+    dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
+    for d in $dirs
+    do
+      d=`echo $d | sed -e 's/[ 	]//g'`
+      if test -x "$d/bin/my_print_defaults"
+      then
+        print_defaults="$d/bin/my_print_defaults"
+        break
+      fi
+      if test -x "$d/bin/mariadb_print_defaults"
+      then
+        print_defaults="$d/bin/mariadb_print_defaults"
+        break
+      fi
+    done
+  fi
+
+  # Hope it's in the PATH ... but I doubt it
+  test -z "$print_defaults" && print_defaults="my_print_defaults"
+fi
+
+parse_arguments `$print_defaults mariadbd mariadb_server mariadb.server`
+
+# Safeguard (relative paths, core dumps..)
+cd $basedir
+
+case "$mode" in
+  'start')
+    # Start daemon
+
+    if test -x $bindir/mysqld_safe
+    then
+      # Give extra arguments to mariadbd with the my.cnf file. This script may
+      # be overwritten at next upgrade.
+      echo "Starting mariadbd_safe..."
+      iter=0
+      ( unset -f echo
+      $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file 2>&1 > /dev/null ) &
+      while [ ! -e $pid_file ] && [ $((iter++)) -lt 10 ] ; do sleep 1; echo -n . ; done
+      [ $((iter++)) -lt 11 ]
+      evaluate_retval
+      # Make lock for RedHat / SuSE
+      if test -w /var/lock/subsys
+      then
+        touch /var/lock/subsys/mariadb
+      fi
+    else
+      echo "Can't execute $bindir/mariadbd_safe from dir $basedir"
+    fi
+    evaluate_retval
+    ;;
+
+  'stop')
+    # Stop daemon. We use a signal here to avoid having to know the
+    # root password.
+    if test -s "$pid_file"
+    then
+      mariadbd_pid=`cat $pid_file`
+      echo "Killing mariadbd with pid $mariadbd_pid"
+      kill $mariadbd_pid
+      # mariadbd should remove the pid_file when it exits, so wait for it.
+
+      sleep 1
+      while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ]
+      do
+        [ -z "$flags" ] && echo -n "Wait for mariadbd to exit" || echo -n "."
+        flags=a$flags
+        sleep 1
+      done
+      if [ -s $pid_file ]
+         then echo " gave up waiting!"
+      elif [ -n "$flags" ]
+         then echo " done"
+      fi
+      # delete lock for RedHat / SuSE
+      if test -f /var/lock/subsys/mariadb
+      then
+        rm /var/lock/subsys/mariadb
+      fi
+    else
+      echo "No mariadbd pid file found. Looked for $pid_file."
+    fi
+    evaluate_retval
+    ;;
+  'restart')
+     echo "Restarting mariadb server"
+     $0 stop
+     $0 start
+     evaluate_retval
+     ;;
+  *)
+    # usage
+    echo "usage: $0 start|stop|restart"
+    exit 1
+    ;;
+esac
diff --git a/database/mariadb/profile.d/mariadb b/database/mariadb/profile.d/mariadb
new file mode 100644
index 0000000..b591f15
--- /dev/null
+++ b/database/mariadb/profile.d/mariadb
@@ -0,0 +1,4 @@
+# Mariadb Global Configuration
+# Set the Data directory here
+
+DATA_DIR=/var/lib/mariadb
diff --git a/groups b/groups
index 2aaacad..da9e656 100755
--- a/groups
+++ b/groups
@@ -103,6 +103,7 @@ pkcs11:176:
 memcached:177:
 camera:178:
 libvirt:179:
+mariadb:180:
 avahi-autoipd:180
 users:1000:
 nogroup:65534:



More information about the SM-Commit mailing list