summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-04-12 12:05:53 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-04-12 12:35:44 +0200
commite8a688178c4875f3b67e5fbc6e56d0487258f535 (patch)
tree5d7959e2578e30ae372db15a883ec1d0c1d9351f
parent2a1a7910f9af6ec1ce0e5e6e8f271e3ea89b9d8b (diff)
downloadsystemd-e8a688178c4875f3b67e5fbc6e56d0487258f535.tar.gz
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.)
-rw-r--r--README6
-rw-r--r--docs/CODE_QUALITY.md17
-rw-r--r--docs/HACKING.md20
-rw-r--r--docs/RELEASE.md10
-rw-r--r--docs/TRANSLATORS.md6
5 files changed, 30 insertions, 29 deletions
diff --git a/README b/README
index 109c093a6c..60b7aae930 100644
--- a/README
+++ b/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/
diff --git a/docs/CODE_QUALITY.md b/docs/CODE_QUALITY.md
index b1f7dd109e..29dfdd8ae0 100644
--- a/docs/CODE_QUALITY.md
+++ b/docs/CODE_QUALITY.md
@@ -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
diff --git a/docs/HACKING.md b/docs/HACKING.md
index 4b334715c7..f6b42297e0 100644
--- a/docs/HACKING.md
+++ b/docs/HACKING.md
@@ -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"
diff --git a/docs/RELEASE.md b/docs/RELEASE.md
index c5da09b62c..a5ab146f28 100644
--- a/docs/RELEASE.md
+++ b/docs/RELEASE.md
@@ -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.
diff --git a/docs/TRANSLATORS.md b/docs/TRANSLATORS.md
index 135f35793b..58708bcd58 100644
--- a/docs/TRANSLATORS.md
+++ b/docs/TRANSLATORS.md
@@ -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.