Bug#817908: iceweasel: leaves cruft in /etc/iceweasel/ on upgrade

Mike Hommey mh at glandium.org
Sat Mar 12 23:43:04 UTC 2016


On Fri, Mar 11, 2016 at 10:25:17PM +0900, Mike Hommey wrote:
> This all makes no sense. First, it worked when I tried before uploading,
> but it doesn't work anymore. Second, these dpkg-query messages make no
> sense, and I don't know where they are coming from. Third, just taking
> one of the files, there *are* commands to remove the conffiles in
> iceweasel's post/pre rm/inst, like the following:
> 
> dpkg-maintscript-helper rm_conffile /etc/iceweasel/pref/iceweasel.js -- "$@"
> 
> Now... looking at dpkg-maintscript-helper, it would seem it is the one
> doing those dpkg-query requests. So maybe dpkg-maintscript-helper is
> just broken? Help, dpkg maintainers?

Some more info from dpkg --debug output:

D000001: ensure_diversions: new, (re)loading
D000001: ensure_statoverrides: new, (re)loading
D000010: ensure_pathname_nonexisting '/var/lib/dpkg/tmp.ci'
dpkg: regarding .../firefox-esr_45.0esr-1_amd64.deb containing firefox-esr:
 firefox-esr breaks iceweasel (<< 45)
  iceweasel (version 44.0.2-1) is present and installed.

dpkg: error processing archive /tmp/firefox-esr_45.0esr-1_amd64.deb (--install):
 installing firefox-esr would break iceweasel, and
 deconfiguration is not permitted (--auto-deconfigure might help)
D000010: ensure_pathname_nonexisting '/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting running rm -rf '/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting '/var/lib/dpkg/reassemble.deb'
D000010: ensure_pathname_nonexisting '/var/lib/dpkg/tmp.ci'
(Reading database ... 13915 files and directories currently installed.)
Preparing to unpack .../iceweasel_45.0esr-1_all.deb ...
D020000: trigproc_activate_packageprocessing pkg=iceweasel:amd64
D000200: oldconffsetflags '/etc/iceweasel/pref/iceweasel.js' namenode '/etc/iceweasel/pref/iceweasel.js' flags 4
D000200: oldconffsetflags '/etc/iceweasel/profile/chrome/userChrome-example.css' namenode '/etc/iceweasel/profile/chrome/userChrome-exa
mple.css' flags 4
D000200: oldconffsetflags '/etc/iceweasel/profile/chrome/userContent-example.css' namenode '/etc/iceweasel/profile/chrome/userContent-e
xample.css' flags 4
D000200: oldconffsetflags '/etc/iceweasel/profile/localstore.rdf' namenode '/etc/iceweasel/profile/localstore.rdf' flags 4
D000200: oldconffsetflags '/etc/iceweasel/profile/mimeTypes.rdf' namenode '/etc/iceweasel/profile/mimeTypes.rdf' flags 4
D000200: oldconffsetflags '/etc/iceweasel/profile/prefs.js' namenode '/etc/iceweasel/profile/prefs.js' flags 4
D000200: oldconffsetflags '/etc/iceweasel/searchplugins/common/debsearch.xml' namenode '/etc/iceweasel/searchplugins/common/debsearch.x
ml' flags 4
D000001: process_archive oldversionstatus=installed
D000002: fork/exec /var/lib/dpkg/info/iceweasel.prerm ( upgrade 45.0esr-1 )
D020000: post_script_tasks - ensure_diversions
D000001: ensure_diversions: same, skipping
D020000: post_script_tasks - trig_incorporate
D000002: fork/exec /var/lib/dpkg/tmp.ci/preinst ( upgrade 44.0.2-1 )
dpkg-query: package 'iceweasel' is not installed
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
dpkg-query: package 'iceweasel' is not installed
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
dpkg-query: package 'iceweasel' is not installed
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
dpkg-query: package 'iceweasel' is not installed
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
dpkg-query: package 'iceweasel' is not installed
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
dpkg-query: package 'iceweasel' is not installed
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
dpkg-query: package 'iceweasel' is not installed
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
D020000: post_script_tasks - ensure_diversions
D000001: ensure_diversions: same, skipping
D020000: post_script_tasks - trig_incorporate
Unpacking iceweasel (45.0esr-1) over (44.0.2-1) ...


So what happens here is that for some reason, dpkg-query, run by
dpkg-maintscript-helper during preinst, thinks the package is not
installed, despite the preinst being invoked for an upgrade. This makes
no sense from the perspective of the preinst, but that could be a side
effect of the versioned Breaks.

Anyways, even if dpkg is fixed for this, I need this to work in stable,
so I'll have to find a workaround. I think I can get away with it by not
having the usual package transition pattern.

Mike



More information about the pkg-mozilla-maintainers mailing list