All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] meson: Fix install location of doxygen's man pages
@ 2023-03-20 19:50 Laurent Pinchart
  2023-03-20 20:36 ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 3+ messages in thread
From: Laurent Pinchart @ 2023-03-20 19:50 UTC (permalink / raw)
  To: linux-media; +Cc: Mauro Carvalho Chehab, Gregor Jasny

The doxygen man pages are incorrectly being installed alongside the HTML
documentation. Install them in the right location, in the $mandir
directory, by specifying a separate install location for each doxygen
target.

As a drive-by cleanup, replace the join_path() function with the meson's
'/' path concatenation operator.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 doc/meson.build | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/doc/meson.build b/doc/meson.build
index fef3e83fa432..02a30dc5688a 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -15,15 +15,16 @@ doxyfile = configure_file(input : 'Doxyfile.in',
                           output : 'Doxyfile',
                           configuration : cdata)
 
-doxygen_install_dir = join_paths(get_option('datadir'), 'doc',
-                                 '@0@'.format(meson.project_name()))
+doxygen_install_dirs = []
 
 doxygen_output = []
 if get_option('doxygen-html')
     doxygen_output += 'html'
+    doxygen_install_dirs += get_option('datadir') / 'doc' / '@0@'.format(meson.project_name())
 endif
 if get_option('doxygen-man')
     doxygen_output += 'man'
+    doxygen_install_dirs += get_option('mandir') / '..'
 endif
 
 custom_target('doxygen',
@@ -31,4 +32,4 @@ custom_target('doxygen',
               output : doxygen_output,
               command : [prog_doxygen, doxyfile],
               install : true,
-              install_dir : doxygen_install_dir)
+              install_dir : doxygen_install_dirs)

base-commit: cdb3d1a7309d2daed5626c8c4ddbe9e5498e938b
-- 
Regards,

Laurent Pinchart


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

* Re: [PATCH] meson: Fix install location of doxygen's man pages
  2023-03-20 19:50 [PATCH] meson: Fix install location of doxygen's man pages Laurent Pinchart
@ 2023-03-20 20:36 ` Mauro Carvalho Chehab
  2023-03-20 21:07   ` Laurent Pinchart
  0 siblings, 1 reply; 3+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-20 20:36 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, Gregor Jasny

Hi Laurent,

Em Mon, 20 Mar 2023 21:50:57 +0200
Laurent Pinchart <laurent.pinchart@ideasonboard.com> escreveu:

> The doxygen man pages are incorrectly being installed alongside the HTML
> documentation. Install them in the right location, in the $mandir
> directory, by specifying a separate install location for each doxygen
> target.
> 
> As a drive-by cleanup, replace the join_path() function with the meson's
> '/' path concatenation operator.

Thanks for the quick fix!

> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  doc/meson.build | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/doc/meson.build b/doc/meson.build
> index fef3e83fa432..02a30dc5688a 100644
> --- a/doc/meson.build
> +++ b/doc/meson.build
> @@ -15,15 +15,16 @@ doxyfile = configure_file(input : 'Doxyfile.in',
>                            output : 'Doxyfile',
>                            configuration : cdata)
>  
> -doxygen_install_dir = join_paths(get_option('datadir'), 'doc',
> -                                 '@0@'.format(meson.project_name()))
> +doxygen_install_dirs = []
>  
>  doxygen_output = []
>  if get_option('doxygen-html')
>      doxygen_output += 'html'
> +    doxygen_install_dirs += get_option('datadir') / 'doc' / '@0@'.format(meson.project_name())
>  endif
>  if get_option('doxygen-man')
>      doxygen_output += 'man'
> +    doxygen_install_dirs += get_option('mandir') / '..'

This is hacky, but it also sounded to me the easiest/quickest way to
address it. I wonder if are there a cleaner way to avoid it to place
files under ${mandir}/man/man3. e. g. /usr/share/man/man/man3.

This shouldn't be causing real problems, though, except if some
distro would use non-Unix standard places, like setting mandir
to something like "/weird/distro/manual_pages".

Thanks,
Mauro

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

* Re: [PATCH] meson: Fix install location of doxygen's man pages
  2023-03-20 20:36 ` Mauro Carvalho Chehab
@ 2023-03-20 21:07   ` Laurent Pinchart
  0 siblings, 0 replies; 3+ messages in thread
From: Laurent Pinchart @ 2023-03-20 21:07 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media, Gregor Jasny

Hi Mauro,

On Mon, Mar 20, 2023 at 09:36:19PM +0100, Mauro Carvalho Chehab wrote:
> Em Mon, 20 Mar 2023 21:50:57 +0200 Laurent Pinchart escreveu:
> 
> > The doxygen man pages are incorrectly being installed alongside the HTML
> > documentation. Install them in the right location, in the $mandir
> > directory, by specifying a separate install location for each doxygen
> > target.
> > 
> > As a drive-by cleanup, replace the join_path() function with the meson's
> > '/' path concatenation operator.
> 
> Thanks for the quick fix!
> 
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> >  doc/meson.build | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff --git a/doc/meson.build b/doc/meson.build
> > index fef3e83fa432..02a30dc5688a 100644
> > --- a/doc/meson.build
> > +++ b/doc/meson.build
> > @@ -15,15 +15,16 @@ doxyfile = configure_file(input : 'Doxyfile.in',
> >                            output : 'Doxyfile',
> >                            configuration : cdata)
> >  
> > -doxygen_install_dir = join_paths(get_option('datadir'), 'doc',
> > -                                 '@0@'.format(meson.project_name()))
> > +doxygen_install_dirs = []
> >  
> >  doxygen_output = []
> >  if get_option('doxygen-html')
> >      doxygen_output += 'html'
> > +    doxygen_install_dirs += get_option('datadir') / 'doc' / '@0@'.format(meson.project_name())
> >  endif
> >  if get_option('doxygen-man')
> >      doxygen_output += 'man'
> > +    doxygen_install_dirs += get_option('mandir') / '..'
> 
> This is hacky, but it also sounded to me the easiest/quickest way to
> address it. I wonder if are there a cleaner way to avoid it to place
> files under ${mandir}/man/man3. e. g. /usr/share/man/man/man3.

Not by using the custom_target() install_dir argument, as far as I can
see. meson provides a set of install_*() functions that may be
leveraged, and also allows running custom installation scripts with
meson.add_install_script() if needed. I decided to go for this small
hack for simplicity.

> This shouldn't be causing real problems, though, except if some
> distro would use non-Unix standard places, like setting mandir
> to something like "/weird/distro/manual_pages".

Yes, that would be problematic. Let's fix it when this theoretical
problem becomes a real one :-)

-- 
Regards,

Laurent Pinchart

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

end of thread, other threads:[~2023-03-20 21:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-20 19:50 [PATCH] meson: Fix install location of doxygen's man pages Laurent Pinchart
2023-03-20 20:36 ` Mauro Carvalho Chehab
2023-03-20 21:07   ` Laurent Pinchart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.