actions.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Licensed under the GNU General Public License, version 3.
  5. # See the file http://www.gnu.org/licenses/gpl.txt
  6. from pisi.actionsapi import get
  7. from pisi.actionsapi import pisitools
  8. from pisi.actionsapi import shelltools
  9. from pisi.actionsapi import cmaketools
  10. #pisitools.flags.add("-fno-strict-aliasing -DBIG_JOINS=1")
  11. #pisitools.cflags.add("-fomit-frame-pointer")
  12. #pisitools.cxxflags.add("-felide-constructors -fno-rtti -fno-delete-null-pointer-checks")
  13. def setup():
  14. #pisitools.dosed("storage/tokudb/ft-index/ft/ft-ops.cc", "LEAFENTRY leaf_entry;", "LEAFENTRY leaf_entry = 0;")
  15. shelltools.export("CFLAGS", get.CFLAGS())
  16. shelltools.export("CXXFLAGS", get.CXXFLAGS())
  17. cmaketools.configure("-DBUILD_CONFIG=mysql_release \
  18. -DCMAKE_INSTALL_PREFIX=/usr \
  19. -DSYSCONFDIR=/etc/mysql \
  20. -DINSTALL_SYSCONFDIR=/etc/mysql \
  21. -DMYSQL_DATADIR=/var/lib/mysql \
  22. -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
  23. -DINSTALL_UNIX_ADDRDIR=/run/mysqld/mysqld.sock \
  24. -DDEFAULT_CHARSET=utf8mb4 \
  25. -DDEFAULT_COLLATION=utf8mb4_unicode_ci \
  26. -DENABLED_LOCAL_INFILE=ON \
  27. -DINSTALL_INFODIR=share/mysql/docs \
  28. -DINSTALL_MANDIR=share/man \
  29. -DINSTALL_PLUGINDIR=lib/mysql/plugin \
  30. -DINSTALL_SCRIPTDIR=bin \
  31. -DINSTALL_INCLUDEDIR=include/mysql \
  32. -DINSTALL_DOCREADMEDIR=share/mysql \
  33. -DINSTALL_SUPPORTFILESDIR=share/mysql \
  34. -DINSTALL_MYSQLSHAREDIR=share/mysql \
  35. -DINSTALL_DOCDIR=share/mysql/docs \
  36. -DINSTALL_SHAREDIR=share/mysql \
  37. -DWITH_READLINE=ON \
  38. -DWITH_ZLIB=system \
  39. -DWITH_SSL=system \
  40. -DWITH_LIBWRAP=OFF \
  41. -DWITH_JEMALLOC=ON \
  42. -DWITH_PCRE=system \
  43. -DPLUGIN_FEDERATED=NO \
  44. -DWITH_EXTRA_CHARSETS=complex \
  45. -DWITH_EMBEDDED_SERVER=ON \
  46. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  47. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  48. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  49. -DWITH_PARTITION_STORAGE_ENGINE=1 \
  50. -DWITHOUT_TOKUDB_STORAGE_ENGINE=1 \
  51. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
  52. -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
  53. -DWITHOUT_PBXT_STORAGE_ENGINE=1 \
  54. -DCMAKE_C_FLAGS='-fPIC %s -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -fno-delete-null-pointer-checks' \
  55. -DCMAKE_CXX_FLAGS='-fPIC %s -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-delete-null-pointer-checks' \
  56. -DWITH_MYSQLD_LDFLAGS='-pie %s,-z,now'" % (get.CFLAGS(), get.CXXFLAGS(), get.LDFLAGS()))
  57. #-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \
  58. def build():
  59. cmaketools.make()
  60. def install():
  61. cmaketools.install("DESTDIR=%s benchdir_root=\"/usr/share/mysql\"" % get.installDIR())
  62. # Config
  63. #pisitools.insinto("/etc/mysql", "%s/usr/share/mysql/my-medium.cnf" % get.installDIR(), "my.cnf")
  64. #pisitools.insinto("/etc/mysql", "%s/%s/scripts/mysqlaccess.conf" % (get.workDIR(), get.srcDIR()))
  65. pisitools.insinto("/usr/bin", "%s/%s/scripts/mysql_config" % (get.workDIR(), get.srcDIR()))
  66. # Data dir
  67. pisitools.dodir("/var/lib/mysql")
  68. # Documents
  69. #pisitools.dodoc("%s/%s/support-files/my-*.cnf" % (get.workDIR(), get.srcDIR()))
  70. pisitools.dodoc("COPYING", "INSTALL-SOURCE", "README*", "VERSION")
  71. # Remove not needed files
  72. #pisitools.removeDir("/usr/data")
  73. pisitools.removeDir("/usr/mariadb-test")
  74. pisitools.removeDir("/usr/sql-bench")
  75. #pisitools.remove("/usr/share/man/man1/mysql-test-run.pl.1")
  76. # Remove -lprobes_mysql
  77. #pisitools.dosed("%s/usr/bin/mysql_config" % get.installDIR(), "-lprobes_mysql")