[kde-solaris] KDE4 Solaris packaging tools and standards [draft]

Karol Szwed kszwed at kde.org
Thu Jun 7 01:59:00 CEST 2007


The below is a draft of some packaging tools and build standards we intend
to use for creation of KDE4 packages on Solaris (x86 and SPARC).

Sun Studio 12 suite. Possibly with the new "-Qoption ccfe -features=gcc"
flags to improve compiler front-end compatibility with gcc where required.

Build tools:
Currently not decided. Some options considered are Konstruct / gar. In the
past, home grown scripts were used for automated packaging. It is also
likely to use pkgbuild for the creation of Solaris packages from rpm spec
files. This gives many opportunities for re-use to minimise packaging

Build platform:
The official release of Solaris 10 (pref. 11/06) will be the recommended
build platform. Nevada builds are also an option but there are no
guarantees of their stability or quality. KDE4 binary packages should
install and execute on both Nevada and Solaris 10.

Build environment:
KDE4 will require several supporting packages such as subversion, cmake
etc. It is intended to create a binary package set for rapid deployment of
these tools, somewhat analagous to the JDS common build environment bundle
available on OpenSolaris.

* No dependencies on blastwave or sunfreeware packages. (We don't want to
upset to many sysadmins!)
* Keep external dependencies limited to Sun supported, binary and
backwards compatible packages wherever possible to avoid issues such as
version mismatches. (i.e. as JDS moves from Gnome 2.0.6 to 2.0.18, many
core libraries are changing at least their minor version numbers.) The
intent is to ensure that a common set of KDE4 packages continue to work on
Solaris 10 throughout all Update releases.
* This will mean that there will be a somewhat larger set of package
dependencies we need to create, but this will ensure package longevity.

Install Paths:
* /opt/studio12 - Sun Studio 12 compiler suite
* /opt/foss - Free and Open Source Software dependencies such as libpng,
cups etc.
* /opt/qt4  - Qt4 installation root
* /opt/kde4 - KDE4 installation root

Package Name Standards:
FOSS<name><major>               i.e. FOSSsubversion14
TTqt<major-ver><minor-ver>      i.e. TTqt43
TTqtjambi<major-ver><minor-ver> i.e. TTqtjambi43
KDElibs<major-ver><minor>       i.e. KDElibs40
KDEbase<major-ver><minor>       i.e. KDEbase40

Patch updates:
Each of the above will be at the latest patch release. i.e. KDE libs 4.1.2
would be packaged into a KDElibs41 Solaris pkg. It is not yet decided
whether there should be standalone Solaris patches released so that
sysadmins can use patchadd / patchrm to install patch updates.

Zone / container support:
* It is intended to allow KDE to operate in a Zone/container (both sparse
and non-sparse), hence packaging must not preclude this operating model.


More information about the kde-solaris mailing list