diff --git a/source/developer-guide/index.rst b/source/developer-guide/index.rst --- a/source/developer-guide/index.rst +++ b/source/developer-guide/index.rst @@ -10,4 +10,3 @@ bugzilla troubleshooting-101 packaging/index - nightly-builds/index diff --git a/source/developer-guide/nightly-builds/create.rst b/source/developer-guide/nightly-builds/create.rst deleted file mode 100644 --- a/source/developer-guide/nightly-builds/create.rst +++ /dev/null @@ -1,128 +0,0 @@ -============================================ -Creating the nightly builds on OBS -============================================ - -This chapter explains how to create a branch of the development project on the OBS server provided by `Kolab Systems `_, and how to modify it to be able to build from the source tar.gz files from https://git.kolab.org. - -Creating a branch in OBS -======================== - -Please follow the instructions at :ref:`dev-packaging-howto_get_started` to create your own branch of the development packages. - -Some of the steps you can do in the web client as well, eg. to branch the package `kolab-syncroton `_ from project `Kolab Development `_, you click on the link `Branch Package `_ on the `page of the package kolab-syncroton `_. - -You should select the packages that you want to build in your nightly build, and create a branch for each of them. The result looks like this: `Project home:tpokorra:branches:Kolab:Development `_ - -One-time adjustments for nightly builds -======================================= - -Replace the source files ------------------------- -On the command line with osc, you need once to remove the original tar.gz file, and download the latest tar.gz file from https://git.kolab.org. - -This is an example for the package kolab-syncroton: - -.. parsed-literal:: - - osc rm kolab-syncroton-2.2.1.tar.gz - wget https://git.kolab.org/kolab-syncroton/snapshot/kolab-syncroton-master.tar.gz - osc add kolab-syncroton-master.tar.gz - -Furthermore you need to modify the build files to reference the new tar.gz file, and to find the extracted code in the right place. - -For **CentOS**, those changes are required in the .spec file: - -.. parsed-literal:: - - -Source0: http://mirror.kolabsys.com/pub/releases/%{name}-%{version}.tar.gz - +Source0: %{name}-master.tar.gz - -%setup -q -n %{name}-%{version} - +%setup -q -n %{name}-master - -For **Debian**, you need to change the .dsc file: - -.. parsed-literal:: - - 00000000000000000000000000000000 0 kolab-syncroton-2.2.2.tar.gz - + 00000000000000000000000000000000 0 kolab-syncroton-git-master.tar.gz - -Adjust the release numbers --------------------------- -One other issue: in order for the :ref:`installation of the nightly packages ` to work properly, you need to adjust the release number of the packages. - -For **CentOS**, you need to add the following line to the top of your .spec file: - -.. parsed-literal:: - %define release_prefix dev%(date +%%Y%%m%%d) - -And in the settings of your project, go to "Advanced" / "Project Config", and enter this line: - -.. parsed-literal:: - Release: 99.%%{?release_prefix}.. - -For more details, see http://en.opensuse.org/openSUSE:Build_Service_prjconf - -For **Debian**, you need to change the .dsc file: - -.. parsed-literal:: - -Version: 2.2.2-0~kolab1 - +Version: 2.2.2-0~kolab1-dev20131023 - -And also the debian.changelog file: - -.. parsed-literal:: - +kolab-syncroton (2.2.2-0~kolab1-dev20131023) unstable; urgency=low - + * nightly build - + -- Timotheus Pokorra (TBits.net) Wed, 23 Oct 2013 15:13:40 +0200 - + - -.. note:: for Debian, the debian.changelog and the .dsc file need to be updated each time when a new release should be built! See below for the script that does the nightly builds. - -Commit the changes ------------------- - -At last, you need to commit your changes, and the OBS will build your own packages: - -.. parsed-literal:: - - osc commit -m "replacing the source files" - - -Nightly update -============== - -You should create a cronjob on your system, where you run osc. This cronjob must fetch the latest tar.gz file from https://git.kolab.org, and then commit that to the OBS. - -Have a look at this script for an example: https://gist.github.com/tpokorra/5698249 - -We have this now running every night on a LightBuildServer instance. See https://lbs.solidcharity.com/package/tbits.net/kolab-nightly-sync/updatecode. -The source for this job is available here: https://github.com/TBits/lbs-kolab-nightly-sync/blob/master/updatecode/setup.sh - -To regularly check that your nightly build works, you can use the command "osc results". - -The following code is also part of the above gist: - -.. parsed-literal:: - cd kolab-syncroton - result=`osc results | grep CentOS_6 | grep x86_64 | grep -E "failed|unresolvable|broken"` - if [ ! -z "$result" ] - then - echo "there is a problem with result of package " $pkgname - echo $result - fi - -Trouble Shooting -================ - -Link has errors: conflict in file ---------------------------------- -Your branch is linked to the original package, which means that OBS will try to merge updates to the source package into your branch. This sometimes leads to the error "conflict in file". - -To resolve this, do this with osc on the command line: - -.. parsed-literal:: - osc branch # will give you the same error as on the OBS webpage - osc pull - vi # resolve conflict manually - osc resolved - osc commit -m "Rebased" - diff --git a/source/developer-guide/nightly-builds/index.rst b/source/developer-guide/nightly-builds/index.rst deleted file mode 100644 --- a/source/developer-guide/nightly-builds/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -=================== -Nightly builds for Kolab -=================== - -.. toctree:: - :maxdepth: 2 - - install - create diff --git a/source/developer-guide/nightly-builds/install.rst b/source/developer-guide/nightly-builds/install.rst deleted file mode 100644 --- a/source/developer-guide/nightly-builds/install.rst +++ /dev/null @@ -1,108 +0,0 @@ -.. _dev-packaging-install_nightly: - -============================================ -Install the nightly build on a test server -============================================ - -For development of the community version of Kolab, it is helpful to have nightly built packages of the master of https://git.kolab.org. - -Note: these packages are only meant for development and testing, not at all for production use!!! - -It is recommended to do a fresh install of the machine, when you want to go back to the Kolab Community version packages, without the nightly packages. - -CentOS 7 -================================================= - -First the usual steps, that you do for installing Kolab3 (see also :ref:`installation-centos`): - -.. parsed-literal:: - - yum install epel-release - cd /etc/yum.repos.d/ - wget http://obs.kolabsys.com/repositories/Kolab:/3.4/CentOS_7/Kolab:3.4.repo - wget http://obs.kolabsys.com/repositories/Kolab:/3.4:/Updates/CentOS_7/Kolab:3.4:Updates.repo - cd - - -Now also install the repo for the `obs.kolabsys.com tpokorra Project `_: - -.. parsed-literal:: - - wget http://obs.kolabsys.com/home:/tpokorra:/branches:/Kolab:/Development/CentOS_7/home:tpokorra:branches:Kolab:Development.repo \\ - -O /etc/yum.repos.d/obs-tpokorra-nightly-kolab.repo - -Now run: - -.. parsed-literal:: - - yum install kolab - setup-kolab - -Debian 7.0 -========== - -See also the usual steps, that you do for installing Kolab3 (see also :ref:`installation-debian`). We are adding another repository for the nightly built packages. - -.. parsed-literal:: - username=tpokorra - cat > /etc/apt/sources.list.d/kolab.list < /etc/apt/preferences.d/kolab < /etc/apt/sources.list.d/kolab.list < /etc/apt/preferences.d/kolab <