From c99825e9870519f8b7e4f2c82f65eb5549523834 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Thu, 1 Sep 2022 09:51:53 -0400 Subject: [PATCH] * Fri Sep 02 2022 Miroslav Rezanina - 4.0.2-10 --- .capstone.metadata | 1 + ...-in-pkg-config-for-Makefile-too-1339.patch | 30 ---- capstone-python.patch | 158 ------------------ capstone.spec | 96 ++++++----- gating.yaml | 6 + 5 files changed, 62 insertions(+), 229 deletions(-) create mode 100644 .capstone.metadata delete mode 100644 0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch delete mode 100644 capstone-python.patch create mode 100644 gating.yaml diff --git a/.capstone.metadata b/.capstone.metadata new file mode 100644 index 0000000..30802d3 --- /dev/null +++ b/.capstone.metadata @@ -0,0 +1 @@ +c0dfa4f6236a4505916ce67d63b856bf806b0d83 capstone-4.0.2.tar.gz diff --git a/0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch b/0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch deleted file mode 100644 index b45690a..0000000 --- a/0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d36b7395e69c70a8d98f78f2bcb20a32bf9f3173 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -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 ---- - 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 - diff --git a/capstone-python.patch b/capstone-python.patch deleted file mode 100644 index ca09d66..0000000 --- a/capstone-python.patch +++ /dev/null @@ -1,158 +0,0 @@ -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 diff --git a/capstone.spec b/capstone.spec index 09c7598..7ba4de2 100644 --- a/capstone.spec +++ b/capstone.spec @@ -1,18 +1,19 @@ Name: capstone Version: 4.0.2 -Release: 4%{?dist} +Release: 10%{?dist} Summary: A lightweight multi-platform, multi-architecture disassembly framework %global gituser aquynh %global gitname capstone -# 4.0.1 release -%global commit f9c6a90489be7b3637ff1c7298e45efafe7cf1b9 +# 4.0.2 release +%global commit 1d230532840a37ac032c6ab80128238fc930c6c1 %global shortcommit %(c=%{commit}; echo ${c:0:7}) License: BSD 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/%%{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 @@ -44,22 +45,22 @@ disasm engine for binary analysis and reversing in the security community.} %global srcname distribute BuildRequires: gcc +BuildRequires: make BuildRequires: git BuildRequires: jna BuildRequires: java-devel -%if 0%{?with_python2} +%if %{with python2} BuildRequires: python2 BuildRequires: python2-devel BuildRequires: python2-setuptools -%endif # if with_python2 +%endif -%if 0%{?with_python3} +%if %{with python3} BuildRequires: python%{python3_pkgversion} BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -%endif # if with_python3 -BuildRequires: make +%endif %global _hardened_build 1 @@ -78,7 +79,7 @@ developing applications that use %{name}. -%if 0%{?with_python2} +%if %{with python2} %package -n python2-capstone %{?python_provide:%python_provide python2-capstone} # Remove before F30 @@ -91,11 +92,12 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description -n python2-capstone %{common_desc} The python2-capstone package contains python bindings for %{name}. -%endif # with_python2 +# with_python2 +%endif -%if 0%{?with_python3} +%if %{with python3} %package -n python%{python3_pkgversion}-capstone %{?python_provide:%python_provide python%{python3_pkgversion}-capstone} Provides: %{name}-python%{python3_pkgversion} = %{version}-%{release} @@ -108,7 +110,8 @@ Summary: Python3 bindings for %{name} %description -n python%{python3_pkgversion}-capstone %{common_desc} The python%{python3_pkgversion}-capstone package contains python3 bindings for %{name}. -%endif # with_python3 +#with python3 +%endif @@ -124,13 +127,12 @@ The %{name}-java package contains java bindings for %{name}. %prep -# autosetup -n %{gitname}-%{commit} -S git +# autosetup -n %%{gitname}-%%{commit} -S git %autosetup -n %{gitname}-%{version} -S git %build -#DESTDIR="%{buildroot}" V=1 CFLAGS="%{optflags}" \ PREFIX="%{_prefix}" LIBDIRARCH="%{_lib}" INCDIR="%{_includedir}" \ %make_build PYTHON2=%{__python2} PYTHON3=%{__python3} @@ -144,18 +146,18 @@ mv capstone.pc.tmp capstone.pc # build python bindings pushd bindings/python -%if 0%{?with_python2} -CFLAGS="%{optflags}" %{__python2} setup.py build -%endif # with_python2 +%if %{with python2} +%py2_build +%endif -%if 0%{?with_python3} -CFLAGS="%{optflags}" %{__python3} setup.py build -%endif # with_python3 +%if %{with python3} +%py3_build +%endif popd # build java bindings needs some python pushd bindings/java -%if 0%{?with_python3} +%if %{with python3} %make_build PYTHON2=%{__python3} PYTHON3=%{__python3} CFLAGS="%{optflags}" # %{?_smp_mflags} parallel seems broken %else %make_build PYTHON2=%{__python2} PYTHON3=%{__python2} CFLAGS="%{optflags}" # %{?_smp_mflags} parallel seems broken @@ -172,13 +174,13 @@ find %{buildroot} -name '*.a' -exec rm -f {} ';' # install python bindings pushd bindings/python -%if 0%{?with_python2} -%{__python2} setup.py install --skip-build --root %{buildroot} -%endif # with_python2 +%if %{with python2} +%py2_install +%endif -%if 0%{?with_python3} -%{__python3} setup.py install --skip-build --root %{buildroot} -%endif # with_python3 +%if %{with python3} +%py3_install +%endif popd # install java bindings @@ -186,10 +188,9 @@ install -D -p -m 0644 bindings/java/%{name}.jar %{buildroot}/%{_javadir}/%{name -#%check -#ln -s libcapstone.so libcapstone.so.4 -#make check LD_LIBRARY_PATH="`pwd`" - +%check +ln -s libcapstone.so.4 libcapstone.so +make check LD_LIBRARY_PATH="`pwd`" %ldconfig_scriptlets @@ -197,12 +198,7 @@ install -D -p -m 0644 bindings/java/%{name}.jar %{buildroot}/%{_javadir}/%{name %files -# %license does not work for RHEL<7 -%if 0%{?rhel} || 0%{?fedora} < 21 -%doc LICENSE.TXT LICENSE_LLVM.TXT -%else %license LICENSE.TXT LICENSE_LLVM.TXT -%endif # %license workarond for RHEL<7 %doc CREDITS.TXT ChangeLog README.md SPONSORS.TXT %{_libdir}/*.so.* %{_bindir}/cstool @@ -216,19 +212,19 @@ install -D -p -m 0644 bindings/java/%{name}.jar %{buildroot}/%{_javadir}/%{name -%if 0%{?with_python2} +%if %{with python2} %files -n python2-capstone %{python2_sitelib}/*egg-info %{python2_sitelib}/%{name} -%endif # _with_python2 +%endif -%if 0%{?with_python3} +%if %{with python3} %files -n python%{python3_pkgversion}-capstone %{python3_sitelib}/*egg-info %{python3_sitelib}/%{name} -%endif # _with_python3 +%endif @@ -236,6 +232,24 @@ install -D -p -m 0644 bindings/java/%{name}.jar %{buildroot}/%{_javadir}/%{name %{_javadir}/ %changelog +* Fri Sep 02 2022 Miroslav Rezanina - 4.0.2-10 +- Import to CentOS 9 Stream / RHEL 9 + +* Sat Feb 05 2022 Jiri Vanek - 4.0.2-9 +- Rebuilt for java-17-openjdk as system jdk + +* Wed Jan 19 2022 Fedora Release Engineering - 4.0.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 4.0.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 4.0.2-6 +- Rebuilt for Python 3.10 + +* Fri May 14 2021 Michal Ambroz - 4.0.2-5 +- modernize specfile, using with bcond and py*_build macros + * Tue Jan 26 2021 Fedora Release Engineering - 4.0.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..648918d --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}