Bug 214163

Summary: hardcoded library paths in FILES section
Product: Documentation Reporter: Christopher Yeleighton (giecrilj)
Component: man-pagesAssignee: documentation_man-pages (documentation_man-pages)
Status: RESOLVED CODE_FIX    
Severity: normal CC: mtk.manpages
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:

Description Christopher Yeleighton 2021-08-24 10:06:55 UTC
For example:

/usr/lib/gconv   Usual default gconv module path.

This is not the default path for 64-bit native programs under openSUSE.  The default path is:

  * /usr/lib64/gconv for 64-bit native programs
  * /usr/lib/gconv for 32-bit native programs

Therefore, it is not practical to patch the manual pages to replace lib with lib64, for example.

Manual pages should support multiple architectures as a concept.
Comment 1 Michael Kerrisk 2021-08-24 21:40:36 UTC
I have applied the patch below. I'll close this now. Please reopen, if you think something further is needed. Thanks for the report.

Cheers,

Michael

diff --git a/man1/iconv.1 b/man1/iconv.1
index 8207e1cea..826b7a754 100644
--- a/man1/iconv.1
+++ b/man1/iconv.1
@@ -174,6 +174,10 @@ Usual system default gconv module configuration file.
 .TP
 .I /usr/lib/gconv/gconv\-modules.cache
 Usual system gconv module configuration cache.
+.PP
+Depending on the architecture,
+the above files may instead be located at directories with the path prefix
+.IR /usr/lib64 .
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH EXAMPLES
diff --git a/man8/iconvconfig.8 b/man8/iconvconfig.8
index d74132937..34725e4d5 100644
--- a/man8/iconvconfig.8
+++ b/man8/iconvconfig.8
@@ -96,6 +96,10 @@ Usual system default gconv module configuration file.
 .TP
 .I /usr/lib/gconv/gconv\-modules.cache
 Usual system gconv module configuration cache.
+.PP
+Depending on the architecture,
+the above files may instead be located at directories with the path prefix
+.IR /usr/lib64 .
 .SH SEE ALSO
 .BR iconv (1),
 .BR iconv (3)
Comment 2 Christopher Yeleighton 2021-08-25 21:59:22 UTC
This is the fix for SUSE.  I believe Debian has a different multiarch fs layout.  But it can stay if the LFS says so.
In ldconfig(8) terms, we would probably take the subdirectory "gconv" of the "trusted directory" for the active architecture under /usr.  I would appreciate a reference to that manual page containing the authoritative explanation of the concept.