How do I package a linux application using MonoDevelop?

I have a hobby project written in C # using MonoDevelop. I've been trying to think about linux packaging for some time, but I keep despairing of disappointment and suppression.

My program consists of:

  • A library project ("Generator") that makes material with data created by my program.
  • The ui project ("Interface") using Gtk #. This project has two subdirectories: "glade" (the xml files that gtk uses to create widgets) and "book" (the data used by my program).
  • Utility project ("Utils") used by both the library and the interface.
  • The main project ("MyProgramName"), which is just starting the interface.

What (I think) I want to do is very simple (I think):

  • Compile my application
  • Copy .exe and .dll files (to / usr / local / bin?)
  • Copy the book directory (to / usr / local / bin?)
  • Copy the "glade" directory (to / usr / local / bin?)

Oh, and I want to do it as a .deb package. I think that if I can get tarball to work, the .deb package should not be too complicated, but that is what I want to do in the end.

I'm still not quite sure how to do this. I used MonoDevelop to create a Tarball. When I install the tarball (using ./configure, make, sudo checkinstall), it seems that it sets the executable code (and even creates a command to start the program), but forgets the "books" and "clearing" directories.

? , / . , , , ( , ).

+5
2

Debian tar - . Debian...

  • tarball .
  • DEBIAN . .
  • dpkg --build.

GNU autotools: autoconf automake. . ./configure. , . , , ...

  • configure.in "" "".
  • Makefile.am "" "".

, project.deb.

# ./configure --prefix build/usr
# make && make install
# dpkg --build build project.deb
+4

, .

deb, :

<YOUR PACKAGE NAME>
└── deb
    ├── DEBIAN
    │   ├── conffiles
    │   ├── control
    │   └── preinst
    └── opt
        └── <YOUR APPLICATION>
            └── <Your Application Contents>  

, deb 2 :

  • DEBIAN - , deb
  • , . /opt/<YOUR APPLICATION>.

DEBIAN control, . , . ( ) :

Package:packagingmono
Version:1.0
Maintainer:Mikael Chudinov <mikael@chudinov.net>
Architecture:amd64
Section:net
Description:Template for Debian packaged Mono application.
Depends:mono-complete (>=3)
  • Package . / , -.
  • Version - . .
  • Maintainer - .
  • Architecture - i386, amd64. , x86 x64, ( , x64 x86, AnyCPU), .deb Architecture . .
  • Section - , debian apt.
  • Description. - ( ) ( ).
  • Depends - . mono-complete, , 3

deb , ( bin) . ​​ , , , . , dll-hell . , .

GNU/Linux, . , xbuild MSBuild, . Windows. lintian .deb. - , MSBuild.

+3

All Articles