I have built games/cowsay in my own poudriere. In the manpage, it says: ``` FILES /wrkdirs/usr/ports/games/cowsay/work/stage/usr/local/share/cows holds a sample set of cowfiles. If your COWPATH is not explicitly set, it automatically contains this directory. ``` Notice that the stagedir from building has leaked into the manpage. And if I build the port as a user in /tmp/port, and look at the staged manpage at /tmp/port/work/stage/usr/local/man/man1/cowsay.1.gz, then I see this: ``` .SH FILES .B /tmp/port/work/stage/usr/local/share/cows holds a sample set of cowfiles. If your .B COWPATH ``` .. and while the script explicitly handles a "normal" (or maybe "old-fashioned, before staging was a thing") prefix, it substitutes a full prefix (with staging, it seems) in to the intermediate perl scripts -- and onwards into the manpages: ``` echo s,%PREFIX%,$PREFIX,\; >> install.pl ```
Created attachment 221341 [details] Remove STAGEDIR from manpage This patch does two things: - updates the version number reported by `cowsay -h` to the port version; cowsay release 3.04 still claims to be 3.03, and we may as well make the port revision explicit then, too - removes STAGEDIR from the manpage, as reported in this PR
(flipping maintainer-feedback because now there's a patch and the usual "update rules" apply to this "mission-critical" application)
A commit references this bug: Author: adridg Date: Thu Jan 21 22:26:51 UTC 2021 New revision: 562252 URL: https://svnweb.freebsd.org/changeset/ports/562252 Log: Fix build artifacts in games/cowsay `cowsay -h` still reported 3.03 (this was an upstream error) and the manpage contained STAGEDIR paths; fix that with some sed-work. I've added comments in the makefile explaining how we're mulching this ancient perl script. Note that this uses `${SED} -i` rather than `${REINPLACE_CMD}` because that's what the port was already doing. I didn't want to change style at the same time. PR: 245324 Approved by: maintainer timeout (2 weeks) Changes: head/games/cowsay/Makefile