Accepting request 1079222 from home:ptesarik:branches:Kernel:kdump

- Build the crash extension.
- Package the eppic code.
- eppic-crash-INCDIR.patch: Use make variable INCDIR to find crash
  include files.

- eppic-Fix-eppic_getnxtfct.patch: Fix name length condition in
  eppic_getnxtfct().

- Switch upstream branch to v5.0.
- Update to commit e0a3b03
  o Assorted bug fixes.

OBS-URL: https://build.opensuse.org/request/show/1079222
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/eppic?expand=0&rev=28
This commit is contained in:
Petr Tesařík 2023-04-13 14:25:31 +00:00 committed by Git OBS Bridge
parent 0665b9523a
commit fbd0f48232
8 changed files with 162 additions and 16 deletions

View File

@ -2,13 +2,12 @@
<service mode="localonly" name="tar_scm"> <service mode="localonly" name="tar_scm">
<param name="scm">git</param> <param name="scm">git</param>
<param name="url">https://github.com/lucchouina/eppic.git</param> <param name="url">https://github.com/lucchouina/eppic.git</param>
<param name="subdir">libeppic</param> <param name="revision">refs/heads/v5.0</param>
<param name="filename">libeppic</param> <param name="versionprefix">4.99.git</param>
<param name="versionprefix">3.99.git</param>
</service> </service>
<service mode="localonly" name="recompress"> <service mode="localonly" name="recompress">
<param name="file">libeppic-*.tar</param> <param name="file">eppic-*.tar</param>
<param name="compression">bz2</param> <param name="compression">xz</param>
</service> </service>
<service mode="localonly" name="set_version" /> <service mode="localonly" name="set_version" />
</services> </services>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6bbe3d834c7307617bb7d90da7e3a1bedc395e99dff7f3859d4407c2aaaa0a6c
size 90596

View File

@ -0,0 +1,25 @@
From: Petr Tesarik <petr@tesarici.cz>
Date: Thu, 13 Apr 2023 11:54:25 +0200
Subject: Fix name length condition in eppic_getnxtfct()
Upstream: sent, https://github.com/lucchouina/eppic/pull/9
Comparisons like 'A > B > C' do not have their mathematical meaning.
Instead, 'MAX_SYMNAMELEN-5 > l' evaluates to 0 or 1, which is never
greater than 5, and the condition is always false.
---
libeppic/eppic_func.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libeppic/eppic_func.c b/libeppic/eppic_func.c
index 7912b34..b0a73c7 100644
--- a/libeppic/eppic_func.c
+++ b/libeppic/eppic_func.c
@@ -776,7 +776,7 @@ eppic_getnxtfct(void)
int l=strlen(nxtfunc->name);
- if(MAX_SYMNAMELEN-5 > l > 5 ) {
+ if(MAX_SYMNAMELEN-5 > l && l > 5 ) {
if(!strcmp(nxtfunc->name+l-5, "_help")) {

34
eppic-crash-INCDIR.patch Normal file
View File

@ -0,0 +1,34 @@
From: Petr Tesarik <petr@tesarici.cz>
Date: Thu, 13 Apr 2023 14:25:40 +0200
Subject: Use make variable INCDIR to find crash include files
Upstream: sent, https://github.com/lucchouina/eppic/pull/10
This makes no difference when built from within the crash source
tree, but it allows to override the directory from the make command
line when building the extension separately.
---
applications/crash/eppic.mk | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/applications/crash/eppic.mk
+++ b/applications/crash/eppic.mk
@@ -9,6 +9,8 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
+INCDIR=..
+
ifeq ($(TARGET), PPC64)
TARGET_FLAGS = -D$(TARGET) -m64
else
@@ -26,8 +28,8 @@ all:
lib-eppic:
cd libeppic && make
-eppic.so: ../defs.h eppic.c lib-eppic
- gcc -g -Ilibeppic -I.. -nostartfiles -shared -rdynamic -o eppic.so eppic.c -fPIC $(TARGET_FLAGS) $(GDB_FLAGS) -Llibeppic -leppic
+eppic.so: $(INCDIR)/defs.h eppic.c lib-eppic
+ gcc -g -Ilibeppic -I$(INCDIR) -nostartfiles -shared -rdynamic -o eppic.so eppic.c -fPIC $(TARGET_FLAGS) $(GDB_FLAGS) -Llibeppic -leppic
clean:
cd libeppic && make clean

2
eppic-rpmlintrc Normal file
View File

@ -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.*")

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Thu Apr 13 14:03:26 UTC 2023 - Petr Tesařík <petr@tesarici.cz>
- 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 <petr@tesarici.cz>
- eppic-Fix-eppic_getnxtfct.patch: Fix name length condition in
eppic_getnxtfct().
-------------------------------------------------------------------
Thu Apr 13 09:35:52 UTC 2023 - Petr Tesařík <petr@tesarici.cz>
- 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 <ptesarik@suse.com> Wed Feb 3 13:57:25 UTC 2021 - Petr Tesařík <ptesarik@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package eppic # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,14 +17,18 @@
Name: eppic Name: eppic
Version: 3.99.git.1612358888.e8844d3 Version: 4.99.git.1675952960.e0a3b03
Release: 0 Release: 0
Summary: Embeddable Pre-Processor and Interpreter for C Summary: Embeddable Pre-Processor and Interpreter for C
License: GPL-2.0-or-later License: GPL-2.0-or-later
Group: Development/Libraries/C and C++ 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 Patch1: %{name}-fix-install.patch
Patch2: %{name}-Fix-eppic_getnxtfct.patch
Patch3: %{name}-crash-INCDIR.patch
BuildRequires: bison BuildRequires: bison
BuildRequires: crash-devel
BuildRequires: flex BuildRequires: flex
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
URL: https://github.com/lucchouina/eppic URL: https://github.com/lucchouina/eppic
@ -41,6 +45,10 @@ embedded in any tools that is C friendly.
Summary: EPPIC include files and libraries Summary: EPPIC include files and libraries
Group: Development/Languages/C and C++ Group: Development/Languages/C and C++
%package -n crash-eppic
Summary: The eppic extension for crash
Group: Development/Tools/Debuggers
%description -n libeppic-devel %description -n libeppic-devel
EPPIC is a C interpreter that permits easy access to the symbol and type 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 information stored in a executable image like a coredump or live memory
@ -50,24 +58,81 @@ embedded in any tools that is C friendly.
This package provides the include files and libraries needed for development. 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 %prep
%setup -n lib%{name}-%{version} %setup
%patch1 -p2 %autopatch -p1
%build %build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects %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=
;;
ppc64|ppc64le)
TARGET=PPC64
TARGET_CFLAGS=-m64
;;
s390x)
TARGET=S390X
TARGET_CFLAGS=
;;
s390)
TARGET=S390
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 %install
mkdir -p %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_includedir} 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 %files -n libeppic-devel
%defattr(-,root,root) %defattr(-,root,root)
%doc README %doc libeppic/README.md
%{_includedir}/eppic.h %{_includedir}/eppic.h
%{_includedir}/eppic_api.h %{_includedir}/eppic_api.h
%attr(644,root,root) %{_libdir}/libeppic.a %attr(644,root,root) %{_libdir}/libeppic.a
%files -n crash-eppic
%doc applications/crash/README.code
%{_libdir}/crash/extensions/eppic.so
%{_datadir}/eppic
%changelog %changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:02211c62e9d9e72a35571ace192d6b6d06be6f67c5e666130d9b9299ee7e3dcb
size 71203