[[PGP Signed Part:No public key for A802884F60A55F81 created at 2023-10-16T21:27:33+0200 using RSA]]
Hi,
I ITP simplemonitor (#1016113), so I started with one of its
dependencies (actually is a "soft" dependency, optional but better to
have) (two more to come).
So, I RFS for ping3:
https://mentors.debian.net/package/python-ping3/ https://mentors.debian.net/debian/pool/main/p/python-ping3/python-ping3_4.0.4-1.dsc
Also in:
https://salsa.debian.org/python-team/packages/python-ping3
This is my first package for Debian. Reviewing only, or reviewing + sponsorship, are very appreciated. I'd like to get this one as right as possible to do the next Python3 packages as good as possible.
If it suits anyone better: I'm cpina on freenode (#debian-python for example).
Thank you very much for any advise!
Hi,
Carles Pina i Estany <carles@pina.cat> wrote on 16/10/2023 at 21:27:33+0200:
[[PGP Signed Part:No public key for A802884F60A55F81 created at 2023-10-16T21:27:33+0200 using RSA]]
Hi,
I ITP simplemonitor (#1016113), so I started with one of its
dependencies (actually is a "soft" dependency, optional but better to
have) (two more to come).
So, I RFS for ping3:
https://mentors.debian.net/package/python-ping3/ https://mentors.debian.net/debian/pool/main/p/python-ping3/python-ping3_4.0.4-1.dsc
Also in:
https://salsa.debian.org/python-team/packages/python-ping3
This is my first package for Debian. Reviewing only, or reviewing + sponsorship, are very appreciated. I'd like to get this one as right as possible to do the next Python3 packages as good as possible.
If it suits anyone better: I'm cpina on freenode (#debian-python for example).
Thank you very much for any advise!
LGTM. Just for DEP-14, you should have the main branch named
debian/unstable and not debian/master.
I pushed a debian/unstable branch and modified gbp.conf.
1. Regarding packaging, lintian is happy and the files look good to
me. You can install devscripts and use wrap-and-sort to make some
things a bit more readable (IMHO). (have a look at devscripts in
general, it's resourceful)
2. Regarding testing, this package is a bit a mess. First you probably
realized that you can't run tests at buildtime because a raw socket
requires root privilege. I see you designed custom autopkgtest to
From there you have two options: the first one is to drop the
Testsuite: field and keep the two tests you designed and call it a
day, or you drop it and write a third test stanza in
debian/tests/control with a shell script you'd also have to write
that moves the tests to the tmp dir autopkgtest creates, puts
localhost in /etc/hosts and then run tests. In that case you need
to add pytest to the dependencies of this test stanza.
Tell me when you're fine with your work and I'll upload.
[[PGP Signed Part:No public key for A802884F60A55F81 created at 2023-10-17T23:42:27+0200 using RSA]]
Hi,
On 17 Oct 2023 at 22:13:05, Pierre-Elliott Bécue wrote:
Hi,
Carles Pina i Estany <carles@pina.cat> wrote on 16/10/2023 at 21:27:33+0200: >>
[[PGP Signed Part:No public key for A802884F60A55F81 created at 2023-10-16T21:27:33+0200 using RSA]]
Hi,
I ITP simplemonitor (#1016113), so I started with one of its
dependencies (actually is a "soft" dependency, optional but better to
have) (two more to come).
So, I RFS for ping3:
https://mentors.debian.net/package/python-ping3/
https://mentors.debian.net/debian/pool/main/p/python-ping3/python-ping3_4.0.4-1.dsc
Also in:
https://salsa.debian.org/python-team/packages/python-ping3
This is my first package for Debian. Reviewing only, or reviewing +
sponsorship, are very appreciated. I'd like to get this one as right as
possible to do the next Python3 packages as good as possible.
If it suits anyone better: I'm cpina on freenode (#debian-python for
example).
Thank you very much for any advise!
LGTM. Just for DEP-14, you should have the main branch named
debian/unstable and not debian/master.
Oops! I actually followed https://salsa.debian.org/python-team/tools/python-modules/blob/master/policy.rst#branch-names
in the section "Branch names" and mentions "debian/master". Perhaps that should be updated?
Anyway, thanks for changing it!
I pushed a debian/unstable branch and modified gbp.conf.
1. Regarding packaging, lintian is happy and the files look good to
me. You can install devscripts and use wrap-and-sort to make some
things a bit more readable (IMHO). (have a look at devscripts in
general, it's resourceful)
Thanks for showing wrap-and-sort! Note taken and I will look at other interesting things in devscripts.
2. Regarding testing, this package is a bit a mess. First you probably
realized that you can't run tests at buildtime because a raw socket
requires root privilege. I see you designed custom autopkgtest to
yep...
[...]
From there you have two options: the first one is to drop the
Testsuite: field and keep the two tests you designed and call it a
day, or you drop it and write a third test stanza in
debian/tests/control with a shell script you'd also have to write
that moves the tests to the tmp dir autopkgtest creates, puts
localhost in /etc/hosts and then run tests. In that case you need
to add pytest to the dependencies of this test stanza.
Sounds doable no problem, I'll try it this evening and see how it goes.
Tell me when you're fine with your work and I'll upload.
thanks very much for the information, will let you know something.
Carles Pina i Estany <carles@pina.cat> wrote on 17/10/2023 at 23:42:27+0200:
On 17 Oct 2023 at 22:13:05, Pierre-Elliott Bécue wrote:
Hi,
Carles Pina i Estany <carles@pina.cat> wrote on 16/10/2023 at 21:27:33+0200:
LGTM. Just for DEP-14, you should have the main branch named
debian/unstable and not debian/master.
Oops! I actually followed https://salsa.debian.org/python-team/tools/python-modules/blob/master/policy.rst#branch-names
in the section "Branch names" and mentions "debian/master". Perhaps that should be updated?
Anyway, thanks for changing it!
I could be wrong, but ISTR that the branch name was debian/master for a
long time in the policy (dates back to 2016 at least?)
I'm not sure that DEP-14 was providing a recommendation for sid branches
at that time.
Anyway, I think that indeed we should offer in the policy a choice
between debian/unstable, debian/latest or debian/master although I'd not
2. Regarding testing, this package is a bit a mess. First you probably
realized that you can't run tests at buildtime because a raw socket
requires root privilege. I see you designed custom autopkgtest to
yep...
[...]
From there you have two options: the first one is to drop the
Testsuite: field and keep the two tests you designed and call it a
day, or you drop it and write a third test stanza in
debian/tests/control with a shell script you'd also have to write
that moves the tests to the tmp dir autopkgtest creates, puts
localhost in /etc/hosts and then run tests. In that case you need
to add pytest to the dependencies of this test stanza.
Sounds doable no problem, I'll try it this evening and see how it goes.
Your call.
Tell me when you're fine with your work and I'll upload.
[[PGP Signed Part:No public key for A802884F60A55F81 created at 2023-10-18T01:56:46+0200 using RSA]]
Hi,
On 17 Oct 2023 at 22:42:27, Carles Pina i Estany wrote:
[...]
2. Regarding testing, this package is a bit a mess. First you probably
realized that you can't run tests at buildtime because a raw socket
requires root privilege. I see you designed custom autopkgtest to
yep...
[...]
From there you have two options: the first one is to drop the
Testsuite: field and keep the two tests you designed and call it a
day, or you drop it and write a third test stanza in
debian/tests/control with a shell script you'd also have to write
that moves the tests to the tmp dir autopkgtest creates, puts
localhost in /etc/hosts and then run tests. In that case you need
to add pytest to the dependencies of this test stanza.
Sounds doable no problem, I'll try it this evening and see how it goes.
From doable to "I'm 99% sure that not possible". I cannot send pings
from autopkgtest in salsa with any software.
Side note: I remembered that when using "needs-internet": HTTP GET
requests (even using hostnames) works. This is my first package for
Debian, but I've used autopkgtest with needs-internet to run a sphinx "linkcheck" and it was working correctly.
I've checked that no ICMP replies even using the standard ping binary
from iputils-ping:
-----
Test-Command: set +e ; ping -c 4 8.8.8.8 ; ping -c 4 example.com ; curl -s -I https://en.wikipedia.org ; curl -s -L https://en.wikipedia.org | head -5
Depends: python3-ping3, iputils-ping, curl
Restrictions: needs-root, needs-internet
Features: test-name=test-real-ping
-----
That's in: https://salsa.debian.org/carlespina/python-ping3/-/blob/autopkgtest-connectivity/debian/tests/control
The output: https://salsa.debian.org/carlespina/python-ping3/-/jobs/4822521#L213
4 packets transmitted, 0 received, 100% packet loss, time 3059ms
4 packets transmitted, 0 received, 100% packet loss, time 3079ms
Even more: I think that curl -I (--head) (HTTP HEAD) might not work? but
curl HTTP GET works. I'm not sure about the curl -I but I don't think it
is relevant for this discussion. Somewhere, I think, I had read
something that it implied that autopkgtest needs-internet was using a
proxy? I cannot find it anyway and ICMP seems that cannot be used.
So, for now, I've:
-Used wrap-and-soft (excellent!).
-Removed "set -e" in one of my Test-Commands: it's the default in
autopkgtest (I discovered with the "pings..." and then documenation)
-Fixed a cosmetic line in d/tests/control (s/features/Features)
-Removed "Testsuite: autopkgtest-pkg-pybuild" from d/control because
ICMP is not available anyway
-Ran dch -r to update the date
-"dput --force mentors python-ping3_4.0.4-1_amd64.changes"
I've also discovered that there are a few unit tests in upstream that do
not work. Some have an easy fix, I will do a MR of the fixes that I've
done for some of them (separately, in GitHub, not tonight).
Your call.
Tell me when you're fine with your work and I'll upload.
To me, it can be uploaded :-)
Let me know if I need or can do anything else.
Carles Pina i Estany <carles@pina.cat> wrote on 18/10/2023 at 01:56:46+0200:
Tell me when you're fine with your work and I'll upload.
To me, it can be uploaded :-)
Let me know if I need or can do anything else.
Uploaded, remember to put a tag on the latest commit. :)
Hi,
On 17 Oct 2023 at 22:42:27, Carles Pina i Estany wrote:
[...]
2. Regarding testing, this package is a bit a mess. First you probably
realized that you can't run tests at buildtime because a raw socket
requires root privilege. I see you designed custom autopkgtest to
yep...
[...]
From there you have two options: the first one is to drop the
Testsuite: field and keep the two tests you designed and call it a
day, or you drop it and write a third test stanza in
debian/tests/control with a shell script you'd also have to write
that moves the tests to the tmp dir autopkgtest creates, puts
localhost in /etc/hosts and then run tests. In that case you need
to add pytest to the dependencies of this test stanza.
Sounds doable no problem, I'll try it this evening and see how it goes.
From doable to "I'm 99% sure that not possible". I cannot send pings
from autopkgtest in salsa with any software.
Side note: I remembered that when using "needs-internet": HTTP GET
requests (even using hostnames) works. This is my first package for
Debian, but I've used autopkgtest with needs-internet to run a sphinx "linkcheck" and it was working correctly.
I've checked that no ICMP replies even using the standard ping binary
from iputils-ping:
-----
Test-Command: set +e ; ping -c 4 8.8.8.8 ; ping -c 4 example.com ; curl -s -I https://en.wikipedia.org ; curl -s -L https://en.wikipedia.org | head -5
Depends: python3-ping3, iputils-ping, curl
Restrictions: needs-root, needs-internet
Features: test-name=test-real-ping
-----
That's in: https://salsa.debian.org/carlespina/python-ping3/-/blob/autopkgtest-connectivity/debian/tests/control
The output: https://salsa.debian.org/carlespina/python-ping3/-/jobs/4822521#L213
4 packets transmitted, 0 received, 100% packet loss, time 3059ms
4 packets transmitted, 0 received, 100% packet loss, time 3079ms
El 18/10/23 a las 00:56, Carles Pina i Estany escribió:
I've checked that no ICMP replies even using the standard ping binary
from iputils-ping:
-----
Test-Command: set +e ; ping -c 4 8.8.8.8 ; ping -c 4 example.com ; curl -s -I https://en.wikipedia.org ; curl -s -L https://en.wikipedia.org | head -5
Depends: python3-ping3, iputils-ping, curl
Restrictions: needs-root, needs-internet
Features: test-name=test-real-ping
-----
That's in: https://salsa.debian.org/carlespina/python-ping3/-/blob/autopkgtest-connectivity/debian/tests/control
The output: https://salsa.debian.org/carlespina/python-ping3/-/jobs/4822521#L213
4 packets transmitted, 0 received, 100% packet loss, time 3059ms
4 packets transmitted, 0 received, 100% packet loss, time 3079ms
...
AFAIU, there are network restrictions on salsa. Reaching HTTPS in the
outside world should work. But I am not sure about ICMP.
FWIW, this is probably overengineering, but it is also possible to use namespaces to avoid reaching INET, pinging from one namespace to the
other.
As example: https://salsa.debian.org/debian/isc-dhcp/-/blob/master/debian/tests/client-server
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 349 |
Nodes: | 16 (2 / 14) |
Uptime: | 117:47:03 |
Calls: | 7,612 |
Files: | 12,786 |
Messages: | 5,683,923 |