tech@mandoc.bsd.lv
 help / color / mirror / Atom feed
* Re: mandoc-1.14.1 released
       [not found] <20170221023444.GB51369@athene.usta.de>
@ 2017-02-21 21:12 ` Michael Stapelberg
  2017-02-22  0:07   ` Ingo Schwarze
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Stapelberg @ 2017-02-21 21:12 UTC (permalink / raw)
  To: tech

[-- Attachment #1: Type: text/plain, Size: 3090 bytes --]

Thanks for the new release!

Here are two things which I’ve noticed while packaging it for Debian:

• using LN="ln -sf" results in an absolute symlink for the whatis.1
manpage, which we need to then change into a relative one to prevent our
tooling from choking on them:
https://anonscm.debian.org/git/collab-maint/mdocml.git/commit/?id=86403b72b1c47780cc626e046d65db04d2e3b622

• The following lintian warning indicates a spelling error:
  I: mandoc: spelling-error-in-manpage usr/share/man/man7/mandoc_roff.7.gz
parantheses parentheses

On Tue, Feb 21, 2017 at 3:34 AM, Ingo Schwarze <schwarze@usta.de> wrote:

> Hi,
>
> i'm pleased to announce the public release of portable mandoc-1.14.1.
> It is available now from http://mdocml.bsd.lv/ .
>
> All downstream maintainers are encouraged to update their ports and
> packages from 1.13.4 to 1.14.1.
>
> Mandoc 1.14.1 is a major feature release introducing
>  * semantic search functionality without needing SQLite3
>  * improved less(1) :t support (ctags-like internal searching)
>  * much improved -Thtml output and CSS
>  * a new catman(8) utility thanks to Michael <Stapelberg at debian dot org>
>  * a portable version of the OpenBSD mandoc regression suite
> plus some minor new features and heaps of bugfixes, many of them
> due to Theo Buehler's work with afl(1).  For more details, see the
> full release notes:  http://mdocml.bsd.lv/NEWS
>
>
> Note that mandoc-1.14.1 is quite similar to what will ship in
> OpenBSD 6.1.  The new mandoc.db(5) file format is in production in
> OpenBSD-current for more than six months now.  So even though this
> is the first release in the 1.14 branch, i consider the code very
> solid by now and call it 1.14.1 rather than 1.14.0.
>
> The release was tested on the following systems:
>  * OpenBSD-current and OpenBSD-stable
>  * FreeBSD 12-current, FreeBSD 11.0, and FreeBSD 10.3
>  * NetBSD 7.99.58-current
>  * DragonFlyBSD 4.7.0-DEVELOPMENT
>  * illumos and OmniOS
>  * Debian Linux 8.4-jessie
>  * Void Linux x86_64 glibc, aarch64 musl, and armv7l musl
>  * Crux Linux 3.3
>  * Ubuntu Linux sid, stretch, and 14.04 Trusty Tahr
>  * SunOS 5.11.2, 5.10, and 5.9
>  * OS X 10.11.6 El Capitan and 10.4.11 Tiger
>
> For now, catman(8) is not supported on OS X Tiger, SunOS 5.10,
> and SunOS 5.9, and the regression suite cannot be used on
> SunOS 5.10 and SunOS 5.9, but everything else works everywhere,
> including full database suppport and semantic searching.
>
>
> For systems who cannot change the database format, most notably
> FreeBSD-stable, i will also roll a 1.13.5 release soon,
> which will contain all the bugfixes and all the new features
> except the switch away from SQLite3 and except catman(8).
> But don't use that unless you must; the new databases with 1.14.1
> are smaller, faster to build, and faster to access than SQLite,
> without any loss of functionality.
>
> Enjoy,
>   Ingo
> --
>  To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv
>
>


-- 
Best regards,
Michael

[-- Attachment #2: Type: text/html, Size: 4046 bytes --]

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

* Re: mandoc-1.14.1 released
  2017-02-21 21:12 ` mandoc-1.14.1 released Michael Stapelberg
@ 2017-02-22  0:07   ` Ingo Schwarze
  2017-02-27 20:55     ` Michael Stapelberg
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Schwarze @ 2017-02-22  0:07 UTC (permalink / raw)
  To: Michael Stapelberg; +Cc: tech

Hi Michael,

Michael Stapelberg wrote on Tue, Feb 21, 2017 at 10:12:33PM +0100:

> using LN="ln -sf" results in an absolute symlink for the whatis.1
> manpage, which we need to then change into a relative one to prevent our
> tooling from choking on them:
> https://anonscm.debian.org/git/collab-maint/mdocml.git/commit/?id=86403b72b1c47780cc626e046d65db04d2e3b622

That was easy to change.  1.14.2 (release not yet planned)
and 1.13.5 (to be released soon) will do it the way you want,
see below.

> The following lintian warning indicates a spelling error:
>   I: mandoc: spelling-error-in-manpage usr/share/man/man7/mandoc_roff.7.gz
> parantheses parentheses

Fixed in OpenBSD and bsd.lv HEAD and VERSION_1_13.

Thanks for reporting!
  Ingo


Log Message:
-----------
Debian wants relative, not absolute symlinks for man pages;
suggested by Michael Stapelberg

Modified Files:
--------------
    mdocml:
        Makefile

Revision Data
-------------
Index: Makefile
===================================================================
RCS file: /home/cvs/mdocml/mdocml/Makefile,v
retrieving revision 1.504
retrieving revision 1.505
diff -LMakefile -LMakefile -u -p -r1.504 -r1.505
--- Makefile
+++ Makefile
@@ -397,8 +397,7 @@ base-install: mandoc demandoc soelim
 	$(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1
 	$(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1
 	$(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1
-	$(LN) $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \
-		$(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1
+	cd $(DESTDIR)$(MANDIR)/man1 && $(LN) $(BINM_APROPOS).1 $(BINM_WHATIS).1
 	$(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5
 	$(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5
 	$(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7


Log Message:
-----------
fix spelling error;
found by Michael <Stapelberg at debian dot org> with Lintian

Modified Files:
--------------
    mdocml:
        roff.7

Revision Data
-------------
Index: roff.7
===================================================================
RCS file: /home/cvs/mdocml/mdocml/roff.7,v
retrieving revision 1.75
retrieving revision 1.76
diff -Lroff.7 -Lroff.7 -u -p -r1.75 -r1.76
--- roff.7
+++ roff.7
@@ -1780,7 +1780,7 @@ maximum (not available in C)
 .El
 .Pp
 There is no concept of precedence; evaluation proceeds from left to right,
-except when subexpressions are enclosed in parantheses.
+except when subexpressions are enclosed in parentheses.
 Inside parentheses, whitespace is ignored.
 .Sh ESCAPE SEQUENCE REFERENCE
 The
--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

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

* Re: mandoc-1.14.1 released
  2017-02-22  0:07   ` Ingo Schwarze
@ 2017-02-27 20:55     ` Michael Stapelberg
  2017-03-04 16:55       ` Ingo Schwarze
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Stapelberg @ 2017-02-27 20:55 UTC (permalink / raw)
  To: Ingo Schwarze; +Cc: tech

[-- Attachment #1: Type: text/plain, Size: 3250 bytes --]

Thanks for the quick response. Only afterwards I realized that the relative
symlink technique also needs to be applied to the remaining symlinks, i.e.
not only for manpages but also for programs such as makewhatis:

https://anonscm.debian.org/git/collab-maint/mdocml.git/commit/?id=1f60c369afdf849168b7f11c0a5188f16be2817c

On Wed, Feb 22, 2017 at 1:07 AM, Ingo Schwarze <schwarze@usta.de> wrote:

> Hi Michael,
>
> Michael Stapelberg wrote on Tue, Feb 21, 2017 at 10:12:33PM +0100:
>
> > using LN="ln -sf" results in an absolute symlink for the whatis.1
> > manpage, which we need to then change into a relative one to prevent our
> > tooling from choking on them:
> > https://anonscm.debian.org/git/collab-maint/mdocml.git/commit/?id=
> 86403b72b1c47780cc626e046d65db04d2e3b622
>
> That was easy to change.  1.14.2 (release not yet planned)
> and 1.13.5 (to be released soon) will do it the way you want,
> see below.
>
> > The following lintian warning indicates a spelling error:
> >   I: mandoc: spelling-error-in-manpage usr/share/man/man7/mandoc_
> roff.7.gz
> > parantheses parentheses
>
> Fixed in OpenBSD and bsd.lv HEAD and VERSION_1_13.
>
> Thanks for reporting!
>   Ingo
>
>
> Log Message:
> -----------
> Debian wants relative, not absolute symlinks for man pages;
> suggested by Michael Stapelberg
>
> Modified Files:
> --------------
>     mdocml:
>         Makefile
>
> Revision Data
> -------------
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/mdocml/mdocml/Makefile,v
> retrieving revision 1.504
> retrieving revision 1.505
> diff -LMakefile -LMakefile -u -p -r1.504 -r1.505
> --- Makefile
> +++ Makefile
> @@ -397,8 +397,7 @@ base-install: mandoc demandoc soelim
>         $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1
>         $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1
>         $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(
> BINM_APROPOS).1
> -       $(LN) $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \
> -               $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1
> +       cd $(DESTDIR)$(MANDIR)/man1 && $(LN) $(BINM_APROPOS).1
> $(BINM_WHATIS).1
>         $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/$(
> MANM_MANCONF).5
>         $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5
>         $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7
>
>
> Log Message:
> -----------
> fix spelling error;
> found by Michael <Stapelberg at debian dot org> with Lintian
>
> Modified Files:
> --------------
>     mdocml:
>         roff.7
>
> Revision Data
> -------------
> Index: roff.7
> ===================================================================
> RCS file: /home/cvs/mdocml/mdocml/roff.7,v
> retrieving revision 1.75
> retrieving revision 1.76
> diff -Lroff.7 -Lroff.7 -u -p -r1.75 -r1.76
> --- roff.7
> +++ roff.7
> @@ -1780,7 +1780,7 @@ maximum (not available in C)
>  .El
>  .Pp
>  There is no concept of precedence; evaluation proceeds from left to right,
> -except when subexpressions are enclosed in parantheses.
> +except when subexpressions are enclosed in parentheses.
>  Inside parentheses, whitespace is ignored.
>  .Sh ESCAPE SEQUENCE REFERENCE
>  The
>



-- 
Best regards,
Michael

[-- Attachment #2: Type: text/html, Size: 4499 bytes --]

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

* Re: mandoc-1.14.1 released
  2017-02-27 20:55     ` Michael Stapelberg
@ 2017-03-04 16:55       ` Ingo Schwarze
  0 siblings, 0 replies; 4+ messages in thread
From: Ingo Schwarze @ 2017-03-04 16:55 UTC (permalink / raw)
  To: Michael Stapelberg; +Cc: tech, Dr. Markus Waldeck

Hi Michael,

Michael Stapelberg wrote on Mon, Feb 27, 2017 at 09:55:58PM +0100:

> Only afterwards I realized that the relative
> symlink technique also needs to be applied to the remaining symlinks, i.e.
> not only for manpages but also for programs such as makewhatis:
> 
> https://anonscm.debian.org/git/collab-maint/mdocml.git/commit/?id=1f60c369afdf849168b7f11c0a5188f16be2817c

It's not as simple as that.  With you patch, makewhatis ends up in the
wrong directory, in /bin/ rather than in /sbin/ where it belongs.

To fix that, i considered writing sh(1) code in ./configure to parse
both paths and construct a relative one from one to the other, using
tools like dirname(1), basename(1), readlink(1), wc(1), cut(1), ...

But then i realized that's probably a bad idea.  It is complicated
and can cause portability issues, and it's just not worth it.  In
almost any sane configuration, the basename(1) of BINDIR will be
"bin", and BINDIR and SBINDIR will be located in the same parent
directory.  If that is not the case is some very unusual configuration,
i decided to tell people to specify BIN_FROM_SBIN together with
BINDIR and SBINDIR - it's rarely needed and easier to do for a human
than for a POSIX shell.

Thanks to both of you for reporting the issue!

Yours,
  Ingo


Log Message:
-----------
Debian needs relative symlinks not only for manual pages,
but also for program files.
Issue reported by Michael <Stapelberg at debian dot org>
and by Markus <Waldeck at gmx dot de>.

Modified Files:
--------------
    mdocml:
        Makefile
        configure
        configure.local.example

Revision Data
-------------
Index: configure
===================================================================
RCS file: /home/cvs/mdocml/mdocml/configure,v
retrieving revision 1.61
retrieving revision 1.62
diff -Lconfigure -Lconfigure -u -p -r1.61 -r1.62
--- configure
+++ configure
@@ -91,6 +91,7 @@ HAVE_WCHAR=
 PREFIX="/usr/local"
 BINDIR=
 SBINDIR=
+BIN_FROM_SBIN=
 INCLUDEDIR=
 LIBDIR=
 MANDIR=
@@ -458,14 +459,15 @@ echo "config.h: written" 1>&3
 
 exec > Makefile.local
 
-[ -z "${BINDIR}"     ] && BINDIR="${PREFIX}/bin"
-[ -z "${SBINDIR}"    ] && SBINDIR="${PREFIX}/sbin"
-[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc"
-[ -z "${LIBDIR}"     ] && LIBDIR="${PREFIX}/lib/mandoc"
-[ -z "${MANDIR}"     ] && MANDIR="${PREFIX}/man"
+[ -z "${BINDIR}"          ] && BINDIR="${PREFIX}/bin"
+[ -z "${SBINDIR}"         ] && SBINDIR="${PREFIX}/sbin"
+[ -z "${BIN_FROM_SBIN}"   ] && BIN_FROM_SBIN="../bin"
+[ -z "${INCLUDEDIR}"      ] && INCLUDEDIR="${PREFIX}/include/mandoc"
+[ -z "${LIBDIR}"          ] && LIBDIR="${PREFIX}/lib/mandoc"
+[ -z "${MANDIR}"          ] && MANDIR="${PREFIX}/man"
 
-[ -z "${HTDOCDIR}"   ] && HTDOCDIR="${WWWPREFIX}/htdocs"
-[ -z "${CGIBINDIR}"  ] && CGIBINDIR="${WWWPREFIX}/cgi-bin"
+[ -z "${HTDOCDIR}"        ] && HTDOCDIR="${WWWPREFIX}/htdocs"
+[ -z "${CGIBINDIR}"       ] && CGIBINDIR="${WWWPREFIX}/cgi-bin"
 
 [ -z "${INSTALL_PROGRAM}" ] && INSTALL_PROGRAM="${INSTALL} -m 0555"
 [ -z "${INSTALL_LIB}"     ] && INSTALL_LIB="${INSTALL} -m 0444"
@@ -493,6 +495,7 @@ STATIC		= ${STATIC}
 PREFIX		= ${PREFIX}
 BINDIR		= ${BINDIR}
 SBINDIR		= ${SBINDIR}
+BIN_FROM_SBIN	= ${BIN_FROM_SBIN}
 INCLUDEDIR	= ${INCLUDEDIR}
 LIBDIR		= ${LIBDIR}
 MANDIR		= ${MANDIR}
Index: configure.local.example
===================================================================
RCS file: /home/cvs/mdocml/mdocml/configure.local.example,v
retrieving revision 1.29
retrieving revision 1.30
diff -Lconfigure.local.example -Lconfigure.local.example -u -p -r1.29 -r1.30
--- configure.local.example
+++ configure.local.example
@@ -85,6 +85,13 @@ BINDIR="${PREFIX}/bin"
 SBINDIR="${PREFIX}/sbin"
 MANDIR="${PREFIX}/man"
 
+# If BINDIR and SBINDIR are not subdirectories of the same parent
+# directory or if the basename(1) of BINDIR differs from "bin",
+# the relative path from SBINDIR to BINDIR is also needed.
+# The default is:
+
+BIN_FROM_SBIN="../bin"
+
 # Some distributions may want to avoid naming conflicts
 # with the configuration files of other man(1) implementations.
 # This changes the name of the installed section 5 manual page as well.
Index: Makefile
===================================================================
RCS file: /home/cvs/mdocml/mdocml/Makefile,v
retrieving revision 1.506
retrieving revision 1.507
diff -LMakefile -LMakefile -u -p -r1.506 -r1.507
--- Makefile
+++ Makefile
@@ -389,11 +389,11 @@ base-install: mandoc demandoc soelim
 	mkdir -p $(DESTDIR)$(MANDIR)/man8
 	$(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR)
 	$(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM)
-	$(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_MAN)
-	$(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS)
-	$(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS)
-	$(LN) $(DESTDIR)$(BINDIR)/mandoc \
-		$(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS)
+	cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_MAN)
+	cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_APROPOS)
+	cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_WHATIS)
+	cd $(DESTDIR)$(SBINDIR) && \
+		$(LN) ${BIN_FROM_SBIN}/mandoc $(BINM_MAKEWHATIS)
 	$(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1
 	$(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1
 	$(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1
@@ -475,7 +475,7 @@ uninstall:
 	rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_aux.h
 	rm -f $(DESTDIR)$(INCLUDEDIR)/mdoc.h
 	rm -f $(DESTDIR)$(INCLUDEDIR)/roff.h
-	rmdir $(DESTDIR)$(INCLUDEDIR)
+	[ ! -e $(DESTDIR)$(INCLUDEDIR) ] || rmdir $(DESTDIR)$(INCLUDEDIR)
 
 regress: all
 	cd regress && ./regress.pl
--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

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

end of thread, other threads:[~2017-03-04 16:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20170221023444.GB51369@athene.usta.de>
2017-02-21 21:12 ` mandoc-1.14.1 released Michael Stapelberg
2017-02-22  0:07   ` Ingo Schwarze
2017-02-27 20:55     ` Michael Stapelberg
2017-03-04 16:55       ` Ingo Schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).