X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage3%2Fpkg%2Fmysql;h=deeecd9f0def8650e062b8cd338558b6d1b87adf;hb=1b6490195147ee6d1098cf255240d60f60c40108;hp=08d9f884da601a56aad5283f8a54f63d98555fc6;hpb=3dae4c554ec18f465eb6ee5e6efdbdbe8557e13c;p=hvlinux.git diff --git a/stage3/pkg/mysql b/stage3/pkg/mysql index 08d9f88..deeecd9 100644 --- a/stage3/pkg/mysql +++ b/stage3/pkg/mysql @@ -1,60 +1,83 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} - -groupadd -f mysql -hv_useradd -c mysql -d /dev/null -g mysql -s /bin/false mysql - -cd ${LFS_TMP}/${1} -./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/sbin \ - --localstatedir=/srv/mysql \ - --enable-thread-safe-client \ - --enable-assembler \ - --enable-local-infile \ - --with-unix-socket-path=/var/run/mysql/mysql.sock \ - --without-debug \ - --without-readline \ - --with-plugins=innobase,myisam \ - --with-extra-charsets=all \ - --with-ssl -make -make benchdir_root=/tmp/mysql-bench install -rm -rf /tmp/mysql -cd /usr/lib -ln -v -sf mysql/libmysqlclient{,_r}.so* . - -# Copying default configuration file. -install -v -m644 /usr/share/mysql/my-medium.cnf /etc/my.cnf -sed -i -e s/^skip-federated/#skip-federated/ /etc/my.cnf - -mysql_install_db --user=mysql -chgrp mysql /srv/mysql{,/test,/mysql} - -install -m750 -o mysql -g mysql -d /var/run/mysql - -# Further configuration requires that the MySQL server be running (see cis-postinstall) - -# Bootscript -install -v -m740 ${SCRDIR}/bootscripts/mysql /etc/rc.d/init.d - -# script-name start stop -bootscript_add_rc3 mysql 45 45 - -# Addition to /etc/ld.so.conf -string_add "/usr/lib/mysql" /etc/ld.so.conf - -ldconfig - -exit $? +#!/bin/bash + +hvconfig_pre() +{ + groupadd --system -f mysql + hv_useradd --system -c mysql -d /dev/null -g mysql -s /bin/false mysql +} + +hvconfig() +{ + cd ${SRC_DIR} + + mkdir build + cd build + + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_DOCDIR=share/doc/mysql \ + -DINSTALL_DOCREADMEDIR=share/doc/mysql \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_INFODIR=share/info \ + -DINSTALL_MANDIR=share/man \ + -DINSTALL_MYSQLDATADIR=/srv/mysql \ + -DINSTALL_MYSQLSHAREDIR=share/mysql \ + -DINSTALL_MYSQLTESTDIR=share/mysql/test \ + -DINSTALL_PLUGINDIR=lib/mysql \ + -DINSTALL_SBINDIR=sbin \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SQLBENCHDIR=share/mysql/bench \ + -DINSTALL_SUPPORTFILESDIR=share/mysql/support \ + -DMYSQL_DATADIR=/srv/mysql \ + -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \ + -DSYSCONFDIR=/etc \ + -DWITH_PARTITION_STORAGE_ENGINE=OFF \ + -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \ + -DWITH_READLINE=system \ + -DWITH_SSL=system \ + .. +} + +hvbuild() +{ + cd ${SRC_DIR}/build + + make + + SEGMENTS="Client Server IniFiles ManPages SharedLibraries" + SEGMENTS="$SEGMENTS Development Documentation Info Readme" + + for segment in $SEGMENTS; do + cmake -DCMAKE_INSTALL_COMPONENT=$segment -P cmake_install.cmake + done + + unset SEGMENTS +} + +hvbuild_post() +{ + # Copying default configuration file: + install -v -m644 /usr/share/mysql/support/my-medium.cnf /etc/my.cnf + + # Ensure binary logs are disabled: + sed -i 's/^log-bin/#log-bin/' /etc/my.cnf + + mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql + chgrp mysql /srv/mysql{,/test,/mysql} + + install -v -m755 -o mysql -g mysql -d /var/run/mysql + + # Further configuration requires that the MySQL server be running + # (see cis-postinstall) + + # Bootscript + install -v -m740 ${SCRDIR}/bootscripts/mysql /etc/rc.d/init.d + + # script-name start stop + bootscript_add_rc3 mysql 45 45 + + # Addition to /etc/ld.so.conf + string_add "/usr/lib/mysql" /etc/ld.so.conf + + # Install Hv configuration script + install -v -m755 ${SCRDIR}/misc/hv-config-mysql /usr/local/bin +}