Qt5 Packaging

Qt5 Packaking Process
Following procedure automates the communication between a packager, Gitorious and OBS.

Following directory paths are required:


 * Clone of Qt5 Git repository (/work/qt5 in this example)
 * Checkout of Qt5 project from selected OBS (/work/obs/qt5 in this example)
 * Qt-specs (/work/qt-specs in this example) (https://gitorious.org/qt-spec-effort/qt-specs)

Prequicities
Checkout OBS Project machine:/work/obs$ osc co qt5

Clone git tree machine:/work$ git clone git://gitorious.org/qt/qt5.git

Configuration
Open update-sources.sh for editing and change following details according to your directory structure:

QT5_DIR=/work/qt5 OBSDIR=/work/obs/qt5
 * 1) QT5_DIR is the directory where qt5 and all the submodules have been
 * 2) checked into
 * 1) OBSDIR is the directory holding your OBS qt5 project

Process in nutshell
./update-sources.sh --help ./update-sources.sh --no-pull

update-sources.sh command has following functionality


 * Fetch latest Qt5 tree from Gitorious
 * Include .spec, .changes and .path files from qt-specs
 * Create tarballs from Qt5 tree
 * Commit previously mentioned source packages to OBS

Workflow
Create a patch: machine:/work/qt-specs$ ecmas qtbase/files/fix-borken-thingies.patch Modify packaging: machine:/work/qt-specs$ ecmas qtbase/qtbase.spec

Commit changes to OBS: machine:/work/qt-specs$ ./update-sources.sh --no-pull

Follow OBS logs and fix more things.