machinery-tool 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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}")
|