[Mageia-dev] RFC: Add versioned require in rpm on rpm-helper

Colin Guthrie mageia at colin.guthr.ie
Mon Apr 16 15:23:48 CEST 2012


'Twas brillig, and Thierry Vignaud at 16/04/12 13:04 did gyre and gimble:
> On 16 April 2012 13:15, Colin Guthrie <mageia at colin.guthr.ie> wrote:
>> <snip>
>>
>> So just to make sure I'm following this right:
>>  1. Versioned require will fix urpmi-based upgrades.
>>
>>  2. Installer (fresh-install) will be fine because basesystem-minimal
>> will pull in rpm which will pull in rpm-helper.  WE can be confident
>> this will happen early.
> 
> No you cannot on upgrade.
> Package ordering will depends on versioned requires.

I don't understand... This is a fresh install, where did upgrade come
into it?

Just to clarify, the *fresh install* case is fine, it's the *upgrade*
case (which I specifically outlined separately below to avoid confusion
- although that clearly failed) that has the problem. Correct?

>>  3. Installer (upgrade) will still be broken as it does not treat the
>> rpm package inside the chroot as any kind of priority update that is
>> installed early in the upgrade process.
> 
> installer upgrade will be OK if systemd unit packages require a recent
> enough rpm-helper

I wasn't really looking for solutions, just trying to understand the
problem clearly. Proposed solutions often cloud the thinking about the
problem itself.


So putting "Requires(pre): systemd-units" in all packages providing a
systemd unit seems wrong (it doesn't require systemd-units at all, so
this is a fake requires).

Putting "Requires(pre): rpm-helper >= $ver" also seems somewhat overkill
and hard to maintain (e.g. what if some other new thing goes into
rpm-helper? We have to rebuild all packages that use any of the macros
inside it to get the appropriate versioned require which seems awkward
and hard to maintain[1]).

Wouldn't it simply be easier to make the installer aware of priority
updates? That way we don't need to maintain different or convoluted
solutions for the same problem.

I suspect problems like this have been present in the past but were less
noticeable due to the minor differences in rpm-helper package. This time
round it's obviously quite important!

Col


1. By "hard to maintain" I don't really mean in individual specs (it
should be simple enough to parse out any use of the rpm-helper macros
from a spec and automatically add a "Requires(post|preun): rpm-helper >=
$curver" automatically), but rather knowing to rebuild all the packages
as and when needed. It would be nice to now worry about this as a packager.


-- 

Colin Guthrie
colin(at)mageia.org
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/


More information about the Mageia-dev mailing list