Thread (22 messages) 22 messages, 3 authors, 2024-06-11

Re: [PATCH 1/1] ioctl_epoll.2: New page describing ioctl(2) operations for epoll fds

From: Joe Damato <hidden>
Date: 2024-06-10 20:16:18

On Mon, Jun 10, 2024 at 08:24:24PM +0200, Alejandro Colomar wrote:
Hi Joe,

On Mon, Jun 10, 2024 at 10:29:44AM GMT, Joe Damato wrote:
quoted
On Sun, Jun 09, 2024 at 07:04:40PM +0200, Alejandro Colomar wrote:
quoted
On Fri, Jun 07, 2024 at 02:53:19PM GMT, Joe Damato wrote:
quoted
On Thu, Jun 06, 2024 at 11:46:47PM +0200, Alejandro Colomar wrote:
quoted
$ make lint build check -j24
GROTTY		.tmp/man/man2/epoll_create.2.cat
GROTTY		.tmp/man/man2/epoll_ctl.2.cat
TROFF		.tmp/man/man2/ioctl_epoll.2.cat.set
an.tmac:.tmp/man/man2/ioctl_epoll.2:61: style: blank line in input
make: *** [/home/alx/src/linux/man-pages/man-pages/contrib/share/mk/build/catman/troff.mk:63: .tmp/man/man2/ioctl_epoll.2.cat.set] Error 1
make: *** Deleting file '.tmp/man/man2/ioctl_epoll.2.cat.set'
Hmm..

When I run make I get an error:

$ make
TROFF		.tmp/man/man2/s390_sthyi.2.cat.set
troff: .tmp/man/man2/s390_sthyi.2:124: warning [p 2, 2.8i]: cannot adjust line
Hmm, I can't reproduce it.  Can you run with `make --debug=print` (needs
a recent make(1))?
I don't think I have a recent enough make:

$ make --debug=print
make: *** unknown debug level specification 'print'.  Stop.
$ make --version
GNU Make 4.3
You can do this:

	sed -i '/SILENT/s/^/$(V)/' GNUmakefile;

And after that, you can `make V=1` to see more verbosity.  This will
work with any make(1).  And I would appreciate if you can ping your
distro maintainer to package a newer version of make(1).  (Most likely,
you're on Debian (right?), where the maintainer of make(1) is AWOL, so
hopefully somebody else will pick it up if there are many pings.)  :-)
I am using Ubuntu 22.04.

I did what you suggested got the same output about s390_sthyi,
here's what I think is the relevant output:

SED		.tmp/man/man2/s390_sthyi.2
<man/man2/s390_sthyi.2 \
sed "/^\.TH/s/(date)/$(git log --format=%cs -1 -- man/man2/s390_sthyi.2 2>/dev/null)/" \
| sed '/^\.TH/s/(unreleased)/6.8-152-g97abd8f14-dirty/' >.tmp/man/man2/s390_sthyi.2
PRECONV		.tmp/man/man2/s390_sthyi.2.tbl
preconv   .tmp/man/man2/s390_sthyi.2 >.tmp/man/man2/s390_sthyi.2.tbl
TBL		.tmp/man/man2/s390_sthyi.2.eqn
tbl <.tmp/man/man2/s390_sthyi.2.tbl >.tmp/man/man2/s390_sthyi.2.eqn
EQN		.tmp/man/man2/s390_sthyi.2.cat.troff
! (eqn -Tutf8   <.tmp/man/man2/s390_sthyi.2.eqn 2>&1 >.tmp/man/man2/s390_sthyi.2.cat.troff) \
| grep ^ >&2
TROFF		.tmp/man/man2/s390_sthyi.2.cat.set
! (troff -man -wbreak -rS12  -Tutf8 -rLL=78n -rCHECKSTYLE=3 -ww  <.tmp/man/man2/s390_sthyi.2.cat.troff 2>&1 >.tmp/man/man2/s390_sthyi.2.cat.set \
   | grep -v -f '/home/jdamato/code/man-pages/share/mk/build/catman/troff.ignore.grep' \
   || true; \
) \
| grep ^ >&2
troff: .tmp/man/man2/s390_sthyi.2:124: warning [p 2, 2.8i]: cannot adjust line
make: *** [/home/jdamato/code/man-pages/share/mk/build/catman/troff.mk:63: .tmp/man/man2/s390_sthyi.2.cat.set] Error 1
quoted
quoted
quoted
I tried to run the lint build check target and got an error about
checkpatch:

$ make lint build check -j8
CHECKPATCH	.tmp/man/man2/fork.2.d/fork.c.lint-c.checkpatch.touch
bash: line 1: checkpatch: command not found

I have mandoc, groff, and clang-tidy installed, but maybe I'm
missing other dependency?
That's a fork of the checkpatch.pl from the kernel.  I'm working on a
repository to make it public.  Don't worry about it.

You can `make -t lint-c-checkpatch` to ignore all checkpatch lints.
$ make -t lint-c-checkpatch
$ echo $?
0

Does that mean I'm good to go and ready to submit v2 ? ;)
Nope.  That means you're ready to `make`, and you won't see any errors
due to missing a checkpatch binary.  make -t is a trick that few know,
but quite useful:

$ MANWIDTH=72 man make | sed -n '/   -t/,/^$/p'
     -t, --touch
          Touch  files  (mark  them  up to date without really changing
          them) instead of running their commands.   This  is  used  to
          pretend  that the commands were done, in order to fool future
          invocations of make.

So what we did is trick make(1) to think that it has successfully run
the 'lint-c-checkpatch', by touch(1)ing all the files that would have
been created if that target had been successful.
Ah, I see -- thanks for the pointer!

I've re-run make and it is still failing as above but on an
unrelated file.

I see in the output that ioctl_epoll seemed to be processed OK:

SED             .tmp/man/man2/ioctl_epoll.2
<man/man2/ioctl_epoll.2 \
sed "/^\.TH/s/(date)/$(git log --format=%cs -1 -- man/man2/ioctl_epoll.2 2>/dev/null)/" \
| sed '/^\.TH/s/(unreleased)/6.8-152-g97abd8f14-dirty/' >.tmp/man/man2/ioctl_epoll.2
PRECONV         .tmp/man/man2/ioctl_epoll.2.tbl
preconv   .tmp/man/man2/ioctl_epoll.2 >.tmp/man/man2/ioctl_epoll.2.tbl
TBL             .tmp/man/man2/ioctl_epoll.2.eqn
tbl <.tmp/man/man2/ioctl_epoll.2.tbl >.tmp/man/man2/ioctl_epoll.2.eqn
EQN             .tmp/man/man2/ioctl_epoll.2.cat.troff
! (eqn -Tutf8   <.tmp/man/man2/ioctl_epoll.2.eqn 2>&1 >.tmp/man/man2/ioctl_epoll.2.cat.troff) \
| grep ^ >&2
TROFF           .tmp/man/man2/ioctl_epoll.2.cat.set
! (troff -man -wbreak -rS12  -Tutf8 -rLL=78n -rCHECKSTYLE=3 -ww  <.tmp/man/man2/ioctl_epoll.2.cat.troff 2>&1 >.tmp/man/man2/ioctl_epoll.2.cat.set \
   | grep -v -f '/home/jdamato/code/man-pages/share/mk/build/catman/troff.ignore.grep' \
   || true; \
) \
| grep ^ >&2
GROTTY          .tmp/man/man2/ioctl_epoll.2.cat
grotty -c  <.tmp/man/man2/ioctl_epoll.2.cat.set >.tmp/man/man2/ioctl_epoll.2.cat

Should I send a v2? The s390 thing seems unrelated?

What do you think?

Thanks,
Joe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help