Update PACKAGERS.md (#4201)

This commit is contained in:
Anton Kochkov 2024-02-10 17:50:57 +08:00 committed by GitHub
parent 8e4faa3906
commit 1b53c5c8f6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 16 deletions

View file

@ -2,7 +2,7 @@
.Dt RZ_SIGN 1
.Sh NAME
.Nm RZ_SIGN
.Nd rizin zignature utility
.Nd rizin signature utility
.Sh SYNOPSIS
.Nm rz-sign
.Op Fl acehoqv

View file

@ -16,9 +16,9 @@ the next step in this document.
If you want to package a particular git version, keep in mind that Rizin uses
meson subprojects to track versions of dependencies. Subprojects are usually
downloaded during the meson setup step, however if you can't download
downloaded during the meson setup step, however, if you can't download
additional code while building the package for your distribution you can
predownload everything with the following command:
pre-download everything with the following command:
```
$ git clone https://github.com/rizinorg/rizin
$ cd rizin
@ -38,8 +38,8 @@ change how Rizin is built.
First, we suggest you use the options `-Dpackager_version=<package-version>`
and `-Dpackager=<packager>` to help us track the version of Rizin users are
using, because these options are used when you run `rizin -v`. In this way
when a user reports a issue and he provides his `rizin -v` output, we know
how Rizin was built. Below you can see an example of how rizin uses the
when a user reports an issue and provides his `rizin -v` output, we know
how Rizin was built. Below, you can see an example of how rizin uses the
additional information:
```
rizin 0.2.0-git @ linux-x86-64, package: 0.2.0-git (rizinorg)
@ -47,41 +47,45 @@ commit: 84d2892e7210dc3ced88ae006ba5a9502f4847c8, build: 2021-01-29__09:35:03
```
Then, to define the base install location for Rizin use the `--prefix` flag when
invoking `meson`. For system installs it is common to use `/usr`. If in doubt
invoking `meson`. For system installs it is common to use `/usr`. If in doubt,
check your distributions packaging guidelines.
If you do not use `/usr` as a prefix, you may want to use `-Dlocal=disabled` to
avoid `RPATH` in the installed binaries.
If you want to specify different directories for binaries, libraries, header
files, etc. you may want to look at `--bindir`, `--libdir`, `--includedir` or
files, etc., you may want to look at `--bindir`, `--libdir`, `--includedir` or
check `meson setup --help` for more options. For extra control over the
directories used by Rizin, have a look at options `rizin_sdb`, `rizin_zigns`,
directories used by Rizin, have a look at options `rizin_sdb`,
etc. in [meson_options.txt][].
Rizin uses the Capstone disassembly engine and supports versions 3, 4, and 5.
By default we use a custom version of Capstone based on v5 and statically link
By default, we use a custom version of Capstone based on v5 and statically link
it into the Rizin executables. Some distributions might prefer that a system
version of Capstone be dynamically linked at runtime. To do this, use the
`-Duse_sys_capstone=enabled` command line option when running `meson`.
You can override the version of Capstone Rizin will use by setting
`use_capstone_version` to one of `v3`, `v4` or `next`.
`use_capstone_version` to one of `v4`, `v5` or `next`.
There are more bundled dependencies that can be swapped out for system versions.
At time of writing these are:
At the time of writing, these are:
* `use_sys_magic`
* `use_sys_libzip`
* `use_sys_lzma`
* `use_sys_zlib`
* `use_sys_lz4`
* `use_sys_zstd`
* `use_sys_xxhash`
* `use_sys_openssl`
* `use_sys_mspack`
* `use_sys_pcre2`
* `use_sys_tree_sitter`
See [meson_options.txt][] for a complete list of compile time options.
See [meson_options.txt][] for a complete list of compile-time options.
Once you are happy with the flags you have passed to `meson` to configure your
build you need to actually compile Rizin using `ninja`. You can do this with
build, you need to actually compile Rizin using `ninja`. You can do this with
`ninja -C build`.
See [BUILDING.md][] for more details.
@ -95,7 +99,7 @@ distribution you are targeting.
Recall in the building step how we defined a `--prefix` to choose where the
software was going to be installed? If we just ran `ninja -C build install`
then we would install the software into that prefix which would be `/usr` using
then we would install the software into that prefix, '/usr` using
the example above. That isn't what we want when we are packaging software for
distributions! Defining `DESTDIR` allows us to choose a base location to install
to that isn't our system root. It could be something as simple as `rizin` which
@ -104,7 +108,7 @@ would mean that `ninja` would actually copy our files to `./rizin/usr/**`.
There are files we want to include in the package that aren't installed using
`ninja` so we need to add these by hand.
To do this we can use `install` to create directories with the desired attributes
To do this, we can use `install` to create directories with the desired attributes
and copy the files in.
For example:
@ -122,7 +126,7 @@ information about attributes and permissions.
Licenses
--------
As Rizin is trying to use SPDX, if your packace needs license/copyright
As Rizin is trying to use SPDX, if your package needs license/copyright
information, you can use the [REUSE Software](https://reuse.software/) to
extract the license/copyright of all files in the repository.