labgrid icon indicating copy to clipboard operation
labgrid copied to clipboard

Debian package improvements

Open sephalon opened this issue 4 years ago • 5 comments

Description

  • Package coordinator into separate virtual environment
  • Split labgrid package into base, coordinator, client and exporter
  • Package systemd files
  • Package labgrid-suggest
  • Move config manpage into section 5 and package manpages

Recently an independent upstream Debian package has been published. Ideally, we could put both packages onto the same basis in the near future; however I suppose the main issue is how to deal with vendoring: Labgrid has quite a lot of dependencies and for our deployments, being able to build local packages from master using dh-virtualenv without having to worry too much about some Python dependency incompatibility has been quite useful so far. The upstream package is using distribution packages only however. I will notify the maintainer of this pull request; maybe he has some suggestions as well.

I think the package labgrid-base should be called python3-labgrid as the upstream package does; however dh-virtualenv seems to treat the python3- prefix specially and does not create a virtual environment then.

Checklist

  • [ ] Documentation for the feature
  • [ ] Tests for the feature
  • [ ] The arguments and description in doc/configuration.rst have been updated
  • [ ] Add a section on how to use the feature to doc/usage.rst
  • [ ] Add a section on how to use the feature to doc/development.rst
  • [ ] CHANGES.rst has been updated
  • [ ] PR has been tested
  • [x] Man pages have been regenerated

sephalon avatar Apr 27 '21 14:04 sephalon

The python3-prefix is for python modules installed in the normal paths, so it doesn't apply here. Splitting off the coordinator is fine (due to the additional dependancies), but the other dependencies are very similar, so I'd prefer a shared package.

Regarding vendoring: As I understand it, dh_virtualenv is not allowed in the Debian archive. The current Debian package is doesn't support labgrid-client or labgrid-exporter (due too old autobahn). @bgermann is preparing a new version with only labgrid-suggest: https://salsa.debian.org/python-team/packages/labgrid/-/commit/53503ba1afef9a0c05aded6646cb0db49f2d6a2f

Using the same package name will probably confuse users, so maybe we should use a different one for the dh_virtualenv-based one and add Conflicts:?

jluebbe avatar Apr 27 '21 14:04 jluebbe

The python3-prefix is for python modules installed in the normal paths, so it doesn't apply here.

Yeah, the rename would have only made sense if we would have decided to drop dh-virtualenv. However that does not seem to be an option right now…

Splitting off the coordinator is fine (due to the additional dependancies), but the other dependencies are very similar, so I'd prefer a shared package.

Ok, then I will merge labgrid-base, labgrid-client and labgrid-exporter back into a single labgrid package.

Regarding vendoring: As I understand it, dh_virtualenv is not allowed in the Debian archive. The current Debian package is doesn't support labgrid-client or labgrid-exporter (due too old autobahn). @bgermann is preparing a new version with only labgrid-suggest: https://salsa.debian.org/python-team/packages/labgrid/-/commit/53503ba1afef9a0c05aded6646cb0db49f2d6a2f

It looks like going upstream is more of a long-term project then and not a solution for people wanting to use the newest and shiniest version anyway. What do you think about creating an official PPA for Labgrid?

(I am aware of the Docker containers, but they are rather inconvenient to use and deploy; I consider them more of a development/reference setup. AppImage/Flatpak/Snap might be an option too, but I have no experience with these tools.)

Using the same package name will probably confuse users, so maybe we should use a different one for the dh_virtualenv-based one and add Conflicts:?

How about naming them labgrid-venv and labgrid-coordinator-venv?

sephalon avatar Apr 30 '21 15:04 sephalon

I have merged client and exporter into a single package and added the -venv suffix as proposed in my previous comment. Please review.

sephalon avatar Jul 29 '21 13:07 sephalon

Codecov Report

Merging #774 (31ce30b) into master (ee9fe32) will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff           @@
##           master    #774   +/-   ##
======================================
  Coverage    56.7%   56.7%           
======================================
  Files         143     143           
  Lines       10641   10641           
======================================
  Hits         6039    6039           
  Misses       4602    4602           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update ee9fe32...31ce30b. Read the comment docs.

codecov[bot] avatar Jul 29 '21 13:07 codecov[bot]

Just as a side note: The Debian package that I maintain should be complete now in terms of provided Labgrid binaries. The only main thing that is not available in Debian are your pyserial patches. But maybe convincing the Debian maintainer to take them is a way forward. I have tried on an existing bug which seems to be related but maybe you have better reasons and want to file a new bug.

bgermann avatar Jun 15 '22 10:06 bgermann