Пакетирование приложения Qt
Admin (обсуждение | вклад) (→Создание пакета Maemo из проекта qmake) |
Admin (обсуждение | вклад) (→Пример) |
||
| (не показана 1 промежуточная версия 1 участника) | |||
| Строка 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 и выполнить изменения.