Compare commits
No commits in common. "c9-beta" and "c10s" have entirely different histories.
@ -1 +0,0 @@
|
||||
c0dfa4f6236a4505916ce67d63b856bf806b0d83 SOURCES/capstone-4.0.2.tar.gz
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/capstone-4.0.2.tar.gz
|
||||
/capstone-*.tar.gz
|
||||
|
||||
158
capstone-3.0.5-python.patch
Normal file
158
capstone-3.0.5-python.patch
Normal file
@ -0,0 +1,158 @@
|
||||
diff -ru capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/java/Makefile capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/java/Makefile
|
||||
--- capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/java/Makefile 2018-07-18 18:17:10.000000000 +0200
|
||||
+++ capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/java/Makefile 2018-08-28 10:58:38.806217484 +0200
|
||||
@@ -20,6 +20,8 @@
|
||||
endif
|
||||
endif
|
||||
|
||||
+PYTHON2 = python
|
||||
+
|
||||
CAPSTONE_JAVA = Capstone.java Arm_const.java Arm64_const.java Mips_const.java \
|
||||
X86_const.java Xcore_const.java Ppc_const.java Sparc_const.java\
|
||||
Sysz_const.java \
|
||||
@@ -47,7 +49,7 @@
|
||||
TestPpc.java TestSparc.java TestSystemz.java
|
||||
|
||||
gen_const:
|
||||
- cd ../ && python const_generator.py java
|
||||
+ cd ../ && $(PYTHON2) const_generator.py java
|
||||
|
||||
jna:
|
||||
@if [ ! $(JNA) ]; then echo "*** Unable to find JNA ***"; exit 1; fi
|
||||
diff -ru capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/Makefile capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/Makefile
|
||||
--- capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/Makefile 2018-07-18 18:17:10.000000000 +0200
|
||||
+++ capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/Makefile 2018-08-28 11:01:51.152374258 +0200
|
||||
@@ -12,6 +12,8 @@
|
||||
TEST_X86 = $(TMPDIR)/test_x86
|
||||
TEST_XCORE = $(TMPDIR)/test_xcore
|
||||
|
||||
+PYTHON2 = python
|
||||
+
|
||||
.PHONY: all expected python java ocaml
|
||||
|
||||
all:
|
||||
@@ -39,15 +41,15 @@
|
||||
|
||||
python: FORCE
|
||||
cd python && $(MAKE)
|
||||
- python python/test.py > $(TEST)_o
|
||||
- python python/test_arm.py > $(TEST_ARM)_o
|
||||
- python python/test_arm64.py > $(TEST_ARM64)_o
|
||||
- python python/test_mips.py > $(TEST_MIPS)_o
|
||||
- python python/test_ppc.py > $(TEST_PPC)_o
|
||||
- python python/test_sparc.py > $(TEST_SPARC)_o
|
||||
- python python/test_systemz.py > $(TEST_SYSZ)_o
|
||||
- python python/test_x86.py > $(TEST_X86)_o
|
||||
- python python/test_xcore.py > $(TEST_XCORE)_o
|
||||
+ $(PYTHON2) python/test.py > $(TEST)_o
|
||||
+ $(PYTHON2) python/test_arm.py > $(TEST_ARM)_o
|
||||
+ $(PYTHON2) python/test_arm64.py > $(TEST_ARM64)_o
|
||||
+ $(PYTHON2) python/test_mips.py > $(TEST_MIPS)_o
|
||||
+ $(PYTHON2) python/test_ppc.py > $(TEST_PPC)_o
|
||||
+ $(PYTHON2) python/test_sparc.py > $(TEST_SPARC)_o
|
||||
+ $(PYTHON2) python/test_systemz.py > $(TEST_SYSZ)_o
|
||||
+ $(PYTHON2) python/test_x86.py > $(TEST_X86)_o
|
||||
+ $(PYTHON2) python/test_xcore.py > $(TEST_XCORE)_o
|
||||
$(MAKE) test_diff
|
||||
|
||||
java: FORCE
|
||||
diff -ru capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/ocaml/Makefile capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/ocaml/Makefile
|
||||
--- capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/ocaml/Makefile 2018-07-18 18:17:10.000000000 +0200
|
||||
+++ capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/ocaml/Makefile 2018-08-28 10:58:06.166700040 +0200
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
LIB = capstone
|
||||
FLAGS = '-Wall -Wextra -Wwrite-strings'
|
||||
+PYTHON2 = python
|
||||
|
||||
all: arm_const.cmxa arm64_const.cmxa mips_const.cmxa ppc_const.cmxa sparc_const.cmxa sysz_const.cmxa x86_const.cmxa xcore_const.cmxa arm.cmxa arm64.cmxa mips.cmxa ppc.cmxa x86.cmxa sparc.cmxa systemz.cmxa xcore.cmxa capstone.cmxa test_basic.cmx test_detail.cmx test_x86.cmx test_arm.cmx test_arm64.cmx test_mips.cmx test_ppc.cmx test_sparc.cmx test_systemz.cmx test_xcore.cmx ocaml.o
|
||||
ocamlopt -o test_basic -ccopt $(FLAGS) ocaml.o capstone.cmx test_basic.cmx -cclib -l$(LIB)
|
||||
@@ -258,7 +259,7 @@
|
||||
rm -f *.[oa] *.so *.cm[ixoa] *.cmxa *.mli test_basic test_detail test_x86 test_arm test_arm64 test_mips test_ppc test_sparc test_systemz test_xcore
|
||||
|
||||
gen_const:
|
||||
- cd .. && python const_generator.py ocaml
|
||||
+ cd .. && $(PYTHON2) const_generator.py ocaml
|
||||
|
||||
TESTS = test_basic test_detail test_arm test_arm64 test_mips test_ppc
|
||||
TESTS += test_sparc test_systemz test_x86 test_xcore
|
||||
diff -ru capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/python/Makefile capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/python/Makefile
|
||||
--- capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/python/Makefile 2018-07-18 18:17:10.000000000 +0200
|
||||
+++ capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/python/Makefile 2018-08-28 10:56:16.869315933 +0200
|
||||
@@ -1,60 +1,63 @@
|
||||
+PYTHON2 = python
|
||||
+PYTHON3 = python3
|
||||
+
|
||||
.PHONY: gen_const install install3 install_cython sdist sdist3 bdist bdist3 clean check
|
||||
|
||||
gen_const:
|
||||
- cd .. && python const_generator.py python
|
||||
+ cd .. && $(PYTHON2) const_generator.py python
|
||||
|
||||
install:
|
||||
rm -rf src/
|
||||
if test -n "${DESTDIR}"; then \
|
||||
- python setup.py build install --root="${DESTDIR}"; \
|
||||
+ $(PYTHON2) setup.py build install --root="${DESTDIR}"; \
|
||||
else \
|
||||
- python setup.py build install; \
|
||||
+ $(PYTHON2) setup.py build install; \
|
||||
fi
|
||||
|
||||
install3:
|
||||
rm -rf src/
|
||||
if test -n "${DESTDIR}"; then \
|
||||
- python3 setup.py build install --root="${DESTDIR}"; \
|
||||
+ $(PYTHON3) setup.py build install --root="${DESTDIR}"; \
|
||||
else \
|
||||
- python3 setup.py build install; \
|
||||
+ $(PYTHON3) setup.py build install; \
|
||||
fi
|
||||
|
||||
# NOTE: Newer cython can be installed by: sudo pip install --upgrade cython
|
||||
install_cython:
|
||||
rm -rf src/
|
||||
if test -n "${DESTDIR}"; then \
|
||||
- python setup_cython.py build install --root="${DESTDIR}"; \
|
||||
+ $(PYTHON2) setup_cython.py build install --root="${DESTDIR}"; \
|
||||
else \
|
||||
- python setup_cython.py build install; \
|
||||
+ $(PYTHON2) setup_cython.py build install; \
|
||||
fi
|
||||
|
||||
install3_cython:
|
||||
rm -rf src/
|
||||
if test -n "${DESTDIR}"; then \
|
||||
- python3 setup_cython.py build install --root="${DESTDIR}"; \
|
||||
+ $(PYTHON3) setup_cython.py build install --root="${DESTDIR}"; \
|
||||
else \
|
||||
- python3 setup_cython.py build install; \
|
||||
+ $(PYTHON3) setup_cython.py build install; \
|
||||
fi
|
||||
|
||||
# build & upload PyPi package with source code of the core
|
||||
sdist:
|
||||
rm -rf src/ dist/
|
||||
- python setup.py sdist register upload
|
||||
+ $(PYTHON2) setup.py sdist register upload
|
||||
|
||||
# build & upload PyPi package with source code of the core
|
||||
sdist3:
|
||||
rm -rf src/ dist/
|
||||
- python3 setup.py sdist register upload
|
||||
+ $(PYTHON3) setup.py sdist register upload
|
||||
|
||||
# build & upload PyPi package with prebuilt core
|
||||
bdist:
|
||||
rm -rf src/ dist/
|
||||
- python setup.py bdist_wheel register upload
|
||||
+ $(PYTHON2) setup.py bdist_wheel register upload
|
||||
|
||||
# build & upload PyPi package with prebuilt core
|
||||
bdist3:
|
||||
rm -rf src/ dist/
|
||||
- python3 setup.py bdist_wheel register upload
|
||||
+ $(PYTHON3) setup.py bdist_wheel register upload
|
||||
|
||||
clean:
|
||||
rm -rf build/ src/ dist/ *.egg-info
|
||||
31
capstone-4.0.1-includedir.patch
Normal file
31
capstone-4.0.1-includedir.patch
Normal file
@ -0,0 +1,31 @@
|
||||
Fixed with 5.0.0
|
||||
From d36b7395e69c70a8d98f78f2bcb20a32bf9f3173 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Fri, 11 Jan 2019 13:48:11 +0000
|
||||
Subject: [PATCH] Fix include path in pkg-config for Makefile too (#1339).
|
||||
|
||||
Commit 0a39b785d3 fixed the pkg-config include path when using cmake.
|
||||
However it didn't fix it for the Makefile. This fixes the Makefile
|
||||
path.
|
||||
|
||||
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 378f2fea..4a2c2d35 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -514,7 +514,7 @@ define generate-pkgcfg
|
||||
echo 'Description: Capstone disassembly engine' >> $(PKGCFGF)
|
||||
echo 'Version: $(PKG_VERSION)' >> $(PKGCFGF)
|
||||
echo 'libdir=$(LIBDIR)' >> $(PKGCFGF)
|
||||
- echo 'includedir=$(INCDIR)' >> $(PKGCFGF)
|
||||
+ echo 'includedir=$(INCDIR)/capstone' >> $(PKGCFGF)
|
||||
echo 'archive=$${libdir}/libcapstone.a' >> $(PKGCFGF)
|
||||
echo 'Libs: -L$${libdir} -lcapstone' >> $(PKGCFGF)
|
||||
echo 'Cflags: -I$${includedir}' >> $(PKGCFGF)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
12
capstone-5.0.1-ocaml.patch
Normal file
12
capstone-5.0.1-ocaml.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ru capstone-5.0.1/bindings/ocaml/Makefile capstone-5.0.1.new/bindings/ocaml/Makefile
|
||||
--- capstone-5.0.1/bindings/ocaml/Makefile 2023-08-22 18:03:55.000000000 +0200
|
||||
+++ capstone-5.0.1.new/bindings/ocaml/Makefile 2023-11-12 10:28:45.320198200 +0100
|
||||
@@ -2,7 +2,7 @@
|
||||
# By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015
|
||||
|
||||
LIB = capstone
|
||||
-FLAGS = '-Wall -Wextra -Wwrite-strings'
|
||||
+FLAGS = '-Wall -Wextra -Wwrite-strings -I ../../include -L ../../'
|
||||
PYTHON2 ?= python
|
||||
|
||||
all: arm_const.cmxa arm64_const.cmxa m680x_const.cmxa mips_const.cmxa ppc_const.cmxa sparc_const.cmxa sysz_const.cmxa x86_const.cmxa xcore_const.cmxa arm.cmxa arm64.cmxa m680x.cmxa mips.cmxa ppc.cmxa x86.cmxa sparc.cmxa systemz.cmxa xcore.cmxa capstone.cmxa test_basic.cmx test_detail.cmx test_x86.cmx test_arm.cmx test_arm64.cmx test_mips.cmx test_ppc.cmx test_sparc.cmx test_systemz.cmx test_xcore.cmx test_m680x.cmx ocaml.o
|
||||
22
capstone-5.0.1-platform.patch
Normal file
22
capstone-5.0.1-platform.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff -uNr capstone-5.0.orig/bindings/python/setup.py capstone-5.0/bindings/python/setup.py
|
||||
--- capstone-5.0.orig/bindings/python/setup.py 2023-08-07 16:55:34.314825530 -0500
|
||||
+++ capstone-5.0/bindings/python/setup.py 2023-08-07 21:06:59.182376477 -0500
|
||||
@@ -201,15 +201,9 @@
|
||||
idx = sys.argv.index('bdist_wheel') + 1
|
||||
sys.argv.insert(idx, '--plat-name')
|
||||
name = get_platform()
|
||||
- if 'linux' in name:
|
||||
- # linux_* platform tags are disallowed because the python ecosystem is fubar
|
||||
- # linux builds should be built in the centos 5 vm for maximum compatibility
|
||||
- # see https://github.com/pypa/manylinux
|
||||
- # see also https://github.com/angr/angr-dev/blob/master/bdist.sh
|
||||
- sys.argv.insert(idx + 1, 'manylinux1_' + platform.machine())
|
||||
- else:
|
||||
- # https://www.python.org/dev/peps/pep-0425/
|
||||
- sys.argv.insert(idx + 1, name.replace('.', '_').replace('-', '_'))
|
||||
+ pyversion = platform.python_version()
|
||||
+ major_version, minor_version = map(int, pyversion.split('.')[:2])
|
||||
+ sys.argv.insert(idx + 1, name.replace('.', '_').replace('-', '_') + "_" + str(major_version) + str(minor_version))
|
||||
|
||||
setup(
|
||||
provides=['capstone'],
|
||||
4
capstone.rpmlintrc
Normal file
4
capstone.rpmlintrc
Normal file
@ -0,0 +1,4 @@
|
||||
from Config import addFilter
|
||||
|
||||
addFilter('capstone.*: rpm-buildroot-usage %build sed -i .s;%{buildroot};;.*')
|
||||
|
||||
@ -1,36 +1,43 @@
|
||||
Name: capstone
|
||||
Version: 4.0.2
|
||||
Release: 10%{?dist}
|
||||
Version: 5.0.1
|
||||
Release: 6%{?dist}
|
||||
Summary: A lightweight multi-platform, multi-architecture disassembly framework
|
||||
|
||||
%global gituser aquynh
|
||||
%global gitname capstone
|
||||
# 4.0.2 release
|
||||
%global commit 1d230532840a37ac032c6ab80128238fc930c6c1
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
License: BSD
|
||||
License: BSD-3-Clause AND BSD-4-Clause AND APSL-2.0 AND NCSA AND MIT
|
||||
URL: http://www.capstone-engine.org/
|
||||
VCS: https://github.com/aquynh/capstone/
|
||||
# https://github.com/aquynh/capstone/releases
|
||||
# Source0: https://github.com/%%{gituser}/%%{gitname}/archive/%%{commit}/%%{name}-%%{version}-%%{shortcommit}.tar.gz
|
||||
Source0: https://github.com/%{gituser}/%{gitname}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
|
||||
# Test suite binary samples to be used for disassembly
|
||||
# Source1:
|
||||
|
||||
# Fedora 29 makes python executable separate from python2 and python3. This patch makes
|
||||
# it possible to specify PYTHON2 and PYTHON3 binary to be explicit that by "python" we mean "python2"
|
||||
# Patch0: capstone-python.patch
|
||||
|
||||
# Upstream patch which fixes libcapstone.pc.
|
||||
# See: https://github.com/aquynh/capstone/issues/1339
|
||||
# Patch1: 0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch
|
||||
VCS: https://github.com/capstone-engine/capstone/
|
||||
# https://github.com/capstone-engine/capstone/releases
|
||||
|
||||
%global common_desc %{expand:
|
||||
Capstone is a disassembly framework with the target of becoming the ultimate
|
||||
disasm engine for binary analysis and reversing in the security community.}
|
||||
|
||||
|
||||
%define _lto_cflags %{nil}
|
||||
#%%global _hardened_build 1
|
||||
|
||||
%global gituser capstone-engine
|
||||
%global gitname capstone
|
||||
# 5.0.1 release
|
||||
%global gitdate 20230823
|
||||
%global commit 097c04d9413c59a58b00d4d1c8d5dc0ac158ffaa
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
# Source0: https://github.com/%%{gituser}/%%{gitname}/archive/%%{commit}/%%{name}-%%{version}-%%{shortcommit}.tar.gz
|
||||
Source0: https://github.com/%{gituser}/%{gitname}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
|
||||
# Manpage for cstool is missing in the package, add one generated by help2man
|
||||
Source1: cstool.1
|
||||
|
||||
# modified to remove the GH CI modifications from this patch
|
||||
# Patch: https://patch-diff.githubusercontent.com/raw/capstone-engine/capstone/pull/2099.patch
|
||||
# Patch0: https://github.com/capstone-engine/capstone/pull/2099.patch#/capstone-5.0.1-cibuildwheel.patch
|
||||
|
||||
Patch0: capstone-5.0.1-platform.patch
|
||||
|
||||
# Ocaml binding is not using local path for the includes/links
|
||||
Patch1: capstone-5.0.1-ocaml.patch
|
||||
|
||||
|
||||
# Build with python3 package by default
|
||||
%bcond_without python3
|
||||
|
||||
@ -41,29 +48,47 @@ disasm engine for binary analysis and reversing in the security community.}
|
||||
%bcond_without python2
|
||||
%endif
|
||||
|
||||
# Build with java binding
|
||||
%bcond_without java
|
||||
|
||||
# Build without ocaml binding - it is not ready to be distributed as ocaml shared library
|
||||
%bcond_with ocaml
|
||||
|
||||
|
||||
|
||||
%global srcname distribute
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
BuildRequires: git
|
||||
|
||||
%if %{with java}
|
||||
%ifarch %{java_arches}
|
||||
BuildRequires: jna
|
||||
BuildRequires: java-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with python2}
|
||||
BuildRequires: python2
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: python2-pip
|
||||
BuildRequires: python2-setuptools
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
BuildRequires: python%{python3_pkgversion}
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-pip
|
||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
BuildRequires: python%{python3_pkgversion}-wheel
|
||||
BuildRequires: python%{python3_pkgversion}-pytest
|
||||
%endif
|
||||
|
||||
%global _hardened_build 1
|
||||
|
||||
%if %{with ocaml}
|
||||
BuildRequires: ocaml
|
||||
BuildRequires: ocaml-ocamlbuild
|
||||
%endif
|
||||
|
||||
%description
|
||||
%{common_desc}
|
||||
@ -81,13 +106,14 @@ developing applications that use %{name}.
|
||||
|
||||
%if %{with python2}
|
||||
%package -n python2-capstone
|
||||
BuildArch: noarch
|
||||
%{?python_provide:%python_provide python2-capstone}
|
||||
# Remove before F30
|
||||
# loading the libcapstone dynamically using ctypes, not tied to certain architecture
|
||||
Provides: %{name}-python = %{version}-%{release}
|
||||
Provides: %{name}-python%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: %{name}-python < %{version}-%{release}
|
||||
Summary: Python bindings for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description -n python2-capstone
|
||||
%{common_desc}
|
||||
@ -99,11 +125,11 @@ The python2-capstone package contains python bindings for %{name}.
|
||||
|
||||
%if %{with python3}
|
||||
%package -n python%{python3_pkgversion}-capstone
|
||||
BuildArch: noarch
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-capstone}
|
||||
Provides: %{name}-python%{python3_pkgversion} = %{version}-%{release}
|
||||
Provides: %{name}-python%{python3_pkgversion}%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: %{name}-python%{python3_pkgversion} < %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Python3 bindings for %{name}
|
||||
|
||||
|
||||
@ -114,7 +140,8 @@ The python%{python3_pkgversion}-capstone package contains python3 bindings for %
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
%if %{with java}
|
||||
%ifarch %{java_arches}
|
||||
%package java
|
||||
Summary: Java bindings for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
@ -123,13 +150,29 @@ BuildArch: noarch
|
||||
%description java
|
||||
%{common_desc}
|
||||
The %{name}-java package contains java bindings for %{name}.
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with ocaml}
|
||||
%package -n ocaml-%{name}
|
||||
Summary: OCaml bindings for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n ocaml-%{name}
|
||||
%{common_desc}
|
||||
The ocaml-%{name} package contains OCaml bindings for %{name}.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
# autosetup -n %%{gitname}-%%{commit} -S git
|
||||
%autosetup -n %{gitname}-%{version} -S git
|
||||
%autosetup -n %{gitname}-%{version} -p1
|
||||
|
||||
%if %{with python3}
|
||||
pushd bindings/python
|
||||
%pyproject_buildrequires
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
||||
%build
|
||||
@ -138,11 +181,9 @@ PREFIX="%{_prefix}" LIBDIRARCH="%{_lib}" INCDIR="%{_includedir}" \
|
||||
%make_build PYTHON2=%{__python2} PYTHON3=%{__python3}
|
||||
|
||||
# Fix pkgconfig file
|
||||
sed -i 's;%{buildroot};;' capstone.pc
|
||||
grep -v archive capstone.pc > capstone.pc.tmp
|
||||
mv capstone.pc.tmp capstone.pc
|
||||
|
||||
|
||||
# build python bindings
|
||||
pushd bindings/python
|
||||
|
||||
@ -151,11 +192,14 @@ pushd bindings/python
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
# %%pyproject_wheel
|
||||
%py3_build
|
||||
%endif
|
||||
popd
|
||||
|
||||
# build java bindings needs some python
|
||||
%if %{with java}
|
||||
%ifarch %{java_arches}
|
||||
# build java bindings needs some python runtime
|
||||
pushd bindings/java
|
||||
%if %{with python3}
|
||||
%make_build PYTHON2=%{__python3} PYTHON3=%{__python3} CFLAGS="%{optflags}" # %{?_smp_mflags} parallel seems broken
|
||||
@ -163,46 +207,97 @@ pushd bindings/java
|
||||
%make_build PYTHON2=%{__python2} PYTHON3=%{__python2} CFLAGS="%{optflags}" # %{?_smp_mflags} parallel seems broken
|
||||
%endif
|
||||
popd
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with ocaml}
|
||||
pushd bindings/ocaml
|
||||
# build ocaml bindings needs some python runtime
|
||||
%if %{with python3}
|
||||
%make_build PYTHON2=%{__python3} PYTHON3=%{__python3} CFLAGS="%{optflags}" -j1 # %{?_smp_mflags} parallel seems broken
|
||||
%else
|
||||
%make_build PYTHON2=%{__python2} PYTHON3=%{__python2} CFLAGS="%{optflags}" -j1 # %{?_smp_mflags} parallel seems broken
|
||||
%endif
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
DESTDIR=%{buildroot} PREFIX="%{_prefix}" LIBDIRARCH=%{_lib} \
|
||||
INCDIR="%{_includedir}" make install
|
||||
|
||||
# cleanup static libraries
|
||||
find %{buildroot} -name '*.la' -exec rm -f {} ';'
|
||||
find %{buildroot} -name '*.a' -exec rm -f {} ';'
|
||||
|
||||
# add the manpage
|
||||
install -d -D %{buildroot}%{_mandir}/man1
|
||||
install -p -m 644 -D %{SOURCE1} %{buildroot}%{_mandir}/man1/
|
||||
|
||||
|
||||
# install python bindings
|
||||
pushd bindings/python
|
||||
%if %{with python2}
|
||||
%py2_install
|
||||
|
||||
# cleanup the install
|
||||
rm -rf %{buildroot}%{python2_sitelib}/capstone/lib/libcapstone.a
|
||||
rm -rf %{buildroot}%{python2_sitelib}/capstone/lib/libcapstone.so
|
||||
rm -rf %{buildroot}%{python2_sitelib}/capstone/include/capstone
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
%py3_install
|
||||
# %%pyproject_install
|
||||
# %%pyproject_save_files capstone
|
||||
|
||||
# cleanup the install
|
||||
rm -rf %{buildroot}%{python3_sitelib}/capstone/lib/libcapstone.a
|
||||
rm -rf %{buildroot}%{python3_sitelib}/capstone/lib/libcapstone.so
|
||||
rm -rf %{buildroot}%{python3_sitelib}/capstone/include/capstone
|
||||
|
||||
%endif
|
||||
popd
|
||||
|
||||
%if %{with java}
|
||||
%ifarch %{java_arches}
|
||||
# install java bindings
|
||||
install -D -p -m 0644 bindings/java/%{name}.jar %{buildroot}/%{_javadir}/%{name}.jar
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with ocaml}
|
||||
# install ocaml binding
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
%check
|
||||
ln -s libcapstone.so.4 libcapstone.so
|
||||
# ln -s libcapstone.so.5 libcapstone.so
|
||||
make check LD_LIBRARY_PATH="`pwd`"
|
||||
|
||||
%if %{with python3}
|
||||
pushd bindings/python
|
||||
%pytest -sv -k "not testcb and not test_cs_disasm_quick"
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if %{with ocaml}
|
||||
pushd bindings/ocaml
|
||||
make check LD_LIBRARY_PATH="`pwd`"
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE.TXT LICENSE_LLVM.TXT
|
||||
%doc CREDITS.TXT ChangeLog README.md SPONSORS.TXT
|
||||
%{_libdir}/*.so.*
|
||||
%{_bindir}/cstool
|
||||
|
||||
%{_mandir}/man1/cstool.1*
|
||||
|
||||
|
||||
%files devel
|
||||
@ -211,7 +306,6 @@ make check LD_LIBRARY_PATH="`pwd`"
|
||||
%{_libdir}/pkgconfig/*
|
||||
|
||||
|
||||
|
||||
%if %{with python2}
|
||||
%files -n python2-capstone
|
||||
%{python2_sitelib}/*egg-info
|
||||
@ -219,21 +313,68 @@ make check LD_LIBRARY_PATH="`pwd`"
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
%if %{with python3}
|
||||
#%%files -n python%%{python3_pkgversion}-capstone -f %%{pyproject_files}
|
||||
%files -n python%{python3_pkgversion}-capstone
|
||||
%{python3_sitelib}/*egg-info
|
||||
%{python3_sitelib}/%{name}
|
||||
%{python3_sitelib}/capstone*
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
%if %{with java}
|
||||
%ifarch %{java_arches}
|
||||
%files java
|
||||
%{_javadir}/
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ocaml}
|
||||
%files -n ocaml-%{name}
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Sep 02 2022 Miroslav Rezanina <mrezanin@redhat.com> - 4.0.2-10
|
||||
- Import to CentOS 9 Stream / RHEL 9
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 5.0.1-6
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Sat Sep 21 2024 Andrew Hughes <gnu.andrew@redhat.com> - 5.0.1-5
|
||||
- Rebuilt with java-21-openjdk as default JDK:
|
||||
https://issues.redhat.com/browse/RHEL-34597
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 5.0.1-4
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Sep 15 2023 Jonathan Wright <jonathan@almalinux.org> - 5.0.1-1
|
||||
- Update to 5.0.1
|
||||
|
||||
* Wed Jul 19 2023 Jonathan Wright <jonathan@almalinux.org> - 5.0-1
|
||||
- Modernize spec file using pyproject/wheel build
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 4.0.2-14
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Fri Jan 27 2023 Michal Ambroz <rebus AT_ seznam.cz> - 4.0.2-13
|
||||
- update the new github page
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
- drop java binding for platforms not in %%{java_arches}
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.0.2-10
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 4.0.2-9
|
||||
- Rebuilt for java-17-openjdk as system jdk
|
||||
256
cstool.1
Normal file
256
cstool.1
Normal file
@ -0,0 +1,256 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH CSTOOL "1" "November 2023" "Cstool for Capstone Disassembler Engine v5.0.1" "User Commands"
|
||||
.SH NAME
|
||||
Cstool \- manual page for Cstool for Capstone Disassembler Engine
|
||||
.SH DESCRIPTION
|
||||
Cstool for Capstone Disassembler Engine
|
||||
.PP
|
||||
Syntax: cstool [\-d|\-s|\-u|\-v] <arch+mode> <assembly\-hexstring> [start\-address\-in\-hex\-format]
|
||||
.SS "The following <arch+mode> options are supported:"
|
||||
.TP
|
||||
x16
|
||||
16\-bit mode (X86)
|
||||
.TP
|
||||
x32
|
||||
32\-bit mode (X86)
|
||||
.TP
|
||||
x64
|
||||
64\-bit mode (X86)
|
||||
.TP
|
||||
x16att
|
||||
16\-bit mode (X86), syntax AT&T
|
||||
.TP
|
||||
x32att
|
||||
32\-bit mode (X86), syntax AT&T
|
||||
.TP
|
||||
x64att
|
||||
64\-bit mode (X86), syntax AT&T
|
||||
.TP
|
||||
arm
|
||||
arm
|
||||
.TP
|
||||
armbe
|
||||
arm + big endian
|
||||
.TP
|
||||
thumb
|
||||
thumb mode
|
||||
.TP
|
||||
thumbbe
|
||||
thumb + big endian
|
||||
.TP
|
||||
cortexm
|
||||
thumb + cortex\-m extensions
|
||||
.TP
|
||||
armv8
|
||||
arm v8
|
||||
.TP
|
||||
thumbv8
|
||||
thumb v8
|
||||
.TP
|
||||
armv8be
|
||||
arm v8 + big endian
|
||||
.TP
|
||||
thumbv8be
|
||||
thumb v8 + big endian
|
||||
.TP
|
||||
arm64
|
||||
aarch64 mode
|
||||
.TP
|
||||
arm64be
|
||||
aarch64 + big endian
|
||||
.TP
|
||||
mips
|
||||
mips32 + little endian
|
||||
.TP
|
||||
mipsbe
|
||||
mips32 + big endian
|
||||
.TP
|
||||
mips64
|
||||
mips64 + little endian
|
||||
.TP
|
||||
mips64be
|
||||
mips64 + big endian
|
||||
.TP
|
||||
ppc32
|
||||
ppc32 + little endian
|
||||
.TP
|
||||
ppc32be
|
||||
ppc32 + big endian
|
||||
.TP
|
||||
ppc32qpx
|
||||
ppc32 + qpx + little endian
|
||||
.TP
|
||||
ppc32beqpx
|
||||
ppc32 + qpx + big endian
|
||||
.TP
|
||||
ppc32ps
|
||||
ppc32 + ps + little endian
|
||||
.TP
|
||||
ppc32beps
|
||||
ppc32 + ps + big endian
|
||||
.TP
|
||||
ppc64
|
||||
ppc64 + little endian
|
||||
.TP
|
||||
ppc64be
|
||||
ppc64 + big endian
|
||||
.TP
|
||||
ppc64qpx
|
||||
ppc64 + qpx + little endian
|
||||
.TP
|
||||
ppc64beqpx
|
||||
ppc64 + qpx + big endian
|
||||
.TP
|
||||
sparc
|
||||
sparc
|
||||
.TP
|
||||
systemz
|
||||
systemz (s390x)
|
||||
.TP
|
||||
xcore
|
||||
xcore
|
||||
.TP
|
||||
m68k
|
||||
m68k + big endian
|
||||
.TP
|
||||
m68k40
|
||||
m68k_040
|
||||
.TP
|
||||
tms320c64x
|
||||
TMS320C64x
|
||||
.TP
|
||||
m6800
|
||||
M6800/2
|
||||
.TP
|
||||
m6801
|
||||
M6801/3
|
||||
.TP
|
||||
m6805
|
||||
M6805
|
||||
.TP
|
||||
m6808
|
||||
M68HC08
|
||||
.TP
|
||||
m6809
|
||||
M6809
|
||||
.TP
|
||||
m6811
|
||||
M68HC11
|
||||
.TP
|
||||
cpu12
|
||||
M68HC12/HCS12
|
||||
.TP
|
||||
hd6301
|
||||
HD6301/3
|
||||
.TP
|
||||
hd6309
|
||||
HD6309
|
||||
.TP
|
||||
hcs08
|
||||
HCS08
|
||||
.TP
|
||||
evm
|
||||
Ethereum Virtual Machine
|
||||
.TP
|
||||
6502
|
||||
MOS 6502
|
||||
.TP
|
||||
65c02
|
||||
WDC 65c02
|
||||
.TP
|
||||
w65c02
|
||||
WDC w65c02
|
||||
.TP
|
||||
65816
|
||||
WDC 65816 (long m/x)
|
||||
.TP
|
||||
wasm:
|
||||
Web Assembly
|
||||
.TP
|
||||
bpf
|
||||
Classic BPF
|
||||
.TP
|
||||
bpfbe
|
||||
Classic BPF + big endian
|
||||
.TP
|
||||
ebpf
|
||||
Extended BPF
|
||||
.TP
|
||||
ebpfbe
|
||||
Extended BPF + big endian
|
||||
.TP
|
||||
riscv32
|
||||
riscv32
|
||||
.TP
|
||||
riscv64
|
||||
riscv64
|
||||
.TP
|
||||
sh
|
||||
superh SH1
|
||||
.TP
|
||||
sh2
|
||||
superh SH2
|
||||
.TP
|
||||
sh2e
|
||||
superh SH2E
|
||||
.TP
|
||||
sh2dsp
|
||||
superh SH2\-DSP
|
||||
.TP
|
||||
sh2a
|
||||
superh SH2A
|
||||
.TP
|
||||
sh2afpu
|
||||
superh SH2A\-FPU
|
||||
.TP
|
||||
sh3
|
||||
superh SH3
|
||||
.TP
|
||||
sh3be
|
||||
superh SH3 big endian
|
||||
.TP
|
||||
sh3e
|
||||
superh SH3E
|
||||
.TP
|
||||
sh3ebe
|
||||
superh SH3E big endian
|
||||
.TP
|
||||
sh3\-dsp
|
||||
superh SH3\-DSP
|
||||
.TP
|
||||
sh3\-dspbe
|
||||
superh SH3\-DSP big endian
|
||||
.TP
|
||||
sh4
|
||||
superh SH4
|
||||
.TP
|
||||
sh4be
|
||||
superh SH4 big endian
|
||||
.TP
|
||||
sh4a
|
||||
superh SH4A
|
||||
.TP
|
||||
sh4abe
|
||||
superh SH4A big endian
|
||||
.TP
|
||||
sh4al\-dsp
|
||||
superh SH4AL\-DSP
|
||||
.IP
|
||||
sh4al\-dspbe superh SH4AL\-DSP big endian
|
||||
tc110 tricore V1.1
|
||||
tc120 tricore V1.2
|
||||
tc130 tricore V1.3
|
||||
tc131 tricore V1.3.1
|
||||
tc160 tricore V1.6
|
||||
tc161 tricore V1.6.1
|
||||
tc162 tricore V1.6.2
|
||||
.SS "Extra options:"
|
||||
.HP
|
||||
\fB\-d\fR show detailed information of the instructions
|
||||
.HP
|
||||
\fB\-s\fR decode in SKIPDATA mode
|
||||
.HP
|
||||
\fB\-u\fR show immediates as unsigned
|
||||
.HP
|
||||
\fB\-v\fR show version & Capstone core build info
|
||||
.PP
|
||||
5
gating.yaml
Normal file
5
gating.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-10
|
||||
decision_context: osci_compose_gate
|
||||
rules: []
|
||||
Loading…
Reference in New Issue
Block a user