Meego Wiki
Views

SDK/Docs/1.0/Packaging/Tutorial

From MeeGo wiki
< SDK | Docs | 1.0(Difference between revisions)
Jump to: navigation, search
(Preparation)
 
(32 intermediate revisions not shown)
Line 1: Line 1:
== Introduction ==
== Introduction ==
-
MeeGo uses [http://en.wikipedia.org/wiki/RPM_Package_Manager RPM] as the package format. After you finish your application development work, you need to make a RPM package to publish it.
+
This page will create a MeeGo rpm package from an existing qt project - an OpenGL application called "textures" in qt examples. The original project is just a qt example project and has no icon and can not be launched from MeeGo UI. We will make it more like a stand alone application which can be launched from MeeGo applications panel and create a rpm package which can be installed on MeeGo device.
-
This page will introduce a tutorial to create RPM package with MeeGo SDK and tools.
+
-
To generate MeeGo adapted RPM packages, the [http://wiki.meego.com/Packaging/Guidelines MeeGo Packaging Guideline] should be followed. This page will provides a simple tutorial to create a MeeGo rpm package for an OpenGL application called "textures", which is an example in Qt demo.
+
== Preparation ==
== Preparation ==
The textures is one example of Qt demo and included in qt-examples package. The project is at /usr/lib/qt4/example/opengl/textures.  
The textures is one example of Qt demo and included in qt-examples package. The project is at /usr/lib/qt4/example/opengl/textures.  
-
* Copy it to a separate folder $workspace as an stand alone project. You can do it either in MeeGo SDK chroot or normal Linux machine with qt-examples installed.  
+
* Copy it to a separate folder $workspace as a stand-alone project. You can do it either in [[SDK/Docs/1.0/Building a MeeGo chroot on Linux|MeeGo SDK chroot]] or normal Linux machine with qt-examples installed.  
-
  cp -a /usr/lib/qt4/example/opengl/textures $workspace/textures-0.0.1
+
  cp -a /usr/lib/qt4/examples/opengl/textures $workspace/textures-0.0.1
 +
cd $workspace/textures-0.0.1
-
* Add an icon for the appilcation. we use one image from the project as the application icon.  
+
* Add an icon for the application. We reuse an image inside the project as the application icon.  
  cp images/side6.png textures.png
  cp images/side6.png textures.png
-
* Add a desktop file
+
* Add a desktop file so we can find the application from MeeGo applications panel.
  vi textures.desktop
  vi textures.desktop
with following contents:
with following contents:
Line 19: Line 18:
  Comment=Qt Demo Textures
  Comment=Qt Demo Textures
  Exec=textures
  Exec=textures
-
  Categories=System;
+
  Categories=Development;
  Icon=textures
  Icon=textures
  Type=Application
  Type=Application
Line 25: Line 24:
  StartupNotify=true
  StartupNotify=true
-
* Edit the $workspace/textures-0.0.1/textures.pro to remove dependency of Qt Example and add icon, desktop installation. The contents will be:  
+
* Edit textures.pro to remove some defines for Qt Example and add icon, desktop installation.  
 +
vi textures.pro
 +
The contents will be:
  HEADERS      = glwidget.h \
  HEADERS      = glwidget.h \
                 window.h
                 window.h
Line 38: Line 39:
  #sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS textures.pro images
  #sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS textures.pro images
  #sources.path = $$[QT_INSTALL_EXAMPLES]/opengl/textures
  #sources.path = $$[QT_INSTALL_EXAMPLES]/opengl/textures
-
  target.path = /usr/bin
+
  target.path = $$[install_prefix]/bin
  icon.files = textures.png
  icon.files = textures.png
-
  icon.path = /usr/share/icons
+
  icon.path = $$[install_prefix]/share/icons
  desktop.files = textures.desktop
  desktop.files = textures.desktop
-
  desktop.path = /usr/share/applications
+
  desktop.path = $$[install_prefix]/share/applications
   
   
  INSTALLS += target icon desktop
  INSTALLS += target icon desktop
-
* We can move the whole folder into MeeGo SDK chroot environment, build, debug and test it.
+
* If you want to test before packaging, you can build and debug it in the MeeGo SDK chroot. You can refer to [[SDK/Docs/1.0/Hello_World_-_MeeGo_x86_development_on_Linux|Hello World]] for an excmple of building in the MeeGo SDK chroot.  
-
  qmake
+
  qmake PREFIX=/usr
  make
  make
  make install
  make install
-
* Then we clean up the project and create the source tarball, which is ready to package.  
+
* Clean up the project and create the source tarball, which is ready to do packaging.  
  make distclean
  make distclean
  cd ..
  cd ..
Line 58: Line 59:
== Create spec file ==
== Create spec file ==
MeeGo recommends to use [http://wiki.meego.com/Spectacle Spectacle] to either create MeeGo spec file or convert existing spec file to MeeGo spec file.  
MeeGo recommends to use [http://wiki.meego.com/Spectacle Spectacle] to either create MeeGo spec file or convert existing spec file to MeeGo spec file.  
 +
==== Install Spectacle ====
==== Install Spectacle ====
* On MeeGo platform or MeeGo chroot environment, you can install it directly.  
* On MeeGo platform or MeeGo chroot environment, you can install it directly.  
-
yum install spectacle
 
-
Note: An known issue is you also need to install python-cheetah in MeeGo 1.0 SDK chroot
 
  yum install python-cheetah
  yum install python-cheetah
 +
yum install spectacle
 +
 +
* If you are behind proxy then before running the above commands,
 +
export http_proxy=http://proxy_server:port
 +
* On Linux Host machine, you can refer to [http://wiki.meego.com/Spectacle#Installation Spectacle Installation].
* On Linux Host machine, you can refer to [http://wiki.meego.com/Spectacle#Installation Spectacle Installation].
Line 69: Line 74:
* We create the textures.yaml in the $workspace/ folder
* We create the textures.yaml in the $workspace/ folder
 +
  vi $workspace/textures.yaml
  vi $workspace/textures.yaml
-
with following contents:
 
-
Name: spectacleName: textures
+
with the following content:
-
Summary: Qt Demo - OpenGL Textures
+
 
-
Version: 0.0.1
+
<pre>
-
Release: 1
+
Name: textures
-
Group: Applications/System
+
Summary: Qt Demo - OpenGL Textures
-
License: LGPLv2.1
+
Version: 0.0.1
-
URL: http://qt.nokia.com
+
Release: 1
-
Sources:
+
Group: Development/Tools
-
    - "%{name}-%{version}.tar.bz2"
+
License: LGPLv2.1
-
Description: Qt Demo OpenGL Textures  
+
URL: http://qt.nokia.com
 +
Sources:
 +
    - "%{name}-%{version}.tar.bz2"
 +
Description: Qt Demo OpenGL Textures  
-
PkgConfigBR:
+
PkgConfigBR:
-
    - QtCore >= 4.6.0
+
    - QtCore >= 4.6.0
-
    - QtOpenGL
+
    - QtOpenGL
-
    - QtGui
+
    - QtGui
-
Configure: none
+
Configure: none
-
Builder: none
+
Builder: none
-
Files:
+
Files:
-
    - /usr/bin/textures
+
    - "%{_bindir}/textures"
-
    - /usr/share/application/*.desktop
+
    - "%{_datadir}/applications/*.desktop"
-
    - /usr/share/icons/*.png
+
    - "%{_datadir}/icons/*.png"
 +
</pre>
* An YAML file can also be created from an existing spec file:
* An YAML file can also be created from an existing spec file:
Line 103: Line 112:
  specify textures.yaml
  specify textures.yaml
The generated $workspace/textures.spec file is:
The generated $workspace/textures.spec file is:
 +
<pre>
 +
#
 +
# Do not Edit! Generated by:
 +
# spectacle version 0.15
 +
#
 +
# >> macros
 +
# << macros
-
#
+
Name:      textures
-
# Do not Edit! Generated by:
+
Summary:    Qt Demo - OpenGL Textures
-
# spectacle version 0.15
+
Version:    0.0.1
-
#
+
Release:    1
-
# >> macros
+
Group:      Amusements/Graphics
-
# << macros
+
License:    LGPLv2.1
-
+
URL:        http://qt.nokia.com
-
Name:      textures
+
Source0:    %{name}-%{version}.tar.bz2
-
Summary:    Qt Demo - OpenGL Textures
+
Source100:  textures.yaml
-
Version:    0.0.1
+
Requires(post): desktop-file-utils
-
Release:    1
+
Requires(post): /bin/touch
-
Group:      Applications/System
+
Requires(postun): desktop-file-utils
-
License:    LGPLv2.1
+
BuildRequires:  pkgconfig(QtCore) >= 4.6.0
-
URL:        http://qt.nokia.com
+
BuildRequires:  pkgconfig(QtOpenGL)
-
Source0:    %{name}-%{version}.tar.bz2
+
BuildRequires:  pkgconfig(QtGui)
-
Source100:  textures.yaml
+
BuildRequires:  desktop-file-utils
-
Requires(post): desktop-file-utils
+
-
Requires(post): /bin/touch
+
-
Requires(postun): desktop-file-utils
+
-
BuildRequires:  pkgconfig(QtCore) >= 4.6.0
+
-
BuildRequires:  pkgconfig(QtOpenGL)
+
-
BuildRequires:  pkgconfig(QtGui)
+
-
BuildRequires:  desktop-file-utils  
+
-
+
-
%description
+
-
Qt Demo OpenGL Textures
+
-
+
-
+
-
%prep
+
-
%setup -q -n %{name}-%{version}
+
-
+
-
# >> setup
+
-
# << setup
+
-
+
-
%build
+
-
# >> build pre
+
-
# << build pre
+
-
+
-
+
-
# >> build post
+
-
# << build post
+
-
%install
+
-
rm -rf %{buildroot}
+
-
# >> install pre
+
-
# << install pre
+
-
+
-
# >> install post
+
-
# << install post
+
-
desktop-file-install --delete-original      \
+
-
  --dir %{buildroot}%{_datadir}/applications            \
+
-
    %{buildroot}%{_datadir}/applications/*
+
-
+
-
+
-
%post
+
-
/bin/touch --no-create %{_datadir}/icons/hicolor || :
+
-
%{_bindir}/gtk-update-icon-cache \
+
-
  --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
+
-
update-desktop-database %{_datadir}/applications &> /dev/null || :
+
-
+
-
%postun
+
-
/bin/touch --no-create %{_datadir}/icons/hicolor || :
+
-
%{_bindir}/gtk-update-icon-cache \
+
-
  --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
+
-
update-desktop-database %{_datadir}/applications &> /dev/null || :
+
-
+
-
+
-
%files
+
-
%defattr(-,root,root,-)
+
-
/usr/bin/textures
+
-
/usr/share/applications/*.desktop
+
-
/usr/share/icons/*.png
+
-
# >> files
+
-
# << files
+
-
* Modify the textures.spec to add qt build in "build pre" and "install post" sections.
+
%description
-
Note: In textures.yaml, we put "none" for the "Builder" option since the spectacle v0.15 does not support qt build well so we have to manually change the textures.spec. That limitation has been fixed in latest spectacle, which however is not included in MeeGo 1.0.
+
Qt Demo OpenGL Textures
-
# >> build pre
 
-
export PATH=$PATH:/usr/lib/qt4/bin
 
-
qmake-qt4
 
-
# << build pre
 
-
# >> install post
 
-
make INSTALL_ROOT=%{buildroot} install
 
-
# << install post
 
 +
%prep
 +
%setup -q -n %{name}-%{version}
 +
 +
# >> setup
 +
# << setup
 +
 +
%build
 +
# >> build pre
 +
# << build pre
 +
 +
 +
 +
# >> build post
 +
# << build post
 +
%install
 +
rm -rf %{buildroot}
 +
# >> install pre
 +
# << install pre
 +
 +
# >> install post
 +
# << install post
 +
desktop-file-install --delete-original      \
 +
  --dir %{buildroot}%{_datadir}/applications            \
 +
  %{buildroot}%{_datadir}/applications/*
 +
 +
 +
 +
%post
 +
/bin/touch --no-create %{_datadir}/icons/hicolor || :
 +
%{_bindir}/gtk-update-icon-cache \
 +
  --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
 +
update-desktop-database %{_datadir}/applications &> /dev/null || :
 +
 +
%postun
 +
/bin/touch --no-create %{_datadir}/icons/hicolor || :
 +
%{_bindir}/gtk-update-icon-cache \
 +
  --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
 +
update-desktop-database %{_datadir}/applications &> /dev/null || :
 +
 +
 +
%files
 +
%defattr(-,root,root,-)
 +
%{_bindir}/textures
 +
%{_datadir}/applications/*.desktop
 +
%{_datadir}/icons/*.png
 +
# >> files
 +
# << files
 +
</pre>
 +
 +
* Modify the textures.spec to add qt build in "build pre" and "install post" sections.
 +
Note: In textures.yaml, we put "none" for the "Builder" option since the spectacle v0.15 does not support qt build well so we have to manually change the textures.spec. That limitation has been fixed in latest spectacle, which however is not included in MeeGo 1.0.
 +
 +
<pre>
 +
# >> build pre
 +
export PATH=/usr/lib/qt4/bin:$PATH
 +
qmake PREFIX=%{_prefix}
 +
# << build pre
 +
</pre>
 +
<pre>
 +
# >> install post
 +
make INSTALL_ROOT=%{buildroot}/usr install
 +
# << install post
 +
</pre>
== Build rpm in MeeGo SDK chroot ==
== Build rpm in MeeGo SDK chroot ==
For application developers, they may want to create package directly from the [http://TBD MeeGo SDK chroot] environment. It's quite easy to use rpmbuild to do that.
For application developers, they may want to create package directly from the [http://TBD MeeGo SDK chroot] environment. It's quite easy to use rpmbuild to do that.
-
* Enter [http://TBD MeeGo SDK chroot environment]
+
* Enter the chroot (see [[SDK/Docs/1.0/Getting started with the MeeGo SDK for Linux]])
* Install rpmbuild and MeeGo rpm build configuration
* Install rpmbuild and MeeGo rpm build configuration
-
  yum install rpmbuild
+
  zypper install rpm-build
-
  yum install meego-rpm-config
+
  zypper install meego-rpm-config
* Copy source code and spec file to right place
* Copy source code and spec file to right place
Line 212: Line 227:
  ~/rpmbuild/SRPMS/textures-0.0.1-1.src.rpm
  ~/rpmbuild/SRPMS/textures-0.0.1-1.src.rpm
-
* Verify the rpm package
+
* More about rpmbuild can be found at [http://www.rpm.org/max-rpm-snapshot/ch-rpm-b-command.html rpmbuild]
-
cd ~/rpmbuild/RPMS/i586/
+
-
yum localinstall --nogpgcheck textures-0.0.1-1.i586.rpm
+
-
 
+
-
Then you can start the MeeGo SDK simulator and find QtDemoTextures in applications->System Tools. Click it and run. 
+
-
 
+
-
* More about rpmbuild can be found at [http://www.rpm.org/max-rpm-snapshot/ch-rpm-b-command.html rpmbuild]  
+
== Build rpm without chroot or OBS ==
== Build rpm without chroot or OBS ==
Line 228: Line 237:
     * Fedora 10,11,12
     * Fedora 10,11,12
     * openSUSE(s)     
     * openSUSE(s)     
-
     * xUbuntu 8.10/9.04/9.10
+
     * xUbuntu 8.10/9.04/9.10/10.04
     * Debian 5.0   
     * Debian 5.0   
* Create rpm package with build and spec file
* Create rpm package with build and spec file
-
  sudo build --repository http://repo.meego.com/MeeGo/release/1.0/core/repo/ia32/os/ --arch i686 spectacle.spec
+
  sudo build --repository http://repo.meego.com/MeeGo/releases/1.1/core/repos/ia32/packages/ --arch i686 textures.spec
The packages will be generated at /var/tmp/build-root/home/abuild/rpmbuild/RPMS/ and /var/tmp/build-root/home/abuild/rpmbuild/SRPMS/
The packages will be generated at /var/tmp/build-root/home/abuild/rpmbuild/RPMS/ and /var/tmp/build-root/home/abuild/rpmbuild/SRPMS/
You may configure your http_proxy to make sure the repo can be accessed.  
You may configure your http_proxy to make sure the repo can be accessed.  
  export http_proxy=<nowiki>http://proxy_server:port</nowiki>
  export http_proxy=<nowiki>http://proxy_server:port</nowiki>
 +
 +
== Verify the rpm package ==
 +
The rpm package can be installed on MeeGo devices or MeeGo SDK simulator directly. Copy the rpm to target device or simulator and run:
 +
zypper --no-gpg-checks install textures-0.0.1-1.i586.rpm
 +
 +
Then you can find QtDemoTextures in applications under ''Programming''. It's ready to be distributed.
 +
 +
[[Category:SDK]]
 +
[[Category:Packaging]]
 +
[[Category:Tutorial]]
 +
[[Category:Meego-1.0]]

Latest revision as of 13:50, 21 May 2011

Contents

Introduction

This page will create a MeeGo rpm package from an existing qt project - an OpenGL application called "textures" in qt examples. The original project is just a qt example project and has no icon and can not be launched from MeeGo UI. We will make it more like a stand alone application which can be launched from MeeGo applications panel and create a rpm package which can be installed on MeeGo device.

Preparation

The textures is one example of Qt demo and included in qt-examples package. The project is at /usr/lib/qt4/example/opengl/textures.

  • Copy it to a separate folder $workspace as a stand-alone project. You can do it either in MeeGo SDK chroot or normal Linux machine with qt-examples installed.
cp -a /usr/lib/qt4/examples/opengl/textures $workspace/textures-0.0.1
cd $workspace/textures-0.0.1
  • Add an icon for the application. We reuse an image inside the project as the application icon.
cp images/side6.png textures.png
  • Add a desktop file so we can find the application from MeeGo applications panel.
vi textures.desktop

with following contents:

[Desktop Entry]
Name=QtDemoTextures
Comment=Qt Demo Textures
Exec=textures
Categories=Development;
Icon=textures
Type=Application
Terminal=false
StartupNotify=true
  • Edit textures.pro to remove some defines for Qt Example and add icon, desktop installation.
vi textures.pro

The contents will be:

HEADERS       = glwidget.h \
                window.h
SOURCES       = glwidget.cpp \
                main.cpp \
                window.cpp
RESOURCES     = textures.qrc
QT           += opengl

# install
#target.path = $$[QT_INSTALL_EXAMPLES]/opengl/textures
#sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS textures.pro images
#sources.path = $$[QT_INSTALL_EXAMPLES]/opengl/textures
target.path = $$[install_prefix]/bin
icon.files = textures.png
icon.path = $$[install_prefix]/share/icons
desktop.files = textures.desktop
desktop.path = $$[install_prefix]/share/applications

INSTALLS += target icon desktop
  • If you want to test before packaging, you can build and debug it in the MeeGo SDK chroot. You can refer to Hello World for an excmple of building in the MeeGo SDK chroot.
qmake PREFIX=/usr
make
make install
  • Clean up the project and create the source tarball, which is ready to do packaging.
make distclean
cd ..
tar jcvf textures-0.0.1.tar.bz2 textures-0.0.1

Create spec file

MeeGo recommends to use Spectacle to either create MeeGo spec file or convert existing spec file to MeeGo spec file.

Install Spectacle

  • On MeeGo platform or MeeGo chroot environment, you can install it directly.
yum install python-cheetah
yum install spectacle
  • If you are behind proxy then before running the above commands,
export http_proxy=http://proxy_server:port

Create YAML package meta-data file

Spectacle uses a package meta-data file as the input to generate MeeGo spec file. The meta-data file is in YAML format. Spectacle defines specific Syntax of Spectacle YAML.

  • We create the textures.yaml in the $workspace/ folder
vi $workspace/textures.yaml

with the following content:

Name: textures
Summary: Qt Demo - OpenGL Textures
Version: 0.0.1
Release: 1
Group: Development/Tools
License: LGPLv2.1
URL: http://qt.nokia.com
Sources:
    - "%{name}-%{version}.tar.bz2"
Description: Qt Demo OpenGL Textures 

PkgConfigBR:
    - QtCore >= 4.6.0
    - QtOpenGL
    - QtGui
Configure: none
Builder: none
Files:
    - "%{_bindir}/textures"
    - "%{_datadir}/applications/*.desktop"
    - "%{_datadir}/icons/*.png"
  • An YAML file can also be created from an existing spec file:
spec2spectacle package_name.spec

Generate spec file from YAML meta-data file

With the YAML file, the spec file can be easily generated:

specify textures.yaml

The generated $workspace/textures.spec file is:

# 
# Do not Edit! Generated by:
# spectacle version 0.15
# 
# >> macros
# << macros

Name:       textures
Summary:    Qt Demo - OpenGL Textures
Version:    0.0.1
Release:    1
Group:      Amusements/Graphics
License:    LGPLv2.1
URL:        http://qt.nokia.com
Source0:    %{name}-%{version}.tar.bz2
Source100:  textures.yaml
Requires(post): desktop-file-utils
Requires(post): /bin/touch
Requires(postun): desktop-file-utils
BuildRequires:  pkgconfig(QtCore) >= 4.6.0
BuildRequires:  pkgconfig(QtOpenGL)
BuildRequires:  pkgconfig(QtGui)
BuildRequires:  desktop-file-utils

%description
Qt Demo OpenGL Textures



%prep
%setup -q -n %{name}-%{version}

# >> setup
# << setup

%build
# >> build pre
# << build pre



# >> build post
# << build post
%install
rm -rf %{buildroot}
# >> install pre
# << install pre

# >> install post
# << install post
desktop-file-install --delete-original       \
  --dir %{buildroot}%{_datadir}/applications             \
   %{buildroot}%{_datadir}/applications/*



%post
/bin/touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache \
  --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
update-desktop-database %{_datadir}/applications &> /dev/null || :

%postun
/bin/touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache \
  --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
update-desktop-database %{_datadir}/applications &> /dev/null || :


%files
%defattr(-,root,root,-)
%{_bindir}/textures
%{_datadir}/applications/*.desktop
%{_datadir}/icons/*.png
# >> files
# << files
  • Modify the textures.spec to add qt build in "build pre" and "install post" sections.

Note: In textures.yaml, we put "none" for the "Builder" option since the spectacle v0.15 does not support qt build well so we have to manually change the textures.spec. That limitation has been fixed in latest spectacle, which however is not included in MeeGo 1.0.

# >> build pre
export PATH=/usr/lib/qt4/bin:$PATH
qmake PREFIX=%{_prefix}
# << build pre
# >> install post
make INSTALL_ROOT=%{buildroot}/usr install
# << install post

Build rpm in MeeGo SDK chroot

For application developers, they may want to create package directly from the MeeGo SDK chroot environment. It's quite easy to use rpmbuild to do that.

  • Install rpmbuild and MeeGo rpm build configuration
zypper install rpm-build
zypper install meego-rpm-config
  • Copy source code and spec file to right place
cp textures-0.0.1.tar.bz2 ~/rpmbuild/SOURCES/
cp textures.yaml ~/rpmbuild/SOURCES/
cp textures.spec ~/rpmbuild/SPECS/
  • Generate rpm package
cd ~/rpmbuild/SPECS
rpmbuild -ba textures.spec

Then the rpm packages will be generated at:

~/rpmbuild/RPMS/i586/textures-0.0.1-1.i586.rpm
~/rpmbuild/SRPMS/textures-0.0.1-1.src.rpm
  • More about rpmbuild can be found at rpmbuild

Build rpm without chroot or OBS

For people who do build or release, they may just want to build packages without the MeeGo SDK chroot environment. The following steps are useful for them.

Linux

Under Linux, a tool called "build" is used to create rpm packages directly from spec file.

  • Install build on your Linux host machine. You can find the repo link and packages at MeeGo Tools Repo. Following Lnux distributions are supported
   * MeeGo
   * Fedora 10,11,12
   * openSUSE(s)    
   * xUbuntu 8.10/9.04/9.10/10.04
   * Debian 5.0   
  • Create rpm package with build and spec file
sudo build --repository http://repo.meego.com/MeeGo/releases/1.1/core/repos/ia32/packages/ --arch i686 textures.spec

The packages will be generated at /var/tmp/build-root/home/abuild/rpmbuild/RPMS/ and /var/tmp/build-root/home/abuild/rpmbuild/SRPMS/ You may configure your http_proxy to make sure the repo can be accessed.

export http_proxy=http://proxy_server:port

Verify the rpm package

The rpm package can be installed on MeeGo devices or MeeGo SDK simulator directly. Copy the rpm to target device or simulator and run:

zypper --no-gpg-checks install textures-0.0.1-1.i586.rpm

Then you can find QtDemoTextures in applications under Programming. It's ready to be distributed.

Personal tools