Update PACKAGERS.md (#4201)
This commit is contained in:
parent
8e4faa3906
commit
1b53c5c8f6
2 changed files with 20 additions and 16 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue