Merge lp:~sylvain-pineau/checkbox/html_legacy_jinja_template into lp:checkbox
- html_legacy_jinja_template
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Sylvain Pineau | ||||
Approved revision: | 3677 | ||||
Merged at revision: | 3673 | ||||
Proposed branch: | lp:~sylvain-pineau/checkbox/html_legacy_jinja_template | ||||
Merge into: | lp:checkbox | ||||
Diff against target: |
13875 lines (+2219/-11449) 15 files modified
plainbox/plainbox/data/report/checkbox.css (+11/-8) plainbox/plainbox/data/report/checkbox.html (+144/-0) plainbox/plainbox/data/report/checkbox.js (+2/-2) plainbox/plainbox/data/report/checkbox.xsl (+0/-219) plainbox/plainbox/impl/exporter/html.py (+44/-130) plainbox/plainbox/impl/exporter/jinja2.py (+2/-4) plainbox/plainbox/impl/exporter/test_html.py (+252/-108) plainbox/plainbox/impl/session/state.py (+35/-0) plainbox/plainbox/impl/session/test_state.py (+43/-0) plainbox/plainbox/test-data/html-exporter/example-data.html (+0/-10959) plainbox/plainbox/test-data/html-exporter/html-inliner.html (+0/-19) plainbox/plainbox/test-data/html-exporter/with_both_certification_status.html (+446/-0) plainbox/plainbox/test-data/html-exporter/with_certification_blocker.html (+420/-0) plainbox/plainbox/test-data/html-exporter/with_certification_non_blocker.html (+420/-0) plainbox/plainbox/test-data/html-exporter/without_certification_status.html (+400/-0) |
||||
To merge this branch: | bzr merge lp:~sylvain-pineau/checkbox/html_legacy_jinja_template | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sylvain Pineau (community) | Approve | ||
Zygmunt Krynicki (community) | Approve | ||
Review via email: mp+255256@code.launchpad.net |
Commit message
Description of the change
This MR replaces the html report (converted from xml) to a pure Jinja2 template thus satisfying the need of decoupling both to enhance it without corrupting the submission.xml.
Nothing is inlined except CSS and JS (I replaced the triangle images with unicode chars).
The tests are focused and testing the dynamic sections (blockers and non-blockers cert status).
Per-commit tests passed.
Sylvain Pineau (sylvain-pineau) wrote : | # |
The HTML template is a direct transcription of the XSL template.
The html bits are just this file: http://
The tests and the removal of several files makes this MR diff too long but IMHO quite easy to review.
I'd prefer to keep it as is (no split). I'll add the missing DOCTYPE and make a new method for the two properties though.
Zygmunt Krynicki (zyga) wrote : | # |
Ok. let's review this on IRC.
On Wed, Apr 8, 2015 at 11:35 PM, Sylvain Pineau
<email address hidden> wrote:
> The HTML template is a direct transcription of the XSL template.
>
> The html bits are just this file: http://
>
> The tests and the removal of several files makes this MR diff too long but IMHO quite easy to review.
> I'd prefer to keep it as is (no split). I'll add the missing DOCTYPE and make a new method for the two properties though.
> --
> https:/
> You are reviewing the proposed merge of lp:~sylvain-pineau/checkbox/html_legacy_jinja_template into lp:checkbox.
Sylvain Pineau (sylvain-pineau) wrote : | # |
Added DOCTYPE and a new method to replace the two SessionState properties to get the cert blockers.
Zygmunt Krynicki (zyga) wrote : | # |
Woot, let's land it! Thanks a lot :-)
Daniel Manrique (roadmr) wrote : | # |
Attempt to merge into lp:checkbox failed due to conflicts:
text conflict in plainbox/
text conflict in plainbox/
- 3673. By Sylvain Pineau
-
plainbox:
session: state: Added an helper methods to get the cert (non)-blockers To work with Jinja2 templates and avoid too complex loops creation, the
session state now offers a new method to get a mapping of only containing
JobState with given certification statuses AND outcomes. - 3674. By Sylvain Pineau
-
plainbox:
exporter: jinja2: Make supported_ option_ list a class property. - 3675. By Sylvain Pineau
-
plainbox:
exporter: html: Conversion to a Jinja2 template The Jinja2 template creates two additional sections for blocker and
non-blockers test failures (and only if there are such results).All the report related files are now prefixed by checkbox:
- checkbox.html (Jinja2 template)
- checkbox.css (CSS)
- checkbox.js (Javascript)All the inliner code required to convert the XML report to HTML are removed
along with their corresponding tests.All useless images are also removed, replaced by unicode chars (▶ and ▼) in
both template and javascript files. - 3676. By Sylvain Pineau
-
plainbox:
data:report: Remove obsolete files (and test-data) Images, XSL and test results samples.
- 3677. By Sylvain Pineau
-
plainbox:
session: state: Add a new get_outcome_stats() method By default ignoring the local,resource and attachment plugins.
It returns a dict where keys are all the outcomes seen during the testrun.
Sylvain Pineau (sylvain-pineau) wrote : | # |
rebased on trunk
Preview Diff
1 | === renamed file 'plainbox/plainbox/data/report/styles.css' => 'plainbox/plainbox/data/report/checkbox.css' |
2 | --- plainbox/plainbox/data/report/styles.css 2013-09-03 15:16:51 +0000 |
3 | +++ plainbox/plainbox/data/report/checkbox.css 2015-04-09 16:59:26 +0000 |
4 | @@ -1,7 +1,7 @@ |
5 | body { |
6 | font-family: "Ubuntu Beta", "Bitstream Vera Sans", DejaVu Sans, Tahoma, sans-serif; |
7 | color: #333; |
8 | - background: white url(report/images/body_bg.png); |
9 | + background: white; |
10 | font-size: 12px; |
11 | line-height: 14px; |
12 | margin: 0px; |
13 | @@ -24,7 +24,7 @@ |
14 | -webkit-box-shadow: #bbb 0px 0px 5px; |
15 | } |
16 | #header { |
17 | - background: #dd4814 url(report/images/header_bg.png) top left repeat-x; |
18 | + background: #dd4814 top left repeat-x; |
19 | height: 64px; |
20 | margin: 0px; |
21 | padding: 0px; |
22 | @@ -42,9 +42,9 @@ |
23 | |
24 | #content { |
25 | /*padding: 32px 80px 32px 80px;*/ |
26 | - padding: 32px 240px 32px 160px; |
27 | + padding: 32px 240px 32px 60px; |
28 | margin: 0 16px 16px; |
29 | - width: 544px; |
30 | + width: 644px; |
31 | background-color: #fff; |
32 | -moz-border-radius: 4px; |
33 | -webkit-border-radius: 4px; |
34 | @@ -182,7 +182,6 @@ |
35 | |
36 | ul { |
37 | margin-bottom: 16px; |
38 | - list-style-image: url(report/images/bullet.png); |
39 | } |
40 | ul li { |
41 | margin-bottom: 8px; |
42 | @@ -235,6 +234,10 @@ |
43 | -webkit-box-shadow: #bbb 0px 0px 5px; |
44 | display: inline-block; |
45 | } /* for IE/Mac */ |
46 | +th |
47 | +{ |
48 | + text-align: left; |
49 | +} |
50 | td |
51 | { |
52 | margin: 0; |
53 | @@ -249,10 +252,10 @@ |
54 | } |
55 | .disclosureimg |
56 | { |
57 | - height: .75em; |
58 | - vertical-align: middle; |
59 | + height: .75em; |
60 | + vertical-align: middle; |
61 | } |
62 | .data |
63 | { |
64 | - display: none; |
65 | + display: none; |
66 | } |
67 | |
68 | === added file 'plainbox/plainbox/data/report/checkbox.html' |
69 | --- plainbox/plainbox/data/report/checkbox.html 1970-01-01 00:00:00 +0000 |
70 | +++ plainbox/plainbox/data/report/checkbox.html 2015-04-09 16:59:26 +0000 |
71 | @@ -0,0 +1,144 @@ |
72 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
73 | +<html> |
74 | +<head> |
75 | + <title>System Testing Report</title> |
76 | + <style type="text/css"> |
77 | + {% include "checkbox.css" %} |
78 | + </style> |
79 | + <script type="text/javascript"> |
80 | + {% include "checkbox.js" %} |
81 | + </script> |
82 | +</head> |
83 | +<body> |
84 | + <div id="container"> |
85 | + <div id="container-inner"> |
86 | + |
87 | + <div id="title"> |
88 | + <h1>System Testing<span class="grey"> Report</span></h1> |
89 | + </div> |
90 | + <div id="content" class="clearfix"> |
91 | + This report was created using {{ client_name }} {{ client_version }} on {{ timestamp }} |
92 | + </div> |
93 | + {% if "2013.com.canonical.certification::lsb" in manager.state.resource_map %} |
94 | + <div id="content" class="clearfix"> |
95 | + <h2>Software Information</h2> |
96 | + <p>{{ manager.state.resource_map["2013.com.canonical.certification::lsb"][0]["description"] }}</p> |
97 | + </div> |
98 | + {% endif %} |
99 | + |
100 | + {% if manager.state.failed_blockers_map %} |
101 | + <div id="content" class="clearfix"> |
102 | + <h2 id="questions">Certification Status - Blockers</h2> |
103 | + <table style="width: 700px"> |
104 | + <thead> |
105 | + <tr> |
106 | + <th>Test ID</th> |
107 | + <th>Result</th> |
108 | + </tr> |
109 | + </thead> |
110 | + <tbody> |
111 | + {% for job_id, job_state in manager.state.get_certification_status_map()|dictsort %} |
112 | + <tr> |
113 | + <td>{{ job_state.job.tr_summary() }}</td> |
114 | + <td style='font-weight: bold; color: {{ OMM[job_state.result.outcome].color_hex }}'>{{ OMM[job_state.result.outcome].tr_outcome|replace("job ", "") }}</td> |
115 | + </tr> |
116 | + {% endfor %} |
117 | + </tbody> |
118 | + </table> |
119 | + </div> |
120 | + {% endif %} |
121 | + |
122 | + {% if manager.state.failed_non_blockers_map %} |
123 | + <div id="content" class="clearfix"> |
124 | + <h2 id="questions">Certification Status - Non Blockers</h2> |
125 | + <table style="width: 700px"> |
126 | + <thead> |
127 | + <tr> |
128 | + <th>Test ID</th> |
129 | + <th>Result</th> |
130 | + </tr> |
131 | + </thead> |
132 | + <tbody> |
133 | + {% for job_id, job_state in manager.state.get_certification_status_map(certification_status_filter=('non-blocker',))|dictsort %} |
134 | + <tr> |
135 | + <td>{{ job_state.job.tr_summary() }}</td> |
136 | + <td style='font-weight: bold; color: {{ OMM[job_state.result.outcome].color_hex }}'>{{ OMM[job_state.result.outcome].tr_outcome|replace("job ", "") }}</td> |
137 | + </tr> |
138 | + {% endfor %} |
139 | + </tbody> |
140 | + </table> |
141 | + </div> |
142 | + {% endif %} |
143 | + |
144 | + <div id="content" class="clearfix"> |
145 | + <h2 id="questions">Tests Performed</h2> |
146 | + <table style="width: 824px"> |
147 | + <thead> |
148 | + <tr> |
149 | + <th>Test ID</th> |
150 | + <th>Result</th> |
151 | + <th>Certification status</th> |
152 | + <th>Comment</th> |
153 | + </tr> |
154 | + </thead> |
155 | + <tbody> |
156 | + {% for job_id, job_state in manager.state.job_state_map|dictsort if job_state.result.outcome != None and job_state.job.plugin not in ("resource", "local", "attachment") %} |
157 | + <tr> |
158 | + <td>{{ job_state.job.tr_summary() }}</td> |
159 | + <td style='font-weight: bold; color: {{ OMM[job_state.result.outcome].color_hex }}'>{{ OMM[job_state.result.outcome].tr_outcome|replace("job ", "") }}</td> |
160 | + <td>{{ job_state.effective_certification_status }}</td> |
161 | + {% if job_state.result.comments != None %} |
162 | + <td>{{ job_state.result.comments }}</td> |
163 | + {% else %} |
164 | + {% if job_state.result.io_log_as_flat_text != "" %} |
165 | + <td><div style="vertical-align: middle; width: 420px; overflow: auto;"> |
166 | + <pre>{{ job_state.result.io_log_as_flat_text }}</pre> |
167 | + </div> |
168 | + </td> |
169 | + {% else %} |
170 | + <td> </td> |
171 | + {% endif %} |
172 | + {% endif %} |
173 | + </tr> |
174 | + {% endfor %} |
175 | + </tbody> |
176 | + </table> |
177 | + </div> |
178 | + <div id="content" class="clearfix"> |
179 | + <h2>Log Files and Environment Information</h2> |
180 | + <div id="packages-contents"> |
181 | + {% if "2013.com.canonical.certification::package" in manager.state.resource_map %} |
182 | + <span onClick="showHide('package');"><h3><span id="package" style="color: #dd4814;">▶</span> |
183 | + packages installed</h3></span> |
184 | + <div class="data" id="package-contents" style="overflow: auto;"> |
185 | + <table> |
186 | + <thead> |
187 | + <tr> |
188 | + <th>Name</th> |
189 | + <th>Version</th> |
190 | + </tr> |
191 | + </thead> |
192 | + <tbody> |
193 | + {% for package in manager.state.resource_map["2013.com.canonical.certification::package"] %} |
194 | + <tr> |
195 | + <td>{{ package["name"] }}</td> |
196 | + <td>{{ package["version"] }}</td> |
197 | + </tr> |
198 | + {% endfor %} |
199 | + </tbody> |
200 | + </table> |
201 | + </div> |
202 | + {% endif %} |
203 | + {% for job_id, job_state in manager.state.job_state_map|dictsort if job_state.result.outcome != None and job_state.job.plugin == "attachment" %} |
204 | + <span onClick="showHide('att{{ loop.index }}');"><h3><span id="att{{ loop.index }}" style="color: #dd4814;">▶</span> |
205 | + {{ job_state.job.partial_id|replace("_attachment", "") }}</h3></span> |
206 | + <div class="data" id="att{{ loop.index }}-contents" style="overflow: auto;"> |
207 | + <pre>{{ job_state.result.io_log_as_text_attachment }}</pre> |
208 | + </div> |
209 | + {% endfor %} |
210 | + </div> |
211 | + </div> |
212 | + </div> |
213 | + </div> |
214 | +</body> |
215 | +</html> |
216 | |
217 | === modified file 'plainbox/plainbox/data/report/checkbox.js' |
218 | --- plainbox/plainbox/data/report/checkbox.js 2013-09-03 15:16:51 +0000 |
219 | +++ plainbox/plainbox/data/report/checkbox.js 2015-04-09 16:59:26 +0000 |
220 | @@ -5,10 +5,10 @@ |
221 | var newcontents; |
222 | |
223 | if (contents.style.display != "block") { |
224 | - newcontents = headingcontents.replace("closed", "open"); |
225 | + newcontents = headingcontents.replace(/[^\x00-\x80]/g, "▼"); |
226 | contents.style.display = "block"; |
227 | } else { |
228 | - newcontents = headingcontents.replace("open", "closed"); |
229 | + newcontents = headingcontents.replace(/[^\x00-\x80]/g, "▶"); |
230 | contents.style.display = "none"; |
231 | } |
232 | |
233 | |
234 | === removed file 'plainbox/plainbox/data/report/checkbox.xsl' |
235 | --- plainbox/plainbox/data/report/checkbox.xsl 2015-02-18 12:34:47 +0000 |
236 | +++ plainbox/plainbox/data/report/checkbox.xsl 1970-01-01 00:00:00 +0000 |
237 | @@ -1,219 +0,0 @@ |
238 | -<?xml version="1.0"?> |
239 | - |
240 | -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
241 | -<xsl:template match="/"> |
242 | - <html> |
243 | - <head> |
244 | - <title>System Testing Report</title> |
245 | - <link rel="stylesheet" type="text/css" href="${PLAINBOX_ASSETS}/report/styles.css" /> |
246 | - <script type="text/javascript" src="${PLAINBOX_ASSETS}/report/checkbox.js"> |
247 | - </script> |
248 | - </head> |
249 | - <body> |
250 | - <!-- Quick and dirty preload to have disclosure triangle images cached --> |
251 | - <img src="${PLAINBOX_ASSETS}/report/images/open.png" style="display: none;" /><img src="${PLAINBOX_ASSETS}/report/images/closed.png" style="display: none;" /> |
252 | - <div id="container"> |
253 | - <div id="container-inner"> |
254 | - |
255 | - <div id="title"> |
256 | - <h1>System Testing<span class="grey"> Report</span></h1> |
257 | - </div> |
258 | - <div id="content" class="clearfix"> |
259 | - <xsl:apply-templates select=".//summary" /> |
260 | - </div> |
261 | - <div id="content" class="clearfix"> |
262 | - <h2>Hardware Information</h2> |
263 | - <xsl:apply-templates select=".//hardware/dmi" /> |
264 | - <xsl:apply-templates select=".//hardware/sysfs-attributes" /> |
265 | - <xsl:apply-templates select=".//hardware/processors" /> |
266 | - <xsl:apply-templates select=".//hardware/lspci" /> |
267 | - </div> |
268 | - <div id="content" class="clearfix"> |
269 | - <h2>Software Information</h2> |
270 | - <xsl:apply-templates select=".//software/packages" /> |
271 | - <xsl:apply-templates select=".//software/lsbrelease" /> |
272 | - <xsl:apply-templates select=".//software/requirements"/> |
273 | - </div> |
274 | - <xsl:apply-templates select=".//questions" /> |
275 | - <div id="content" class="clearfix"> |
276 | - <h2>Log Files and Environment Information</h2> |
277 | - <xsl:apply-templates select=".//context" /> |
278 | - </div> |
279 | - </div> |
280 | - </div> |
281 | - </body> |
282 | - </html> |
283 | -</xsl:template> |
284 | - |
285 | -<xsl:template match="summary"> |
286 | - <p> |
287 | - This report was created using <xsl:value-of select="client/@name" /> <xsl:text> </xsl:text><xsl:value-of select="client/@version" /> on |
288 | - <xsl:value-of select="date_created/@value" /> |
289 | - </p> |
290 | -</xsl:template> |
291 | - |
292 | -<xsl:template match="hardware/udev"> |
293 | - <div onClick="showHide('udev');"> |
294 | - <h3 id="udev"><img class="disclosureimg" src="${PLAINBOX_ASSETS}/report/images/closed.png" />Devices detected in the system (udev)</h3> |
295 | - </div> |
296 | - <div class="data" id="udev-contents"> |
297 | - <pre><xsl:value-of select="." /></pre> |
298 | - </div> |
299 | -</xsl:template> |
300 | - |
301 | -<xsl:template match="hardware/dmi"> |
302 | - <span onClick="showHide('dmi');"><h3 id="dmi"><img class="disclosureimg" src="${PLAINBOX_ASSETS}/report/images/closed.png" />Desktop Management Interface information</h3></span> |
303 | - <div class="data" id="dmi-contents" style="overflow: auto;"> |
304 | - <pre><xsl:value-of select="." /></pre> |
305 | - </div> |
306 | -</xsl:template> |
307 | - |
308 | -<xsl:template match="hardware/sysfs-attributes"> |
309 | - <span onClick="showHide('sysfs-attributes');"><h3 id="sysfs-attributes"><img class="disclosureimg" src="${PLAINBOX_ASSETS}/report/images/closed.png" />sysfs-attributes</h3></span> |
310 | - <div class="data" id="sysfs-attributes-contents"> |
311 | - <pre><xsl:value-of select="." /></pre> |
312 | - </div> |
313 | -</xsl:template> |
314 | - |
315 | -<xsl:template match="hardware/processors"> |
316 | - <span onClick="showHide('processors');"><h3 id="processors"><img class="disclosureimg" src="${PLAINBOX_ASSETS}/report/images/closed.png" />Processors</h3></span> |
317 | - <div class="data" id="processors-contents"> |
318 | - <xsl:for-each select="processor"> |
319 | - <h3><u>Processor <xsl:value-of select='@name' /></u></h3> |
320 | - <table> |
321 | - <tr> |
322 | - <th>Property</th> |
323 | - <th>Value</th> |
324 | - </tr> |
325 | - <xsl:for-each select="property"> |
326 | - <tr> |
327 | - <td class="label"><xsl:value-of select="@name" /></td> |
328 | - <td class="property"><xsl:value-of select="." /></td> |
329 | - </tr> |
330 | - </xsl:for-each> |
331 | - </table> |
332 | - <br /> |
333 | - </xsl:for-each> |
334 | - </div> |
335 | -</xsl:template> |
336 | - |
337 | -<xsl:template match="software/lsbrelease"> |
338 | - <h3 id="lsbrelease">Installed version of Ubuntu</h3> |
339 | - <table> |
340 | - <xsl:for-each select="property"> |
341 | - <tr> |
342 | - <td class="label"><xsl:value-of select="@name" /></td> |
343 | - <td><xsl:value-of select="." /></td> |
344 | - </tr> |
345 | - </xsl:for-each> |
346 | - </table> |
347 | -</xsl:template> |
348 | -<xsl:template match="software/packages"> |
349 | - <span onClick="showHide('packages');"><h3 id="packages"><img class="disclosureimg" src="${PLAINBOX_ASSETS}/report/images/closed.png" />Packages Installed</h3></span> |
350 | - <div class="data" id="packages-contents"> |
351 | - <table> |
352 | - <tr> |
353 | - <th>Name</th> |
354 | - <th>Description</th> |
355 | - </tr> |
356 | - <xsl:for-each select="package"> |
357 | - <tr> |
358 | - <td class="label"><xsl:value-of select="@name" /></td> |
359 | - <td><xsl:value-of select="property" /></td> |
360 | - </tr> |
361 | - </xsl:for-each> |
362 | - </table> |
363 | - </div> |
364 | -</xsl:template> |
365 | -<xsl:template match="software/requirements"> |
366 | - <span onClick="showHide('requirements');"><h3 id="requirements"><img class="disclosureimg" src="${PLAINBOX_ASSETS}/report/images/closed.png" />Requirements</h3></span> |
367 | - <div class="data" id="requirements-contents"> |
368 | - <table> |
369 | - <xsl:for-each select="requirement"> |
370 | - <tr> |
371 | - <td> |
372 | - <a href="{.}"><xsl:value-of select="@name" /></a> |
373 | - </td> |
374 | - </tr> |
375 | - </xsl:for-each> |
376 | - </table> |
377 | - </div> |
378 | -</xsl:template> |
379 | - |
380 | -<xsl:template match="questions"> |
381 | - <div id="content" class="clearfix"> |
382 | - <h2 id="questions">Tests Performed</h2> |
383 | - <table style="width: 700px"> |
384 | - <tr> |
385 | - <th> </th> |
386 | - <th>Name</th> |
387 | - <th style="width: 15em;">Result</th> |
388 | - <th>Comment</th> |
389 | - <th>Certification Status</th> |
390 | - </tr> |
391 | - <xsl:for-each select="question"> |
392 | - <tr> |
393 | - <xsl:choose> |
394 | - <xsl:when test="normalize-space(answer) = 'fail'"> |
395 | - <td><img class='resultimg' src='${PLAINBOX_ASSETS}/report/images/fail.png' /></td> |
396 | - <td class="label"><xsl:value-of select="@name" /></td> |
397 | - <td style='background-color: #DC3912'>FAILED</td> |
398 | - <td><xsl:value-of select="comment" /></td> |
399 | - </xsl:when> |
400 | - <xsl:when test="normalize-space(answer) = 'pass'"> |
401 | - <td><img class='resultimg' src='${PLAINBOX_ASSETS}/report/images/pass.png' /></td> |
402 | - <td class="label"><xsl:value-of select="@name" /></td> |
403 | - <td style='background-color: #6AA84F'>PASSED</td> |
404 | - <td><xsl:value-of select="comment" /></td> |
405 | - </xsl:when> |
406 | - <xsl:when test="normalize-space(answer) = 'unsupported'"> |
407 | - <td></td> |
408 | - <td class="label"><xsl:value-of select="@name" /></td> |
409 | - <td style='background-color: #FF9900'>not required on this system</td> |
410 | - <td><xsl:value-of select="comment" /></td> |
411 | - </xsl:when> |
412 | - <xsl:when test="normalize-space(answer) = 'skip'"> |
413 | - <td><img class='resultimg' src='${PLAINBOX_ASSETS}/report/images/skip.png' /></td> |
414 | - <td class="label"><xsl:value-of select="@name" /></td> |
415 | - <td style='background-color: #FF9900'>SKIPPED</td> |
416 | - <td><xsl:value-of select="comment" /></td> |
417 | - </xsl:when> |
418 | - <xsl:otherwise> |
419 | - <td></td> |
420 | - <td class="label"><xsl:value-of select="@name" /></td> |
421 | - <td><xsl:value-of select="answer" /></td> |
422 | - <td><xsl:value-of select="comment" /></td> |
423 | - </xsl:otherwise> |
424 | - </xsl:choose> |
425 | - <td><xsl:value-of select="@certification_status"/></td> |
426 | - </tr> |
427 | - </xsl:for-each> |
428 | - </table> |
429 | - </div> |
430 | - <div id="content" class="clearfix"> |
431 | - <h2 id="certification-status">Certification Blockers</h2> |
432 | - <ul> |
433 | - <xsl:for-each select="question"> |
434 | - <xsl:choose> |
435 | - <xsl:when test="@certification_status = 'blocker' and not(normalize-space(answer) = 'pass')"> |
436 | - <li><xsl:value-of select="@name"/></li> |
437 | - </xsl:when> |
438 | - </xsl:choose> |
439 | - </xsl:for-each> |
440 | - </ul> |
441 | - </div> |
442 | -</xsl:template> |
443 | - |
444 | -<xsl:template match="context"> |
445 | - <div id="packages-contents"> |
446 | - <xsl:for-each select="info"> |
447 | - <span onClick="showHide('{generate-id(.)}');"><h3 id="{generate-id(.)}"><img class="disclosureimg" src="${PLAINBOX_ASSETS}/report/images/closed.png" /> |
448 | - <xsl:value-of select="@command" /></h3></span> |
449 | - <div class="data" id="{generate-id(.)}-contents" style="overflow: auto;"> |
450 | - <pre><xsl:value-of select="." /></pre> |
451 | - </div> |
452 | - </xsl:for-each> |
453 | - </div> |
454 | -</xsl:template> |
455 | - |
456 | -</xsl:stylesheet> |
457 | |
458 | === removed directory 'plainbox/plainbox/data/report/images' |
459 | === removed file 'plainbox/plainbox/data/report/images/body_bg.png' |
460 | Binary files plainbox/plainbox/data/report/images/body_bg.png 2013-09-03 15:16:51 +0000 and plainbox/plainbox/data/report/images/body_bg.png 1970-01-01 00:00:00 +0000 differ |
461 | === removed file 'plainbox/plainbox/data/report/images/bullet.png' |
462 | Binary files plainbox/plainbox/data/report/images/bullet.png 2013-09-03 15:16:51 +0000 and plainbox/plainbox/data/report/images/bullet.png 1970-01-01 00:00:00 +0000 differ |
463 | === removed file 'plainbox/plainbox/data/report/images/closed.png' |
464 | Binary files plainbox/plainbox/data/report/images/closed.png 2013-09-03 15:16:51 +0000 and plainbox/plainbox/data/report/images/closed.png 1970-01-01 00:00:00 +0000 differ |
465 | === removed file 'plainbox/plainbox/data/report/images/fail.png' |
466 | Binary files plainbox/plainbox/data/report/images/fail.png 2013-09-03 15:16:51 +0000 and plainbox/plainbox/data/report/images/fail.png 1970-01-01 00:00:00 +0000 differ |
467 | === removed file 'plainbox/plainbox/data/report/images/header_bg.png' |
468 | Binary files plainbox/plainbox/data/report/images/header_bg.png 2013-09-03 15:16:51 +0000 and plainbox/plainbox/data/report/images/header_bg.png 1970-01-01 00:00:00 +0000 differ |
469 | === removed file 'plainbox/plainbox/data/report/images/open.png' |
470 | Binary files plainbox/plainbox/data/report/images/open.png 2013-09-03 15:16:51 +0000 and plainbox/plainbox/data/report/images/open.png 1970-01-01 00:00:00 +0000 differ |
471 | === removed file 'plainbox/plainbox/data/report/images/pass.png' |
472 | Binary files plainbox/plainbox/data/report/images/pass.png 2013-09-03 15:16:51 +0000 and plainbox/plainbox/data/report/images/pass.png 1970-01-01 00:00:00 +0000 differ |
473 | === removed file 'plainbox/plainbox/data/report/images/skip.png' |
474 | Binary files plainbox/plainbox/data/report/images/skip.png 2013-09-03 15:16:51 +0000 and plainbox/plainbox/data/report/images/skip.png 1970-01-01 00:00:00 +0000 differ |
475 | === modified file 'plainbox/plainbox/impl/exporter/html.py' |
476 | --- plainbox/plainbox/impl/exporter/html.py 2014-09-13 11:37:17 +0000 |
477 | +++ plainbox/plainbox/impl/exporter/html.py 2015-04-09 16:59:26 +0000 |
478 | @@ -29,96 +29,15 @@ |
479 | THIS MODULE DOES NOT HAVE A STABLE PUBLIC API |
480 | """ |
481 | |
482 | -from string import Template |
483 | -import base64 |
484 | -import logging |
485 | -import mimetypes |
486 | - |
487 | -from lxml import etree as ET |
488 | -from pkg_resources import resource_filename |
489 | - |
490 | -from plainbox.i18n import gettext as _ |
491 | +from datetime import datetime |
492 | + |
493 | +from plainbox import __version__ as version |
494 | +from plainbox.impl.exporter.jinja2 import Jinja2SessionStateExporter |
495 | from plainbox.impl.exporter.xml import XMLSessionStateExporter |
496 | - |
497 | - |
498 | -logger = logging.getLogger("plainbox.exporter.html") |
499 | - |
500 | - |
501 | -class HTMLResourceInliner(object): |
502 | - """ A helper class to inline resources referenced in an lxml tree. |
503 | - """ |
504 | - def _resource_content(self, url): |
505 | - try: |
506 | - with open(url, 'rb') as f: |
507 | - file_contents = f.read() |
508 | - except (IOError, OSError): |
509 | - logger.warning( |
510 | - _("Unable to load resource %s, not inlining"), url) |
511 | - return "" |
512 | - type, encoding = mimetypes.guess_type(url) |
513 | - if not encoding: |
514 | - encoding = "utf-8" |
515 | - if type in("text/css", "application/javascript"): |
516 | - return file_contents.decode(encoding) |
517 | - elif type in("image/png", "image/jpg"): |
518 | - b64_data = base64.b64encode(file_contents) |
519 | - b64_data = b64_data.decode("ascii") |
520 | - return_string = "data:{};base64,{}".format(type, b64_data) |
521 | - return return_string |
522 | - else: |
523 | - logger.warning(_("Resource of type %s unknown"), type) |
524 | - # Strip it out, better not to have it. |
525 | - return "" |
526 | - |
527 | - def inline_resources(self, document_tree): |
528 | - """ |
529 | - Replace references to external resources by an in-place (inlined) |
530 | - representation of each resource. |
531 | - |
532 | - Currently images, stylesheets and scripts are inlined. |
533 | - |
534 | - Only local (i.e. file) resources/locations are supported. If a |
535 | - non-local resource is requested for inlining, it will be removed |
536 | - (replaced by a blank string), with the goal that the resulting |
537 | - lxml tree will not reference any unreachable resources. |
538 | - |
539 | - :param document_tree: |
540 | - lxml tree to process. |
541 | - |
542 | - :returns: |
543 | - lxml tree with some elements replaced by their inlined |
544 | - representation. |
545 | - """ |
546 | - # Try inlining using result_tree here. |
547 | - for node in document_tree.xpath('//script'): |
548 | - # These have src attribute, need to remove the |
549 | - # attribute and add the content of the src file |
550 | - # as the node's text |
551 | - src = node.attrib.pop('src') |
552 | - node.text = self._resource_content(src) |
553 | - |
554 | - for node in document_tree.xpath('//link[@rel="stylesheet"]'): |
555 | - # These have a href attribute and need to be completely replaced |
556 | - # by a new <style> node with contents of the href file |
557 | - # as its text. |
558 | - src = node.attrib.pop('href') |
559 | - type = node.attrib.pop('type') |
560 | - style_elem = ET.Element("style") |
561 | - style_elem.attrib['type'] = type |
562 | - style_elem.text = self._resource_content(src) |
563 | - node.getparent().append(style_elem) |
564 | - # Now zorch the existing node |
565 | - node.getparent().remove(node) |
566 | - |
567 | - for node in document_tree.xpath('//img'): |
568 | - # src attribute points to a file and needs to |
569 | - # contain the base64 encoded version of that file. |
570 | - src = node.attrib.pop('src') |
571 | - node.attrib['src'] = self._resource_content(src) |
572 | - return document_tree |
573 | - |
574 | - |
575 | -class HTMLSessionStateExporter(XMLSessionStateExporter): |
576 | +from plainbox.impl.result import OUTCOME_METADATA_MAP as OMM |
577 | + |
578 | + |
579 | +class HTMLSessionStateExporter(Jinja2SessionStateExporter): |
580 | """ |
581 | Session state exporter creating HTML documents. |
582 | |
583 | @@ -126,47 +45,42 @@ |
584 | and then inlines some resources to produce a monolithic report in a |
585 | single file. |
586 | """ |
587 | - def dump(self, data, stream): |
588 | - """ |
589 | - Public method to dump the HTML report to a stream |
590 | - """ |
591 | - root = self.get_root_element(data) |
592 | - self.xslt_filename = resource_filename( |
593 | - "plainbox", "data/report/checkbox.xsl") |
594 | - template_substitutions = { |
595 | - 'PLAINBOX_ASSETS': resource_filename("plainbox", "data/")} |
596 | - with open(self.xslt_filename, encoding="UTF-8") as xslt_file: |
597 | - xslt_template = Template(xslt_file.read()) |
598 | - return self.dump_etree(root, |
599 | - stream, |
600 | - xslt_template, |
601 | - template_substitutions) |
602 | - |
603 | - def dump_etree(self, root, stream, xslt_template, template_substitutions): |
604 | - """ |
605 | - Dumps the given lxml root tree into the given stream, by applying the |
606 | - provided xslt. If template_substitutions is provided, the xslt will |
607 | - first be processed as a string.Template with those substitutions. |
608 | - |
609 | - :param root: |
610 | - lxml root element of tree to process. |
611 | - |
612 | + def __init__(self, option_list=None, system_id=None, timestamp=None, |
613 | + client_version=None, client_name='plainbox'): |
614 | + super().__init__("checkbox.html", option_list) |
615 | + |
616 | + # Generate a dummy system hash if needed |
617 | + if system_id is None: |
618 | + system_id = "" |
619 | + self._system_id = system_id |
620 | + # Generate a timestamp if needed |
621 | + if timestamp is None: |
622 | + timestamp = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") |
623 | + self._timestamp = timestamp |
624 | + # Use current version unless told otherwise |
625 | + if client_version is None: |
626 | + client_version = "{}.{}.{}".format(*version[:3]) |
627 | + self._client_version = client_version |
628 | + # Remember client name |
629 | + self._client_name = client_name |
630 | + |
631 | + def dump_from_session_manager(self, session_manager, stream): |
632 | + """ |
633 | + Extract data from session_manager and dump it into the stream. |
634 | + |
635 | + :param session_manager: |
636 | + SessionManager instance that manages session to be exported by |
637 | + this exporter |
638 | :param stream: |
639 | - Byte stream into which to dump the resulting output. |
640 | - |
641 | - :param xslt_template: |
642 | - String containing an xslt with which to process the lxml |
643 | - tree to output the desired document type. |
644 | - |
645 | - :param template_substitutions: |
646 | - Dictionary with substitutions for variables which may be |
647 | - in the xslt_template. |
648 | + Byte stream to write to. |
649 | |
650 | """ |
651 | - if template_substitutions and isinstance(template_substitutions, dict): |
652 | - xslt_data = xslt_template.substitute(template_substitutions) |
653 | - xslt_root = ET.XML(xslt_data) |
654 | - transformer = ET.XSLT(xslt_root) |
655 | - r_tree = transformer(root) |
656 | - inlined_result_tree = HTMLResourceInliner().inline_resources(r_tree) |
657 | - stream.write(ET.tostring(inlined_result_tree, pretty_print=True)) |
658 | + data = { |
659 | + 'manager': session_manager, |
660 | + 'options': self.option_list, |
661 | + 'OMM': OMM, |
662 | + 'timestamp': self._timestamp, |
663 | + 'client_version': self._client_version, |
664 | + 'client_name': self._client_name |
665 | + } |
666 | + self.dump(data, stream) |
667 | |
668 | === modified file 'plainbox/plainbox/impl/exporter/jinja2.py' |
669 | --- plainbox/plainbox/impl/exporter/jinja2.py 2015-03-31 20:31:19 +0000 |
670 | +++ plainbox/plainbox/impl/exporter/jinja2.py 2015-04-09 16:59:26 +0000 |
671 | @@ -35,6 +35,8 @@ |
672 | |
673 | """Session state exporter that renders output using jinja2 template.""" |
674 | |
675 | + supported_option_list = () |
676 | + |
677 | def __init__(self, jinja2_template, option_list=None, extra_paths=()): |
678 | """ |
679 | Initialize a new Jinja2SessionStateExporter with given arguments. |
680 | @@ -97,7 +99,3 @@ |
681 | 'manager': session_manager, |
682 | 'options': self.option_list, |
683 | } |
684 | - |
685 | - def supported_option_list(cls): |
686 | - """ Return list of supported exporter options.""" |
687 | - return [] |
688 | |
689 | === modified file 'plainbox/plainbox/impl/exporter/test_html.py' |
690 | --- plainbox/plainbox/impl/exporter/test_html.py 2015-02-18 12:34:47 +0000 |
691 | +++ plainbox/plainbox/impl/exporter/test_html.py 2015-04-09 16:59:26 +0000 |
692 | @@ -1,6 +1,6 @@ |
693 | # This file is part of Checkbox. |
694 | # |
695 | -# Copyright 2013 Canonical Ltd. |
696 | +# Copyright 2015 Canonical Ltd. |
697 | # Written by: |
698 | # Sylvain Pineau <sylvain.pineau@canonical.com> |
699 | # Zygmunt Krynicki <zygmunt.krynicki@canonical.com> |
700 | @@ -25,119 +25,263 @@ |
701 | |
702 | Test definitions for plainbox.impl.exporter.html module |
703 | """ |
704 | -from io import StringIO |
705 | -from string import Template |
706 | from unittest import TestCase |
707 | import io |
708 | |
709 | -from lxml import etree as ET |
710 | -from pkg_resources import resource_filename |
711 | -from pkg_resources import resource_string |
712 | - |
713 | -from plainbox.testing_utils import resource_json |
714 | -from plainbox.impl.exporter.html import HTMLResourceInliner |
715 | +from plainbox.abc import IJobResult |
716 | +from plainbox.testing_utils import resource_string |
717 | from plainbox.impl.exporter.html import HTMLSessionStateExporter |
718 | - |
719 | - |
720 | -class HTMLInlinerTests(TestCase): |
721 | - def setUp(self): |
722 | - template_substitutions = { |
723 | - 'PLAINBOX_ASSETS': resource_filename("plainbox", "data/")} |
724 | - test_file_location = "test-data/html-exporter/html-inliner.html" |
725 | - test_file = resource_filename("plainbox", |
726 | - test_file_location) |
727 | - with open(test_file) as html_file: |
728 | - html_template = Template(html_file.read()) |
729 | - html_content = html_template.substitute(template_substitutions) |
730 | - self.tree = ET.parse(StringIO(html_content), ET.HTMLParser()) |
731 | - # Now self.tree contains a tree with adequately-substituted |
732 | - # paths and resources |
733 | - inliner = HTMLResourceInliner() |
734 | - self.inlined_tree = inliner.inline_resources(self.tree) |
735 | - |
736 | - def test_script_inlining(self): |
737 | - """Test that a <script> resource gets inlined.""" |
738 | - for node in self.inlined_tree.xpath('//script'): |
739 | - self.assertTrue(node.text) |
740 | - |
741 | - def test_img_inlining(self): |
742 | - """ |
743 | - Test that a <img> gets inlined. |
744 | - It should be replaced by a base64 representation of the |
745 | - referenced image's data as per RFC2397. |
746 | - """ |
747 | - for node in self.inlined_tree.xpath('//img'): |
748 | - # Skip image that purposefully points to a remote |
749 | - # resource |
750 | - if node.attrib.get('class') != "remote_resource": |
751 | - self.assertTrue("base64" in node.attrib['src']) |
752 | - |
753 | - def test_css_inlining(self): |
754 | - """Test that a <style> resource gets inlined.""" |
755 | - for node in self.inlined_tree.xpath('//style'): |
756 | - # Skip a fake remote_resource node that's purposefully |
757 | - # not inlined |
758 | - if 'nonexistent_resource' not in node.attrib['type']: |
759 | - self.assertTrue("body" in node.text) |
760 | - |
761 | - def test_remote_resource_inlining(self): |
762 | - """ |
763 | - Test that a resource with a non-local (i.e. not file:// |
764 | - url) does NOT get inlined (rather it's replaced by an |
765 | - empty string). We use <style> in this test. |
766 | - """ |
767 | - for node in self.inlined_tree.xpath('//style'): |
768 | - # The not-inlined remote_resource |
769 | - if 'nonexistent_resource' in node.attrib['type']: |
770 | - self.assertTrue(node.text == "") |
771 | - |
772 | - def test_unfindable_file_inlining(self): |
773 | - """ |
774 | - Test that a resource whose file does not exist does NOT |
775 | - get inlined, and is instead replaced by empty string. |
776 | - We use <img> in this test. |
777 | - """ |
778 | - for node in self.inlined_tree.xpath('//img'): |
779 | - if node.attrib.get('class') == "remote_resource": |
780 | - self.assertEqual("", node.attrib['src']) |
781 | +from plainbox.impl.resource import Resource |
782 | +from plainbox.impl.result import MemoryJobResult |
783 | +from plainbox.impl.unit.job import JobDefinition |
784 | +from plainbox.vendor import mock |
785 | |
786 | |
787 | class HTMLExporterTests(TestCase): |
788 | |
789 | def setUp(self): |
790 | - data = resource_json( |
791 | - "plainbox", |
792 | - "test-data/xml-exporter/example-data-certification-status.json", |
793 | - exact=True) |
794 | - exporter = HTMLSessionStateExporter( |
795 | - system_id="", |
796 | - timestamp="2012-12-21T12:00:00", |
797 | - client_version="1.0") |
798 | - stream = io.BytesIO() |
799 | - exporter.dump(data, stream) |
800 | - self.actual_result = stream.getvalue() # This is bytes |
801 | - self.assertIsInstance(self.actual_result, bytes) |
802 | - |
803 | - def test_html_output(self): |
804 | - """ |
805 | - Test that output from the exporter is HTML (or at least, |
806 | - appears to be). |
807 | - """ |
808 | - # A pretty simplistic test since we just validate the output |
809 | - # appears to be HTML. Looking at the exporter's code, it's mostly |
810 | - # boilerplate use of lxml and etree, so let's not fall into testing |
811 | - # an external library. |
812 | - self.assertIn(b"<html>", |
813 | - self.actual_result) |
814 | - self.assertIn(b"<title>System Testing Report</title>", |
815 | - self.actual_result) |
816 | - |
817 | - def test_perfect_match(self): |
818 | - """ |
819 | - Test that output from the exporter exactly matches known |
820 | - good HTML output, inlining and everything included. |
821 | - """ |
822 | - expected_result = resource_string( |
823 | - "plainbox", "test-data/html-exporter/example-data.html" |
824 | - ) # unintuitively, resource_string returns bytes |
825 | - self.assertEqual(self.actual_result, expected_result) |
826 | + self.resource_map = { |
827 | + '2013.com.canonical.certification::lsb': [ |
828 | + Resource({'description': 'Ubuntu 14.04 LTS'})], |
829 | + '2013.com.canonical.certification::package': [ |
830 | + Resource({'name': 'plainbox', 'version': '1.0'}), |
831 | + Resource({'name': 'fwts', 'version': '0.15.2'})], |
832 | + } |
833 | + self.job1 = JobDefinition({'id': 'job_id1', '_summary': 'job 1'}) |
834 | + self.job2 = JobDefinition({'id': 'job_id2', '_summary': 'job 2'}) |
835 | + self.job3 = JobDefinition({'id': 'job_id3', '_summary': 'job 3'}) |
836 | + self.result_fail = MemoryJobResult({ |
837 | + 'outcome': IJobResult.OUTCOME_FAIL, 'return_code': 1, |
838 | + 'io_log': [(0, 'stderr', b'FATAL ERROR\n')], |
839 | + }) |
840 | + self.result_pass = MemoryJobResult({ |
841 | + 'outcome': IJobResult.OUTCOME_PASS, 'return_code': 0, |
842 | + 'io_log': [(0, 'stdout', b'foo\n')], |
843 | + 'comments': 'blah blah' |
844 | + }) |
845 | + self.result_skip = MemoryJobResult({ |
846 | + 'outcome': IJobResult.OUTCOME_SKIP, |
847 | + 'comments': 'No such device' |
848 | + }) |
849 | + self.attachment = JobDefinition({ |
850 | + 'id': 'dmesg_attachment', |
851 | + 'plugin': 'attachment'}) |
852 | + self.attachment_result = MemoryJobResult({ |
853 | + 'outcome': IJobResult.OUTCOME_PASS, |
854 | + 'io_log': [(0, 'stdout', b'bar\n')], |
855 | + 'return_code': 0 |
856 | + }) |
857 | + |
858 | + def prepare_manager_without_certification_status(self): |
859 | + return mock.Mock(state=mock.Mock( |
860 | + job_state_map={ |
861 | + self.job1.id: mock.Mock( |
862 | + result=self.result_fail, |
863 | + job=self.job1, |
864 | + effective_certification_status='unspecified'), |
865 | + self.job2.id: mock.Mock( |
866 | + result=self.result_pass, |
867 | + job=self.job2, |
868 | + effective_certification_status='unspecified'), |
869 | + self.job3.id: mock.Mock( |
870 | + result=self.result_skip, |
871 | + job=self.job3, |
872 | + effective_certification_status='unspecified'), |
873 | + self.attachment.id: mock.Mock(result=self.attachment_result, |
874 | + job=self.attachment) |
875 | + }, |
876 | + get_certification_status_map=mock.Mock(return_value={}), |
877 | + resource_map=self.resource_map, |
878 | + failed_blockers_map={}, |
879 | + failed_non_blockers_map={}) |
880 | + ) |
881 | + |
882 | + def prepare_manager_with_certification_blocker(self): |
883 | + return mock.Mock(state=mock.Mock( |
884 | + job_state_map={ |
885 | + self.job1.id: mock.Mock( |
886 | + result=self.result_fail, |
887 | + job=self.job1, |
888 | + effective_certification_status='blocker'), |
889 | + self.job2.id: mock.Mock( |
890 | + result=self.result_pass, |
891 | + job=self.job2, |
892 | + effective_certification_status='unspecified'), |
893 | + self.job3.id: mock.Mock( |
894 | + result=self.result_skip, |
895 | + job=self.job3, |
896 | + effective_certification_status='unspecified'), |
897 | + self.attachment.id: mock.Mock(result=self.attachment_result, |
898 | + job=self.attachment) |
899 | + }, |
900 | + get_certification_status_map=mock.Mock(return_value={ |
901 | + self.job1.id: mock.Mock( |
902 | + result=self.result_fail, |
903 | + job=self.job1, |
904 | + effective_certification_status='blocker')}), |
905 | + resource_map=self.resource_map, |
906 | + failed_blockers_map={ |
907 | + self.job1.id: mock.Mock( |
908 | + result=self.result_fail, |
909 | + job=self.job1, |
910 | + effective_certification_status='blocker') |
911 | + }, |
912 | + failed_non_blockers_map={}) |
913 | + ) |
914 | + |
915 | + def prepare_manager_with_certification_non_blocker(self): |
916 | + return mock.Mock(state=mock.Mock( |
917 | + job_state_map={ |
918 | + self.job1.id: mock.Mock( |
919 | + result=self.result_fail, |
920 | + job=self.job1, |
921 | + effective_certification_status='non-blocker'), |
922 | + self.job2.id: mock.Mock( |
923 | + result=self.result_pass, |
924 | + job=self.job2, |
925 | + effective_certification_status='unspecified'), |
926 | + self.job3.id: mock.Mock( |
927 | + result=self.result_skip, |
928 | + job=self.job3, |
929 | + effective_certification_status='unspecified'), |
930 | + self.attachment.id: mock.Mock(result=self.attachment_result, |
931 | + job=self.attachment) |
932 | + }, |
933 | + get_certification_status_map=mock.Mock(return_value={ |
934 | + self.job1.id: mock.Mock( |
935 | + result=self.result_fail, |
936 | + job=self.job1, |
937 | + effective_certification_status='non-blocker')}), |
938 | + resource_map=self.resource_map, |
939 | + failed_blockers_map={}, |
940 | + failed_non_blockers_map={ |
941 | + self.job1.id: mock.Mock( |
942 | + result=self.result_fail, |
943 | + job=self.job1, |
944 | + effective_certification_status='non-blocker') |
945 | + }) |
946 | + ) |
947 | + |
948 | + def prepare_manager_with_both_certification_status(self): |
949 | + return mock.Mock(state=mock.Mock( |
950 | + job_state_map={ |
951 | + self.job1.id: mock.Mock( |
952 | + result=self.result_fail, |
953 | + job=self.job1, |
954 | + effective_certification_status='blocker'), |
955 | + self.job2.id: mock.Mock( |
956 | + result=self.result_fail, |
957 | + job=self.job2, |
958 | + effective_certification_status='non-blocker'), |
959 | + self.job3.id: mock.Mock( |
960 | + result=self.result_skip, |
961 | + job=self.job3, |
962 | + effective_certification_status='unspecified'), |
963 | + self.attachment.id: mock.Mock(result=self.attachment_result, |
964 | + job=self.attachment) |
965 | + }, |
966 | + get_certification_status_map=mock.Mock(side_effect=[{ |
967 | + self.job1.id: mock.Mock( |
968 | + result=self.result_fail, |
969 | + job=self.job1, |
970 | + effective_certification_status='blocker')},{ |
971 | + self.job2.id: mock.Mock( |
972 | + result=self.result_fail, |
973 | + job=self.job2, |
974 | + effective_certification_status='non-blocker')}]), |
975 | + resource_map=self.resource_map, |
976 | + failed_blockers_map={ |
977 | + self.job1.id: mock.Mock( |
978 | + result=self.result_fail, |
979 | + job=self.job1, |
980 | + effective_certification_status='blocker') |
981 | + }, |
982 | + failed_non_blockers_map={ |
983 | + self.job2.id: mock.Mock( |
984 | + result=self.result_fail, |
985 | + job=self.job2, |
986 | + effective_certification_status='non-blocker') |
987 | + }) |
988 | + ) |
989 | + |
990 | + def test_perfect_match_without_certification_status(self): |
991 | + """ |
992 | + Test that output from the exporter exactly matches known |
993 | + good HTML output, inlining and everything included. |
994 | + """ |
995 | + exporter = HTMLSessionStateExporter( |
996 | + system_id="", |
997 | + timestamp="2012-12-21T12:00:00", |
998 | + client_version="1.0") |
999 | + stream = io.BytesIO() |
1000 | + exporter.dump_from_session_manager( |
1001 | + self.prepare_manager_without_certification_status(), stream) |
1002 | + actual_result = stream.getvalue() # This is bytes |
1003 | + self.assertIsInstance(actual_result, bytes) |
1004 | + with open('/tmp/bozo.html', 'wb') as f: |
1005 | + f.write(actual_result) |
1006 | + expected_result = resource_string( |
1007 | + "plainbox", |
1008 | + "test-data/html-exporter/without_certification_status.html" |
1009 | + ) # unintuitively, resource_string returns bytes |
1010 | + self.assertEqual(actual_result, expected_result) |
1011 | + |
1012 | + def test_perfect_match_with_certification_blocker(self): |
1013 | + """ |
1014 | + Test that output from the exporter exactly matches known |
1015 | + good HTML output, inlining and everything included. |
1016 | + """ |
1017 | + exporter = HTMLSessionStateExporter( |
1018 | + system_id="", |
1019 | + timestamp="2012-12-21T12:00:00", |
1020 | + client_version="1.0") |
1021 | + stream = io.BytesIO() |
1022 | + exporter.dump_from_session_manager( |
1023 | + self.prepare_manager_with_certification_blocker(), stream) |
1024 | + actual_result = stream.getvalue() # This is bytes |
1025 | + self.assertIsInstance(actual_result, bytes) |
1026 | + expected_result = resource_string( |
1027 | + "plainbox", |
1028 | + "test-data/html-exporter/with_certification_blocker.html" |
1029 | + ) # unintuitively, resource_string returns bytes |
1030 | + self.assertEqual(actual_result, expected_result) |
1031 | + |
1032 | + def test_perfect_match_with_certification_non_blocker(self): |
1033 | + """ |
1034 | + Test that output from the exporter exactly matches known |
1035 | + good HTML output, inlining and everything included. |
1036 | + """ |
1037 | + exporter = HTMLSessionStateExporter( |
1038 | + system_id="", |
1039 | + timestamp="2012-12-21T12:00:00", |
1040 | + client_version="1.0") |
1041 | + stream = io.BytesIO() |
1042 | + exporter.dump_from_session_manager( |
1043 | + self.prepare_manager_with_certification_non_blocker(), stream) |
1044 | + actual_result = stream.getvalue() # This is bytes |
1045 | + self.assertIsInstance(actual_result, bytes) |
1046 | + expected_result = resource_string( |
1047 | + "plainbox", |
1048 | + "test-data/html-exporter/with_certification_non_blocker.html" |
1049 | + ) # unintuitively, resource_string returns bytes |
1050 | + self.assertEqual(actual_result, expected_result) |
1051 | + |
1052 | + def test_perfect_match_with_both_certification_status(self): |
1053 | + """ |
1054 | + Test that output from the exporter exactly matches known |
1055 | + good HTML output, inlining and everything included. |
1056 | + """ |
1057 | + exporter = HTMLSessionStateExporter( |
1058 | + system_id="", |
1059 | + timestamp="2012-12-21T12:00:00", |
1060 | + client_version="1.0") |
1061 | + stream = io.BytesIO() |
1062 | + exporter.dump_from_session_manager( |
1063 | + self.prepare_manager_with_both_certification_status(), stream) |
1064 | + actual_result = stream.getvalue() # This is bytes |
1065 | + self.assertIsInstance(actual_result, bytes) |
1066 | + expected_result = resource_string( |
1067 | + "plainbox", |
1068 | + "test-data/html-exporter/with_both_certification_status.html" |
1069 | + ) # unintuitively, resource_string returns bytes |
1070 | + self.assertEqual(actual_result, expected_result) |
1071 | |
1072 | === modified file 'plainbox/plainbox/impl/session/state.py' |
1073 | --- plainbox/plainbox/impl/session/state.py 2015-04-09 15:28:18 +0000 |
1074 | +++ plainbox/plainbox/impl/session/state.py 2015-04-09 16:59:26 +0000 |
1075 | @@ -25,6 +25,7 @@ |
1076 | import logging |
1077 | import re |
1078 | |
1079 | +from plainbox.abc import IJobResult |
1080 | from plainbox.i18n import gettext as _ |
1081 | from plainbox.impl import deprecated |
1082 | from plainbox.impl.depmgr import DependencyDuplicateError |
1083 | @@ -1139,6 +1140,40 @@ |
1084 | stats[job_state.result.outcome] += 1 |
1085 | return stats |
1086 | |
1087 | + def get_certification_status_map(self, |
1088 | + outcome_filter=(IJobResult.OUTCOME_FAIL,), |
1089 | + certification_status_filter=('blocker',)): |
1090 | + """ |
1091 | + Filter the Job state map to only return items with given outcomes and |
1092 | + certification statuses. |
1093 | + |
1094 | + :param outcome_filter: |
1095 | + Only consider job results with those outcome values |
1096 | + :param certification_status_filter: |
1097 | + Only consider jobs with those certification status values |
1098 | + :returns: |
1099 | + a Job state map only containing job with a given outcome and |
1100 | + certification status value. |
1101 | + """ |
1102 | + return { |
1103 | + job_id: job_state for job_id, job_state in |
1104 | + self.job_state_map.items() |
1105 | + if job_state.result.outcome in outcome_filter |
1106 | + and job_state.effective_certification_status |
1107 | + in certification_status_filter} |
1108 | + |
1109 | + def get_outcome_stats(self, plugin_blacklist=("resource", |
1110 | + "local", |
1111 | + "attachment")): |
1112 | + stats = collections.defaultdict(int) |
1113 | + for job_id, job_state in self.job_state_map.items(): |
1114 | + if job_state.job.plugin in plugin_blacklist: |
1115 | + continue |
1116 | + if not job_state.result.outcome: |
1117 | + continue |
1118 | + stats[job_state.result.outcome] += 1 |
1119 | + return stats |
1120 | + |
1121 | @property |
1122 | def metadata(self): |
1123 | """ meta-data object associated with this session state. """ |
1124 | |
1125 | === modified file 'plainbox/plainbox/impl/session/test_state.py' |
1126 | --- plainbox/plainbox/impl/session/test_state.py 2015-04-09 15:28:18 +0000 |
1127 | +++ plainbox/plainbox/impl/session/test_state.py 2015-04-09 16:59:26 +0000 |
1128 | @@ -658,6 +658,49 @@ |
1129 | IJobResult.OUTCOME_NOT_SUPPORTED: 1, |
1130 | IJobResult.OUTCOME_FAIL: 2}) |
1131 | |
1132 | + def test_get_certification_status_map(self): |
1133 | + result_A = MemoryJobResult({'outcome': IJobResult.OUTCOME_PASS}) |
1134 | + self.session.update_job_result(self.job_A, result_A) |
1135 | + self.session.job_state_map[ |
1136 | + self.job_A.id].effective_certification_status = 'foo' |
1137 | + self.assertEqual(self.session.get_certification_status_map(), {}) |
1138 | + self.assertEqual(self.session.get_certification_status_map( |
1139 | + outcome_filter=(IJobResult.OUTCOME_PASS,), |
1140 | + certification_status_filter=('foo',)), |
1141 | + {self.job_A.id: self.session.job_state_map[self.job_A.id]}) |
1142 | + result_Y = MemoryJobResult({'outcome': IJobResult.OUTCOME_FAIL}) |
1143 | + self.session.job_state_map[ |
1144 | + self.job_Y.id].effective_certification_status = 'bar' |
1145 | + self.assertEqual(self.session.get_certification_status_map(), {}) |
1146 | + self.assertEqual(self.session.get_certification_status_map( |
1147 | + outcome_filter=(IJobResult.OUTCOME_PASS, IJobResult.OUTCOME_FAIL), |
1148 | + certification_status_filter=('foo', 'bar')), |
1149 | + {self.job_A.id: self.session.job_state_map[self.job_A.id]}) |
1150 | + self.session.update_job_result(self.job_Y, result_Y) |
1151 | + self.assertEqual(self.session.get_certification_status_map( |
1152 | + outcome_filter=(IJobResult.OUTCOME_PASS, IJobResult.OUTCOME_FAIL), |
1153 | + certification_status_filter=('foo', 'bar')), |
1154 | + {self.job_A.id: self.session.job_state_map[self.job_A.id], |
1155 | + self.job_Y.id: self.session.job_state_map[self.job_Y.id]}) |
1156 | + |
1157 | + def test_get_outcome_stats(self): |
1158 | + result_A = MemoryJobResult({'outcome': IJobResult.OUTCOME_PASS}) |
1159 | + result_L = MemoryJobResult( |
1160 | + {'outcome': IJobResult.OUTCOME_NOT_SUPPORTED}) |
1161 | + result_R = MemoryJobResult({'outcome': IJobResult.OUTCOME_FAIL}) |
1162 | + result_Y = MemoryJobResult({'outcome': IJobResult.OUTCOME_FAIL}) |
1163 | + self.session.update_job_result(self.job_A, result_A) |
1164 | + self.session.update_job_result(self.job_L, result_L) |
1165 | + self.session.update_job_result(self.job_R, result_R) |
1166 | + self.session.update_job_result(self.job_Y, result_Y) |
1167 | + self.assertEqual(self.session.get_outcome_stats(), |
1168 | + {IJobResult.OUTCOME_PASS: 1, |
1169 | + IJobResult.OUTCOME_FAIL: 1}) |
1170 | + self.assertEqual(self.session.get_outcome_stats(plugin_blacklist=()), |
1171 | + {IJobResult.OUTCOME_PASS: 1, |
1172 | + IJobResult.OUTCOME_NOT_SUPPORTED: 1, |
1173 | + IJobResult.OUTCOME_FAIL: 2}) |
1174 | + |
1175 | |
1176 | class SessionMetadataTests(TestCase): |
1177 | |
1178 | |
1179 | === removed file 'plainbox/plainbox/test-data/html-exporter/example-data.html' |
1180 | --- plainbox/plainbox/test-data/html-exporter/example-data.html 2015-02-18 12:34:47 +0000 |
1181 | +++ plainbox/plainbox/test-data/html-exporter/example-data.html 1970-01-01 00:00:00 +0000 |
1182 | @@ -1,10959 +0,0 @@ |
1183 | -<html> |
1184 | - <head> |
1185 | - <title>System Testing Report</title> |
1186 | - <script type="text/javascript">function showHide(what) { |
1187 | - var heading = document.getElementById(what); |
1188 | - var contents = document.getElementById(what + "-contents"); |
1189 | - var headingcontents = heading.innerHTML; |
1190 | - var newcontents; |
1191 | - |
1192 | - if (contents.style.display != "block") { |
1193 | - newcontents = headingcontents.replace("closed", "open"); |
1194 | - contents.style.display = "block"; |
1195 | - } else { |
1196 | - newcontents = headingcontents.replace("open", "closed"); |
1197 | - contents.style.display = "none"; |
1198 | - } |
1199 | - |
1200 | - heading.innerHTML = newcontents; |
1201 | -} |
1202 | -</script> |
1203 | - <style type="text/css">body { |
1204 | - font-family: "Ubuntu Beta", "Bitstream Vera Sans", DejaVu Sans, Tahoma, sans-serif; |
1205 | - color: #333; |
1206 | - background: white url(report/images/body_bg.png); |
1207 | - font-size: 12px; |
1208 | - line-height: 14px; |
1209 | - margin: 0px; |
1210 | - padding: 0px; |
1211 | -} |
1212 | -#container { |
1213 | - background: #f7f6f5; |
1214 | - margin: 0px auto 20px; |
1215 | - padding: 0px; |
1216 | - width: 976px; |
1217 | -} |
1218 | -#container-inner { |
1219 | - background-color: #dfdcd9; |
1220 | -} |
1221 | -#header, #container-inner { |
1222 | - -moz-border-radius: 0px 0px 5px 5px; |
1223 | - -webkit-border-bottom-left-radius: 5px; |
1224 | - -webkit-border-bottom-right-radius: 5px; |
1225 | - -moz-box-shadow: #bbb 0px 0px 5px; |
1226 | - -webkit-box-shadow: #bbb 0px 0px 5px; |
1227 | -} |
1228 | -#header { |
1229 | - background: #dd4814 url(report/images/header_bg.png) top left repeat-x; |
1230 | - height: 64px; |
1231 | - margin: 0px; |
1232 | - padding: 0px; |
1233 | - position: relative; |
1234 | -} |
1235 | - |
1236 | -#menu-search { |
1237 | - height: 40px; |
1238 | - margin: 0 16px; |
1239 | -} |
1240 | - |
1241 | -#title { |
1242 | - padding: 28px 24px; |
1243 | -} |
1244 | - |
1245 | -#content { |
1246 | - /*padding: 32px 80px 32px 80px;*/ |
1247 | - padding: 32px 240px 32px 160px; |
1248 | - margin: 0 16px 16px; |
1249 | - width: 544px; |
1250 | - background-color: #fff; |
1251 | - -moz-border-radius: 4px; |
1252 | - -webkit-border-radius: 4px; |
1253 | -} |
1254 | -#end-content { |
1255 | - clear: both; |
1256 | -} |
1257 | - |
1258 | -#content-panel { |
1259 | - width: 446px; |
1260 | - margin: 0px 0px 0px 0px; |
1261 | - padding: 8px 8px 32px 8px; |
1262 | - background-color: #fff; |
1263 | - -moz-border-radius: 4px; |
1264 | - -webkit-border-radius: 4px; |
1265 | -} |
1266 | - |
1267 | -#copyright { |
1268 | - background-position: 803px 40px; |
1269 | - background-repeat: no-repeat; |
1270 | - text-align: center; |
1271 | - margin: 0 16px; |
1272 | - padding: 40px 0 0 0; |
1273 | - height: 32px; |
1274 | -} |
1275 | -#copyright p { |
1276 | - color: #aea79f; |
1277 | - font-size: 10px; |
1278 | - line-height: 14px; |
1279 | - margin: 2px 0; |
1280 | -} |
1281 | - |
1282 | -#footer { |
1283 | - padding-top: 16px; |
1284 | -} |
1285 | -#footer * { |
1286 | - font-size: 10px; |
1287 | - line-height: 14px; |
1288 | -} |
1289 | -#footer p { |
1290 | - margin: 0; |
1291 | - padding-bottom: 3px; |
1292 | - border-bottom: 1px dotted #aea79f; |
1293 | -} |
1294 | -#footer p.footer-title { |
1295 | - font-weight: bold; |
1296 | -} |
1297 | -#footer .footer-div { |
1298 | - width: 144px; |
1299 | - float: left; |
1300 | - margin-left: 16px; |
1301 | -} |
1302 | -#footer .last-div { |
1303 | - margin-right: 16px; |
1304 | -} |
1305 | -#footer ul { |
1306 | - list-style: none; |
1307 | - margin: 0; |
1308 | - padding: 0; |
1309 | -} |
1310 | -#footer li { |
1311 | - margin: 0; |
1312 | - padding: 3px 0; |
1313 | - border-bottom: 1px dotted #aea79f; |
1314 | -} |
1315 | - |
1316 | -h1, h2, h3, h4, h5 { |
1317 | - padding: 0; |
1318 | - margin: 0; |
1319 | - font-weight: normal; |
1320 | -} |
1321 | -h1 { |
1322 | - font-size: 36px; |
1323 | - line-height: 40px; |
1324 | - color: #dd4814; |
1325 | -} |
1326 | -h2 { |
1327 | - font-size: 24px; |
1328 | - line-height: 28px; |
1329 | - margin-bottom: 8px; |
1330 | -} |
1331 | -h3 { |
1332 | - font-size: 16px; |
1333 | - line-height: 20px; |
1334 | - margin-bottom: 8px; |
1335 | -} |
1336 | -h3.link-other { |
1337 | - color: #333; |
1338 | -} |
1339 | -h3.link-services { |
1340 | - color: #fff; |
1341 | -} |
1342 | -h4 { |
1343 | - font-size: 12px; |
1344 | - line-height: 14px; |
1345 | -} |
1346 | -h4.partners { |
1347 | - color: #333; |
1348 | - font-size: 16px; |
1349 | - line-height: 20px; |
1350 | -} |
1351 | -h5 { |
1352 | - color: #333; |
1353 | - font-size: 10px; |
1354 | - line-height: 14px; |
1355 | -} |
1356 | -h1 span.grey, h2 span.grey, h1 span, h2 span{ |
1357 | - color: #aea79f; |
1358 | -} |
1359 | -p { |
1360 | - font-size: 12px; |
1361 | - line-height: 14px; |
1362 | - margin-bottom: 8px; |
1363 | -} |
1364 | -strong { |
1365 | - font-weight: bold; |
1366 | -} |
1367 | - |
1368 | -a { |
1369 | - color: #333; |
1370 | - text-decoration: none; |
1371 | -} |
1372 | -a:hover { |
1373 | - color: #dd4814; |
1374 | - text-decoration: underline; |
1375 | -} |
1376 | -div.footer-div:hover a, div#content:hover a { |
1377 | - color: #dd4814; |
1378 | - text-decoration: none; |
1379 | -} |
1380 | -div.footer-div:hover a:hover, div#content:hover a:hover { |
1381 | - color: #dd4814; |
1382 | - text-decoration: underline; |
1383 | -} |
1384 | - |
1385 | -ul { |
1386 | - margin-bottom: 16px; |
1387 | - list-style-image: url(report/images/bullet.png); |
1388 | -} |
1389 | -ul li { |
1390 | - margin-bottom: 8px; |
1391 | - line-height: 14px; |
1392 | -} |
1393 | -ul li:last-child { |
1394 | - margin-bottom: 0px; |
1395 | -} |
1396 | - |
1397 | -p.call-to-action { |
1398 | - color: #333; |
1399 | -} |
1400 | -p.case-study { |
1401 | - color: #333; |
1402 | -} |
1403 | -p.highlight { |
1404 | - font-size: 16px; |
1405 | - line-height: 20px; |
1406 | -} |
1407 | -p.introduction { |
1408 | - color: #333; |
1409 | - font-size: 16px; |
1410 | - line-height: 20px; |
1411 | -} |
1412 | -p.services { |
1413 | - color: #fff; |
1414 | -} |
1415 | -p.small-text { |
1416 | - color: #333; |
1417 | - font-size: 10px; |
1418 | -} |
1419 | - |
1420 | -/* Clearing floats without extra markup |
1421 | -Based on How To Clear Floats Without Structural Markup by PiE |
1422 | -[http://www.positioniseverything.net/easyclearing.html] */ |
1423 | -.clearfix:after { |
1424 | - content: "."; |
1425 | - display: block; |
1426 | - height: 0; |
1427 | - clear: both; |
1428 | - visibility: hidden; |
1429 | -} |
1430 | -.clearfix { |
1431 | - -moz-border-radius: 5px 5px 5px 5px; |
1432 | - -webkit-border-bottom-top-radius: 5px; |
1433 | - -webkit-border-bottom-left-radius: 5px; |
1434 | - -webkit-border-bottom-bottom-radius: 5px; |
1435 | - -webkit-border-bottom-right-radius: 5px; |
1436 | - -moz-box-shadow: #bbb 0px 0px 5px; |
1437 | - -webkit-box-shadow: #bbb 0px 0px 5px; |
1438 | - display: inline-block; |
1439 | -} /* for IE/Mac */ |
1440 | -td |
1441 | -{ |
1442 | - margin: 0; |
1443 | - padding-bottom: 3px; |
1444 | - border-bottom: 1px dotted #aea79f; |
1445 | - font-size: 10px; |
1446 | - line-height: 14px; |
1447 | -} |
1448 | -.resultimg |
1449 | -{ |
1450 | - height: 12px; |
1451 | -} |
1452 | -.disclosureimg |
1453 | -{ |
1454 | - height: .75em; |
1455 | - vertical-align: middle; |
1456 | -} |
1457 | -.data |
1458 | -{ |
1459 | - display: none; |
1460 | -} |
1461 | -</style> |
1462 | - </head> |
1463 | - <body> |
1464 | - <img style="display: none;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oHHBQqFc4HgrEAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAD2ElEQVR42u3XPW4TURTF8fNmIiIUJJALKpCCIA2sJCuLG7IDdkBFE9GlS3ZAkdiyZFdBSkGTjKPxo0CJSLDx18y8e+47p3Xnv+bq9wBN0zRN0zRN0zRN0zRN0zRN07QtFi4Oex/1N3jaTgVcTQ5OUAHAThmLowi8AbCrP4d7EagKxLM69PrA9QQAdmrgSwF8BvBefxH5OQ64rFF/A65/PnzPRR1+hBLDCLwFor5i3ry3IWI4jeXw0/c/5xkAiuJubxxQHwOY6E9ivs6YINTHz4qX479/KPZPR9VNXQ4DMABCpf+K8uutAjC4mZXDg5PLRw2LAMTnd3vjWYz9gHiuyISnGfG8Ruw//XoBoACAd6ej27J6cTaLs75ONd9prjHrI7w6e/r1PgQGgP3TUTWdlQOdar7TPI3lYF7cR4HvT7XAxQ+ruYHvv2KBix9WCwMLXD5gtTCwwOUDVv8NLHDxw2ppYIGLG1ZLAwtc3LBaKbDAxQurlQILXLywWjmwwMUJq7UCC1x8sForsMDFB6u1AwtcXLBaO7DAxQWrjQILXDyw2jiwTjUHrDYOrFPNAautAutU24fV1oH1NrYNq60D621sG1aNBBa4bJ/mrQMLXLZPcyOBBS67p7mxwAKXnTdvK4EFLjtv3tYCC1y2YNV4YIHLFqxaCSxw2YFVa4EFLhuwai2wwGUDVq0GFrjSw6rVwAJXeli1HljgSgurTgILXOlg1UlggSsdrDoLLHClgVVngQWuNLDqNLDA1T2sOg+cMbiSwKrzwPmCKw2skgTOD1zpYJUkcGbgSgqrZIHzAVdaWCUNnAG4ksMqaWD/4EoPq+SB/YLLBqySB3YKLjOwMhHYH7jswMpMYEfgMgUrM4H9gMsWrEwF5geXPViZCkwOLpOwMheYF1w2YWUyMCG4zMLKZGA+cNmFldnAPOCyDSuzgUnAZR5WpgPbB5d9WJkPbBhcFLAyH9guuDhgRRHYHrh4YEUR2Bi4qGBFE9gOuLhgRRXYwKmmgxVV4PSnmg9WdIHTnWpOWFEGTvA2poUVZeDu38a8sKIN3B24+E8zZeCOwOXiNNMGbh9cPk4zdeAWwUX95nUTuD1wcb95XQVuHlx+YOUicMPgcgUrN4GbA5cvWLkK3AC43MHKVeDtweUPVu4Cbw4un7ByF3hDcLmFlcvA64PLL6zcBl4DXK5h5Tbw6uDyDSvXgZeDyz+sXAdeAq4sYOU+8GJw5QGrLALPAVc2sMoi8L/gwq9cYJVN4PuvuEY8CsDXXGD15D/wv4vDD7uhvn4dy95VTl+vpmmapmmapmmapuW237hibhwAe0qaAAAAAElFTkSuQmCC"/> |
1465 | - <img style="display: none;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oHHBQqBz2+8/kAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAC+ElEQVR42u3bsUpbYRjG8ec7X2gMtBYCcXKRxKG9Ajs5ivfQC+klZHJKx071Hlzd2huQDjZBiFOFQzd7kJOva0FpqaUm53n/366Df55fXgUlHo/X3Zce80WXx+pLw5FU3+yfqeHHuLmvetyX7ezmkt9Jw8OLo9Hk8njS50dpteDh61SqjynpRSppodSe3K7y4ln1crl/9pVFd3/BUpL6KpoU6bCU/H6QNFP5/oY1b9br/fu3KFuSxkVpN0v9ttTTi6PRnDV3fMH3B122itJBpTwbJM2yaj6fjQL/suYyhm0roh9eM2xbLhi2IwWGbVOiYTvWgmE7UmDYNiUatmMtGLYjBYZtU6JhO9aCf882a/ZY8ANss2bHBXOEBQrMEeZLNEdYoAXDdqTAsG1KNGzHWjBsRwoM26ZEw3asBcN2pMDh2e4pzgvJdqV4LxTbEQOHYrun2M+e7Uo8a7YJbM52j6jebLNgc7YJbM42RJuzzYLN2SawOdsQbc42CzZnm8DmbEO0Odss+InYXteaWfB/Z3u9a2bB5kcYgc2PMIg2P8JYsDnbBDZnG6LN2WbB5mwT2JxtiDZnmwWbs01gc7YJ3Dm2y7ioHGTpbWrrHT6DvRo3kq6TNG9VTpWH36SawE5hk9qT2zYvBnfPl3vnfz62CNyBuEnl86qsps0qzwd328tX51dN0k3h1yST1a6KprnZ/vQ3YQncOY6vfvCHjuAcE9icYwKbc0xgc44JbM4xgc05JrA5xwQ255jA5hwT2JxjAptzTOAnW+16OCZwkNUS2OiIIrD5EUXgQBwT2JxjAptzTGBzjglszjGBzTkmsDnHBDbnmMDmHBPYnOPAgWNwHDRwHI6DBY7HcZDAcTkOEDg2x8aB4dg0MBwbB4Zj08BwbBoYjo0Dw7FpYDg2DQzHxoHh2DQwHBsH3tx/3iIwqyUwR1SowBxRpoHh2DQwHBsHhmPTwHBsGhiOjQPDsWlgOHYN3EiaJ2kBx4aBk3TdSh+qVl8SHG/s+wl92yQuUei4wAAAAABJRU5ErkJggg=="/> |
1466 | - <div id="container"> |
1467 | - <div id="container-inner"> |
1468 | - <div id="title"> |
1469 | - <h1>System Testing<span class="grey"> Report</span></h1> |
1470 | - </div> |
1471 | - <div id="content" class="clearfix"> |
1472 | - <p> |
1473 | - This report was created using plainbox 1.0 on |
1474 | - 2012-12-21T12:00:00</p> |
1475 | - </div> |
1476 | - <div id="content" class="clearfix"> |
1477 | - <h2>Hardware Information</h2> |
1478 | - <span onClick="showHide('dmi');"> |
1479 | - <h3 id="dmi"><img class="disclosureimg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oHHBQqBz2+8/kAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAC+ElEQVR42u3bsUpbYRjG8ec7X2gMtBYCcXKRxKG9Ajs5ivfQC+klZHJKx071Hlzd2huQDjZBiFOFQzd7kJOva0FpqaUm53n/366Df55fXgUlHo/X3Zce80WXx+pLw5FU3+yfqeHHuLmvetyX7ezmkt9Jw8OLo9Hk8njS50dpteDh61SqjynpRSppodSe3K7y4ln1crl/9pVFd3/BUpL6KpoU6bCU/H6QNFP5/oY1b9br/fu3KFuSxkVpN0v9ttTTi6PRnDV3fMH3B122itJBpTwbJM2yaj6fjQL/suYyhm0roh9eM2xbLhi2IwWGbVOiYTvWgmE7UmDYNiUatmMtGLYjBYZtU6JhO9aCf882a/ZY8ANss2bHBXOEBQrMEeZLNEdYoAXDdqTAsG1KNGzHWjBsRwoM26ZEw3asBcN2pMDh2e4pzgvJdqV4LxTbEQOHYrun2M+e7Uo8a7YJbM52j6jebLNgc7YJbM42RJuzzYLN2SawOdsQbc42CzZnm8DmbEO0Odss+InYXteaWfB/Z3u9a2bB5kcYgc2PMIg2P8JYsDnbBDZnG6LN2WbB5mwT2JxtiDZnmwWbs01gc7YJ3Dm2y7ioHGTpbWrrHT6DvRo3kq6TNG9VTpWH36SawE5hk9qT2zYvBnfPl3vnfz62CNyBuEnl86qsps0qzwd328tX51dN0k3h1yST1a6KprnZ/vQ3YQncOY6vfvCHjuAcE9icYwKbc0xgc44JbM4xgc05JrA5xwQ255jA5hwT2JxjAptzTOAnW+16OCZwkNUS2OiIIrD5EUXgQBwT2JxjAptzTGBzjglszjGBzTkmsDnHBDbnmMDmHBPYnOPAgWNwHDRwHI6DBY7HcZDAcTkOEDg2x8aB4dg0MBwbB4Zj08BwbBoYjo0Dw7FpYDg2DQzHxoHh2DQwHBsH3tx/3iIwqyUwR1SowBxRpoHh2DQwHBsHhmPTwHBsGhiOjQPDsWlgOHYN3EiaJ2kBx4aBk3TdSh+qVl8SHG/s+wl92yQuUei4wAAAAABJRU5ErkJggg=="/>Desktop Management Interface information</h3> |
1480 | - </span> |
1481 | - <div class="data" id="dmi-contents" style="overflow: auto;"> |
1482 | - <pre/> |
1483 | - </div> |
1484 | - <span onClick="showHide('sysfs-attributes');"> |
1485 | - <h3 id="sysfs-attributes"><img class="disclosureimg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oHHBQqBz2+8/kAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAC+ElEQVR42u3bsUpbYRjG8ec7X2gMtBYCcXKRxKG9Ajs5ivfQC+klZHJKx071Hlzd2huQDjZBiFOFQzd7kJOva0FpqaUm53n/366Df55fXgUlHo/X3Zce80WXx+pLw5FU3+yfqeHHuLmvetyX7ezmkt9Jw8OLo9Hk8njS50dpteDh61SqjynpRSppodSe3K7y4ln1crl/9pVFd3/BUpL6KpoU6bCU/H6QNFP5/oY1b9br/fu3KFuSxkVpN0v9ttTTi6PRnDV3fMH3B122itJBpTwbJM2yaj6fjQL/suYyhm0roh9eM2xbLhi2IwWGbVOiYTvWgmE7UmDYNiUatmMtGLYjBYZtU6JhO9aCf882a/ZY8ANss2bHBXOEBQrMEeZLNEdYoAXDdqTAsG1KNGzHWjBsRwoM26ZEw3asBcN2pMDh2e4pzgvJdqV4LxTbEQOHYrun2M+e7Uo8a7YJbM52j6jebLNgc7YJbM42RJuzzYLN2SawOdsQbc42CzZnm8DmbEO0Odss+InYXteaWfB/Z3u9a2bB5kcYgc2PMIg2P8JYsDnbBDZnG6LN2WbB5mwT2JxtiDZnmwWbs01gc7YJ3Dm2y7ioHGTpbWrrHT6DvRo3kq6TNG9VTpWH36SawE5hk9qT2zYvBnfPl3vnfz62CNyBuEnl86qsps0qzwd328tX51dN0k3h1yST1a6KprnZ/vQ3YQncOY6vfvCHjuAcE9icYwKbc0xgc44JbM4xgc05JrA5xwQ255jA5hwT2JxjAptzTOAnW+16OCZwkNUS2OiIIrD5EUXgQBwT2JxjAptzTGBzjglszjGBzTkmsDnHBDbnmMDmHBPYnOPAgWNwHDRwHI6DBY7HcZDAcTkOEDg2x8aB4dg0MBwbB4Zj08BwbBoYjo0Dw7FpYDg2DQzHxoHh2DQwHBsH3tx/3iIwqyUwR1SowBxRpoHh2DQwHBsHhmPTwHBsGhiOjQPDsWlgOHYN3EiaJ2kBx4aBk3TdSh+qVl8SHG/s+wl92yQuUei4wAAAAABJRU5ErkJggg=="/>sysfs-attributes</h3> |
1486 | - </span> |
1487 | - <div class="data" id="sysfs-attributes-contents"> |
1488 | - <pre/> |
1489 | - </div> |
1490 | - <span onClick="showHide('processors');"> |
1491 | - <h3 id="processors"><img class="disclosureimg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oHHBQqBz2+8/kAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAC+ElEQVR42u3bsUpbYRjG8ec7X2gMtBYCcXKRxKG9Ajs5ivfQC+klZHJKx071Hlzd2huQDjZBiFOFQzd7kJOva0FpqaUm53n/366Df55fXgUlHo/X3Zce80WXx+pLw5FU3+yfqeHHuLmvetyX7ezmkt9Jw8OLo9Hk8njS50dpteDh61SqjynpRSppodSe3K7y4ln1crl/9pVFd3/BUpL6KpoU6bCU/H6QNFP5/oY1b9br/fu3KFuSxkVpN0v9ttTTi6PRnDV3fMH3B122itJBpTwbJM2yaj6fjQL/suYyhm0roh9eM2xbLhi2IwWGbVOiYTvWgmE7UmDYNiUatmMtGLYjBYZtU6JhO9aCf882a/ZY8ANss2bHBXOEBQrMEeZLNEdYoAXDdqTAsG1KNGzHWjBsRwoM26ZEw3asBcN2pMDh2e4pzgvJdqV4LxTbEQOHYrun2M+e7Uo8a7YJbM52j6jebLNgc7YJbM42RJuzzYLN2SawOdsQbc42CzZnm8DmbEO0Odss+InYXteaWfB/Z3u9a2bB5kcYgc2PMIg2P8JYsDnbBDZnG6LN2WbB5mwT2JxtiDZnmwWbs01gc7YJ3Dm2y7ioHGTpbWrrHT6DvRo3kq6TNG9VTpWH36SawE5hk9qT2zYvBnfPl3vnfz62CNyBuEnl86qsps0qzwd328tX51dN0k3h1yST1a6KprnZ/vQ3YQncOY6vfvCHjuAcE9icYwKbc0xgc44JbM4xgc05JrA5xwQ255jA5hwT2JxjAptzTOAnW+16OCZwkNUS2OiIIrD5EUXgQBwT2JxjAptzTGBzjglszjGBzTkmsDnHBDbnmMDmHBPYnOPAgWNwHDRwHI6DBY7HcZDAcTkOEDg2x8aB4dg0MBwbB4Zj08BwbBoYjo0Dw7FpYDg2DQzHxoHh2DQwHBsH3tx/3iIwqyUwR1SowBxRpoHh2DQwHBsHhmPTwHBsGhiOjQPDsWlgOHYN3EiaJ2kBx4aBk3TdSh+qVl8SHG/s+wl92yQuUei4wAAAAABJRU5ErkJggg=="/>Processors</h3> |
1492 | - </span> |
1493 | - <div class="data" id="processors-contents"> |
1494 | - <h3> |
1495 | - <u>Processor 0</u> |
1496 | - </h3> |
1497 | - <table> |
1498 | - <tr> |
1499 | - <th>Property</th> |
1500 | - <th>Value</th> |
1501 | - </tr> |
1502 | - <tr> |
1503 | - <td class="label">bogomips</td> |
1504 | - <td class="property">5066</td> |
1505 | - </tr> |
1506 | - <tr> |
1507 | - <td class="label">cache</td> |
1508 | - <td class="property">3145728</td> |
1509 | - </tr> |
1510 | - <tr> |
1511 | - <td class="label">count</td> |
1512 | - <td class="property">2</td> |
1513 | - </tr> |
1514 | - <tr> |
1515 | - <td class="label">model</td> |
1516 | - <td class="property">Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz</td> |
1517 | - </tr> |
1518 | - <tr> |
1519 | - <td class="label">model_number</td> |
1520 | - <td class="property">6</td> |
1521 | - </tr> |
1522 | - <tr> |
1523 | - <td class="label">model_revision</td> |
1524 | - <td class="property">10</td> |
1525 | - </tr> |
1526 | - <tr> |
1527 | - <td class="label">model_version</td> |
1528 | - <td class="property">23</td> |
1529 | - </tr> |
1530 | - <tr> |
1531 | - <td class="label">other</td> |
1532 | - <td class="property">fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida dtherm tpr_shadow vnmi flexpriority</td> |
1533 | - </tr> |
1534 | - <tr> |
1535 | - <td class="label">platform</td> |
1536 | - <td class="property">x86_64</td> |
1537 | - </tr> |
1538 | - <tr> |
1539 | - <td class="label">speed</td> |
1540 | - <td class="property">2534</td> |
1541 | - </tr> |
1542 | - <tr> |
1543 | - <td class="label">type</td> |
1544 | - <td class="property">GenuineIntel</td> |
1545 | - </tr> |
1546 | - </table> |
1547 | - <br/> |
1548 | - <h3> |
1549 | - <u>Processor 1</u> |
1550 | - </h3> |
1551 | - <table> |
1552 | - <tr> |
1553 | - <th>Property</th> |
1554 | - <th>Value</th> |
1555 | - </tr> |
1556 | - <tr> |
1557 | - <td class="label">bogomips</td> |
1558 | - <td class="property">5066</td> |
1559 | - </tr> |
1560 | - <tr> |
1561 | - <td class="label">cache</td> |
1562 | - <td class="property">3145728</td> |
1563 | - </tr> |
1564 | - <tr> |
1565 | - <td class="label">count</td> |
1566 | - <td class="property">2</td> |
1567 | - </tr> |
1568 | - <tr> |
1569 | - <td class="label">model</td> |
1570 | - <td class="property">Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz</td> |
1571 | - </tr> |
1572 | - <tr> |
1573 | - <td class="label">model_number</td> |
1574 | - <td class="property">6</td> |
1575 | - </tr> |
1576 | - <tr> |
1577 | - <td class="label">model_revision</td> |
1578 | - <td class="property">10</td> |
1579 | - </tr> |
1580 | - <tr> |
1581 | - <td class="label">model_version</td> |
1582 | - <td class="property">23</td> |
1583 | - </tr> |
1584 | - <tr> |
1585 | - <td class="label">other</td> |
1586 | - <td class="property">fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida dtherm tpr_shadow vnmi flexpriority</td> |
1587 | - </tr> |
1588 | - <tr> |
1589 | - <td class="label">platform</td> |
1590 | - <td class="property">x86_64</td> |
1591 | - </tr> |
1592 | - <tr> |
1593 | - <td class="label">speed</td> |
1594 | - <td class="property">2534</td> |
1595 | - </tr> |
1596 | - <tr> |
1597 | - <td class="label">type</td> |
1598 | - <td class="property">GenuineIntel</td> |
1599 | - </tr> |
1600 | - </table> |
1601 | - <br/> |
1602 | - </div> |
1603 | - </div> |
1604 | - <div id="content" class="clearfix"> |
1605 | - <h2>Software Information</h2> |
1606 | - <span onClick="showHide('packages');"> |
1607 | - <h3 id="packages"><img class="disclosureimg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oHHBQqBz2+8/kAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAC+ElEQVR42u3bsUpbYRjG8ec7X2gMtBYCcXKRxKG9Ajs5ivfQC+klZHJKx071Hlzd2huQDjZBiFOFQzd7kJOva0FpqaUm53n/366Df55fXgUlHo/X3Zce80WXx+pLw5FU3+yfqeHHuLmvetyX7ezmkt9Jw8OLo9Hk8njS50dpteDh61SqjynpRSppodSe3K7y4ln1crl/9pVFd3/BUpL6KpoU6bCU/H6QNFP5/oY1b9br/fu3KFuSxkVpN0v9ttTTi6PRnDV3fMH3B122itJBpTwbJM2yaj6fjQL/suYyhm0roh9eM2xbLhi2IwWGbVOiYTvWgmE7UmDYNiUatmMtGLYjBYZtU6JhO9aCf882a/ZY8ANss2bHBXOEBQrMEeZLNEdYoAXDdqTAsG1KNGzHWjBsRwoM26ZEw3asBcN2pMDh2e4pzgvJdqV4LxTbEQOHYrun2M+e7Uo8a7YJbM52j6jebLNgc7YJbM42RJuzzYLN2SawOdsQbc42CzZnm8DmbEO0Odss+InYXteaWfB/Z3u9a2bB5kcYgc2PMIg2P8JYsDnbBDZnG6LN2WbB5mwT2JxtiDZnmwWbs01gc7YJ3Dm2y7ioHGTpbWrrHT6DvRo3kq6TNG9VTpWH36SawE5hk9qT2zYvBnfPl3vnfz62CNyBuEnl86qsps0qzwd328tX51dN0k3h1yST1a6KprnZ/vQ3YQncOY6vfvCHjuAcE9icYwKbc0xgc44JbM4xgc05JrA5xwQ255jA5hwT2JxjAptzTOAnW+16OCZwkNUS2OiIIrD5EUXgQBwT2JxjAptzTGBzjglszjGBzTkmsDnHBDbnmMDmHBPYnOPAgWNwHDRwHI6DBY7HcZDAcTkOEDg2x8aB4dg0MBwbB4Zj08BwbBoYjo0Dw7FpYDg2DQzHxoHh2DQwHBsH3tx/3iIwqyUwR1SowBxRpoHh2DQwHBsHhmPTwHBsGhiOjQPDsWlgOHYN3EiaJ2kBx4aBk3TdSh+qVl8SHG/s+wl92yQuUei4wAAAAABJRU5ErkJggg=="/>Packages Installed</h3> |
1608 | - </span> |
1609 | - <div class="data" id="packages-contents"> |
1610 | - <table> |
1611 | - <tr> |
1612 | - <th>Name</th> |
1613 | - <th>Description</th> |
1614 | - </tr> |
1615 | - <tr> |
1616 | - <td class="label">accountsservice</td> |
1617 | - <td>Installed</td> |
1618 | - </tr> |
1619 | - <tr> |
1620 | - <td class="label">acl</td> |
1621 | - <td>Installed</td> |
1622 | - </tr> |
1623 | - <tr> |
1624 | - <td class="label">acpi</td> |
1625 | - <td>Installed</td> |
1626 | - </tr> |
1627 | - <tr> |
1628 | - <td class="label">acpi-support</td> |
1629 | - <td>Installed</td> |
1630 | - </tr> |
1631 | - <tr> |
1632 | - <td class="label">acpid</td> |
1633 | - <td>Installed</td> |
1634 | - </tr> |
1635 | - <tr> |
1636 | - <td class="label">acpidump</td> |
1637 | - <td>Installed</td> |
1638 | - </tr> |
1639 | - <tr> |
1640 | - <td class="label">acpitool</td> |
1641 | - <td>Installed</td> |
1642 | - </tr> |
1643 | - <tr> |
1644 | - <td class="label">activity-log-manager-common</td> |
1645 | - <td>Installed</td> |
1646 | - </tr> |
1647 | - <tr> |
1648 | - <td class="label">activity-log-manager-control-center</td> |
1649 | - <td>Installed</td> |
1650 | - </tr> |
1651 | - <tr> |
1652 | - <td class="label">adduser</td> |
1653 | - <td>Installed</td> |
1654 | - </tr> |
1655 | - <tr> |
1656 | - <td class="label">adium-theme-ubuntu</td> |
1657 | - <td>Installed</td> |
1658 | - </tr> |
1659 | - <tr> |
1660 | - <td class="label">aisleriot</td> |
1661 | - <td>Installed</td> |
1662 | - </tr> |
1663 | - <tr> |
1664 | - <td class="label">alacarte</td> |
1665 | - <td>Installed</td> |
1666 | - </tr> |
1667 | - <tr> |
1668 | - <td class="label">alsa-base</td> |
1669 | - <td>Installed</td> |
1670 | - </tr> |
1671 | - <tr> |
1672 | - <td class="label">alsa-utils</td> |
1673 | - <td>Installed</td> |
1674 | - </tr> |
1675 | - <tr> |
1676 | - <td class="label">anacron</td> |
1677 | - <td>Installed</td> |
1678 | - </tr> |
1679 | - <tr> |
1680 | - <td class="label">apg</td> |
1681 | - <td>Installed</td> |
1682 | - </tr> |
1683 | - <tr> |
1684 | - <td class="label">app-install-data</td> |
1685 | - <td>Installed</td> |
1686 | - </tr> |
1687 | - <tr> |
1688 | - <td class="label">app-install-data-partner</td> |
1689 | - <td>Installed</td> |
1690 | - </tr> |
1691 | - <tr> |
1692 | - <td class="label">apparmor</td> |
1693 | - <td>Installed</td> |
1694 | - </tr> |
1695 | - <tr> |
1696 | - <td class="label">appmenu-gtk</td> |
1697 | - <td>Installed</td> |
1698 | - </tr> |
1699 | - <tr> |
1700 | - <td class="label">appmenu-gtk3</td> |
1701 | - <td>Installed</td> |
1702 | - </tr> |
1703 | - <tr> |
1704 | - <td class="label">appmenu-qt</td> |
1705 | - <td>Installed</td> |
1706 | - </tr> |
1707 | - <tr> |
1708 | - <td class="label">apport</td> |
1709 | - <td>Installed</td> |
1710 | - </tr> |
1711 | - <tr> |
1712 | - <td class="label">apport-gtk</td> |
1713 | - <td>Installed</td> |
1714 | - </tr> |
1715 | - <tr> |
1716 | - <td class="label">apport-symptoms</td> |
1717 | - <td>Installed</td> |
1718 | - </tr> |
1719 | - <tr> |
1720 | - <td class="label">apt</td> |
1721 | - <td>Installed</td> |
1722 | - </tr> |
1723 | - <tr> |
1724 | - <td class="label">apt-file</td> |
1725 | - <td>Installed</td> |
1726 | - </tr> |
1727 | - <tr> |
1728 | - <td class="label">apt-transport-https</td> |
1729 | - <td>Installed</td> |
1730 | - </tr> |
1731 | - <tr> |
1732 | - <td class="label">apt-utils</td> |
1733 | - <td>Installed</td> |
1734 | - </tr> |
1735 | - <tr> |
1736 | - <td class="label">apt-xapian-index</td> |
1737 | - <td>Installed</td> |
1738 | - </tr> |
1739 | - <tr> |
1740 | - <td class="label">aptdaemon</td> |
1741 | - <td>Installed</td> |
1742 | - </tr> |
1743 | - <tr> |
1744 | - <td class="label">aptdaemon-data</td> |
1745 | - <td>Installed</td> |
1746 | - </tr> |
1747 | - <tr> |
1748 | - <td class="label">apturl</td> |
1749 | - <td>Installed</td> |
1750 | - </tr> |
1751 | - <tr> |
1752 | - <td class="label">apturl-common</td> |
1753 | - <td>Installed</td> |
1754 | - </tr> |
1755 | - <tr> |
1756 | - <td class="label">arandr</td> |
1757 | - <td>Installed</td> |
1758 | - </tr> |
1759 | - <tr> |
1760 | - <td class="label">aspell</td> |
1761 | - <td>Installed</td> |
1762 | - </tr> |
1763 | - <tr> |
1764 | - <td class="label">aspell-en</td> |
1765 | - <td>Installed</td> |
1766 | - </tr> |
1767 | - <tr> |
1768 | - <td class="label">at</td> |
1769 | - <td>Installed</td> |
1770 | - </tr> |
1771 | - <tr> |
1772 | - <td class="label">at-spi2-core</td> |
1773 | - <td>Installed</td> |
1774 | - </tr> |
1775 | - <tr> |
1776 | - <td class="label">audacity</td> |
1777 | - <td>Installed</td> |
1778 | - </tr> |
1779 | - <tr> |
1780 | - <td class="label">audacity-data</td> |
1781 | - <td>Installed</td> |
1782 | - </tr> |
1783 | - <tr> |
1784 | - <td class="label">autoconf</td> |
1785 | - <td>Installed</td> |
1786 | - </tr> |
1787 | - <tr> |
1788 | - <td class="label">automake</td> |
1789 | - <td>Installed</td> |
1790 | - </tr> |
1791 | - <tr> |
1792 | - <td class="label">autotools-dev</td> |
1793 | - <td>Installed</td> |
1794 | - </tr> |
1795 | - <tr> |
1796 | - <td class="label">avahi-autoipd</td> |
1797 | - <td>Installed</td> |
1798 | - </tr> |
1799 | - <tr> |
1800 | - <td class="label">avahi-daemon</td> |
1801 | - <td>Installed</td> |
1802 | - </tr> |
1803 | - <tr> |
1804 | - <td class="label">avahi-utils</td> |
1805 | - <td>Installed</td> |
1806 | - </tr> |
1807 | - <tr> |
1808 | - <td class="label">bamfdaemon</td> |
1809 | - <td>Installed</td> |
1810 | - </tr> |
1811 | - <tr> |
1812 | - <td class="label">baobab</td> |
1813 | - <td>Installed</td> |
1814 | - </tr> |
1815 | - <tr> |
1816 | - <td class="label">base-files</td> |
1817 | - <td>Installed</td> |
1818 | - </tr> |
1819 | - <tr> |
1820 | - <td class="label">base-passwd</td> |
1821 | - <td>Installed</td> |
1822 | - </tr> |
1823 | - <tr> |
1824 | - <td class="label">bash</td> |
1825 | - <td>Installed</td> |
1826 | - </tr> |
1827 | - <tr> |
1828 | - <td class="label">bash-completion</td> |
1829 | - <td>Installed</td> |
1830 | - </tr> |
1831 | - <tr> |
1832 | - <td class="label">bc</td> |
1833 | - <td>Installed</td> |
1834 | - </tr> |
1835 | - <tr> |
1836 | - <td class="label">bind9-host</td> |
1837 | - <td>Installed</td> |
1838 | - </tr> |
1839 | - <tr> |
1840 | - <td class="label">binutils</td> |
1841 | - <td>Installed</td> |
1842 | - </tr> |
1843 | - <tr> |
1844 | - <td class="label">blueman</td> |
1845 | - <td>Installed</td> |
1846 | - </tr> |
1847 | - <tr> |
1848 | - <td class="label">bluez</td> |
1849 | - <td>Installed</td> |
1850 | - </tr> |
1851 | - <tr> |
1852 | - <td class="label">bluez-alsa</td> |
1853 | - <td>Installed</td> |
1854 | - </tr> |
1855 | - <tr> |
1856 | - <td class="label">bluez-alsa:i386</td> |
1857 | - <td>Installed</td> |
1858 | - </tr> |
1859 | - <tr> |
1860 | - <td class="label">bluez-cups</td> |
1861 | - <td>Installed</td> |
1862 | - </tr> |
1863 | - <tr> |
1864 | - <td class="label">bluez-gstreamer</td> |
1865 | - <td>Installed</td> |
1866 | - </tr> |
1867 | - <tr> |
1868 | - <td class="label">bonnie++</td> |
1869 | - <td>Installed</td> |
1870 | - </tr> |
1871 | - <tr> |
1872 | - <td class="label">bootchart</td> |
1873 | - <td>Installed</td> |
1874 | - </tr> |
1875 | - <tr> |
1876 | - <td class="label">branding-ubuntu</td> |
1877 | - <td>Installed</td> |
1878 | - </tr> |
1879 | - <tr> |
1880 | - <td class="label">brasero</td> |
1881 | - <td>Installed</td> |
1882 | - </tr> |
1883 | - <tr> |
1884 | - <td class="label">brasero-cdrkit</td> |
1885 | - <td>Installed</td> |
1886 | - </tr> |
1887 | - <tr> |
1888 | - <td class="label">brasero-common</td> |
1889 | - <td>Installed</td> |
1890 | - </tr> |
1891 | - <tr> |
1892 | - <td class="label">bridge-utils</td> |
1893 | - <td>Installed</td> |
1894 | - </tr> |
1895 | - <tr> |
1896 | - <td class="label">brltty</td> |
1897 | - <td>Installed</td> |
1898 | - </tr> |
1899 | - <tr> |
1900 | - <td class="label">bsdmainutils</td> |
1901 | - <td>Installed</td> |
1902 | - </tr> |
1903 | - <tr> |
1904 | - <td class="label">bsdutils</td> |
1905 | - <td>Installed</td> |
1906 | - </tr> |
1907 | - <tr> |
1908 | - <td class="label">build-essential</td> |
1909 | - <td>Installed</td> |
1910 | - </tr> |
1911 | - <tr> |
1912 | - <td class="label">busybox-initramfs</td> |
1913 | - <td>Installed</td> |
1914 | - </tr> |
1915 | - <tr> |
1916 | - <td class="label">busybox-static</td> |
1917 | - <td>Installed</td> |
1918 | - </tr> |
1919 | - <tr> |
1920 | - <td class="label">byobu</td> |
1921 | - <td>Installed</td> |
1922 | - </tr> |
1923 | - <tr> |
1924 | - <td class="label">bzip2</td> |
1925 | - <td>Installed</td> |
1926 | - </tr> |
1927 | - <tr> |
1928 | - <td class="label">bzr</td> |
1929 | - <td>Installed</td> |
1930 | - </tr> |
1931 | - <tr> |
1932 | - <td class="label">bzr-builddeb</td> |
1933 | - <td>Installed</td> |
1934 | - </tr> |
1935 | - <tr> |
1936 | - <td class="label">bzr-builder</td> |
1937 | - <td>Installed</td> |
1938 | - </tr> |
1939 | - <tr> |
1940 | - <td class="label">bzr-explorer</td> |
1941 | - <td>Installed</td> |
1942 | - </tr> |
1943 | - <tr> |
1944 | - <td class="label">bzr-fastimport</td> |
1945 | - <td>Installed</td> |
1946 | - </tr> |
1947 | - <tr> |
1948 | - <td class="label">ca-certificates</td> |
1949 | - <td>Installed</td> |
1950 | - </tr> |
1951 | - <tr> |
1952 | - <td class="label">ca-certificates-java</td> |
1953 | - <td>Installed</td> |
1954 | - </tr> |
1955 | - <tr> |
1956 | - <td class="label">cdbs</td> |
1957 | - <td>Installed</td> |
1958 | - </tr> |
1959 | - <tr> |
1960 | - <td class="label">cgroup-lite</td> |
1961 | - <td>Installed</td> |
1962 | - </tr> |
1963 | - <tr> |
1964 | - <td class="label">charm-tools</td> |
1965 | - <td>Installed</td> |
1966 | - </tr> |
1967 | - <tr> |
1968 | - <td class="label">checkbox</td> |
1969 | - <td>Installed</td> |
1970 | - </tr> |
1971 | - <tr> |
1972 | - <td class="label">checkbox-certification</td> |
1973 | - <td>Installed</td> |
1974 | - </tr> |
1975 | - <tr> |
1976 | - <td class="label">checkbox-certification-client</td> |
1977 | - <td>Installed</td> |
1978 | - </tr> |
1979 | - <tr> |
1980 | - <td class="label">checkbox-certification-tools</td> |
1981 | - <td>Installed</td> |
1982 | - </tr> |
1983 | - <tr> |
1984 | - <td class="label">checkbox-cli</td> |
1985 | - <td>Installed</td> |
1986 | - </tr> |
1987 | - <tr> |
1988 | - <td class="label">checkbox-editor</td> |
1989 | - <td>Installed</td> |
1990 | - </tr> |
1991 | - <tr> |
1992 | - <td class="label">checkbox-editor-oem-template</td> |
1993 | - <td>Installed</td> |
1994 | - </tr> |
1995 | - <tr> |
1996 | - <td class="label">checkbox-gtk</td> |
1997 | - <td>Installed</td> |
1998 | - </tr> |
1999 | - <tr> |
2000 | - <td class="label">checkbox-ihv</td> |
2001 | - <td>Installed</td> |
2002 | - </tr> |
2003 | - <tr> |
2004 | - <td class="label">checkbox-ihv-cli</td> |
2005 | - <td>Installed</td> |
2006 | - </tr> |
2007 | - <tr> |
2008 | - <td class="label">checkbox-ihv-qt</td> |
2009 | - <td>Installed</td> |
2010 | - </tr> |
2011 | - <tr> |
2012 | - <td class="label">checkbox-oem</td> |
2013 | - <td>Installed</td> |
2014 | - </tr> |
2015 | - <tr> |
2016 | - <td class="label">checkbox-oem-bug</td> |
2017 | - <td>Installed</td> |
2018 | - </tr> |
2019 | - <tr> |
2020 | - <td class="label">checkbox-oem-gtk</td> |
2021 | - <td>Installed</td> |
2022 | - </tr> |
2023 | - <tr> |
2024 | - <td class="label">checkbox-oem-qt</td> |
2025 | - <td>Installed</td> |
2026 | - </tr> |
2027 | - <tr> |
2028 | - <td class="label">checkbox-oem-stella</td> |
2029 | - <td>Installed</td> |
2030 | - </tr> |
2031 | - <tr> |
2032 | - <td class="label">checkbox-oem-stella-gtk</td> |
2033 | - <td>Installed</td> |
2034 | - </tr> |
2035 | - <tr> |
2036 | - <td class="label">checkbox-qt</td> |
2037 | - <td>Installed</td> |
2038 | - </tr> |
2039 | - <tr> |
2040 | - <td class="label">cheese</td> |
2041 | - <td>Installed</td> |
2042 | - </tr> |
2043 | - <tr> |
2044 | - <td class="label">cheese-common</td> |
2045 | - <td>Installed</td> |
2046 | - </tr> |
2047 | - <tr> |
2048 | - <td class="label">cloud-utils</td> |
2049 | - <td>Installed</td> |
2050 | - </tr> |
2051 | - <tr> |
2052 | - <td class="label">cmap-adobe-japan2</td> |
2053 | - <td>Installed</td> |
2054 | - </tr> |
2055 | - <tr> |
2056 | - <td class="label">colord</td> |
2057 | - <td>Installed</td> |
2058 | - </tr> |
2059 | - <tr> |
2060 | - <td class="label">command-not-found</td> |
2061 | - <td>Installed</td> |
2062 | - </tr> |
2063 | - <tr> |
2064 | - <td class="label">command-not-found-data</td> |
2065 | - <td>Installed</td> |
2066 | - </tr> |
2067 | - <tr> |
2068 | - <td class="label">compiz</td> |
2069 | - <td>Installed</td> |
2070 | - </tr> |
2071 | - <tr> |
2072 | - <td class="label">compiz-core</td> |
2073 | - <td>Installed</td> |
2074 | - </tr> |
2075 | - <tr> |
2076 | - <td class="label">compiz-gnome</td> |
2077 | - <td>Installed</td> |
2078 | - </tr> |
2079 | - <tr> |
2080 | - <td class="label">compiz-plugins</td> |
2081 | - <td>Installed</td> |
2082 | - </tr> |
2083 | - <tr> |
2084 | - <td class="label">compiz-plugins-default</td> |
2085 | - <td>Installed</td> |
2086 | - </tr> |
2087 | - <tr> |
2088 | - <td class="label">compiz-plugins-main</td> |
2089 | - <td>Installed</td> |
2090 | - </tr> |
2091 | - <tr> |
2092 | - <td class="label">compiz-plugins-main-default</td> |
2093 | - <td>Installed</td> |
2094 | - </tr> |
2095 | - <tr> |
2096 | - <td class="label">compizconfig-backend-gconf</td> |
2097 | - <td>Installed</td> |
2098 | - </tr> |
2099 | - <tr> |
2100 | - <td class="label">compizconfig-settings-manager</td> |
2101 | - <td>Installed</td> |
2102 | - </tr> |
2103 | - <tr> |
2104 | - <td class="label">console-setup</td> |
2105 | - <td>Installed</td> |
2106 | - </tr> |
2107 | - <tr> |
2108 | - <td class="label">consolekit</td> |
2109 | - <td>Installed</td> |
2110 | - </tr> |
2111 | - <tr> |
2112 | - <td class="label">coreutils</td> |
2113 | - <td>Installed</td> |
2114 | - </tr> |
2115 | - <tr> |
2116 | - <td class="label">cpio</td> |
2117 | - <td>Installed</td> |
2118 | - </tr> |
2119 | - <tr> |
2120 | - <td class="label">cpp</td> |
2121 | - <td>Installed</td> |
2122 | - </tr> |
2123 | - <tr> |
2124 | - <td class="label">cpp-4.6</td> |
2125 | - <td>Installed</td> |
2126 | - </tr> |
2127 | - <tr> |
2128 | - <td class="label">cpu-checker</td> |
2129 | - <td>Installed</td> |
2130 | - </tr> |
2131 | - <tr> |
2132 | - <td class="label">crda</td> |
2133 | - <td>Installed</td> |
2134 | - </tr> |
2135 | - <tr> |
2136 | - <td class="label">cron</td> |
2137 | - <td>Installed</td> |
2138 | - </tr> |
2139 | - <tr> |
2140 | - <td class="label">cryptsetup-bin</td> |
2141 | - <td>Installed</td> |
2142 | - </tr> |
2143 | - <tr> |
2144 | - <td class="label">cups</td> |
2145 | - <td>Installed</td> |
2146 | - </tr> |
2147 | - <tr> |
2148 | - <td class="label">cups-bsd</td> |
2149 | - <td>Installed</td> |
2150 | - </tr> |
2151 | - <tr> |
2152 | - <td class="label">cups-client</td> |
2153 | - <td>Installed</td> |
2154 | - </tr> |
2155 | - <tr> |
2156 | - <td class="label">cups-common</td> |
2157 | - <td>Installed</td> |
2158 | - </tr> |
2159 | - <tr> |
2160 | - <td class="label">cups-filters</td> |
2161 | - <td>Installed</td> |
2162 | - </tr> |
2163 | - <tr> |
2164 | - <td class="label">cups-pk-helper</td> |
2165 | - <td>Installed</td> |
2166 | - </tr> |
2167 | - <tr> |
2168 | - <td class="label">cups-ppdc</td> |
2169 | - <td>Installed</td> |
2170 | - </tr> |
2171 | - <tr> |
2172 | - <td class="label">curl</td> |
2173 | - <td>Installed</td> |
2174 | - </tr> |
2175 | - <tr> |
2176 | - <td class="label">cvs</td> |
2177 | - <td>Installed</td> |
2178 | - </tr> |
2179 | - <tr> |
2180 | - <td class="label">cython</td> |
2181 | - <td>Installed</td> |
2182 | - </tr> |
2183 | - <tr> |
2184 | - <td class="label">dash</td> |
2185 | - <td>Installed</td> |
2186 | - </tr> |
2187 | - <tr> |
2188 | - <td class="label">dbus</td> |
2189 | - <td>Installed</td> |
2190 | - </tr> |
2191 | - <tr> |
2192 | - <td class="label">dbus-x11</td> |
2193 | - <td>Installed</td> |
2194 | - </tr> |
2195 | - <tr> |
2196 | - <td class="label">dc</td> |
2197 | - <td>Installed</td> |
2198 | - </tr> |
2199 | - <tr> |
2200 | - <td class="label">dconf-gsettings-backend</td> |
2201 | - <td>Installed</td> |
2202 | - </tr> |
2203 | - <tr> |
2204 | - <td class="label">dconf-service</td> |
2205 | - <td>Installed</td> |
2206 | - </tr> |
2207 | - <tr> |
2208 | - <td class="label">dconf-tools</td> |
2209 | - <td>Installed</td> |
2210 | - </tr> |
2211 | - <tr> |
2212 | - <td class="label">dctrl-tools</td> |
2213 | - <td>Installed</td> |
2214 | - </tr> |
2215 | - <tr> |
2216 | - <td class="label">debconf</td> |
2217 | - <td>Installed</td> |
2218 | - </tr> |
2219 | - <tr> |
2220 | - <td class="label">debconf-i18n</td> |
2221 | - <td>Installed</td> |
2222 | - </tr> |
2223 | - <tr> |
2224 | - <td class="label">debhelper</td> |
2225 | - <td>Installed</td> |
2226 | - </tr> |
2227 | - <tr> |
2228 | - <td class="label">debian-archive-keyring</td> |
2229 | - <td>Installed</td> |
2230 | - </tr> |
2231 | - <tr> |
2232 | - <td class="label">debian-keyring</td> |
2233 | - <td>Installed</td> |
2234 | - </tr> |
2235 | - <tr> |
2236 | - <td class="label">debianutils</td> |
2237 | - <td>Installed</td> |
2238 | - </tr> |
2239 | - <tr> |
2240 | - <td class="label">debootstrap</td> |
2241 | - <td>Installed</td> |
2242 | - </tr> |
2243 | - <tr> |
2244 | - <td class="label">deja-dup</td> |
2245 | - <td>Installed</td> |
2246 | - </tr> |
2247 | - <tr> |
2248 | - <td class="label">desktop-file-utils</td> |
2249 | - <td>Installed</td> |
2250 | - </tr> |
2251 | - <tr> |
2252 | - <td class="label">devhelp</td> |
2253 | - <td>Installed</td> |
2254 | - </tr> |
2255 | - <tr> |
2256 | - <td class="label">devhelp-common</td> |
2257 | - <td>Installed</td> |
2258 | - </tr> |
2259 | - <tr> |
2260 | - <td class="label">devscripts</td> |
2261 | - <td>Installed</td> |
2262 | - </tr> |
2263 | - <tr> |
2264 | - <td class="label">dh-apparmor</td> |
2265 | - <td>Installed</td> |
2266 | - </tr> |
2267 | - <tr> |
2268 | - <td class="label">dh-make</td> |
2269 | - <td>Installed</td> |
2270 | - </tr> |
2271 | - <tr> |
2272 | - <td class="label">dh-translations</td> |
2273 | - <td>Installed</td> |
2274 | - </tr> |
2275 | - <tr> |
2276 | - <td class="label">dia-common</td> |
2277 | - <td>Installed</td> |
2278 | - </tr> |
2279 | - <tr> |
2280 | - <td class="label">dia-gnome</td> |
2281 | - <td>Installed</td> |
2282 | - </tr> |
2283 | - <tr> |
2284 | - <td class="label">dia-libs</td> |
2285 | - <td>Installed</td> |
2286 | - </tr> |
2287 | - <tr> |
2288 | - <td class="label">dictionaries-common</td> |
2289 | - <td>Installed</td> |
2290 | - </tr> |
2291 | - <tr> |
2292 | - <td class="label">diffstat</td> |
2293 | - <td>Installed</td> |
2294 | - </tr> |
2295 | - <tr> |
2296 | - <td class="label">diffutils</td> |
2297 | - <td>Installed</td> |
2298 | - </tr> |
2299 | - <tr> |
2300 | - <td class="label">distro-info</td> |
2301 | - <td>Installed</td> |
2302 | - </tr> |
2303 | - <tr> |
2304 | - <td class="label">distro-info-data</td> |
2305 | - <td>Installed</td> |
2306 | - </tr> |
2307 | - <tr> |
2308 | - <td class="label">dkms</td> |
2309 | - <td>Installed</td> |
2310 | - </tr> |
2311 | - <tr> |
2312 | - <td class="label">dmidecode</td> |
2313 | - <td>Installed</td> |
2314 | - </tr> |
2315 | - <tr> |
2316 | - <td class="label">dmsetup</td> |
2317 | - <td>Installed</td> |
2318 | - </tr> |
2319 | - <tr> |
2320 | - <td class="label">dmz-cursor-theme</td> |
2321 | - <td>Installed</td> |
2322 | - </tr> |
2323 | - <tr> |
2324 | - <td class="label">dnsmasq-base</td> |
2325 | - <td>Installed</td> |
2326 | - </tr> |
2327 | - <tr> |
2328 | - <td class="label">dnsutils</td> |
2329 | - <td>Installed</td> |
2330 | - </tr> |
2331 | - <tr> |
2332 | - <td class="label">doc-base</td> |
2333 | - <td>Installed</td> |
2334 | - </tr> |
2335 | - <tr> |
2336 | - <td class="label">docbook-xml</td> |
2337 | - <td>Installed</td> |
2338 | - </tr> |
2339 | - <tr> |
2340 | - <td class="label">docbook-xsl</td> |
2341 | - <td>Installed</td> |
2342 | - </tr> |
2343 | - <tr> |
2344 | - <td class="label">doit</td> |
2345 | - <td>Installed</td> |
2346 | - </tr> |
2347 | - <tr> |
2348 | - <td class="label">dosfstools</td> |
2349 | - <td>Installed</td> |
2350 | - </tr> |
2351 | - <tr> |
2352 | - <td class="label">dpkg</td> |
2353 | - <td>Installed</td> |
2354 | - </tr> |
2355 | - <tr> |
2356 | - <td class="label">dpkg-dev</td> |
2357 | - <td>Installed</td> |
2358 | - </tr> |
2359 | - <tr> |
2360 | - <td class="label">dput</td> |
2361 | - <td>Installed</td> |
2362 | - </tr> |
2363 | - <tr> |
2364 | - <td class="label">drobo-utils</td> |
2365 | - <td>Installed</td> |
2366 | - </tr> |
2367 | - <tr> |
2368 | - <td class="label">duplicity</td> |
2369 | - <td>Installed</td> |
2370 | - </tr> |
2371 | - <tr> |
2372 | - <td class="label">dvd+rw-tools</td> |
2373 | - <td>Installed</td> |
2374 | - </tr> |
2375 | - <tr> |
2376 | - <td class="label">e2fslibs</td> |
2377 | - <td>Installed</td> |
2378 | - </tr> |
2379 | - <tr> |
2380 | - <td class="label">e2fsprogs</td> |
2381 | - <td>Installed</td> |
2382 | - </tr> |
2383 | - <tr> |
2384 | - <td class="label">ebtables</td> |
2385 | - <td>Installed</td> |
2386 | - </tr> |
2387 | - <tr> |
2388 | - <td class="label">ed</td> |
2389 | - <td>Installed</td> |
2390 | - </tr> |
2391 | - <tr> |
2392 | - <td class="label">eject</td> |
2393 | - <td>Installed</td> |
2394 | - </tr> |
2395 | - <tr> |
2396 | - <td class="label">empathy</td> |
2397 | - <td>Installed</td> |
2398 | - </tr> |
2399 | - <tr> |
2400 | - <td class="label">empathy-common</td> |
2401 | - <td>Installed</td> |
2402 | - </tr> |
2403 | - <tr> |
2404 | - <td class="label">enchant</td> |
2405 | - <td>Installed</td> |
2406 | - </tr> |
2407 | - <tr> |
2408 | - <td class="label">enigmail</td> |
2409 | - <td>Installed</td> |
2410 | - </tr> |
2411 | - <tr> |
2412 | - <td class="label">eog</td> |
2413 | - <td>Installed</td> |
2414 | - </tr> |
2415 | - <tr> |
2416 | - <td class="label">esound-common</td> |
2417 | - <td>Installed</td> |
2418 | - </tr> |
2419 | - <tr> |
2420 | - <td class="label">espeak</td> |
2421 | - <td>Installed</td> |
2422 | - </tr> |
2423 | - <tr> |
2424 | - <td class="label">espeak-data</td> |
2425 | - <td>Installed</td> |
2426 | - </tr> |
2427 | - <tr> |
2428 | - <td class="label">ethtool</td> |
2429 | - <td>Installed</td> |
2430 | - </tr> |
2431 | - <tr> |
2432 | - <td class="label">euca2ools</td> |
2433 | - <td>Installed</td> |
2434 | - </tr> |
2435 | - <tr> |
2436 | - <td class="label">evince</td> |
2437 | - <td>Installed</td> |
2438 | - </tr> |
2439 | - <tr> |
2440 | - <td class="label">evince-common</td> |
2441 | - <td>Installed</td> |
2442 | - </tr> |
2443 | - <tr> |
2444 | - <td class="label">evoluspencil</td> |
2445 | - <td>Installed</td> |
2446 | - </tr> |
2447 | - <tr> |
2448 | - <td class="label">evolution-data-server</td> |
2449 | - <td>Installed</td> |
2450 | - </tr> |
2451 | - <tr> |
2452 | - <td class="label">evolution-data-server-common</td> |
2453 | - <td>Installed</td> |
2454 | - </tr> |
2455 | - <tr> |
2456 | - <td class="label">example-content</td> |
2457 | - <td>Installed</td> |
2458 | - </tr> |
2459 | - <tr> |
2460 | - <td class="label">fabric</td> |
2461 | - <td>Installed</td> |
2462 | - </tr> |
2463 | - <tr> |
2464 | - <td class="label">fakeroot</td> |
2465 | - <td>Installed</td> |
2466 | - </tr> |
2467 | - <tr> |
2468 | - <td class="label">ffmpeg</td> |
2469 | - <td>Installed</td> |
2470 | - </tr> |
2471 | - <tr> |
2472 | - <td class="label">file</td> |
2473 | - <td>Installed</td> |
2474 | - </tr> |
2475 | - <tr> |
2476 | - <td class="label">file-roller</td> |
2477 | - <td>Installed</td> |
2478 | - </tr> |
2479 | - <tr> |
2480 | - <td class="label">findutils</td> |
2481 | - <td>Installed</td> |
2482 | - </tr> |
2483 | - <tr> |
2484 | - <td class="label">firefox</td> |
2485 | - <td>Installed</td> |
2486 | - </tr> |
2487 | - <tr> |
2488 | - <td class="label">firefox-globalmenu</td> |
2489 | - <td>Installed</td> |
2490 | - </tr> |
2491 | - <tr> |
2492 | - <td class="label">firefox-gnome-support</td> |
2493 | - <td>Installed</td> |
2494 | - </tr> |
2495 | - <tr> |
2496 | - <td class="label">firefox-launchpad-plugin</td> |
2497 | - <td>Installed</td> |
2498 | - </tr> |
2499 | - <tr> |
2500 | - <td class="label">firefox-locale-en</td> |
2501 | - <td>Installed</td> |
2502 | - </tr> |
2503 | - <tr> |
2504 | - <td class="label">flashplugin-installer</td> |
2505 | - <td>Installed</td> |
2506 | - </tr> |
2507 | - <tr> |
2508 | - <td class="label">flex</td> |
2509 | - <td>Installed</td> |
2510 | - </tr> |
2511 | - <tr> |
2512 | - <td class="label">folks-common</td> |
2513 | - <td>Installed</td> |
2514 | - </tr> |
2515 | - <tr> |
2516 | - <td class="label">fontconfig</td> |
2517 | - <td>Installed</td> |
2518 | - </tr> |
2519 | - <tr> |
2520 | - <td class="label">fontconfig-config</td> |
2521 | - <td>Installed</td> |
2522 | - </tr> |
2523 | - <tr> |
2524 | - <td class="label">fonts-kacst</td> |
2525 | - <td>Installed</td> |
2526 | - </tr> |
2527 | - <tr> |
2528 | - <td class="label">fonts-kacst-one</td> |
2529 | - <td>Installed</td> |
2530 | - </tr> |
2531 | - <tr> |
2532 | - <td class="label">fonts-khmeros-core</td> |
2533 | - <td>Installed</td> |
2534 | - </tr> |
2535 | - <tr> |
2536 | - <td class="label">fonts-lao</td> |
2537 | - <td>Installed</td> |
2538 | - </tr> |
2539 | - <tr> |
2540 | - <td class="label">fonts-liberation</td> |
2541 | - <td>Installed</td> |
2542 | - </tr> |
2543 | - <tr> |
2544 | - <td class="label">fonts-nanum</td> |
2545 | - <td>Installed</td> |
2546 | - </tr> |
2547 | - <tr> |
2548 | - <td class="label">fonts-opensymbol</td> |
2549 | - <td>Installed</td> |
2550 | - </tr> |
2551 | - <tr> |
2552 | - <td class="label">fonts-takao-pgothic</td> |
2553 | - <td>Installed</td> |
2554 | - </tr> |
2555 | - <tr> |
2556 | - <td class="label">fonts-thai-tlwg</td> |
2557 | - <td>Installed</td> |
2558 | - </tr> |
2559 | - <tr> |
2560 | - <td class="label">fonts-tlwg-garuda</td> |
2561 | - <td>Installed</td> |
2562 | - </tr> |
2563 | - <tr> |
2564 | - <td class="label">fonts-tlwg-kinnari</td> |
2565 | - <td>Installed</td> |
2566 | - </tr> |
2567 | - <tr> |
2568 | - <td class="label">fonts-tlwg-loma</td> |
2569 | - <td>Installed</td> |
2570 | - </tr> |
2571 | - <tr> |
2572 | - <td class="label">fonts-tlwg-mono</td> |
2573 | - <td>Installed</td> |
2574 | - </tr> |
2575 | - <tr> |
2576 | - <td class="label">fonts-tlwg-norasi</td> |
2577 | - <td>Installed</td> |
2578 | - </tr> |
2579 | - <tr> |
2580 | - <td class="label">fonts-tlwg-purisa</td> |
2581 | - <td>Installed</td> |
2582 | - </tr> |
2583 | - <tr> |
2584 | - <td class="label">fonts-tlwg-sawasdee</td> |
2585 | - <td>Installed</td> |
2586 | - </tr> |
2587 | - <tr> |
2588 | - <td class="label">fonts-tlwg-typewriter</td> |
2589 | - <td>Installed</td> |
2590 | - </tr> |
2591 | - <tr> |
2592 | - <td class="label">fonts-tlwg-typist</td> |
2593 | - <td>Installed</td> |
2594 | - </tr> |
2595 | - <tr> |
2596 | - <td class="label">fonts-tlwg-typo</td> |
2597 | - <td>Installed</td> |
2598 | - </tr> |
2599 | - <tr> |
2600 | - <td class="label">fonts-tlwg-umpush</td> |
2601 | - <td>Installed</td> |
2602 | - </tr> |
2603 | - <tr> |
2604 | - <td class="label">fonts-tlwg-waree</td> |
2605 | - <td>Installed</td> |
2606 | - </tr> |
2607 | - <tr> |
2608 | - <td class="label">foomatic-db-compressed-ppds</td> |
2609 | - <td>Installed</td> |
2610 | - </tr> |
2611 | - <tr> |
2612 | - <td class="label">foomatic-db-engine</td> |
2613 | - <td>Installed</td> |
2614 | - </tr> |
2615 | - <tr> |
2616 | - <td class="label">foomatic-filters</td> |
2617 | - <td>Installed</td> |
2618 | - </tr> |
2619 | - <tr> |
2620 | - <td class="label">freeglut3</td> |
2621 | - <td>Installed</td> |
2622 | - </tr> |
2623 | - <tr> |
2624 | - <td class="label">freeglut3-dev</td> |
2625 | - <td>Installed</td> |
2626 | - </tr> |
2627 | - <tr> |
2628 | - <td class="label">freepats</td> |
2629 | - <td>Installed</td> |
2630 | - </tr> |
2631 | - <tr> |
2632 | - <td class="label">friendly-recovery</td> |
2633 | - <td>Installed</td> |
2634 | - </tr> |
2635 | - <tr> |
2636 | - <td class="label">fswebcam</td> |
2637 | - <td>Installed</td> |
2638 | - </tr> |
2639 | - <tr> |
2640 | - <td class="label">ftp</td> |
2641 | - <td>Installed</td> |
2642 | - </tr> |
2643 | - <tr> |
2644 | - <td class="label">fuse</td> |
2645 | - <td>Installed</td> |
2646 | - </tr> |
2647 | - <tr> |
2648 | - <td class="label">fwts</td> |
2649 | - <td>Installed</td> |
2650 | - </tr> |
2651 | - <tr> |
2652 | - <td class="label">g++</td> |
2653 | - <td>Installed</td> |
2654 | - </tr> |
2655 | - <tr> |
2656 | - <td class="label">g++-4.6</td> |
2657 | - <td>Installed</td> |
2658 | - </tr> |
2659 | - <tr> |
2660 | - <td class="label">gawk</td> |
2661 | - <td>Installed</td> |
2662 | - </tr> |
2663 | - <tr> |
2664 | - <td class="label">gcalctool</td> |
2665 | - <td>Installed</td> |
2666 | - </tr> |
2667 | - <tr> |
2668 | - <td class="label">gcc</td> |
2669 | - <td>Installed</td> |
2670 | - </tr> |
2671 | - <tr> |
2672 | - <td class="label">gcc-4.6</td> |
2673 | - <td>Installed</td> |
2674 | - </tr> |
2675 | - <tr> |
2676 | - <td class="label">gcc-4.6-base</td> |
2677 | - <td>Installed</td> |
2678 | - </tr> |
2679 | - <tr> |
2680 | - <td class="label">gcc-4.6-base:i386</td> |
2681 | - <td>Installed</td> |
2682 | - </tr> |
2683 | - <tr> |
2684 | - <td class="label">gconf-defaults-service</td> |
2685 | - <td>Installed</td> |
2686 | - </tr> |
2687 | - <tr> |
2688 | - <td class="label">gconf-editor</td> |
2689 | - <td>Installed</td> |
2690 | - </tr> |
2691 | - <tr> |
2692 | - <td class="label">gconf-service</td> |
2693 | - <td>Installed</td> |
2694 | - </tr> |
2695 | - <tr> |
2696 | - <td class="label">gconf-service-backend</td> |
2697 | - <td>Installed</td> |
2698 | - </tr> |
2699 | - <tr> |
2700 | - <td class="label">gconf2</td> |
2701 | - <td>Installed</td> |
2702 | - </tr> |
2703 | - <tr> |
2704 | - <td class="label">gconf2-common</td> |
2705 | - <td>Installed</td> |
2706 | - </tr> |
2707 | - <tr> |
2708 | - <td class="label">gdb</td> |
2709 | - <td>Installed</td> |
2710 | - </tr> |
2711 | - <tr> |
2712 | - <td class="label">gdebi</td> |
2713 | - <td>Installed</td> |
2714 | - </tr> |
2715 | - <tr> |
2716 | - <td class="label">gdebi-core</td> |
2717 | - <td>Installed</td> |
2718 | - </tr> |
2719 | - <tr> |
2720 | - <td class="label">geany</td> |
2721 | - <td>Installed</td> |
2722 | - </tr> |
2723 | - <tr> |
2724 | - <td class="label">geany-common</td> |
2725 | - <td>Installed</td> |
2726 | - </tr> |
2727 | - <tr> |
2728 | - <td class="label">geany-plugin-treebrowser</td> |
2729 | - <td>Installed</td> |
2730 | - </tr> |
2731 | - <tr> |
2732 | - <td class="label">geany-plugins-common</td> |
2733 | - <td>Installed</td> |
2734 | - </tr> |
2735 | - <tr> |
2736 | - <td class="label">gedit</td> |
2737 | - <td>Installed</td> |
2738 | - </tr> |
2739 | - <tr> |
2740 | - <td class="label">gedit-common</td> |
2741 | - <td>Installed</td> |
2742 | - </tr> |
2743 | - <tr> |
2744 | - <td class="label">genisoimage</td> |
2745 | - <td>Installed</td> |
2746 | - </tr> |
2747 | - <tr> |
2748 | - <td class="label">geoclue</td> |
2749 | - <td>Installed</td> |
2750 | - </tr> |
2751 | - <tr> |
2752 | - <td class="label">geoclue-ubuntu-geoip</td> |
2753 | - <td>Installed</td> |
2754 | - </tr> |
2755 | - <tr> |
2756 | - <td class="label">geoip-database</td> |
2757 | - <td>Installed</td> |
2758 | - </tr> |
2759 | - <tr> |
2760 | - <td class="label">gettext</td> |
2761 | - <td>Installed</td> |
2762 | - </tr> |
2763 | - <tr> |
2764 | - <td class="label">gettext-base</td> |
2765 | - <td>Installed</td> |
2766 | - </tr> |
2767 | - <tr> |
2768 | - <td class="label">ghostscript</td> |
2769 | - <td>Installed</td> |
2770 | - </tr> |
2771 | - <tr> |
2772 | - <td class="label">ghostscript-cups</td> |
2773 | - <td>Installed</td> |
2774 | - </tr> |
2775 | - <tr> |
2776 | - <td class="label">ghostscript-x</td> |
2777 | - <td>Installed</td> |
2778 | - </tr> |
2779 | - <tr> |
2780 | - <td class="label">gimp</td> |
2781 | - <td>Installed</td> |
2782 | - </tr> |
2783 | - <tr> |
2784 | - <td class="label">gimp-data</td> |
2785 | - <td>Installed</td> |
2786 | - </tr> |
2787 | - <tr> |
2788 | - <td class="label">ginn</td> |
2789 | - <td>Installed</td> |
2790 | - </tr> |
2791 | - <tr> |
2792 | - <td class="label">gir1.2-accountsservice-1.0</td> |
2793 | - <td>Installed</td> |
2794 | - </tr> |
2795 | - <tr> |
2796 | - <td class="label">gir1.2-appindicator3-0.1</td> |
2797 | - <td>Installed</td> |
2798 | - </tr> |
2799 | - <tr> |
2800 | - <td class="label">gir1.2-atk-1.0</td> |
2801 | - <td>Installed</td> |
2802 | - </tr> |
2803 | - <tr> |
2804 | - <td class="label">gir1.2-atspi-2.0</td> |
2805 | - <td>Installed</td> |
2806 | - </tr> |
2807 | - <tr> |
2808 | - <td class="label">gir1.2-caribou-1.0</td> |
2809 | - <td>Installed</td> |
2810 | - </tr> |
2811 | - <tr> |
2812 | - <td class="label">gir1.2-clutter-1.0</td> |
2813 | - <td>Installed</td> |
2814 | - </tr> |
2815 | - <tr> |
2816 | - <td class="label">gir1.2-cogl-1.0</td> |
2817 | - <td>Installed</td> |
2818 | - </tr> |
2819 | - <tr> |
2820 | - <td class="label">gir1.2-coglpango-1.0</td> |
2821 | - <td>Installed</td> |
2822 | - </tr> |
2823 | - <tr> |
2824 | - <td class="label">gir1.2-dbusmenu-glib-0.4</td> |
2825 | - <td>Installed</td> |
2826 | - </tr> |
2827 | - <tr> |
2828 | - <td class="label">gir1.2-dbusmenu-gtk-0.4</td> |
2829 | - <td>Installed</td> |
2830 | - </tr> |
2831 | - <tr> |
2832 | - <td class="label">gir1.2-dee-1.0</td> |
2833 | - <td>Installed</td> |
2834 | - </tr> |
2835 | - <tr> |
2836 | - <td class="label">gir1.2-folks-0.6</td> |
2837 | - <td>Installed</td> |
2838 | - </tr> |
2839 | - <tr> |
2840 | - <td class="label">gir1.2-freedesktop</td> |
2841 | - <td>Installed</td> |
2842 | - </tr> |
2843 | - <tr> |
2844 | - <td class="label">gir1.2-gconf-2.0</td> |
2845 | - <td>Installed</td> |
2846 | - </tr> |
2847 | - <tr> |
2848 | - <td class="label">gir1.2-gdesktopenums-3.0</td> |
2849 | - <td>Installed</td> |
2850 | - </tr> |
2851 | - <tr> |
2852 | - <td class="label">gir1.2-gdkpixbuf-2.0</td> |
2853 | - <td>Installed</td> |
2854 | - </tr> |
2855 | - <tr> |
2856 | - <td class="label">gir1.2-gee-1.0</td> |
2857 | - <td>Installed</td> |
2858 | - </tr> |
2859 | - <tr> |
2860 | - <td class="label">gir1.2-gjsdbus-1.0</td> |
2861 | - <td>Installed</td> |
2862 | - </tr> |
2863 | - <tr> |
2864 | - <td class="label">gir1.2-gkbd-3.0</td> |
2865 | - <td>Installed</td> |
2866 | - </tr> |
2867 | - <tr> |
2868 | - <td class="label">gir1.2-glib-2.0</td> |
2869 | - <td>Installed</td> |
2870 | - </tr> |
2871 | - <tr> |
2872 | - <td class="label">gir1.2-gmenu-3.0</td> |
2873 | - <td>Installed</td> |
2874 | - </tr> |
2875 | - <tr> |
2876 | - <td class="label">gir1.2-gnomebluetooth-1.0</td> |
2877 | - <td>Installed</td> |
2878 | - </tr> |
2879 | - <tr> |
2880 | - <td class="label">gir1.2-gnomekeyring-1.0</td> |
2881 | - <td>Installed</td> |
2882 | - </tr> |
2883 | - <tr> |
2884 | - <td class="label">gir1.2-gst-plugins-base-0.10</td> |
2885 | - <td>Installed</td> |
2886 | - </tr> |
2887 | - <tr> |
2888 | - <td class="label">gir1.2-gstreamer-0.10</td> |
2889 | - <td>Installed</td> |
2890 | - </tr> |
2891 | - <tr> |
2892 | - <td class="label">gir1.2-gtk-2.0</td> |
2893 | - <td>Installed</td> |
2894 | - </tr> |
2895 | - <tr> |
2896 | - <td class="label">gir1.2-gtk-3.0</td> |
2897 | - <td>Installed</td> |
2898 | - </tr> |
2899 | - <tr> |
2900 | - <td class="label">gir1.2-gtksource-3.0</td> |
2901 | - <td>Installed</td> |
2902 | - </tr> |
2903 | - <tr> |
2904 | - <td class="label">gir1.2-gudev-1.0</td> |
2905 | - <td>Installed</td> |
2906 | - </tr> |
2907 | - <tr> |
2908 | - <td class="label">gir1.2-indicate-0.7</td> |
2909 | - <td>Installed</td> |
2910 | - </tr> |
2911 | - <tr> |
2912 | - <td class="label">gir1.2-javascriptcoregtk-1.0</td> |
2913 | - <td>Installed</td> |
2914 | - </tr> |
2915 | - <tr> |
2916 | - <td class="label">gir1.2-javascriptcoregtk-3.0</td> |
2917 | - <td>Installed</td> |
2918 | - </tr> |
2919 | - <tr> |
2920 | - <td class="label">gir1.2-json-1.0</td> |
2921 | - <td>Installed</td> |
2922 | - </tr> |
2923 | - <tr> |
2924 | - <td class="label">gir1.2-launchpad-integration-3.0</td> |
2925 | - <td>Installed</td> |
2926 | - </tr> |
2927 | - <tr> |
2928 | - <td class="label">gir1.2-mutter-3.0</td> |
2929 | - <td>Installed</td> |
2930 | - </tr> |
2931 | - <tr> |
2932 | - <td class="label">gir1.2-networkmanager-1.0</td> |
2933 | - <td>Installed</td> |
2934 | - </tr> |
2935 | - <tr> |
2936 | - <td class="label">gir1.2-notify-0.7</td> |
2937 | - <td>Installed</td> |
2938 | - </tr> |
2939 | - <tr> |
2940 | - <td class="label">gir1.2-panelapplet-4.0</td> |
2941 | - <td>Installed</td> |
2942 | - </tr> |
2943 | - <tr> |
2944 | - <td class="label">gir1.2-pango-1.0</td> |
2945 | - <td>Installed</td> |
2946 | - </tr> |
2947 | - <tr> |
2948 | - <td class="label">gir1.2-peas-1.0</td> |
2949 | - <td>Installed</td> |
2950 | - </tr> |
2951 | - <tr> |
2952 | - <td class="label">gir1.2-polkit-1.0</td> |
2953 | - <td>Installed</td> |
2954 | - </tr> |
2955 | - <tr> |
2956 | - <td class="label">gir1.2-rb-3.0</td> |
2957 | - <td>Installed</td> |
2958 | - </tr> |
2959 | - <tr> |
2960 | - <td class="label">gir1.2-soup-2.4</td> |
2961 | - <td>Installed</td> |
2962 | - </tr> |
2963 | - <tr> |
2964 | - <td class="label">gir1.2-telepathyglib-0.12</td> |
2965 | - <td>Installed</td> |
2966 | - </tr> |
2967 | - <tr> |
2968 | - <td class="label">gir1.2-telepathylogger-0.2</td> |
2969 | - <td>Installed</td> |
2970 | - </tr> |
2971 | - <tr> |
2972 | - <td class="label">gir1.2-totem-1.0</td> |
2973 | - <td>Installed</td> |
2974 | - </tr> |
2975 | - <tr> |
2976 | - <td class="label">gir1.2-totem-plparser-1.0</td> |
2977 | - <td>Installed</td> |
2978 | - </tr> |
2979 | - <tr> |
2980 | - <td class="label">gir1.2-ubuntuoneui-3.0</td> |
2981 | - <td>Installed</td> |
2982 | - </tr> |
2983 | - <tr> |
2984 | - <td class="label">gir1.2-unique-3.0</td> |
2985 | - <td>Installed</td> |
2986 | - </tr> |
2987 | - <tr> |
2988 | - <td class="label">gir1.2-unity-5.0</td> |
2989 | - <td>Installed</td> |
2990 | - </tr> |
2991 | - <tr> |
2992 | - <td class="label">gir1.2-upowerglib-1.0</td> |
2993 | - <td>Installed</td> |
2994 | - </tr> |
2995 | - <tr> |
2996 | - <td class="label">gir1.2-vte-2.90</td> |
2997 | - <td>Installed</td> |
2998 | - </tr> |
2999 | - <tr> |
3000 | - <td class="label">gir1.2-webkit-1.0</td> |
3001 | - <td>Installed</td> |
3002 | - </tr> |
3003 | - <tr> |
3004 | - <td class="label">gir1.2-webkit-3.0</td> |
3005 | - <td>Installed</td> |
3006 | - </tr> |
3007 | - <tr> |
3008 | - <td class="label">gir1.2-wnck-3.0</td> |
3009 | - <td>Installed</td> |
3010 | - </tr> |
3011 | - <tr> |
3012 | - <td class="label">gir1.2-xkl-1.0</td> |
3013 | - <td>Installed</td> |
3014 | - </tr> |
3015 | - <tr> |
3016 | - <td class="label">git</td> |
3017 | - <td>Installed</td> |
3018 | - </tr> |
3019 | - <tr> |
3020 | - <td class="label">git-core</td> |
3021 | - <td>Installed</td> |
3022 | - </tr> |
3023 | - <tr> |
3024 | - <td class="label">git-email</td> |
3025 | - <td>Installed</td> |
3026 | - </tr> |
3027 | - <tr> |
3028 | - <td class="label">git-gui</td> |
3029 | - <td>Installed</td> |
3030 | - </tr> |
3031 | - <tr> |
3032 | - <td class="label">git-man</td> |
3033 | - <td>Installed</td> |
3034 | - </tr> |
3035 | - <tr> |
3036 | - <td class="label">gitk</td> |
3037 | - <td>Installed</td> |
3038 | - </tr> |
3039 | - <tr> |
3040 | - <td class="label">gjs</td> |
3041 | - <td>Installed</td> |
3042 | - </tr> |
3043 | - <tr> |
3044 | - <td class="label">gksu</td> |
3045 | - <td>Installed</td> |
3046 | - </tr> |
3047 | - <tr> |
3048 | - <td class="label">glade</td> |
3049 | - <td>Installed</td> |
3050 | - </tr> |
3051 | - <tr> |
3052 | - <td class="label">glade-gtk2</td> |
3053 | - <td>Installed</td> |
3054 | - </tr> |
3055 | - <tr> |
3056 | - <td class="label">glib-networking</td> |
3057 | - <td>Installed</td> |
3058 | - </tr> |
3059 | - <tr> |
3060 | - <td class="label">glib-networking:i386</td> |
3061 | - <td>Installed</td> |
3062 | - </tr> |
3063 | - <tr> |
3064 | - <td class="label">glib-networking-common</td> |
3065 | - <td>Installed</td> |
3066 | - </tr> |
3067 | - <tr> |
3068 | - <td class="label">glib-networking-services</td> |
3069 | - <td>Installed</td> |
3070 | - </tr> |
3071 | - <tr> |
3072 | - <td class="label">glmark2</td> |
3073 | - <td>Installed</td> |
3074 | - </tr> |
3075 | - <tr> |
3076 | - <td class="label">glmark2-data</td> |
3077 | - <td>Installed</td> |
3078 | - </tr> |
3079 | - <tr> |
3080 | - <td class="label">glmark2-es2</td> |
3081 | - <td>Installed</td> |
3082 | - </tr> |
3083 | - <tr> |
3084 | - <td class="label">gnome-accessibility-themes</td> |
3085 | - <td>Installed</td> |
3086 | - </tr> |
3087 | - <tr> |
3088 | - <td class="label">gnome-applets</td> |
3089 | - <td>Installed</td> |
3090 | - </tr> |
3091 | - <tr> |
3092 | - <td class="label">gnome-applets-data</td> |
3093 | - <td>Installed</td> |
3094 | - </tr> |
3095 | - <tr> |
3096 | - <td class="label">gnome-bluetooth</td> |
3097 | - <td>Installed</td> |
3098 | - </tr> |
3099 | - <tr> |
3100 | - <td class="label">gnome-contacts</td> |
3101 | - <td>Installed</td> |
3102 | - </tr> |
3103 | - <tr> |
3104 | - <td class="label">gnome-control-center</td> |
3105 | - <td>Installed</td> |
3106 | - </tr> |
3107 | - <tr> |
3108 | - <td class="label">gnome-control-center-data</td> |
3109 | - <td>Installed</td> |
3110 | - </tr> |
3111 | - <tr> |
3112 | - <td class="label">gnome-desktop3-data</td> |
3113 | - <td>Installed</td> |
3114 | - </tr> |
3115 | - <tr> |
3116 | - <td class="label">gnome-disk-utility</td> |
3117 | - <td>Installed</td> |
3118 | - </tr> |
3119 | - <tr> |
3120 | - <td class="label">gnome-font-viewer</td> |
3121 | - <td>Installed</td> |
3122 | - </tr> |
3123 | - <tr> |
3124 | - <td class="label">gnome-games-data</td> |
3125 | - <td>Installed</td> |
3126 | - </tr> |
3127 | - <tr> |
3128 | - <td class="label">gnome-icon-theme</td> |
3129 | - <td>Installed</td> |
3130 | - </tr> |
3131 | - <tr> |
3132 | - <td class="label">gnome-icon-theme-full</td> |
3133 | - <td>Installed</td> |
3134 | - </tr> |
3135 | - <tr> |
3136 | - <td class="label">gnome-icon-theme-symbolic</td> |
3137 | - <td>Installed</td> |
3138 | - </tr> |
3139 | - <tr> |
3140 | - <td class="label">gnome-keyring</td> |
3141 | - <td>Installed</td> |
3142 | - </tr> |
3143 | - <tr> |
3144 | - <td class="label">gnome-media</td> |
3145 | - <td>Installed</td> |
3146 | - </tr> |
3147 | - <tr> |
3148 | - <td class="label">gnome-menus</td> |
3149 | - <td>Installed</td> |
3150 | - </tr> |
3151 | - <tr> |
3152 | - <td class="label">gnome-mplayer</td> |
3153 | - <td>Installed</td> |
3154 | - </tr> |
3155 | - <tr> |
3156 | - <td class="label">gnome-nettool</td> |
3157 | - <td>Installed</td> |
3158 | - </tr> |
3159 | - <tr> |
3160 | - <td class="label">gnome-online-accounts</td> |
3161 | - <td>Installed</td> |
3162 | - </tr> |
3163 | - <tr> |
3164 | - <td class="label">gnome-orca</td> |
3165 | - <td>Installed</td> |
3166 | - </tr> |
3167 | - <tr> |
3168 | - <td class="label">gnome-panel</td> |
3169 | - <td>Installed</td> |
3170 | - </tr> |
3171 | - <tr> |
3172 | - <td class="label">gnome-panel-data</td> |
3173 | - <td>Installed</td> |
3174 | - </tr> |
3175 | - <tr> |
3176 | - <td class="label">gnome-power-manager</td> |
3177 | - <td>Installed</td> |
3178 | - </tr> |
3179 | - <tr> |
3180 | - <td class="label">gnome-screensaver</td> |
3181 | - <td>Installed</td> |
3182 | - </tr> |
3183 | - <tr> |
3184 | - <td class="label">gnome-screenshot</td> |
3185 | - <td>Installed</td> |
3186 | - </tr> |
3187 | - <tr> |
3188 | - <td class="label">gnome-session</td> |
3189 | - <td>Installed</td> |
3190 | - </tr> |
3191 | - <tr> |
3192 | - <td class="label">gnome-session-bin</td> |
3193 | - <td>Installed</td> |
3194 | - </tr> |
3195 | - <tr> |
3196 | - <td class="label">gnome-session-canberra</td> |
3197 | - <td>Installed</td> |
3198 | - </tr> |
3199 | - <tr> |
3200 | - <td class="label">gnome-session-common</td> |
3201 | - <td>Installed</td> |
3202 | - </tr> |
3203 | - <tr> |
3204 | - <td class="label">gnome-session-fallback</td> |
3205 | - <td>Installed</td> |
3206 | - </tr> |
3207 | - <tr> |
3208 | - <td class="label">gnome-settings-daemon</td> |
3209 | - <td>Installed</td> |
3210 | - </tr> |
3211 | - <tr> |
3212 | - <td class="label">gnome-shell</td> |
3213 | - <td>Installed</td> |
3214 | - </tr> |
3215 | - <tr> |
3216 | - <td class="label">gnome-shell-common</td> |
3217 | - <td>Installed</td> |
3218 | - </tr> |
3219 | - <tr> |
3220 | - <td class="label">gnome-sudoku</td> |
3221 | - <td>Installed</td> |
3222 | - </tr> |
3223 | - <tr> |
3224 | - <td class="label">gnome-system-log</td> |
3225 | - <td>Installed</td> |
3226 | - </tr> |
3227 | - <tr> |
3228 | - <td class="label">gnome-system-monitor</td> |
3229 | - <td>Installed</td> |
3230 | - </tr> |
3231 | - <tr> |
3232 | - <td class="label">gnome-system-tools</td> |
3233 | - <td>Installed</td> |
3234 | - </tr> |
3235 | - <tr> |
3236 | - <td class="label">gnome-terminal</td> |
3237 | - <td>Installed</td> |
3238 | - </tr> |
3239 | - <tr> |
3240 | - <td class="label">gnome-terminal-data</td> |
3241 | - <td>Installed</td> |
3242 | - </tr> |
3243 | - <tr> |
3244 | - <td class="label">gnome-themes-standard</td> |
3245 | - <td>Installed</td> |
3246 | - </tr> |
3247 | - <tr> |
3248 | - <td class="label">gnome-tweak-tool</td> |
3249 | - <td>Installed</td> |
3250 | - </tr> |
3251 | - <tr> |
3252 | - <td class="label">gnome-user-guide</td> |
3253 | - <td>Installed</td> |
3254 | - </tr> |
3255 | - <tr> |
3256 | - <td class="label">gnome-user-share</td> |
3257 | - <td>Installed</td> |
3258 | - </tr> |
3259 | - <tr> |
3260 | - <td class="label">gnome-video-effects</td> |
3261 | - <td>Installed</td> |
3262 | - </tr> |
3263 | - <tr> |
3264 | - <td class="label">gnomine</td> |
3265 | - <td>Installed</td> |
3266 | - </tr> |
3267 | - <tr> |
3268 | - <td class="label">gnupg</td> |
3269 | - <td>Installed</td> |
3270 | - </tr> |
3271 | - <tr> |
3272 | - <td class="label">gnupg-agent</td> |
3273 | - <td>Installed</td> |
3274 | - </tr> |
3275 | - <tr> |
3276 | - <td class="label">google-talkplugin</td> |
3277 | - <td>Installed</td> |
3278 | - </tr> |
3279 | - <tr> |
3280 | - <td class="label">gpgv</td> |
3281 | - <td>Installed</td> |
3282 | - </tr> |
3283 | - <tr> |
3284 | - <td class="label">gpodder</td> |
3285 | - <td>Installed</td> |
3286 | - </tr> |
3287 | - <tr> |
3288 | - <td class="label">graphviz</td> |
3289 | - <td>Installed</td> |
3290 | - </tr> |
3291 | - <tr> |
3292 | - <td class="label">grep</td> |
3293 | - <td>Installed</td> |
3294 | - </tr> |
3295 | - <tr> |
3296 | - <td class="label">groff-base</td> |
3297 | - <td>Installed</td> |
3298 | - </tr> |
3299 | - <tr> |
3300 | - <td class="label">growisofs</td> |
3301 | - <td>Installed</td> |
3302 | - </tr> |
3303 | - <tr> |
3304 | - <td class="label">grub-common</td> |
3305 | - <td>Installed</td> |
3306 | - </tr> |
3307 | - <tr> |
3308 | - <td class="label">grub-gfxpayload-lists</td> |
3309 | - <td>Installed</td> |
3310 | - </tr> |
3311 | - <tr> |
3312 | - <td class="label">grub-pc</td> |
3313 | - <td>Installed</td> |
3314 | - </tr> |
3315 | - <tr> |
3316 | - <td class="label">grub-pc-bin</td> |
3317 | - <td>Installed</td> |
3318 | - </tr> |
3319 | - <tr> |
3320 | - <td class="label">grub2-common</td> |
3321 | - <td>Installed</td> |
3322 | - </tr> |
3323 | - <tr> |
3324 | - <td class="label">gs-cjk-resource</td> |
3325 | - <td>Installed</td> |
3326 | - </tr> |
3327 | - <tr> |
3328 | - <td class="label">gsettings-desktop-schemas</td> |
3329 | - <td>Installed</td> |
3330 | - </tr> |
3331 | - <tr> |
3332 | - <td class="label">gsfonts</td> |
3333 | - <td>Installed</td> |
3334 | - </tr> |
3335 | - <tr> |
3336 | - <td class="label">gsfonts-x11</td> |
3337 | - <td>Installed</td> |
3338 | - </tr> |
3339 | - <tr> |
3340 | - <td class="label">gstreamer-tools</td> |
3341 | - <td>Installed</td> |
3342 | - </tr> |
3343 | - <tr> |
3344 | - <td class="label">gstreamer0.10-alsa</td> |
3345 | - <td>Installed</td> |
3346 | - </tr> |
3347 | - <tr> |
3348 | - <td class="label">gstreamer0.10-ffmpeg</td> |
3349 | - <td>Installed</td> |
3350 | - </tr> |
3351 | - <tr> |
3352 | - <td class="label">gstreamer0.10-gconf</td> |
3353 | - <td>Installed</td> |
3354 | - </tr> |
3355 | - <tr> |
3356 | - <td class="label">gstreamer0.10-gnonlin</td> |
3357 | - <td>Installed</td> |
3358 | - </tr> |
3359 | - <tr> |
3360 | - <td class="label">gstreamer0.10-nice</td> |
3361 | - <td>Installed</td> |
3362 | - </tr> |
3363 | - <tr> |
3364 | - <td class="label">gstreamer0.10-plugins-bad</td> |
3365 | - <td>Installed</td> |
3366 | - </tr> |
3367 | - <tr> |
3368 | - <td class="label">gstreamer0.10-plugins-base</td> |
3369 | - <td>Installed</td> |
3370 | - </tr> |
3371 | - <tr> |
3372 | - <td class="label">gstreamer0.10-plugins-base:i386</td> |
3373 | - <td>Installed</td> |
3374 | - </tr> |
3375 | - <tr> |
3376 | - <td class="label">gstreamer0.10-plugins-base-apps</td> |
3377 | - <td>Installed</td> |
3378 | - </tr> |
3379 | - <tr> |
3380 | - <td class="label">gstreamer0.10-plugins-good</td> |
3381 | - <td>Installed</td> |
3382 | - </tr> |
3383 | - <tr> |
3384 | - <td class="label">gstreamer0.10-plugins-good:i386</td> |
3385 | - <td>Installed</td> |
3386 | - </tr> |
3387 | - <tr> |
3388 | - <td class="label">gstreamer0.10-plugins-ugly</td> |
3389 | - <td>Installed</td> |
3390 | - </tr> |
3391 | - <tr> |
3392 | - <td class="label">gstreamer0.10-pulseaudio</td> |
3393 | - <td>Installed</td> |
3394 | - </tr> |
3395 | - <tr> |
3396 | - <td class="label">gstreamer0.10-tools</td> |
3397 | - <td>Installed</td> |
3398 | - </tr> |
3399 | - <tr> |
3400 | - <td class="label">gstreamer0.10-x</td> |
3401 | - <td>Installed</td> |
3402 | - </tr> |
3403 | - <tr> |
3404 | - <td class="label">gstreamer0.10-x:i386</td> |
3405 | - <td>Installed</td> |
3406 | - </tr> |
3407 | - <tr> |
3408 | - <td class="label">gtk-recordmydesktop</td> |
3409 | - <td>Installed</td> |
3410 | - </tr> |
3411 | - <tr> |
3412 | - <td class="label">gtk2-engines</td> |
3413 | - <td>Installed</td> |
3414 | - </tr> |
3415 | - <tr> |
3416 | - <td class="label">gtk2-engines:i386</td> |
3417 | - <td>Installed</td> |
3418 | - </tr> |
3419 | - <tr> |
3420 | - <td class="label">gtk2-engines-murrine</td> |
3421 | - <td>Installed</td> |
3422 | - </tr> |
3423 | - <tr> |
3424 | - <td class="label">gtk2-engines-murrine:i386</td> |
3425 | - <td>Installed</td> |
3426 | - </tr> |
3427 | - <tr> |
3428 | - <td class="label">gtk2-engines-oxygen:i386</td> |
3429 | - <td>Installed</td> |
3430 | - </tr> |
3431 | - <tr> |
3432 | - <td class="label">gtk2-engines-pixbuf:i386</td> |
3433 | - <td>Installed</td> |
3434 | - </tr> |
3435 | - <tr> |
3436 | - <td class="label">gtk3-engines-unico</td> |
3437 | - <td>Installed</td> |
3438 | - </tr> |
3439 | - <tr> |
3440 | - <td class="label">gtkperf</td> |
3441 | - <td>Installed</td> |
3442 | - </tr> |
3443 | - <tr> |
3444 | - <td class="label">gucharmap</td> |
3445 | - <td>Installed</td> |
3446 | - </tr> |
3447 | - <tr> |
3448 | - <td class="label">guile-1.8-libs</td> |
3449 | - <td>Installed</td> |
3450 | - </tr> |
3451 | - <tr> |
3452 | - <td class="label">gvfs</td> |
3453 | - <td>Installed</td> |
3454 | - </tr> |
3455 | - <tr> |
3456 | - <td class="label">gvfs:i386</td> |
3457 | - <td>Installed</td> |
3458 | - </tr> |
3459 | - <tr> |
3460 | - <td class="label">gvfs-backends</td> |
3461 | - <td>Installed</td> |
3462 | - </tr> |
3463 | - <tr> |
3464 | - <td class="label">gvfs-bin</td> |
3465 | - <td>Installed</td> |
3466 | - </tr> |
3467 | - <tr> |
3468 | - <td class="label">gvfs-common</td> |
3469 | - <td>Installed</td> |
3470 | - </tr> |
3471 | - <tr> |
3472 | - <td class="label">gvfs-daemons</td> |
3473 | - <td>Installed</td> |
3474 | - </tr> |
3475 | - <tr> |
3476 | - <td class="label">gvfs-fuse</td> |
3477 | - <td>Installed</td> |
3478 | - </tr> |
3479 | - <tr> |
3480 | - <td class="label">gvfs-libs</td> |
3481 | - <td>Installed</td> |
3482 | - </tr> |
3483 | - <tr> |
3484 | - <td class="label">gvfs-libs:i386</td> |
3485 | - <td>Installed</td> |
3486 | - </tr> |
3487 | - <tr> |
3488 | - <td class="label">gwibber</td> |
3489 | - <td>Installed</td> |
3490 | - </tr> |
3491 | - <tr> |
3492 | - <td class="label">gwibber-service</td> |
3493 | - <td>Installed</td> |
3494 | - </tr> |
3495 | - <tr> |
3496 | - <td class="label">gwibber-service-facebook</td> |
3497 | - <td>Installed</td> |
3498 | - </tr> |
3499 | - <tr> |
3500 | - <td class="label">gwibber-service-identica</td> |
3501 | - <td>Installed</td> |
3502 | - </tr> |
3503 | - <tr> |
3504 | - <td class="label">gwibber-service-twitter</td> |
3505 | - <td>Installed</td> |
3506 | - </tr> |
3507 | - <tr> |
3508 | - <td class="label">gzip</td> |
3509 | - <td>Installed</td> |
3510 | - </tr> |
3511 | - <tr> |
3512 | - <td class="label">handbrake-gtk</td> |
3513 | - <td>Installed</td> |
3514 | - </tr> |
3515 | - <tr> |
3516 | - <td class="label">hddtemp</td> |
3517 | - <td>Installed</td> |
3518 | - </tr> |
3519 | - <tr> |
3520 | - <td class="label">hdparm</td> |
3521 | - <td>Installed</td> |
3522 | - </tr> |
3523 | - <tr> |
3524 | - <td class="label">heirloom-mailx</td> |
3525 | - <td>Installed</td> |
3526 | - </tr> |
3527 | - <tr> |
3528 | - <td class="label">help2man</td> |
3529 | - <td>Installed</td> |
3530 | - </tr> |
3531 | - <tr> |
3532 | - <td class="label">hexedit</td> |
3533 | - <td>Installed</td> |
3534 | - </tr> |
3535 | - <tr> |
3536 | - <td class="label">hicolor-icon-theme</td> |
3537 | - <td>Installed</td> |
3538 | - </tr> |
3539 | - <tr> |
3540 | - <td class="label">hostname</td> |
3541 | - <td>Installed</td> |
3542 | - </tr> |
3543 | - <tr> |
3544 | - <td class="label">hplip</td> |
3545 | - <td>Installed</td> |
3546 | - </tr> |
3547 | - <tr> |
3548 | - <td class="label">hplip-data</td> |
3549 | - <td>Installed</td> |
3550 | - </tr> |
3551 | - <tr> |
3552 | - <td class="label">html2text</td> |
3553 | - <td>Installed</td> |
3554 | - </tr> |
3555 | - <tr> |
3556 | - <td class="label">htop</td> |
3557 | - <td>Installed</td> |
3558 | - </tr> |
3559 | - <tr> |
3560 | - <td class="label">humanity-icon-theme</td> |
3561 | - <td>Installed</td> |
3562 | - </tr> |
3563 | - <tr> |
3564 | - <td class="label">hunspell-en-us</td> |
3565 | - <td>Installed</td> |
3566 | - </tr> |
3567 | - <tr> |
3568 | - <td class="label">hwdata</td> |
3569 | - <td>Installed</td> |
3570 | - </tr> |
3571 | - <tr> |
3572 | - <td class="label">hyphen-en-us</td> |
3573 | - <td>Installed</td> |
3574 | - </tr> |
3575 | - <tr> |
3576 | - <td class="label">ia32-libs</td> |
3577 | - <td>Installed</td> |
3578 | - </tr> |
3579 | - <tr> |
3580 | - <td class="label">ia32-libs-multiarch:i386</td> |
3581 | - <td>Installed</td> |
3582 | - </tr> |
3583 | - <tr> |
3584 | - <td class="label">ibus</td> |
3585 | - <td>Installed</td> |
3586 | - </tr> |
3587 | - <tr> |
3588 | - <td class="label">ibus-gtk</td> |
3589 | - <td>Installed</td> |
3590 | - </tr> |
3591 | - <tr> |
3592 | - <td class="label">ibus-gtk:i386</td> |
3593 | - <td>Installed</td> |
3594 | - </tr> |
3595 | - <tr> |
3596 | - <td class="label">ibus-gtk3</td> |
3597 | - <td>Installed</td> |
3598 | - </tr> |
3599 | - <tr> |
3600 | - <td class="label">ibus-pinyin</td> |
3601 | - <td>Installed</td> |
3602 | - </tr> |
3603 | - <tr> |
3604 | - <td class="label">ibus-pinyin-db-android</td> |
3605 | - <td>Installed</td> |
3606 | - </tr> |
3607 | - <tr> |
3608 | - <td class="label">ibus-table</td> |
3609 | - <td>Installed</td> |
3610 | - </tr> |
3611 | - <tr> |
3612 | - <td class="label">icecream</td> |
3613 | - <td>Installed</td> |
3614 | - </tr> |
3615 | - <tr> |
3616 | - <td class="label">icedtea-7-jre-jamvm</td> |
3617 | - <td>Installed</td> |
3618 | - </tr> |
3619 | - <tr> |
3620 | - <td class="label">icedtea-7-plugin</td> |
3621 | - <td>Installed</td> |
3622 | - </tr> |
3623 | - <tr> |
3624 | - <td class="label">icedtea-netx</td> |
3625 | - <td>Installed</td> |
3626 | - </tr> |
3627 | - <tr> |
3628 | - <td class="label">icedtea-netx-common</td> |
3629 | - <td>Installed</td> |
3630 | - </tr> |
3631 | - <tr> |
3632 | - <td class="label">ifupdown</td> |
3633 | - <td>Installed</td> |
3634 | - </tr> |
3635 | - <tr> |
3636 | - <td class="label">im-switch</td> |
3637 | - <td>Installed</td> |
3638 | - </tr> |
3639 | - <tr> |
3640 | - <td class="label">imagemagick</td> |
3641 | - <td>Installed</td> |
3642 | - </tr> |
3643 | - <tr> |
3644 | - <td class="label">imagemagick-common</td> |
3645 | - <td>Installed</td> |
3646 | - </tr> |
3647 | - <tr> |
3648 | - <td class="label">indent</td> |
3649 | - <td>Installed</td> |
3650 | - </tr> |
3651 | - <tr> |
3652 | - <td class="label">indicator-applet-complete</td> |
3653 | - <td>Installed</td> |
3654 | - </tr> |
3655 | - <tr> |
3656 | - <td class="label">indicator-application</td> |
3657 | - <td>Installed</td> |
3658 | - </tr> |
3659 | - <tr> |
3660 | - <td class="label">indicator-appmenu</td> |
3661 | - <td>Installed</td> |
3662 | - </tr> |
3663 | - <tr> |
3664 | - <td class="label">indicator-datetime</td> |
3665 | - <td>Installed</td> |
3666 | - </tr> |
3667 | - <tr> |
3668 | - <td class="label">indicator-messages</td> |
3669 | - <td>Installed</td> |
3670 | - </tr> |
3671 | - <tr> |
3672 | - <td class="label">indicator-power</td> |
3673 | - <td>Installed</td> |
3674 | - </tr> |
3675 | - <tr> |
3676 | - <td class="label">indicator-printers</td> |
3677 | - <td>Installed</td> |
3678 | - </tr> |
3679 | - <tr> |
3680 | - <td class="label">indicator-session</td> |
3681 | - <td>Installed</td> |
3682 | - </tr> |
3683 | - <tr> |
3684 | - <td class="label">indicator-sound</td> |
3685 | - <td>Installed</td> |
3686 | - </tr> |
3687 | - <tr> |
3688 | - <td class="label">indicator-status-provider-mc5</td> |
3689 | - <td>Installed</td> |
3690 | - </tr> |
3691 | - <tr> |
3692 | - <td class="label">indicator-status-provider-pidgin</td> |
3693 | - <td>Installed</td> |
3694 | - </tr> |
3695 | - <tr> |
3696 | - <td class="label">indicator-weather</td> |
3697 | - <td>Installed</td> |
3698 | - </tr> |
3699 | - <tr> |
3700 | - <td class="label">info</td> |
3701 | - <td>Installed</td> |
3702 | - </tr> |
3703 | - <tr> |
3704 | - <td class="label">initramfs-tools</td> |
3705 | - <td>Installed</td> |
3706 | - </tr> |
3707 | - <tr> |
3708 | - <td class="label">initramfs-tools-bin</td> |
3709 | - <td>Installed</td> |
3710 | - </tr> |
3711 | - <tr> |
3712 | - <td class="label">initscripts</td> |
3713 | - <td>Installed</td> |
3714 | - </tr> |
3715 | - <tr> |
3716 | - <td class="label">inkscape</td> |
3717 | - <td>Installed</td> |
3718 | - </tr> |
3719 | - <tr> |
3720 | - <td class="label">input-utils</td> |
3721 | - <td>Installed</td> |
3722 | - </tr> |
3723 | - <tr> |
3724 | - <td class="label">inputattach</td> |
3725 | - <td>Installed</td> |
3726 | - </tr> |
3727 | - <tr> |
3728 | - <td class="label">insserv</td> |
3729 | - <td>Installed</td> |
3730 | - </tr> |
3731 | - <tr> |
3732 | - <td class="label">install-info</td> |
3733 | - <td>Installed</td> |
3734 | - </tr> |
3735 | - <tr> |
3736 | - <td class="label">intel-gpu-tools</td> |
3737 | - <td>Installed</td> |
3738 | - </tr> |
3739 | - <tr> |
3740 | - <td class="label">intltool</td> |
3741 | - <td>Installed</td> |
3742 | - </tr> |
3743 | - <tr> |
3744 | - <td class="label">intltool-debian</td> |
3745 | - <td>Installed</td> |
3746 | - </tr> |
3747 | - <tr> |
3748 | - <td class="label">iozone3</td> |
3749 | - <td>Installed</td> |
3750 | - </tr> |
3751 | - <tr> |
3752 | - <td class="label">iperf</td> |
3753 | - <td>Installed</td> |
3754 | - </tr> |
3755 | - <tr> |
3756 | - <td class="label">iproute</td> |
3757 | - <td>Installed</td> |
3758 | - </tr> |
3759 | - <tr> |
3760 | - <td class="label">iptables</td> |
3761 | - <td>Installed</td> |
3762 | - </tr> |
3763 | - <tr> |
3764 | - <td class="label">iputils-arping</td> |
3765 | - <td>Installed</td> |
3766 | - </tr> |
3767 | - <tr> |
3768 | - <td class="label">iputils-ping</td> |
3769 | - <td>Installed</td> |
3770 | - </tr> |
3771 | - <tr> |
3772 | - <td class="label">iputils-tracepath</td> |
3773 | - <td>Installed</td> |
3774 | - </tr> |
3775 | - <tr> |
3776 | - <td class="label">ipython</td> |
3777 | - <td>Installed</td> |
3778 | - </tr> |
3779 | - <tr> |
3780 | - <td class="label">irqbalance</td> |
3781 | - <td>Installed</td> |
3782 | - </tr> |
3783 | - <tr> |
3784 | - <td class="label">isc-dhcp-client</td> |
3785 | - <td>Installed</td> |
3786 | - </tr> |
3787 | - <tr> |
3788 | - <td class="label">isc-dhcp-common</td> |
3789 | - <td>Installed</td> |
3790 | - </tr> |
3791 | - <tr> |
3792 | - <td class="label">iso-codes</td> |
3793 | - <td>Installed</td> |
3794 | - </tr> |
3795 | - <tr> |
3796 | - <td class="label">iw</td> |
3797 | - <td>Installed</td> |
3798 | - </tr> |
3799 | - <tr> |
3800 | - <td class="label">java-common</td> |
3801 | - <td>Installed</td> |
3802 | - </tr> |
3803 | - <tr> |
3804 | - <td class="label">jockey-common</td> |
3805 | - <td>Installed</td> |
3806 | - </tr> |
3807 | - <tr> |
3808 | - <td class="label">jockey-gtk</td> |
3809 | - <td>Installed</td> |
3810 | - </tr> |
3811 | - <tr> |
3812 | - <td class="label">jpegpixi</td> |
3813 | - <td>Installed</td> |
3814 | - </tr> |
3815 | - <tr> |
3816 | - <td class="label">juju</td> |
3817 | - <td>Installed</td> |
3818 | - </tr> |
3819 | - <tr> |
3820 | - <td class="label">kbd</td> |
3821 | - <td>Installed</td> |
3822 | - </tr> |
3823 | - <tr> |
3824 | - <td class="label">kerneloops-daemon</td> |
3825 | - <td>Installed</td> |
3826 | - </tr> |
3827 | - <tr> |
3828 | - <td class="label">keyboard-configuration</td> |
3829 | - <td>Installed</td> |
3830 | - </tr> |
3831 | - <tr> |
3832 | - <td class="label">klibc-utils</td> |
3833 | - <td>Installed</td> |
3834 | - </tr> |
3835 | - <tr> |
3836 | - <td class="label">krb5-locales</td> |
3837 | - <td>Installed</td> |
3838 | - </tr> |
3839 | - <tr> |
3840 | - <td class="label">kvm-ipxe</td> |
3841 | - <td>Installed</td> |
3842 | - </tr> |
3843 | - <tr> |
3844 | - <td class="label">landscape-client-ui-install</td> |
3845 | - <td>Installed</td> |
3846 | - </tr> |
3847 | - <tr> |
3848 | - <td class="label">language-pack-en</td> |
3849 | - <td>Installed</td> |
3850 | - </tr> |
3851 | - <tr> |
3852 | - <td class="label">language-pack-en-base</td> |
3853 | - <td>Installed</td> |
3854 | - </tr> |
3855 | - <tr> |
3856 | - <td class="label">language-pack-gnome-en</td> |
3857 | - <td>Installed</td> |
3858 | - </tr> |
3859 | - <tr> |
3860 | - <td class="label">language-pack-gnome-en-base</td> |
3861 | - <td>Installed</td> |
3862 | - </tr> |
3863 | - <tr> |
3864 | - <td class="label">language-selector-common</td> |
3865 | - <td>Installed</td> |
3866 | - </tr> |
3867 | - <tr> |
3868 | - <td class="label">language-selector-gnome</td> |
3869 | - <td>Installed</td> |
3870 | - </tr> |
3871 | - <tr> |
3872 | - <td class="label">laptop-detect</td> |
3873 | - <td>Installed</td> |
3874 | - </tr> |
3875 | - <tr> |
3876 | - <td class="label">launchpad-integration</td> |
3877 | - <td>Installed</td> |
3878 | - </tr> |
3879 | - <tr> |
3880 | - <td class="label">ldtp</td> |
3881 | - <td>Installed</td> |
3882 | - </tr> |
3883 | - <tr> |
3884 | - <td class="label">less</td> |
3885 | - <td>Installed</td> |
3886 | - </tr> |
3887 | - <tr> |
3888 | - <td class="label">lesstif2</td> |
3889 | - <td>Installed</td> |
3890 | - </tr> |
3891 | - <tr> |
3892 | - <td class="label">liba52-0.7.4</td> |
3893 | - <td>Installed</td> |
3894 | - </tr> |
3895 | - <tr> |
3896 | - <td class="label">libaa1</td> |
3897 | - <td>Installed</td> |
3898 | - </tr> |
3899 | - <tr> |
3900 | - <td class="label">libaa1:i386</td> |
3901 | - <td>Installed</td> |
3902 | - </tr> |
3903 | - <tr> |
3904 | - <td class="label">libaacs0</td> |
3905 | - <td>Installed</td> |
3906 | - </tr> |
3907 | - <tr> |
3908 | - <td class="label">libaccountsservice0</td> |
3909 | - <td>Installed</td> |
3910 | - </tr> |
3911 | - <tr> |
3912 | - <td class="label">libacl1</td> |
3913 | - <td>Installed</td> |
3914 | - </tr> |
3915 | - <tr> |
3916 | - <td class="label">libacl1:i386</td> |
3917 | - <td>Installed</td> |
3918 | - </tr> |
3919 | - <tr> |
3920 | - <td class="label">libaio1</td> |
3921 | - <td>Installed</td> |
3922 | - </tr> |
3923 | - <tr> |
3924 | - <td class="label">libaio1:i386</td> |
3925 | - <td>Installed</td> |
3926 | - </tr> |
3927 | - <tr> |
3928 | - <td class="label">libalgorithm-diff-perl</td> |
3929 | - <td>Installed</td> |
3930 | - </tr> |
3931 | - <tr> |
3932 | - <td class="label">libalgorithm-diff-xs-perl</td> |
3933 | - <td>Installed</td> |
3934 | - </tr> |
3935 | - <tr> |
3936 | - <td class="label">libalgorithm-merge-perl</td> |
3937 | - <td>Installed</td> |
3938 | - </tr> |
3939 | - <tr> |
3940 | - <td class="label">libamd2.2.0</td> |
3941 | - <td>Installed</td> |
3942 | - </tr> |
3943 | - <tr> |
3944 | - <td class="label">libao-common</td> |
3945 | - <td>Installed</td> |
3946 | - </tr> |
3947 | - <tr> |
3948 | - <td class="label">libao4:i386</td> |
3949 | - <td>Installed</td> |
3950 | - </tr> |
3951 | - <tr> |
3952 | - <td class="label">libapparmor1</td> |
3953 | - <td>Installed</td> |
3954 | - </tr> |
3955 | - <tr> |
3956 | - <td class="label">libappindicator1</td> |
3957 | - <td>Installed</td> |
3958 | - </tr> |
3959 | - <tr> |
3960 | - <td class="label">libappindicator3-1</td> |
3961 | - <td>Installed</td> |
3962 | - </tr> |
3963 | - <tr> |
3964 | - <td class="label">libapt-inst1.4</td> |
3965 | - <td>Installed</td> |
3966 | - </tr> |
3967 | - <tr> |
3968 | - <td class="label">libapt-pkg-perl</td> |
3969 | - <td>Installed</td> |
3970 | - </tr> |
3971 | - <tr> |
3972 | - <td class="label">libapt-pkg4.12</td> |
3973 | - <td>Installed</td> |
3974 | - </tr> |
3975 | - <tr> |
3976 | - <td class="label">libarchive12</td> |
3977 | - <td>Installed</td> |
3978 | - </tr> |
3979 | - <tr> |
3980 | - <td class="label">libart-2.0-2</td> |
3981 | - <td>Installed</td> |
3982 | - </tr> |
3983 | - <tr> |
3984 | - <td class="label">libasn1-8-heimdal</td> |
3985 | - <td>Installed</td> |
3986 | - </tr> |
3987 | - <tr> |
3988 | - <td class="label">libasn1-8-heimdal:i386</td> |
3989 | - <td>Installed</td> |
3990 | - </tr> |
3991 | - <tr> |
3992 | - <td class="label">libasound2</td> |
3993 | - <td>Installed</td> |
3994 | - </tr> |
3995 | - <tr> |
3996 | - <td class="label">libasound2:i386</td> |
3997 | - <td>Installed</td> |
3998 | - </tr> |
3999 | - <tr> |
4000 | - <td class="label">libasound2-plugins</td> |
4001 | - <td>Installed</td> |
4002 | - </tr> |
4003 | - <tr> |
4004 | - <td class="label">libasound2-plugins:i386</td> |
4005 | - <td>Installed</td> |
4006 | - </tr> |
4007 | - <tr> |
4008 | - <td class="label">libaspell15</td> |
4009 | - <td>Installed</td> |
4010 | - </tr> |
4011 | - <tr> |
4012 | - <td class="label">libass4</td> |
4013 | - <td>Installed</td> |
4014 | - </tr> |
4015 | - <tr> |
4016 | - <td class="label">libassuan0</td> |
4017 | - <td>Installed</td> |
4018 | - </tr> |
4019 | - <tr> |
4020 | - <td class="label">libasyncns0</td> |
4021 | - <td>Installed</td> |
4022 | - </tr> |
4023 | - <tr> |
4024 | - <td class="label">libasyncns0:i386</td> |
4025 | - <td>Installed</td> |
4026 | - </tr> |
4027 | - <tr> |
4028 | - <td class="label">libatasmart4</td> |
4029 | - <td>Installed</td> |
4030 | - </tr> |
4031 | - <tr> |
4032 | - <td class="label">libatk-adaptor</td> |
4033 | - <td>Installed</td> |
4034 | - </tr> |
4035 | - <tr> |
4036 | - <td class="label">libatk-adaptor-schemas</td> |
4037 | - <td>Installed</td> |
4038 | - </tr> |
4039 | - <tr> |
4040 | - <td class="label">libatk-wrapper-java</td> |
4041 | - <td>Installed</td> |
4042 | - </tr> |
4043 | - <tr> |
4044 | - <td class="label">libatk-wrapper-java-jni</td> |
4045 | - <td>Installed</td> |
4046 | - </tr> |
4047 | - <tr> |
4048 | - <td class="label">libatk1.0-0</td> |
4049 | - <td>Installed</td> |
4050 | - </tr> |
4051 | - <tr> |
4052 | - <td class="label">libatk1.0-0:i386</td> |
4053 | - <td>Installed</td> |
4054 | - </tr> |
4055 | - <tr> |
4056 | - <td class="label">libatk1.0-data</td> |
4057 | - <td>Installed</td> |
4058 | - </tr> |
4059 | - <tr> |
4060 | - <td class="label">libatk1.0-dev</td> |
4061 | - <td>Installed</td> |
4062 | - </tr> |
4063 | - <tr> |
4064 | - <td class="label">libatk1.0-doc</td> |
4065 | - <td>Installed</td> |
4066 | - </tr> |
4067 | - <tr> |
4068 | - <td class="label">libatkmm-1.6-1</td> |
4069 | - <td>Installed</td> |
4070 | - </tr> |
4071 | - <tr> |
4072 | - <td class="label">libatspi2.0-0</td> |
4073 | - <td>Installed</td> |
4074 | - </tr> |
4075 | - <tr> |
4076 | - <td class="label">libattr1</td> |
4077 | - <td>Installed</td> |
4078 | - </tr> |
4079 | - <tr> |
4080 | - <td class="label">libattr1:i386</td> |
4081 | - <td>Installed</td> |
4082 | - </tr> |
4083 | - <tr> |
4084 | - <td class="label">libaudio2</td> |
4085 | - <td>Installed</td> |
4086 | - </tr> |
4087 | - <tr> |
4088 | - <td class="label">libaudio2:i386</td> |
4089 | - <td>Installed</td> |
4090 | - </tr> |
4091 | - <tr> |
4092 | - <td class="label">libaudiofile1</td> |
4093 | - <td>Installed</td> |
4094 | - </tr> |
4095 | - <tr> |
4096 | - <td class="label">libaudiofile1:i386</td> |
4097 | - <td>Installed</td> |
4098 | - </tr> |
4099 | - <tr> |
4100 | - <td class="label">libauthen-sasl-perl</td> |
4101 | - <td>Installed</td> |
4102 | - </tr> |
4103 | - <tr> |
4104 | - <td class="label">libav-tools</td> |
4105 | - <td>Installed</td> |
4106 | - </tr> |
4107 | - <tr> |
4108 | - <td class="label">libavahi-client3</td> |
4109 | - <td>Installed</td> |
4110 | - </tr> |
4111 | - <tr> |
4112 | - <td class="label">libavahi-client3:i386</td> |
4113 | - <td>Installed</td> |
4114 | - </tr> |
4115 | - <tr> |
4116 | - <td class="label">libavahi-common-data</td> |
4117 | - <td>Installed</td> |
4118 | - </tr> |
4119 | - <tr> |
4120 | - <td class="label">libavahi-common-data:i386</td> |
4121 | - <td>Installed</td> |
4122 | - </tr> |
4123 | - <tr> |
4124 | - <td class="label">libavahi-common3</td> |
4125 | - <td>Installed</td> |
4126 | - </tr> |
4127 | - <tr> |
4128 | - <td class="label">libavahi-common3:i386</td> |
4129 | - <td>Installed</td> |
4130 | - </tr> |
4131 | - <tr> |
4132 | - <td class="label">libavahi-core7</td> |
4133 | - <td>Installed</td> |
4134 | - </tr> |
4135 | - <tr> |
4136 | - <td class="label">libavahi-glib1</td> |
4137 | - <td>Installed</td> |
4138 | - </tr> |
4139 | - <tr> |
4140 | - <td class="label">libavahi-gobject0</td> |
4141 | - <td>Installed</td> |
4142 | - </tr> |
4143 | - <tr> |
4144 | - <td class="label">libavahi-ui-gtk3-0</td> |
4145 | - <td>Installed</td> |
4146 | - </tr> |
4147 | - <tr> |
4148 | - <td class="label">libavc1394-0</td> |
4149 | - <td>Installed</td> |
4150 | - </tr> |
4151 | - <tr> |
4152 | - <td class="label">libavc1394-0:i386</td> |
4153 | - <td>Installed</td> |
4154 | - </tr> |
4155 | - <tr> |
4156 | - <td class="label">libavcodec53</td> |
4157 | - <td>Installed</td> |
4158 | - </tr> |
4159 | - <tr> |
4160 | - <td class="label">libavdevice53</td> |
4161 | - <td>Installed</td> |
4162 | - </tr> |
4163 | - <tr> |
4164 | - <td class="label">libavfilter2</td> |
4165 | - <td>Installed</td> |
4166 | - </tr> |
4167 | - <tr> |
4168 | - <td class="label">libavformat53</td> |
4169 | - <td>Installed</td> |
4170 | - </tr> |
4171 | - <tr> |
4172 | - <td class="label">libavutil51</td> |
4173 | - <td>Installed</td> |
4174 | - </tr> |
4175 | - <tr> |
4176 | - <td class="label">libbabl-0.0-0</td> |
4177 | - <td>Installed</td> |
4178 | - </tr> |
4179 | - <tr> |
4180 | - <td class="label">libbamf0</td> |
4181 | - <td>Installed</td> |
4182 | - </tr> |
4183 | - <tr> |
4184 | - <td class="label">libbamf3-0</td> |
4185 | - <td>Installed</td> |
4186 | - </tr> |
4187 | - <tr> |
4188 | - <td class="label">libbfb0</td> |
4189 | - <td>Installed</td> |
4190 | - </tr> |
4191 | - <tr> |
4192 | - <td class="label">libbind9-80</td> |
4193 | - <td>Installed</td> |
4194 | - </tr> |
4195 | - <tr> |
4196 | - <td class="label">libbit-vector-perl</td> |
4197 | - <td>Installed</td> |
4198 | - </tr> |
4199 | - <tr> |
4200 | - <td class="label">libblas3gf</td> |
4201 | - <td>Installed</td> |
4202 | - </tr> |
4203 | - <tr> |
4204 | - <td class="label">libblkid1</td> |
4205 | - <td>Installed</td> |
4206 | - </tr> |
4207 | - <tr> |
4208 | - <td class="label">libbluetooth3</td> |
4209 | - <td>Installed</td> |
4210 | - </tr> |
4211 | - <tr> |
4212 | - <td class="label">libbluray1</td> |
4213 | - <td>Installed</td> |
4214 | - </tr> |
4215 | - <tr> |
4216 | - <td class="label">libbonobo2-0</td> |
4217 | - <td>Installed</td> |
4218 | - </tr> |
4219 | - <tr> |
4220 | - <td class="label">libbonobo2-common</td> |
4221 | - <td>Installed</td> |
4222 | - </tr> |
4223 | - <tr> |
4224 | - <td class="label">libbonoboui2-0</td> |
4225 | - <td>Installed</td> |
4226 | - </tr> |
4227 | - <tr> |
4228 | - <td class="label">libbonoboui2-common</td> |
4229 | - <td>Installed</td> |
4230 | - </tr> |
4231 | - <tr> |
4232 | - <td class="label">libboost-serialization1.46.1</td> |
4233 | - <td>Installed</td> |
4234 | - </tr> |
4235 | - <tr> |
4236 | - <td class="label">libbrasero-media3-1</td> |
4237 | - <td>Installed</td> |
4238 | - </tr> |
4239 | - <tr> |
4240 | - <td class="label">libbrlapi0.5</td> |
4241 | - <td>Installed</td> |
4242 | - </tr> |
4243 | - <tr> |
4244 | - <td class="label">libbsd0</td> |
4245 | - <td>Installed</td> |
4246 | - </tr> |
4247 | - <tr> |
4248 | - <td class="label">libburn4</td> |
4249 | - <td>Installed</td> |
4250 | - </tr> |
4251 | - <tr> |
4252 | - <td class="label">libbz2-1.0</td> |
4253 | - <td>Installed</td> |
4254 | - </tr> |
4255 | - <tr> |
4256 | - <td class="label">libbz2-1.0:i386</td> |
4257 | - <td>Installed</td> |
4258 | - </tr> |
4259 | - <tr> |
4260 | - <td class="label">libc-bin</td> |
4261 | - <td>Installed</td> |
4262 | - </tr> |
4263 | - <tr> |
4264 | - <td class="label">libc-dev-bin</td> |
4265 | - <td>Installed</td> |
4266 | - </tr> |
4267 | - <tr> |
4268 | - <td class="label">libc6</td> |
4269 | - <td>Installed</td> |
4270 | - </tr> |
4271 | - <tr> |
4272 | - <td class="label">libc6:i386</td> |
4273 | - <td>Installed</td> |
4274 | - </tr> |
4275 | - <tr> |
4276 | - <td class="label">libc6-dev</td> |
4277 | - <td>Installed</td> |
4278 | - </tr> |
4279 | - <tr> |
4280 | - <td class="label">libcaca0</td> |
4281 | - <td>Installed</td> |
4282 | - </tr> |
4283 | - <tr> |
4284 | - <td class="label">libcaca0:i386</td> |
4285 | - <td>Installed</td> |
4286 | - </tr> |
4287 | - <tr> |
4288 | - <td class="label">libcairo-gobject2</td> |
4289 | - <td>Installed</td> |
4290 | - </tr> |
4291 | - <tr> |
4292 | - <td class="label">libcairo-gobject2:i386</td> |
4293 | - <td>Installed</td> |
4294 | - </tr> |
4295 | - <tr> |
4296 | - <td class="label">libcairo-perl</td> |
4297 | - <td>Installed</td> |
4298 | - </tr> |
4299 | - <tr> |
4300 | - <td class="label">libcairo-script-interpreter2</td> |
4301 | - <td>Installed</td> |
4302 | - </tr> |
4303 | - <tr> |
4304 | - <td class="label">libcairo2</td> |
4305 | - <td>Installed</td> |
4306 | - </tr> |
4307 | - <tr> |
4308 | - <td class="label">libcairo2:i386</td> |
4309 | - <td>Installed</td> |
4310 | - </tr> |
4311 | - <tr> |
4312 | - <td class="label">libcairo2-dev</td> |
4313 | - <td>Installed</td> |
4314 | - </tr> |
4315 | - <tr> |
4316 | - <td class="label">libcairomm-1.0-1</td> |
4317 | - <td>Installed</td> |
4318 | - </tr> |
4319 | - <tr> |
4320 | - <td class="label">libcamel-1.2-29</td> |
4321 | - <td>Installed</td> |
4322 | - </tr> |
4323 | - <tr> |
4324 | - <td class="label">libcanberra-gtk-module</td> |
4325 | - <td>Installed</td> |
4326 | - </tr> |
4327 | - <tr> |
4328 | - <td class="label">libcanberra-gtk-module:i386</td> |
4329 | - <td>Installed</td> |
4330 | - </tr> |
4331 | - <tr> |
4332 | - <td class="label">libcanberra-gtk0</td> |
4333 | - <td>Installed</td> |
4334 | - </tr> |
4335 | - <tr> |
4336 | - <td class="label">libcanberra-gtk0:i386</td> |
4337 | - <td>Installed</td> |
4338 | - </tr> |
4339 | - <tr> |
4340 | - <td class="label">libcanberra-gtk3-0</td> |
4341 | - <td>Installed</td> |
4342 | - </tr> |
4343 | - <tr> |
4344 | - <td class="label">libcanberra-gtk3-module</td> |
4345 | - <td>Installed</td> |
4346 | - </tr> |
4347 | - <tr> |
4348 | - <td class="label">libcanberra-pulse</td> |
4349 | - <td>Installed</td> |
4350 | - </tr> |
4351 | - <tr> |
4352 | - <td class="label">libcanberra0</td> |
4353 | - <td>Installed</td> |
4354 | - </tr> |
4355 | - <tr> |
4356 | - <td class="label">libcanberra0:i386</td> |
4357 | - <td>Installed</td> |
4358 | - </tr> |
4359 | - <tr> |
4360 | - <td class="label">libcap-ng0</td> |
4361 | - <td>Installed</td> |
4362 | - </tr> |
4363 | - <tr> |
4364 | - <td class="label">libcap2</td> |
4365 | - <td>Installed</td> |
4366 | - </tr> |
4367 | - <tr> |
4368 | - <td class="label">libcap2:i386</td> |
4369 | - <td>Installed</td> |
4370 | - </tr> |
4371 | - <tr> |
4372 | - <td class="label">libcap2-bin</td> |
4373 | - <td>Installed</td> |
4374 | - </tr> |
4375 | - <tr> |
4376 | - <td class="label">libcapi20-3:i386</td> |
4377 | - <td>Installed</td> |
4378 | - </tr> |
4379 | - <tr> |
4380 | - <td class="label">libcaribou-common</td> |
4381 | - <td>Installed</td> |
4382 | - </tr> |
4383 | - <tr> |
4384 | - <td class="label">libcaribou0</td> |
4385 | - <td>Installed</td> |
4386 | - </tr> |
4387 | - <tr> |
4388 | - <td class="label">libcarp-clan-perl</td> |
4389 | - <td>Installed</td> |
4390 | - </tr> |
4391 | - <tr> |
4392 | - <td class="label">libcdaudio1</td> |
4393 | - <td>Installed</td> |
4394 | - </tr> |
4395 | - <tr> |
4396 | - <td class="label">libcddb2</td> |
4397 | - <td>Installed</td> |
4398 | - </tr> |
4399 | - <tr> |
4400 | - <td class="label">libcdio-cdda1</td> |
4401 | - <td>Installed</td> |
4402 | - </tr> |
4403 | - <tr> |
4404 | - <td class="label">libcdio-paranoia1</td> |
4405 | - <td>Installed</td> |
4406 | - </tr> |
4407 | - <tr> |
4408 | - <td class="label">libcdio13</td> |
4409 | - <td>Installed</td> |
4410 | - </tr> |
4411 | - <tr> |
4412 | - <td class="label">libcdparanoia0</td> |
4413 | - <td>Installed</td> |
4414 | - </tr> |
4415 | - <tr> |
4416 | - <td class="label">libcdparanoia0:i386</td> |
4417 | - <td>Installed</td> |
4418 | - </tr> |
4419 | - <tr> |
4420 | - <td class="label">libcdt4</td> |
4421 | - <td>Installed</td> |
4422 | - </tr> |
4423 | - <tr> |
4424 | - <td class="label">libcelt0-0</td> |
4425 | - <td>Installed</td> |
4426 | - </tr> |
4427 | - <tr> |
4428 | - <td class="label">libcgraph5</td> |
4429 | - <td>Installed</td> |
4430 | - </tr> |
4431 | - <tr> |
4432 | - <td class="label">libcheese-gtk21</td> |
4433 | - <td>Installed</td> |
4434 | - </tr> |
4435 | - <tr> |
4436 | - <td class="label">libcheese3</td> |
4437 | - <td>Installed</td> |
4438 | - </tr> |
4439 | - <tr> |
4440 | - <td class="label">libck-connector0</td> |
4441 | - <td>Installed</td> |
4442 | - </tr> |
4443 | - <tr> |
4444 | - <td class="label">libclass-accessor-perl</td> |
4445 | - <td>Installed</td> |
4446 | - </tr> |
4447 | - <tr> |
4448 | - <td class="label">libclass-isa-perl</td> |
4449 | - <td>Installed</td> |
4450 | - </tr> |
4451 | - <tr> |
4452 | - <td class="label">libclone-perl</td> |
4453 | - <td>Installed</td> |
4454 | - </tr> |
4455 | - <tr> |
4456 | - <td class="label">libclutter-1.0-0</td> |
4457 | - <td>Installed</td> |
4458 | - </tr> |
4459 | - <tr> |
4460 | - <td class="label">libclutter-1.0-common</td> |
4461 | - <td>Installed</td> |
4462 | - </tr> |
4463 | - <tr> |
4464 | - <td class="label">libclutter-gst-1.0-0</td> |
4465 | - <td>Installed</td> |
4466 | - </tr> |
4467 | - <tr> |
4468 | - <td class="label">libclutter-gtk-1.0-0</td> |
4469 | - <td>Installed</td> |
4470 | - </tr> |
4471 | - <tr> |
4472 | - <td class="label">libclutter-imcontext-0.1-0</td> |
4473 | - <td>Installed</td> |
4474 | - </tr> |
4475 | - <tr> |
4476 | - <td class="label">libcluttergesture-0.0.2-0</td> |
4477 | - <td>Installed</td> |
4478 | - </tr> |
4479 | - <tr> |
4480 | - <td class="label">libcmis-0.2-0</td> |
4481 | - <td>Installed</td> |
4482 | - </tr> |
4483 | - <tr> |
4484 | - <td class="label">libcogl-common</td> |
4485 | - <td>Installed</td> |
4486 | - </tr> |
4487 | - <tr> |
4488 | - <td class="label">libcogl-pango0</td> |
4489 | - <td>Installed</td> |
4490 | - </tr> |
4491 | - <tr> |
4492 | - <td class="label">libcogl9</td> |
4493 | - <td>Installed</td> |
4494 | - </tr> |
4495 | - <tr> |
4496 | - <td class="label">libcolord1</td> |
4497 | - <td>Installed</td> |
4498 | - </tr> |
4499 | - <tr> |
4500 | - <td class="label">libcomerr2</td> |
4501 | - <td>Installed</td> |
4502 | - </tr> |
4503 | - <tr> |
4504 | - <td class="label">libcomerr2:i386</td> |
4505 | - <td>Installed</td> |
4506 | - </tr> |
4507 | - <tr> |
4508 | - <td class="label">libcommon-sense-perl</td> |
4509 | - <td>Installed</td> |
4510 | - </tr> |
4511 | - <tr> |
4512 | - <td class="label">libcompizconfig0</td> |
4513 | - <td>Installed</td> |
4514 | - </tr> |
4515 | - <tr> |
4516 | - <td class="label">libconfig-file-perl</td> |
4517 | - <td>Installed</td> |
4518 | - </tr> |
4519 | - <tr> |
4520 | - <td class="label">libcroco3</td> |
4521 | - <td>Installed</td> |
4522 | - </tr> |
4523 | - <tr> |
4524 | - <td class="label">libcroco3:i386</td> |
4525 | - <td>Installed</td> |
4526 | - </tr> |
4527 | - <tr> |
4528 | - <td class="label">libcrypt-passwdmd5-perl</td> |
4529 | - <td>Installed</td> |
4530 | - </tr> |
4531 | - <tr> |
4532 | - <td class="label">libcrypt-ssleay-perl</td> |
4533 | - <td>Installed</td> |
4534 | - </tr> |
4535 | - <tr> |
4536 | - <td class="label">libcryptsetup4</td> |
4537 | - <td>Installed</td> |
4538 | - </tr> |
4539 | - <tr> |
4540 | - <td class="label">libcrystalhd3</td> |
4541 | - <td>Installed</td> |
4542 | - </tr> |
4543 | - <tr> |
4544 | - <td class="label">libcups2</td> |
4545 | - <td>Installed</td> |
4546 | - </tr> |
4547 | - <tr> |
4548 | - <td class="label">libcups2:i386</td> |
4549 | - <td>Installed</td> |
4550 | - </tr> |
4551 | - <tr> |
4552 | - <td class="label">libcupscgi1</td> |
4553 | - <td>Installed</td> |
4554 | - </tr> |
4555 | - <tr> |
4556 | - <td class="label">libcupsdriver1</td> |
4557 | - <td>Installed</td> |
4558 | - </tr> |
4559 | - <tr> |
4560 | - <td class="label">libcupsfilters1</td> |
4561 | - <td>Installed</td> |
4562 | - </tr> |
4563 | - <tr> |
4564 | - <td class="label">libcupsimage2</td> |
4565 | - <td>Installed</td> |
4566 | - </tr> |
4567 | - <tr> |
4568 | - <td class="label">libcupsimage2:i386</td> |
4569 | - <td>Installed</td> |
4570 | - </tr> |
4571 | - <tr> |
4572 | - <td class="label">libcupsmime1</td> |
4573 | - <td>Installed</td> |
4574 | - </tr> |
4575 | - <tr> |
4576 | - <td class="label">libcupsppdc1</td> |
4577 | - <td>Installed</td> |
4578 | - </tr> |
4579 | - <tr> |
4580 | - <td class="label">libcurl3</td> |
4581 | - <td>Installed</td> |
4582 | - </tr> |
4583 | - <tr> |
4584 | - <td class="label">libcurl3:i386</td> |
4585 | - <td>Installed</td> |
4586 | - </tr> |
4587 | - <tr> |
4588 | - <td class="label">libcurl3-gnutls</td> |
4589 | - <td>Installed</td> |
4590 | - </tr> |
4591 | - <tr> |
4592 | - <td class="label">libcurl3-nss</td> |
4593 | - <td>Installed</td> |
4594 | - </tr> |
4595 | - <tr> |
4596 | - <td class="label">libdaemon0</td> |
4597 | - <td>Installed</td> |
4598 | - </tr> |
4599 | - <tr> |
4600 | - <td class="label">libdate-calc-perl</td> |
4601 | - <td>Installed</td> |
4602 | - </tr> |
4603 | - <tr> |
4604 | - <td class="label">libdate-calc-xs-perl</td> |
4605 | - <td>Installed</td> |
4606 | - </tr> |
4607 | - <tr> |
4608 | - <td class="label">libdate-manip-perl</td> |
4609 | - <td>Installed</td> |
4610 | - </tr> |
4611 | - <tr> |
4612 | - <td class="label">libdatrie1</td> |
4613 | - <td>Installed</td> |
4614 | - </tr> |
4615 | - <tr> |
4616 | - <td class="label">libdatrie1:i386</td> |
4617 | - <td>Installed</td> |
4618 | - </tr> |
4619 | - <tr> |
4620 | - <td class="label">libdb5.1</td> |
4621 | - <td>Installed</td> |
4622 | - </tr> |
4623 | - <tr> |
4624 | - <td class="label">libdb5.1:i386</td> |
4625 | - <td>Installed</td> |
4626 | - </tr> |
4627 | - <tr> |
4628 | - <td class="label">libdbus-1-3</td> |
4629 | - <td>Installed</td> |
4630 | - </tr> |
4631 | - <tr> |
4632 | - <td class="label">libdbus-1-3:i386</td> |
4633 | - <td>Installed</td> |
4634 | - </tr> |
4635 | - <tr> |
4636 | - <td class="label">libdbus-glib-1-2</td> |
4637 | - <td>Installed</td> |
4638 | - </tr> |
4639 | - <tr> |
4640 | - <td class="label">libdbus-glib-1-2:i386</td> |
4641 | - <td>Installed</td> |
4642 | - </tr> |
4643 | - <tr> |
4644 | - <td class="label">libdbusmenu-glib4</td> |
4645 | - <td>Installed</td> |
4646 | - </tr> |
4647 | - <tr> |
4648 | - <td class="label">libdbusmenu-gtk3-4</td> |
4649 | - <td>Installed</td> |
4650 | - </tr> |
4651 | - <tr> |
4652 | - <td class="label">libdbusmenu-gtk4</td> |
4653 | - <td>Installed</td> |
4654 | - </tr> |
4655 | - <tr> |
4656 | - <td class="label">libdbusmenu-qt2</td> |
4657 | - <td>Installed</td> |
4658 | - </tr> |
4659 | - <tr> |
4660 | - <td class="label">libdc1394-22</td> |
4661 | - <td>Installed</td> |
4662 | - </tr> |
4663 | - <tr> |
4664 | - <td class="label">libdca0</td> |
4665 | - <td>Installed</td> |
4666 | - </tr> |
4667 | - <tr> |
4668 | - <td class="label">libdconf-dbus-1-0</td> |
4669 | - <td>Installed</td> |
4670 | - </tr> |
4671 | - <tr> |
4672 | - <td class="label">libdconf-qt0</td> |
4673 | - <td>Installed</td> |
4674 | - </tr> |
4675 | - <tr> |
4676 | - <td class="label">libdconf0</td> |
4677 | - <td>Installed</td> |
4678 | - </tr> |
4679 | - <tr> |
4680 | - <td class="label">libdecoration0</td> |
4681 | - <td>Installed</td> |
4682 | - </tr> |
4683 | - <tr> |
4684 | - <td class="label">libdee-1.0-4</td> |
4685 | - <td>Installed</td> |
4686 | - </tr> |
4687 | - <tr> |
4688 | - <td class="label">libdevhelp-3-0</td> |
4689 | - <td>Installed</td> |
4690 | - </tr> |
4691 | - <tr> |
4692 | - <td class="label">libdevmapper-event1.02.1</td> |
4693 | - <td>Installed</td> |
4694 | - </tr> |
4695 | - <tr> |
4696 | - <td class="label">libdevmapper1.02.1</td> |
4697 | - <td>Installed</td> |
4698 | - </tr> |
4699 | - <tr> |
4700 | - <td class="label">libdigest-hmac-perl</td> |
4701 | - <td>Installed</td> |
4702 | - </tr> |
4703 | - <tr> |
4704 | - <td class="label">libdirac-encoder0</td> |
4705 | - <td>Installed</td> |
4706 | - </tr> |
4707 | - <tr> |
4708 | - <td class="label">libdirectfb-1.2-9</td> |
4709 | - <td>Installed</td> |
4710 | - </tr> |
4711 | - <tr> |
4712 | - <td class="label">libdiscid0</td> |
4713 | - <td>Installed</td> |
4714 | - </tr> |
4715 | - <tr> |
4716 | - <td class="label">libdjvulibre-text</td> |
4717 | - <td>Installed</td> |
4718 | - </tr> |
4719 | - <tr> |
4720 | - <td class="label">libdjvulibre21</td> |
4721 | - <td>Installed</td> |
4722 | - </tr> |
4723 | - <tr> |
4724 | - <td class="label">libdmapsharing-3.0-2</td> |
4725 | - <td>Installed</td> |
4726 | - </tr> |
4727 | - <tr> |
4728 | - <td class="label">libdns81</td> |
4729 | - <td>Installed</td> |
4730 | - </tr> |
4731 | - <tr> |
4732 | - <td class="label">libdotconf1.0</td> |
4733 | - <td>Installed</td> |
4734 | - </tr> |
4735 | - <tr> |
4736 | - <td class="label">libdpkg-perl</td> |
4737 | - <td>Installed</td> |
4738 | - </tr> |
4739 | - <tr> |
4740 | - <td class="label">libdrm-dev</td> |
4741 | - <td>Installed</td> |
4742 | - </tr> |
4743 | - <tr> |
4744 | - <td class="label">libdrm-intel1</td> |
4745 | - <td>Installed</td> |
4746 | - </tr> |
4747 | - <tr> |
4748 | - <td class="label">libdrm-intel1:i386</td> |
4749 | - <td>Installed</td> |
4750 | - </tr> |
4751 | - <tr> |
4752 | - <td class="label">libdrm-nouveau1a</td> |
4753 | - <td>Installed</td> |
4754 | - </tr> |
4755 | - <tr> |
4756 | - <td class="label">libdrm-nouveau1a:i386</td> |
4757 | - <td>Installed</td> |
4758 | - </tr> |
4759 | - <tr> |
4760 | - <td class="label">libdrm-radeon1</td> |
4761 | - <td>Installed</td> |
4762 | - </tr> |
4763 | - <tr> |
4764 | - <td class="label">libdrm-radeon1:i386</td> |
4765 | - <td>Installed</td> |
4766 | - </tr> |
4767 | - <tr> |
4768 | - <td class="label">libdrm2</td> |
4769 | - <td>Installed</td> |
4770 | - </tr> |
4771 | - <tr> |
4772 | - <td class="label">libdrm2:i386</td> |
4773 | - <td>Installed</td> |
4774 | - </tr> |
4775 | - <tr> |
4776 | - <td class="label">libdv4</td> |
4777 | - <td>Installed</td> |
4778 | - </tr> |
4779 | - <tr> |
4780 | - <td class="label">libdv4:i386</td> |
4781 | - <td>Installed</td> |
4782 | - </tr> |
4783 | - <tr> |
4784 | - <td class="label">libdvbpsi7</td> |
4785 | - <td>Installed</td> |
4786 | - </tr> |
4787 | - <tr> |
4788 | - <td class="label">libdvdcss2</td> |
4789 | - <td>Installed</td> |
4790 | - </tr> |
4791 | - <tr> |
4792 | - <td class="label">libdvdnav4</td> |
4793 | - <td>Installed</td> |
4794 | - </tr> |
4795 | - <tr> |
4796 | - <td class="label">libdvdread4</td> |
4797 | - <td>Installed</td> |
4798 | - </tr> |
4799 | - <tr> |
4800 | - <td class="label">libebackend-1.2-1</td> |
4801 | - <td>Installed</td> |
4802 | - </tr> |
4803 | - <tr> |
4804 | - <td class="label">libebml3</td> |
4805 | - <td>Installed</td> |
4806 | - </tr> |
4807 | - <tr> |
4808 | - <td class="label">libebook-1.2-12</td> |
4809 | - <td>Installed</td> |
4810 | - </tr> |
4811 | - <tr> |
4812 | - <td class="label">libecal-1.2-10</td> |
4813 | - <td>Installed</td> |
4814 | - </tr> |
4815 | - <tr> |
4816 | - <td class="label">libedata-book-1.2-11</td> |
4817 | - <td>Installed</td> |
4818 | - </tr> |
4819 | - <tr> |
4820 | - <td class="label">libedata-cal-1.2-13</td> |
4821 | - <td>Installed</td> |
4822 | - </tr> |
4823 | - <tr> |
4824 | - <td class="label">libedataserver-1.2-15</td> |
4825 | - <td>Installed</td> |
4826 | - </tr> |
4827 | - <tr> |
4828 | - <td class="label">libedataserverui-3.0-1</td> |
4829 | - <td>Installed</td> |
4830 | - </tr> |
4831 | - <tr> |
4832 | - <td class="label">libedit2</td> |
4833 | - <td>Installed</td> |
4834 | - </tr> |
4835 | - <tr> |
4836 | - <td class="label">libegl1-mesa</td> |
4837 | - <td>Installed</td> |
4838 | - </tr> |
4839 | - <tr> |
4840 | - <td class="label">libegl1-mesa-dev</td> |
4841 | - <td>Installed</td> |
4842 | - </tr> |
4843 | - <tr> |
4844 | - <td class="label">libegl1-mesa-drivers</td> |
4845 | - <td>Installed</td> |
4846 | - </tr> |
4847 | - <tr> |
4848 | - <td class="label">libelf1</td> |
4849 | - <td>Installed</td> |
4850 | - </tr> |
4851 | - <tr> |
4852 | - <td class="label">libelf1:i386</td> |
4853 | - <td>Installed</td> |
4854 | - </tr> |
4855 | - <tr> |
4856 | - <td class="label">libemail-valid-perl</td> |
4857 | - <td>Installed</td> |
4858 | - </tr> |
4859 | - <tr> |
4860 | - <td class="label">libenca0</td> |
4861 | - <td>Installed</td> |
4862 | - </tr> |
4863 | - <tr> |
4864 | - <td class="label">libenchant1c2a</td> |
4865 | - <td>Installed</td> |
4866 | - </tr> |
4867 | - <tr> |
4868 | - <td class="label">libencode-locale-perl</td> |
4869 | - <td>Installed</td> |
4870 | - </tr> |
4871 | - <tr> |
4872 | - <td class="label">libept1.4.12</td> |
4873 | - <td>Installed</td> |
4874 | - </tr> |
4875 | - <tr> |
4876 | - <td class="label">liberror-perl</td> |
4877 | - <td>Installed</td> |
4878 | - </tr> |
4879 | - <tr> |
4880 | - <td class="label">libesd0</td> |
4881 | - <td>Installed</td> |
4882 | - </tr> |
4883 | - <tr> |
4884 | - <td class="label">libesd0:i386</td> |
4885 | - <td>Installed</td> |
4886 | - </tr> |
4887 | - <tr> |
4888 | - <td class="label">libespeak1</td> |
4889 | - <td>Installed</td> |
4890 | - </tr> |
4891 | - <tr> |
4892 | - <td class="label">libevent-2.0-5</td> |
4893 | - <td>Installed</td> |
4894 | - </tr> |
4895 | - <tr> |
4896 | - <td class="label">libevince3-3</td> |
4897 | - <td>Installed</td> |
4898 | - </tr> |
4899 | - <tr> |
4900 | - <td class="label">libexempi3</td> |
4901 | - <td>Installed</td> |
4902 | - </tr> |
4903 | - <tr> |
4904 | - <td class="label">libexif12</td> |
4905 | - <td>Installed</td> |
4906 | - </tr> |
4907 | - <tr> |
4908 | - <td class="label">libexif12:i386</td> |
4909 | - <td>Installed</td> |
4910 | - </tr> |
4911 | - <tr> |
4912 | - <td class="label">libexiv2-11</td> |
4913 | - <td>Installed</td> |
4914 | - </tr> |
4915 | - <tr> |
4916 | - <td class="label">libexpat1</td> |
4917 | - <td>Installed</td> |
4918 | - </tr> |
4919 | - <tr> |
4920 | - <td class="label">libexpat1:i386</td> |
4921 | - <td>Installed</td> |
4922 | - </tr> |
4923 | - <tr> |
4924 | - <td class="label">libexpat1-dev</td> |
4925 | - <td>Installed</td> |
4926 | - </tr> |
4927 | - <tr> |
4928 | - <td class="label">libexplain30</td> |
4929 | - <td>Installed</td> |
4930 | - </tr> |
4931 | - <tr> |
4932 | - <td class="label">libexporter-lite-perl</td> |
4933 | - <td>Installed</td> |
4934 | - </tr> |
4935 | - <tr> |
4936 | - <td class="label">libexttextcat-data</td> |
4937 | - <td>Installed</td> |
4938 | - </tr> |
4939 | - <tr> |
4940 | - <td class="label">libexttextcat0</td> |
4941 | - <td>Installed</td> |
4942 | - </tr> |
4943 | - <tr> |
4944 | - <td class="label">libextutils-depends-perl</td> |
4945 | - <td>Installed</td> |
4946 | - </tr> |
4947 | - <tr> |
4948 | - <td class="label">libextutils-pkgconfig-perl</td> |
4949 | - <td>Installed</td> |
4950 | - </tr> |
4951 | - <tr> |
4952 | - <td class="label">libfaad2</td> |
4953 | - <td>Installed</td> |
4954 | - </tr> |
4955 | - <tr> |
4956 | - <td class="label">libfarstream-0.1-0</td> |
4957 | - <td>Installed</td> |
4958 | - </tr> |
4959 | - <tr> |
4960 | - <td class="label">libffi-dev</td> |
4961 | - <td>Installed</td> |
4962 | - </tr> |
4963 | - <tr> |
4964 | - <td class="label">libffi6</td> |
4965 | - <td>Installed</td> |
4966 | - </tr> |
4967 | - <tr> |
4968 | - <td class="label">libffi6:i386</td> |
4969 | - <td>Installed</td> |
4970 | - </tr> |
4971 | - <tr> |
4972 | - <td class="label">libfftw3-3</td> |
4973 | - <td>Installed</td> |
4974 | - </tr> |
4975 | - <tr> |
4976 | - <td class="label">libfile-basedir-perl</td> |
4977 | - <td>Installed</td> |
4978 | - </tr> |
4979 | - <tr> |
4980 | - <td class="label">libfile-copy-recursive-perl</td> |
4981 | - <td>Installed</td> |
4982 | - </tr> |
4983 | - <tr> |
4984 | - <td class="label">libfile-desktopentry-perl</td> |
4985 | - <td>Installed</td> |
4986 | - </tr> |
4987 | - <tr> |
4988 | - <td class="label">libfile-listing-perl</td> |
4989 | - <td>Installed</td> |
4990 | - </tr> |
4991 | - <tr> |
4992 | - <td class="label">libfile-mimeinfo-perl</td> |
4993 | - <td>Installed</td> |
4994 | - </tr> |
4995 | - <tr> |
4996 | - <td class="label">libfile-which-perl</td> |
4997 | - <td>Installed</td> |
4998 | - </tr> |
4999 | - <tr> |
5000 | - <td class="label">libfl-dev</td> |
This is too large to post meaningful comments:
Please split this so that html bits can be reviewed separately.
some (random) comments:
- the two methods on the state class should become a single method with an argument
- html templates lack doctype