DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55
@ 2021-08-10 23:03 Dmitry Kozlyuk
  2021-08-17 14:35 ` Bruce Richardson
  2021-08-23 12:41 ` Nick Connolly
  0 siblings, 2 replies; 5+ messages in thread
From: Dmitry Kozlyuk @ 2021-08-10 23:03 UTC (permalink / raw)
  To: dev
  Cc: Dmitry Kozlyuk, nick.connolly, stable, Bruce Richardson, Narcisa Vasile

Install command for meson >= 0.55.0 referenced the script by a plain
string, assuming the build directory to be directly under the source
tree root. This resulted in an error when the assumption did not hold:

    c:\python\python.exe: can't open file
    '../buildtools/symlink-drivers-solibs.py':
    [Errno 2] No such file or directory

Use files() to make a valid script path for any build directory.

Fixes: cd27047dbee1 ("build: support drivers symlink on Windows")
Cc: nick.connolly@mayadata.io
Cc: stable@dpdk.org

Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
Note: this is not limited to Windows, it just happens that Windows
requires newer meson and the error example is from Windows build.

 config/meson.build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/config/meson.build b/config/meson.build
index e80421003b..3b5966ec2f 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -61,7 +61,8 @@ if not is_windows
             get_option('libdir'), pmd_subdir_opt)
 elif meson.version().version_compare('>=0.55.0')
     # 0.55.0 is required to use external program with add_install_script
-    meson.add_install_script(py3, '../buildtools/symlink-drivers-solibs.py',
+    meson.add_install_script(py3,
+            files('../buildtools/symlink-drivers-solibs.py'),
             get_option('libdir'), pmd_subdir_opt, get_option('bindir'))
 endif
 
-- 
2.29.3


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55
  2021-08-10 23:03 [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55 Dmitry Kozlyuk
@ 2021-08-17 14:35 ` Bruce Richardson
  2021-08-18 20:55   ` Dmitry Kozlyuk
  2021-08-27 19:44   ` Thomas Monjalon
  2021-08-23 12:41 ` Nick Connolly
  1 sibling, 2 replies; 5+ messages in thread
From: Bruce Richardson @ 2021-08-17 14:35 UTC (permalink / raw)
  To: Dmitry Kozlyuk; +Cc: dev, nick.connolly, stable, Narcisa Vasile

On Wed, Aug 11, 2021 at 02:03:22AM +0300, Dmitry Kozlyuk wrote:
> Install command for meson >= 0.55.0 referenced the script by a plain
> string, assuming the build directory to be directly under the source
> tree root. This resulted in an error when the assumption did not hold:
> 
>     c:\python\python.exe: can't open file
>     '../buildtools/symlink-drivers-solibs.py':
>     [Errno 2] No such file or directory
> 
> Use files() to make a valid script path for any build directory.
> 
> Fixes: cd27047dbee1 ("build: support drivers symlink on Windows")
> Cc: nick.connolly@mayadata.io
> Cc: stable@dpdk.org
> 
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> ---
> Note: this is not limited to Windows, it just happens that Windows
> requires newer meson and the error example is from Windows build.
> 
>  config/meson.build | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/config/meson.build b/config/meson.build
> index e80421003b..3b5966ec2f 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -61,7 +61,8 @@ if not is_windows
>              get_option('libdir'), pmd_subdir_opt)
>  elif meson.version().version_compare('>=0.55.0')
>      # 0.55.0 is required to use external program with add_install_script
> -    meson.add_install_script(py3, '../buildtools/symlink-drivers-solibs.py',
> +    meson.add_install_script(py3,
> +            files('../buildtools/symlink-drivers-solibs.py'),
>              get_option('libdir'), pmd_subdir_opt, get_option('bindir'))
>  endif
>  

Rather than using a relative path, we could also use "files()" in the
buildtools directory and store it in a variable to re-use either. Most
other python scripts in the buildtools directory, use that pattern to have
a single (array) variable with the python and script calls together.

Either way as here, or with buildtools change:

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55
  2021-08-17 14:35 ` Bruce Richardson
@ 2021-08-18 20:55   ` Dmitry Kozlyuk
  2021-08-27 19:44   ` Thomas Monjalon
  1 sibling, 0 replies; 5+ messages in thread
From: Dmitry Kozlyuk @ 2021-08-18 20:55 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, nick.connolly, stable, Narcisa Vasile

2021-08-17 15:35 (UTC+0100), Bruce Richardson:
> On Wed, Aug 11, 2021 at 02:03:22AM +0300, Dmitry Kozlyuk wrote:
> > Install command for meson >= 0.55.0 referenced the script by a plain
> > string, assuming the build directory to be directly under the source
> > tree root. This resulted in an error when the assumption did not hold:
> > 
> >     c:\python\python.exe: can't open file
> >     '../buildtools/symlink-drivers-solibs.py':
> >     [Errno 2] No such file or directory
> > 
> > Use files() to make a valid script path for any build directory.
> > 
> > Fixes: cd27047dbee1 ("build: support drivers symlink on Windows")
> > Cc: nick.connolly@mayadata.io
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > ---
> > Note: this is not limited to Windows, it just happens that Windows
> > requires newer meson and the error example is from Windows build.
> > 
> >  config/meson.build | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/config/meson.build b/config/meson.build
> > index e80421003b..3b5966ec2f 100644
> > --- a/config/meson.build
> > +++ b/config/meson.build
> > @@ -61,7 +61,8 @@ if not is_windows
> >              get_option('libdir'), pmd_subdir_opt)
> >  elif meson.version().version_compare('>=0.55.0')
> >      # 0.55.0 is required to use external program with add_install_script
> > -    meson.add_install_script(py3, '../buildtools/symlink-drivers-solibs.py',
> > +    meson.add_install_script(py3,
> > +            files('../buildtools/symlink-drivers-solibs.py'),
> >              get_option('libdir'), pmd_subdir_opt, get_option('bindir'))
> >  endif
> >    
> 
> Rather than using a relative path, we could also use "files()" in the
> buildtools directory and store it in a variable to re-use either. Most
> other python scripts in the buildtools directory, use that pattern to have
> a single (array) variable with the python and script calls together.

Thanks for the hint, but I don't think consistency is worth it.
Now we have some non-trivial logic (otherwise it wouldn't need comments)
in one place. With variable definition affected by the single use case in
another file it will be harder to understand the reason.

> Either way as here, or with buildtools change:
> 
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55
  2021-08-10 23:03 [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55 Dmitry Kozlyuk
  2021-08-17 14:35 ` Bruce Richardson
@ 2021-08-23 12:41 ` Nick Connolly
  1 sibling, 0 replies; 5+ messages in thread
From: Nick Connolly @ 2021-08-23 12:41 UTC (permalink / raw)
  To: Dmitry Kozlyuk, dev; +Cc: stable, Bruce Richardson, Narcisa Vasile

Good catch - thanks Dmitry.

Ack-by: Nick Connolly <nick.connolly@mayadata.io>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55
  2021-08-17 14:35 ` Bruce Richardson
  2021-08-18 20:55   ` Dmitry Kozlyuk
@ 2021-08-27 19:44   ` Thomas Monjalon
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Monjalon @ 2021-08-27 19:44 UTC (permalink / raw)
  To: Dmitry Kozlyuk
  Cc: dev, nick.connolly, stable, Narcisa Vasile, Bruce Richardson

17/08/2021 16:35, Bruce Richardson:
> On Wed, Aug 11, 2021 at 02:03:22AM +0300, Dmitry Kozlyuk wrote:
> > Install command for meson >= 0.55.0 referenced the script by a plain
> > string, assuming the build directory to be directly under the source
> > tree root. This resulted in an error when the assumption did not hold:
> > 
> >     c:\python\python.exe: can't open file
> >     '../buildtools/symlink-drivers-solibs.py':
> >     [Errno 2] No such file or directory
> > 
> > Use files() to make a valid script path for any build directory.
> > 
> > Fixes: cd27047dbee1 ("build: support drivers symlink on Windows")
> > Cc: nick.connolly@mayadata.io
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > ---
> > Note: this is not limited to Windows, it just happens that Windows
> > requires newer meson and the error example is from Windows build.

It is used only for Windows.
Beginning of commit log is adjusted:
"Install command on Windows for Meson >= 0.55.0"

> >      # 0.55.0 is required to use external program with add_install_script
> > -    meson.add_install_script(py3, '../buildtools/symlink-drivers-solibs.py',
> > +    meson.add_install_script(py3,
> > +            files('../buildtools/symlink-drivers-solibs.py'),
> 
> Rather than using a relative path, we could also use "files()" in the
> buildtools directory and store it in a variable to re-use either. Most
> other python scripts in the buildtools directory, use that pattern to have
> a single (array) variable with the python and script calls together.
> 
> Either way as here, or with buildtools change:
> 
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Applied as-is, thanks.




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-08-27 19:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-10 23:03 [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55 Dmitry Kozlyuk
2021-08-17 14:35 ` Bruce Richardson
2021-08-18 20:55   ` Dmitry Kozlyuk
2021-08-27 19:44   ` Thomas Monjalon
2021-08-23 12:41 ` Nick Connolly

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).