5 kx
5 kx COMPONENT_TARGETS = $(HARDWARE_INTEL_PC32)
5 kx COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
5 kx COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
5 kx COMPONENT_TARGETS += $(HARDWARE_CB1X)
5 kx COMPONENT_TARGETS += $(HARDWARE_CB2X)
5 kx COMPONENT_TARGETS += $(HARDWARE_CB3X)
5 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
5 kx COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
5 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
5 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
385 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
385 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5B)
385 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5P)
385 kx COMPONENT_TARGETS += $(HARDWARE_ROCK_5B)
5 kx COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
385 kx COMPONENT_TARGETS += $(HARDWARE_REPKA_PI3)
5 kx COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
5 kx COMPONENT_TARGETS += $(HARDWARE_POIN2)
5 kx COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
5 kx COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
5 kx COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
5 kx COMPONENT_TARGETS += $(HARDWARE_M201)
5 kx COMPONENT_TARGETS += $(HARDWARE_MXV)
5 kx COMPONENT_TARGETS += $(HARDWARE_P201)
5 kx COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
5 kx COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
5 kx COMPONENT_TARGETS += $(HARDWARE_P212)
5 kx COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
5 kx COMPONENT_TARGETS += $(HARDWARE_Q201)
5 kx COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
5 kx COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
5 kx COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
5 kx COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
5 kx COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
5 kx COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
5 kx COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
5 kx COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
5 kx COMPONENT_TARGETS += $(HARDWARE_CI20)
5 kx COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
5 kx COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
5 kx COMPONENT_TARGETS += $(HARDWARE_S824L)
5 kx COMPONENT_TARGETS += $(HARDWARE_VESNIN)
5 kx COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
5 kx COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
5 kx COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
5 kx COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
5 kx COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
5 kx COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
385 kx COMPONENT_TARGETS += $(HARDWARE_VISIONFIVE2)
5 kx COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
5 kx
5 kx
5 kx NEED_ABS_PATH = true
5 kx COMPONENT_IS_3PP = true
5 kx
5 kx
5 kx include ../../../build-system/constants.mk
5 kx
5 kx
5 kx SOURCE_REQUIRES = sources/packages/b/mariadb
5 kx
5 kx REQUIRES = libs/pcre2/10.36
5 kx REQUIRES += libs/libaio/0.3.112
5 kx REQUIRES += libs/libarchive/3.5.2
5 kx REQUIRES += libs/libevent/2.1.12
5 kx REQUIRES += libs/readline/8.2
5 kx REQUIRES += libs/boost/1.77.0
5 kx REQUIRES += libs/liburing/2.1
5 kx REQUIRES += libs/jemalloc/5.2.1
5 kx REQUIRES += libs/judy/1.0.5
5 kx REQUIRES += net/openssl/1.1.1r
5 kx REQUIRES += net/krb5/1.19.1
5 kx REQUIRES += net/curl/7.75.0
5 kx REQUIRES += secure/cracklib/2.9.7
5 kx REQUIRES += secure/pam/1.5.1
5 kx
5 kx # ======= __END_OF_REQUIRES__ =======
5 kx
5 kx
5 kx version = 10.6.5
5 kx tar_gz_archive = $(SRC_PACKAGE_PATH)/packages/b/mariadb/mariadb-$(version).tar.gz
5 kx SRC_ARCHIVE = $(tar_gz_archive)
5 kx SRC_DIR = $(TARGET_BUILD_DIR)/mariadb-$(version)
5 kx src_dir_name = mariadb-$(version)
5 kx src_done = $(TARGET_BUILD_DIR)/.source_done
5 kx
5 kx rc_mysqld = $(CURDIR)/etc/rc.d/rc.mysqld
5 kx
5 kx my_uid = 27
5 kx my_gid = 27
5 kx
5 kx PATCHES = PATCHES
5 kx
5 kx build_target = $(TARGET_BUILD_DIR)/.build_done
5 kx install_target = $(TARGET_BUILD_DIR)/.install_done
5 kx
5 kx
5 kx ####### Targets
5 kx
5 kx PKG_GROUP = app
5 kx
5 kx #
5 kx # *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
5 kx #
5 kx MARIADB_PKG_NAME = mariadb
5 kx MARIADB_PKG_VERSION = 10.6.5
5 kx MARIADB_PKG_ARCH = $(PKGARCH)
5 kx MARIADB_PKG_DISTRO_NAME = $(DISTRO_NAME)
5 kx MARIADB_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
5 kx MARIADB_PKG_GROUP = $(PKG_GROUP)
5 kx ### |---handy-ruler-------------------------------|
5 kx MARIADB_PKG_SHORT_DESCRIPTION = the MySQL Database Server
5 kx MARIADB_PKG_URL = $(BUG_URL)
5 kx MARIADB_PKG_LICENSE = GPLv2
5 kx MARIADB_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(MARIADB_PKG_NAME)-pkg-description
5 kx MARIADB_PKG_DESCRIPTION_FILE_IN = $(MARIADB_PKG_NAME)-pkg-description.in
5 kx MARIADB_PKG_INSTALL_SCRIPT = $(MARIADB_PKG_NAME)-pkg-install.sh
5 kx
5 kx MARIADB_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(MARIADB_PKG_NAME)-package
5 kx
5 kx pkg_basename = $(MARIADB_PKG_NAME)-$(MARIADB_PKG_VERSION)-$(MARIADB_PKG_ARCH)-$(MARIADB_PKG_DISTRO_NAME)-$(MARIADB_PKG_DISTRO_VERSION)
5 kx
5 kx pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
5 kx pkg_certificate = $(call cert-name,$(pkg_archive))
5 kx pkg_signature = $(call sign-name,$(pkg_archive))
5 kx pkg_description = $(call desc-name,$(pkg_archive))
5 kx products = $(call pkg-files,$(pkg_archive))
5 kx
5 kx BUILD_TARGETS = $(build_target)
5 kx BUILD_TARGETS += $(install_target)
5 kx
5 kx PRODUCT_TARGETS = $(products)
5 kx
5 kx ROOTFS_TARGETS = $(pkg_archive)
5 kx
5 kx
5 kx include ../../../build-system/core.mk
5 kx
5 kx
5 kx env_sysroot = DESTDIR=$(MARIADB_PKG)
5 kx
5 kx
5 kx #
5 kx # MariaDB cannot use CCACHE:
5 kx # =========================
5 kx # Therefore, we use the following workaround:
5 kx #
5 kx # We do not explicitly set the CMAKE_C_COMPILER variable,
5 kx # but substituting CC from the Build-System environment gives
5 kx # 'ccache gcc' and the variable CMAKE_C_COMPILER is set to
5 kx # CMAKE_C_COMPILER=ccache. Next, we indicate the real path to
5 kx # the compiler through the CMAKE_C_COMPILER_ARG1 variable.
5 kx #
5 kx # -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
5 kx # -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
5 kx #
5 kx
5 kx configure_switches += -DCMAKE_C_COMPILER_ARG1='$(CROSS_PREFIX)gcc'
5 kx configure_switches += -DCMAKE_CXX_COMPILER_ARG1='$(CROSS_PREFIX)g++'
5 kx
5 kx configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
5 kx configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
5 kx configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
5 kx configure_switches += -DCMAKE_ADDR2LINE='$(CROSS_PREFIX)addr2line'
5 kx configure_switches += -DCMAKE_READELF='$(CROSS_PREFIX)readelf'
5 kx configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
5 kx configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
5 kx configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
5 kx configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
5 kx
5 kx configure_switches += -DCMAKE_C_COMPILER_AR='$(AR)'
5 kx configure_switches += -DCMAKE_CXX_COMPILER_AR='$(AR)'
5 kx configure_switches += -DCMAKE_C_COMPILER_RANLIB='$(RANLIB)'
5 kx configure_switches += -DCMAKE_CXX_COMPILER_RANLIB='$(RANLIB)'
5 kx
5 kx suppress-warnings = -Wno-restrict -Wformat-overflow=0 -Wimplicit-fallthrough=0 -Wno-return-local-addr
5 kx suppress-warnings += -Wno-stringop-truncation -Wstringop-overflow=0 -Wno-maybe-uninitialized
5 kx
5 kx configure_switches += -DCMAKE_C_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -fPIC -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -fno-delete-null-pointer-checks $(suppress-warnings)'
5 kx configure_switches += -DCMAKE_CXX_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -fPIC -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-delete-null-pointer-checks -Wno-range-loop-construct $(suppress-warnings)'
5 kx
5 kx ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
5 kx LDFLAGS += -latomic
5 kx endif
5 kx
5 kx configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)'
5 kx configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)'
5 kx configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)'
5 kx
5 kx configure_switches += -DCMAKE_BUILD_TYPE=RelWithDebInfo
5 kx
5 kx configure_switches += -DFEATURE_SET='community'
5 kx configure_switches += -DINSTALL_LAYOUT='RPM'
5 kx configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
5 kx configure_switches += -DINSTALL_LIBDIR='lib$(LIBSUFFIX)'
5 kx configure_switches += -DINSTALL_PCDIR='lib$(LIBSUFFIX)/pkgconfig'
5 kx configure_switches += -DINSTALL_SCRIPTDIR=bin
5 kx configure_switches += -DINSTALL_SBINDIR=libexec
5 kx configure_switches += -DINSTALL_INCLUDEDIR=include/mysql
5 kx configure_switches += -DINSTALL_MYSQLSHAREDIR=share/mysql
5 kx configure_switches += -DINSTALL_SQLBENCHDIR=
5 kx configure_switches += -DINSTALL_MYSQLTESTDIR=share/mysql-test
5 kx configure_switches += -DINSTALL_MANDIR=share/man
5 kx configure_switches += -DINSTALL_PLUGINDIR='lib$(LIBSUFFIX)/mysql/plugin'
5 kx configure_switches += -DINSTALL_SUPPORTFILESDIR=share/mysql
5 kx configure_switches += -DINSTALL_MYSQLDATADIR='/var/lib/mysql'
5 kx configure_switches += -DINSTALL_DOCREADMEDIR='share/doc/$(src_dir_name)'
5 kx configure_switches += -DINSTALL_DOCDIR='share/doc/$(src_dir_name)'
5 kx configure_switches += -DMYSQL_DATADIR='/var/lib/mysql'
5 kx
5 kx configure_switches += -DINSTALL_PAMDATADIR=/etc/security
5 kx configure_switches += -DINSTALL_PAMDIR=/lib$(LIBSUFFIX)/security
5 kx
5 kx configure_switches += -DMYSQL_UNIX_ADDR='/var/run/mysql/mysql.sock'
5 kx configure_switches += -DDEFAULT_CHARSET=utf8mb4
5 kx configure_switches += -DDEFAULT_COLLATION=utf8mb4_general_ci
5 kx configure_switches += -DWITH_EXTRA_CHARSETS=complex
5 kx configure_switches += -DENABLED_LOCAL_INFILE=ON
5 kx configure_switches += -DWITH_EMBEDDED_SERVER=YES
5 kx
5 kx configure_switches += -DWITH_LIBARCHIVE=ON
5 kx configure_switches += -DWITH_READLINE=ON
5 kx configure_switches += -DWITH_JEMALLOC=ON
5 kx configure_switches += -DWITH_ZLIB=system
5 kx configure_switches += -DWITH_EXTERNAL_ZLIB=ON
5 kx configure_switches += -DWITH_ZSTD=system
5 kx configure_switches += -DWITH_SSL=system
5 kx configure_switches += -DWITH_PCRE=system
5 kx
5 kx configure_switches += -DWITH_SYSTEMD=no
5 kx
5 kx configure_switches += -DCONC_WITH_UNIT_TESTS=OFF
5 kx configure_switches += -DWITH_UNIT_TESTS=OFF
5 kx
5 kx configure_switches += -DUSE_ARIA_FOR_TMP_TABLES=ON
5 kx configure_switches += -DAWS_SDK_EXTERNAL_PROJECT=OFF
5 kx
5 kx configure_switches += -DCMAKE_CROSSCOMPILING='TRUE'
5 kx configure_switches += -DCMAKE_SYSTEM_PROCESSOR=$(word 1,$(subst -, ,$(TARGET)))
5 kx
5 kx configure_switches += -DPYTHON_SHEBANG=$(PYTHON3)
5 kx
5 kx configure_switches += -DWITH_READLINE=ON
5 kx configure_switches += -DWITH_LIBWRAP=OFF
5 kx
5 kx ############################################################
5 kx #
5 kx # Extra settings:
5 kx #
5 kx configure_switches += -DJudy_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DJudy_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libJudy.so
5 kx configure_switches += -DKRB5_CONFIG=$(TARGET_DEST_DIR)/usr/bin/krb5-config
5 kx configure_switches += -DLIBAIO_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DLIBAIO_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libaio.so
5 kx configure_switches += -DPAM_LIBRARY=$(TARGET_DEST_DIR)/lib$(LIBSUFFIX)/libpam.so
5 kx
5 kx configure_switches += -DBZIP2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DBZIP2_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libbz2.so
5 kx configure_switches += -DZLIB_INCLUDE=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libz.so
5 kx configure_switches += -DZSTD_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DZSTD_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libzstd.so
5 kx configure_switches += -DURING_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DURING_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/liburing.so
5 kx
5 kx configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libcurses.so
5 kx configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libform.so
5 kx configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libncurses.so
5 kx
5 kx configure_switches += -DOPENSSL_CRYPTO_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libcrypto.so
5 kx configure_switches += -DOPENSSL_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DOPENSSL_SSL_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libssl.so
5 kx
5 kx configure_switches += -DEVENT_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libevent.so
5 kx
5 kx
5 kx BOOST_VERSION = 1.77.0
5 kx
5 kx configure_switches += -DBoost_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
5 kx configure_switches += -DBoost_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/Boost-$(BOOST_VERSION)
5 kx configure_switches += -DBoost_ATOMIC_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libboost_atomic.so.$(BOOST_VERSION)
5 kx configure_switches += -DBoost_CHRONO_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libboost_chrono.so.$(BOOST_VERSION)
5 kx configure_switches += -DBoost_DATE_TIME_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libboost_date_time.so.$(BOOST_VERSION)
5 kx configure_switches += -DBoost_FILESYSTEM_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libboost_filesystem.so.$(BOOST_VERSION)
5 kx configure_switches += -DBoost_REGEX_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libboost_regex.so.$(BOOST_VERSION)
5 kx configure_switches += -DBoost_SYSTEM_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libboost_system.so.$(BOOST_VERSION)
5 kx configure_switches += -DBoost_THREAD_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libboost_thread.so.$(BOOST_VERSION)
5 kx
5 kx configure_switches += -Dboost_atomic_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/boost_atomic-$(BOOST_VERSION)
5 kx configure_switches += -Dboost_chrono_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/boost_chrono-$(BOOST_VERSION)
5 kx configure_switches += -Dboost_date_time_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/boost_date_time-$(BOOST_VERSION)
5 kx configure_switches += -Dboost_filesystem_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/boost_filesystem-$(BOOST_VERSION)
5 kx configure_switches += -Dboost_headers_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/boost_headers-$(BOOST_VERSION)
5 kx configure_switches += -Dboost_regex_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/boost_regex-$(BOOST_VERSION)
5 kx configure_switches += -Dboost_system_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/boost_system-$(BOOST_VERSION)
5 kx configure_switches += -Dboost_thread_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/cmake/boost_thread-$(BOOST_VERSION)
5 kx #
5 kx # End of Extra settings
5 kx #
5 kx ############################################################
5 kx
5 kx configure_switches += -DPLUGIN_EXAMPLE=NO
5 kx configure_switches += -DPLUGIN_FEDERATED=NO
5 kx configure_switches += -DPLUGIN_FEEDBACK=NO
5 kx
5 kx configure_switches += -DWITH_INNOBASE_STORAGE_ENGINE=1
5 kx
5 kx build_switches = -DCMAKE_C_COMPILER='gcc'
5 kx build_switches += -DCMAKE_CXX_COMPILER='g++'
5 kx build_switches += -DCMAKE_C_FLAGS='-I/usr/include'
5 kx build_switches += -DCMAKE_CXX_FLAGS='-I/usr/include'
5 kx build_switches += -DCMAKE_INSTALL_PREFIX=/usr
5 kx build_switches += -DINSTALL_LIBDIR='lib$(LIBSUFFIX)'
5 kx build_switches += -DINSTALL_INCLUDEDIR='include/mysql'
5 kx build_switches += -DINSTALL_PLUGINDIR='lib$(LIBSUFFIX)/mysql/plugin'
5 kx
5 kx
5 kx ####### Dependencies
5 kx
5 kx $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
5 kx $(UNPACK_SRC_ARCHIVE)
5 kx $(APPLY_PATCHES)
5 kx @touch $@
5 kx
5 kx $(build_target): $(src_done)
5 kx @mkdir -p $(SRC_DIR)/build-machine
5 kx @( cd $(SRC_DIR)/build-machine ; \
5 kx PKG_CONFIG_PATH= cmake $(build_switches) .. ; \
5 kx $(MAKE) import_executables ; \
5 kx $(MAKE) mariadb_config ; \
5 kx cp -a libmariadb/mariadb_config/mariadb_config $(TARGET)-mysql_config ; \
5 kx )
5 kx @mkdir -p $(SRC_DIR)/build-$(HARDWARE)
5 kx @( cd $(SRC_DIR)/build-$(HARDWARE) ; \
5 kx $(BUILD_ENVIRONMENT) cmake $(configure_switches) .. ; \
5 kx \
5 kx cp -a ../build-machine/extra/comp_err extra/$(TARGET)-comp_err ; \
5 kx sed -i 's, \./comp_err, \./$(TARGET)-comp_err,g' extra/CMakeFiles/GenError.dir/build.make ; \
5 kx \
5 kx cp -a ../build-machine/sql/gen_lex_hash sql/$(TARGET)-gen_lex_hash ; \
5 kx sed -i 's, \./gen_lex_hash, \./$(TARGET)-gen_lex_hash,g' sql/CMakeFiles/sql.dir/build.make ; \
5 kx sed -i 's, \./gen_lex_hash, \./$(TARGET)-gen_lex_hash,g' sql/CMakeFiles/GenServerSource.dir/build.make ; \
5 kx \
5 kx cp -a ../build-machine/sql/gen_lex_token sql/$(TARGET)-gen_lex_token ; \
5 kx sed -i 's, \./gen_lex_token, \./$(TARGET)-gen_lex_token,g' sql/CMakeFiles/sql.dir/build.make ; \
5 kx sed -i 's, \./gen_lex_token, \./$(TARGET)-gen_lex_token,g' sql/CMakeFiles/GenServerSource.dir/build.make ; \
5 kx \
5 kx cp -a ../build-machine/dbug/factorial dbug/$(TARGET)-factorial ; \
5 kx sed -i 's, \./factorial, \./$(TARGET)-factorial,g' dbug/CMakeFiles/user_t.dir/build.make ; \
5 kx sed -i 's, \./factorial, \./$(TARGET)-factorial,g' dbug/CMakeFiles/user_ps.dir/build.make ; \
5 kx \
5 kx cp -a ../build-machine/scripts/comp_sql scripts/$(TARGET)-comp_sql ; \
5 kx sed -i 's, $(CURDIR)/$(SRC_DIR)/build-$(HARDWARE)/scripts/comp_sql, \./$(TARGET)-comp_sql,g' scripts/CMakeFiles/GenFixPrivs.dir/build.make ; \
5 kx \
5 kx $(BUILD_ENVIRONMENT) $(MAKE) $(environment) ; \
5 kx )
5 kx @touch $@
5 kx
5 kx $(install_target): $(build_target)
5 kx @mkdir -p $(MARIADB_PKG)
5 kx @( cd $(SRC_DIR)/build-$(HARDWARE) ; \
5 kx $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot) ; \
5 kx )
5 kx # ======= Install mysql_config for development environment =======
5 kx @mkdir -p $(MARIADB_PKG)/usr/bin
5 kx @cp -a $(SRC_DIR)/build-machine/$(TARGET)-mysql_config $(MARIADB_PKG)/usr/bin
5 kx # ======= Install innotop =======
5 kx @install -m755 $(SRC_DIR)/debian/additions/innotop/innotop $(MARIADB_PKG)/usr/bin/
5 kx @install -m644 $(SRC_DIR)/debian/additions/innotop/innotop.1 $(MARIADB_PKG)/usr/share/man/man1/
5 kx # ======= Install mariadb-report =======
5 kx @install -m755 $(SRC_DIR)/debian/additions/mariadb-report $(MARIADB_PKG)/usr/bin/
5 kx @install -m644 $(SRC_DIR)/debian/additions/mariadb-report.1 $(MARIADB_PKG)/usr/share/man/man1/
5 kx ifneq ($(__ENABLE_STATIC__),yes)
5 kx # ======= Remove large static libraries: =======
5 kx @rm -f $(MARIADB_PKG)/usr/lib$(LIBSUFFIX)/libmariadbclient.a
5 kx @rm -f $(MARIADB_PKG)/usr/lib$(LIBSUFFIX)/libmariadbd.a
5 kx @rm -f $(MARIADB_PKG)/usr/lib$(LIBSUFFIX)/libmysqlclient.a
5 kx @rm -f $(MARIADB_PKG)/usr/lib$(LIBSUFFIX)/libmysqlclient_r.a
5 kx @rm -f $(MARIADB_PKG)/usr/lib$(LIBSUFFIX)/libmysqld.a
5 kx @rm -f $(MARIADB_PKG)/usr/lib$(LIBSUFFIX)/libmysqlservices.a
5 kx endif
5 kx # ======= Do not include the test suite =======
5 kx @rm -rf $(MARIADB_PKG)/usr/share/mysql-test
5 kx # ======= Install System Scripts =======
5 kx @mkdir -p $(MARIADB_PKG)/var/{lib,run}/mysql
5 kx @chmod 0750 $(MARIADB_PKG)/var/lib/mysql
5 kx @chmod 0755 $(MARIADB_PKG)/var/run/mysql
5 kx @mkdir -p $(MARIADB_PKG)/etc/rc.d
5 kx @cp -a $(rc_mysqld) $(MARIADB_PKG)/etc/rc.d/rc.mysqld.new
5 kx @chmod 0644 $(MARIADB_PKG)/etc/rc.d/rc.mysqld.new
5 kx @rm -rf $(MARIADB_PKG)/etc/init.d
5 kx @rm -f $(MARIADB_PKG)/usr/libexec/rcmysql
5 kx @install -m 644 $(SRC_DIR)/scripts/mysqlaccess.conf $(MARIADB_PKG)/etc/mysqlaccess.conf.new
5 kx @mv $(MARIADB_PKG)/etc/my.cnf $(MARIADB_PKG)/etc/my.cnf.new
5 kx @mv $(MARIADB_PKG)/etc/security/user_map.conf $(MARIADB_PKG)/etc/security/user_map.conf.new
5 kx @mv $(MARIADB_PKG)/etc/logrotate.d/mysql $(MARIADB_PKG)/etc/logrotate.d/mysql.new
5 kx @for i in client mysql-clients s3 server spider; do \
5 kx mv $(MARIADB_PKG)/etc/my.cnf.d/$$i.cnf $(MARIADB_PKG)/etc/my.cnf.d/$$i.cnf.new ; \
5 kx done
5 kx # ======= Install Documentation =======
5 kx @( cd $(MARIADB_PKG)/usr/share/man/man1 ; \
5 kx for file in *.1 ; do \
5 kx ln=`head -n 1 $$file` ; \
5 kx if [ "`echo $$ln | grep '^\.so '`" != "" ] ; then \
5 kx origin=`echo $$ln | cut -f 2 -d ' '` ; \
5 kx origin=`basename $$origin` ; \
5 kx rm -f $$file ; \
5 kx ln -sf $$origin $$file ; \
5 kx fi ; \
5 kx done ; \
5 kx )
5 kx @( cd $(MARIADB_PKG)/usr/share/man/man8 ; \
5 kx for file in *.8 ; do \
5 kx ln=`head -n 1 $$file` ; \
5 kx if [ "`echo $$ln | grep '^\.so '`" != "" ] ; then \
5 kx origin=`echo $$ln | cut -f 2 -d ' '` ; \
5 kx origin=`basename $$origin` ; \
5 kx rm -f $$file ; \
5 kx ln -sf $$origin $$file ; \
5 kx fi ; \
5 kx done ; \
5 kx )
5 kx @if [ -d $(MARIADB_PKG)/usr/share/man ]; then \
5 kx ( cd $(MARIADB_PKG)/usr/share/man ; \
5 kx for manpagedir in `find . -type d -name "man*"` ; do \
5 kx ( cd $$manpagedir ; \
5 kx for eachpage in `find . -type l -maxdepth 1` ; do \
5 kx ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
5 kx rm $$eachpage ; \
5 kx done ; \
5 kx gzip -9 *.? ; \
5 kx ) \
5 kx done \
5 kx ) \
5 kx fi
5 kx @mkdir -p $(MARIADB_PKG)/usr/doc/$(src_dir_name)
5 kx @cp -a $(SRC_DIR)/COPYING* \
5 kx $(MARIADB_PKG)/usr/doc/$(src_dir_name)
5 kx @( cd $(SRC_DIR) ; \
5 kx cp -a COPYING* INSTALL-SOURCE KNOWN_BUGS.txt README.md VERSION \
5 kx $(MARIADB_PKG)/usr/share/doc/$(src_dir_name) ; \
5 kx )
5 kx @( cd $(MARIADB_PKG)/usr/share ; \
5 kx for dir in groonga groonga-normalizer-mysql ; do \
5 kx if [ -d "$${dir}" ] ; then \
5 kx cp -a $${dir} doc/$(src_dir_name)/ ; \
5 kx rm -rf $${dir} ; \
5 kx fi ; \
5 kx done ; \
5 kx )
5 kx # ======= Install the same to $(TARGET_DEST_DIR) =======
5 kx $(call install-into-devenv, $(MARIADB_PKG))
5 kx # ======= Remove devenv mysql_config from target package =======
5 kx @rm -f $(MARIADB_PKG)/usr/bin/$(TARGET)-mysql_config
5 kx # ======= Tune pkg-config *.pc search path to the target destination for development =======
5 kx @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
5 kx sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libmariadb.pc mariadb.pc ; \
5 kx )
5 kx # ======= Strip Binaries =======
5 kx @( cd $(MARIADB_PKG) ; \
5 kx find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
5 kx find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
5 kx )
5 kx ifeq ($(__ENABLE_STATIC__),yes)
5 kx @( cd $(MARIADB_PKG); \
5 kx find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
5 kx )
5 kx endif
5 kx @touch $@
5 kx
5 kx $(MARIADB_PKG_DESCRIPTION_FILE): $(MARIADB_PKG_DESCRIPTION_FILE_IN)
5 kx @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
5 kx
5 kx $(pkg_certificate) : $(pkg_archive) ;
5 kx $(pkg_signature) : $(pkg_archive) ;
5 kx $(pkg_description) : $(pkg_archive) ;
5 kx
5 kx $(pkg_archive): $(install_target) $(MARIADB_PKG_DESCRIPTION_FILE) $(MARIADB_PKG_INSTALL_SCRIPT)
5 kx @cp $(MARIADB_PKG_DESCRIPTION_FILE) $(MARIADB_PKG)/.DESCRIPTION
5 kx @cp $(MARIADB_PKG_INSTALL_SCRIPT) $(MARIADB_PKG)/.INSTALL
5 kx @$(BUILD_PKG_REQUIRES) $(MARIADB_PKG)/.REQUIRES
5 kx @echo "pkgname=$(MARIADB_PKG_NAME)" > $(MARIADB_PKG)/.PKGINFO ; \
5 kx echo "pkgver=$(MARIADB_PKG_VERSION)" >> $(MARIADB_PKG)/.PKGINFO ; \
5 kx echo "arch=$(MARIADB_PKG_ARCH)" >> $(MARIADB_PKG)/.PKGINFO ; \
5 kx echo "distroname=$(MARIADB_PKG_DISTRO_NAME)" >> $(MARIADB_PKG)/.PKGINFO ; \
5 kx echo "distrover=$(MARIADB_PKG_DISTRO_VERSION)" >> $(MARIADB_PKG)/.PKGINFO ; \
5 kx echo "group=$(MARIADB_PKG_GROUP)" >> $(MARIADB_PKG)/.PKGINFO ; \
5 kx echo "short_description=\"$(MARIADB_PKG_SHORT_DESCRIPTION)\"" >> $(MARIADB_PKG)/.PKGINFO ; \
5 kx echo "url=$(MARIADB_PKG_URL)" >> $(MARIADB_PKG)/.PKGINFO ; \
5 kx echo "license=$(MARIADB_PKG_LICENSE)" >> $(MARIADB_PKG)/.PKGINFO
5 kx @$(PSEUDO) sh -c "cd $(MARIADB_PKG) && \
5 kx chown -R root:root . && \
5 kx chown $(my_uid):$(my_gid) var/lib/mysql && \
5 kx chown $(my_uid):$(my_gid) var/run/mysql && \
5 kx $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."