The man pages for the individual functions of openssl are renamed to ssl-* by the ebuild to avoid conflicts. The ebuild contains a sed call to "fix up references to renamed man pages", but the references aren't fixed. For example, the SEE ALSO section of the man page for openssl(1) refers to s_client(1), but that page has been renamed to ssl-s_client(1). This makes finding the man pages very hard. Reproducible: Always $ emerge --info Portage 2.2_rc62 (default/linux/amd64/10.0, gcc-4.4.3, glibc-2.11-r1, 2.6.32-gentoo-r4 x86_64) ================================================================= System uname: Linux-2.6.32-gentoo-r4-x86_64-Intel-R-_Core-TM-2_CPU_T5500_@_1.66GHz-with-gentoo-2.0.1 Timestamp of tree: Fri, 12 Feb 2010 03:15:02 +0000 app-shells/bash: 4.0_p37 dev-lang/python: 2.6.4-r1, 3.1.1-r1 dev-util/cmake: 2.8.0-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.0-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.10.3, 1.11.1 sys-devel/binutils: 2.20 sys-devel/gcc: 4.4.3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--ask" FEATURES="assume-digests distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.netnitco.net http://mirror.mcs.anl.gov/pub/gentoo/ http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://mirror.datapipe.net/gentoo ftp://mirror.datapipe.net/gentoo" LDFLAGS="-Wl,-O1,--as-needed" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/njw /usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X acl acpi afs alsa amd64 berkdb bzip2 cairo caps cdr cli cracklib crypt cxx dbus dri dvd dvdr emacs fortran gd gdbm gimp gpm gtk hal iconv jpeg kerberos latex mmx modules mudflap multilib ncurses nptl nptlonly opengl openmp pam pcre perl png pppd python readline reflection session smp spl sse sse2 ssl ssse3 sysfs tcpd truetype unicode xorg xscreensaver zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" SANE_BACKENDS="epson2" USERLAND="GNU" VIDEO_CARDS="radeon" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
if you read the whole ebuild you'll see that not all man pages get run through the sed. you can try moving the `sed` above the continue in the loop. if that doesnt fix it, i probably wont look at this for a while since it's a pretty minor issue. all of two people have complained in the 3+ years we've been doing this renaming. i also think your definition of 'very hard' diverges from the norm since it's trivial to use the man search function or run `ls` or `find` yourself.
(In reply to comment #1) > if you read the whole ebuild you'll see that not all man pages get run through > the sed. you can try moving the `sed` above the continue in the loop. if that > doesnt fix it, i probably wont look at this for a while since it's a pretty > minor issue. all of two people have complained in the 3+ years we've been > doing this renaming. > I think moving it above the continue would be good, but I'm actually not seeing the renaming in any of the man pages. openssl(1) references s_client(1), but so does ssl-s_server(1). > i also think your definition of 'very hard' diverges from the norm since it's > trivial to use the man search function or run `ls` or `find` yourself. > Sure it's easy to find them if you think to look, but my normal assumption is that if I see 'SEE ALSO s_client(1)' in a man page then I can see that by running 'man s_client' or maybe 'man 1 s_client'. If those don't work I assume that the s_client(1) man page isn't installed, not that the name has been changed. I'd been reading the man pages ssh'd into another distro for several days before I happened to read the ebuild and see that the pages were renamed. It's not actually a problem for me anymore, since now that I know about the renaming. I was just trying to spare other users some trouble. I will attempt to provide some productive help, though. I think the reason the sed doesn't work on the pages it is run on is that you are performing the replacement on any lines between matches of /^[.]SH "SEE ALSO"/ and /^[.]/ . Looking at the man page source (ssl-s_server here) shows: .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIsess_id\fR\|(1), \fIs_client\fR\|(1), \fIciphers\fR\|(1) It looks like the '.IX Header' line will stop the replacement before it gets to the actual references. Maybe stopping only at /^[.]SH/ would be more appropriate.
give a little, get a little http://sources.gentoo.org/dev-libs/openssl/openssl-0.9.8l-r2.ebuild?r1=1.9&r2=1.10