--- admin/PlamoBuild-template-20170713 2017-07-13 13:07:00.000000000 +0900 +++ plamo/05_ext/mariadb/PlamoBuild.mariadb-10.1.10 2018-05-03 08:45:12.000000000 +0900 @@ -1,19 +1,21 @@ #!/bin/sh ###################################################################### -url="" +url="http://mirror.sobukus.de/files/src/mariadb/mariadb-10.1.10.tar.gz" verify= digest= branch= commitid= -pkgbase= -vers= +pkgbase=mariadb +vers=10.1.10 arch=`uname -m` -build=P1 +build=P2 src=$pkgbase-$vers patchfiles="" OPT_CONFIG="" -DOCS="README" +DOCS="README INSTALL-SOURCE BUILD-CMAKE INSTALL-WIN-SOURCE + COPYING.thirdparty KNOWN_BUGS.txt CREDITS COPYING.LESSER + EXCEPTIONS-CLIENT COPYING" template=20170713 tmplurl=ftp://plamo.linet.gr.jp/pub/Plamo-src/admin ###################################################################### @@ -29,14 +31,36 @@ fscheck prepare "$@" +S2=$W/source if [ $opt_download -eq 1 ] ; then download_sources fi if [ $opt_config -eq 1 ] ; then for i in `seq 0 $((${#B[@]} - 1))` ; do - if [ -d ${B[$i]} ] ; then rm -rf ${B[$i]} ; fi ; cp -a ${S[$i]} ${B[$i]} + if [ -d ${S2[$i]} ] ; then rm -rf ${S2[$i]} ; fi ; cp -a ${S[$i]} ${S2[$i]} + if [ -d ${B[$i]} ] ; then rm -rf ${B[$i]} ; fi ; mkdir ${B[$i]} done apply_patches + cd $S2 + cp -p storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake{,.orig} + cat <<- "EOF" \ + | patch storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake + 59d58 + < -Wstrict-null-sentinel + 68d66 + < -Wno-ignored-attributes + 70d67 + < -fno-rtti + 134d130 + < -Wbad-function-cast + 136,137d131 + < -Wstrict-prototypes + < -Wmissing-prototypes + EOF + sed -i 's@ -fuse-linker-plugin@@g' \ + storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake + cp -p storage/tokudb/CMakeLists.txt{,.orig} + sed -i 's@ -fuse-linker-plugin@@g' storage/tokudb/CMakeLists.txt for i in `seq 0 $((${#B[@]} - 1))` ; do cd ${B[$i]} if [ -x configure ] ; then @@ -45,6 +69,10 @@ --mandir='${prefix}'/share/man ${OPT_CONFIG[$i]} fi done + cmake -DCMAKE_INSTALL_PREFIX=/opt/mariadb -DINSTALL_LIBDIR=$libdir \ + -DINSTALL_MANDIR=/usr/share/man -DINSTALL_MYSQLTESTDIR= \ + -DINSTALL_PLUGINDIR=$libdir/plugin -DINSTALL_SQLBENCHDIR= \ + -DWITH_EMBEDDED_SERVER=ON $S2 fi if [ $opt_build -eq 1 ] ; then for i in `seq 0 $((${#B[@]} - 1))` ; do @@ -65,16 +93,82 @@ make install DESTDIR=$P fi done + touch $P/opt/mariadb/$libdir/plugin/*.so + for i in client.{a,so.18.0.0} services.a d.{a,so.18} ; do + touch $P/opt/mariadb/$libdir/libmysql$i + done + touch $P/opt/mariadb/share/mroonga/install.sql + find $P/opt/mariadb/share -name "*.sys" -exec touch {} \; + touch $P/opt/mariadb/share/pkgconfig/* + touch $P/opt/mariadb/bin/* + for i in {my{sql_version,_config,sqld_{ername,error}},sql_state}.h ; do + touch $P/opt/mariadb/include/mysql/$i + done + touch $P/opt/mariadb/scripts/* + for i in my-{huge,innodb-heavy-4G,{large,medium,small}}.cnf wsrep.cnf \ + mysqld_multi.server mysql-log-rotate binary-configure wsrep_notify \ + mysql.server ; do + touch $P/opt/mariadb/support-files/$i + done + ln -s mariadb $P/opt/mysql + install -d $P/etc + install -m 644 $B/support-files/my-small.cnf $P/etc/my.cnf.new + install -d $P/etc/rc.d/init.d + cat support-files/mysql.server \ + | sed 's@^basedir=@&/opt/mariadb@;s@^datadir=@&/opt/mariadb/data@' \ + > $P/etc/rc.d/init.d/mariadb + install -d $P/etc/profile.d + cat <<- "EOF" > $P/etc/profile.d/mariadb.sh + # path for MariDB + if [ -n "$PATH" ] ; then + PATH=$PATH:/opt/mariadb/bin + else + PATH=/bin:/usr/bin:/opt/mariadb/bin + fi + EOF + cat <<- "EOF" > $P/etc/profile.d/mariadb.csh + # path for MariaDB + if ($?PATH) then + set path = ( $path /opt/mariadb/bin ) + else + set path = ( /bin /usr/bin /opt/mariadb/bin ) + endif + EOF touch $W/i.et cd $W find $P ! -type l -newer i.st ! -newer i.et \ -exec touch -t `date '+%m%d0900'` {} \; compress + strip_libdir $P/opt/mariadb/$libdir/plugin + strip_libdir $P/opt/mariadb/$libdir + strip_bindir $P/opt/mariadb/bin + touch -t `date '+%m%d0900'` $P/opt/mariadb/{$libdir/plugin,bin} setup_docdir convert_links - tar cvpf $pkg.tar -C $P `cd $P ; find usr/bin | tail -n+2` + prune_symlink $P/opt/mariadb/$libdir + touch -t `date '+%m%d0900'` $P/opt/mariadb/$libdir + prune_symlink $P/opt + cat <<- "EOF" >> $P/install/doinst.sh + + mv etc/my.cnf.new /tmp + if [ -f etc/my.cnf ] ; then + mv /tmp/my.cnf.new etc/my.cnf.dist + else + mv /tmp/my.cnf.new etc/my.cnf + fi + EOF + cat <<- EOF >> $P/install/doinst.sh + #%% begin initialize $pkg + ( cd /opt/mariadb ; scripts/mysql_install_db --user=mysql ) + #%% end + EOF + touch -t `date '+%m%d0900'` $P/install/doinst.sh + tar cvpf $pkg.tar -C $P `cd $P ; find opt -maxdepth 1 | tail -n+2` + tar rvpf $pkg.tar -C $P `cd $P ; find etc -type f` tar rvpf $pkg.tar -C $P `cd $P ; find usr/share/man/man1 | tail -n+2` + tar rvpf $pkg.tar -C $P `cd $P ; find usr/share/man/man8 | tail -n+2` tar rvpf $pkg.tar -C $P usr/share/doc/$src + tar rvpf $pkg.tar -C $P install/doinst.sh touch -t `date '+%m%d0900'` $pkg.tar ; xz $pkg.tar ; touch $pkg.tar.xz mv $pkg.tar.xz $pkg.txz cleanup