diff --git a/.gitignore b/.gitignore index f01a145..c1cb1f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1 @@ -/udis86-1.7.tar.gz -/udis86-5c60189.tar.bz2 -/udis86-1.7.1.tar.gz -/udis86-*.src.rpm -.build-*.log -/udis86-1.7.2.tar.gz -/udis86-56ff6c8.tar.xz +udis86-1.7.tar.gz diff --git a/sources b/sources index 1d6ccea..c40648e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0993ed97d0513bf2005b067401967e8e udis86-56ff6c8.tar.xz +e279108e10f774e6c3af83caa18f5dc3 udis86-1.7.tar.gz diff --git a/udis86-ax_prog_sphinx_version.patch b/udis86-ax_prog_sphinx_version.patch deleted file mode 100644 index 6c67e4f..0000000 --- a/udis86-ax_prog_sphinx_version.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up udis86-56ff6c8/m4/ax_prog_sphinx_version.m4.orig udis86-56ff6c8/m4/ax_prog_sphinx_version.m4 ---- udis86-56ff6c8/m4/ax_prog_sphinx_version.m4.orig 2014-12-25 07:00:50.000000000 -0500 -+++ udis86-56ff6c8/m4/ax_prog_sphinx_version.m4 2019-05-01 14:20:35.330757713 -0400 -@@ -40,7 +40,7 @@ AC_DEFUN([AX_PROG_SPHINX],[ - - AC_MSG_CHECKING([for sphinx version]) - changequote(<<,>>) -- sphinx_version=`$SPHINX_BUILD -h 2>&1 | $GREP "^Sphinx v" | $SED -e 's/^.* v\([0-9]*\.[0-9]*\.[0-9]*\)/\1/'` -+ sphinx_version=`$SPHINX_BUILD --version 2>&1 | cut -d ' ' -f 2` - changequote([,]) - AC_MSG_RESULT($sphinx_version) - diff --git a/udis86-docs_manual_Makefile.am.patch b/udis86-docs_manual_Makefile.am.patch deleted file mode 100644 index 51d9800..0000000 --- a/udis86-docs_manual_Makefile.am.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -up udis86-56ff6c8/docs/manual/Makefile.am.orig udis86-56ff6c8/docs/manual/Makefile.am ---- udis86-56ff6c8/docs/manual/Makefile.am.orig 2014-12-25 07:00:50.000000000 -0500 -+++ udis86-56ff6c8/docs/manual/Makefile.am 2019-05-01 14:26:35.118265404 -0400 -@@ -19,8 +19,6 @@ MAINTAINERCLEANFILES = \ - Makefile.in \ - udis86.info - --if HAVE_SPHINX_DOC -- - html-local: - $(SPHINX_BUILD) -c $(srcdir) -b html $(srcdir) $(builddir)/html - -@@ -30,24 +28,6 @@ udis86.info: $(rst_sources) - - check-local: html-local - --else -- --udis86.info: $(rst_sources) --html-local udis86.info: -- @echo "" -- @echo "------------------------------------------------------------------" -- @echo "" -- @echo " Please make sure you have Sphinx (sphinx-doc.org) version 1.1.3" -- @echo " or above, to be able to build documentation." -- @echo "" -- @echo " You can also find documentation at http://udis86.sourceforge.net/" -- @echo "" -- @echo "------------------------------------------------------------------" -- @echo "" -- @exit 1 -- --endif -- - install-info-local: udis86.info - install-info --info-dir=$(infodir) $< - diff --git a/udis86-symresolve.patch b/udis86-symresolve.patch deleted file mode 100644 index e2901f0..0000000 --- a/udis86-symresolve.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up udis86-56ff6c8/tests/symresolve.c.orig udis86-56ff6c8/tests/symresolve.c ---- udis86-56ff6c8/tests/symresolve.c.orig 2014-12-25 07:00:50.000000000 -0500 -+++ udis86-56ff6c8/tests/symresolve.c 2019-05-01 12:20:20.597531514 -0400 -@@ -26,9 +26,9 @@ static void - dis_loop(struct ud *ud_obj) - { - while (ud_disassemble(ud_obj) != 0) { -- printf("%016llx %-16s %s\n", ud_insn_off(ud_obj), -- ud_insn_hex(ud_obj), -- ud_insn_asm(ud_obj)); -+ printf("%016lx %-16s %s\n", ud_insn_off(ud_obj), -+ ud_insn_hex(ud_obj), -+ ud_insn_asm(ud_obj)); - } - } - diff --git a/udis86-ud_opcode.patch b/udis86-ud_opcode.patch deleted file mode 100644 index 87a0738..0000000 --- a/udis86-ud_opcode.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up udis86-56ff6c8/scripts/ud_opcode.py.ud_opcode udis86-56ff6c8/scripts/ud_opcode.py ---- udis86-56ff6c8/scripts/ud_opcode.py.ud_opcode 2014-12-25 07:00:50.000000000 -0500 -+++ udis86-56ff6c8/scripts/ud_opcode.py 2019-05-01 11:57:38.643255204 -0400 -@@ -24,6 +24,8 @@ - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - import os -+import struct -+import binascii - - # Some compatibility stuff for supporting python 2.x as well as python 3.x - def itemslist(dict): -@@ -549,11 +551,15 @@ class UdOpcodeTables(object): - def printWalk(tbl, indent=""): - entries = tbl.entries() - for k, e in entries: -+ if type(k) == float: -+ val = "0x" + binascii.hexlify(struct.pack(' %s" % (indent, k, e)) -+ self.log("%s |-<%s> %s" % (indent, val, e)) - printWalk(e, indent + " |") - elif isinstance(e, UdInsnDef): -- self.log("%s |-<%02x> %s" % (indent, k, e)) -+ self.log("%s |-<%s> %s" % (indent, val, e)) - printWalk(self.root) - - diff --git a/udis86.spec b/udis86.spec index 4c91e18..9d4b0ae 100644 --- a/udis86.spec +++ b/udis86.spec @@ -1,22 +1,15 @@ -%global gitrev 56ff6c8 - Name: udis86 -Version: 1.7.2 -Release: 31.%{gitrev}%{?dist} +Version: 1.7 +Release: 3%{?dist} Summary: A disassembler library for x86 and x86-64 -License: BSD-2-Clause -URL: https://github.com/vmt/udis86 -Source0: %{name}-%{gitrev}.tar.xz -Patch0: udis86-ud_opcode.patch -Patch1: udis86-symresolve.patch -Patch2: udis86-ax_prog_sphinx_version.patch -Patch3: udis86-docs_manual_Makefile.am.patch +Group: System Environment/Libraries +License: BSD +URL: http://udis86.sourceforge.net +Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: make -BuildRequires: libtool -BuildRequires: python -BuildRequires: python3-sphinx +BuildRequires: yasm %description udis86 is a disassembler library (libudis86) for x86 and x86-64. @@ -24,6 +17,7 @@ The primary intent is to aid binary code analysis. %package devel Summary: Development files for %{name} +Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel @@ -32,162 +26,49 @@ developing applications that use %{name}. %prep -%setup -q -n %{name}-%{gitrev} -%patch -P0 -p1 -b .ud_opcode -%patch -P1 -p1 -b .symresolve -%patch -P2 -p1 -b .origm4 -%patch -P3 -p1 -b .automake +%setup -q find '(' -name '*.c' -or -name '*.h' ')' -exec chmod 644 {} \; %build -./autogen.sh -%configure --disable-static \ - --enable-shared \ - --disable-silent-rules \ - --with-python=%{_bindir}/python3 \ - --without-yasm \ - --with-sphinx-build=%{_bindir}/sphinx-build-3 +%configure --disable-static --enable-shared sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool make %{?_smp_mflags} -make -C docs/manual html-local %install -make install DESTDIR=%{buildroot} -find %{buildroot} -name '*.la' -exec rm -f {} ';' -# udis86 overrides "docdir" from automake to datadir/docs -rm -rf %{buildroot}%{_datadir}/docs +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' rm -rf %{buildroot}%{_docdir} -%ldconfig_scriptlets +%check +# test the libudis86 we just built. this is the only part that requires yasm +export LD_LIBRARY_PATH=$(pwd)/libudis86/.libs +make check + + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig %files +%defattr(-,root,root,-) %{_bindir}/udcli %{_libdir}/*.so.* %files devel -%doc docs/x86/optable.* docs/manual/html/*.html docs/manual/html/_static +%defattr(-,root,root,-) +%doc docs/x86optable.* docs/udis86.* docs/index.html docs/ss.jpg docs/style.css %{_includedir}/* %{_libdir}/*.so %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 1.7.2-31.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Tue Jan 20 2026 Fedora Release Engineering - 1.7.2-30.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Wed Aug 27 2025 David Cantrell - 1.7.2-29.56ff6c8 -- Drop nasm dependency; build udis86 without yasm or nasm (#2390545) - -* Tue Aug 26 2025 David Cantrell - 1.7.2-28.56ff6c8 -- Drop yasm build requirement and replace with nasm (#2390545) - -* Fri Jul 25 2025 Fedora Release Engineering - 1.7.2-27.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sun Jan 19 2025 Fedora Release Engineering - 1.7.2-26.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Jul 20 2024 Fedora Release Engineering - 1.7.2-25.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sat Jan 27 2024 Fedora Release Engineering - 1.7.2-24.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 1.7.2-23.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jan 21 2023 Fedora Release Engineering - 1.7.2-22.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Jan 03 2023 David Cantrell - 1.7.2-21.56ff6c8 -- Change License to BSD-2-Clause (SPDX expression) - -* Sat Jul 23 2022 Fedora Release Engineering - 1.7.2-20.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 1.7.2-19.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 1.7.2-18.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jan 27 2021 Fedora Release Engineering - 1.7.2-17.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 1.7.2-16.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jan 31 2020 Fedora Release Engineering - 1.7.2-15.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Jul 27 2019 Fedora Release Engineering - 1.7.2-14.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed May 01 2019 David Cantrell - 1.7.2-13.56ff6c8 -- Fix building package on rawhide (#1676171) - -* Sun Feb 03 2019 Fedora Release Engineering - 1.7.2-12.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 1.7.2-11.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Feb 09 2018 Fedora Release Engineering - 1.7.2-10.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Aug 03 2017 Fedora Release Engineering - 1.7.2-9.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 1.7.2-8.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 1.7.2-7.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Fri Feb 05 2016 Fedora Release Engineering - 1.7.2-6.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jun 19 2015 Fedora Release Engineering - 1.7.2-5.56ff6c8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed May 13 2015 Scott Tsai - 1.7.2-4.56ff6c8 -- Package post 1.7.2 snapshot 56ff6c8 - -* Mon Aug 18 2014 Fedora Release Engineering - 1.7.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 08 2014 Fedora Release Engineering - 1.7.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon Sep 02 2013 Scott Tsai 1.7.2-1 -- upstream 1.7.2 - -* Sun Aug 04 2013 Fedora Release Engineering - 1.7.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sat Jun 01 2013 Scott Tsai 1.7.1-1 -- upstream 1.7.1 - -* Fri Feb 15 2013 Fedora Release Engineering - 1.7-8.5c60189 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Mon Nov 26 2012 Scott Tsai 1.7-7 -- Upstream 5c60189 - -* Sun Jul 22 2012 Fedora Release Engineering - 1.7-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jan 14 2012 Fedora Release Engineering - 1.7-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Mon Feb 07 2011 Fedora Release Engineering - 1.7-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - * Fri Dec 04 2009 Scott Tsai 1.7-3 - Actually remove commented out requires line - Move check section after install section