Opened 3 years ago

Closed 2 years ago

#10996 closed Task/To do item (fixed)

Roundcube upgrade

Reported by: https://id.mayfirst.org/srevilak Owned by: https://id.mayfirst.org/srevilak
Priority: Medium Component: Tech
Keywords: roundcube Cc:
Sensitive: no

Description

A new version of roundcube is out. We should upgrade.

Date: Thu, 17 Sep 2015 22:02:55 +0200
From: Thomas Bruederli <thomas@roundcube.net>
To: Roundcube Announce List <announce@lists.roundcube.net>
Cc: Roundcube Users List <users@lists.roundcube.net>, Roundcube Dev List
        <dev@lists.roundcube.net>
Subject: [Roundcube Announce] Updates 1.1.3 and 1.0.6 released
Message-ID: <CAO3naw7P=gEjY+YwUZCouuK5BdktVtVOw0C4_Qnu0TV_PEpzxg@mail.gmail.com>

[-- Attachment #1 --]
[-- Type: multipart/alternative, Encoding: 7bit, Size: 2.0K --]

Dear Roundcube users

We recently published updates to both stable versions 1.0 and 1.1 after
fixing many minor bugs and ensuring compatibility with upstream versions of
3rd party libraries used in Roundcube. Version 1.0.7 comes with
cherry-picked fixes from the more recent version to ensure proper long term
support.

See the full changelog here: http://trac.roundcube.net/wiki/Changelog

Both versions are considered stable and we recommend to update all
productive installations of Roundcube with either of these versions.
Download them from https://roundcube.net/download

As usual, don't forget to backup your data before updating!

Best,
Thomas

P.S. Stay tuned for the 1.2 beta release coming up soon with two options
for PGP encryption.
Date: Fri, 18 Sep 2015 11:33:14 +0200
From: Thomas Bruederli <thomas@roundcube.net>
To: Roundcube Announce List <announce@lists.roundcube.net>
Cc: Roundcube Users List <users@lists.roundcube.net>, Roundcube Dev List
        <dev@lists.roundcube.net>
Subject: Re: [Roundcube Announce] Updates 1.1.3 and 1.0.6 released
Message-ID: <CAO3naw4_T_aige_X5E8HYHhGysPOZockUhRj_veNyTft-XXc3A@mail.gmail.com>
In-Reply-To: <CAO3naw7P=gEjY+YwUZCouuK5BdktVtVOw0C4_Qnu0TV_PEpzxg@mail.gmail.com>
References: <CAO3naw7P=gEjY+YwUZCouuK5BdktVtVOw0C4_Qnu0TV_PEpzxg@mail.gmail.com>

Sorry y'all! Of course the subject should read "Updates 1.1.3 and
1.0.7 released".
See the announcement on our website:
https://roundcube.net/news/2015/09/14/updates-1.1.3-and-1.0.7-released/

Apologies for the confusion!

~Thomas

Change History (9)

comment:1 Changed 3 years ago by https://id.mayfirst.org/srevilak

  • Owner set to https://id.mayfirst.org/srevilak
  • Status changed from new to assigned

comment:2 Changed 3 years ago by https://id.mayfirst.org/srevilak

Source Prep

0 sunny:roundcube$ git fetch origin
remote: Counting objects: 2662, done.
remote: Total 2662 (delta 1301), reused 1301 (delta 1301), pack-reused 1360
Receiving objects: 100% (2662/2662), 1.94 MiB | 3.08 MiB/s, done.
Resolving deltas: 100% (1886/1886), completed with 593 local objects.
From https://github.com/roundcube/roundcubemail
   babc30c..2965a98  dev-mailvelope -> origin/dev-mailvelope
   212e332..97aa984  master     -> origin/master
   e94f5c0..e7d1a80  release-1.0 -> origin/release-1.0
   8cc6b18..b6b92c0  release-1.1 -> origin/release-1.1
 * [new tag]         1.0.7      -> 1.0.7
 * [new tag]         1.1.3      -> 1.1.3
 * [new tag]         1.2-beta   -> 1.2-beta

$ git merge 1.1.3

Merge made by the 'recursive' strategy.
 CHANGELOG                                     |  39 ++++
 INSTALL                                       |   3 +-
 bin/gc.sh                                     |  12 ++
 composer.json-dist                            |  29 +--
 index.php                                     |   4 +-
 installer/check.php                           |   2 -
 installer/config.php                          |   2 +-
 installer/index.php                           |   2 +-
 plugins/zipdownload/zipdownload.js            |   2 +-
 program/include/iniset.php                    |   2 +-
 program/include/rcmail.php                    |  10 +-
 program/js/app.js                             |  74 +++++---
 program/js/common.js                          |  83 +++++++--
 program/js/editor.js                          |   4 +-
 program/js/jquery.min.js                      |  10 +-
 program/js/list.js                            |  11 +-
 program/js/tinymce/themes/modern/theme.min.js |   2 +-
 program/js/tinymce/tinymce.min.js             |  24 +--
 program/lib/Roundcube/README.md               |   1 -
 program/lib/Roundcube/bootstrap.php           |  28 ++-
 program/lib/Roundcube/rcube.php               |  51 +++---
 program/lib/Roundcube/rcube_cache.php         |   3 +
 program/lib/Roundcube/rcube_cache_shared.php  |   3 +
 program/lib/Roundcube/rcube_html2text.php     |   9 +-
 program/lib/Roundcube/rcube_imap.php          |  49 +++--
 program/lib/Roundcube/rcube_imap_generic.php  |  85 +++++----
 program/lib/Roundcube/rcube_ldap.php          |   9 +-
 program/lib/Roundcube/rcube_message.php       |  63 ++++---
 program/lib/Roundcube/rcube_mime.php          |  59 ++----
 program/lib/Roundcube/rcube_mime_decode.php   | 397 +++++++++++++++++++++++++++++++++++++++++
 program/lib/Roundcube/rcube_session.php       |  10 +-
 program/lib/Roundcube/rcube_smtp.php          |  27 +--
 program/lib/Roundcube/rcube_storage.php       |   2 +-
 program/lib/Roundcube/rcube_user.php          |   7 +-
 program/lib/Roundcube/rcube_washtml.php       |   3 +
 program/localization/en_US/messages.inc       |   5 +-
 program/localization/index.inc                |   1 +
 program/steps/addressbook/mailto.inc          |  25 +--
 program/steps/mail/compose.inc                |  35 ++--
 program/steps/mail/func.inc                   |  61 +++----
 program/steps/mail/get.inc                    |   5 +-
 program/steps/mail/sendmail.inc               | 110 ++++++------
 program/steps/settings/folders.inc            |   2 +-
 program/steps/utils/error.inc                 |   9 +
 program/steps/utils/html2text.inc             |   8 +-
 skins/larry/settings.css                      |   1 +
 skins/larry/ui.js                             |   1 -
 tests/Framework/Charset.php                   |  11 +-
 tests/Framework/Html2text.php                 |  30 ++++
 tests/Framework/Mime.php                      |  32 ++++
 tests/Framework/Washtml.php                   |   8 +
 tests/MailFunc.php                            |   2 +-
 tests/src/html.msg                            |  56 ++++++
 53 files changed, 1116 insertions(+), 407 deletions(-)
 create mode 100644 program/lib/Roundcube/rcube_mime_decode.php
 create mode 100644 tests/src/html.msg


Here's the difference between mfpl-release-1.1 and the upstream 1.1.3 tag.

0 sunny:roundcube$ git log --oneline --graph mfpl-release-1.1...1.1.3
* 7b1e960 Merge tag '1.1.3' into mfpl-release-1.1
* c037dcc removed variables where we are not overriding default values
* e0c4faa Removed "johndoh/sieverules": "dev-release-2.2"
* 124d783 removed sieverules plugin
* 2dabb66 usetls
* 30d92ba first pass at managesieve plugin configuration.  Not working yet.
* e840c2a stock config.inc.php
* d4e2724 composers's self-modifications, after installing sieve plugin
* a3ce719 forbid access to composer.phar, composer.lock, or composer's `vendor' directory
* 1a9114e added sieverules plugin
* 016b2ba added johndoh/sieverules
* 2c136b5 added composer.phar
* cdf0876 don't ignore composer files
* 213378f unmodified composer.json
* f697fff Merge tag '1.1.2' into mfpl-release-1.1
*   47c565e Merge remote-tracking branch 'gmo/mfpl-release-1.1' into mfpl-release-1.1
|\  
| * 52a3d9c (fetch_identity_objects): avoid redundant call to unserialize
| * cd41b88 Adding two plugins: import_horde_contacts, import_horde_identities
* ab51f8e (fetch_identity_objects): avoid redundant call to unserialize
* 4fb5a18 Adding two plugins: import_horde_contacts, import_horde_identities

Tag

0 sunny:roundcube$ git tag -s roundcube-1.1.3-mfpl1

0 sunny:roundcube$ git tag -v roundcube-1.1.3-mfpl1
object 7b1e9603195bc7a2dc2a32fc0c055034f4536250
type commit
tag roundcube-1.1.3-mfpl1
tagger Steve Revilak <steve@...> 1450032695 -0500

Tagging merge of upstream 1.1.3
gpg: Signature made Sun 13 Dec 2015 01:51:58 PM EST
gpg:                using RSA key 0x3EB22DE4E594DCF2
gpg: Good signature from "Steve Revilak <steve@...>" [ultimate]
gpg:                 aka "Steve Revilak <srevilak@...>" [ultimate]

I ran into a problem pushing changes, though.

0 sunny:roundcube$ git push gmo mfpl-release-1.1
Counting objects: 436, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (183/183), done.
Writing objects: 100% (436/436), 78.51 KiB | 0 bytes/s, done.
Total 436 (delta 321), reused 355 (delta 251)
remote: -------------------- Monkeysphere warning -------------------
remote: Monkeysphere found OpenPGP keys for this hostname, but none had full validity.
remote: An OpenPGP key matching the ssh key offered by the host was found:
remote: 
remote: pub   2048R/0x7289694B648C92DA 2010-09-10
remote: uid                 [ unknown] ssh://moses.mayfirst.org
remote: sig!3        0x7289694B648C92DA 2010-09-10  ssh://moses.mayfirst.org
remote: sig!      X  0xCCD2ED94D21739E9 2010-11-13  Daniel Kahn Gillmor <dkg@...>
remote: sig!      X  0xCCD2ED94D21739E9 2012-09-21  Daniel Kahn Gillmor <dkg@...>
remote: sig!         0xA014C05A607B7535 2014-01-09  James McClelland <jamie@...>
remote: sig!      X  0xCCD2ED94D21739E9 2014-09-24  Daniel Kahn Gillmor <dkg@...>
remote: RSA key fingerprint is 58:c3:18:4b:11:e2:ab:17:e0:34:66:b5:f6:7a:81:4a.
remote: 
remote: -------------------- ssh continues below --------------------
remote: Host key verification failed.
remote: fatal: The remote end hung up unexpectedly

^CKilled by signal 2.

I can see the repository via https://git.mayfirst.org/?p=mfpl/roundcube.git;a=summary though.

comment:3 Changed 3 years ago by https://id.mayfirst.org/jamie

  • Resolution set to fixed
  • Status changed from assigned to closed

The problem was a post-commit hook on git.mayfirst.org that is supposed to login via ssh to git-roundcube@moses.mayfirst.org to update the git repo here on smo. However due to an expired gpg key - the gitosis user on git.mayfirst.org did not trust the connection to moses.mayfirst.org. I just refreshed keys on git.mayfirst.org so my key and dkg's keys are no longer expired and now it should be working.

Thanks for pushing the roundcube updates through!

comment:4 Changed 3 years ago by https://id.mayfirst.org/srevilak

  • Resolution fixed deleted
  • Status changed from closed to assigned

Re-opening, because I haven't actually done the roundcube upgrade :)

comment:5 Changed 3 years ago by https://id.mayfirst.org/srevilak

code prep

Let's try that git push again

0 sunny:roundcube$ git push gmo mfpl-release-1.1
Everything up-to-date

0 sunny:roundcube$ git push gmo --tags
Counting objects: 4041, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1708/1708), done.
Writing objects: 100% (4041/4041), 1.47 MiB | 0 bytes/s, done.
Total 4041 (delta 2787), reused 3403 (delta 2230)
remote: To git-roundcube@moses.mayfirst.org:/srv/git/roundcube
remote:  * [new tag]         1.0.7 -> 1.0.7
remote:  * [new tag]         1.1.3 -> 1.1.3
remote:  * [new tag]         1.2-beta -> 1.2-beta
remote:  * [new tag]         roundcube-1.1.3-mfpl1 -> roundcube-1.1.3-mfpl1
To ssh://gitosis@git.mayfirst.org/mfpl/roundcube
 * [new tag]         1.0.7 -> 1.0.7
 * [new tag]         1.1.3 -> 1.1.3
 * [new tag]         1.2-beta -> 1.2-beta
 * [new tag]         roundcube-1.1.3-mfpl1 -> roundcube-1.1.3-mfpl1

roundcube.dev.mayfirst.org

Fetch

0 roundcube-code@stallman:/srv/roundcube-dev$ git remote -v
gmo     git://git.mayfirst.org/mfpl/roundcube (fetch)
gmo     git://git.mayfirst.org/mfpl/roundcube (push)
0 roundcube-code@stallman:/srv/roundcube-dev$ git branch -v
* (no branch) c037dcc removed variables where we are not overriding default values
  filter-test 8e7f006 Minor correction to $this->spam_subject.  "SPAM" is preceeded and followed by five stars.
  master      4bb0bff Convert managesieve test scripts to PHPUnit, add them to the suite
  mfpl        8b82c8e [ahead 4, behind 6] Merge remote-tracking branch 'origin/release-0.8' into mfpl
  mfpl-0.8    39e1ff7 (fetch_identity_objects): avoid redundant call to unserialize
  mfpl-0.9    10dc6fc [ahead 3, behind 199] Fix typos
  release-0.7 c2c162c Fix so subscribed non-existing/non-accessible shared folder can be unsubscribed
  release-0.8 88fbba7 Create Trash directory if it doesn't exist.  Addresses https://support.mayfirst.org/ticket/6475
  sieve-test  c037dcc removed variables where we are not overriding default values
  sieve-test2 f697fff Merge tag '1.1.2' into mfpl-release-1.1


0 roundcube-code@stallman:/srv/roundcube-dev$ git fetch gmo
remote: Counting objects: 515, done.
remote: Compressing objects: 100% (159/159), done.
remote: Total 437 (delta 308), reused 405 (delta 276)
Receiving objects: 100% (437/437), 263.43 KiB, done.
Resolving deltas: 100% (308/308), completed with 61 local objects.
From git://git.mayfirst.org/mfpl/roundcube
   c037dcc..7b1e960  mfpl-release-1.1 -> gmo/mfpl-release-1.1
 * [new tag]         roundcube-1.1.3-mfpl1 -> roundcube-1.1.3-mfpl1
From git://git.mayfirst.org/mfpl/roundcube
 * [new tag]         1.1.3      -> 1.1.3

This is interesting:

2 roundcube-code@stallman:/srv/roundcube-dev$ git tag -v roundcube-1.1.3-mfpl1object 7b1e9603195bc7a2dc2a32fc0c055034f4536250
type commit
tag roundcube-1.1.3-mfpl1
tagger Steve Revilak <steve@...> 1450032695 -0500

Tagging merge of upstream 1.1.3
gpg: Signature made Sun 13 Dec 2015 01:51:58 PM EST
gpg:                using RSA key 0x3EB22DE4E594DCF2
gpg: Good signature from "Steve Revilak <steve@...>"
gpg:                 aka "Steve Revilak <srevilak@...>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 6F09 15FF 59CE E093 56F4  BEEC E772 7C56 28C2 A300
     Subkey fingerprint: B482 D402 5CEF 25D1 C64C  3229 3EB2 2DE4 E594 DCF2

The signature is good, and the fingerprint is mine. I'm not sure what happened to the owner trust, but I'm going to let it go.

0 roundcube-code@stallman:/srv/roundcube-dev$ git checkout roundcube-1.1.3-mfpl1
Previous HEAD position was c037dcc... removed variables where we are not overriding default values
HEAD is now at 7b1e960... Merge tag '1.1.3' into mfpl-release-1.1

Also ran into a bit of a snag with composer

0 roundcube-dev@stallman:/srv/roundcube-dev$ php bin/update.sh
What version are you upgrading from? Type '?' if you don't know.
?
Executing database schema update.
WARNING: unable to update composer.json!
Please replace the 'require' section in your composer.json with the following:
    "require": {
        "php": ">=5.3.7",
        "roundcube/plugin-installer": "~0.1.6",
        "pear/mail_mime": ">=1.8.9",
        "pear/mail_mime-decode": "~1.5.5",
        "pear/net_smtp": "dev-master",
        "pear-pear.php.net/auth_sasl": "~1.0.6",
        "pear-pear.php.net/net_idna2": "~0.1.1",
        "pear-pear.php.net/net_sieve": "~1.3.4",
        "patchwork/utf8": "~1.2.3",
        "pear-pear.php.net/mail_mime": "~1.9.0",
        "pear-pear.php.net/net_smtp": "~1.6.3"
    }

NOTE: Update dependencies by running `php composer.phar update --no-dev`
This instance of Roundcube is up-to-date.
Have fun!
0 roundcube-code@stallman:/srv/roundcube-dev$ php composer.phar self-update
Updating to version c9501a4cc164b176de48e44b239e619cfd5f14e5.
    Downloading: 100%
Use composer self-update --rollback to return to version d79427f1a7b15e8f4d46ce8124a4d0c58ba1479c

0 roundcube-code@stallman:/srv/roundcube-dev$ php composer.phar update --no-dev
Loading composer repositories with package information
Initializing PEAR repository http://pear.php.net
Failed to update https://git.kolab.org/diffusion/PNL/php-net_ldap.git, package information from this repository may be outdated (Failed to execute git remote set-url origin 'https://git.kolab.org/diffusion/PNL/php-net_ldap.git' && git remote update --prune origin

error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://git.kolab.org/diffusion/PNL/php-net_ldap.git/info/refs
fatal: HTTP request failed
error: Could not fetch origin
)
Reading composer.json of kolab/Net_LDAP3 (pear-Net-LDAP3-1.0.0)                                                                                                                                                                                                                                                                                                                                                                                                                            Updating dependencies
  - Removing phpunit/phpunit (4.8.x-dev)
  - Removing phpunit/php-file-iterator (dev-master)
  - Removing phpunit/php-token-stream (dev-master)
  - Removing phpspec/prophecy (dev-master)
  - Removing phpdocumentor/reflection-docblock (2.0.4)
  - Removing doctrine/instantiator (dev-master)
  - Removing symfony/yaml (2.8.x-dev)
  - Removing sebastian/comparator (dev-master)
  - Removing sebastian/diff (dev-master)
  - Removing sebastian/environment (dev-master)
  - Removing sebastian/exporter (dev-master)
  - Removing sebastian/recursion-context (dev-master)
  - Removing sebastian/global-state (dev-master)
  - Removing sebastian/version (1.0.6)
  - Removing phpunit/php-timer (dev-master)
  - Removing phpunit/php-text-template (1.2.1)
  - Removing pear-pear.php.net/crypt_gpg (1.4.0b4)
  - Removing pear-pear.php.net/console_commandline (1.2.0)
  - Removing phpunit/php-code-coverage (dev-master)
  - Removing phpunit/phpunit-mock-objects (dev-master)
  - Updating roundcube/plugin-installer dev-master (0.1.6 => 0.1.7)
    Checking out 0.1.7

  - Removing pear-pear.php.net/console_getopt (1.4.0)
  - Installing pear-pear.php.net/console_getopt (1.4.1)
    Downloading: 100%
  - Removing pear-pear.php.net/structures_graph (1.1.0)
  - Installing pear-pear.php.net/structures_graph (1.1.1)
    Downloading: 100%
  - Removing pear-pear.php.net/archive_tar (1.3.16)
  - Installing pear-pear.php.net/archive_tar (1.4.0)
    Downloading: 100%
  - Removing pear-pear.php.net/pear (1.9.5)
  - Installing pear-pear.php.net/pear (1.10.1)
    Downloading: 100%
    Skipped installation of bin bin/peardev for package pear-pear.php.net/pear: name conflicts with an existing file
    Skipped installation of bin bin/pecl for package pear-pear.php.net/pear: name conflicts with an existing file
    Skipped installation of bin bin/pear for package pear-pear.php.net/pear: name conflicts with an existing file
  - Removing pear/console_getopt (v1.4.0)
  - Installing pear/console_getopt (v1.4.1)
    Downloading: 100%

  - Updating pear/pear-core-minimal dev-master (bdfefca => fea2094)
    Checking out fea2094bc4671d33c758870b53d538ce79c292a0

  - Updating pear/mail_mime dev-master (7b21872 => e071727)
    Checking out e071727cf41a4b85ecc1de210ed4fd7f4f8d1ec4

  - Updating pear/net_smtp dev-master (334e364 => cf7e1ba)
    Checking out cf7e1bac4cdd38f3260e5c10d5ae366b7e22794c

Writing lock file
Generating autoload files
0 roundcube-code@stallman:/srv/roundcube-dev$

0 roundcube-code@stallman:/srv/roundcube-dev$ php composer.phar status
No local changes

0 roundcube-code@stallman:/srv/roundcube-dev$ git status
# Not currently on any branch.
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   composer.phar

Okay -- that's a workload change for next time: self-update composer.phar while upgrading roundcube sources, then tag and update.

Let's backpedal and do that.

composer.phar update, retag ==

0 sunny:roundcube$ php composer.phar self-update
Updating to version c9501a4cc164b176de48e44b239e619cfd5f14e5.
    Downloading: 100%
Use composer self-update --rollback to return to version d79427f1a7b15e8f4d46ce8124a4d0c58ba1479c

1 sunny:roundcube$ git add composer.phar
0 sunny:roundcube$ git commit -m "composer.phar Updating to version c9501a4cc164b176de48e44b239e619cfd5f14e5"
[mfpl-release-1.1 a7f25ba] composer.phar Updating to version c9501a4cc164b176de48e44b239e619cfd5f14e5
 1 file changed, 0 insertions(+), 0 deletions(-)

0 sunny:roundcube$ git tag -s roundcube-1.1.3-mfpl2

0 sunny:roundcube$ git push gmo --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 826 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: To git-roundcube@moses.mayfirst.org:/srv/git/roundcube
remote:  * [new tag]         roundcube-1.1.3-mfpl2 -> roundcube-1.1.3-mfpl2
To ssh://gitosis@git.mayfirst.org/mfpl/roundcube
 * [new tag]         roundcube-1.1.3-mfpl2 -> roundcube-1.1.3-mfpl2

roundcube.dev.mayfirst.org - take 2

0 roundcube-code@stallman:/srv/roundcube-dev$ git remote update
Fetching gmo
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (4/4), done.
From git://git.mayfirst.org/mfpl/roundcube
   7b1e960..a7f25ba  mfpl-release-1.1 -> gmo/mfpl-release-1.1
 * [new tag]         roundcube-1.1.3-mfpl2 -> roundcube-1.1.3-mfpl2
0 roundcube-code@stallman:/srv/roundcube-dev$ git tag -v roundcube-1.1.3-mfpl2
object a7f25bad5997edfd7fe75de23580917702dc8e8f
type commit
tag roundcube-1.1.3-mfpl2
tagger Steve Revilak <steve@...> 1450660993 -0500

Retagging, after self-updating composer.phar
gpg: Signature made Sun 20 Dec 2015 08:23:48 PM EST
gpg:                using RSA key 0x3EB22DE4E594DCF2
gpg: Good signature from "Steve Revilak <steve@...>"
gpg:                 aka "Steve Revilak <srevilak@...>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 6F09 15FF 59CE E093 56F4  BEEC E772 7C56 28C2 A300
     Subkey fingerprint: B482 D402 5CEF 25D1 C64C  3229 3EB2 2DE4 E594 DCF2


1 roundcube-code@stallman:/srv/roundcube-dev$ git checkout -- composer.phar
0 roundcube-code@stallman:/srv/roundcube-dev$ git checkout roundcube-1.1.3-mfpl2
Previous HEAD position was 7b1e960... Merge tag '1.1.3' into mfpl-release-1.1
HEAD is now at a7f25ba... composer.phar Updating to version c9501a4cc164b176de48e44b239e619cfd5f14e5

0 roundcube-code@stallman:/srv/roundcube-dev$ php composer.phar update
Loading composer repositories with package information
Initializing PEAR repository http://pear.php.net
Failed to update https://git.kolab.org/diffusion/PNL/php-net_ldap.git, package information from this repository may be outdated (Failed to execute git remote set-url origin 'https://git.kolab.org/diffusion/PNL/php-net_ldap.git' && git remote update --prune origin

error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://git.kolab.org/diffusion/PNL/php-net_ldap.git/info/refs
fatal: HTTP request failed
error: Could not fetch origin
)
Reading composer.json of kolab/Net_LDAP3 (pear-Net-LDAP3-1.0.0)                                                                                                                                                                                                                                                                                                                                                                                                                            Updating dependencies (including require-dev)
  - Installing pear-pear.php.net/console_commandline (1.2.1)
    Downloading: 100%
  - Installing pear-pear.php.net/crypt_gpg (1.4.0)
    Downloading: 100%
    Skipped installation of bin bin/crypt-gpg-pinentry for package pear-pear.php.net/crypt_gpg: name conflicts with an existing file
  - Installing doctrine/instantiator (dev-master 8e884e7)
    Cloning 8e884e78f9f0eb1329e445619e04456e64d8051d

  - Installing sebastian/recursion-context (dev-master 913401d)
    Cloning 913401df809e99e4f47b27cdd781f4a258d58791

  - Installing sebastian/exporter (dev-master f88f893)
    Cloning f88f8936517d54ae6d589166810877fb2015d0a2

  - Installing sebastian/diff (dev-master 13edfd8)
    Cloning 13edfd8706462032c2f52b4b862974dd46b71c9e

  - Installing sebastian/comparator (dev-master 937efb2)
    Cloning 937efb279bd37a375bcadf584dec0726f84dbf22

  - Installing phpdocumentor/reflection-docblock (2.0.4)
    Loading from cache

  - Installing phpspec/prophecy (dev-master 53e967b)
    Cloning 53e967bf312c21f78ec3a19c530d98e1bdb5b26f

  - Installing sebastian/environment (dev-master 6e71337)
    Cloning 6e7133793a8e5a5714a551a8324337374be209df

  - Installing phpunit/php-text-template (1.2.1)
    Loading from cache

  - Installing phpunit/php-timer (dev-master 3e82f4e)
    Cloning 3e82f4e9fc92665fafd9157568e4dcb01d014e5b

  - Installing sebastian/version (1.0.6)
    Loading from cache

  - Installing sebastian/global-state (1.1.1)
    Downloading: 100%

  - Installing symfony/yaml (2.8.x-dev aceecdb)
    Cloning aceecdb89565ebdedd908aaf327f5c34305be981

  - Installing phpunit/phpunit-mock-objects (2.3.x-dev ac8e7a3)
    Cloning ac8e7a3db35738d56ee9a76e78a4e03d97628983

  - Installing phpunit/php-token-stream (dev-master cab6c6f)
    Cloning cab6c6fefee93d7b7c3a01292a0fe0884ea66644

  - Installing phpunit/php-file-iterator (dev-master 6150bf2)
    Cloning 6150bf2c35d3fc379e50c7602b75caceaa39dbf0

  - Installing phpunit/php-code-coverage (2.2.x-dev eabf68b)
    Cloning eabf68b476ac7d0f73793aada060f1c1a9bf8979

  - Installing phpunit/phpunit (4.8.x-dev ea76b17)
    Cloning ea76b17bced0500a28098626b84eda12dbcf119c

phpdocumentor/reflection-docblock suggests installing dflydev/markdown (~1.0)
phpdocumentor/reflection-docblock suggests installing erusev/parsedown (~1.0)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Writing lock file
Generating autoload files

0 roundcube-code@stallman:/srv/roundcube-dev$ git status
# Not currently on any branch.
nothing to commit (working directory clean)

I'm not too worried about "Failed to update https://git.kolab.org/diffusion/PNL/php-net_ldap.git", because our roundcube installation does not use ldap.

1 roundcube-dev@stallman:/srv/roundcube-dev$  php bin/update.sh
What version are you upgrading from? Type '?' if you don't know.
?
Executing database schema update.
WARNING: unable to update composer.json!
Please replace the 'require' section in your composer.json with the following:
    "require": {
        "php": ">=5.3.7",
        "roundcube/plugin-installer": "~0.1.6",
        "pear/mail_mime": ">=1.8.9",
        "pear/mail_mime-decode": "~1.5.5",
        "pear/net_smtp": "dev-master",
        "pear-pear.php.net/auth_sasl": "~1.0.6",
        "pear-pear.php.net/net_idna2": "~0.1.1",
        "pear-pear.php.net/net_sieve": "~1.3.4",
        "patchwork/utf8": "~1.2.3",
        "pear-pear.php.net/mail_mime": "~1.9.0",
        "pear-pear.php.net/net_smtp": "~1.6.3"
    }

composer.phar, take III

Let's try this

  • update composer.json. Commit, tag, push
  • try again.
0 sunny:roundcube$ git diff composer.json
diff --git a/composer.json b/composer.json
index 4272034..12f43cd 100644
--- a/composer.json
+++ b/composer.json
@@ -30,15 +30,17 @@
     ],
     "require": {
         "php": ">=5.3.7",
-        "roundcube/plugin-installer": ">=0.1.5",
+        "roundcube/plugin-installer": "~0.1.6",
         "pear/mail_mime": ">=1.8.9",
         "pear/mail_mime-decode": "~1.5.5",
         "pear/net_smtp": "dev-master",
-        "pear-pear.php.net/auth_sasl": ">=1.0.6",
-        "pear-pear.php.net/net_idna2": ">=0.1.1",
-        "pear-pear.php.net/net_sieve": ">=1.3.2",
-        "patchwork/utf8": "1.2.x"
-    },
+        "pear-pear.php.net/auth_sasl": "~1.0.6",
+        "pear-pear.php.net/net_idna2": "~0.1.1",
+        "pear-pear.php.net/net_sieve": "~1.3.4",
+        "patchwork/utf8": "~1.2.3",
+        "pear-pear.php.net/mail_mime": "~1.9.0",
+        "pear-pear.php.net/net_smtp": "~1.6.3"
+    }
     "require-dev": {
         "pear-pear.php.net/crypt_gpg": "*",
         "phpunit/phpunit": "*"
0 sunny:roundcube$
0 sunny:roundcube$ git push gmo mfpl-release-1.1
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 420 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: To git-roundcube@moses.mayfirst.org:/srv/git/roundcube
remote:    a7f25ba..7d4b092  mfpl-release-1.1 -> mfpl-release-1.1
To ssh://gitosis@git.mayfirst.org/mfpl/roundcube
   a7f25ba..7d4b092  mfpl-release-1.1 -> mfpl-release-1.1
0 sunny:roundcube$ git push gmo --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 824 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: To git-roundcube@moses.mayfirst.org:/srv/git/roundcube
remote:  * [new tag]         roundcube-1.1.3-mfpl3 -> roundcube-1.1.3-mfpl3
To ssh://gitosis@git.mayfirst.org/mfpl/roundcube
 * [new tag]         roundcube-1.1.3-mfpl3 -> roundcube-1.1.3-mfpl3

128 roundcube-code@stallman:/srv/roundcube-dev$ git fetch gmo
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (4/4), done.
From git://git.mayfirst.org/mfpl/roundcube
   a7f25ba..7d4b092  mfpl-release-1.1 -> gmo/mfpl-release-1.1
 * [new tag]         roundcube-1.1.3-mfpl3 -> roundcube-1.1.3-mfpl3


0 roundcube-code@stallman:/srv/roundcube-dev$ git tag -v roundcube-1.1.3-mfpl3
object 7d4b0923758cda2f074d6e402b6374ebbe92aff8
type commit
tag roundcube-1.1.3-mfpl3
tagger Steve Revilak <steve@...> 1450661521 -0500

retagging, after updating composer.json
gpg: Signature made Sun 20 Dec 2015 08:32:20 PM EST
gpg:                using RSA key 0x3EB22DE4E594DCF2
gpg: Good signature from "Steve Revilak <steve@srevilak.net>"
gpg:                 aka "Steve Revilak <srevilak@masspirates.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 6F09 15FF 59CE E093 56F4  BEEC E772 7C56 28C2 A300
     Subkey fingerprint: B482 D402 5CEF 25D1 C64C  3229 3EB2 2DE4 E594 DCF2


0 roundcube-code@stallman:/srv/roundcube-dev$ git checkout roundcube-1.1.3-mfpl3
Previous HEAD position was a7f25ba... composer.phar Updating to version c9501a4cc164b176de48e44b239e619cfd5f14e5
HEAD is now at 7d4b092... updated composer.json, based on feedback from roundcube's update.sh

Crap -- I missed a comma, and composer.json has a syntax error.

Try again, using tag roundcube-1.1.3-mfpl4

1 roundcube-code@stallman:/srv/roundcube-dev$ git fetch gmo
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (4/4), done.
From git://git.mayfirst.org/mfpl/roundcube
   7d4b092..abcf7fff mfpl-release-1.1 -> gmo/mfpl-release-1.1
 * [new tag]         roundcube-1.1.3-mfpl4 -> roundcube-1.1.3-mfpl4

0 roundcube-code@stallman:/srv/roundcube-dev$ git checkout roundcube-1.1.3-mfpl4
Previous HEAD position was 7d4b092... updated composer.json, based on feedback from roundcube's update.sh
HEAD is now at abcf7fff...  Missing ^%%$^^&*!#!#@ comma.  Sigh

0 roundcube-code@stallman:/srv/roundcube-dev$ php composer.phar update
Loading composer repositories with package information
Initializing PEAR repository http://pear.php.net
Failed to update https://git.kolab.org/diffusion/PNL/php-net_ldap.git, package information from this repository may be outdated (Failed to execute git remote set-url origin 'https://git.kolab.org/diffusion/PNL/php-net_ldap.git' && git remote update --prune origin

error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://git.kolab.org/diffusion/PNL/php-net_ldap.git/info/refs
fatal: HTTP request failed
error: Could not fetch origin
)
Reading composer.json of kolab/Net_LDAP3 (pear-Net-LDAP3-1.0.0)
Updating dependencies (including require-dev)
  - Updating roundcube/plugin-installer (dev-master 0.1.7 => 0.1.7)
    Checking out 0.1.7

  - Installing pear-pear.php.net/net_smtp (1.6.3)
    Downloading: 100%
  - Installing pear-pear.php.net/mail_mime (1.9.0)
    Downloading: 100%
Writing lock file
Generating autoload files

Now, let's try update.sh

0 roundcube-dev@stallman:/srv/roundcube-dev$ php bin/update.sh 
What version are you upgrading from? Type '?' if you don't know.
?
Executing database schema update.
WARNING: unable to update composer.json!
Please replace the 'require' section in your composer.json with the following:
    "require": {
        "php": ">=5.3.7",
        "roundcube/plugin-installer": "~0.1.6",
        "pear/mail_mime": ">=1.8.9",
        "pear/mail_mime-decode": "~1.5.5",
        "pear/net_smtp": "dev-master",
        "pear-pear.php.net/auth_sasl": "~1.0.6",
        "pear-pear.php.net/net_idna2": "~0.1.1",
        "pear-pear.php.net/net_sieve": "~1.3.4",
        "patchwork/utf8": "~1.2.3",
        "pear-pear.php.net/mail_mime": "~1.9.0",
        "pear-pear.php.net/net_smtp": "~1.6.3"
    }

NOTE: Update dependencies by running `php composer.phar update --no-dev`
This instance of Roundcube is up-to-date.
Have fun!

I see that update.sh tries to overwrite composer.json, but it doesn't actually check the values in `require'. The values that update.sh wants me to add are the values in composer.json.

Alright, let's index our contacts

0 roundcube-dev@stallman:/srv/roundcube-dev$ php bin/indexcontacts.sh 
Indexing contacts for user 1...done.
Indexing contacts for user 2...done.
Indexing contacts for user 4...done.
Indexing contacts for user 5...done.

   ...

Indexing contacts for user 60...done.
Indexing contacts for user 61...done.
Indexing contacts for user 62...done.
Indexing contacts for user 63...done.
0 roundcube-dev@stallman:/srv/roundcube-dev$ 

Sigh. Not looking good.

[25-Nov-2015 04:45:14 -0500]: <740b3cjn> PHP Error: Request security check failed (GET /)
[20-Dec-2015 20:43:17 America/New_York] PHP Fatal error:  Call to undefined method PEAR::encodeHeader() in /srv/roundcube-dev/vendor/pear-pear.php.net/PEAR/PEAR.php on line 232

comment:6 Changed 3 years ago by https://id.mayfirst.org/srevilak

From my last set of roundcube upgrade notes (ticket:10692#comment:3), I have

0 roundcube-code@stallman:/srv/roundcube$ mkdir -m 700 /tmp/roundcube 0 roundcube-code@stallman:/srv/roundcube$ mv vendor/pear /tmp/roundcube/

So let's try that

0 roundcube-code@stallman:/srv/roundcube-dev$ mv vendor/pear /tmp/roundcube/pear.$(date +%F)

Much better. I'm now able to send and read mail on roundcube.dev.mayfirst.org.

comment:7 Changed 3 years ago by https://id.mayfirst.org/srevilak

Procedure for production upgrade (when I do it)

  • git fetch gmo
  • git checkout roundcube-1.1.3-mfpl5
  • php composer.phar update
  • mv vendor/pear /tmp/roundcube/pear.$(date +%F)
  • php bin/update.sh, ignore complaints about composer.json
  • php bin/indexcontacts.ksh
Last edited 3 years ago by https://id.mayfirst.org/srevilak (previous) (diff)

comment:8 Changed 3 years ago by https://id.mayfirst.org/srevilak

According to ticket:10692#comment:3, I should have done "cp composer.json-dist composer.json". Let me try that, with tag #5.

0 roundcube-code@stallman:/srv/roundcube-dev$ git fetch gmo
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From git://git.mayfirst.org/mfpl/roundcube
   abcf7fff..3866416 mfpl-release-1.1 -> gmo/mfpl-release-1.1
 * [new tag]         roundcube-1.1.3-mfpl5 -> roundcube-1.1.3-mfpl5

0 roundcube-code@stallman:/srv/roundcube-dev$ git checkout roundcube-1.1.3-mfpl5
Previous HEAD position was abcf7fff...  Missing ^%%$^^&*!#!#@ comma.  Sigh
HEAD is now at 3866416... cp composer.json-dist composer.json

comment:9 Changed 2 years ago by https://id.mayfirst.org/srevilak

  • Resolution set to fixed
  • Status changed from assigned to closed

roundcube.mayfirst.org upgrade

database backup

pg_dump -v -b -C roundcube | gzip -v9 > roundcube.$(date +%F).sql.gz

source update

0 roundcube-code@stallman:/srv/roundcube$ git fetch gmo
remote: Counting objects: 531, done.
remote: Compressing objects: 100% (174/174), done.
remote: Total 452 (delta 315), reused 405 (delta 276)
Receiving objects: 100% (452/452), 323.25 KiB, done.
Resolving deltas: 100% (315/315), completed with 62 local objects.
From git://git.mayfirst.org/mfpl/roundcube
   c037dcc..3866416  mfpl-release-1.1 -> gmo/mfpl-release-1.1
 * [new tag]         roundcube-1.1.3-mfpl5 -> roundcube-1.1.3-mfpl5
From git://git.mayfirst.org/mfpl/roundcube
 * [new tag]         1.1.3      -> 1.1.3
 * [new tag]         roundcube-1.1.3-mfpl1 -> roundcube-1.1.3-mfpl1
 * [new tag]         roundcube-1.1.3-mfpl2 -> roundcube-1.1.3-mfpl2
 * [new tag]         roundcube-1.1.3-mfpl3 -> roundcube-1.1.3-mfpl3
 * [new tag]         roundcube-1.1.3-mfpl4 -> roundcube-1.1.3-mfpl4

0 roundcube-code@stallman:/srv/roundcube$ git checkout roundcube-1.1.3-mfpl4
Previous HEAD position was c037dcc... removed variables where we are not overriding default values
HEAD is now at abcf7fff...  Missing ^%%$^^&*!#!#@ comma.  Sigh

Upgrade composer-managed dependencies

0 roundcube-code@stallman:/srv/roundcube$ php composer.phar update

0 roundcube-code@stallman:/srv/roundcube$ php composer.phar update
Loading composer repositories with package information
Initializing PEAR repository http://pear.php.net



  [RuntimeException]
  Failed to execute git clone --mirror 'https://git.kolab.org/diffusion/PNL/php-net_ldap.git
  ' '/home/roundcube-code/.composer/cache/vcs/https---git.kolab.org-diffusion-PNL-php-net-ld
  ap.git/'
  error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt
  CRLfile: none while accessing https://git.kolab.org/diffusion/PNL/php-net_ldap.git/info/re
  fs
  fatal: HTTP request failed

ticket:11284 has more to say about the certificate verification issue. I won't worry about it here.

0 roundcube@stallman:/srv/roundcube$ php bin/update.sh 
What version are you upgrading from? Type '?' if you don't know.
?
Executing database schema update.
WARNING: unable to update composer.json!
Please replace the 'require' section in your composer.json with the following:
    "require": {
        "php": ">=5.3.7",
        "roundcube/plugin-installer": "~0.1.6",
        "pear/mail_mime": ">=1.8.9",
        "pear/mail_mime-decode": "~1.5.5",
        "pear/net_smtp": "dev-master",
        "pear-pear.php.net/auth_sasl": "~1.0.6",
        "pear-pear.php.net/net_idna2": "~0.1.1",
        "pear-pear.php.net/net_sieve": "~1.3.4",
        "patchwork/utf8": "~1.2.3",
        "pear-pear.php.net/mail_mime": "~1.9.0",
        "pear-pear.php.net/net_smtp": "~1.6.3"
    }

NOTE: Update dependencies by running `php composer.phar update --no-dev`
This instance of Roundcube is up-to-date.
Have fun!

Ignoring this warning as well. As far as I can tell, update.sh wants to overwrite composer.json, without checking it for up-to-dateness.

Index contacts

0 roundcube@stallman:/srv/roundcube$ php bin/indexcontacts.sh 
Indexing contacts for user 1...done.
Indexing contacts for user 2...done.
Indexing contacts for user 3...done.
 ...
Indexing contacts for user 1838...done.
Indexing contacts for user 1839...done.
Indexing contacts for user 1841...done.
Indexing contacts for user 1842...done.

Garbage collection. This is supposed to clean up old records in the session table, caches, and temporary files.

0 roundcube@stallman:/srv/roundcube$ php bin/gc.sh

Please login to add comments to this ticket.

Note: See TracTickets for help on using tickets.