1 |
valya |
1.6 |
### RPM external mysql-deployment 0.0.3
|
2 |
valya |
1.1 |
|
3 |
valya |
1.6 |
Source: $RPM_BUILD_ROOT/mysql-deployment.sh
|
4 |
valya |
1.1 |
Requires: mysql
|
5 |
|
|
# Let's fake the fact that we have perl (DBI) so that rpm does not complain.
|
6 |
|
|
Provides: mysql-deployment.sh
|
7 |
|
|
|
8 |
|
|
%prep
|
9 |
valya |
1.7 |
cat << \EOF > $RPM_BUILD_ROOT/mysql-deployment.sh
|
10 |
valya |
1.1 |
#!/bin/bash
|
11 |
|
|
set -e
|
12 |
|
|
|
13 |
|
|
if [ -z ${VO_CMS_SW_DIR} ]; then
|
14 |
|
|
echo "+++ Your CMS environment is not setup, missing VO_CMS_SW_DIR environment"
|
15 |
|
|
exit 1
|
16 |
|
|
fi
|
17 |
|
|
if [ -z ${MYSQL_ROOT} ]; then
|
18 |
|
|
echo "+++ Your CMS MYSQL environment is not setup, MYSQL_ROOT environment"
|
19 |
|
|
exit 1
|
20 |
|
|
fi
|
21 |
|
|
MYSQL_PATH=$MYSQL_ROOT/mysqldb
|
22 |
|
|
if [ ! -d ${MYSQL_PATH} ]; then
|
23 |
|
|
echo "+++ Making ${MYSQL_PATH} directory ..."
|
24 |
|
|
mkdir -p ${MYSQL_PATH}
|
25 |
|
|
fi
|
26 |
|
|
MYSQL_PORT=3316
|
27 |
|
|
MYSQL_SOCK=$MYSQL_PATH/mysql.sock
|
28 |
|
|
MYSQL_PID=$MYSQL_PATH/mysqld.pid
|
29 |
|
|
MYSQL_ERR=$MYSQL_PATH/error.log
|
30 |
|
|
|
31 |
|
|
pid=`ps -u ${LOGNAME} | grep mysqld_safe | grep -v grep | tail -1 | awk '{print $1}'`
|
32 |
|
|
if [ ! -z ${pid} ]; then
|
33 |
|
|
echo "CMS MySQL server is already running ..."
|
34 |
|
|
else
|
35 |
|
|
echo "+++ Installing CMS MySQL accounts and DBs ..."
|
36 |
|
|
$MYSQL_ROOT/bin/mysql_install_db --datadir=$MYSQL_PATH --port=$MYSQL_PORT --socket=$MYSQL_SOCK
|
37 |
|
|
|
38 |
|
|
echo "+++ Start up CMS MySQL daemon on port ${MYSQL_PORT} ..."
|
39 |
|
|
$MYSQL_ROOT/bin/mysqld_safe --datadir=$MYSQL_PATH --port=$MYSQL_PORT \
|
40 |
valya |
1.3 |
--socket=$MYSQL_SOCK --log-error=$MYSQL_ERR --pid-file=$MYSQL_PID &
|
41 |
|
|
#--socket=$MYSQL_SOCK --log-error=$MYSQL_ERR --skip-networking --pid-file=$MYSQL_PID &
|
42 |
valya |
1.2 |
sleep 10
|
43 |
valya |
1.1 |
|
44 |
|
|
# create CMS MySQL root account
|
45 |
|
|
echo "+++ Creating MySQL default root account ..."
|
46 |
valya |
1.4 |
echo "+++ Account for localhost"
|
47 |
valya |
1.1 |
$MYSQL_ROOT/bin/mysqladmin --port=$MYSQL_PORT --socket=$MYSQL_SOCK -u root password "cms"
|
48 |
valya |
1.4 |
echo "+++ Account for `hostname`"
|
49 |
valya |
1.3 |
$MYSQL_ROOT/bin/mysqladmin --port=$MYSQL_PORT --socket=$MYSQL_SOCK -u root -h `hostname` password "cms"
|
50 |
valya |
1.1 |
|
51 |
|
|
# create CMS MySQL DBS account
|
52 |
|
|
echo "+++ Creating MySQL default dbs account ..."
|
53 |
|
|
$MYSQL_ROOT/bin/mysql --socket=$MYSQL_SOCK -uroot -pcms mysql -e "CREATE USER dbs@localhost IDENTIFIED BY 'cmsdbs'"
|
54 |
valya |
1.2 |
$MYSQL_ROOT/bin/mysql --socket=$MYSQL_SOCK -uroot -pcms mysql -e "UPDATE user set Select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_priv='Y',Drop_priv='Y',References_priv='Y',Index_priv='Y',Alter_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y',Execute_priv='Y',Create_view_priv='Y',Show_view_priv='Y',Create_routine_priv='Y',Alter_routine_priv='Y' where User='dbs';"
|
55 |
valya |
1.1 |
fi
|
56 |
|
|
|
57 |
|
|
EOF
|
58 |
valya |
1.7 |
chmod a+x $RPM_BUILD_ROOT/mysql-deployment.sh
|
59 |
valya |
1.1 |
mkdir -p %{i}/bin
|
60 |
|
|
|
61 |
|
|
%build
|
62 |
|
|
|
63 |
|
|
%install
|
64 |
valya |
1.6 |
cp $RPM_BUILD_ROOT/mysql-deployment.sh %{i}/bin
|
65 |
|
|
cp $RPM_BUILD_ROOT/mysql-deployment.sh $RPM_SOURCE_DIR
|
66 |
valya |
1.1 |
|
67 |
|
|
%post
|
68 |
|
|
%{relocateConfig}/bin/mysql-deployment.sh
|
69 |
valya |
1.6 |
rm -f $RPM_BUILD_ROOT/mysql-deployment.sh
|
70 |
valya |
1.1 |
|