crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Linux, Qt, deb-пакеты
breeve
  опции профиля:
сообщение 29.3.2010, 21:02
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Хочется сделать из исходника полноценный deb пакет. В принципе как сделать сам пакет более или менее знаю, если только делать из чужих исходников. Сделал пакет но он не ставится, думаю это связано с тем что, перед запуском dh_make нужно поковырять makefile. И я не знаю что делать с графой install. Что туда писать?
И все это началось с того что мне нужно было поставить иконку на бинарник. Узнал что чтобы выставить иконку в папке /usr/share/apllication desktop файл, а в /usr/share/pixmaps должна быть иконка. но как их сделать/затолкать туда?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
novichkov
  опции профиля:
сообщение 29.3.2010, 21:32
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 64
Регистрация: 20.3.2008
Из: Северодвинск
Пользователь №: 128

Спасибо сказали: 6 раз(а)




Репутация:   1  


1. В файле rules в секции build-stamp не прописывать команду qmake, а до генерации нужных файлов командой dh_make самому сделать qmake *.pro (если используешь cmake, то все проще).
2. В том же файле в секции install вручную прописываешь, какие файлы и куда копировать при установке пакета. Примерно так:

        mkdir -p '$(CURDIR)/debian/qoobar/usr/bin'
    cp -f -- bin/qoobar '$(CURDIR)/debian/qoobar/usr/bin'
    mkdir -p '$(CURDIR)/debian/qoobar/usr/share/applications'
    cp qoobar.desktop '$(CURDIR)/debian/qoobar/usr/share/applications'
    mkdir -p '$(CURDIR)/debian/qoobar/usr/share/icons/hicolor/48x48/apps'
    cp src/icons/qoobar.png '$(CURDIR)/debian/qoobar/usr/share/icons/hicolor/48x48/apps/qoobar.png'

Здесь путь $(CURDIR)/debian/qoobar/ текущей папки, в которой производится сборка пакета, будет в конечном итоге в самом пакете заменен на /

3. Указав, какие файлы куда пойдут, можно оздать .desktop файл:

[Desktop Entry]
Type=Application
Icon=qoobar
Exec=qoobar
Comment=Qoobar - tagger for classical music
Name=Qoobar
Categories=Audio;Qt;AudioVideo;
Name[ru_RU]=qoobar
Comment[ru_RU.UTF-8]=Qoobar - редактор тегов для классической музыки


Icon -это название файла рисунка без расширения, который должен храниться в /usr/share/icons/hicolor/48x48/apps
Exec - команда на выполнение программы.

Еще. Думаю, при создании пакета нет смысла копировать файлы пакета в /usr/local - как, по правилам, должно быть в секции install файла project.pro. Именно поэтому я методом проб и ошибок пришел к явному копироанию файлов в файле rules. Существует способ при создании makefile задать переменную DESTDIR, но как это сделать для qmake, я не знаю.

Прилагаю архив с нужными для создания пакета файлами - это control и rules для моего собственного проекта qoobar.

И еще. Не знаю насчет папки /usr/share/pixmaps, но собранный мною пакет прекрасно устанавливается и в меню gnome в разделе Аудио и видео видна иконка моей программы.
Прикрепленные файлы
Прикрепленный файл  debian.tar.gz ( 1,49 килобайт ) Кол-во скачиваний: 452
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Vass
  опции профиля:
сообщение 29.3.2010, 23:15
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 17.3.2009
Из: Россия, Рыбинск
Пользователь №: 617

Спасибо сказали: 8 раз(а)




Репутация:   0  


mkdir в инсталл вроде как можно не совать.
после того как выполниться dh_make появиться папка debian естественно
вот в ней есть файлик dirs.
В этом файлике можно указать какие директории потребуются и инсталлятор их потом сам прекрасно создаст, если мне не изменяет память.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 18:37