[pkg-php-pear] Symfony package transitions (was: Symfony package review)

Daniel Beyer dabe at deb.ymc.ch
Wed Sep 24 12:31:56 UTC 2014


Hi David,

this one got a bit longish, but it has a breakpoint in it...

Am Dienstag, den 23.09.2014, 15:42 -0400 schrieb David Prévot:
> Hi Daniel,
> 
> Le 23/09/2014 08:59, Daniel Beyer a écrit :
>
> (...)
> It should work:
> 
> 	2.3.19-1 << 2.3.19+dfsg~ << 2.3.19+dfsg << 2.3.19+dfsg-1
> (...)
> One of the shortest form I can think of is 2.3.19+, that should be fine,
> but I just think it’s less explicit (but that’s just some nipticking
> bikeshed, chose whatever you like that will actually do the job).
> 

I decided to go with <<2.3.19+dfsg.

> (...)
>
> > I think now it's time to dig into this and do, as you suggested, some
> > test upgrades. I'll let you know as soon as I have findings.
> 
> Don’t waste too much time on php-symfony-yaml (that should be handled
> very soon anyway), please mainly focus on the class(-)loader and
> event(-)dispatcher rename. Is this last bit the actual last thing to do
> before considering a final review before the upload (fair question: I
> may still be short on coffee to see clearly, and haven’t yet looked at
> your last changes in Git ;)?
> 

FYI: The problems I had with php-symfony-yaml and php-symfony2-yaml
together with phpunit are totally gone (sid + incoming).

And yes, I think the class(-)loader and event(-)dispatcher transitions
are the last bit.

Regarding the transitions:
I tested unnecessarily many <<VERSION variants and even one where I
additionally put the transition into the standalone packages (but than
those need to pass NEW again).

The transition finally worked pretty well (actually all of them had :-).
But there might be one issue with (all) of them:
One better do not follow the statement 
  'This is a transitional dummy package. It can safely be removed.'
from the transitional packages.
Removing them also removes versioned depending packages (see the bottom
of my mail for some more details). As far as I see, php-guzzle is the
only package having such a versioned Depend: in it.

I see this ways to deal with it:
1. Ignore it.
2. Change the Description: of the transitional packages.
3. Additionally do the transition in the standalone packages and
updated/rebuild depending packages.

I kind of feel we can not simply ignore it, what do you think?


You can stop reading here, below you will only find some kind of a small
documentation of my (final) test...



Testbench:
- Freshly installed sid VM (used the jessie beta1 installer and then
upgraded to sid)
- owncloud installed (it depends on php-symfony-classloader)
- php-guzzle installed (it depends on php-symfony-eventdispatcher)
- Manually installed 2.3.19-1 variants of the standalone
php-symfony-eventdispatcher and php-symfony-classloader packages. Both
were build separately with gbp out of their git repos (I just changed
the version in d/changelog)
- An empty local apt repo and an entry in apt's sources.list for it

This looked like this:
   root at sid:~# dpkg-query -W -f='${binary:Package}    ${Version}\n' \
                 php-symfony-event* php-symfony-class* \
                 php-guzzle owncloud
   owncloud    7.0.2+dfsg-1
   php-guzzle    3.9.2+dfsg-3
   php-symfony-classloader    2.3.19-1
   php-symfony-eventdispatcher    2.3.19-1


Final scenario:
1. gbp builded src:symfony's binary pkgs (from what no is in master)
2. copy them into the local repo on the VM (and refresh Packages)
3. # apt-get update && apt-get dist-upgrade && echo "GOOD" || echo "BAD"
   (...)
   Calculating upgrade... Done
   The following NEW packages will be installed:
     php-symfony-class-loader php-symfony-event-dispatcher
   The following packages will be upgraded:
     php-symfony-classloader php-symfony-eventdispatcher
   2 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
   Need to get 0 B/111 kB of archives.
   After this operation, 285 kB of additional disk space will be used.
   Do you want to continue? [Y/n] y
   (...)
   GOOD

The dist-upgrade succeeded and no packages are removed from the system.
Afterwards it looked like this:
   root at sid:~# dpkg-query -W -f='${binary:Package}    ${Version}\n' \
                 php-symfony-event* php-symfony-class* \
                 php-guzzle owncloud
   owncloud    7.0.2+dfsg-1
   php-guzzle    3.9.2+dfsg-3
   php-symfony-class-loader    2.3.19+dfsg-1
   php-symfony-classloader    2.3.19+dfsg-1
   php-symfony-event-dispatcher    2.3.19+dfsg-1
   php-symfony-eventdispatcher    2.3.19+dfsg-1

Then I purged php-symfony-classloader:
   root at sid:~# apt-get --purge remove php-symfony-classloader
   (...)
   Reading state information... Done
   The following packages will be REMOVED:
     php-symfony-classloader*
   0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
   After this operation, 97.3 kB disk space will be freed.
   Do you want to continue? [Y/n] y
   (...)
   root at sid:~# echo $?
   0

Then I tried to purge php-symfony-eventdispatcher:
   root at sid:~# apt-get --purge remove php-symfony-eventdispatcher
   (..)
   Reading state information... Done
   The following packages were automatically installed and are no 
   longer required:
   (...)
   Use 'apt-get autoremove' to remove them.
   The following packages will be REMOVED:
     owncloud* php-aws-sdk* php-guzzle* php-opencloud* 
     php-symfony-eventdispatcher*
   0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded.
   After this operation, 39.5 MB disk space will be freed.
   Do you want to continue? [Y/n] n
   Abort.
   root at sid:~# echo $?
   1

It turned out php-guzzle has versioned depends on
php-symfony-eventdispatcher.
(Owncloud is removed due to its Depends: php-opencloud, which Depends:
php-guzzle.)


Greetings
Daniel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-php-pear/attachments/20140924/0b466c99/attachment.sig>


More information about the pkg-php-pear mailing list