RFC: Split Package with Obsolete

Thorsten Leemhuis fedora at leemhuis.info
Sun Aug 6 18:25:03 UTC 2006


Hi,

I want to split off the evolution plugin from mail-notification into a
separate package to avoid the dep on evolution in the main
mail-notification package. That's supported by mail-notification.

But this leads to one problem: Users of the evolution plugin in
mail-notification now need to manually install the new sub-package to
gain all the features they had before in the non-split
mail-notification. There are now two scenarios to proceed afaics:

1) Do the split only in devel/FC6 and get it documented in the release
notes.

2) add a this two lines to the new sub-pacakge:
Requires:       %{name} = %{version}-%{release}
Obsoletes:      mail-notification < 3.0-4
(see attached patch for the full context). This way yum will install the
new subpackage because it obsoletes the old main-package *and* yum will
install the new main-package because it's a dep of the new subpackage.
Worked as expected in a local test:

----
$ sudo yum --enablerepo=test update
[...]
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for mail-notification-evolution-plugin to pack
into transaction set.
mail-notification-evoluti 100% |=========================| 7.3 kB    00:00
---> Package mail-notification-evolution-plugin.i386 0:3.0-4 set to be
updated
--> Running transaction check
--> Processing Dependency: mail-notification = 3.0-4 for package:
mail-notification-evolution-plugin
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for mail-notification to pack into transaction set.
mail-notification-3.0-4.i 100% |=========================|  15 kB    00:00
---> Package mail-notification.i386 0:3.0-4 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 mail-notification-evolution-plugin  i386       3.0-4            test
            22 k
     replacing  mail-notification.i386 3.0-2.fc5

Updating for dependencies:
 mail-notification       i386       3.0-4            test              341 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       1 Package(s)
Remove       0 Package(s)
Total download size: 363 k
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating  : mail-notification            ######################### [1/3]
  Installing: mail-notification-evolution- ######################### [2/3]
  Cleanup   : mail-notification            ######################### [3/3]

Installed: mail-notification-evolution-plugin.i386 0:3.0-4
Dependency Updated: mail-notification.i386 0:3.0-4
Replaced: mail-notification.i386 0:3.0-2.fc5
Complete!

----
This is somewhat hackish, but it's probably the most comfortable way for
the user.

Does anyone know why solution 2) should not work or if it leads to
trouble somewhere? If not I'm going to try it (of course only in devel)...

CU
thl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ml.patch
Type: text/x-patch
Size: 2508 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-extras-list/attachments/20060806/43129222/attachment.bin>


More information about the fedora-extras-list mailing list