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
signature.asc
Description: PGP signature