Request for classic confinement: PSLab

Our app happens to be built on ElectronJS as an interface but happens to use python scripts under the hood for communicating with a PSLab PCB connected to the machine. The python scripts make use PSL library to fetch and configure the PCB.

  • Without the classic confinement, we are unable to run any of our python scripts thus rendering the app pretty much useless.
  • Our app has come way ahead in development and is using a mature python-shell library to communicate with the python scripts.

On behalf of the FOSSASIA team, it is my earnest request that our app is reviewed and granted the classic confinement.

Thank you

where would these PSL libraries come from if i installed your snap on my desktop ?

note that access to random (probably not available) libs on the host is not really a justification for classic confinement … especially since it is no problem to simply ship any kind of such libs inside the snap.

In addition to @ogra’s question, there isn’t enough information to proceed with this request. Typically a snap ships everything it needs to run and not doing this is not a reason for classic confinement. What specifically is your snap trying to do and why is classic warranted?

The python lib needs to be installed separately by the user as of now. I could not find an elegant solution to this on the electron-builder docs as we are kind of following an unconventional architecture. Suggestions are welcome. @ogra

My snap uses python-shell from within electron and executes a python script. This python script makes use of PSL library which is not part of our package but a product of our org. The user will have to install this separately and it has been mentioned well in advance in our README. @jdstrand

Let me know if there is anything I can do here. I am not a pro or anything, so any suggestion would be more than welcome.

Btw, our debian package works just fine, but we also plan to let the user install the app via snap store, so we are kind of willing to go the extra mile here. But if after the end of conversation, we conclude that I’ll have to change a major chunk of code in my app to make it snap store compatible, then I’ll have to reconsider this whole snap package thing.

Thank you

@ogra @jdstrand Please feel free to ask me as many questions as you need to review this. I’ll be more than happy to answer. :slight_smile: And as we are open-source so you can comb through our code as well if it comes to that…

snap packages are kind of required to be self contained, so they ship everything they need to run the application they ship.

i dont think electron-builder is suited for building complex applications like this into a snap, rather use snapcraft directly with a proper snapcraft.yaml and have a part for the electron bits as well as a part for the PSL libaries.

as a start you could take a look at the “electron-helloworld” part in the snapcraft.yaml in:

adapt it for your electron app and move forward from there shipping the PSL libs in a second part.

Thank you for your time. We’ll see what we can do about it. :slight_smile: