Your message dated Thu, 24 Nov 2011 22:19:49 +0100
with message-id <[email protected]>
and subject line Re: Bug#649892: dpkg Downgrade not calling postinst script.
has caused the Debian Bug report #649892,
regarding dpkg Downgrade not calling postinst script.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
649892: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649892
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dpkg
Version: 1.13.26

I have a situation where the postinst script isn't being called when
downgrading a one of our debian packages.  In the following example
there are 2 versions of the ssmd package (4.0.0 and a 3.0.1), I install
4.0.0 then downgrade to 3.0.1 then install 3.0.1 to prove that the
postinst script is in the 3.0.1 package.

Here is the output of installing 4.0.0-1

root@ts7800:root# dpkg -D77 --install ssmd_4.0.0-1_arm.deb
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
(Reading database ... 16011 files and directories currently installed.)
Preparing to replace ssmd 3.0.1-1 (using ssmd_4.0.0-1_arm.deb) ...
D000001: process_archive oldversionstatus=installed
D000002: maintainer_script_alternative nonexistent prerm
`/var/lib/dpkg/info/ssmd.prerm'
D000002: fork/exec /var/lib/dpkg/tmp.ci/preinst ( upgrade 3.0.1-1 )
Unpacking replacement ssmd ...
D000010: tarobject ti->Name=`.' Mode=755 owner=1000.1000 Type=53(d)
ti->LinkName=`' namenode=`/.' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/..dpkg-new'
D000010: ensure_pathname_nonexisting `/..dpkg-tmp'
D000010: tarobject ti->Name=`./root' Mode=755 owner=1000.1000 Type=53(d)
ti->LinkName=`' namenode=`/root' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root.dpkg-new'
D000010: ensure_pathname_nonexisting `/root.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp' Mode=755 owner=1000.1000
Type=53(d) ti->LinkName=`' namenode=`/root/.snmp' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp/snmp.local.conf' Mode=644
owner=1000.1000 Type=48(-) ti->LinkName=`'
namenode=`/root/.snmp/snmp.local.conf' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp/snmp.local.conf.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp/snmp.local.conf.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp/mibs' Mode=755 owner=1000.1000
Type=53(d) ti->LinkName=`' namenode=`/root/.snmp/mibs' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp/mibs.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp/mibs.dpkg-tmp'
D000010: tarobject
ti->Name=`./root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt' Mode=644
owner=1000.1000 Type=48(-) ti->LinkName=`'
namenode=`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-new'
D000010: ensure_pathname_nonexisting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-tmp'
D000010: tarobject ti->Name=`./home' Mode=755 owner=1000.1000 Type=53(d)
ti->LinkName=`' namenode=`/home' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home.dpkg-new'
D000010: ensure_pathname_nonexisting `/home.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse' Mode=755 owner=1000.1000
Type=53(d) ti->LinkName=`' namenode=`/home/eclipse' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/ssmd' Mode=644
owner=1000.1000 Type=48(-) ti->LinkName=`' namenode=`/home/eclipse/ssmd'
flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/README' Mode=755
owner=1000.1000 Type=53(d) ti->LinkName=`'
namenode=`/home/eclipse/README' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/README.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/README.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/README/README.SSMD' Mode=644
owner=1000.1000 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/README/README.SSMD' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/README/README.SSMD.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/README/README.SSMD.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/.ssmd' Mode=755
owner=1000.1000 Type=53(d) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/.ssmd.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/.ssmd.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/.ssmd/configfiles' Mode=755
owner=1000.1000 Type=53(d) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles.dpkg-tmp'
D000010: tarobject
ti->Name=`./home/eclipse/.ssmd/configfiles/mappings.xml' Mode=644
owner=1000.1000 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles/mappings.xml' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-tmp'
D000010: tarobject
ti->Name=`./home/eclipse/.ssmd/configfiles/delta_dpr2700.xml' Mode=644
owner=1000.1000 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/ssmd-init' Mode=644
owner=1000.1000 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/ssmd-init' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd-init.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd-init.dpkg-tmp'
D000002: maintainer_script_alternative nonexistent postrm
`/var/lib/dpkg/info/ssmd.postrm'
D000001: process_archive updating info directory
D000002: process_archive info installed /var/lib/dpkg/tmp.ci/md5sums as
/var/lib/dpkg/info//ssmd.md5sums
D000002: process_archive info installed /var/lib/dpkg/tmp.ci/postinst as
/var/lib/dpkg/info//ssmd.postinst
D000002: process_archive tmp.ci script/file `.' contains dot
D000002: process_archive tmp.ci script/file `..' contains dot
D000002: process_archive tmp.ci script/file
`/var/lib/dpkg/tmp.ci/preinst' installed as
`/var/lib/dpkg/info/ssmd.preinst'
D000002: process_archive tmp.ci script/file
`/var/lib/dpkg/tmp.ci/postrm' installed as `/var/lib/dpkg/info/ssmd.postrm'
D000002: process_archive tmp.ci script/file
`/var/lib/dpkg/tmp.ci/control' is control
D000002: process_archive tmp.ci script/file `/var/lib/dpkg/tmp.ci/prerm'
installed as `/var/lib/dpkg/info/ssmd.prerm'
D000010: process_archive looking for overwriting
`/root/.snmp/snmp.local.conf'
D000010: process_archive looking for overwriting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt'
D000010: process_archive looking for overwriting `/home/eclipse/ssmd'
D000010: process_archive looking for overwriting
`/home/eclipse/README/README.SSMD'
D000010: process_archive looking for overwriting
`/home/eclipse/.ssmd/configfiles/mappings.xml'
D000010: process_archive looking for overwriting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml'
D000010: process_archive looking for overwriting `/home/eclipse/ssmd-init'
D000010: ensure_pathname_nonexisting `//..dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp/snmp.local.conf.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp/mibs.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/ssmd.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/README.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/README/README.SSMD.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/.ssmd.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/ssmd-init.dpkg-tmp'
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting running rm -rf
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/reassemble.deb'
D000040: checking dependencies of ssmd (-<none>)
D000040: ok 2 msgs>><<
Setting up ssmd (4.0.0-1) ...
D000001: deferred_configure updating conffiles
D000002: fork/exec /var/lib/dpkg/info/ssmd.postinst ( configure 3.0.1-1 )
grepping ssmd
found apps=ssmd_4.0.0-1
replacing ssmd library in /home/eclipse/apps.txt

Notice that the postinst script is called, here is the output of the
downgrade to 3.0.1
root@ts7800:root# dpkg -D77 --install ssmd_3.0.1-1_arm.deb
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
dpkg - warning: downgrading ssmd from 4.0.0-1 to 3.0.1-1.
(Reading database ... 16011 files and directories currently installed.)
Preparing to replace ssmd 4.0.0-1 (using ssmd_3.0.1-1_arm.deb) ...
D000001: process_archive oldversionstatus=installed
D000002: fork/exec /var/lib/dpkg/info/ssmd.prerm ( upgrade 3.0.1-1 )
D000002: maintainer_script_new nonexistent preinst
`/var/lib/dpkg/tmp.ci/preinst'
Unpacking replacement ssmd ...
D000010: tarobject ti->Name=`.' Mode=755 owner=0.0 Type=53(d)
ti->LinkName=`' namenode=`/.' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/..dpkg-new'
D000010: ensure_pathname_nonexisting `/..dpkg-tmp'
D000010: tarobject ti->Name=`./root' Mode=755 owner=0.0 Type=53(d)
ti->LinkName=`' namenode=`/root' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root.dpkg-new'
D000010: ensure_pathname_nonexisting `/root.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp' Mode=755 owner=0.0 Type=53(d)
ti->LinkName=`' namenode=`/root/.snmp' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp/mibs' Mode=755 owner=0.0
Type=53(d) ti->LinkName=`' namenode=`/root/.snmp/mibs' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp/mibs.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp/mibs.dpkg-tmp'
D000010: tarobject
ti->Name=`./root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-new'
D000010: ensure_pathname_nonexisting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp/snmp.local.conf' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/root/.snmp/snmp.local.conf' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp/snmp.local.conf.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp/snmp.local.conf.dpkg-tmp'
D000010: tarobject ti->Name=`./home' Mode=755 owner=0.0 Type=53(d)
ti->LinkName=`' namenode=`/home' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home.dpkg-new'
D000010: ensure_pathname_nonexisting `/home.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse' Mode=755 owner=0.0
Type=53(d) ti->LinkName=`' namenode=`/home/eclipse' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/README' Mode=755 owner=0.0
Type=53(d) ti->LinkName=`' namenode=`/home/eclipse/README' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/README.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/README.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/README/README.SSMD' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/README/README.SSMD' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/README/README.SSMD.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/README/README.SSMD.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/.ssmd' Mode=755 owner=0.0
Type=53(d) ti->LinkName=`' namenode=`/home/eclipse/.ssmd' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/.ssmd.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/.ssmd.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/.ssmd/configfiles' Mode=755
owner=0.0 Type=53(d) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles.dpkg-tmp'
D000010: tarobject
ti->Name=`./home/eclipse/.ssmd/configfiles/mappings.xml' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles/mappings.xml' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-tmp'
D000010: tarobject
ti->Name=`./home/eclipse/.ssmd/configfiles/delta_dpr2700.xml' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/ssmd-init' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`' namenode=`/home/eclipse/ssmd-init'
flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd-init.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd-init.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/ssmd' Mode=644 owner=0.0
Type=48(-) ti->LinkName=`' namenode=`/home/eclipse/ssmd' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd.dpkg-tmp'
D000002: fork/exec /var/lib/dpkg/info/ssmd.postrm ( upgrade 3.0.1-1 )
D000001: process_archive updating info directory
D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.prerm
D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.postrm
D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.preinst
D000002: process_archive info installed /var/lib/dpkg/tmp.ci/postinst as
/var/lib/dpkg/info//ssmd.postinst
D000002: process_archive info installed /var/lib/dpkg/tmp.ci/md5sums as
/var/lib/dpkg/info//ssmd.md5sums
D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.md5sums
D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.postinst
D000002: process_archive tmp.ci script/file `.' contains dot
D000002: process_archive tmp.ci script/file `..' contains dot
D000002: process_archive tmp.ci script/file
`/var/lib/dpkg/tmp.ci/control' is control
D000010: process_archive looking for overwriting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt'
D000010: process_archive looking for overwriting
`/root/.snmp/snmp.local.conf'
D000010: process_archive looking for overwriting
`/home/eclipse/README/README.SSMD'
D000010: process_archive looking for overwriting
`/home/eclipse/.ssmd/configfiles/mappings.xml'
D000010: process_archive looking for overwriting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml'
D000010: process_archive looking for overwriting `/home/eclipse/ssmd-init'
D000010: process_archive looking for overwriting `/home/eclipse/ssmd'
D000010: ensure_pathname_nonexisting `//..dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp/mibs.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp/snmp.local.conf.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/README.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/README/README.SSMD.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/.ssmd.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/ssmd-init.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/ssmd.dpkg-tmp'
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting running rm -rf
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/reassemble.deb'
D000040: checking dependencies of ssmd (-<none>)
D000040: ok 2 msgs>><<
Setting up ssmd (3.0.1-1) ...
D000001: deferred_configure updating conffiles
D000002: maintainer_script_installed nonexistent postinst

If I call the same command again to install 3.0.1 over 3.0.1 postinst
finally gets called so I know it's in the debian package.
root@ts7800:root# dpkg -D77 --install ssmd_3.0.1-1_arm.deb
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
(Reading database ... 16011 files and directories currently installed.)
Preparing to replace ssmd 3.0.1-1 (using ssmd_3.0.1-1_arm.deb) ...
D000001: process_archive oldversionstatus=installed
D000002: maintainer_script_alternative nonexistent prerm
`/var/lib/dpkg/info/ssmd.prerm'
D000002: maintainer_script_new nonexistent preinst
`/var/lib/dpkg/tmp.ci/preinst'
Unpacking replacement ssmd ...
D000010: tarobject ti->Name=`.' Mode=755 owner=0.0 Type=53(d)
ti->LinkName=`' namenode=`/.' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/..dpkg-new'
D000010: ensure_pathname_nonexisting `/..dpkg-tmp'
D000010: tarobject ti->Name=`./root' Mode=755 owner=0.0 Type=53(d)
ti->LinkName=`' namenode=`/root' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root.dpkg-new'
D000010: ensure_pathname_nonexisting `/root.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp' Mode=755 owner=0.0 Type=53(d)
ti->LinkName=`' namenode=`/root/.snmp' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp/mibs' Mode=755 owner=0.0
Type=53(d) ti->LinkName=`' namenode=`/root/.snmp/mibs' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp/mibs.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp/mibs.dpkg-tmp'
D000010: tarobject
ti->Name=`./root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-new'
D000010: ensure_pathname_nonexisting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-tmp'
D000010: tarobject ti->Name=`./root/.snmp/snmp.local.conf' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/root/.snmp/snmp.local.conf' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/root/.snmp/snmp.local.conf.dpkg-new'
D000010: ensure_pathname_nonexisting `/root/.snmp/snmp.local.conf.dpkg-tmp'
D000010: tarobject ti->Name=`./home' Mode=755 owner=0.0 Type=53(d)
ti->LinkName=`' namenode=`/home' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home.dpkg-new'
D000010: ensure_pathname_nonexisting `/home.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse' Mode=755 owner=0.0
Type=53(d) ti->LinkName=`' namenode=`/home/eclipse' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/README' Mode=755 owner=0.0
Type=53(d) ti->LinkName=`' namenode=`/home/eclipse/README' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/README.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/README.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/README/README.SSMD' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/README/README.SSMD' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/README/README.SSMD.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/README/README.SSMD.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/.ssmd' Mode=755 owner=0.0
Type=53(d) ti->LinkName=`' namenode=`/home/eclipse/.ssmd' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/.ssmd.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/.ssmd.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/.ssmd/configfiles' Mode=755
owner=0.0 Type=53(d) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles.dpkg-tmp'
D000010: tarobject
ti->Name=`./home/eclipse/.ssmd/configfiles/mappings.xml' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles/mappings.xml' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-tmp'
D000010: tarobject
ti->Name=`./home/eclipse/.ssmd/configfiles/delta_dpr2700.xml' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`'
namenode=`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-new'
D000010: ensure_pathname_nonexisting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/ssmd-init' Mode=644
owner=0.0 Type=48(-) ti->LinkName=`' namenode=`/home/eclipse/ssmd-init'
flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd-init.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd-init.dpkg-tmp'
D000010: tarobject ti->Name=`./home/eclipse/ssmd' Mode=644 owner=0.0
Type=48(-) ti->LinkName=`' namenode=`/home/eclipse/ssmd' flags=2
instead=`<none>'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd.dpkg-new'
D000010: ensure_pathname_nonexisting `/home/eclipse/ssmd.dpkg-tmp'
D000002: maintainer_script_alternative nonexistent postrm
`/var/lib/dpkg/info/ssmd.postrm'
D000001: process_archive updating info directory
D000002: process_archive tmp.ci script/file `.' contains dot
D000002: process_archive tmp.ci script/file `..' contains dot
D000002: process_archive tmp.ci script/file
`/var/lib/dpkg/tmp.ci/control' is control
D000002: process_archive tmp.ci script/file
`/var/lib/dpkg/tmp.ci/postinst' installed as
`/var/lib/dpkg/info/ssmd.postinst'
D000002: process_archive tmp.ci script/file
`/var/lib/dpkg/tmp.ci/md5sums' installed as
`/var/lib/dpkg/info/ssmd.md5sums'
D000010: process_archive looking for overwriting
`/root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt'
D000010: process_archive looking for overwriting
`/root/.snmp/snmp.local.conf'
D000010: process_archive looking for overwriting
`/home/eclipse/README/README.SSMD'
D000010: process_archive looking for overwriting
`/home/eclipse/.ssmd/configfiles/mappings.xml'
D000010: process_archive looking for overwriting
`/home/eclipse/.ssmd/configfiles/delta_dpr2700.xml'
D000010: process_archive looking for overwriting `/home/eclipse/ssmd-init'
D000010: process_archive looking for overwriting `/home/eclipse/ssmd'
D000010: ensure_pathname_nonexisting `//..dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp/mibs.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//root/.snmp/mibs/NWEB_h912_nSTD_v01.0_3-MIB.txt.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//root/.snmp/snmp.local.conf.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/README.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/README/README.SSMD.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/.ssmd.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles/mappings.xml.dpkg-tmp'
D000010: ensure_pathname_nonexisting
`//home/eclipse/.ssmd/configfiles/delta_dpr2700.xml.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/ssmd-init.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//home/eclipse/ssmd.dpkg-tmp'
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting running rm -rf
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/reassemble.deb'
D000040: checking dependencies of ssmd (-<none>)
D000040: ok 2 msgs>><<
Setting up ssmd (3.0.1-1) ...
D000001: deferred_configure updating conffiles
D000002: fork/exec /var/lib/dpkg/info/ssmd.postinst ( configure 3.0.1-1 )

I know downgrading isn't usually performed but we rely on it to perform
firmware reverts in our product.

Another observation I have is that downgrading from our 4.0.1 to 4.0.0
doesn't fail so it's not a downgrade problem.  The only difference I can
see is that the 4.0.x packages have the same set of maintainer scripts:
preinst
postrm
prerm
postinst

whereas 3.0.1 only has postinst.

I can see if I can send you the ssmd debian files if this helps.

We are running Debian on an embedded ARM board that runs the ETCH
distribution
uname -a gives
Linux ts7800 2.6.21-ts #1 PREEMPT Fri Oct 10 10:20:42 MST 2008 armv5tejl
GNU/Linux

Any help appreciated,

Martin
PowerOasis








--- End Message ---
--- Begin Message ---
Hi!

On Thu, 2011-11-24 at 16:14:29 +0000, Martin Townsend wrote:
> Package: dpkg
> Version: 1.13.26

> I have a situation where the postinst script isn't being called when
> downgrading a one of our debian packages.  In the following example
> there are 2 versions of the ssmd package (4.0.0 and a 3.0.1), I install
> 4.0.0 then downgrade to 3.0.1 then install 3.0.1 to prove that the
> postinst script is in the 3.0.1 package.
> 
> downgrade to 3.0.1
> root@ts7800:root# dpkg -D77 --install ssmd_3.0.1-1_arm.deb
[...]
> D000002: fork/exec /var/lib/dpkg/info/ssmd.postrm ( upgrade 3.0.1-1 )
> D000001: process_archive updating info directory
> D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.prerm
> D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.postrm
> D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.preinst
> D000002: process_archive info installed /var/lib/dpkg/tmp.ci/postinst as
> /var/lib/dpkg/info//ssmd.postinst
> D000002: process_archive info installed /var/lib/dpkg/tmp.ci/md5sums as
> /var/lib/dpkg/info//ssmd.md5sums
> D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.md5sums
> D000002: process_archive info unlinked /var/lib/dpkg/info//ssmd.postinst

This is the culprit, the files are being installed and then unlinked,
but this can only happen if readdir() returns postinst and md5sums twice
in the loop, which was fixed for the 1.14.x and 1.15.x series (#575891),
but not for 1.13.x, I'd recommend either cherry picking
fd2021ab7cf2ca85fd97c74023fbcb3484ae4601 into your dpkg version, or
switching to at least dpkg 1.14.31.

> D000002: process_archive tmp.ci script/file `.' contains dot
> D000002: process_archive tmp.ci script/file `..' contains dot
> D000002: process_archive tmp.ci script/file
> `/var/lib/dpkg/tmp.ci/control' is control
[...]
> Setting up ssmd (3.0.1-1) ...
> D000001: deferred_configure updating conffiles
> D000002: maintainer_script_installed nonexistent postinst

> We are running Debian on an embedded ARM board that runs the ETCH
> distribution
> uname -a gives
> Linux ts7800 2.6.21-ts #1 PREEMPT Fri Oct 10 10:20:42 MST 2008 armv5tejl
> GNU/Linux

I'm assuming you are using something other than ext3 as file system?

Closing this now, but please reopen in case dpkg 1.14.31 would not fix
your problem.

regards,
guillem


--- End Message ---

Reply via email to