<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
 <HEAD>
   <TITLE> [Mageia-dev] RFC: Add versioned require in rpm on rpm-helper
   </TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20RFC%3A%20Add%20versioned%20require%20in%20rpm%20on%20rpm-helper&In-Reply-To=%3C4F8C2287.5000104%40colin.guthr.ie%3E">
   <META NAME="robots" CONTENT="index,nofollow">
   <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
   <LINK REL="Previous"  HREF="014344.html">
   <LINK REL="Next"  HREF="014348.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[Mageia-dev] RFC: Add versioned require in rpm on rpm-helper</H1>
    <B>Colin Guthrie</B> 
    <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20RFC%3A%20Add%20versioned%20require%20in%20rpm%20on%20rpm-helper&In-Reply-To=%3C4F8C2287.5000104%40colin.guthr.ie%3E"
       TITLE="[Mageia-dev] RFC: Add versioned require in rpm on rpm-helper">mageia at colin.guthr.ie
       </A><BR>
    <I>Mon Apr 16 15:45:43 CEST 2012</I>
    <P><UL>
        <LI>Previous message: <A HREF="014344.html">[Mageia-dev] RFC: Add versioned require in rpm on rpm-helper
</A></li>
        <LI>Next message: <A HREF="014348.html">[Mageia-dev] RFC: Add versioned require in rpm on rpm-helper
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#14346">[ date ]</a>
              <a href="thread.html#14346">[ thread ]</a>
              <a href="subject.html#14346">[ subject ]</a>
              <a href="author.html#14346">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>'Twas brillig, and Pascal Terjan at 16/04/12 14:35 did gyre and gimble:
&gt;<i> On Mon, Apr 16, 2012 at 14:23, Colin Guthrie &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">mageia at colin.guthr.ie</A>&gt; wrote:
</I>&gt;&gt;<i> 'Twas brillig, and Thierry Vignaud at 16/04/12 13:04 did gyre and gimble:
</I>&gt;&gt;&gt;<i> On 16 April 2012 13:15, Colin Guthrie &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">mageia at colin.guthr.ie</A>&gt; wrote:
</I>&gt;&gt;&gt;&gt;<i> &lt;snip&gt;
</I>&gt;&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;&gt;<i> So just to make sure I'm following this right:
</I>&gt;&gt;&gt;&gt;<i>  1. Versioned require will fix urpmi-based upgrades.
</I>&gt;&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;&gt;<i>  2. Installer (fresh-install) will be fine because basesystem-minimal
</I>&gt;&gt;&gt;&gt;<i> will pull in rpm which will pull in rpm-helper.  WE can be confident
</I>&gt;&gt;&gt;&gt;<i> this will happen early.
</I>&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;<i> No you cannot on upgrade.
</I>&gt;&gt;&gt;<i> Package ordering will depends on versioned requires.
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> I don't understand... This is a fresh install, where did upgrade come
</I>&gt;&gt;<i> into it?
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> Just to clarify, the *fresh install* case is fine, it's the *upgrade*
</I>&gt;&gt;<i> case (which I specifically outlined separately below to avoid confusion
</I>&gt;&gt;<i> - although that clearly failed) that has the problem. Correct?
</I>&gt;&gt;<i>
</I>&gt;&gt;&gt;&gt;<i>  3. Installer (upgrade) will still be broken as it does not treat the
</I>&gt;&gt;&gt;&gt;<i> rpm package inside the chroot as any kind of priority update that is
</I>&gt;&gt;&gt;&gt;<i> installed early in the upgrade process.
</I>&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;<i> installer upgrade will be OK if systemd unit packages require a recent
</I>&gt;&gt;&gt;<i> enough rpm-helper
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> I wasn't really looking for solutions, just trying to understand the
</I>&gt;&gt;<i> problem clearly. Proposed solutions often cloud the thinking about the
</I>&gt;&gt;<i> problem itself.
</I>&gt;&gt;<i>
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So putting &quot;Requires(pre): systemd-units&quot; in all packages providing a
</I>&gt;&gt;<i> systemd unit seems wrong (it doesn't require systemd-units at all, so
</I>&gt;&gt;<i> this is a fake requires).
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> Putting &quot;Requires(pre): rpm-helper &gt;= $ver&quot; also seems somewhat overkill
</I>&gt;&gt;<i> and hard to maintain (e.g. what if some other new thing goes into
</I>&gt;&gt;<i> rpm-helper? We have to rebuild all packages that use any of the macros
</I>&gt;&gt;<i> inside it to get the appropriate versioned require which seems awkward
</I>&gt;&gt;<i> and hard to maintain[1]).
</I>&gt;<i> 
</I>&gt;<i> If a package requires a new script, it means there is a call to this
</I>&gt;<i> script, so I would expect that it was built after this new script was
</I>&gt;<i> added.
</I>
OK, but at present most of the packages that make use of %_post_service
and friends do not actually require rpm-helper at all. They simply rely
on it being there from basesystem-minimal.

So I guess doing autorequires would work in most cases - this case i
somewhat special as we're retro fitting the requirement, and thus need a
mass-rebuild.

I guess I can live with this if someone can do the necessary foo to add
the appropriate requires automatically.

I can't help but feel this would still be more appropriately dealt with
in the installer by making it honour priority updates, even on a
not-currently-running machine.

Col




-- 

Colin Guthrie
colin(at)mageia.org
<A HREF="http://colin.guthr.ie/">http://colin.guthr.ie/</A>

Day Job:
  Tribalogic Limited <A HREF="http://www.tribalogic.net/">http://www.tribalogic.net/</A>
Open Source:
  Mageia Contributor <A HREF="http://www.mageia.org/">http://www.mageia.org/</A>
  PulseAudio Hacker <A HREF="http://www.pulseaudio.org/">http://www.pulseaudio.org/</A>
  Trac Hacker <A HREF="http://trac.edgewall.org/">http://trac.edgewall.org/</A>
</PRE>





















<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI>Previous message: <A HREF="014344.html">[Mageia-dev] RFC: Add versioned require in rpm on rpm-helper
</A></li>
	<LI>Next message: <A HREF="014348.html">[Mageia-dev] RFC: Add versioned require in rpm on rpm-helper
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#14346">[ date ]</a>
              <a href="thread.html#14346">[ thread ]</a>
              <a href="subject.html#14346">[ subject ]</a>
              <a href="author.html#14346">[ author ]</a>
         </LI>
       </UL>

<hr>
<a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev
mailing list</a><br>
</body></html>