Add files required to build packages for OBS (#1853)

* Add SPEC/Deb files to create packages for OBS
* Add INSTALL.md instructions
This commit is contained in:
Riccardo Schirone 2021-10-19 15:42:29 +02:00 committed by GitHub
parent 6da244eca7
commit a3ccc64912
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 745 additions and 4 deletions

56
INSTALL.md Normal file
View file

@ -0,0 +1,56 @@
# Install Rizin
Here you can find instructions to install Rizin on some common systems. If your
system is not listed here, we likely do not pre-compiled Rizin for it, but you
can still build it yourself by following the instructions in
[BUILDING.md](./BUILDING.md).
## Linux
We first suggest to look into your distribution repositories to check if Rizin
is already packaged there. If it is, install it from there, otherwise we have
repositories setup on [OBS](https://openbuildservice.org/) for some common
distributions.
Visit the web page
[https://software.opensuse.org/package/rizin](https://software.opensuse.org/download/package?package=rizin&project=home%3ARizinOrg)
and look for your system / version, if supported. Follow the instructions for
your distribution to install the repository.
## Windows
We provide two different ways to use Rizin on your Windows machine: an installer
and zip file containing all the necessary files. You can choose the method you
like the most. Both files can be found attached to the GitHub release at
https://github.com/rizinorg/rizin/releases/.
The installer is named as `rizin_installer-<version>-x86_64.exe` and it allows
you to install Rizin either system-wide or just for the current user.
The zip file contains statically compiled binaries and it is named
`rizin-windows-static-<version>.zip`. Files within the zip file can be extracted
anywhere because Rizin is compiled in a "portable" way, allowing moving the
whole directory anywhere.
## MacOS
On MacOS systems, Rizin can be installed through .pkg files attached to the
GitHub release at https://github.com/rizinorg/rizin/releases/.
It is named as `rizin-macos-<version>.pkg`.
If you would like to help us configure an homebrew tap for Rizin, please get in
touch! We would love to make the process of installing and keeping Rizin updated
as easy as possible for all our users.
## Android
Statically compiled binaries for some common architectures where Android runs
are compiled and attached to all releases. We currently support aarch64, arm,
and x86_64. You can find the artifacts on the GitHub releases at
https://github.com/rizinorg/rizin/releases/.
Those files are named as `rizin-<version>-android-<architecture>.tar.gz`. Files
within the archive can be extracted anywhere on your Android device because
Rizin is compiled in a "portable" way, allowing moving the whole directory
anywhere.
## Others
If you are interested in providing Rizin in your distribution/system or in
adding support for other distribution formats (e.g. snap, homebrew, etc.),
please let us know and we would be glad to help you.

View file

@ -14,10 +14,7 @@ To learn more on Rizin you may want to read the
# How to install
You can find the latest release binaries for Android, Debian, Ubuntu, MacOS,
Windows [here](https://github.com/rizinorg/rizin/releases/latest). If we
don't provide a released binary for your system, you can still build Rizin
yourself.
Look at [INSTALL.md](./INSTALL.md).
# How to build

17
dist/deb/README.md vendored Normal file
View file

@ -0,0 +1,17 @@
These files are mainly created to support the
[Open Build Service](https://build.opensuse.org/package/show/home:RizinOrg/rizin), with the
[debtransform](https://raw.githubusercontent.com/openSUSE/obs-build/master/debtransform)
tool.
For example:
```
$ mkdir outdir
$ perl ./debtransform --changelog debian.changelog --release 0.3.0-1 . rizin.dsc outdir
```
If you want to build for an older version of Debian/Ubuntu that required special
patches, you can use a different .dsc file:
```
$ mkdir outdir
$ perl ./debtransform --changelog debian.changelog --release 0.3.0-1 . rizin-Debian_10.dsc outdir
```

400
dist/deb/debian-10-patch-meson.patch vendored Normal file
View file

@ -0,0 +1,400 @@
diff --color -ur rizin-v0.3.0/librz/analysis/d/meson.build rizin-v0.3.0.new/librz/analysis/d/meson.build
--- rizin-v0.3.0/librz/analysis/d/meson.build 2021-09-24 14:48:58.000000000 +0200
+++ rizin-v0.3.0.new/librz/analysis/d/meson.build 2021-10-08 16:57:14.563122846 +0200
@@ -75,7 +75,7 @@
'ws2spi',
]
-fs = import('fs')
+ls_exe = find_program('ls', required: true)
foreach file : sdb_files
outfile = '@0@.sdb'.format(file)
@@ -83,7 +83,8 @@
if file == 'types-windows'
foreach f : win_types_extra
win_file = 'types-windows_@0@.sdb.txt'.format(f)
- if fs.exists(win_file)
+ c = run_command(ls_exe, win_file)
+ if c.returncode() == 0
infiles += win_file
endif
endforeach
diff --color -ur rizin-v0.3.0/librz/core/meson.build rizin-v0.3.0.new/librz/core/meson.build
--- rizin-v0.3.0/librz/core/meson.build 2021-09-24 14:48:58.000000000 +0200
+++ rizin-v0.3.0.new/librz/core/meson.build 2021-10-08 16:48:26.330888231 +0200
@@ -83,7 +83,7 @@
rz_core_sources += 'windows_heap.c'
rz_core_inc += ['../../shlr/heap/include/rz_windows']
endif
-rz_core_inc = [platform_inc, include_directories(rz_core_inc), 'cmd_descs']
+rz_core_inc = [platform_inc, include_directories(rz_core_inc), include_directories('cmd_descs')]
rz_core_deps = [
rz_util_dep,
diff --color -ur rizin-v0.3.0/librz/type/meson.build rizin-v0.3.0.new/librz/type/meson.build
--- rizin-v0.3.0/librz/type/meson.build 2021-09-24 14:48:58.000000000 +0200
+++ rizin-v0.3.0.new/librz/type/meson.build 2021-10-08 17:38:03.143128288 +0200
@@ -21,10 +21,7 @@
tree_sitter_c_proj = subproject('tree-sitter-c', default_options: ['default_library=static'])
tree_sitter_c_dep = tree_sitter_c_proj.get_variable('tree_sitter_c_dep')
-rz_type_inc = [
- platform_inc,
- 'parser',
-]
+rz_type_inc = [platform_inc, include_directories('parser')]
rz_type = library('rz_type', rz_type_sources,
include_directories: rz_type_inc,
@@ -41,8 +38,7 @@
soversion: rizin_libversion
)
-rz_type_dep = declare_dependency(link_with: rz_type,
- include_directories: rz_type_inc)
+rz_type_dep = declare_dependency(link_with: rz_type, include_directories: rz_type_inc)
pkgconfig_mod.generate(rz_type,
subdirs: 'librz',
diff --color -ur rizin-v0.3.0/meson.build rizin-v0.3.0.new/meson.build
--- rizin-v0.3.0/meson.build 2021-09-24 14:48:58.000000000 +0200
+++ rizin-v0.3.0.new/meson.build 2021-10-08 16:43:36.783047995 +0200
@@ -1,7 +1,7 @@
project('rizin', 'c',
version: 'v0.3.0',
license: 'LGPL3',
- meson_version: '>=0.55.0',
+ meson_version: '>=0.49.0',
default_options: [
'buildtype=debugoptimized',
'b_vscrt=from_buildtype',
@@ -55,15 +55,6 @@
gittip = ''
-fs = import('fs')
-if git_exe.found() and fs.exists('.git')
- # Get gittip
- git_rev_parse = run_command(py3_exe, git_exe_repo_py, git_exe, repo, 'rev-parse', 'HEAD')
- if git_rev_parse.returncode() == 0
- gittip = git_rev_parse.stdout().strip()
- endif
-endif
-
if get_option('rizin_version_commit') != ''
version_commit = get_option('rizin_version_commit')
endif
@@ -90,14 +81,14 @@
# system dependencies
cc = meson.get_compiler('c')
# required for linux
-ldl = cc.find_library('dl', required: false, static: is_static_build)
-pth = dependency('threads', required: false, static: is_static_build)
-utl = cc.find_library('util', required: false, static: is_static_build)
+ldl = cc.find_library('dl', required: false)
+pth = dependency('threads', required: false)
+utl = cc.find_library('util', required: false)
if host_machine.system() == 'sunos'
# workaround for Solaris until https://github.com/mesonbuild/meson/issues/4328 is fixed
mth = declare_dependency(link_args: '-lm')
else
- mth = cc.find_library('m', required: false, static: is_static_build)
+ mth = cc.find_library('m', required: false)
endif
platform_deps = []
@@ -229,7 +220,7 @@
)
# handle magic library
-sys_magic = cc.find_library('magic', required: get_option('use_sys_magic'), static: is_static_build)
+sys_magic = cc.find_library('magic', required: get_option('use_sys_magic'))
# handle xxhash library
r = run_command(py3_exe, check_meson_subproject_py, 'xxhash')
@@ -241,7 +232,7 @@
if sys_xxhash_opt.enabled() or sys_xxhash_opt.auto()
xxhash_dep = dependency('xxhash', required: false, static: is_static_build)
if not xxhash_dep.found()
- xxhash_dep = cc.find_library('xxhash', required: sys_xxhash_opt, static: is_static_build)
+ xxhash_dep = cc.find_library('xxhash', required: sys_xxhash_opt)
endif
endif
if sys_xxhash_opt.auto() or sys_xxhash_opt.disabled()
@@ -345,7 +336,7 @@
lrt = []
if not cc.has_function('clock_gettime', prefix: '#include <time.h>') and cc.has_header_symbol('features.h', '__GLIBC__')
- lrt = cc.find_library('rt', required: true, static: is_static_build)
+ lrt = cc.find_library('rt', required: true)
endif
code = '#include <unistd.h>\nextern char **environ;\nint main() { char **env = environ; }'
@@ -674,52 +665,3 @@
rename: 'main'
)
endif
-
-summary({
- 'prefix': rizin_prefix,
- 'bindir': rizin_bindir,
- 'libdir': rizin_libdir,
- 'includedir': rizin_incdir,
- 'datadir': rizin_datdir,
- 'wwwroot': rizin_wwwroot,
- 'sdb': rizin_sdb,
- 'zigns': rizin_zigns,
- 'themes': rizin_themes,
- 'fortunes': rizin_fortunes,
- 'flags': rizin_flags,
- 'hud': rizin_hud,
- 'plugins': rizin_plugins,
- 'extras': rizin_extras,
- 'bindings': rizin_bindings,
-}, section: 'Directories')
-
-summary({
- 'Debugger enabled': has_debugger,
- 'System magic library': sys_magic.found() and sys_magic.type_name() != 'internal',
- 'System xxhash library': xxhash_dep.found() and xxhash_dep.type_name() != 'internal',
- 'System openssl library': sys_openssl.found() and sys_openssl.type_name() != 'internal',
- 'System libuv library': libuv_dep.found() and libuv_dep.type_name() != 'internal',
- 'System capstone library': capstone_dep.found() and capstone_dep.type_name() != 'internal',
- 'System tree-sitter library': tree_sitter_dep.found() and tree_sitter_dep.type_name() != 'internal',
- 'System lz4 library': lz4_dep.found() and lz4_dep.type_name() != 'internal',
- 'System zlib library': zlib_dep.found() and zlib_dep.type_name() != 'internal',
- 'System zip library': libzip_dep.found() and libzip_dep.type_name() != 'internal',
- 'Use ptrace-wrap': use_ptrace_wrap,
- 'Use RPATH': use_rpath,
-}, section: 'Configuration', bool_yn: true)
-
-summary({
- 'Analysis Plugins': analysis_plugins,
- 'Assembler Plugins': asm_plugins,
- 'Binary Plugins': bin_plugins,
- 'BinLdr Plugins': bin_ldr_plugins,
- 'BinXtr Plugins': bin_xtr_plugins,
- 'Breakpoint Plugins': bp_plugins,
- 'Core Plugins': core_plugins,
- 'Crypto Plugins': crypto_plugins,
- 'Debug Plugins': debug_plugins,
- 'Egg Plugins': egg_plugins,
- 'IO Plugins': io_plugins,
- 'Lang Plugins': lang_plugins,
- 'Parse Plugins': parse_plugins,
-}, section: 'Plugins', list_sep: ', ')
Only in rizin-v0.3.0.new/: meson.build.orig
Only in rizin-v0.3.0.new/shlr/spp: config.h
diff --color -ur rizin-v0.3.0/subprojects/capstone-bundled/meson.build rizin-v0.3.0.new/subprojects/capstone-bundled/meson.build
--- rizin-v0.3.0/subprojects/capstone-bundled/meson.build 2021-09-24 15:00:11.878054900 +0200
+++ rizin-v0.3.0.new/subprojects/capstone-bundled/meson.build 2021-10-08 17:31:12.612618887 +0200
@@ -1,4 +1,4 @@
-project('capstone', 'c', meson_version: '>=0.55.0')
+project('capstone', 'c', meson_version: '>=0.49.0')
cs_files = [
'arch/AArch64/AArch64BaseInfo.c',
@@ -75,7 +75,7 @@
'-DCAPSTONE_HAS_TMS320C64X',
]
-libcapstone = library('capstone', cs_files,
+libcapstone = static_library('capstone', cs_files,
c_args: libcapstone_c_args,
include_directories: capstone_includes,
implicit_include_directories: false
diff --color -ur rizin-v0.3.0/subprojects/libuv-v1.40.0/meson.build rizin-v0.3.0.new/subprojects/libuv-v1.40.0/meson.build
--- rizin-v0.3.0/subprojects/libuv-v1.40.0/meson.build 2021-09-24 15:00:11.878054900 +0200
+++ rizin-v0.3.0.new/subprojects/libuv-v1.40.0/meson.build 2021-10-08 17:31:02.329631175 +0200
@@ -227,7 +227,7 @@
)
uvincdir = include_directories('include', 'src', 'src/unix')
-libuv = library('uv',
+libuv = static_library('uv',
uvsrc,
c_args: uvdefines,
dependencies: libuv_deps,
diff --color -ur rizin-v0.3.0/subprojects/libzip-1.7.3/cmake-config.h.in rizin-v0.3.0.new/subprojects/libzip-1.7.3/cmake-config.h.in
--- rizin-v0.3.0/subprojects/libzip-1.7.3/cmake-config.h.in 2021-09-24 15:00:11.878054900 +0200
+++ rizin-v0.3.0.new/subprojects/libzip-1.7.3/cmake-config.h.in 2021-10-08 17:12:21.702909919 +0200
@@ -46,8 +46,8 @@
#cmakedefine HAVE_STRINGS_H
#cmakedefine HAVE_UNISTD_H
#cmakedefine HAVE_WINDOWS_CRYPTO
-#cmakedefine SIZEOF_OFF_T @SIZEOF_OFF_T@
-#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@
+#cmakedefine SIZEOF_OFF_T
+#cmakedefine SIZEOF_SIZE_T
#cmakedefine HAVE_DIRENT_H
#cmakedefine HAVE_FTS_H
#cmakedefine HAVE_NDIR_H
diff --color -ur rizin-v0.3.0/subprojects/libzip-1.7.3/meson.build rizin-v0.3.0.new/subprojects/libzip-1.7.3/meson.build
--- rizin-v0.3.0/subprojects/libzip-1.7.3/meson.build 2021-09-24 15:00:11.878054900 +0200
+++ rizin-v0.3.0.new/subprojects/libzip-1.7.3/meson.build 2021-10-08 17:30:39.987657874 +0200
@@ -108,10 +108,10 @@
conf_data.set('CMAKE_PROJECT_VERSION', meson.project_version())
config_h = configure_file(
+ format: 'cmake@',
input: 'cmake-config.h.in',
output: 'config.h',
configuration: conf_data,
- format: 'cmake@',
)
# Create zipconf.h file
@@ -391,7 +391,7 @@
zip_inc = [include_directories('lib', '.')]
-libzip = library('libzip', zip_files,
+libzip = static_library('libzip', zip_files,
dependencies: libzip_deps,
include_directories: zip_inc,
implicit_include_directories: true,
@@ -402,4 +402,4 @@
link_with: libzip,
include_directories: zip_inc,
dependencies: libzip_deps,
-)
\ No newline at end of file
+)
diff --color -ur rizin-v0.3.0/subprojects/lz4-1.9.3/meson.build rizin-v0.3.0.new/subprojects/lz4-1.9.3/meson.build
--- rizin-v0.3.0/subprojects/lz4-1.9.3/meson.build 2021-09-24 15:00:11.878054900 +0200
+++ rizin-v0.3.0.new/subprojects/lz4-1.9.3/meson.build 2021-10-08 17:30:24.888675917 +0200
@@ -10,7 +10,7 @@
lz4_inc = [include_directories('lib')]
-librzlz4 = library('lz4', lz4_files,
+librzlz4 = static_library('lz4', lz4_files,
include_directories: lz4_inc,
implicit_include_directories: false,
install: false,
diff --color -ur rizin-v0.3.0/subprojects/mpc/meson.build rizin-v0.3.0.new/subprojects/mpc/meson.build
--- rizin-v0.3.0/subprojects/mpc/meson.build 2021-09-24 14:48:58.000000000 +0200
+++ rizin-v0.3.0.new/subprojects/mpc/meson.build 2021-10-08 17:32:14.642544760 +0200
@@ -6,7 +6,7 @@
mpc_inc = [include_directories(['.'])]
-libmpc = library('mpc', mpc_files,
+libmpc = static_library('mpc', mpc_files,
include_directories: mpc_inc,
implicit_include_directories: false
)
@@ -14,4 +14,4 @@
mpc_dep = declare_dependency(
link_with: libmpc,
include_directories: mpc_inc
-)
\ No newline at end of file
+)
diff --color -ur rizin-v0.3.0/subprojects/sdb/meson.build rizin-v0.3.0.new/subprojects/sdb/meson.build
--- rizin-v0.3.0/subprojects/sdb/meson.build 2021-09-18 14:47:30.000000000 +0200
+++ rizin-v0.3.0.new/subprojects/sdb/meson.build 2021-10-08 16:26:05.826029539 +0200
@@ -1,4 +1,4 @@
-project('sdb', 'c', meson_version: '>=0.50.0', default_options: [
+project('sdb', 'c', meson_version: '>=0.49.0', default_options: [
'buildtype=debugoptimized', 'b_vscrt=from_buildtype'
])
py3_exe = import('python').find_installation()
diff --color -ur rizin-v0.3.0/subprojects/sdb/src/meson.build rizin-v0.3.0.new/subprojects/sdb/src/meson.build
--- rizin-v0.3.0/subprojects/sdb/src/meson.build 2021-09-18 14:47:30.000000000 +0200
+++ rizin-v0.3.0.new/subprojects/sdb/src/meson.build 2021-10-08 16:27:34.024873797 +0200
@@ -33,7 +33,7 @@
libsdb_inc = include_directories(['..', '.'])
-libsdb = library('sdb', libsdb_sources,
+libsdb = static_library('sdb', libsdb_sources,
include_directories: libsdb_inc,
implicit_include_directories: false,
soversion: sdb_libversion,
diff --color -ur rizin-v0.3.0/subprojects/tree-sitter-c/meson.build rizin-v0.3.0.new/subprojects/tree-sitter-c/meson.build
--- rizin-v0.3.0/subprojects/tree-sitter-c/meson.build 2021-09-24 15:00:11.878054900 +0200
+++ rizin-v0.3.0.new/subprojects/tree-sitter-c/meson.build 2021-10-08 16:47:39.752913928 +0200
@@ -8,13 +8,13 @@
tree_sitter_dep = tree_sitter_proj.get_variable('tree_sitter_dep')
libtsc = static_library('tree-sitter-c', ts_c_files,
- include_directories: ['src'],
+ include_directories: [include_directories('src')],
implicit_include_directories: false,
dependencies: tree_sitter_dep.partial_dependency(includes: true)
)
tree_sitter_c_dep = declare_dependency(
link_with: libtsc,
- include_directories: ['src/tree_sitter'],
+ include_directories: include_directories('src/tree_sitter'),
dependencies: tree_sitter_dep
)
diff --color -ur rizin-v0.3.0/subprojects/xxhash/meson.build rizin-v0.3.0.new/subprojects/xxhash/meson.build
--- rizin-v0.3.0/subprojects/xxhash/meson.build 2021-09-24 14:48:58.000000000 +0200
+++ rizin-v0.3.0.new/subprojects/xxhash/meson.build 2021-10-08 17:32:01.122560916 +0200
@@ -5,7 +5,7 @@
inc = include_directories('.')
-libxxhash = library('xxhash',
+libxxhash = static_library('xxhash',
['xxhash.c'],
include_directories : inc,
version : meson.project_version(),
@@ -13,4 +13,4 @@
xxhash_dep = declare_dependency(
include_directories : inc,
- link_with : libxxhash)
\ No newline at end of file
+ link_with : libxxhash)
diff --color -ur rizin-v0.3.0/subprojects/yxml/meson.build rizin-v0.3.0.new/subprojects/yxml/meson.build
--- rizin-v0.3.0/subprojects/yxml/meson.build 2021-09-24 14:48:58.000000000 +0200
+++ rizin-v0.3.0.new/subprojects/yxml/meson.build 2021-10-08 17:32:29.153527419 +0200
@@ -1,9 +1,9 @@
project('yxml', 'c', version: '66507906673bc6159d5d620414479954c9c21c24')
-libyxml = library('yxml', 'yxml.c',
+libyxml = static_library('yxml', 'yxml.c',
implicit_include_directories: true)
yxml_dep = declare_dependency(
link_with: libyxml,
include_directories: include_directories('.'),
-)
\ No newline at end of file
+)
diff --color -ur rizin-v0.3.0/subprojects/zlib-1.2.11/meson.build rizin-v0.3.0.new/subprojects/zlib-1.2.11/meson.build
--- rizin-v0.3.0/subprojects/zlib-1.2.11/meson.build 2021-09-24 15:00:11.878054900 +0200
+++ rizin-v0.3.0.new/subprojects/zlib-1.2.11/meson.build 2021-10-08 17:29:52.755714315 +0200
@@ -45,7 +45,7 @@
src += win.compile_resources('win32/zlib1.rc', args : win_args)
endif
-zlib = library('z', src,
+zlib = static_library('z', src,
c_args : compile_args,
link_args : link_args,
vs_module_defs : 'win32/zlib.def',
@@ -55,4 +55,4 @@
zlib_dep = declare_dependency(
link_with : zlib,
- include_directories : incdir)
\ No newline at end of file
+ include_directories : incdir)
diff --color -ur rizin-v0.3.0/test/unit/meson.build rizin-v0.3.0.new/test/unit/meson.build
--- rizin-v0.3.0/test/unit/meson.build 2021-09-24 14:48:58.000000000 +0200
+++ rizin-v0.3.0.new/test/unit/meson.build 2021-10-08 16:53:51.098428973 +0200
@@ -107,7 +107,7 @@
foreach test : tests
exe = executable('test_@0@'.format(test), 'test_@0@.c'.format(test),
# '.' to find autogenerated "test_config.h"
- include_directories: [platform_inc, '.'],
+ include_directories: [platform_inc, include_directories('.')],
dependencies: [
rz_util_dep,
rz_main_dep,

1
dist/deb/debian.Debian_10.series vendored Normal file
View file

@ -0,0 +1 @@
debian-10-patch-meson.patch -p1

5
dist/deb/debian.changelog vendored Normal file
View file

@ -0,0 +1,5 @@
rizin (0.3.0-1) rolling; urgency=medium
* First import from Parrot of the debian package
-- Riccardo Schirone <sirmy15@gmail.com> Thu, 7 Oct 2021 16:42:00 +0700

1
dist/deb/debian.compat vendored Normal file
View file

@ -0,0 +1 @@
13

37
dist/deb/debian.control vendored Normal file
View file

@ -0,0 +1,37 @@
Source: rizin
Section: devel
Priority: optional
Maintainer: RizinOrg <info@rizin.re>
Build-Depends: debhelper (>= 12),
meson,
pkg-config,
python3,
python3-setuptools,
Standards-Version: 4.5.1
Homepage: https://rizin.re/
Vcs-Browser: https://github.com/rizinorg/rizin
Vcs-Git: https://github.com/rizinorg/rizin
Rules-Requires-Root: no
Package: rizin
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Free and Open Source Reverse Engineering Framework
Rizin is a free and open-source Reverse Engineering framework, providing a
complete binary analysis experience with features like Disassembler,
Hexadecimal editor, Emulation, Binary inspection, Debugger, and more.
Package: librizin-dev
Section: libdevel
Architecture: any
Depends: ${misc:Depends}, librizin-common (>= ${source:Version}), rizin (>= ${source:Version})
Description: devel files from the rizin suite
This package provides the devel files from rizin.
Package: librizin-common
Multi-Arch: foreign
Architecture: all
Depends: ${misc:Depends}
Description: arch independent files from the rizin suite
This package provides the arch independent files from rizin.

View file

@ -0,0 +1 @@
/usr/share/rizin

3
dist/deb/debian.librizin-dev.install vendored Normal file
View file

@ -0,0 +1,3 @@
usr/include
usr/lib/*/pkgconfig
usr/lib/*/*.so

4
dist/deb/debian.rizin.install vendored Normal file
View file

@ -0,0 +1,4 @@
usr/bin
usr/lib/*/*.so.*
usr/share/man/man1
usr/share/man/man7

49
dist/deb/debian.rules vendored Executable file
View file

@ -0,0 +1,49 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
DEB_UPSTREAM_VERSION ?= $(shell dpkg-parsechangelog | sed -rne 's/^Version: ([0-9.]+)[-+].*$$/\1/p')
EXTRA_FLAGS=
EXTRA_FLAGS+= --buildtype=release
EXTRA_FLAGS+= -Dpackager=RizinOrg
EXTRA_FLAGS+= -Dpackager_version=$(DEB_UPSTREAM_VERSION)
EXTRA_FLAGS+= -Dsubprojects_check=false
EXTRA_FLAGS+= -Dlocal=disabled
EXTRA_FLAGS+= -Duse_sys_capstone=disabled
EXTRA_FLAGS+= -Duse_sys_magic=disabled
EXTRA_FLAGS+= -Duse_sys_libzip=disabled
EXTRA_FLAGS+= -Duse_sys_zlib=disabled
EXTRA_FLAGS+= -Duse_sys_lz4=disabled
EXTRA_FLAGS+= -Duse_sys_xxhash=disabled
EXTRA_FLAGS+= -Duse_sys_libuv=disabled
EXTRA_FLAGS+= -Duse_sys_openssl=disabled
EXTRA_FLAGS+= -Duse_webui=false
# architectures with debugging support
DEBUG_SUPPORT=0
debug_architectures := i386 amd64 arm arm64 mips mips64 powerpc ppc64
ifeq ($(DEB_HOST_ARCH_CPU),$(findstring $(DEB_HOST_ARCH_CPU),$(debug_architectures)))
DEBUG_SUPPORT=1
endif
ifeq (0,$(DEBUG_SUPPORT))
EXTRA_FLAGS+= -Ddebugger=false
else
EXTRA_FLAGS+= -Ddebugger=true
endif
%:
dh $@ --buildsystem=meson
override_dh_auto_configure:
dh_auto_configure --builddirectory=build-deb -- ${EXTRA_FLAGS}
override_dh_auto_build:
dh_auto_build --builddirectory=build-deb
override_dh_auto_test:
# skip tests
override_dh_auto_install:
dh_auto_install --builddirectory=build-deb # --destdir=debian/tmp

16
dist/deb/rizin-Debian_10.dsc vendored Normal file
View file

@ -0,0 +1,16 @@
Format: 1.0
Source: rizin
Binary: rizin, librizin-dev, rizin-common
Architecture: any all
Version: 0.3.0-1
Maintainer: RizinOrg <info@rizin.re>
Homepage: https://rizin.re/
Standards-Version: 4.5.1
Vcs-Browser: https://github.com/rizinorg/rizin
Vcs-Git: https://github.com/rizinorg/rizin
Debtransform-Series: debian.Debian_10.series
Build-Depends: debhelper (>= 12), meson, pkg-config, python3, python3-setuptools
Package-List:
rizin deb devel optional arch=any
rizin-common deb devel optional arch=all
librizin-dev deb libdevel optional arch=any

16
dist/deb/rizin-xUbuntu_20.04.dsc vendored Normal file
View file

@ -0,0 +1,16 @@
Format: 1.0
Source: rizin
Binary: rizin, librizin-dev, rizin-common
Architecture: any all
Version: 0.3.0-1
Maintainer: RizinOrg <info@rizin.re>
Homepage: https://rizin.re/
Standards-Version: 4.5.1
Vcs-Browser: https://github.com/rizinorg/rizin
Vcs-Git: https://github.com/rizinorg/rizin
Debtransform-Series: debian.Debian_10.series
Build-Depends: debhelper (>= 12), meson, pkg-config, python3, python3-setuptools
Package-List:
rizin deb devel optional arch=any
rizin-common deb devel optional arch=all
librizin-dev deb libdevel optional arch=any

15
dist/deb/rizin.dsc vendored Normal file
View file

@ -0,0 +1,15 @@
Format: 1.0
Source: rizin
Binary: rizin, librizin-dev, rizin-common
Architecture: any all
Version: 0.3.0-1
Maintainer: RizinOrg <info@rizin.re>
Homepage: https://rizin.re/
Standards-Version: 4.5.1
Vcs-Browser: https://github.com/rizinorg/rizin
Vcs-Git: https://github.com/rizinorg/rizin
Build-Depends: debhelper (>= 12), meson, pkg-config, python3, python3-setuptools
Package-List:
rizin deb devel optional arch=any
rizin-common deb devel optional arch=all
librizin-dev deb libdevel optional arch=any

123
dist/rpm/rizin.spec vendored Normal file
View file

@ -0,0 +1,123 @@
Name: rizin
Summary: UNIX-like reverse engineering framework and command-line tool-set
Version: 0.3.0
URL: https://rizin.re/
VCS: https://github.com/rizinorg/rizin
%global gituser rizinorg
%global gitname rizin
%global rel 1
Release: 0%{rel}%{?dist}
Source0: https://github.com/%{gituser}/%{gitname}/releases/download/v%{version}/%{name}-src-v%{version}.tar.xz
License: LGPLv3+ and GPLv2+ and BSD and MIT and ASL 2.0 and MPLv2.0 and zlib
BuildRequires: gcc
BuildRequires: meson >= 0.55.0
%if 0%{?suse_version}
BuildRequires: ninja
%else
BuildRequires: ninja-build
%endif
BuildRequires: pkgconfig
Requires: %{name}-common = %{version}-%{release}
%description
Rizin is a free and open-source Reverse Engineering framework, providing a
complete binary analysis experience with features like Disassembler,
Hexadecimal editor, Emulation, Binary inspection, Debugger, and more.
Rizin is a fork of radare2 with a focus on usability, working features and code
cleanliness.
%package devel
Summary: Development files for the rizin package
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: file-devel
Requires: openssl-devel
%description devel
Development files for the rizin package. See rizin package for more
information.
%package common
Summary: Arch-independent SDB files for the rizin package
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%description common
Arch-independent SDB files used by rizin package. See rizin package for more
information
%prep
# Build from git release version
%setup -n %{name}-v%{version}
%build
# Whereever possible use the system-wide libraries instead of bundles
%meson \
%ifarch s390x
-Ddebugger=false \
%endif
-Duse_sys_libuv=disabled \
-Duse_libuv=true \
-Denable_tests=false \
-Denable_rz_test=false \
-Dlocal=disabled \
-Dpackager="RizinOrg" \
-Dpackager_version="%{version}-%{release}"
%meson_build
%install
%meson_install
%if 0%{?suse_version} || (0%{?centos} && 0%{?centos} < 8)
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%else
%ldconfig_scriptlets
%endif
%check
# Do not run the unit testsuite yet - it pulls another big repository
# https://github.com/rizinorg/rizin-testbins from github
%files
%doc CONTRIBUTING.md DEVELOPERS.md README.md SECURITY.md BUILDING.md
%license COPYING COPYING.LESSER
%{_bindir}/r*
%{_libdir}/librz_*.so.%{version}*
%{_mandir}/man1/rizin.1.*
%{_mandir}/man1/rz*.1.*
%{_mandir}/man7/rz-esil.7.*
%files devel
%{_includedir}/librz
%{_libdir}/librz*.so
%{_libdir}/pkgconfig/*.pc
%files common
%{_datadir}/%{name}/%{version}/asm
%{_datadir}/%{name}/%{version}/cons
%{_datadir}/%{name}/%{version}/flag
%{_datadir}/%{name}/%{version}/format
%{_datadir}/%{name}/%{version}/fortunes
%{_datadir}/%{name}/%{version}/hud
%{_datadir}/%{name}/%{version}/magic
%{_datadir}/%{name}/%{version}/opcodes
%{_datadir}/%{name}/%{version}/reg
%{_datadir}/%{name}/%{version}/syscall
%{_datadir}/%{name}/%{version}/types
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/%{version}
%changelog
* Mon Sep 27 2021 Riccardo Schirone <rschirone91@gmail.com> - 0.0.5-1
- Initial spec file from upstream