Hi! On Mon, 2013-12-09 at 07:03:41 +0100, Andreas Beckmann wrote: > Package: dpkg > Version: 1.17.4 > Severity: serious
> consider the following packages shipping a few files: > > foo 1.0 > /usr/foo/foo.dat > > foobar 2.0 > /usr/foobar/foo.dat > > foo 2.0 (Depends: foobar) > /usr/foo -> foobar > > foo 2.0 uses dpkg-maintscript-helper dir_to_symlink to properly perform > the conversion. > > After the following sequence, /usr/foobar/foo.dat is missing: > > install foo 1.0 > install foobar 2.0 > install foo 2.0 > > I think the following is happen during the installation of foo 2.0: > > * the preinst moves /usr/foo/ aside > * the package gets unpacked, creating /usr/foo -> foobar > * the obsolete files from foo 1.0 that are no longer in foo 2.0 get > deleted, this finds /usr/foo/foo.dat which exists, but is actually > /usr/foobar/foo.dat, but gets deleted anyway. In theory that should be covered by the checks performed and the installation aborted. But I'm creating a test case right now to verify it. > Observed while debugging the piuparts failures of python-babel on > upgrades from jessie to sid. This is with a local package right? Because the one in the archive does not contain any dir_to_symlink code. Thanks, Guillem -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

