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

Re: RFS: python-pyjsparser (ITP bug #943785)



On Fri, 1 Nov 2019 at 09:50, Peter Wienemann <fossdev@posteo.de> wrote:
>
> Dear Python team,
>
> I prepared packaging for python-pyjsparser (ITP bug #943785) on
>
> https://salsa.debian.org/python-team/modules/python-pyjsparser
>
> It provides a fast JavaScript parser written in Python.
>
> It would be great if a DD could review the code, provide feedback and
> (if everything looks OK) upload it.

Peter,

Thank you for your work in packaging python-pyjsparser. Out of
curiosity, what are you using to be build your package?

I checked out the package and built it - your work looks good, and the
build was successful. I then ran it through lintian, Debian's package
linting tool which you should get into the habit of using before
uploading to salsa (and once you're a DM/DD, also before uploading to
the archive).

Here is the lintian output for the binary changes file:

N: Unpacking packages in group python-pyjsparser/2.7.1-1
N: ----
N: Processing changes file python-pyjsparser (version 2.7.1-1, arch
source all) ...
N: ----
N: Processing source package python-pyjsparser (version 2.7.1-1, arch
source) ...
P: python-pyjsparser source: rules-requires-root-missing
I: python-pyjsparser source: debian-watch-contains-dh_make-template (line 11)
X: python-pyjsparser source: debian-watch-does-not-check-gpg-signature
I: python-pyjsparser source: testsuite-autopkgtest-missing
X: python-pyjsparser source: upstream-metadata-file-is-missing
N: ----
N: Processing buildinfo package python-pyjsparser (version 2.7.1-1,
arch all source) ...
N: ----
N: Processing binary package python3-pyjsparser (version 2.7.1-1, arch all) ...
I: python3-pyjsparser: extended-description-is-probably-too-short
N: Finished processing group python-pyjsparser/2.7.1-1

The output is split into 2 sections for the source and binary
package(s). As you can see, there are a few issues to take care of,
which I expand on below (you can ignore the gpg-signature warning
unless the packages on pypi are signed).

* d/control
  - no Rules-Requires-Root field [lintian]
  - the extended package description should probably include details
about the library's key features/support [lintian]

* d/copyright
  - the only copyright dates I can see in the source are 2014-2015
  - you can add the Upstream-Contact field to the header

* d/rules
  - pybuild can provide verbose output with "export PYBUILD_VERBOSE=1"

* d/upstream/metadata
  - please add and complete this file - there are plenty of examples
in the team's salsa project [lintian]

* d/watch
  - +1 for asking upstream to version their releases on github
  - the additional (commented) scaffolding inserted into the file by
dh-make can be removed to leave only the version line and the URL to
check [lintian]
  - as this is a version 4 watch file, we can take advantage of new
variable substitutions for the version and extension fields, so that
the URL to check would look like:

    https://pypi.debian.net/pyjsparser/pyjsparser@ANY_VERSION@@ARCHIVE_EXT@

* upstream changelog
  - there is no upstream changelog

* documentation/examples
  - There is no documentation at all, aside from the simple example in
the README. Perhaps this snippet could be installed as an example when
installing the package?

* tests
  - there are no tests to run at build time (and therefore no
autopkgtests to run for continuous integration whenever the package's
dependencies are updated). Looking at the github repo there seems to
be a significant testsuite that should really be available in the
Debian source package to take advantage of autopkgtest. [lintian]


I hope you find this useful - if you have any questions don't hesitate
to ask the team (the Python list is visible and archived, IRC may get
a quicker answer...). I'm a new DD and there are likely some things
that the more experienced members of the team will notice.

Thanks,
Nick


Reply to: