@@ -97,7 +97,7 @@ install_deps() {
97
97
bison cmake libncurses5-dev python3 libaio-dev libsystemd-dev libpcre2-dev libperl-dev libssl-dev libxml2-dev \
98
98
libkrb5-dev flex libpam-dev git libsnappy-dev libcurl4-openssl-dev libgtest-dev libcppunit-dev googletest \
99
99
libjemalloc-dev liblz-dev liblzo2-dev liblzma-dev liblz4-dev libbz2-dev libbenchmark-dev libdistro-info-perl \
100
- graphviz devscripts ccache equivs eatmydata curl"
100
+ graphviz devscripts ccache equivs eatmydata curl python3 "
101
101
102
102
if [[ " $OS " == * " rockylinux:8" * || " $OS " == * " rocky:8" * ]]; then
103
103
command=" dnf install -y curl 'dnf-command(config-manager)' && dnf config-manager --set-enabled powertools && \
@@ -144,6 +144,9 @@ if [[ ${BRANCH_NAME_TO_OUTDIR} = true ]]; then
144
144
fi
145
145
146
146
disable_git_restore_frozen_revision () {
147
+ if [[ $DO_NOT_FREEZE_REVISION = true ]]; then
148
+ return
149
+ fi
147
150
cd $MDB_SOURCE_PATH
148
151
git config submodule.storage/columnstore/columnstore.update none
149
152
cd - > /dev/null
@@ -152,6 +155,15 @@ disable_git_restore_frozen_revision() {
152
155
DEP_GRAPH_PATH=" $MARIA_BUILD_PATH /dependency_graph/mariadb.dot"
153
156
154
157
stop_service () {
158
+ if [[ $RESTART_SERVICES = false || $RECOMPILE_ONLY = true ]]; then
159
+ return
160
+ fi
161
+
162
+ if [ " $EUID " -ne 0 ]; then
163
+ error " Please run script as root to be able to manage services"
164
+ exit 1
165
+ fi
166
+
155
167
message_split
156
168
message " Stopping MariaDB services"
157
169
systemctl stop mariadb
@@ -169,6 +181,15 @@ check_service() {
169
181
}
170
182
171
183
start_service () {
184
+ if [[ $RESTART_SERVICES = false || $RECOMPILE_ONLY = true ]]; then
185
+ return
186
+ fi
187
+
188
+ if [ " $EUID " -ne 0 ]; then
189
+ error " Please run script as root to be able to manage services"
190
+ exit 1
191
+ fi
192
+
172
193
message_split
173
194
message " Starting MariaDB services"
174
195
systemctl start mariadb-columnstore
@@ -185,16 +206,26 @@ start_service() {
185
206
}
186
207
187
208
start_storage_manager_if_needed () {
188
- if [[ $CLOUD_STORAGE_ENABLED = true ]]; then
189
- export MCS_USE_S3_STORAGE=1
190
- message_split
191
- message " Starting Storage Manager service"
192
- systemctl start mcs-storagemanager
193
- check_service mcs-storagemanager
209
+ if [[ $CLOUD_STORAGE_ENABLED = false ]]; then
210
+ return
194
211
fi
212
+
213
+ export MCS_USE_S3_STORAGE=1
214
+ message_split
215
+ message " Starting Storage Manager service"
216
+ systemctl start mcs-storagemanager
217
+ check_service mcs-storagemanager
195
218
}
196
219
197
220
clean_old_installation () {
221
+ if [[ $NO_CLEAN = true || $RECOMPILE_ONLY = true ]]; then
222
+ return
223
+ fi
224
+
225
+ if [ " $EUID " -ne 0 ]; then
226
+ error " Please run script as root to be able to clean installations"
227
+ exit 1
228
+ fi
198
229
message_split
199
230
message " Cleaning old installation"
200
231
rm -rf /var/lib/columnstore/data1/*
@@ -479,19 +510,28 @@ build_binary() {
479
510
message " Configuring cmake silently"
480
511
${CMAKE_BIN_NAME} " ${MDB_CMAKE_FLAGS[@]} " -S" $MDB_SOURCE_PATH " -B" $MARIA_BUILD_PATH " | spinner
481
512
message_split
482
- check_debian_install_file
513
+ # check_debian_install_file // will be uncommented later
483
514
generate_svgs
484
515
485
- ${CMAKE_BIN_NAME} --build " $MARIA_BUILD_PATH " -j " $CPUS " | onelinearizator &&
486
- message " Installing silently" &&
487
- ${CMAKE_BIN_NAME} --install " $MARIA_BUILD_PATH " | spinner 30
488
-
516
+ ${CMAKE_BIN_NAME} --build " $MARIA_BUILD_PATH " -j " $CPUS " | onelinearizator
489
517
check_errorcode
490
518
491
519
message " Adding symbol link to compile_commands.json to the source root"
492
520
ln -sf " $MARIA_BUILD_PATH /compile_commands.json" " $MDB_SOURCE_PATH "
493
521
}
494
522
523
+ install_binary () {
524
+ if [[ $RECOMPILE_ONLY = true ]]; then
525
+ warn " No binary installation done"
526
+ return
527
+ fi
528
+
529
+ message " Installing silently"
530
+ cd $MDB_SOURCE_PATH
531
+ ${CMAKE_BIN_NAME} --install " $MARIA_BUILD_PATH " | spinner 30
532
+ check_errorcode
533
+ }
534
+
495
535
check_user_and_group () {
496
536
user=$1
497
537
if [ -z " $( grep " $user " /etc/passwd) " ]; then
@@ -510,24 +550,26 @@ run_unit_tests() {
510
550
message_split
511
551
if [[ $SKIP_UNIT_TESTS = true ]]; then
512
552
warn " Skipping unittests"
513
- else
514
- message " Running unittests"
515
- cd $MARIA_BUILD_PATH
516
- ${CTEST_BIN_NAME} . -R columnstore: -j $( nproc) --progress --output-on-failure
517
- cd - > /dev/null
553
+ return
518
554
fi
555
+
556
+ message " Running unittests"
557
+ cd $MARIA_BUILD_PATH
558
+ ${CTEST_BIN_NAME} . -R columnstore: -j $( nproc) --progress --output-on-failure
559
+ cd - > /dev/null
519
560
}
520
561
521
562
run_microbenchmarks_tests () {
522
563
message_split
523
564
if [[ $RUN_BENCHMARKS = false ]]; then
524
565
warn " Skipping microbenchmarks"
525
- else
526
- message " Runnning microbenchmarks"
527
- cd $MARIA_BUILD_PATH
528
- ${CTEST_BIN_NAME} . -V -R columnstore_microbenchmarks: -j $( nproc) --progress
529
- cd - > /dev/null
566
+ return
530
567
fi
568
+
569
+ message " Runnning microbenchmarks"
570
+ cd $MARIA_BUILD_PATH
571
+ ${CTEST_BIN_NAME} . -V -R columnstore_microbenchmarks: -j $( nproc) --progress
572
+ cd - > /dev/null
531
573
}
532
574
533
575
disable_plugins_for_bootstrap () {
@@ -593,95 +635,99 @@ make_dir() {
593
635
}
594
636
595
637
install () {
596
- if [[ $RECOMPILE_ONLY = false ]]; then
638
+ if [[ $RECOMPILE_ONLY = true ]]; then
639
+ warn " No install configuration done"
640
+ return
641
+ fi
597
642
598
- if [ " $EUID " -ne 0 ]; then
599
- error " Please run script as root to install MariaDb to system paths"
600
- exit 1
601
- fi
643
+ if [ " $EUID " -ne 0 ]; then
644
+ error " Please run script as root to install MariaDb to system paths"
645
+ exit 1
646
+ fi
602
647
603
- message_split
604
- message " Installing MariaDB"
605
- disable_plugins_for_bootstrap
648
+ message_split
649
+ message " Installing MariaDB"
650
+ disable_plugins_for_bootstrap
606
651
607
- make_dir " $REPORT_PATH "
608
- chmod 777 " $REPORT_PATH "
652
+ make_dir " $REPORT_PATH "
653
+ chmod 777 " $REPORT_PATH "
609
654
610
- check_user_and_group mysql
611
- check_user_and_group syslog
655
+ check_user_and_group mysql
656
+ check_user_and_group syslog
612
657
613
- make_dir $CONFIG_DIR
658
+ make_dir $CONFIG_DIR
614
659
615
- echo " [client-server]
660
+ echo " [client-server]
616
661
socket=/run/mysqld/mysqld.sock" > $CONFIG_DIR /socket.cnf
617
662
618
- make_dir /var/lib/mysql
663
+ make_dir /var/lib/mysql
619
664
620
- message " Running mysql_install_db "
621
- sudo -u mysql mysql_install_db --rpm --user=mysql > /dev/null
665
+ message " Running mariadb-install-db "
666
+ sudo -u mysql mariadb-install-db --rpm --user=mysql > /dev/null
622
667
623
- enable_columnstore_back
668
+ enable_columnstore_back
624
669
625
- make_dir /etc/columnstore
670
+ make_dir /etc/columnstore
626
671
627
- if [[ " $NO_CLEAN " == false ]]; then
628
- cp " $MDB_SOURCE_PATH " /storage/columnstore/columnstore/oam/etc/Columnstore.xml /etc/columnstore/Columnstore.xml
629
- cp " $MDB_SOURCE_PATH " /storage/columnstore/columnstore/storage-manager/storagemanager.cnf /etc/columnstore/storagemanager.cnf
630
- fi
672
+ if [[ " $NO_CLEAN " == false ]]; then
673
+ cp " $MDB_SOURCE_PATH " /storage/columnstore/columnstore/oam/etc/Columnstore.xml /etc/columnstore/Columnstore.xml
674
+ cp " $MDB_SOURCE_PATH " /storage/columnstore/columnstore/storage-manager/storagemanager.cnf /etc/columnstore/storagemanager.cnf
675
+ fi
631
676
632
- cp " $MDB_SOURCE_PATH " /storage/columnstore/columnstore/oam/install_scripts/* .service /lib/systemd/system/
677
+ cp " $MDB_SOURCE_PATH " /storage/columnstore/columnstore/oam/install_scripts/* .service /lib/systemd/system/
633
678
634
- if [[ " $OS " = * " ubuntu" * || " $OS " = * " debian" * ]]; then
635
- make_dir /usr/share/mysql
636
- make_dir /etc/mysql/
637
- cp " $MDB_SOURCE_PATH " /debian/additions/debian-start.inc.sh /usr/share/mysql/debian-start.inc.sh
638
- cp " $MDB_SOURCE_PATH " /debian/additions/debian-start /etc/mysql/debian-start
639
- > /etc/mysql/debian.cnf
640
- fi
679
+ if [[ " $OS " = * " ubuntu" * || " $OS " = * " debian" * ]]; then
680
+ make_dir /usr/share/mysql
681
+ make_dir /etc/mysql/
682
+ cp " $MDB_SOURCE_PATH " /debian/additions/debian-start.inc.sh /usr/share/mysql/debian-start.inc.sh
683
+ cp " $MDB_SOURCE_PATH " /debian/additions/debian-start /etc/mysql/debian-start
684
+ > /etc/mysql/debian.cnf
685
+ fi
641
686
642
- fix_config_files
687
+ fix_config_files
643
688
644
- if [ -d " $DEBCONFIG_DIR " ]; then
645
- message " Copying configs from $DEBCONFIG_DIR to $CONFIG_DIR "
646
- cp -rp " $DEBCONFIG_DIR " /* " $CONFIG_DIR "
647
- fi
689
+ if [ -d " $DEBCONFIG_DIR " ]; then
690
+ message " Copying configs from $DEBCONFIG_DIR to $CONFIG_DIR "
691
+ cp -rp " $DEBCONFIG_DIR " /* " $CONFIG_DIR "
692
+ fi
648
693
649
- make_dir /var/lib/columnstore/data1
650
- make_dir /var/lib/columnstore/data1/systemFiles
651
- make_dir /var/lib/columnstore/data1/systemFiles/dbrm
652
- make_dir /run/mysqld/
653
- make_dir $DATA_DIR
694
+ make_dir /var/lib/columnstore/data1
695
+ make_dir /var/lib/columnstore/data1/systemFiles
696
+ make_dir /var/lib/columnstore/data1/systemFiles/dbrm
697
+ make_dir /run/mysqld/
698
+ make_dir $DATA_DIR
654
699
655
- chmod +x $INSTALL_PREFIX /bin/mariadb*
700
+ chmod +x $INSTALL_PREFIX /bin/mariadb*
656
701
657
- ldconfig
702
+ ldconfig
658
703
659
- start_storage_manager_if_needed
704
+ start_storage_manager_if_needed
660
705
661
- message " Running columnstore-post-install"
662
- make_dir /var/lib/columnstore/local
663
- columnstore-post-install --rpmmode=install
664
- message " Running install_mcs_mysql"
665
- install_mcs_mysql.sh
666
- fi
706
+ message " Running columnstore-post-install"
707
+ make_dir /var/lib/columnstore/local
708
+ columnstore-post-install --rpmmode=install
709
+ message " Running install_mcs_mysql"
710
+ install_mcs_mysql.sh
667
711
668
712
chown -R syslog:syslog /var/log/mariadb/
669
713
chmod 777 /var/log/mariadb/
670
714
chmod 777 /var/log/mariadb/columnstore
671
715
}
672
716
673
717
smoke () {
674
- if [[ $SKIP_SMOKE = false ]]; then
675
- message_split
676
- message " Creating test database"
677
- mariadb -e " create database if not exists test;"
678
- message " Selecting magic numbers"
679
- MAGIC=$( mysql -N test < " $MDB_SOURCE_PATH " /storage/columnstore/columnstore/tests/scripts/smoke.sql)
680
- if [[ $MAGIC == ' 42' ]]; then
681
- message " Great answer correct!"
682
- else
683
- warn " Smoke failed, answer is '$MAGIC '"
684
- fi
718
+ if [[ $RECOMPILE_ONLY = true || $SKIP_SMOKE = true || $RESTART_SERVICES = false ]]; then
719
+ return
720
+ fi
721
+
722
+ message_split
723
+ message " Creating test database"
724
+ mariadb -e " create database if not exists test;"
725
+ message " Selecting magic numbers"
726
+ MAGIC=$( mariadb -N test < " $MDB_SOURCE_PATH " /storage/columnstore/columnstore/tests/scripts/smoke.sql)
727
+ if [[ $MAGIC == ' 42' ]]; then
728
+ message " Great answer correct!"
729
+ else
730
+ warn " Smoke failed, answer is '$MAGIC '"
685
731
fi
686
732
}
687
733
692
738
construct_cmake_flags
693
739
init_submodules
694
740
695
- if [[ $BUILD_PACKAGES = false ]]; then
696
- stop_service
697
-
698
- if [[ $NO_CLEAN = false ]]; then
699
- clean_old_installation
700
- fi
701
- build_binary
702
- run_unit_tests
703
- run_microbenchmarks_tests
704
- install
705
- if [[ $RESTART_SERVICES = true ]]; then
706
- start_service
707
- smoke
708
- fi
709
- else
741
+ if [[ $BUILD_PACKAGES = true ]]; then
710
742
modify_packaging
711
743
build_package
744
+ message_splitted " PACKAGES BUILD FINISHED"
745
+
746
+ return 0
712
747
fi
713
748
749
+ stop_service
750
+ clean_old_installation
751
+ build_binary
752
+ install_binary
753
+ run_unit_tests
754
+ run_microbenchmarks_tests
755
+ install
756
+ start_service
757
+ smoke
758
+
714
759
message_splitted " FINISHED"
0 commit comments