Re: Bug#622322: popularity-contest: popcon tries to access dpkg internal files and fails with multiarch: same packageso
On Tue, Apr 12, 2011 at 12:46:59PM +0200, Raphael Hertzog wrote:
> Hi Bill,
>
> On Tue, 12 Apr 2011, Bill Allombert wrote:
> > > I get errors from cron because of popcon:
> > > /etc/cron.daily/popularity-contest:
> > > popcon: file /var/lib/dpkg/info/liblouis2.list is missing
> > >
> > > That file doesn't exist, it's really /var/lib/dpkg/info/liblouis2:i386.list
> > > due to the multiarch-enabled dpkg that I'm running.
> > >
> > > You should not access those files, the proper interface is dpkg-query -L <pkg>.
> >
> > Hello Raphaël,
> >
> > This is not possible: forking dpkg for all installed packages would be way to slow and
> > resource intensive. We need a better option.
>
> There's no better alternative. You can use dpkg-query --control-path to
> get the path of other non-internal control files there:
> $ dpkg-query --control-path liblouis2
> /var/lib/dpkg/info/liblouis2:i386.md5sums
> /var/lib/dpkg/info/liblouis2:i386.postrm
> /var/lib/dpkg/info/liblouis2:i386.shlibs
> /var/lib/dpkg/info/liblouis2:i386.postinst
>
> We deliberately skip .list as we don't guarantee that we're always going
> to use .list and there's no guaranty that the format of the file won't be
> extended to store more information. You should not read those files
> directly.
Hello Raphael,
I have a hard time identifying what you mean by 'we' and 'you' in the above sentences.
I do not read these file. This is what the script popularity-contest do and have
done since well before I was the maintainer of popcon or you the maintainer of dpkg.
There is a single project, Debian, and Debian developers need to figure out a
way to get popularity-contest and dpkg to work together nicely, and set up a transition
period to allow partial upgrades.
Cheers,
--
Bill. <ballombe@debian.org>
Imagine a large red swirl here.
Reply to: