The grade of the snap is marked as devel, which is great while the
app is being developed but means that the snap is not eligible to be
published to candidate or stable release channels. This change marks
the snap grade as stable to allow it to be released.
Additionally, the automatic snap publishing that happens for each
commit pushed to the unstable branch has been failing to release
the snap revisions due to a symlink introduced in the openjdk package
for which leaves a dangling symlink certs. The blacklisted.certs
should be now contained in blocked.certs so we add that to the list
of files to remove when being primed (final preparation for snap
packaging).
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
The update to use dbcook's component database adds a git submodule. The
submodule configuration needs to use an https transport rather than an
ssh transport for users not logged in through git (snapcraft builds
aren't; they're in a clean room).
Additionally, the snapcraft.yaml file needs to be told the source type
is git in order to automatically udpate an pull in submodules.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
The snap store review team has approved auto-connecting the plugs
for OpenRocket to allow the application to access the .openrocket
and .java/.userPrefs directories on Linux without needing user
interaction.
This patch adjusts the snapcraft.yaml definition per the feedback at
https://forum.snapcraft.io/t/request-for-personal-files-for-openrocket/20579/5
This patch will also migrate the java preferences from the user's
home directory to the $SNAP_COMMON directory since write access will
not be allowed to the default preferences api.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Initial feedback from the Snapcraft store suggests to further refine
the dot-java-user-prefs interface name to include OpenRocket so its
clear to a user which files are being accessed. This changes the
interface name to accomodate that feedback.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Drop gcc as a build-dependency as LP#1883392 was fixed and delivered.
Additionally, change personal-files interfaces to be more explicit which
should allow for the snap store assertions which will possibly allow the
auto-connecting of the interfaces upon install for the OpenRocket app.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Adds gcc as a build package to work around a recently introduced
snapcraft bug (https://bugs.launchpad.net/snapcraft/+bug/1883392) which
causes the snap to fail to build due to not having gcc for the gnome
extensions.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Add plugs which use the personal-files interface for snaps to allow
the users to enable OpenRocket to access the ~/.java and ~/.openrocket
directories. Currently, these must be manually connected by the user,
so the launcher is updated to ensure the user experience degrades
appropriately when they are not connected.
This method allows for new installations to OpenRocket without any
changes and for users migrating to the snap from the jar to be able
to connect their existing preferences and databases.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Fix the user preferences location for snaps to go to the user's snap
directory $SNAP_USER_COMMON, which stores data across multiple versions
of the snap.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Snaps are a universal packaging format for Linux platforms
and is available for most major Linux distributions.
This commit adds support for building OpenRocket as a snap. The
snap convention is to place snap relevant information in the top
level snap directory. The snapcraft.yaml file provides information
regarding what should be in the snap and how to build it.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>