1 |
### RPM external mysql 5.1.35
|
2 |
## INITENV +PATH LD_LIBRARY_PATH %i/lib/mysql
|
3 |
## INITENV SET MYSQL_HOME $MYSQL_ROOT
|
4 |
|
5 |
#Different download locations according to the version.
|
6 |
|
7 |
%if "%(echo %realversion | cut -d. -f1)" == "4"
|
8 |
%define source http://downloads.mysql.com/archives/mysql-4.0/%n-%realversion.tar.gz
|
9 |
%else
|
10 |
#%define source http://mirror.provenscaling.com/mysql/community/source/5.0/mysql-%realversion.tar.gz
|
11 |
%define source http://opensource.become.com/mysql/Downloads/MySQL-5.1/mysql-%realversion.tar.gz
|
12 |
%endif
|
13 |
|
14 |
Source: %source
|
15 |
# Let's fake the fact that we have perl (DBI) so that rpm does not complain.
|
16 |
Provides: perl(DBI)
|
17 |
|
18 |
%prep
|
19 |
%setup -n %n-%realversion
|
20 |
%ifos darwin
|
21 |
# There's for some reason a "-traditional-cpp", which breaks with GCC 3.3
|
22 |
# so remove it. (FIXME: check if this is solved in a newer version.)
|
23 |
perl -p -i -e 's/-traditional-cpp/-no-cpp-precomp/g' configure.in configure
|
24 |
%endif
|
25 |
|
26 |
%build
|
27 |
CFLAGS=-O3 CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" \
|
28 |
./configure --prefix=%i --with-extra-charsets=complex \
|
29 |
--enable-thread-safe-client --enable-local-infile \
|
30 |
--with-plugins=innobase
|
31 |
make %makeprocesses
|
32 |
|
33 |
%install
|
34 |
make install
|
35 |
perl -p -i -e "s|^#!.*perl(.*)|#!/usr/bin/env perl$1|" $(grep -r -e "^#!.*perl.*" %i | cut -d: -f1)
|
36 |
rm -fR %i/mysql-test
|
37 |
|
38 |
# SCRAM ToolBox toolfile
|
39 |
mkdir -p %i/etc/scram.d
|
40 |
cat << \EOF_TOOLFILE >%i/etc/scram.d/%n
|
41 |
<doc type=BuildSystem::ToolDoc version=1.0>
|
42 |
<Tool name=%n version=%v>
|
43 |
<Lib name=mysqlclient>
|
44 |
<Client>
|
45 |
<Environment name=MYSQL_BASE default="%i"></Environment>
|
46 |
<Environment name=LIBDIR default="$MYSQL_BASE/lib/mysql"></Environment>
|
47 |
<Environment name=MYSQL_BINDIR default="$MYSQL_BASE/bin"></Environment>
|
48 |
<Environment name=INCLUDE default="$MYSQL_BASE/include/mysql"></Environment>
|
49 |
</Client>
|
50 |
<Runtime name=PATH value="$MYSQL_BINDIR" type=path>
|
51 |
</Tool>
|
52 |
EOF_TOOLFILE
|
53 |
|
54 |
cat << \EOF > %i/etc/my.cnf
|
55 |
[mysqld]
|
56 |
max_allowed_packet=128M
|
57 |
|
58 |
max_connections = 1000
|
59 |
connect_timeout = 60
|
60 |
|
61 |
set-variable = innodb_log_file_size=512M
|
62 |
set-variable = innodb_log_buffer_size=8M
|
63 |
set-variable = innodb_buffer_pool_size=2G
|
64 |
set-variable = innodb_additional_mem_pool_size=50M
|
65 |
|
66 |
key_buffer=512M
|
67 |
|
68 |
query_cache_type=1
|
69 |
query_cache_limit=10M
|
70 |
query_cache_size=128M
|
71 |
|
72 |
innodb_thread_concurrency=0
|
73 |
innodb_concurrency_tickets=10000
|
74 |
innodb_commit_concurrency=0
|
75 |
innodb_flush_logs_at_trx_commit=0
|
76 |
innodb_flush_method=O_DIRECT
|
77 |
innodb_file_io_threads = 4
|
78 |
innodb_checksums=0
|
79 |
innodb_doublewrite=0
|
80 |
|
81 |
|
82 |
max_heap_table_size=1024M
|
83 |
tmp_table_size=1024M
|
84 |
|
85 |
long_query_time=5
|
86 |
innodb_sync_spin_loops=60
|
87 |
|
88 |
innodb_force_recovery = 0
|
89 |
innodb_lock_wait_timeout = 100
|
90 |
innodb_autoinc_lock_mode = 2
|
91 |
|
92 |
|
93 |
[mysql.server]
|
94 |
STRICT_TRANS_TABLES=1
|
95 |
transaction-isolation = READ-COMMITTED
|
96 |
EOF
|
97 |
|
98 |
|
99 |
%post
|
100 |
%{relocateConfig}bin/msql2mysql
|
101 |
%{relocateConfig}bin/mysqlaccess
|
102 |
%{relocateConfig}bin/mysqlbug
|
103 |
%{relocateConfig}bin/mysql_config
|
104 |
%{relocateConfig}bin/mysqld_multi
|
105 |
%{relocateConfig}bin/mysqld_safe
|
106 |
%{relocateConfig}bin/mysql_fix_privilege_tables
|
107 |
%{relocateConfig}bin/mysql_install_db
|
108 |
%{relocateConfig}etc/scram.d/%n
|
109 |
|