← Back to team overview

ius-community team mailing list archive

New yum 'replace' plugin for upgrading to IUS packages

 

Hello all,

I have written a Yum plugin specifically for the IUS project (though it could be used elsewhere) that is geared toward making upgrading from stock RHEL packages to IUS packages much easier.  As you all know, the current process of upgrading from stock 'pkg' to IUS 'pkgXY' can be tedious, and generally involves the following steps (using php as an example):

$ sudo yum shell

yum> remove php php-common php-pear php-mcrypt php-mysql php-mbstring

yum> install php52 php52-common php52-pear php52-mcrypt php52-mysql php52-mbstring

yum> transaction solve

yum> transaction run


The obvious headache is that the process (commands) are different on every box depending on what packages are installed and need to be removed/re-installed.  The 'replace' plugin turns this process into the following:

$ sudo yum replace php --replace-with php52


The plugin performs all checks to ensure everything provided by php-xxxx is resolved by php52-xxxx.  We've updated ius-release to require yum-plugin-replace, and both are currently in our testing repo.  I've not tested much beyond a few trial examples with php and mysql so if anyone would like to help test this out and provide usage feedback we would be more than grateful.  Testing should be as simple as:

$ sudo yum upgrade --enablerepo=ius-testing


This assumes you already have the 'ius-release' package installed (see the getting started guide [1]).  Once upgraded to ius-release-1.0-5 you should also have yum-plugin-replace installed.  We are looking for anyone interested to provide testing of any package upgrade scenario you can think of.  The following should work:

$ sudo yum replace php --replace-with php52

$ sudo yum replace php52 --replace-with php53

$ sudo yum replace php53 --replace-with php

$ sudo yum replace mysql --replace-with mysql51


Etc...   Please note that you will receive a warning regarding 'not all providers are resolved by upgrade' which is normal.  Some of these warnings will be fixed in the specs, others simply just don't exist in newer/different versions of packages.  Please let me know (on/off list) if you have any questions.  

Note: This update was just pushed to our primary upstream mirror...  please wait several hours for all mirrors to sync, or you can simply wget/download the packages from http://dl.iuscommunity.org/ius/testing directly.

References:

[1] http://iuscommunity.org/getting-started

---
BJ Dierkes
Linux Systems Engineer IV / [RH]acker
Infrastructure Services [Development]
Rackspace Hosting