Пакетирование приложения Qt
Admin (обсуждение | вклад) (→Создание пакета Maemo из проекта qmake) |
Admin (обсуждение | вклад) (→Пример) |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 24: | Строка 24: | ||
</pre> | </pre> | ||
− | Добавьте следующее данные в конец <code>src/src.pro</code>. Они добавляют раздел инсталляции в | + | Добавьте следующее данные в конец <code>src/src.pro</code>. Они добавляют раздел инсталляции в файл qmake. |
<pre> | <pre> | ||
Строка 82: | Строка 82: | ||
==== Редактирование файла с правилами ==== | ==== Редактирование файла с правилами ==== | ||
− | Файл с правилами, созданный при помощи <code>dh_make</code> и находящийся в <code>debian/rules</code>, будет изменен, чтобы выглядеть следующим образом. Используется qmake, поэтому нет никакого сценария <code>configure</code> , который можно было бы выполнить. При копировании и вставке следующего файла обратите внимание, что пропуски в начале строк – символы табуляции, а не многочисленные символы пробела. При копировании и вставке следующих данных, скорее всего, будут получены пробелы вместо символов табуляции и файл не будет работать. | + | Файл с правилами, созданный при помощи <code>dh_make</code> и находящийся в <code>debian/rules</code>, будет изменен, чтобы выглядеть следующим образом. Используется qmake, поэтому нет никакого сценария <code>configure</code>, который можно было бы выполнить. При копировании и вставке следующего файла обратите внимание, что пропуски в начале строк – символы табуляции, а не многочисленные символы пробела. При копировании и вставке следующих данных, скорее всего, будут получены пробелы вместо символов табуляции и файл не будет работать. |
<pre> | <pre> | ||
Строка 142: | Строка 142: | ||
=== Пример === | === Пример === | ||
− | [http://maemo.org/packages/view/qt-maemo-example/ Пакет с исходным кодом примера Qt для Maemo] можно загрузить из репозитория [[extras-devel]] следующим образом, если пакеты с исходными кодами активированы в файле <code>/etc/apt/sources.list</code>: | + | [http://maemo.org/packages/view/qt-maemo-example/ Пакет с исходным кодом примера Qt для Maemo] можно загрузить из репозитория [[Репозиторий Extras-devel|extras-devel]] следующим образом, если пакеты с исходными кодами активированы в файле <code>/etc/apt/sources.list</code>: |
apt-get source qt-maemo-example | apt-get source qt-maemo-example |
Текущая версия на 11:40, 21 апреля 2010
[править] Пакетирование приложения Qt
Содержание |
[править] Пакетирование приложения Qt для Maemo
Главная статья: [Пакетирование]
Пакетирование приложения Qt для Maemo очень схоже с пакетированием любого другого приложения, поэтому в данном документе содержится информация по вопросам, связанным исключительно с Qt пакетированием.
[править] Создание пакета Maemo из проекта qmake
Чтобы создать новый пакет для Maemo из проекта qmake, понадобится выполнить следующее:
- Переименуйте исходный каталог в
Package-Version
(например myapp-0.1 для приложения myapp с версией 0.1) - Создайте каталог src в
Package-Version/
- Скопируйте все файлы в каталог
src/
- Переименуйте
src/appname.pro
вsrc/src.pro
$mv myapp myapp-0.1 $cd myapp-0.1 $mkdir src $cp * src $mv src/appname.pro src/src.pro
Добавьте следующее данные в конец src/src.pro
. Они добавляют раздел инсталляции в файл qmake.
unix { #VARIABLES isEmpty(PREFIX) { PREFIX = /usr/local } BINDIR = $$PREFIX/bin DATADIR =$$PREFIX/share DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\" #MAKE INSTALL INSTALLS += target desktop iconxpm icon26 icon48 icon64 target.path =$$BINDIR desktop.path = $$DATADIR/applications/hildon desktop.files += $${TARGET}.desktop iconxpm.path = $$DATADIR/pixmap iconxpm.files += ../data/maemo/$${TARGET}.xpm icon26.path = $$DATADIR/icons/hicolor/26x26/apps icon26.files += ../data/26x26/$${TARGET}.png icon48.path = $$DATADIR/icons/hicolor/48x48/apps icon48.files += ../data/48x48/$${TARGET}.png icon64.path = $$DATADIR/icons/hicolor/64x64/apps icon64.files += ../data/64x64/$${TARGET}.png }
- Создайте файл
myapp-0.1/myapp.pro
следующим образом:
QMAKEVERSION = $$[QMAKE_VERSION] ISQT4 = $$find(QMAKEVERSION, ^[2-9]) isEmpty( ISQT4 ) { error("Use the qmake include with Qt4.4 or greater, on Debian that is qmake-qt4"); } TEMPLATE = subdirs SUBDIRS = src
- Выполните dh_make, чтобы перевести в операционную систему Debian архив с исходным кодом. Будут созданы:
- Архив с неизмененным апстрим исходным кодом (orig.tar.gz)
- Некоторые основные файлы в каталоге debian
- Некоторые файлы-образцы (*.EX *.ex)
export DEBFULLNAME="maintainer first name and last name" dh_make --createorig --single -e maintainer@email.org -c gpl
[править] Редактирование файла с правилами
Файл с правилами, созданный при помощи dh_make
и находящийся в debian/rules
, будет изменен, чтобы выглядеть следующим образом. Используется qmake, поэтому нет никакого сценария configure
, который можно было бы выполнить. При копировании и вставке следующего файла обратите внимание, что пропуски в начале строк – символы табуляции, а не многочисленные символы пробела. При копировании и вставке следующих данных, скорее всего, будут получены пробелы вместо символов табуляции и файл не будет работать.
#!/usr/bin/make -f APPNAME := my_app_name builddir: mkdir -p builddir builddir/Makefile: builddir cd builddir && qmake-qt4 PREFIX=/usr ../$(APPNAME).pro build: build-stamp build-stamp: builddir/Makefile dh_testdir # Add here commands to compile the package. cd builddir && $(MAKE) touch $@ clean: dh_testdir dh_testroot rm -f build-stamp # Add here commands to clean up after the build process. rm -rf builddir dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs # Add here commands to install the package into debian/your_appname cd builddir && $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/$(APPNAME) install # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installdocs dh_installexamples dh_installman dh_link dh_strip --dbg-package=my-application-dbg dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure
[править] Пример
Пакет с исходным кодом примера Qt для Maemo можно загрузить из репозитория extras-devel следующим образом, если пакеты с исходными кодами активированы в файле /etc/apt/sources.list
:
apt-get source qt-maemo-example
В результате использования данной команды будут загружены:
- неизмененный исходный текст программы (.orig.tar.gz)
- файл debian dsc (.dsc)
- файл diff (.diff)
и затем будет автоматически запущен dpkg -x file.dsc
, чтобы распаковать orig.tar.gz и выполнить изменения.