machinery-tool 1.14.0 → 1.14.1

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.
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