Your message dated Thu, 20 Jul 2023 00:35:30 +0000
with message-id <[email protected]>
and subject line Bug#1041317: fixed in dgit 11.1
has caused the Debian Bug report #1041317,
regarding dgit: table too wide in man page, trashes autopkgtests
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1041317: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1041317
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dgit
Version: 9.13
Severity: Important
Justification: causes problems for everybody's autopkgtests

I noticed that groff 1.23.0-2 (and -1 before it) will be blocked from
ever migrating to testing due to an autopkgtest failure on EVERY
architecture.

https://tracker.debian.org/pkg/groff

So I downloaded the 2.4MB compressed autopkgtest log for groff 1.23.0-2
on amd64 and trawled through the 325,000+ lines of output looking for
the problem.  On the one hand, that is an obnoxiously huge amount of
information.  On the other, the log is annotated well enough that I was
able to quickly locate the problem.

Here are the juicy bits.

[...]
941s + for roff in $manpages
941s + section=1
941s + page=dgit
[...]
941s + cmd='man --warnings "$@" $section $page'
941s + eval 'man --warnings "$@" $section $page 2>&1 >/dev/null |tee 
/tmp/autopkgtest-lxc.3j70k01o/downtmp/autopkgtest_
tmp/dgit.1.txt-errs'
941s ++ man --warnings 1 dgit
941s ++ tee 
/tmp/autopkgtest-lxc.3j70k01o/downtmp/autopkgtest_tmp/dgit.1.txt-errs
941s <standard input>:46: warning: table wider than line length minus 
indentation
[...]
941s RE (?^:^(?:(?^:^(?=a)b))$)|(?^:^(?:ERROR.*)$)|(?^:^(?:.* # table wider 
than line width)$)
941s unexpected: <standard input>:46: warning: table wider than line length 
minus indentation
941s unexpected errors
941s END failed--call queue aborted, <> line 1.
[...]
941s %%%%%%%%%%%%%%%%%%%% EXITING 22 %%%%%%%%%%%%%%%%%%%%
[...]
941s TEST FAILED
[...]
2435s manpages-format      FAIL non-zero exit status 16

That regex is sufficiently complex that I can't tell if it's trying to
filter the diagnostic message "table wider than line width" or not.  If
it is, the fact that I have recast the language of the diagnostic
message in groff 1.23.0 has fooled it.

It is a bad idea to rely on the exact wording of diagnostic messages.
That is one reason error conditions in many software systems are given
an unintelligible identifier.

https://git.savannah.gnu.org/cgit/groff.git/commit/?id=7111d3378f0c2ceab891d66ae815d393ff87dae5

Yes, the language in the regex could be updated if it's doing what I
think it is, but that just kicks the can down the road.  It is better
for groff to have the freedom to continue to improve its diagnostic
messages for the comprehension of the user.

So let's the fix the problem in the dgit man page.

Man pages are formatted for a width of 78n if the terminal width is 80
columns.  This origin of this practice is not well documented but
experience with groff upstream leads me to believe that it is a
workaround for bugs in GNU tbl(1).  (In AT&T Unix Version 7, they were
formatted for a line length of 65n, with a page offset of one tenth of
an inch.  On Western Electric Teletype Model 37 printing terminals.)

How wide is dgit's man page?

$ MANPAGER=cat MANWIDTH=80 command man --warnings dgit |wc -L
<standard input>:46: warning: table wider than line length minus indentation
79

Hence the warning.

groff 1.22.4 didn't used to throw this warning in this circumstance.

That was a bug.

https://savannah.gnu.org/bugs/index.php?61854

Now it does.

The diagnostic is wholly legitimate.

Let's have a look:

$ MANPAGER=cat MANWIDTH=80 command man --warnings -Tascii dgit | sed -n 
'/DESCRIPTION/,/OPERATIONS/p'
<standard input>:46: warning: table wider than line length minus indentation
DESCRIPTION
       dgit allows you to treat the Debian archive as if it were a git reposi-
       tory.   Conversely, it allows Debian to publish the source of its pack-
       ages as git branches, in a format which is directly useable by ordinary
       people.

       This is the command line reference.  Please read the tutorial(s):
       dgit-user(7)              for users: edit, build and share packages
       dgit-nmu-simple(7)        for DDs: do a straightforward NMU
       dgit-maint-native(7)      for maintainers of Debian-native packages
       dgit-maint-debrebase(7)   for maintainers: a pure-git rebasish workflow
       dgit-maint-merge(7)       for maintainers: a pure-git merging workflow
       dgit-maint-gbp(7)         for maintainers already using git-buildpackage
       dgit-sponsorship(7)       for sponsors and sponsored contributors
       dgit-downstream-dsc(7)    setting up dgit push for a new distro

       See dgit(7) for detailed information about the data model, common prob-
       lems likely to arise with certain kinds of package, etc.

OPERATIONS

Yup, if we look carefully, we can see that the word "git-buildpackage"
encroaches into the right margin.

My recommendation is a simple tweak to the table format, stealing one en
of column separation to make the table fit.

$ diff -u ./dgit.1.orig ./dgit.1
--- ./dgit.1.orig       2023-07-17 06:03:04.465368217 -0500
+++ ./dgit.1    2023-07-17 06:03:26.309288710 -0500
@@ -42,7 +42,7 @@
 This is the command line reference.
 Please read the tutorial(s):
 .TS
-lb l.
+lb2 l.
 dgit-user(7)   for users: edit, build and share packages
 dgit-nmu-simple(7)     for DDs: do a straightforward NMU
 dgit-maint-native(7)   for maintainers of Debian-native packages

I would like in the future to improve GNU tbl to the point where tables
can spread their wings to the full 80 column span of the widely accepted
minimum terminal width, but a deeply ingrained feature of GNU tbl makes
that tough.

https://savannah.gnu.org/bugs/index.php?62471

Maybe it will happen for groff 1.24.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: dgit
Source-Version: 11.1
Done: Ian Jackson <[email protected]>

We believe that the bug you reported is fixed in the latest version of
dgit, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ian Jackson <[email protected]> (supplier of updated dgit package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 20 Jul 2023 00:32:36 +0100
Source: dgit
Architecture: source
Version: 11.1
Distribution: unstable
Urgency: medium
Maintainer: Ian Jackson <[email protected]>
Changed-By: Ian Jackson <[email protected]>
Closes: 1041317
Changes:
 dgit (11.1) unstable; urgency=medium
 .
   * dgit(1): Adjust tbl formatting to avoid warning.
     [Report and suggestions from Branden Robinson]  Closes: #1041317.
Checksums-Sha1:
 625673e042978a60dfb4cb4634ff424eaef76a2d 1856 dgit_11.1.dsc
 5afdfeaf99db96d8c2fd5832e95d70d8cf6c1c61 681213 dgit_11.1.tar.gz
Checksums-Sha256:
 99d1c18ed3b55f8333d6bcda32a7a60c898fdbcc9bbece4bb4820cbff7a72d46 1856 
dgit_11.1.dsc
 869d9fe4986ead1c14ffb4fd6a9c1926935cc6c03536b3aa40a2827991aa7de9 681213 
dgit_11.1.tar.gz
Files:
 dacdf171a7d9809087bdf78c8154c54d 1856 devel optional dgit_11.1.dsc
 063fed832f7045f23caba6ccfc66c5f3 681213 devel optional dgit_11.1.tar.gz

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmS4d8EACgkQ4+M5I0i1
DTlqRwgAoEgMM4TGt/thNBfRhIkP6JEzdVXrGS7vdeTi+v99Wq7WZXPtnvtFWHtp
XdMykkmIGj/qSMoX41Q5aO9kWDjR/i7AoSwuX/WrET1TE0crdKbliKmhvXLZrSGK
mA/Ra3I0pe6fF1ADeu5yievF4igsKdv0UHFB9nUgejoT9RIpUb7djEM5DxqhZLeI
32KeMsdNne9OzOiSm3WhmfGfJrCcAaDKRLhoaeqN2EuCEw1LTKKoqQ45tzCorGeX
GiSxjwTj+FEgrYf/DKE4K4GzxIlETC1OGsC/ECO9RJHgbyOHIIDhJtVFThlYYzaP
nyvU1s1mY492JEXuJr1X0WDCARan3Q==
=3SJg
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to