# TL;DR * The python-magic Python library for file type detection will switch to a different implementation soon. * Code that relies on the old implementation should not be harmed, everything else is a bug. * Such code however might need an adjustment some distant day, not before the buster release though. * This is your chance to make this change as smooth as possible. Hello, for many years, there have been two Python bindings for the libmagic file type detection library, both using the name "python-magic", but with different and incompatible APIs. At the moment, Debian ships the implementation bundled with src:file [file], maintained by Christos Zoulas. However, there are several packages where upstream decided to use the [pypi] implementation by Adam Hupp, Debian maintainers included a code copy then. Anyway, this awkward situation will come to an end: Kudos to Adam who implemented a [file] compatibility layer in [pypi]. There is already a python-magic package in experimental that provides both APIs, and the created binary packages are to replace the one created by src:file. Initial checks showed no regressions so far, but before doing the switch by uploading to unstable I'd like to have a broader coverage, therefore this Call for tests of all the packages that depend on python-magic and/or python3-magic, also of other applications that use the [file] implementation. The output of dd-list on the rdeps is attached below. # How to test Install python-magic and/or python3-magic from experimental and re-run your applications. Is there code breakage? Or a file type detection change? Maintainers for packages that use a code copy of [pypi] might give it a try as well, although nothing should go wrong then. # Reporting bugs The usual recommendations about filing bug reports apply. At first, double-check whether your observation really was introduced by the python-magic change, i.e. downgrade to the [file] version and check somewhere else if the problem persists. If it's obviously upstream, you'll do me a favor if you send the reports to the upstream bug tracker[1], mention it's about the "libmagic-compat" feature, and just leave a pointer in Debian's BTS. Else or in case of doubt, report to the BTS and I'll do the triaging and forwarding. # Outlook Two weeks from now the [pypi] implementation of python-magic is to hit unstable, later testing according to the usual migration rules. After that, packages that ship a [pypi] code copy will see a whishlist bug to drop this as it's no longer needed (some three packages, therefore no MBF). For the buster release (somewhen 2019), I'll go to great lengths to make sure python-magic ships the compatibility layer. In other words, there is no need to change implementations based on [file] for the time being. Beyond buster: Depending on upstream development, the [file] API might go away some day. As mentioned above, in Debian this will not happen before the buster release. The [pypi] implementation will emit deprecation warnings beforehand then (code is already there but disabled). Otherwise it's too early for detailed plans. Cheers, Christoph [file] https://www.darwinsys.com/file/ Current version in Debian sid: 1:5.32-1 [pypi] https://github.com/ahupp/python-magic/ Current version in Debian experimenta: 2:0.4.15-1~exp2 [1] https://github.com/ahupp/python-magic/issues Andrea Capriotti <capriott@debian.org> autoradio Arturo Borrero Gonzalez <arturo@debian.org> rpmlint (U) Chris Lamb <lamby@debian.org> diffoscope (U) David Paleino <dapal@debian.org> syslog-summary Debian Astronomy Team <debian-astro-maintainers@lists.alioth.debian.org> ginga Debian LAVA team <pkg-linaro-lava-devel@lists.alioth.debian.org> lava-dispatcher Debian Tryton Maintainers <tryton-debian@lists.alioth.debian.org> relatorio Devscripts Devel Team <devscripts-devel@lists.alioth.debian.org> devscripts Gaetano Guerriero <x.guerriero@tin.it> eyed3 Gianfranco Costamagna <locutusofborg@debian.org> s3cmd (U) Holger Levsen <holger@debian.org> diffoscope (U) Hugo Lefeuvre <hle@debian.org> alot (U) Jordan Justen <jordan.l.justen@intel.com> alot (U) Kouhei Maeda <mkouhei@palmtb.net> swiftsc Mathias Behrle <mathiasb@m9s.biz> relatorio (U) Matt Domsch <matt@domsch.com> s3cmd Mattia Rizzolo <mattia@debian.org> devscripts (U) diffoscope (U) Neil Williams <codehelp@debian.org> lava-dispatcher (U) Ole Streicher <olebole@debian.org> ginga (U) Paul Wise <pabs@debian.org> check-all-the-things Paulo Roberto Alves de Oliveira (aka kretcheu) <kretcheu@gmail.com> rows Python Applications Packaging Team <python-apps-team@lists.alioth.debian.org> alot Reiner Herrmann <reiner@reiner-h.de> diffoscope (U) Reproducible builds folks <reproducible-builds@lists.alioth.debian.org> diffoscope Ritesh Raj Sarraf <rrs@debian.org> apt-offline RPM packaging team <pkg-rpm-devel@lists.alioth.debian.org> rpmlint Senthil Kumaran S (stylesen) <stylesen@gmail.com> lava-dispatcher (U) Simon Chopin <chopin.simon@gmail.com> alot (U) Ximin Luo <infinity0@debian.org> diffoscope (U)
Attachment:
signature.asc
Description: Digital signature