Bug#833656: cme fails with dpkg error

David Kalnischkies david at kalnischkies.de
Sat Aug 13 13:45:36 UTC 2016


On Mon, Aug 08, 2016 at 12:07:37AM +0200, gregor herrmann wrote:
> And there's an interesting hint about changes in apt and a possible
> way for a fix:
> 
>  | problem is:
>  |   * don't hardcode /var/lib/dpkg/status as dir::state::status
>  | in apt 1.3~pre3
>  |
>  | fix is adding:
>  | Dir::State::Status "/var/lib/dpkg/status";
>  | around line 160 in /usr/sbin/update-pepperflashplugin-nonfree

This is a fix – and is needed – as shortly above it it sets Dir ".";
and the mentioned inconsistency fix in apt does what the other settings
in Dir do: They are effected by the setting in Dir.  So pepperflash
setting causes the filepath to be calculated as "./var/lib/dpkg/status"
(mind the gap^Wdot).

I am a bit scared from looking at the pepperflash script and don't fully
understand what it does with apt here, but I suspect it to break
relatively soon for other reasons again (using gpg and expecting it to
create specific files in its homedir is bound to fail) – but that is
a topic for another day…


The problem for cme while caused by the same change in apt, is caused in
a completely different way through. /var/lib/apt/var/lib/dpkg/status
suggests that apts "configuration" wasn't initialized before "system"
is, so that Dir, Dir::State and Dir::State::Status are empty. So Dir has
no default value in this codepath (it should have /), which results in
Dir::State::Status being set to var/lib/dpkg/status and later then this
setting is read it will be noticed that the setting isn't absolute, so
Dir and Dir::State are considered which are by now set and hence result
in a /var/lib/apt to be prefixed…

I am going to fix this in apt so that this problem will be hidden again,
but I would suggest looking into initializing apt in the right order or
you will eventually will run again into issues with config options not
having the option set they are supposed to have, which is why I leave
this bug here – unsure if its a cme or libapt-pkg-perl problem, I am
just not enough of a perler to know…


Best regards

David Kalnischkies
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20160813/43751ccc/attachment.sig>


More information about the pkg-perl-maintainers mailing list