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.
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.
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
17 # Copyright 2023,2024 Friedrich Kink
21 USE_PARALLEL_BUILD
= yes
22 include ..
/..
/..
/make-rules
/shared-macros.mk
24 COMPONENT_NAME
= mariadb
25 COMPONENT_VERSION
= 10.6.18
27 COMPONENT_MAJOR_VERSION
=$(subst $(space
),.
,$(wordlist
1,2,$(subst .
, ,$(HUMAN_VERSION
))))
28 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
29 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
30 COMPONENT_ARCHIVE_HASH
= sha256
:6898a1111f47130709e28ba2c7bd1a57e4bb57101f6e109e597d51e6d385cf18
31 COMPONENT_PROJECT_URL
= https
://www.mariadb.org
/
32 # For the source files look at https://dlm.mariadb.com/browse/mariadb_server/163
33 COMPONENT_ARCHIVE_URL
= https
://dlm.mariadb.com
/3795487/MariaDB
/$(COMPONENT_SRC
)/source
/$(COMPONENT_ARCHIVE
)
34 COMPONENT_SIG_URL
= https
://dlm.mariadb.com
/3795488/MariaDB
/$(COMPONENT_SRC
)/source
/$(COMPONENT_ARCHIVE
).asc
35 COMPONENT_LICENSE
= GPL-2.0
-only
36 COMPONENT_LICENSE_FILE
= COPYING
38 include $(WS_MAKE_RULES
)/common.mk
40 MARIADBV
= $(subst .
,,$(COMPONENT_MAJOR_VERSION
))
43 RANLIB
=/usr
/bin
/granlib
44 PCRE_INCLUDE
=/usr
/include/pcre
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
51 LDFLAGS
+= -Bsymbolic
-mimpure-text
-lrt
-L
$(OPENSSL_PREFIX
)/lib
/$(MACH64
)
53 CONFIGURE_PREFIX
=/usr
/mariadb
/$(COMPONENT_MAJOR_VERSION
)
54 CONFDIR
=/etc
/mariadb
/$(COMPONENT_MAJOR_VERSION
)
55 DATA_PREFIX
=/var
/mariadb
/$(COMPONENT_MAJOR_VERSION
)
57 CMAKE_PLUGINDIR
.64 = lib
/$(MACH64
)/plugin
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
)
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
91 CMAKE_OPTIONS
+= -DCMAKE_REQUIRED_INCLUDES
="$(PCRE_INCLUDE) $(OPENSSL_INCDIR)"
92 CMAKE_OPTIONS
+= -DWITH_INNOBASE_STORAGE_ENGINE
=1
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
99 CMAKE_OPTIONS
+= -DJAVA_AWT_LIBRARY
=/usr
/java
/jre
/lib
/$(MACH64
)/libjawt.so
100 CMAKE_OPTIONS
+= -DJAVA_JVM_LIBRARY
=/usr
/java
/jre
/lib
/$(MACH64
)/server
/libjvm.so
101 CMAKE_OPTIONS
+= -DMARIADB_UNIX_ADDR
=/tmp
/mariadb
$(MARIADBV
).sock
102 CMAKE_OPTIONS
+= -DMYSQL_UNIX_ADDR
=/tmp
/mariadb
$(MARIADBV
).sock
103 CMAKE_OPTIONS
+= -DPLUGIN_ROCKSDB
=NO
105 CMAKE_ENV
+= CPPFLAGS
="$(CPPFLAGS) -I$(OPENSSL_INCDIR)"
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
118 MARIADB_TEST_TRANSFORMS
+= -n
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
124 # Mangle test results and sort them
125 COMPONENT_TEST_TRANSFORMS
+= \
127 $(GSED) -u -n -e '/^-\{32\}/q' ; \
128 $(GSED) -u $(MARIADB_TEST_TRANSFORMS) -e '/^-\{32\}/Q' | $(SORT) ; \
129 print "--------------------------------" ; \
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'"
134 COMPONENT_TEST_TRANSFORMS
+= "-e '/\[ skipped \] Extra checkpoint 1 after/d'"
135 # Because of above the final stat of skipped tests could vary as well
136 COMPONENT_TEST_TRANSFORMS
+= "-e '/^[0-9]\{1,\} tests were skipped/d'"
138 # Manually added test dependencies
139 TEST_REQUIRED_PACKAGES
+= library
/perl-5
/dbd-mariadb
140 TEST_REQUIRED_PACKAGES
+= library
/perl-5
/dbi
142 # Auto-generated dependencies
143 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
144 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
145 REQUIRED_PACKAGES
+= $(OPENSSL_PKG
)
146 REQUIRED_PACKAGES
+= SUNWcs
147 REQUIRED_PACKAGES
+= compress
/bzip2
148 REQUIRED_PACKAGES
+= compress
/xz
149 REQUIRED_PACKAGES
+= compress
/zstd
150 REQUIRED_PACKAGES
+= library
/libxml2
151 REQUIRED_PACKAGES
+= library
/lz4
152 REQUIRED_PACKAGES
+= library
/lzo
153 REQUIRED_PACKAGES
+= library
/pcre2
154 REQUIRED_PACKAGES
+= library
/security
/cracklib
155 REQUIRED_PACKAGES
+= library
/unixodbc
156 REQUIRED_PACKAGES
+= library
/zlib
157 REQUIRED_PACKAGES
+= runtime
/perl
158 REQUIRED_PACKAGES
+= service
/security
/kerberos-5
159 REQUIRED_PACKAGES
+= shell/ksh93
160 REQUIRED_PACKAGES
+= system
/library
161 REQUIRED_PACKAGES
+= system
/library
/math
162 REQUIRED_PACKAGES
+= system
/library
/security
/gss
163 REQUIRED_PACKAGES
+= web
/curl