Re: [htmlxref.cnf] Please update link to the Groff manual

2023-09-30 Thread Gavin Smith
On Sat, Sep 23, 2023 at 12:44:31PM +0200, Thérèse Godefroy wrote:
> Hello Gavin,
> 
> The new URL of the node version is
> https://gnu.org/s/groff/manual/groff.html.node/
> And there is a mono version.
> 
> A patch is attached.
> 
> Best,
> Thérèse

Do you know why they made this change?  They have changed their
documentation URLs which would break any links to pages of the manual.
There is no benefit to changing this that I am aware of.

The summary page appears to have been generated with the gendocs
script from gnulib, which often used the html_node naming.

https://www.gnu.org/software/groff/manual/

They might have changed this by mistake.  I am trying to CC groff@gnu.org
into this email to make them aware of the problem.


> --- htmlxref.cnf  2023-09-23 12:39:52.969683777 +0200
> +++ htmlxref.1.cnf2023-09-23 12:39:39.417624780 +0200
> @@ -442,5 +442,6 @@
>  grep node${GS}/grep/manual/html_node/
>  
> -groffnode${GS}/groff/manual/html_node/
> +groffmono${GS}/groff/manual/groff.html
> +groffnode${GS}/groff/manual/groff.html.node/
>  
>  GRUB = ${GS}/grub/manual/




Re: [htmlxref.cnf] Please update link to the Groff manual

2023-09-30 Thread Thérèse Godefroy

Le 30/09/2023 à 17:22, Gavin Smith a écrit :

On Sat, Sep 23, 2023 at 12:44:31PM +0200, Thérèse Godefroy wrote:

Hello Gavin,

The new URL of the node version is
https://gnu.org/s/groff/manual/groff.html.node/
And there is a mono version.

A patch is attached.

Best,
Thérèse


Do you know why they made this change?


No idea. This is the first time I see this sort of URL.


They have changed their
documentation URLs which would break any links to pages of the manual.
There is no benefit to changing this that I am aware of.


[...]



Re: [htmlxref.cnf] Please update link to the Groff manual

2023-09-30 Thread G. Branden Robinson
Hi Gavin & Thérèse,

At 2023-09-30T16:22:32+0100, Gavin Smith wrote:
> On Sat, Sep 23, 2023 at 12:44:31PM +0200, Thérèse Godefroy wrote:
> > Hello Gavin,
> > 
> > The new URL of the node version is
> > https://gnu.org/s/groff/manual/groff.html.node/
> > And there is a mono version.
> > 
> > A patch is attached.
> > 
> > Best,
> > Thérèse
> 
> Do you know why they made this change?  They have changed their
> documentation URLs which would break any links to pages of the manual.
> There is no benefit to changing this that I am aware of.
> 
> The summary page appears to have been generated with the gendocs
> script from gnulib, which often used the html_node naming.
> 
> https://www.gnu.org/software/groff/manual/
> 
> They might have changed this by mistake.  I am trying to CC groff@gnu.org
> into this email to make them aware of the problem.

Answering these questions may put me at risk of having my idiocy called
out by Gavin again.[1]

Nevertheless...

1.  Why did we make this change?

Ingo Schwarze and I thoroughly revised groff's doc/doc.am file
because it had accreted over many years in a way that was
unsystematic and difficult to understand.  It furthermore frequently
neglected to adequately declare dependencies, causing problems for
highly parallelized builds.  (Indeed, we're still shaking some bugs
out of this post-1.23.0, thanks to the efforts of Alexander
Kanavin--but these have nothing to do with groff's Texinfo manual in
any form.)

Moreover, I had noticed that production of groff's Texinfo manual was
complicated yet more by build-time dependencies, both mandatory and
optional.  I wanted to reduce the impact of those dependencies and
also ensure that users of groff's distribution archive had ready
access to groff's Texinfo manual--which I heavily revised in the
years between groff 1.22.4 and 1.23.0--in several formats, including
PDF and HTML, even if they were missing the dependencies necessary
to build them.  This seems to have worked out well for most
consumers, who at the OS distribution level seem mainly concerned
with patching groff to do questionable things with man pages.

For Debian, which patches groff more extensively and also troubles
itself to correspondingly update the documentation to reflect its
changes, this change paid no dividend; it needs to keep the "heavy"
dependency on a full TeX system to regenerate the groff Texinfo
manual for PDF[2] from its source file.

The change in question is this one, about 3,175 commits ago.


https://git.savannah.gnu.org/cgit/groff.git/commit/?id=d79c3f3a4a19f7bf616a69558c4d3ce13690f441

The ChangeLog entry, and doc.am file comments at the line 311 hunk,
are worth your attention--if you care to know what I was thinking.

2.  "They have changed their documentation URLs which would break any
links to pages of the manual.  There is no benefit to changing this
that I am aware of."

You're speaking of the following hunk from the diff.

-# This will generate both html split into several files and html doc
-# in a single file.
+# Generate HTML, both split into several files, and as a single file.
+# 'html' and its installation counterpart 'install-html' are standard
+# Automake targets.
+EXTRA_DIST += doc/groff.html doc/groff.html.node
+MAINTAINERCLEANFILES += doc/groff.html doc/groff.html.node

At the time I wrote that, I was unaware that "html_node", spelled
thus, was a solidified and inflexible convention of GNU
documentation.  (Where is this documented?)  We resolved the problem
for ourselves, using the new names, on the GNU web page for groff's
manuals, which you cited.

https://www.gnu.org/software/groff/manual/

As for why I chose the name I did, that was simply an ab initio
selection for congruence with "groff.pdf", "groff.txt", "groff.dvi",
"groff.info*", and "groff.html" (the "one big page" version).

3.  "The summary page appears to have been generated with the gendocs
script from gnulib, which often used the html_node naming."

That's not exactly correct.  The pre-groff 1.23.0 version of that
page may well have been--it seems likely given some of its
wording--but none of the infrastructure for producing it
was checked in anywhere.  I was unaware of the existence of this
script, and so used a template HTML file and make(1) to generate the
proper HTML file indexing (some of) the available documentation.[3]

I'd prefer to stick with the template/Makefile approach, since it
was straightforward to enhance the page to link our collected groff
man pages document[4]...unless someone can tell me gnulib's
"gendocs" is flexible enough to do what I want easily.  (I think it
a kindness to warn people what the file sizes will be.  Also, when
Deri James's gropdf improvements are merged for groff 1.24, the file
size of groff-man-pages.pdf should come 

Re: [htmlxref.cnf] Please update link to the Groff manual

2023-09-30 Thread Gavin Smith
On Sat, Sep 30, 2023 at 01:15:09PM -0500, G. Branden Robinson wrote:
> At the time I wrote that, I was unaware that "html_node", spelled
> thus, was a solidified and inflexible convention of GNU
> documentation.  (Where is this documented?)  We resolved the problem
> for ourselves, using the new names, on the GNU web page for groff's
> manuals, which you cited.
> 
> https://www.gnu.org/software/groff/manual/
> 
> As for why I chose the name I did, that was simply an ab initio
> selection for congruence with "groff.pdf", "groff.txt", "groff.dvi",
> "groff.info*", and "groff.html" (the "one big page" version).

It's no problem for us to change htmlxref.cnf to refer to wherever you
are putting the manual.  It is not that html_node is better than any
other name for a directory, other than that is the name that was used
before, so the name that would be used in pre-existing hyperlinks.


> 3.  "The summary page appears to have been generated with the gendocs
> script from gnulib, which often used the html_node naming."
> 
> That's not exactly correct.  The pre-groff 1.23.0 version of that
> page may well have been--it seems likely given some of its
> wording--but none of the infrastructure for producing it
> was checked in anywhere.  I was unaware of the existence of this
> script, and so used a template HTML file and make(1) to generate the
> proper HTML file indexing (some of) the available documentation.[3]
> 
> I'd prefer to stick with the template/Makefile approach, since it
> was straightforward to enhance the page to link our collected groff
> man pages document[4]...unless someone can tell me gnulib's
> "gendocs" is flexible enough to do what I want easily.  (I think it
> a kindness to warn people what the file sizes will be.  Also, when
> Deri James's gropdf improvements are merged for groff 1.24, the file
> size of groff-man-pages.pdf should come _way_ down.)
> 
> And, as groff's PDF story further improves, there are additional
> manuals I'd like to link thence, like our ms(7) manual, our me(7)
> introduction and reference manuals, and so on.

I see, I'd assumed it was from gendocs.sh as the format is similar.  I'm
not recommending that you use gendocs.sh and what you have seems just as
good.

> May I ask where this htmlxref.cnf file comes from?  What software
> project houses it?

htmlxref.cnf is distributed with Texinfo and is also to be downloaded
from https://ftp.gnu.org/gnu/texinfo/.  It gives URLs of Texinfo
manuals on the World Wide Web.  texi2any uses this file when generating
hyperlinks to other Texinfo manuals.  It's there to make inter-manual
links work, which is an oft forgotten and neglected topic.

> 4.  "They might have changed this by mistake."
> 
> Sort of.  I find the "html_node" name uglier, but if there's popular
> demand to switch it (back), I can see doing that for groff 1.24.

We'll change htmlxref.cnf to whichever URLs you decide to use going forward.

If there are no links to the groff Texinfo HTML manuals anywhere on the
web, it doesn't matter, but it is likely there are at least some somewhere.

If we change it now to the new location, and then you change it back
afterwards, then any new links generated in the meantime will end up
pointing to the wrong place.  So please advise what you would have us
do.

> [5] Incidentally, "GROFF_SGR" (cf. "GROFF_NO_SGR") is now dead for real
> in Debian testing/unstable.
> 
> "Adopt upstream's use of SGR escape sequences for man/mdoc (LP:
> #610609).  I turned these off for Debian in 2002 because pagers
> didn't cope well at the time, but it's now 21 years later and things
> have changed; SGR escape sequences resolve some ambiguity (see
> #963490) and are required for new features such as clickable
> hyperlinks."
> 
> https://tracker.debian.org/media/packages/g/groff/changelog-1.23.0-2
> 

Interesting.  I hadn't known about this.

https://salsa.debian.org/debian/groff/-/commit/f0a34f20ff772f692255b7e32a05630c639f75a8
https://bugs.launchpad.net/ubuntu/+source/groff/+bug/610609



Re: [htmlxref.cnf] Please update link to the Groff manual

2023-09-30 Thread Ingo Schwarze
Hi,

Gavin Smith wrote on Sat, Sep 30, 2023 at 08:10:01PM +0100:
> On Sat, Sep 30, 2023 at 01:15:09PM -0500, G. Branden Robinson wrote:

>> 4.  "They might have changed this by mistake."
>> 
>> Sort of.  I find the "html_node" name uglier, but if there's popular
>> demand to switch it (back), I can see doing that for groff 1.24.

> We'll change htmlxref.cnf to whichever URLs you decide to use going forward.
> 
> If there are no links to the groff Texinfo HTML manuals anywhere on the
> web, it doesn't matter, but it is likely there are at least some somewhere.

Now that i see this bumpy ride explained at length, i realize the
link on this overview page of mine is currently broken, too:

  https://mandoc.bsd.lv/links.html

First paragraph, first line, second link ("manual").
Rather prominently featured because, well, groff is important.

Here are a few more links to the established URI, in alphabetical order:

  https://forums.freebsd.org/threads/converting-a-man-page-with-pandoc.36706/
  https://git.pwmt.org/pwmt/zathura/-/issues/258
  https://github.com/asciidoctor/asciidoctor/issues/3992
  https://github.com/jgm/pandoc/issues/5019
  https://lists.defectivebydesign.org/archive/html/groff/2020-10/msg00066.html
  https://lwn.net/Articles/912260/
  https://news.ycombinator.com/item?id=36066812
  https://perldoc.perl.org/Pod::Perldoc::ToMan.txt
  https://unix.stackexchange.com/questions/623970/writing-vietnamese-in-groff
  https://uu.diva-portal.org/smash/get/diva2:1189607/FULLTEXT01.pdf
  https://www.illumos.org/issues/9367
  https://www.reddit.com/r/groff/comments/gbfsx4/page_number_position/
  ...

In general, i think keeping URIs stable makes sense unless there
are *very* strong reasons for changing them - for example, forceful
loss of control over the domain name. or finding out that the old name
violated a relevant standard.  Isn't making a resource available in
the long term at least half the purpose of a URI in the first place,
if not more than half?

Besides, i don't see how a directory name on a public webserver
could possibly be related to internal file naming conventions
in autotools makefiles.

Argumably,

  https://www.gnu.org/software/groff/manual/html_node/

is even better than

  https://www.gnu.org/software/groff/manual/groff.html.node/

because it's more concise (a virtue in URIs) and less
redundant (a vice in URIs) without lacking any information.
The part of the path "groff/manual/groff" doen't really make much sense.

Arguably, even /software/groff/manual/html_node/ is excessively
wordy, but making it more concise and easier to remember is not
a sufficient reason for changing it and breaking links.

Probably it's best to go back to the link that has been in use for
at least a decade - and for extra safety, maybe leave the longer
path in place as an alias for a number of years before checking that
no links to it remain on the web, then deleting the longer alias.

Yours,
  Ingo



Re: [htmlxref.cnf] Please update link to the Groff manual

2023-09-30 Thread G. Branden Robinson
Hi Ingo,

At 2023-09-30T22:07:44+0200, Ingo Schwarze wrote:
> Now that i see this bumpy ride explained at length, i realize the
> link on this overview page of mine is currently broken, too:
> 
>   https://mandoc.bsd.lv/links.html
> 
> First paragraph, first line, second link ("manual").
> Rather prominently featured because, well, groff is important.
> 
> Here are a few more links to the established URI, in alphabetical order:

Ah, hmm, this sucks, and I reckon I should see what can be done to get a
symlink restored.

>   https://forums.freebsd.org/threads/converting-a-man-page-with-pandoc.36706/
>   https://git.pwmt.org/pwmt/zathura/-/issues/258
>   https://github.com/asciidoctor/asciidoctor/issues/3992
>   https://github.com/jgm/pandoc/issues/5019
>   https://lists.defectivebydesign.org/archive/html/groff/2020-10/msg00066.html
>   https://lwn.net/Articles/912260/
>   https://news.ycombinator.com/item?id=36066812
>   https://perldoc.perl.org/Pod::Perldoc::ToMan.txt
>   https://unix.stackexchange.com/questions/623970/writing-vietnamese-in-groff
>   https://uu.diva-portal.org/smash/get/diva2:1189607/FULLTEXT01.pdf

This link was of particular interest.  It praised groff 1.22.3's small
size and high speed, but expressed significant frustration with its
documentation.

I wonder if the author would find the situation in 1.23.0 improved.
Incidentally, I recently became concerned myself with the question of
changing the paper format mid-document.[1]

>   https://www.illumos.org/issues/9367
>   https://www.reddit.com/r/groff/comments/gbfsx4/page_number_position/
>   ...
> 
> In general, i think keeping URIs stable makes sense unless there
> are *very* strong reasons for changing them - for example, forceful
> loss of control over the domain name. or finding out that the old name
> violated a relevant standard.

Neither of those apply here, certainly.

> Isn't making a resource available in the long term at least half the
> purpose of a URI in the first place, if not more than half?

I doubt it's the practice of even as many as half the pages on the web.
Plenty of organizations rotate in new director-level IT or "digital
presence" managers who decree a change in CMSes just so they can say how
"impactful" they are on their CVs.

whitehouse.gov is fairly notorious for being massively purged every time
there's a change of administration.  Self-important managers think
that's a virtue, not a vice, and emulate it in their own organizations.
This approach is popular with the sort of mind that models every
conflict as zero-sum, and suspects any alternative incentive structure
of being communism[2].

Our domain is different, as is the general direction of the ambition of
our personnel, and we should certainly do better if we can.  But I think
the DOI is supposed to be the solution to the longevity problem you
identify.[3]

> Besides, i don't see how a directory name on a public webserver
> could possibly be related to internal file naming conventions
> in autotools makefiles.

If you solve the problem in the simplest possible way, with make and cp,
the relationship seems pretty clear to me.

> Argumably,
> 
>   https://www.gnu.org/software/groff/manual/html_node/
> 
> is even better than
> 
>   https://www.gnu.org/software/groff/manual/groff.html.node/
> 
> because it's more concise (a virtue in URIs) and less redundant (a
> vice in URIs) without lacking any information.  The part of the path
> "groff/manual/groff" doen't really make much sense.

It can make sense if groff provides more than one manual (or document).

Looking in our doc/ directory, I see a few candidates.

automake.mom
grnexmpl.me
groff.texi
meintro.me.in
meintro_fr.me.in
meref.me.in
ms.ms
pic.ms

...and that doesn't include groff-man-pages.pdf.  Or Damian McGuckin's
work-in-progress on a new eqn manual.  Or the manual that someone should
certainly write about use of GNU refer(1).

I've been working for a while on paring the groff Texinfo manual's scope
down to something it can reasonably accomplish, and I'm very nearly
where I hoped to end up.  (There is a bit more I want to do with the
survey of full-service macro packages, though I think I want to retain
the comprehensive survey of ms, in a reversal from my thoughts in 2021.)

https://savannah.gnu.org/bugs/?60061

> Arguably, even /software/groff/manual/html_node/ is excessively
> wordy, but making it more concise and easier to remember is not
> a sufficient reason for changing it and breaking links.

No, and that's not why I changed it.  Orthogonality and similarity (to
the names of groff's Texinfo manual in other output formats) were.

> Probably it's best to go back to the link that has been in use for
> at least a decade - and for extra safety, maybe leave the longer
> path in place as an alias for a number of years before checking that
> no links to it remain on the web, then deleting the longer alias.

I concede that having a working "/html_node/" URL by hook or by crook
(or by symlink) is proba