Package: mitmproxy
Severity: important
Usertags: source
File: 
/usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/vlq_base128_le.py
File: /usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/exif.py
File: /usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/exif_be.py
File: /usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/exif_le.py
File: /usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/gif.py
File: 
/usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/google_protobuf.py
File: /usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/ico.py
File: /usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/jpeg.py
File: /usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/png.py
File: 
/usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/tls_client_hello.ksy
File: 
/usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/tls_client_hello.py
File: 
/usr/lib/python3/dist-packages/mitmproxy/contrib/kaitaistruct/vlq_base128_le.py

The files above are generated using the Kaitai Struct compiler from the
source .ksy files, which are not available in the source package but
are available in the kaitai_struct_formats upstream git repo, which is
accessed by the mitmproxy ad-hoc build system for the directory.

   mitmproxy-4.0.4 $ find mitmproxy/contrib/kaitaistruct/ -type f -name '*.py' 
-print0 | xargs -0 head -n1
   ==> mitmproxy/contrib/kaitaistruct/tls_client_hello.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/png.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/exif.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/exif_be.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/jpeg.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/gif.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/exif_le.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/ico.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/google_protobuf.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   ==> mitmproxy/contrib/kaitaistruct/vlq_base128_le.py <==
   # This is a generated file! Please edit source .ksy file and use 
kaitai-struct-compiler to rebuild

   mitmproxy-4.0.4 $ find -name '*.ksy'
   ./mitmproxy/contrib/kaitaistruct/tls_client_hello.ksy

   mitmproxy-4.0.4 $ cat mitmproxy/contrib/kaitaistruct/make.sh 
   #!/usr/bin/env bash

   wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/exif_be.ksy
wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/exif_le.ksy
wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/exif.ksy
wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/gif.ksy
wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/jpeg.ksy
wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/png.ksy
wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/image/ico.ksy
wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/common/vlq_base128_le.ksy
wget -N 
https://raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/serialization/google_protobuf.ksy

kaitai-struct-compiler --target python --opaque-types=true *.ksy

Fixing this DFSG§2 violation properly will require the following:

Packaging the Kaitai Struct compiler and format library:

https://github.com/kaitai-io/kaitai_struct_compiler (written in Scala)
https://github.com/kaitai-io/kaitai_struct_formats

Adding a compile stage to kaitai_struct_formats so that it builds
Python code for each of the formats in the library. I assume upstream
might also want to build code or libraries for other languages too.

Removing the mitmproxy/contrib/kaitaistruct/ directory.

Adding a dependency from mitmproxy to the built Python code generated
by the format library build system.

Since this is going to be a fair bit of work to fix and multiple rounds
of NEW queue, I've filed the bug at severity important so that the
package doesn't get removed from testing yet. Closer to the bullseye
release I would like to increase the severity and you can then get it
fixed, let it be removed or obtain bullseye-ignore permission.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to