Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-12-01 Thread Andrew Dunstan


On 2023-12-01 Fr 09:04, Andrew Dunstan wrote:


On 2023-11-29 We 07:20, Andrew Dunstan wrote:


On 2023-11-28 Tu 21:28, Andres Freund wrote:

Hi,

On 2023-11-23 08:32:21 -0500, Andrew Dunstan wrote:

On 2023-11-20 Mo 20:53, Andres Freund wrote:

meson: docs: Add {html,man} targets, rename install-doc-*

We have toplevel html, man targets in the autoconf build as well. 
It'd be odd
to have an 'html' target but have the install target be 
'install-doc-html',

thus rename the install targets to match.


This commit of one of its nearby friends appears to have broken 
crake's docs

build:

ERROR: Can't invoke target `html`: ambiguous name.Add target type 
and/or path:

- ./doc/src/sgml/html:custom
- ./doc/src/sgml/html:alias

See 

Ah, I realize now that this is from meson compile html, not 'ninja 
html'. That
explains why I couldn't reproduce this initially and why CI didn't 
complain.
I don't really understand why meson compile complains in this case.  
I assume
you don't want to disambiguate as suggested, by building html:alias 
instead?




I've done that as a temporary fix to get crake out of the hole, but 
it's pretty ugly, and I don't want to do it in a release if at all 
possible.



and doing this has broken the docs build for release 16.



OK, so this code is what I have now, and seems to work on both HEAD and 
REL_16_STABLE:


    my $extra_targets = $PGBuild::conf{extra_doc_targets} || "";
    my @targs = split(/\s+/, $extra_targets);
    s!^!doc/src/sgml/! foreach @targs;
    $extra_targets=join(' ', @targs) ;
    @makeout = run_log("cd $pgsql && ninja doc/src/sgml/html 
$extra_targets");


cheers


andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com


Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-12-01 Thread Andres Freund
Hi,


On 2023-12-01 09:04:19 -0500, Andrew Dunstan wrote:
> On 2023-11-29 We 07:20, Andrew Dunstan wrote:
> > On 2023-11-28 Tu 21:28, Andres Freund wrote:
> > > On 2023-11-23 08:32:21 -0500, Andrew Dunstan wrote:
> > > > On 2023-11-20 Mo 20:53, Andres Freund wrote:
> > > > > meson: docs: Add {html,man} targets, rename install-doc-*
> > > > > 
> > > > > We have toplevel html, man targets in the autoconf build as
> > > > > well. It'd be odd
> > > > > to have an 'html' target but have the install target be
> > > > > 'install-doc-html',
> > > > > thus rename the install targets to match.
> > > > 
> > > > This commit of one of its nearby friends appears to have broken
> > > > crake's docs
> > > > build:
> > > > 
> > > > ERROR: Can't invoke target `html`: ambiguous name.Add target
> > > > type and/or path:
> > > > - ./doc/src/sgml/html:custom
> > > > - ./doc/src/sgml/html:alias
> > > > 
> > > > See
> > > > 
> > > Ah, I realize now that this is from meson compile html, not 'ninja
> > > html'. That
> > > explains why I couldn't reproduce this initially and why CI didn't
> > > complain.
> > > I don't really understand why meson compile complains in this case. 
> > > I assume
> > > you don't want to disambiguate as suggested, by building html:alias
> > > instead?
> > > 
> > 
> > I've done that as a temporary fix to get crake out of the hole, but it's
> > pretty ugly, and I don't want to do it in a release if at all possible.
> 
> 
> and doing this has broken the docs build for release 16.

If I can get somebody to comment on
https://postgr.es/m/20231129183619.3hrnwaexbrpygbxg%40awork3.anarazel.de
we can remove the need for the :$buildtype suffix.

Greetings,

Andres Freund




Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-12-01 Thread Andrew Dunstan



On 2023-11-29 We 07:20, Andrew Dunstan wrote:


On 2023-11-28 Tu 21:28, Andres Freund wrote:

Hi,

On 2023-11-23 08:32:21 -0500, Andrew Dunstan wrote:

On 2023-11-20 Mo 20:53, Andres Freund wrote:

meson: docs: Add {html,man} targets, rename install-doc-*

We have toplevel html, man targets in the autoconf build as well. 
It'd be odd
to have an 'html' target but have the install target be 
'install-doc-html',

thus rename the install targets to match.


This commit of one of its nearby friends appears to have broken 
crake's docs

build:

ERROR: Can't invoke target `html`: ambiguous name.Add target type 
and/or path:

- ./doc/src/sgml/html:custom
- ./doc/src/sgml/html:alias

See 

Ah, I realize now that this is from meson compile html, not 'ninja 
html'. That
explains why I couldn't reproduce this initially and why CI didn't 
complain.
I don't really understand why meson compile complains in this case.  
I assume
you don't want to disambiguate as suggested, by building html:alias 
instead?




I've done that as a temporary fix to get crake out of the hole, but 
it's pretty ugly, and I don't want to do it in a release if at all 
possible.



and doing this has broken the docs build for release 16.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com





Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-29 Thread Andres Freund
Hi,

On 2023-11-29 10:05:26 -0500, Andrew Dunstan wrote:
> On 2023-11-29 We 08:49, Tom Lane wrote:
> > Andrew Dunstan  writes:
> > > On 2023-11-28 Tu 21:28, Andres Freund wrote:
> > > > I don't really understand why meson compile complains in this case.  I 
> > > > assume
> > > > you don't want to disambiguate as suggested, by building html:alias 
> > > > instead?
> > > I've done that as a temporary fix to get crake out of the hole, but it's
> > > pretty ugly, and I don't want to do it in a release if at all possible.
> > Our documentation says specifically that "ninja html" will build the
> > HTML format.  I would expect that to work by analogy with the "make"
> > target; having to spell it differently seems like clearly a bug.
> > 
> > 
> 
> 
> "ninja html" does in fact work. What's not working is "meson compile html".
> And it looks like the reason I used that in the buildfarm code is that ninja
> doesn't know about other targets like "postgres-US.pdf".

It does:

ninja help|grep pdf
  doc/src/sgml/postgres-A4.pdf  Build documentation in PDF format, with A4 pages
  doc/src/sgml/postgres-US.pdf  Build documentation in PDF format, with US 
letter pages

"ninja doc/src/sgml/postgres-US.pdf" works and has worked since day one.

FWIW, you can continue to use meson compile, you just need to disambiguate the
target name:
  meson compile html:alias

Which isn't particularly pretty, but does work.

Greetings,

Andres Freund




Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-29 Thread Andrew Dunstan



On 2023-11-29 We 08:49, Tom Lane wrote:

Andrew Dunstan  writes:

On 2023-11-28 Tu 21:28, Andres Freund wrote:

I don't really understand why meson compile complains in this case.  I assume
you don't want to disambiguate as suggested, by building html:alias instead?

I've done that as a temporary fix to get crake out of the hole, but it's
pretty ugly, and I don't want to do it in a release if at all possible.

Our documentation says specifically that "ninja html" will build the
HTML format.  I would expect that to work by analogy with the "make"
target; having to spell it differently seems like clearly a bug.





"ninja html" does in fact work. What's not working is "meson compile 
html". And it looks like the reason I used that in the buildfarm code is 
that ninja doesn't know about other targets like "postgres-US.pdf". Up 
to now "meson compile postgres-US.pdf html" has worked.


FWIW, the buildfarm code doesn't use ninja explicitly anywhere else.


cheers


andrew


--
Andrew Dunstan
EDB: https://www.enterprisedb.com





Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-29 Thread Tom Lane
Andrew Dunstan  writes:
> On 2023-11-28 Tu 21:28, Andres Freund wrote:
>> I don't really understand why meson compile complains in this case.  I assume
>> you don't want to disambiguate as suggested, by building html:alias instead?

> I've done that as a temporary fix to get crake out of the hole, but it's 
> pretty ugly, and I don't want to do it in a release if at all possible.

Our documentation says specifically that "ninja html" will build the
HTML format.  I would expect that to work by analogy with the "make"
target; having to spell it differently seems like clearly a bug.

regards, tom lane




Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-29 Thread Andrew Dunstan



On 2023-11-28 Tu 21:28, Andres Freund wrote:

Hi,

On 2023-11-23 08:32:21 -0500, Andrew Dunstan wrote:

On 2023-11-20 Mo 20:53, Andres Freund wrote:

meson: docs: Add {html,man} targets, rename install-doc-*

We have toplevel html, man targets in the autoconf build as well. It'd be odd
to have an 'html' target but have the install target be 'install-doc-html',
thus rename the install targets to match.


This commit of one of its nearby friends appears to have broken crake's docs
build:

ERROR: Can't invoke target `html`: ambiguous name.Add target type and/or path:
- ./doc/src/sgml/html:custom
- ./doc/src/sgml/html:alias

See

Ah, I realize now that this is from meson compile html, not 'ninja html'. That
explains why I couldn't reproduce this initially and why CI didn't complain.
I don't really understand why meson compile complains in this case.  I assume
you don't want to disambiguate as suggested, by building html:alias instead?



I've done that as a temporary fix to get crake out of the hole, but it's 
pretty ugly, and I don't want to do it in a release if at all possible.



cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com





Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-28 Thread Andres Freund
Hi,

On 2023-11-23 08:32:21 -0500, Andrew Dunstan wrote:
> On 2023-11-20 Mo 20:53, Andres Freund wrote:
> > meson: docs: Add {html,man} targets, rename install-doc-*
> >
> > We have toplevel html, man targets in the autoconf build as well. It'd be 
> > odd
> > to have an 'html' target but have the install target be 'install-doc-html',
> > thus rename the install targets to match.
>
>
> This commit of one of its nearby friends appears to have broken crake's docs
> build:
>
> ERROR: Can't invoke target `html`: ambiguous name.Add target type and/or path:
> - ./doc/src/sgml/html:custom
> - ./doc/src/sgml/html:alias
>
> See

Ah, I realize now that this is from meson compile html, not 'ninja html'. That
explains why I couldn't reproduce this initially and why CI didn't complain.
I don't really understand why meson compile complains in this case.  I assume
you don't want to disambiguate as suggested, by building html:alias instead?

Greetings,

Andres Freund




Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-27 Thread Andrew Dunstan


On 2023-11-23 Th 08:32, Andrew Dunstan wrote:



On 2023-11-20 Mo 20:53, Andres Freund wrote:

meson: docs: Add {html,man} targets, rename install-doc-*

We have toplevel html, man targets in the autoconf build as well. It'd be odd
to have an 'html' target but have the install target be 'install-doc-html',
thus rename the install targets to match.



This commit of one of its nearby friends appears to have broken 
crake's docs build:


ERROR: Can't invoke target `html`: ambiguous name.Add target type and/or path:
- ./doc/src/sgml/html:custom
- ./doc/src/sgml/html:alias

See




This is still broken.


cheers


andrew


--
Andrew Dunstan
EDB:https://www.enterprisedb.com


Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-23 Thread Andrew Dunstan


On 2023-11-20 Mo 20:53, Andres Freund wrote:

meson: docs: Add {html,man} targets, rename install-doc-*

We have toplevel html, man targets in the autoconf build as well. It'd be odd
to have an 'html' target but have the install target be 'install-doc-html',
thus rename the install targets to match.



This commit of one of its nearby friends appears to have broken crake's 
docs build:


ERROR: Can't invoke target `html`: ambiguous name.Add target type and/or path:
- ./doc/src/sgml/html:custom
- ./doc/src/sgml/html:alias

See

cheers

andrew


--
Andrew Dunstan
EDB:https://www.enterprisedb.com


pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-20 Thread Andres Freund
meson: docs: Add {html,man} targets, rename install-doc-*

We have toplevel html, man targets in the autoconf build as well. It'd be odd
to have an 'html' target but have the install target be 'install-doc-html',
thus rename the install targets to match.

Reviewed-by: Christoph Berg 
Reviewed-by: Peter Eisentraut 
Discussion: 
https://postgr.es/m/20231103163848.26egkh5qdgw3v...@awork3.anarazel.de

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/ddcab2a0329511e8872b62f2c77e5fa33547c277

Modified Files
--
doc/src/sgml/meson.build | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)