docarray Debian package review

2022-10-21 Thread Louis-Philippe Véronneau

Hello,

This is my review of the docarray package you asked the Debian Python 
Team to sponsor in the Debian archive.


1. In d/control, you've specified version restrictions for 
build-dependencies, I guess based on setup.py. Most of those are not 
needed, as those versions aren't even in Debian anymore.


For example, you specified python3-setuptools (>= 18.0). The current 
version in Sid is 65.5.0 and even Stretch has 33.1.1.


Version restrictions can be useful for backporting packages, but it's 
always a good idea to check if they actually make sense.


2. As explained in d/rules, you are not currently running any testsuite, 
since it requires packages not currently in the archive.


It is my personal policy not to sponsor packages that do not run 
upstream tests. Tests are very important, otherwise, how do you know if 
your package hasn't been broken by some change in the archive?


Some other people might not be as rigid as I am on this, but I thought 
you should know.


3. To me, d/source/local-options, d/source/options and 
d/source/patch-header look like superfluous files you could remove.


4. docarray/resources/embedding-projector/index.html.gz seems to be an 
embedded copy of https://projector.tensorflow.org/. This is not 
something that can be done in Debian.


Sadly, it looks like this file is needed to run docarray? I haven't dug 
very deep, but that raises a lot of questions with regards to the 
possibility of actually packaging this in Debian.


I might be wrong, as I'm not familiar with docarray, but I would be 
interested in your reflections on this.


5. d/copyright is incomplete.

A lot of files in docarray/docs/datatypes are not documented in 
d/copyright properly. I see some non-free images 
(docs/datatypes/image/complicated-image.jpeg) and some free ones, 
(docs/datatypes/video/chunk-1.png), but this again raises a red flag for me.


I'd recommend running decopy as a tool to inspect copyright in files. 
It's not perfect, but it helps.


-

That's it for now! I have not tried building this package, as there were 
too many large flaws I think you should try to address first.


Thanks for your contribution to Debian.

--
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁  Louis-Philippe Véronneau
  ⢿⡄⠘⠷⠚⠋   po...@debian.org / veronneau.org
  ⠈⠳⣄


OpenPGP_0xE1E5457C8BAD4113.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Review of Debian package pystray

2022-10-21 Thread Louis-Philippe Véronneau

Hello,

This is my review of the pystray package you asked the Debian Python 
Team to sponsor in the Debian archive.


1. I doubt d/README.source is needed, as this is a team-maintained 
package and most of that info is in the Policy :)


2. in d/rules, you are using "override_dh_sphinxdoc" and then calling 
dh_sphinxdoc.


You should instead use "execute_before_dh_sphinxdoc".

3. You are not running any upstream tests, neither at build not as 
autopkgtests.


Tests are very important. How do you know your package isn't broken, or 
has not been broken by a change in the archive? Only tests can tell you 
that.


I see you've noted that some tests require user confirmations and it 
indeed seems to be the case for most of the ones in icon_tests.py.


* is there a way to bypass this or are those tests simply not relevant 
in a automated environment?


* what about menu_descriptor_tests.py? I gave it a very cursory look, 
but it doesn't seem to use the confirm() function. Trying to run it 
gives me an  "Xlib.error.DisplayNameError: Bad display name" error 
though, so chances are you'd need to run tests with xvfb to mock an X 
session.


Note that it is my personal policy not to sponsor packages that do not 
run upstream tests. I make some exceptions for unusual cases (this might 
be one?), but rarely.


Some other people might not be as rigid as I am on this, but I thought 
you should know.


---

That's it! I've removed your package from the sponsor queue for now, but 
feel free to re-add it when you feel like you've dealt with my review.


Apart from the test problem, this is a pretty good package!

Thanks for you contribution to Debian.

--
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁  Louis-Philippe Véronneau
  ⢿⡄⠘⠷⠚⠋   po...@debian.org / veronneau.org
  ⠈⠳⣄


OpenPGP_0xE1E5457C8BAD4113.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Review of Debian package lazy-loader

2022-10-21 Thread Louis-Philippe Véronneau

Hello,

This is my review of the lazy-loader package you asked the Debian Python 
Team to sponsor in the Debian archive.


1. In d/control, I'm not sure to understand why the binary package is 
marked as "Multi-Arch: foreign", as this package isn't arch dependent?


2. In d/control, your list of build-dependencies for the source package 
should be reviewed.


* Why do you need 'python3-setuptools' when this package uses flit?
* Why the dependency on 'python3-toml'?
* You should build-depend on 'pybuild-plugin-pyproject', as this is a 
PEP517 compatible package. The 'old' flit plugin for pybuild is being 
deprecated in favor of this one.
* since 'python3-pytest' is only used for tests, it should be marked as 
so using 


3. In d/control, although Stefan van der Walt is the author, the 
copyright should only be "Scientific Python project", as that's the only 
licensing information in this package.


4. There are many commented lines in d/rules that should just be 
removed. Note that you do not need 'export DH_VERBOSE = 1' nor 'export 
PYBUILD_SYSTEM=flit' (since you'll now build with 
'pybuild-plugin-pyproject')


5. The autopkgtests you are running in d/tests are redundant. autodep8 
already does this for python.


You should instead run the upstream test suite as autopkgtests: they are 
much more meaningful.


Have a look at this example:

https://salsa.debian.org/python-team/packages/metalfinder/-/tree/debian/master/debian/tests

6. In d/changelog, you marked your entry as "unstable", whereas it 
should be UNRELEASED. Please re-read the DPT's policy with regards to this.


7. Although I have not listed them here, pretty much all of the lintian 
tags raised are relevant errors that you should fix.


--

You're 90% there!

I've removed your package from the sponsor queue for now, but feel free 
to re-add it when you feel like you've dealt with my review. I'll be 
happy to sponsor it then.


Thanks for your contribution to Debian.

--
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁  Louis-Philippe Véronneau
  ⢿⡄⠘⠷⠚⠋   po...@debian.org / veronneau.org
  ⠈⠳⣄