crash_7.2.9.bb 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
  2. DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
  3. investigate either live systems, kernel core dumps created from the\
  4. netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
  5. offered by Mission Critical Linux, or the LKCD kernel patch."
  6. HOMEPAGE = "http://people.redhat.com/anderson"
  7. SECTION = "devel"
  8. LICENSE = "GPLv3"
  9. LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
  10. DEPENDS = "zlib readline coreutils-native ncurses-native"
  11. S = "${WORKDIR}/git"
  12. SRC_URI = "git://github.com/crash-utility/${BPN}.git \
  13. ${GNU_MIRROR}/gdb/gdb-7.6.tar.gz;name=gdb;subdir=git \
  14. file://7001force_define_architecture.patch \
  15. file://7003cross_ranlib.patch \
  16. file://0001-cross_add_configure_option.patch \
  17. file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
  18. file://sim-common-sim-arange-fix-extern-inline-handling.patch \
  19. file://donnot-extract-gdb-during-do-compile.patch \
  20. file://gdb_build_jobs_and_not_write_crash_target.patch \
  21. file://remove-unrecognized-gcc-option-m32-for-mips.patch \
  22. file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
  23. file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
  24. "
  25. SRCREV = "a25aa4b649d339dd25c20d5413d81b851a77e0b2"
  26. SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
  27. SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
  28. UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
  29. inherit gettext
  30. BBCLASSEXTEND = "native cross"
  31. TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
  32. # crash 7.1.3 and before don't support mips64/riscv64
  33. COMPATIBLE_HOST_riscv64 = "null"
  34. COMPATIBLE_HOST_riscv32 = "null"
  35. COMPATIBLE_HOST_mipsarchn64 = "null"
  36. COMPATIBLE_HOST_mipsarchn32 = "null"
  37. EXTRA_OEMAKE = 'RPMPKG="${PV}" \
  38. GDB_TARGET="${TARGET_SYS}" \
  39. GDB_HOST="${BUILD_SYS}" \
  40. GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
  41. LDFLAGS="${LDFLAGS}" \
  42. '
  43. EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
  44. GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \
  45. GDB_HOST="${BUILD_SYS}" \
  46. GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
  47. '
  48. EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
  49. EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
  50. do_configure() {
  51. :
  52. }
  53. do_compile_prepend() {
  54. case ${TARGET_ARCH} in
  55. aarch64*) ARCH=ARM64 ;;
  56. arm*) ARCH=ARM ;;
  57. i*86*) ARCH=X86 ;;
  58. x86_64*) ARCH=X86_64 ;;
  59. powerpc64*) ARCH=PPC64 ;;
  60. powerpc*) ARCH=PPC ;;
  61. mips*) ARCH=MIPS ;;
  62. esac
  63. sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
  64. 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
  65. sed -i 's/>/>/g' ${S}/Makefile
  66. }
  67. do_compile() {
  68. oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
  69. }
  70. do_install_prepend () {
  71. install -d ${D}${bindir}
  72. install -d ${D}/${mandir}/man8
  73. install -d ${D}${includedir}/crash
  74. install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
  75. install -m 0644 ${S}/defs.h ${D}${includedir}/crash
  76. }
  77. do_install_class-target () {
  78. oe_runmake DESTDIR=${D} install
  79. }
  80. do_install_class-native () {
  81. oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
  82. }
  83. do_install_class-cross () {
  84. install -m 0755 ${S}/crash ${D}/${bindir}
  85. }
  86. RDEPENDS_${PN} += "liblzma"
  87. RDEPENDS_${PN}_class-native = ""
  88. RDEPENDS_${PN}_class-cross = ""
  89. # Causes gcc to get stuck and eat all available memory in qemuarm builds
  90. # 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 -
  91. ARM_INSTRUCTION_SET = "arm"
  92. # http://errors.yoctoproject.org/Errors/Details/186964/
  93. COMPATIBLE_HOST_libc-musl = 'null'