Re: Bug or normal behaviour with dpkg -S ?
On 2008-07-18 19:59 +0200, Thomas Preud'homme wrote:
> A few minutes ago I was reading this list and discovered ctags. I wanted to
> install it and I try a apt-file ctags | grep bin which didn't show anything.
>
> Then I told myself maybe I already had it and tried a tab completion.
>
> As I did have this tools I wanted to know which package installed it with
> dpkg -S /usr/bin/ctags
>
> Here is the output :
>
> 19:55 robotux@simplet ~% LANG=en_US.UTF-8 dpkg -S /usr/bin/ctags
> dpkg: /usr/bin/ctags not found.
> zsh: exit 1 LANG=en_US.UTF-8 dpkg -S /usr/bin/ctags
Yeah, because it's managed via the "alternatives" system.
> *but* :
>
> 19:55 robotux@simplet ~% LANG=en_US.UTF-8 dpkg -S usr/bin/ctags
> exuberant-ctags: /usr/bin/ctags-exuberant
>
> It's related to the fact /usr/bin/ctags is a double symbolic link as it is an
> alternative. dpkg -S /usr/bin/firefox correctly answer iceweasel.
>
> Is it an expected behaviour because /usr/bin/ctags could be installed by
> several packages (but *has* been installed by only one package on a given
> system) ?
It is expected because /usr/bin/ctags is not included in _any_ package,
so dpkg does not know about it. It's handled via update-alternatives(8).
> I prefer to ask you here before filling an useless bug report.
This is known and the problem is: if any package contains a real file
/usr/bin/ctags, dpkg will clobber the symlink created by
update-alternatives. See http://bugs.debian.org/25759 and friends.
Sven
Reply to: