summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-sysadm/attachments/20101126/f7892e47/attachment.html
blob: 2139bc8f35c2cee7617324970baf987fc5fdb343 (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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[148] use urpmq --list to find available basesystem package versions,</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd>148</dd>
<dt>Author</dt> <dd>blino</dd>
<dt>Date</dt> <dd>2010-11-26 00:15:18 +0100 (Fri, 26 Nov 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>use urpmq --list to find available basesystem package versions,
instead of checking a path, since it likely requies to have an additional NFS available</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#build_systemiurttrunklibIurtChrootpm">build_system/iurt/trunk/lib/Iurt/Chroot.pm</a></li>
</ul>

</div>
<div id="patch"><pre>
<a id="build_systemiurttrunklibIurtChrootpm">Modified: build_system/iurt/trunk/lib/Iurt/Chroot.pm</a>
===================================================================
--- build_system/iurt/trunk/lib/Iurt/Chroot.pm	2010-11-25 18:07:24 UTC (rev 147)
+++ build_system/iurt/trunk/lib/Iurt/Chroot.pm	2010-11-25 23:15:18 UTC (rev 148)
@@ -439,14 +439,15 @@
 	    plog('DEBUG', &quot;decompressing /var/log/qa from $chroot_tar in $tmp_chroot&quot;);
 	    sudo($run, $config, '--untar', $chroot_tar, $tmp_chroot, &quot;./var/log/qa&quot;);
 
-	    my $qa;
-	    if (open $qa, &quot;$tmp_chroot/var/log/qa&quot;) {
-		my $ok;
-		my $f;
-		while (!$ok &amp;&amp; ($f = &lt;$qa&gt;)) {
-		    chomp $f;
-		    if (!-f &quot;$config-&gt;{basesystem_media_root}/media/$config-&gt;{basesystem_media}/$f&quot;) {
-			plog('DEBUG', &quot;$f has changed&quot;);
+	    my $tmp_urpmi = mktemp(&quot;$chroot.tmp.XXXXXX&quot;);
+	    my @installed_pkgs = chomp_(cat_(&quot;$tmp_chroot/var/log/qa&quot;));
+	    my @available_pkgs = chomp_(`urpmq --urpmi-root $tmp_urpmi --use-distrib $run-&gt;{urpmi}{distrib_url} --list -f 2&gt;/dev/null`);
+	    my @removed_pkgs = difference2(\@installed_pkgs, \@available_pkgs);
+	    rm_rf($tmp_urpmi);
+
+	    if (@installed_pkgs) {
+		if (@removed_pkgs) {
+			plog('DEBUG', &quot;changed packages: @removed_pkgs&quot;);
 			plog('NOTIFY', &quot;Rebuilding chroot tarball&quot;);
 
 			$rebuild = 1;
@@ -457,8 +458,6 @@
 			    $clean-&gt;();
 			    return;
 			}
-			$ok = 1;
-		    }
 		}
 	    } else {
 		plog('DEBUG', &quot;can't open $tmp_chroot/var/log/qa&quot;);

</pre></div>

</body>
</html>