Changes between Version 3 and Version 4 of YumPackageUpdates

Show
Ignore:
Author:
james (IP: 65.172.155.230)
Timestamp:
02/09/09 21:11:36 (9 years ago)
Comment:

pre stuff

Legend:

Unmodified
Added
Removed
Modified
  • YumPackageUpdates

    v3 v4  
    1919The usual thing to do here is to have: 
    2020 
    21   # pkgB-2.3.4-5 
    22   Obsoletes: pkgA <= 1.2.3-4 
     21{{{ 
     22    # pkgB-2.3.4-5 
     23    Obsoletes: pkgA <= 1.2.3-4 
     24}}} 
    2325 
    2426Now pkgA will be updated to pkgB. However note that pkgA-1.2.3-4 can be installed via. rpm, after pkgB is installed. You may want to have something like: 
    2527 
     28{{{ 
    2629  # pkgB-2.3.4-5 
    2730  Conflicts: pkgA <= 1.2.3-4 
     31}}} 
    2832 
    2933...to stop that. For compatibility you may also want to do: 
    3034 
     35{{{ 
    3136  # pkgB-2.3.4-5 
    3237  Provides: pkgA 
     38}}} 
    3339 
    3440...as now packages which "Requires: pkgA" will continue to work.  
    4450This is a similar problem to the rename, except that we are renaming some of pkgA to one place and some to another (the same place): 
    4551 
     52{{{ 
    4653  # pkgA-foo-2.3.4-5 
    4754  Obsoletes: pkgA <= 1.2.3-4 
     55 
    4856  # pkgA-2.3.4-5 
    4957  Obsoletes: pkgA <= 1.2.3-4 
     58}}} 
    5059 
    5160Now pkgA will be updated and pkgA-foo installed. Note that if you don't have the Obsolete in pkgA then it will work as a rename, which is probably not what you want. 
    6170This is basically the same problem as a rename, so the solution is the same: 
    6271 
     72{{{ 
    6373  # pkgA-2.3.4-5 
    6474  Obsoletes: pkgA-foo <= 1.2.3-4 
     75}}} 
    6576 
    6677Now pkgA will be updated and automatically remove the old pkgA-foo-1.2.3-4. 
    7788The obvious solution here is: 
    7889 
     90{{{ 
    7991  # pkgA-2.3.4-5 
    8092  Requires: pkgB >= 3.4.5-6 
     93}}} 
    8194 
    8295...which will bring the new version of pkgB along if pkgA is updated. 
    93106The obvious solution here is is to do the require, but in fact you want to do: 
    94107 
     108{{{ 
    95109  # pkgA-2.3.4-5 
    96110  Conflict: pkgB < 3.4.5-6 
     111}}} 
    97112 
    98113...this will update pkgB, if it's already installed, but do nothing otherwise. Also note that Conflicts are on package names only, if pkgB is renamed to pkgZ at version 3.4.5-6 (and provides pkgB of the same version) then the conflict do nothing.