Hi, I'm trying hard to have reproducible builds, so that I can verify that my build system produces the same exact thing as long as the tools used with it are the same (or a reasonably similar version).
I found that groff(1) doesn't seem to be consistent, as it produces
slightly different output on different runs. Here's just an example:
$ diff -u \
~/src/linux/man-pages/man-pages/main/.tmp/man/man5/proc_pid_maps.5.html.set \
~/src/linux/man-pages/man-pages/contrib/.tmp/man/man5/proc_pid_maps.5.html.set;
---
/home/alx/src/linux/man-pages/man-pages/main/.tmp/man/man5/proc_pid_maps.5.html.set
2025-09-10 21:53:54.548437735 +0200
+++
/home/alx/src/linux/man-pages/man-pages/contrib/.tmp/man/man5/proc_pid_maps.5.html.set
2025-09-11 10:28:21.890523032 +0200
@@ -11,10 +11,7 @@
x F /usr/share/groff/1.23.0/tmac/en.tmac
x F /usr/share/groff/1.23.0/tmac/pspic.tmac
x F /usr/share/groff/1.23.0/tmac/pdfpic.tmac
-x F /usr/share/groff/1.23.0/tmac/an.tmac
-x F /usr/share/groff/1.23.0/tmac/devtag.tmac
-x F /usr/share/groff/1.23.0/tmac/an-ext.tmac
-x F /usr/share/groff/site-tmac/man.local
+x F /usr/share/groff/1.23.0/tmac/andoc.tmac
x F /usr/share/groff/1.23.0/tmac/troffrc-end
x F /usr/share/groff/1.23.0/tmac/html-end.tmac
p1
@@ -26,6 +23,10 @@
x F -
x F -
x F .tmp/man/man5/proc_pid_maps.5
+x F /usr/share/groff/1.23.0/tmac/an.tmac
+x F /usr/share/groff/1.23.0/tmac/devtag.tmac
+x F /usr/share/groff/1.23.0/tmac/an-ext.tmac
+x F /usr/share/groff/site-tmac/man.local
V80
H0
x X devtag:.fi 1
Did I inadvertently do something that would trigger such a difference?
I used the same exact system to produce both files. I was testing that
some changes to the Linux man-pages build system (which are just
cosmetic changes) are in fact cosmetic, so I'm surprised to see these
changes.
Is groff(1) just random in some sense? Would it be possible to remove
that randomness from groff(1)?
Have a lovely day!
Alex
--
<https://www.alejandro-colomar.es>
Use port 80 (that is, <...:80/>).
signature.asc
Description: PGP signature
