The package rpms/radare2.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/radare2.git/commit/?id=2c71e4e2e4...
https://src.fedoraproject.org/cgit/rpms/radare2.git/commit/?id=efc9e633ae....
Change:
-ExcludeArch: s390x
+ExcludeArch: s390x
Thanks.
Full change:
============
commit 2c71e4e2e4579208800dc16a8a2110cb049bc0d0
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Wed Jun 9 22:00:52 2021 +0200
bump to 5.3.0
diff --git a/.gitignore b/.gitignore
index 3668516..add1c15 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@
/radare2-5.1.1.tar.gz
/radare2-5.2.0.tar.gz
/radare2-5.2.1.tar.gz
+/radare2-5.3.0.tar.gz
diff --git a/radare2-5.2.1-meson_rhel8.patch b/radare2-5.2.1-meson_rhel8.patch
deleted file mode 100644
index 967d8d3..0000000
--- a/radare2-5.2.1-meson_rhel8.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From abb813ebe328c7eb2480d63cbf100d66493cf09a Mon Sep 17 00:00:00 2001
-From: Michal Ambroz <723625+xambroz(a)users.noreply.github.com>
-Date: Tue, 11 May 2021 22:55:37 +0200
-Subject: [PATCH] Make meson compatible with older versions (RHEL8 meson 0.49)
-
-This patch makes it possible to build with older version of meson.
-It is needed to build radare2 on RedHat Enterprise Linux 8 where the meson version 0.49
is older than on RHEL7+EPEL7 or Fedora.
-
-Issues fixed:
-- set minimum meson version down to 0.49 (version available in RHEL8)
-- meson 0.49 has bug which prevents processing of '\' split-lines => build
r2_version_number on single line
-- on meson 0.49 the ternary operator is not possible to use with some constructs (subdir
in add_install_scripts) => replace one ternary operator with if-else construct
----
- meson.build | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 271ebd71af1..0c47a07bcbc 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1,4 +1,4 @@
--project('radare2', 'c', license : 'LGPL3', meson_version :
'>=0.50.1', version : '5.2.1')
-+project('radare2', 'c', license : 'LGPL3', meson_version :
'>=0.49', version : '5.2.1')
-
- py3_exe = import('python').find_installation('python3')
- git_exe = find_program('git', required: false)
-@@ -10,10 +10,7 @@ vers = r2_version.split('.')
- r2_version_major = vers[0].to_int()
- r2_version_minor = vers[1].to_int()
- r2_version_patch = vers[2].split('-')[0].to_int()
--r2_version_number \
-- = (r2_version_major * 10000) \
-- + (r2_version_minor * 100) \
-- + (r2_version_patch)
-+r2_version_number = (r2_version_major * 10000) + (r2_version_minor * 100) +
(r2_version_patch)
-
- repo = '.'
- if meson.is_subproject()
-@@ -709,5 +706,9 @@ if cli_enabled
- install_dir: r2_zsh_compdir
- )
-
-- meson.add_install_script(host_machine.system() == 'windows' ?
'sys/create_r2.bat' : 'sys/create_r2.sh')
-+ if host_machine.system() == 'windows'
-+ meson.add_install_script('sys/create_r2.bat')
-+ else
-+ meson.add_install_script('sys/create_r2.sh')
-+ endif
- endif
diff --git a/radare2-5.2.1-xxhash.patch b/radare2-5.2.1-xxhash.patch
deleted file mode 100644
index 5be65a4..0000000
--- a/radare2-5.2.1-xxhash.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f5712f01740e2d729547786b2a869fdd23b430bd Mon Sep 17 00:00:00 2001
-From: Michal Ambroz <723625+xambroz(a)users.noreply.github.com>
-Date: Tue, 11 May 2021 22:35:27 +0200
-Subject: [PATCH] Improve the xxhash system library detection
-
-The pkgconfig module is named libxxhash on Debian/Fedora/RedHat/SuSE/Arch so I added
libxxhash on first place.
-Keeping the xxhash checked second.
----
- meson.build | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 271ebd71af1..1093598229e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -237,8 +237,11 @@ if sys_magic.found() and get_option('use_sys_magic')
- endif
-
- # handle xxhash library
--sys_xxhash = dependency('xxhash', required: false)
-+sys_xxhash = dependency('libxxhash', required: false)
- use_sys_xxhash = false
-+if not sys_xxhash.found()
-+ sys_xxhash = dependency('xxhash', required: false)
-+endif
- if not sys_xxhash.found()
- sys_xxhash = cc.find_library('xxhash', required: false)
- endif
diff --git a/radare2.rpmlintrc b/radare2.rpmlintrc
new file mode 100644
index 0000000..bcf112a
--- /dev/null
+++ b/radare2.rpmlintrc
@@ -0,0 +1,8 @@
+from Config import addFilter
+
+
+# radare2.src: W: spelling-error %description -l en_US scriptable -> scrip table,
scrip-table, script able
+addFilter('radare2.*: spelling-error.*scriptable')
+
+# radare2.src: W: spelling-error %description -l en_US opcode -> op code, op-code,
code
+addFilter('radare2.*: spelling-error.*opcode')
diff --git a/radare2.spec b/radare2.spec
index f434be5..06da506 100644
--- a/radare2.spec
+++ b/radare2.spec
@@ -1,16 +1,17 @@
Name: radare2
Summary: The reverse engineering framework
-Version: 5.2.1
-%global rel 2
+Version: 5.3.0
+%global rel 1
URL:
https://radare.org/
VCS:
https://github.com/radareorg/radare2
+#
https://github.com/radareorg/radare2/releases
-%if 0%{?rhel} && 0%{?rhel} == 8
+# %%if 0%%{?rhel} && 0i%%{?rhel} == 8
# Radare2 fails to build on EPEL8+s390x
#
https://bugzilla.redhat.com/show_bug.cgi?id=1960046
#
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_...
-ExcludeArch: s390x
-%endif
+# ExcludeArch: s390x
+# %%endif
# by default it builds from the released version of radare2
@@ -20,8 +21,8 @@ ExcludeArch: s390x
%global gituser radareorg
%global gitname radare2
-%global gitdate 20210411
-%global commit cf3db945083fb4dab951874e5ec1283128deab11
+%global gitdate 20210601
+%global commit ee753c25094c6e1c62dfb9596423824251dbc943
%global shortcommit %(c=%{commit}; echo ${c:0:7})
@@ -33,12 +34,6 @@ Release: 0.%{rel}.%{gitdate}git%{shortcommit}%{?dist}
Source0:
https://github.com/%{gituser}/%{gitname}/archive/%{commit}/%{name}-%{comm...
%endif
-# make it possible to use older version of messon - needed for EPEL8 which has older
version than EPEL7
-Patch0:
https://github.com/radareorg/radare2/pull/18684.patch#/radare2-5.2.1-meso...
-
-# improve the detection of the system xxhash. pkgconfig module name is libxxhash not
xhash
-Patch1:
https://github.com/radareorg/radare2/pull/18683.patch#/radare2-5.2.1-xxha...
-
License: LGPLv3+ and GPLv2+ and BSD and MIT and ASL 2.0 and MPLv2.0 and zlib
# Radare2 as a package is targeting to be licensed/compiled as LGPLv3+
@@ -222,8 +217,6 @@ rm -rf shlr/zip shlr/lz4
# Remove xxhash files because we use system dependencies
rm -f libr/hash/xxhash.c libr/hash/xxhash.h
-
-
# Webui contains pre-build and/or minimized versions of JS libraries without source code
# Consider installing the web-interface from
https://github.com/radare/radare2-webui
rm -rf ./shlr/www/*
@@ -239,7 +232,6 @@ sed -i -e "s|meson_version : '>=......'|meson_version
: '>=0.49.1'|;" meson.buil
%endif
-
%build
# Whereever possible use the system-wide libraries instead of bundles
%meson \
@@ -258,6 +250,7 @@ sed -i -e "s|meson_version : '>=......'|meson_version
: '>=0.49.1'|;" meson.buil
-Denable_r2r=false
%meson_build
+
%install
%meson_install
# install README.Fedora for the www part
@@ -266,16 +259,21 @@ cp ./shlr/www/README.Fedora
%{buildroot}/%{_datadir}/%{name}/%{version}/www/READ
# remove unneeded fortunes
rm %{buildroot}/%{_datadir}/doc/%{name}/fortunes.fun
+# Make directory for the plugins
+# Users can learn the dirname by "r2 -H"
+mkdir -p %{buildroot}%{_libdir}/%{name}/%{version}
+
+
%if 0%{?rhel} && 0%{?rhel} <= 8
%ldconfig_scriptlets
%endif
+
%check
# Do not run the testsuite yet - it pulls another package
#
https://github.com/radare/radare2-regressions from github make tests
-
%files
%license COPYING COPYING.LESSER
%doc CONTRIBUTING.md DEVELOPERS.md README.md
@@ -289,6 +287,8 @@ rm %{buildroot}/%{_datadir}/doc/%{name}/fortunes.fun
%doc %{_datadir}/%{name}/%{version}/www/README.Fedora
%{_bindir}/r*
%{_libdir}/libr_*.so.%{version}*
+# Empty directory for plugins
+%{_libdir}/%{name}
%{_mandir}/man1/r*.1.*
%{_mandir}/man7/esil.7.*
%{_datadir}/zsh/site-functions/_r*
@@ -316,6 +316,15 @@ rm %{buildroot}/%{_datadir}/doc/%{name}/fortunes.fun
%changelog
+* Wed Jun 09 2021 Michal Ambroz <rebus at, seznam.cz> 5.3.0-1
+- re-enable build for s390x on EPEL8 (libuv should be available for 8.4)
+- bump to 5.3.0
+- remove radare2-5.2.1-meson_rhel8.patch - accepted upstream
+- remove radare2-5.2.1-xxhash.patch - accepted upstream
+
+* Sat May 15 2021 Michal Ambroz <rebus at, seznam.cz> 5.2.1-3
+- adding the global plugins directory - for example /usr/lib64/radare2/5.2.1
+
* Tue May 11 2021 Michal Ambroz <rebus at, seznam.cz> 5.2.1-2
- patch for older version of meson used on EPEL8
- use pkgconfig where possible for BR
diff --git a/sources b/sources
index dc25127..c7bee1d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (radare2-5.2.1.tar.gz) =
c744f5c8fff163022a7a9a913fe34dfa0dee0d9ab3b18bd4cc038c2d487dbfeba2f1523aa12a3166a2c22c45bcc71e802fae101b72fc2e6adab96b522c0de17b
+SHA512 (radare2-5.3.0.tar.gz) =
f9d5ffd6f39efdcd447c2bc65ad3129576292a11942c99da8d0c10217621a6d1db72baaf7badadcbbaf75c54be0439a9257de4f56d47cefdce457ffb08167ff8
commit efc9e633aef26832e5cfd047b55fb964455ad678
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Wed May 12 23:39:34 2021 +0200
ExcludeArch for EPEL8 + s390x
diff --git a/radare2.spec b/radare2.spec
index a7b1445..f434be5 100644
--- a/radare2.spec
+++ b/radare2.spec
@@ -5,6 +5,14 @@ Version: 5.2.1
URL:
https://radare.org/
VCS:
https://github.com/radareorg/radare2
+%if 0%{?rhel} && 0%{?rhel} == 8
+# Radare2 fails to build on EPEL8+s390x
+#
https://bugzilla.redhat.com/show_bug.cgi?id=1960046
+#
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_...
+ExcludeArch: s390x
+%endif
+
+
# by default it builds from the released version of radare2
# to build from git use rpmbuild --without=releasetag
%bcond_without releasetag
@@ -312,6 +320,7 @@ rm %{buildroot}/%{_datadir}/doc/%{name}/fortunes.fun
- patch for older version of meson used on EPEL8
- use pkgconfig where possible for BR
- use ldconfig_scriptlets only on older platforms
+- add ExcludeArch for s390x on EPEL8
* Thu Apr 22 2021 Henrik Nordstrom <henrik(a)henriknordstrom.net> - 5.2.1-1
- Update to version 5.2.1
commit 224fff17dcec05f722c0af866a7edf4b233c33e1
Author: Michal Ambroz <rebus(a)seznam.cz>
Date: Wed May 12 00:52:15 2021 +0200
allow build with older meson version 0.49 as used in EPEL8/RHEL8
diff --git a/radare2-5.2.1-meson_rhel8.patch b/radare2-5.2.1-meson_rhel8.patch
new file mode 100644
index 0000000..967d8d3
--- /dev/null
+++ b/radare2-5.2.1-meson_rhel8.patch
@@ -0,0 +1,49 @@
+From abb813ebe328c7eb2480d63cbf100d66493cf09a Mon Sep 17 00:00:00 2001
+From: Michal Ambroz <723625+xambroz(a)users.noreply.github.com>
+Date: Tue, 11 May 2021 22:55:37 +0200
+Subject: [PATCH] Make meson compatible with older versions (RHEL8 meson 0.49)
+
+This patch makes it possible to build with older version of meson.
+It is needed to build radare2 on RedHat Enterprise Linux 8 where the meson version 0.49
is older than on RHEL7+EPEL7 or Fedora.
+
+Issues fixed:
+- set minimum meson version down to 0.49 (version available in RHEL8)
+- meson 0.49 has bug which prevents processing of '\' split-lines => build
r2_version_number on single line
+- on meson 0.49 the ternary operator is not possible to use with some constructs (subdir
in add_install_scripts) => replace one ternary operator with if-else construct
+---
+ meson.build | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 271ebd71af1..0c47a07bcbc 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1,4 +1,4 @@
+-project('radare2', 'c', license : 'LGPL3', meson_version :
'>=0.50.1', version : '5.2.1')
++project('radare2', 'c', license : 'LGPL3', meson_version :
'>=0.49', version : '5.2.1')
+
+ py3_exe = import('python').find_installation('python3')
+ git_exe = find_program('git', required: false)
+@@ -10,10 +10,7 @@ vers = r2_version.split('.')
+ r2_version_major = vers[0].to_int()
+ r2_version_minor = vers[1].to_int()
+ r2_version_patch = vers[2].split('-')[0].to_int()
+-r2_version_number \
+- = (r2_version_major * 10000) \
+- + (r2_version_minor * 100) \
+- + (r2_version_patch)
++r2_version_number = (r2_version_major * 10000) + (r2_version_minor * 100) +
(r2_version_patch)
+
+ repo = '.'
+ if meson.is_subproject()
+@@ -709,5 +706,9 @@ if cli_enabled
+ install_dir: r2_zsh_compdir
+ )
+
+- meson.add_install_script(host_machine.system() == 'windows' ?
'sys/create_r2.bat' : 'sys/create_r2.sh')
++ if host_machine.system() == 'windows'
++ meson.add_install_script('sys/create_r2.bat')
++ else
++ meson.add_install_script('sys/create_r2.sh')
++ endif
+ endif
diff --git a/radare2-5.2.1-xxhash.patch b/radare2-5.2.1-xxhash.patch
new file mode 100644
index 0000000..5be65a4
--- /dev/null
+++ b/radare2-5.2.1-xxhash.patch
@@ -0,0 +1,28 @@
+From f5712f01740e2d729547786b2a869fdd23b430bd Mon Sep 17 00:00:00 2001
+From: Michal Ambroz <723625+xambroz(a)users.noreply.github.com>
+Date: Tue, 11 May 2021 22:35:27 +0200
+Subject: [PATCH] Improve the xxhash system library detection
+
+The pkgconfig module is named libxxhash on Debian/Fedora/RedHat/SuSE/Arch so I added
libxxhash on first place.
+Keeping the xxhash checked second.
+---
+ meson.build | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 271ebd71af1..1093598229e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -237,8 +237,11 @@ if sys_magic.found() and get_option('use_sys_magic')
+ endif
+
+ # handle xxhash library
+-sys_xxhash = dependency('xxhash', required: false)
++sys_xxhash = dependency('libxxhash', required: false)
+ use_sys_xxhash = false
++if not sys_xxhash.found()
++ sys_xxhash = dependency('xxhash', required: false)
++endif
+ if not sys_xxhash.found()
+ sys_xxhash = cc.find_library('xxhash', required: false)
+ endif
diff --git a/radare2.spec b/radare2.spec
index 8be01bf..a7b1445 100644
--- a/radare2.spec
+++ b/radare2.spec
@@ -1,7 +1,7 @@
Name: radare2
Summary: The reverse engineering framework
Version: 5.2.1
-%global rel 1
+%global rel 2
URL:
https://radare.org/
VCS:
https://github.com/radareorg/radare2
@@ -25,6 +25,13 @@ Release: 0.%{rel}.%{gitdate}git%{shortcommit}%{?dist}
Source0:
https://github.com/%{gituser}/%{gitname}/archive/%{commit}/%{name}-%{comm...
%endif
+# make it possible to use older version of messon - needed for EPEL8 which has older
version than EPEL7
+Patch0:
https://github.com/radareorg/radare2/pull/18684.patch#/radare2-5.2.1-meso...
+
+# improve the detection of the system xxhash. pkgconfig module name is libxxhash not
xhash
+Patch1:
https://github.com/radareorg/radare2/pull/18683.patch#/radare2-5.2.1-xxha...
+
+
License: LGPLv3+ and GPLv2+ and BSD and MIT and ASL 2.0 and MPLv2.0 and zlib
# Radare2 as a package is targeting to be licensed/compiled as LGPLv3+
# during build for Fedora the GPL code is not omitted so effectively it is GPLv2+
@@ -65,26 +72,31 @@ BuildRequires: sed
BuildRequires: gcc
BuildRequires: meson
BuildRequires: ninja-build
-BuildRequires: file-devel
-BuildRequires: xxhash-devel
BuildRequires: pkgconfig
+# xxhash-devel
+BuildRequires: pkgconfig(libxxhash)
+BuildRequires: pkgconfig(libzip)
+BuildRequires: pkgconfig(zlib)
+BuildRequires: pkgconfig(liblz4)
+BuildRequires: pkgconfig(capstone) >= 3.0.4
+BuildRequires: pkgconfig(libuv)
+BuildRequires: pkgconfig(openssl)
%if 0%{?rhel}
+BuildRequires: file-devel
BuildRequires: bzip2-devel
BuildRequires: python3
# %%meson macro using the %%set_build_flags from Fedora/EPEL, but not bringing the
dependency
#
https://src.fedoraproject.org/rpms/meson/pull-request/9
BuildRequires: epel-rpm-macros
+# On RHEL xxhash-devel is not bringing the xxhash as dependency
+BuildRequires: xxhash
%else
+# file-devel
+BuildRequires: pkgconfig(libmagic)
BuildRequires: pkgconfig(bzip2)
%endif
-BuildRequires: pkgconfig(libzip)
-BuildRequires: pkgconfig(zlib)
-BuildRequires: pkgconfig(liblz4)
-BuildRequires: pkgconfig(capstone) >= 3.0.4
-BuildRequires: pkgconfig(libuv)
-BuildRequires: pkgconfig(openssl)
Requires: %{name}-common = %{version}-%{release}
@@ -199,6 +211,10 @@ sed -i -e "s|%{version}-git|%{version}|g;" configure
configure.acr
%endif
# Removing zip/lzip and lz4 files because we use system dependencies
rm -rf shlr/zip shlr/lz4
+# Remove xxhash files because we use system dependencies
+rm -f libr/hash/xxhash.c libr/hash/xxhash.h
+
+
# Webui contains pre-build and/or minimized versions of JS libraries without source code
# Consider installing the web-interface from
https://github.com/radare/radare2-webui
@@ -242,8 +258,9 @@ cp ./shlr/www/README.Fedora
%{buildroot}/%{_datadir}/%{name}/%{version}/www/READ
# remove unneeded fortunes
rm %{buildroot}/%{_datadir}/doc/%{name}/fortunes.fun
+%if 0%{?rhel} && 0%{?rhel} <= 8
%ldconfig_scriptlets
-
+%endif
%check
# Do not run the testsuite yet - it pulls another package
@@ -252,6 +269,7 @@ rm %{buildroot}/%{_datadir}/doc/%{name}/fortunes.fun
%files
+%license COPYING COPYING.LESSER
%doc CONTRIBUTING.md DEVELOPERS.md README.md
%doc doc/3D/ doc/node.js/ doc/pdb/ doc/sandbox/
%doc doc/avr.md doc/brainfuck.md doc/calling-conventions.md doc/debug.md
@@ -261,7 +279,6 @@ rm %{buildroot}/%{_datadir}/doc/%{name}/fortunes.fun
%dir %{_datadir}/%{name}/%{version}/www
# Webui removed cuz of having minified js code and missing source code
%doc %{_datadir}/%{name}/%{version}/www/README.Fedora
-%license COPYING COPYING.LESSER
%{_bindir}/r*
%{_libdir}/libr_*.so.%{version}*
%{_mandir}/man1/r*.1.*
@@ -291,6 +308,11 @@ rm %{buildroot}/%{_datadir}/doc/%{name}/fortunes.fun
%changelog
+* Tue May 11 2021 Michal Ambroz <rebus at, seznam.cz> 5.2.1-2
+- patch for older version of meson used on EPEL8
+- use pkgconfig where possible for BR
+- use ldconfig_scriptlets only on older platforms
+
* Thu Apr 22 2021 Henrik Nordstrom <henrik(a)henriknordstrom.net> - 5.2.1-1
- Update to version 5.2.1