groff
[Top][All Lists]
Advanced

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

Re: [Groff] new groff directory structure


From: Werner LEMBERG
Subject: Re: [Groff] new groff directory structure
Date: Fri, 27 Oct 2000 00:17:45 +0200 (CEST)

> > to follow the GNU standards, groff will now by default install its
> > data files into
> 
> >    /usr/local/share/groff/<version>
> 
> >  e.g. /usr/local/share/groff/1.16.1).
> 
> This would break nearly every document I have written on my system.
>
> ...
> 
> If a version number gets added, all my old documents won't print
> without hand-editing. Worse, the hand-editing will have to be
> changed every time the version number gets changed.

You must use the .mso request!  The example would then look like this:

  .nr N 2                 .\" Page header replaces footer on Page 1.
  .ie \n(.g .mso tmac.m
  .el .so /usr/lib/tmac/tmac.m

> I'm curious why this might be considered useful.  It's not at all
> clear to me what is being accomplished.  (I helped design and
> implement perl's versioned library structure, so I do have
> considerable experience with the sorts of issues involved.)

It makes sense.  Consider how emacs is working.  I was in Tsukuba
(Japan) this summer, working together with some core developers of
Emacs and XEmacs -- these guys are running up to four different Emacs
and XEmacs versions simultaneously!

> I just checked on http://www.gnu.org/prep/standards.html and didn't
> see any specific reference to the issue of libraries and version
> numbers.  Perhaps there is some other "standard" I should consult
> for the rationale?

All GNU package maintainers received a mail from RMS to do that,
making installation of different versions possible.  It was an easy
fix, and together with the new site-tmac directory you get a clean
solution, I think.

> 2.  Add in a "smarter" .so command that "knows" about the versioned
>     directory structure (and probably about the site directories
>     too). 

.mso

> 4.  Define a string register of some sort to hold the current version
>     so a .so command can be written that is robust across version
>     changes.

Major version number is \n(.x, minor version number is \n(.y, and
revision number is \n(.Y; for version directories, the revision number
is omitted if it is zero.


    Werner

reply via email to

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