Rayforge packaging effort – request for guidance and team maintenance
Michele Cane <[email protected]> Fri, 29 May 2026 13:03:23 +0000
| Newsgroups | gmane.linux.debian.devel.python,gmane.linux.debian.rust,gmane.linux.debian.science |
|---|---|
| Message-ID | <KdlK5B7p8k4lVk3tSjWwSFg5WrwwBcpZKSKtiHNhOK2XRNqwfjU8sPIe8ykYixFbnd9stuMSXvXd83xJQ1DQ37KGdyCbL0ZJ8Iz7IIX4eoY=@proton.me> |
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------69a9e023d99fcbb2ba1af701f66d6acc058be5a1f72763e02891687c2d6163dd
Content-Type: multipart/mixed;boundary=---------------------e73af31a32c7b82f9e3aec6b2917e17b
-----------------------e73af31a32c7b82f9e3aec6b2917e17b
Content-Type: multipart/alternative;boundary=---------------------4f5c42b84d1b3194e2de2c681ce221d9
-----------------------4f5c42b84d1b3194e2de2c681ce221d9
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;charset=utf-8
Hello Rust and Python teams,
I am reaching out because I have started working on packaging Rayforge for=
Debian.
For details about the project, please see the ITP:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D1137607
I previously reached out to mentors.debian.net and was advised to upload m=
y repositories to Salsa and contact the relevant teams to seek guidance, r=
eview, and potential inclusion under the appropriate team-maintained names=
paces.
The current packaging repositories are available on Salsa:
- rayforge: https://salsa.debian.org/heiserhorn/rayforge
=
- raygeo: https://salsa.debian.org/heiserhorn/raygeo
=
- pyvips: https://salsa.debian.org/heiserhorn/pyvips
=
- vtracer: https://salsa.debian.org/heiserhorn/vtracer
=
- visioncortex: https://salsa.debian.org/heiserhorn/visioncortex
=
- flo_curves: https://salsa.debian.org/heiserhorn/flo_curves
=
- clipper2: https://salsa.debian.org/heiserhorn/clipper2
=
- rstar: https://salsa.debian.org/heiserhorn/rstar
=
- pyo3-stub-gen: https://salsa.debian.org/heiserhorn/pyo3-stub-gen
=
- setuptools-git-versioning: https://salsa.debian.org/heiserhorn/setupto=
ols-git-versioning
=
- clipper2c-sys: https://salsa.debian.org/heiserhorn/clipper2c-sys
=
- Clipper2C: https://salsa.debian.org/heiserhorn/Clipper2C
=
- arduino-asyncudp: https://salsa.debian.org/heiserhorn/arduino-asyncudp
=
The following packages have been identified as direct or indirect dependen=
cies of Rayforge (the list may not yet be exhaustive):
Rust:
- raygeo
=
- vtracer
=
- visioncortex
=
- flo_curves
=
- clipper2
=
- rstar
=
- pyo3-stub-gen
=
- clipper2c-sys
=
Python:
- pyvips
=
- setuptools-git-versioning
=
C++:
- Clipper2C
=
- arduino-asyncudp
=
Current status:
The following packages are lintian-clean and build successfully with sbuil=
d using only dependencies already available in Debian:
- flo_curves (Rust)
=
- rstar (Rust)
=
- setuptools-git-versioning (Python)
=
- Clipper2C (C++)
=
- arduino-asyncudp (C++)
=
For the remaining packages, I have already started preparing the packaging=
repositories and Debian branches, but some depend on packages that are no=
t yet available in Debian or require updates before they can be completed.
In particular, pyo3-stub-gen currently depends on packages that are alread=
y present in Debian but require updates:
- librust-inventory-dev
=
- librust-rustpython-parser-dev
=
- librust-ordered-float-dev
=
For these, I have already opened or updated the relevant bug reports.
I would appreciate guidance on the following points:
- Should the Rust packages be maintained under the Debian Rust Team?
=
- Should the Python packages be maintained under the Debian Python Team?
=
- What would be the preferred maintenance model for the two C++ packages=
?
=
- Should the main Rayforge package be maintained under the Python Team, =
the Debian Science Team, or another team?
=
For context, I have some previous Debian packaging experience dating back =
10=E2=80=9315 years, but this is my first packaging effort involving a dep=
endency tree of this size and complexity.
Any guidance, review, or suggestions would be greatly appreciated.
Many thanks,
Mike
Michele Cane,PhD
-----------------------4f5c42b84d1b3194e2de2c681ce221d9
Content-Type: multipart/related;boundary=---------------------18fd1ee490fbb072e0372da2215ba181
-----------------------18fd1ee490fbb072e0372da2215ba181
Content-Type: text/html;charset=utf-8
Content-Transfer-Encoding: base64
PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0
cHg7Ij48L2Rpdj48cD48L3A+PHA+PC9wPjxwPjwvcD48cD5IZWxsbyBSdXN0IGFuZCBQeXRob24g
dGVhbXMsPC9wPjxwPkkgYW0gcmVhY2hpbmcgb3V0IGJlY2F1c2UgSSBoYXZlIHN0YXJ0ZWQgd29y
a2luZyBvbiBwYWNrYWdpbmcgUmF5Zm9yZ2UgZm9yIERlYmlhbi48L3A+PHA+Rm9yIGRldGFpbHMg
YWJvdXQgdGhlIHByb2plY3QsIHBsZWFzZSBzZWUgdGhlIElUUDo8L3A+PHA+PGEgaHJlZj0iaHR0
cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz0xMTM3NjA3Ij5o
dHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTExMzc2MDc8
L2E+PC9wPjxwPkkgcHJldmlvdXNseSByZWFjaGVkIG91dCB0byBtZW50b3JzLmRlYmlhbi5uZXQg
YW5kIHdhcyBhZHZpc2VkIHRvIHVwbG9hZCBteSByZXBvc2l0b3JpZXMgdG8gU2Fsc2EgYW5kIGNv
bnRhY3QgdGhlIHJlbGV2YW50IHRlYW1zIHRvIHNlZWsgZ3VpZGFuY2UsIHJldmlldywgYW5kIHBv
dGVudGlhbCBpbmNsdXNpb24gdW5kZXIgdGhlIGFwcHJvcHJpYXRlIHRlYW0tbWFpbnRhaW5lZCBu
YW1lc3BhY2VzLjwvcD48cD5UaGUgY3VycmVudCBwYWNrYWdpbmcgcmVwb3NpdG9yaWVzIGFyZSBh
dmFpbGFibGUgb24gU2Fsc2E6PC9wPjx1bD48bGk+PHA+cmF5Zm9yZ2U6IDxhIGhyZWY9Imh0dHBz
Oi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJob3JuL3JheWZvcmdlIj5odHRwczovL3NhbHNhLmRl
Ymlhbi5vcmcvaGVpc2VyaG9ybi9yYXlmb3JnZTwvYT48L3A+PC9saT48bGk+PHA+cmF5Z2VvOiA8
YSBocmVmPSJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9yYXlnZW8iPmh0dHBz
Oi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJob3JuL3JheWdlbzwvYT48L3A+PC9saT48bGk+PHA+
cHl2aXBzOiA8YSBocmVmPSJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9weXZp
cHMiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJob3JuL3B5dmlwczwvYT48L3A+PC9s
aT48bGk+PHA+dnRyYWNlcjogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNl
cmhvcm4vdnRyYWNlciI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vdnRyYWNl
cjwvYT48L3A+PC9saT48bGk+PHA+dmlzaW9uY29ydGV4OiA8YSBocmVmPSJodHRwczovL3NhbHNh
LmRlYmlhbi5vcmcvaGVpc2VyaG9ybi92aXNpb25jb3J0ZXgiPmh0dHBzOi8vc2Fsc2EuZGViaWFu
Lm9yZy9oZWlzZXJob3JuL3Zpc2lvbmNvcnRleDwvYT48L3A+PC9saT48bGk+PHA+ZmxvX2N1cnZl
czogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vZmxvX2N1cnZl
cyI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vZmxvX2N1cnZlczwvYT48L3A+
PC9saT48bGk+PHA+Y2xpcHBlcjI6IDxhIGhyZWY9Imh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9o
ZWlzZXJob3JuL2NsaXBwZXIyIj5odHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9j
bGlwcGVyMjwvYT48L3A+PC9saT48bGk+PHA+cnN0YXI6IDxhIGhyZWY9Imh0dHBzOi8vc2Fsc2Eu
ZGViaWFuLm9yZy9oZWlzZXJob3JuL3JzdGFyIj5odHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVp
c2VyaG9ybi9yc3RhcjwvYT48L3A+PC9saT48bGk+PHA+cHlvMy1zdHViLWdlbjogPGEgaHJlZj0i
aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vcHlvMy1zdHViLWdlbiI+aHR0cHM6
Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vcHlvMy1zdHViLWdlbjwvYT48L3A+PC9saT48
bGk+PHA+c2V0dXB0b29scy1naXQtdmVyc2lvbmluZzogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5k
ZWJpYW4ub3JnL2hlaXNlcmhvcm4vc2V0dXB0b29scy1naXQtdmVyc2lvbmluZyI+aHR0cHM6Ly9z
YWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vc2V0dXB0b29scy1naXQtdmVyc2lvbmluZzwvYT48
L3A+PC9saT48bGk+PHA+Y2xpcHBlcjJjLXN5czogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJp
YW4ub3JnL2hlaXNlcmhvcm4vY2xpcHBlcjJjLXN5cyI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3Jn
L2hlaXNlcmhvcm4vY2xpcHBlcjJjLXN5czwvYT48L3A+PC9saT48bGk+PHA+Q2xpcHBlcjJDOiA8
YSBocmVmPSJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9DbGlwcGVyMkMiPmh0
dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJob3JuL0NsaXBwZXIyQzwvYT48L3A+PC9saT48
bGk+PHA+YXJkdWluby1hc3luY3VkcDogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3Jn
L2hlaXNlcmhvcm4vYXJkdWluby1hc3luY3VkcCI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hl
aXNlcmhvcm4vYXJkdWluby1hc3luY3VkcDwvYT48L3A+PC9saT48L3VsPjxwPlRoZSBmb2xsb3dp
bmcgcGFja2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgZGlyZWN0IG9yIGluZGlyZWN0IGRl
cGVuZGVuY2llcyBvZiBSYXlmb3JnZSAodGhlIGxpc3QgbWF5IG5vdCB5ZXQgYmUgZXhoYXVzdGl2
ZSk6PC9wPjxwPlJ1c3Q6PC9wPjx1bD48bGk+PHA+cmF5Z2VvPC9wPjwvbGk+PGxpPjxwPnZ0cmFj
ZXI8L3A+PC9saT48bGk+PHA+dmlzaW9uY29ydGV4PC9wPjwvbGk+PGxpPjxwPmZsb19jdXJ2ZXM8
L3A+PC9saT48bGk+PHA+Y2xpcHBlcjI8L3A+PC9saT48bGk+PHA+cnN0YXI8L3A+PC9saT48bGk+
PHA+cHlvMy1zdHViLWdlbjwvcD48L2xpPjxsaT48cD5jbGlwcGVyMmMtc3lzPC9wPjwvbGk+PC91
bD48cD5QeXRob246PC9wPjx1bD48bGk+PHA+cHl2aXBzPC9wPjwvbGk+PGxpPjxwPnNldHVwdG9v
bHMtZ2l0LXZlcnNpb25pbmc8L3A+PC9saT48L3VsPjxwPkMrKzo8L3A+PHVsPjxsaT48cD5DbGlw
cGVyMkM8L3A+PC9saT48bGk+PHA+YXJkdWluby1hc3luY3VkcDwvcD48L2xpPjwvdWw+PHA+Q3Vy
cmVudCBzdGF0dXM6PC9wPjxwPlRoZSBmb2xsb3dpbmcgcGFja2FnZXMgYXJlIGxpbnRpYW4tY2xl
YW4gYW5kIGJ1aWxkIHN1Y2Nlc3NmdWxseSB3aXRoIHNidWlsZCB1c2luZyBvbmx5IGRlcGVuZGVu
Y2llcyBhbHJlYWR5IGF2YWlsYWJsZSBpbiBEZWJpYW46PC9wPjx1bD48bGk+PHA+ZmxvX2N1cnZl
cyAoUnVzdCk8L3A+PC9saT48bGk+PHA+cnN0YXIgKFJ1c3QpPC9wPjwvbGk+PGxpPjxwPnNldHVw
dG9vbHMtZ2l0LXZlcnNpb25pbmcgKFB5dGhvbik8L3A+PC9saT48bGk+PHA+Q2xpcHBlcjJDIChD
KyspPC9wPjwvbGk+PGxpPjxwPmFyZHVpbm8tYXN5bmN1ZHAgKEMrKyk8L3A+PC9saT48L3VsPjxw
PkZvciB0aGUgcmVtYWluaW5nIHBhY2thZ2VzLCBJIGhhdmUgYWxyZWFkeSBzdGFydGVkIHByZXBh
cmluZyB0aGUgcGFja2FnaW5nIHJlcG9zaXRvcmllcyBhbmQgRGViaWFuIGJyYW5jaGVzLCBidXQg
c29tZSBkZXBlbmQgb24gcGFja2FnZXMgdGhhdCBhcmUgbm90IHlldCBhdmFpbGFibGUgaW4gRGVi
aWFuIG9yIHJlcXVpcmUgdXBkYXRlcyBiZWZvcmUgdGhleSBjYW4gYmUgY29tcGxldGVkLjwvcD48
cD5JbiBwYXJ0aWN1bGFyLCBweW8zLXN0dWItZ2VuIGN1cnJlbnRseSBkZXBlbmRzIG9uIHBhY2th
Z2VzIHRoYXQgYXJlIGFscmVhZHkgcHJlc2VudCBpbiBEZWJpYW4gYnV0IHJlcXVpcmUgdXBkYXRl
czo8L3A+PHVsPjxsaT48cD5saWJydXN0LWludmVudG9yeS1kZXY8L3A+PC9saT48bGk+PHA+bGli
cnVzdC1ydXN0cHl0aG9uLXBhcnNlci1kZXY8L3A+PC9saT48bGk+PHA+bGlicnVzdC1vcmRlcmVk
LWZsb2F0LWRldjwvcD48L2xpPjwvdWw+PHA+Rm9yIHRoZXNlLCBJIGhhdmUgYWxyZWFkeSBvcGVu
ZWQgb3IgdXBkYXRlZCB0aGUgcmVsZXZhbnQgYnVnIHJlcG9ydHMuPC9wPjxwPkkgd291bGQgYXBw
cmVjaWF0ZSBndWlkYW5jZSBvbiB0aGUgZm9sbG93aW5nIHBvaW50czo8L3A+PHVsPjxsaT48cD5T
aG91bGQgdGhlIFJ1c3QgcGFja2FnZXMgYmUgbWFpbnRhaW5lZCB1bmRlciB0aGUgRGViaWFuIFJ1
c3QgVGVhbT88L3A+PC9saT48bGk+PHA+U2hvdWxkIHRoZSBQeXRob24gcGFja2FnZXMgYmUgbWFp
bnRhaW5lZCB1bmRlciB0aGUgRGViaWFuIFB5dGhvbiBUZWFtPzwvcD48L2xpPjxsaT48cD5XaGF0
IHdvdWxkIGJlIHRoZSBwcmVmZXJyZWQgbWFpbnRlbmFuY2UgbW9kZWwgZm9yIHRoZSB0d28gQysr
IHBhY2thZ2VzPzwvcD48L2xpPjxsaT48cD5TaG91bGQgdGhlIG1haW4gUmF5Zm9yZ2UgcGFja2Fn
ZSBiZSBtYWludGFpbmVkIHVuZGVyIHRoZSBQeXRob24gVGVhbSwgdGhlIERlYmlhbiBTY2llbmNl
IFRlYW0sIG9yIGFub3RoZXIgdGVhbT88L3A+PC9saT48L3VsPjxwPkZvciBjb250ZXh0LCBJIGhh
dmUgc29tZSBwcmV2aW91cyBEZWJpYW4gcGFja2FnaW5nIGV4cGVyaWVuY2UgZGF0aW5nIGJhY2sg
MTDigJMxNSB5ZWFycywgYnV0IHRoaXMgaXMgbXkgZmlyc3QgcGFja2FnaW5nIGVmZm9ydCBpbnZv
bHZpbmcgYSBkZXBlbmRlbmN5IHRyZWUgb2YgdGhpcyBzaXplIGFuZCBjb21wbGV4aXR5LjwvcD48
cD5BbnkgZ3VpZGFuY2UsIHJldmlldywgb3Igc3VnZ2VzdGlvbnMgd291bGQgYmUgZ3JlYXRseSBh
cHByZWNpYXRlZC48L3A+PHA+TWFueSB0aGFua3MsPC9wPjxwIHN0eWxlPSJmb250LWZhbWlseTog
QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHJnYigwLCAwLCAwKTsg
YmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+TWlrZTwvcD48cD5NaWNoZWxl
IENhbmUsUGhEPC9wPjxwPjxicj48L3A+PHA+PC9wPjxwPjwvcD48cD48L3A+PGRpdiBzdHlsZT0i
Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IiBjbGFzcz0i
cHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2siPjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0
dXJlX2Jsb2NrLXVzZXIiPjwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvdG9ubWFp
bF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5
Ij4KCiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4K
-----------------------18fd1ee490fbb072e0372da2215ba181--
-----------------------4f5c42b84d1b3194e2de2c681ce221d9--
-----------------------e73af31a32c7b82f9e3aec6b2917e17b
Content-Type: application/pgp-keys; filename="publickey - [email protected] - 0xC017295D.asc"; name="publickey - [email protected] - 0xC017295D.asc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="publickey - [email protected] - 0xC017295D.asc"; name="publickey - [email protected] - 0xC017295D.asc"
LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgp4ak1FWWtyR1N4WUpLd1lCQkFI
YVJ3OEJBUWRBSVRTb0djUkJVZFZZQ2poazdlcE9WWDhtak9PRXFPelgKZjI0bUpWd1pLNDdOTDIx
cFkyaGxiR1V1WTJGdVpVQndjbTkwYjI0dWJXVWdQRzFwWTJobGJHVXVZMkZ1ClpVQndjbTkwYjI0
dWJXVSt3bzhFRUJZS0FDQUZBbUpLeGtzR0N3a0hDQU1DQkJVSUNnSUVGZ0lCQUFJWgpBUUliQXdJ
ZUFRQWhDUkNrUnNyaEZFd3NtaFloQk1BWEtWMW1SeDlFaEFxU1BxUkd5dUVVVEN5YVk3Z0EKL2lX
TEZadzMva1BycjZNTDQyMC9JeWdZNGlBbGZpNlZmVnd0ZkRQZ1FDak1BUURZZUtEeEtJSXpWckpQ
CmF6NVhvbCtpT0hzMFNKV0twb0FsdjIzZWV6Y3dBYzQ0QkdKS3hrc1NDaXNHQVFRQmwxVUJCUUVC
QjBEdQp4NkdOR1NTZXhKSEFUSWlIYU1zSGc0L2ZpeGJGb1NPZm96ZzZsQ1BZZFFNQkNBZkNlQVFZ
RmdnQUNRVUMKWWtyR1N3SWJEQUFoQ1JDa1JzcmhGRXdzbWhZaEJNQVhLVjFtUng5RWhBcVNQcVJH
eXVFVVRDeWFpSWdCCkFNdG4wMmloaGx5VnV1YXNUclZYbDdjdVpJelNLZ1ZyRkowUnpoMTZrOUE3
QVFEMkt0R2lSQ1BlalNOQQorS1lYYmJOcVU1OGlPQm5yWGVoOEE3MExobTZBQmc9PQo9LzF2dwot
LS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCg==
-----------------------e73af31a32c7b82f9e3aec6b2917e17b--
--------69a9e023d99fcbb2ba1af701f66d6acc058be5a1f72763e02891687c2d6163dd
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: ProtonMail
wrsEARYKAG0FgmoZjpIJEKRGyuEUTCyaRRQAAAAAABwAIHNhbHRAbm90YXRp
b25zLm9wZW5wZ3Bqcy5vcmdg3zzb4Di6n1svzU+cTe+RgLDweOt7hPPnWhqs
X7gHUhYhBMAXKV1mRx9EhAqSPqRGyuEUTCyaAAAD7AD/cGfDkRXHr55zySHU
qzd+b7R0dh2W+m6pPenqMmYmOnkA/0l6cCeDauJCrQWMn+Q5ZNQGutw7b8KP
MS8BudZTK4EC
=m+xG
-----END PGP SIGNATURE-----
--------69a9e023d99fcbb2ba1af701f66d6acc058be5a1f72763e02891687c2d6163dd--