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

Re: dh_python3 sets shebang to Python 2 -- is this a bug?



Hi Andreas!

On 20.01.20 17:40, Andreas Henriksson wrote:
> On Mon, Jan 20, 2020 at 08:51:56AM +0100, Christian Kastner wrote:
> I've personally seen some upstream use 'python' in shebang with the
> intention of meaning 'works with either python2 or python3', but in
> debian it seems people have always assumed unversioned
> (/usr/bin/)python always means python *2*.
> I guess the tools are written in the latter sense here, rewriting the
> shebang from python -> python2 explicitly unless you override it....

That's the plausible explanation... it just felt odd to see this is an
pure Python 3 package.

> You should note that if you know the code is actually python-version
> agnostic you should be able to fix this by setting the shebang
> explicitly by using:
> https://sources.debian.org/src/dh-python/4.20191017/dh_python3/#L122
> 
> eg. in debian/rules use: export DH_OPTIONS=--shebang=/usr/bin/python3 

That worked, thanks!

>> Furthermore, the package does not list any Python 2 build dependencies,
>> and all binary package dependencies are generated by the
>> ${python3:Depends} substvar. Could this perhaps be worth an "if the
>> package does not have Python 2 dependencies, a Python 2 shebang is a
>> bug" lintian check?
> 
> Having some safety-net in place here would likely be a good idea because
> I understand how this could easily be missed otherwise.

Let's see if anyone else has something contradictory to add... else,
I'll file the wishlist bug.

Christian


Reply to: