Package: dpkg Version: 1.10.27
The attached package (and source) help demonstrate this issue. Just install the package, and then mount a tmpfs in /tmp called 't'. Then, place this package in that tmpfs and try to install it again. As far as I know this doesn't affect any 'real' packages.
I was unable to reproduce the problem if the umount happened in the preinst, only in the postrm of the package being upgraded.
Ie:
cp testcase_0.1-1_i386.deb /tmp cd /tmp dpkg -i testcase_0.1-1_i386.deb mkdir t mount -t tmpfs none t cp testcase_0.1-1_i386.deb t dpkg -i t/testcase_0.1-1_i386.deb
Transcript:
runabout:/tmp# cp ~dieman/debian/test-case/testcase*deb .
runabout:/tmp# dpkg -i testcase_0.1-1_i386.deb
(Reading database ... 71012 files and directories currently installed.)
Unpacking testcase (from testcase_0.1-1_i386.deb) ...
Setting up testcase (0.1-1) ...
runabout:/tmp# mount -t tmpfs none t
runabout:/tmp# cp testcase_0.1-1_i386.deb t
runabout:/tmp# dpkg -i t/testcase_0.1-1_i386.deb
(Reading database ... 71016 files and directories currently installed.)
Preparing to replace testcase 0.1-1 (using t/testcase_0.1-1_i386.deb) ...
Unpacking replacement testcase ...
dpkg-deb: failed to read archive `t/testcase_0.1-1_i386.deb': No such file or directory
free(): invalid pointer 0xb7f1e4c4!
dpkg: error processing t/testcase_0.1-1_i386.deb (--install):
subprocess dpkg-deb --fsys-tarfile returned error exit status 2
Errors were encountered while processing:
t/testcase_0.1-1_i386.deb
-- Scott Dier <[EMAIL PROTECTED]> KC0OBS http://www.ringworld.org/
testcase_0.1-1.diff.gz
Description: GNU Zip compressed dataFormat: 1.0 Source: testcase Version: 0.1-1 Binary: testcase Maintainer: Scott Dier <[EMAIL PROTECTED]> Architecture: any Standards-Version: 3.6.1 Build-Depends: debhelper (>= 4.0.0) Files: e4b3b5e7bc254bd8ab50a571b7b8f605 1720 testcase_0.1-1.tar.gz
testcase_0.1-1.tar.gz
Description: GNU Zip compressed data
testcase_0.1-1_i386.deb
Description: application/debian-package