summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-dev/2012-February/012223.html
blob: 1dfdc23c0f3620add4da77af415fbae8121511c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
 <HEAD>
   <TITLE> [Mageia-dev] [soft-commits] [3012] Add ability to increase the version number of a given package
   </TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20%5Bsoft-commits%5D%20%5B3012%5D%20Add%20ability%20to%20increase%20the%0A%20version%20number%20of%20a%20given%20package&In-Reply-To=%3CCAONrEtZecXBnuS2Dk_N9pRkhAG6N%2BrDmwzP0-gsEjv6Y%2BJzNww%40mail.gmail.com%3E">
   <META NAME="robots" CONTENT="index,nofollow">
   <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
   <LINK REL="Previous"  HREF="012421.html">
   <LINK REL="Next"  HREF="012224.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[Mageia-dev] [soft-commits] [3012] Add ability to increase the version number of a given package</H1>
    <B>Thierry Vignaud</B> 
    <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20%5Bsoft-commits%5D%20%5B3012%5D%20Add%20ability%20to%20increase%20the%0A%20version%20number%20of%20a%20given%20package&In-Reply-To=%3CCAONrEtZecXBnuS2Dk_N9pRkhAG6N%2BrDmwzP0-gsEjv6Y%2BJzNww%40mail.gmail.com%3E"
       TITLE="[Mageia-dev] [soft-commits] [3012] Add ability to increase the version number of a given package">thierry.vignaud at gmail.com
       </A><BR>
    <I>Wed Feb 22 18:13:12 CET 2012</I>
    <P><UL>
        <LI>Previous message: <A HREF="012421.html">[Mageia-dev] Faster GNOME package submission
</A></li>
        <LI>Next message: <A HREF="012224.html">[Mageia-dev] [soft-commits] [3012] Add ability to increase the version number of a given package
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#12223">[ date ]</a>
              <a href="thread.html#12223">[ thread ]</a>
              <a href="subject.html#12223">[ subject ]</a>
              <a href="author.html#12223">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>On 22 February 2012 17:06,  &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">root at mageia.org</A>&gt; wrote:
&gt;<i> Revision 3012 Author ovitters Date 2012-02-22 17:06:51 +0100 (Wed, 22 Feb
</I>&gt;<i> 2012)
</I>&gt;<i>
</I>&gt;<i> Log Message
</I>&gt;<i>
</I>&gt;<i> Add ability to increase the version number of a given package
</I>&gt;<i>
</I>&gt;<i> Command tries to be careful and does various checks (patches still apply,
</I>&gt;<i> etc)
</I>
Too sad it doesn't support this:
  %define rel 3
  %define release %mkrel %rel
(which is hard anyway and should be rare though it does exist among
mga packages)

&gt;<i> +def version_cmp(a, b):
</I>&gt;<i> +    &quot;&quot;&quot;Compares two versions
</I>&gt;<i> +
</I>&gt;<i> +    Returns
</I>&gt;<i> +      -1 if a &lt; b
</I>&gt;<i> +      0  if a == b
</I>&gt;<i> +      1  if a &gt; b
</I>&gt;<i> +
</I>&gt;<i> +    Logic from Bugzilla::Install::Util::vers_cmp&quot;&quot;&quot;
</I>&gt;<i> +    A = re_version.findall(a.lstrip('0'))
</I>&gt;<i> +    B = re_version.findall(b.lstrip('0'))
</I>&gt;<i> +
</I>&gt;<i> +    while A and B:
</I>&gt;<i> +        a = A.pop(0)
</I>&gt;<i> +        b = B.pop(0)
</I>&gt;<i> +
</I>&gt;<i> +        if a == b:
</I>&gt;<i> +            continue
</I>&gt;<i> +        elif a == '-':
</I>&gt;<i> +            return -1
</I>&gt;<i> +        elif b == '-':
</I>&gt;<i> +            return 1
</I>&gt;<i> +        elif a == '.':
</I>&gt;<i> +            return -1
</I>&gt;<i> +        elif b == '.':
</I>&gt;<i> +            return 1
</I>&gt;<i> +        elif a.isdigit() and b.isdigit():
</I>&gt;<i> +            c = cmp(a, b) if (a.startswith('0') or b.startswith('0')) else
</I>&gt;<i> cmp(int(a, 10), int(b, 10))
</I>&gt;<i> +            if c:
</I>&gt;<i> +                return c
</I>&gt;<i> +        else:
</I>&gt;<i> +            c = cmp(a.upper(), b.upper())
</I>&gt;<i> +            if c:
</I>&gt;<i> +                return c
</I>&gt;<i> +
</I>&gt;<i> +    return cmp(len(A), len(B))
</I>
Please do not reinvent the whell and do sg like this instead:

import rpm

def compare(t1, t2):
   # t1 and t2 are tuples of (version, release)
    v1, r1 = t1
    v2, r2 = t2
    return rpm.labelCompare(('1', v1, r1), ('1', v2, r2))
</PRE>




















<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI>Previous message: <A HREF="012421.html">[Mageia-dev] Faster GNOME package submission
</A></li>
	<LI>Next message: <A HREF="012224.html">[Mageia-dev] [soft-commits] [3012] Add ability to increase the version number of a given package
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#12223">[ date ]</a>
              <a href="thread.html#12223">[ thread ]</a>
              <a href="subject.html#12223">[ subject ]</a>
              <a href="author.html#12223">[ 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>