Xamarin.forms: [Bug] Packaging GTK# application problem

Created on 27 Jun 2020  路  10Comments  路  Source: xamarin/Xamarin.Forms

Description

I've followed this tutorial here for adding GTK to Xamarin.Forms project:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/other/gtk?tabs=windows

GTK# works nicely on Mac, Windows and Linux. The problem I have is with Publishing/Packaging application on Linux using latest MonoDevelop - it fails every time

Steps to Reproduce

  1. Go to MonoDevelop on Linux
  2. Right click the GTK# project => Tools => Create Package
  3. Archive of Binaries
  4. Select project and set build to Linux Release and archive tar.gz

Expected Behavior

Generate tar.gz package

Actual Behavior

Package creation failed

Basic Information

  • Version with issue: 4.4.0
  • IDE: MonoDevelop 7.8.4
gtk unverified bug

All 10 comments

@zejtin Could you share more information about how are you packing it?.
I have done some tests using MonoDevelop 7.8.4:

tipcalc-linux

tipcalc-package

Sure thing, here are the steps:

Screenshot 2020-07-04 at 08 19 33

Screenshot 2020-07-04 at 08 19 40

Screenshot 2020-07-04 at 08 20 31

Screenshot 2020-07-04 at 08 21 54

Just to add that the Archive of Sources works for me, but I am not looking for this, I'm looking for a way to publish application for further distribution, which I presume is Archive of Binaries but I might be wrong?

I think this is a MonoDevelop bug, not a Xamarin.Forms bug.

Is there a way to do this packaging manually?

of course? just use the command line

But what commands should be executed, do you have some link for reference? Is it possible to make deb/rpm files beside tar.gz?

Honestly speaking: welcome to the vast world of app packaging. Creating tar.gz via command line is easy; creating deb/rpms is not that easy (although many tools alleviate the pain, such as https://github.com/jordansissel/fpm ), but these days I wouldn't ever bother with that, the new way of packaging stuff (that is modern, cross-distro and secure via sandbox) is to use snap or flatpak. For an example of how to package mono apps with snap, take a look at this: https://gitlab.com/nblockchain/geewallet/-/blob/frontend/scripts/snap_build.sh ; for an example of how to package a mono app with flatpak, look for SparkleShare.

Thank you very much for the links and detailed explanation! I'll let you know how it went :)

Btw I've opened issue on monodevelop for this bug if anyone stumbles upon this https://github.com/mono/monodevelop/issues/9643

Btw I've opened issue on monodevelop

Great, you can close this issue then.

Was this page helpful?
0 / 5 - 0 ratings