To make the review of your request easier, please use the following template to provide all the required details and also include any other information that may be relevant.
- name: nitrate
- description: Nitrate is a comprehensive tool to install, create, compile, analyze, recompose, and distribute software packages using the Nitrate Programming language. It integrates the entire Nitrate Toolchain and provides a consistent and reliable way to interact with Nitrate projects.
- snapcraft: The snapcraft.yaml
- upstream: github repo of Nitrate
- upstream-relation: I am the publisher/project leader
- supported-category: compilers, programming languages
- reasoning: The Nitrate SNAP requires access to local system headers and libraries for compilation and linking (/usr/include, /usr/lib). It requires access to the local C,C++ header files (the new language supports including these directory via import directives). Because the tool contains the compiler it needs read-access to view any provided source-code files and write access to save the output to any location as specified by the “–output ” flag. The applications file-system access patterns/requirements are typical of programming language compilers like clang and gcc. There are other reasons why this app requires --classic, I’d be happy to clarify if more justification is needed. Both clang and gcc have been granted --classic confinement permission by the SNAP store, and I therefore think that my application is worthy of it as well. Thank you for your assistance.
I understand that strict confinement is generally preferred over classic.
I’ve tried the existing interfaces to make the snap to work under strict confinement.
Note that snappy-debug can be used to identify possible required interfaces. See https://snapcraft.io/docs/debug-snaps for more information.