8

I need to transition existing users from one PPA(s) to different PPA, so this is a question how to automate the transition without as little impact on the users as possible.

More precisely:

I have PPAs for PHP 5.5 and PHP 5.6 that use old style PHP packaging that was used pre-Xenial and they have a quite a lot of users.

Now I made a new PPA that includes PHP 5.5, PHP 5.6 and PHP 7.0 and I would the users of old PPAs to switch to this new PPA. I have a couple of ideas how to do this general, but I would like to have more input from the AskUbuntu community.

Please contribute your thoughts via comments, direct edits to the answers below or add your own suggestion.

3

Option 3 -- Automatically add the new PPA

This is like 2, but php5-common would automatically add the new PPA, so the new packages would be available after next apt-get update run. Optionally there could be a Debconf question whether the users wants the PPA added automatically or they will do so themselves.

  • Pros:
    1. One single repository to handle
    2. No automatic transition
    3. Users can prepare their transition plan
    4. Packages are ready to be installed right away
    5. Adding PPA from same namespace might work flawlessly
  • Cons:
    1. Some users will miss the announcement no matter how hard you try
    2. Adding extra PPA automatically seems like security risk
    3. Adding extra PPA from different namespace needs dropping extra GPG keys in /etc/apt/trusted.gpg.d/ and that also seems like security risk
  • There's php-ppa package in the old ppa:ondrej/php5 and ppa:ondrej/php5-5.6, so you can try it already. – oerdnj May 6 '16 at 18:58
  • I don't see the security risk of adding a ppa (either they trust you and all is fine, or they don't and then they shouldn't be using your packages to begin with)? – JanC May 9 '16 at 15:27
  • @JanC Thank for the feedback .Still it would make me uneasy if the packages were adding additional PPAs without asking first, but I already implemented a debconf question for that, so I think it should be ok. – oerdnj May 9 '16 at 19:54
  • Yes, of course warning your users beforehand and/or when it happens, as well as documenting it in a CHANGES file or such, is a good idea. – JanC May 10 '16 at 0:09
  • BTW: maybe at some point you also want to do regular no-change rebuilds with incremental built version numbers in the old PPAs, so that those that ignore the PPA change get regular reminders from debconf… :) – JanC May 10 '16 at 0:17
2

Option 2 -- Make a deprecation plan and inform the users prominently

  • Pros:
    1. One single repository to handle
    2. No automatic transition
    3. Users can prepare their transition plan
  • Cons:
    1. Some users will miss the announcement no matter how hard you try
    2. There will be people how will say: "Please, don't do that"
    3. No automatic transition
1

Option 1 -- Do nothing

  • Pros:
    1. Users are happy
  • Cons:
    1. Every duplicate source package has to have two versions of the build script
    2. Overloaded and unhappy PPA maintainer
1

Option 4 -- Fully automated transition

This is like Option 3, but adds dummy packages that will replace the old php5* and pull the new php5.6*

  • Pros (includes Pros from Option 3):
    1. If everything works like expected, it might be the best option, as the users will have the new packages without any work at their side
  • Cons (includes Cons from Option 3):
    1. The switch will remove changes people have made to the old configuration files or the transition will need some complex maintainer scripts to shuffle the old configuration around to the new locations
    2. The dummy package will need to carry at least some configuration to setup of FPM socket and old names to not break compatibility with old setups (use update-alternatives to setup /usr/bin/php5 to point at /usr/bin/php5.6)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.