Run Kube in Just 69 Easy Steps

Step 1: First, get yourself a Fedora 23 installation — the workstation edition with a GNOME desktop is recommended, so you don’t run in to conflicts when we start building and installing parts of KDE Frameworks.

Step 2: Install the following necessities to get started:

# dnf -y install cmake gcc-c++ git make

Step 3: Clone the repository for flatbuffers:

$ git clone \
    https://github.com/google/flatbuffers.git \
    ~/flatbuffers.git

Step 4: Navigate in to the freshly cloned repository (there’s a build/ directory already, so that saves two additional steps):

$ cd ~/flatbuffers.git/build/

Step 5: Run cmake:

$ cmake ..

Step 6: Compile the software:

$ make

Step 7: Install the software:

$ sudo make install

Step 8: Clone the git repository for kasync:

$ git clone git://anongit.kde.org/kasync.git ~/kasync.git

Step 9: Install the build dependencies for kasync:

# dnf -y install \
        extra-cmake-modules \
        kf5-kcoreaddons-devel \
        qt5-qtbase-devel

Step 10: Navigate to your freshly cloned GIT repository:

$ cd ~/kasync.git/

Step 11: Create a build directory:

$ mkdir -p build

Step 12: Navigate in to the build directory:

$ cd build

Step 13: Run cmake:

$ cmake ..

Step 14: Compile the software:

$ make

Step 15: Install the compiled software:

$ sudo make install

Step 16: Clone the kmime git repository:

$ git clone git://anongit.kde.org/kmime.git ~/kmime.git/

Step 17: Install the build dependencies for kmime:

# dnf -y install \
        kf5-kcodecs-devel \
        kf5-ki18n-devel

Step 18: Navigate in to your fresh clone:

$ cd ~/kmime.git/

Step 19: Make a build directory:

$ mkdir -p build

Step 20: Navigate in to the build directory you just created:

$ cd build

Step 21: Run cmake:

$ cmake ..

Step 22: Compile the software:

$ make

Step 23: Install the compiled software:

$ sudo make install

Step 24: Clone the development branch of the sink GIT repository:

$ git clone -b develop \
    git://anongit.kde.org/sink.git ~/sink.git/

Step 25: Install the build dependencies for sink:

# dnf -y install \
        extra-cmake-modules \
        libgit2-devel \
        lmdb-devel \
        qt5-qtbase-devel \
        readline-devel

Step 26: Navigate in to your freshly cloned development branch of the sink GIT repository:

$ cd ~/sink.git/

Step 27: Suppress these tests because they fail:

$ sed -i \
        -e '/inspectiontest/d' \
        -e '/maildirresourcetest/d' \
        tests/CMakeLists.txt

Step 28: Create a build directory:

$ mkdir -p build

Step 29: Navigate in to the directory you just created:

$ cd build

Step 30: Run cmake:

$ cmake ..

Step 31: Compile the software

$ make

Step 32: Install the software:

$ sudo make install

Step 33: Clone the source repository of gpgmepp:

$ git clone git://anongit.kde.org/gpgmepp.git ~/gpgmepp.git/

Step 34: Install the build dependencies:

# dnf -y install \
    boost-devel \
    gpgme-devel

Step 35: Navigate in to the gpgmepp repository clone:

$ cd ~/gpgmepp.git/

Step 36: Create a build directory:

$ mkdir -p build

Step 37: Navigate in to the build directory:

$ cd build

Step 38: Run cmake:

$ cmake ..

Step 39: Compile the software:

$ make

Step 40: Install the compiled software:

$ sudo make install

Step 41: Clone a fork of the original libkleo source code repository, also hosted with the GIT SCM:

$ git clone -b dev/minimalbuild \
    git://anongit.kde.org/clones/libkleo/cmollekopf/libkleo.git \
    ~/libkleo.git/

Step 42: Install the build dependencies for libkleo:

# dnf -y install \
    kf5-kconfig-devel \
    qt5-qttools-static

Step 43: Navigate in to the libkleo repository clone:

$ cd ~/libkleo.git/

Step 44: Create a build directory:

$ mkdir -p build

Step 45: Navigate in to that directory:

$ cd build

Step 46: Run cmake:

$ cmake ..

Step 47: Compile the software:

$ make

Step 48: Install the software:

$ sudo make install

Step 49: Clone the dev/libotp branch from a messagelib fork in development:

$ git clone -b dev/libotp \
    git://anongit.kde.org/clones/messagelib/knauss/libotp.git \
    ~/libotp.git/

Step 50: Install the build dependencies:

$ dnf -y install kf5-kiconthemes-devel

Step 51: Navigate in to the working copy:

$ cd ~/libotp.git/

Step 52: Create a build directory:

$ mkdir -p build

Step 53: Navigate in to that directory:

$ cd build

Step 54: Run cmake:

$ cmake ..

Step 55: Compile the software:

$ make

Step 56: Install the software:

$ sudo make install

Step 57: Clone the kube git repository:

$ git clone git://anongit.kde.org/kube.git ~/kube.git/

Step 58: Install the build dependencies:

# dnf -y install \
        extra-cmake-modules \
        kf5-kpackage-devel \
        qt5-qtdeclarative-devel

Step 59: Navigate in to your working copy:

$ cd ~/kube.git/

Step 60: Substitute some of the include directories, because what’s a prefix if you can hard-code?

$ sed -i \
    -e 's|/work/install/|/usr/local/|' \
    -e 's|/usr/local/include/KF5/KIconThemes|/usr/include/KF5/KIconThemes|' \
    framework/CMakeLists.txt

Step 61: Create a build directory:

$ mkdir -p build

Step 62: Navigate in to that build directory:

$ cd build

Step 63: Run cmake:

$ cmake ..

Step 64: Compile the software:

$ make

Step 65: Install the software:

$ sudo make install

Step 66: Install the runtime dependencies:

# dnf -y install qt5-qtquickcontrols

Step 67: Set the QML2_IMPORT_PATH environment variable, which should really be built in some place:

$ export QML2_IMPORT_PATH=/usr/local/lib64/qml/

Step 68: Set the QT_PLUGIN_PATH environment variable, which should also really be built-in some other place:

$ export QT_PLUGIN_PATH=/usr/local/lib64/plugins/

Step 69: Run kube-mail

$ kube-mail

 

Advertisements

6 thoughts on “Run Kube in Just 69 Easy Steps

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s