On Sat, May 13, 2023 at 11:14:38AM +0200, Helmut Grohne wrote:
> I noticed a suprising undeclared file conflict. While Andreas' tooling
> finds most of these, it missed this one.  It's about
> /usr/lib/python3/dist-packages/notebook/static/components/codemirror. In
> cadabra2, this is a directory. In python3-notebook, this is a symbolic
> link. Since dpkg does not yet track the type of files, it does not
> notice this conflict and the result depends on the unpack order. Worse,
> due to the symbolic link, aliasing (and its bad effects) may happen.
> 
> As such, these packages should coordinate what to do about the file.
> Failing that, they must declare Conflicts for one another.
Looks like the file in cadabra2, let's say, provides integration between
it and python3-notebook. So while it may make sense to not have cadabra2
depend on python3-notebook, it doesn't make sense for them to conflict, as
just removing this file is strictly better. The actual solution (as we
can't just keep this as is because of dpkg) should be moving the file to
the real path, which is, if I'm not mistaken,
/usr/share/javascript/codemirror. That directory is provided by
libjs-codemirror but I don't know if it makes sense for cadabra2 to depend
on it or not.

Reply via email to