When I run command 'equery check openssh', it said: ... !!! /usr/bin/slogin does not point to ssh ... this is wrong, since /usr/bin/slogin do point to ./ssh! The code in equery is: tgt = os.readlink(file) which return "./ssh", we should strip the "./" before compare it with the target which is get by os.path.normpath(t.strip())! Reproducible: Always Steps to Reproduce: 1.equery check openssh Actual Results: [ Checking net-misc/openssh-4.5_p1-r1 ] !!! /usr/bin/slogin does not point to ssh ... Expected Results: should not have !!!
Hmmm, so why does openssh's Makefile.in create such weird symlinks for slogin stuff at all? ln -s ./ssh$(EXEEXT) $(DESTDIR)$(bindir)/slogin ln -s ./ssh.1 $(DESTDIR)$(mandir)/$(mansubdir)1/slogin.1 Nothing else here does. # ls -lR /bin /sbin /usr/bin /usr/sbin /usr/share/man | grep -- "-> \./" lrwxrwxrwx 1 root root 5 2007-03-12 17:19 slogin -> ./ssh lrwxrwxrwx 1 root root 11 2007-03-12 17:19 slogin.1.bz2 -> ./ssh.1.bz2
it may be quite weird, but it isnt invalid, so changing openssh doesnt fix the real problem
$ svn commit -m "Fix equery check to not fail for symlinks prefixed with ./ (Bug #170702)" Sending ChangeLog Sending src/equery/equery Transmitting file data .. Committed revision 358.
Fixed in gentoolkit-0.2.4_pre2