Hi,

Thanks for your response and patience.

I now realize my test environment installed both debian-refeence-common/2.100
and debian-refeence-de/2.100 before upgrade while your test environment
installed only debian-refeence-common/2.100.  I see that is the situation
causing problem.

I thought I followed your code but I was wrong.

The current d/maintscript-in doesn't isn't run when it is new install as you
pointed out.

> However, there is version checking code.
> 
>     dpkg --compare-versions -- "$2" le-nl "$LASTVERSION"
> 
> That "$2" is the version of the old debian-reference-de. If there is one
> installed, the dpkg-maintscript-helper will move the symlink and there
> is docs.dpkg-backup. When debian-reference-de is not installed, the
> version is empty and the "-nl" suffix renders the comparison false
> skipping the action.


I suppose I need to come up with custom preinst script which always rename even
when previous version is not installed.
> 
> If you change --include=debian-reference-common to
> --include=debian-reference-de, you shall observe that at that point the
> "le-nl" comparison becomes successful and therefore, the symlink is
> converted during debian-reference-de.preinst and thus the problem is no
> longer observable.

Yes.

> There are other corner cases that should be broken if you initially
> start with bookworm's debian-reference-de installed. Consider:
>  * unpack sid debian-reference-de (renames the docs link)
>  * purge debian-reference-de (deletes the docs.dpkg-backup link)
>  * dpkg --verify now complains about the docs link owned by
>    debian-reference-common going missing

I understand "dpkg --verify now complains..." is ugly.  But doesn't the
following sid's debian-reference-common installation induced by dependency fixes
situation.

I need to look into this tomorrow sometime.   Good night.

Osamu

Reply via email to