mirror of
https://github.com/systemd/systemd.git
synced 2024-11-27 04:03:36 +08:00
docs: stop recommending meson compile
With meson-0.60, meson compile stopped working with some targets: $ meson compile -C build update-man-rules ERROR: Can't invoke target `update-man-rules`: ambiguous name. Add target type and/or path: `PATH/NAME:TYPE` This is obviously a regression in meson, but based on a chat with the maintainers, it seems that there's some disagreement as to whether 'meson compile' is useful and how exactly it should work. Since we're already at meson 0.60.3 and this hasn't been fixed, and people generally don't seem to consider this an issue, let's return to documenting the usual practice of 'ninja -C build' that just works everywhere. (Since nobody has raised any fuss in systemd, it means that people are generally using the shorter form during development too. I only noticed because I pasted a command from the release docs when preparing -rc1.)
This commit is contained in:
parent
2a1a7910f9
commit
e8a688178c
6
README
6
README
@ -207,7 +207,7 @@ REQUIREMENTS:
|
||||
python-jinja2
|
||||
python-lxml (optional, required to build the indices)
|
||||
python >= 3.5
|
||||
meson >= 0.53.2 (>= 0.54.0 is required to build with 'meson compile')
|
||||
meson >= 0.53.2
|
||||
ninja
|
||||
gcc, awk, sed, grep, and similar tools
|
||||
clang >= 10.0, llvm >= 10.0 (optional, required to build BPF programs
|
||||
@ -225,7 +225,7 @@ REQUIREMENTS:
|
||||
polkit (optional)
|
||||
|
||||
To build in directory build/:
|
||||
meson setup build/ && meson compile -C build/
|
||||
meson setup build/ && ninja -C build/
|
||||
|
||||
Any configuration options can be specified as -Darg=value... arguments
|
||||
to meson. After the build directory is initially configured, meson will
|
||||
@ -235,7 +235,7 @@ REQUIREMENTS:
|
||||
their current values.
|
||||
|
||||
Useful commands:
|
||||
meson compile -v -C build/ some/target
|
||||
ninja -C build -v some/target
|
||||
meson test -C build/
|
||||
sudo meson install -C build/
|
||||
DESTDIR=... meson install -C build/
|
||||
|
@ -38,18 +38,19 @@ available functionality:
|
||||
`./tools/find-tabs.sh recpatch` to fix them. (Again, grain of salt, foreign
|
||||
headers should usually be left unmodified.)
|
||||
|
||||
6. Use `meson compile -C build check-api-docs` to compare the list of exported
|
||||
symbols of `libsystemd.so` and `libudev.so` with the list of man pages. Symbols
|
||||
6. Use `ninja -C build check-api-docs` to compare the list of exported symbols
|
||||
of `libsystemd.so` and `libudev.so` with the list of man pages. Symbols
|
||||
lacking documentation are highlighted.
|
||||
|
||||
7. Use `meson compile -C build update-hwdb` to automatically download and import the
|
||||
PCI, USB and OUI databases into hwdb.
|
||||
7. Use `ninja -C build update-hwdb` and `ninja -C build update-hwdb-autosuspend`
|
||||
to automatically download and import the PCI, USB, and OUI databases and the
|
||||
autosuspend quirks into the hwdb.
|
||||
|
||||
8. Use `meson compile -C build update-man-rules` to update the meson rules for
|
||||
building man pages automatically from the docbook XML files included in
|
||||
`man/`.
|
||||
8. Use `ninja -C build update-man-rules` to update the meson rules for building
|
||||
man pages automatically from the docbook XML files included in `man/`.
|
||||
|
||||
9. There are multiple CI systems in use that run on every github PR submission.
|
||||
9. There are multiple CI systems in use that run on every github pull request
|
||||
submission or update.
|
||||
|
||||
10. [Coverity](https://scan.coverity.com/) is analyzing systemd `main` branch
|
||||
in regular intervals. The reports are available
|
||||
|
@ -95,16 +95,16 @@ for systemd:
|
||||
# available there or from the github repository otherwise)
|
||||
$ git clone https://github.com/systemd/systemd.git
|
||||
$ cd systemd
|
||||
$ git checkout -b <BRANCH> # where BRANCH is the name of the branch
|
||||
$ vim src/core/main.c # or wherever you'd like to make your changes
|
||||
$ meson build # configure the build
|
||||
$ meson compile -C build # build it locally, see if everything compiles fine
|
||||
$ meson test -C build # run some simple regression tests
|
||||
$ sudo mkosi # build a test image
|
||||
$ sudo mkosi boot # boot up the test image
|
||||
$ git add -p # interactively put together your patch
|
||||
$ git commit # commit it
|
||||
$ git push -u <REMOTE> # where REMOTE is your "fork" on GitHub
|
||||
$ git checkout -b <BRANCH> # where BRANCH is the name of the branch
|
||||
$ vim src/core/main.c # or wherever you'd like to make your changes
|
||||
$ meson build # configure the build
|
||||
$ ninja -C build # build it locally, see if everything compiles fine
|
||||
$ meson test -C build # run some simple regression tests
|
||||
$ sudo mkosi # build a test image
|
||||
$ sudo mkosi boot # boot up the test image
|
||||
$ git add -p # interactively put together your patch
|
||||
$ git commit # commit it
|
||||
$ git push -u <REMOTE> # where REMOTE is your "fork" on GitHub
|
||||
```
|
||||
|
||||
And after that, head over to your repo on GitHub and click "Compare & pull request"
|
||||
|
@ -8,15 +8,15 @@ SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
# Steps to a Successful Release
|
||||
|
||||
1. Add all items to NEWS
|
||||
2. Update the contributors list in NEWS (`meson compile -C build git-contrib`)
|
||||
2. Update the contributors list in NEWS (`ninja -C build git-contrib`)
|
||||
3. Update the time and place in NEWS
|
||||
4. Update hwdb (`meson compile -C build update-hwdb update-hwdb-autosuspend`)
|
||||
4. Update hwdb (`ninja -C build update-hwdb update-hwdb-autosuspend`)
|
||||
5. [RC1] Update version and library numbers in `meson.build`
|
||||
6. Check dbus docs with `meson compile -C build update-dbus-docs`
|
||||
6. Check dbus docs with `ninja -C build update-dbus-docs`
|
||||
7. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"`
|
||||
8. Do `meson compile -C build`
|
||||
8. Do `ninja -C build`
|
||||
9. Make sure that the version string and package string match: `build/systemctl --version`
|
||||
10. Upload the documentation: `meson compile -C build doc-sync`
|
||||
10. Upload the documentation: `ninja -C build doc-sync`
|
||||
11. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
|
||||
12. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
|
||||
13. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
|
||||
|
@ -27,7 +27,7 @@ To create a translation to a language not yet available, start by creating the
|
||||
initial template:
|
||||
|
||||
```
|
||||
$ meson compile -C build/ systemd-pot
|
||||
$ ninja -C build/ systemd-pot
|
||||
```
|
||||
|
||||
This will generate file `po/systemd.pot` in the source tree.
|
||||
@ -51,7 +51,7 @@ using the `poedit` GUI editor.)
|
||||
Start by updating the `*.po` files from the latest template:
|
||||
|
||||
```
|
||||
$ meson compile -C build/ systemd-update-po
|
||||
$ ninja -C build/ systemd-update-po
|
||||
```
|
||||
|
||||
This will touch all the `*.po` files, so you'll want to pay attention when
|
||||
@ -75,7 +75,7 @@ using `git checkout -- po/` after you commit the changes you do want to keep.)
|
||||
You can recompile the `*.po` files using the following command:
|
||||
|
||||
```
|
||||
$ meson compile -C build/ systemd-gmo
|
||||
$ ninja -C build/ systemd-gmo
|
||||
```
|
||||
|
||||
The resulting files will be saved in the `build/po/` directory.
|
||||
|
Loading…
Reference in New Issue
Block a user