mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-10 07:57:59 -05:00
* Update makedepend homepage * Update mapserver homepage * Update mediainfo homepage * Update mediainfo_gui homepage * Update misctools homepage * Update mkfontscale homepage * Update mm_common homepage * Update mono homepage * Update mpfr homepage * Update msttcorefonts homepage * Update mtdev homepage * Update muparser homepage * Update musl_c_ares homepage * Update musl_cyrus_sasl homepage * Update musl_krb5 homepage * Update musl_lz4 homepage * Update musl_xz homepage * Update musl_zstd homepage * Update mypaint homepage * Update mypaint_brushes homepage * Update mypaint_brushes_1 homepage * Update ncat homepage * Update ncftp homepage * Update netbeans homepage * Update netpbm homepage * Update nmon homepage * Update ocaml homepage * Update onevpl homepage * Update openexr homepage * Update opensp homepage * Update optipng homepage * Update p11kit homepage * Update p7zip_gui homepage * Update pacparser homepage * Update parted homepage * Update patch homepage * Update patchelf homepage * Update patchutils homepage * Update pdfcrack homepage * Update percona_boost homepage * Update percona_server homepage * Update percona_toolkit homepage * Update php5 homepage * Update php71 homepage * Update php72 homepage * Update php73 homepage * Update php74 homepage * Update php80 homepage * Update php81 homepage * Update php82 homepage * Update php83 homepage * Update pixman homepage * Update plplot homepage * Update pocl homepage * Update potrace homepage * Update powershell homepage * Update printproto homepage * Update protobuf homepage * Update pthread_stubs homepage * Update pygobject homepage * Update pygobject2 homepage * Update pygtk homepage * Update qemu homepage * Update qpdf homepage * Update quakespasm homepage * Update radare2 homepage * Update rdfind homepage * Update recordmydesktop homepage * Update rendercheck homepage * Update rgb homepage * Update rkhunter homepage * Update runc homepage * Update s3cmd homepage * Update sbc homepage * Update sbt homepage * Update scheme48 homepage * Update sejda_console homepage * Update selenium_server_standalone homepage * Update sfk homepage * Update snooze homepage * Update sqlite homepage * Update sqlmap homepage * Update sshcode homepage * Update startup_notification homepage * Update suitesparse homepage * Update swatchdog homepage * Update swig homepage * Update swig1 homepage * Update sysfsutils homepage * Update tbb homepage * Update tcpdump homepage * Update tcpwrappers homepage * Update traceroute homepage * Update trousers homepage * Update ttf2pt1 homepage * Update twm homepage * Update txt2regex homepage * Update unicode_cldr homepage * Update unixodbc homepage * Update unrar homepage * Update unzip homepage * Update upm homepage * Update usbutils homepage * Update vim homepage * Update vim_runtime homepage * Update vulkan_tools homepage * Update w3m homepage * Update wavpack homepage * Update weechat homepage * Update weston homepage * Update whiptail homepage * Update wmctrl homepage * Update wol homepage * Update wput homepage * Update xbitmaps homepage * Update xcb_util homepage * Update xcb_util_cursor homepage * Update xcb_util_image homepage * Update xcb_util_keysyms homepage * Update xcb_util_wm homepage * Update xdg_base homepage * Update xdotool homepage * Update xdpyinfo homepage * Update xe homepage * Update xercesc homepage * Update xinit homepage * Update xkbcomp homepage * Update xkeyboard_config homepage * Update xmessage homepage * Update xmlstarlet homepage * Update xorg_cf_files homepage * Update xorg_evdev_driver homepage * Update xorg_fbdev_driver homepage * Update xorg_libinput_driver homepage * Update xorg_proto homepage * Update xorg_server homepage * Update xorg_synaptics_driver homepage * Update xorg_vmmouse_driver homepage * Update xorg_wacom_driver homepage * Update xorg_xeyes homepage * Update xorg_xlsfonts homepage * Update xorg_xset homepage * Update xprop homepage * Update xrdb homepage * Update xwayland homepage * Update xxd_standalone homepage * Update xxhash homepage * Update xz_java homepage * Update zip homepage * Update zsh homepage * Update zstd homepage * Update zziplib homepage
102 lines
4.6 KiB
Ruby
102 lines
4.6 KiB
Ruby
require 'package'
|
|
|
|
class Percona_server < Package
|
|
description 'Percona Server for MySQL® is a free, fully compatible, enhanced, open source drop-in replacement for MySQL that provides superior performance, scalability and instrumentation.'
|
|
homepage 'https://www.percona.com/mysql/software/percona-server-for-mysql'
|
|
version '5.7.20-19'
|
|
license 'GPL-2'
|
|
compatibility 'all'
|
|
source_url 'https://www.percona.com/downloads/Percona-Server-LATEST/Percona-Server-5.7.20-19/source/tarball/percona-server-5.7.20-19.tar.gz'
|
|
source_sha256 '17f06c07165954e7eacc3ba2cac0e1d4ba65b0b568f2437298d3c17a6a0940fd'
|
|
binary_compression 'tar.xz'
|
|
|
|
binary_sha256({
|
|
aarch64: 'e7bdb895946e539145268d29a0c93e690ad1ff91eab871605cb2b3b686247ff5',
|
|
armv7l: 'e7bdb895946e539145268d29a0c93e690ad1ff91eab871605cb2b3b686247ff5',
|
|
i686: '757706998388bf559a70f53567af4518c523f1236a500e228210ce023ef41a5c',
|
|
x86_64: '47431d59582a5be3361cbfd571de3da9a557b76cea40a01f4b58347988e7aa2c'
|
|
})
|
|
|
|
depends_on 'cmake' => :build
|
|
depends_on 'percona_boost'
|
|
depends_on 'libaio'
|
|
depends_on 'libtirpc'
|
|
depends_on 'psmisc'
|
|
|
|
def self.build
|
|
system "sed -i 's,SET(RUN_ABI_CHECK 1),SET(RUN_ABI_CHECK 0),' cmake/abi_check.cmake"
|
|
system "cmake . \
|
|
-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX} \
|
|
-DINSTALL_LIBDIR=#{ARCH_LIB} \
|
|
-DCURSES_INCLUDE_PATH=#{CREW_PREFIX}/include/ncurses \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DBUILD_CONFIG=mysql_release \
|
|
-DCOMMUNITY_BUILD=ON \
|
|
-DWITH_EMBEDDED_SERVER=OFF"
|
|
system 'make'
|
|
end
|
|
|
|
def self.install
|
|
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
|
|
system "rm -rf #{CREW_DEST_PREFIX}/mysql-test"
|
|
FileUtils.cd("#{CREW_DEST_PREFIX}/bin") do
|
|
system "echo '#!/bin/bash' > startmysql"
|
|
system "echo 'MYSQL=\$(ps ax | grep mysqld_safe | grep -v grep | xargs | cut -d\" \" -f1 2> /dev/null)' >> startmysql"
|
|
system "echo 'if [ -z \"\$MYSQL\" ]; then' >> startmysql"
|
|
system "echo ' mysqld_safe &' >> startmysql"
|
|
system "echo 'fi' >> startmysql"
|
|
system "echo 'MYSQL=\$(ps ax | grep mysqld_safe | grep -v grep | xargs | cut -d\" \" -f1 2> /dev/null)' >> startmysql"
|
|
system "echo 'if [ ! -z \"\$MYSQL\" ]; then' >> startmysql"
|
|
system "echo ' echo \"mysql process \$MYSQL is running\"' >> startmysql"
|
|
system "echo 'else' >> startmysql"
|
|
system "echo ' echo \"mysqld failed to start\"' >> startmysql"
|
|
system "echo ' exit 1' >> startmysql"
|
|
system "echo 'fi' >> startmysql"
|
|
system "echo '#!/bin/bash' > stopmysql"
|
|
system "echo 'MYSQL=\$(ps ax | grep mysqld_safe | grep -v grep | xargs | cut -d\" \" -f1 2> /dev/null)' >> stopmysql"
|
|
system "echo 'if [ ! -z \"\$MYSQL\" ]; then' >> stopmysql"
|
|
system "echo ' killall mysqld' >> stopmysql"
|
|
system "echo 'fi' >> stopmysql"
|
|
system "echo 'MYSQL=\$(ps ax | grep mysqld_safe | grep -v grep | xargs | cut -d\" \" -f1 2> /dev/null)' >> stopmysql"
|
|
system "echo 'if [ -z \"\$MYSQL\" ]; then' >> stopmysql"
|
|
system "echo ' echo \"mysqld process stopped\"' >> stopmysql"
|
|
system "echo 'else' >> stopmysql"
|
|
system "echo ' echo \"mysqld process \$MYSQL is running\"' >> stopmysql"
|
|
system "echo ' exit 1' >> stopmysql"
|
|
system "echo 'fi' >> stopmysql"
|
|
system 'chmod +x st*mysql'
|
|
end
|
|
end
|
|
|
|
def self.postinstall
|
|
unless Dir.exist? "#{CREW_PREFIX}/data"
|
|
system "mysqld --initialize-insecure --user=#{USER}"
|
|
system 'mysql_ssl_rsa_setup'
|
|
end
|
|
puts
|
|
puts "Databases are stored in #{CREW_PREFIX}/data.".lightblue
|
|
puts
|
|
puts 'To reset the root password, see https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html#resetting-permissions-unix'.lightblue
|
|
puts
|
|
puts 'To lockdown permissions, execute the following:'.lightblue
|
|
puts 'mysql_secure_installation'.lightblue
|
|
puts
|
|
puts 'To start/stop mysqld, execute the following:'.lightblue
|
|
puts 'startmysql - starts mysqld'.lightblue
|
|
puts 'stopmysql - stops mysqld'.lightblue
|
|
puts
|
|
puts 'To start mysqld on login, execute the following:'.lightblue
|
|
puts "echo 'if [ -f #{CREW_PREFIX}/bin/startmysql ]; then' >> ~/.bashrc".lightblue
|
|
puts "echo ' #{CREW_PREFIX}/bin/startmysql' >> ~/.bashrc".lightblue
|
|
puts "echo 'fi' >> ~/.bashrc".lightblue
|
|
puts 'source ~/.bashrc'.lightblue
|
|
puts
|
|
puts 'To completely remove MySQL and all databases, perform the following:'.lightblue
|
|
puts 'crew remove percona_server'.lightblue
|
|
puts "rm -rf #{CREW_PREFIX}/data".lightblue
|
|
puts
|
|
puts 'Percona Server documentation: https://www.percona.com/doc/percona-server/5.7/index.html'.lightblue
|
|
puts
|
|
end
|
|
end
|