Linux, Qt, deb-пакеты |
Здравствуйте, гость ( Вход | Регистрация )
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 вручную прописываешь, какие файлы и куда копировать при установке пакета. Примерно так:
Здесь путь $(CURDIR)/debian/qoobar/ текущей папки, в которой производится сборка пакета, будет в конечном итоге в самом пакете заменен на / 3. Указав, какие файлы куда пойдут, можно оздать .desktop файл:
Icon -это название файла рисунка без расширения, который должен храниться в /usr/share/icons/hicolor/48x48/apps Exec - команда на выполнение программы. Еще. Думаю, при создании пакета нет смысла копировать файлы пакета в /usr/local - как, по правилам, должно быть в секции install файла project.pro. Именно поэтому я методом проб и ошибок пришел к явному копироанию файлов в файле rules. Существует способ при создании makefile задать переменную DESTDIR, но как это сделать для qmake, я не знаю. Прилагаю архив с нужными для создания пакета файлами - это control и rules для моего собственного проекта qoobar. И еще. Не знаю насчет папки /usr/share/pixmaps, но собранный мною пакет прекрасно устанавливается и в меню gnome в разделе Аудио и видео видна иконка моей программы.
Прикрепленные файлы
|
|
|
Vass |
29.3.2010, 23:15
Сообщение
#3
|
Студент Группа: Участник Сообщений: 46 Регистрация: 17.3.2009 Из: Россия, Рыбинск Пользователь №: 617 Спасибо сказали: 8 раз(а) Репутация: 0 |
mkdir в инсталл вроде как можно не совать.
после того как выполниться dh_make появиться папка debian естественно вот в ней есть файлик dirs. В этом файлике можно указать какие директории потребуются и инсталлятор их потом сам прекрасно создаст, если мне не изменяет память. |
|
|
NordWest |
2.4.2010, 0:37
Сообщение
#4
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
К сожалению плохо понял, предыдущих ораторов. Может проблемы разные...
Некоторые программы в debian требуют для себя библиотеки qt тех версий, которые в репозитории, например через synaptic,имеют более старые версии. Скачал исходники версии 4.6.2, сделал как сказано в руководстве по установке embedded версии. Т.е. встроенной, как я понял. Сконфигурировал, собрал и установил в папку по умолчанию: /usr/local/Trolltech/QtEmbedded-4.6.2 . Добавил в файле /etc/profile PATH на bin в этой папке. Перезагрузился на всякий случай. Во-первых, эта версия, которая обнаружилась в qt-creator, собирается, но программа выдает при запуске в консоль какую-то фигню про сервер... Во-вторых, библиотеки нужных версий лежат в папке /usr/local/Trolltech/QtEmbedded-4.6.2/libs и толку от них. Приложения всё равно их не видят. Точнее сообщают, что установлена всё та же старая версия. Я что, чего то не доставил? Или не то ставил? Если просто перенести содержимое QtEmbedded-4.6.2 в папку /usr, например, то я достигну цели? Либо нужно пересобрать и при установке сразу указать папку /usr? |
|
|
molchanoviv |
2.4.2010, 7:13
Сообщение
#5
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Так создай sh-файл в котором внеси в переменные среды нужные пути. Ну или укажи пути в креаторе.
|
|
|
NordWest |
2.4.2010, 18:53
Сообщение
#6
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
А чем этот способ отличается от изменения файла /etc/profile? И что, указав в PATH папку libs, я заставлю чичтему считать библиотеки оттуда установленными?
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 2:37 |