Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

please consider running appstream-util with --nonet #307

Closed
josch opened this issue Jul 30, 2022 · 3 comments
Closed

please consider running appstream-util with --nonet #307

josch opened this issue Jul 30, 2022 · 3 comments

Comments

@josch
Copy link

josch commented Jul 30, 2022

Hi,

in Debian, we do not allow package builds to access the network to make sure that nothing else gets downloaded during the build process. This makes clapper fail to build because the build process runs appstream-util validate-relax without the --nonet option. So in Debian we carry the following patch:

--- a/data/meson.build
+++ b/data/meson.build
@@ -3,7 +3,7 @@ iconsdir = join_paths(datadir, 'icons',
 appstream_util = find_program('appstream-util', required: false)
 if appstream_util.found()
   test('Validate appstream file', appstream_util, args: [
-    'validate-relax',
+    'validate-relax', '--nonet',
     join_paths(meson.current_source_dir(), 'com.github.rafostar.Clapper.metainfo.xml')
   ])
 endif

Please consider allowing building clapper without a network connection, for example by applying above patch. Thanks!

@Rafostar
Copy link
Owner

Adding this is not a problem, but I am curious why Debian runs meson tests in the first place (I am not familiar with deb packaging). Currently this is the only test, so it should pass, but chances are that more robust CI testing will be added at a later point when GstClapper API stabilizes (some might be even failing in stable releases). If you are building stable version from git tag, why does Debian even care about running application tests? 🙃

@josch
Copy link
Author

josch commented Jul 30, 2022

Thanks a lot for your quick reply! The default in Debian is too run as many tests as we can. Sometimes we disable tests but that's rather the exception. We have over 68000 binary packages in Debian which all interact with each other in some way or the other. By running tests even for stable releases (and we rarely package anything but stable releases of any software package) we try to minimize the risk of building something that doesn't work. From your perspective you might think that running the tests is only useful for development purposes to make sure that a commit or release doesn't break anything. From our perspective, tests make sure that even when the packages surrounding clapper change, clapper itself continues to work. It's very likely that the software versions you use to develop clapper are more or less different than the versions we ship in Debian. By running the tests, we try to make sure that what you verified to run on your system is also running as expected in Debian. If you add more robust testing in the future, that is something that I'll be looking forward to. :)

@Rafostar
Copy link
Owner

Thanks for detailed explanation 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants