Bug 257228

Summary: While `make installworld` installs /usr/share/man/man8/{apm,apmconf}.8.gz, `make delete-old` suggests to remove them
Product: Base System Reporter: Yasuhiro Kimura <yasu>
Component: binAssignee: Fernando Apesteguía <fernape>
Status: Closed FIXED    
Severity: Affects Only Me CC: fernape
Priority: ---    
Version: CURRENT   
Hardware: Any   
OS: Any   

Description Yasuhiro Kimura freebsd_committer freebsd_triage 2021-07-17 09:14:16 UTC
Summary explains everything.

----------------------------------------------------------------------
yasu@rolling-vm-freebsd1[1014]% uname -a
FreeBSD rolling-vm-freebsd1.home.utahime.org 14.0-CURRENT FreeBSD 14.0-CURRENT #0 main-n248030-4652422eb47: Sat Jul 17 03:17:05 JST 2021     rootz@rolling-vm-freebsd1.home.utahime.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64
yasu@rolling-vm-freebsd1[1015]%
----------------------------------------------------------------------

According to my investigation, this happens with base 0a0f7486413 and later.

----------------------------------------------------------------------
commit 0a0f7486413
Author: Fernando Apesteguía <fernape@FreeBSD.org>
Date:   Wed Jun 9 19:58:04 2021

    man: Build manpages for all architectures
    
    Building and installing architecture-specific man pages only raises a number of
    problems:
    
     * The https://www.freebsd.org/cgi/man.cgi is incomplete. As an
       example, it does not show results for pae(4). The reason for this is
       that the cgi interface runs on FreeBSD amd64.
    
     * In FreeBSD amd64 some manual pages have broken X-refs. See hptrr(4)
       for an example.
    
     * Also, we have broken links in our Release Notes. This is a
       consequence of the first point. See
       https://www.freebsd.org/releases/13.0R/hardware/#proc-i386.
    
    Make MAN_ARCH default to 'all' so we build all the man pages for all the
    architectures. The difference in disk space is negligible. Also link
    architecture-specific man pages to their own section while keeping their own
    namespace.
    
    PR: 212290
    Reported by:    mj@bsdops.com
    Approved by:    ceri@, wosch@
    MFC after:      4 weeks
----------------------------------------------------------------------

Cc-ing to the committer of it.
Comment 1 Fernando Apesteguía freebsd_committer freebsd_triage 2021-07-17 09:30:17 UTC
(In reply to Yasuhiro Kimura from comment #0)
Hi Yasuhiro,

This should be fixed in 

https://cgit.freebsd.org/src/commit/?id=f6043a672135da8ec090d8878cc844b8aace54f9

Could you update and check again? I'm AFK until 20th.

Thanks!
Comment 2 Yasuhiro Kimura freebsd_committer freebsd_triage 2021-07-17 10:16:21 UTC
(In reply to Fernando Apesteguía from comment #1)

base f6043a67213 removes /usr/share/man/man8/apmd.8.gz and /usr/share/man/man8/sconfig.8.gz from ObsoleteFiles.inc. But what currently `make delete-old` suggests to remove are /usr/share/man/man8/apm.8.gz and
/usr/share/man/man8/apmconf.8.gz. And they are still in ObsoleteFiles.inc after the commit.

And, though I'm not sure if it's directly related to this issue, I have one concern. On my environment there are apm.8.gz and apmconf.8.gz in both /usr/share/man/man8 and /usr/share/man/man8/amd64. Is it intended result?
Comment 3 Fernando Apesteguía freebsd_committer freebsd_triage 2021-07-21 09:34:02 UTC
(In reply to Yasuhiro Kimura from comment #2)
You are right, those files should be removed from ObsoleteFiles.inc and tools/build/mk/OptionalObsoleteFiles.inc

https://reviews.freebsd.org/D31256

The other effect is intended. If possible we try and link the original page to the main man section to avoid using man -m:

[fernape@vm-current /usr/share/man/man8]$ ls -i apmconf.8.gz amd64/apmconf.8.gz 
50307 amd64/apmconf.8.gz        50307 apmconf.8.gz

Thanks for spotting this.
Comment 4 commit-hook freebsd_committer freebsd_triage 2021-07-22 06:17:11 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=8539518055d01ad786ac925a22452c98017c75fd

commit 8539518055d01ad786ac925a22452c98017c75fd
Author:     Fernando Apesteguía <fernape@FreeBSD.org>
AuthorDate: 2021-07-21 09:21:14 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2021-07-22 06:09:45 +0000

    Remove manpages from OLD_FILES

    Remove apm.8 and apmconf.8 from OLD_FILES in the relevant Makefiles.

    These pages are now installed unconditionally as per 0a0f7486413c

    PR:     257228
    Reported by:    yasu@utahime.org, wosch@
    Approved by:    imp@, wosch@
    Fixes:  0a0f7486413c - Build manpages for all architectures
    MFH:    4 weeks
    Differential Revision:  https://reviews.freebsd.org/D31256

 ObsoleteFiles.inc                        | 2 --
 tools/build/mk/OptionalObsoleteFiles.inc | 2 --
 2 files changed, 4 deletions(-)
Comment 5 Fernando Apesteguía freebsd_committer freebsd_triage 2021-07-22 06:19:40 UTC
Committed,

Thanks!