Hi,

Brad Smith wrote on Sun, Sep 15, 2013 at 03:38:06PM -0400:
> On 15/09/13 3:18 PM, Brian Callahan wrote:
>> On 09/14/13 00:02, Kyle Isom wrote:

>>> Update to 1.7. Tested working on amd64 and macppc.

>> I don't think this needs USE_GROFF=Yes anymore; otherwise ok by me if
>> someone wants to double check that.

Indeed, USE_GROFF isn't needed for this one.

> USE_GROFF can be removed. mandoc points out two errors in the man
> page but the page looks the same whether utilizing mandoc or
> pre-formatting it with groff.

This made me curious, it sounded like something, somewhere, was
seriously broken.  A mandoc(1) ERROR - as opposed to a WARNING -
is intended as a hint that the output is likely to be seriously
affected, often unusable.  So, two ERRORs, but the output
is fine, you say?  That made me have a look.

It turns out the manual page itself contains badly broken syntax,
so badly that important content gets completely lost during
formatting.  In two places, the upstream author put the full stop
of a sentence in the first column, so roff mishandles it as a macro
indicator and basically loses the complete line.

That's one of the unusual cases where patching the *manual* makes
sense, even in the port, because it is required to let users see
the full text of the manual.

See below for an improved version of the port.
Sorry that i can't provide testing or an OK for the port as a whole,
it wouldn't be meaningful because i know too little about terminal
emulators.

Please feed the patch to the manual page upstream, too,
together with my explanation what the problem is.

Note that mandoc(1) somehow starts being *too* good.
It manages to misformat the broken manual in *exactly* the same
way as groff.  If both formatters would only misformat the buggy
code differently, it would have been more probable that anybody
of you (Kyle, Brian, or Brad) would have noticed the actual
problem...  :-)

I'm appending
 - first a diff showing what my patch to picocom.8 fixes
 - and than the improved port.

Yours,
  Ingo

 ----- 8< ----- schnipp ----- >8 ----- 8< ----- schnapp ----- >8 -----

--- picocom.orig.0      Sun Sep 15 22:37:46 2013
+++ picocom.fixed.0     Sun Sep 15 22:37:59 2013
@@ -145,7 +145,9 @@
        The standard error of the external program will be connected to the
        terminal which---while the program is running---will revert to
        canonical mode. Pressing 'C-c' while the external program is running
-       will prematurely terminate it, and return control to picocom
+       will prematurely terminate it, and return control to picocom. Pressing
+       'C-c' at any other time, has no special effect; the character is
+       normally passed to the serial port.

 INPUT, OUTPUT, AND ECHO MAPPING
        Using the "--imap", "--omap", and "--emap" options you can make picocom
@@ -239,10 +241,11 @@
        --noreset | -r
           If given, picocom will not *reset* the serial port when exiting. It
           will just close the filedes and do nothing more. This is useful, for
-          example, for leaving modems connected when exiting picocom picocom
-          using the "Quit" command (instead of "Exit"), which never resets the
-          serial port. If "--noreset" is given then "Quit" and "Exit" behave
-          essentially the same.
+          example, for leaving modems connected when exiting picocom.
+          Regardless whether the "--noreset" option is given the user can exit
+          picocom using the "Quit" command (instead of "Exit"), which never
+          resets the serial port. If "--noreset" is given then "Quit" and
+          "Exit" behave essentially the same.

        --nolock | -l
           If given, picocom will *not* attempt to lock the serial port before

 ----- 8< ----- schnipp ----- >8 ----- 8< ----- schnapp ----- >8 -----

Index: Makefile
===================================================================
RCS file: /cvs/ports/comms/picocom/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- Makefile    7 Aug 2013 21:31:20 -0000       1.4
+++ Makefile    15 Sep 2013 21:30:11 -0000
@@ -3,8 +3,7 @@
 #
 COMMENT                        = minimal dumb-terminal emulation program
 
-DISTNAME               = picocom-1.6
-REVISION               = 0
+DISTNAME               = picocom-1.7
 CATEGORIES             = comms
 MASTER_SITES           = https://picocom.googlecode.com/files/
 
@@ -19,11 +18,9 @@ NO_TEST                      = Yes
 
 MAKE_FLAGS             = CC="${CC}" CFLAGS="${CFLAGS}"
 MAKE_ENV               = LDFLAGS="${LDFLAGS}"
-USE_GROFF              = Yes
 
 do-install:
        ${INSTALL_DATA} ${WRKSRC}/picocom.8 ${PREFIX}/man/man8/picocom.8
        ${INSTALL_PROGRAM} ${WRKDIST}/picocom ${PREFIX}/bin/picocom
-
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/comms/picocom/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo    8 Jul 2012 18:19:18 -0000       1.1.1.1
+++ distinfo    15 Sep 2013 21:30:11 -0000
@@ -1,5 +1,2 @@
-MD5 (picocom-1.6.tar.gz) = Qmw9MLgsvICw2v3M1gIMbA==
-RMD160 (picocom-1.6.tar.gz) = rII9gEWriuBbGembGzdWth0OWH4=
-SHA1 (picocom-1.6.tar.gz) = 8ELhX6dqszScdKcAYqohC1J+a9w=
-SHA256 (picocom-1.6.tar.gz) = 31d0By3oBf8GxrFCDbzJMrGwDpGbSeIqe+FLytWgs6E=
-SIZE (picocom-1.6.tar.gz) = 46704
+SHA256 (picocom-1.7.tar.gz) = 0PMcj3ohWnaSLTDIGlK5ojSMieAqhJNVFwArO8LBEp4=
+SIZE (picocom-1.7.tar.gz) = 42857
Index: patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/comms/picocom/patches/patch-Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-Makefile
--- patches/patch-Makefile      8 Jul 2012 18:19:18 -0000       1.1.1.1
+++ patches/patch-Makefile      15 Sep 2013 21:30:11 -0000
@@ -1,26 +1,23 @@
-$OpenBSD: patch-Makefile,v 1.1.1.1 2012/07/08 18:19:18 lteo Exp $
---- Makefile.orig      Sat May 29 00:39:52 2010
-+++ Makefile   Sun Jul  8 15:45:36 2012
-@@ -1,17 +1,13 @@
--
-+OBJS := picocom.o term.o
- VERSION=1.6
+--- Makefile.orig      Fri Sep 13 19:18:11 2013
++++ Makefile   Fri Sep 13 19:22:09 2013
+@@ -5,16 +5,17 @@ UUCP_LOCK_DIR=/var/lock
  
  # CC = gcc
--CPPFLAGS=-DVERSION_STR=\"$(VERSION)\" -DUUCP_LOCK_DIR=\"/var/lock\" \
+ CPPFLAGS=-DVERSION_STR=\"$(VERSION)\" \
+-         -DUUCP_LOCK_DIR=\"$(UUCP_LOCK_DIR)\" \
 -         -DHIGH_BAUD
--CFLAGS = -Wall -g
-+CPPFLAGS=-DVERSION_STR=\"$(VERSION)\" -DUUCP_LOCK_DIR=\"/var/spool/lock\"
++         -DUUCP_LOCK_DIR=\"$(UUCP_LOCK_DIR)\"
+ CFLAGS = -Wall -g
  
--# LD = gcc
--LDFLAGS = -g
--LDLIBS =
-+all : picocom
+ # LD = gcc
+ LDFLAGS = -g
+ LDLIBS =
  
--picocom : picocom.o term.o
++all: picocom
++
+ picocom : picocom.o term.o
 -#     $(LD) $(LDFLAGS) -o $@ $+ $(LDLIBS)
-+picocom : $(OBJS)
-+      $(CC) $(LDFLAGS) -o picocom $(OBJS)
++      $(CC) $(LDFLAGS) -o $@ picocom.o term.o $(LDLIBS)
  
  picocom.o : picocom.c term.h
  term.o : term.c term.h
Index: patches/patch-picocom_8
===================================================================
RCS file: patches/patch-picocom_8
diff -N patches/patch-picocom_8
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-picocom_8     15 Sep 2013 21:30:11 -0000
@@ -0,0 +1,25 @@
+$OpenBSD$
+--- picocom.8.orig     Tue Feb 21 09:53:42 2012
++++ picocom.8  Sun Sep 15 22:34:20 2013
+@@ -123,8 +123,8 @@ picocom --send-cmd "sz -vv" --receive-cmd "rz -vv"
+ .br
+ .sp 0.6v
+ During the picocom session, if you key the "send" or "receive" commands (e.g. 
by pressing C-a, C-s, or C-a, C-r) you will be prompted for a filename. At this 
prompt you can enter one or more file-names, and any additional arguments to 
the transmission or reception program. After that, picocom will start the the 
external program as specified by the "--send-cmd", or "--receive-cmd" option, 
and with any filenames and additional arguments you may have supplied. The 
standard input and output of the external program will be connected to the 
serial port. The standard error of the external program will be connected to 
the terminal which---while the program is running---will revert to canonical 
mode. Pressing 'C-c' while the external program is running will prematurely 
terminate it, and return control to
+-.B picocom
+-. Pressing 'C-c' at any other time, has no special effect; the character is 
normally passed to the serial port.
++.BR picocom .
++Pressing 'C-c' at any other time, has no special effect; the character is 
normally passed to the serial port.
+ .br
+ .sp 0.6v
+ .SH INPUT, OUTPUT, AND ECHO MAPPING
+@@ -227,8 +227,8 @@ to already-connected modems, or already configured por
+ If given,
+ .B picocom
+ will not *reset* the serial port when exiting. It will just close the filedes 
and do nothing more. This is useful, for example, for leaving modems connected 
when exiting
+-.B picocom
+-. Regardless whether the "--noreset" option is given the user can exit
++.BR picocom .
++Regardless whether the "--noreset" option is given the user can exit
+ .B picocom
+ using the "Quit" command (instead of "Exit"), which never resets the serial 
port. If "--noreset" is given then "Quit" and "Exit" behave essentially the 
same.
+ .TP 3

Reply via email to