wiki:how-to/roundcube-upgrade

Version 3 (modified by Jamie McClelland, 7 years ago) (diff)

--

How to Upgrade Roundcube

Roundcube is being maintained via git on stallman.mayfirst.org in the /srv directory.

We have both a /srv/roundcube-dev (accessible via https://roundcube.dev.mayfirst.org) and /srv/roundcube (https://roundcube.mayfirst.org).

Both installations are maintained via git. In addition, there is a roundcube-code user that owns the code. Be sure to add your monkeysphere user id to /home/roundcube-code/.monkeysphere/authorized_user_ids and run (as root): monkeysphere-authentication update-users roundcube-code then login as the roundcube-code user when making all changes.

Please follow these directions when upgrading.

  • Create a roundcube directory on your local machine, initialize git and set your various remotes:
    mkdir roundcube
    0 jamie@animal:mfpl$ mkdir roundcube
    0 jamie@animal:mfpl$ cd roundcube/
    0 jamie@animal:roundcube$ git init
    Initialized empty Git repository in /home/jamie/projects/mfpl/roundcube/.git/
    0 jamie@animal:roundcube$ git remote add origin https://github.com/roundcube/roundcubemail
    0 jamie@animal:roundcube$ git remote add gmo gitosis@git.mayfirst.org:mfpl/roundcube
    0 jamie@animal:roundcube$ git remote update
    Fetching origin
    remote: Counting objects: 60301, done.
    remote: Compressing objects: 100% (15914/15914), done.
    remote: Total 60301 (delta 43892), reused 59892 (delta 43566)
    Receiving objects: 100% (60301/60301), 16.07 MiB | 1.71 MiB/s, done.
    Resolving deltas: 100% (43892/43892), done.
    From https://github.com/roundcube/roundcubemail
     * [new branch]      dev-advanced-ldap-groups -> origin/dev-advanced-ldap-groups
     * [new branch]      devel-ldap-refactoring -> origin/devel-ldap-refactoring
     * [new branch]      keep-alive -> origin/keep-alive
     * [new branch]      master     -> origin/master
     * [new branch]      release-0.6 -> origin/release-0.6
     * [new branch]      release-0.7 -> origin/release-0.7
     * [new branch]      release-0.8 -> origin/release-0.8
     * [new branch]      release-0.9 -> origin/release-0.9
     * [new branch]      schema_upgrades -> origin/schema_upgrades
     * [new branch]      session_backport -> origin/session_backport
     * [new branch]      topics/composer -> origin/topics/composer
    From https://github.com/roundcube/roundcubemail
     * [new tag]         v0.1-beta2 -> v0.1-beta2
     * [new tag]         v0.7.3     -> v0.7.3
     * [new tag]         v0.8-rc    -> v0.8-rc
     * [new tag]         v0.8.0     -> v0.8.0
     * [new tag]         v0.8.1     -> v0.8.1
     * [new tag]         v0.8.2     -> v0.8.2
     * [new tag]         v0.8.3     -> v0.8.3
     * [new tag]         v0.8.4     -> v0.8.4
     * [new tag]         v0.8.5     -> v0.8.5
     * [new tag]         v0.9-beta  -> v0.9-beta
     * [new tag]         v0.9-rc    -> v0.9-rc
    Fetching gmo 
    remote: Counting objects: 4182, done.
    remote: Compressing objects: 100% (1135/1135), done.
    remote: Total 3429 (delta 2507), reused 3142 (delta 2287)
    Receiving objects: 100% (3429/3429), 972.47 KiB | 1.47 MiB/s, done.
    Resolving deltas: 100% (2507/2507), completed with 347 local objects.
    From git.mayfirst.org:mfpl/roundcube
     * [new branch]      master     -> mfpl/master
     * [new branch]      mfpl       -> mfpl/mfpl
    0 jamie@animal:roundcube$
    
  • Now, checkout (and create a branch) for the mfpl branch of the gmo remote.
    0 jamie@animal:roundcube$ git checkout -b mfpl gmo/mfpl
    Branch mfpl set up to track remote branch mfpl from gmo.
    Switched to a new branch 'mfpl'
    0 jamie@animal:roundcube$
    
  • If you are doing a major point upgrade (e.g. from 0.8.x to 0.9.x):
    • Merge.
      git merge origin/0.9.0
      
    • Then push to gmo
      git push gmo
      
  • If you are doing a minor point upgrade (e.g. from 0.9.1 to 0.9.2):
    • rebase:
      git rebase origin/0.9.2
      
    • Push with the -f option to force a non-fast forward merge:
      git push -f gmo
      
  • Now tag
    git tag mfpl-0.9.0
    
  • Now, test in /srv/roundcube-dev/
    git checkout gmo mfpl-0.9.0
    
  • Test via: https://roundcube.dev.mayfirst.org/
  • If all works fine, pull into the live server by running, in /srv/roundcube:
    git checkout gmo mfpl-0.9.0