[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: updating roundcube backports to 1.2.x?



Hi Guilhem,

On 05/16/2017 08:29 PM, Guilhem Moulin wrote:
> On Tue, 16 May 2017 at 13:54:32 +0200, Christian Seiler wrote:
>> I just saw this thread (was a bit behind on reading my Debian
>> mailing lists recently) and I am actually using Jessie + Roundcube
>> from backports, so may I offer my help in backporting all of the
>> dependencies of Roundcube instead of dropping Roundcube?
> 
> Thanks you for offering this!  If the only missing pieces were the
> packages maintained by the roundcube packaging team I'd of course be
> more than happy to update.  First I'd need to re-evaluate what is
> missing for a backport of 1.2.3 though (I don't have that on top of my
> head anymore, I'll try to have a look before the week-end).

Well, I've decided to investigate this by myself, and with the help of
apt-cache show on Stretch + rmadison to check availablility of packages
in different suites, I've come up with a (hopefully) comprehensive list
of dependencies of roundcube and some information about their status in
jessie and jessie-backports.

Format of this list:

  SB    PKG (VER)        [REPLACEMENT]

  S: present in stable, possible values:
         Y: package in sufficiently recent version present in stable
         N: package not present in stable or too old
         R: package was renamed between stable and testing
            (REPLACEMENT is package name in stable)
         V: purely virtual package (but present in stable)
  B: present in stable-backports, possible values:
         -: not present in backports (but not required, as package in
            stable exists in sufficiently new version)
         Y: present in backports
	 O: present in backports, but version lags behind version in
            testing
         N: not present in backports, and also not present in backports

  PKG: the package name
  VER: (optional) version dependency
  REPLACEMENT: the name of the equivalent package in stable if a rename
	       occurred

roundcube-core:Depends:
  YY    dbconfig-common
  Y-    debconf
  Y-    ucf
  R-    libapache2-mod-php  [libapache2-mod-php5]
  R-    php                 [php5]
  Y-    libmagic1
  NN    php-pear (>= 1:1.10.1)
  R-    php-cli             [php5-cli]
  R-    php-intl            [php5-intl]
  R-    php-json            [php5-json]
  R-    php-mcrypt          [php5-mcrypt]
  R-    php-common          [php5-common]
  Y-    php-net-socket (>= 1.0.12)
  Y-    php-auth-sasl (>= 1.0.6)
  NN    php-mail-mime (>= 1.10.0)
  NN    php-net-smtp (>= 1.7.1)

roundcube-core:Recommends:
  Y-    apache2
  Y-    lighttpd
  Y-    spawn-fcgi
  R-    php-fpm             [php5-fpm]
  V-    httpd-cgi
  R-    php-gd              [php5-gd]
  R-    php-pspell          [php5-pspell]

roundcube-core:Suggests:
  NN    php-net-ldap2 (>= 2.2.0)
  Y-    php-crypt-gpg (>= 1.4.2)    * not actually in testing,
                                      see #835592
  YO    php-net-ldap3


roundcube-plugins:Suggests:
  Y-    php-crypt-gpg (>= 1.4.2)    * not actually in testing,
                                      see #835592
  Y-    php-net-sieve
  R-    php-zip             [php5-cgi, php5-cli, etc. (part of core PHP5 in Jessie)]

roundcube-mysql:Depends:
  Y-    mariadb-client
  NO    default-mysql-client
  -V    virtual-mysql-client
  R-    php-mysqlnd         [php5-mysqlnd]
  R-    php-mysql           [php5-mysql]

roundcube-mysql:Suggests:
  Y-    mariadb-server
  NO    default-mysql-server

roundcube-sqlite3:Depends:
  R-    php-sqlite3         [php5-cgi, php5-cli, etc. (part of core PHP5 in Jessie)]
  YY   sqlite3

roundcube-pgsql:Depends:
  R-    php-pgsql           [php5-pgsql]
  YY    postgresql-client

roundcube-pgsql:Suggests:
  YY    postgresql

roundcube-plugins-extra:Depends:
  YO    libjs-jquery-mousewheel

roundcube-plugins-extra:Suggests:
  Y-    fail2ban

So basically, if I'm not completely mistaken, backporting the dependencies of
Roundcube has the following categories:

1. Needs backport:

  NN    php-mail-mime (>= 1.10.0)
  NN    php-net-smtp (>= 1.7.1)
  NN    php-net-ldap2 (>= 2.2.0)

2. May need backport:

  NN    php-pear (>= 1:1.10.1)
     (Version scheme of this changed, one would actually need to check
     whether the >= here is to ensure a proper upgrade to PHP7 or for
     some actual functionality reason. If the former then the backport
     should simply drop the versioned dependency, otherwise one would
     need to look into backporting this.)

3. Dependencies need to be renamed in roundcube's debian/control file:

  (Reverse PHP5 -> PHP7 transition for backport.)

  R-    libapache2-mod-php [libapache2-mod-php5]
  R-    php                [php5]
  R-    php-cli            [php5-cli]
  R-    php-intl           [php5-intl]
  R-    php-json           [php5-json]
  R-    php-mcrypt         [php5-mcrypt]
  R-    php-common         [php5-common]
  R-    php-fpm            [php5-fpm]
  R-    php-gd             [php5-gd]
  R-    php-pspell         [php5-pspell]
  R-    php-mysqlnd        [php5-mysqlnd]
  R-    php-mysql          [php5-mysql]
  R-    php-pgsql          [php5-pgsql]

4. Dependencies that need to be dropped (core part of PHP in Jessie,
   hence already depended upon) in roundcube's debian/control file:

  R-    php-zip            [php5-cgi, php5-cli, etc. (part of core PHP5 in Jessie)]
  R-    php-sqlite3       [php5-cgi, php5-cli, etc. (part of core PHP5 in Jessie)]

5. Backports that need to be updated:

  YO    php-net-ldap3
  YO    libjs-jquery-mousewheel
  NO    default-mysql-client
  NO    default-mysql-server

So unless I'm missing something huge, all in all we have 3 or 4
dependencies that need to be backported additionally, and 4 other
packages should be updated in backports (but probably don't need to be
to get roundcube working in the first place).

Plus roundcube itself, plus testing that upgrades from current
jessie-backports to the new version actually work as expected. (There
are no automated upgrade tests in Stretch for roundcube, as it was not
part of Jessie.)

So again, unless I'm missing something huge, I don't really see what
the huge issue is here. I expect 4 PEAR packages to be relatively
simple to backport (obviously some testing is required that they don't
break other software in Jessie that relies on the same packages), but
I expect the testing that has to go into roundcube itself to take far
more time than all of its dependencies. (Especially to ensure that
upgrades from current BPO to the newer version work properly, because
people have installed roundcube on their stable machines, and don't
want to have to deal with breakage if that can be at all avoided.)


Anyway, my offer still stands, and unless I hear an objection in the
next couple of days, and nobody else beats me to it, I'll start
backporting the 3-4 PEAR dependencies that are missing after the
weekend.

Regards,
Christian


Reply to: