Dear readers.
I want to publish an innovative meta-programming platform on snap store. The name of the platform is “Pcynlitx”. The platform is an outcome a scientific research project and it produces cybernetic thread management system. Actually, this system is an intelligent integrated development environment and it produces project-specific cybernetic thread management library based on the programmer needs. The platform receives the programmer requirements from the graphical user interface and the meta-programs on the platform produce thread management library in each time. The libraries are produced on the locations in which the programmer specified. Therefore, the platform must reach at least the user directories. This is the reason why a classic confinement is required. First of all, I want to learn whether constructing such a snap package with strict confinement is possible. If it is, how can i construct snap package. My snapcraft.yaml file is given in below.
name: pcynlitx
base: core20
version: ‘1.0’
icon: snap/gui/icon.png
license: GPL-3.0
summary: An intelligent ide which is specialized to multithreading
description: |
Pcynlitx is an intelligent software development environment which is
specialized to the multithreading application. Thanks to the its
meta-programming systems, it buils a cybernetic thread management
library that best fits the programmer needs.
grade: stable
confinement: classic
apps:
pcynlitx:
command: usr/bin/Pcynlitx
parts:
pcynlitx:
plugin: nil
source: src/
source-type: local
override-build: |
mkdir -pv $SNAPCRAFT_PART_INSTALL/usr/bin
mkdir -pv $SNAPCRAFT_PART_INSTALL/usr/share/Pcynlitx
mkdir -pv $SNAPCRAFT_PART_INSTALL/usr/share/Pcynlitx/icons
cd $SNAPCRAFT_PART_SRC/usr/bin
cp * $SNAPCRAFT_PART_INSTALL/usr/bin
cd $SNAPCRAFT_PART_SRC/usr/share/Pcynlitx/icons
cp *.png $SNAPCRAFT_PART_INSTALL/usr/share/Pcynlitx/icons
cd $SNAPCRAFT_PART_SRC/usr/share/Pcynlitx
cp Intro_File.png $SNAPCRAFT_PART_INSTALL/usr/share/Pcynlitx
stage-packages:
- g++
- build-essential
- libgtk-3-0
- libwxbase3.0-0v5
- libwxbase3.0-dev
- libwxgtk3.0-gtk3-0v5
- libwxgtk3.0-gtk3-dev
- wx-common
- wx-i18n
- fonts-liberation
- fonts-linuxlibertine
override-stage: |
snapcraftctl stage
cd $SNAPCRAFT_PART_SRC/usr/bin
cp * $SNAPCRAFT_STAGE/usr/bin
cd $SNAPCRAFT_PART_SRC/usr/share/Pcynlitx/icons
cp *.png $SNAPCRAFT_STAGE/usr/share/Pcynlitx/icons
cd $SNAPCRAFT_PART_SRC/usr/share/Pcynlitx
cp Intro_File.png $SNAPCRAFT_STAGE/usr/share/Pcynlitx
If classic is necessary, how can i publish my work. I have seen that atom editor uses classic confinement. I have uploaded the package but I did not released yet.
In addition, I have found that snapcraft as a very important project and I always want to be in a contact with snapcraft team.
Thanks and best regards.
Erkam Murat Bozkurt.
M.Sc in Control Systems Engineering.
Istanbul / Turkey
www.pcynlitx.tech