wiki:how-to/roundcube-upgrade

Version 8 (modified by Daniel Kahn Gillmor, 6 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 dev/testing site (/srv/roundcube-dev, accessible via https://roundcube.dev.mayfirst.org) and the live site (/srv/roundcube, accessible via 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 OpenPGP 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@stallman.mayfirst.org when making all changes.

Basic Setup (only needed once)

  • Create a roundcube directory on your local machine, initialize git and set your various remotes:
    git clone https://github.com/roundcube/roundcubemail roundcube
    cd roundcube
    git remote add gmo git://git.mayfirst.org:mfpl/roundcube
    git config remote.gmo.pushurl gitosis@git.mayfirst.org:mfpl/roundcube
    git remote update
    
  • 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$
    

Doing an upgrade

We're leaning toward rebasing as a matter of common practice, and leaving a trail of signed tags:

  • start by rebasing, inspecting, verifying, signing a tag, and then pushing to git.mayfirst.org:
    git rebase 0.8.6
    # examine the changelog and the git history; make sure things look sane.
    git tag -s -m 'Tagging roundcube with MF/PL changes version 0.8.6' roundcube-mfpl-0.8.6
    git push gmo --tags
    
  • Now, as roundcube-code@stallman.mayfirst.org, verify the tag and check it out if it looks reasonable:
    cd /srv/roundcube-dev
    git remote update
    git tag -v roundcube-mfpl-0.8.6
    git checkout roundcube-mfpl-0.8.6
    
  • Test via: https://roundcube.dev.mayfirst.org/
  • If all works fine, pull into the live server via roundcube-code@stallman.mayfirst.org:
    cd /srv/roundcube
    git remote update
    git tag -v roundcube-mfpl-0.8.6
    git checkout roundcube-mfpl-0.8.6
    
  • and test it one last time at https://roundcube.mayfirst.org/