diff --git a/_service b/_service
index 1e855c0..c70c360 100644
--- a/_service
+++ b/_service
@@ -2,13 +2,12 @@
git
https://github.com/lucchouina/eppic.git
- libeppic
- libeppic
- 3.99.git
+ refs/heads/v5.0
+ 4.99.git
- libeppic-*.tar
- bz2
+ eppic-*.tar
+ xz
diff --git a/eppic-4.99.git.1682279748.c294e5b.tar.xz b/eppic-4.99.git.1682279748.c294e5b.tar.xz
new file mode 100644
index 0000000..f61d90d
--- /dev/null
+++ b/eppic-4.99.git.1682279748.c294e5b.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d4d86e6abce78f905a755229fc2644d9e33a1b511931ec1b04d45b7ef45af8d4
+size 90812
diff --git a/eppic-rpmlintrc b/eppic-rpmlintrc
new file mode 100644
index 0000000..d9877a3
--- /dev/null
+++ b/eppic-rpmlintrc
@@ -0,0 +1,2 @@
+# These files are interpreted by the eppic extension at run-time
+addFilter("devel-file-in-non-devel-package .*/usr/share/eppic/crash.*")
diff --git a/eppic.changes b/eppic.changes
index 0c5e822..a9b108b 100644
--- a/eppic.changes
+++ b/eppic.changes
@@ -1,3 +1,33 @@
+-------------------------------------------------------------------
+Mon Apr 24 08:26:22 UTC 2023 - Petr Tesařík
+
+- Update to c294e5bf89cab01f3c5316474cfc5104af7e6a60
+ o Build on RISC-V64 and 32-bit Arm and IBM POWER.
+- Drop upstreamed patches:
+ o eppic-Fix-eppic_getnxtfct.patch
+ o eppic-crash-INCDIR.patch
+
+-------------------------------------------------------------------
+Thu Apr 13 14:03:26 UTC 2023 - Petr Tesařík
+
+- Build the crash extension.
+- Package the eppic code.
+- eppic-crash-INCDIR.patch: Use make variable INCDIR to find crash
+ include files.
+
+-------------------------------------------------------------------
+Thu Apr 13 09:59:44 UTC 2023 - Petr Tesařík
+
+- eppic-Fix-eppic_getnxtfct.patch: Fix name length condition in
+ eppic_getnxtfct().
+
+-------------------------------------------------------------------
+Thu Apr 13 09:35:52 UTC 2023 - Petr Tesařík
+
+- Switch upstream branch to v5.0.
+- Update to commit e0a3b03
+ o Assorted bug fixes.
+
-------------------------------------------------------------------
Wed Feb 3 13:57:25 UTC 2021 - Petr Tesařík
diff --git a/eppic.spec b/eppic.spec
index 0045f7a..4d8e6dd 100644
--- a/eppic.spec
+++ b/eppic.spec
@@ -1,7 +1,7 @@
#
# spec file for package eppic
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,16 @@
Name: eppic
-Version: 3.99.git.1612358888.e8844d3
+Version: 4.99.git.1682279748.c294e5b
Release: 0
Summary: Embeddable Pre-Processor and Interpreter for C
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
-Source: lib%{name}-%{version}.tar.bz2
+Source: %{name}-%{version}.tar.xz
+Source99: %{name}-rpmlintrc
Patch1: %{name}-fix-install.patch
BuildRequires: bison
+BuildRequires: crash-devel
BuildRequires: flex
BuildRequires: ncurses-devel
URL: https://github.com/lucchouina/eppic
@@ -41,6 +43,10 @@ embedded in any tools that is C friendly.
Summary: EPPIC include files and libraries
Group: Development/Languages/C and C++
+%package -n crash-eppic
+Summary: The eppic extension for crash
+Group: Development/Tools/Debuggers
+
%description -n libeppic-devel
EPPIC is a C interpreter that permits easy access to the symbol and type
information stored in a executable image like a coredump or live memory
@@ -50,24 +56,89 @@ embedded in any tools that is C friendly.
This package provides the include files and libraries needed for development.
+%description -n crash-eppic
+EPPIC is a C interpreter that permits easy access to the symbol and type
+information stored in a executable image like a coredump or live memory
+interfaces (e.g. /dev/kmem, /dev/mem). Although it has a strong association
+with live or postmortem kernel analysis, it is not constraint to it and can be
+embedded in any tools that is C friendly.
+
+This package provides the extension for the crash utility.
+
%prep
-%setup -n lib%{name}-%{version}
-%patch1 -p2
+%setup
+%autopatch -p1
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
-make CFLAGS="%{optflags} -fPIC" %{?_smp_mflags}
+make -C libeppic CFLAGS="%{optflags} -fPIC" %{?_smp_mflags}
+
+case `uname -m` in
+ aarch64)
+ TARGET=ARM64
+ TARGET_CFLAGS=
+ ;;
+ arm*)
+ TARGET=ARM
+ TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64
+ ;;
+ i?86)
+ TARGET=X86
+ TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64
+ ;;
+ ia64)
+ TARGET=IA64
+ TARGET_CFLAGS=
+ ;;
+ ppc)
+ TARGET=PPC
+ TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64
+ ;;
+ ppc64|ppc64le)
+ TARGET=PPC64
+ TARGET_CFLAGS=-m64
+ ;;
+ riscv64)
+ TARGET=RISCV64
+ TARGET_CFLAGS=
+ ;;
+ s390)
+ TARGET=S390
+ TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64
+ ;;
+ s390x)
+ TARGET=S390X
+ TARGET_CFLAGS=
+ ;;
+ x86_64)
+ TARGET=X86_64
+ TARGET_CFLAGS=
+ ;;
+esac
+export TARGET TARGET_CFLAGS
+ln -snf ../../libeppic applications/crash/
+make -C applications/crash -f eppic.mk INCDIR=/usr/include/crash eppic.so
%install
mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_includedir}
-make ROOT="%{buildroot}" LIBDIR=%{_libdir} install
+make -C libeppic ROOT="%{buildroot}" LIBDIR=%{_libdir} install
+
+mkdir -p %{buildroot}%{_libdir}/crash/extensions
+install -m 0644 applications/crash/eppic.so %{buildroot}%{_libdir}/crash/extensions
+install -d -m 0755 %{buildroot}%{_datadir}/eppic
+cp -r applications/crash/code %{buildroot}%{_datadir}/eppic/crash
%files -n libeppic-devel
%defattr(-,root,root)
-%doc README
+%doc libeppic/README.md
%{_includedir}/eppic.h
%{_includedir}/eppic_api.h
%attr(644,root,root) %{_libdir}/libeppic.a
+%files -n crash-eppic
+%doc applications/crash/README.code
+%{_libdir}/crash/extensions/eppic.so
+%{_datadir}/eppic
+
%changelog
diff --git a/libeppic-3.99.git.1612358888.e8844d3.tar.bz2 b/libeppic-3.99.git.1612358888.e8844d3.tar.bz2
deleted file mode 100644
index c6957e3..0000000
--- a/libeppic-3.99.git.1612358888.e8844d3.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:02211c62e9d9e72a35571ace192d6b6d06be6f67c5e666130d9b9299ee7e3dcb
-size 71203