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

Bug#1010494: Re: Bug#1010494: RFS: usbrelay/1.0-1 -- USB HID relay driver



Control: tags -1 moreinfo
Control: owner -1 !

Hi Michael,

(@Jan: would be nice if you could chimein in regards to this RFS)

On Tue, May 03, 2022 at 12:28:39PM +0200, Michal Sojka wrote:
> Hi Tino,
> 
> thanks for the feedback.
> 
> > the package triggers several lintian warnings. I guess most of them were
> > already present in old version. But at least the
> > package-contains-no-arch-dependent-files warning for the new usbrelayd
> > package can be trivially fixed by setting its arch to "all" instead of
> > "any".
> 
> I've removed the package-contains-no-arch-dependent-files warning and
> reuploaded (https://mentors.debian.net/package/usbrelay/). I'm a bit
> confused that when I run lintian locally, I get less warnings that what
> is shown in mentors.debian.net. Are there some switches that I need to
> run lintian with to see all relevant warnings?
> 
> I'm also not sure about NMU warnings. Shall I mention NMU in the
> changelog or it will be done by the one who will really upload the
> package?

no, the sponsor usually does not modfify the package.
Regarding the NMU, see below, as our mails crossed...

 
> Best regards,
> -Michal
Hi Michael, 

On Mon, May 02, 2022 at 09:44:59PM +0200, Michal Sojka wrote:
> Package: sponsorship-requests
> Severity: normal
> 
> Dear mentors,
> 
> I am looking for a sponsor for package "usbrelay":
> 
>  * Package name    : usbrelay
>    Version         : 1.0-1
>    Upstream Author : Darryl Bond <darryl.bond@gmail.com>
>  * URL             : https://github.com/darrylb123/usbrelay
>  * License         : GPL-2+, CC-BY-SA-4.0
>  * Vcs             : https://salsa.debian.org/wentasah/usbrelay
>    Section         : electronics
> 
> 
> The package is officially maintained by DD Jan Dittberner, but he seems
> to be no longer active, at least with this package. I contribute to the
> development of the upstream package and from time to time, users report
> problems that are caused by too old version of the package in the Debian
> archive. Having more recent version in Debian would be beneficial.

unfortunatly those bugs were not reported in the Debian bug tracker...

Some thoughts about procedures:
Jan is generally active (uploaded a package last month), but is in the
LowNMU list [1] and the package is in the salsa Debian group [2].
Using the "LowNMU" procedure means that your package needs to be a NMU [3],
but an NMU requires that the upload fixes bugs reported in the Debian BTS and a
NMU limits the changes you are allowed to do in a package. You can of course
file the bugs you fix in your changes in the Debian BTS (including a "please
package the new upstream version where you can list all the problems with the
old version.), but some changes will still be out of scope for an NMU.

The salsa Debian group is technically a Team upload [4] and team-uploads do not
have restrictions on what to upload, so I guess this is an viable approach.

The third option is to adopt the package -- either by an explicit OK to do from Jan
or via the ITS procedure [5]. With that, you will become  (co-)maintainer of
the package, but that implies some kind of promise to also look after the package in
the future. This is of course the best outcome for Debian and your project, but
also means a commitment in maintaing the package.

[1] https://wiki.debian.org/LowThresholdNmu
    
[2] https://wiki.debian.org/Salsa/Doc#Collaborative_Maintenance:_.22Debian.22_group
    https://www.debian.org/doc/manuals/developers-reference/pkgs.en.html#collaborative-maint␆bib
[3] https://wiki.debian.org/NonMaintainerUpload
    https://www.debian.org/doc/manuals/developers-reference/pkgs.en.html#non-maintainer-uploads-nmus
[4] https://wiki.debian.org/TeamUpload
[5] https://www.debian.org/doc/manuals/developers-reference/pkgs.en.html#package-salvaging
    https://wiki.debian.org/PackageSalvaging
    (The "conservative" criterias are imho fulfilled: 
    -::q open bugs, missing upstream releases, sourceful upload required, no visible activity on
      the package >6months)

 
> The updated package is based on the version already in Debian and
> introduces two additional binary packages to cover new functionality
> provided by upstream. I tried to prepare the updated package as well as
> I can, but this is my first attempt to prepare official Debian packaging
> so I'm open to suggestions for improvement. The packaging is inspired by
> official documentation as well as by Fedora packaging, which was created
> recently by other contributors.
> 
> The source builds the following binary packages:
> 
>   usbrelay - USB HID relay driver
>   python3-usbrelay - Python bindings for USB HID relay driver
>   usbrelayd - MQTT client for USB HID relay driver
> 
> To access further information about this package, please visit the following
 > URL:
> 
>   https://mentors.debian.net/package/usbrelay/
> 
> Alternatively, you can download the package with 'dget' using this command:
> 
>   dget -x
> https://mentors.debian.net/debian/pool/main/u/usbrelay/usbrelay_1.0-1.dsc
> 
> Changes since the last upload:
> 
>  usbrelay (1.0-1) unstable; urgency=medium
>  .
>    * New upstream version 1.0
>    * Drop "v" prefix from the watch file
>    * Drop 0001-make-CFLAGS-LDFLAGS-and-CPPFLAGS-customizable.patch
>    * Update gcc9.patch (Closes: Bug#916557)
>    * Pass Debian package version to the build system
>    * Use upstream man page rather than Debian one
>    * Override lintian soname error
>    * Add python3-usbrelay package
>    * Add usbrelayd package providing interface to MQTT
>    * Update udev rules
>    * Bump debhelper compatibility to 13 (no changes)
>    * Bump Standards-Version to 4.6.0 (no changes)
>    * Update copyright information
>    * Announce the hardware support using AppStream
>    * Add usbrelayd(8) manpage
>    * Fix spelling error
> 
> Additional comments can be found in some commit messages at
> https://salsa.debian.org/wentasah/usbrelay/-/commits/master.

Ok, let me check the package: (I'm using the mentors version for the review)
- As said earlier, depending if you want a Team upload or follow the ITS, this
  needs some entry in d/changelog, depending how you want to proceed...
- debian/io.github.darrylb123.usbrelay.metainfo.xml should possible brought upstream,
  shouldn't it (no need to change for the upload, but I guess this is not debian specific)
- d/rules
   - triggers https://lintian.debian.org/tags/debian-rules-parses-dpkg-parsechangelog,
     you should do as lintian recommends.
   - (bikeshed -- no need to change) I'd prefer to use d/clean instead of
     overriding the clean target; overrides are harder to maintain :)
- the man page is still in the debian directory -- it can be deleted as
  it is now part of upstream.
- same for the udev rules.
- d/usbrelay.install has a hard-coded architecture-dependent path. That will break build on
  archs != amd64.
- d/postinst (and postrm):
  The username is not correct. According to Debian Policy, 4.9.1, it must start with an "_"
  I guess also that you don't want/need a homedirectory for that uses, so its $HOME
  should be /nonexistent in this case. (Policy 9.2.3)
  HOWEVER, let me suggest something else:
  Use the DynamicUser feature from systemd:

    DynamicUser=yes
    SupplementaryGroups=plugdev

  in the service file should make postint/postrm no longer be needed.

- Lintian has a few remarks: (my related remarks in brackets)
W: usbrelay source: no-nmu-in-changelog
W: usbrelay source: source-nmu-has-incorrect-version-number 1.0-1
  (will be gone once the changelog mentions the team upload or after the salvage procedure is done)
I: usbrelay source: debian-rules-parses-dpkg-parsechangelog (line 20)
  (see abovr)
I: usbrelay source: older-debian-watch-file-standard 3
  (could be updated to version 4, just s/3/4/ in the header)
I: usbrelayd: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/usbrelayd.service
  (can be ignored)
I: usbrelay source: patch-not-forwarded-upstream debian/patches/0002-Mention-README-in-the-man-page.patch
I: usbrelay source: patch-not-forwarded-upstream debian/patches/gcc9.patch
  (see below)
I: usbrelayd: systemd-service-file-missing-documentation-key [lib/systemd/system/usbrelayd.service]
  (possibly ask upstream to ammend the service file accordingly)
X: usbrelay source: debian-watch-does-not-check-gpg-signature [debian/watch]
  (it would be nice if upstream could pgp-sign their tarballs, so noone can tamper with them.
  They sign their commits already, so a key would be available. Not required for this upload.)
P: usbrelay source: maintainer-manual-page debian/usbrelayd.8
  (see above -- deletign the file will fix this.)
X: usbrelay source: prefer-uscan-symlink filenamemangle s/.*(\d[\d\.]*)\.tar\.gz/usbrelay-$1.tar.gz/ [debian/watch:3]
  (ignore that)
P: usbrelay source: silent-on-rules-requiring-root [debian/control]
  (Add "Rules-Requires-Root: no" to d/control -> https://lintian.debian.org/tags/silent-on-rules-requiring-root)
X: usbrelayd: systemd-service-file-missing-hardening-features [lib/systemd/system/usbrelayd.service]
  (DynamicUser=yes should fix that too)
X: usbrelay source: upstream-metadata-file-is-missing
  (would be nice to have, but not required: https://wiki.debian.org/UpstreamMetadata
   example: https://salsa.debian.org/games-team/darkradiant/-/blob/master/debian/upstream/metadata

You have mentioned that you are involved with upstream: In this case, can
you check if the debian/patches can be brought upstream? I don't think they are
to be Debian specific, especially the gcc-9 patch. (no need to do that for this
upload, but if you forward them now, please add the dep3-Tag "Forwarded" to the
d/patch)

Overall, package quality is nice, only a few things to fix before this can be uploaded.

> Regards,
> --
>   Michal Sojka
> 
> 


Reply to: