From b3f694428028ca796e12ab1d13c4331ca97ae936 Mon Sep 17 00:00:00 2001 From: Jay Larson Date: Thu, 11 Jan 2018 22:41:39 -0600 Subject: [PATCH] The following changes were made: * Moved to newer version scheme * Added modified my.cnf * corrected function log_info_msg to log_init_msg * Updated usher to install my.cnf --- Makefile | 31 ++++------ SNAP/my.cnf | 153 +++++++++++++++++++++++++++++++++++++++++++++++ SNAP/mysqld.init | 4 +- SNAP/usher | 4 ++ 4 files changed, 172 insertions(+), 20 deletions(-) create mode 100644 SNAP/my.cnf diff --git a/Makefile b/Makefile index 9aecfd4..aca201b 100644 --- a/Makefile +++ b/Makefile @@ -8,26 +8,20 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -DEPENDS = openssl +DEPENDS = bash,bzip2,dash,glibc,libaio,libgcc,libstdc++,libxml2,ncurses,openssl,pcre,zlib ARCH = x86_64 URL = https://mariadb.org/ -DESC = -SNAPVER = sr0 +REPO = server +BRIEF = Database server +DESC = MariaDB is a fork of the MySQL database server +SNAPVER = 1 ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1) TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n') SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//') PATCHDIR := $(PWD)/SRC/patches BUILDDIR := $(PWD)/BUILD -VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'|sed 's/^-//')$(SNAPVER) - -MAKE = make -MAKEINST = make install -SNAPHACKS = install -d -m 755 $(ROOT)/etc/init.d && \ - install -d -m 700 $(ROOT)/var/lib/mysql && \ - install -m 755 SNAP/mysqld.init $(ROOT)/etc/init.d/mysqld && \ - install -m 644 $(ROOT)/usr/share/mysql/my-medium.cnf \ - $(ROOT)/etc/my.cnf +VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'|sed 's/^-//')-$(SNAPVER) include /usr/share/snap/Makefile.snaplinux @@ -78,8 +72,7 @@ $(BUILDDIR)/Makefile: $(SRCDIR)/configure.cmake ../$(SRCDIR) $(BUILDDIR)/sql/mysqld: $(BUILDDIR)/Makefile - @cd $(BUILDDIR); \ - $(MAKE) + @cd $(BUILDDIR) && make $(ROOT): $(BUILDDIR)/sql/mysqld @if [ -d $(ROOT) ]; then \ @@ -88,10 +81,12 @@ $(ROOT): $(BUILDDIR)/sql/mysqld mkdir -v $(ROOT); \ fi - @cd $(BUILDDIR); \ - $(MAKEINST) DESTDIR=$(ROOT) - - @$(SNAPHACKS) + @cd $(BUILDDIR) && make install DESTDIR=$(ROOT) && \ + install -d -m 755 $(ROOT)/etc/init.d && \ + install -d -m 755 $(ROOT)/usr/share/mariadb && \ + install -d -m 700 $(ROOT)/var/lib/mysql && \ + install -m 755 $(SNAPDIR)/mysqld.init $(ROOT)/etc/init.d/mysqld && \ + install -m 644 $(SNAPDIR)/my.cnf $(ROOT)/usr/share/mariadb/my.cnf clean: @rm -rvf $(ROOT) \ diff --git a/SNAP/my.cnf b/SNAP/my.cnf new file mode 100644 index 0000000..b3d809a --- /dev/null +++ b/SNAP/my.cnf @@ -0,0 +1,153 @@ +# Example MariaDB config file for medium systems. +# +# This is for a system with little memory (32M - 64M) where MariaDB plays +# an important part, or systems up to 128M where MariaDB is used together with +# other programs (such as a web server) +# +# MariaDB programs look for option files in a set of +# locations which depend on the deployment platform. +# You can copy this option file to one of those +# locations. For information about these locations, do: +# 'my_print_defaults --help' and see what is printed under +# Default options are read from the following files in the given order: +# More information at: http://dev.mysql.com/doc/mysql/en/option-files.html +# +# In this file, you can use all long options that a program supports. +# If you want to know which options a program supports, run the program +# with the "--help" option. + +# The following options will be passed to all MariaDB clients +[client] +#password = your_password +port = 3306 +socket = /var/run/mysqld/mysqld.sock + +# Here follows entries for some specific programs + +# The MariaDB server +[mysqld] +port = 3306 +socket = /var/run/mysqld/mysqld.sock +datadir = /var/lib/mysql +skip-external-locking +key_buffer_size = 16M +max_allowed_packet = 1M +table_open_cache = 64 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M + +# Point the following paths to different dedicated disks +#tmpdir = /tmp/ + +# Don't listen on a TCP/IP port at all. This can be a security enhancement, +# if all processes that need to connect to mysqld run on the same host. +# All interaction with mysqld must be made via Unix sockets or named pipes. +# Note that using this option without enabling named pipes on Windows +# (via the "enable-named-pipe" option) will render mysqld useless! +# +#skip-networking + +# Replication Master Server (default) +# binary logging is required for replication +#log-bin=mysql-bin + +# binary logging format - mixed recommended +binlog_format=mixed + +# required unique id between 1 and 2^32 - 1 +# defaults to 1 if master-host is not set +# but will not function as a master if omitted +server-id = 1 + +# Replication Slave (comment out master section to use this) +# +# To configure this host as a replication slave, you can choose between +# two methods : +# +# 1) Use the CHANGE MASTER TO command (fully described in our manual) - +# the syntax is: +# +# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, +# MASTER_USER=, MASTER_PASSWORD= ; +# +# where you replace , , by quoted strings and +# by the master's port number (3306 by default). +# +# Example: +# +# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, +# MASTER_USER='joe', MASTER_PASSWORD='secret'; +# +# OR +# +# 2) Set the variables below. However, in case you choose this method, then +# start replication for the first time (even unsuccessfully, for example +# if you mistyped the password in master-password and the slave fails to +# connect), the slave will create a master.info file, and any later +# change in this file to the variables' values below will be ignored and +# overridden by the content of the master.info file, unless you shutdown +# the slave server, delete master.info and restart the slaver server. +# For that reason, you may want to leave the lines below untouched +# (commented) and instead use CHANGE MASTER TO (see above) +# +# required unique id between 2 and 2^32 - 1 +# (and different from the master) +# defaults to 2 if master-host is set +# but will not function as a slave if omitted +#server-id = 2 +# +# The replication master for this slave - required +#master-host = +# +# The username the slave will use for authentication when connecting +# to the master - required +#master-user = +# +# The password the slave will authenticate with when connecting to +# the master - required +#master-password = +# +# The port the master is listening on. +# optional - defaults to 3306 +#master-port = +# +# binary logging - not required for slaves, but recommended +#log-bin=mysql-bin + +# Uncomment the following if you are using InnoDB tables +#innodb_data_home_dir = /var/lib/mysql +#innodb_data_file_path = ibdata1:10M:autoextend +#innodb_log_group_home_dir = /var/lib/mysql +# You can set .._buffer_pool_size up to 50 - 80 % +# of RAM but beware of setting memory usage too high +#innodb_buffer_pool_size = 16M +#innodb_additional_mem_pool_size = 2M +# Set .._log_file_size to 25 % of buffer pool size +#innodb_log_file_size = 5M +#innodb_log_buffer_size = 8M +#innodb_flush_log_at_trx_commit = 1 +#innodb_lock_wait_timeout = 50 + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +no-auto-rehash +# Remove the next comment character if you are not familiar with SQL +#safe-updates + +[myisamchk] +key_buffer_size = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[mysqlhotcopy] +interactive-timeout + +[mysql_install_db] +basedir = /usr diff --git a/SNAP/mysqld.init b/SNAP/mysqld.init index 90ec0c9..84339ca 100755 --- a/SNAP/mysqld.init +++ b/SNAP/mysqld.init @@ -151,7 +151,7 @@ case "$mode" in # Safeguard (relative paths, core dumps..) cd $basedir - log_info_msg "Starting MySQL" + log_init_msg "Starting MySQL" if test -x $bindir/mysqld_safe then # Give extra arguments to mysqld with the my.cnf file. This script @@ -175,7 +175,7 @@ case "$mode" in if (kill -0 $mysqld_pid 2>/dev/null) then - log_info_msg "Shutting down MySQL" + log_init_msg "Shutting down MySQL" kill $mysqld_pid # mysqld should remove the pid file when it exits, so wait for it. wait_for_gone $mysqld_pid "$mysqld_pid_file_path"; return_value=$? diff --git a/SNAP/usher b/SNAP/usher index 434041b..bb8fd86 100755 --- a/SNAP/usher +++ b/SNAP/usher @@ -26,6 +26,10 @@ case $1 in fi fi + if [ ! -f /etc/my.cnf ]; then + install -m 644 /usr/share/mariadb/my.cnf /etc/my.cnf + fi + mysql_install_db --basedir=/usr --datadir=/var/lib/mysql \ --user=mysql 2>/dev/null chown -R mysql:mysql /var/lib/mysql /var/run/mysqld