Le 15/03/2021 à 13:49, Yadd a écrit :
> Le 15/03/2021 à 13:30, Andreas Beckmann a écrit :
>> Package: chai
>> Version: 4.2.0+ds+~4.2.14-3
>> Severity: serious
>> User: debian...@lists.debian.org
>> Usertags: piuparts
>>
>> Hi,
>>
>> an upgrade test with piuparts revealed that your package installs files
>> over existing symlinks and possibly overwrites files owned by other
>> packages. This usually means an old version of the package shipped a
>> symlink but that was later replaced by a real (and non-empty)
>> directory. This kind of overwriting another package's files cannot be
>> detected by dpkg.
>>
>> This was observed on the following upgrade paths:
>>
>>   buster -> bullseye
>>
>> For /usr/share/doc/PACKAGE this may not be problematic as long as both
>> packages are installed, ship byte-for-byte identical files and are
>> upgraded in lockstep. But once one of the involved packages gets
>> removed, the other one will lose its documentation files, too,
>> including the copyright file, which is a violation of Policy 12.5:
>> https://www.debian.org/doc/debian-policy/ch-docs.html#copyright-information
>>
>> For other overwritten locations anything interesting may happen.
>>
>> Note that dpkg intentionally does not replace directories with symlinks
>> and vice versa, you need the maintainer scripts to do this.
>> See in particular the end of point 4 in
>> https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#details-of-unpack-phase-of-installation-or-upgrade
>>
>> It is recommended to use the dpkg-maintscript-helper commands
>> 'dir_to_symlink' and 'symlink_to_dir' (available since dpkg 1.17.14)
>> to perform the conversion, ideally using d/$PACKAGE.maintscript.
>> See dpkg-maintscript-helper(1) and dh_installdeb(1) for details.
>>
>>
>> From the attached log (scroll to the bottom...):
>>
>> 0m40.7s ERROR: FAIL: silently overwrites files via directory symlinks:
>>   /usr/share/doc/chai/History.md.gz (chai) != 
>> /usr/share/doc/libjs-chai/History.md.gz (libjs-chai)
>>     /usr/share/doc/chai -> libjs-chai
>>   /usr/share/doc/chai/changelog.Debian.gz (chai) != 
>> /usr/share/doc/libjs-chai/changelog.Debian.gz (libjs-chai)
>>     /usr/share/doc/chai -> libjs-chai
>>   /usr/share/doc/chai/changelog.gz (chai) != 
>> /usr/share/doc/libjs-chai/changelog.gz (libjs-chai)
>>     /usr/share/doc/chai -> libjs-chai
>>   /usr/share/doc/chai/copyright (chai) != 
>> /usr/share/doc/libjs-chai/copyright (libjs-chai)
>>     /usr/share/doc/chai -> libjs-chai
> 
> Hi,
> 
> there is already a maintscript for this:
> 
>   $ cat debian/chai.maintscript
>   dir_to_symlink /usr/share/doc/chai libjs-chai 4.2.0+ds-2~
> 
> What is wrong here ?

Found: s/dir_to_symlink/symlink_to_dir/ :-(

Reply via email to