Files
Martin Jansa 80ba83ad80 dlm: Do not use -fcf-protection=full on aarch64 platforms
Its not supported option, see:
http://errors.yoctoproject.org/Errors/Details/721121/

aarch64-oe-linux-gcc  -mcpu=cortex-a57 -march=armv8-a+crc -mbranch-protection=standard --sysroot=TOPDIR/tmp-glibc/work/cortexa57-oe-linux/dlm/4.2.0-r0/recipe-sysroot libdlm.c  -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map  -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa57-oe-linux/dlm/4.2.0-r0/dlm-dlm-4.2.0=/usr/src/debug/dlm/4.2.0-r0  -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa57-oe-linux/dlm/4.2.0-r0/dlm-dlm-4.2.0=/usr/src/debug/dlm/4.2.0-r0  -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa57-oe-linux/dlm/4.2.0-r0/dlm-dlm-4.2.0=/usr/src/debug/dlm/4.2.0-r0  -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa57-oe-linux/dlm/4.2.0-r0/dlm-dlm-4.2.0=/usr/src/debug/dlm/4.2.0-r0  -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa57-oe-linux/dlm/4.2.0-r0/recipe-sysroot=  -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa57-oe-linux/dlm/4.2.0-r0/recipe-sysroot=  -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa57-oe-linux/dlm/4.2.0-r0/recipe-sysroot-native=  -fcf-protection=full -D_GNU_SOURCE -O2 -ggdb -Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option -fPIC -D_REENTRANT -c -o libdlm.o
cc1: error: '-fcf-protection=full' is not supported for this target

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-07-21 09:39:09 -07:00

66 lines
2.0 KiB
BlitzBasic

DESCRIPTION = "dlm control daemon and tool"
SECTION = "utils"
HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage"
REQUIRED_DISTRO_FEATURES = "systemd"
SRC_URI = "https://pagure.io/dlm/archive/dlm-${PV}/dlm-dlm-${PV}.tar.gz \
file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \
file://0001-make-Replace-cp-a-with-mode-preserving-options.patch \
file://0001-dlm_controld-remove-unnecessary-header-include.patch \
file://0001-Disable-annobin-plugin.patch \
file://0001-Remove-fcf-protection-full.patch \
"
SRC_URI[sha256sum] = "90237e18af7422ac15fc756899b3bb6932597b13342296de8e0e120e6d8729ab"
UPSTREAM_CHECK_URI = "https://pagure.io/dlm/releases"
UPSTREAM_CHECK_REGEX = "dlm-(?P<pver>\d+(\.\d+)+)"
LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d"
S = "${WORKDIR}/dlm-dlm-${PV}"
DEPENDS += "corosync"
inherit pkgconfig systemd features_check
PACKAGECONFIG ??= ""
PACKAGECONFIG[pacemaker] = ",,pacemaker"
SYSTEMD_SERVICE:${PN} = "dlm.service"
SYSTEMD_AUTO_ENABLE = "enable"
export EXTRA_OEMAKE = ""
CFPROTECTION ?= "-fcf-protection=full"
CFPROTECTION:riscv64 = ""
CFPROTECTION:arm = ""
CFPROTECTION:aarch64 = ""
CFLAGS += "${CFPROTECTION}"
PARALLEL_MAKE = ""
DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}"
do_compile() {
sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile
sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile
oe_runmake 'CC=${CC}'
}
do_install() {
oe_runmake install DESTDIR=${D} LIBDIR=${libdir}
install -Dm 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm
install -Dm 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm
# install systemd unit files
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -Dm 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system/dlm.service
fi
}