machinery-tool 1.5.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/NEWS +18 -0
- data/html/assets/machinery.css +20 -1
- data/html/assets/machinery.js +53 -26
- data/html/index.html.haml +69 -46
- data/lib/analyze_config_file_diffs_task.rb +1 -1
- data/lib/array.rb +36 -14
- data/lib/cli.rb +45 -50
- data/lib/compare_task.rb +1 -1
- data/lib/config.rb +8 -2
- data/lib/config_base.rb +14 -1
- data/lib/element_filter.rb +48 -11
- data/lib/exceptions.rb +5 -0
- data/lib/filter.rb +63 -14
- data/lib/filter_option_parser.rb +83 -0
- data/lib/generate_html_task.rb +3 -1
- data/lib/hint.rb +36 -18
- data/lib/html.rb +1 -0
- data/lib/inspect_task.rb +12 -21
- data/lib/inspector.rb +13 -6
- data/lib/kiwi_config.rb +17 -14
- data/lib/list_task.rb +5 -1
- data/lib/local_system.rb +3 -4
- data/lib/logged_cheetah.rb +3 -1
- data/lib/machinery.rb +1 -0
- data/lib/object.rb +24 -19
- data/lib/scope_file_store.rb +3 -1
- data/lib/show_task.rb +5 -7
- data/lib/system_description.rb +11 -12
- data/lib/system_description_store.rb +1 -1
- data/lib/ui.rb +44 -36
- data/lib/upgrade_format_task.rb +4 -1
- data/lib/version.rb +1 -1
- data/man/generated/machinery.1.gz +0 -0
- data/man/generated/machinery.1.html +7 -2
- data/plugins/inspect/changed_managed_files_inspector.rb +13 -6
- data/plugins/inspect/config_files_inspector.rb +27 -20
- data/plugins/inspect/groups_inspector.rb +12 -4
- data/plugins/inspect/os_inspector.rb +29 -22
- data/plugins/inspect/packages_inspector.rb +13 -5
- data/plugins/inspect/patterns_inspector.rb +24 -10
- data/plugins/inspect/repositories_inspector.rb +19 -15
- data/plugins/inspect/services_inspector.rb +28 -22
- data/plugins/inspect/unmanaged_files_inspector.rb +42 -33
- data/plugins/inspect/users_inspector.rb +13 -5
- data/plugins/model/os_model.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 725a9e95df8830f8b6d31b967a03bc08286a99b4
|
4
|
+
data.tar.gz: e4ede1e631fb2e78d4d74ae0859cbdcb4a1da40b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74773fd5aa6a4b23b52c9d27771a4a3ca1762f76a6169ce92b6e9380bf3a5233dd28fd68c05b2ae73721edc5cebbbc57750d8b68ef93784dad5337c66f7b734e
|
7
|
+
data.tar.gz: 580e1e8201d3ea4e1d58bd68a60192988a4539eb9811f8312e40414fec65caaa9146138c46dd1a445aac4098f60e102149d9e9452771cc2597202a4e3fbf581e
|
data/NEWS
CHANGED
@@ -1,6 +1,24 @@
|
|
1
1
|
# Machinery Release Notes
|
2
2
|
|
3
3
|
|
4
|
+
## Version 1.6.0 - Wed Apr 01 15:43:17 CEST 2015 - thardeck@suse.de
|
5
|
+
|
6
|
+
* Add experimental `--exclude` option to exclude elements from inspection.
|
7
|
+
Run `machinery config experimental-features on` to enable the option
|
8
|
+
* Support global `--exclude` option for `show` command.
|
9
|
+
This feature is available when the experimental-features option is on.
|
10
|
+
* Add `--verbose` option to `inspect` command to display the filters which
|
11
|
+
were used during inspection
|
12
|
+
* Add `--verbose` option to `show` command to display the filters which were
|
13
|
+
applied before showing the system description
|
14
|
+
* Show progress on upgrading the system description format
|
15
|
+
* Improve help for users when upgrading system descriptions
|
16
|
+
* Fix piping output of Machinery to less (gh#SUSE/machinery#521)
|
17
|
+
* Better help for users when upgrading format of system descriptions
|
18
|
+
* Add option to show command to display filters used during inspection
|
19
|
+
* Support negated filter expressions in --exclude option
|
20
|
+
* Show filters used during inspection in HTML view
|
21
|
+
|
4
22
|
## Version 1.5.0 - Fri Mar 13 13:03:47 CET 2015 - thardeck@suse.de
|
5
23
|
|
6
24
|
* Fix issue with changes of managed files on RHEL (gh#SUSE/machinery#636)
|
data/html/assets/machinery.css
CHANGED
@@ -32,10 +32,12 @@ a.scope_anchor {
|
|
32
32
|
}
|
33
33
|
|
34
34
|
.scope-navigation {
|
35
|
-
font-size: 60%;
|
36
35
|
margin-left: 30px;
|
37
36
|
}
|
38
37
|
|
38
|
+
.inspection_details {
|
39
|
+
margin-left: 30px;
|
40
|
+
}
|
39
41
|
|
40
42
|
.filter-input {
|
41
43
|
margin-bottom: 10px;
|
@@ -66,6 +68,10 @@ span.toggle.collapsed {
|
|
66
68
|
max-width: 800px;
|
67
69
|
}
|
68
70
|
|
71
|
+
.popover button.close {
|
72
|
+
padding: 6px;
|
73
|
+
}
|
74
|
+
|
69
75
|
h1 {
|
70
76
|
color: #3D3A38;
|
71
77
|
}
|
@@ -124,8 +130,21 @@ table.diff td.linenumber {
|
|
124
130
|
border-right: solid 1px #cccccc;
|
125
131
|
}
|
126
132
|
|
133
|
+
.inspection-details-popover .popover-content,
|
127
134
|
.diff-popover .popover-content {
|
128
135
|
max-height: 500px;
|
129
136
|
overflow-y: auto;
|
130
137
|
font-family: monospace;
|
131
138
|
}
|
139
|
+
|
140
|
+
.inspection-details-popover {
|
141
|
+
min-width: 800px;
|
142
|
+
}
|
143
|
+
|
144
|
+
li.filter {
|
145
|
+
font-family: monospace;
|
146
|
+
}
|
147
|
+
|
148
|
+
h1 {
|
149
|
+
display: inline-block;
|
150
|
+
}
|
data/html/assets/machinery.js
CHANGED
@@ -30,7 +30,9 @@ $(document).ready(function () {
|
|
30
30
|
$.each(scopes, function(index, scope) {
|
31
31
|
templates[scope] = Hogan.compile($("#scope_" + scope).html());
|
32
32
|
});
|
33
|
-
|
33
|
+
templates["inspection_details_template"] =
|
34
|
+
Hogan.compile($("#inspection_details_template").html());
|
35
|
+
template = Hogan.compile($("#content").html());
|
34
36
|
$("#content_container").html(
|
35
37
|
template.render(description, templates)
|
36
38
|
);
|
@@ -71,7 +73,7 @@ $(document).ready(function () {
|
|
71
73
|
$("#filter").keyup(function() {
|
72
74
|
run_when_done_typing(function() {
|
73
75
|
filterdocument();
|
74
|
-
}, 500)
|
76
|
+
}, 500);
|
75
77
|
});
|
76
78
|
|
77
79
|
clearFilter = function() {
|
@@ -85,52 +87,55 @@ $(document).ready(function () {
|
|
85
87
|
$("a.scope_anchor").css("height", header_height);
|
86
88
|
$("a.scope_anchor").css("margin-top", -header_height);
|
87
89
|
|
88
|
-
$(
|
90
|
+
$(".scope_logo_big").each(function(){
|
89
91
|
var icon = $(this);
|
90
92
|
$(window).scroll(function() {
|
91
|
-
icon.removeClass(
|
93
|
+
icon.removeClass("fixed");
|
92
94
|
var pos = icon.offset();
|
93
95
|
var top_pos = $(this).scrollTop() + header_height;
|
94
|
-
if(top_pos >= pos.top && icon.css(
|
95
|
-
icon.addClass(
|
96
|
-
} else if(top_pos <= pos.top && icon.hasClass(
|
97
|
-
icon.removeClass(
|
96
|
+
if(top_pos >= pos.top && icon.css("position") == "static") {
|
97
|
+
icon.addClass("fixed").css("top", header_height);
|
98
|
+
} else if(top_pos <= pos.top && icon.hasClass("fixed")) {
|
99
|
+
icon.removeClass("fixed");
|
98
100
|
}
|
99
101
|
})
|
100
102
|
});
|
101
103
|
|
102
104
|
// Hook up the toggle links
|
103
|
-
$(
|
104
|
-
$(this).closest(
|
105
|
+
$(".toggle").click(function(){
|
106
|
+
$(this).closest(".scope").find(".scope_content").collapse("toggle");
|
105
107
|
$(this).toggleClass("collapsed");
|
106
108
|
});
|
107
109
|
|
108
110
|
$("#collapse-all").click(function(){
|
109
|
-
$(".scope_content").collapse(
|
111
|
+
$(".scope_content").collapse("hide");
|
110
112
|
$(".toggle").addClass("collapsed");
|
111
113
|
$(this).hide();
|
112
114
|
$("#expand-all").show();
|
113
115
|
});
|
114
116
|
|
115
117
|
$("#expand-all").click(function(){
|
116
|
-
$(".scope_content").collapse(
|
118
|
+
$(".scope_content").collapse("show");
|
117
119
|
$(".toggle").removeClass("collapsed");
|
118
120
|
$(this).hide();
|
119
121
|
$("#collapse-all").show();
|
120
122
|
});
|
121
123
|
|
124
|
+
// Set up scope icon popovers
|
122
125
|
$("img").popover({
|
123
126
|
trigger: "hover",
|
124
127
|
html: true
|
125
128
|
});
|
129
|
+
|
130
|
+
// Set up config file diffs popovers
|
126
131
|
var counter;
|
127
132
|
$(".diff-toggle").popover({
|
128
133
|
trigger: "mouseenter",
|
129
134
|
html: true,
|
130
|
-
template:
|
135
|
+
template: "<div class='popover diff-popover' role='tooltip'><div class='arrow'></div><h3 class='popover-title'></h3><div class='popover-content'></div></div>",
|
131
136
|
content: function() {
|
132
137
|
file = $(this).data("config-file");
|
133
|
-
return $(
|
138
|
+
return $("*[data-config-file-diff='" + file + "']").html();
|
134
139
|
},
|
135
140
|
title: function() {
|
136
141
|
return "Changes for '" + $(this).data("config-file") + "'";
|
@@ -138,30 +143,52 @@ $(document).ready(function () {
|
|
138
143
|
}).on("mouseenter",function () {
|
139
144
|
clearTimeout(counter);
|
140
145
|
var _this = this;
|
141
|
-
$(
|
146
|
+
$(".diff-toggle").not(_this).popover("hide");
|
142
147
|
|
143
148
|
counter = setTimeout(function(){
|
144
149
|
$(_this).popover("show");
|
145
150
|
$(".diff-popover").on("mouseleave", function () {
|
146
|
-
$(
|
151
|
+
$(".diff-toggle").popover("hide");
|
147
152
|
});
|
148
153
|
}, 100);
|
149
154
|
}).on("mouseleave", function () {
|
150
155
|
counter = setTimeout(function(){
|
151
156
|
if (!$(".diff-popover:hover").length) {
|
152
|
-
$(
|
157
|
+
$(".diff-toggle").popover("hide");
|
153
158
|
}
|
154
159
|
}, 500);
|
155
160
|
});
|
156
161
|
|
157
|
-
//
|
158
|
-
$("
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
162
|
+
// Set up inspection details popover
|
163
|
+
$("a.inspection_details").popover({
|
164
|
+
template: "<div class='popover inspection-details-popover' role='tooltip'>\
|
165
|
+
<div class='arrow'></div>\
|
166
|
+
<div class='popover-header'>\
|
167
|
+
<button type='button' class='close' onclick='$(\".inspection_details\").popover(\"hide\")'\
|
168
|
+
aria-hidden='true'>×</button>\
|
169
|
+
<h3 class='popover-title'></h3>\
|
170
|
+
</div>\
|
171
|
+
<div class='popover-content'></div>\
|
172
|
+
</div>",
|
173
|
+
trigger: "click",
|
174
|
+
placement: "bottom",
|
175
|
+
html: true,
|
176
|
+
content: function() {
|
177
|
+
return $("#inspection_details").html();
|
178
|
+
},
|
179
|
+
title: function() {
|
180
|
+
return "Inspection details";
|
181
|
+
}
|
182
|
+
});
|
183
|
+
$('.inspection-details-popover .close').click(function() { $(".inspection_details").popover("hide") });
|
166
184
|
|
185
|
+
// Tooltips for service states
|
186
|
+
$("td.systemd_enabled, td.systemd_enabled-runtime").attr("title", "Enabled through a symlink in .wants directory (permanently or just in /run).");
|
187
|
+
$("td.systemd_linked, td.systemd_linked-runtime").attr("title", "Made available through a symlink to the unit file (permanently or just in /run).");
|
188
|
+
$("td.systemd_masked, td.systemd_masked-runtime").attr("title", "Disabled entirely (permanently or just in /run).");
|
189
|
+
$("td.systemd_static").attr("title", "Unit file is not enabled, and has no provisions for enabling in the \"[Install]\" section.");
|
190
|
+
$("td.systemd_indirect").attr("title", "Unit file itself is not enabled, but it has a non-empty Also= setting in the \"[Install]\" section, listing other unit files that might be enabled.");
|
191
|
+
$("td.systemd_disabled").attr("title", "Unit file is not enabled.");
|
192
|
+
$("td.sysvinit_on").attr("title", "Service is enabled");
|
193
|
+
$("td.sysvinit_off").attr("title", "Service is disabled");
|
167
194
|
});
|
data/html/index.html.haml
CHANGED
@@ -12,6 +12,9 @@
|
|
12
12
|
%script{:src => "assets/collapse.js"}
|
13
13
|
|
14
14
|
%script#content{:type => "text/html"}
|
15
|
+
.hidden
|
16
|
+
{{>inspection_details_template}}
|
17
|
+
|
15
18
|
{{>os}}
|
16
19
|
{{>packages}}
|
17
20
|
{{>patterns}}
|
@@ -23,14 +26,38 @@
|
|
23
26
|
{{>config_files}}
|
24
27
|
{{>services}}
|
25
28
|
|
29
|
+
%script#inspection_details_template{:type => "text/html"}
|
30
|
+
#inspection_details
|
31
|
+
#filters
|
32
|
+
.row
|
33
|
+
.col-xs-1
|
34
|
+
.col-xs-11
|
35
|
+
%h3 Filters used during Inspection
|
36
|
+
|
37
|
+
.row
|
38
|
+
.col-xs-1
|
39
|
+
.col-xs-11
|
40
|
+
{{#meta.filters.inspect.length}}
|
41
|
+
%ul
|
42
|
+
{{#meta.filters.inspect}}
|
43
|
+
%li.filter
|
44
|
+
{{.}}
|
45
|
+
{{/meta.filters.inspect}}
|
46
|
+
{{/meta.filters.inspect.length}}
|
47
|
+
|
48
|
+
{{^meta.filters.inspect.length}}
|
49
|
+
%p
|
50
|
+
No filters were used.
|
51
|
+
{{/meta.filters.inspect.length}}
|
52
|
+
|
53
|
+
|
26
54
|
%script#scope_os.partial{:type => "text/html"}
|
27
55
|
{{#os}}
|
28
56
|
%a.scope_anchor{:id => "os"}
|
29
57
|
#os_container.scope
|
30
58
|
.row
|
31
59
|
.col-xs-1
|
32
|
-
%
|
33
|
-
%img.scope_logo_big{:src => "assets/logo-os.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Operating System", :"data-content"=>"#{scope_help('os')}"}/
|
60
|
+
%img.scope_logo_big{:src => "assets/logo-os.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Operating System", :"data-content"=>"#{scope_help('os')}"}/
|
34
61
|
%span.toggle{:title => "Collapse/Expand"}
|
35
62
|
.col-xs-11
|
36
63
|
%h2
|
@@ -57,8 +84,7 @@
|
|
57
84
|
#packages_container.scope
|
58
85
|
.row
|
59
86
|
.col-xs-1
|
60
|
-
%
|
61
|
-
%img.scope_logo_big{:src => "assets/logo-packages.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Packages", :"data-content"=>"#{scope_help('packages')}"}/
|
87
|
+
%img.scope_logo_big{:src => "assets/logo-packages.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Packages", :"data-content"=>"#{scope_help('packages')}"}/
|
62
88
|
%span.toggle{:title => "Collapse/Expand"}
|
63
89
|
.col-xs-11
|
64
90
|
%h2
|
@@ -96,8 +122,7 @@
|
|
96
122
|
#patterns_container.scope
|
97
123
|
.row
|
98
124
|
.col-xs-1
|
99
|
-
%
|
100
|
-
%img.scope_logo_big{:src => "assets/logo-patterns.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Patterns", :"data-content"=>"#{scope_help('patterns')}"}/
|
125
|
+
%img.scope_logo_big{:src => "assets/logo-patterns.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Patterns", :"data-content"=>"#{scope_help('patterns')}"}/
|
101
126
|
%span.toggle{:title => "Collapse/Expand"}
|
102
127
|
.col-xs-11
|
103
128
|
%h2
|
@@ -129,8 +154,7 @@
|
|
129
154
|
#users_container.scope
|
130
155
|
.row
|
131
156
|
.col-xs-1
|
132
|
-
%
|
133
|
-
%img.scope_logo_big{:src => "assets/logo-users.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Users", :"data-content"=>"#{scope_help('users')}"}/
|
157
|
+
%img.scope_logo_big{:src => "assets/logo-users.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Users", :"data-content"=>"#{scope_help('users')}"}/
|
134
158
|
%span.toggle{:title => "Collapse/Expand"}
|
135
159
|
.col-xs-11
|
136
160
|
%h2
|
@@ -168,8 +192,7 @@
|
|
168
192
|
#unmanaged_files_container.scope
|
169
193
|
.row
|
170
194
|
.col-xs-1
|
171
|
-
%
|
172
|
-
%img.scope_logo_big{:src => "assets/logo-unmanaged-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Unmanaged Files", :"data-content"=>"#{scope_help('unmanaged_files')}"}/
|
195
|
+
%img.scope_logo_big{:src => "assets/logo-unmanaged-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Unmanaged Files", :"data-content"=>"#{scope_help('unmanaged_files')}"}/
|
173
196
|
%span.toggle{:title => "Collapse/Expand"}
|
174
197
|
.col-xs-11
|
175
198
|
%h2
|
@@ -199,8 +222,7 @@
|
|
199
222
|
#groups_container.scope
|
200
223
|
.row
|
201
224
|
.col-xs-1
|
202
|
-
%
|
203
|
-
%img.scope_logo_big{:src => "assets/logo-groups.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Groups", :"data-content"=>"#{scope_help('groups')}"}/
|
225
|
+
%img.scope_logo_big{:src => "assets/logo-groups.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Groups", :"data-content"=>"#{scope_help('groups')}"}/
|
204
226
|
%span.toggle{:title => "Collapse/Expand"}
|
205
227
|
.col-xs-11
|
206
228
|
%h2
|
@@ -234,8 +256,7 @@
|
|
234
256
|
#repositories_container.scope
|
235
257
|
.row
|
236
258
|
.col-xs-1
|
237
|
-
%
|
238
|
-
%img.scope_logo_big{:src => "assets/logo-repositories.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Repositories", :"data-content"=>"#{scope_help('repositories')}"}/
|
259
|
+
%img.scope_logo_big{:src => "assets/logo-repositories.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Repositories", :"data-content"=>"#{scope_help('repositories')}"}/
|
239
260
|
%span.toggle{:title => "Collapse/Expand"}
|
240
261
|
.col-xs-11
|
241
262
|
%h2
|
@@ -278,8 +299,7 @@
|
|
278
299
|
#changed_managed_files_container.scope
|
279
300
|
.row
|
280
301
|
.col-xs-1
|
281
|
-
%
|
282
|
-
%img.scope_logo_big{:src => "assets/logo-changed-managed-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Changed Managed Files", :"data-content"=>"#{scope_help('changed_managed_files')}"}/
|
302
|
+
%img.scope_logo_big{:src => "assets/logo-changed-managed-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Changed Managed Files", :"data-content"=>"#{scope_help('changed_managed_files')}"}/
|
283
303
|
%span.toggle{:title => "Collapse/Expand"}
|
284
304
|
.col-xs-11
|
285
305
|
%h2
|
@@ -324,8 +344,7 @@
|
|
324
344
|
#config_files_container.scope
|
325
345
|
.row
|
326
346
|
.col-xs-1
|
327
|
-
%
|
328
|
-
%img.scope_logo_big{:src => "assets/logo-config-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Config Files", :"data-content"=>"#{scope_help('config_files')}"}/
|
347
|
+
%img.scope_logo_big{:src => "assets/logo-config-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Config Files", :"data-content"=>"#{scope_help('config_files')}"}/
|
329
348
|
%span.toggle{:title => "Collapse/Expand"}
|
330
349
|
.col-xs-11
|
331
350
|
%h2
|
@@ -393,8 +412,7 @@
|
|
393
412
|
#services_container.scope
|
394
413
|
.row
|
395
414
|
.col-xs-1
|
396
|
-
%
|
397
|
-
%img.scope_logo_big{:src => "assets/logo-services.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Services", :"data-content"=>"#{scope_help('services')}"}/
|
415
|
+
%img.scope_logo_big{:src => "assets/logo-services.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Services", :"data-content"=>"#{scope_help('services')}"}/
|
398
416
|
%span.toggle{:title => "Collapse/Expand"}
|
399
417
|
.col-xs-11
|
400
418
|
%h2
|
@@ -433,41 +451,46 @@
|
|
433
451
|
.col-xs-10
|
434
452
|
%h1
|
435
453
|
System '#{description.name}'
|
436
|
-
|
437
|
-
|
438
|
-
%a{:href => "#os", :title => "Operating System"}
|
439
|
-
%img{:src => "assets/logo-os-small.png"}/
|
440
|
-
%a{:href => "#packages", :title => "Packages"}
|
441
|
-
%img{:src => "assets/logo-packages-small.png"}/
|
442
|
-
%a{:href => "#patterns", :title => "Patterns"}
|
443
|
-
%img{:src => "assets/logo-patterns-small.png"}/
|
444
|
-
%a{:href => "#users", :title => "Users"}
|
445
|
-
%img{:src => "assets/logo-users-small.png"}/
|
446
|
-
%a{:href => "#groups", :title => "Groups"}
|
447
|
-
%img{:src => "assets/logo-groups-small.png"}/
|
448
|
-
%a{:href => "#repositories", :title => "Repositories"}
|
449
|
-
%img{:src => "assets/logo-repositories-small.png"}/
|
450
|
-
%a{:href => "#unmanaged_files", :title => "Unmanaged Files"}
|
451
|
-
%img{:src => "assets/logo-unmanaged-files-small.png"}/
|
452
|
-
%a{:href => "#changed_managed_files", :title => "Changed Managed Files"}
|
453
|
-
%img{:src => "assets/logo-changed-managed-files-small.png"}/
|
454
|
-
%a{:href => "#config_files", :title => "Config Files"}
|
455
|
-
%img{:src => "assets/logo-config-files-small.png"}/
|
456
|
-
%a{:href => "#services", :title => "Services"}
|
457
|
-
%img{:src => "assets/logo-services-small.png"}/
|
454
|
+
|
455
|
+
%a.inspection_details{:href => "#", "data-toggle" => "popover"} (inspection details)
|
458
456
|
.row
|
459
457
|
.col-xs-1
|
460
|
-
%a#expand-all{:style => "display: none"}
|
458
|
+
%a#expand-all{:href => "#", :style => "display: none"}
|
461
459
|
Expand all
|
462
|
-
%a#collapse-all
|
460
|
+
%a#collapse-all{:href => "#"}
|
463
461
|
Collapse all
|
464
462
|
.col-xs-10
|
465
463
|
%small.pull-right.pad-top
|
466
464
|
created by
|
467
465
|
%a{:href => "http://machinery-project.org", :target => "_blank"}
|
468
466
|
Machinery
|
469
|
-
.filter-input
|
467
|
+
.filter-input.col-md-3
|
470
468
|
%input#filter{:placeholder => "Type To Filter"}/
|
471
|
-
%
|
469
|
+
%a{:href => "#"}
|
470
|
+
%img{:src => "assets/reset.png", :titel => "Reset Filter", :onclick=>"clearFilter()" }
|
471
|
+
|
472
|
+
%span.scope-navigation
|
473
|
+
Scopes:
|
474
|
+
%a{:href => "#os", :title => "Operating System"}
|
475
|
+
%img{:src => "assets/logo-os-small.png"}/
|
476
|
+
%a{:href => "#packages", :title => "Packages"}
|
477
|
+
%img{:src => "assets/logo-packages-small.png"}/
|
478
|
+
%a{:href => "#patterns", :title => "Patterns"}
|
479
|
+
%img{:src => "assets/logo-patterns-small.png"}/
|
480
|
+
%a{:href => "#users", :title => "Users"}
|
481
|
+
%img{:src => "assets/logo-users-small.png"}/
|
482
|
+
%a{:href => "#groups", :title => "Groups"}
|
483
|
+
%img{:src => "assets/logo-groups-small.png"}/
|
484
|
+
%a{:href => "#repositories", :title => "Repositories"}
|
485
|
+
%img{:src => "assets/logo-repositories-small.png"}/
|
486
|
+
%a{:href => "#unmanaged_files", :title => "Unmanaged Files"}
|
487
|
+
%img{:src => "assets/logo-unmanaged-files-small.png"}/
|
488
|
+
%a{:href => "#changed_managed_files", :title => "Changed Managed Files"}
|
489
|
+
%img{:src => "assets/logo-changed-managed-files-small.png"}/
|
490
|
+
%a{:href => "#config_files", :title => "Config Files"}
|
491
|
+
%img{:src => "assets/logo-config-files-small.png"}/
|
492
|
+
%a{:href => "#services", :title => "Services"}
|
493
|
+
%img{:src => "assets/logo-services-small.png"}/
|
494
|
+
|
472
495
|
|
473
496
|
#content_container
|
@@ -124,7 +124,7 @@ class AnalyzeConfigFileDiffsTask
|
|
124
124
|
# available from the other repositories.
|
125
125
|
# If they aren't an error message will then be generated for each of
|
126
126
|
# the actually missing files instead.
|
127
|
-
Machinery.logger.error(e.message)
|
127
|
+
Machinery.logger.error("Error: " + e.message)
|
128
128
|
Machinery.logger.debug(e.backtrace.join("\n"))
|
129
129
|
Machinery.logger.debug("Standard output:\n #{e.stdout}")
|
130
130
|
Machinery.logger.debug("Error output:\n #{e.stderr}")
|