[Piuparts-devel] Bug#1086513: piuparts: wrong check (ERROR:) on missing files after dpkg-divert --no-rename

Andreas Beckmann anbe at debian.org
Thu Oct 31 21:35:38 GMT 2024


On 10/31/24 17:44, Lorenzo Puliti via Piuparts-devel wrote:
> Package: piuparts
> Version: 1.4.4
> Severity: normal
> X-Debbugs-Cc: plorenzo at disroot.org
> 
> Dear piuparts maintainer,
> 
> I'm going to use dpkg-divert on essential files with one of my
> package (runit-init); since files to be diverted are shipped by an
> essential package, I'm using '--no-rename' option.
> When the package is tested, piuparts ERROR with
> 

>    debsums: missing file /usr/sbin/invoke-rc.d.real (from init-system-helpers package)
>    debsums: missing file /usr/sbin/service.real (from init-system-helpers package)
>    debsums: missing file /usr/share/man/man8/invoke-rc.d.8.gz.real (from init-system-helpers package)
>    debsums: missing file /usr/share/man/man8/service.8.gz.real (from init-system-helpers package)
> 
> after runit-init (the package that adds the diversion) is removed, piuparts detects that,
> for example, /usr/sbin/invoke-rc.d.real should be there (but it's missing) when
> in fact is /usr/sbin/invoke-rc.d that should be there (and it's not missing).

It's not piuparts detecting the error but debsums, piuparts just 
propagates it.

> I believe my package does it the right way, when it's removed it removes the diversion and it
> makes sure that diverted files are restored in their original location.

I don't think so.
The copying bits in the prerm belong to the preinst (when the "other" 
variant is still there), otherwise you copy (and restore) the "runit" 
variant.

Can you reproduce this manually in a minimal chroot with debsums 
installed where you install init-system-helpers, install runit-init, 
remove runit-init?
And frequently check with debsums -ac --ignore-obsolete

Andreas



More information about the Piuparts-devel mailing list