On Sat, May 03, 2025 at 09:11:21PM +0530, Pirate Praveen wrote:
Package: debian-policy
Version: 4.7.2.0
Current policy text says:
Except for packages in the non-free archive with the Autobuild controlfield unset or set to no,
required targets must not attempt network access, except, via the loopbackinterface,
to services on the build host that have been started by the build.
I think it should be changed to,
Except for packages in the non-free archive with the Autobuild controlfield unset or set to no,
required targets must not require network access, except, via the loopbackinterface,
to services on the build host that have been started by the build.
I think enforcing there is no internet access is a better way to achieve the
goal of actually ensuring there is no internet during build rather than considering packages that can use internet when available for tests as rc buggy.
I disagree. This was not the consensus at the time I made this change to policy, and
I do not think it is the consensus now. We want more reproducible builds, not depending on external resources that are bound to change, and not being tracked via
server logs. In your case building the package with internet access
- fails if timestamp.digicert.com is down
- leaks the system IP to DIGICERT
Completly disabling access to internet during a build is harder than it sound.
Package: debian-policy
Version: 4.7.2.0
Control: block 1104509 by -1
Current policy text says:
Except for packages in the non-free archive with the Autobuild controlfield unset or set to no,
required targets must not attempt network access, except, via the loopbackinterface,
to services on the build host that have been started by the build.
I think it should be changed to,
Except for packages in the non-free archive with the Autobuild controlfield unset or set to no,
required targets must not require network access, except, via the loopbackinterface,
to services on the build host that have been started by the build.
I think enforcing there is no internet access is a better way to achieve the goal of actually ensuring there is no internet during build rather than considering packages that can use internet when available for tests as rc buggy.
Package: debian-policy
Version: 4.7.2.0
Control: block 1104509 by -1
I think it should be changed to,
Except for packages in the non-free archive with the Autobuild control field unset or set to no,
required targets must not require network access, except, via the loopback interface,
to services on the build host that have been started by the build.
I think enforcing there is no internet access is a better way to achieve the goal of actually ensuring there is no internet during build rather than considering packages that can use internet when available for tests as rc buggy.
On 05/05/2025 4:28 pm, Santiago Vila wrote:
When I'm debugging a package, I usually work in a directory-based chroot
(created with debootstrap). If I had to drop internet access, I would have >> to use firewall rules or just unplug the cable, which would make other
tasks requiring internet in my computer not to work at the same time.
I would consider the real goal to be ensuring that the package
builds the same regardless of network being present or not,
and also regardless of the way you choose to build the package,
be it dpkg-buildpackage in a chroot, sbuild with unshare, sbuild
with schroot, pbuilder, etc. It's a requirement which helps
reproducibility.
at least in this specific instance, the final package remains the same irrespective of whether you have internet access or not. So this does not affect reproducibility at all. You just test more functionality if internet is present, that is all.
"Pirate" == Pirate Praveen <praveen@debian.org> writes:
If we can't be sure if the package will build ok or not depending on
external factors,
then the package does not really contain the complete source code, so this >> is not
only a reproducibility problem but also a DFSG-compliance issue.
This is stretching the DFSG definition too much. Do we really want to interpret DFSG like this? We are testing functionality of the package that uses internet. So we should not have any tests that will confirm any features that uses internet?
Not only the .deb should always be the same, also the tests which pass or
not pass
should also be the same.
You are stretching DFSG here and I don't think this interpretation is actually
helpful. It only adds unnecessary constraint to ourselves on our ability to test features that needs internet.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 482 |
Nodes: | 16 (0 / 16) |
Uptime: | 75:21:31 |
Calls: | 9,572 |
Calls today: | 3 |
Files: | 13,666 |
Messages: | 6,142,579 |