KDE/FreeBSD initiative • Installation • Bleeding Edge

Bleeding edge

Development of the Qt and KDE ports maintained by the KDE on FreeBSD team happens in the area51 repository. New versions and changes the ports are always committed there first and only later hit the ports tree. Even though the ports in the area51 repository are not always in a stable state, users are encouraged to test them and report problems, especially during the call for tests periods.

The area51 repository is hosted by PC-BSD. The history of commits is recorded in the KDE on FreeBSD mailing list. Additionally, the repository and its history can be viewed online.


Source Organization

There are a number of different branches in the area51 repository.
  • trunk/ is generally stable. This is where the next set of changes to send to the official ports tree is assembled. It generally tracks official ports fairly closely, with occasional divergence as something new is created. (Note that is is different from most development trees, where trunk is the most unstable branch).
  • branches/<foo> is where feature development is done before it ends up in trunk/. These branches are generally ahead of trunk, and may be unstable while features are developed.
    • branches/plasma5 is where the plasma5 ports are created; this includes KDE Plasma 5 Desktop and KDE Applications for KDE Frameworks 5.
    • branches/qt-5.7 is where Qt 5.7 development happens. FreeBSD ports are set to Qt 5.6.2 (LTS) for now.

Packages and Build Status

The current status of some of the branches of the area51 repository can be seen in the FreeBSD Continuous Integration (CI) system, which is a Jenkins instance kindly hosted by one of the team members. The build status can be found here. These builds are done from the plasma5/ (because that is the next big thing that will be merged to trunk and from there to the official ports), on both 11-STABLE and CURRENT.

Packages may be obtained from the unofficial package repository that is created by the Jenkins CI system. To use these packages, you may add a repository configuration file /usr/local/etc/pkg/repos/area51.conf as follows:

area51: {
  url: "http://meatwad.mouf.net/rubick/poudriere/packages/110-amd64-area51/"
  priority: 2
  enabled: true

It is strongly advised to disable the official FreeBSD package repository when installing from this unofficial repository, to avoid mixing packages from multiple sources. Set enabled: false in the repository configuration file for the official FreeBSD package repository while testing area51 packages.

Anonymous checkouts

To follow the development of the KDE/FreeBSD ports most closely, you can check out the SVN repository where the ports are developed, and build packages yourself using poudriere for other FreeBSD releases or architectures.

  1. Always ensure you have an up to date version of the official ports tree and your installed ports are all up to date, as the area51 repository is kept in sync with the ports tree.
  2. First checkout a working copy of the area51 repository into a directory of your choice (from now on replace all mentioned /path/to/area51 with the directory you have chosen, for example /var/area51):

    $ svn co http://area51.pcbsd.org/trunk/area51 /path/to/area51

    After this initial checkout you do not need to checkout again. You just need to update your existing working copy (see below).
  3. Now you can copy the directory on top of /usr/ports (or your preferred ports directory):

    # /path/to/area51/Tools/scripts/kdemerge -a /usr/ports

    Caution: this will overwrite parts of your ports tree, possibly leaving it in an unclean state as soon as you update it again.

    You're strongly advised to get an overview of the available commands:

    $ /path/to/area51/Tools/scripts/kdemerge -h

    The -n flag will let you simulate all the steps without actually doing anything. You're encouraged to use it to check what you're about to do.
  4. Use your ports tree as usual (install or upgrade KDE SC or single ports).
  5. Always ensure you have an up to date working copy of the area51 repository (unless you really want to use an old revision or a branch/tag):

    $ svn up /path/to/area51

Maintainer checkouts

Committing to the repository requires an account (which will only be granted to people who show a regular contribution to the project). In order to commit changes, you must checkout using your account:

$ svn co https://area51.pcbsd.org:444/trunk/area51

Global navigation links