$ ls /var/lib/dpkg/info/bison*.list
/var/lib/dpkg/info/bison.list
The properties screen for bison:amd64 (which is *not* installed) will display the installed files belonging to bison:i386.
Quick fix: determine whether the package is installed before looking for the files:
const char *RPackage::installedFiles()
{
static string filelist;
static string notInstalled = _("The list of installed files is only available for installed packages");
vector<string> sV;
string s;
if (!(getFlags() & FInstalled))
return notInstalled.c_str();
…
[*] The sensible thing to do is not guess where dpkg stores the file list and instead call “dpkg -L PKGNAME”. There are various issues with that (in fact, even the released code has issues such as being ignorant of DPkg::Run-Directory), none of which will be addressed until after Wheezy.
> I did not make my research,, just simply checked that it
> works for me for both multiarch and simple packages
Indeed my initial look at the logic was not deep enough either! Consider:
$ apt-cache show bison:i386 bison:amd64 | grep …
Package: bison
Status: install ok installed
Architecture: i386
Multi-Arch: foreign
Package: bison
Architecture: amd64
Multi-Arch: foreign
$ ls /var/lib/ dpkg/info/ bison*. list dpkg/info/ bison.list
/var/lib/
The properties screen for bison:amd64 (which is *not* installed) will display the installed files belonging to bison:i386.
Quick fix: determine whether the package is installed before looking for the files:
const char *RPackage: :installedFiles ()
{
static string filelist;
static string notInstalled = _("The list of installed files is only available for installed packages");
vector<string> sV;
string s;
if (!(getFlags() & FInstalled)) c_str() ;
return notInstalled.
…
[*] The sensible thing to do is not guess where dpkg stores the file list and instead call “dpkg -L PKGNAME”. There are various issues with that (in fact, even the released code has issues such as being ignorant of DPkg::Run- Directory) , none of which will be addressed until after Wheezy.