fritzkink
2024-02-23 642f9fcb6b9e12e21631e46bfa1bf1271e4a0a42
commit | author | age
060fa7 1 #
D 2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"). You may
4 # only use this file in accordance with the terms of the CDDL.
5 #
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
9 #
10
11 #
12 # Copyright 2011-2013, EveryCity Ltd. All rights reserved.
13 # Copyright 2016-2017, Wiselabs Software Ltda - http://www.wiselabs.com.br . All rights reserved.
14 # Copyright 2019, Michal Nowak
15 # Copyright 2022, erwinlem
16 # Copyright 2022, Daniel Bell
642f9f 17 # Copyright 2023,2024 Friedrich Kink
060fa7 18 #
D 19
35d88b 20 BUILD_STYLE= cmake
77e1bc 21 USE_PARALLEL_BUILD = yes
MT 22
060fa7 23 include ../../../make-rules/shared-macros.mk
D 24
25 COMPONENT_NAME=        mariadb
642f9f 26 COMPONENT_VERSION=    10.6.17
77e1bc 27 COMPONENT_MAJOR_VERSION=$(subst $(space),.,$(wordlist 1,2,$(subst ., ,$(HUMAN_VERSION))))
060fa7 28 COMPONENT_SRC=        $(COMPONENT_NAME)-$(COMPONENT_VERSION)
D 29 COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.gz
642f9f 30 COMPONENT_ARCHIVE_HASH=    sha256:fb41b0702059c046832d60138733acb73e4c0e5a1a0681061709d25591e4b086
060fa7 31 COMPONENT_PROJECT_URL=    https://www.mariadb.org/
642f9f 32 COMPONENT_ARCHIVE_URL=    https://dlm.mariadb.com/3713563/MariaDB/$(COMPONENT_SRC)/source/$(COMPONENT_ARCHIVE)
77e1bc 33 #COMPONENT_SIG_URL=    https://dlm.mariadb.com/3588623/MariaDB/$(COMPONENT_SRC)/source/$(COMPONENT_ARCHIVE).asc
MT 34 COMPONENT_LICENSE=    GPL-2.0-only
35 COMPONENT_LICENSE_FILE=    COPYING
060fa7 36
D 37 include $(WS_MAKE_RULES)/common.mk
77e1bc 38
MT 39 MARIADBV = $(subst .,,$(COMPONENT_MAJOR_VERSION))
ef96ad 40
060fa7 41 JAVA_HOME=/usr/jdk/openjdk1.8.0
D 42 AR=/usr/bin/gar
43 RANLIB=/usr/bin/granlib
44 PCRE_INCLUDE=/usr/include/pcre
45
46 CFLAGS += -fPIC
47 CXXFLAGS += -fPIC
48 CPPFLAGS += -I$(PCRE_INCLUDE) -I$(JAVA_HOME)/include/solaris
49 # Prevents "Text relocation remains referenced against symbol offset
50 # in file ../../sql/mysqld_dtrace_all.o" error
0d37ea 51 LDFLAGS += -Bsymbolic -mimpure-text -lrt -L$(OPENSSL_PREFIX)/lib/$(MACH64)
060fa7 52
D 53 CONFIGURE_PREFIX=/usr/mariadb/$(COMPONENT_MAJOR_VERSION)
54 CONFDIR=/etc/mariadb/$(COMPONENT_MAJOR_VERSION)
55 DATA_PREFIX=/var/mariadb/$(COMPONENT_MAJOR_VERSION)
56
57 CMAKE_PLUGINDIR.64 =    lib/$(MACH64)/plugin
58
59 CMAKE_OPTIONS+= -DCMAKE_C_COMPILER=$(CC)
60 CMAKE_OPTIONS+= -DCMAKE_CXX_COMPILER=$(CXX)
61 CMAKE_OPTIONS+= -DCMAKE_AR=$(AR)
62 CMAKE_OPTIONS+= -DCMAKE_RANLIB=$(RANLIB)
63
64 CMAKE_OPTIONS+= -DINSTALL_LAYOUT=SVR4
65 CMAKE_OPTIONS+= -DCMAKE_INSTALL_PREFIX=$(CONFIGURE_PREFIX)
66 CMAKE_OPTIONS+= -DINSTALL_BINDIR=$(CMAKE_BINDIR.$(BITS))
67 CMAKE_OPTIONS+= -DINSTALL_INFODIR=bin
68 CMAKE_OPTIONS+= -DINSTALL_INCLUDEDIR=include
69 CMAKE_OPTIONS+= -DINSTALL_LIBDIR=$(CMAKE_LIBDIR.$(BITS))
70 CMAKE_OPTIONS+= -DINSTALL_PLUGINDIR=$(CMAKE_PLUGINDIR.$(BITS))
71 CMAKE_OPTIONS+= -DINSTALL_MANDIR=man
72 CMAKE_OPTIONS+= -DINSTALL_SHAREDIR=share
73 CMAKE_OPTIONS+= -DINSTALL_MYSQLSHAREDIR=share
74 CMAKE_OPTIONS+= -DINSTALL_SBINDIR=$(CMAKE_BINDIR.$(BITS))
75 CMAKE_OPTIONS+= -DINSTALL_SCRIPTDIR=$(CMAKE_BINDIR.$(BITS))
76 CMAKE_OPTIONS+= -DMYSQL_DATADIR=$(DATA_PREFIX)/data
77 CMAKE_OPTIONS+= -DSYSCONFDIR=$(CONFDIR)
78 CMAKE_OPTIONS+= -DINSTALL_SYSCONFDIR=$(CONFDIR)
79 CMAKE_OPTIONS+= -DENABLE_DTRACE=ON
80 CMAKE_OPTIONS+= -DWITH_READLINE=ON
81 CMAKE_OPTIONS+= -DWITH_EMBEDDED_SERVER=ON
82 CMAKE_OPTIONS+= -DWITHOUT_MROONGA_STORAGE_ENGINE=ON
83 CMAKE_OPTIONS+= -DHAVE_VISIBILITY_HIDDEN=0
84 CMAKE_OPTIONS+= -DMY_CONTEXT_USE_UCONTEXT=1
85 CMAKE_OPTIONS+= -DWITH_EXTRA_CHARSETS=complex
86 CMAKE_OPTIONS+= -DWITH_ZLIB=system
87 CMAKE_OPTIONS+= -DWITH_PCRE=system
88 CMAKE_OPTIONS+= -DWITH_SSL=system
89 CMAKE_OPTIONS+= -DINSTALL_SUPPORTFILESDIR=share/mysql
90 CMAKE_OPTIONS+= -DCMAKE_BUILD_TYPE=Release
77e1bc 91 CMAKE_OPTIONS+= -DCMAKE_REQUIRED_INCLUDES="$(PCRE_INCLUDE) $(OPENSSL_INCDIR)"
060fa7 92 CMAKE_OPTIONS+= -DWITH_INNOBASE_STORAGE_ENGINE=1
D 93 CMAKE_OPTIONS+= -DWITH_INNODB_MEMCACHED=ON
94 CMAKE_OPTIONS+= -DWITH_COMMENT="OpenIndiana MariaDB"
95 CMAKE_OPTIONS+= -DWITH_XTRADB_STORAGE_ENGINE=1
96 CMAKE_OPTIONS+= -DWITH_CSV_STORAGE_ENGINE=1
97 CMAKE_OPTIONS+= -DCOMPILATION_COMMENT="OpenIndiana package"
98 CMAKE_OPTIONS+= -DJAVA_INCLUDE_PATH=$(JAVA_HOME)/include
78e83b 99 CMAKE_OPTIONS+= -DJAVA_AWT_LIBRARY=/usr/java/jre/lib/$(MACH64)/libjawt.so
K 100 CMAKE_OPTIONS+= -DJAVA_JVM_LIBRARY=/usr/java/jre/lib/$(MACH64)/server/libjvm.so
77e1bc 101 CMAKE_OPTIONS+= -DMARIADB_UNIX_ADDR=/tmp/mariadb$(MARIADBV).sock
MT 102 CMAKE_OPTIONS+= -DMYSQL_UNIX_ADDR=/tmp/mariadb$(MARIADBV).sock
103 CMAKE_OPTIONS+= -DPLUGIN_ROCKSDB=NO
060fa7 104
77e1bc 105 CMAKE_ENV += CPPFLAGS="$(CPPFLAGS) -I$(OPENSSL_INCDIR)"
060fa7 106
77e1bc 107 # Testing
MT 108 COMPONENT_TEST_DIR = $(@D)/mysql-test
109 COMPONENT_TEST_CMD = ./mtr
110 COMPONENT_TEST_ARGS += --parallel=$(PARALLEL_JOBS)
111 COMPONENT_TEST_ARGS += --mem
112 COMPONENT_TEST_ARGS += --force
113 COMPONENT_TEST_ARGS += --retry=0
114 COMPONENT_TEST_ARGS += --force-restart
115 COMPONENT_TEST_ARGS += --max-test-fail=0
116 COMPONENT_TEST_ARGS += --skip-test-list=$(COMPONENT_DIR)/files/disabled-tests
060fa7 117
77e1bc 118 MARIADB_TEST_TRANSFORMS += -n
MT 119 MARIADB_TEST_TRANSFORMS += -e 's/  */ /g'            # Collapse spaces
120 MARIADB_TEST_TRANSFORMS += -e 's/ \] [0-9]*$$/ \]/'        # Timing
121 MARIADB_TEST_TRANSFORMS += -e 's/ w[0-9]\{1,\} / /'        # Worker number
122 MARIADB_TEST_TRANSFORMS += -e '/\[ [^ ]\{1,\} \]/p'        # Print test results only
060fa7 123
77e1bc 124 # Mangle test results and sort them
MT 125 COMPONENT_TEST_TRANSFORMS += \
126     "| ( \
127         $(GSED) -u -n -e '/^-\{32\}/q' ; \
128         $(GSED) -u $(MARIADB_TEST_TRANSFORMS) -e '/^-\{32\}/Q' | $(SORT) ; \
129         print "--------------------------------" ; \
130         $(CAT) \
131     ) | $(COMPONENT_TEST_TRANSFORMER) -e '/^Spent /d'"
132 # Skipped tests that require debug build could vary
133 COMPONENT_TEST_TRANSFORMS += "-e '/\[ skipped \] Requires debug build$$/d'"
642f9f 134 COMPONENT_TEST_TRANSFORMS += "-e '/\[ skipped \] Extra checkpoint 1 after/d'"
77e1bc 135 # Because of above the final stat of skipped tests could vary as well
MT 136 COMPONENT_TEST_TRANSFORMS += "-e '/^[0-9]\{1,\} tests were skipped/d'"
137
138 # Manually added test dependencies
139 TEST_REQUIRED_PACKAGES += library/perl-5/dbd-mariadb
140 TEST_REQUIRED_PACKAGES += library/perl-5/dbi
141
060fa7 142 # Auto-generated dependencies
D 143 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
144 REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
0d37ea 145 REQUIRED_PACKAGES += SUNWcs
060fa7 146 REQUIRED_PACKAGES += compress/bzip2
D 147 REQUIRED_PACKAGES += compress/xz
0d37ea 148 REQUIRED_PACKAGES += compress/zstd
060fa7 149 REQUIRED_PACKAGES += library/libxml2
D 150 REQUIRED_PACKAGES += library/lz4
151 REQUIRED_PACKAGES += library/lzo
152 REQUIRED_PACKAGES += library/pcre2
153 REQUIRED_PACKAGES += library/security/cracklib
35d88b 154 REQUIRED_PACKAGES += library/security/openssl-31
060fa7 155 REQUIRED_PACKAGES += library/unixodbc
D 156 REQUIRED_PACKAGES += library/zlib
157 REQUIRED_PACKAGES += runtime/perl
158 REQUIRED_PACKAGES += service/security/kerberos-5
0d37ea 159 REQUIRED_PACKAGES += shell/ksh93
060fa7 160 REQUIRED_PACKAGES += system/library
D 161 REQUIRED_PACKAGES += system/library/math
162 REQUIRED_PACKAGES += system/library/security/gss
0d37ea 163 REQUIRED_PACKAGES += web/curl