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]

Reply via email to