bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "@NCURSES_PATCH@" stale in man pages


From: G. Branden Robinson
Subject: Re: "@NCURSES_PATCH@" stale in man pages
Date: Sat, 30 Mar 2024 15:12:02 -0500

Hi Thomas,

At 2024-03-30T15:59:49-0400, Thomas Dickey wrote:
> It's removed in the distclean target at the end of man/Makefile:
> 
> distclean realclean: clean
>       -rm -f Makefile *-config.1 ../edit_man.* ../man_alias.* man_db.renames

Ah, silly me--I grepped for "edit_man.sed" in full...literality(?).

> ("make distclean" can remove things created by the configure script)

Yup, and in fact it is supposed to.  I think one of the GNU Autofoo
manuals says, "if ./configure created it, distclean should remove it".

> > It's not managed by make, but produced by a here document in the
> > configure script.
> 
> there are a few of those - CF_MANPAGES is kind of long, even though I
> factored out some reusable macros.

Yeah, it's proving an adventure for me to get through all the strata of
indirection that turn a man page in the source tree to its final form.

> not that I can see at the moment - if I'm recompiling without having
> to re-run the configure script (or ./config.status after editing
> compiler options...) it's been pretty robust.

One of my problems was forgetting to "make distclean" before re-running
the configure script.  Of course you're _supposed_ to do that, but I
somehow got used to not needing to.  It finally bit me.

> > Not to whine, but the ncurses install target does _so much_ work
> > besides just moving files to $DESTDIR--I'm uneasy with it.
> 
> I recall some long-ago discussion on that topic, but aside from
> (promising to) refrain from modifying files in the source tree
> during the install, haven't wanted to refrain from transforming
> files as they're installed.

I totally understand the former consideration.

The second, not so much (apart from yielding to the weight of project
history).  If I were coming at the problem from a blank slate, I'd
rename all the man pages in man/* to their existing names with a ".man"
suffix, then generate them with whatever textual substitutions were
needed along with file renames as part of the default make target.

Two-stage transformations, such as .man.in -> .man -> final also don't
bother me.

> Packagers like to construct a tree with the "installed" files that can
> just be copied.

That's my background and, possibly, my bias.

> ncurses works with that arrangement as well.  (For my own use, I build
> RPMs, debs, Arch, Slackware and Solaris packages - but haven't found
> time to do the same for Cygwin or msys2).
> 
> On the other extreme, I get complaints from people who imagine that
> they should be able to do
> 
>       ./configure
>       TERMINFO_DIRS=/opt/ncurses make install
> 
> and have everything transformed (manpages, utilities and database)
> to follow that environment variable.

I sympathize with that.  :)

> Of course they forget to send a patch as proof of concept :-)

...but also with this too.  :)

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]