[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Multiarch file overlap summary and proposal

* David Kalnischkies [2012-02-17 14:15 +0100]:
> You generously left out the paragraph describing how APT should
> detect that the package foo is in fact a library ...

My impression was that you think very library centric.  All I wrote was
(in other words), that we should consider non-library packages as much
as library packages, and I did not write nor implied that libraries
should be handled in a different way.

> Is 'apt-get remove foo+' then going to install all foo's or just one?

"apt-get install g+++" is a weird syntax.

> The current implementation of always foo == foo:native doesn't fail
> your diagram, too, so what is this going to show us?

It depends on how one reads it, anyway, examples I consider to be
inconsistent are more helpful than a diagram without clear semantic.

  # dpkg --print-architecture

  # perl -00 -lne 'print if /^Package: (clang|tendra)$/m &&
  /^Status: install ok installed$/m' /var/lib/dpkg/status \
  | awk '/^Package:/ {printf "%s:", $2} /^Architecture:/ {print $2}'

I was not able to find a command that shows this information.

  # apt-cache policy tendra | sed -n 1p

  # apt-cache policy clang | sed -n 1p

  # apt-get remove tendra
  The following packages will be REMOVED:

  # apt-get remove clang
  Package clang is not installed, so not removed

The above shows that it seems to depend on the availability of
foo:native if apt-get remove foo removes foo:foreign.

  # dpkg -l | awk '$2=="clang"{print}'
  ii  clang                           3.0-5                 Low-Level ...

  # dpkg -S bin/clang
  clang: /usr/bin/clang
  clang: /usr/bin/clang++

  # dpkg -r clang
  dpkg: warning: there's no installed package matching clang

  # apt-get remove clang
  Package clang is not installed, so not removed

According to dpkg's command line interface, the file /usr/bin/clang is
in the package clang and dpkg -l shows it as installed, but it can not
be removed using this name, neither by apt nor by dpkg.

  # dpkg -l | grep libzookeeper-st2
  ii  libzookeeper-st2:amd64          3.3.4+dfsg1-3         Single ...
  ii  libzookeeper-st2:i386           3.3.4+dfsg1-3         Single ...

Unlike the above dpkg -l output showing the foreign clang package,
libzookeeper-st2 is shown with the architecture appended.


Reply to: