Changes between Version 5 and Version 6 of YumPackageUpdates

Show
Ignore:
Author:
james (IP: 65.172.155.230)
Timestamp:
06/09/10 22:22:20 (8 years ago)
Comment:

More splitting cases

Legend:

Unmodified
Added
Removed
Modified
  • YumPackageUpdates

    v5 v6  
    4141 
    4242== Package split == 
     43In general you have N things inside one package and move to a point where you have N packages all providing one thing, you cannot easily decide for the user which of the N things they wanted originally. So the general case let's the user decide: 
    4344 
    44 A package splits some of it's data into a sub-package: 
     45=== General case === 
     46 
     47A package splits into two: 
    4548 
    4649 * pkgA-1.2.3-4 is installed 
    5861}}} 
    5962 
    60 Now 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. 
     63Now on update pkgA will be updated and pkgA-foo installed. If you don't have the Obsolete in pkgA then it will work as a rename, which is probably not what you want. 
     64However if the user does "install pkgA-foo" or "install pkgA-2.3.4" they will end up with just pkgA or pkgA-foo, respectively. 
     65 
     66=== Package split in two, Application and noarch data === 
     67 
     68A package splits it's (large) data into a noarch sub-package: 
     69 
     70 * pkgA-1.2.3-4 is installed 
     71 * pkgA-2.3.4-5 is available 
     72 * pkgA-data-2.3.4-5 is available 
     73 
     74This is somewhat different in that you have a very high expectation that a user will want '''both''' installed afterwards, and never '''just''' pkgA or pkgA-data: 
     75 
     76{{{ 
     77  # pkgA-2.3.4-5 
     78  Requires: pkgA-data = 2.3.4-5 
     79  # pkgA-data-2.3.4-5 
     80  Requires: pkgA = 2.3.4-5 
     81}}} 
     82 
     83Now pkgA and pkgA-data will always '''both''' be installed. 
     84 
     85=== Package split in two, Application and new libraries === 
     86 
     87A package does a new release which adds libraries other packages can use: 
     88 
     89 * pkgA-1.2.3-4 is installed 
     90 * pkgA-2.3.4-5 is available 
     91 * pkgA-libs-2.3.4-5 is available 
     92 
     93This is somewhat different in that you have a very high expectation that a user will want '''both''' installed afterwards, and never '''just''' pkgA-libs (because -libs wasn't available before): 
     94 
     95{{{ 
     96  # pkgA-2.3.4-5 
     97  Requires: pkgA-libs = 2.3.4-5 
     98}}} 
     99 
     100Now pkgA and pkgA-libs will be installed on upgrade, and some pkgB can then depend on just pkgA-libs and people who don't have pkgA installed will not get it. 
     101 
     102To repeat: If the old pkgA provided libs and you are just splitting them from one package to two, it is not obvious that the user doesn't want '''just''' pkgA-libs. 
    61103 
    62104== Package merge ==