On 06/26/2012 10:51 AM, Mark Knecht wrote:
> On Sun, Jun 24, 2012 at 3:18 PM, walt <w41...@gmail.com> wrote:
>> On 06/24/2012 11:27 AM, Mark Knecht wrote:
>>> Hi,
>>>    One of my machines is giving an undesired response in eselect:
>>>
>>> c2stable ~ # eselect binutils list
>>> !!! Error: Pattern  does not match any installed version of binutils!
>>> exiting
>>
>> I would start by comparing /usr/share/eselect/* between the bad machine and 
>> one of the good ones.  I'd probably use scp -r to copy the bad machine's 
>> directory to /tmp on the good machine and use diff -r to do the comparison.
>> (I just discovered sftp, which is another easy way to copy things.)
>>
>> I love to hear a better suggestion about how to compare two different 
>> machines, though.  You could set up an nfs mount of one machine on the 
>> other, but that's too complicated for my very limited needs.
>>
>>
>>
>>
> 
> Hi Walt,
>    It isn't anything like fsck, etc. The machine is healthy in all
> other respects (that I know of and have tested) and everything is
> actually working. It's only the list option that's failing. eselect
> actually knows that binutils is set correctly. It just won't like it.
> 
> c2stable ~ # eselect binutils show
> x86_64-pc-linux-gnu-2.21.1
> c2stable ~ # eselect binutils set x86_64-pc-linux-gnu-2.21.1
> !!! Error: Profile "x86_64-pc-linux-gnu-2.21.1" is already active!
> exiting
> c2stable ~ # eselect binutils list
> !!! Error: Pattern  does not match any installed version of binutils!
> exiting
> c2stable ~ #
> 
>    Actually, I don't think it's that hard to compare files or
> directories that are supposed to be consistent on various machines.
> That's what rsync does to decide what to sync. The trick is getting
> the options correct which is usually my downfall.
> 
>    Anyway, in this case I compare the /usr/share/eselect/modules
> directory on my local (failing) machine with one of the other machines
> here in the house. In the first compare I look at the binutils file
> specifically which passes. In the second compare I look at everything
> in the modules directory which shows one mismatch which in this case
> is that the remote machine doesn't actually have a wxwidgets.eselect
> file. I cannot tell that until I log into the remote machine to
> determine the difference.
> 
> mark@c2stable ~ $ rsync --dry-run -crv
> /usr/share/eselect/modules/binutils.eselect
> mark@k2:/usr/share/eselect/modules/binutils.eselect
> Password:
> sending incremental file list
> 
> sent 55 bytes  received 12 bytes  19.14 bytes/sec
> total size is 7796  speedup is 116.36 (DRY RUN)
> mark@c2stable ~ $ rsync --dry-run -crv /usr/share/eselect/modules/*
> mark@k2:/usr/share/eselect/modules       Password:
> sending incremental file list
> wxwidgets.eselect
> 
> sent 1095 bytes  received 15 bytes  246.67 bytes/sec
> total size is 147613  speedup is 132.98 (DRY RUN)
> mark@c2stable ~ $
> 
> A little bit of Google suggests you can diff the files themselves
> using something like:
> 
> diff <(ssh -n me@testserver cat /home/me/source/worksforme.php) <(ssh
> -n me@clientserver cat /home/me/source/worksforme.php)
> 
> I have not tested this but suspect it probably works fine once you get
> everything right.

I'd never have thought of those two ideas.  Thanks for the tip.

/usr/bin/eselect is just a shellscript, so adding the line 'set -x' near
the top of the script may give you a clue about what part of 'list' it
doesn't understand :)




Reply via email to