doc: prefer installing using meson rather than ninja

Message ID 20230609105139.76239-1-bruce.richardson@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series doc: prefer installing using meson rather than ninja |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing fail Testing issues
ci/iol-mellanox-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-unit-testing success Testing PASS
ci/iol-aarch-unit-testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-abi-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS

Commit Message

Bruce Richardson June 9, 2023, 10:51 a.m. UTC
  After doing a build, to install DPDK system-wide our documentation
recommended using the "ninja install" command. However, for anyone
building as a non-root user and only installing as root, the "meson
install" command is a better alternative, as it provides for
automatically dropping or elevating privileges as necessary in more
recent meson releases [1].

[1] https://mesonbuild.com/Installing.html#installing-as-the-superuser

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/contributing/coding_style.rst     | 2 +-
 doc/guides/cryptodevs/uadk.rst               | 2 +-
 doc/guides/freebsd_gsg/build_dpdk.rst        | 2 +-
 doc/guides/freebsd_gsg/build_sample_apps.rst | 2 +-
 doc/guides/linux_gsg/build_dpdk.rst          | 2 +-
 doc/guides/prog_guide/build-sdk-meson.rst    | 4 ++--
 6 files changed, 7 insertions(+), 7 deletions(-)
  

Comments

David Marchand June 9, 2023, 11:13 a.m. UTC | #1
On Fri, Jun 9, 2023 at 12:52 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> After doing a build, to install DPDK system-wide our documentation
> recommended using the "ninja install" command. However, for anyone
> building as a non-root user and only installing as root, the "meson
> install" command is a better alternative, as it provides for
> automatically dropping or elevating privileges as necessary in more
> recent meson releases [1].
>
> [1] https://mesonbuild.com/Installing.html#installing-as-the-superuser
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Should we align the CI scripts?
  
Bruce Richardson June 9, 2023, 11:19 a.m. UTC | #2
On Fri, Jun 09, 2023 at 01:13:15PM +0200, David Marchand wrote:
> On Fri, Jun 9, 2023 at 12:52 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > After doing a build, to install DPDK system-wide our documentation
> > recommended using the "ninja install" command. However, for anyone
> > building as a non-root user and only installing as root, the "meson
> > install" command is a better alternative, as it provides for
> > automatically dropping or elevating privileges as necessary in more
> > recent meson releases [1].
> >
> > [1] https://mesonbuild.com/Installing.html#installing-as-the-superuser
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> 
> Should we align the CI scripts?
> 
Hadn't considered it.

For them, it probably doesn't matter. This change is only really for
someone building as one user and then doing a sudo install. The CI scripts
don't install system-wide so don't need any privilege changes.

However, if you think our CI should just align with the practice in the
docs, I can do a V2 with some CI changes too.

/Bruce
  
David Marchand June 9, 2023, 11:21 a.m. UTC | #3
On Fri, Jun 9, 2023 at 1:19 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Fri, Jun 09, 2023 at 01:13:15PM +0200, David Marchand wrote:
> > On Fri, Jun 9, 2023 at 12:52 PM Bruce Richardson
> > <bruce.richardson@intel.com> wrote:
> > >
> > > After doing a build, to install DPDK system-wide our documentation
> > > recommended using the "ninja install" command. However, for anyone
> > > building as a non-root user and only installing as root, the "meson
> > > install" command is a better alternative, as it provides for
> > > automatically dropping or elevating privileges as necessary in more
> > > recent meson releases [1].
> > >
> > > [1] https://mesonbuild.com/Installing.html#installing-as-the-superuser
> > >
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> >
> > Should we align the CI scripts?
> >
> Hadn't considered it.
>
> For them, it probably doesn't matter. This change is only really for
> someone building as one user and then doing a sudo install. The CI scripts
> don't install system-wide so don't need any privilege changes.
>
> However, if you think our CI should just align with the practice in the
> docs, I can do a V2 with some CI changes too.

My concern is that we recommend something we are not testing.
So I'd prefer we have some minimal testing.
  

Patch

diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index 89db6260cf..00d6270624 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -956,7 +956,7 @@  ext_deps
 headers
 	**Default Value = []**.
 	Used to return the list of header files for the library that should be
-	installed to $PREFIX/include when ``ninja install`` is run. As with
+	installed to $PREFIX/include when ``meson install`` is run. As with
 	source files, these should be specified using the meson ``files()``
 	function.
 	When ``check_includes`` build option is set to ``true``, each header file
diff --git a/doc/guides/cryptodevs/uadk.rst b/doc/guides/cryptodevs/uadk.rst
index 9af6b88a5a..136ab4be6a 100644
--- a/doc/guides/cryptodevs/uadk.rst
+++ b/doc/guides/cryptodevs/uadk.rst
@@ -90,7 +90,7 @@  Test steps
       meson setup build (--reconfigure)
       cd build
       ninja
-      sudo ninja install
+      sudo meson install
 
 #. Prepare hugepages for DPDK (see also :doc:`../tools/hugepages`)
 
diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst
index 514d18c870..86e8e5a805 100644
--- a/doc/guides/freebsd_gsg/build_dpdk.rst
+++ b/doc/guides/freebsd_gsg/build_dpdk.rst
@@ -47,7 +47,7 @@  The final, install, step generally needs to be run as root::
   meson setup build
   cd build
   ninja
-  ninja install
+  meson install
 
 This will install the DPDK libraries and drivers to `/usr/local/lib` with a
 pkg-config file `libdpdk.pc` installed to `/usr/local/lib/pkgconfig`. The
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index c87e982759..b1ab7545b1 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -22,7 +22,7 @@  the system when DPDK is installed, and so can be built using GNU make.
    on the FreeBSD system.
 
 The following shows how to compile the helloworld example app, following
-the installation of DPDK using `ninja install` as described previously::
+the installation of DPDK using `meson install` as described previously::
 
         $ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
 
diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index bbd2efc9d8..56a503dc96 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -68,7 +68,7 @@  Once configured, to build and then install DPDK system-wide use:
 
         cd build
         ninja
-        ninja install
+        meson install
         ldconfig
 
 The last two commands above generally need to be run as root,
diff --git a/doc/guides/prog_guide/build-sdk-meson.rst b/doc/guides/prog_guide/build-sdk-meson.rst
index 5deabbe54c..93aa1f80e3 100644
--- a/doc/guides/prog_guide/build-sdk-meson.rst
+++ b/doc/guides/prog_guide/build-sdk-meson.rst
@@ -12,7 +12,7 @@  following set of commands::
 	meson setup build
 	cd build
 	ninja
-	ninja install
+	meson install
 
 This will compile DPDK in the ``build`` subdirectory, and then install the
 resulting libraries, drivers and header files onto the system - generally
@@ -165,7 +165,7 @@  printing each command on a new line as it runs.
 Installing the Compiled Files
 ------------------------------
 
-Use ``ninja install`` to install the required DPDK files onto the system.
+Use ``meson install`` to install the required DPDK files onto the system.
 The install prefix defaults to ``/usr/local`` but can be used as with other
 options above. The environment variable ``DESTDIR`` can be used to adjust
 the root directory for the install, for example when packaging.