]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
docs: stop recommending meson compile
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 12 Apr 2022 10:05:53 +0000 (12:05 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 12 Apr 2022 10:35:44 +0000 (12:35 +0200)
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.)

README
docs/CODE_QUALITY.md
docs/HACKING.md
docs/RELEASE.md
docs/TRANSLATORS.md

diff --git a/README b/README
index 109c093a6c8e1de1e66f0bb3fa3755c16b1f50a8..60b7aae930b44b0da578efe8fa313a5fb43b9dce 100644 (file)
--- 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/
index b1f7dd109ed904c8782957cadfd055d397ecfc0e..29dfdd8ae09f20b2456714a5b743b86f210ef625 100644 (file)
@@ -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
index 4b334715c7eb3a6cd6d42d6e98f57f201f9348b8..f6b42297e0cb7268e37629890a47d2f87365bc6a 100644 (file)
@@ -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"
index c5da09b62cc34733380cad7a43ca193b598f2bd0..a5ab146f2852e8de5bad4592b33cf76205ff72d1 100644 (file)
@@ -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.
index 135f35793ba492b0a695487adefd0a3d001db479..58708bcd58ddb8f443a044a83ca51a5bc7096fd8 100644 (file)
@@ -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.