Package: autopkgtest,ftp.debian.org Severity: wishlist The Debian ftp team have ruled that they consider packages in main whose automated tests download unpackaged programs from outside main to be a REJECTable problem (reference:REJECT-FAQ.html ยง(Non-Main II)). However, for some packages both inside and outside main, the ability to download executable code from outside Debian is a large part of their purpose, which should ideally be covered by tests.
For example, flatpak, snapd and docker.io are in main, because they don't depend on third-party programs (it's more like the other way round, the third-party programs depend on flatpak, snapd or docker.io); but if we accidentally ship a version of one of those packages that is unable to download those third-party programs, then its usefulness to our users would be quite limited, and that's a failure mode that should be straightforward to detect. To prevent that sort of thing, I'd like to be able to add an autopkgtest test-case that asserts that Flatpak *can* download and install third-party programs, possibly with an appropriate Restriction that means official Debian infrastructure won't run that test unless the operators of that infrastructure are happy to do so. But I don't want that potential for increased test coverage to result in removal from Debian, which would be quite counterproductive. For background, in case ftp team members are not familiar with autopkgtest Restrictions: each test-case can be marked with "Restrictions" flags, which are things like needs-root and isolation-container. Implementations of the spec, like autopkgtest itself and devscripts' sadt, will not run a test that has restrictions they don't understand unless specifically told to do so, so marking a test with a newly-invented Restrictions flag will cause that test to not be run by default, while leaving it straightforward for a maintainer to run it locally before upload if they want to. Some questions for the ftp team: 1. If flatpak (a package in main) had an autopkgtest that was basically this, marked with Restrictions: needs-internet: #!/bin/sh set -e flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub org.gnome.Recipes (which will download third-party executable code but not actually run it), would the ftp team consider that to be valid? 2. Would the answer to (1) change if the test additionally had some new restriction defined by the autopkgtest spec, perhaps Restrictions: downloads-third-party-programs or something similar? 3. Are the answers to (1) and (2) different if the test is downloading works from outside Debian that are not executable code, such as text, graphics or sound files? (I'm intentionally trying to avoid the word "software" here to avoid the ambiguity highlighted by GRs in 2004.) 4. Would the answer to (1) change if the test downloaded third-party executable code, but unlike in (1), the test also *ran* the third-party executable code? (For example if I added "flatpak run org.gnome.Recipes --help" to the end of that test, which ends up running "gnome-recipes --help" in the downloaded container.) 5. Would the answer to (4) change if the test had a restriction like Restrictions: runs-third-party-programs? 6. For a package in contrib (like game-data-packager) or non-free, are the ftp team's rules about autopkgtests different? Is it considered more valid for g-d-p to have an autopkgtest that downloads and/or runs third-party programs than it would be for flatpak, because g-d-p is in contrib? When the ftp team has clarified what they will and will not allow, I would like to add whatever new Restrictions flags would be useful into the autopkgtest specification <https://salsa.debian.org/ci-team/autopkgtest/blob/master/doc/README.package-tests.rst>, but there doesn't seem to be much point in me preemptively defining new restrictions if uses of those restrictions would cause packages to be removed from Debian. Thanks, smcv