blob: 04318b15058eb22b2acdd2ff29946396eef2bb41 [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
2DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
3investigate either live systems, kernel core dumps created from the\
4netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
5offered by Mission Critical Linux, or the LKCD kernel patch."
6
7HOMEPAGE = "http://people.redhat.com/anderson"
8SECTION = "devel"
9
Andrew Geissler9aee5002022-03-30 16:27:02 +000010LICENSE = "GPL-3.0-only"
Andrew Geissler82c905d2020-04-13 13:39:40 -050011LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
12
13DEPENDS = "zlib readline coreutils-native ncurses-native"
14
Patrick Williams169d7bc2024-01-05 11:33:25 -060015INC_PR = "r1"
16
Andrew Geissler82c905d2020-04-13 13:39:40 -050017S = "${WORKDIR}/git"
Andrew Geissler595f6302022-01-24 19:11:47 +000018SRC_URI = "git://github.com/crash-utility/${BPN}.git;branch=master;protocol=https \
Patrick Williams03907ee2022-05-01 06:28:52 -050019 ${GNU_MIRROR}/gdb/gdb-10.2.tar.gz;name=gdb;subdir=git \
Andrew Geissler82c905d2020-04-13 13:39:40 -050020 file://7001force_define_architecture.patch \
21 file://7003cross_ranlib.patch \
22 file://0001-cross_add_configure_option.patch \
Andrew Geissler82c905d2020-04-13 13:39:40 -050023 file://donnot-extract-gdb-during-do-compile.patch \
24 file://gdb_build_jobs_and_not_write_crash_target.patch \
Andrew Geissler82c905d2020-04-13 13:39:40 -050025 "
Patrick Williams169d7bc2024-01-05 11:33:25 -060026SRCREV = "a6832f608cb5d473739cf33bbf84ab1df8d98fd5"
Andrew Geissler82c905d2020-04-13 13:39:40 -050027
Patrick Williams03907ee2022-05-01 06:28:52 -050028SRC_URI[gdb.sha256sum] = "b33ad58d687487a821ec8d878daab0f716be60d0936f2e3ac5cf08419ce70350"
Andrew Geissler82c905d2020-04-13 13:39:40 -050029
30UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
31
32inherit gettext
33
Patrick Williams213cb262021-08-07 19:21:33 -050034TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
Andrew Geissler82c905d2020-04-13 13:39:40 -050035
36# crash 7.1.3 and before don't support mips64/riscv64
Patrick Williams213cb262021-08-07 19:21:33 -050037COMPATIBLE_HOST:riscv64 = "null"
38COMPATIBLE_HOST:riscv32 = "null"
39COMPATIBLE_HOST:mipsarchn64 = "null"
40COMPATIBLE_HOST:mipsarchn32 = "null"
Andrew Geissler82c905d2020-04-13 13:39:40 -050041
42
43EXTRA_OEMAKE = 'RPMPKG="${PV}" \
44 GDB_TARGET="${TARGET_SYS}" \
45 GDB_HOST="${BUILD_SYS}" \
46 GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
47 LDFLAGS="${LDFLAGS}" \
48 '
49
Andrew Geissler82c905d2020-04-13 13:39:40 -050050do_configure() {
51 :
52}
53
Patrick Williams213cb262021-08-07 19:21:33 -050054do_compile:prepend() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050055 case ${TARGET_ARCH} in
56 aarch64*) ARCH=ARM64 ;;
57 arm*) ARCH=ARM ;;
58 i*86*) ARCH=X86 ;;
59 x86_64*) ARCH=X86_64 ;;
60 powerpc64*) ARCH=PPC64 ;;
61 powerpc*) ARCH=PPC ;;
62 mips*) ARCH=MIPS ;;
63 esac
64
65 sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
66 sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
Patrick Williams03907ee2022-05-01 06:28:52 -050067 sed -i -e 's/#define TARGET_CFLAGS_MIPS_ON_X86_64.*/#define TARGET_CFLAGS_MIPS_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050068 sed -i 's/>/>/g' ${S}/Makefile
69}
70
71do_compile() {
72 oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
73}
74
Patrick Williams213cb262021-08-07 19:21:33 -050075do_install:prepend () {
Andrew Geissler82c905d2020-04-13 13:39:40 -050076 install -d ${D}${bindir}
77 install -d ${D}/${mandir}/man8
78 install -d ${D}${includedir}/crash
79
80 install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
81 install -m 0644 ${S}/defs.h ${D}${includedir}/crash
82}
83
Patrick Williams213cb262021-08-07 19:21:33 -050084RDEPENDS:${PN} += "liblzma"
Andrew Geissler82c905d2020-04-13 13:39:40 -050085
86# Causes gcc to get stuck and eat all available memory in qemuarm builds
87# jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
88ARM_INSTRUCTION_SET = "arm"
89
90# http://errors.yoctoproject.org/Errors/Details/186964/
Patrick Williams213cb262021-08-07 19:21:33 -050091COMPATIBLE_HOST:libc-musl = 'null'