#c# #deployment #ubuntu #mono #gtk#
#c# #развертывание #ubuntu #mono #gtk#
Вопрос:
Я упаковываю свое приложение Mono GTK # для Ubuntu / Debian (.deb).
- Как мне узнать, какие зависимости нужно перечислить в управляющем файле?
- Какие из них являются стандартными для самих mono и gtk #? Это те, которые заканчиваются на -dev?
Я просмотрел документацию по упаковке Debian, но эти примеры кажутся чрезмерно сложными из-за перехватов после установки и т. Д.
Примеры в документации mono в основном касаются дистрибутивов с исходными кодами с automake и т. Д. Я просто хочу поместить туда двоичные файлы.
Ответ №1:
Я только что прошел процесс упаковки моего приложения GTK # mono (с большим запасом) для debian.
Вот мой файл управления:
Source: widemargin
Section: gnome
Priority: extra
Maintainer: Debian CLI Applications Team <pkg-cli-apps-team@lists.alioth.debian.org>
Uploaders: Daniel Hughes <trampster@gmail.com>
Build-Depends: debhelper (>= 7.0.50~), cli-common-dev (>= 0.7.1), mono-xbuild (>= 2.6.7), libgtk2.0-cil-dev (>= 2.12.10), mono-devel (>= 2.6.7), libglade2.0-cil-dev (>= 2.12.10)
Standards-Version: 3.9.2
Homepage: https://bitbucket.org/trampster/widemargin
Vcs-Git: git://git.debian.org/git/pkg-cli-apps/packages/widemargin.git
Vcs-Browser: http://git.debian.org/?p=pkg-cli-apps/packages/widemargin.git
Package: widemargin
Architecture: all
Depends: ${cli:Depends}, ${misc:Depends}
Description: bible reading and study application
Wide Margin is a bible reading and study application. It has a focus on
speed and simplicity. Features include, as you type searching and passage
navigation, familiar browser based interface, full navigation history and
a built in reading planner which will have you read the old testament
once and the new testament twice every year.
Здесь важно отметить, что если вы используете $ {cli: Depends}, $ {misc: Depends} в вашем разделе Depends, зависимости будут автоматически отсортированы для вас.
Однако вам придется вручную настроить зависимости от сборки.
Второй совет — перейти на irc-канал #debian-cli, он содержит все упаковщики mono для debain. Они очень полезны и будут спонсировать ваш пакет для вас, когда он будет готов.
Комментарии:
1. Спасибо за информацию. Почему вы включаете xbuild в Build-Depends? Содержит ли этот пакет исходный код? И работает ли трюк с $ {cli: Depends}, $ {misc: Depends} также с предварительно скомпилированными двоичными файлами?
2. Xbuild — это версия msbuild для mono. Это то, что я использую для создания своих двоичных файлов. И да, мой пакет собран из исходного кода (если вы хотите, чтобы он был в debain, он должен быть таким). Я не знаю ответа на ваш последний вопрос, я бы перешел на irc-канал @debian-cli и спросил там.
3. Хорошо, итак, как я уже упоминал, я хочу упаковать двоичные файлы. Это не должен быть пакет для репозиториев Debian, я буду распространять сам. Но спасибо за ваш совет, я поспрашиваю там, возможно, я смогу вернуть услугу.
Ответ №2:
Взгляните на этот учебник:
https://wiki.ubuntu.com/PackagingGuide/Mono
Я сам еще не пробовал, но пока это кажется кратким.
Комментарии:
1. Спасибо за ваш ответ, но, как я уже сказал, я просмотрел эти документы. В зависимости, на которые вы ссылаетесь, говорится: «В этом руководстве предполагается, что вы знаете, какие библиотеки mono требуются для сборки пакета. В этом примере вам понадобится libgtk2.0-cil-dev, libvte0.16-cil-dev, libwebkit-cil-dev . Таким образом, вы добавляете их в строку build-depends в управляющем файле «. Итак, как мне узнать, применимо ли это также к моему приложению?
2. Если ваше приложение компилируется, у вас уже есть вся необходимая информация. Например, если ваше решение для компиляции из командной строки или monodevelop включает
gkeyfile-sharp
в себя, вы можете выдать adpkg -S gkeyfile-sharp.dll
для получения имени пакета среды выполнения и adpkg -S gkeyfile-sharp.pc
для получения пакета разработки.3. И буду ли я распространять пакет разработки или пакет среды выполнения?