[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#519268: lintian: same problem in mksh, but with a twist



Thorsten Glaser <tg@mirbsd.de> writes:

> E: mksh: diversion-for-unknown-file $2 postinst:16
> E: mksh: package-uses-local-diversion postinst:24
> E: mksh: package-uses-local-diversion prerm:16
> E: mksh: orphaned-diversion $2 postinst
>
> I have the same problem (although I'm not exactly sure about
> the middle two ones, probably have to add the same --package
> which I used in creating it? on the other hand, mksh and dash
> share this, so it's even more difficult), but with a twist:
> it's dynamic.
>
> https://www.mirbsd.org/cvs.cgi/contrib/hosted/tg/deb/mksh/debian/mksh.postinst
> will show you the current "state of the art"; like I said, the
> code itself originated from dash...

The fix for the first and the last will be to just bail in Lintian if
there are variables on the dpkg-divert and not assume we know what people
are doing.  I'll get that into the next release.

The middle two appear to be related to this code:

        false)
                if [ -n "$div" ] && [ -z "${div%%*by mksh}" ]; then
                        mv $distrib $2
                        dpkg-divert --remove $2
                fi

If I remember my weird pattern substitutions correctly, you're already
checking that mksh is the owner of the diversion, so it should be
completely safe to add --package mksh to that dpkg-divert --remove
invocation.  It's actually slightly safer to do so since it avoids a race
condition.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>



Reply to: