2014-01-31 4 views
1

Раньше я успешно создал debian пакеты, которые были простыми на их пути. Но теперь я должен создать то же самое для своего приложения, которое зависит от внешних пакетов. Требуются внешние пакеты libwebkitgtk-1.0-0 и jdk1.7.0. Я хочу, чтобы они автоматически устанавливались. Также у моего программного обеспечения есть определенные данные, которые необходимо сохранить в домашнем каталоге пользователя.Создание пакета debian на Ubuntu 12.04 LTS

Pls руководство меня на этом.

ответ

2

Ваш файл debian/control должен иметь объявление Depends: для других необходимых ему пакетов. Apt загрузит и установит их для вас, dpkg откажется устанавливать, если они не установлены.

Пакеты Debian не имеют записей в домашних каталогах пользователей. Возможно, создайте оболочку, которая заполняет домашний каталог пользователя копией /usr/share/yourpackage/config/*, если требуемые файлы отсутствуют.

#!/bin/sh 
test -d $HOME/.yourpackage || 
    cp -r /usr/share/yourpackage/config $HOME/.yourpackage 
exec /usr/lib/yourpackage/yourpackage.bin "[email protected]" 

Таким образом, реальный двоичный файл в yourpackage.bin и эта обертка /usr/bin/yourpackage.

Для дополнительных точек используйте переменные окружения, чтобы пути не были полностью жестко закодированы. Возможно, более важно для себя (упрощает тестирование), чем для ваших пользователей, но не забывайте о потребностях обоих.

(Подсказка: ${YOURPACKAGE_SITE_CONFIG-/usr/share/yourpackage/config} расширится до значения $YOURPACKAGE_SITE_CONFIG, если он установлен, в противном случае /usr/share/yourpackage/config Вы можете захотеть сделать что-то подобное для $YOURPACKAGE_CONFIG и $YOURPACKAGE_BIN, чтобы быть в состоянии выполнить простой тест в директории сборки с переопределением для. все три.)

Смежные вопросы