Date: Wed, 29 Jun 2005 01:24:44 -0700 (PDT) From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/82768: mail/postfix -- certain manpages are broken Message-ID: <200506290824.j5T8OiF8018484@pentarou.parodius.com> Resent-Message-ID: <200506290830.j5T8ULx1096008@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 82768 >Category: ports >Synopsis: mail/postfix -- certain manpages are broken >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Jun 29 08:30:21 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Jeremy Chadwick >Release: FreeBSD 4.11-STABLE i386 >Organization: Parodius Networking >Environment: System: FreeBSD pentarou.parodius.com 4.11-STABLE FreeBSD 4.11-STABLE #0: Thu May 12 04:37:52 PDT 2005 root@pentarou.parodius.com:/usr/obj/usr/src/sys/PENTAROU i386 >Description: There's a slew of manpages included with postfix 2.2.4 which are broken. Here's the list: man1/mailq.1 man1/newaliases.1 man5/body_checks.5 man8/defer.8 man8/trace.8 These manpages use nothing more than a disgusting hack -- that doesn't work -- to refer to other manpage files. They attempt to use the ".so" macro, which is NOT for this purpose, and doesn't work with compressed manpage environments. The ".so" macro should be used to refer to other groff macro files during translation, not as a troff man command. The port maintainer may want to discuss all of this with Wietse, as this is something that's downright broken in the core of postfix's source, and isn't "BSD-specific". If the maintainer doesn't want to do this, I can do it if they so request. >How-To-Repeat: Install postfix, then try to view the included-with-postfix mailq manpage (you can view this by doing "zcat /usr/local/man/man1/mailq.1.gz | nroff -Tman -man | less"). You'll find that there's nothing but pure blank output, because the manpage is trying to access /usr/local/man/man1/sendmail.1 which doesn't exist. >Fix: I tried making a patch for man/Makefile.in, but it doesn't seem to work. I think the reason is that the FreeBSD port isn't actually rebuilding the manpages when building postfix; it's using the ones that're pre-generated which contain the ".so" macro. My fix was to replace the echo statements with "ln -s <original> $@" instead, so that when the installer goes to copy the manpage to the actual installation directory, it copies the content of what the symlink points to. There's a couple ways to solve this whole ordeal in ports, but I really don't know how we want to do it which would be ~99% clean... >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506290824.j5T8OiF8018484>