Currently eselect-ruby fails to set manpage symlink if they are compressed using xz. Reproducible: Always Steps to Reproduce: 1.Set PORTAGE_COMPRESS="xz" in make.conf 2. emerge ruby:${SLOT} 3. run eselect-ruby set <new_version> Actual Results: Ruby manpage symlink points to non-existant manpage Gentoo_Server rh1 # eselect ruby show Current Ruby version: ruby18 Current Rubygems version: gem18 Gentoo_Server rh1 # man ruby No manual entry for ruby Gentoo_Server rh1 # ls -l /usr/share/man/man1/ | grep ruby lrwxrwxrwx 1 root root 34 Aug 6 20:07 ruby.1.lzma -> //usr/share/man/man1/ruby18.1.lzma -rw-r--r-- 1 root root 3836 Feb 12 2007 ruby18.1.xz -rw-r--r-- 1 root root 5204 Dec 1 2010 ruby19.1.xz Expected Results: Properly set manpage symlink: Gentoo_Server rh1 # ls -l /usr/share/man/man1/ | grep ruby lrwxrwxrwx 1 root root 31 Aug 6 20:20 ruby.1.xz -> /usr/share/man/man1/ruby18.1.xz -rw-r--r-- 1 root root 3836 Feb 12 2007 ruby18.1.xz -rw-r--r-- 1 root root 5204 Dec 1 2010 ruby19.1.xz
Created attachment 355288 [details, diff] patch for ruby.eselect Adding patch just in case. It only requires a minor edit to 2 lines in ruby.eselect to fix it.
Doesn't seem very future proof to hardcode a list of possible compressions. Somehow it should be ported to the manpage ".so links" like, for example: $ cat /usr/share/man/man1/ruby.1 .so ruby${version}.1 As you can see, the manpage ".so links" are minimal one-liners, thus they don't need compression at all -- assuming it's easier to not compress it from eselect module.
(In reply to Samuli Suominen from comment #2) > $ cat /usr/share/man/man1/ruby.1 > .so ruby${version}.1 I mean, of course replace that $version in the example as appropiate like: $ cat /usr/share/man/man1/ruby.1 .so ruby20.1
Released in eselect-ruby-20130814.