machinery-tool 1.14.0 → 1.14.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.git_revision +1 -1
  3. data/NEWS +10 -0
  4. data/html/assets/compare/machinery.js +1 -0
  5. data/html/assets/jquery.searcher.min.js +5 -0
  6. data/html/assets/machinery.css +3 -0
  7. data/html/assets/show/machinery.js +10 -4
  8. data/html/comparison.html.haml +18 -652
  9. data/html/index.html.haml +93 -431
  10. data/html/partials/changed_managed_files.html.haml +41 -0
  11. data/html/partials/compare/alert.html.haml +22 -0
  12. data/html/partials/compare/changed_managed_file_list.html.haml +26 -0
  13. data/html/partials/compare/changed_managed_files.html.haml +57 -0
  14. data/html/partials/compare/config_file_list.html.haml +26 -0
  15. data/html/partials/compare/config_files.html.haml +54 -0
  16. data/html/partials/compare/group_list.html.haml +14 -0
  17. data/html/partials/compare/groups.html.haml +52 -0
  18. data/html/partials/compare/os.html.haml +32 -0
  19. data/html/partials/compare/os_table.html.haml +10 -0
  20. data/html/partials/compare/package_list.html.haml +23 -0
  21. data/html/partials/compare/packages.html.haml +66 -0
  22. data/html/partials/compare/pattern_list.html.haml +12 -0
  23. data/html/partials/compare/patterns.html.haml +53 -0
  24. data/html/partials/compare/repositories.html.haml +51 -0
  25. data/html/partials/compare/repository_list.html.haml +28 -0
  26. data/html/partials/compare/service_list.html.haml +11 -0
  27. data/html/partials/compare/services.html.haml +56 -0
  28. data/html/partials/compare/unmanaged_file_list.html.haml +13 -0
  29. data/html/partials/compare/unmanaged_files.html.haml +59 -0
  30. data/html/partials/compare/user_list.html.haml +18 -0
  31. data/html/partials/compare/users.html.haml +52 -0
  32. data/html/partials/config_files.html.haml +57 -0
  33. data/html/partials/groups.html.haml +25 -0
  34. data/html/partials/os.html.haml +26 -0
  35. data/html/partials/packages.html.haml +30 -0
  36. data/html/partials/patterns.html.haml +23 -0
  37. data/html/partials/repositories.html.haml +35 -0
  38. data/html/partials/scope_header.html.haml +17 -0
  39. data/html/partials/services.html.haml +23 -0
  40. data/html/partials/unmanaged_files.html.haml +28 -0
  41. data/html/partials/users.html.haml +29 -0
  42. data/lib/cli.rb +48 -40
  43. data/lib/exceptions.rb +7 -0
  44. data/lib/helper.rb +21 -0
  45. data/lib/hint.rb +1 -1
  46. data/lib/html.rb +9 -1
  47. data/lib/scope_file_access_archive.rb +1 -2
  48. data/lib/scope_file_access_flat.rb +1 -2
  49. data/lib/server.rb +104 -50
  50. data/lib/version.rb +1 -1
  51. data/machinery-helper/version.go +1 -1
  52. data/man/generated/machinery.1.gz +0 -0
  53. data/man/generated/machinery.1.html +106 -16
  54. metadata +47 -18
  55. data/html/assets/angular-sanitize.min.js +0 -16
  56. data/html/assets/angular.min.js +0 -251
  57. data/html/assets/compare/machinery-compare.js +0 -100
  58. data/html/assets/show/machinery-show.js +0 -72
@@ -0,0 +1,41 @@
1
+ - if changed_managed_files && changed_managed_files.files.length > 0
2
+ %div
3
+ %a.scope_anchor{ id: "changed_managed_files" }
4
+ .scope#changed_managed_files_container{ "data-scope" => "changed_managed_files" }
5
+ - count = changed_managed_files.files.length
6
+ = render_partial "scope_header",
7
+ :scope => "changed_managed_files",
8
+ :title => "Changed Managed Files",
9
+ :count => "#{count} #{Machinery.pluralize(count, "file")}"
10
+ .row.scope_content.collapse.in
11
+ .col-xs-1
12
+ .col-xs-11
13
+ %table.table.table-striped.table-hover.table-condensed.files-table.filterable
14
+ %thead
15
+ %tr
16
+ %th Name
17
+ %th Package Name
18
+ %th Package Version
19
+ %th Changes
20
+ %th Mode
21
+ %th User
22
+ %th Group
23
+ %tbody
24
+ - changed_managed_files.files.each do |file|
25
+ %tr
26
+ %td
27
+ - if file.on_disk?
28
+ %a.file-download{ href: "#" }
29
+ = file.name
30
+ - else
31
+ %span
32
+ = file.name
33
+ %td= file.package_name
34
+ %td= file.package_version
35
+ %td
36
+ = file.changes.join(",")
37
+ - if file.error_message
38
+ %span{ title: file.error_message } (details)
39
+ %td= file.mode
40
+ %td= file.user
41
+ %td= file.group
@@ -0,0 +1,22 @@
1
+ - if @meta[:uninspected]
2
+ .scope#alert_container
3
+ .row
4
+ .col-xs-10.col-xs-offset-1
5
+ .well
6
+ %span.text-right.dismiss{ title: "Collapse/Expand" }
7
+ - if @meta[:uninspected][@description_a.name]
8
+ %p
9
+ Couldn't compare
10
+ %strong
11
+ '#{@meta[:uninspected][@description_a.name].join(", ")}'
12
+ because they are not present in description
13
+ %strong
14
+ '#{@description_a.name}'
15
+ - if @meta[:uninspected][@description_b.name]
16
+ %p
17
+ Couldn't compare
18
+ %strong
19
+ '#{@meta[:uninspected][@description_b.name].join(", ")}'
20
+ because they are not present in description
21
+ %strong
22
+ '#{@description_b.name}'
@@ -0,0 +1,26 @@
1
+ %p
2
+ <strong>Files extracted:</strong> #{list.extracted ? "yes" : "no"}
3
+ - if list.files
4
+ %table.table.table-striped.table-hover.table-condensed.files-table
5
+ %thead
6
+ %tr
7
+ %th Name
8
+ %th Package Name
9
+ %th Package Version
10
+ %th.small Changes
11
+ %th.small Mode
12
+ %th.small User
13
+ %th.small Group
14
+ %tbody
15
+ - list.files.each do |file|
16
+ %tr
17
+ %td= file.name
18
+ %td= file.package_name
19
+ %td= file.package_version
20
+ %td
21
+ = file.changes.join(",")
22
+ - if file.error_message
23
+ %span{ title: file.error_message } (details)
24
+ %td= file.mode
25
+ %td= file.user
26
+ %td= file.group
@@ -0,0 +1,57 @@
1
+ - if @diff["changed_managed_files"]
2
+ %a.scope_anchor{ id: "changed_managed_files" }
3
+ .scope#changed_managed_files_container
4
+ .row
5
+ .col-xs-1
6
+ %a{ href: "#changed_managed_files" }
7
+ %img.over.scope_logo_big{ :src => "/assets/logo-changed-managed-files.png",
8
+ "data-toggle" => "popover",
9
+ :title => "Changed Managed Files",
10
+ "data-content" => "#{scope_help("changed_managed_files")}" }
11
+ %span.toggle{ title: "Collapse/Expand" }
12
+ .col-xs-11
13
+ %h2
14
+ Changed Managed Files
15
+ .scope-summary
16
+ - if @diff["changed_managed_files"].only_in1
17
+ %span.summary-part
18
+ #{@description_a.name}:
19
+ #{safe_length(@diff["changed_managed_files"].only_in1, :files)} files
20
+ - if @diff["changed_managed_files"].only_in2
21
+ %span.summary-part
22
+ #{@description_b.name}:
23
+ #{safe_length(@diff["changed_managed_files"].only_in2, :files)} files
24
+ - if @diff["changed_managed_files"].common
25
+ %span.summary-part
26
+ %a.show-common-elements{ href: "#changed_managed_files_both" }<
27
+ both
28
+ = ": #{safe_length(@diff["changed_managed_files"].common, :files)} files"
29
+ .row.scope_content.collapse.in
30
+ .row
31
+ .col-xs-1
32
+ .col-xs-5.table_container
33
+ - if safe_length(@diff["changed_managed_files"].only_in1, :files) > 0
34
+ = only_in_a
35
+ = render_partial "compare/changed_managed_file_list",
36
+ list: @diff["changed_managed_files"].only_in1
37
+ .col-xs-1
38
+ .col-xs-5.table_container
39
+ - if safe_length(@diff["changed_managed_files"].only_in2, :files) > 0
40
+ = only_in_b
41
+ = render_partial "compare/changed_managed_file_list",
42
+ list: @diff["changed_managed_files"].only_in2
43
+ - if safe_length(@diff["changed_managed_files"].common, :files) > 0
44
+ %a.both_anchor{ id: "changed_managed_files_both" }
45
+ .row
46
+ .col-xs-1
47
+ .col-xs-11
48
+ %a.show-common-elements{ href: "#changed_managed_files_both" }
49
+ Show common elements in changed-managed-files
50
+ %a.hide-common-elements{ href: "#", style: "display: none" }
51
+ Hide common elements in changed-managed-files
52
+ .row.scope_common_content.collapse
53
+ .col-xs-1
54
+ .col-xs-10.table_container
55
+ = in_both
56
+ = render_partial "compare/changed_managed_file_list",
57
+ list: @diff["changed_managed_files"].common
@@ -0,0 +1,26 @@
1
+ %p
2
+ <strong>Files extracted:</strong> #{list.extracted ? "yes" : "no"}
3
+ - if list.files
4
+ %table.table.table-striped.table-hover.table-condensed.files-table
5
+ %thead
6
+ %tr
7
+ %th Name
8
+ %th Package Name
9
+ %th Package Version
10
+ %th Changes
11
+ %th Mode
12
+ %th User
13
+ %th Group
14
+ %tbody
15
+ - list.files.each do |file|
16
+ %tr
17
+ %td= file.name
18
+ %td= file.package_name
19
+ %td= file.package_version
20
+ %td
21
+ = file.changes.join(",")
22
+ - if file.error_message
23
+ %span{ title: file.error_message } (details)
24
+ %td= file.mode
25
+ %td= file.user
26
+ %td= file.group
@@ -0,0 +1,54 @@
1
+ - if @diff["config_files"]
2
+ %a.scope_anchor{ id: "config_files" }
3
+ .scope#config_files_container
4
+ .row
5
+ .col-xs-1
6
+ %a{ href: "#groups" }
7
+ %img.over.scope_logo_big{ src: "/assets/logo-config-files.png",
8
+ "data-toggle" => "popover",
9
+ :title => "Config Files",
10
+ "data-content" => "#{scope_help("config_files")}" }
11
+ %span.toggle{ title: "Collapse/Expand" }
12
+ .col-xs-11
13
+ %h2
14
+ Config Files
15
+ .scope-summary
16
+ - if @diff["config_files"].only_in1
17
+ %span.summary-part
18
+ #{@description_a.name}:
19
+ #{safe_length(@diff["config_files"].only_in1, :files)} files
20
+ - if @diff["config_files"].only_in2
21
+ %span.summary-part
22
+ #{@description_b.name}:
23
+ #{safe_length(@diff["config_files"].only_in2, :files)} files
24
+ - if @diff["config_files"].common
25
+ %span.summary-part
26
+ %a.show-common-elements{ href: "#config_files_both" }<
27
+ both
28
+ = ": #{safe_length(@diff["config_files"].common, :files)} files"
29
+ .row.scope_content.collapse.in
30
+ .row
31
+ .col-xs-1
32
+ .col-xs-5.table_container
33
+ - if safe_length(@diff["config_files"].only_in1, :files) > 0
34
+ = only_in_a
35
+ = render_partial "compare/config_file_list", list: @diff["config_files"].only_in1
36
+ .col-xs-1
37
+ .col-xs-5.table_container
38
+ - if safe_length(@diff["config_files"].only_in2, :files) > 0
39
+ = only_in_b
40
+ = render_partial "compare/config_file_list", list: @diff["config_files"].only_in2
41
+ - if safe_length(@diff["config_files"].common, :files) > 0
42
+ %a.both_anchor{ id: "config_files_both" }
43
+ .row
44
+ .col-xs-1
45
+ .col-xs-11
46
+ %a.show-common-elements{ href: "#config_files_both" }
47
+ Show common elements in config-files
48
+ %a.hide-common-elements{ href: "#", style: "display: none" }
49
+ Hide common elements in config-files
50
+ .row.scope_common_content.collapse
51
+ .col-xs-1
52
+ .col-xs-10.table_container
53
+ = in_both
54
+ = render_partial "compare/config_file_list", list: @diff["config_files"].common
@@ -0,0 +1,14 @@
1
+ %table.table.table-striped.table-hover.table-condensed
2
+ %thead
3
+ %tr
4
+ %th Name
5
+ %th GID
6
+ %th Password
7
+ %th Users
8
+ %tbody
9
+ - list.each do |group|
10
+ %tr
11
+ %td= group.name
12
+ %td= group.gid
13
+ %td= group.password
14
+ %td= group.users.join(",")
@@ -0,0 +1,52 @@
1
+ - if @diff["groups"]
2
+ %a.scope_anchor{ id: "groups" }
3
+ .scope#groups_container
4
+ .row
5
+ .col-xs-1
6
+ %a{ href: "#groups" }
7
+ %img.over.scope_logo_big{ :src => "/assets/logo-groups.png",
8
+ "data-toggle" => "popover",
9
+ :title => "Groups",
10
+ "data-content" => "#{scope_help("groups")}" }
11
+ %span.toggle{ title: "Collapse/Expand" }
12
+ .col-xs-11
13
+ %h2
14
+ Groups
15
+ .scope-summary
16
+ - if @diff["groups"].only_in1
17
+ %span.summary-part
18
+ #{@description_a.name}: #{@diff["groups"].only_in1.length} groups
19
+ - if @diff["groups"].only_in2
20
+ %span.summary-part
21
+ #{@description_b.name}: #{@diff["groups"].only_in2.length} groups
22
+ - if @diff["groups"].common
23
+ %span.summary-part
24
+ %a.show-common-elements{ href: "#groups_both" }<
25
+ both
26
+ = ": #{@diff["groups"].common.length} groups"
27
+ .row.scope_content.collapse.in
28
+ .row
29
+ .col-xs-1
30
+ .col-xs-5.table_container
31
+ - if @diff["groups"].only_in1
32
+ = only_in_a
33
+ = render_partial "compare/group_list", list: @diff["groups"].only_in1
34
+ .col-xs-1
35
+ .col-xs-5.table_container
36
+ - if @diff["groups"].only_in2
37
+ = only_in_b
38
+ = render_partial "compare/group_list", list: @diff["groups"].only_in2
39
+ - if @diff["groups"].common
40
+ %a.both_anchor{ id: "groups_both" }
41
+ .row
42
+ .col-xs-1
43
+ .col-xs-2
44
+ %a.show-common-elements{ href: "#groups_both" }
45
+ Show common elements in groups
46
+ %a.hide-common-elements{ href: "#", style: "display: none" }
47
+ Hide common elements in groups
48
+ .row.scope_common_content.collapse
49
+ .col-xs-1
50
+ .col-xs-10.table_container
51
+ = in_both
52
+ = render_partial "compare/group_list", list: @diff["groups"].common
@@ -0,0 +1,32 @@
1
+ - if @diff["os"]
2
+ %a.scope_anchor{ id: "os" }
3
+ .scope#os_container
4
+ .row
5
+ .col-xs-1
6
+ %a{ href: "#os" }
7
+ %img.over.scope_logo_big{ :src => "/assets/logo-os.png",
8
+ "data-toggle" => "popover",
9
+ :title => "Operating System",
10
+ "data-content" => "#{scope_help("os")}" }
11
+ %span.toggle{ title: "Collapse/Expand" }
12
+ .col-xs-11
13
+ %h2
14
+ Operating System
15
+ .row.scope_content.collapse.in
16
+ .row
17
+ .col-xs-1
18
+ .col-xs-5.table_container
19
+ - if @diff["os"].only_in1
20
+ = only_in_a
21
+ = render_partial "compare/os_table", os: @diff["os"].only_in1
22
+ .col-xs-1
23
+ .col-xs-5.table_container
24
+ - if @diff["os"].only_in2
25
+ = only_in_b
26
+ = render_partial "compare/os_table", os: @diff["os"].only_in2
27
+ - if @diff["os"].common
28
+ .row.scope_common_content
29
+ .col-xs-1
30
+ .col-xs-11.table_container.collapse.in
31
+ = in_both
32
+ = render_partial "compare/os_table", os: @diff["os"].common
@@ -0,0 +1,10 @@
1
+ %table.table.table-striped.table-condensed
2
+ %tr
3
+ %th Name
4
+ %td= os.name
5
+ %tr
6
+ %th Version
7
+ %td= os.version
8
+ %tr
9
+ %th Architecture
10
+ %td= os.architecture
@@ -0,0 +1,23 @@
1
+ %table.table.table-striped.table-hover.table-condensed
2
+ %thead
3
+ %tr
4
+ %th Name
5
+ %th.small Version
6
+ %th.small.visible-md.visible-lg Release
7
+ %th.small.visible-md.visible-lg Arch
8
+ %th.visible-lg Vendor
9
+ %th.visible-lg Checksum
10
+ %th.tiny.hidden-lg
11
+ %tbody
12
+ - list.each do |package|
13
+ %tr
14
+ %td= package.name
15
+ %td= package.version
16
+ %td.visible-md.visible-lg= package.release
17
+ %td.visible-md.visible-lg= package.arch
18
+ %td.visible-lg= package.vendor
19
+ %td.visible-lg= package.checksum
20
+ %td.hidden-lg{ title: "Name: #{package.name}\nVersion: #{package.version}\nRelease: " |
21
+ "#{package.release}\nArchitecture: #{package.arch}\nVendor: #{package.vendor}\n" |
22
+ "Checksum: #{package.checksum}" } ... |
23
+
@@ -0,0 +1,66 @@
1
+ - if @diff["packages"]
2
+ %a.scope_anchor{ id: "packages" }
3
+ .scope#packages_container
4
+ .row
5
+ .col-xs-1
6
+ %a{ href: "#packages" }
7
+ %img.over.scope_logo_big{ :src => "/assets/logo-packages.png",
8
+ "data-toggle" => "popover",
9
+ :title => "Packages",
10
+ "data-content" => "#{scope_help("packages")}" }
11
+ %span.toggle{ title: "Collapse/Expand" }
12
+ .col-xs-11
13
+ %h2
14
+ Packages
15
+ .scope-summary
16
+ - if @diff["packages"].only_in1
17
+ %span.summary-part
18
+ #{@description_a.name}: #{@diff["packages"].only_in1.length} packages
19
+ - if @diff["packages"].only_in2
20
+ %span.summary-part
21
+ #{@description_b.name}: #{@diff["packages"].only_in2.length} packages
22
+ - if @diff["packages"].changed
23
+ %span.summary-part
24
+ %a{ href: "#packages_changed" }
25
+ Changed
26
+ = ": #{@diff["packages"].changed.length} packages"
27
+ - if @diff["packages"].common
28
+ %span.summary-part
29
+ %a.show-common-elements{ href: "#packages_both" }<
30
+ both
31
+ = ": #{@diff["packages"].common.length} packages"
32
+ .row.scope_content.collapse.in
33
+ .row
34
+ .col-xs-1
35
+ .col-xs-5.table_container
36
+ - if @diff["packages"].only_in1
37
+ = only_in_a
38
+ = render_partial "compare/package_list", list: @diff["packages"].only_in1
39
+ .col-xs-1
40
+ .col-xs-5.table_container
41
+ - if @diff["packages"].only_in2
42
+ = only_in_b
43
+ = render_partial "compare/package_list", list: @diff["packages"].only_in2
44
+ - if @diff["packages"].changed
45
+ %a.both_anchor{ id: "packages_changed" }
46
+ .row
47
+ .col-xs-1
48
+ .col-xs-11.table_container
49
+ = changed
50
+ %ul.changed
51
+ - changed_packages.each do |change|
52
+ %li= change
53
+ - if @diff["packages"].common
54
+ %a.both_anchor{ id: "packages_both" }
55
+ .row
56
+ .col-xs-1
57
+ .col-xs-2
58
+ %a.show-common-elements{ href: "#packages_both" }
59
+ Show common elements in packages
60
+ %a.hide-common-elements{ href: "#", style: "display: none" }
61
+ Hide common elements in packages
62
+ .row.scope_common_content.collapse
63
+ .col-xs-1
64
+ .col-xs-10.table_container
65
+ = in_both
66
+ = render_partial "compare/package_list", list: @diff["packages"].common
@@ -0,0 +1,12 @@
1
+ %table.table.table-striped.table-hover.table-condensed
2
+ %thead
3
+ %tr
4
+ %th Name
5
+ %th Version
6
+ %th Release
7
+ %tbody
8
+ - list.each do |pattern|
9
+ %tr
10
+ %td= pattern.name
11
+ %td= pattern.version
12
+ %td= pattern.release