[MacPorts] KDEProblems/KDEMacPortsCI/Status modified
MacPorts
noreply at macports.org
Fri Sep 5 15:58:12 PDT 2014
Page "KDEProblems/KDEMacPortsCI/Status" was changed by mk at macports.org
Diff URL: <https://trac.macports.org/wiki/KDEProblems/KDEMacPortsCI/Status?action=diff&version=213>
Revision 213
Comment: Restructuring the layout
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: KDEProblems/KDEMacPortsCI/Status
=========================================================================
--- KDEProblems/KDEMacPortsCI/Status (version: 212)
+++ KDEProblems/KDEMacPortsCI/Status (version: 213)
@@ -1,11 +1,14 @@
[[PageOutline]]
= Current status of setting up the CI system =
-This page shall describe what has to be done to get a KDE/CI system up and running on OSX. Partially this is achieved by using a few ports from MacPorts.
-
-
+This page shall describe what has to be done to get a KDE/CI system up and running on an OSX host.
+Partially this is achieved by using quite a few ports from MacPorts.
+
+
+== Preparing the OSX host system ==
-== Start with a fresh Mavericks/MacPorts install ==
+
+=== Start with a fresh Mavericks/MacPorts install ===
Currently using the official MacPorts version 2.3.1 is recommended. To be on the safe side make sure your disk has about 60G space in total.
@@ -19,7 +22,7 @@
-== Getting a MacPorts-compatible bash environment ==
+=== Getting a MacPorts-compatible bash environment ===
Install ports for MacPorts' bash
{{{
@@ -29,7 +32,7 @@
-== Apple developer tools ==
+=== Apple developer tools ===
Install
* Xcode from AppStore (and agree actively to the developer license agreement)
@@ -40,14 +43,14 @@
-== Tools already present on OSX ==
+=== Tools already present on OSX ===
Some tools are already installed on OSX due to Xcode (like git, svn, ssh, rsync, make, clang etc.) they don't need to be installed via MacPorts for now.
Should a more up-to-date version of any one of these be necessary for the CI system it could be added later.
-== Some more software supplied by MacPorts ==
+=== Some more software supplied by MacPorts ===
Install ports needed for the CI scripts as well as KF5:
{{{
@@ -60,7 +63,11 @@
-== Basic setup of CI system ==
+== Setting up the CI system itself ==
+
+
+
+=== Basic setup of CI system ===
In order to start building up a build slave for KDE's Jenkins-based CI system it is in principle needed to clone [http://quickgit.kde.org/?p=websites%2Fbuild-kde-org.git websites/build-kde-org], BUT further down it will become clear, that it is a good idea to track all changes to be made for websites/build-kde-org in a dedicated branch.
That is why the [http://quickgit.kde.org/?p=clones%2Fwebsites%2Fbuild-kde-org%2Fkaning%2Fmp-osx-ci.git dedicated repository clone "mp-osx-ci"] has been introduced which has the branch 'mp-osx-ci' containing all changes needed for a CI system on OSX.
@@ -82,10 +89,60 @@
''Note: All configuration settings listed below should already be present in the configuration set up in branch 'mp-osx-ci'.''
-== 1st step: Qt5 build ==
-
-
-=== Prepare environment for Qt5 build ===
+
+=== SSH setup ===
+
+
+Set up SSH for rsync access to build host:
+{{{
+$ cat ~/.ssh/config
+Host build.kde.org
+ Port 2022
+$ ssh-keygen -C YOUR at EMAIL.ADDRESS # <-- send your public SSH key to Ben Cooksley in order to get access to the build server
+}}}
+
+
+
+
+=== Helper bash scripts ===
+
+KDE's Jenkins-based CI system mainly makes use of these two python scripts:
+{{{
+tools/prepare-environment.py
+tools/perform-build.py
+}}}
+
+For qt5 they've further down been used in order to show the workflow. But in daily use it is more practical to consider some helper bash scripts which ease all actions needed to run project builds on an OSX/CI system for which there's not yet the Jenkins integration available.
+
+The various projects on the CI system have to be handled by replacing "PROJECT" with the project name of the corresponding framework or application:
+{{{
+$ python2.7 tools/prepare-environment.py --project PROJECT --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-builds/PROJECT
+...
+$ (cd ~/WC/KDECI-builds/PROJECT; git checkout jenkins)
+...
+$ python2.7 tools/perform-build.py --project PROJECT --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-builds/PROJECT
+...
+}}}
+or alternatively by using [http://quickgit.kde.org/?p=clones%2Fwebsites%2Fbuild-kde-org%2Fkaning%2Fmp-osx-ci.git&a=tree&hb=f19d176025af233c22ac2e7170a8ff7e109289e7 helper bash scripts in ~/scripts/ present in the mp-osx-ci branch of the mp-osx-ci repository]
+{{{
+$ ./prepare.sh PROJECT
+...
+$ ./build.sh PROJECT
+...
+}}}
+where {{{prepare.sh}}} takes care of creating the build directory if it is not yet existing as well as checks out the branch 'jenkins'. Alternatively one can combine these steps using:
+{{{
+$ ./install.sh PROJECT [rebuild]
+}}}
+The {{{'rebuild'}}} option can be used to trigger calling {{{build.sh}}} even if {{{prepare.sh}}} didn't signal any changes in the remote project repository.
+
+
+
+
+=== 1st step: Qt5 build ===
+
+
+==== Prepare environment for Qt5 build ====
Install additional ports specific for Qt5 as well as KF5, set correct path to KDE-install directory in config/build/darwin-mavericks.cfg (note, some of the to-be-installed ports got already installed further up as dependencies for other tools, they're listed here to make the dependency on them explicit):
{{{
@@ -109,7 +166,7 @@
-=== Set up build environment for Qt5 ===
+==== Set up build environment for Qt5 ====
It is '''required''' to build the debug version. Also make sure that all libs can be found by adding search paths, use "-dbus-linked" to make the [https://bugs.kde.org/show_bug.cgi?id=337140#c22 session bus work] and avoid inclusion of MacPorts' glib2:
{{{
@@ -123,12 +180,8 @@
export PATH=/opt/local/lib/mysql55/bin:$PATH
}}}
-Set up SSH for rsync access to build host, then start building Qt5:
-{{{
-$ cat ~/.ssh/config
-Host build.kde.org
- Port 2022
-$ ssh-keygen -C YOUR at EMAIL.ADDRESS # <-- send your public SSH key to Ben Cooksley in order to get access to the build server
+Start the qt5-build
+{{{
$ python2.7 tools/perform-build.py --project qt5 --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-builds/qt5
...
}}}
@@ -141,42 +194,9 @@
-== Helper bash scripts ==
-
-KDE's Jenkins-based CI system mainly makes use of these two python scripts:
-{{{
-tools/prepare-environment.py
-tools/perform-build.py
-}}}
-
-For qt5 they've above been used in order to show the workflow. But in daily use it is more practical to consider some helper bash scripts which ease all actions needed to run project builds on an OSX/CI system for which there's not yet the Jenkins integration available.
-
-The various projects on the CI system have to be handled by replacing "PROJECT" with the project name of the corresponding framework or application:
-{{{
-$ python2.7 tools/prepare-environment.py --project PROJECT --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-builds/PROJECT
-...
-$ (cd ~/WC/KDECI-builds/PROJECT; git checkout jenkins)
-...
-$ python2.7 tools/perform-build.py --project PROJECT --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-builds/PROJECT
-...
-}}}
-or alternatively by using [http://quickgit.kde.org/?p=clones%2Fwebsites%2Fbuild-kde-org%2Fkaning%2Fmp-osx-ci.git&a=tree&hb=f19d176025af233c22ac2e7170a8ff7e109289e7 helper bash scripts in ~/scripts/ present in the mp-osx-ci branch of the mp-osx-ci repository]
-{{{
-$ ./prepare.sh PROJECT
-...
-$ ./build.sh PROJECT
-...
-}}}
-where {{{prepare.sh}}} takes care of creating the build directory if it is not yet existing as well as checks out the branch 'jenkins'. Alternatively one can combine these steps using:
-{{{
-$ ./install.sh PROJECT [rebuild]
-}}}
-The {{{'rebuild'}}} option can be used to trigger calling {{{build.sh}}} even if {{{prepare.sh}}} didn't signal any changes in the remote project repository.
-
-
-== Installation of cmake ==
-
-Cmake needs a '''manual''' checkout of its sources (which is demonstrated here the explicit way again):
+=== Installation of cmake ===
+
+CMake needs a '''manual''' checkout of its sources (which is demonstrated here the explicit way again):
{{{
$ python2.7 tools/prepare-environment.py --project cmake --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-builds/cmake
...
@@ -192,7 +212,7 @@
-== Setting up the build environment ==
+=== Setting up the build environment ===
The branch 'mp-osx-ci' contains all required configuration settings for OSX. The most important shall be pointed out [wiki:/KDEProblems/KDEMacPortsCI/Status/Diff_mp-osx-ci here]:
@@ -213,7 +233,7 @@
-== Installation of other projects and KDE frameworks ==
+== Installation of KF5 frameworks and other projects ==
Specific frameworks can be installed using {{{install.sh}}} , but one can also build all frameworks of a specific tier as a whole using
{{{
@@ -240,7 +260,7 @@
-== Troubleshooting for projects' dependencies ==
+=== Troubleshooting for projects' dependencies ===
[http://quickgit.kde.org/?p=kde-build-metadata.git Dependency data for the CI system] is being downloaded by ~/scripts/update-setup.sh to ~/scripts/dependencies/.
This folder contains files defining the dependencies (see subsections below) as well as some tools.
@@ -250,7 +270,7 @@
-== Notes concerning some files installed by the frameworks ==
+=== Notes concerning some files installed by the frameworks ===
All notes regarding the placement of certain files (apps, config, data, etc.) have been moved aside to a [wiki:/KDEProblems/KDEMacPortsCI/Status/FileLocations dedicated page] as the patching of Qt5's QStandardPaths is still work in progress.
@@ -258,7 +278,7 @@
-== KF5 software beyond the basic frameworks ==
+=== KF5 software beyond the basic frameworks ===
Since the basic set of frameworks is now ready for use on OSX one can go ahead and start building other software depending on KF5.
A first step is building kdesupport-svn which is a prerequisite for further projects.
-------8<------8<------8<------8<------8<------8<------8<------8<--------
--
Page URL: <https://trac.macports.org/wiki/KDEProblems/KDEMacPortsCI/Status>
MacPorts <http://www.macports.org/>
Ports system for OS X
This is an automated message. Someone added your email address to be
notified of changes on 'KDEProblems/KDEMacPortsCI/Status' page.
If it was not you, please report to .
More information about the macports-changes
mailing list